// Blueprint 14.3: clasele de actiuni AI. read_only ruleaza automat cu audit; // draft se intoarce userului pentru revizuire inainte sa fie persistat oriunde; // material/high_risk raman blocate pana exista coada de aprobare + idempotency // (nu construite inca -- vezi AiGatewayService.complete). export type ActionClass = 'read_only' | 'draft' | 'material' | 'high_risk'; // Subset din logical models configurate in LiteLLM (blueprint 4.1 din design doc: // "niciun serviciu nu cunoaste providerul" -- numele astea sunt mapari, nu id-uri // reale de model). Cheia LiteLLM a ceo-api e restrictionata explicit la aceste 4. export type LogicalModel = | 'openrouter-claude-sonnet-5' | 'openrouter-gpt-5' | 'openrouter-gemini-2.5-pro' | 'gpt-4o-mini'; // Blueprint 14.1 Context Manifest -- "cine este agentul in aceasta sesiune". export interface ContextManifest { purpose: string; allowedCategories: string[]; deniedCategories: string[]; actionClass: ActionClass; maxCostUsd: number; expiresAt: string; } export interface UntrustedBlock { label: string; content: string; } export interface CompleteParams { tenantId: string; requestedByUserId: string; purpose: string; actionClass: ActionClass; allowedCategories: string[]; deniedCategories?: string[]; model: LogicalModel; templateVersion: string; systemPrompt: string; userPrompt: string; /** Continut care nu vine direct de la user (date Apollo, OCR etc) -- impachetat * cu delimitatori (spotlighting, design doc Strat 1) inainte sa intre in context. */ untrustedBlocks?: UntrustedBlock[]; maxCostUsd?: number; } export interface CompleteResult { requestId: string; content: string; costUsd: number; model: string; }