after_provider_response
after_provider_response: {
headers: Readonly<Record<string, string>>;
status: number;
url: string;
}
agent_end
agent_end: { text: string }
agent_start
agent_start: { prompt: string }
before_agent_start
before_agent_start: { prompt: string; systemPrompt: string }
before_provider_request
before_provider_request: {
body: unknown;
headers: Readonly<Record<string, string>>;
url: string;
}
before_request
before_request: { messages: number; prompt: string }
compact
compact: { automatic: boolean; dropped: number; kept: number }
context
context: { messages: readonly ModelMessage[]; step: number }
error
error: { message: string }
idle
idle: Record<string, never>
message
message: { kind: "text" | "reasoning"; text: string }
model_select
model_select: { model: string; variant?: string }
reasoning
reasoning: { elapsedMs: number; text: string }
session_before_compact
session_before_compact: { automatic: boolean; instruction?: string }
session_before_fork
session_before_fork: { at?: number; id: string }
session_before_switch
session_before_switch: { from: string; to: string }
session_end
session_end: { root: string }
session_shutdown
session_shutdown: { root: string }
session_start
session_start: { root: string }
tool_call: { input: Record<string, unknown>; name: string }
tool_end: {
detail: string;
elapsedMs: number;
input: Record<string, unknown>;
name: string;
ok: boolean;
result: string;
}
tool_start: { input: Record<string, unknown>; name: string }
turn_end
turn_end: { text: string }
turn_start
turn_start: { text: string }
usage
usage: {
cached: number;
contextTokens: number;
cost?: number;
input: number;
output: number;
}
user_bash
user_bash: { command: string }