@framers/agentos 0.1.113 → 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 (510) 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/graphCompiler.d.ts +84 -0
  74. package/dist/api/strategies/graphCompiler.d.ts.map +1 -0
  75. package/dist/api/strategies/graphCompiler.js +617 -0
  76. package/dist/api/strategies/graphCompiler.js.map +1 -0
  77. package/dist/api/strategies/hierarchical.d.ts.map +1 -1
  78. package/dist/api/strategies/hierarchical.js +2 -1
  79. package/dist/api/strategies/hierarchical.js.map +1 -1
  80. package/dist/api/strategies/index.d.ts +3 -0
  81. package/dist/api/strategies/index.d.ts.map +1 -1
  82. package/dist/api/strategies/index.js +2 -0
  83. package/dist/api/strategies/index.js.map +1 -1
  84. package/dist/api/strategies/shared.d.ts +1 -1
  85. package/dist/api/strategies/shared.d.ts.map +1 -1
  86. package/dist/api/strategies/shared.js +3 -2
  87. package/dist/api/strategies/shared.js.map +1 -1
  88. package/dist/api/streamObject.d.ts +166 -0
  89. package/dist/api/streamObject.d.ts.map +1 -0
  90. package/dist/api/streamObject.js +268 -0
  91. package/dist/api/streamObject.js.map +1 -0
  92. package/dist/api/streamText.d.ts +1 -1
  93. package/dist/api/streamText.d.ts.map +1 -1
  94. package/dist/api/streamText.js +26 -8
  95. package/dist/api/streamText.js.map +1 -1
  96. package/dist/api/toolAdapter.d.ts +44 -8
  97. package/dist/api/toolAdapter.d.ts.map +1 -1
  98. package/dist/api/toolAdapter.js +224 -45
  99. package/dist/api/toolAdapter.js.map +1 -1
  100. package/dist/api/types/AgentOSExternalToolRequest.d.ts +35 -0
  101. package/dist/api/types/AgentOSExternalToolRequest.d.ts.map +1 -0
  102. package/dist/api/types/AgentOSExternalToolRequest.js +2 -0
  103. package/dist/api/types/AgentOSExternalToolRequest.js.map +1 -0
  104. package/dist/api/types/AgentOSResponse.d.ts +25 -0
  105. package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
  106. package/dist/api/types/AgentOSResponse.js +20 -0
  107. package/dist/api/types/AgentOSResponse.js.map +1 -1
  108. package/dist/api/types/AgentOSToolResult.d.ts +11 -0
  109. package/dist/api/types/AgentOSToolResult.d.ts.map +1 -0
  110. package/dist/api/types/AgentOSToolResult.js +2 -0
  111. package/dist/api/types/AgentOSToolResult.js.map +1 -0
  112. package/dist/api/types.d.ts +28 -4
  113. package/dist/api/types.d.ts.map +1 -1
  114. package/dist/api/types.js.map +1 -1
  115. package/dist/api/upscaleImage.d.ts +92 -0
  116. package/dist/api/upscaleImage.d.ts.map +1 -0
  117. package/dist/api/upscaleImage.js +133 -0
  118. package/dist/api/upscaleImage.js.map +1 -0
  119. package/dist/api/variateImage.d.ts +102 -0
  120. package/dist/api/variateImage.d.ts.map +1 -0
  121. package/dist/api/variateImage.js +154 -0
  122. package/dist/api/variateImage.js.map +1 -0
  123. package/dist/cognitive_substrate/GMI.d.ts +16 -2
  124. package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
  125. package/dist/cognitive_substrate/GMI.js +188 -56
  126. package/dist/cognitive_substrate/GMI.js.map +1 -1
  127. package/dist/cognitive_substrate/IGMI.d.ts +10 -0
  128. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
  129. package/dist/cognitive_substrate/IGMI.js.map +1 -1
  130. package/dist/config/AgentOSConfig.d.ts +19 -2
  131. package/dist/config/AgentOSConfig.d.ts.map +1 -1
  132. package/dist/config/AgentOSConfig.js +46 -29
  133. package/dist/config/AgentOSConfig.js.map +1 -1
  134. package/dist/core/guardrails/IGuardrailService.d.ts +1 -1
  135. package/dist/core/images/IImageProvider.d.ts +93 -0
  136. package/dist/core/images/IImageProvider.d.ts.map +1 -1
  137. package/dist/core/images/IImageProvider.js.map +1 -1
  138. package/dist/core/images/ImageOperationError.d.ts +52 -0
  139. package/dist/core/images/ImageOperationError.d.ts.map +1 -0
  140. package/dist/core/images/ImageOperationError.js +58 -0
  141. package/dist/core/images/ImageOperationError.js.map +1 -0
  142. package/dist/core/images/imageToBuffer.d.ts +41 -0
  143. package/dist/core/images/imageToBuffer.d.ts.map +1 -0
  144. package/dist/core/images/imageToBuffer.js +95 -0
  145. package/dist/core/images/imageToBuffer.js.map +1 -0
  146. package/dist/core/images/index.d.ts +4 -0
  147. package/dist/core/images/index.d.ts.map +1 -1
  148. package/dist/core/images/index.js +8 -0
  149. package/dist/core/images/index.js.map +1 -1
  150. package/dist/core/images/providers/FalImageProvider.d.ts +208 -0
  151. package/dist/core/images/providers/FalImageProvider.d.ts.map +1 -0
  152. package/dist/core/images/providers/FalImageProvider.js +301 -0
  153. package/dist/core/images/providers/FalImageProvider.js.map +1 -0
  154. package/dist/core/images/providers/FluxImageProvider.d.ts +197 -0
  155. package/dist/core/images/providers/FluxImageProvider.d.ts.map +1 -0
  156. package/dist/core/images/providers/FluxImageProvider.js +271 -0
  157. package/dist/core/images/providers/FluxImageProvider.js.map +1 -0
  158. package/dist/core/images/providers/OpenAIImageProvider.d.ts +33 -1
  159. package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -1
  160. package/dist/core/images/providers/OpenAIImageProvider.js +125 -0
  161. package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -1
  162. package/dist/core/images/providers/ReplicateImageProvider.d.ts +26 -1
  163. package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -1
  164. package/dist/core/images/providers/ReplicateImageProvider.js +118 -0
  165. package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -1
  166. package/dist/core/images/providers/StabilityImageProvider.d.ts +41 -1
  167. package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -1
  168. package/dist/core/images/providers/StabilityImageProvider.js +180 -7
  169. package/dist/core/images/providers/StabilityImageProvider.js.map +1 -1
  170. package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts +29 -1
  171. package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts.map +1 -1
  172. package/dist/core/images/providers/StableDiffusionLocalProvider.js +124 -0
  173. package/dist/core/images/providers/StableDiffusionLocalProvider.js.map +1 -1
  174. package/dist/core/llm/IPromptEngine.d.ts +2 -2
  175. package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
  176. package/dist/core/llm/IPromptEngine.js +2 -2
  177. package/dist/core/llm/IPromptEngine.js.map +1 -1
  178. package/dist/core/llm/providers/AIModelProviderManager.d.ts +7 -1
  179. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
  180. package/dist/core/llm/providers/AIModelProviderManager.js +24 -0
  181. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
  182. package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts +42 -0
  183. package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts.map +1 -0
  184. package/dist/core/llm/providers/errors/AnthropicProviderError.js +45 -0
  185. package/dist/core/llm/providers/errors/AnthropicProviderError.js.map +1 -0
  186. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +45 -0
  187. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -0
  188. package/dist/core/llm/providers/errors/GeminiProviderError.js +46 -0
  189. package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -0
  190. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +1 -1
  191. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -1
  192. package/dist/core/llm/providers/errors/OllamaProviderError.js +1 -1
  193. package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -1
  194. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +1 -1
  195. package/dist/core/llm/providers/errors/OpenAIProviderError.js +1 -1
  196. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +1 -1
  197. package/dist/core/llm/providers/errors/OpenRouterProviderError.js +1 -1
  198. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +340 -0
  199. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -0
  200. package/dist/core/llm/providers/implementations/AnthropicProvider.js +959 -0
  201. package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -0
  202. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +339 -0
  203. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -0
  204. package/dist/core/llm/providers/implementations/GeminiProvider.js +1004 -0
  205. package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -0
  206. package/dist/core/llm/providers/implementations/GroqProvider.d.ts +105 -0
  207. package/dist/core/llm/providers/implementations/GroqProvider.d.ts.map +1 -0
  208. package/dist/core/llm/providers/implementations/GroqProvider.js +134 -0
  209. package/dist/core/llm/providers/implementations/GroqProvider.js.map +1 -0
  210. package/dist/core/llm/providers/implementations/MistralProvider.d.ts +105 -0
  211. package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -0
  212. package/dist/core/llm/providers/implementations/MistralProvider.js +146 -0
  213. package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -0
  214. package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +107 -0
  215. package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -0
  216. package/dist/core/llm/providers/implementations/TogetherProvider.js +138 -0
  217. package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -0
  218. package/dist/core/llm/providers/implementations/XAIProvider.d.ts +102 -0
  219. package/dist/core/llm/providers/implementations/XAIProvider.d.ts.map +1 -0
  220. package/dist/core/llm/providers/implementations/XAIProvider.js +123 -0
  221. package/dist/core/llm/providers/implementations/XAIProvider.js.map +1 -0
  222. package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -1
  223. package/dist/core/orchestration/AgentOrchestrator.js +26 -5
  224. package/dist/core/orchestration/AgentOrchestrator.js.map +1 -1
  225. package/dist/core/tools/IToolOrchestrator.d.ts +2 -2
  226. package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
  227. package/dist/core/tools/ToolExecutor.d.ts +3 -0
  228. package/dist/core/tools/ToolExecutor.d.ts.map +1 -1
  229. package/dist/core/tools/ToolExecutor.js +2 -1
  230. package/dist/core/tools/ToolExecutor.js.map +1 -1
  231. package/dist/core/tools/ToolOrchestrator.d.ts +7 -7
  232. package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
  233. package/dist/core/tools/ToolOrchestrator.js +135 -36
  234. package/dist/core/tools/ToolOrchestrator.js.map +1 -1
  235. package/dist/core/tools/permissions/ToolPermissionManager.d.ts +6 -5
  236. package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -1
  237. package/dist/core/tools/permissions/ToolPermissionManager.js +47 -21
  238. package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -1
  239. package/dist/core/vision/VisionPipeline.d.ts +437 -0
  240. package/dist/core/vision/VisionPipeline.d.ts.map +1 -0
  241. package/dist/core/vision/VisionPipeline.js +1113 -0
  242. package/dist/core/vision/VisionPipeline.js.map +1 -0
  243. package/dist/core/vision/index.d.ts +97 -0
  244. package/dist/core/vision/index.d.ts.map +1 -0
  245. package/dist/core/vision/index.js +182 -0
  246. package/dist/core/vision/index.js.map +1 -0
  247. package/dist/core/vision/providers/LLMVisionProvider.d.ts +135 -0
  248. package/dist/core/vision/providers/LLMVisionProvider.d.ts.map +1 -0
  249. package/dist/core/vision/providers/LLMVisionProvider.js +136 -0
  250. package/dist/core/vision/providers/LLMVisionProvider.js.map +1 -0
  251. package/dist/core/vision/providers/PipelineVisionProvider.d.ts +154 -0
  252. package/dist/core/vision/providers/PipelineVisionProvider.d.ts.map +1 -0
  253. package/dist/core/vision/providers/PipelineVisionProvider.js +160 -0
  254. package/dist/core/vision/providers/PipelineVisionProvider.js.map +1 -0
  255. package/dist/core/vision/types.d.ts +286 -0
  256. package/dist/core/vision/types.d.ts.map +1 -0
  257. package/dist/core/vision/types.js +24 -0
  258. package/dist/core/vision/types.js.map +1 -0
  259. package/dist/discovery/CapabilityDiscoveryEngine.d.ts +1 -1
  260. package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
  261. package/dist/discovery/CapabilityDiscoveryEngine.js +1 -1
  262. package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
  263. package/dist/emergent/ComposableToolBuilder.d.ts +15 -4
  264. package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -1
  265. package/dist/emergent/ComposableToolBuilder.js +29 -14
  266. package/dist/emergent/ComposableToolBuilder.js.map +1 -1
  267. package/dist/emergent/EmergentCapabilityEngine.d.ts +3 -3
  268. package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
  269. package/dist/emergent/EmergentCapabilityEngine.js +15 -12
  270. package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
  271. package/dist/emergent/EmergentJudge.d.ts +20 -0
  272. package/dist/emergent/EmergentJudge.d.ts.map +1 -1
  273. package/dist/emergent/EmergentJudge.js +121 -26
  274. package/dist/emergent/EmergentJudge.js.map +1 -1
  275. package/dist/emergent/EmergentToolRegistry.d.ts +17 -0
  276. package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -1
  277. package/dist/emergent/EmergentToolRegistry.js +26 -0
  278. package/dist/emergent/EmergentToolRegistry.js.map +1 -1
  279. package/dist/emergent/ForgeToolMetaTool.d.ts +1 -1
  280. package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -1
  281. package/dist/emergent/ForgeToolMetaTool.js +15 -2
  282. package/dist/emergent/ForgeToolMetaTool.js.map +1 -1
  283. package/dist/emergent/SandboxedToolForge.d.ts +2 -2
  284. package/dist/emergent/SandboxedToolForge.d.ts.map +1 -1
  285. package/dist/emergent/SandboxedToolForge.js +13 -23
  286. package/dist/emergent/SandboxedToolForge.js.map +1 -1
  287. package/dist/emergent/SkillExporter.d.ts +119 -0
  288. package/dist/emergent/SkillExporter.d.ts.map +1 -0
  289. package/dist/emergent/SkillExporter.js +344 -0
  290. package/dist/emergent/SkillExporter.js.map +1 -0
  291. package/dist/emergent/index.d.ts +1 -0
  292. package/dist/emergent/index.d.ts.map +1 -1
  293. package/dist/emergent/index.js +1 -0
  294. package/dist/emergent/index.js.map +1 -1
  295. package/dist/emergent/types.d.ts +4 -4
  296. package/dist/index.d.ts +30 -5
  297. package/dist/index.d.ts.map +1 -1
  298. package/dist/index.js +19 -2
  299. package/dist/index.js.map +1 -1
  300. package/dist/memory/index.d.ts +10 -8
  301. package/dist/memory/index.d.ts.map +1 -1
  302. package/dist/memory/index.js +2 -0
  303. package/dist/memory/index.js.map +1 -1
  304. package/dist/memory/ingestion/DoclingLoader.d.ts +3 -3
  305. package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -1
  306. package/dist/memory/ingestion/DoclingLoader.js +12 -8
  307. package/dist/memory/ingestion/DoclingLoader.js.map +1 -1
  308. package/dist/memory/ingestion/FolderScanner.d.ts +7 -7
  309. package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -1
  310. package/dist/memory/ingestion/FolderScanner.js +6 -6
  311. package/dist/memory/ingestion/FolderScanner.js.map +1 -1
  312. package/dist/memory/ingestion/LoaderRegistry.d.ts +8 -8
  313. package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -1
  314. package/dist/memory/ingestion/LoaderRegistry.js +9 -11
  315. package/dist/memory/ingestion/LoaderRegistry.js.map +1 -1
  316. package/dist/memory/ingestion/MultimodalAggregator.d.ts +1 -1
  317. package/dist/memory/ingestion/MultimodalAggregator.js +1 -1
  318. package/dist/memory/ingestion/OcrPdfLoader.d.ts +2 -2
  319. package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -1
  320. package/dist/memory/ingestion/OcrPdfLoader.js +12 -8
  321. package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -1
  322. package/dist/memory/ingestion/PdfLoader.d.ts +8 -8
  323. package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -1
  324. package/dist/memory/ingestion/PdfLoader.js +13 -10
  325. package/dist/memory/ingestion/PdfLoader.js.map +1 -1
  326. package/dist/memory/io/MarkdownExporter.d.ts +1 -1
  327. package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
  328. package/dist/memory/io/MarkdownExporter.js +1 -1
  329. package/dist/memory/io/MarkdownExporter.js.map +1 -1
  330. package/dist/memory/tools/MemoryAddTool.d.ts +2 -2
  331. package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
  332. package/dist/memory/tools/MemoryAddTool.js +8 -3
  333. package/dist/memory/tools/MemoryAddTool.js.map +1 -1
  334. package/dist/memory/tools/MemorySearchTool.d.ts +3 -3
  335. package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -1
  336. package/dist/memory/tools/MemorySearchTool.js +11 -9
  337. package/dist/memory/tools/MemorySearchTool.js.map +1 -1
  338. package/dist/memory/tools/scopeContext.d.ts +11 -0
  339. package/dist/memory/tools/scopeContext.d.ts.map +1 -0
  340. package/dist/memory/tools/scopeContext.js +46 -0
  341. package/dist/memory/tools/scopeContext.js.map +1 -0
  342. package/dist/orchestration/builders/AgentGraph.d.ts +12 -11
  343. package/dist/orchestration/builders/AgentGraph.d.ts.map +1 -1
  344. package/dist/orchestration/builders/AgentGraph.js +12 -11
  345. package/dist/orchestration/builders/AgentGraph.js.map +1 -1
  346. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +2 -2
  347. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
  348. package/dist/orchestration/builders/VoiceNodeBuilder.js +2 -2
  349. package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
  350. package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
  351. package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
  352. package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
  353. package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
  354. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +7 -54
  355. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
  356. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -56
  357. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
  358. package/dist/orchestration/events/GraphEvent.d.ts +12 -12
  359. package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
  360. package/dist/orchestration/events/GraphEvent.js.map +1 -1
  361. package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
  362. package/dist/orchestration/runtime/GraphRuntime.js +151 -1
  363. package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
  364. package/dist/orchestration/runtime/LoopController.d.ts +3 -3
  365. package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
  366. package/dist/orchestration/runtime/LoopController.js.map +1 -1
  367. package/dist/orchestration/runtime/StateManager.d.ts +3 -3
  368. package/dist/orchestration/runtime/StateManager.js +3 -3
  369. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +6 -6
  370. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
  371. package/dist/orchestration/runtime/VoiceNodeExecutor.js +27 -10
  372. package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
  373. package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +5 -5
  374. package/dist/orchestration/runtime/VoiceTransportAdapter.js +5 -5
  375. package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +2 -2
  376. package/dist/orchestration/runtime/VoiceTurnCollector.js +2 -2
  377. package/dist/query-router/KeywordFallback.d.ts +70 -0
  378. package/dist/query-router/KeywordFallback.d.ts.map +1 -0
  379. package/dist/query-router/KeywordFallback.js +132 -0
  380. package/dist/query-router/KeywordFallback.js.map +1 -0
  381. package/dist/query-router/QueryClassifier.d.ts +140 -0
  382. package/dist/query-router/QueryClassifier.d.ts.map +1 -0
  383. package/dist/query-router/QueryClassifier.js +223 -0
  384. package/dist/query-router/QueryClassifier.js.map +1 -0
  385. package/dist/query-router/QueryDispatcher.d.ts +139 -0
  386. package/dist/query-router/QueryDispatcher.d.ts.map +1 -0
  387. package/dist/query-router/QueryDispatcher.js +297 -0
  388. package/dist/query-router/QueryDispatcher.js.map +1 -0
  389. package/dist/query-router/QueryGenerator.d.ts +184 -0
  390. package/dist/query-router/QueryGenerator.d.ts.map +1 -0
  391. package/dist/query-router/QueryGenerator.js +241 -0
  392. package/dist/query-router/QueryGenerator.js.map +1 -0
  393. package/dist/query-router/QueryRouter.d.ts +292 -0
  394. package/dist/query-router/QueryRouter.d.ts.map +1 -0
  395. package/dist/query-router/QueryRouter.js +803 -0
  396. package/dist/query-router/QueryRouter.js.map +1 -0
  397. package/dist/query-router/TopicExtractor.d.ts +73 -0
  398. package/dist/query-router/TopicExtractor.d.ts.map +1 -0
  399. package/dist/query-router/TopicExtractor.js +95 -0
  400. package/dist/query-router/TopicExtractor.js.map +1 -0
  401. package/dist/query-router/index.d.ts +40 -0
  402. package/dist/query-router/index.d.ts.map +1 -0
  403. package/dist/query-router/index.js +46 -0
  404. package/dist/query-router/index.js.map +1 -0
  405. package/dist/query-router/types.d.ts +508 -0
  406. package/dist/query-router/types.d.ts.map +1 -0
  407. package/dist/query-router/types.js +39 -0
  408. package/dist/query-router/types.js.map +1 -0
  409. package/dist/rag/index.d.ts +5 -0
  410. package/dist/rag/index.d.ts.map +1 -1
  411. package/dist/rag/index.js +7 -0
  412. package/dist/rag/index.js.map +1 -1
  413. package/dist/rag/multimodal/LLMVisionAdapter.d.ts +43 -0
  414. package/dist/rag/multimodal/LLMVisionAdapter.d.ts.map +1 -0
  415. package/dist/rag/multimodal/LLMVisionAdapter.js +46 -0
  416. package/dist/rag/multimodal/LLMVisionAdapter.js.map +1 -0
  417. package/dist/rag/multimodal/MultimodalIndexer.d.ts +244 -0
  418. package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -0
  419. package/dist/rag/multimodal/MultimodalIndexer.js +411 -0
  420. package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -0
  421. package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts +448 -0
  422. package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts.map +1 -0
  423. package/dist/rag/multimodal/MultimodalMemoryBridge.js +941 -0
  424. package/dist/rag/multimodal/MultimodalMemoryBridge.js.map +1 -0
  425. package/dist/rag/multimodal/SpeechProviderAdapter.d.ts +139 -0
  426. package/dist/rag/multimodal/SpeechProviderAdapter.d.ts.map +1 -0
  427. package/dist/rag/multimodal/SpeechProviderAdapter.js +143 -0
  428. package/dist/rag/multimodal/SpeechProviderAdapter.js.map +1 -0
  429. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts +172 -0
  430. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts.map +1 -0
  431. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js +152 -0
  432. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js.map +1 -0
  433. package/dist/rag/multimodal/index.d.ts +44 -0
  434. package/dist/rag/multimodal/index.d.ts.map +1 -0
  435. package/dist/rag/multimodal/index.js +42 -0
  436. package/dist/rag/multimodal/index.js.map +1 -0
  437. package/dist/rag/multimodal/types.d.ts +276 -0
  438. package/dist/rag/multimodal/types.d.ts.map +1 -0
  439. package/dist/rag/multimodal/types.js +26 -0
  440. package/dist/rag/multimodal/types.js.map +1 -0
  441. package/dist/social-posting/SocialPostManager.d.ts +3 -3
  442. package/dist/social-posting/SocialPostManager.d.ts.map +1 -1
  443. package/dist/social-posting/SocialPostManager.js +3 -5
  444. package/dist/social-posting/SocialPostManager.js.map +1 -1
  445. package/dist/speech/FallbackProxy.d.ts +6 -6
  446. package/dist/speech/FallbackProxy.d.ts.map +1 -1
  447. package/dist/speech/FallbackProxy.js +3 -3
  448. package/dist/speech/FallbackProxy.js.map +1 -1
  449. package/dist/speech/SpeechProviderResolver.d.ts +8 -8
  450. package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
  451. package/dist/speech/SpeechProviderResolver.js +22 -11
  452. package/dist/speech/SpeechProviderResolver.js.map +1 -1
  453. package/dist/speech/SpeechRuntime.d.ts +1 -5
  454. package/dist/speech/SpeechRuntime.d.ts.map +1 -1
  455. package/dist/speech/SpeechRuntime.js +17 -9
  456. package/dist/speech/SpeechRuntime.js.map +1 -1
  457. package/dist/speech/providers/AssemblyAISTTProvider.d.ts +4 -4
  458. package/dist/speech/providers/AssemblyAISTTProvider.js +4 -4
  459. package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +3 -3
  460. package/dist/speech/providers/AzureSpeechTTSProvider.js +2 -2
  461. package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -1
  462. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +9 -9
  463. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -1
  464. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +5 -5
  465. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -1
  466. package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +2 -2
  467. package/dist/speech/providers/DeepgramBatchSTTProvider.js +2 -2
  468. package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +3 -3
  469. package/dist/speech/providers/OpenAITextToSpeechProvider.js +2 -2
  470. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +1 -1
  471. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -1
  472. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +1 -1
  473. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -1
  474. package/dist/voice/TelephonyStreamTransport.d.ts +6 -6
  475. package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
  476. package/dist/voice/TelephonyStreamTransport.js +5 -5
  477. package/dist/voice/TelephonyStreamTransport.js.map +1 -1
  478. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +4 -4
  479. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -1
  480. package/dist/voice-pipeline/AcousticEndpointDetector.js +4 -4
  481. package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -1
  482. package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +3 -3
  483. package/dist/voice-pipeline/HardCutBargeinHandler.js +3 -3
  484. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +3 -3
  485. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -1
  486. package/dist/voice-pipeline/HeuristicEndpointDetector.js +3 -3
  487. package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -1
  488. package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +5 -5
  489. package/dist/voice-pipeline/SoftFadeBargeinHandler.js +1 -1
  490. package/dist/voice-pipeline/VoiceInterruptError.d.ts +6 -6
  491. package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -1
  492. package/dist/voice-pipeline/VoiceInterruptError.js +4 -4
  493. package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -1
  494. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +9 -9
  495. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
  496. package/dist/voice-pipeline/VoicePipelineOrchestrator.js +8 -8
  497. package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
  498. package/dist/voice-pipeline/WebRTCStreamTransport.d.ts +421 -0
  499. package/dist/voice-pipeline/WebRTCStreamTransport.d.ts.map +1 -0
  500. package/dist/voice-pipeline/WebRTCStreamTransport.js +573 -0
  501. package/dist/voice-pipeline/WebRTCStreamTransport.js.map +1 -0
  502. package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
  503. package/dist/voice-pipeline/WebSocketStreamTransport.js +5 -5
  504. package/dist/voice-pipeline/index.d.ts +1 -0
  505. package/dist/voice-pipeline/index.d.ts.map +1 -1
  506. package/dist/voice-pipeline/index.js +2 -0
  507. package/dist/voice-pipeline/index.js.map +1 -1
  508. package/dist/voice-pipeline/types.d.ts +43 -43
  509. package/dist/voice-pipeline/types.d.ts.map +1 -1
  510. package/package.json +19 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentExport.js","sourceRoot":"","sources":["../../src/api/agentExport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import type { GeneratedImage, ImageEditMode, ImageProviderOptionBag } from '../core/images/IImageProvider.js';
