@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
@@ -22,7 +22,7 @@ export interface LoopConfig {
22
22
  maxIterations: number;
23
23
  /**
24
24
  * When `true`, all tool calls within a single iteration are dispatched in
25
- * parallel via `Promise.allSettled`. When `false`, they execute sequentially.
25
+ * parallel via `Promise.allSettled()`. When `false`, they execute sequentially.
26
26
  */
27
27
  parallelTools: boolean;
28
28
  /**
@@ -45,7 +45,7 @@ export interface LoopConfig {
45
45
  export interface LoopContext {
46
46
  /**
47
47
  * Async generator that streams chunks during a single LLM inference pass.
48
- * Must return a {@link LoopOutput} as its generator return value (the value
48
+ * Must return a `LoopOutput` as its generator return value (the value
49
49
  * passed to the final `done: true` result from `.next()`).
50
50
  */
51
51
  generateStream: () => AsyncGenerator<LoopChunk, LoopOutput, undefined>;
@@ -76,7 +76,7 @@ export interface LoopToolCallRequest {
76
76
  * The outcome of executing a {@link LoopToolCallRequest}.
77
77
  */
78
78
  export interface LoopToolCallResult {
79
- /** Matches the originating {@link LoopToolCallRequest.id}. */
79
+ /** Matches the originating `LoopToolCallRequest.id`. */
80
80
  id: string;
81
81
  /** Name of the tool that was called. */
82
82
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"LoopController.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/LoopController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC;IAEzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,cAAc,EAAE,MAAM,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAEvE;;;;OAIG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE5E;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACzD;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAC;IAEX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IAEX,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,IAAI,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAEzC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,EAAE,mBAAmB,EAAE,CAAC;IAEjC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAMvD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACzB;;;;;;;OAOG;IACI,OAAO,CACZ,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,GACnB,cAAc,CAAC,SAAS,CAAC;CAuG7B"}
1
+ {"version":3,"file":"LoopController.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/LoopController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC;IAEzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,cAAc,EAAE,MAAM,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAEvE;;;;OAIG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE5E;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACzD;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAC;IAEX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IAEX,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,IAAI,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAEzC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,EAAE,mBAAmB,EAAE,CAAC;IAEjC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAMvD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACzB;;;;;;;OAOG;IACI,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;CAmGpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoopController.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/LoopController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiKH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAc;IACzB;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,OAAO,CACZ,MAAkB,EAClB,OAAoB;QAEpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACxC,SAAS,EAAE,CAAC;YAEZ,qEAAqE;YACrE,kEAAkE;YAClE,oEAAoE;YACpE,qDAAqD;YACrD,qEAAqE;YACrE,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,SAAiC,CAAC;YAEtC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAEzC,IAAI,IAAI,EAAE,CAAC;oBACT,0DAA0D;oBAC1D,SAAS,GAAG,KAAmB,CAAC;oBAChC,MAAM;gBACR,CAAC;gBAED,oCAAoC;gBACpC,MAAM,KAAK,GAAG,KAAkB,CAAC;gBAEjC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC1D,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,qEAAqE;YACrE,0DAA0D;YAC1D,qEAAqE;YACrE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YACtC,IAAI,OAA6B,CAAC;YAElC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,oEAAoE;gBACpE,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAC;gBAEF,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;wBAAE,OAAO,CAAC,CAAC,KAAK,CAAC;oBAE7C,iEAAiE;oBACjE,kCAAkC;oBAClC,OAAO;wBACL,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;wBACvB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;qBACxB,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,wDAAwD;gBACxD,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,iEAAiE;YACjE,qEAAqE;YACrE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC;oBACjD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;oBAErE,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;wBACzC,MAAM,IAAI,KAAK,CACb,QAAQ,MAAM,CAAC,IAAI,0BAA0B,QAAQ,EAAE,CACxD,CAAC;oBACJ,CAAC;oBACD,4DAA4D;gBAC9D,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,qDAAqD;YACrD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,iDAAiD;QACjD,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IAC5E,CAAC;CACF"}
1
+ {"version":3,"file":"LoopController.js","sourceRoot":"","sources":["../../../src/orchestration/runtime/LoopController.ts"],"names":[],"mappings":"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"}
@@ -35,13 +35,13 @@ export declare class StateManager {
35
35
  /**
36
36
  * @param reducers - Field-level reducer configuration keyed by dot-notation paths
37
37
  * (e.g. `'scratch.messages'`). Determines how conflicting values
38
- * are merged during {@link updateScratch} and {@link mergeParallelBranches}.
38
+ * are merged during `updateScratch()` and `mergeParallelBranches()`.
39
39
  */
40
40
  constructor(reducers: StateReducers);
41
41
  /**
42
42
  * Create a clean initial {@link GraphState} from the caller-supplied `input` value.
43
43
  *
44
- * The `input` partition is frozen with {@link Object.freeze} so that no node can
44
+ * The `input` partition is frozen with `Object.freeze()` so that no node can
45
45
  * accidentally mutate it. All other partitions start empty.
46
46
  *
47
47
  * @param input - Arbitrary value provided by the graph caller; becomes `state.input`.
@@ -67,7 +67,7 @@ export declare class StateManager {
67
67
  *
68
68
  * Artifact fields are intended for caller-facing outputs and are not subject to
69
69
  * reducer logic in this method. If you need reducer-aware artifact merging, use
70
- * {@link mergeParallelBranches} instead.
70
+ * `mergeParallelBranches()` instead.
71
71
  *
72
72
  * @param state - Current graph state (not mutated).
73
73
  * @param patch - Partial artifacts update emitted by a completed node.
@@ -36,7 +36,7 @@ export class StateManager {
36
36
  /**
37
37
  * @param reducers - Field-level reducer configuration keyed by dot-notation paths
38
38
  * (e.g. `'scratch.messages'`). Determines how conflicting values
39
- * are merged during {@link updateScratch} and {@link mergeParallelBranches}.
39
+ * are merged during `updateScratch()` and `mergeParallelBranches()`.
40
40
  */
41
41
  constructor(reducers) {
42
42
  this.reducers = reducers;
@@ -47,7 +47,7 @@ export class StateManager {
47
47
  /**
48
48
  * Create a clean initial {@link GraphState} from the caller-supplied `input` value.
49
49
  *
50
- * The `input` partition is frozen with {@link Object.freeze} so that no node can
50
+ * The `input` partition is frozen with `Object.freeze()` so that no node can
51
51
  * accidentally mutate it. All other partitions start empty.
52
52
  *
53
53
  * @param input - Arbitrary value provided by the graph caller; becomes `state.input`.
@@ -99,7 +99,7 @@ export class StateManager {
99
99
  *
100
100
  * Artifact fields are intended for caller-facing outputs and are not subject to
101
101
  * reducer logic in this method. If you need reducer-aware artifact merging, use
102
- * {@link mergeParallelBranches} instead.
102
+ * `mergeParallelBranches()` instead.
103
103
  *
104
104
  * @param state - Current graph state (not mutated).
105
105
  * @param patch - Partial artifacts update emitted by a completed node.
@@ -1,22 +1,35 @@
1
1
  /**
2
2
  * @file VoiceNodeExecutor.ts
3
3
  * @description Executes voice nodes in the orchestration graph by managing a voice
4
- * pipeline session, collecting turns via {@link VoiceTurnCollector}, and racing
4
+ * pipeline session, collecting turns via `VoiceTurnCollector`, and racing
5
5
  * multiple exit conditions (hangup, turns exhausted, keyword, silence timeout,
6
6
  * barge-in abort) to determine when the voice node completes.
7
7
  *
8
+ * ## Design rationale
9
+ *
8
10
  * The executor follows the standard 2-arg `execute(node, state)` contract used by
9
- * {@link NodeExecutor}. It creates an internal `AbortController` for barge-in
11
+ * {@link NodeExecutor}. Internally it creates an `AbortController` for barge-in
10
12
  * support and optionally merges a parent abort signal from `state.scratch.abortSignal`.
11
13
  *
14
+ * Exit conditions are modelled as a **single `Promise.race`** rather than a state
15
+ * machine because the conditions are orthogonal and any one of them can fire at any
16
+ * time. The `settled` flag inside {@link raceExitConditions} guards against
17
+ * double-resolution when two conditions fire within the same microtask.
18
+ *
19
+ * ## State contract
20
+ *
12
21
  * Voice transport and session references are expected in `state.scratch`:
13
- * - `voiceTransport` the bidirectional transport EventEmitter (emits `close` / `disconnected`).
14
- * - `voiceTransport._voiceSession` the voice pipeline session EventEmitter that fires
22
+ * - `voiceTransport` -- the bidirectional transport EventEmitter (emits `close` / `disconnected`).
23
+ * - `voiceTransport._voiceSession` -- the voice pipeline session EventEmitter that fires
15
24
  * `final_transcript`, `turn_complete`, `speech_start`, and `barge_in` events.
16
25
  *
17
26
  * Checkpoint data is stored in `state.scratch[nodeId]` as a {@link VoiceNodeCheckpoint},
18
27
  * enabling the graph runtime to resume a voice session from the exact turn index where
19
28
  * it was previously suspended.
29
+ *
30
+ * See `VoiceTurnCollector` for transcript buffering and event bridging.
31
+ * See `VoiceTransportAdapter` for how graph I/O is wrapped at the transport level.
32
+ * @see {@link VoiceInterruptError} for the structured barge-in error type.
20
33
  */
21
34
  import type { GraphNode, GraphState, VoiceNodeConfig } from '../ir/types.js';
22
35
  import type { GraphEvent } from '../events/GraphEvent.js';
@@ -27,21 +40,44 @@ import type { NodeExecutionResult } from './NodeExecutor.js';
27
40
  * The graph runtime persists this structure so that a subsequent invocation of the
28
41
  * same voice node (e.g. after a graph loop or checkpoint restore) can continue the
29
42
  * conversation from `turnIndex` rather than resetting to zero.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * // Restoring from a checkpoint:
47
+ * const checkpoint = state.scratch['voice-1'] as VoiceNodeCheckpoint;
48
+ * const resumedTurnIndex = checkpoint.turnIndex; // e.g. 5
49
+ * ```
30
50
  */
31
51
  export interface VoiceNodeCheckpoint {
32
52
  /** Number of turns completed when the checkpoint was captured. */
33
53
  turnIndex: number;
34
- /** Full transcript buffer at the time of checkpoint. */
54
+ /**
55
+ * Full transcript buffer at the time of checkpoint.
56
+ *
57
+ * Each entry records a confirmed (final) utterance with its speaker label
58
+ * and wall-clock timestamp, preserving the full conversation history for
59
+ * downstream summarisation or analytics.
60
+ */
35
61
  transcript: Array<{
36
62
  speaker: string;
37
63
  text: string;
38
64
  timestamp: number;
39
65
  }>;
40
- /** Exit reason that caused the voice node to complete (`null` if still in progress). */
66
+ /**
67
+ * Exit reason that caused the voice node to complete.
68
+ * `null` when the checkpoint was captured mid-session (e.g. process crash).
69
+ */
41
70
  lastExitReason: string | null;
42
- /** Maps diarization speaker labels to human-readable names (reserved for future use). */
71
+ /**
72
+ * Maps diarization speaker labels to human-readable names.
73
+ * Reserved for future use -- populated as an empty object today.
74
+ */
43
75
  speakerMap: Record<string, string>;
44
- /** The voice config that was active when this checkpoint was created. */
76
+ /**
77
+ * The voice config that was active when this checkpoint was created.
78
+ * Stored so that a resumed session can verify config compatibility before
79
+ * continuing from the persisted turn index.
80
+ */
45
81
  sessionConfig: VoiceNodeConfig;
46
82
  }
47
83
  /**
@@ -49,55 +85,96 @@ export interface VoiceNodeCheckpoint {
49
85
  * multiple exit conditions to determine when the node is done.
50
86
  *
51
87
  * Exit conditions are evaluated concurrently via a single `Promise` race:
52
- * - **Hangup** transport emits `close` or `disconnected`.
53
- * - **Turns exhausted** session emits `turn_complete` and the collector's count
88
+ * - **Hangup** -- transport emits `close` or `disconnected`.
89
+ * - **Turns exhausted** -- session emits `turn_complete` and the collector's count
54
90
  * reaches `config.maxTurns`.
55
- * - **Keyword** a `final_transcript` event contains one of `config.exitKeywords`.
56
- * - **Silence timeout** no speech activity for 30 seconds (when `exitOn: 'silence-timeout'`).
57
- * - **Abort/barge-in** the internal `AbortController` is signalled, either by a
91
+ * - **Keyword** -- a `final_transcript` event contains one of `config.exitKeywords`.
92
+ * - **Silence timeout** -- no speech activity for 30 seconds (when `exitOn: 'silence-timeout'`).
93
+ * - **Abort/barge-in** -- the internal `AbortController` is signalled, either by a
58
94
  * parent abort signal or a `VoiceInterruptError`.
59
95
  *
60
96
  * @example
61
97
  * ```ts
62
98
  * const executor = new VoiceNodeExecutor((event) => emitter.emit(event));
63
99
  * const result = await executor.execute(voiceNode, graphState);
64
- * console.log(result.output.exitReason); // 'turns-exhausted' | 'hangup' | 'keyword:goodbye' | ...
100
+ * console.log(result.output.exitReason);
101
+ * // 'turns-exhausted' | 'hangup' | 'keyword:goodbye' | 'silence-timeout' | 'interrupted'
65
102
  * ```
103
+ *
104
+ * See `VoiceTurnCollector` for session subscription and transcript buffering.
105
+ * @see {@link VoiceInterruptError} -- structured barge-in error that triggers the `interrupted` path.
66
106
  */
67
107
  export declare class VoiceNodeExecutor {
68
108
  private readonly eventSink;
69
109
  /**
110
+ * Creates a new VoiceNodeExecutor.
111
+ *
70
112
  * @param eventSink - Callback invoked synchronously for every emitted {@link GraphEvent}.
71
- * Typically bound to the graph runtime's event emitter.
113
+ * Typically bound to the graph runtime's event emitter so that
114
+ * voice lifecycle events (`voice_session`, `voice_transcript`, etc.)
115
+ * are visible to all graph event consumers.
72
116
  */
73
117
  constructor(eventSink: (event: GraphEvent) => void);
74
118
  /**
75
119
  * Execute a voice node. Matches the standard 2-arg `execute(node, state)` signature
76
120
  * used throughout the orchestration runtime.
77
121
  *
78
- * Creates an internal `AbortController` for barge-in, wires up a
79
- * {@link VoiceTurnCollector} on the session, and races exit conditions to
80
- * determine when the node completes.
122
+ * ## Lifecycle
123
+ *
124
+ * 1. Validates that `node.executorConfig.type` is `'voice'`.
125
+ * 2. Creates an internal `AbortController` for barge-in, wiring it to any parent
126
+ * abort signal in `state.scratch.abortSignal`.
127
+ * 3. Extracts the `voiceTransport` from `state.scratch` (must be pre-placed by
128
+ * the graph runtime or `VoiceTransportAdapter`).
129
+ * 4. Checks for a {@link VoiceNodeCheckpoint} to resume from.
130
+ * 5. Emits a `voice_session` started event.
131
+ * 6. Wires a `VoiceTurnCollector` onto the session and races exit conditions.
132
+ * 7. Resolves the exit reason to a route target via the node's edge map.
133
+ * 8. Returns a {@link NodeExecutionResult} with transcript, exit reason, checkpoint,
134
+ * and optional route target.
81
135
  *
82
136
  * @param node - Immutable voice node descriptor from the compiled graph IR.
137
+ * Must have `executorConfig.type === 'voice'`.
83
138
  * @param state - Current (partial) graph state threaded from the runtime.
139
+ * Must contain `scratch.voiceTransport` for the voice session.
84
140
  * @returns A {@link NodeExecutionResult} with transcript, exit reason, and optional route target.
141
+ * On success, `output` contains `{ transcript, turns, exitReason, lastSpeaker, interruptedText }`.
142
+ * `scratchUpdate` carries the {@link VoiceNodeCheckpoint} keyed by node id.
143
+ * @throws Never -- all errors are caught and returned as `{ success: false, error }`.
144
+ * {@link VoiceInterruptError} is caught and mapped to `exitReason: 'interrupted'`.
145
+ *
146
+ * @see {@link raceExitConditions} for the concurrent exit condition implementation.
85
147
  */
86
148
  execute(node: GraphNode, state: Partial<GraphState>): Promise<NodeExecutionResult>;
87
149
  /**
88
150
  * Races all configured exit conditions against each other and resolves with
89
151
  * the first one that fires.
90
152
  *
91
- * Listeners are attached to the session and transport EventEmitters. The
92
- * `AbortController` signal is also monitored — if it fires with a
93
- * {@link VoiceInterruptError} the Promise rejects (handled by the caller),
94
- * otherwise it resolves with `{ reason: 'interrupted' }`.
153
+ * ## How it works
154
+ *
155
+ * Each exit condition is wired as a listener on either the `session` or
156
+ * `transport` EventEmitter. All listeners call a shared `settleWith()` helper
157
+ * that resolves the outer Promise exactly once (guarded by a `settled` boolean).
158
+ *
159
+ * The `AbortController` signal is also monitored -- if it fires with a
160
+ * {@link VoiceInterruptError} the Promise rejects (handled by the caller's
161
+ * catch block), otherwise it resolves with `{ reason: 'interrupted' }`.
162
+ *
163
+ * ## Why a Promise race instead of a state machine?
164
+ *
165
+ * The exit conditions are independent and asynchronous. A Promise-based race
166
+ * avoids complex state transitions and lets each condition be a simple
167
+ * event listener. The `settled` guard handles the only tricky case: two
168
+ * conditions firing in the same microtask.
95
169
  *
96
- * @param session - Voice pipeline session EventEmitter.
97
- * @param collector - Active turn collector tracking turn count.
98
- * @param config - Voice node configuration with exit settings.
170
+ * @param session - Voice pipeline session EventEmitter that fires
171
+ * `turn_complete`, `final_transcript`, `speech_start`, `barge_in`.
172
+ * @param collector - Active turn collector tracking turn count and transcript.
173
+ * @param config - Voice node configuration with exit settings (`maxTurns`,
174
+ * `exitOn`, `exitKeywords`).
99
175
  * @param controller - Internal AbortController for barge-in signalling.
100
- * @param transport - Bidirectional transport EventEmitter.
176
+ * @param transport - Bidirectional transport EventEmitter that fires `close`
177
+ * and `disconnected` on hangup.
101
178
  * @returns The winning exit condition's reason string and optional interrupted text.
102
179
  */
103
180
  private raceExitConditions;
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceNodeExecutor.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/VoiceNodeExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,wFAAwF;IACxF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yEAAyE;IACzE,aAAa,EAAE,eAAe,CAAC;CAChC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B;;;OAGG;gBAEgB,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAGzD;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA0G/B;;;;;;;;;;;;;;;OAeG;YACW,kBAAkB;CA2EjC"}
1
+ {"version":3,"file":"VoiceNodeExecutor.d.ts","sourceRoot":"","sources":["../../../src/orchestration/runtime/VoiceNodeExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAExE;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;;;OAIG;IACH,aAAa,EAAE,eAAe,CAAC;CAChC;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAiB;IAShB,OAAO,CAAC,QAAQ,CAAC,SAAS;IARtC;;;;;;;OAOG;gBAC0B,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkJxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;YACW,kBAAkB;CAmGjC"}