import type { AIResult } from './InferenceCache'; export type AIProvider = 'anthropic' | 'openai'; export interface AIConfig { provider: AIProvider; apiKey: string; /** Model override; defaults are provider-specific when omitted. */ model?: string; /** * When true, emits detailed `console.info` / `console.warn` lines prefixed with `[lumen]` * (streaming stats, queued cells, NL filter parses). Intended for development; flip off in prod. */ debug?: boolean; /** * With `debug`, optionally POST each log line to this absolute URL (your dev server middleware) * so you can mirror `[lumen]` logs outside the browser console—omit in production. */ terminalLogRelayUrl?: string; } export interface AIAnalyzeContext { /** Stream partial outputs into the UI without awaiting the full completion. */ onPartial?: (result: AIResult) => void; } export interface AIPlugin { name: string; appliesTo: string[]; analyze(rowId: string | number, field: string, value: unknown, config: AIConfig, ctx?: AIAnalyzeContext): Promise; } //# sourceMappingURL=AITypes.d.ts.map