/** * llm-rpc — `mcp__agim__llm_complete` (+ FIM / Responses) for the local * Unix RPC bridge. * * Independent services (e.g. iFund) call this via `AGIM_RPC_STATIC_TOKEN` * to run a one-shot completion against a configured `llmBackends` name * (deepseek-v4-pro, …) without going through the agent loop. * * Registry is normally populated at `agim start` (`loadFromConfig`). We * lazily reload once from disk if the process has no providers yet * (tests / RPC-only smoke) — secrets changes still require restart. */ import type { ChatResult } from './provider-base.js'; export interface LlmCompleteArgs { backend: string; system?: string; messages: { role: 'system' | 'user' | 'assistant'; content: string; /** DeepSeek Chat Prefix Completion (beta): last assistant only. */ prefix?: boolean; }[]; temperature?: number; maxTokens?: number; timeoutMs?: number; } export type LlmCompleteResult = { ok: true; result: { text: string; finishReason: ChatResult['finishReason']; usage: ChatResult['usage']; }; } | { ok: false; error: string; }; export interface LlmFimArgs { backend: string; prompt: string; suffix?: string; maxTokens?: number; temperature?: number; timeoutMs?: number; /** Optional platform/userId for hashed DeepSeek user_id. */ platform?: string; userId?: string; } export type LlmFimResult = { ok: true; result: { text: string; modelUsed: string; usage?: ChatResult['usage']; }; } | { ok: false; error: string; }; export interface LlmResponsesArgs { backend: string; input?: string; instructions?: string; maxOutputTokens?: number; temperature?: number; reasoningEffort?: 'low' | 'high' | 'max' | 'none'; timeoutMs?: number; platform?: string; userId?: string; } export type LlmResponsesResult = { ok: true; result: { outputText: string; modelUsed: string; status?: string; usage?: { inputTokens?: number; outputTokens?: number; cachedTokens?: number; reasoningTokens?: number; }; }; } | { ok: false; error: string; }; /** Test helper — drop the lazy-load latch so the next call re-reads config. */ export declare function _resetLlmRpcRegistryLatchForTests(): void; export declare function handleLlmOp(args: LlmCompleteArgs): Promise; /** DeepSeek FIM (beta). Requires an openai-compat DeepSeek backend. */ export declare function handleLlmFimOp(args: LlmFimArgs): Promise; /** DeepSeek / OpenAI Responses API. Opt-in via AGIM_RPC_ALLOWED_TOOLS. */ export declare function handleLlmResponsesOp(args: LlmResponsesArgs): Promise; //# sourceMappingURL=llm-rpc.d.ts.map