@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
package/dist/api/agent.js CHANGED
@@ -8,9 +8,10 @@
8
8
  * are not actively enforced in this lightweight layer — use the full AgentOS
9
9
  * runtime (`AgentOSOrchestrator`) or `agency()` for guardrail enforcement.
10
10
  */
11
- import { generateText } from './generateText.js';
11
+ import { generateText, } from './generateText.js';
12
12
  import { streamText } from './streamText.js';
13
13
  import { getRecordedAgentOSUsage, } from './usageLedger.js';
14
+ import { exportAgentConfig, exportAgentConfigJSON } from './agentExport.js';
14
15
  function mergeUsageLedgerOptions(...parts) {
15
16
  const merged = Object.assign({}, ...parts.filter(Boolean));
16
17
  return Object.keys(merged).length > 0 ? merged : undefined;
@@ -38,10 +39,10 @@ function buildSystemPrompt(opts) {
38
39
  *
39
40
  * The agent wraps {@link generateText} and {@link streamText} with a persistent
40
41
  * system prompt built from `instructions`, `name`, and `personality` fields.
41
- * Multiple independent sessions can be opened via {@link Agent.session}.
42
+ * Multiple independent sessions can be opened via `Agent.session()`.
42
43
  *
43
44
  * @param opts - Agent configuration including model, instructions, and optional tools.
44
- * All {@link BaseAgentConfig} fields are accepted; advanced fields (rag, discovery,
45
+ * All `BaseAgentConfig` fields are accepted; advanced fields (rag, discovery,
45
46
  * permissions, emergent, voice, guardrails, etc.) are stored but not actively
46
47
  * wired in the lightweight layer — they are consumed by `agency()` and the full runtime.
47
48
  * @returns An {@link Agent} instance with `generate`, `stream`, `session`, and `close` methods.
@@ -74,13 +75,15 @@ export function agent(opts) {
74
75
  baseUrl: opts.baseUrl,
75
76
  usageLedger: effectiveLedger,
76
77
  };
77
- return {
78
+ const agentInstance = {
78
79
  async generate(prompt, extra) {
79
80
  return generateText({
80
81
  ...baseOpts,
81
82
  ...extra,
82
83
  prompt,
83
- usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, extra?.usageLedger, { source: extra?.usageLedger?.source ?? 'agent.generate' }),
84
+ usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, extra?.usageLedger, {
85
+ source: extra?.usageLedger?.source ?? 'agent.generate',
86
+ }),
84
87
  });
85
88
  },
86
89
  stream(prompt, extra) {
@@ -88,7 +91,9 @@ export function agent(opts) {
88
91
  ...baseOpts,
89
92
  ...extra,
90
93
  prompt,
91
- usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, extra?.usageLedger, { source: extra?.usageLedger?.source ?? 'agent.stream' }),
94
+ usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, extra?.usageLedger, {
95
+ source: extra?.usageLedger?.source ?? 'agent.stream',
96
+ }),
92
97
  });
93
98
  },
94
99
  session(id) {
@@ -105,7 +110,10 @@ export function agent(opts) {
105
110
  const result = await generateText({
106
111
  ...baseOpts,
107
112
  messages: requestMessages,
108
- usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, { sessionId, source: 'agent.session.send' }),
113
+ usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, {
114
+ sessionId,
115
+ source: 'agent.session.send',
116
+ }),
109
117
  });
110
118
  if (useMemory) {
111
119
  history.push({ role: 'user', content: text });
@@ -119,12 +127,19 @@ export function agent(opts) {
119
127
  messages: useMemory
120
128
  ? [...history, { role: 'user', content: text }]
121
129
  : [{ role: 'user', content: text }],
122
- usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, { sessionId, source: 'agent.session.stream' }),
130
+ usageLedger: mergeUsageLedgerOptions(baseOpts.usageLedger, {
131
+ sessionId,
132
+ source: 'agent.session.stream',
133
+ }),
123
134
  });
124
135
  // Capture text for history when done
