import type { ONIMessage, MessageState } from "../graph.js"; import type { ONISkeleton, RetryPolicy } from "../types.js"; import type { ONICheckpointer } from "../types.js"; import { type ONITool } from "./tool-node.js"; import type { ONIModel } from "../models/types.js"; export interface ONILanguageModel { invoke(messages: ONIMessage[], config?: { tools?: LLMToolSchema[]; signal?: AbortSignal; }): Promise; } export interface LLMToolSchema { name: string; description: string; parameters: Record; } export interface CreateReactAgentOptions { /** The LLM to use as the agent brain (ONIModel or legacy ONILanguageModel) */ llm: ONIModel | ONILanguageModel; /** Tools the agent can call */ tools?: ONITool[]; /** System prompt prepended to every invocation */ systemPrompt?: string; /** Retry policy for the agent node */ agentRetry?: RetryPolicy; /** Retry policy for the tool node */ toolRetry?: RetryPolicy; /** Interrupt before/after specific nodes */ interruptBefore?: string[]; interruptAfter?: string[]; /** Checkpointer for persistence */ checkpointer?: ONICheckpointer; } export declare function createReactAgent(opts: CreateReactAgentOptions): ONISkeleton; export type { NodeFn } from "../types.js"; //# sourceMappingURL=react-agent.d.ts.map