@framers/agentos 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +98 -0
- package/README.md +576 -0
- package/dist/api/AgentOS.d.ts +451 -0
- package/dist/api/AgentOS.d.ts.map +1 -0
- package/dist/api/AgentOS.js +1157 -0
- package/dist/api/AgentOS.js.map +1 -0
- package/dist/api/AgentOSOrchestrator.d.ts +157 -0
- package/dist/api/AgentOSOrchestrator.d.ts.map +1 -0
- package/dist/api/AgentOSOrchestrator.js +679 -0
- package/dist/api/AgentOSOrchestrator.js.map +1 -0
- package/dist/api/interfaces/IAgentOS.d.ts +138 -0
- package/dist/api/interfaces/IAgentOS.d.ts.map +1 -0
- package/dist/api/interfaces/IAgentOS.js +11 -0
- package/dist/api/interfaces/IAgentOS.js.map +1 -0
- package/dist/api/interfaces/IUnifiedAgent.d.ts +126 -0
- package/dist/api/interfaces/IUnifiedAgent.d.ts.map +1 -0
- package/dist/api/interfaces/IUnifiedAgent.js +3 -0
- package/dist/api/interfaces/IUnifiedAgent.js.map +1 -0
- package/dist/api/types/AgentOSInput.d.ts +114 -0
- package/dist/api/types/AgentOSInput.d.ts.map +1 -0
- package/dist/api/types/AgentOSInput.js +13 -0
- package/dist/api/types/AgentOSInput.js.map +1 -0
- package/dist/api/types/AgentOSResponse.d.ts +170 -0
- package/dist/api/types/AgentOSResponse.d.ts.map +1 -0
- package/dist/api/types/AgentOSResponse.js +25 -0
- package/dist/api/types/AgentOSResponse.js.map +1 -0
- package/dist/cognitive_substrate/GMI.d.ts +148 -0
- package/dist/cognitive_substrate/GMI.d.ts.map +1 -0
- package/dist/cognitive_substrate/GMI.js +1003 -0
- package/dist/cognitive_substrate/GMI.js.map +1 -0
- package/dist/cognitive_substrate/GMIManager.d.ts +98 -0
- package/dist/cognitive_substrate/GMIManager.d.ts.map +1 -0
- package/dist/cognitive_substrate/GMIManager.js +517 -0
- package/dist/cognitive_substrate/GMIManager.js.map +1 -0
- package/dist/cognitive_substrate/IGMI.d.ts +469 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -0
- package/dist/cognitive_substrate/IGMI.js +111 -0
- package/dist/cognitive_substrate/IGMI.js.map +1 -0
- package/dist/cognitive_substrate/memory/IWorkingMemory.d.ts +139 -0
- package/dist/cognitive_substrate/memory/IWorkingMemory.d.ts.map +1 -0
- package/dist/cognitive_substrate/memory/IWorkingMemory.js +14 -0
- package/dist/cognitive_substrate/memory/IWorkingMemory.js.map +1 -0
- package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.d.ts +143 -0
- package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.d.ts.map +1 -0
- package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.js +186 -0
- package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.js.map +1 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.d.ts +33 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.d.ts.map +1 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.js +138 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.js.map +1 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.d.ts +32 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.d.ts.map +1 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.js +2 -0
- package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.js.map +1 -0
- package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts +336 -0
- package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts.map +1 -0
- package/dist/cognitive_substrate/personas/IPersonaDefinition.js +8 -0
- package/dist/cognitive_substrate/personas/IPersonaDefinition.js.map +1 -0
- package/dist/cognitive_substrate/personas/IPersonaLoader.d.ts +78 -0
- package/dist/cognitive_substrate/personas/IPersonaLoader.d.ts.map +1 -0
- package/dist/cognitive_substrate/personas/IPersonaLoader.js +9 -0
- package/dist/cognitive_substrate/personas/IPersonaLoader.js.map +1 -0
- package/dist/cognitive_substrate/personas/PersonaLoader.d.ts +60 -0
- package/dist/cognitive_substrate/personas/PersonaLoader.d.ts.map +1 -0
- package/dist/cognitive_substrate/personas/PersonaLoader.js +138 -0
- package/dist/cognitive_substrate/personas/PersonaLoader.js.map +1 -0
- package/dist/cognitive_substrate/personas/PersonaValidation.d.ts +139 -0
- package/dist/cognitive_substrate/personas/PersonaValidation.d.ts.map +1 -0
- package/dist/cognitive_substrate/personas/PersonaValidation.js +277 -0
- package/dist/cognitive_substrate/personas/PersonaValidation.js.map +1 -0
- package/dist/cognitive_substrate/personas/definitions/atlas_systems_architect.json +29 -0
- package/dist/cognitive_substrate/personas/definitions/default_assistant_persona.json +346 -0
- package/dist/cognitive_substrate/personas/definitions/default_free_assistant.json +13 -0
- package/dist/cognitive_substrate/personas/definitions/index.d.ts +14 -0
- package/dist/cognitive_substrate/personas/definitions/index.d.ts.map +1 -0
- package/dist/cognitive_substrate/personas/definitions/index.js +35 -0
- package/dist/cognitive_substrate/personas/definitions/index.js.map +1 -0
- package/dist/cognitive_substrate/personas/definitions/nerf_generalist.json +11 -0
- package/dist/cognitive_substrate/personas/definitions/v_researcher.json +11 -0
- package/dist/config/AgentOSConfig.d.ts +74 -0
- package/dist/config/AgentOSConfig.d.ts.map +1 -0
- package/dist/config/AgentOSConfig.js +399 -0
- package/dist/config/AgentOSConfig.js.map +1 -0
- package/dist/config/EmbeddingManagerConfiguration.d.ts +190 -0
- package/dist/config/EmbeddingManagerConfiguration.d.ts.map +1 -0
- package/dist/config/EmbeddingManagerConfiguration.js +16 -0
- package/dist/config/EmbeddingManagerConfiguration.js.map +1 -0
- package/dist/config/MemoryLifecycleManagerConfiguration.d.ts +165 -0
- package/dist/config/MemoryLifecycleManagerConfiguration.d.ts.map +1 -0
- package/dist/config/MemoryLifecycleManagerConfiguration.js +69 -0
- package/dist/config/MemoryLifecycleManagerConfiguration.js.map +1 -0
- package/dist/config/RetrievalAugmentorConfiguration.d.ts +98 -0
- package/dist/config/RetrievalAugmentorConfiguration.d.ts.map +1 -0
- package/dist/config/RetrievalAugmentorConfiguration.js +47 -0
- package/dist/config/RetrievalAugmentorConfiguration.js.map +1 -0
- package/dist/config/ToolOrchestratorConfig.d.ts +69 -0
- package/dist/config/ToolOrchestratorConfig.d.ts.map +1 -0
- package/dist/config/ToolOrchestratorConfig.js +11 -0
- package/dist/config/ToolOrchestratorConfig.js.map +1 -0
- package/dist/config/VectorStoreConfiguration.d.ts +223 -0
- package/dist/config/VectorStoreConfiguration.d.ts.map +1 -0
- package/dist/config/VectorStoreConfiguration.js +59 -0
- package/dist/config/VectorStoreConfiguration.js.map +1 -0
- package/dist/config/extension-secrets.json +38 -0
- package/dist/config/extensionSecrets.d.ts +13 -0
- package/dist/config/extensionSecrets.d.ts.map +1 -0
- package/dist/config/extensionSecrets.js +24 -0
- package/dist/config/extensionSecrets.js.map +1 -0
- package/dist/core/agency/AgencyMemoryManager.d.ts +300 -0
- package/dist/core/agency/AgencyMemoryManager.d.ts.map +1 -0
- package/dist/core/agency/AgencyMemoryManager.js +657 -0
- package/dist/core/agency/AgencyMemoryManager.js.map +1 -0
- package/dist/core/agency/AgencyRegistry.d.ts +100 -0
- package/dist/core/agency/AgencyRegistry.d.ts.map +1 -0
- package/dist/core/agency/AgencyRegistry.js +209 -0
- package/dist/core/agency/AgencyRegistry.js.map +1 -0
- package/dist/core/agency/AgencyTypes.d.ts +200 -0
- package/dist/core/agency/AgencyTypes.d.ts.map +1 -0
- package/dist/core/agency/AgencyTypes.js +7 -0
- package/dist/core/agency/AgencyTypes.js.map +1 -0
- package/dist/core/agency/AgentCommunicationBus.d.ts +150 -0
- package/dist/core/agency/AgentCommunicationBus.d.ts.map +1 -0
- package/dist/core/agency/AgentCommunicationBus.js +568 -0
- package/dist/core/agency/AgentCommunicationBus.js.map +1 -0
- package/dist/core/agency/IAgentCommunicationBus.d.ts +469 -0
- package/dist/core/agency/IAgentCommunicationBus.d.ts.map +1 -0
- package/dist/core/agency/IAgentCommunicationBus.js +40 -0
- package/dist/core/agency/IAgentCommunicationBus.js.map +1 -0
- package/dist/core/agency/index.d.ts +18 -0
- package/dist/core/agency/index.d.ts.map +1 -0
- package/dist/core/agency/index.js +18 -0
- package/dist/core/agency/index.js.map +1 -0
- package/dist/core/agents/AgentCore.d.ts +385 -0
- package/dist/core/agents/AgentCore.d.ts.map +1 -0
- package/dist/core/agents/AgentCore.js +527 -0
- package/dist/core/agents/AgentCore.js.map +1 -0
- package/dist/core/agents/AgentFactory.d.ts +123 -0
- package/dist/core/agents/AgentFactory.d.ts.map +1 -0
- package/dist/core/agents/AgentFactory.js +232 -0
- package/dist/core/agents/AgentFactory.js.map +1 -0
- package/dist/core/agents/AgentPoolAgent.d.ts +244 -0
- package/dist/core/agents/AgentPoolAgent.d.ts.map +1 -0
- package/dist/core/agents/AgentPoolAgent.js +697 -0
- package/dist/core/agents/AgentPoolAgent.js.map +1 -0
- package/dist/core/agents/AgentPoolConfig.d.ts +191 -0
- package/dist/core/agents/AgentPoolConfig.d.ts.map +1 -0
- package/dist/core/agents/AgentPoolConfig.js +58 -0
- package/dist/core/agents/AgentPoolConfig.js.map +1 -0
- package/dist/core/agents/IAgent.d.ts +226 -0
- package/dist/core/agents/IAgent.d.ts.map +1 -0
- package/dist/core/agents/IAgent.js +14 -0
- package/dist/core/agents/IAgent.js.map +1 -0
- package/dist/core/agents/IAgentFactory.d.ts +137 -0
- package/dist/core/agents/IAgentFactory.d.ts.map +1 -0
- package/dist/core/agents/IAgentFactory.js +13 -0
- package/dist/core/agents/IAgentFactory.js.map +1 -0
- package/dist/core/agents/tools/Tool.d.ts +17 -0
- package/dist/core/agents/tools/Tool.d.ts.map +1 -0
- package/dist/core/agents/tools/Tool.js +8 -0
- package/dist/core/agents/tools/Tool.js.map +1 -0
- package/dist/core/ai_utilities/HybridUtilityAI.d.ts +1 -0
- package/dist/core/ai_utilities/HybridUtilityAI.d.ts.map +1 -0
- package/dist/core/ai_utilities/HybridUtilityAI.js +2 -0
- package/dist/core/ai_utilities/HybridUtilityAI.js.map +1 -0
- package/dist/core/ai_utilities/IUtilityAI.d.ts +212 -0
- package/dist/core/ai_utilities/IUtilityAI.d.ts.map +1 -0
- package/dist/core/ai_utilities/IUtilityAI.js +11 -0
- package/dist/core/ai_utilities/IUtilityAI.js.map +1 -0
- package/dist/core/ai_utilities/LLMUtilityAI.d.ts +94 -0
- package/dist/core/ai_utilities/LLMUtilityAI.d.ts.map +1 -0
- package/dist/core/ai_utilities/LLMUtilityAI.js +434 -0
- package/dist/core/ai_utilities/LLMUtilityAI.js.map +1 -0
- package/dist/core/ai_utilities/StatisticalUtilityAI.d.ts +102 -0
- package/dist/core/ai_utilities/StatisticalUtilityAI.d.ts.map +1 -0
- package/dist/core/ai_utilities/StatisticalUtilityAI.js +617 -0
- package/dist/core/ai_utilities/StatisticalUtilityAI.js.map +1 -0
- package/dist/core/conversation/ConversationContext.d.ts +259 -0
- package/dist/core/conversation/ConversationContext.d.ts.map +1 -0
- package/dist/core/conversation/ConversationContext.js +450 -0
- package/dist/core/conversation/ConversationContext.js.map +1 -0
- package/dist/core/conversation/ConversationManager.d.ts +223 -0
- package/dist/core/conversation/ConversationManager.d.ts.map +1 -0
- package/dist/core/conversation/ConversationManager.js +558 -0
- package/dist/core/conversation/ConversationManager.js.map +1 -0
- package/dist/core/conversation/ConversationMessage.d.ts +184 -0
- package/dist/core/conversation/ConversationMessage.d.ts.map +1 -0
- package/dist/core/conversation/ConversationMessage.js +66 -0
- package/dist/core/conversation/ConversationMessage.js.map +1 -0
- package/dist/core/evaluation/Evaluator.d.ts +28 -0
- package/dist/core/evaluation/Evaluator.d.ts.map +1 -0
- package/dist/core/evaluation/Evaluator.js +490 -0
- package/dist/core/evaluation/Evaluator.js.map +1 -0
- package/dist/core/evaluation/IEvaluator.d.ts +309 -0
- package/dist/core/evaluation/IEvaluator.d.ts.map +1 -0
- package/dist/core/evaluation/IEvaluator.js +12 -0
- package/dist/core/evaluation/IEvaluator.js.map +1 -0
- package/dist/core/evaluation/LLMJudge.d.ts +105 -0
- package/dist/core/evaluation/LLMJudge.d.ts.map +1 -0
- package/dist/core/evaluation/LLMJudge.js +229 -0
- package/dist/core/evaluation/LLMJudge.js.map +1 -0
- package/dist/core/evaluation/index.d.ts +9 -0
- package/dist/core/evaluation/index.d.ts.map +1 -0
- package/dist/core/evaluation/index.js +9 -0
- package/dist/core/evaluation/index.js.map +1 -0
- package/dist/core/guardrails/IGuardrailService.d.ts +142 -0
- package/dist/core/guardrails/IGuardrailService.d.ts.map +1 -0
- package/dist/core/guardrails/IGuardrailService.js +24 -0
- package/dist/core/guardrails/IGuardrailService.js.map +1 -0
- package/dist/core/guardrails/guardrailDispatcher.d.ts +36 -0
- package/dist/core/guardrails/guardrailDispatcher.d.ts.map +1 -0
- package/dist/core/guardrails/guardrailDispatcher.js +240 -0
- package/dist/core/guardrails/guardrailDispatcher.js.map +1 -0
- package/dist/core/hitl/HumanInteractionManager.d.ts +146 -0
- package/dist/core/hitl/HumanInteractionManager.d.ts.map +1 -0
- package/dist/core/hitl/HumanInteractionManager.js +491 -0
- package/dist/core/hitl/HumanInteractionManager.js.map +1 -0
- package/dist/core/hitl/IHumanInteractionManager.d.ts +521 -0
- package/dist/core/hitl/IHumanInteractionManager.d.ts.map +1 -0
- package/dist/core/hitl/IHumanInteractionManager.js +33 -0
- package/dist/core/hitl/IHumanInteractionManager.js.map +1 -0
- package/dist/core/hitl/index.d.ts +17 -0
- package/dist/core/hitl/index.d.ts.map +1 -0
- package/dist/core/hitl/index.js +17 -0
- package/dist/core/hitl/index.js.map +1 -0
- package/dist/core/knowledge/IKnowledgeGraph.d.ts +351 -0
- package/dist/core/knowledge/IKnowledgeGraph.d.ts.map +1 -0
- package/dist/core/knowledge/IKnowledgeGraph.js +10 -0
- package/dist/core/knowledge/IKnowledgeGraph.js.map +1 -0
- package/dist/core/knowledge/KnowledgeGraph.d.ts +93 -0
- package/dist/core/knowledge/KnowledgeGraph.d.ts.map +1 -0
- package/dist/core/knowledge/KnowledgeGraph.js +601 -0
- package/dist/core/knowledge/KnowledgeGraph.js.map +1 -0
- package/dist/core/knowledge/index.d.ts +8 -0
- package/dist/core/knowledge/index.d.ts.map +1 -0
- package/dist/core/knowledge/index.js +8 -0
- package/dist/core/knowledge/index.js.map +1 -0
- package/dist/core/language/LanguageService.d.ts +77 -0
- package/dist/core/language/LanguageService.d.ts.map +1 -0
- package/dist/core/language/LanguageService.js +305 -0
- package/dist/core/language/LanguageService.js.map +1 -0
- package/dist/core/language/index.d.ts +6 -0
- package/dist/core/language/index.d.ts.map +1 -0
- package/dist/core/language/index.js +6 -0
- package/dist/core/language/index.js.map +1 -0
- package/dist/core/language/interfaces.d.ts +168 -0
- package/dist/core/language/interfaces.d.ts.map +1 -0
- package/dist/core/language/interfaces.js +37 -0
- package/dist/core/language/interfaces.js.map +1 -0
- package/dist/core/language/providers/DeepLTranslationProvider.d.ts +16 -0
- package/dist/core/language/providers/DeepLTranslationProvider.d.ts.map +1 -0
- package/dist/core/language/providers/DeepLTranslationProvider.js +28 -0
- package/dist/core/language/providers/DeepLTranslationProvider.js.map +1 -0
- package/dist/core/language/providers/OpenAITranslationProvider.d.ts +17 -0
- package/dist/core/language/providers/OpenAITranslationProvider.d.ts.map +1 -0
- package/dist/core/language/providers/OpenAITranslationProvider.js +34 -0
- package/dist/core/language/providers/OpenAITranslationProvider.js.map +1 -0
- package/dist/core/language/providers/WhisperDetectionProvider.d.ts +16 -0
- package/dist/core/language/providers/WhisperDetectionProvider.d.ts.map +1 -0
- package/dist/core/language/providers/WhisperDetectionProvider.js +15 -0
- package/dist/core/language/providers/WhisperDetectionProvider.js.map +1 -0
- package/dist/core/llm/IPromptEngine.d.ts +627 -0
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -0
- package/dist/core/llm/IPromptEngine.js +81 -0
- package/dist/core/llm/IPromptEngine.js.map +1 -0
- package/dist/core/llm/PromptEngine.d.ts +108 -0
- package/dist/core/llm/PromptEngine.d.ts.map +1 -0
- package/dist/core/llm/PromptEngine.js +872 -0
- package/dist/core/llm/PromptEngine.js.map +1 -0
- package/dist/core/llm/providers/AIModelProviderManager.d.ts +74 -0
- package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -0
- package/dist/core/llm/providers/AIModelProviderManager.js +263 -0
- package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -0
- package/dist/core/llm/providers/IProvider.d.ts +327 -0
- package/dist/core/llm/providers/IProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/IProvider.js +39 -0
- package/dist/core/llm/providers/IProvider.js.map +1 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +36 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.js +40 -0
- package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +42 -0
- package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/OpenAIProviderError.js +44 -0
- package/dist/core/llm/providers/errors/OpenAIProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +39 -0
- package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/OpenRouterProviderError.js +42 -0
- package/dist/core/llm/providers/errors/OpenRouterProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/ProviderError.d.ts +37 -0
- package/dist/core/llm/providers/errors/ProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/ProviderError.js +36 -0
- package/dist/core/llm/providers/errors/ProviderError.js.map +1 -0
- package/dist/core/llm/providers/implementations/OllamaProvider.d.ts +80 -0
- package/dist/core/llm/providers/implementations/OllamaProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/OllamaProvider.js +473 -0
- package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +160 -0
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/OpenAIProvider.js +672 -0
- package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts +51 -0
- package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js +499 -0
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -0
- package/dist/core/llm/routing/IModelRouter.d.ts +129 -0
- package/dist/core/llm/routing/IModelRouter.d.ts.map +1 -0
- package/dist/core/llm/routing/IModelRouter.js +14 -0
- package/dist/core/llm/routing/IModelRouter.js.map +1 -0
- package/dist/core/llm/routing/ModelRouter.d.ts +157 -0
- package/dist/core/llm/routing/ModelRouter.d.ts.map +1 -0
- package/dist/core/llm/routing/ModelRouter.js +190 -0
- package/dist/core/llm/routing/ModelRouter.js.map +1 -0
- package/dist/core/llm/streaming/StreamingBatcher.d.ts +54 -0
- package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -0
- package/dist/core/llm/streaming/StreamingBatcher.js +173 -0
- package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -0
- package/dist/core/llm/streaming/StreamingReconstructor.d.ts +69 -0
- package/dist/core/llm/streaming/StreamingReconstructor.d.ts.map +1 -0
- package/dist/core/llm/streaming/StreamingReconstructor.js +102 -0
- package/dist/core/llm/streaming/StreamingReconstructor.js.map +1 -0
- package/dist/core/marketplace/IMarketplace.d.ts +500 -0
- package/dist/core/marketplace/IMarketplace.d.ts.map +1 -0
- package/dist/core/marketplace/IMarketplace.js +10 -0
- package/dist/core/marketplace/IMarketplace.js.map +1 -0
- package/dist/core/marketplace/Marketplace.d.ts +122 -0
- package/dist/core/marketplace/Marketplace.d.ts.map +1 -0
- package/dist/core/marketplace/Marketplace.js +591 -0
- package/dist/core/marketplace/Marketplace.js.map +1 -0
- package/dist/core/marketplace/index.d.ts +8 -0
- package/dist/core/marketplace/index.d.ts.map +1 -0
- package/dist/core/marketplace/index.js +8 -0
- package/dist/core/marketplace/index.js.map +1 -0
- package/dist/core/observability/ITracer.d.ts +317 -0
- package/dist/core/observability/ITracer.d.ts.map +1 -0
- package/dist/core/observability/ITracer.js +55 -0
- package/dist/core/observability/ITracer.js.map +1 -0
- package/dist/core/observability/Tracer.d.ts +76 -0
- package/dist/core/observability/Tracer.d.ts.map +1 -0
- package/dist/core/observability/Tracer.js +360 -0
- package/dist/core/observability/Tracer.js.map +1 -0
- package/dist/core/observability/index.d.ts +9 -0
- package/dist/core/observability/index.d.ts.map +1 -0
- package/dist/core/observability/index.js +8 -0
- package/dist/core/observability/index.js.map +1 -0
- package/dist/core/orchestration/AgentOrchestrator.d.ts +243 -0
- package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/AgentOrchestrator.js +648 -0
- package/dist/core/orchestration/AgentOrchestrator.js.map +1 -0
- package/dist/core/orchestration/IAgentOrchestrator.d.ts +44 -0
- package/dist/core/orchestration/IAgentOrchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/IAgentOrchestrator.js +4 -0
- package/dist/core/orchestration/IAgentOrchestrator.js.map +1 -0
- package/dist/core/orchestration/helpers.d.ts +12 -0
- package/dist/core/orchestration/helpers.d.ts.map +1 -0
- package/dist/core/orchestration/helpers.js +36 -0
- package/dist/core/orchestration/helpers.js.map +1 -0
- package/dist/core/planning/IPlanningEngine.d.ts +524 -0
- package/dist/core/planning/IPlanningEngine.d.ts.map +1 -0
- package/dist/core/planning/IPlanningEngine.js +32 -0
- package/dist/core/planning/IPlanningEngine.js.map +1 -0
- package/dist/core/planning/PlanningEngine.d.ts +161 -0
- package/dist/core/planning/PlanningEngine.d.ts.map +1 -0
- package/dist/core/planning/PlanningEngine.js +783 -0
- package/dist/core/planning/PlanningEngine.js.map +1 -0
- package/dist/core/planning/index.d.ts +25 -0
- package/dist/core/planning/index.d.ts.map +1 -0
- package/dist/core/planning/index.js +25 -0
- package/dist/core/planning/index.js.map +1 -0
- package/dist/core/sandbox/CodeSandbox.d.ts +86 -0
- package/dist/core/sandbox/CodeSandbox.d.ts.map +1 -0
- package/dist/core/sandbox/CodeSandbox.js +475 -0
- package/dist/core/sandbox/CodeSandbox.js.map +1 -0
- package/dist/core/sandbox/ICodeSandbox.d.ts +249 -0
- package/dist/core/sandbox/ICodeSandbox.d.ts.map +1 -0
- package/dist/core/sandbox/ICodeSandbox.js +24 -0
- package/dist/core/sandbox/ICodeSandbox.js.map +1 -0
- package/dist/core/sandbox/index.d.ts +9 -0
- package/dist/core/sandbox/index.d.ts.map +1 -0
- package/dist/core/sandbox/index.js +8 -0
- package/dist/core/sandbox/index.js.map +1 -0
- package/dist/core/storage/IStorageAdapter.d.ts +483 -0
- package/dist/core/storage/IStorageAdapter.d.ts.map +1 -0
- package/dist/core/storage/IStorageAdapter.js +19 -0
- package/dist/core/storage/IStorageAdapter.js.map +1 -0
- package/dist/core/storage/InMemoryStorageAdapter.d.ts +192 -0
- package/dist/core/storage/InMemoryStorageAdapter.d.ts.map +1 -0
- package/dist/core/storage/InMemoryStorageAdapter.js +343 -0
- package/dist/core/storage/InMemoryStorageAdapter.js.map +1 -0
- package/dist/core/storage/SqlStorageAdapter.d.ts +262 -0
- package/dist/core/storage/SqlStorageAdapter.d.ts.map +1 -0
- package/dist/core/storage/SqlStorageAdapter.js +485 -0
- package/dist/core/storage/SqlStorageAdapter.js.map +1 -0
- package/dist/core/storage/index.d.ts +14 -0
- package/dist/core/storage/index.d.ts.map +1 -0
- package/dist/core/storage/index.js +14 -0
- package/dist/core/storage/index.js.map +1 -0
- package/dist/core/streaming/IStreamClient.d.ts +72 -0
- package/dist/core/streaming/IStreamClient.d.ts.map +1 -0
- package/dist/core/streaming/IStreamClient.js +12 -0
- package/dist/core/streaming/IStreamClient.js.map +1 -0
- package/dist/core/streaming/StreamingManager.d.ts +242 -0
- package/dist/core/streaming/StreamingManager.d.ts.map +1 -0
- package/dist/core/streaming/StreamingManager.js +282 -0
- package/dist/core/streaming/StreamingManager.js.map +1 -0
- package/dist/core/structured/IStructuredOutputManager.d.ts +701 -0
- package/dist/core/structured/IStructuredOutputManager.d.ts.map +1 -0
- package/dist/core/structured/IStructuredOutputManager.js +74 -0
- package/dist/core/structured/IStructuredOutputManager.js.map +1 -0
- package/dist/core/structured/StructuredOutputManager.d.ts +140 -0
- package/dist/core/structured/StructuredOutputManager.d.ts.map +1 -0
- package/dist/core/structured/StructuredOutputManager.js +1015 -0
- package/dist/core/structured/StructuredOutputManager.js.map +1 -0
- package/dist/core/structured/index.d.ts +34 -0
- package/dist/core/structured/index.d.ts.map +1 -0
- package/dist/core/structured/index.js +34 -0
- package/dist/core/structured/index.js.map +1 -0
- package/dist/core/tools/ITool.d.ts +228 -0
- package/dist/core/tools/ITool.d.ts.map +1 -0
- package/dist/core/tools/ITool.js +11 -0
- package/dist/core/tools/ITool.js.map +1 -0
- package/dist/core/tools/IToolOrchestrator.d.ts +131 -0
- package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -0
- package/dist/core/tools/IToolOrchestrator.js +14 -0
- package/dist/core/tools/IToolOrchestrator.js.map +1 -0
- package/dist/core/tools/ToolExecutor.d.ts +143 -0
- package/dist/core/tools/ToolExecutor.d.ts.map +1 -0
- package/dist/core/tools/ToolExecutor.js +364 -0
- package/dist/core/tools/ToolExecutor.js.map +1 -0
- package/dist/core/tools/ToolOrchestrator.d.ts +142 -0
- package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -0
- package/dist/core/tools/ToolOrchestrator.js +373 -0
- package/dist/core/tools/ToolOrchestrator.js.map +1 -0
- package/dist/core/tools/permissions/IToolPermissionManager.d.ts +195 -0
- package/dist/core/tools/permissions/IToolPermissionManager.d.ts.map +1 -0
- package/dist/core/tools/permissions/IToolPermissionManager.js +14 -0
- package/dist/core/tools/permissions/IToolPermissionManager.js.map +1 -0
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts +203 -0
- package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -0
- package/dist/core/tools/permissions/ToolPermissionManager.js +298 -0
- package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -0
- package/dist/core/ui/IUIComponent.d.ts +11 -0
- package/dist/core/ui/IUIComponent.d.ts.map +1 -0
- package/dist/core/ui/IUIComponent.js +2 -0
- package/dist/core/ui/IUIComponent.js.map +1 -0
- package/dist/core/usage/UsageLedger.d.ts +81 -0
- package/dist/core/usage/UsageLedger.d.ts.map +1 -0
- package/dist/core/usage/UsageLedger.js +135 -0
- package/dist/core/usage/UsageLedger.js.map +1 -0
- package/dist/core/workflows/IWorkflowEngine.d.ts +42 -0
- package/dist/core/workflows/IWorkflowEngine.d.ts.map +1 -0
- package/dist/core/workflows/IWorkflowEngine.js +2 -0
- package/dist/core/workflows/IWorkflowEngine.js.map +1 -0
- package/dist/core/workflows/WorkflowEngine.d.ts +28 -0
- package/dist/core/workflows/WorkflowEngine.d.ts.map +1 -0
- package/dist/core/workflows/WorkflowEngine.js +309 -0
- package/dist/core/workflows/WorkflowEngine.js.map +1 -0
- package/dist/core/workflows/WorkflowTypes.d.ts +180 -0
- package/dist/core/workflows/WorkflowTypes.d.ts.map +1 -0
- package/dist/core/workflows/WorkflowTypes.js +26 -0
- package/dist/core/workflows/WorkflowTypes.js.map +1 -0
- package/dist/core/workflows/runtime/WorkflowRuntime.d.ts +70 -0
- package/dist/core/workflows/runtime/WorkflowRuntime.d.ts.map +1 -0
- package/dist/core/workflows/runtime/WorkflowRuntime.js +566 -0
- package/dist/core/workflows/runtime/WorkflowRuntime.js.map +1 -0
- package/dist/core/workflows/storage/IWorkflowStore.d.ts +75 -0
- package/dist/core/workflows/storage/IWorkflowStore.d.ts.map +1 -0
- package/dist/core/workflows/storage/IWorkflowStore.js +2 -0
- package/dist/core/workflows/storage/IWorkflowStore.js.map +1 -0
- package/dist/core/workflows/storage/InMemoryWorkflowStore.d.ts +14 -0
- package/dist/core/workflows/storage/InMemoryWorkflowStore.d.ts.map +1 -0
- package/dist/core/workflows/storage/InMemoryWorkflowStore.js +130 -0
- package/dist/core/workflows/storage/InMemoryWorkflowStore.js.map +1 -0
- package/dist/extensions/ExtensionLoader.d.ts +119 -0
- package/dist/extensions/ExtensionLoader.d.ts.map +1 -0
- package/dist/extensions/ExtensionLoader.js +297 -0
- package/dist/extensions/ExtensionLoader.js.map +1 -0
- package/dist/extensions/ExtensionManager.d.ts +49 -0
- package/dist/extensions/ExtensionManager.d.ts.map +1 -0
- package/dist/extensions/ExtensionManager.js +197 -0
- package/dist/extensions/ExtensionManager.js.map +1 -0
- package/dist/extensions/ExtensionRegistry.d.ts +39 -0
- package/dist/extensions/ExtensionRegistry.d.ts.map +1 -0
- package/dist/extensions/ExtensionRegistry.js +103 -0
- package/dist/extensions/ExtensionRegistry.js.map +1 -0
- package/dist/extensions/MultiRegistryLoader.d.ts +61 -0
- package/dist/extensions/MultiRegistryLoader.d.ts.map +1 -0
- package/dist/extensions/MultiRegistryLoader.js +169 -0
- package/dist/extensions/MultiRegistryLoader.js.map +1 -0
- package/dist/extensions/RegistryConfig.d.ts +86 -0
- package/dist/extensions/RegistryConfig.d.ts.map +1 -0
- package/dist/extensions/RegistryConfig.js +99 -0
- package/dist/extensions/RegistryConfig.js.map +1 -0
- package/dist/extensions/events.d.ts +19 -0
- package/dist/extensions/events.d.ts.map +1 -0
- package/dist/extensions/events.js +2 -0
- package/dist/extensions/events.js.map +1 -0
- package/dist/extensions/index.d.ts +9 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +9 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/manifest.d.ts +52 -0
- package/dist/extensions/manifest.d.ts.map +1 -0
- package/dist/extensions/manifest.js +2 -0
- package/dist/extensions/manifest.js.map +1 -0
- package/dist/extensions/types.d.ts +294 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +12 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/ILogger.d.ts +8 -0
- package/dist/logging/ILogger.d.ts.map +1 -0
- package/dist/logging/ILogger.js +2 -0
- package/dist/logging/ILogger.js.map +1 -0
- package/dist/logging/PinoLogger.d.ts +12 -0
- package/dist/logging/PinoLogger.d.ts.map +1 -0
- package/dist/logging/PinoLogger.js +22 -0
- package/dist/logging/PinoLogger.js.map +1 -0
- package/dist/logging/loggerFactory.d.ts +6 -0
- package/dist/logging/loggerFactory.d.ts.map +1 -0
- package/dist/logging/loggerFactory.js +14 -0
- package/dist/logging/loggerFactory.js.map +1 -0
- package/dist/rag/EmbeddingManager.d.ts +81 -0
- package/dist/rag/EmbeddingManager.d.ts.map +1 -0
- package/dist/rag/EmbeddingManager.js +412 -0
- package/dist/rag/EmbeddingManager.js.map +1 -0
- package/dist/rag/IEmbeddingManager.d.ts +277 -0
- package/dist/rag/IEmbeddingManager.d.ts.map +1 -0
- package/dist/rag/IEmbeddingManager.js +19 -0
- package/dist/rag/IEmbeddingManager.js.map +1 -0
- package/dist/rag/IRetrievalAugmentor.d.ts +208 -0
- package/dist/rag/IRetrievalAugmentor.d.ts.map +1 -0
- package/dist/rag/IRetrievalAugmentor.js +21 -0
- package/dist/rag/IRetrievalAugmentor.js.map +1 -0
- package/dist/rag/IVectorStore.d.ts +351 -0
- package/dist/rag/IVectorStore.d.ts.map +1 -0
- package/dist/rag/IVectorStore.js +15 -0
- package/dist/rag/IVectorStore.js.map +1 -0
- package/dist/rag/IVectorStoreManager.d.ts +121 -0
- package/dist/rag/IVectorStoreManager.d.ts.map +1 -0
- package/dist/rag/IVectorStoreManager.js +13 -0
- package/dist/rag/IVectorStoreManager.js.map +1 -0
- package/dist/rag/RetrievalAugmentor.d.ts +99 -0
- package/dist/rag/RetrievalAugmentor.d.ts.map +1 -0
- package/dist/rag/RetrievalAugmentor.js +674 -0
- package/dist/rag/RetrievalAugmentor.js.map +1 -0
- package/dist/rag/VectorStoreManager.d.ts +90 -0
- package/dist/rag/VectorStoreManager.d.ts.map +1 -0
- package/dist/rag/VectorStoreManager.js +283 -0
- package/dist/rag/VectorStoreManager.js.map +1 -0
- package/dist/rag/implementations/index.d.ts +9 -0
- package/dist/rag/implementations/index.d.ts.map +1 -0
- package/dist/rag/implementations/index.js +9 -0
- package/dist/rag/implementations/index.js.map +1 -0
- package/dist/rag/implementations/vector_stores/InMemoryVectorStore.d.ts +132 -0
- package/dist/rag/implementations/vector_stores/InMemoryVectorStore.d.ts.map +1 -0
- package/dist/rag/implementations/vector_stores/InMemoryVectorStore.js +539 -0
- package/dist/rag/implementations/vector_stores/InMemoryVectorStore.js.map +1 -0
- package/dist/rag/implementations/vector_stores/SqlVectorStore.d.ts +265 -0
- package/dist/rag/implementations/vector_stores/SqlVectorStore.d.ts.map +1 -0
- package/dist/rag/implementations/vector_stores/SqlVectorStore.js +755 -0
- package/dist/rag/implementations/vector_stores/SqlVectorStore.js.map +1 -0
- package/dist/rag/implementations/vector_stores/index.d.ts +10 -0
- package/dist/rag/implementations/vector_stores/index.d.ts.map +1 -0
- package/dist/rag/implementations/vector_stores/index.js +12 -0
- package/dist/rag/implementations/vector_stores/index.js.map +1 -0
- package/dist/rag/index.d.ts +95 -0
- package/dist/rag/index.d.ts.map +1 -0
- package/dist/rag/index.js +97 -0
- package/dist/rag/index.js.map +1 -0
- package/dist/services/user_auth/AuthService.d.ts +13 -0
- package/dist/services/user_auth/AuthService.d.ts.map +1 -0
- package/dist/services/user_auth/AuthService.js +24 -0
- package/dist/services/user_auth/AuthService.js.map +1 -0
- package/dist/services/user_auth/SubscriptionService.d.ts +14 -0
- package/dist/services/user_auth/SubscriptionService.d.ts.map +1 -0
- package/dist/services/user_auth/SubscriptionService.js +34 -0
- package/dist/services/user_auth/SubscriptionService.js.map +1 -0
- package/dist/services/user_auth/types.d.ts +30 -0
- package/dist/services/user_auth/types.d.ts.map +1 -0
- package/dist/services/user_auth/types.js +2 -0
- package/dist/services/user_auth/types.js.map +1 -0
- package/dist/stubs/prismaClient.d.ts +35 -0
- package/dist/stubs/prismaClient.d.ts.map +1 -0
- package/dist/stubs/prismaClient.js +47 -0
- package/dist/stubs/prismaClient.js.map +1 -0
- package/dist/types/rateLimitTypes.d.ts +70 -0
- package/dist/types/rateLimitTypes.d.ts.map +1 -0
- package/dist/types/rateLimitTypes.js +55 -0
- package/dist/types/rateLimitTypes.js.map +1 -0
- package/dist/utils/errors.d.ts +80 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +201 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/uuid.d.ts +11 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +64 -0
- package/dist/utils/uuid.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
// File: backend/agentos/core/conversation/ConversationContext.ts
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Manages the state, history, and metadata of a single conversation in AgentOS.
|
|
4
|
+
* It provides robust methods for adding messages, retrieving history with various strategies
|
|
5
|
+
* (including AI-powered summarization if an IUtilityAI service is provided),
|
|
6
|
+
* and managing session-specific metadata. Designed for comprehensive state export and import.
|
|
7
|
+
*
|
|
8
|
+
* @module backend/agentos/core/conversation/ConversationContext
|
|
9
|
+
* @see ./ConversationMessage.ts For ConversationMessage and MessageRole definitions.
|
|
10
|
+
* @see ../ai_utilities/IUtilityAI.ts For IUtilityAI and SummarizationOptions definitions.
|
|
11
|
+
*/
|
|
12
|
+
import { MessageRole, createConversationMessage } from './ConversationMessage.js';
|
|
13
|
+
import { uuidv4 } from '../../utils/uuid.js';
|
|
14
|
+
import { GMIError, GMIErrorCode } from '../../utils/errors.js'; // Corrected path
|
|
15
|
+
// Constants for summarization logic
|
|
16
|
+
const DEFAULT_MAX_HISTORY_MESSAGES = 100;
|
|
17
|
+
const DEFAULT_VERBATIM_TAIL_COUNT = 10;
|
|
18
|
+
const DEFAULT_VERBATIM_HEAD_COUNT = 2;
|
|
19
|
+
const DEFAULT_SUMMARIZATION_CHUNK_SIZE = 20; // Messages to group for one summary
|
|
20
|
+
const MIN_MESSAGES_FOR_SUMMARIZATION_ATTEMPT = 5; // Don't try to summarize too few messages
|
|
21
|
+
const DEFAULT_SUMMARIZATION_OPTIONS = { desiredLength: 'medium', method: 'abstractive_llm' };
|
|
22
|
+
/**
|
|
23
|
+
* @class ConversationContext
|
|
24
|
+
* @description Manages the messages, metadata, and operational state for a single conversation.
|
|
25
|
+
* It ensures that conversation history is handled efficiently, including potential summarization
|
|
26
|
+
* to manage context length, and provides a structured way to access and modify conversation-related data.
|
|
27
|
+
*/
|
|
28
|
+
export class ConversationContext {
|
|
29
|
+
/**
|
|
30
|
+
* Creates an instance of ConversationContext.
|
|
31
|
+
*
|
|
32
|
+
* @constructor
|
|
33
|
+
* @param {string} [sessionId] - Optional. A specific ID for this conversation session. If not provided, a UUID will be generated.
|
|
34
|
+
* @param {Partial<ConversationContextConfig>} [config={}] - Optional. Configuration overrides for this context. Defaults will be applied.
|
|
35
|
+
* @param {ConversationMessage[]} [initialMessages=[]] - Optional. An array of messages to pre-populate the context.
|
|
36
|
+
* @param {Record<string, any>} [initialMetadata={}] - Optional. Initial key-value metadata for the session.
|
|
37
|
+
*/
|
|
38
|
+
constructor(sessionId, config = {}, initialMessages = [], initialMetadata = {}) {
|
|
39
|
+
/**
|
|
40
|
+
* A lock to prevent concurrent summarization operations on the same context.
|
|
41
|
+
* @private
|
|
42
|
+
* @type {boolean}
|
|
43
|
+
*/
|
|
44
|
+
this.isSummarizing = false;
|
|
45
|
+
this.sessionId = sessionId || `conv_ctx_${uuidv4()}`;
|
|
46
|
+
this.createdAt = Date.now();
|
|
47
|
+
this.messages = initialMessages.map(m => ({
|
|
48
|
+
...m,
|
|
49
|
+
id: m.id || `msg_${uuidv4()}`,
|
|
50
|
+
timestamp: m.timestamp || Date.now(),
|
|
51
|
+
}));
|
|
52
|
+
const defaultConfig = {
|
|
53
|
+
maxHistoryLengthMessages: DEFAULT_MAX_HISTORY_MESSAGES,
|
|
54
|
+
enableAutomaticSummarization: false,
|
|
55
|
+
messagesToKeepVerbatimTail: DEFAULT_VERBATIM_TAIL_COUNT,
|
|
56
|
+
messagesToKeepVerbatimHead: DEFAULT_VERBATIM_HEAD_COUNT,
|
|
57
|
+
summarizationChunkSize: DEFAULT_SUMMARIZATION_CHUNK_SIZE,
|
|
58
|
+
summarizationOptions: { ...DEFAULT_SUMMARIZATION_OPTIONS },
|
|
59
|
+
defaultLanguage: 'en-US',
|
|
60
|
+
};
|
|
61
|
+
this.config = {
|
|
62
|
+
...defaultConfig,
|
|
63
|
+
...config,
|
|
64
|
+
summarizationOptions: {
|
|
65
|
+
...defaultConfig.summarizationOptions,
|
|
66
|
+
...(config.summarizationOptions || {}),
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
this.utilityAI = this.config.utilityAI; // Use the one from the fully merged config
|
|
70
|
+
this.sessionMetadata = { ...initialMetadata };
|
|
71
|
+
// Set well-known metadata from config if present
|
|
72
|
+
if (this.config.userId)
|
|
73
|
+
this.sessionMetadata.userId = this.config.userId;
|
|
74
|
+
if (this.config.gmiInstanceId)
|
|
75
|
+
this.sessionMetadata.gmiInstanceId = this.config.gmiInstanceId;
|
|
76
|
+
if (this.config.activePersonaId)
|
|
77
|
+
this.sessionMetadata.activePersonaId = this.config.activePersonaId;
|
|
78
|
+
if (this.config.defaultLanguage && !this.sessionMetadata.currentLanguage) {
|
|
79
|
+
this.sessionMetadata.currentLanguage = this.config.defaultLanguage;
|
|
80
|
+
}
|
|
81
|
+
this.sessionMetadata['_lastAccessed'] = this.createdAt; // Initialize last accessed time
|
|
82
|
+
if (this.config.enableAutomaticSummarization && !this.utilityAI) {
|
|
83
|
+
console.warn(`ConversationContext (ID: ${this.sessionId}): Automatic summarization is enabled, but no IUtilityAI service was provided. Summarization will be disabled for this context.`);
|
|
84
|
+
// Update the effective configuration for this instance
|
|
85
|
+
this.config.enableAutomaticSummarization = false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Adds a new message to the conversation history.
|
|
90
|
+
* The message is created using `createConversationMessage` to ensure default fields like `id` and `timestamp` are set.
|
|
91
|
+
* After adding, it asynchronously triggers history management (truncation/summarization).
|
|
92
|
+
*
|
|
93
|
+
* @public
|
|
94
|
+
* @param {Omit<ConversationMessage, 'id' | 'timestamp'>} messageData - The data for the new message, excluding `id` and `timestamp` which will be auto-generated.
|
|
95
|
+
* @returns {Readonly<ConversationMessage>} A readonly version of the newly added message.
|
|
96
|
+
*/
|
|
97
|
+
addMessage(messageData) {
|
|
98
|
+
const newMessage = createConversationMessage(messageData.role, messageData.content, messageData);
|
|
99
|
+
this.messages.push(newMessage);
|
|
100
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
101
|
+
// Asynchronously manage history length to avoid blocking the addMessage call.
|
|
102
|
+
this.manageHistoryLength().catch(error => {
|
|
103
|
+
console.error(`ConversationContext (ID: ${this.sessionId}): Error during background history management after adding message:`, error);
|
|
104
|
+
// Fallback to simple truncation if manageHistoryLength fails critically
|
|
105
|
+
if (this.messages.length > this.config.maxHistoryLengthMessages) {
|
|
106
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return Object.freeze({ ...newMessage });
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Retrieves a portion of the conversation history, optionally limited and filtered.
|
|
113
|
+
* Returns readonly copies of the messages to prevent external modification.
|
|
114
|
+
*
|
|
115
|
+
* @public
|
|
116
|
+
* @param {number} [limit] - Optional. The maximum number of recent messages to return. Defaults to `config.maxHistoryLengthMessages`.
|
|
117
|
+
* @param {MessageRole[]} [excludeRoles] - Optional. An array of message roles to exclude from the returned history.
|
|
118
|
+
* @returns {ReadonlyArray<Readonly<ConversationMessage>>} A readonly array of readonly message objects.
|
|
119
|
+
*/
|
|
120
|
+
getHistory(limit, excludeRoles) {
|
|
121
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
122
|
+
let effectiveMessages = this.messages;
|
|
123
|
+
if (excludeRoles && excludeRoles.length > 0) {
|
|
124
|
+
const rolesToExclude = new Set(excludeRoles);
|
|
125
|
+
effectiveMessages = effectiveMessages.filter(msg => !rolesToExclude.has(msg.role));
|
|
126
|
+
}
|
|
127
|
+
const actualLimit = limit !== undefined && limit > 0 ? limit : this.config.maxHistoryLengthMessages;
|
|
128
|
+
// Ensure both array and its elements are treated as readonly
|
|
129
|
+
return Object.freeze(effectiveMessages.slice(-actualLimit).map(m => Object.freeze({ ...m })));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Retrieves all messages in the conversation.
|
|
133
|
+
* Returns readonly copies to prevent external modification.
|
|
134
|
+
*
|
|
135
|
+
* @public
|
|
136
|
+
* @returns {ReadonlyArray<Readonly<ConversationMessage>>} A readonly array of all readonly message objects.
|
|
137
|
+
*/
|
|
138
|
+
getAllMessages() {
|
|
139
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
140
|
+
return Object.freeze(this.messages.map(m => Object.freeze({ ...m })));
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Retrieves a specific message by its unique ID.
|
|
144
|
+
*
|
|
145
|
+
* @public
|
|
146
|
+
* @param {string} messageId - The ID of the message to retrieve.
|
|
147
|
+
* @returns {Readonly<ConversationMessage> | undefined} A readonly copy of the message if found, otherwise `undefined`.
|
|
148
|
+
*/
|
|
149
|
+
getMessageById(messageId) {
|
|
150
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
151
|
+
const message = this.messages.find(m => m.id === messageId);
|
|
152
|
+
return message ? Object.freeze({ ...message }) : undefined;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Retrieves the most recent message in the conversation.
|
|
156
|
+
*
|
|
157
|
+
* @public
|
|
158
|
+
* @returns {Readonly<ConversationMessage> | undefined} A readonly copy of the last message, or `undefined` if the history is empty.
|
|
159
|
+
*/
|
|
160
|
+
getLastMessage() {
|
|
161
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
162
|
+
return this.messages.length > 0 ? Object.freeze({ ...this.messages[this.messages.length - 1] }) : undefined;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Calculates the current "turn number" based on the count of user messages.
|
|
166
|
+
* This can be a simple proxy for conversation length from the user's perspective.
|
|
167
|
+
*
|
|
168
|
+
* @public
|
|
169
|
+
* @returns {number} The number of messages with `role: MessageRole.USER`.
|
|
170
|
+
*/
|
|
171
|
+
getTurnNumber() {
|
|
172
|
+
return this.messages.filter(msg => msg.role === MessageRole.USER).length;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Clears the conversation history, with options to preserve certain messages or metadata.
|
|
176
|
+
*
|
|
177
|
+
* @public
|
|
178
|
+
* @param {object} [options] - Options for clearing the history.
|
|
179
|
+
* @param {boolean} [options.keepMetadata=true] - If true, session metadata is preserved. Otherwise, it's reset to essential defaults.
|
|
180
|
+
* @param {boolean} [options.keepSystemMessages=true] - If true, messages with `role: MessageRole.SYSTEM` are preserved.
|
|
181
|
+
* @param {ConversationMessage[]} [options.messagesToKeep=[]] - An array of specific message objects to preserve.
|
|
182
|
+
* @returns {void}
|
|
183
|
+
*/
|
|
184
|
+
clearHistory(options = {}) {
|
|
185
|
+
const { keepMetadata = true, keepSystemMessages = true, messagesToKeep = [] } = options;
|
|
186
|
+
const preservedMessages = [...messagesToKeep];
|
|
187
|
+
if (keepSystemMessages) {
|
|
188
|
+
this.messages.forEach(m => {
|
|
189
|
+
if (m.role === MessageRole.SYSTEM && !preservedMessages.find(pm => pm.id === m.id)) {
|
|
190
|
+
preservedMessages.push(m);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
// Use a Map to ensure uniqueness by ID if messagesToKeep and system messages overlap
|
|
195
|
+
this.messages = [...new Map(preservedMessages.map(item => [item.id, item])).values()];
|
|
196
|
+
this.messages.sort((a, b) => a.timestamp - b.timestamp); // Ensure messages remain sorted
|
|
197
|
+
if (!keepMetadata) {
|
|
198
|
+
const essentialMetadataKeys = ['userId', 'gmiInstanceId', 'activePersonaId', 'currentLanguage', '_lastAccessed'];
|
|
199
|
+
const newMetadata = {};
|
|
200
|
+
for (const key of essentialMetadataKeys) {
|
|
201
|
+
if (this.sessionMetadata[key] !== undefined) {
|
|
202
|
+
newMetadata[key] = this.sessionMetadata[key];
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Ensure core config-derived metadata is preserved if it was initially set
|
|
206
|
+
if (this.config.userId)
|
|
207
|
+
newMetadata.userId = this.config.userId;
|
|
208
|
+
if (this.config.gmiInstanceId)
|
|
209
|
+
newMetadata.gmiInstanceId = this.config.gmiInstanceId;
|
|
210
|
+
if (this.config.activePersonaId)
|
|
211
|
+
newMetadata.activePersonaId = this.config.activePersonaId;
|
|
212
|
+
if (this.config.defaultLanguage && !newMetadata.currentLanguage)
|
|
213
|
+
newMetadata.currentLanguage = this.config.defaultLanguage;
|
|
214
|
+
this.sessionMetadata = newMetadata;
|
|
215
|
+
}
|
|
216
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
217
|
+
console.log(`ConversationContext (ID: ${this.sessionId}): History cleared with options. New message count: ${this.messages.length}. Metadata kept: ${keepMetadata}.`);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Sets a custom metadata key-value pair for the session.
|
|
221
|
+
* If `value` is `undefined`, the key is removed.
|
|
222
|
+
*
|
|
223
|
+
* @public
|
|
224
|
+
* @param {string} key - The metadata key.
|
|
225
|
+
* @param {any} value - The metadata value. Use `undefined` to delete the key.
|
|
226
|
+
* @returns {void}
|
|
227
|
+
*/
|
|
228
|
+
setMetadata(key, value) {
|
|
229
|
+
if (value === undefined) {
|
|
230
|
+
delete this.sessionMetadata[key];
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
this.sessionMetadata[key] = value;
|
|
234
|
+
}
|
|
235
|
+
this.sessionMetadata['_lastAccessed'] = Date.now();
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Retrieves a metadata value by its key.
|
|
239
|
+
*
|
|
240
|
+
* @public
|
|
241
|
+
* @param {string} key - The metadata key.
|
|
242
|
+
* @returns {any | undefined} The metadata value, or `undefined` if the key does not exist.
|
|
243
|
+
*/
|
|
244
|
+
getMetadata(key) {
|
|
245
|
+
return this.sessionMetadata[key];
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Retrieves all session metadata as a readonly object.
|
|
249
|
+
*
|
|
250
|
+
* @public
|
|
251
|
+
* @returns {Readonly<Record<string, any>>} A readonly copy of all session metadata.
|
|
252
|
+
*/
|
|
253
|
+
getAllMetadata() {
|
|
254
|
+
return Object.freeze({ ...this.sessionMetadata });
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Manages the length of the conversation history.
|
|
258
|
+
* If `enableAutomaticSummarization` is true and a `utilityAI` service is available,
|
|
259
|
+
* it attempts to summarize older messages. Otherwise, it falls back to simple truncation.
|
|
260
|
+
* This method is called asynchronously after each new message is added.
|
|
261
|
+
*
|
|
262
|
+
* @private
|
|
263
|
+
* @async
|
|
264
|
+
* @returns {Promise<void>}
|
|
265
|
+
*/
|
|
266
|
+
async manageHistoryLength() {
|
|
267
|
+
if (this.isSummarizing || this.messages.length <= this.config.maxHistoryLengthMessages) {
|
|
268
|
+
return; // Already within limits or summarization in progress
|
|
269
|
+
}
|
|
270
|
+
if (this.config.enableAutomaticSummarization && this.utilityAI) {
|
|
271
|
+
this.isSummarizing = true;
|
|
272
|
+
try {
|
|
273
|
+
const headCount = Math.max(0, this.config.messagesToKeepVerbatimHead);
|
|
274
|
+
const tailCount = Math.max(0, this.config.messagesToKeepVerbatimTail);
|
|
275
|
+
// If keeping head/tail already satisfies max length, or not enough messages to summarize meaningfully
|
|
276
|
+
if (headCount + tailCount >= this.config.maxHistoryLengthMessages || this.messages.length < headCount + tailCount + MIN_MESSAGES_FOR_SUMMARIZATION_ATTEMPT) {
|
|
277
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages);
|
|
278
|
+
return; // Exit after simple truncation
|
|
279
|
+
}
|
|
280
|
+
// Ensure there's a middle section to process
|
|
281
|
+
const middleSectionStartIndex = headCount;
|
|
282
|
+
const middleSectionEndIndex = this.messages.length - tailCount;
|
|
283
|
+
if (middleSectionStartIndex >= middleSectionEndIndex) {
|
|
284
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages); // Not enough messages for a middle section
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const middleSection = this.messages.slice(middleSectionStartIndex, middleSectionEndIndex);
|
|
288
|
+
if (middleSection.length >= this.config.summarizationChunkSize && middleSection.length >= MIN_MESSAGES_FOR_SUMMARIZATION_ATTEMPT) {
|
|
289
|
+
const messagesToSummarize = middleSection.slice(0, this.config.summarizationChunkSize);
|
|
290
|
+
const textToSummarize = messagesToSummarize
|
|
291
|
+
.map(m => `${m.name || m.role}: ${typeof m.content === 'string' ? m.content : (m.tool_calls ? '[Tool Call Invoked]' : '[Structured Content]')}`)
|
|
292
|
+
.join('\n\n');
|
|
293
|
+
const summaryContent = await this.utilityAI.summarize(textToSummarize, this.config.summarizationOptions);
|
|
294
|
+
const summaryMessageOptions = {
|
|
295
|
+
// timestamp is removed from options, createConversationMessage will set it.
|
|
296
|
+
originalMessagesSummarizedCount: messagesToSummarize.length,
|
|
297
|
+
metadata: {
|
|
298
|
+
source: 'automatic_history_summary',
|
|
299
|
+
modificationInfo: {
|
|
300
|
+
strategy: 'summarized',
|
|
301
|
+
originalMessageCount: messagesToSummarize.length,
|
|
302
|
+
},
|
|
303
|
+
summarizedMessageIds: messagesToSummarize.map(m => m.id),
|
|
304
|
+
}, // Cast to MessageMetadata
|
|
305
|
+
};
|
|
306
|
+
const summaryMessage = createConversationMessage(MessageRole.SUMMARY, summaryContent, summaryMessageOptions);
|
|
307
|
+
const headMessages = this.messages.slice(0, headCount);
|
|
308
|
+
const tailMessages = this.messages.slice(this.messages.length - tailCount);
|
|
309
|
+
const remainingMiddleAfterSummarizedChunk = middleSection.slice(this.config.summarizationChunkSize);
|
|
310
|
+
this.messages = [...headMessages, summaryMessage, ...remainingMiddleAfterSummarizedChunk, ...tailMessages];
|
|
311
|
+
console.log(`ConversationContext (ID: ${this.sessionId}): History summarized. New length: ${this.messages.length}.`);
|
|
312
|
+
if (this.messages.length > this.config.maxHistoryLengthMessages) {
|
|
313
|
+
// If still too long, recursively call or truncate if no more summarization is effective
|
|
314
|
+
if (remainingMiddleAfterSummarizedChunk.length >= MIN_MESSAGES_FOR_SUMMARIZATION_ATTEMPT && remainingMiddleAfterSummarizedChunk.length >= this.config.summarizationChunkSize) {
|
|
315
|
+
await this.manageHistoryLength(); // Recursive call with safeguard
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
console.error(`ConversationContext (ID: ${this.sessionId}): Summarization failed: ${error.message}. Falling back to simple truncation.`, error);
|
|
328
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages);
|
|
329
|
+
}
|
|
330
|
+
finally {
|
|
331
|
+
this.isSummarizing = false;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
this.truncateHistorySimple(this.config.maxHistoryLengthMessages);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Performs simple truncation of message history, primarily from the middle,
|
|
340
|
+
* preserving a configured number of head and tail messages.
|
|
341
|
+
*
|
|
342
|
+
* @private
|
|
343
|
+
* @param {number} targetMessageCount - The desired maximum number of messages after truncation.
|
|
344
|
+
*/
|
|
345
|
+
truncateHistorySimple(targetMessageCount) {
|
|
346
|
+
if (this.messages.length <= targetMessageCount) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
const headCount = Math.max(0, Math.min(this.config.messagesToKeepVerbatimHead, targetMessageCount));
|
|
350
|
+
// Calculate how many tail messages can be kept to reach the targetMessageCount
|
|
351
|
+
const tailMessagesToKeepCount = Math.max(0, targetMessageCount - headCount);
|
|
352
|
+
if (this.messages.length > headCount + tailMessagesToKeepCount) { // Check if truncation is actually needed
|
|
353
|
+
const headMessages = this.messages.slice(0, headCount);
|
|
354
|
+
const tailMessages = tailMessagesToKeepCount > 0 ? this.messages.slice(-tailMessagesToKeepCount) : [];
|
|
355
|
+
this.messages = [...headMessages, ...tailMessages];
|
|
356
|
+
}
|
|
357
|
+
// If targetMessageCount is very small, this might result in fewer messages than targetMessageCount if headCount itself exceeds it.
|
|
358
|
+
// Or if headCount + tailMessagesToKeepCount > this.messages.length (shouldn't happen if initial check passes).
|
|
359
|
+
// The logic prioritizes keeping head messages if targetCount is less than headCount.
|
|
360
|
+
if (this.messages.length > targetMessageCount) { // Final trim if somehow still over
|
|
361
|
+
this.messages.splice(targetMessageCount);
|
|
362
|
+
}
|
|
363
|
+
console.log(`ConversationContext (ID: ${this.sessionId}): History truncated simply. New length: ${this.messages.length}. Target: ${targetMessageCount}.`);
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Serializes the ConversationContext instance to a JSON-compatible object.
|
|
367
|
+
* The `utilityAI` instance itself is not serialized; its ID might be stored if needed for rehydration.
|
|
368
|
+
*
|
|
369
|
+
* @public
|
|
370
|
+
* @returns {object} A plain JavaScript object representing the conversation context.
|
|
371
|
+
*/
|
|
372
|
+
toJSON() {
|
|
373
|
+
// Create a copy of config for serialization, excluding the utilityAI instance
|
|
374
|
+
const serializableConfig = { ...this.config };
|
|
375
|
+
delete serializableConfig.utilityAI; // Remove instance before stringification
|
|
376
|
+
if (this.utilityAI?.utilityId) {
|
|
377
|
+
serializableConfig.utilityAIServiceId = this.utilityAI.utilityId;
|
|
378
|
+
}
|
|
379
|
+
return {
|
|
380
|
+
sessionId: this.sessionId,
|
|
381
|
+
createdAt: this.createdAt,
|
|
382
|
+
messages: this.messages, // Messages are already plain objects
|
|
383
|
+
config: serializableConfig,
|
|
384
|
+
sessionMetadata: this.sessionMetadata,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Deserializes a JSON object (typically from `toJSON()`) back into a `ConversationContext` instance.
|
|
389
|
+
*
|
|
390
|
+
* @public
|
|
391
|
+
* @static
|
|
392
|
+
* @param {any} jsonData - The plain JavaScript object to deserialize.
|
|
393
|
+
* @param {(serviceId?: string) => IUtilityAI | undefined} [utilityAIProvider] - Optional. A function that can provide
|
|
394
|
+
* an `IUtilityAI` instance based on a stored `utilityAIServiceId`. This allows for re-injecting dependencies.
|
|
395
|
+
* @returns {ConversationContext} A new instance of `ConversationContext`.
|
|
396
|
+
* @throws {GMIError} If `jsonData` is invalid or missing essential fields.
|
|
397
|
+
*/
|
|
398
|
+
static fromJSON(jsonData, utilityAIProvider) {
|
|
399
|
+
if (!jsonData || typeof jsonData.sessionId !== 'string' || !Array.isArray(jsonData.messages) || typeof jsonData.config !== 'object' || jsonData.config === null) {
|
|
400
|
+
throw new GMIError("Invalid JSON data: Missing essential fields (sessionId, messages, config) for ConversationContext deserialization.", GMIErrorCode.VALIDATION_ERROR, { providedKeys: Object.keys(jsonData || {}).join(', ') });
|
|
401
|
+
}
|
|
402
|
+
let utilityAIInstance = undefined;
|
|
403
|
+
if (utilityAIProvider && jsonData.config.utilityAIServiceId) {
|
|
404
|
+
utilityAIInstance = utilityAIProvider(jsonData.config.utilityAIServiceId);
|
|
405
|
+
}
|
|
406
|
+
else if (jsonData.config.utilityAIServiceId && !utilityAIProvider) {
|
|
407
|
+
console.warn(`ConversationContext.fromJSON (ID: ${jsonData.sessionId}): Config contained utilityAIServiceId '${jsonData.config.utilityAIServiceId}', but no utilityAIProvider function was given to resolve the instance. Summarization may be unavailable.`);
|
|
408
|
+
}
|
|
409
|
+
const configForNewInstance = {
|
|
410
|
+
...jsonData.config, // Cast to allow utilityAIServiceId property
|
|
411
|
+
utilityAI: utilityAIInstance,
|
|
412
|
+
};
|
|
413
|
+
// Remove utilityAIServiceId from config object as it's not part of ConversationContextConfig directly
|
|
414
|
+
delete configForNewInstance.utilityAIServiceId;
|
|
415
|
+
const context = new ConversationContext(jsonData.sessionId, configForNewInstance, jsonData.messages, // Assume messages are correctly structured
|
|
416
|
+
jsonData.sessionMetadata || {});
|
|
417
|
+
// Restore read-only properties if they were part of the JSON
|
|
418
|
+
if (typeof jsonData.createdAt === 'number') {
|
|
419
|
+
// This is a bit of a hack to set a readonly property post-construction.
|
|
420
|
+
// It's generally better if all state is reconstructable via constructor or public methods.
|
|
421
|
+
context.createdAt = jsonData.createdAt;
|
|
422
|
+
}
|
|
423
|
+
return context;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Gets the User ID associated with this conversation context.
|
|
427
|
+
* @public
|
|
428
|
+
* @type {string | undefined}
|
|
429
|
+
*/
|
|
430
|
+
get userId() { return this.sessionMetadata.userId || this.config.userId; }
|
|
431
|
+
/**
|
|
432
|
+
* Gets the GMI Instance ID associated with this conversation context.
|
|
433
|
+
* @public
|
|
434
|
+
* @type {string | undefined}
|
|
435
|
+
*/
|
|
436
|
+
get gmiInstanceId() { return this.sessionMetadata.gmiInstanceId || this.config.gmiInstanceId; }
|
|
437
|
+
/**
|
|
438
|
+
* Gets the Active Persona ID associated with this conversation context.
|
|
439
|
+
* @public
|
|
440
|
+
* @type {string | undefined}
|
|
441
|
+
*/
|
|
442
|
+
get activePersonaId() { return this.sessionMetadata.activePersonaId || this.config.activePersonaId; }
|
|
443
|
+
/**
|
|
444
|
+
* Gets the current primary language for the conversation.
|
|
445
|
+
* @public
|
|
446
|
+
* @type {string}
|
|
447
|
+
*/
|
|
448
|
+
get currentLanguage() { return this.sessionMetadata.currentLanguage || this.config.defaultLanguage; }
|
|
449
|
+
}
|
|
450
|
+
//# sourceMappingURL=ConversationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConversationContext.js","sourceRoot":"","sources":["../../../src/core/conversation/ConversationContext.ts"],"names":[],"mappings":"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"}
|