@framers/agentos 0.1.112 → 0.1.114

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 (552) hide show
  1. package/README.md +39 -5
  2. package/dist/api/AgentOS.d.ts +45 -12
  3. package/dist/api/AgentOS.d.ts.map +1 -1
  4. package/dist/api/AgentOS.js +225 -78
  5. package/dist/api/AgentOS.js.map +1 -1
  6. package/dist/api/AgentOSOrchestrator.d.ts +8 -0
  7. package/dist/api/AgentOSOrchestrator.d.ts.map +1 -1
  8. package/dist/api/AgentOSOrchestrator.js +350 -59
  9. package/dist/api/AgentOSOrchestrator.js.map +1 -1
  10. package/dist/api/StreamChunkEmitter.d.ts.map +1 -1
  11. package/dist/api/StreamChunkEmitter.js +2 -0
  12. package/dist/api/StreamChunkEmitter.js.map +1 -1
  13. package/dist/api/agency.d.ts.map +1 -1
  14. package/dist/api/agency.js +47 -1
  15. package/dist/api/agency.js.map +1 -1
  16. package/dist/api/agent.d.ts +18 -5
  17. package/dist/api/agent.d.ts.map +1 -1
  18. package/dist/api/agent.js +48 -9
  19. package/dist/api/agent.js.map +1 -1
  20. package/dist/api/agentExport.d.ts +202 -0
  21. package/dist/api/agentExport.d.ts.map +1 -0
  22. package/dist/api/agentExport.js +323 -0
  23. package/dist/api/agentExport.js.map +1 -0
  24. package/dist/api/editImage.d.ts +119 -0
  25. package/dist/api/editImage.d.ts.map +1 -0
  26. package/dist/api/editImage.js +150 -0
  27. package/dist/api/editImage.js.map +1 -0
  28. package/dist/api/embedText.d.ts +137 -0
  29. package/dist/api/embedText.d.ts.map +1 -0
  30. package/dist/api/embedText.js +229 -0
  31. package/dist/api/embedText.js.map +1 -0
  32. package/dist/api/externalToolRegistry.d.ts +44 -0
  33. package/dist/api/externalToolRegistry.d.ts.map +1 -0
  34. package/dist/api/externalToolRegistry.js +245 -0
  35. package/dist/api/externalToolRegistry.js.map +1 -0
  36. package/dist/api/generateImage.d.ts +1 -1
  37. package/dist/api/generateImage.d.ts.map +1 -1
  38. package/dist/api/generateImage.js +17 -13
  39. package/dist/api/generateImage.js.map +1 -1
  40. package/dist/api/generateObject.d.ts +185 -0
  41. package/dist/api/generateObject.d.ts.map +1 -0
  42. package/dist/api/generateObject.js +249 -0
  43. package/dist/api/generateObject.js.map +1 -0
  44. package/dist/api/generateText.d.ts +13 -3
  45. package/dist/api/generateText.d.ts.map +1 -1
  46. package/dist/api/generateText.js +20 -5
  47. package/dist/api/generateText.js.map +1 -1
  48. package/dist/api/interfaces/IAgentOS.d.ts +29 -1
  49. package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
  50. package/dist/api/model.d.ts +7 -7
  51. package/dist/api/model.d.ts.map +1 -1
  52. package/dist/api/model.js +22 -16
  53. package/dist/api/model.js.map +1 -1
  54. package/dist/api/processRequestWithExternalTools.d.ts +26 -0
  55. package/dist/api/processRequestWithExternalTools.d.ts.map +1 -0
  56. package/dist/api/processRequestWithExternalTools.js +52 -0
  57. package/dist/api/processRequestWithExternalTools.js.map +1 -0
  58. package/dist/api/processRequestWithRegisteredTools.d.ts +56 -0
  59. package/dist/api/processRequestWithRegisteredTools.d.ts.map +1 -0
  60. package/dist/api/processRequestWithRegisteredTools.js +125 -0
  61. package/dist/api/processRequestWithRegisteredTools.js.map +1 -0
  62. package/dist/api/provider-defaults.d.ts.map +1 -1
  63. package/dist/api/provider-defaults.js +28 -0
  64. package/dist/api/provider-defaults.js.map +1 -1
  65. package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts +71 -0
  66. package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts.map +1 -0
  67. package/dist/api/resumeExternalToolRequestWithRegisteredTools.js +159 -0
  68. package/dist/api/resumeExternalToolRequestWithRegisteredTools.js.map +1 -0
  69. package/dist/api/strategies/agentGraphBuilder.d.ts +170 -0
  70. package/dist/api/strategies/agentGraphBuilder.d.ts.map +1 -0
  71. package/dist/api/strategies/agentGraphBuilder.js +299 -0
  72. package/dist/api/strategies/agentGraphBuilder.js.map +1 -0
  73. package/dist/api/strategies/debate.d.ts +12 -1
  74. package/dist/api/strategies/debate.d.ts.map +1 -1
  75. package/dist/api/strategies/debate.js +41 -5
  76. package/dist/api/strategies/debate.js.map +1 -1
  77. package/dist/api/strategies/graphCompiler.d.ts +84 -0
  78. package/dist/api/strategies/graphCompiler.d.ts.map +1 -0
  79. package/dist/api/strategies/graphCompiler.js +617 -0
  80. package/dist/api/strategies/graphCompiler.js.map +1 -0
  81. package/dist/api/strategies/hierarchical.d.ts +15 -1
  82. package/dist/api/strategies/hierarchical.d.ts.map +1 -1
  83. package/dist/api/strategies/hierarchical.js +53 -8
  84. package/dist/api/strategies/hierarchical.js.map +1 -1
  85. package/dist/api/strategies/index.d.ts +29 -4
  86. package/dist/api/strategies/index.d.ts.map +1 -1
  87. package/dist/api/strategies/index.js +28 -4
  88. package/dist/api/strategies/index.js.map +1 -1
  89. package/dist/api/strategies/parallel.d.ts +15 -4
  90. package/dist/api/strategies/parallel.d.ts.map +1 -1
  91. package/dist/api/strategies/parallel.js +53 -16
  92. package/dist/api/strategies/parallel.js.map +1 -1
  93. package/dist/api/strategies/review-loop.d.ts +15 -1
  94. package/dist/api/strategies/review-loop.d.ts.map +1 -1
  95. package/dist/api/strategies/review-loop.js +36 -10
  96. package/dist/api/strategies/review-loop.js.map +1 -1
  97. package/dist/api/strategies/sequential.d.ts +11 -1
  98. package/dist/api/strategies/sequential.d.ts.map +1 -1
  99. package/dist/api/strategies/sequential.js +39 -8
  100. package/dist/api/strategies/sequential.js.map +1 -1
  101. package/dist/api/strategies/shared.d.ts +72 -8
  102. package/dist/api/strategies/shared.d.ts.map +1 -1
  103. package/dist/api/strategies/shared.js +92 -12
  104. package/dist/api/strategies/shared.js.map +1 -1
  105. package/dist/api/streamObject.d.ts +166 -0
  106. package/dist/api/streamObject.d.ts.map +1 -0
  107. package/dist/api/streamObject.js +268 -0
  108. package/dist/api/streamObject.js.map +1 -0
  109. package/dist/api/streamText.d.ts +1 -1
  110. package/dist/api/streamText.d.ts.map +1 -1
  111. package/dist/api/streamText.js +26 -8
  112. package/dist/api/streamText.js.map +1 -1
  113. package/dist/api/toolAdapter.d.ts +44 -8
  114. package/dist/api/toolAdapter.d.ts.map +1 -1
  115. package/dist/api/toolAdapter.js +224 -45
  116. package/dist/api/toolAdapter.js.map +1 -1
  117. package/dist/api/types/AgentOSExternalToolRequest.d.ts +35 -0
  118. package/dist/api/types/AgentOSExternalToolRequest.d.ts.map +1 -0
  119. package/dist/api/types/AgentOSExternalToolRequest.js +2 -0
  120. package/dist/api/types/AgentOSExternalToolRequest.js.map +1 -0
  121. package/dist/api/types/AgentOSResponse.d.ts +25 -0
  122. package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
  123. package/dist/api/types/AgentOSResponse.js +20 -0
  124. package/dist/api/types/AgentOSResponse.js.map +1 -1
  125. package/dist/api/types/AgentOSToolResult.d.ts +11 -0
  126. package/dist/api/types/AgentOSToolResult.d.ts.map +1 -0
  127. package/dist/api/types/AgentOSToolResult.js +2 -0
  128. package/dist/api/types/AgentOSToolResult.js.map +1 -0
  129. package/dist/api/types.d.ts +81 -4
  130. package/dist/api/types.d.ts.map +1 -1
  131. package/dist/api/types.js.map +1 -1
  132. package/dist/api/upscaleImage.d.ts +92 -0
  133. package/dist/api/upscaleImage.d.ts.map +1 -0
  134. package/dist/api/upscaleImage.js +133 -0
  135. package/dist/api/upscaleImage.js.map +1 -0
  136. package/dist/api/variateImage.d.ts +102 -0
  137. package/dist/api/variateImage.d.ts.map +1 -0
  138. package/dist/api/variateImage.js +154 -0
  139. package/dist/api/variateImage.js.map +1 -0
  140. package/dist/cognitive_substrate/GMI.d.ts +16 -2
  141. package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
  142. package/dist/cognitive_substrate/GMI.js +188 -56
  143. package/dist/cognitive_substrate/GMI.js.map +1 -1
  144. package/dist/cognitive_substrate/IGMI.d.ts +10 -0
  145. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
  146. package/dist/cognitive_substrate/IGMI.js.map +1 -1
  147. package/dist/config/AgentOSConfig.d.ts +19 -2
  148. package/dist/config/AgentOSConfig.d.ts.map +1 -1
  149. package/dist/config/AgentOSConfig.js +46 -29
  150. package/dist/config/AgentOSConfig.js.map +1 -1
  151. package/dist/core/guardrails/IGuardrailService.d.ts +1 -1
  152. package/dist/core/images/IImageProvider.d.ts +93 -0
  153. package/dist/core/images/IImageProvider.d.ts.map +1 -1
  154. package/dist/core/images/IImageProvider.js.map +1 -1
  155. package/dist/core/images/ImageOperationError.d.ts +52 -0
  156. package/dist/core/images/ImageOperationError.d.ts.map +1 -0
  157. package/dist/core/images/ImageOperationError.js +58 -0
  158. package/dist/core/images/ImageOperationError.js.map +1 -0
  159. package/dist/core/images/imageToBuffer.d.ts +41 -0
  160. package/dist/core/images/imageToBuffer.d.ts.map +1 -0
  161. package/dist/core/images/imageToBuffer.js +95 -0
  162. package/dist/core/images/imageToBuffer.js.map +1 -0
  163. package/dist/core/images/index.d.ts +4 -0
  164. package/dist/core/images/index.d.ts.map +1 -1
  165. package/dist/core/images/index.js +8 -0
  166. package/dist/core/images/index.js.map +1 -1
  167. package/dist/core/images/providers/FalImageProvider.d.ts +208 -0
  168. package/dist/core/images/providers/FalImageProvider.d.ts.map +1 -0
  169. package/dist/core/images/providers/FalImageProvider.js +301 -0
  170. package/dist/core/images/providers/FalImageProvider.js.map +1 -0
  171. package/dist/core/images/providers/FluxImageProvider.d.ts +197 -0
  172. package/dist/core/images/providers/FluxImageProvider.d.ts.map +1 -0
  173. package/dist/core/images/providers/FluxImageProvider.js +271 -0
  174. package/dist/core/images/providers/FluxImageProvider.js.map +1 -0
  175. package/dist/core/images/providers/OpenAIImageProvider.d.ts +33 -1
  176. package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -1
  177. package/dist/core/images/providers/OpenAIImageProvider.js +125 -0
  178. package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -1
  179. package/dist/core/images/providers/ReplicateImageProvider.d.ts +26 -1
  180. package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -1
  181. package/dist/core/images/providers/ReplicateImageProvider.js +118 -0
  182. package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -1
  183. package/dist/core/images/providers/StabilityImageProvider.d.ts +41 -1
  184. package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -1
  185. package/dist/core/images/providers/StabilityImageProvider.js +180 -7
  186. package/dist/core/images/providers/StabilityImageProvider.js.map +1 -1
  187. package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts +29 -1
  188. package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts.map +1 -1
  189. package/dist/core/images/providers/StableDiffusionLocalProvider.js +124 -0
  190. package/dist/core/images/providers/StableDiffusionLocalProvider.js.map +1 -1
  191. package/dist/core/llm/IPromptEngine.d.ts +2 -2
  192. package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
  193. package/dist/core/llm/IPromptEngine.js +2 -2
  194. package/dist/core/llm/IPromptEngine.js.map +1 -1
  195. package/dist/core/llm/providers/AIModelProviderManager.d.ts +7 -1
  196. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
  197. package/dist/core/llm/providers/AIModelProviderManager.js +24 -0
  198. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
  199. package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts +42 -0
  200. package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts.map +1 -0
  201. package/dist/core/llm/providers/errors/AnthropicProviderError.js +45 -0
  202. package/dist/core/llm/providers/errors/AnthropicProviderError.js.map +1 -0
  203. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +45 -0
  204. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -0
  205. package/dist/core/llm/providers/errors/GeminiProviderError.js +46 -0
  206. package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -0
  207. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +1 -1
  208. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -1
  209. package/dist/core/llm/providers/errors/OllamaProviderError.js +1 -1
  210. package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -1
  211. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +1 -1
  212. package/dist/core/llm/providers/errors/OpenAIProviderError.js +1 -1
  213. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +1 -1
  214. package/dist/core/llm/providers/errors/OpenRouterProviderError.js +1 -1
  215. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +340 -0
  216. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -0
  217. package/dist/core/llm/providers/implementations/AnthropicProvider.js +959 -0
  218. package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -0
  219. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +339 -0
  220. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -0
  221. package/dist/core/llm/providers/implementations/GeminiProvider.js +1004 -0
  222. package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -0
  223. package/dist/core/llm/providers/implementations/GroqProvider.d.ts +105 -0
  224. package/dist/core/llm/providers/implementations/GroqProvider.d.ts.map +1 -0
  225. package/dist/core/llm/providers/implementations/GroqProvider.js +134 -0
  226. package/dist/core/llm/providers/implementations/GroqProvider.js.map +1 -0
  227. package/dist/core/llm/providers/implementations/MistralProvider.d.ts +105 -0
  228. package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -0
  229. package/dist/core/llm/providers/implementations/MistralProvider.js +146 -0
  230. package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -0
  231. package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +107 -0
  232. package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -0
  233. package/dist/core/llm/providers/implementations/TogetherProvider.js +138 -0
  234. package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -0
  235. package/dist/core/llm/providers/implementations/XAIProvider.d.ts +102 -0
  236. package/dist/core/llm/providers/implementations/XAIProvider.d.ts.map +1 -0
  237. package/dist/core/llm/providers/implementations/XAIProvider.js +123 -0
  238. package/dist/core/llm/providers/implementations/XAIProvider.js.map +1 -0
  239. package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -1
  240. package/dist/core/orchestration/AgentOrchestrator.js +26 -5
  241. package/dist/core/orchestration/AgentOrchestrator.js.map +1 -1
  242. package/dist/core/tools/IToolOrchestrator.d.ts +2 -2
  243. package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
  244. package/dist/core/tools/ToolExecutor.d.ts +3 -0
  245. package/dist/core/tools/ToolExecutor.d.ts.map +1 -1
  246. package/dist/core/tools/ToolExecutor.js +2 -1
  247. package/dist/core/tools/ToolExecutor.js.map +1 -1
  248. package/dist/core/tools/ToolOrchestrator.d.ts +7 -7
  249. package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
  250. package/dist/core/tools/ToolOrchestrator.js +135 -36
  251. package/dist/core/tools/ToolOrchestrator.js.map +1 -1
  252. package/dist/core/tools/permissions/ToolPermissionManager.d.ts +6 -5
  253. package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -1
  254. package/dist/core/tools/permissions/ToolPermissionManager.js +47 -21
  255. package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -1
  256. package/dist/core/vision/VisionPipeline.d.ts +437 -0
  257. package/dist/core/vision/VisionPipeline.d.ts.map +1 -0
  258. package/dist/core/vision/VisionPipeline.js +1113 -0
  259. package/dist/core/vision/VisionPipeline.js.map +1 -0
  260. package/dist/core/vision/index.d.ts +97 -0
  261. package/dist/core/vision/index.d.ts.map +1 -0
  262. package/dist/core/vision/index.js +182 -0
  263. package/dist/core/vision/index.js.map +1 -0
  264. package/dist/core/vision/providers/LLMVisionProvider.d.ts +135 -0
  265. package/dist/core/vision/providers/LLMVisionProvider.d.ts.map +1 -0
  266. package/dist/core/vision/providers/LLMVisionProvider.js +136 -0
  267. package/dist/core/vision/providers/LLMVisionProvider.js.map +1 -0
  268. package/dist/core/vision/providers/PipelineVisionProvider.d.ts +154 -0
  269. package/dist/core/vision/providers/PipelineVisionProvider.d.ts.map +1 -0
  270. package/dist/core/vision/providers/PipelineVisionProvider.js +160 -0
  271. package/dist/core/vision/providers/PipelineVisionProvider.js.map +1 -0
  272. package/dist/core/vision/types.d.ts +286 -0
  273. package/dist/core/vision/types.d.ts.map +1 -0
  274. package/dist/core/vision/types.js +24 -0
  275. package/dist/core/vision/types.js.map +1 -0
  276. package/dist/discovery/CapabilityDiscoveryEngine.d.ts +1 -1
  277. package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
  278. package/dist/discovery/CapabilityDiscoveryEngine.js +1 -1
  279. package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
  280. package/dist/emergent/ComposableToolBuilder.d.ts +15 -4
  281. package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -1
  282. package/dist/emergent/ComposableToolBuilder.js +29 -14
  283. package/dist/emergent/ComposableToolBuilder.js.map +1 -1
  284. package/dist/emergent/EmergentCapabilityEngine.d.ts +3 -3
  285. package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
  286. package/dist/emergent/EmergentCapabilityEngine.js +15 -12
  287. package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
  288. package/dist/emergent/EmergentJudge.d.ts +20 -0
  289. package/dist/emergent/EmergentJudge.d.ts.map +1 -1
  290. package/dist/emergent/EmergentJudge.js +121 -26
  291. package/dist/emergent/EmergentJudge.js.map +1 -1
  292. package/dist/emergent/EmergentToolRegistry.d.ts +17 -0
  293. package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -1
  294. package/dist/emergent/EmergentToolRegistry.js +26 -0
  295. package/dist/emergent/EmergentToolRegistry.js.map +1 -1
  296. package/dist/emergent/ForgeToolMetaTool.d.ts +1 -1
  297. package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -1
  298. package/dist/emergent/ForgeToolMetaTool.js +15 -2
  299. package/dist/emergent/ForgeToolMetaTool.js.map +1 -1
  300. package/dist/emergent/SandboxedToolForge.d.ts +2 -2
  301. package/dist/emergent/SandboxedToolForge.d.ts.map +1 -1
  302. package/dist/emergent/SandboxedToolForge.js +13 -23
  303. package/dist/emergent/SandboxedToolForge.js.map +1 -1
  304. package/dist/emergent/SkillExporter.d.ts +119 -0
  305. package/dist/emergent/SkillExporter.d.ts.map +1 -0
  306. package/dist/emergent/SkillExporter.js +344 -0
  307. package/dist/emergent/SkillExporter.js.map +1 -0
  308. package/dist/emergent/index.d.ts +1 -0
  309. package/dist/emergent/index.d.ts.map +1 -1
  310. package/dist/emergent/index.js +1 -0
  311. package/dist/emergent/index.js.map +1 -1
  312. package/dist/emergent/types.d.ts +4 -4
  313. package/dist/index.d.ts +30 -5
  314. package/dist/index.d.ts.map +1 -1
  315. package/dist/index.js +19 -2
  316. package/dist/index.js.map +1 -1
  317. package/dist/memory/facade/Memory.d.ts.map +1 -1
  318. package/dist/memory/facade/Memory.js +8 -0
  319. package/dist/memory/facade/Memory.js.map +1 -1
  320. package/dist/memory/facade/types.d.ts +10 -0
  321. package/dist/memory/facade/types.d.ts.map +1 -1
  322. package/dist/memory/index.d.ts +15 -7
  323. package/dist/memory/index.d.ts.map +1 -1
  324. package/dist/memory/index.js +7 -0
  325. package/dist/memory/index.js.map +1 -1
  326. package/dist/memory/ingestion/DoclingLoader.d.ts +3 -3
  327. package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -1
  328. package/dist/memory/ingestion/DoclingLoader.js +12 -8
  329. package/dist/memory/ingestion/DoclingLoader.js.map +1 -1
  330. package/dist/memory/ingestion/FolderScanner.d.ts +7 -7
  331. package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -1
  332. package/dist/memory/ingestion/FolderScanner.js +6 -6
  333. package/dist/memory/ingestion/FolderScanner.js.map +1 -1
  334. package/dist/memory/ingestion/LoaderRegistry.d.ts +8 -8
  335. package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -1
  336. package/dist/memory/ingestion/LoaderRegistry.js +9 -11
  337. package/dist/memory/ingestion/LoaderRegistry.js.map +1 -1
  338. package/dist/memory/ingestion/MultimodalAggregator.d.ts +1 -1
  339. package/dist/memory/ingestion/MultimodalAggregator.js +1 -1
  340. package/dist/memory/ingestion/OcrPdfLoader.d.ts +2 -2
  341. package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -1
  342. package/dist/memory/ingestion/OcrPdfLoader.js +12 -8
  343. package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -1
  344. package/dist/memory/ingestion/PdfLoader.d.ts +8 -8
  345. package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -1
  346. package/dist/memory/ingestion/PdfLoader.js +13 -10
  347. package/dist/memory/ingestion/PdfLoader.js.map +1 -1
  348. package/dist/memory/io/MarkdownExporter.d.ts +1 -1
  349. package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
  350. package/dist/memory/io/MarkdownExporter.js +1 -1
  351. package/dist/memory/io/MarkdownExporter.js.map +1 -1
  352. package/dist/memory/observation/MemoryObserver.d.ts +63 -1
  353. package/dist/memory/observation/MemoryObserver.d.ts.map +1 -1
  354. package/dist/memory/observation/MemoryObserver.js +115 -4
  355. package/dist/memory/observation/MemoryObserver.js.map +1 -1
  356. package/dist/memory/observation/ObservationCompressor.d.ts +88 -0
  357. package/dist/memory/observation/ObservationCompressor.d.ts.map +1 -0
  358. package/dist/memory/observation/ObservationCompressor.js +207 -0
  359. package/dist/memory/observation/ObservationCompressor.js.map +1 -0
  360. package/dist/memory/observation/ObservationReflector.d.ts +82 -0
  361. package/dist/memory/observation/ObservationReflector.d.ts.map +1 -0
  362. package/dist/memory/observation/ObservationReflector.js +212 -0
  363. package/dist/memory/observation/ObservationReflector.js.map +1 -0
  364. package/dist/memory/observation/temporal.d.ts +54 -0
  365. package/dist/memory/observation/temporal.d.ts.map +1 -0
  366. package/dist/memory/observation/temporal.js +115 -0
  367. package/dist/memory/observation/temporal.js.map +1 -0
  368. package/dist/memory/tools/MemoryAddTool.d.ts +2 -2
  369. package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
  370. package/dist/memory/tools/MemoryAddTool.js +8 -3
  371. package/dist/memory/tools/MemoryAddTool.js.map +1 -1
  372. package/dist/memory/tools/MemorySearchTool.d.ts +3 -3
  373. package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -1
  374. package/dist/memory/tools/MemorySearchTool.js +11 -9
  375. package/dist/memory/tools/MemorySearchTool.js.map +1 -1
  376. package/dist/memory/tools/scopeContext.d.ts +11 -0
  377. package/dist/memory/tools/scopeContext.d.ts.map +1 -0
  378. package/dist/memory/tools/scopeContext.js +46 -0
  379. package/dist/memory/tools/scopeContext.js.map +1 -0
  380. package/dist/orchestration/builders/AgentGraph.d.ts +12 -11
  381. package/dist/orchestration/builders/AgentGraph.d.ts.map +1 -1
  382. package/dist/orchestration/builders/AgentGraph.js +12 -11
  383. package/dist/orchestration/builders/AgentGraph.js.map +1 -1
  384. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +82 -25
  385. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
  386. package/dist/orchestration/builders/VoiceNodeBuilder.js +86 -26
  387. package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
  388. package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
  389. package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
  390. package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
  391. package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
  392. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +7 -54
  393. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
  394. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -56
  395. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
  396. package/dist/orchestration/events/GraphEvent.d.ts +67 -5
  397. package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
  398. package/dist/orchestration/events/GraphEvent.js.map +1 -1
  399. package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
  400. package/dist/orchestration/runtime/GraphRuntime.js +151 -1
  401. package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
  402. package/dist/orchestration/runtime/LoopController.d.ts +3 -3
  403. package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
  404. package/dist/orchestration/runtime/LoopController.js.map +1 -1
  405. package/dist/orchestration/runtime/StateManager.d.ts +3 -3
  406. package/dist/orchestration/runtime/StateManager.js +3 -3
  407. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +103 -26
  408. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
  409. package/dist/orchestration/runtime/VoiceNodeExecutor.js +155 -43
  410. package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
  411. package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +95 -33
  412. package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts.map +1 -1
  413. package/dist/orchestration/runtime/VoiceTransportAdapter.js +83 -29
  414. package/dist/orchestration/runtime/VoiceTransportAdapter.js.map +1 -1
  415. package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +73 -20
  416. package/dist/orchestration/runtime/VoiceTurnCollector.d.ts.map +1 -1
  417. package/dist/orchestration/runtime/VoiceTurnCollector.js +84 -23
  418. package/dist/orchestration/runtime/VoiceTurnCollector.js.map +1 -1
  419. package/dist/query-router/KeywordFallback.d.ts +70 -0
  420. package/dist/query-router/KeywordFallback.d.ts.map +1 -0
  421. package/dist/query-router/KeywordFallback.js +132 -0
  422. package/dist/query-router/KeywordFallback.js.map +1 -0
  423. package/dist/query-router/QueryClassifier.d.ts +140 -0
  424. package/dist/query-router/QueryClassifier.d.ts.map +1 -0
  425. package/dist/query-router/QueryClassifier.js +223 -0
  426. package/dist/query-router/QueryClassifier.js.map +1 -0
  427. package/dist/query-router/QueryDispatcher.d.ts +139 -0
  428. package/dist/query-router/QueryDispatcher.d.ts.map +1 -0
  429. package/dist/query-router/QueryDispatcher.js +297 -0
  430. package/dist/query-router/QueryDispatcher.js.map +1 -0
  431. package/dist/query-router/QueryGenerator.d.ts +184 -0
  432. package/dist/query-router/QueryGenerator.d.ts.map +1 -0
  433. package/dist/query-router/QueryGenerator.js +241 -0
  434. package/dist/query-router/QueryGenerator.js.map +1 -0
  435. package/dist/query-router/QueryRouter.d.ts +292 -0
  436. package/dist/query-router/QueryRouter.d.ts.map +1 -0
  437. package/dist/query-router/QueryRouter.js +803 -0
  438. package/dist/query-router/QueryRouter.js.map +1 -0
  439. package/dist/query-router/TopicExtractor.d.ts +73 -0
  440. package/dist/query-router/TopicExtractor.d.ts.map +1 -0
  441. package/dist/query-router/TopicExtractor.js +95 -0
  442. package/dist/query-router/TopicExtractor.js.map +1 -0
  443. package/dist/query-router/index.d.ts +40 -0
  444. package/dist/query-router/index.d.ts.map +1 -0
  445. package/dist/query-router/index.js +46 -0
  446. package/dist/query-router/index.js.map +1 -0
  447. package/dist/query-router/types.d.ts +508 -0
  448. package/dist/query-router/types.d.ts.map +1 -0
  449. package/dist/query-router/types.js +39 -0
  450. package/dist/query-router/types.js.map +1 -0
  451. package/dist/rag/index.d.ts +5 -0
  452. package/dist/rag/index.d.ts.map +1 -1
  453. package/dist/rag/index.js +7 -0
  454. package/dist/rag/index.js.map +1 -1
  455. package/dist/rag/multimodal/LLMVisionAdapter.d.ts +43 -0
  456. package/dist/rag/multimodal/LLMVisionAdapter.d.ts.map +1 -0
  457. package/dist/rag/multimodal/LLMVisionAdapter.js +46 -0
  458. package/dist/rag/multimodal/LLMVisionAdapter.js.map +1 -0
  459. package/dist/rag/multimodal/MultimodalIndexer.d.ts +244 -0
  460. package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -0
  461. package/dist/rag/multimodal/MultimodalIndexer.js +411 -0
  462. package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -0
  463. package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts +448 -0
  464. package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts.map +1 -0
  465. package/dist/rag/multimodal/MultimodalMemoryBridge.js +941 -0
  466. package/dist/rag/multimodal/MultimodalMemoryBridge.js.map +1 -0
  467. package/dist/rag/multimodal/SpeechProviderAdapter.d.ts +139 -0
  468. package/dist/rag/multimodal/SpeechProviderAdapter.d.ts.map +1 -0
  469. package/dist/rag/multimodal/SpeechProviderAdapter.js +143 -0
  470. package/dist/rag/multimodal/SpeechProviderAdapter.js.map +1 -0
  471. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts +172 -0
  472. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts.map +1 -0
  473. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js +152 -0
  474. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js.map +1 -0
  475. package/dist/rag/multimodal/index.d.ts +44 -0
  476. package/dist/rag/multimodal/index.d.ts.map +1 -0
  477. package/dist/rag/multimodal/index.js +42 -0
  478. package/dist/rag/multimodal/index.js.map +1 -0
  479. package/dist/rag/multimodal/types.d.ts +276 -0
  480. package/dist/rag/multimodal/types.d.ts.map +1 -0
  481. package/dist/rag/multimodal/types.js +26 -0
  482. package/dist/rag/multimodal/types.js.map +1 -0
  483. package/dist/social-posting/SocialPostManager.d.ts +3 -3
  484. package/dist/social-posting/SocialPostManager.d.ts.map +1 -1
  485. package/dist/social-posting/SocialPostManager.js +3 -5
  486. package/dist/social-posting/SocialPostManager.js.map +1 -1
  487. package/dist/speech/FallbackProxy.d.ts +6 -6
  488. package/dist/speech/FallbackProxy.d.ts.map +1 -1
  489. package/dist/speech/FallbackProxy.js +3 -3
  490. package/dist/speech/FallbackProxy.js.map +1 -1
  491. package/dist/speech/SpeechProviderResolver.d.ts +8 -8
  492. package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
  493. package/dist/speech/SpeechProviderResolver.js +22 -11
  494. package/dist/speech/SpeechProviderResolver.js.map +1 -1
  495. package/dist/speech/SpeechRuntime.d.ts +1 -5
  496. package/dist/speech/SpeechRuntime.d.ts.map +1 -1
  497. package/dist/speech/SpeechRuntime.js +17 -9
  498. package/dist/speech/SpeechRuntime.js.map +1 -1
  499. package/dist/speech/providers/AssemblyAISTTProvider.d.ts +4 -4
  500. package/dist/speech/providers/AssemblyAISTTProvider.js +4 -4
  501. package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +3 -3
  502. package/dist/speech/providers/AzureSpeechTTSProvider.js +2 -2
  503. package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -1
  504. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +9 -9
  505. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -1
  506. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +5 -5
  507. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -1
  508. package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +2 -2
  509. package/dist/speech/providers/DeepgramBatchSTTProvider.js +2 -2
  510. package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +3 -3
  511. package/dist/speech/providers/OpenAITextToSpeechProvider.js +2 -2
  512. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +1 -1
  513. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -1
  514. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +1 -1
  515. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -1
  516. package/dist/voice/TelephonyStreamTransport.d.ts +6 -6
  517. package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
  518. package/dist/voice/TelephonyStreamTransport.js +5 -5
  519. package/dist/voice/TelephonyStreamTransport.js.map +1 -1
  520. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +4 -4
  521. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -1
  522. package/dist/voice-pipeline/AcousticEndpointDetector.js +4 -4
  523. package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -1
  524. package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +3 -3
  525. package/dist/voice-pipeline/HardCutBargeinHandler.js +3 -3
  526. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +3 -3
  527. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -1
  528. package/dist/voice-pipeline/HeuristicEndpointDetector.js +3 -3
  529. package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -1
  530. package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +5 -5
  531. package/dist/voice-pipeline/SoftFadeBargeinHandler.js +1 -1
  532. package/dist/voice-pipeline/VoiceInterruptError.d.ts +6 -6
  533. package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -1
  534. package/dist/voice-pipeline/VoiceInterruptError.js +4 -4
  535. package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -1
  536. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +9 -9
  537. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
  538. package/dist/voice-pipeline/VoicePipelineOrchestrator.js +8 -8
  539. package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
  540. package/dist/voice-pipeline/WebRTCStreamTransport.d.ts +421 -0
  541. package/dist/voice-pipeline/WebRTCStreamTransport.d.ts.map +1 -0
  542. package/dist/voice-pipeline/WebRTCStreamTransport.js +573 -0
  543. package/dist/voice-pipeline/WebRTCStreamTransport.js.map +1 -0
  544. package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
  545. package/dist/voice-pipeline/WebSocketStreamTransport.js +5 -5
  546. package/dist/voice-pipeline/index.d.ts +1 -0
  547. package/dist/voice-pipeline/index.d.ts.map +1 -1
  548. package/dist/voice-pipeline/index.js +2 -0
  549. package/dist/voice-pipeline/index.js.map +1 -1
  550. package/dist/voice-pipeline/types.d.ts +43 -43
  551. package/dist/voice-pipeline/types.d.ts.map +1 -1
  552. package/package.json +19 -1
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @fileoverview Implements the IProvider interface for Together AI's inference API.
3
+ *
4
+ * Together AI exposes a fully OpenAI-compatible `/v1/chat/completions` endpoint,
5
+ * so this provider delegates to the existing {@link OpenAIProvider} with Together's
6
+ * base URL and credentials. The wrapper provides Together-specific provider ID,
7
+ * default model catalog, and configuration.
8
+ *
9
+ * @module backend/agentos/core/llm/providers/implementations/TogetherProvider
10
+ * @implements {IProvider}
11
+ */
12
+ import { IProvider, ChatMessage, ModelCompletionOptions, ModelCompletionResponse, ModelInfo, ProviderEmbeddingOptions, ProviderEmbeddingResponse } from '../IProvider';
13
+ /**
14
+ * Configuration for the TogetherProvider.
15
+ *
16
+ * @example
17
+ * const config: TogetherProviderConfig = {
18
+ * apiKey: process.env.TOGETHER_API_KEY!,
19
+ * defaultModelId: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo',
20
+ * };
21
+ */
22
+ export interface TogetherProviderConfig {
23
+ /** Together API key. Sourced from `TOGETHER_API_KEY`. */
24
+ apiKey: string;
25
+ /**
26
+ * Base URL override.
27
+ * @default "https://api.together.xyz/v1"
28
+ */
29
+ baseURL?: string;
30
+ /**
31
+ * Default model to use when none is specified.
32
+ * @default "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo"
33
+ */
34
+ defaultModelId?: string;
35
+ /** Request timeout in milliseconds. @default 60000 */
36
+ requestTimeout?: number;
37
+ }
38
+ /**
39
+ * @class TogetherProvider
40
+ * @implements {IProvider}
41
+ *
42
+ * Thin wrapper around {@link OpenAIProvider} that targets Together AI's
43
+ * OpenAI-compatible API endpoint. Together hosts a wide range of open-source
44
+ * models (Llama, Mixtral, etc.) with competitive pricing and fast inference.
45
+ *
46
+ * @example
47
+ * const together = new TogetherProvider();
48
+ * await together.initialize({ apiKey: process.env.TOGETHER_API_KEY! });
49
+ * const res = await together.generateCompletion(
50
+ * 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', messages, {},
51
+ * );
52
+ */
53
+ export declare class TogetherProvider implements IProvider {
54
+ /** @inheritdoc */
55
+ readonly providerId: string;
56
+ /** @inheritdoc */
57
+ isInitialized: boolean;
58
+ /** @inheritdoc */
59
+ defaultModelId?: string;
60
+ /**
61
+ * Internal OpenAI provider instance that handles the actual API communication.
62
+ * Together's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
63
+ */
64
+ private delegate;
65
+ constructor();
66
+ /**
67
+ * Initializes the provider by configuring the underlying OpenAI delegate
68
+ * with Together's base URL and the caller's API key.
69
+ *
70
+ * @param {TogetherProviderConfig} config - Together-specific configuration.
71
+ * @returns {Promise<void>}
72
+ * @throws {Error} If the API key is missing.
73
+ */
74
+ initialize(config: TogetherProviderConfig): Promise<void>;
75
+ /** @inheritdoc */
76
+ generateCompletion(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): Promise<ModelCompletionResponse>;
77
+ /** @inheritdoc */
78
+ generateCompletionStream(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): AsyncGenerator<ModelCompletionResponse, void, undefined>;
79
+ /**
80
+ * Together AI supports embeddings for some models, delegated to the OpenAI-compatible endpoint.
81
+ *
82
+ * @param {string} modelId - Embedding model ID.
83
+ * @param {string[]} texts - Texts to embed.
84
+ * @param {ProviderEmbeddingOptions} [options] - Embedding options.
85
+ * @returns {Promise<ProviderEmbeddingResponse>} Embedding response.
86
+ */
87
+ generateEmbeddings(modelId: string, texts: string[], options?: ProviderEmbeddingOptions): Promise<ProviderEmbeddingResponse>;
88
+ /**
89
+ * Returns a static catalog of well-known Together-hosted models.
90
+ *
91
+ * @param {{ capability?: string }} [filter] - Optional capability filter.
92
+ * @returns {Promise<ModelInfo[]>} Together model catalog.
93
+ */
94
+ listAvailableModels(filter?: {
95
+ capability?: string;
96
+ }): Promise<ModelInfo[]>;
97
+ /** @inheritdoc */
98
+ getModelInfo(modelId: string): Promise<ModelInfo | undefined>;
99
+ /** @inheritdoc */
100
+ checkHealth(): Promise<{
101
+ isHealthy: boolean;
102
+ details?: unknown;
103
+ }>;
104
+ /** @inheritdoc */
105
+ shutdown(): Promise<void>;
106
+ }
107
+ //# sourceMappingURL=TogetherProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TogetherProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/TogetherProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAOtB;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA4CD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,kBAAkB;IAClB,SAAgB,UAAU,EAAE,MAAM,CAAc;IAChD,kBAAkB;IACX,aAAa,EAAE,OAAO,CAAS;IACtC,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAwB;;IAIxC;;;;;;;OAOG;IACU,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtE,kBAAkB;IACL,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAInC,kBAAkB;IACJ,wBAAwB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAI3D;;;;;;;OAOG;IACU,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,CAAC;IAIrC;;;;;OAKG;IACU,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOxF,kBAAkB;IACL,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI1E,kBAAkB;IACL,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9E,kBAAkB;IACL,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}
@@ -0,0 +1,138 @@
1
+ // File: backend/agentos/core/llm/providers/implementations/TogetherProvider.ts
2
+ import { OpenAIProvider } from './OpenAIProvider.js';
3
+ // ---------------------------------------------------------------------------
4
+ // Known model catalog
5
+ // ---------------------------------------------------------------------------
6
+ /** Static catalog of well-known Together AI models. */
7
+ const TOGETHER_MODELS = [
8
+ {
9
+ modelId: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo',
10
+ providerId: 'together',
11
+ displayName: 'Llama 3.1 70B Instruct Turbo',
12
+ description: 'Meta Llama 3.1 70B optimized for fast instruction-following on Together.',
13
+ capabilities: ['chat', 'tool_use'],
14
+ contextWindowSize: 131072,
15
+ supportsStreaming: true,
16
+ status: 'active',
17
+ },
18
+ {
19
+ modelId: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo',
20
+ providerId: 'together',
21
+ displayName: 'Llama 3.1 8B Instruct Turbo',
22
+ description: 'Meta Llama 3.1 8B — cost-effective instruction model on Together.',
23
+ capabilities: ['chat', 'tool_use'],
24
+ contextWindowSize: 131072,
25
+ supportsStreaming: true,
26
+ status: 'active',
27
+ },
28
+ {
29
+ modelId: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
30
+ providerId: 'together',
31
+ displayName: 'Mixtral 8x7B Instruct v0.1',
32
+ description: 'Mistral AI Mixtral MoE instruction-tuned on Together.',
33
+ capabilities: ['chat', 'tool_use'],
34
+ contextWindowSize: 32768,
35
+ supportsStreaming: true,
36
+ status: 'active',
37
+ },
38
+ ];
39
+ // ---------------------------------------------------------------------------
40
+ // Provider implementation
41
+ // ---------------------------------------------------------------------------
42
+ /**
43
+ * @class TogetherProvider
44
+ * @implements {IProvider}
45
+ *
46
+ * Thin wrapper around {@link OpenAIProvider} that targets Together AI's
47
+ * OpenAI-compatible API endpoint. Together hosts a wide range of open-source
48
+ * models (Llama, Mixtral, etc.) with competitive pricing and fast inference.
49
+ *
50
+ * @example
51
+ * const together = new TogetherProvider();
52
+ * await together.initialize({ apiKey: process.env.TOGETHER_API_KEY! });
53
+ * const res = await together.generateCompletion(
54
+ * 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo', messages, {},
55
+ * );
56
+ */
57
+ export class TogetherProvider {
58
+ constructor() {
59
+ /** @inheritdoc */
60
+ this.providerId = 'together';
61
+ /** @inheritdoc */
62
+ this.isInitialized = false;
63
+ /**
64
+ * Internal OpenAI provider instance that handles the actual API communication.
65
+ * Together's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
66
+ */
67
+ this.delegate = new OpenAIProvider();
68
+ }
69
+ /**
70
+ * Initializes the provider by configuring the underlying OpenAI delegate
71
+ * with Together's base URL and the caller's API key.
72
+ *
73
+ * @param {TogetherProviderConfig} config - Together-specific configuration.
74
+ * @returns {Promise<void>}
75
+ * @throws {Error} If the API key is missing.
76
+ */
77
+ async initialize(config) {
78
+ if (!config.apiKey) {
79
+ throw new Error('API key is required for TogetherProvider. Set TOGETHER_API_KEY.');
80
+ }
81
+ this.defaultModelId = config.defaultModelId ?? 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo';
82
+ // Delegate to OpenAI provider with Together's endpoint
83
+ await this.delegate.initialize({
84
+ apiKey: config.apiKey,
85
+ baseURL: config.baseURL ?? 'https://api.together.xyz/v1',
86
+ defaultModelId: this.defaultModelId,
87
+ requestTimeout: config.requestTimeout ?? 60000,
88
+ });
89
+ this.isInitialized = true;
90
+ console.log(`TogetherProvider initialized. Default model: ${this.defaultModelId}.`);
91
+ }
92
+ /** @inheritdoc */
93
+ async generateCompletion(modelId, messages, options) {
94
+ return this.delegate.generateCompletion(modelId, messages, options);
95
+ }
96
+ /** @inheritdoc */
97
+ async *generateCompletionStream(modelId, messages, options) {
98
+ yield* this.delegate.generateCompletionStream(modelId, messages, options);
99
+ }
100
+ /**
101
+ * Together AI supports embeddings for some models, delegated to the OpenAI-compatible endpoint.
102
+ *
103
+ * @param {string} modelId - Embedding model ID.
104
+ * @param {string[]} texts - Texts to embed.
105
+ * @param {ProviderEmbeddingOptions} [options] - Embedding options.
106
+ * @returns {Promise<ProviderEmbeddingResponse>} Embedding response.
107
+ */
108
+ async generateEmbeddings(modelId, texts, options) {
109
+ return this.delegate.generateEmbeddings(modelId, texts, options);
110
+ }
111
+ /**
112
+ * Returns a static catalog of well-known Together-hosted models.
113
+ *
114
+ * @param {{ capability?: string }} [filter] - Optional capability filter.
115
+ * @returns {Promise<ModelInfo[]>} Together model catalog.
116
+ */
117
+ async listAvailableModels(filter) {
118
+ if (filter?.capability) {
119
+ return TOGETHER_MODELS.filter(m => m.capabilities.includes(filter.capability));
120
+ }
121
+ return [...TOGETHER_MODELS];
122
+ }
123
+ /** @inheritdoc */
124
+ async getModelInfo(modelId) {
125
+ return TOGETHER_MODELS.find(m => m.modelId === modelId);
126
+ }
127
+ /** @inheritdoc */
128
+ async checkHealth() {
129
+ return this.delegate.checkHealth();
130
+ }
131
+ /** @inheritdoc */
132
+ async shutdown() {
133
+ await this.delegate.shutdown();
134
+ this.isInitialized = false;
135
+ console.log('TogetherProvider shutdown complete.');
136
+ }
137
+ }
138
+ //# sourceMappingURL=TogetherProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TogetherProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/TogetherProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @fileoverview Implements the IProvider interface for xAI's Grok API.
3
+ *
4
+ * xAI exposes a fully OpenAI-compatible `/v1/chat/completions` endpoint at
5
+ * `https://api.x.ai`. This provider delegates to the existing {@link OpenAIProvider}
6
+ * with xAI's base URL and credentials, providing xAI-specific provider identity
7
+ * and a curated catalog of Grok models.
8
+ *
9
+ * @module backend/agentos/core/llm/providers/implementations/XAIProvider
10
+ * @implements {IProvider}
11
+ */
12
+ import { IProvider, ChatMessage, ModelCompletionOptions, ModelCompletionResponse, ModelInfo, ProviderEmbeddingOptions, ProviderEmbeddingResponse } from '../IProvider';
13
+ /**
14
+ * Configuration for the XAIProvider.
15
+ *
16
+ * @example
17
+ * const config: XAIProviderConfig = {
18
+ * apiKey: process.env.XAI_API_KEY!,
19
+ * defaultModelId: 'grok-2',
20
+ * };
21
+ */
22
+ export interface XAIProviderConfig {
23
+ /** xAI API key. Sourced from `XAI_API_KEY`. */
24
+ apiKey: string;
25
+ /**
26
+ * Base URL override.
27
+ * @default "https://api.x.ai/v1"
28
+ */
29
+ baseURL?: string;
30
+ /**
31
+ * Default model to use when none is specified.
32
+ * @default "grok-2"
33
+ */
34
+ defaultModelId?: string;
35
+ /** Request timeout in milliseconds. @default 60000 */
36
+ requestTimeout?: number;
37
+ }
38
+ /**
39
+ * @class XAIProvider
40
+ * @implements {IProvider}
41
+ *
42
+ * Thin wrapper around {@link OpenAIProvider} that targets xAI's
43
+ * OpenAI-compatible Grok API endpoint. xAI's Grok models are known for
44
+ * wit, real-time knowledge, and strong reasoning capabilities.
45
+ *
46
+ * @example
47
+ * const xai = new XAIProvider();
48
+ * await xai.initialize({ apiKey: process.env.XAI_API_KEY! });
49
+ * const res = await xai.generateCompletion('grok-2', messages, {});
50
+ */
51
+ export declare class XAIProvider implements IProvider {
52
+ /** @inheritdoc */
53
+ readonly providerId: string;
54
+ /** @inheritdoc */
55
+ isInitialized: boolean;
56
+ /** @inheritdoc */
57
+ defaultModelId?: string;
58
+ /**
59
+ * Internal OpenAI provider instance that handles the actual API communication.
60
+ * xAI's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
61
+ */
62
+ private delegate;
63
+ constructor();
64
+ /**
65
+ * Initializes the provider by configuring the underlying OpenAI delegate
66
+ * with xAI's base URL and the caller's API key.
67
+ *
68
+ * @param {XAIProviderConfig} config - xAI-specific configuration.
69
+ * @returns {Promise<void>}
70
+ * @throws {Error} If the API key is missing.
71
+ */
72
+ initialize(config: XAIProviderConfig): Promise<void>;
73
+ /** @inheritdoc */
74
+ generateCompletion(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): Promise<ModelCompletionResponse>;
75
+ /** @inheritdoc */
76
+ generateCompletionStream(modelId: string, messages: ChatMessage[], options: ModelCompletionOptions): AsyncGenerator<ModelCompletionResponse, void, undefined>;
77
+ /**
78
+ * xAI does not currently offer an embeddings API.
79
+ *
80
+ * @throws {Error} Always — embeddings are not supported on xAI.
81
+ */
82
+ generateEmbeddings(_modelId: string, _texts: string[], _options?: ProviderEmbeddingOptions): Promise<ProviderEmbeddingResponse>;
83
+ /**
84
+ * Returns a static catalog of known xAI Grok models.
85
+ *
86
+ * @param {{ capability?: string }} [filter] - Optional capability filter.
87
+ * @returns {Promise<ModelInfo[]>} xAI model catalog.
88
+ */
89
+ listAvailableModels(filter?: {
90
+ capability?: string;
91
+ }): Promise<ModelInfo[]>;
92
+ /** @inheritdoc */
93
+ getModelInfo(modelId: string): Promise<ModelInfo | undefined>;
94
+ /** @inheritdoc */
95
+ checkHealth(): Promise<{
96
+ isHealthy: boolean;
97
+ details?: unknown;
98
+ }>;
99
+ /** @inheritdoc */
100
+ shutdown(): Promise<void>;
101
+ }
102
+ //# sourceMappingURL=XAIProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XAIProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/XAIProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAOtB;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkCD;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAY,YAAW,SAAS;IAC3C,kBAAkB;IAClB,SAAgB,UAAU,EAAE,MAAM,CAAS;IAC3C,kBAAkB;IACX,aAAa,EAAE,OAAO,CAAS;IACtC,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAwB;;IAIxC;;;;;;;OAOG;IACU,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjE,kBAAkB;IACL,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAInC,kBAAkB;IACJ,wBAAwB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAI3D;;;;OAIG;IACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,OAAO,CAAC,yBAAyB,CAAC;IAIrC;;;;;OAKG;IACU,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOxF,kBAAkB;IACL,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI1E,kBAAkB;IACL,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9E,kBAAkB;IACL,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}
@@ -0,0 +1,123 @@
1
+ // File: backend/agentos/core/llm/providers/implementations/XAIProvider.ts
2
+ import { OpenAIProvider } from './OpenAIProvider.js';
3
+ // ---------------------------------------------------------------------------
4
+ // Known model catalog
5
+ // ---------------------------------------------------------------------------
6
+ /** Static catalog of well-known xAI Grok models. */
7
+ const XAI_MODELS = [
8
+ {
9
+ modelId: 'grok-2',
10
+ providerId: 'xai',
11
+ displayName: 'Grok 2',
12
+ description: 'xAI flagship model with strong reasoning and real-time knowledge.',
13
+ capabilities: ['chat', 'tool_use'],
14
+ contextWindowSize: 131072,
15
+ supportsStreaming: true,
16
+ status: 'active',
17
+ },
18
+ {
19
+ modelId: 'grok-2-mini',
20
+ providerId: 'xai',
21
+ displayName: 'Grok 2 Mini',
22
+ description: 'Smaller, faster xAI model for cost-effective everyday tasks.',
23
+ capabilities: ['chat', 'tool_use'],
24
+ contextWindowSize: 131072,
25
+ supportsStreaming: true,
26
+ status: 'active',
27
+ },
28
+ ];
29
+ // ---------------------------------------------------------------------------
30
+ // Provider implementation
31
+ // ---------------------------------------------------------------------------
32
+ /**
33
+ * @class XAIProvider
34
+ * @implements {IProvider}
35
+ *
36
+ * Thin wrapper around {@link OpenAIProvider} that targets xAI's
37
+ * OpenAI-compatible Grok API endpoint. xAI's Grok models are known for
38
+ * wit, real-time knowledge, and strong reasoning capabilities.
39
+ *
40
+ * @example
41
+ * const xai = new XAIProvider();
42
+ * await xai.initialize({ apiKey: process.env.XAI_API_KEY! });
43
+ * const res = await xai.generateCompletion('grok-2', messages, {});
44
+ */
45
+ export class XAIProvider {
46
+ constructor() {
47
+ /** @inheritdoc */
48
+ this.providerId = 'xai';
49
+ /** @inheritdoc */
50
+ this.isInitialized = false;
51
+ /**
52
+ * Internal OpenAI provider instance that handles the actual API communication.
53
+ * xAI's API is fully OpenAI-compatible, so we reuse the OpenAI transport layer.
54
+ */
55
+ this.delegate = new OpenAIProvider();
56
+ }
57
+ /**
58
+ * Initializes the provider by configuring the underlying OpenAI delegate
59
+ * with xAI's base URL and the caller's API key.
60
+ *
61
+ * @param {XAIProviderConfig} config - xAI-specific configuration.
62
+ * @returns {Promise<void>}
63
+ * @throws {Error} If the API key is missing.
64
+ */
65
+ async initialize(config) {
66
+ if (!config.apiKey) {
67
+ throw new Error('API key is required for XAIProvider. Set XAI_API_KEY.');
68
+ }
69
+ this.defaultModelId = config.defaultModelId ?? 'grok-2';
70
+ // Delegate to OpenAI provider with xAI's endpoint
71
+ await this.delegate.initialize({
72
+ apiKey: config.apiKey,
73
+ baseURL: config.baseURL ?? 'https://api.x.ai/v1',
74
+ defaultModelId: this.defaultModelId,
75
+ requestTimeout: config.requestTimeout ?? 60000,
76
+ });
77
+ this.isInitialized = true;
78
+ console.log(`XAIProvider initialized. Default model: ${this.defaultModelId}.`);
79
+ }
80
+ /** @inheritdoc */
81
+ async generateCompletion(modelId, messages, options) {
82
+ return this.delegate.generateCompletion(modelId, messages, options);
83
+ }
84
+ /** @inheritdoc */
85
+ async *generateCompletionStream(modelId, messages, options) {
86
+ yield* this.delegate.generateCompletionStream(modelId, messages, options);
87
+ }
88
+ /**
89
+ * xAI does not currently offer an embeddings API.
90
+ *
91
+ * @throws {Error} Always — embeddings are not supported on xAI.
92
+ */
93
+ async generateEmbeddings(_modelId, _texts, _options) {
94
+ throw new Error('xAI does not currently support embeddings. Use a dedicated embedding provider.');
95
+ }
96
+ /**
97
+ * Returns a static catalog of known xAI Grok models.
98
+ *
99
+ * @param {{ capability?: string }} [filter] - Optional capability filter.
100
+ * @returns {Promise<ModelInfo[]>} xAI model catalog.
101
+ */
102
+ async listAvailableModels(filter) {
103
+ if (filter?.capability) {
104
+ return XAI_MODELS.filter(m => m.capabilities.includes(filter.capability));
105
+ }
106
+ return [...XAI_MODELS];
107
+ }
108
+ /** @inheritdoc */
109
+ async getModelInfo(modelId) {
110
+ return XAI_MODELS.find(m => m.modelId === modelId);
111
+ }
112
+ /** @inheritdoc */
113
+ async checkHealth() {
114
+ return this.delegate.checkHealth();
115
+ }
116
+ /** @inheritdoc */
117
+ async shutdown() {
118
+ await this.delegate.shutdown();
119
+ this.isInitialized = false;
120
+ console.log('XAIProvider shutdown complete.');
121
+ }
122
+ }
123
+ //# sourceMappingURL=XAIProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XAIProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/XAIProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/AgentOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/AgentOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,13 @@ export class AgentOSOrchestrator {
149
149
  chunk = { ...baseChunk, message: data.message, progressPercentage: data.progressPercentage, statusCode: data.statusCode };
