UNPKG

skailan-ai

Version:

Servicio de IA y procesamiento de lenguaje natural para Skailan

58 lines 2.49 kB
import { LLMConfig } from '../entities/LLMConfig'; export interface ConversationMessage { role: 'user' | 'assistant' | 'system'; content: string; timestamp: Date; metadata?: Record<string, any>; } export interface ConversationContext { id: string; organizationId: string; conversationId: string; messages: ConversationMessage[]; summary?: string; intent?: string; sentiment?: string; entities?: Array<{ type: string; value: string; confidence: number; }>; slots?: Record<string, any>; createdAt: Date; updatedAt: Date; } export interface ContextOptions { maxMessages?: number; includeSummary?: boolean; includeIntent?: boolean; includeSentiment?: boolean; includeEntities?: boolean; } export declare class ConversationContextService { private aiService; private contexts; constructor(llmConfig: LLMConfig); createContext(organizationId: string, conversationId: string, initialMessage?: string): Promise<ConversationContext>; addMessage(organizationId: string, conversationId: string, role: 'user' | 'assistant' | 'system', content: string, metadata?: Record<string, any>): Promise<ConversationContext>; getContext(organizationId: string, conversationId: string): Promise<ConversationContext | null>; updateContext(organizationId: string, conversationId: string, updates: Partial<ConversationContext>): Promise<ConversationContext>; generateSummary(organizationId: string, conversationId: string, options?: ContextOptions): Promise<string>; analyzeContext(organizationId: string, conversationId: string, options?: ContextOptions): Promise<{ intent?: string; sentiment?: string; entities?: Array<{ type: string; value: string; confidence: number; }>; slots?: Record<string, any>; }>; getRelevantContext(organizationId: string, conversationId: string, currentMessage: string, maxMessages?: number): Promise<ConversationMessage[]>; clearContext(organizationId: string, conversationId: string): Promise<void>; getAllContexts(organizationId: string): Promise<ConversationContext[]>; cleanupOldContexts(maxAgeHours?: number): Promise<void>; exportContext(organizationId: string, conversationId: string): Promise<string>; importContext(contextData: string): Promise<ConversationContext>; } //# sourceMappingURL=ConversationContextService.d.ts.map