2
+ import { type AgentOSUsageLedgerOptions } from './usageLedger.js';
3
+ /**
4
+ * Options for an {@link editImage} call.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const result = await editImage({
9
+ * provider: 'openai',
10
+ * image: 'data:image/png;base64,...',
11
+ * prompt: 'Add a rainbow in the sky.',
12
+ * mode: 'img2img',
13
+ * strength: 0.6,
14
+ * });
15
+ * ```
16
+ */
17
+ export interface EditImageOptions {
18
+ /**
19
+ * Provider name (e.g. `"openai"`, `"stability"`, `"stable-diffusion-local"`).
20
+ * When omitted, auto-detection via env vars is attempted.
21
+ */
22
+ provider?: string;
23
+ /**
24
+ * Model in `provider:model` format (legacy) or plain model name when `provider` is set.
25
+ * @example `"openai:gpt-image-1"`, `"stability:sd3-medium"`
26
+ */
27
+ model?: string;
28
+ /**
29
+ * Source image as a base64 data URL, raw base64 string, `Buffer`,
30
+ * local file path, or HTTP/HTTPS URL.
31
+ */
32
+ image: string | Buffer;
33
+ /** Text prompt describing the desired changes. */
34
+ prompt: string;
35
+ /**
36
+ * Optional mask for inpainting. White pixels mark regions to be edited;
37
+ * black pixels mark regions to keep. Accepts the same formats as `image`.
38
+ */
39
+ mask?: string | Buffer;
40
+ /**
41
+ * Edit mode.
42
+ * - `'img2img'` (default) — prompt-guided transformation.
43
+ * - `'inpaint'` — mask-guided regional editing.
44
+ * - `'outpaint'` — extend image borders.
45
+ */
46
+ mode?: ImageEditMode;
47
+ /**
48
+ * How much to deviate from the source image.
49
+ * `0` = identical, `1` = completely new. Default `0.75`.
50
+ */
51
+ strength?: number;
52
+ /** Negative prompt describing content to avoid. */
53
+ negativePrompt?: string;
54
+ /** Output size (e.g. `"1024x1024"`). */
55
+ size?: string;
56
+ /** Seed for reproducibility (provider-dependent support). */
57
+ seed?: number;
58
+ /** Number of output images. */
59
+ n?: number;
60
+ /** Override the provider API key instead of reading from env vars. */
61
+ apiKey?: string;
62
+ /** Override the provider base URL. */
63
+ baseUrl?: string;
64
+ /** Arbitrary provider-specific options. */
65
+ providerOptions?: ImageProviderOptionBag | Record<string, unknown>;
66
+ /** Optional usage ledger configuration. */
67
+ usageLedger?: AgentOSUsageLedgerOptions;
68
+ }
69
+ /**
70
+ * Result returned by {@link editImage}.
71
+ */
72
+ export interface EditImageResult {
73
+ /** Array of edited image objects containing URLs or base64 data. */
74
+ images: GeneratedImage[];
75
+ /** Provider identifier. */
76
+ provider: string;
77
+ /** Model identifier. */
78
+ model: string;
79
+ /** Token/credit usage reported by the provider, when available. */
80
+ usage: {
81
+ costUSD?: number;
82
+ };
83
+ }
84
+ /**
85
+ * Edits an image using a provider-agnostic interface.
86
+ *
87
+ * Resolves credentials via `resolveMediaProvider()`, initialises the
88
+ * matching image provider, converts the input image to a `Buffer`, and
89
+ * dispatches to the provider's `editImage` method.
90
+ *
91
+ * @param opts - Image editing options.
92
+ * @returns A promise resolving to the edit result with image data and metadata.
93
+ *
94
+ * @throws {ImageEditNotSupportedError} When the resolved provider does not
95
+ * implement image editing.
96
+ * @throws {Error} When no provider can be determined or credentials are missing.
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * // Img2img transformation
101
+ * const result = await editImage({
102
+ * provider: 'stability',
103
+ * image: fs.readFileSync('landscape.png'),
104
+ * prompt: 'Convert the daytime scene to a starry night.',
105
+ * strength: 0.7,
106
+ * });
107
+ *
108
+ * // Inpainting with mask
109
+ * const inpainted = await editImage({
110
+ * provider: 'openai',
111
+ * image: 'data:image/png;base64,...',
112
+ * mask: 'data:image/png;base64,...',
113
+ * prompt: 'Replace the sky with aurora borealis.',
114
+ * mode: 'inpaint',
115
+ * });
116
+ * ```
117
+ */
118
+ export declare function editImage(opts: EditImageOptions): Promise<EditImageResult>;
119
+ //# sourceMappingURL=editImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editImage.d.ts","sourceRoot":"","sources":["../../src/api/editImage.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAOtF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,2CAA2C;IAC3C,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiGhF"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * @file editImage.ts
3
+ * Provider-agnostic image editing for the AgentOS high-level API.
4
+ *
5
+ * Supports three editing modes:
6
+ * - **img2img** — Prompt-guided transformation of a source image, controlled by a
7
+ * `strength` parameter (0 = keep original, 1 = completely redrawn).
8
+ * - **inpaint** — Mask-guided regional editing where white mask regions are
9
+ * repainted according to the prompt while black regions are preserved.
10
+ * - **outpaint** — Extends an image beyond its original borders (provider support varies).
11
+ *
12
+ * Routing and credential resolution follow the same `provider:model` pattern
13
+ * established by {@link generateImage}.
14
+ */
15
+ import { createImageProvider } from '../core/images/index.js';
16
+ import { ImageEditNotSupportedError } from '../core/images/ImageOperationError.js';
17
+ import { imageToBuffer } from '../core/images/imageToBuffer.js';
18
+ import { resolveModelOption, resolveMediaProvider } from './model.js';
19
+ import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
20
+ import { recordAgentOSUsage } from './usageLedger.js';
21
+ import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability/otel.js';
22
+ // ---------------------------------------------------------------------------
23
+ // Implementation
24
+ // ---------------------------------------------------------------------------
25
+ /**
26
+ * Edits an image using a provider-agnostic interface.
27
+ *
28
+ * Resolves credentials via `resolveMediaProvider()`, initialises the
29
+ * matching image provider, converts the input image to a `Buffer`, and
30
+ * dispatches to the provider's `editImage` method.
31
+ *
32
+ * @param opts - Image editing options.
33
+ * @returns A promise resolving to the edit result with image data and metadata.
34
+ *
35
+ * @throws {ImageEditNotSupportedError} When the resolved provider does not
36
+ * implement image editing.
37
+ * @throws {Error} When no provider can be determined or credentials are missing.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * // Img2img transformation
42
+ * const result = await editImage({
43
+ * provider: 'stability',
44
+ * image: fs.readFileSync('landscape.png'),
45
+ * prompt: 'Convert the daytime scene to a starry night.',
46
+ * strength: 0.7,
47
+ * });
48
+ *
49
+ * // Inpainting with mask
50
+ * const inpainted = await editImage({
51
+ * provider: 'openai',
52
+ * image: 'data:image/png;base64,...',
53
+ * mask: 'data:image/png;base64,...',
54
+ * prompt: 'Replace the sky with aurora borealis.',
55
+ * mode: 'inpaint',
56
+ * });
57
+ * ```
58
+ */
59
+ export async function editImage(opts) {
60
+ const startedAt = Date.now();
61
+ let metricStatus = 'ok';
62
+ let metricUsage;
63
+ let metricProviderId;
64
+ let metricModelId;
65
+ try {
66
+ return await withAgentOSSpan('agentos.api.edit_image', async (span) => {
67
+ const { providerId, modelId } = resolveModelOption(opts, 'image');
68
+ const resolved = resolveMediaProvider(providerId, modelId, {
69
+ apiKey: opts.apiKey,
70
+ baseUrl: opts.baseUrl,
71
+ });
72
+ metricProviderId = resolved.providerId;
73
+ metricModelId = resolved.modelId;
74
+ span?.setAttribute('llm.provider', resolved.providerId);
75
+ span?.setAttribute('llm.model', resolved.modelId);
76
+ span?.setAttribute('agentos.api.edit_mode', opts.mode ?? 'img2img');
77
+ const provider = createImageProvider(resolved.providerId);
78
+ await provider.initialize({
79
+ apiKey: resolved.apiKey,
80
+ baseURL: resolved.baseUrl,
81
+ defaultModelId: resolved.modelId,
82
+ });
83
+ // Guard: the provider must implement editImage.
84
+ if (typeof provider.editImage !== 'function') {
85
+ throw new ImageEditNotSupportedError(resolved.providerId);
86
+ }
87
+ // Normalise heterogeneous image input into Buffers.
88
+ const imageBuffer = await imageToBuffer(opts.image);
89
+ const maskBuffer = opts.mask ? await imageToBuffer(opts.mask) : undefined;
90
+ const result = await provider.editImage({
91
+ modelId: resolved.modelId,
92
+ image: imageBuffer,
93
+ prompt: opts.prompt,
94
+ mask: maskBuffer,
95
+ mode: opts.mode,
96
+ strength: opts.strength,
97
+ negativePrompt: opts.negativePrompt,
98
+ size: opts.size,
99
+ seed: opts.seed,
100
+ n: opts.n,
101
+ providerOptions: opts.providerOptions,
102
+ });
103
+ metricUsage = result.usage;
104
+ span?.setAttribute('agentos.api.images_count', result.images.length);
105
+ attachUsageAttributes(span, {
106
+ totalCostUSD: result.usage?.totalCostUSD,
107
+ });
108
+ return {
109
+ images: result.images,
110
+ provider: result.providerId,
111
+ model: result.modelId,
112
+ usage: { costUSD: result.usage?.totalCostUSD },
113
+ };
114
+ });
115
+ }
116
+ catch (error) {
117
+ metricStatus = 'error';
118
+ throw error;
119
+ }
120
+ finally {
121
+ try {
122
+ await recordAgentOSUsage({
123
+ providerId: metricProviderId,
124
+ modelId: metricModelId,
125
+ usage: metricUsage
126
+ ? {
127
+ costUSD: metricUsage.totalCostUSD,
128
+ }
129
+ : undefined,
130
+ options: {
131
+ ...opts.usageLedger,
132
+ source: opts.usageLedger?.source ?? 'editImage',
133
+ },
134
+ });
135
+ }
136
+ catch {
137
+ // Best-effort — usage persistence must not break the edit operation.
138
+ }
139
+ recordAgentOSTurnMetrics({
140
+ durationMs: Date.now() - startedAt,
141
+ status: metricStatus,
142
+ usage: toTurnMetricUsage(metricUsage
143
+ ? {
144
+ totalCostUSD: metricUsage.totalCostUSD,
145
+ }
146
+ : undefined),
147
+ });
148
+ }
149
+ }
150
+ //# sourceMappingURL=editImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editImage.js","sourceRoot":"","sources":["../../src/api/editImage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOhE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAkC,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAuF1F,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAsB;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,YAAY,GAAmB,IAAI,CAAC;IACxC,IAAI,WAA2C,CAAC;IAChD,IAAI,gBAAoC,CAAC;IACzC,IAAI,aAAiC,CAAC;IAEtC,IAAI,CAAC;QACH,OAAO,MAAM,eAAe,CAAC,wBAAwB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACpE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;YACvC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;YAEjC,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,EAAE,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,cAAc,EAAE,QAAQ,CAAC,OAAO;aACjC,CAAC,CAAC;YAEH,gDAAgD;YAChD,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7C,MAAM,IAAI,0BAA0B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;YAED,oDAAoD;YACpD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;gBACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC,CAAC;YAEH,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,EAAE,YAAY,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrE,qBAAqB,CAAC,IAAI,EAAE;gBAC1B,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY;aACzC,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,UAAU;gBAC3B,KAAK,EAAE,MAAM,CAAC,OAAO;gBACrB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE;aAC/C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,GAAG,OAAO,CAAC;QACvB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC;gBACvB,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,WAAW;oBAChB,CAAC,CAAC;wBACE,OAAO,EAAE,WAAW,CAAC,YAAY;qBAClC;oBACH,CAAC,CAAC,SAAS;gBACb,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,WAAW;oBACnB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,WAAW;iBAChD;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;QACD,wBAAwB,CAAC;YACvB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,iBAAiB,CACtB,WAAW;gBACT,CAAC,CAAC;oBACE,YAAY,EAAE,WAAW,CAAC,YAAY;iBACvC;gBACH,CAAC,CAAC,SAAS,CACd;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { type AgentOSUsageLedgerOptions } from './usageLedger.js';
2
+ /**
3
+ * Options for an {@link embedText} call.
4
+ *
5
+ * At minimum, `input` must be provided. Provider/model resolution follows
6
+ * the same rules as {@link generateText}: supply `provider`, `model`
7
+ * (optionally in `provider:model` format), or rely on env-var auto-detection.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const opts: EmbedTextOptions = {
12
+ * model: 'openai:text-embedding-3-small',
13
+ * input: ['Hello world', 'Goodbye world'],
14
+ * dimensions: 256,
15
+ * };
16
+ * ```
17
+ */
18
+ export interface EmbedTextOptions {
19
+ /**
20
+ * Provider name. When supplied without `model`, the default embedding model
21
+ * for the provider is resolved automatically from the built-in defaults.
22
+ *
23
+ * @example `"openai"`, `"ollama"`, `"openrouter"`
24
+ */
25
+ provider?: string;
26
+ /**
27
+ * Model identifier. Accepts `"provider:model"` or plain model name with `provider`.
28
+ *
29
+ * @example `"openai:text-embedding-3-small"`, `"nomic-embed-text"`
30
+ */
31
+ model?: string;
32
+ /**
33
+ * Text(s) to embed. Pass a single string for one embedding or an array
34
+ * for batch processing.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * // Single input
39
+ * input: 'Hello world'
40
+ * // Batch input
41
+ * input: ['Hello world', 'Goodbye world']
42
+ * ```
43
+ */
44
+ input: string | string[];
45
+ /**
46
+ * Desired output dimensionality. Only honoured by models that support
47
+ * dimension reduction (e.g. OpenAI `text-embedding-3-*` with `dimensions`).
48
+ * Ignored when the model has a fixed output size.
49
+ */
50
+ dimensions?: number;
51
+ /** Override the API key instead of reading from environment variables. */
52
+ apiKey?: string;
53
+ /** Override the provider base URL (useful for local proxies or Ollama). */
54
+ baseUrl?: string;
55
+ /** Optional durable usage ledger configuration for helper-level accounting. */
56
+ usageLedger?: AgentOSUsageLedgerOptions;
57
+ }
58
+ /**
59
+ * The result returned by {@link embedText}.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const { embeddings, usage } = await embedText({
64
+ * model: 'openai:text-embedding-3-small',
65
+ * input: ['Hello', 'World'],
66
+ * });
67
+ * console.log(embeddings.length); // 2
68
+ * console.log(embeddings[0].length); // e.g. 1536
69
+ * ```
70
+ */
71
+ export interface EmbedTextResult {
72
+ /**
73
+ * One embedding vector per input string. Each vector is a plain `number[]`
74
+ * of floats whose dimensionality depends on the model (and the optional
75
+ * `dimensions` parameter).
76
+ */
77
+ embeddings: number[][];
78
+ /** Model identifier reported by the provider (may differ from the requested model). */
79
+ model: string;
80
+ /** Provider identifier used for the run. */
81
+ provider: string;
82
+ /**
83
+ * Token usage for the embedding request.
84
+ * Most embedding APIs only report prompt tokens (the input); completion
85
+ * tokens are typically zero.
86
+ */
87
+ usage: {
88
+ /** Number of tokens consumed by the input text(s). */
89
+ promptTokens: number;
90
+ /** Sum of prompt and any other tokens (usually equal to `promptTokens`). */
91
+ totalTokens: number;
92
+ };
93
+ }
94
+ /**
95
+ * Generates embedding vectors for one or more text inputs using a
96
+ * provider-agnostic `provider:model` string.
97
+ *
98
+ * Resolves credentials via the standard AgentOS provider pipeline, then
99
+ * dispatches to the appropriate embedding endpoint (OpenAI, Ollama, or
100
+ * OpenRouter). Returns raw float arrays suitable for vector similarity
101
+ * search, clustering, or any downstream ML pipeline.
102
+ *
103
+ * @param opts - Embedding options including model, input text(s), and
104
+ * optional provider/key overrides.
105
+ * @returns A promise resolving to the embedding vectors, provider metadata,
106
+ * and token usage.
107
+ *
108
+ * @throws {Error} When provider resolution fails (missing API key, unknown
109
+ * provider, etc.).
110
+ * @throws {Error} When the embedding API returns a non-2xx status.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * import { embedText } from '@framers/agentos';
115
+ *
116
+ * // Single input
117
+ * const { embeddings } = await embedText({
118
+ * model: 'openai:text-embedding-3-small',
119
+ * input: 'Hello world',
120
+ * });
121
+ * console.log(embeddings[0].length); // 1536
122
+ *
123
+ * // Batch with reduced dimensions
124
+ * const batch = await embedText({
125
+ * model: 'openai:text-embedding-3-small',
126
+ * input: ['Hello', 'World'],
127
+ * dimensions: 256,
128
+ * });
129
+ * console.log(batch.embeddings.length); // 2
130
+ * console.log(batch.embeddings[0].length); // 256
131
+ * ```
132
+ *
133
+ * @see {@link generateText} for text generation.
134
+ * @see {@link resolveModelOption} for provider auto-detection behaviour.
135
+ */
136
+ export declare function embedText(opts: EmbedTextOptions): Promise<EmbedTextResult>;
137
+ //# sourceMappingURL=embedText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedText.d.ts","sourceRoot":"","sources":["../../src/api/embedText.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAOtF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAEvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,KAAK,EAAE;QACL,sDAAsD;QACtD,YAAY,EAAE,MAAM,CAAC;QACrB,4EAA4E;QAC5E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAsID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwHhF"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * @file embedText.ts
3
+ * Provider-agnostic text embedding generation for the AgentOS high-level API.
4
+ *
5
+ * Dispatches embedding requests to OpenAI-compatible, Ollama, or OpenRouter
6
+ * endpoints using the same provider resolution pipeline as {@link generateText}.
7
+ * Supports single and batch text inputs, optional dimensionality reduction,
8
+ * and returns raw float vectors.
9
+ *
10
+ * @see {@link generateText} for the text generation primitive.
11
+ * @see {@link resolveModelOption} for model resolution with `TaskType = 'embedding'`.
12
+ */
13
+ import { resolveModelOption, resolveProvider } from './model.js';
14
+ import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
15
+ import { recordAgentOSUsage } from './usageLedger.js';
16
+ import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability/otel.js';
17
+ // ---------------------------------------------------------------------------
18
+ // Provider dispatch helpers
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * Calls the OpenAI-compatible `/v1/embeddings` endpoint.
22
+ *
23
+ * Works for OpenAI native, OpenRouter, and any API that follows the
24
+ * same request/response contract.
25
+ *
26
+ * @param baseUrl - The API base URL (e.g. `https://api.openai.com/v1`).
27
+ * @param apiKey - Bearer token for the Authorization header.
28
+ * @param modelId - The embedding model identifier.
29
+ * @param input - Array of strings to embed.
30
+ * @param dimensions - Optional dimensionality reduction hint.
31
+ * @returns Parsed {@link OpenAIEmbeddingResponse}.
32
+ * @throws {Error} On non-2xx HTTP status or network failure.
33
+ */
34
+ async function callOpenAIEmbedding(baseUrl, apiKey, modelId, input, dimensions) {
35
+ // Construct the request body, omitting `dimensions` when not specified
36
+ // to avoid confusing models that don't support it.
37
+ const body = { model: modelId, input };
38
+ if (dimensions !== undefined) {
39
+ body.dimensions = dimensions;
40
+ }
41
+ const url = `${baseUrl.replace(/\/+$/, '')}/embeddings`;
42
+ const response = await fetch(url, {
43
+ method: 'POST',
44
+ headers: {
45
+ 'Content-Type': 'application/json',
46
+ 'Authorization': `Bearer ${apiKey}`,
47
+ },
48
+ body: JSON.stringify(body),
49
+ });
50
+ if (!response.ok) {
51
+ const text = await response.text().catch(() => '(no body)');
52
+ throw new Error(`Embedding request failed (${response.status}): ${text}`);
53
+ }
54
+ return response.json();
55
+ }
56
+ /**
57
+ * Calls the Ollama `/api/embed` endpoint.
58
+ *
59
+ * Ollama uses a different request shape than OpenAI: input is passed as a
60
+ * top-level `input` field (string or string[]), and the response has
61
+ * `embeddings` at the top level.
62
+ *
63
+ * @param baseUrl - The Ollama API base URL (e.g. `http://localhost:11434`).
64
+ * @param modelId - The Ollama model name (e.g. `nomic-embed-text`).
65
+ * @param input - Array of strings to embed.
66
+ * @returns Parsed {@link OllamaEmbedResponse}.
67
+ * @throws {Error} On non-2xx HTTP status or network failure.
68
+ */
69
+ async function callOllamaEmbed(baseUrl, modelId, input) {
70
+ const url = `${baseUrl.replace(/\/+$/, '')}/api/embed`;
71
+ const response = await fetch(url, {
72
+ method: 'POST',
73
+ headers: { 'Content-Type': 'application/json' },
74
+ body: JSON.stringify({ model: modelId, input }),
75
+ });
76
+ if (!response.ok) {
77
+ const text = await response.text().catch(() => '(no body)');
78
+ throw new Error(`Ollama embed request failed (${response.status}): ${text}`);
79
+ }
80
+ return response.json();
81
+ }
82
+ // ---------------------------------------------------------------------------
83
+ // Main function
84
+ // ---------------------------------------------------------------------------
85
+ /**
86
+ * Generates embedding vectors for one or more text inputs using a
87
+ * provider-agnostic `provider:model` string.
88
+ *
89
+ * Resolves credentials via the standard AgentOS provider pipeline, then
90
+ * dispatches to the appropriate embedding endpoint (OpenAI, Ollama, or
91
+ * OpenRouter). Returns raw float arrays suitable for vector similarity
92
+ * search, clustering, or any downstream ML pipeline.
93
+ *
94
+ * @param opts - Embedding options including model, input text(s), and
95
+ * optional provider/key overrides.
96
+ * @returns A promise resolving to the embedding vectors, provider metadata,
97
+ * and token usage.
98
+ *
99
+ * @throws {Error} When provider resolution fails (missing API key, unknown
100
+ * provider, etc.).
101
+ * @throws {Error} When the embedding API returns a non-2xx status.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * import { embedText } from '@framers/agentos';
106
+ *
107
+ * // Single input
108
+ * const { embeddings } = await embedText({
109
+ * model: 'openai:text-embedding-3-small',
110
+ * input: 'Hello world',
111
+ * });
112
+ * console.log(embeddings[0].length); // 1536
113
+ *
114
+ * // Batch with reduced dimensions
115
+ * const batch = await embedText({
116
+ * model: 'openai:text-embedding-3-small',
117
+ * input: ['Hello', 'World'],
118
+ * dimensions: 256,
119
+ * });
120
+ * console.log(batch.embeddings.length); // 2
121
+ * console.log(batch.embeddings[0].length); // 256
122
+ * ```
123
+ *
124
+ * @see {@link generateText} for text generation.
125
+ * @see {@link resolveModelOption} for provider auto-detection behaviour.
126
+ */
127
+ export async function embedText(opts) {
128
+ const startedAt = Date.now();
129
+ let metricStatus = 'ok';
130
+ let metricProviderId;
131
+ let metricModelId;
132
+ let metricUsage;
133
+ try {
134
+ return await withAgentOSSpan('agentos.api.embed_text', async (span) => {
135
+ // Resolve provider/model using the 'embedding' task type so the
136
+ // correct default model is selected (e.g. text-embedding-3-small).
137
+ const { providerId, modelId } = resolveModelOption(opts, 'embedding');
138
+ const resolved = resolveProvider(providerId, modelId, {
139
+ apiKey: opts.apiKey,
140
+ baseUrl: opts.baseUrl,
141
+ });
142
+ metricProviderId = resolved.providerId;
143
+ metricModelId = resolved.modelId;
144
+ span?.setAttribute('llm.provider', resolved.providerId);
145
+ span?.setAttribute('llm.model', resolved.modelId);
146
+ // Normalise input to an array for uniform handling downstream
147
+ const inputArray = Array.isArray(opts.input) ? opts.input : [opts.input];
148
+ span?.setAttribute('agentos.api.embed_input_count', inputArray.length);
149
+ let embeddings;
150
+ let reportedModel;
151
+ let usage;
152
+ if (resolved.providerId === 'ollama') {
153
+ // Ollama uses its own /api/embed endpoint format
154
+ const baseUrl = resolved.baseUrl ?? 'http://localhost:11434';
155
+ const result = await callOllamaEmbed(baseUrl, resolved.modelId, inputArray);
156
+ embeddings = result.embeddings;
157
+ reportedModel = result.model;
158
+ // Ollama doesn't report token usage for embeddings
159
+ usage = { promptTokens: 0, totalTokens: 0 };
160
+ }
161
+ else {
162
+ // OpenAI, OpenRouter, and any OpenAI-compatible provider
163
+ const baseUrl = resolved.baseUrl ?? (resolved.providerId === 'openrouter'
164
+ ? 'https://openrouter.ai/api/v1'
165
+ : 'https://api.openai.com/v1');
166
+ if (!resolved.apiKey) {
167
+ throw new Error(`No API key available for embedding provider "${resolved.providerId}".`);
168
+ }
169
+ const result = await callOpenAIEmbedding(baseUrl, resolved.apiKey, resolved.modelId, inputArray, opts.dimensions);
170
+ // Sort by index to guarantee order matches input order
171
+ // (the API contract already guarantees this, but defensive coding)
172
+ const sorted = [...result.data].sort((a, b) => a.index - b.index);
173
+ embeddings = sorted.map((d) => d.embedding);
174
+ reportedModel = result.model;
175
+ usage = {
176
+ promptTokens: result.usage.prompt_tokens,
177
+ totalTokens: result.usage.total_tokens,
178
+ };
179
+ }
180
+ metricUsage = usage;
181
+ span?.setAttribute('agentos.api.embed_dimensions', embeddings[0]?.length ?? 0);
182
+ attachUsageAttributes(span, {
183
+ promptTokens: usage.promptTokens,
184
+ totalTokens: usage.totalTokens,
185
+ });
186
+ return {
187
+ embeddings,
188
+ model: reportedModel,
189
+ provider: resolved.providerId,
190
+ usage,
191
+ };
192
+ });
193
+ }
194
+ catch (error) {
195
+ metricStatus = 'error';
196
+ throw error;
197
+ }
198
+ finally {
199
+ // Best-effort usage persistence and metrics recording
200
+ try {
201
+ await recordAgentOSUsage({
202
+ providerId: metricProviderId,
203
+ modelId: metricModelId,
204
+ usage: metricUsage ? {
205
+ promptTokens: metricUsage.promptTokens,
206
+ completionTokens: 0,
207
+ totalTokens: metricUsage.totalTokens,
208
+ } : undefined,
209
+ options: {
210
+ ...opts.usageLedger,
211
+ source: opts.usageLedger?.source ?? 'embedText',
212
+ },
213
+ });
214
+ }
215
+ catch {
216
+ // Helper-level usage persistence is best-effort and should not break embedding.
217
+ }
218
+ recordAgentOSTurnMetrics({
219
+ durationMs: Date.now() - startedAt,
220
+ status: metricStatus,
221
+ usage: toTurnMetricUsage(metricUsage ? {
222
+ promptTokens: metricUsage.promptTokens,
223
+ completionTokens: 0,
224
+ totalTokens: metricUsage.totalTokens,
225
+ } : undefined),
226
+ });
227
+ }
228
+ }
229
+ //# sourceMappingURL=embedText.js.map