@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.
Files changed (601) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +576 -0
  3. package/dist/api/AgentOS.d.ts +451 -0
  4. package/dist/api/AgentOS.d.ts.map +1 -0
  5. package/dist/api/AgentOS.js +1157 -0
  6. package/dist/api/AgentOS.js.map +1 -0
  7. package/dist/api/AgentOSOrchestrator.d.ts +157 -0
  8. package/dist/api/AgentOSOrchestrator.d.ts.map +1 -0
  9. package/dist/api/AgentOSOrchestrator.js +679 -0
  10. package/dist/api/AgentOSOrchestrator.js.map +1 -0
  11. package/dist/api/interfaces/IAgentOS.d.ts +138 -0
  12. package/dist/api/interfaces/IAgentOS.d.ts.map +1 -0
  13. package/dist/api/interfaces/IAgentOS.js +11 -0
  14. package/dist/api/interfaces/IAgentOS.js.map +1 -0
  15. package/dist/api/interfaces/IUnifiedAgent.d.ts +126 -0
  16. package/dist/api/interfaces/IUnifiedAgent.d.ts.map +1 -0
  17. package/dist/api/interfaces/IUnifiedAgent.js +3 -0
  18. package/dist/api/interfaces/IUnifiedAgent.js.map +1 -0
  19. package/dist/api/types/AgentOSInput.d.ts +114 -0
  20. package/dist/api/types/AgentOSInput.d.ts.map +1 -0
  21. package/dist/api/types/AgentOSInput.js +13 -0
  22. package/dist/api/types/AgentOSInput.js.map +1 -0
  23. package/dist/api/types/AgentOSResponse.d.ts +170 -0
  24. package/dist/api/types/AgentOSResponse.d.ts.map +1 -0
  25. package/dist/api/types/AgentOSResponse.js +25 -0
  26. package/dist/api/types/AgentOSResponse.js.map +1 -0
  27. package/dist/cognitive_substrate/GMI.d.ts +148 -0
  28. package/dist/cognitive_substrate/GMI.d.ts.map +1 -0
  29. package/dist/cognitive_substrate/GMI.js +1003 -0
  30. package/dist/cognitive_substrate/GMI.js.map +1 -0
  31. package/dist/cognitive_substrate/GMIManager.d.ts +98 -0
  32. package/dist/cognitive_substrate/GMIManager.d.ts.map +1 -0
  33. package/dist/cognitive_substrate/GMIManager.js +517 -0
  34. package/dist/cognitive_substrate/GMIManager.js.map +1 -0
  35. package/dist/cognitive_substrate/IGMI.d.ts +469 -0
  36. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -0
  37. package/dist/cognitive_substrate/IGMI.js +111 -0
  38. package/dist/cognitive_substrate/IGMI.js.map +1 -0
  39. package/dist/cognitive_substrate/memory/IWorkingMemory.d.ts +139 -0
  40. package/dist/cognitive_substrate/memory/IWorkingMemory.d.ts.map +1 -0
  41. package/dist/cognitive_substrate/memory/IWorkingMemory.js +14 -0
  42. package/dist/cognitive_substrate/memory/IWorkingMemory.js.map +1 -0
  43. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.d.ts +143 -0
  44. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.d.ts.map +1 -0
  45. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.js +186 -0
  46. package/dist/cognitive_substrate/memory/InMemoryWorkingMemory.js.map +1 -0
  47. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.d.ts +33 -0
  48. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.d.ts.map +1 -0
  49. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.js +138 -0
  50. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayManager.js.map +1 -0
  51. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.d.ts +32 -0
  52. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.d.ts.map +1 -0
  53. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.js +2 -0
  54. package/dist/cognitive_substrate/persona_overlays/PersonaOverlayTypes.js.map +1 -0
  55. package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts +336 -0
  56. package/dist/cognitive_substrate/personas/IPersonaDefinition.d.ts.map +1 -0
  57. package/dist/cognitive_substrate/personas/IPersonaDefinition.js +8 -0
  58. package/dist/cognitive_substrate/personas/IPersonaDefinition.js.map +1 -0
  59. package/dist/cognitive_substrate/personas/IPersonaLoader.d.ts +78 -0
  60. package/dist/cognitive_substrate/personas/IPersonaLoader.d.ts.map +1 -0
  61. package/dist/cognitive_substrate/personas/IPersonaLoader.js +9 -0
  62. package/dist/cognitive_substrate/personas/IPersonaLoader.js.map +1 -0
  63. package/dist/cognitive_substrate/personas/PersonaLoader.d.ts +60 -0
  64. package/dist/cognitive_substrate/personas/PersonaLoader.d.ts.map +1 -0
  65. package/dist/cognitive_substrate/personas/PersonaLoader.js +138 -0
  66. package/dist/cognitive_substrate/personas/PersonaLoader.js.map +1 -0
  67. package/dist/cognitive_substrate/personas/PersonaValidation.d.ts +139 -0
  68. package/dist/cognitive_substrate/personas/PersonaValidation.d.ts.map +1 -0
  69. package/dist/cognitive_substrate/personas/PersonaValidation.js +277 -0
  70. package/dist/cognitive_substrate/personas/PersonaValidation.js.map +1 -0
  71. package/dist/cognitive_substrate/personas/definitions/atlas_systems_architect.json +29 -0
  72. package/dist/cognitive_substrate/personas/definitions/default_assistant_persona.json +346 -0
  73. package/dist/cognitive_substrate/personas/definitions/default_free_assistant.json +13 -0
  74. package/dist/cognitive_substrate/personas/definitions/index.d.ts +14 -0
  75. package/dist/cognitive_substrate/personas/definitions/index.d.ts.map +1 -0
  76. package/dist/cognitive_substrate/personas/definitions/index.js +35 -0
  77. package/dist/cognitive_substrate/personas/definitions/index.js.map +1 -0
  78. package/dist/cognitive_substrate/personas/definitions/nerf_generalist.json +11 -0
  79. package/dist/cognitive_substrate/personas/definitions/v_researcher.json +11 -0
  80. package/dist/config/AgentOSConfig.d.ts +74 -0
  81. package/dist/config/AgentOSConfig.d.ts.map +1 -0
  82. package/dist/config/AgentOSConfig.js +399 -0
  83. package/dist/config/AgentOSConfig.js.map +1 -0
  84. package/dist/config/EmbeddingManagerConfiguration.d.ts +190 -0
  85. package/dist/config/EmbeddingManagerConfiguration.d.ts.map +1 -0
  86. package/dist/config/EmbeddingManagerConfiguration.js +16 -0
  87. package/dist/config/EmbeddingManagerConfiguration.js.map +1 -0
  88. package/dist/config/MemoryLifecycleManagerConfiguration.d.ts +165 -0
  89. package/dist/config/MemoryLifecycleManagerConfiguration.d.ts.map +1 -0
  90. package/dist/config/MemoryLifecycleManagerConfiguration.js +69 -0
  91. package/dist/config/MemoryLifecycleManagerConfiguration.js.map +1 -0
  92. package/dist/config/RetrievalAugmentorConfiguration.d.ts +98 -0
  93. package/dist/config/RetrievalAugmentorConfiguration.d.ts.map +1 -0
  94. package/dist/config/RetrievalAugmentorConfiguration.js +47 -0
  95. package/dist/config/RetrievalAugmentorConfiguration.js.map +1 -0
  96. package/dist/config/ToolOrchestratorConfig.d.ts +69 -0
  97. package/dist/config/ToolOrchestratorConfig.d.ts.map +1 -0
  98. package/dist/config/ToolOrchestratorConfig.js +11 -0
  99. package/dist/config/ToolOrchestratorConfig.js.map +1 -0
  100. package/dist/config/VectorStoreConfiguration.d.ts +223 -0
  101. package/dist/config/VectorStoreConfiguration.d.ts.map +1 -0
  102. package/dist/config/VectorStoreConfiguration.js +59 -0
  103. package/dist/config/VectorStoreConfiguration.js.map +1 -0
  104. package/dist/config/extension-secrets.json +38 -0
  105. package/dist/config/extensionSecrets.d.ts +13 -0
  106. package/dist/config/extensionSecrets.d.ts.map +1 -0
  107. package/dist/config/extensionSecrets.js +24 -0
  108. package/dist/config/extensionSecrets.js.map +1 -0
  109. package/dist/core/agency/AgencyMemoryManager.d.ts +300 -0
  110. package/dist/core/agency/AgencyMemoryManager.d.ts.map +1 -0
  111. package/dist/core/agency/AgencyMemoryManager.js +657 -0
  112. package/dist/core/agency/AgencyMemoryManager.js.map +1 -0
  113. package/dist/core/agency/AgencyRegistry.d.ts +100 -0
  114. package/dist/core/agency/AgencyRegistry.d.ts.map +1 -0
  115. package/dist/core/agency/AgencyRegistry.js +209 -0
  116. package/dist/core/agency/AgencyRegistry.js.map +1 -0
  117. package/dist/core/agency/AgencyTypes.d.ts +200 -0
  118. package/dist/core/agency/AgencyTypes.d.ts.map +1 -0
  119. package/dist/core/agency/AgencyTypes.js +7 -0
  120. package/dist/core/agency/AgencyTypes.js.map +1 -0
  121. package/dist/core/agency/AgentCommunicationBus.d.ts +150 -0
  122. package/dist/core/agency/AgentCommunicationBus.d.ts.map +1 -0
  123. package/dist/core/agency/AgentCommunicationBus.js +568 -0
  124. package/dist/core/agency/AgentCommunicationBus.js.map +1 -0
  125. package/dist/core/agency/IAgentCommunicationBus.d.ts +469 -0
  126. package/dist/core/agency/IAgentCommunicationBus.d.ts.map +1 -0
  127. package/dist/core/agency/IAgentCommunicationBus.js +40 -0
  128. package/dist/core/agency/IAgentCommunicationBus.js.map +1 -0
  129. package/dist/core/agency/index.d.ts +18 -0
  130. package/dist/core/agency/index.d.ts.map +1 -0
  131. package/dist/core/agency/index.js +18 -0
  132. package/dist/core/agency/index.js.map +1 -0
  133. package/dist/core/agents/AgentCore.d.ts +385 -0
  134. package/dist/core/agents/AgentCore.d.ts.map +1 -0
  135. package/dist/core/agents/AgentCore.js +527 -0
  136. package/dist/core/agents/AgentCore.js.map +1 -0
  137. package/dist/core/agents/AgentFactory.d.ts +123 -0
  138. package/dist/core/agents/AgentFactory.d.ts.map +1 -0
  139. package/dist/core/agents/AgentFactory.js +232 -0
  140. package/dist/core/agents/AgentFactory.js.map +1 -0
  141. package/dist/core/agents/AgentPoolAgent.d.ts +244 -0
  142. package/dist/core/agents/AgentPoolAgent.d.ts.map +1 -0
  143. package/dist/core/agents/AgentPoolAgent.js +697 -0
  144. package/dist/core/agents/AgentPoolAgent.js.map +1 -0
  145. package/dist/core/agents/AgentPoolConfig.d.ts +191 -0
  146. package/dist/core/agents/AgentPoolConfig.d.ts.map +1 -0
  147. package/dist/core/agents/AgentPoolConfig.js +58 -0
  148. package/dist/core/agents/AgentPoolConfig.js.map +1 -0
  149. package/dist/core/agents/IAgent.d.ts +226 -0
  150. package/dist/core/agents/IAgent.d.ts.map +1 -0
  151. package/dist/core/agents/IAgent.js +14 -0
  152. package/dist/core/agents/IAgent.js.map +1 -0
  153. package/dist/core/agents/IAgentFactory.d.ts +137 -0
  154. package/dist/core/agents/IAgentFactory.d.ts.map +1 -0
  155. package/dist/core/agents/IAgentFactory.js +13 -0
  156. package/dist/core/agents/IAgentFactory.js.map +1 -0
  157. package/dist/core/agents/tools/Tool.d.ts +17 -0
  158. package/dist/core/agents/tools/Tool.d.ts.map +1 -0
  159. package/dist/core/agents/tools/Tool.js +8 -0
  160. package/dist/core/agents/tools/Tool.js.map +1 -0
  161. package/dist/core/ai_utilities/HybridUtilityAI.d.ts +1 -0
  162. package/dist/core/ai_utilities/HybridUtilityAI.d.ts.map +1 -0
  163. package/dist/core/ai_utilities/HybridUtilityAI.js +2 -0
  164. package/dist/core/ai_utilities/HybridUtilityAI.js.map +1 -0
  165. package/dist/core/ai_utilities/IUtilityAI.d.ts +212 -0
  166. package/dist/core/ai_utilities/IUtilityAI.d.ts.map +1 -0
  167. package/dist/core/ai_utilities/IUtilityAI.js +11 -0
  168. package/dist/core/ai_utilities/IUtilityAI.js.map +1 -0
  169. package/dist/core/ai_utilities/LLMUtilityAI.d.ts +94 -0
  170. package/dist/core/ai_utilities/LLMUtilityAI.d.ts.map +1 -0
  171. package/dist/core/ai_utilities/LLMUtilityAI.js +434 -0
  172. package/dist/core/ai_utilities/LLMUtilityAI.js.map +1 -0
  173. package/dist/core/ai_utilities/StatisticalUtilityAI.d.ts +102 -0
  174. package/dist/core/ai_utilities/StatisticalUtilityAI.d.ts.map +1 -0
  175. package/dist/core/ai_utilities/StatisticalUtilityAI.js +617 -0
  176. package/dist/core/ai_utilities/StatisticalUtilityAI.js.map +1 -0
  177. package/dist/core/conversation/ConversationContext.d.ts +259 -0
  178. package/dist/core/conversation/ConversationContext.d.ts.map +1 -0
  179. package/dist/core/conversation/ConversationContext.js +450 -0
  180. package/dist/core/conversation/ConversationContext.js.map +1 -0
  181. package/dist/core/conversation/ConversationManager.d.ts +223 -0
  182. package/dist/core/conversation/ConversationManager.d.ts.map +1 -0
  183. package/dist/core/conversation/ConversationManager.js +558 -0
  184. package/dist/core/conversation/ConversationManager.js.map +1 -0
  185. package/dist/core/conversation/ConversationMessage.d.ts +184 -0
  186. package/dist/core/conversation/ConversationMessage.d.ts.map +1 -0
  187. package/dist/core/conversation/ConversationMessage.js +66 -0
  188. package/dist/core/conversation/ConversationMessage.js.map +1 -0
  189. package/dist/core/evaluation/Evaluator.d.ts +28 -0
  190. package/dist/core/evaluation/Evaluator.d.ts.map +1 -0
  191. package/dist/core/evaluation/Evaluator.js +490 -0
  192. package/dist/core/evaluation/Evaluator.js.map +1 -0
  193. package/dist/core/evaluation/IEvaluator.d.ts +309 -0
  194. package/dist/core/evaluation/IEvaluator.d.ts.map +1 -0
  195. package/dist/core/evaluation/IEvaluator.js +12 -0
  196. package/dist/core/evaluation/IEvaluator.js.map +1 -0
  197. package/dist/core/evaluation/LLMJudge.d.ts +105 -0
  198. package/dist/core/evaluation/LLMJudge.d.ts.map +1 -0
  199. package/dist/core/evaluation/LLMJudge.js +229 -0
  200. package/dist/core/evaluation/LLMJudge.js.map +1 -0
  201. package/dist/core/evaluation/index.d.ts +9 -0
  202. package/dist/core/evaluation/index.d.ts.map +1 -0
  203. package/dist/core/evaluation/index.js +9 -0
  204. package/dist/core/evaluation/index.js.map +1 -0
  205. package/dist/core/guardrails/IGuardrailService.d.ts +142 -0
  206. package/dist/core/guardrails/IGuardrailService.d.ts.map +1 -0
  207. package/dist/core/guardrails/IGuardrailService.js +24 -0
  208. package/dist/core/guardrails/IGuardrailService.js.map +1 -0
  209. package/dist/core/guardrails/guardrailDispatcher.d.ts +36 -0
  210. package/dist/core/guardrails/guardrailDispatcher.d.ts.map +1 -0
  211. package/dist/core/guardrails/guardrailDispatcher.js +240 -0
  212. package/dist/core/guardrails/guardrailDispatcher.js.map +1 -0
  213. package/dist/core/hitl/HumanInteractionManager.d.ts +146 -0
  214. package/dist/core/hitl/HumanInteractionManager.d.ts.map +1 -0
  215. package/dist/core/hitl/HumanInteractionManager.js +491 -0
  216. package/dist/core/hitl/HumanInteractionManager.js.map +1 -0
  217. package/dist/core/hitl/IHumanInteractionManager.d.ts +521 -0
  218. package/dist/core/hitl/IHumanInteractionManager.d.ts.map +1 -0
  219. package/dist/core/hitl/IHumanInteractionManager.js +33 -0
  220. package/dist/core/hitl/IHumanInteractionManager.js.map +1 -0
  221. package/dist/core/hitl/index.d.ts +17 -0
  222. package/dist/core/hitl/index.d.ts.map +1 -0
  223. package/dist/core/hitl/index.js +17 -0
  224. package/dist/core/hitl/index.js.map +1 -0
  225. package/dist/core/knowledge/IKnowledgeGraph.d.ts +351 -0
  226. package/dist/core/knowledge/IKnowledgeGraph.d.ts.map +1 -0
  227. package/dist/core/knowledge/IKnowledgeGraph.js +10 -0
  228. package/dist/core/knowledge/IKnowledgeGraph.js.map +1 -0
  229. package/dist/core/knowledge/KnowledgeGraph.d.ts +93 -0
  230. package/dist/core/knowledge/KnowledgeGraph.d.ts.map +1 -0
  231. package/dist/core/knowledge/KnowledgeGraph.js +601 -0
  232. package/dist/core/knowledge/KnowledgeGraph.js.map +1 -0
  233. package/dist/core/knowledge/index.d.ts +8 -0
  234. package/dist/core/knowledge/index.d.ts.map +1 -0
  235. package/dist/core/knowledge/index.js +8 -0
  236. package/dist/core/knowledge/index.js.map +1 -0
  237. package/dist/core/language/LanguageService.d.ts +77 -0
  238. package/dist/core/language/LanguageService.d.ts.map +1 -0
  239. package/dist/core/language/LanguageService.js +305 -0
  240. package/dist/core/language/LanguageService.js.map +1 -0
  241. package/dist/core/language/index.d.ts +6 -0
  242. package/dist/core/language/index.d.ts.map +1 -0
  243. package/dist/core/language/index.js +6 -0
  244. package/dist/core/language/index.js.map +1 -0
  245. package/dist/core/language/interfaces.d.ts +168 -0
  246. package/dist/core/language/interfaces.d.ts.map +1 -0
  247. package/dist/core/language/interfaces.js +37 -0
  248. package/dist/core/language/interfaces.js.map +1 -0
  249. package/dist/core/language/providers/DeepLTranslationProvider.d.ts +16 -0
  250. package/dist/core/language/providers/DeepLTranslationProvider.d.ts.map +1 -0
  251. package/dist/core/language/providers/DeepLTranslationProvider.js +28 -0
  252. package/dist/core/language/providers/DeepLTranslationProvider.js.map +1 -0
  253. package/dist/core/language/providers/OpenAITranslationProvider.d.ts +17 -0
  254. package/dist/core/language/providers/OpenAITranslationProvider.d.ts.map +1 -0
  255. package/dist/core/language/providers/OpenAITranslationProvider.js +34 -0
  256. package/dist/core/language/providers/OpenAITranslationProvider.js.map +1 -0
  257. package/dist/core/language/providers/WhisperDetectionProvider.d.ts +16 -0
  258. package/dist/core/language/providers/WhisperDetectionProvider.d.ts.map +1 -0
  259. package/dist/core/language/providers/WhisperDetectionProvider.js +15 -0
  260. package/dist/core/language/providers/WhisperDetectionProvider.js.map +1 -0
  261. package/dist/core/llm/IPromptEngine.d.ts +627 -0
  262. package/dist/core/llm/IPromptEngine.d.ts.map +1 -0
  263. package/dist/core/llm/IPromptEngine.js +81 -0
  264. package/dist/core/llm/IPromptEngine.js.map +1 -0
  265. package/dist/core/llm/PromptEngine.d.ts +108 -0
  266. package/dist/core/llm/PromptEngine.d.ts.map +1 -0
  267. package/dist/core/llm/PromptEngine.js +872 -0
  268. package/dist/core/llm/PromptEngine.js.map +1 -0
  269. package/dist/core/llm/providers/AIModelProviderManager.d.ts +74 -0
  270. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -0
  271. package/dist/core/llm/providers/AIModelProviderManager.js +263 -0
  272. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -0
  273. package/dist/core/llm/providers/IProvider.d.ts +327 -0
  274. package/dist/core/llm/providers/IProvider.d.ts.map +1 -0
  275. package/dist/core/llm/providers/IProvider.js +39 -0
  276. package/dist/core/llm/providers/IProvider.js.map +1 -0
  277. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +36 -0
  278. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -0
  279. package/dist/core/llm/providers/errors/OllamaProviderError.js +40 -0
  280. package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -0
  281. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +42 -0
  282. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts.map +1 -0
  283. package/dist/core/llm/providers/errors/OpenAIProviderError.js +44 -0
  284. package/dist/core/llm/providers/errors/OpenAIProviderError.js.map +1 -0
  285. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +39 -0
  286. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts.map +1 -0
  287. package/dist/core/llm/providers/errors/OpenRouterProviderError.js +42 -0
  288. package/dist/core/llm/providers/errors/OpenRouterProviderError.js.map +1 -0
  289. package/dist/core/llm/providers/errors/ProviderError.d.ts +37 -0
  290. package/dist/core/llm/providers/errors/ProviderError.d.ts.map +1 -0
  291. package/dist/core/llm/providers/errors/ProviderError.js +36 -0
  292. package/dist/core/llm/providers/errors/ProviderError.js.map +1 -0
  293. package/dist/core/llm/providers/implementations/OllamaProvider.d.ts +80 -0
  294. package/dist/core/llm/providers/implementations/OllamaProvider.d.ts.map +1 -0
  295. package/dist/core/llm/providers/implementations/OllamaProvider.js +473 -0
  296. package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -0
  297. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +160 -0
  298. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -0
  299. package/dist/core/llm/providers/implementations/OpenAIProvider.js +672 -0
  300. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -0
  301. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts +51 -0
  302. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -0
  303. package/dist/core/llm/providers/implementations/OpenRouterProvider.js +499 -0
  304. package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -0
  305. package/dist/core/llm/routing/IModelRouter.d.ts +129 -0
  306. package/dist/core/llm/routing/IModelRouter.d.ts.map +1 -0
  307. package/dist/core/llm/routing/IModelRouter.js +14 -0
  308. package/dist/core/llm/routing/IModelRouter.js.map +1 -0
  309. package/dist/core/llm/routing/ModelRouter.d.ts +157 -0
  310. package/dist/core/llm/routing/ModelRouter.d.ts.map +1 -0
  311. package/dist/core/llm/routing/ModelRouter.js +190 -0
  312. package/dist/core/llm/routing/ModelRouter.js.map +1 -0
  313. package/dist/core/llm/streaming/StreamingBatcher.d.ts +54 -0
  314. package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -0
  315. package/dist/core/llm/streaming/StreamingBatcher.js +173 -0
  316. package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -0
  317. package/dist/core/llm/streaming/StreamingReconstructor.d.ts +69 -0
  318. package/dist/core/llm/streaming/StreamingReconstructor.d.ts.map +1 -0
  319. package/dist/core/llm/streaming/StreamingReconstructor.js +102 -0
  320. package/dist/core/llm/streaming/StreamingReconstructor.js.map +1 -0
  321. package/dist/core/marketplace/IMarketplace.d.ts +500 -0
  322. package/dist/core/marketplace/IMarketplace.d.ts.map +1 -0
  323. package/dist/core/marketplace/IMarketplace.js +10 -0
  324. package/dist/core/marketplace/IMarketplace.js.map +1 -0
  325. package/dist/core/marketplace/Marketplace.d.ts +122 -0
  326. package/dist/core/marketplace/Marketplace.d.ts.map +1 -0
  327. package/dist/core/marketplace/Marketplace.js +591 -0
  328. package/dist/core/marketplace/Marketplace.js.map +1 -0
  329. package/dist/core/marketplace/index.d.ts +8 -0
  330. package/dist/core/marketplace/index.d.ts.map +1 -0
  331. package/dist/core/marketplace/index.js +8 -0
  332. package/dist/core/marketplace/index.js.map +1 -0
  333. package/dist/core/observability/ITracer.d.ts +317 -0
  334. package/dist/core/observability/ITracer.d.ts.map +1 -0
  335. package/dist/core/observability/ITracer.js +55 -0
  336. package/dist/core/observability/ITracer.js.map +1 -0
  337. package/dist/core/observability/Tracer.d.ts +76 -0
  338. package/dist/core/observability/Tracer.d.ts.map +1 -0
  339. package/dist/core/observability/Tracer.js +360 -0
  340. package/dist/core/observability/Tracer.js.map +1 -0
  341. package/dist/core/observability/index.d.ts +9 -0
  342. package/dist/core/observability/index.d.ts.map +1 -0
  343. package/dist/core/observability/index.js +8 -0
  344. package/dist/core/observability/index.js.map +1 -0
  345. package/dist/core/orchestration/AgentOrchestrator.d.ts +243 -0
  346. package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -0
  347. package/dist/core/orchestration/AgentOrchestrator.js +648 -0
  348. package/dist/core/orchestration/AgentOrchestrator.js.map +1 -0
  349. package/dist/core/orchestration/IAgentOrchestrator.d.ts +44 -0
  350. package/dist/core/orchestration/IAgentOrchestrator.d.ts.map +1 -0
  351. package/dist/core/orchestration/IAgentOrchestrator.js +4 -0
  352. package/dist/core/orchestration/IAgentOrchestrator.js.map +1 -0
  353. package/dist/core/orchestration/helpers.d.ts +12 -0
  354. package/dist/core/orchestration/helpers.d.ts.map +1 -0
  355. package/dist/core/orchestration/helpers.js +36 -0
  356. package/dist/core/orchestration/helpers.js.map +1 -0
  357. package/dist/core/planning/IPlanningEngine.d.ts +524 -0
  358. package/dist/core/planning/IPlanningEngine.d.ts.map +1 -0
  359. package/dist/core/planning/IPlanningEngine.js +32 -0
  360. package/dist/core/planning/IPlanningEngine.js.map +1 -0
  361. package/dist/core/planning/PlanningEngine.d.ts +161 -0
  362. package/dist/core/planning/PlanningEngine.d.ts.map +1 -0
  363. package/dist/core/planning/PlanningEngine.js +783 -0
  364. package/dist/core/planning/PlanningEngine.js.map +1 -0
  365. package/dist/core/planning/index.d.ts +25 -0
  366. package/dist/core/planning/index.d.ts.map +1 -0
  367. package/dist/core/planning/index.js +25 -0
  368. package/dist/core/planning/index.js.map +1 -0
  369. package/dist/core/sandbox/CodeSandbox.d.ts +86 -0
  370. package/dist/core/sandbox/CodeSandbox.d.ts.map +1 -0
  371. package/dist/core/sandbox/CodeSandbox.js +475 -0
  372. package/dist/core/sandbox/CodeSandbox.js.map +1 -0
  373. package/dist/core/sandbox/ICodeSandbox.d.ts +249 -0
  374. package/dist/core/sandbox/ICodeSandbox.d.ts.map +1 -0
  375. package/dist/core/sandbox/ICodeSandbox.js +24 -0
  376. package/dist/core/sandbox/ICodeSandbox.js.map +1 -0
  377. package/dist/core/sandbox/index.d.ts +9 -0
  378. package/dist/core/sandbox/index.d.ts.map +1 -0
  379. package/dist/core/sandbox/index.js +8 -0
  380. package/dist/core/sandbox/index.js.map +1 -0
  381. package/dist/core/storage/IStorageAdapter.d.ts +483 -0
  382. package/dist/core/storage/IStorageAdapter.d.ts.map +1 -0
  383. package/dist/core/storage/IStorageAdapter.js +19 -0
  384. package/dist/core/storage/IStorageAdapter.js.map +1 -0
  385. package/dist/core/storage/InMemoryStorageAdapter.d.ts +192 -0
  386. package/dist/core/storage/InMemoryStorageAdapter.d.ts.map +1 -0
  387. package/dist/core/storage/InMemoryStorageAdapter.js +343 -0
  388. package/dist/core/storage/InMemoryStorageAdapter.js.map +1 -0
  389. package/dist/core/storage/SqlStorageAdapter.d.ts +262 -0
  390. package/dist/core/storage/SqlStorageAdapter.d.ts.map +1 -0
  391. package/dist/core/storage/SqlStorageAdapter.js +485 -0
  392. package/dist/core/storage/SqlStorageAdapter.js.map +1 -0
  393. package/dist/core/storage/index.d.ts +14 -0
  394. package/dist/core/storage/index.d.ts.map +1 -0
  395. package/dist/core/storage/index.js +14 -0
  396. package/dist/core/storage/index.js.map +1 -0
  397. package/dist/core/streaming/IStreamClient.d.ts +72 -0
  398. package/dist/core/streaming/IStreamClient.d.ts.map +1 -0
  399. package/dist/core/streaming/IStreamClient.js +12 -0
  400. package/dist/core/streaming/IStreamClient.js.map +1 -0
  401. package/dist/core/streaming/StreamingManager.d.ts +242 -0
  402. package/dist/core/streaming/StreamingManager.d.ts.map +1 -0
  403. package/dist/core/streaming/StreamingManager.js +282 -0
  404. package/dist/core/streaming/StreamingManager.js.map +1 -0
  405. package/dist/core/structured/IStructuredOutputManager.d.ts +701 -0
  406. package/dist/core/structured/IStructuredOutputManager.d.ts.map +1 -0
  407. package/dist/core/structured/IStructuredOutputManager.js +74 -0
  408. package/dist/core/structured/IStructuredOutputManager.js.map +1 -0
  409. package/dist/core/structured/StructuredOutputManager.d.ts +140 -0
  410. package/dist/core/structured/StructuredOutputManager.d.ts.map +1 -0
  411. package/dist/core/structured/StructuredOutputManager.js +1015 -0
  412. package/dist/core/structured/StructuredOutputManager.js.map +1 -0
  413. package/dist/core/structured/index.d.ts +34 -0
  414. package/dist/core/structured/index.d.ts.map +1 -0
  415. package/dist/core/structured/index.js +34 -0
  416. package/dist/core/structured/index.js.map +1 -0
  417. package/dist/core/tools/ITool.d.ts +228 -0
  418. package/dist/core/tools/ITool.d.ts.map +1 -0
  419. package/dist/core/tools/ITool.js +11 -0
  420. package/dist/core/tools/ITool.js.map +1 -0
  421. package/dist/core/tools/IToolOrchestrator.d.ts +131 -0
  422. package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -0
  423. package/dist/core/tools/IToolOrchestrator.js +14 -0
  424. package/dist/core/tools/IToolOrchestrator.js.map +1 -0
  425. package/dist/core/tools/ToolExecutor.d.ts +143 -0
  426. package/dist/core/tools/ToolExecutor.d.ts.map +1 -0
  427. package/dist/core/tools/ToolExecutor.js +364 -0
  428. package/dist/core/tools/ToolExecutor.js.map +1 -0
  429. package/dist/core/tools/ToolOrchestrator.d.ts +142 -0
  430. package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -0
  431. package/dist/core/tools/ToolOrchestrator.js +373 -0
  432. package/dist/core/tools/ToolOrchestrator.js.map +1 -0
  433. package/dist/core/tools/permissions/IToolPermissionManager.d.ts +195 -0
  434. package/dist/core/tools/permissions/IToolPermissionManager.d.ts.map +1 -0
  435. package/dist/core/tools/permissions/IToolPermissionManager.js +14 -0
  436. package/dist/core/tools/permissions/IToolPermissionManager.js.map +1 -0
  437. package/dist/core/tools/permissions/ToolPermissionManager.d.ts +203 -0
  438. package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -0
  439. package/dist/core/tools/permissions/ToolPermissionManager.js +298 -0
  440. package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -0
  441. package/dist/core/ui/IUIComponent.d.ts +11 -0
  442. package/dist/core/ui/IUIComponent.d.ts.map +1 -0
  443. package/dist/core/ui/IUIComponent.js +2 -0
  444. package/dist/core/ui/IUIComponent.js.map +1 -0
  445. package/dist/core/usage/UsageLedger.d.ts +81 -0
  446. package/dist/core/usage/UsageLedger.d.ts.map +1 -0
  447. package/dist/core/usage/UsageLedger.js +135 -0
  448. package/dist/core/usage/UsageLedger.js.map +1 -0
  449. package/dist/core/workflows/IWorkflowEngine.d.ts +42 -0
  450. package/dist/core/workflows/IWorkflowEngine.d.ts.map +1 -0
  451. package/dist/core/workflows/IWorkflowEngine.js +2 -0
  452. package/dist/core/workflows/IWorkflowEngine.js.map +1 -0
  453. package/dist/core/workflows/WorkflowEngine.d.ts +28 -0
  454. package/dist/core/workflows/WorkflowEngine.d.ts.map +1 -0
  455. package/dist/core/workflows/WorkflowEngine.js +309 -0
  456. package/dist/core/workflows/WorkflowEngine.js.map +1 -0
  457. package/dist/core/workflows/WorkflowTypes.d.ts +180 -0
  458. package/dist/core/workflows/WorkflowTypes.d.ts.map +1 -0
  459. package/dist/core/workflows/WorkflowTypes.js +26 -0
  460. package/dist/core/workflows/WorkflowTypes.js.map +1 -0
  461. package/dist/core/workflows/runtime/WorkflowRuntime.d.ts +70 -0
  462. package/dist/core/workflows/runtime/WorkflowRuntime.d.ts.map +1 -0
  463. package/dist/core/workflows/runtime/WorkflowRuntime.js +566 -0
  464. package/dist/core/workflows/runtime/WorkflowRuntime.js.map +1 -0
  465. package/dist/core/workflows/storage/IWorkflowStore.d.ts +75 -0
  466. package/dist/core/workflows/storage/IWorkflowStore.d.ts.map +1 -0
  467. package/dist/core/workflows/storage/IWorkflowStore.js +2 -0
  468. package/dist/core/workflows/storage/IWorkflowStore.js.map +1 -0
  469. package/dist/core/workflows/storage/InMemoryWorkflowStore.d.ts +14 -0
  470. package/dist/core/workflows/storage/InMemoryWorkflowStore.d.ts.map +1 -0
  471. package/dist/core/workflows/storage/InMemoryWorkflowStore.js +130 -0
  472. package/dist/core/workflows/storage/InMemoryWorkflowStore.js.map +1 -0
  473. package/dist/extensions/ExtensionLoader.d.ts +119 -0
  474. package/dist/extensions/ExtensionLoader.d.ts.map +1 -0
  475. package/dist/extensions/ExtensionLoader.js +297 -0
  476. package/dist/extensions/ExtensionLoader.js.map +1 -0
  477. package/dist/extensions/ExtensionManager.d.ts +49 -0
  478. package/dist/extensions/ExtensionManager.d.ts.map +1 -0
  479. package/dist/extensions/ExtensionManager.js +197 -0
  480. package/dist/extensions/ExtensionManager.js.map +1 -0
  481. package/dist/extensions/ExtensionRegistry.d.ts +39 -0
  482. package/dist/extensions/ExtensionRegistry.d.ts.map +1 -0
  483. package/dist/extensions/ExtensionRegistry.js +103 -0
  484. package/dist/extensions/ExtensionRegistry.js.map +1 -0
  485. package/dist/extensions/MultiRegistryLoader.d.ts +61 -0
  486. package/dist/extensions/MultiRegistryLoader.d.ts.map +1 -0
  487. package/dist/extensions/MultiRegistryLoader.js +169 -0
  488. package/dist/extensions/MultiRegistryLoader.js.map +1 -0
  489. package/dist/extensions/RegistryConfig.d.ts +86 -0
  490. package/dist/extensions/RegistryConfig.d.ts.map +1 -0
  491. package/dist/extensions/RegistryConfig.js +99 -0
  492. package/dist/extensions/RegistryConfig.js.map +1 -0
  493. package/dist/extensions/events.d.ts +19 -0
  494. package/dist/extensions/events.d.ts.map +1 -0
  495. package/dist/extensions/events.js +2 -0
  496. package/dist/extensions/events.js.map +1 -0
  497. package/dist/extensions/index.d.ts +9 -0
  498. package/dist/extensions/index.d.ts.map +1 -0
  499. package/dist/extensions/index.js +9 -0
  500. package/dist/extensions/index.js.map +1 -0
  501. package/dist/extensions/manifest.d.ts +52 -0
  502. package/dist/extensions/manifest.d.ts.map +1 -0
  503. package/dist/extensions/manifest.js +2 -0
  504. package/dist/extensions/manifest.js.map +1 -0
  505. package/dist/extensions/types.d.ts +294 -0
  506. package/dist/extensions/types.d.ts.map +1 -0
  507. package/dist/extensions/types.js +12 -0
  508. package/dist/extensions/types.js.map +1 -0
  509. package/dist/index.d.ts +49 -0
  510. package/dist/index.d.ts.map +1 -0
  511. package/dist/index.js +59 -0
  512. package/dist/index.js.map +1 -0
  513. package/dist/logging/ILogger.d.ts +8 -0
  514. package/dist/logging/ILogger.d.ts.map +1 -0
  515. package/dist/logging/ILogger.js +2 -0
  516. package/dist/logging/ILogger.js.map +1 -0
  517. package/dist/logging/PinoLogger.d.ts +12 -0
  518. package/dist/logging/PinoLogger.d.ts.map +1 -0
  519. package/dist/logging/PinoLogger.js +22 -0
  520. package/dist/logging/PinoLogger.js.map +1 -0
  521. package/dist/logging/loggerFactory.d.ts +6 -0
  522. package/dist/logging/loggerFactory.d.ts.map +1 -0
  523. package/dist/logging/loggerFactory.js +14 -0
  524. package/dist/logging/loggerFactory.js.map +1 -0
  525. package/dist/rag/EmbeddingManager.d.ts +81 -0
  526. package/dist/rag/EmbeddingManager.d.ts.map +1 -0
  527. package/dist/rag/EmbeddingManager.js +412 -0
  528. package/dist/rag/EmbeddingManager.js.map +1 -0
  529. package/dist/rag/IEmbeddingManager.d.ts +277 -0
  530. package/dist/rag/IEmbeddingManager.d.ts.map +1 -0
  531. package/dist/rag/IEmbeddingManager.js +19 -0
  532. package/dist/rag/IEmbeddingManager.js.map +1 -0
  533. package/dist/rag/IRetrievalAugmentor.d.ts +208 -0
  534. package/dist/rag/IRetrievalAugmentor.d.ts.map +1 -0
  535. package/dist/rag/IRetrievalAugmentor.js +21 -0
  536. package/dist/rag/IRetrievalAugmentor.js.map +1 -0
  537. package/dist/rag/IVectorStore.d.ts +351 -0
  538. package/dist/rag/IVectorStore.d.ts.map +1 -0
  539. package/dist/rag/IVectorStore.js +15 -0
  540. package/dist/rag/IVectorStore.js.map +1 -0
  541. package/dist/rag/IVectorStoreManager.d.ts +121 -0
  542. package/dist/rag/IVectorStoreManager.d.ts.map +1 -0
  543. package/dist/rag/IVectorStoreManager.js +13 -0
  544. package/dist/rag/IVectorStoreManager.js.map +1 -0
  545. package/dist/rag/RetrievalAugmentor.d.ts +99 -0
  546. package/dist/rag/RetrievalAugmentor.d.ts.map +1 -0
  547. package/dist/rag/RetrievalAugmentor.js +674 -0
  548. package/dist/rag/RetrievalAugmentor.js.map +1 -0
  549. package/dist/rag/VectorStoreManager.d.ts +90 -0
  550. package/dist/rag/VectorStoreManager.d.ts.map +1 -0
  551. package/dist/rag/VectorStoreManager.js +283 -0
  552. package/dist/rag/VectorStoreManager.js.map +1 -0
  553. package/dist/rag/implementations/index.d.ts +9 -0
  554. package/dist/rag/implementations/index.d.ts.map +1 -0
  555. package/dist/rag/implementations/index.js +9 -0
  556. package/dist/rag/implementations/index.js.map +1 -0
  557. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.d.ts +132 -0
  558. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.d.ts.map +1 -0
  559. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.js +539 -0
  560. package/dist/rag/implementations/vector_stores/InMemoryVectorStore.js.map +1 -0
  561. package/dist/rag/implementations/vector_stores/SqlVectorStore.d.ts +265 -0
  562. package/dist/rag/implementations/vector_stores/SqlVectorStore.d.ts.map +1 -0
  563. package/dist/rag/implementations/vector_stores/SqlVectorStore.js +755 -0
  564. package/dist/rag/implementations/vector_stores/SqlVectorStore.js.map +1 -0
  565. package/dist/rag/implementations/vector_stores/index.d.ts +10 -0
  566. package/dist/rag/implementations/vector_stores/index.d.ts.map +1 -0
  567. package/dist/rag/implementations/vector_stores/index.js +12 -0
  568. package/dist/rag/implementations/vector_stores/index.js.map +1 -0
  569. package/dist/rag/index.d.ts +95 -0
  570. package/dist/rag/index.d.ts.map +1 -0
  571. package/dist/rag/index.js +97 -0
  572. package/dist/rag/index.js.map +1 -0
  573. package/dist/services/user_auth/AuthService.d.ts +13 -0
  574. package/dist/services/user_auth/AuthService.d.ts.map +1 -0
  575. package/dist/services/user_auth/AuthService.js +24 -0
  576. package/dist/services/user_auth/AuthService.js.map +1 -0
  577. package/dist/services/user_auth/SubscriptionService.d.ts +14 -0
  578. package/dist/services/user_auth/SubscriptionService.d.ts.map +1 -0
  579. package/dist/services/user_auth/SubscriptionService.js +34 -0
  580. package/dist/services/user_auth/SubscriptionService.js.map +1 -0
  581. package/dist/services/user_auth/types.d.ts +30 -0
  582. package/dist/services/user_auth/types.d.ts.map +1 -0
  583. package/dist/services/user_auth/types.js +2 -0
  584. package/dist/services/user_auth/types.js.map +1 -0
  585. package/dist/stubs/prismaClient.d.ts +35 -0
  586. package/dist/stubs/prismaClient.d.ts.map +1 -0
  587. package/dist/stubs/prismaClient.js +47 -0
  588. package/dist/stubs/prismaClient.js.map +1 -0
  589. package/dist/types/rateLimitTypes.d.ts +70 -0
  590. package/dist/types/rateLimitTypes.d.ts.map +1 -0
  591. package/dist/types/rateLimitTypes.js +55 -0
  592. package/dist/types/rateLimitTypes.js.map +1 -0
  593. package/dist/utils/errors.d.ts +80 -0
  594. package/dist/utils/errors.d.ts.map +1 -0
  595. package/dist/utils/errors.js +201 -0
  596. package/dist/utils/errors.js.map +1 -0
  597. package/dist/utils/uuid.d.ts +11 -0
  598. package/dist/utils/uuid.d.ts.map +1 -0
  599. package/dist/utils/uuid.js +64 -0
  600. package/dist/utils/uuid.js.map +1 -0
  601. 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":"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"}
@@ -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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"}