150
150
  break;
151
151
  case AgentOSResponseChunkType.TOOL_CALL_REQUEST:
152
- chunk = { ...baseChunk, toolCalls: data.toolCalls, rationale: data.rationale };
152
+ chunk = {
153
+ ...baseChunk,
154
+ toolCalls: data.toolCalls,
155
+ rationale: data.rationale,
156
+ executionMode: data.executionMode,
157
+ requiresExternalToolResult: data.requiresExternalToolResult,
158
+ };
153
159
  break;
154
160
  case AgentOSResponseChunkType.TOOL_RESULT_EMISSION:
155
161
  chunk = { ...baseChunk, toolCallId: data.toolCallId, toolName: data.toolName, toolResult: data.toolResult, isSuccess: data.isSuccess, errorMessage: data.errorMessage };
@@ -272,7 +278,7 @@ export class AgentOSOrchestrator {
272
278
  * @param {string} activePersonaId - The definitive ID of the persona resolved for this turn. Guaranteed to be a string by caller.
273
279
  * @returns {GMITurnInput} The structured input object ready for the GMI.
274
280
  */
275
- constructGMITurnInput(agentOSStreamId, agentOSInput, activePersonaId) {
281
+ constructGMITurnInput(agentOSStreamId, agentOSInput, activePersonaId, conversationId) {
276
282
  const { userId, sessionId, options, textInput, visionInputs, audioInput, userFeedback, selectedPersonaId, userApiKeys } = agentOSInput;
277
283
  const gmiInputMetadata = {
278
284
  options: {
@@ -285,6 +291,8 @@ export class AgentOSOrchestrator {
285
291
  toolChoice: options?.toolChoice,
286
292
  responseFormat: options?.responseFormat,
287
293
  },
294
+ sessionId,
295
+ conversationId,
288
296
  userApiKeys,
289
297
  userFeedback,
290
298
  explicitPersonaSwitchId: selectedPersonaId !== activePersonaId ? selectedPersonaId : undefined,
@@ -367,7 +375,7 @@ export class AgentOSOrchestrator {
367
375
  };
368
376
  this.activeStreamContexts.set(agentOSStreamId, activeStreamCtx);
369
377
  await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.SYSTEM_PROGRESS, gmiInstanceIdForChunks, activePersonaId, false, { message: `Persona ${activePersonaId} ready. GMI Instance: ${gmiInstanceIdForChunks}`, progressPercentage: 10 });
370
- const gmiTurnInput = this.constructGMITurnInput(agentOSStreamId, input, activePersonaId);
378
+ const gmiTurnInput = this.constructGMITurnInput(agentOSStreamId, input, activePersonaId, conversationContext.sessionId);
371
379
  // --- Org context + long-term memory policy (persisted per conversation) ---
372
380
  if (conversationContext) {
373
381
  const inboundOrg = typeof input.organizationId === 'string' ? input.organizationId.trim() : '';
@@ -763,7 +771,12 @@ export class AgentOSOrchestrator {
763
771
  const gmiOutputAfterTool = await gmi.handleToolResult(toolCallId, toolName, toolResultPayload, userId, userApiKeys || {});
764
772
  await this.processGMIOutput(agentOSStreamId, streamContext, gmiOutputAfterTool, true);
765
773
  if (gmiOutputAfterTool.toolCalls && gmiOutputAfterTool.toolCalls.length > 0 && !gmiOutputAfterTool.isFinal) {
766
- await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.TOOL_CALL_REQUEST, gmiInstanceIdForChunks, personaId, false, { toolCalls: gmiOutputAfterTool.toolCalls, rationale: gmiOutputAfterTool.responseText || "Agent requires further tool execution based on previous tool's result." });
774
+ await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.TOOL_CALL_REQUEST, gmiInstanceIdForChunks, personaId, false, {
775
+ toolCalls: gmiOutputAfterTool.toolCalls,
776
+ rationale: gmiOutputAfterTool.responseText || "Agent requires further tool execution based on previous tool's result.",
777
+ executionMode: 'external',
778
+ requiresExternalToolResult: true,
779
+ });
767
780
  }
768
781
  else if (gmiOutputAfterTool.isFinal) {
769
782
  console.log(`AgentOSOrchestrator (Stream: ${agentOSStreamId}): GMI interaction concluded as final after tool result processing.`);
@@ -882,8 +895,16 @@ export class AgentOSOrchestrator {
882
895
  if (gmiChunk.content && Array.isArray(gmiChunk.content) && gmiChunk.content.length > 0) {
883
896
  const toolCalls = gmiChunk.content;
884
897
  const rationale = gmiChunk.metadata?.rationale || "Agent is considering using tools.";
898
+ const executionMode = gmiChunk.metadata?.executionMode === 'external' ? 'external' : 'internal';
885
899
  await this.pushChunkToStream(agentOSStreamId, AgentOSResponseChunkType.TOOL_CALL_REQUEST, gmiInstanceIdForChunks, personaId, false, // Tool call requests are typically not final for the turn
886
- { toolCalls, rationale });
900
+ {
901
+ toolCalls,
902
+ rationale,
903
+ executionMode,
904
+ requiresExternalToolResult: typeof gmiChunk.metadata?.requiresExternalToolResult === 'boolean'
905
+ ? gmiChunk.metadata.requiresExternalToolResult
906
+ : executionMode === 'external',
907
+ });
887
908
  }
888
909
  break;
889
910
  }