diff --git a/pkg/agent/approval.go b/pkg/agent/approval.go index 4dc573492..b3d7b32ef 100644 --- a/pkg/agent/approval.go +++ b/pkg/agent/approval.go @@ -29,8 +29,8 @@ type ( } ApprovalResult struct { - Approved bool `json:"approved"` - Message string `json:"message"` + Approved bool + Message string } ResumeInput struct { diff --git a/pkg/agent/checkpoint.go b/pkg/agent/checkpoint.go index 850ac4845..076c1d393 100644 --- a/pkg/agent/checkpoint.go +++ b/pkg/agent/checkpoint.go @@ -21,40 +21,38 @@ import ( ) type ( - CheckpointStatus string + AgentStatus string Checkpoint struct { - Version int `json:"version"` - Status CheckpointStatus `json:"status"` - AgentName string `json:"agent_name"` - Messages []llm.Message `json:"messages"` - Usage llm.Usage `json:"usage"` - Turns int `json:"turns"` - ToolUsedInRun bool `json:"tool_used_in_run"` + Status AgentStatus + AgentName string + Messages []llm.Message + Usage llm.Usage + Turns int + ToolUsedInRun bool // Approval-interrupted checkpoints carry pending tool calls. - PendingToolCalls []llm.ToolCall `json:"pending_tool_calls,omitempty"` - PendingApprovals []llm.ToolCall `json:"pending_approvals,omitempty"` - ApprovalInput map[string]ApprovalResult `json:"approval_input,omitempty"` // keyed by tool call ID + PendingToolCalls []llm.ToolCall + PendingApprovals []llm.ToolCall + ApprovalInput map[string]ApprovalResult // keyed by tool call ID // Nested agent-as-tool suspension: one entry per suspended inner agent. - AllToolCalls []llm.ToolCall `json:"all_tool_calls,omitempty"` - InnerCheckpoints map[string]*Checkpoint `json:"inner_checkpoints,omitempty"` - CompletedCalls []CompletedCall `json:"completed_calls,omitempty"` + AllToolCalls []llm.ToolCall + InnerCheckpoints map[string]*Checkpoint + CompletedCalls []CompletedCall } CompletedCall struct { - ToolCallID string `json:"tool_call_id"` - Result ToolResult `json:"result"` + ToolCallID string + Result ToolResult } - // CheckpointStore is supervisor-internal. Implementations may use raw + // Checkpointer is supervisor-internal. Implementations may use raw // run IDs because public API/service methods perform tenant scoping and // authorization before a run reaches the supervisor. - CheckpointStore interface { + Checkpointer interface { Save(ctx context.Context, runID string, cp *Checkpoint) error Load(ctx context.Context, runID string) (*Checkpoint, error) - Delete(ctx context.Context, runID string) error } AgentRegistry interface { @@ -68,11 +66,10 @@ type ( ) const ( - CheckpointVersion = 1 MaxCheckpointBytes = 10 * 1024 * 1024 - CheckpointStatusSuspended CheckpointStatus = "suspended" - CheckpointStatusAwaitingApproval CheckpointStatus = "awaiting_approval" + AgentStatusSuspended AgentStatus = "suspended" + AgentStatusAwaitingApproval AgentStatus = "awaiting_approval" ) func (e *SuspendedError) Error() string { diff --git a/pkg/agent/tool.go b/pkg/agent/tool.go index 471eb0654..c898aaf0e 100644 --- a/pkg/agent/tool.go +++ b/pkg/agent/tool.go @@ -25,8 +25,8 @@ import ( type ( ToolResult struct { - Content string `json:"content"` - IsError bool `json:"is_error"` + Content string + IsError bool } // ToolDescriptor describes a tool's name and LLM definition. diff --git a/pkg/llm/message.go b/pkg/llm/message.go index 7b754c4e4..54eb6e236 100644 --- a/pkg/llm/message.go +++ b/pkg/llm/message.go @@ -29,13 +29,13 @@ type ( } ToolCall struct { - ID string `json:"id"` - Function FunctionCall `json:"function"` + ID string + Function FunctionCall } FunctionCall struct { - Name string `json:"name"` - Arguments string `json:"arguments"` + Name string + Arguments string } Tool struct {