@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,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Tracer.ts
|
|
3
|
+
* @description Implementation of distributed tracing for AgentOS.
|
|
4
|
+
* @module AgentOS/Observability
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
*/
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Span Implementation
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Span implementation.
|
|
13
|
+
*/
|
|
14
|
+
class Span {
|
|
15
|
+
constructor(name, context, kind, links, onEnd, startTime) {
|
|
16
|
+
this.status = 'unset';
|
|
17
|
+
this.attributes = {};
|
|
18
|
+
this.events = [];
|
|
19
|
+
this._isRecording = true;
|
|
20
|
+
this.name = name;
|
|
21
|
+
this.context = context;
|
|
22
|
+
this.kind = kind;
|
|
23
|
+
this.links = links;
|
|
24
|
+
this.startTime = startTime || Date.now();
|
|
25
|
+
this.onEnd = onEnd;
|
|
26
|
+
}
|
|
27
|
+
setAttribute(key, value) {
|
|
28
|
+
if (this._isRecording) {
|
|
29
|
+
this.attributes[key] = value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
setAttributes(attributes) {
|
|
33
|
+
if (this._isRecording) {
|
|
34
|
+
Object.assign(this.attributes, attributes);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
addEvent(name, attributes) {
|
|
38
|
+
if (this._isRecording) {
|
|
39
|
+
this.events.push({
|
|
40
|
+
name,
|
|
41
|
+
timestamp: Date.now(),
|
|
42
|
+
attributes,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
setStatus(status, message) {
|
|
47
|
+
if (this._isRecording) {
|
|
48
|
+
this.status = status;
|
|
49
|
+
this.statusMessage = message;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
recordException(error) {
|
|
53
|
+
if (this._isRecording) {
|
|
54
|
+
this.addEvent('exception', {
|
|
55
|
+
'exception.type': error.name,
|
|
56
|
+
'exception.message': error.message,
|
|
57
|
+
'exception.stacktrace': error.stack || '',
|
|
58
|
+
});
|
|
59
|
+
this.setStatus('error', error.message);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
end() {
|
|
63
|
+
if (this._isRecording) {
|
|
64
|
+
this.endTime = Date.now();
|
|
65
|
+
this._isRecording = false;
|
|
66
|
+
this.onEnd(this);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
isRecording() {
|
|
70
|
+
return this._isRecording;
|
|
71
|
+
}
|
|
72
|
+
toExportedSpan() {
|
|
73
|
+
return {
|
|
74
|
+
traceId: this.context.traceId,
|
|
75
|
+
spanId: this.context.spanId,
|
|
76
|
+
parentSpanId: this.context.parentSpanId,
|
|
77
|
+
name: this.name,
|
|
78
|
+
kind: this.kind,
|
|
79
|
+
startTime: this.startTime,
|
|
80
|
+
endTime: this.endTime,
|
|
81
|
+
status: this.status,
|
|
82
|
+
statusMessage: this.statusMessage,
|
|
83
|
+
attributes: { ...this.attributes },
|
|
84
|
+
events: [...this.events],
|
|
85
|
+
links: [...this.links],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// ============================================================================
|
|
90
|
+
// Console Exporter
|
|
91
|
+
// ============================================================================
|
|
92
|
+
/**
|
|
93
|
+
* Simple console exporter for development.
|
|
94
|
+
*/
|
|
95
|
+
export class ConsoleSpanExporter {
|
|
96
|
+
constructor(prefix = '[Trace]') {
|
|
97
|
+
this.prefix = prefix;
|
|
98
|
+
}
|
|
99
|
+
async export(spans) {
|
|
100
|
+
for (const span of spans) {
|
|
101
|
+
const duration = span.endTime ? span.endTime - span.startTime : 'ongoing';
|
|
102
|
+
const status = span.status === 'error' ? '❌' : span.status === 'ok' ? '✅' : '⚪';
|
|
103
|
+
console.log(`${this.prefix} ${status} ${span.name} [${span.traceId.slice(0, 8)}:${span.spanId.slice(0, 8)}] ${duration}ms`);
|
|
104
|
+
if (Object.keys(span.attributes).length > 0) {
|
|
105
|
+
console.log(` Attributes:`, span.attributes);
|
|
106
|
+
}
|
|
107
|
+
if (span.events.length > 0) {
|
|
108
|
+
console.log(` Events:`, span.events.map(e => e.name).join(', '));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async shutdown() {
|
|
113
|
+
// No cleanup needed
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// ============================================================================
|
|
117
|
+
// In-Memory Exporter (for testing)
|
|
118
|
+
// ============================================================================
|
|
119
|
+
/**
|
|
120
|
+
* In-memory exporter that stores spans for retrieval.
|
|
121
|
+
*/
|
|
122
|
+
export class InMemorySpanExporter {
|
|
123
|
+
constructor(maxSpans = 1000) {
|
|
124
|
+
this.spans = [];
|
|
125
|
+
this.maxSpans = maxSpans;
|
|
126
|
+
}
|
|
127
|
+
async export(spans) {
|
|
128
|
+
this.spans.push(...spans);
|
|
129
|
+
// Trim if over limit
|
|
130
|
+
if (this.spans.length > this.maxSpans) {
|
|
131
|
+
this.spans = this.spans.slice(-this.maxSpans);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
getSpans() {
|
|
135
|
+
return [...this.spans];
|
|
136
|
+
}
|
|
137
|
+
getSpansByName(name) {
|
|
138
|
+
return this.spans.filter(s => s.name === name);
|
|
139
|
+
}
|
|
140
|
+
getSpansByTraceId(traceId) {
|
|
141
|
+
return this.spans.filter(s => s.traceId === traceId);
|
|
142
|
+
}
|
|
143
|
+
clear() {
|
|
144
|
+
this.spans = [];
|
|
145
|
+
}
|
|
146
|
+
async shutdown() {
|
|
147
|
+
this.spans = [];
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const DEFAULT_CONFIG = {
|
|
151
|
+
name: 'agentos-tracer',
|
|
152
|
+
autoExport: true,
|
|
153
|
+
exportBatchSize: 100,
|
|
154
|
+
exportIntervalMs: 5000,
|
|
155
|
+
maxBufferSize: 1000,
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Distributed tracer implementation.
|
|
159
|
+
*/
|
|
160
|
+
export class Tracer {
|
|
161
|
+
constructor(config) {
|
|
162
|
+
this.activeSpans = new Map();
|
|
163
|
+
this.completedSpans = [];
|
|
164
|
+
this.exporters = [];
|
|
165
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
166
|
+
this.name = this.config.name;
|
|
167
|
+
this.stats = this.createEmptyStats();
|
|
168
|
+
if (this.config.autoExport && this.config.exportIntervalMs) {
|
|
169
|
+
this.startExportTimer();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
getCurrentContext() {
|
|
173
|
+
return this.currentContext;
|
|
174
|
+
}
|
|
175
|
+
startSpan(name, options) {
|
|
176
|
+
const kind = options?.kind || 'internal';
|
|
177
|
+
// Generate IDs
|
|
178
|
+
const spanId = this.generateId(16);
|
|
179
|
+
let traceId;
|
|
180
|
+
let parentSpanId;
|
|
181
|
+
if (options?.parent) {
|
|
182
|
+
traceId = options.parent.traceId;
|
|
183
|
+
parentSpanId = options.parent.spanId;
|
|
184
|
+
}
|
|
185
|
+
else if (this.currentContext) {
|
|
186
|
+
traceId = this.currentContext.traceId;
|
|
187
|
+
parentSpanId = this.currentContext.spanId;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
traceId = this.generateId(32);
|
|
191
|
+
}
|
|
192
|
+
const context = {
|
|
193
|
+
traceId,
|
|
194
|
+
spanId,
|
|
195
|
+
parentSpanId,
|
|
196
|
+
traceFlags: 1, // Sampled
|
|
197
|
+
};
|
|
198
|
+
const span = new Span(name, context, kind, options?.links || [], this.onSpanEnd.bind(this), options?.startTime);
|
|
199
|
+
if (options?.attributes) {
|
|
200
|
+
span.setAttributes(options.attributes);
|
|
201
|
+
}
|
|
202
|
+
this.activeSpans.set(spanId, span);
|
|
203
|
+
this.currentContext = context;
|
|
204
|
+
// Update stats
|
|
205
|
+
this.stats.totalSpans++;
|
|
206
|
+
this.stats.activeSpans++;
|
|
207
|
+
this.stats.spansByName[name] = (this.stats.spansByName[name] || 0) + 1;
|
|
208
|
+
return span;
|
|
209
|
+
}
|
|
210
|
+
async withSpan(name, fn, options) {
|
|
211
|
+
const span = this.startSpan(name, options);
|
|
212
|
+
try {
|
|
213
|
+
const result = await fn(span);
|
|
214
|
+
span.setStatus('ok');
|
|
215
|
+
return result;
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
span.recordException(error);
|
|
219
|
+
throw error;
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
span.end();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
inject(carrier) {
|
|
226
|
+
if (this.currentContext) {
|
|
227
|
+
carrier['traceparent'] = `00-${this.currentContext.traceId}-${this.currentContext.spanId}-0${this.currentContext.traceFlags}`;
|
|
228
|
+
if (this.currentContext.baggage) {
|
|
229
|
+
carrier['baggage'] = Object.entries(this.currentContext.baggage)
|
|
230
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
|
|
231
|
+
.join(',');
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return carrier;
|
|
235
|
+
}
|
|
236
|
+
extract(carrier) {
|
|
237
|
+
const traceparent = carrier['traceparent'];
|
|
238
|
+
if (!traceparent)
|
|
239
|
+
return undefined;
|
|
240
|
+
const parts = traceparent.split('-');
|
|
241
|
+
if (parts.length < 4)
|
|
242
|
+
return undefined;
|
|
243
|
+
const context = {
|
|
244
|
+
traceId: parts[1],
|
|
245
|
+
spanId: parts[2],
|
|
246
|
+
traceFlags: parseInt(parts[3], 16),
|
|
247
|
+
};
|
|
248
|
+
const baggage = carrier['baggage'];
|
|
249
|
+
if (baggage) {
|
|
250
|
+
context.baggage = {};
|
|
251
|
+
baggage.split(',').forEach(item => {
|
|
252
|
+
const [key, value] = item.split('=');
|
|
253
|
+
if (key && value) {
|
|
254
|
+
context.baggage[key.trim()] = decodeURIComponent(value.trim());
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
return context;
|
|
259
|
+
}
|
|
260
|
+
getSpan(spanId) {
|
|
261
|
+
return this.activeSpans.get(spanId);
|
|
262
|
+
}
|
|
263
|
+
getActiveSpans() {
|
|
264
|
+
return Array.from(this.activeSpans.values());
|
|
265
|
+
}
|
|
266
|
+
addExporter(exporter) {
|
|
267
|
+
this.exporters.push(exporter);
|
|
268
|
+
}
|
|
269
|
+
async flush() {
|
|
270
|
+
if (this.completedSpans.length === 0)
|
|
271
|
+
return;
|
|
272
|
+
const spans = this.completedSpans.splice(0);
|
|
273
|
+
const exported = spans.map(s => s.toExportedSpan());
|
|
274
|
+
for (const exporter of this.exporters) {
|
|
275
|
+
try {
|
|
276
|
+
await exporter.export(exported);
|
|
277
|
+
this.stats.exportedSpans += exported.length;
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
console.error('[Tracer] Export failed:', error);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
getStats() {
|
|
285
|
+
return { ...this.stats };
|
|
286
|
+
}
|
|
287
|
+
resetStats() {
|
|
288
|
+
this.stats = this.createEmptyStats();
|
|
289
|
+
}
|
|
290
|
+
async shutdown() {
|
|
291
|
+
if (this.exportTimer) {
|
|
292
|
+
clearInterval(this.exportTimer);
|
|
293
|
+
}
|
|
294
|
+
// End all active spans
|
|
295
|
+
for (const span of this.activeSpans.values()) {
|
|
296
|
+
span.setStatus('error', 'Tracer shutdown');
|
|
297
|
+
span.end();
|
|
298
|
+
}
|
|
299
|
+
// Final flush
|
|
300
|
+
await this.flush();
|
|
301
|
+
// Shutdown exporters
|
|
302
|
+
for (const exporter of this.exporters) {
|
|
303
|
+
await exporter.shutdown();
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// ============================================================================
|
|
307
|
+
// Private Helpers
|
|
308
|
+
// ============================================================================
|
|
309
|
+
onSpanEnd(span) {
|
|
310
|
+
this.activeSpans.delete(span.context.spanId);
|
|
311
|
+
this.completedSpans.push(span);
|
|
312
|
+
this.stats.activeSpans--;
|
|
313
|
+
if (span.status === 'error') {
|
|
314
|
+
this.stats.errorSpans++;
|
|
315
|
+
}
|
|
316
|
+
this.stats.totalEvents += span.events.length;
|
|
317
|
+
// Update average duration
|
|
318
|
+
if (span.endTime) {
|
|
319
|
+
const duration = span.endTime - span.startTime;
|
|
320
|
+
const totalCompleted = this.stats.totalSpans - this.stats.activeSpans;
|
|
321
|
+
this.stats.avgDurationMs =
|
|
322
|
+
(this.stats.avgDurationMs * (totalCompleted - 1) + duration) / totalCompleted;
|
|
323
|
+
}
|
|
324
|
+
// Restore parent context
|
|
325
|
+
if (span.context.parentSpanId) {
|
|
326
|
+
const parent = this.activeSpans.get(span.context.parentSpanId);
|
|
327
|
+
if (parent) {
|
|
328
|
+
this.currentContext = parent.context;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// Auto-export if batch size reached
|
|
332
|
+
if (this.config.autoExport &&
|
|
333
|
+
this.completedSpans.length >= (this.config.exportBatchSize || 100)) {
|
|
334
|
+
this.flush().catch(console.error);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
startExportTimer() {
|
|
338
|
+
this.exportTimer = setInterval(() => {
|
|
339
|
+
if (this.completedSpans.length > 0) {
|
|
340
|
+
this.flush().catch(console.error);
|
|
341
|
+
}
|
|
342
|
+
}, this.config.exportIntervalMs);
|
|
343
|
+
}
|
|
344
|
+
generateId(length) {
|
|
345
|
+
const id = uuidv4().replace(/-/g, '');
|
|
346
|
+
return id.slice(0, length).padEnd(length, '0');
|
|
347
|
+
}
|
|
348
|
+
createEmptyStats() {
|
|
349
|
+
return {
|
|
350
|
+
totalSpans: 0,
|
|
351
|
+
activeSpans: 0,
|
|
352
|
+
errorSpans: 0,
|
|
353
|
+
totalEvents: 0,
|
|
354
|
+
spansByName: {},
|
|
355
|
+
avgDurationMs: 0,
|
|
356
|
+
exportedSpans: 0,
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=Tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tracer.js","sourceRoot":"","sources":["../../../src/core/observability/Tracer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Observability Module Index
|
|
3
|
+
* @description Exports for tracing and observability.
|
|
4
|
+
* @module AgentOS/Observability
|
|
5
|
+
*/
|
|
6
|
+
export type { ITracer, ISpan, ISpanExporter, TraceContext, SpanOptions, SpanKind, SpanStatus, SpanAttributes, SpanEvent, SpanLink, ExportedSpan, TracerStats, AttributeValue, } from './ITracer';
|
|
7
|
+
export { formatTraceId, SemanticAttributes } from './ITracer';
|
|
8
|
+
export { Tracer, ConsoleSpanExporter, InMemorySpanExporter, type TracerConfig, } from './Tracer';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,OAAO,EACP,KAAK,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Observability Module Index
|
|
3
|
+
* @description Exports for tracing and observability.
|
|
4
|
+
* @module AgentOS/Observability
|
|
5
|
+
*/
|
|
6
|
+
export { formatTraceId, SemanticAttributes } from './ITracer.js';
|
|
7
|
+
export { Tracer, ConsoleSpanExporter, InMemorySpanExporter, } from './Tracer.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Implements the `AgentOSOrchestrator` class, the central nervous system for AgentOS interactions.
|
|
3
|
+
* This module is responsible for the intricate coordination between the public-facing `AgentOS` API
|
|
4
|
+
* and the cognitive core, the `GMI` (Generalized Mind Instance). It meticulously manages the
|
|
5
|
+
* entire lifecycle of an interaction turn.
|
|
6
|
+
*
|
|
7
|
+
* Key Responsibilities:
|
|
8
|
+
* - **GMI Instance Management**: Selection/creation of GMI instances via `GMIManager`.
|
|
9
|
+
* - **Contextualization**: Preparation and loading of `ConversationContext`.
|
|
10
|
+
* - **Input Processing**: Transformation of `AgentOSInput` into `GMITurnInput`.
|
|
11
|
+
* - **Streaming Output Handling**: Iteration over `GMIOutputChunk` streams from the GMI.
|
|
12
|
+
* - **Tool Use Coordination**:
|
|
13
|
+
* - Relaying `ToolCallRequest`s to the client (via `StreamingManager`).
|
|
14
|
+
* - Receiving tool execution results.
|
|
15
|
+
* - Forwarding tool results back to the GMI via `handleToolResult`.
|
|
16
|
+
* - Processing the GMI's response (`GMIOutput`) post-tool execution.
|
|
17
|
+
* - **Response Streaming**: Conversion of GMI outputs into `AgentOSResponse` chunks and their
|
|
18
|
+
* distribution through the `StreamingManager`.
|
|
19
|
+
* - **State Management**: Tracking active interaction streams and their associated contexts.
|
|
20
|
+
* - **Error Handling**: Robust error management for orchestration failures.
|
|
21
|
+
*
|
|
22
|
+
* The orchestrator embodies asynchronous processing and streaming, ensuring a responsive user experience.
|
|
23
|
+
* It relies on dependency injection for its core components, promoting modularity and testability.
|
|
24
|
+
*
|
|
25
|
+
* @module backend/agentos/core/orchestration/AgentOSOrchestrator
|
|
26
|
+
*/
|
|
27
|
+
import { AgentOSInput } from '../../api/types/AgentOSInput';
|
|
28
|
+
import { GMIManager } from '../../cognitive_substrate/GMIManager';
|
|
29
|
+
import { ConversationManager } from '../conversation/ConversationManager';
|
|
30
|
+
import { ToolOrchestrator as ConcreteToolOrchestrator } from '../tools/ToolOrchestrator';
|
|
31
|
+
import { StreamingManager, StreamId } from '../streaming/StreamingManager';
|
|
32
|
+
/**
|
|
33
|
+
* Configuration options for the AgentOSOrchestrator.
|
|
34
|
+
* These settings govern the behavior and limits of the orchestration process.
|
|
35
|
+
* @interface AgentOSOrchestratorConfig
|
|
36
|
+
*/
|
|
37
|
+
export interface AgentOSOrchestratorConfig {
|
|
38
|
+
/**
|
|
39
|
+
* The maximum number of sequential tool call iterations allowed within a single logical turn.
|
|
40
|
+
* This prevents potential infinite loops if GMIs repeatedly call tools without resolution.
|
|
41
|
+
* @type {number}
|
|
42
|
+
* @default 5
|
|
43
|
+
*/
|
|
44
|
+
maxToolCallIterations?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Default timeout in milliseconds for a single GMI processing step
|
|
47
|
+
* (e.g., initial turn or processing after a tool result).
|
|
48
|
+
* Note: Actual timeout implementation might reside within the GMI or LLM provider layer.
|
|
49
|
+
* @type {number}
|
|
50
|
+
* @default 120000 (2 minutes)
|
|
51
|
+
*/
|
|
52
|
+
defaultAgentTurnTimeoutMs?: number;
|
|
53
|
+
/**
|
|
54
|
+
* If true, conversation context will be persistently saved and loaded by the `ConversationManager`.
|
|
55
|
+
* If false, conversations are primarily in-memory, and their persistence depends on the
|
|
56
|
+
* `ConversationManager`'s specific configuration.
|
|
57
|
+
* @type {boolean}
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
enableConversationalPersistence?: boolean;
|
|
61
|
+
/** If true, orchestrator logs detailed information about tool calls. */
|
|
62
|
+
logToolCalls?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Defines the dependencies required by the AgentOSOrchestrator for its operation.
|
|
66
|
+
* These services are typically injected during the orchestrator's initialization phase,
|
|
67
|
+
* adhering to the Dependency Inversion Principle.
|
|
68
|
+
* @interface AgentOSOrchestratorDependencies
|
|
69
|
+
*/
|
|
70
|
+
export interface AgentOSOrchestratorDependencies {
|
|
71
|
+
/** An instance of GMIManager for managing GMI instances and persona definitions. */
|
|
72
|
+
gmiManager: GMIManager;
|
|
73
|
+
/** An instance of ToolOrchestrator for orchestrating the execution of tools. */
|
|
74
|
+
toolOrchestrator: ConcreteToolOrchestrator;
|
|
75
|
+
/** An instance of ConversationManager for managing conversation contexts. */
|
|
76
|
+
conversationManager: ConversationManager;
|
|
77
|
+
/** An instance of StreamingManager for managing streaming responses to clients. */
|
|
78
|
+
streamingManager: StreamingManager;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @class AgentOSOrchestrator
|
|
82
|
+
* @classdesc
|
|
83
|
+
* The `AgentOSOrchestrator` serves as the master conductor of interactions within the AgentOS platform.
|
|
84
|
+
* It is the critical intermediary layer that bridges high-level API requests (`AgentOSInput`)
|
|
85
|
+
* with the sophisticated cognitive processing of Generalized Mind Instances (`IGMI`).
|
|
86
|
+
* Its primary function is to manage the entire lifecycle of a user's interaction turn, a potentially
|
|
87
|
+
* complex, multi-step process.
|
|
88
|
+
*/
|
|
89
|
+
export declare class AgentOSOrchestrator {
|
|
90
|
+
private initialized;
|
|
91
|
+
private config;
|
|
92
|
+
private dependencies;
|
|
93
|
+
/**
|
|
94
|
+
* Stores the context for active, ongoing interaction streams.
|
|
95
|
+
* The key is the `agentOSStreamId` generated by this orchestrator.
|
|
96
|
+
* @private
|
|
97
|
+
* @type {Map<StreamId, ActiveStreamContext>}
|
|
98
|
+
*/
|
|
99
|
+
private readonly activeStreamContexts;
|
|
100
|
+
/**
|
|
101
|
+
* Constructs an AgentOSOrchestrator instance.
|
|
102
|
+
* The orchestrator is not operational until `initialize()` is successfully called.
|
|
103
|
+
*/
|
|
104
|
+
constructor();
|
|
105
|
+
/**
|
|
106
|
+
* Initializes the AgentOSOrchestrator with its configuration and essential service dependencies.
|
|
107
|
+
* This method must be called and resolve successfully before the orchestrator can process any requests.
|
|
108
|
+
* It sets up the orchestrator's internal state and validates its dependencies.
|
|
109
|
+
*
|
|
110
|
+
* @public
|
|
111
|
+
* @async
|
|
112
|
+
* @param {AgentOSOrchestratorConfig} config - Configuration settings for the orchestrator.
|
|
113
|
+
* @param {AgentOSOrchestratorDependencies} dependencies - An object containing instances of required services.
|
|
114
|
+
* @returns {Promise<void>} A Promise that resolves when initialization is complete.
|
|
115
|
+
* @throws {GMIError} If critical dependencies are missing (GMIErrorCode.CONFIGURATION_ERROR).
|
|
116
|
+
*/
|
|
117
|
+
initialize(config: AgentOSOrchestratorConfig, dependencies: AgentOSOrchestratorDependencies): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Ensures that the orchestrator has been initialized before performing operations.
|
|
120
|
+
* @private
|
|
121
|
+
* @throws {GMIError} If the orchestrator is not initialized (GMIErrorCode.NOT_INITIALIZED).
|
|
122
|
+
*/
|
|
123
|
+
private ensureInitialized;
|
|
124
|
+
/**
|
|
125
|
+
* Pushes a response chunk to the client via the StreamingManager.
|
|
126
|
+
* This is a centralized helper for all chunk types.
|
|
127
|
+
* @private
|
|
128
|
+
* @param {StreamId} agentOSStreamId - The unique ID of the AgentOS stream.
|
|
129
|
+
* @param {AgentOSResponseChunkType} type - The type of chunk being pushed.
|
|
130
|
+
* @param {string} gmiInstanceId - The ID of the GMI instance generating this chunk.
|
|
131
|
+
* @param {string} personaId - The ID of the persona active during this chunk's generation.
|
|
132
|
+
* @param {boolean} isFinal - Whether this chunk marks the end of the response for this stream.
|
|
133
|
+
* @param {any} data - The specific payload data for the chunk, varying by `type`.
|
|
134
|
+
* @returns {Promise<void>}
|
|
135
|
+
*/
|
|
136
|
+
private pushChunkToStream;
|
|
137
|
+
/**
|
|
138
|
+
* Pushes a standardized error chunk to the client.
|
|
139
|
+
* @private
|
|
140
|
+
* @param {StreamId} agentOSStreamId - The ID of the AgentOS stream.
|
|
141
|
+
* @param {string} personaId - The ID of the persona associated with this error.
|
|
142
|
+
* @param {string} [gmiInstanceId='unknown_gmi_instance'] - The ID of the GMI instance.
|
|
143
|
+
* @param {GMIErrorCode | string} code - The error code.
|
|
144
|
+
* @param {string} message - The error message.
|
|
145
|
+
* @param {any} [details] - Additional error details.
|
|
146
|
+
* @returns {Promise<void>}
|
|
147
|
+
*/
|
|
148
|
+
private pushErrorChunk;
|
|
149
|
+
/**
|
|
150
|
+
* Orchestrates a complete user interaction turn, starting from an `AgentOSInput`.
|
|
151
|
+
* This method initiates a new stream for the interaction via `StreamingManager`,
|
|
152
|
+
* then delegates the complex, potentially long-running processing to `_processTurnInternal`
|
|
153
|
+
* without awaiting its completion. This allows `orchestrateTurn` to return the `StreamId`
|
|
154
|
+
* to the caller (e.g., `AgentOS` facade) immediately, enabling clients to subscribe to the
|
|
155
|
+
* stream for real-time updates.
|
|
156
|
+
*
|
|
157
|
+
* @public
|
|
158
|
+
* @async
|
|
159
|
+
* @param {AgentOSInput} input - The comprehensive input for the current turn from the API layer.
|
|
160
|
+
* @returns {Promise<StreamId>} The unique ID of the stream established for this interaction.
|
|
161
|
+
* Clients should use this ID to listen for `AgentOSResponse` chunks.
|
|
162
|
+
* @throws {GMIError} If the `StreamingManager` fails to create a new stream (e.g., `GMIErrorCode.STREAM_ERROR`).
|
|
163
|
+
*/
|
|
164
|
+
orchestrateTurn(input: AgentOSInput): Promise<StreamId>;
|
|
165
|
+
/**
|
|
166
|
+
* Constructs a `GMITurnInput` object from the API-level `AgentOSInput`.
|
|
167
|
+
* This method maps and transforms data to the structure expected by the `IGMI`.
|
|
168
|
+
*
|
|
169
|
+
* @private
|
|
170
|
+
* @param {StreamId} agentOSStreamId - The orchestrator-level stream ID, used to generate a GMI interaction ID.
|
|
171
|
+
* @param {AgentOSInput} agentOSInput - The input received from the AgentOS API layer.
|
|
172
|
+
* @param {string} activePersonaId - The definitive ID of the persona resolved for this turn. Guaranteed to be a string by caller.
|
|
173
|
+
* @returns {GMITurnInput} The structured input object ready for the GMI.
|
|
174
|
+
*/
|
|
175
|
+
private constructGMITurnInput;
|
|
176
|
+
/**
|
|
177
|
+
* Core internal turn processing logic. This method is executed asynchronously by `orchestrateTurn`.
|
|
178
|
+
* It manages the GMI interaction loop, including streaming chunks, handling tool call requests,
|
|
179
|
+
* and ensuring finalization of the stream.
|
|
180
|
+
*
|
|
181
|
+
* @private
|
|
182
|
+
* @async
|
|
183
|
+
* @param {StreamId} agentOSStreamId - The unique ID for this AgentOS-level stream.
|
|
184
|
+
* @param {AgentOSInput} input - The initial input for this turn.
|
|
185
|
+
* @returns {Promise<void>} Resolves when processing for this turn is complete or a terminal error occurs.
|
|
186
|
+
*/
|
|
187
|
+
private _processTurnInternal;
|
|
188
|
+
/**
|
|
189
|
+
* Handles the result of an externally executed tool, feeding it back into the active GMI instance.
|
|
190
|
+
* It then processes the GMI's subsequent output (`GMIOutput`), streaming further responses or
|
|
191
|
+
* new tool requests as needed.
|
|
192
|
+
*
|
|
193
|
+
* @public
|
|
194
|
+
* @async
|
|
195
|
+
* @param {StreamId} agentOSStreamId - The orchestrator-level stream ID for this interaction flow.
|
|
196
|
+
* @param {string} toolCallId - The ID of the specific tool call (from `ToolCallRequest`) whose result is being provided.
|
|
197
|
+
* @param {string} toolName - The name of the tool that was executed.
|
|
198
|
+
* @param {any} toolOutput - The output data returned by the tool execution.
|
|
199
|
+
* @param {boolean} isSuccess - A flag indicating whether the tool execution was successful.
|
|
200
|
+
* @param {string} [errorMessage] - An optional error message if `isSuccess` is false.
|
|
201
|
+
* @returns {Promise<void>} Resolves when the tool result has been processed and subsequent GMI output streamed.
|
|
202
|
+
* @throws {GMIError} If the `agentOSStreamId` is not found or if a critical error occurs during GMI's handling of the tool result.
|
|
203
|
+
*/
|
|
204
|
+
orchestrateToolResult(agentOSStreamId: StreamId, toolCallId: string, toolName: string, toolOutput: any, isSuccess: boolean, errorMessage?: string): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Processes a direct `GMIOutput` object (typically the result of `gmi.handleToolResult` or the
|
|
207
|
+
* final return value of `gmi.processTurnStream`). It transforms and pushes the relevant
|
|
208
|
+
* parts of this `GMIOutput` as `AgentOSResponse` chunks to the client stream.
|
|
209
|
+
*
|
|
210
|
+
* @private
|
|
211
|
+
* @async
|
|
212
|
+
* @param {StreamId} agentOSStreamId - The ID of the AgentOS stream.
|
|
213
|
+
* @param {ActiveStreamContext} streamContext - The context for the current active stream.
|
|
214
|
+
* @param {GMIOutput} gmiOutput - The GMI output object to process.
|
|
215
|
+
* @param {boolean} isContinuationAfterTool - Indicates if this output is a direct result of processing a tool.
|
|
216
|
+
* @returns {Promise<void>}
|
|
217
|
+
*/
|
|
218
|
+
private processGMIOutput;
|
|
219
|
+
/**
|
|
220
|
+
* Transforms a single `GMIOutputChunk` from the GMI's stream into one or more
|
|
221
|
+
* `AgentOSResponse` chunks and pushes them to the client via the `StreamingManager`.
|
|
222
|
+
*
|
|
223
|
+
* @private
|
|
224
|
+
* @async
|
|
225
|
+
* @param {StreamId} agentOSStreamId - The ID of the AgentOS stream.
|
|
226
|
+
* @param {ActiveStreamContext} streamContext - The context for the current active stream.
|
|
227
|
+
* @param {GMIOutputChunk} gmiChunk - The chunk of output received from the GMI.
|
|
228
|
+
* @returns {Promise<void>}
|
|
229
|
+
*/
|
|
230
|
+
private transformAndPushGMIChunk;
|
|
231
|
+
/**
|
|
232
|
+
* Gracefully shuts down the AgentOSOrchestrator.
|
|
233
|
+
* This involves notifying and closing any active streams managed by the associated `StreamingManager`
|
|
234
|
+
* and clearing internal state. Dependencies like `GMIManager` are assumed to be shut down
|
|
235
|
+
* by the main `AgentOS` service.
|
|
236
|
+
*
|
|
237
|
+
* @public
|
|
238
|
+
* @async
|
|
239
|
+
* @returns {Promise<void>} A promise that resolves when the shutdown process is complete.
|
|
240
|
+
*/
|
|
241
|
+
shutdown(): Promise<void>;
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=AgentOrchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/AgentOrchestrator.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,YAAY,EAAqB,MAAM,8BAA8B,CAAC;AAe/E,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAclE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAMzF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG3E;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;OAMG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C,oFAAoF;IACpF,UAAU,EAAE,UAAU,CAAC;IACvB,gFAAgF;IAChF,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,6EAA6E;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mFAAmF;IACnF,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AA2BD;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAiD;IAC/D,OAAO,CAAC,YAAY,CAA6C;IAEjE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;IAE1E;;;OAGG;;IAKH;;;;;;;;;;;OAWG;IACU,UAAU,CACrB,MAAM,EAAE,yBAAyB,EACjC,YAAY,EAAE,+BAA+B,GAC5C,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;;;OAWG;YACW,iBAAiB;IA2E/B;;;;;;;;;;OAUG;YACW,cAAc;IAe5B;;;;;;;;;;;;;;OAcG;IACU,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgCpE;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IAyD7B;;;;;;;;;;OAUG;YACW,oBAAoB;IAyHlC;;;;;;;;;;;;;;;OAeG;IACU,qBAAqB,CAChC,eAAe,EAAE,QAAQ,EACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,GAAG,EACf,SAAS,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAyDhB;;;;;;;;;;;;OAYG;YACW,gBAAgB;IA+E9B;;;;;;;;;;OAUG;YACW,wBAAwB;IAmGtC;;;;;;;;;OASG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BvC"}
|