@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 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenAIProvider.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,6EAA6E;AAkC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA4HpE;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAkCzB;;;OAGG;IACH;QArCA,kBAAkB;QACF,eAAU,GAAW,QAAQ,CAAC;QAC9C,kBAAkB;QACX,kBAAa,GAAY,KAAK,CAAC;QAK9B,yBAAoB,GAA2B,IAAI,GAAG,EAAE,CAAC;QAEjE,8DAA8D;QAC9D,0EAA0E;QAC1E,qEAAqE;QACrE,oEAAoE;QACnD,iBAAY,GAAsD;YACjF,8BAA8B;YAC9B,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;YACzC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;YACjD,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,iCAAiC;YAC/E,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU;YAChE,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU;YACjE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACtC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YAC1C,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iCAAiC;YACrF,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,qCAAqC;YAE3F,sEAAsE;YACtE,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;YACvD,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;YACvD,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;SACvD,CAAC;QAQA,2CAA2C;IAC7C,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,UAAU,CAAC,MAA4B;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,mBAAmB,CAC3B,wDAAwD,EACxD,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,KAAK,EAAE,aAAa;YACpC,GAAG,MAAM,EAAE,0CAA0C;SACtD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAE5C,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,2DAA2D,IAAI,CAAC,cAAc,IAAI,SAAS,WAAW,IAAI,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,CAAC;QAC9J,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,MAAM,KAAK,CAAC,CAAC,6CAA6C;YAC5D,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC;YAChG,MAAM,IAAI,mBAAmB,CAC3B,yCAAyC,OAAO,EAAE,EAClD,uBAAuB,EACvB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,sBAAsB;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,SAAS,EACT,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAuC,EAAE,EAAE;YAChE,gEAAgE;YAChE,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,QAAuC;QAC/D,MAAM,YAAY,GAA8B,EAAE,CAAC;QACnD,IAAI,iBAAqC,CAAC;QAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,+EAA+E;QAC/E,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnE,iBAAiB,GAAG,MAAM,CAAC;YAAC,cAAc,GAAG,IAAI,CAAC;YAAC,eAAe,GAAG,IAAI,CAAC;QAC9E,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,iBAAiB,GAAG,MAAM,CAAC;YAAC,cAAc,GAAG,IAAI,CAAC;YAClD,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAAC,eAAe,GAAG,IAAI,CAAC;YAAA,CAAC;QACtG,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,iBAAiB,GAAG,KAAK,CAAC;YAAC,cAAc,GAAG,IAAI,CAAC;QACrD,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,iBAAiB,GAAG,IAAI,CAAC;YAAC,cAAc,GAAG,IAAI,CAAC;QACpD,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACrD,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,iBAAiB,GAAG,KAAK,CAAC;YAAC,cAAc,GAAG,IAAI,CAAC;QACrD,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjD,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACnD,yEAAyE;YACzE,oEAAoE;YACpE,iBAAiB,GAAG,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAChG,cAAc,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,gBAAgB,GAAG,IAAI,CAAC;YACxB,+DAA+D;YAC/D,iBAAiB,GAAG,IAAI,CAAC,CAAC,mBAAmB;QACjD,CAAC;aAAM,CAAC;YACJ,yDAAyD;YACzD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAE1E,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,gDAAgD;YAC1E,WAAW,EAAE,iBAAiB,QAAQ,CAAC,EAAE,EAAE;YAC3C,YAAY;YACZ,iBAAiB;YACjB,qBAAqB,EAAE,OAAO,CAAC,KAAK;YACpC,sBAAsB,EAAE,OAAO,CAAC,MAAM;YACtC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACnE,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,2CAA2C;YAC7F,mDAAmD;YACnD,kBAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACtE,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YAC5D,MAAM,EAAE,QAAQ,EAAE,sEAAsE;SACzF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,mBAAmB,CAC3B,6DAA6D,EAC7D,0BAA0B,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,cAAuB;QACvC,MAAM,QAAQ,GAAG,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,mBAAmB,CAC3B,8CAA8C,EAC9C,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,kBAAkB,CAC7B,OAAe,EACf,QAAuB,EACvB,OAA+B;QAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEvF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAC3C,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAC;QAEF,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,CAAC,wBAAwB,CACpC,OAAe,EACf,QAAuB,EACvB,OAA+B;QAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CACvC,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,WAAW,EACX,IAAI,CAAC,0CAA0C;SAChD,CAA+B,CAAC;QAEjC,wCAAwC;QACxC,MAAM,oBAAoB,GAAuG,IAAI,GAAG,EAAE,CAAC;QAE3I,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM;gBACJ,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE;gBAChC,MAAM,EAAE,uBAAuB;gBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAC,IAAI,CAAC;gBACpC,OAAO;gBACP,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,IAAI,EAAE,OAAO,EAAE;gBACxE,OAAO,EAAE,IAAI;aACd,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,yDAAyD;YACzD,gHAAgH;YAChH,oDAAoD;YACpD,6DAA6D;QAC/D,CAAC,CAAC;QACF,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,MAAM;oBACJ,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE;oBAChC,MAAM,EAAE,uBAAuB;oBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAC,IAAI,CAAC;oBACpC,OAAO;oBACP,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC7D,OAAO,EAAE,IAAI;iBACd,CAAC;gBACF,MAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,wEAAwE;gBACxE,+GAA+G;gBAC/G,4FAA4F;gBAC5F,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAgD,CAAC;gBAClF,MAAM,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACjF,uEAAuE;YACzE,CAAC;QACH,CAAC;QAED,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,kBAAkB,CAC7B,OAAe,EACf,KAAe,EACf,OAAkC;QAElC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,mBAAmB,CAAC,mDAAmD,EAAE,oBAAoB,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvD,MAAM,OAAO,GAA4B;YACvC,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,KAAK;SACb,CAAC;QACF,IAAI,OAAO,EAAE,cAAc;YAAE,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9E,IAAI,OAAO,EAAE,UAAU;YAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACjE,IAAI,OAAO,EAAE,MAAM;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;QACnD,qDAAqD;QACrD,IAAI,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC9F,kEAAkE;YAClE,iEAAiE;QACrE,CAAC;QACD,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;QAGD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAC3C,aAAa,EACb,MAAM,EACN,MAAM,EACN,OAAO,CACR,CAAC;QAEF,OAAO,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,mBAAmB,CAAC,MAAgC;QAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,qFAAqF;QACrF,wCAAwC;QAExC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,YAAY,CAAC,OAAe;QACvC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,mFAAmF;QACnF,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,+DAA+D;YAC/D,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,oEAAoE,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YACvG,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,kFAAkF;YAClF,MAAM,IAAI,CAAC,cAAc,CACrB,WAAW,IAAI,CAAC,cAAc,IAAI,eAAe,EAAE,EAAE,+BAA+B;YACpF,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC/E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,QAAQ;QACnB,wEAAwE;QACxE,uEAAuE;QACvE,wCAAwC;QACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,0BAA0B;QACtD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,2DAA2D;IAC7D,CAAC;IAGD,yBAAyB;IAEzB;;;OAGG;IACK,0BAA0B,CAChC,OAAe,EACf,QAAuB,EACvB,OAA+B,EAC/B,MAAe;QAEf,MAAM,OAAO,GAA4B;YACvC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,8DAA8D;gBAClF,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC/B,CAAC,CAAC;YACH,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7D,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QAC5E,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;QAC9F,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;YAAE,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;QAChE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/E,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAE3F,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAChC,WAAkD;QAElD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;QAC3E,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,KAAK;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;oBAC1B,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;iBACjC;gBACD,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;YACH,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAChG,uCAAuC;SACxC,CAAC;IACJ,CAAC;IAEC;;;;OAIG;IACK,2BAA2B,CAC/B,QAAqD,EACrD,oBAAwH;QAExH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,iBAAqC,CAAC;QAC1C,IAAI,eAA2D,CAAC;QAChE,IAAI,UAAkC,CAAC;QAEvC,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACzB,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC5B,eAAe,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtC,IAAI,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,eAAe,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB;oBACxD,IAAI,OAAO,CAAC,EAAE;wBAAE,eAAe,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;oBAChD,IAAI,OAAO,CAAC,IAAI;wBAAE,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC1D,CAAC;gBAED,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE;oBAAE,eAAe,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,wCAAwC;gBAChH,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;oBAAE,eAAe,CAAC,QAAS,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,QAAS,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5H,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS;oBAAE,eAAe,CAAC,QAAS,CAAC,SAAS,GAAG,CAAC,eAAe,CAAC,QAAS,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAEhJ,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBAEzD,eAAgB,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACzB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;wBAC3B,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;qBAC9C,CAAC,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACV,uEAAuE;YACvE,qFAAqF;YACrF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,MAAM,cAAc,GAA0B;YAC1C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,4CAA4C;gBACpF,OAAO,EAAE,iBAAiB,IAAI,IAAI,EAAE,mBAAmB;gBACtD,gDAAgD;gBACjD,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC1E,EAAE,EAAE,KAAK,CAAC,EAAG,EAAE,8BAA8B;oBAC7C,IAAI,EAAE,KAAK,CAAC,IAAK,EAAE,yBAAyB;oBAC5C,QAAQ,EAAE;wBACN,IAAI,EAAE,KAAK,CAAC,QAAS,CAAC,IAAK;wBAC3B,SAAS,EAAE,KAAK,CAAC,QAAS,CAAC,SAAU;qBACxC;iBACJ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,wBAAwB;aACpF;YACD,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;YAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC;QAGF,OAAO;YACH,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,KAAK;YACvB,OAAO,EAAE,CAAC,cAAc,CAAC;YACzB,iBAAiB;YACjB,eAAe;YACf,OAAO;YACP,KAAK,EAAE,UAAU,EAAE,iDAAiD;SACvE,CAAC;IACN,CAAC;IAGH;;;OAGG;IACK,yBAAyB,CAC/B,WAA6C;QAE7C,OAAO;YACL,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;YACH,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE;gBACL,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa;gBAC9C,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY;gBAC5C,OAAO,EAAE,IAAI,CAAC,aAAa,CACzB,WAAW,CAAC,KAAK,CAAC,aAAa,EAC/B,CAAC,EAAE,sCAAsC;gBACzC,WAAW,CAAC,KAAK,EACjB,IAAI,CAAC,cAAc;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,cAAc,CACpB,KAAiF,EACjF,OAAe;QAEf,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,aAAa;YACjC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;YACzC,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,aAAa,CACnB,YAAoB,EACpB,gBAAwB,EACxB,OAAe,EACf,cAAuB,KAAK;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC,CAAC,6BAA6B;QAE7D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/C,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QACxD,MAAM,UAAU,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9D,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC;IA4BO,KAAK,CAAC,cAAc,CAC1B,QAAgB,EAChB,MAAsB,EACtB,MAAc,EACd,IAA8B,EAC9B,eAAwB,KAAK;QAE7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAA2B;YACtC,eAAe,EAAE,UAAU,MAAM,EAAE;YACnC,YAAY,EAAE,8BAA8B;YAC5C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;SACrC,CAAC;QACF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC9D,CAAC;QAED,IAAI,SAAS,GAAU,IAAI,mBAAmB,CAAC,mCAAmC,EAAE,qBAAqB,CAAC,CAAC;QAE3G,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAEnF,IAAI,CAAC;gBACH,MAAM,cAAc,GAAgB;oBAClC,MAAM;oBACN,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBAClD,YAAY,CAAC,SAAS,CAAC,CAAC;gBAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAoC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3F,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,cAAc,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACzG,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;oBACxC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;oBAExC,uBAAuB;oBACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC7G,MAAM,IAAI,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACjI,CAAC;oBACD,4DAA4D;oBAC5D,SAAS,GAAG,IAAI,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACrI,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,aAAa;wBAC1C,SAAS,GAAG,IAAI,mBAAmB,CAAC,YAAY,EAAE,qBAAqB,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBACxI,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;wBAClE,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC;wBAC1F,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;wBAChE,SAAS,CAAC,QAAQ;oBACpB,CAAC;oBACD,gCAAgC;oBAChC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;wBAC3B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB;wBAChG,SAAS,CAAC,QAAQ;oBACpB,CAAC;oBACD,MAAM,SAAS,CAAC,CAAC,6CAA6C;gBAChE,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACnB,MAAM,IAAI,mBAAmB,CAAC,+CAA+C,EAAE,kBAAkB,CAAC,CAAC;oBACrG,CAAC;oBACD,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;gBACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;YAEtC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC,CAAC,yDAAyD;oBAChG,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB;wBAAE,MAAM,KAAK,CAAC;oBACnD,SAAS,GAAG,KAAK,CAAC;gBACvB,CAAC;qBAAM,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACjE,SAAS,GAAG,IAAI,mBAAmB,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC7J,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,IAAI,mBAAmB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACpK,CAAC;gBAED,IAAI,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,UAAW,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,CAAC,gDAAgD;gBACzD,CAAC;gBACD,qDAAqD;gBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa;gBAC5F,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,GAAG,CAAC,wBAAwB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtI,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAC,CAAC,qDAAqD;IACxE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,CAAC,cAAc,CAAC,MAAkC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElD,IAAI,QAAQ,CAAC;gBACb,uDAAuD;gBACvD,iDAAiD;gBACjD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACnD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc;oBAEvD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;4BAC3D,IAAI,WAAW,EAAE,CAAC,CAAC,+BAA+B;gCAC9C,MAAM,WAAW,CAAC;4BACtB,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACH,CAAC;YACD,8EAA8E;YAC9E,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7D,IAAI,WAAW;oBAAE,MAAM,WAAW,CAAC;YACrC,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,2DAA2D;gBACnF,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ;oBAAE,MAAM,QAAQ,CAAC;;oBAC1C,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,MAAM,CAAC,CAAC;YACrF,CAAC;QAEH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;YAChF,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACtF,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3G,CAAC;gBAAS,CAAC;YACT,gFAAgF;YAChF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9G,CAAC;YACD,+DAA+D;QACjE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Implements the IProvider interface for OpenRouter, a service that
|
|
3
|
+
* provides access to a wide variety of LLMs from different providers through a unified API.
|
|
4
|
+
* This provider handles routing requests to the specified models via OpenRouter.
|
|
5
|
+
* @module backend/agentos/core/llm/providers/implementations/OpenRouterProvider
|
|
6
|
+
* @implements {IProvider}
|
|
7
|
+
*/
|
|
8
|
+
import { IProvider, ChatMessage, ModelCompletionOptions, ModelCompletionResponse, ModelInfo, ProviderEmbeddingOptions, ProviderEmbeddingResponse } from '../IProvider';
|
|
9
|
+
/**
|
|
10
|
+
* Configuration specific to the OpenRouterProvider.
|
|
11
|
+
*/
|
|
12
|
+
export interface OpenRouterProviderConfig {
|
|
13
|
+
apiKey: string;
|
|
14
|
+
baseURL?: string;
|
|
15
|
+
defaultModelId?: string;
|
|
16
|
+
siteUrl?: string;
|
|
17
|
+
appName?: string;
|
|
18
|
+
requestTimeout?: number;
|
|
19
|
+
streamRequestTimeout?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class OpenRouterProvider implements IProvider {
|
|
22
|
+
readonly providerId: string;
|
|
23
|
+
isInitialized: boolean;
|
|
24
|
+
defaultModelId?: string;
|
|
25
|
+
private config;
|
|
26
|
+
private client;
|
|
27
|
+
private readonly availableModelsCache;
|
|
28
|
+
constructor();
|
|
29
|
+
initialize(config: OpenRouterProviderConfig): Promise<void>;
|
|
30
|
+
private refreshAvailableModels;
|
|
31
|
+
private mapApiToModelInfo;
|
|
32
|
+
private ensureInitialized;
|
|
33
|
+
private mapToOpenRouterMessages;
|
|
34
|
+
generateCompletion(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): Promise<ModelCompletionResponse>;
|
|
35
|
+
generateCompletionStream(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): AsyncGenerator<ModelCompletionResponse, void, undefined>;
|
|
36
|
+
generateEmbeddings(modelId: string, texts: string[], options?: ProviderEmbeddingOptions): Promise<ProviderEmbeddingResponse>;
|
|
37
|
+
listAvailableModels(filter?: {
|
|
38
|
+
capability?: string;
|
|
39
|
+
}): Promise<ModelInfo[]>;
|
|
40
|
+
getModelInfo(modelId: string): Promise<ModelInfo | undefined>;
|
|
41
|
+
checkHealth(): Promise<{
|
|
42
|
+
isHealthy: boolean;
|
|
43
|
+
details?: unknown;
|
|
44
|
+
}>;
|
|
45
|
+
shutdown(): Promise<void>;
|
|
46
|
+
private mapApiToCompletionResponse;
|
|
47
|
+
private mapApiToStreamChunkResponse;
|
|
48
|
+
private makeApiRequest;
|
|
49
|
+
private parseSseStream;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=OpenRouterProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenRouterProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenRouterProvider.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EAET,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,cAAc,CAAC;AAItB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AA6ED,qBAAa,kBAAmB,YAAW,SAAS;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAgB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAG/B,OAAO,CAAC,MAAM,CAAmL;IACjM,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;;IAI7D,UAAU,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YAuD1D,sBAAsB;IAkBpC,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,uBAAuB;IAUlB,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IA8BrB,wBAAwB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAoE9C,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,CAAC;IA8CxB,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgB3E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAa7D,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAoBjE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,0BAA0B;IAmClC,OAAO,CAAC,2BAA2B;YA+GrB,cAAc;YA+Cb,cAAc;CAgC9B"}
|
|
@@ -0,0 +1,499 @@
|
|
|
1
|
+
// File: backend/agentos/core/llm/providers/implementations/OpenRouterProvider.ts
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Implements the IProvider interface for OpenRouter, a service that
|
|
5
|
+
* provides access to a wide variety of LLMs from different providers through a unified API.
|
|
6
|
+
* This provider handles routing requests to the specified models via OpenRouter.
|
|
7
|
+
* @module backend/agentos/core/llm/providers/implementations/OpenRouterProvider
|
|
8
|
+
* @implements {IProvider}
|
|
9
|
+
*/
|
|
10
|
+
import axios from 'axios';
|
|
11
|
+
import { OpenRouterProviderError } from '../errors/OpenRouterProviderError.js';
|
|
12
|
+
import { createGMIErrorFromError, GMIErrorCode } from '../../../../utils/errors.js'; // Corrected import path
|
|
13
|
+
export class OpenRouterProvider {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.providerId = 'openrouter';
|
|
16
|
+
this.isInitialized = false;
|
|
17
|
+
this.availableModelsCache = new Map();
|
|
18
|
+
}
|
|
19
|
+
async initialize(config) {
|
|
20
|
+
if (!config.apiKey) {
|
|
21
|
+
throw new OpenRouterProviderError('OpenRouter API key (apiKey) is required for initialization.', 'INIT_FAILED_MISSING_API_KEY');
|
|
22
|
+
}
|
|
23
|
+
// Corrected: Ensure all properties of Required<OpenRouterProviderConfig> are present
|
|
24
|
+
// by providing defaults for optional fields before freezing.
|
|
25
|
+
this.config = Object.freeze({
|
|
26
|
+
apiKey: config.apiKey,
|
|
27
|
+
baseURL: config.baseURL || 'https://openrouter.ai/api/v1',
|
|
28
|
+
defaultModelId: config.defaultModelId, // Can be undefined, but this.defaultModelId will store it
|
|
29
|
+
siteUrl: config.siteUrl, // Can be undefined
|
|
30
|
+
appName: config.appName, // Can be undefined
|
|
31
|
+
requestTimeout: config.requestTimeout || 60000,
|
|
32
|
+
streamRequestTimeout: config.streamRequestTimeout || 180000,
|
|
33
|
+
});
|
|
34
|
+
this.defaultModelId = this.config.defaultModelId; // Store the potentially undefined value
|
|
35
|
+
const headers = {
|
|
36
|
+
'Authorization': `Bearer ${this.config.apiKey}`,
|
|
37
|
+
'Content-Type': 'application/json',
|
|
38
|
+
'User-Agent': `AgentOS/1.0 (OpenRouterProvider; ${this.config.appName || 'UnknownApp'})`,
|
|
39
|
+
};
|
|
40
|
+
if (this.config.siteUrl) {
|
|
41
|
+
headers['HTTP-Referer'] = this.config.siteUrl;
|
|
42
|
+
}
|
|
43
|
+
if (this.config.appName) {
|
|
44
|
+
headers['X-Title'] = this.config.appName;
|
|
45
|
+
}
|
|
46
|
+
this.client = axios.create({
|
|
47
|
+
baseURL: this.config.baseURL,
|
|
48
|
+
headers,
|
|
49
|
+
});
|
|
50
|
+
try {
|
|
51
|
+
await this.refreshAvailableModels();
|
|
52
|
+
this.isInitialized = true;
|
|
53
|
+
console.log(`OpenRouterProvider initialized. Default Model: ${this.defaultModelId || 'Not set'}. Found ${this.availableModelsCache.size} models via OpenRouter.`);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
this.isInitialized = false;
|
|
57
|
+
const initError = error instanceof OpenRouterProviderError ? error :
|
|
58
|
+
createGMIErrorFromError(// Corrected: use imported createGMIErrorFromError
|
|
59
|
+
error instanceof Error ? error : new Error(String(error)), GMIErrorCode.LLM_PROVIDER_ERROR, // Corrected: use imported GMIErrorCode
|
|
60
|
+
{ providerId: this.providerId }, `OpenRouterProvider failed to initialize: ${error instanceof Error ? error.message : String(error)}`);
|
|
61
|
+
console.error(initError.message, initError.details || initError);
|
|
62
|
+
throw initError;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async refreshAvailableModels() {
|
|
66
|
+
const responseData = await this.makeApiRequest('/models', 'GET', this.config.requestTimeout);
|
|
67
|
+
this.availableModelsCache.clear();
|
|
68
|
+
if (responseData && Array.isArray(responseData.data)) {
|
|
69
|
+
responseData.data.forEach((apiModel) => {
|
|
70
|
+
const modelInfo = this.mapApiToModelInfo(apiModel);
|
|
71
|
+
this.availableModelsCache.set(modelInfo.modelId, modelInfo);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.warn("OpenRouterProvider: Received no model data or malformed response from /models endpoint.");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
mapApiToModelInfo(apiModel) {
|
|
79
|
+
const capabilities = ['chat', 'completion'];
|
|
80
|
+
if (apiModel.architecture?.modality === 'multimodal') {
|
|
81
|
+
capabilities.push('vision_input');
|
|
82
|
+
}
|
|
83
|
+
const knownAdvancedModelPatterns = ['gpt-3.5', 'gpt-4', 'claude-2', 'claude-3', 'gemini', 'mistral', 'llama'];
|
|
84
|
+
if (knownAdvancedModelPatterns.some(pattern => apiModel.id.toLowerCase().includes(pattern))) {
|
|
85
|
+
capabilities.push('tool_use', 'json_mode');
|
|
86
|
+
}
|
|
87
|
+
if (apiModel.id.includes('embedding') || apiModel.id.includes('embed')) {
|
|
88
|
+
capabilities.push('embeddings');
|
|
89
|
+
}
|
|
90
|
+
const parsePrice = (priceStr, tokensFactor = 1000000) => {
|
|
91
|
+
if (typeof priceStr !== 'string')
|
|
92
|
+
return undefined;
|
|
93
|
+
const price = parseFloat(priceStr);
|
|
94
|
+
return isNaN(price) ? undefined : price * tokensFactor;
|
|
95
|
+
};
|
|
96
|
+
return {
|
|
97
|
+
modelId: apiModel.id,
|
|
98
|
+
providerId: this.providerId,
|
|
99
|
+
displayName: apiModel.name,
|
|
100
|
+
description: apiModel.description,
|
|
101
|
+
capabilities: Array.from(new Set(capabilities)),
|
|
102
|
+
contextWindowSize: apiModel.context_length || undefined,
|
|
103
|
+
pricePer1MTokensInput: parsePrice(apiModel.pricing.prompt),
|
|
104
|
+
pricePer1MTokensOutput: parsePrice(apiModel.pricing.completion),
|
|
105
|
+
supportsStreaming: true,
|
|
106
|
+
status: 'active',
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
ensureInitialized() {
|
|
110
|
+
if (!this.isInitialized) {
|
|
111
|
+
throw new OpenRouterProviderError('OpenRouterProvider is not initialized. Please call the initialize() method first.', 'PROVIDER_NOT_INITIALIZED');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
mapToOpenRouterMessages(messages) {
|
|
115
|
+
return messages.map(msg => {
|
|
116
|
+
const mappedMsg = { role: msg.role, content: msg.content };
|
|
117
|
+
if (msg.name)
|
|
118
|
+
mappedMsg.name = msg.name;
|
|
119
|
+
if (msg.tool_calls)
|
|
120
|
+
mappedMsg.tool_calls = msg.tool_calls;
|
|
121
|
+
if (msg.tool_call_id)
|
|
122
|
+
mappedMsg.tool_call_id = msg.tool_call_id;
|
|
123
|
+
return mappedMsg;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
async generateCompletion(modelId, messages, options) {
|
|
127
|
+
this.ensureInitialized();
|
|
128
|
+
const openRouterMessages = this.mapToOpenRouterMessages(messages);
|
|
129
|
+
const payload = {
|
|
130
|
+
model: modelId,
|
|
131
|
+
messages: openRouterMessages,
|
|
132
|
+
stream: false,
|
|
133
|
+
...(options.temperature !== undefined && { temperature: options.temperature }),
|
|
134
|
+
...(options.topP !== undefined && { top_p: options.topP }),
|
|
135
|
+
...(options.maxTokens !== undefined && { max_tokens: options.maxTokens }),
|
|
136
|
+
...(options.presencePenalty !== undefined && { presence_penalty: options.presencePenalty }),
|
|
137
|
+
...(options.frequencyPenalty !== undefined && { frequency_penalty: options.frequencyPenalty }),
|
|
138
|
+
...(options.stopSequences !== undefined && { stop: options.stopSequences }),
|
|
139
|
+
...(options.userId !== undefined && { user: options.userId }),
|
|
140
|
+
...(options.tools !== undefined && { tools: options.tools }),
|
|
141
|
+
...(options.toolChoice !== undefined && { tool_choice: options.toolChoice }),
|
|
142
|
+
...(options.responseFormat?.type === 'json_object' && { response_format: { type: 'json_object' } }),
|
|
143
|
+
...(options.customModelParams || {}),
|
|
144
|
+
};
|
|
145
|
+
const apiResponseData = await this.makeApiRequest('/chat/completions', 'POST', this.config.requestTimeout, payload);
|
|
146
|
+
return this.mapApiToCompletionResponse(apiResponseData, modelId);
|
|
147
|
+
}
|
|
148
|
+
async *generateCompletionStream(modelId, messages, options) {
|
|
149
|
+
this.ensureInitialized();
|
|
150
|
+
const openRouterMessages = this.mapToOpenRouterMessages(messages);
|
|
151
|
+
const payload = {
|
|
152
|
+
model: modelId,
|
|
153
|
+
messages: openRouterMessages,
|
|
154
|
+
stream: true,
|
|
155
|
+
...(options.temperature !== undefined && { temperature: options.temperature }),
|
|
156
|
+
...(options.topP !== undefined && { top_p: options.topP }),
|
|
157
|
+
...(options.maxTokens !== undefined && { max_tokens: options.maxTokens }),
|
|
158
|
+
...(options.presencePenalty !== undefined && { presence_penalty: options.presencePenalty }),
|
|
159
|
+
...(options.frequencyPenalty !== undefined && { frequency_penalty: options.frequencyPenalty }),
|
|
160
|
+
...(options.stopSequences !== undefined && { stop: options.stopSequences }),
|
|
161
|
+
...(options.userId !== undefined && { user: options.userId }),
|
|
162
|
+
...(options.tools !== undefined && { tools: options.tools }),
|
|
163
|
+
...(options.toolChoice !== undefined && { tool_choice: options.toolChoice }),
|
|
164
|
+
...(options.responseFormat?.type === 'json_object' && { response_format: { type: 'json_object' } }),
|
|
165
|
+
...(options.customModelParams || {}),
|
|
166
|
+
};
|
|
167
|
+
const stream = await this.makeApiRequest('/chat/completions', 'POST', this.config.streamRequestTimeout, payload, true);
|
|
168
|
+
const accumulatedToolCalls = new Map();
|
|
169
|
+
const abortSignal = options.abortSignal;
|
|
170
|
+
if (abortSignal?.aborted) {
|
|
171
|
+
yield { id: `openrouter-abort-${Date.now()}`, object: 'chat.completion.chunk', created: Math.floor(Date.now() / 1000), modelId, choices: [], error: { message: 'Stream aborted prior to first chunk', type: 'abort' }, isFinal: true };
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
const abortHandler = () => { };
|
|
175
|
+
abortSignal?.addEventListener('abort', abortHandler, { once: true });
|
|
176
|
+
for await (const rawChunk of this.parseSseStream(stream)) {
|
|
177
|
+
if (abortSignal?.aborted) {
|
|
178
|
+
yield { id: `openrouter-abort-${Date.now()}`, object: 'chat.completion.chunk', created: Math.floor(Date.now() / 1000), modelId, choices: [], error: { message: 'Stream aborted by caller', type: 'abort' }, isFinal: true };
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
if (rawChunk.startsWith('data: ') && rawChunk.includes('[DONE]')) {
|
|
182
|
+
const doneData = rawChunk.substring('data: '.length).trim();
|
|
183
|
+
if (doneData === '[DONE]')
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
if (rawChunk === 'data: [DONE]') {
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
if (rawChunk.startsWith('data: ')) {
|
|
190
|
+
const jsonData = rawChunk.substring('data: '.length);
|
|
191
|
+
try {
|
|
192
|
+
const apiChunk = JSON.parse(jsonData);
|
|
193
|
+
yield this.mapApiToStreamChunkResponse(apiChunk, modelId, accumulatedToolCalls);
|
|
194
|
+
if (apiChunk.choices[0]?.finish_reason) {
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
console.warn('OpenRouterProvider: Failed to parse stream chunk JSON, skipping chunk. Data:', jsonData, 'Error:', error);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
abortSignal?.removeEventListener('abort', abortHandler);
|
|
204
|
+
}
|
|
205
|
+
async generateEmbeddings(modelId, texts, options) {
|
|
206
|
+
this.ensureInitialized();
|
|
207
|
+
if (!texts || texts.length === 0) {
|
|
208
|
+
throw new OpenRouterProviderError('Input texts array cannot be empty for generating embeddings.', 'EMBEDDING_NO_INPUT');
|
|
209
|
+
}
|
|
210
|
+
const modelInfo = await this.getModelInfo(modelId);
|
|
211
|
+
if (modelInfo && !modelInfo.capabilities.includes('embeddings')) {
|
|
212
|
+
console.warn(`OpenRouterProvider: Model '${modelId}' is not explicitly listed with embedding capabilities. Attempting anyway.`);
|
|
213
|
+
}
|
|
214
|
+
const payload = {
|
|
215
|
+
model: modelId,
|
|
216
|
+
input: texts,
|
|
217
|
+
...(options?.encodingFormat && { encoding_format: options.encodingFormat }),
|
|
218
|
+
...(options?.dimensions && { dimensions: options.dimensions }),
|
|
219
|
+
...(options?.customModelParams || {}),
|
|
220
|
+
};
|
|
221
|
+
if (options?.inputType && payload.customModelParams && typeof payload.customModelParams === 'object') {
|
|
222
|
+
payload.customModelParams.input_type = options.inputType;
|
|
223
|
+
}
|
|
224
|
+
else if (options?.inputType) {
|
|
225
|
+
payload.customModelParams = { input_type: options.inputType };
|
|
226
|
+
}
|
|
227
|
+
const apiResponseData = await this.makeApiRequest('/embeddings', 'POST', this.config.requestTimeout, payload);
|
|
228
|
+
return {
|
|
229
|
+
object: 'list',
|
|
230
|
+
data: apiResponseData.data.map(d => ({
|
|
231
|
+
object: 'embedding',
|
|
232
|
+
embedding: d.embedding,
|
|
233
|
+
index: d.index,
|
|
234
|
+
})),
|
|
235
|
+
model: apiResponseData.model,
|
|
236
|
+
usage: {
|
|
237
|
+
prompt_tokens: apiResponseData.usage.prompt_tokens,
|
|
238
|
+
total_tokens: apiResponseData.usage.total_tokens,
|
|
239
|
+
},
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
async listAvailableModels(filter) {
|
|
243
|
+
this.ensureInitialized();
|
|
244
|
+
if (this.availableModelsCache.size === 0) {
|
|
245
|
+
try {
|
|
246
|
+
await this.refreshAvailableModels();
|
|
247
|
+
}
|
|
248
|
+
catch (refreshError) {
|
|
249
|
+
console.warn("OpenRouterProvider: Failed to refresh models during listAvailableModels call after finding empty cache:", refreshError);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
const models = Array.from(this.availableModelsCache.values());
|
|
253
|
+
if (filter?.capability) {
|
|
254
|
+
return models.filter(m => m.capabilities.includes(filter.capability));
|
|
255
|
+
}
|
|
256
|
+
return models;
|
|
257
|
+
}
|
|
258
|
+
async getModelInfo(modelId) {
|
|
259
|
+
this.ensureInitialized();
|
|
260
|
+
if (!this.availableModelsCache.has(modelId)) {
|
|
261
|
+
try {
|
|
262
|
+
console.log(`OpenRouterProvider: Model ${modelId} not in cache. Refreshing model list.`);
|
|
263
|
+
await this.refreshAvailableModels();
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
console.warn(`OpenRouterProvider: Failed to refresh models list while trying to get info for ${modelId}:`, error);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return this.availableModelsCache.get(modelId);
|
|
270
|
+
}
|
|
271
|
+
async checkHealth() {
|
|
272
|
+
if (!this.client) {
|
|
273
|
+
return { isHealthy: false, details: { message: "OpenRouterProvider not initialized (HTTP client missing)." } };
|
|
274
|
+
}
|
|
275
|
+
try {
|
|
276
|
+
await this.client.get('/models', { timeout: Math.min(this.config.requestTimeout || 10000, 10000) });
|
|
277
|
+
return { isHealthy: true, details: { message: "Successfully connected to OpenRouter /models endpoint." } };
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
const err = error;
|
|
281
|
+
return {
|
|
282
|
+
isHealthy: false,
|
|
283
|
+
details: {
|
|
284
|
+
message: `OpenRouter health check failed: ${err.message}`,
|
|
285
|
+
status: err.response?.status,
|
|
286
|
+
responseData: err.response?.data,
|
|
287
|
+
},
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
async shutdown() {
|
|
292
|
+
this.isInitialized = false;
|
|
293
|
+
this.availableModelsCache.clear();
|
|
294
|
+
console.log('OpenRouterProvider shutdown: Instance marked as uninitialized and cache cleared.');
|
|
295
|
+
}
|
|
296
|
+
mapApiToCompletionResponse(apiResponse, requestedModelId) {
|
|
297
|
+
const choice = apiResponse.choices[0];
|
|
298
|
+
if (!choice) {
|
|
299
|
+
throw new OpenRouterProviderError("Received empty choices array from OpenRouter.", "API_RESPONSE_MALFORMED", apiResponse.id);
|
|
300
|
+
}
|
|
301
|
+
const usage = apiResponse.usage ? {
|
|
302
|
+
promptTokens: apiResponse.usage.prompt_tokens,
|
|
303
|
+
completionTokens: apiResponse.usage.completion_tokens,
|
|
304
|
+
totalTokens: apiResponse.usage.total_tokens,
|
|
305
|
+
costUSD: apiResponse.usage.cost,
|
|
306
|
+
} : undefined;
|
|
307
|
+
return {
|
|
308
|
+
id: apiResponse.id,
|
|
309
|
+
object: apiResponse.object,
|
|
310
|
+
created: apiResponse.created,
|
|
311
|
+
modelId: apiResponse.model || requestedModelId,
|
|
312
|
+
choices: apiResponse.choices.map(c => ({
|
|
313
|
+
index: c.index,
|
|
314
|
+
message: {
|
|
315
|
+
role: c.message.role,
|
|
316
|
+
content: c.message.content,
|
|
317
|
+
tool_calls: c.message.tool_calls,
|
|
318
|
+
},
|
|
319
|
+
finishReason: c.finish_reason,
|
|
320
|
+
logprobs: c.logprobs,
|
|
321
|
+
})),
|
|
322
|
+
usage,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
mapApiToStreamChunkResponse(apiChunk, requestedModelId, accumulatedToolCalls) {
|
|
326
|
+
const choice = apiChunk.choices[0];
|
|
327
|
+
if (!choice) {
|
|
328
|
+
return {
|
|
329
|
+
id: apiChunk.id, object: apiChunk.object, created: apiChunk.created,
|
|
330
|
+
modelId: apiChunk.model || requestedModelId, choices: [], isFinal: true,
|
|
331
|
+
error: { message: "Stream chunk contained no choices.", type: "invalid_response" }
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
let responseTextDelta;
|
|
335
|
+
let toolCallsDeltas;
|
|
336
|
+
if (choice.delta?.content) {
|
|
337
|
+
responseTextDelta = choice.delta.content;
|
|
338
|
+
}
|
|
339
|
+
if (choice.delta?.tool_calls) {
|
|
340
|
+
toolCallsDeltas = [];
|
|
341
|
+
choice.delta.tool_calls.forEach(tcDelta => {
|
|
342
|
+
let currentToolCallState = accumulatedToolCalls.get(tcDelta.index);
|
|
343
|
+
if (!currentToolCallState) {
|
|
344
|
+
currentToolCallState = { function: { name: '', arguments: '' } };
|
|
345
|
+
}
|
|
346
|
+
if (tcDelta.id)
|
|
347
|
+
currentToolCallState.id = tcDelta.id;
|
|
348
|
+
if (tcDelta.type)
|
|
349
|
+
currentToolCallState.type = tcDelta.type;
|
|
350
|
+
if (tcDelta.function?.name)
|
|
351
|
+
currentToolCallState.function.name = (currentToolCallState.function.name || '') + tcDelta.function.name;
|
|
352
|
+
if (tcDelta.function?.arguments)
|
|
353
|
+
currentToolCallState.function.arguments = (currentToolCallState.function.arguments || '') + tcDelta.function.arguments;
|
|
354
|
+
accumulatedToolCalls.set(tcDelta.index, currentToolCallState);
|
|
355
|
+
toolCallsDeltas.push({
|
|
356
|
+
index: tcDelta.index,
|
|
357
|
+
id: tcDelta.id,
|
|
358
|
+
type: tcDelta.type,
|
|
359
|
+
function: tcDelta.function ? {
|
|
360
|
+
name: tcDelta.function.name,
|
|
361
|
+
arguments_delta: tcDelta.function.arguments
|
|
362
|
+
} : undefined,
|
|
363
|
+
});
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
const isFinal = !!choice.finish_reason;
|
|
367
|
+
let finalUsage;
|
|
368
|
+
const finalChoices = [];
|
|
369
|
+
if (isFinal) {
|
|
370
|
+
if (apiChunk.usage) {
|
|
371
|
+
finalUsage = {
|
|
372
|
+
promptTokens: apiChunk.usage.prompt_tokens,
|
|
373
|
+
completionTokens: apiChunk.usage.completion_tokens,
|
|
374
|
+
totalTokens: apiChunk.usage.total_tokens,
|
|
375
|
+
costUSD: apiChunk.usage.cost,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
const finalMessage = {
|
|
379
|
+
role: choice.delta?.role || accumulatedToolCalls.size > 0 ? 'assistant' : (choice.message?.role || 'assistant'),
|
|
380
|
+
content: responseTextDelta || (choice.message?.content || null),
|
|
381
|
+
tool_calls: Array.from(accumulatedToolCalls.values())
|
|
382
|
+
.filter(tc => tc.id && tc.function?.name)
|
|
383
|
+
.map(accTc => ({
|
|
384
|
+
id: accTc.id,
|
|
385
|
+
type: accTc.type,
|
|
386
|
+
function: { name: accTc.function.name, arguments: accTc.function.arguments }
|
|
387
|
+
})),
|
|
388
|
+
};
|
|
389
|
+
if (!finalMessage.tool_calls || finalMessage.tool_calls.length === 0) {
|
|
390
|
+
delete finalMessage.tool_calls;
|
|
391
|
+
}
|
|
392
|
+
if (responseTextDelta && !choice.message?.content && accumulatedToolCalls.size === 0) {
|
|
393
|
+
finalMessage.content = responseTextDelta;
|
|
394
|
+
}
|
|
395
|
+
else if (accumulatedToolCalls.size > 0 && !responseTextDelta && !choice.message?.content) {
|
|
396
|
+
finalMessage.content = null;
|
|
397
|
+
}
|
|
398
|
+
finalChoices.push({
|
|
399
|
+
index: choice.index,
|
|
400
|
+
message: finalMessage,
|
|
401
|
+
finishReason: choice.finish_reason,
|
|
402
|
+
logprobs: choice.logprobs,
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
finalChoices.push({
|
|
407
|
+
index: choice.index,
|
|
408
|
+
message: {
|
|
409
|
+
role: choice.delta?.role || 'assistant',
|
|
410
|
+
content: responseTextDelta || null,
|
|
411
|
+
},
|
|
412
|
+
finishReason: null,
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
return {
|
|
416
|
+
id: apiChunk.id,
|
|
417
|
+
object: apiChunk.object,
|
|
418
|
+
created: apiChunk.created,
|
|
419
|
+
modelId: apiChunk.model || requestedModelId,
|
|
420
|
+
choices: finalChoices,
|
|
421
|
+
responseTextDelta: isFinal ? undefined : responseTextDelta,
|
|
422
|
+
toolCallsDeltas: isFinal ? undefined : toolCallsDeltas,
|
|
423
|
+
isFinal,
|
|
424
|
+
usage: finalUsage,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
async makeApiRequest(endpoint, method, timeout, body, expectStream = false) {
|
|
428
|
+
try {
|
|
429
|
+
const response = await this.client.request({
|
|
430
|
+
url: endpoint,
|
|
431
|
+
method,
|
|
432
|
+
data: body,
|
|
433
|
+
timeout: timeout,
|
|
434
|
+
responseType: expectStream ? 'stream' : 'json',
|
|
435
|
+
});
|
|
436
|
+
return response.data;
|
|
437
|
+
}
|
|
438
|
+
catch (error) {
|
|
439
|
+
let statusCode;
|
|
440
|
+
let errorData;
|
|
441
|
+
let errorMessage = 'Unknown OpenRouter API error';
|
|
442
|
+
let errorType = 'UNKNOWN_API_ERROR';
|
|
443
|
+
if (axios.isAxiosError(error)) {
|
|
444
|
+
statusCode = error.response?.status;
|
|
445
|
+
errorData = error.response?.data;
|
|
446
|
+
if (errorData?.error && typeof errorData.error === 'object') {
|
|
447
|
+
errorMessage = errorData.error.message || errorMessage;
|
|
448
|
+
errorType = errorData.error.type || errorType;
|
|
449
|
+
}
|
|
450
|
+
else if (typeof errorData === 'string') {
|
|
451
|
+
errorMessage = errorData;
|
|
452
|
+
}
|
|
453
|
+
else if (error.message) {
|
|
454
|
+
errorMessage = error.message;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
else if (error instanceof Error) {
|
|
458
|
+
errorMessage = error.message;
|
|
459
|
+
}
|
|
460
|
+
throw new OpenRouterProviderError(errorMessage, 'API_REQUEST_FAILED', statusCode, errorType, { requestEndpoint: endpoint, requestBodyPreview: body ? JSON.stringify(body).substring(0, 200) + '...' : undefined, responseData: errorData, underlyingError: error });
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
async *parseSseStream(stream) {
|
|
464
|
+
let buffer = '';
|
|
465
|
+
const readableStream = stream;
|
|
466
|
+
try {
|
|
467
|
+
for await (const chunk of readableStream) {
|
|
468
|
+
buffer += chunk.toString();
|
|
469
|
+
let eolIndex;
|
|
470
|
+
while ((eolIndex = buffer.indexOf('\n')) >= 0) {
|
|
471
|
+
const line = buffer.substring(0, eolIndex).trim();
|
|
472
|
+
buffer = buffer.substring(eolIndex + 1);
|
|
473
|
+
if (line) {
|
|
474
|
+
yield line;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (buffer.trim()) {
|
|
479
|
+
yield buffer.trim();
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
catch (error) {
|
|
483
|
+
const message = error instanceof Error ? error.message : "OpenRouter stream parsing/reading error";
|
|
484
|
+
console.error("OpenRouterProvider: Error reading or parsing SSE stream:", message, error);
|
|
485
|
+
if (error instanceof OpenRouterProviderError)
|
|
486
|
+
throw error;
|
|
487
|
+
throw new OpenRouterProviderError(message, 'STREAM_PARSING_ERROR', undefined, undefined, error);
|
|
488
|
+
}
|
|
489
|
+
finally {
|
|
490
|
+
if (typeof readableStream.destroy === 'function') {
|
|
491
|
+
readableStream.destroy();
|
|
492
|
+
}
|
|
493
|
+
else if (typeof readableStream.close === 'function') {
|
|
494
|
+
readableStream.close();
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
//# sourceMappingURL=OpenRouterProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenRouterProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenRouterProvider.ts"],"names":[],"mappings":"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"}
|