import type { AgentConfig, AgentResult, Message, ToolContext } from "../shared/types.js"; /** * Run the agent loop. * * @param config - Agent configuration with provider, tools, and callbacks * @param messages - Initial message history * @param toolContext - Context passed to tool executions * @param signal - Optional AbortSignal for cancellation * * @example * ```ts * const result = await agentLoop({ * provider: createOpenAIProvider({ apiKey: process.env.OPENAI_API_KEY }), * tools: [searchProducts, addToCart], * onThinking: (t) => console.log("Thinking:", t), * }, messages, context); * ``` */ export declare function agentLoop(config: AgentConfig, messages: Message[], toolContext: ToolContext, signal?: AbortSignal): Promise; /** * Wrap DOM content in untrusted delimiters for prompt injection defense. */ export declare function wrapUntrustedDom(domContent: string): string; /** * Create initial messages for an agent conversation. */ export declare function createAgentMessages(userMessage: string, domSnapshot?: string, systemPrompt?: string): Message[]; export { AgentBudgetError, AgentIterationError, } from "../shared/error-types.js"; //# sourceMappingURL=loop.d.ts.map