mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 02:25:56 +00:00
57ead19484
Live funded qualification found hidden tool results and misleading action submission outcomes. Share the result-bearing transcript across stored chat and product history, render the retained evidence, and distinguish captured proposals from broker acceptance. Keep review usable while Patrol is paused. Record Gemini route pricing and exact qualification limits. Integrate current main and repeat browser proof for the incoming login flow. Approved/rejected recovery remains unqualified without the development command agent.
46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
package agentcapabilities
|
|
|
|
import "encoding/json"
|
|
|
|
// TranscriptToolCall preserves a stored invocation and its observed result.
|
|
// Provider requests use ProviderToolCall instead of the product history shape.
|
|
type TranscriptToolCall struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Input map[string]interface{} `json:"input"`
|
|
Output string `json:"output,omitempty"`
|
|
Success *bool `json:"success,omitempty"`
|
|
ThoughtSignature json.RawMessage `json:"thought_signature,omitempty"`
|
|
}
|
|
|
|
func (t TranscriptToolCall) NormalizeCollections() TranscriptToolCall {
|
|
providerCall := ProviderToolCall{
|
|
ID: t.ID,
|
|
Name: t.Name,
|
|
Input: t.Input,
|
|
ThoughtSignature: t.ThoughtSignature,
|
|
}.NormalizeCollections()
|
|
t.ID = providerCall.ID
|
|
t.Name = providerCall.Name
|
|
t.Input = providerCall.Input
|
|
t.ThoughtSignature = providerCall.ThoughtSignature
|
|
if t.Success != nil {
|
|
success := *t.Success
|
|
t.Success = &success
|
|
}
|
|
return t
|
|
}
|
|
|
|
// ProviderToolCall projects a stored Assistant transcript call back to the
|
|
// shared provider-facing shape, deliberately excluding in-app output/success
|
|
// display fields.
|
|
func (t TranscriptToolCall) ProviderToolCall() ProviderToolCall {
|
|
t = t.NormalizeCollections()
|
|
return ProviderToolCall{
|
|
ID: t.ID,
|
|
Name: t.Name,
|
|
Input: t.Input,
|
|
ThoughtSignature: t.ThoughtSignature,
|
|
}.NormalizeCollections()
|
|
}
|