@@ -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+
157226type 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
203272type AgentResult struct {
0 commit comments