Class: Assistant::TechnicalSupport::CaseReplayEvidence::ToolPayload
- Inherits:
-
Object
- Object
- Assistant::TechnicalSupport::CaseReplayEvidence::ToolPayload
- Defined in:
- app/services/assistant/technical_support/case_replay_evidence/tool_payload.rb
Overview
Parses only successful tool result envelopes. A failure can never provide
citation provenance, even when its error message happens to contain a URL.
Class Method Summary collapse
Class Method Details
.call(tool_call) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'app/services/assistant/technical_support/case_replay_evidence/tool_payload.rb', line 7 def call(tool_call) payload = JSON.parse(tool_call.result) return unless payload.is_a?(Hash) return if payload['success'] == false return if error?(payload) payload rescue JSON::ParserError, TypeError nil end |
.requested_record_returned?(tool_call, payload) ⇒ Boolean
18 19 20 21 22 23 |
# File 'app/services/assistant/technical_support/case_replay_evidence/tool_payload.rb', line 18 def requested_record_returned?(tool_call, payload) returned_id = payload['id'].to_i requested_id = tool_call.arguments['id'].to_i returned_id.positive? && (!requested_id.positive? || returned_id == requested_id) end |