/** * Public LLM entrypoint: `cleoLlmCall`. * * Ported from PSYCHE src/llm/api.py (366 LOC). Orchestrates: * - Runtime config resolution from ModelConfig. * - Per-attempt planning (primary vs fallback selection). * - Retry with exponential backoff via p-retry. * - Tool-loop delegation when tools are supplied. * - Single-call delegation to the executor otherwise. * * Langfuse / Sentry decorators removed (no-op telemetry in CLEO). * * @task T1400 (T1386-W14) * @task T9298 (W5a — migrate to ConcreteExecutor event stream) * @epic T1386 * @epic T9261 T-LLM-CRED-CENTRALIZATION */ import type { IterationCallback, LLMCallResponse, LLMStreamChunk, ReasoningEffortType, StreamingResponseWithMetadata, VerbosityType } from './types.js'; import type { ModelConfig } from './types-config.js'; export interface CleoLlmCallParams { modelConfig: ModelConfig; prompt: string; maxTokens: number; trackName?: string | null; responseModel?: (new (...args: unknown[]) => unknown) | null; jsonMode?: boolean; temperature?: number | null; stopSeqs?: string[] | null; reasoningEffort?: ReasoningEffortType; verbosity?: VerbosityType; thinkingBudgetTokens?: number | null; enableRetry?: boolean; retryAttempts?: number; stream?: boolean; streamFinalOnly?: boolean; tools?: Array> | null; toolChoice?: string | Record | null; toolExecutor?: ((name: string, input: Record) => Promise) | null; maxToolIterations?: number; messages?: Array> | null; maxInputTokens?: number | null; traceName?: string | null; iterationCallback?: IterationCallback | null; } /** * Make an LLM call with retry, optional backup failover, and optional tool loop. * * Backup provider/model (if configured on the primary ModelConfig's `fallback`) * is used on the final retry attempt (default retry_attempts=3). */ export declare function cleoLlmCall(params: CleoLlmCallParams): Promise | AsyncGenerator | StreamingResponseWithMetadata>; //# sourceMappingURL=api.d.ts.map