/** * @toolplex/ai-engine - Chat Engine * * Core streaming engine that orchestrates AI chat sessions. * Uses adapters for all platform-specific I/O operations. */ import type { EngineAdapter } from "../adapters/types.js"; import type { StreamOptions, StreamResult, EngineConfig } from "../types/index.js"; import type { AutomationContext } from "../mcp/types.js"; export interface ChatEngineOptions { adapter: EngineAdapter; config?: EngineConfig; } export declare class ChatEngine { private adapter; private config; private initialized; constructor(options: ChatEngineOptions); /** * Initialize the engine */ initialize(): Promise; /** * Shutdown the engine */ shutdown(): Promise; /** * Initialize MCP for a session * @param userId - Optional user ID for system API keys (per-user telemetry) * @param clientMode - Client mode: standard, restricted, or automation * @param automationContext - Optional automation context for HITL support (automation mode only) */ initializeMCP(sessionId: string, userId?: string, clientMode?: "standard" | "restricted" | "automation", automationContext?: AutomationContext): Promise; /** * Initialize a session with ToolPlex context * @param userId - Optional user ID for system API keys (per-user telemetry) * @param clientMode - Client mode: standard, restricted, or automation * @param automationContext - Optional automation context for HITL support (automation mode only) */ initializeSession(sessionId: string, modelId: string, provider: string, userId?: string, clientMode?: "standard" | "restricted" | "automation", automationContext?: AutomationContext): Promise<{ success: boolean; context?: string; error?: string; }>; /** * Stream a chat completion */ stream(options: StreamOptions): Promise; /** * Process messages for streaming (handle attachments, filter empty blocks) */ private processMessages; } //# sourceMappingURL=ChatEngine.d.ts.map