import type { Tool } from '../types/tool.js'; import type { OneShotLLMInput, OneShotLLMResult, OneShotOrchestratorOptions } from '../types/one-shot-llm.js'; /** * Tool name for the one-shot LLM tool. * Register in ToolRegistry as `llm` so any agent can call it. */ export declare const ONE_SHOT_LLM_TOOL_NAME = "llm"; /** * Options for creating the LLM tool. * Mirrors OneShotOrchestratorOptions — the tool wraps an internal orchestrator. * When `defaultProvider` and `defaultModel` are not set, callers MUST * provide `providerId` and `model` explicitly. */ export interface CreateOneShotLLMToolOptions { buildProvider: OneShotOrchestratorOptions['buildProvider']; getConfig: OneShotOrchestratorOptions['getConfig']; /** Shared live FallbackProfileManager — required. */ fallbackProfileManager: OneShotOrchestratorOptions['fallbackProfileManager']; modelRouter?: OneShotOrchestratorOptions['modelRouter']; logger?: OneShotOrchestratorOptions['logger']; /** * Default provider to use when the caller doesn't specify one. * When absent, callers MUST provide `providerId` explicitly. */ defaultProvider?: string | undefined; /** * Default model to use when the caller doesn't specify one. * When absent, callers MUST provide `model` explicitly. */ defaultModel?: string | undefined; } /** * Create the `llm` tool — a general-purpose one-shot LLM invocation tool * that any agent can call. Wraps OneShotOrchestrator internally for * provider resolution, fallback chain support, and structured results. * * Usage from an agent: * ``` * llm({ * system: "You are a helpful assistant.", * userPrompt: "Summarize this conversation.", * model: "deepseek-chat", * maxTokens: 1024, * }) * ``` * * Register with the ToolRegistry and it becomes available everywhere: * ```ts * toolRegistry.register(createOneShotLLMTool({ buildProvider, getConfig })); * ``` */ export declare function createOneShotLLMTool(opts: CreateOneShotLLMToolOptions): Tool; //# sourceMappingURL=one-shot-llm-tool.d.ts.map