/** * Low-level request assembly: flatten a ModelConfig into backend calls. * * Ported from PSYCHE src/llm/request_builder.py. Does NOT own: retry, * fallback, tool loop, provider selection. Those live in api.ts, tool-loop.ts, * runtime.ts. * * @task T1394 (T1386-W8) * @epic T1386 */ import type { CompletionResult, ProviderBackend, StreamChunk } from './backend.js'; import type { ModelConfig, PromptCachePolicy } from './types-config.js'; /** Flatten ModelConfig optional knobs into extra_params dict. */ export declare function buildConfigExtraParams(config: ModelConfig): Record; /** Parameters for executeCompletion and executeStream. */ export interface ExecuteParams { messages: Array>; maxTokens: number; tools?: Array> | null; toolChoice?: string | Record | null; responseFormat?: (new (...args: unknown[]) => unknown) | Record | null; stop?: string[] | null; cachePolicy?: PromptCachePolicy | null; extraParams?: Record | null; } /** * Execute a non-streaming LLM completion via the backend. */ export declare function executeCompletion(backend: ProviderBackend, config: ModelConfig, params: ExecuteParams): Promise; /** * Execute a streaming LLM call via the backend. */ export declare function executeStream(backend: ProviderBackend, config: ModelConfig, params: ExecuteParams): AsyncGenerator; //# sourceMappingURL=request-builder.d.ts.map