import { type ToolSet } from 'ai'; import { z } from 'zod'; import type { FullToolInfo, ToolResponse } from '../tool.js'; import type { JsonModelMessage, JsonResponseMessage, JsonUserModelMessage } from './json-ai-types.js'; import { type ExitReason, type TaskEvent } from './types.js'; import type { WorkflowFn } from './workflow.js'; export type AgentWorkflowInput = { tools: Readonly; maxToolRoundTrips?: number; userMessage: readonly JsonUserModelMessage[]; outputSchema?: z.ZodSchema; model?: string; } & ({ messages: JsonModelMessage[]; } | { systemPrompt: string; }); export type AgentToolRegistry = { generateText: { input: { messages: JsonModelMessage[]; systemPrompt?: string; tools: ToolSet; model?: string; }; output: JsonResponseMessage[]; }; taskEvent: { input: TaskEvent; output: void; }; invokeTool: { input: { toolName: string; input: unknown; }; output: ToolResponse; }; }; export declare const agentWorkflow: WorkflowFn;