125
136
  if (useMemory) {
126
137
  history.push({ role: 'user', content: text });
127
- void result.text.then((replyText) => history.push({ role: 'assistant', content: replyText })).catch(() => { });
138
+ void result.text
139
+ .then((replyText) => history.push({ role: 'assistant', content: replyText }))
140
+ .catch(() => {
141
+ /* history update failed, non-critical */
142
+ });
128
143
  }
129
144
  return result;
130
145
  },
@@ -153,6 +168,30 @@ export function agent(opts) {
153
168
  async close() {
154
169
  sessions.clear();
155
170
  },
171
+ /**
172
+ * Exports this agent's configuration as a portable object.
173
+ * @param metadata - Optional human-readable metadata to attach.
174
+ * @returns A portable {@link AgentExportConfig} object.
175
+ */
176
+ export(metadata) {
177
+ return exportAgentConfig(agentInstance, metadata);
178
+ },
179
+ /**
180
+ * Exports this agent's configuration as a pretty-printed JSON string.
181
+ * @param metadata - Optional human-readable metadata to attach.
182
+ * @returns JSON string with 2-space indentation.
183
+ */
184
+ exportJSON(metadata) {
185
+ return exportAgentConfigJSON(agentInstance, metadata);
186
+ },
156
187
  };
188
+ // Stash the original config as a non-enumerable property so that
189
+ // exportAgentConfig() can retrieve it without polluting the public API.
190
+ Object.defineProperty(agentInstance, '__config', {
191
+ value: opts,
192
+ enumerable: false,
193
+ configurable: true,
194
+ });
195
+ return agentInstance;
157
196
  }
