import { ReadableStream } from "@llamaindex/env"; import { EngineResponse } from "../EngineResponse.js"; import { type ChatEngine, type ChatEngineParamsNonStreaming, type ChatEngineParamsStreaming } from "../engines/chat/index.js"; import type { ChatMessage, LLM, MessageContent } from "../llm/index.js"; import type { BaseToolWithCall } from "../types.js"; import type { AgentTaskContext, TaskHandler, TaskStep, TaskStepOutput } from "./types.js"; export declare const MAX_TOOL_CALLS = 10; export declare function createTaskOutputStream ? AdditionalMessageOptions : never>(handler: TaskHandler, context: AgentTaskContext): ReadableStream>; export type AgentRunnerParams ? AdditionalMessageOptions : never> = { llm: AI; chatHistory: ChatMessage[]; systemPrompt: MessageContent | null; runner: AgentWorker; tools: BaseToolWithCall[] | ((query: MessageContent) => Promise); verbose: boolean; }; export type AgentParamsBase ? AdditionalMessageOptions : never> = { llm?: AI; chatHistory?: ChatMessage[]; systemPrompt?: MessageContent; verbose?: boolean; }; /** * Worker will schedule tasks and handle the task execution */ export declare abstract class AgentWorker ? AdditionalMessageOptions : never> { #private; abstract taskHandler: TaskHandler; createTask(query: MessageContent, context: AgentTaskContext): ReadableStream>; [Symbol.toStringTag]: string; } /** * Runner will manage the task execution and provide a high-level API for the user */ export declare abstract class AgentRunner ? AdditionalMessageOptions : never> implements ChatEngine { #private; abstract createStore(): Store; static defaultCreateStore(): object; static defaultTaskHandler: TaskHandler; protected constructor(params: AgentRunnerParams); get llm(): AI; get chatHistory(): ChatMessage[]; get verbose(): boolean; reset(): void; getTools(query: MessageContent): Promise | BaseToolWithCall[]; static shouldContinue ? AdditionalMessageOptions : never>(task: Readonly>): boolean; createTask(message: MessageContent, stream?: boolean, verbose?: boolean | undefined, chatHistory?: ChatMessage[]): ReadableStream>; chat(params: ChatEngineParamsNonStreaming): Promise; chat(params: ChatEngineParamsStreaming): Promise>; }