Skip to content

Commit 7ae3cd4

Browse files
committed
refactor: declare func types for agent callbacks
1 parent ddaaa78 commit 7ae3cd4

File tree

1 file changed

+90
-21
lines changed

1 file changed

+90
-21
lines changed

agent.go

Lines changed: 90 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,75 @@ type AgentCall struct {
154154
RepairToolCall RepairToolCallFunction
155155
}
156156

157+
// Agent-level callbacks.
158+
type (
159+
// OnAgentStartFunc is called when agent starts.
160+
OnAgentStartFunc func()
161+
162+
// OnAgentFinishFunc is called when agent finishes.
163+
OnAgentFinishFunc func(result *AgentResult) error
164+
165+
// OnStepStartFunc is called when a step starts.
166+
OnStepStartFunc func(stepNumber int) error
167+
168+
// OnStepFinishFunc is called when a step finishes.
169+
OnStepFinishFunc func(stepResult StepResult) error
170+
171+
// OnFinishFunc is called when entire agent completes.
172+
OnFinishFunc func(result *AgentResult)
173+
174+
// OnErrorFunc is called when an error occurs.
175+
OnErrorFunc func(error)
176+
)
177+
178+
// Stream part callbacks - called for each corresponding stream part type.
179+
type (
180+
// OnChunkFunc is called for each stream part (catch-all).
181+
OnChunkFunc func(StreamPart) error
182+
183+
// OnWarningsFunc is called for warnings.
184+
OnWarningsFunc func(warnings []CallWarning) error
185+
186+
// OnTextStartFunc is called when text starts.
187+
OnTextStartFunc func(id string) error
188+
189+
// OnTextDeltaFunc is called for text deltas.
190+
OnTextDeltaFunc func(id, text string) error
191+
192+
// OnTextEndFunc is called when text ends.
193+
OnTextEndFunc func(id string) error
194+
195+
// OnReasoningStartFunc is called when reasoning starts.
196+
OnReasoningStartFunc func(id string) error
197+
198+
// OnReasoningDeltaFunc is called for reasoning deltas.
199+
OnReasoningDeltaFunc func(id, text string) error
200+
201+
// OnReasoningEndFunc is called when reasoning ends.
202+
OnReasoningEndFunc func(id string, reasoning ReasoningContent) error
203+
204+
// OnToolInputStartFunc is called when tool input starts.
205+
OnToolInputStartFunc func(id, toolName string) error
206+
207+
// OnToolInputDeltaFunc is called for tool input deltas.
208+
OnToolInputDeltaFunc func(id, delta string) error
209+
210+
// OnToolInputEndFunc is called when tool input ends.
211+
OnToolInputEndFunc func(id string) error
212+
213+
// OnToolCallFunc is called when tool call is complete.
214+
OnToolCallFunc func(toolCall ToolCallContent) error
215+
216+
// OnToolResultFunc is called when tool execution completes.
217+
OnToolResultFunc func(result ToolResultContent) error
218+
219+
// OnSourceFunc is called for source references.
220+
OnSourceFunc func(source SourceContent) error
221+
222+
// OnStreamFinishFunc is called when stream finishes.
223+
OnStreamFinishFunc func(usage Usage, finishReason FinishReason, providerMetadata ProviderMetadata) error
224+
)
225+
157226
type AgentStreamCall struct {
158227
Prompt string `json:"prompt"`
159228
Files []FilePart `json:"files"`
@@ -175,29 +244,29 @@ type AgentStreamCall struct {
175244
RepairToolCall RepairToolCallFunction
176245

177246
// Agent-level callbacks
178-
OnAgentStart func() // Called when agent starts
179-
OnAgentFinish func(result *AgentResult) error // Called when agent finishes
180-
OnStepStart func(stepNumber int) error // Called when a step starts
181-
OnStepFinish func(stepResult StepResult) error // Called when a step finishes
182-
OnFinish func(result *AgentResult) // Called when entire agent completes
183-
OnError func(error) // Called when an error occurs
247+
OnAgentStart OnAgentStartFunc // Called when agent starts
248+
OnAgentFinish OnAgentFinishFunc // Called when agent finishes
249+
OnStepStart OnStepStartFunc // Called when a step starts
250+
OnStepFinish OnStepFinishFunc // Called when a step finishes
251+
OnFinish OnFinishFunc // Called when entire agent completes
252+
OnError OnErrorFunc // Called when an error occurs
184253

185254
// Stream part callbacks - called for each corresponding stream part type
186-
OnChunk func(StreamPart) error // Called for each stream part (catch-all)
187-
OnWarnings func(warnings []CallWarning) error // Called for warnings
188-
OnTextStart func(id string) error // Called when text starts
189-
OnTextDelta func(id, text string) error // Called for text deltas
190-
OnTextEnd func(id string) error // Called when text ends
191-
OnReasoningStart func(id string) error // Called when reasoning starts
192-
OnReasoningDelta func(id, text string) error // Called for reasoning deltas
193-
OnReasoningEnd func(id string, reasoning ReasoningContent) error // Called when reasoning ends
194-
OnToolInputStart func(id, toolName string) error // Called when tool input starts
195-
OnToolInputDelta func(id, delta string) error // Called for tool input deltas
196-
OnToolInputEnd func(id string) error // Called when tool input ends
197-
OnToolCall func(toolCall ToolCallContent) error // Called when tool call is complete
198-
OnToolResult func(result ToolResultContent) error // Called when tool execution completes
199-
OnSource func(source SourceContent) error // Called for source references
200-
OnStreamFinish func(usage Usage, finishReason FinishReason, providerMetadata ProviderMetadata) error // Called when stream finishes
255+
OnChunk OnChunkFunc // Called for each stream part (catch-all)
256+
OnWarnings OnWarningsFunc // Called for warnings
257+
OnTextStart OnTextStartFunc // Called when text starts
258+
OnTextDelta OnTextDeltaFunc // Called for text deltas
259+
OnTextEnd OnTextEndFunc // Called when text ends
260+
OnReasoningStart OnReasoningStartFunc // Called when reasoning starts
261+
OnReasoningDelta OnReasoningDeltaFunc // Called for reasoning deltas
262+
OnReasoningEnd OnReasoningEndFunc // Called when reasoning ends
263+
OnToolInputStart OnToolInputStartFunc // Called when tool input starts
264+
OnToolInputDelta OnToolInputDeltaFunc // Called for tool input deltas
265+
OnToolInputEnd OnToolInputEndFunc // Called when tool input ends
266+
OnToolCall OnToolCallFunc // Called when tool call is complete
267+
OnToolResult OnToolResultFunc // Called when tool execution completes
268+
OnSource OnSourceFunc // Called for source references
269+
OnStreamFinish OnStreamFinishFunc // Called when stream finishes
201270
}
202271

203272
type AgentResult struct {

0 commit comments

Comments
 (0)