File size: 1,126 Bytes
4e23b01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import { z } from 'zod';
import { timelineMessageBase } from './base';
import { toolProgressPayloadSchema } from './tool-progress';
export const toolCallAgentRefSchema = z.object({
agent_id: z.string().min(1),
role: z.enum(['child', 'member']).optional(),
});
export type ToolCallAgentRef = z.infer<typeof toolCallAgentRefSchema>;
export const toolCallMessageSchema = z.object({
type: z.literal('tool_call'),
...timelineMessageBase,
tool_call_id: z.string().min(1),
turn_id: z.string().min(1),
step_id: z.string().min(1),
name: z.string().min(1),
view: z.string().optional(),
status: z.enum(['running', 'done', 'error']),
input: z.unknown().optional(),
input_text: z.string().optional(),
output: z.unknown().optional(),
display: z.unknown().optional(),
error: z.string().optional(),
progress: toolProgressPayloadSchema.optional(),
task_id: z.string().min(1).optional(),
approval_id: z.string().min(1).optional(),
todo_id: z.string().min(1).optional(),
agent_refs: z.array(toolCallAgentRefSchema).optional(),
});
export type ToolCallMessage = z.infer<typeof toolCallMessageSchema>;
|