158
197
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * @fileoverview Agent configuration export/import for AgentOS.
3
+ * @module @framers/agentos/api/agentExport
4
+ *
5
+ * Provides portable serialization and deserialization of agent and agency
6
+ * configurations. Agents can be exported as JSON or YAML, transferred across
7
+ * environments, and re-imported to create identical agent instances.
8
+ *
9
+ * The export captures the full `BaseAgentConfig` surface — model, tools,
10
+ * personality, guardrails, memory, RAG, voice, channels, etc. — as well as
11
+ * agency-specific fields (sub-agent roster, strategy, rounds).
12
+ *
13
+ * Security note: API keys and base URLs are intentionally **included** in the
14
+ * export for self-contained portability. Callers that publish or share exports
15
+ * should strip sensitive fields first, or use `validateAgentExport()` to
16
+ * inspect the payload before distribution.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { agent } from '@framers/agentos';
21
+ * import { exportAgentConfig, importAgent, exportAgentConfigJSON } from '../api/agentExport';
22
+ *
23
+ * const myAgent = agent({ model: 'openai:gpt-4o', instructions: 'Be helpful.' });
24
+ * const json = exportAgentConfigJSON(myAgent);
25
+ *
26
+ * // Later, in another process:
27
+ * const restored = importAgentFromJSON(json);
28
+ * const reply = await restored.generate('Hello!');
29
+ * ```
30
+ */
31
+ import type { BaseAgentConfig, AgencyStrategy, Agent } from './types.js';
32
+ /**
33
+ * Portable agent configuration envelope.
34
+ *
35
+ * Wraps a `BaseAgentConfig` with version metadata, export timestamp,
36
+ * and type discriminator so import logic can reconstruct the correct agent
37
+ * variant (single agent vs. multi-agent agency).
38
+ */
39
+ export interface AgentExportConfig {
40
+ /** Schema version for forward-compatible deserialization. */
41
+ version: '1.0.0';
42
+ /** ISO 8601 timestamp of when the export was created. */
43
+ exportedAt: string;
44
+ /**
45
+ * Discriminator: `'agent'` for a single-agent export, `'agency'` for
46
+ * a multi-agent export that includes a sub-agent roster.
47
+ */
48
+ type: 'agent' | 'agency';
49
+ /** The full agent configuration. */
50
+ config: BaseAgentConfig;
51
+ /** Sub-agent roster keyed by agent name. Present for agency exports. */
52
+ agents?: Record<string, BaseAgentConfig>;
53
+ /** Orchestration strategy. Present for agency exports. */
54
+ strategy?: AgencyStrategy;
55
+ /** Whether runtime strategy adaptation is enabled. */
56
+ adaptive?: boolean;
57
+ /** Maximum orchestration rounds for iterative strategies. */
58
+ maxRounds?: number;
59
+ /** Human-readable metadata about the export (name, author, tags, etc.). */
60
+ metadata?: {
61
+ /** Display name for the exported agent. */
62
+ name?: string;
63
+ /** Free-text description of what this agent does. */
64
+ description?: string;
65
+ /** Author identifier (person or system). */
66
+ author?: string;
67
+ /** Searchable tags for categorization. */
68
+ tags?: string[];
69
+ };
70
+ }
71
+ /**
72
+ * Exports an agent's configuration as a portable {@link AgentExportConfig} object.
73
+ *
74
+ * Captures the full `BaseAgentConfig` including model, instructions,
75
+ * personality, tools, guardrails, memory, RAG, voice, channels, and all
76
+ * other configuration surfaces. For agency instances, the sub-agent roster,
77
+ * strategy, and round limits are also included.
78
+ *
79
+ * @param agentInstance - The agent (or agency) instance to export.
80
+ * @param metadata - Optional human-readable metadata to attach to the export.
81
+ * @returns A portable config object that can be serialized to JSON or YAML.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const config = exportAgentConfig(myAgent, {
86
+ * name: 'Research Assistant',
87
+ * author: 'team-alpha',
88
+ * tags: ['research', 'summarization'],
89
+ * });
90
+ * ```
91
+ */
92
+ export declare function exportAgentConfig(agentInstance: Agent, metadata?: AgentExportConfig['metadata']): AgentExportConfig;
93
+ /**
94
+ * Exports an agent's configuration as a pretty-printed JSON string.
95
+ *
96
+ * @param agentInstance - The agent (or agency) instance to export.
97
+ * @param metadata - Optional human-readable metadata to attach.
98
+ * @returns JSON string with 2-space indentation.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * const json = exportAgentConfigJSON(myAgent);
103
+ * fs.writeFileSync('agent.json', json);
104
+ * ```
105
+ */
106
+ export declare function exportAgentConfigJSON(agentInstance: Agent, metadata?: AgentExportConfig['metadata']): string;
107
+ /**
108
+ * Exports an agent's configuration as a YAML string.
109
+ *
110
+ * Uses the `yaml` npm package for consistent, human-readable output.
111
+ *
112
+ * @param agentInstance - The agent (or agency) instance to export.
113
+ * @param metadata - Optional human-readable metadata to attach.
114
+ * @returns YAML-formatted string.
115
+ *
116
+ * @example
117
+ * ```ts
118
+ * const yamlStr = exportAgentConfigYAML(myAgent);
119
+ * fs.writeFileSync('agent.yaml', yamlStr);
120
+ * ```
121
+ */
122
+ export declare function exportAgentConfigYAML(agentInstance: Agent, metadata?: AgentExportConfig['metadata']): string;
123
+ /**
124
+ * Imports an agent from an {@link AgentExportConfig} object.
125
+ *
126
+ * For `type: 'agent'`, calls the `agent()` factory with the stored config.
127
+ * For `type: 'agency'`, calls the `agency()` factory with the stored config
128
+ * plus the sub-agent roster and strategy.
129
+ *
130
+ * The imported agent is a fully functional instance with `generate`, `stream`,
131
+ * `session`, and `close` methods.
132
+ *
133
+ * @param exportConfig - A validated export config object.
134
+ * @returns A new Agent instance constructed from the config.
135
+ *
136
+ * @throws {Error} If the config is invalid or missing required fields.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * const config = JSON.parse(fs.readFileSync('agent.json', 'utf-8'));
141
+ * const agent = importAgent(config);
142
+ * const reply = await agent.generate('Hello!');
143
+ * ```
144
+ */
145
+ export declare function importAgent(exportConfig: AgentExportConfig): Agent;
146
+ /**
147
+ * Imports an agent from a JSON string.
148
+ *
149
+ * Parses the string and delegates to {@link importAgent}.
150
+ *
151
+ * @param json - JSON string containing an {@link AgentExportConfig}.
152
+ * @returns A new Agent instance.
153
+ *
154
+ * @throws {SyntaxError} If the JSON is malformed.
155
+ * @throws {Error} If the parsed config fails validation.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * const agent = importAgentFromJSON(fs.readFileSync('agent.json', 'utf-8'));
160
+ * ```
161
+ */
162
+ export declare function importAgentFromJSON(json: string): Agent;
163
+ /**
164
+ * Imports an agent from a YAML string.
165
+ *
166
+ * Parses the string using the `yaml` npm package and delegates to
167
+ * {@link importAgent}.
168
+ *
169
+ * @param yamlStr - YAML string containing an {@link AgentExportConfig}.
170
+ * @returns A new Agent instance.
171
+ *
172
+ * @throws {Error} If the YAML is malformed or the config fails validation.
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * const agent = importAgentFromYAML(fs.readFileSync('agent.yaml', 'utf-8'));
177
+ * ```
178
+ */
179
+ export declare function importAgentFromYAML(yamlStr: string): Agent;
180
+ /**
181
+ * Validates an export config object without importing it.
182
+ *
183
+ * Checks structural correctness: schema version, required fields, type
184
+ * discriminator, and agency-specific field consistency. Does NOT validate
185
+ * the semantic correctness of the config (e.g. whether the model exists).
186
+ *
187
+ * @param config - Unknown value to validate as an {@link AgentExportConfig}.
188
+ * @returns Object with `valid` boolean and an array of error messages.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * const result = validateAgentExport(someObject);
193
+ * if (!result.valid) {
194
+ * console.error('Validation errors:', result.errors);
195
+ * }
196
+ * ```
197
+ */
198
+ export declare function validateAgentExport(config: unknown): {
199
+ valid: boolean;
200
+ errors: string[];
201
+ };
202
+ //# sourceMappingURL=agentExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentExport.d.ts","sourceRoot":"","sources":["../../src/api/agentExport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAiB,cAAc,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxF;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAC;IAEjB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEzB,oCAAoC;IACpC,MAAM,EAAE,eAAe,CAAC;IAIxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEzC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE;QACT,2CAA2C;QAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,qDAAqD;QACrD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,4CAA4C;QAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,0CAA0C;QAC1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAsDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,KAAK,EACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GACvC,iBAAiB,CA0BnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,KAAK,EACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GACvC,MAAM,CAER;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,KAAK,EACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GACvC,MAAM,CAER;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,iBAAiB,GAAG,KAAK,CAiDlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAGvD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAG1D;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyDzF"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * @fileoverview Agent configuration export/import for AgentOS.
3
+ * @module @framers/agentos/api/agentExport
4
+ *
5
+ * Provides portable serialization and deserialization of agent and agency
6
+ * configurations. Agents can be exported as JSON or YAML, transferred across
7
+ * environments, and re-imported to create identical agent instances.
8
+ *
9
+ * The export captures the full `BaseAgentConfig` surface — model, tools,
10
+ * personality, guardrails, memory, RAG, voice, channels, etc. — as well as
11
+ * agency-specific fields (sub-agent roster, strategy, rounds).
12
+ *
13
+ * Security note: API keys and base URLs are intentionally **included** in the
14
+ * export for self-contained portability. Callers that publish or share exports
15
+ * should strip sensitive fields first, or use `validateAgentExport()` to
16
+ * inspect the payload before distribution.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { agent } from '@framers/agentos';
21
+ * import { exportAgentConfig, importAgent, exportAgentConfigJSON } from '../api/agentExport.js';
22
+ *
23
+ * const myAgent = agent({ model: 'openai:gpt-4o', instructions: 'Be helpful.' });
24
+ * const json = exportAgentConfigJSON(myAgent);
25
+ *
26
+ * // Later, in another process:
27
+ * const restored = importAgentFromJSON(json);
28
+ * const reply = await restored.generate('Hello!');
29
+ * ```
30
+ */
31
+ import YAML from 'yaml';
32
+ import { agent as createAgent } from './agent.js';
33
+ import { agency as createAgency } from './agency.js';
34
+ // ============================================================================
35
+ // EXPORT FUNCTIONS
36
+ // ============================================================================
37
+ /**
38
+ * Extracts the stored configuration from an Agent instance.
39
+ *
40
+ * The agent's config is captured at creation time by the `agent()` and
41
+ * `agency()` factories and attached as a non-enumerable `__config` property.
42
+ * If the property is absent (e.g. the agent was created by external code),
43
+ * we return an empty config.
44
+ *
45
+ * @param agentInstance - The agent to extract config from.
46
+ * @returns The stored BaseAgentConfig or an empty object.
47
+ */
48
+ function extractConfig(agentInstance) {
49
+ // The __config property is set by our patched agent/agency factories
50
+ const config = agentInstance.__config;
51
+ if (config && typeof config === 'object') {
52
+ return config;
53
+ }
54
+ // Fallback: no stored config — return empty
55
+ return {};
56
+ }
57
+ /**
58
+ * Extracts agency-specific fields from an Agent instance that was created
59
+ * by the `agency()` factory.
60
+ *
61
+ * @param agentInstance - The agent/agency to extract from.
62
+ * @returns Agency fields if present, or undefined for plain agents.
63
+ */
64
+ function extractAgencyFields(agentInstance) {
65
+ const raw = agentInstance.__agencyConfig;
66
+ if (raw && typeof raw === 'object') {
67
+ return raw;
68
+ }
69
+ return undefined;
70
+ }
71
+ /**
72
+ * Exports an agent's configuration as a portable {@link AgentExportConfig} object.
73
+ *
74
+ * Captures the full `BaseAgentConfig` including model, instructions,
75
+ * personality, tools, guardrails, memory, RAG, voice, channels, and all
76
+ * other configuration surfaces. For agency instances, the sub-agent roster,
77
+ * strategy, and round limits are also included.
78
+ *
79
+ * @param agentInstance - The agent (or agency) instance to export.
80
+ * @param metadata - Optional human-readable metadata to attach to the export.
81
+ * @returns A portable config object that can be serialized to JSON or YAML.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const config = exportAgentConfig(myAgent, {
86
+ * name: 'Research Assistant',
87
+ * author: 'team-alpha',
88
+ * tags: ['research', 'summarization'],
89
+ * });
90
+ * ```
91
+ */
92
+ export function exportAgentConfig(agentInstance, metadata) {
93
+ const config = extractConfig(agentInstance);
94
+ const agencyFields = extractAgencyFields(agentInstance);
95
+ const isAgency = !!agencyFields?.agents;
96
+ const exportConfig = {
97
+ version: '1.0.0',
98
+ exportedAt: new Date().toISOString(),
99
+ type: isAgency ? 'agency' : 'agent',
100
+ config,
101
+ };
102
+ // Attach agency-specific fields when present
103
+ if (isAgency && agencyFields) {
104
+ exportConfig.agents = agencyFields.agents;
105
+ exportConfig.strategy = agencyFields.strategy;
106
+ exportConfig.adaptive = agencyFields.adaptive;
107
+ exportConfig.maxRounds = agencyFields.maxRounds;
108
+ }
109
+ if (metadata) {
110
+ exportConfig.metadata = metadata;
111
+ }
112
+ return exportConfig;
113
+ }
114
+ /**
115
+ * Exports an agent's configuration as a pretty-printed JSON string.
116
+ *
117
+ * @param agentInstance - The agent (or agency) instance to export.
118
+ * @param metadata - Optional human-readable metadata to attach.
119
+ * @returns JSON string with 2-space indentation.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * const json = exportAgentConfigJSON(myAgent);
124
+ * fs.writeFileSync('agent.json', json);
125
+ * ```
126
+ */
127
+ export function exportAgentConfigJSON(agentInstance, metadata) {
128
+ return JSON.stringify(exportAgentConfig(agentInstance, metadata), null, 2);
129
+ }
130
+ /**
131
+ * Exports an agent's configuration as a YAML string.
132
+ *
133
+ * Uses the `yaml` npm package for consistent, human-readable output.
134
+ *
135
+ * @param agentInstance - The agent (or agency) instance to export.
136
+ * @param metadata - Optional human-readable metadata to attach.
137
+ * @returns YAML-formatted string.
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const yamlStr = exportAgentConfigYAML(myAgent);
142
+ * fs.writeFileSync('agent.yaml', yamlStr);
143
+ * ```
144
+ */
145
+ export function exportAgentConfigYAML(agentInstance, metadata) {
146
+ return YAML.stringify(exportAgentConfig(agentInstance, metadata));
147
+ }
148
+ // ============================================================================
149
+ // IMPORT FUNCTIONS
150
+ // ============================================================================
151
+ /**
152
+ * Imports an agent from an {@link AgentExportConfig} object.
153
+ *
154
+ * For `type: 'agent'`, calls the `agent()` factory with the stored config.
155
+ * For `type: 'agency'`, calls the `agency()` factory with the stored config
156
+ * plus the sub-agent roster and strategy.
157
+ *
158
+ * The imported agent is a fully functional instance with `generate`, `stream`,
159
+ * `session`, and `close` methods.
160
+ *
161
+ * @param exportConfig - A validated export config object.
162
+ * @returns A new Agent instance constructed from the config.
163
+ *
164
+ * @throws {Error} If the config is invalid or missing required fields.
165
+ *
166
+ * @example
167
+ * ```ts
168
+ * const config = JSON.parse(fs.readFileSync('agent.json', 'utf-8'));
169
+ * const agent = importAgent(config);
170
+ * const reply = await agent.generate('Hello!');
171
+ * ```
172
+ */
173
+ export function importAgent(exportConfig) {
174
+ const validation = validateAgentExport(exportConfig);
175
+ if (!validation.valid) {
176
+ throw new Error(`Invalid agent export config: ${validation.errors.join('; ')}`);
177
+ }
178
+ if (exportConfig.type === 'agency' && exportConfig.agents) {
179
+ // Reconstruct an agency with its sub-agent roster
180
+ const agencyOpts = {
181
+ ...exportConfig.config,
182
+ agents: exportConfig.agents,
183
+ strategy: exportConfig.strategy,
184
+ adaptive: exportConfig.adaptive,
185
+ maxRounds: exportConfig.maxRounds,
186
+ };
187
+ const agencyInstance = createAgency(agencyOpts);
188
+ // Stash config for re-export round-tripping
189
+ Object.defineProperty(agencyInstance, '__config', {
190
+ value: exportConfig.config,
191
+ enumerable: false,
192
+ configurable: true,
193
+ });
194
+ Object.defineProperty(agencyInstance, '__agencyConfig', {
195
+ value: {
196
+ agents: exportConfig.agents,
197
+ strategy: exportConfig.strategy,
198
+ adaptive: exportConfig.adaptive,
199
+ maxRounds: exportConfig.maxRounds,
200
+ },
201
+ enumerable: false,
202
+ configurable: true,
203
+ });
204
+ return agencyInstance;
205
+ }
206
+ // Single agent
207
+ const agentInstance = createAgent(exportConfig.config);
208
+ // Stash config for re-export round-tripping
209
+ Object.defineProperty(agentInstance, '__config', {
210
+ value: exportConfig.config,
211
+ enumerable: false,
212
+ configurable: true,
213
+ });
214
+ return agentInstance;
215
+ }
216
+ /**
217
+ * Imports an agent from a JSON string.
218
+ *
219
+ * Parses the string and delegates to {@link importAgent}.
220
+ *
221
+ * @param json - JSON string containing an {@link AgentExportConfig}.
222
+ * @returns A new Agent instance.
223
+ *
224
+ * @throws {SyntaxError} If the JSON is malformed.
225
+ * @throws {Error} If the parsed config fails validation.
226
+ *
227
+ * @example
228
+ * ```ts
229
+ * const agent = importAgentFromJSON(fs.readFileSync('agent.json', 'utf-8'));
230
+ * ```
231
+ */
232
+ export function importAgentFromJSON(json) {
233
+ const parsed = JSON.parse(json);
234
+ return importAgent(parsed);
235
+ }
236
+ /**
237
+ * Imports an agent from a YAML string.
238
+ *
239
+ * Parses the string using the `yaml` npm package and delegates to
240
+ * {@link importAgent}.
241
+ *
242
+ * @param yamlStr - YAML string containing an {@link AgentExportConfig}.
243
+ * @returns A new Agent instance.
244
+ *
245
+ * @throws {Error} If the YAML is malformed or the config fails validation.
246
+ *
247
+ * @example
248
+ * ```ts
249
+ * const agent = importAgentFromYAML(fs.readFileSync('agent.yaml', 'utf-8'));
250
+ * ```
251
+ */
252
+ export function importAgentFromYAML(yamlStr) {
253
+ const parsed = YAML.parse(yamlStr);
254
+ return importAgent(parsed);
255
+ }
256
+ // ============================================================================
257
+ // VALIDATION
258
+ // ============================================================================
259
+ /**
260
+ * Validates an export config object without importing it.
261
+ *
262
+ * Checks structural correctness: schema version, required fields, type
263
+ * discriminator, and agency-specific field consistency. Does NOT validate
264
+ * the semantic correctness of the config (e.g. whether the model exists).
265
+ *
266
+ * @param config - Unknown value to validate as an {@link AgentExportConfig}.
267
+ * @returns Object with `valid` boolean and an array of error messages.
268
+ *
269
+ * @example
270
+ * ```ts
271
+ * const result = validateAgentExport(someObject);
272
+ * if (!result.valid) {
273
+ * console.error('Validation errors:', result.errors);
274
+ * }
275
+ * ```
276
+ */
277
+ export function validateAgentExport(config) {
278
+ const errors = [];
279
+ if (!config || typeof config !== 'object') {
280
+ return { valid: false, errors: ['Config must be a non-null object'] };
281
+ }
282
+ const c = config;
283
+ // Version check
284
+ if (c.version !== '1.0.0') {
285
+ errors.push(`Unsupported version: ${String(c.version ?? 'missing')}. Expected "1.0.0".`);
286
+ }
287
+ // Type discriminator
288
+ if (c.type !== 'agent' && c.type !== 'agency') {
289
+ errors.push(`Invalid type: ${String(c.type ?? 'missing')}. Expected "agent" or "agency".`);
290
+ }
291
+ // exportedAt must be a string (ISO 8601)
292
+ if (typeof c.exportedAt !== 'string') {
293
+ errors.push('Missing or invalid "exportedAt" field. Expected an ISO 8601 string.');
294
+ }
295
+ // config must be an object
296
+ if (!c.config || typeof c.config !== 'object') {
297
+ errors.push('Missing or invalid "config" field. Expected an object.');
298
+ }
299
+ // Agency-specific: agents must be present when type is 'agency'
300
+ if (c.type === 'agency') {
301
+ if (!c.agents || typeof c.agents !== 'object' || Object.keys(c.agents).length === 0) {
302
+ errors.push('Agency export requires a non-empty "agents" roster.');
303
+ }
304
+ // Strategy, if present, must be a valid value
305
+ const validStrategies = new Set([
306
+ 'sequential',
307
+ 'parallel',
308
+ 'debate',
309
+ 'review-loop',
310
+ 'hierarchical',
311
+ 'graph',
312
+ ]);
313
+ if (c.strategy !== undefined && !validStrategies.has(c.strategy)) {
314
+ errors.push(`Invalid strategy: ${String(c.strategy)}. Expected one of: ${[...validStrategies].join(', ')}.`);
315
+ }
316
+ }
317
+ // Metadata validation (optional, but if present must be an object)
318
+ if (c.metadata !== undefined && (typeof c.metadata !== 'object' || c.metadata === null)) {
319
+ errors.push('"metadata" must be an object when present.');
320
+ }
321
+ return { valid: errors.length === 0, errors };
322
+ }
323
+ //# sourceMappingURL=agentExport.js.map