@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,327 @@
1
+ /**
2
+ * @fileoverview Core provider contract and shared types for integrating Large Language / Multimodal Model services
3
+ * into AgentOS. Implementations wrap concrete vendor SDKs or HTTP APIs (OpenAI, Anthropic, Ollama, OpenRouter, etc.)
4
+ * and normalize their capabilities into a consistent surface area used by higher‑level orchestration layers
5
+ * (PromptEngine, GMIManager, Utility AI components).
6
+ *
7
+ * Design Goals:
8
+ * 1. Capability Normalization – Chat vs legacy completion, tool/function calling, streaming deltas, embeddings.
9
+ * 2. Deterministic Streaming Semantics – Every streamed chunk is a full `ModelCompletionResponse` fragment with:
10
+ * - optional `responseTextDelta` (string diff)
11
+ * - optional `toolCallsDeltas[]` capturing incremental tool argument assembly
12
+ * - `isFinal` flag to indicate terminal chunk and stable usage metrics.
13
+ * 3. Introspection – Lightweight model catalog (`listAvailableModels`, `getModelInfo`) enabling routing & cost decisions.
14
+ * 4. Resilience & Diagnostics – Uniform error envelope attached to `ModelCompletionResponse.error` for both
15
+ * streaming and non‑streaming calls so upstream layers can surface actionable messages.
16
+ * 5. Strict Initialization Lifecycle – `initialize()` must succeed before any other mutating call.
17
+ *
18
+ * Error Handling Philosophy:
19
+ * - Provider implementations SHOULD translate vendor‑specific errors into a stable structure:
20
+ * { message, type?, code?, details? }.
21
+ * - Transient failures (network timeouts, rate limit backoffs) MAY be surfaced inline; upstream retry policies live above.
22
+ * - Streaming calls MUST emit a terminal chunk with `isFinal: true` even on error (with `error` populated) so consumers
23
+ * can perform consistent teardown.
24
+ *
25
+ * Concurrency & Cancellation:
26
+ * - Implementations MAY support externally triggered abort via custom option (e.g. `customModelParams.abortSignal`).
27
+ * - If supported, aborted streams MUST still resolve the generator cleanly (no thrown error) after emitting a final
28
+ * chunk with `isFinal: true` and an `error` describing the cancellation reason.
29
+ *
30
+ * Token Usage & Cost:
31
+ * - `usage.totalTokens` MUST be present on final responses (streaming or non‑streaming).
32
+ * - Interim streaming chunks SHOULD omit usage or provide partials; callers should treat usage as unstable until final.
33
+ * - `costUSD` is optional; if provided should reflect estimated or actual vendor pricing for the call.
34
+ *
35
+ * @module backend/agentos/core/llm/providers/IProvider
36
+ */
37
+ /**
38
+ * Represents a part of a multimodal message content.
39
+ */
40
+ export type MessageContentPart = {
41
+ type: 'text';
42
+ text: string;
43
+ } | {
44
+ type: 'image_url';
45
+ image_url: {
46
+ url: string;
47
+ detail?: 'low' | 'high' | 'auto';
48
+ };
49
+ } | {
50
+ type: 'tool_result';
51
+ tool_use_id: string;
52
+ content?: string | Array<Record<string, any>>;
53
+ is_error?: boolean;
54
+ } | {
55
+ type: string;
56
+ [key: string]: any;
57
+ };
58
+ /**
59
+ * Generic type for message content, which can be simple text or
60
+ * a structured array for multimodal inputs (e.g., text and image parts).
61
+ */
62
+ export type MessageContent = string | Array<MessageContentPart>;
63
+ /**
64
+ * Represents a single message in a conversation, conforming to a structure
65
+ * widely adopted by chat-based LLM APIs.
66
+ */
67
+ export interface ChatMessage {
68
+ /** The role of the entity sending the message. */
69
+ role: 'system' | 'user' | 'assistant' | 'tool';
70
+ /** The content of the message. Can be simple text or structured for multimodal inputs. */
71
+ content: MessageContent | null;
72
+ /** An optional name for the message author. */
73
+ name?: string;
74
+ /** Identifier for the tool call, present in 'tool' role messages that are responses to a tool call. */
75
+ tool_call_id?: string;
76
+ /** A list of tool calls requested by the assistant. */
77
+ tool_calls?: Array<{
78
+ id: string;
79
+ type: 'function';
80
+ function: {
81
+ name: string;
82
+ arguments: string;
83
+ };
84
+ }>;
85
+ }
86
+ /**
87
+ * General options for model completion requests (both chat and legacy text completion, though chat is prioritized).
88
+ * These options control aspects like creativity, response length, and penalties.
89
+ */
90
+ export interface ModelCompletionOptions {
91
+ /** Identifier of the model to use for completion. */
92
+ modelId?: string;
93
+ /**
94
+ * Controls randomness: lower values make the output more focused and deterministic.
95
+ * Higher values (e.g., 0.8) make it more random.
96
+ */
97
+ temperature?: number;
98
+ /**
99
+ * Nucleus sampling: the model considers only tokens with probabilities summing up to topP.
100
+ * Lower values (e.g., 0.1) mean more restricted, less random output.
101
+ */
102
+ topP?: number;
103
+ /**
104
+ * The maximum number of tokens to generate in the completion.
105
+ */
106
+ maxTokens?: number;
107
+ /**
108
+ * Positive values penalize new tokens based on whether they appear in the text so far,
109
+ * increasing the model's likelihood to talk about new topics.
110
+ */
111
+ presencePenalty?: number;
112
+ /**
113
+ * Positive values penalize new tokens based on their existing frequency in the text so far,
114
+ * decreasing the model's likelihood to repeat the same line verbatim.
115
+ */
116
+ frequencyPenalty?: number;
117
+ /** Sequences where the API will stop generating further tokens. */
118
+ stopSequences?: string[];
119
+ /** A unique identifier representing your end-user. */
120
+ userId?: string;
121
+ /** Allows overriding the default API key for a specific user or request. */
122
+ apiKeyOverride?: string;
123
+ /** For provider-specific parameters not covered by the common options. */
124
+ customModelParams?: Record<string, unknown>;
125
+ /**
126
+ * Optional AbortSignal for caller-driven cancellation. If aborted:
127
+ * - Streaming providers MUST emit a terminal chunk with `isFinal: true` and `error.type='abort'`.
128
+ * - Non-streaming calls SHOULD throw a cancellation error (or return error response if already partially processed).
129
+ */
130
+ abortSignal?: AbortSignal;
131
+ /** Indicates if a streaming response is expected. */
132
+ stream?: boolean;
133
+ /** Schemas of tools the model can call. */
134
+ tools?: Array<Record<string, unknown>>;
135
+ /** Controls how the model uses tools. */
136
+ toolChoice?: string | Record<string, unknown>;
137
+ /** Specifies the format of the response, e.g. for JSON mode. */
138
+ responseFormat?: {
139
+ type: 'text' | 'json_object' | string;
140
+ };
141
+ }
142
+ /**
143
+ * Represents token usage information from a model call, including cost estimation.
144
+ */
145
+ export interface ModelUsage {
146
+ promptTokens?: number;
147
+ completionTokens?: number;
148
+ totalTokens: number;
149
+ costUSD?: number;
150
+ }
151
+ /**
152
+ * Represents a single choice in a model's completion response.
153
+ */
154
+ export interface ModelCompletionChoice {
155
+ index: number;
156
+ message: ChatMessage;
157
+ text?: string;
158
+ logprobs?: unknown;
159
+ finishReason: string | null;
160
+ }
161
+ /**
162
+ * Represents the full response from a model completion call (non-streaming or a single chunk of a stream).
163
+ */
164
+ export interface ModelCompletionResponse {
165
+ /** Provider‑assigned unique identifier for the request or chunk series. */
166
+ id: string;
167
+ /** Stable object/type discriminator (e.g. 'chat.completion.chunk', 'chat.completion'). */
168
+ object: string;
169
+ /** Unix epoch seconds when the provider created this response/chunk. */
170
+ created: number;
171
+ /** Resolved model identifier actually used (may differ from requested if routing / aliasing applied). */
172
+ modelId: string;
173
+ /** One or more choices; for multi‑choice inference some providers return >1. */
174
+ choices: ModelCompletionChoice[];
175
+ /** Token usage & optional cost metrics (present on final chunk; may be partial/omitted on deltas). */
176
+ usage?: ModelUsage;
177
+ /** Unified error envelope; present ONLY if an error occurred for this request/chunk. */
178
+ error?: {
179
+ /** Human readable message suitable for UI display or logging. */
180
+ message: string;
181
+ /** Optional provider/classification type (e.g. 'rate_limit', 'invalid_request'). */
182
+ type?: string;
183
+ /** Numeric or string code for programmatic handling. */
184
+ code?: string | number;
185
+ /** Raw provider payload or structured diagnostic details. */
186
+ details?: unknown;
187
+ };
188
+ /** Incremental append‑only text delta for streaming; NOT cumulative. Undefined on non‑streaming final response. */
189
+ responseTextDelta?: string;
190
+ /** Array of incremental tool/function call argument deltas building up tool invocation payloads. */
191
+ toolCallsDeltas?: Array<{
192
+ /** Choice index if multiple parallel choices produce tool calls. */
193
+ index: number;
194
+ /** Stable tool call id once assigned by provider (may appear after initial delta). */
195
+ id?: string;
196
+ /** Type discriminator; currently 'function' for OpenAI‑style tools. */
197
+ type?: 'function';
198
+ /** Function metadata with incremental argument assembly. */
199
+ function?: {
200
+ /** Function name (first provided delta should include). */
201
+ name?: string;
202
+ /** Partial argument JSON fragment (streamed). Concatenate & then parse when final. */
203
+ arguments_delta?: string;
204
+ };
205
+ }>;
206
+ /** Indicates terminal chunk in a stream. MUST be true on last emission (success or error). */
207
+ isFinal?: boolean;
208
+ }
209
+ /**
210
+ * Options for embedding generation requests at the provider level.
211
+ */
212
+ export interface ProviderEmbeddingOptions {
213
+ model?: string;
214
+ userId?: string;
215
+ apiKeyOverride?: string;
216
+ customModelParams?: Record<string, unknown>;
217
+ encodingFormat?: 'float' | 'base64';
218
+ dimensions?: number;
219
+ inputType?: 'search_document' | 'search_query' | 'classification' | 'clustering' | string;
220
+ }
221
+ /**
222
+ * Represents a single vector embedding object as returned by a provider.
223
+ */
224
+ export interface EmbeddingObject {
225
+ object: 'embedding';
226
+ embedding: number[];
227
+ index: number;
228
+ }
229
+ /**
230
+ * Represents the response from an embedding generation call from a provider.
231
+ */
232
+ export interface ProviderEmbeddingResponse {
233
+ object: 'list';
234
+ data: EmbeddingObject[];
235
+ model: string;
236
+ usage: {
237
+ prompt_tokens: number;
238
+ total_tokens: number;
239
+ costUSD?: number;
240
+ };
241
+ error?: {
242
+ message: string;
243
+ type?: string;
244
+ code?: string | number;
245
+ details?: unknown;
246
+ };
247
+ }
248
+ /**
249
+ * Represents detailed information about a specific AI model available from a provider.
250
+ */
251
+ export interface ModelInfo {
252
+ modelId: string;
253
+ providerId: string;
254
+ displayName?: string;
255
+ description?: string;
256
+ capabilities: Array<'completion' | 'chat' | 'embeddings' | 'vision_input' | 'tool_use' | 'json_mode' | string>;
257
+ contextWindowSize?: number;
258
+ inputTokenLimit?: number;
259
+ outputTokenLimit?: number;
260
+ pricePer1MTokensInput?: number;
261
+ pricePer1MTokensOutput?: number;
262
+ pricePer1MTokensTotal?: number;
263
+ supportsStreaming?: boolean;
264
+ defaultTemperature?: number;
265
+ minSubscriptionTierLevel?: number;
266
+ isDefaultModel?: boolean;
267
+ embeddingDimension?: number;
268
+ lastUpdated?: string;
269
+ status?: 'active' | 'beta' | 'deprecated' | string;
270
+ }
271
+ /**
272
+ * @interface IProvider
273
+ * @description Defines the contract for an AI Model Provider.
274
+ */
275
+ export interface IProvider {
276
+ /** Unique provider identifier (e.g. 'openai', 'ollama', 'openrouter'). */
277
+ readonly providerId: string;
278
+ /** Indicates successful initialization; all operational methods MUST guard against !isInitialized. */
279
+ readonly isInitialized: boolean;
280
+ /** Optional default model to fall back to when caller does not specify one. */
281
+ readonly defaultModelId?: string;
282
+ /**
283
+ * Perform one‑time (or idempotent) initialization: validate credentials, prime model catalog, set defaults.
284
+ * SHOULD throw on unrecoverable misconfiguration (e.g., missing API key) rather than silently degrade.
285
+ * Multiple calls MAY reset internal caches (implementation specific).
286
+ */
287
+ initialize(config: Record<string, any>): Promise<void>;
288
+ /**
289
+ * Single shot (non‑streaming) completion. Provider MUST return a fully assembled
290
+ * `ModelCompletionResponse` with `isFinal` either omitted or true, containing full text in `choices[].message.content`.
291
+ * @param modelId Target model identifier (may be validated or routed).
292
+ * @param messages Prior conversation messages (system+user+assistant+tool) shaped per unified ChatMessage.
293
+ * @param options Completion tuning & feature flags (temperature, tools, json mode, etc.).
294
+ * @throws Error if provider not initialized or request irrecoverably invalid.
295
+ */
296
+ generateCompletion(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): Promise<ModelCompletionResponse>;
297
+ /**
298
+ * Streaming completion. Returns an async generator yielding incremental deltas.
299
+ * REQUIRED invariants:
300
+ * - First chunk SHOULD include `id`, `modelId`, `object`, and MAY start text/tool deltas.
301
+ * - `responseTextDelta` values MUST be append‑only segments (caller concatenates in order).
302
+ * - Tool call reconstruction: concatenate `arguments_delta` per (index,id) then JSON parse when final.
303
+ * - Exactly one chunk MUST set `isFinal: true` (last). Final chunk SHOULD include usage & any error.
304
+ * - If an error occurs mid‑stream, emit a final chunk with `error` populated then end generator.
305
+ * @returns AsyncGenerator<ModelCompletionResponse>
306
+ */
307
+ generateCompletionStream(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): AsyncGenerator<ModelCompletionResponse, void, undefined>;
308
+ /**
309
+ * Generate embeddings for a batch of input texts. Provider MAY chunk internally but MUST return consolidated
310
+ * response with ordering preserved (indices map to input position).
311
+ */
312
+ generateEmbeddings(modelId: string, texts: string[], options?: ProviderEmbeddingOptions): Promise<ProviderEmbeddingResponse>;
313
+ /** List available models, optionally filtered by required capability (e.g. 'embeddings'). */
314
+ listAvailableModels(filter?: {
315
+ capability?: 'completion' | 'chat' | 'embeddings' | string;
316
+ }): Promise<ModelInfo[]>;
317
+ /** Retrieve detailed metadata about a specific model; undefined if unknown or catalog not loaded. */
318
+ getModelInfo(modelId: string): Promise<ModelInfo | undefined>;
319
+ /** Lightweight health signal; SHOULD avoid heavy network calls. */
320
+ checkHealth(): Promise<{
321
+ isHealthy: boolean;
322
+ details?: unknown;
323
+ }>;
324
+ /** Graceful teardown: release sockets, abort inflight requests, flush caches. Idempotent. */
325
+ shutdown(): Promise<void>;
326
+ }
327
+ //# sourceMappingURL=IProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/llm/providers/IProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ // File: backend/agentos/core/llm/providers/IProvider.ts
2
+ /**
3
+ * @fileoverview Core provider contract and shared types for integrating Large Language / Multimodal Model services
4
+ * into AgentOS. Implementations wrap concrete vendor SDKs or HTTP APIs (OpenAI, Anthropic, Ollama, OpenRouter, etc.)
5
+ * and normalize their capabilities into a consistent surface area used by higher‑level orchestration layers
6
+ * (PromptEngine, GMIManager, Utility AI components).
7
+ *
8
+ * Design Goals:
9
+ * 1. Capability Normalization – Chat vs legacy completion, tool/function calling, streaming deltas, embeddings.
10
+ * 2. Deterministic Streaming Semantics – Every streamed chunk is a full `ModelCompletionResponse` fragment with:
11
+ * - optional `responseTextDelta` (string diff)
12
+ * - optional `toolCallsDeltas[]` capturing incremental tool argument assembly
13
+ * - `isFinal` flag to indicate terminal chunk and stable usage metrics.
14
+ * 3. Introspection – Lightweight model catalog (`listAvailableModels`, `getModelInfo`) enabling routing & cost decisions.
15
+ * 4. Resilience & Diagnostics – Uniform error envelope attached to `ModelCompletionResponse.error` for both
16
+ * streaming and non‑streaming calls so upstream layers can surface actionable messages.
17
+ * 5. Strict Initialization Lifecycle – `initialize()` must succeed before any other mutating call.
18
+ *
19
+ * Error Handling Philosophy:
20
+ * - Provider implementations SHOULD translate vendor‑specific errors into a stable structure:
21
+ * { message, type?, code?, details? }.
22
+ * - Transient failures (network timeouts, rate limit backoffs) MAY be surfaced inline; upstream retry policies live above.
23
+ * - Streaming calls MUST emit a terminal chunk with `isFinal: true` even on error (with `error` populated) so consumers
24
+ * can perform consistent teardown.
25
+ *
26
+ * Concurrency & Cancellation:
27
+ * - Implementations MAY support externally triggered abort via custom option (e.g. `customModelParams.abortSignal`).
28
+ * - If supported, aborted streams MUST still resolve the generator cleanly (no thrown error) after emitting a final
29
+ * chunk with `isFinal: true` and an `error` describing the cancellation reason.
30
+ *
31
+ * Token Usage & Cost:
32
+ * - `usage.totalTokens` MUST be present on final responses (streaming or non‑streaming).
33
+ * - Interim streaming chunks SHOULD omit usage or provide partials; callers should treat usage as unstable until final.
34
+ * - `costUSD` is optional; if provided should reflect estimated or actual vendor pricing for the call.
35
+ *
36
+ * @module backend/agentos/core/llm/providers/IProvider
37
+ */
38
+ export {};
39
+ //# sourceMappingURL=IProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProvider.js","sourceRoot":"","sources":["../../../../src/core/llm/providers/IProvider.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview Defines a custom error class for Ollama-specific provider errors.
3
+ * This extends the base {@link ProviderError} to include details specific to Ollama API interactions.
4
+ * @module backend/agentos/core/llm/providers/errors/OllamaProviderError
5
+ * @see {@link ./ProviderError.ts}
6
+ */
7
+ import { ProviderError } from './ProviderError';
8
+ /**
9
+ * Represents an error specific to the Ollama provider.
10
+ * It can include additional context like HTTP status codes or specific Ollama error messages.
11
+ *
12
+ * @example
13
+ * try {
14
+ * // Ollama API call
15
+ * } catch (error) {
16
+ * if (error instanceof OllamaProviderError) {
17
+ * console.error(`Ollama Error (Status: ${error.httpStatus || 'N/A'}): ${error.message}`);
18
+ * // Handle Ollama-specific error properties
19
+ * } else {
20
+ * // Handle other errors
21
+ * }
22
+ * }
23
+ */
24
+ export declare class OllamaProviderError extends ProviderError {
25
+ /** HTTP status code from the API response (e.g., 400, 404, 500). */
26
+ readonly httpStatus?: number;
27
+ /**
28
+ * Creates an instance of OllamaProviderError.
29
+ * @param {string} message - A human-readable description of the error.
30
+ * @param {string} code - A unique AgentOS internal code identifying the type of error (e.g., 'CONNECTION_FAILED', 'API_ERROR').
31
+ * @param {number} [httpStatus] - HTTP status code from the API response.
32
+ * @param {unknown} [details] - Optional underlying error object or additional context from Ollama.
33
+ */
34
+ constructor(message: string, code: string, httpStatus?: number, details?: unknown);
35
+ }
36
+ //# sourceMappingURL=OllamaProviderError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OllamaProviderError.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/errors/OllamaProviderError.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,oEAAoE;IACpE,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;;OAMG;gBAED,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO;CAQpB"}
@@ -0,0 +1,40 @@
1
+ // File: backend/agentos/core/llm/providers/errors/OllamaProviderError.ts
2
+ /**
3
+ * @fileoverview Defines a custom error class for Ollama-specific provider errors.
4
+ * This extends the base {@link ProviderError} to include details specific to Ollama API interactions.
5
+ * @module backend/agentos/core/llm/providers/errors/OllamaProviderError
6
+ * @see {@link ./ProviderError.ts}
7
+ */
8
+ import { ProviderError } from './ProviderError.js';
9
+ /**
10
+ * Represents an error specific to the Ollama provider.
11
+ * It can include additional context like HTTP status codes or specific Ollama error messages.
12
+ *
13
+ * @example
14
+ * try {
15
+ * // Ollama API call
16
+ * } catch (error) {
17
+ * if (error instanceof OllamaProviderError) {
18
+ * console.error(`Ollama Error (Status: ${error.httpStatus || 'N/A'}): ${error.message}`);
19
+ * // Handle Ollama-specific error properties
20
+ * } else {
21
+ * // Handle other errors
22
+ * }
23
+ * }
24
+ */
25
+ export class OllamaProviderError extends ProviderError {
26
+ /**
27
+ * Creates an instance of OllamaProviderError.
28
+ * @param {string} message - A human-readable description of the error.
29
+ * @param {string} code - A unique AgentOS internal code identifying the type of error (e.g., 'CONNECTION_FAILED', 'API_ERROR').
30
+ * @param {number} [httpStatus] - HTTP status code from the API response.
31
+ * @param {unknown} [details] - Optional underlying error object or additional context from Ollama.
32
+ */
33
+ constructor(message, code, httpStatus, details) {
34
+ super(message, code, 'ollama', details); // ProviderId is 'ollama'
35
+ this.name = 'OllamaProviderError';
36
+ this.httpStatus = httpStatus;
37
+ Object.setPrototypeOf(this, OllamaProviderError.prototype);
38
+ }
39
+ }
40
+ //# sourceMappingURL=OllamaProviderError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OllamaProviderError.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/errors/OllamaProviderError.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAIpD;;;;;;OAMG;IACH,YACE,OAAe,EACf,IAAY,EACZ,UAAmB,EACnB,OAAiB;QAEjB,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAClE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview Defines a custom error class for OpenAI-specific provider errors.
3
+ * This extends the base {@link ProviderError} to include details specific to OpenAI API interactions.
4
+ * @module backend/agentos/core/llm/providers/errors/OpenAIProviderError
5
+ * @see {@link ./ProviderError.ts}
6
+ */
7
+ import { ProviderError } from './ProviderError';
8
+ /**
9
+ * Represents an error specific to the OpenAI provider.
10
+ * It includes additional context like OpenAI-specific error codes, types, and HTTP status.
11
+ *
12
+ * @example
13
+ * try {
14
+ * // OpenAI API call
15
+ * } catch (error) {
16
+ * if (error instanceof OpenAIProviderError) {
17
+ * console.error(`OpenAI Error (${error.openaiErrorCode || 'N/A'}): ${error.message}`);
18
+ * // Handle OpenAI-specific error properties
19
+ * } else {
20
+ * // Handle other errors
21
+ * }
22
+ * }
23
+ */
24
+ export declare class OpenAIProviderError extends ProviderError {
25
+ /** OpenAI-specific error code from the API response (e.g., "invalid_api_key", "rate_limit_exceeded"). */
26
+ readonly openaiErrorCode?: string;
27
+ /** OpenAI error type classification (e.g., "invalid_request_error", "api_error"). */
28
+ readonly openaiErrorType?: string;
29
+ /** HTTP status code from the API response (e.g., 400, 401, 429, 500). */
30
+ readonly httpStatus?: number;
31
+ /**
32
+ * Creates an instance of OpenAIProviderError.
33
+ * @param {string} message - A human-readable description of the error.
34
+ * @param {string} code - A unique AgentOS internal code identifying the type of error (e.g., 'API_REQUEST_FAILED', 'AUTHENTICATION_ERROR').
35
+ * @param {string} [openaiErrorCode] - OpenAI-specific error code from the API response.
36
+ * @param {string} [openaiErrorType] - OpenAI error type classification.
37
+ * @param {number} [httpStatus] - HTTP status code from the API response.
38
+ * @param {unknown} [details] - Optional underlying error object or additional context.
39
+ */
40
+ constructor(message: string, code: string, openaiErrorCode?: string, openaiErrorType?: string, httpStatus?: number, details?: unknown);
41
+ }
42
+ //# sourceMappingURL=OpenAIProviderError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIProviderError.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/errors/OpenAIProviderError.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,yGAAyG;IACzG,SAAgB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzC,qFAAqF;IACrF,SAAgB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzC,yEAAyE;IACzE,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;;;;OAQG;gBAED,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO;CAUpB"}
@@ -0,0 +1,44 @@
1
+ // File: backend/agentos/core/llm/providers/errors/OpenAIProviderError.ts
2
+ /**
3
+ * @fileoverview Defines a custom error class for OpenAI-specific provider errors.
4
+ * This extends the base {@link ProviderError} to include details specific to OpenAI API interactions.
5
+ * @module backend/agentos/core/llm/providers/errors/OpenAIProviderError
6
+ * @see {@link ./ProviderError.ts}
7
+ */
8
+ import { ProviderError } from './ProviderError.js';
9
+ /**
10
+ * Represents an error specific to the OpenAI provider.
11
+ * It includes additional context like OpenAI-specific error codes, types, and HTTP status.
12
+ *
13
+ * @example
14
+ * try {
15
+ * // OpenAI API call
16
+ * } catch (error) {
17
+ * if (error instanceof OpenAIProviderError) {
18
+ * console.error(`OpenAI Error (${error.openaiErrorCode || 'N/A'}): ${error.message}`);
19
+ * // Handle OpenAI-specific error properties
20
+ * } else {
21
+ * // Handle other errors
22
+ * }
23
+ * }
24
+ */
25
+ export class OpenAIProviderError extends ProviderError {
26
+ /**
27
+ * Creates an instance of OpenAIProviderError.
28
+ * @param {string} message - A human-readable description of the error.
29
+ * @param {string} code - A unique AgentOS internal code identifying the type of error (e.g., 'API_REQUEST_FAILED', 'AUTHENTICATION_ERROR').
30
+ * @param {string} [openaiErrorCode] - OpenAI-specific error code from the API response.
31
+ * @param {string} [openaiErrorType] - OpenAI error type classification.
32
+ * @param {number} [httpStatus] - HTTP status code from the API response.
33
+ * @param {unknown} [details] - Optional underlying error object or additional context.
34
+ */
35
+ constructor(message, code, openaiErrorCode, openaiErrorType, httpStatus, details) {
36
+ super(message, code, 'openai', details); // ProviderId is 'openai'
37
+ this.name = 'OpenAIProviderError';
38
+ this.openaiErrorCode = openaiErrorCode;
39
+ this.openaiErrorType = openaiErrorType;
40
+ this.httpStatus = httpStatus;
41
+ Object.setPrototypeOf(this, OpenAIProviderError.prototype);
42
+ }
43
+ }
44
+ //# sourceMappingURL=OpenAIProviderError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIProviderError.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/errors/OpenAIProviderError.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAUpD;;;;;;;;OAQG;IACH,YACE,OAAe,EACf,IAAY,EACZ,eAAwB,EACxB,eAAwB,EACxB,UAAmB,EACnB,OAAiB;QAEjB,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,yBAAyB;QAClE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @fileoverview Defines a custom error class for OpenRouter-specific provider errors.
3
+ * This extends the base {@link ProviderError} to include details specific to OpenRouter API interactions.
4
+ * @module backend/agentos/core/llm/providers/errors/OpenRouterProviderError
5
+ * @see {@link ./ProviderError.ts}
6
+ */
7
+ import { ProviderError } from './ProviderError';
8
+ /**
9
+ * Represents an error specific to the OpenRouter provider.
10
+ * It can include additional context like HTTP status codes or specific OpenRouter error messages.
11
+ *
12
+ * @example
13
+ * try {
14
+ * // OpenRouter API call
15
+ * } catch (error) {
16
+ * if (error instanceof OpenRouterProviderError) {
17
+ * console.error(`OpenRouter Error (Status: ${error.httpStatus || 'N/A'}, Type: ${error.openRouterErrorType || 'N/A'}): ${error.message}`);
18
+ * // Handle OpenRouter-specific error properties
19
+ * } else {
20
+ * // Handle other errors
21
+ * }
22
+ * }
23
+ */
24
+ export declare class OpenRouterProviderError extends ProviderError {
25
+ /** HTTP status code from the API response (e.g., 400, 401, 429, 500). */
26
+ readonly httpStatus?: number;
27
+ /** OpenRouter specific error type, if available from the response. */
28
+ readonly openRouterErrorType?: string;
29
+ /**
30
+ * Creates an instance of OpenRouterProviderError.
31
+ * @param {string} message - A human-readable description of the error.
32
+ * @param {string} code - A unique AgentOS internal code identifying the type of error (e.g., 'API_REQUEST_FAILED', 'INVALID_ROUTE').
33
+ * @param {number} [httpStatus] - HTTP status code from the API response.
34
+ * @param {string} [openRouterErrorType] - OpenRouter specific error type.
35
+ * @param {unknown} [details] - Optional underlying error object or additional context from OpenRouter.
36
+ */
37
+ constructor(message: string, code: string, httpStatus?: number, openRouterErrorType?: string, details?: unknown);
38
+ }
39
+ //# sourceMappingURL=OpenRouterProviderError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenRouterProviderError.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/errors/OpenRouterProviderError.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,yEAAyE;IACzE,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC,sEAAsE;IACtE,SAAgB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7C;;;;;;;OAOG;gBAED,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE,OAAO;CASpB"}
@@ -0,0 +1,42 @@
1
+ // File: backend/agentos/core/llm/providers/errors/OpenRouterProviderError.ts
2
+ /**
3
+ * @fileoverview Defines a custom error class for OpenRouter-specific provider errors.
4
+ * This extends the base {@link ProviderError} to include details specific to OpenRouter API interactions.
5
+ * @module backend/agentos/core/llm/providers/errors/OpenRouterProviderError
6
+ * @see {@link ./ProviderError.ts}
7
+ */
8
+ import { ProviderError } from './ProviderError.js';
9
+ /**
10
+ * Represents an error specific to the OpenRouter provider.
11
+ * It can include additional context like HTTP status codes or specific OpenRouter error messages.
12
+ *
13
+ * @example
14
+ * try {
15
+ * // OpenRouter API call
16
+ * } catch (error) {
17
+ * if (error instanceof OpenRouterProviderError) {
18
+ * console.error(`OpenRouter Error (Status: ${error.httpStatus || 'N/A'}, Type: ${error.openRouterErrorType || 'N/A'}): ${error.message}`);
19
+ * // Handle OpenRouter-specific error properties
20
+ * } else {
21
+ * // Handle other errors
22
+ * }
23
+ * }
24
+ */
25
+ export class OpenRouterProviderError extends ProviderError {
26
+ /**
27
+ * Creates an instance of OpenRouterProviderError.
28
+ * @param {string} message - A human-readable description of the error.
29
+ * @param {string} code - A unique AgentOS internal code identifying the type of error (e.g., 'API_REQUEST_FAILED', 'INVALID_ROUTE').
30
+ * @param {number} [httpStatus] - HTTP status code from the API response.
31
+ * @param {string} [openRouterErrorType] - OpenRouter specific error type.
32
+ * @param {unknown} [details] - Optional underlying error object or additional context from OpenRouter.
33
+ */
34
+ constructor(message, code, httpStatus, openRouterErrorType, details) {
35
+ super(message, code, 'openrouter', details); // ProviderId is 'openrouter'
36
+ this.name = 'OpenRouterProviderError';
37
+ this.httpStatus = httpStatus;
38
+ this.openRouterErrorType = openRouterErrorType;
39
+ Object.setPrototypeOf(this, OpenRouterProviderError.prototype);
40
+ }
41
+ }
42
+ //# sourceMappingURL=OpenRouterProviderError.js.map