import { s } from '../schema'; import { JsonValue, Prettify } from '../utils'; /** * @public */ export type Middleware = (fetchInit: RequestInit) => RequestInit | Promise; /** * @public */ export type Tool = { name: Name; description: string; schema: s.SchemaInput; handler: (input: Args, abortSignal: AbortSignal) => Promise; }; /** * @public */ export type AnyTool = Tool; /** * @public */ export type UserMessage = { role: 'user'; content: JsonValue; }; /** * @public */ export type ToolCall = Prettify ? { role: 'tool'; status: 'done'; name: Name; args: Args; result: PromiseSettledResult; toolCallId: string; } | { role: 'tool'; status: 'pending'; name: Name; args: Args; toolCallId: string; progress?: number; } : never>; /** * @public */ export type AnyToolCall = ToolCall; /** * @public */ export interface AssistantMessage { role: 'assistant'; content?: Output; toolCalls: ToolCall[]; } /** * @public */ export type ErrorMessage = { role: 'error'; content: string; }; /** * @public */ export type Message = UserMessage | AssistantMessage | ErrorMessage; /** * @public */ export type AnyMessage = Message; //# sourceMappingURL=view.models.d.ts.map