/** * Provider abstraction — one interface, many backends. * * All backends speak the same simple "send a system prompt + user message, * get text back" protocol. We don't need streaming or tool use for translate/ * expand/rerank. */ import type { LlmCreds } from './config.js'; export interface ProviderRequest { system: string; user: string; /** Hard cap on output tokens. */ maxTokens: number; /** 0..1; lower = more deterministic. We default to 0.1. */ temperature?: number; } export interface ProviderResponse { text: string; /** Total input + output tokens, when reported by the backend. */ tokens: { input: number; output: number; } | null; } export interface Provider { readonly creds: LlmCreds; call(req: ProviderRequest): Promise; } export declare function createProvider(creds: LlmCreds): Provider; //# sourceMappingURL=providers.d.ts.map