@framers/agentos 0.1.113 → 0.1.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/README.md +39 -5
  2. package/dist/api/AgentOS.d.ts +45 -12
  3. package/dist/api/AgentOS.d.ts.map +1 -1
  4. package/dist/api/AgentOS.js +225 -78
  5. package/dist/api/AgentOS.js.map +1 -1
  6. package/dist/api/AgentOSOrchestrator.d.ts +8 -0
  7. package/dist/api/AgentOSOrchestrator.d.ts.map +1 -1
  8. package/dist/api/AgentOSOrchestrator.js +350 -59
  9. package/dist/api/AgentOSOrchestrator.js.map +1 -1
  10. package/dist/api/StreamChunkEmitter.d.ts.map +1 -1
  11. package/dist/api/StreamChunkEmitter.js +2 -0
  12. package/dist/api/StreamChunkEmitter.js.map +1 -1
  13. package/dist/api/agency.d.ts.map +1 -1
  14. package/dist/api/agency.js +47 -1
  15. package/dist/api/agency.js.map +1 -1
  16. package/dist/api/agent.d.ts +18 -5
  17. package/dist/api/agent.d.ts.map +1 -1
  18. package/dist/api/agent.js +48 -9
  19. package/dist/api/agent.js.map +1 -1
  20. package/dist/api/agentExport.d.ts +202 -0
  21. package/dist/api/agentExport.d.ts.map +1 -0
  22. package/dist/api/agentExport.js +323 -0
  23. package/dist/api/agentExport.js.map +1 -0
  24. package/dist/api/editImage.d.ts +119 -0
  25. package/dist/api/editImage.d.ts.map +1 -0
  26. package/dist/api/editImage.js +150 -0
  27. package/dist/api/editImage.js.map +1 -0
  28. package/dist/api/embedText.d.ts +137 -0
  29. package/dist/api/embedText.d.ts.map +1 -0
  30. package/dist/api/embedText.js +229 -0
  31. package/dist/api/embedText.js.map +1 -0
  32. package/dist/api/externalToolRegistry.d.ts +44 -0
  33. package/dist/api/externalToolRegistry.d.ts.map +1 -0
  34. package/dist/api/externalToolRegistry.js +245 -0
  35. package/dist/api/externalToolRegistry.js.map +1 -0
  36. package/dist/api/generateImage.d.ts +1 -1
  37. package/dist/api/generateImage.d.ts.map +1 -1
  38. package/dist/api/generateImage.js +17 -13
  39. package/dist/api/generateImage.js.map +1 -1
  40. package/dist/api/generateObject.d.ts +185 -0
  41. package/dist/api/generateObject.d.ts.map +1 -0
  42. package/dist/api/generateObject.js +249 -0
  43. package/dist/api/generateObject.js.map +1 -0
  44. package/dist/api/generateText.d.ts +13 -3
  45. package/dist/api/generateText.d.ts.map +1 -1
  46. package/dist/api/generateText.js +20 -5
  47. package/dist/api/generateText.js.map +1 -1
  48. package/dist/api/interfaces/IAgentOS.d.ts +29 -1
  49. package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
  50. package/dist/api/model.d.ts +7 -7
  51. package/dist/api/model.d.ts.map +1 -1
  52. package/dist/api/model.js +22 -16
  53. package/dist/api/model.js.map +1 -1
  54. package/dist/api/processRequestWithExternalTools.d.ts +26 -0
  55. package/dist/api/processRequestWithExternalTools.d.ts.map +1 -0
  56. package/dist/api/processRequestWithExternalTools.js +52 -0
  57. package/dist/api/processRequestWithExternalTools.js.map +1 -0
  58. package/dist/api/processRequestWithRegisteredTools.d.ts +56 -0
  59. package/dist/api/processRequestWithRegisteredTools.d.ts.map +1 -0
  60. package/dist/api/processRequestWithRegisteredTools.js +125 -0
  61. package/dist/api/processRequestWithRegisteredTools.js.map +1 -0
  62. package/dist/api/provider-defaults.d.ts.map +1 -1
  63. package/dist/api/provider-defaults.js +28 -0
  64. package/dist/api/provider-defaults.js.map +1 -1
  65. package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts +71 -0
  66. package/dist/api/resumeExternalToolRequestWithRegisteredTools.d.ts.map +1 -0
  67. package/dist/api/resumeExternalToolRequestWithRegisteredTools.js +159 -0
  68. package/dist/api/resumeExternalToolRequestWithRegisteredTools.js.map +1 -0
  69. package/dist/api/strategies/agentGraphBuilder.d.ts +170 -0
  70. package/dist/api/strategies/agentGraphBuilder.d.ts.map +1 -0
  71. package/dist/api/strategies/agentGraphBuilder.js +299 -0
  72. package/dist/api/strategies/agentGraphBuilder.js.map +1 -0
  73. package/dist/api/strategies/graphCompiler.d.ts +84 -0
  74. package/dist/api/strategies/graphCompiler.d.ts.map +1 -0
  75. package/dist/api/strategies/graphCompiler.js +617 -0
  76. package/dist/api/strategies/graphCompiler.js.map +1 -0
  77. package/dist/api/strategies/hierarchical.d.ts.map +1 -1
  78. package/dist/api/strategies/hierarchical.js +2 -1
  79. package/dist/api/strategies/hierarchical.js.map +1 -1
  80. package/dist/api/strategies/index.d.ts +3 -0
  81. package/dist/api/strategies/index.d.ts.map +1 -1
  82. package/dist/api/strategies/index.js +2 -0
  83. package/dist/api/strategies/index.js.map +1 -1
  84. package/dist/api/strategies/shared.d.ts +1 -1
  85. package/dist/api/strategies/shared.d.ts.map +1 -1
  86. package/dist/api/strategies/shared.js +3 -2
  87. package/dist/api/strategies/shared.js.map +1 -1
  88. package/dist/api/streamObject.d.ts +166 -0
  89. package/dist/api/streamObject.d.ts.map +1 -0
  90. package/dist/api/streamObject.js +268 -0
  91. package/dist/api/streamObject.js.map +1 -0
  92. package/dist/api/streamText.d.ts +1 -1
  93. package/dist/api/streamText.d.ts.map +1 -1
  94. package/dist/api/streamText.js +26 -8
  95. package/dist/api/streamText.js.map +1 -1
  96. package/dist/api/toolAdapter.d.ts +44 -8
  97. package/dist/api/toolAdapter.d.ts.map +1 -1
  98. package/dist/api/toolAdapter.js +224 -45
  99. package/dist/api/toolAdapter.js.map +1 -1
  100. package/dist/api/types/AgentOSExternalToolRequest.d.ts +35 -0
  101. package/dist/api/types/AgentOSExternalToolRequest.d.ts.map +1 -0
  102. package/dist/api/types/AgentOSExternalToolRequest.js +2 -0
  103. package/dist/api/types/AgentOSExternalToolRequest.js.map +1 -0
  104. package/dist/api/types/AgentOSResponse.d.ts +25 -0
  105. package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
  106. package/dist/api/types/AgentOSResponse.js +20 -0
  107. package/dist/api/types/AgentOSResponse.js.map +1 -1
  108. package/dist/api/types/AgentOSToolResult.d.ts +11 -0
  109. package/dist/api/types/AgentOSToolResult.d.ts.map +1 -0
  110. package/dist/api/types/AgentOSToolResult.js +2 -0
  111. package/dist/api/types/AgentOSToolResult.js.map +1 -0
  112. package/dist/api/types.d.ts +28 -4
  113. package/dist/api/types.d.ts.map +1 -1
  114. package/dist/api/types.js.map +1 -1
  115. package/dist/api/upscaleImage.d.ts +92 -0
  116. package/dist/api/upscaleImage.d.ts.map +1 -0
  117. package/dist/api/upscaleImage.js +133 -0
  118. package/dist/api/upscaleImage.js.map +1 -0
  119. package/dist/api/variateImage.d.ts +102 -0
  120. package/dist/api/variateImage.d.ts.map +1 -0
  121. package/dist/api/variateImage.js +154 -0
  122. package/dist/api/variateImage.js.map +1 -0
  123. package/dist/cognitive_substrate/GMI.d.ts +16 -2
  124. package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
  125. package/dist/cognitive_substrate/GMI.js +188 -56
  126. package/dist/cognitive_substrate/GMI.js.map +1 -1
  127. package/dist/cognitive_substrate/IGMI.d.ts +10 -0
  128. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
  129. package/dist/cognitive_substrate/IGMI.js.map +1 -1
  130. package/dist/config/AgentOSConfig.d.ts +19 -2
  131. package/dist/config/AgentOSConfig.d.ts.map +1 -1
  132. package/dist/config/AgentOSConfig.js +46 -29
  133. package/dist/config/AgentOSConfig.js.map +1 -1
  134. package/dist/core/guardrails/IGuardrailService.d.ts +1 -1
  135. package/dist/core/images/IImageProvider.d.ts +93 -0
  136. package/dist/core/images/IImageProvider.d.ts.map +1 -1
  137. package/dist/core/images/IImageProvider.js.map +1 -1
  138. package/dist/core/images/ImageOperationError.d.ts +52 -0
  139. package/dist/core/images/ImageOperationError.d.ts.map +1 -0
  140. package/dist/core/images/ImageOperationError.js +58 -0
  141. package/dist/core/images/ImageOperationError.js.map +1 -0
  142. package/dist/core/images/imageToBuffer.d.ts +41 -0
  143. package/dist/core/images/imageToBuffer.d.ts.map +1 -0
  144. package/dist/core/images/imageToBuffer.js +95 -0
  145. package/dist/core/images/imageToBuffer.js.map +1 -0
  146. package/dist/core/images/index.d.ts +4 -0
  147. package/dist/core/images/index.d.ts.map +1 -1
  148. package/dist/core/images/index.js +8 -0
  149. package/dist/core/images/index.js.map +1 -1
  150. package/dist/core/images/providers/FalImageProvider.d.ts +208 -0
  151. package/dist/core/images/providers/FalImageProvider.d.ts.map +1 -0
  152. package/dist/core/images/providers/FalImageProvider.js +301 -0
  153. package/dist/core/images/providers/FalImageProvider.js.map +1 -0
  154. package/dist/core/images/providers/FluxImageProvider.d.ts +197 -0
  155. package/dist/core/images/providers/FluxImageProvider.d.ts.map +1 -0
  156. package/dist/core/images/providers/FluxImageProvider.js +271 -0
  157. package/dist/core/images/providers/FluxImageProvider.js.map +1 -0
  158. package/dist/core/images/providers/OpenAIImageProvider.d.ts +33 -1
  159. package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -1
  160. package/dist/core/images/providers/OpenAIImageProvider.js +125 -0
  161. package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -1
  162. package/dist/core/images/providers/ReplicateImageProvider.d.ts +26 -1
  163. package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -1
  164. package/dist/core/images/providers/ReplicateImageProvider.js +118 -0
  165. package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -1
  166. package/dist/core/images/providers/StabilityImageProvider.d.ts +41 -1
  167. package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -1
  168. package/dist/core/images/providers/StabilityImageProvider.js +180 -7
  169. package/dist/core/images/providers/StabilityImageProvider.js.map +1 -1
  170. package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts +29 -1
  171. package/dist/core/images/providers/StableDiffusionLocalProvider.d.ts.map +1 -1
  172. package/dist/core/images/providers/StableDiffusionLocalProvider.js +124 -0
  173. package/dist/core/images/providers/StableDiffusionLocalProvider.js.map +1 -1
  174. package/dist/core/llm/IPromptEngine.d.ts +2 -2
  175. package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
  176. package/dist/core/llm/IPromptEngine.js +2 -2
  177. package/dist/core/llm/IPromptEngine.js.map +1 -1
  178. package/dist/core/llm/providers/AIModelProviderManager.d.ts +7 -1
  179. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
  180. package/dist/core/llm/providers/AIModelProviderManager.js +24 -0
  181. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
  182. package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts +42 -0
  183. package/dist/core/llm/providers/errors/AnthropicProviderError.d.ts.map +1 -0
  184. package/dist/core/llm/providers/errors/AnthropicProviderError.js +45 -0
  185. package/dist/core/llm/providers/errors/AnthropicProviderError.js.map +1 -0
  186. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +45 -0
  187. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -0
  188. package/dist/core/llm/providers/errors/GeminiProviderError.js +46 -0
  189. package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -0
  190. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts +1 -1
  191. package/dist/core/llm/providers/errors/OllamaProviderError.d.ts.map +1 -1
  192. package/dist/core/llm/providers/errors/OllamaProviderError.js +1 -1
  193. package/dist/core/llm/providers/errors/OllamaProviderError.js.map +1 -1
  194. package/dist/core/llm/providers/errors/OpenAIProviderError.d.ts +1 -1
  195. package/dist/core/llm/providers/errors/OpenAIProviderError.js +1 -1
  196. package/dist/core/llm/providers/errors/OpenRouterProviderError.d.ts +1 -1
  197. package/dist/core/llm/providers/errors/OpenRouterProviderError.js +1 -1
  198. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +340 -0
  199. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -0
  200. package/dist/core/llm/providers/implementations/AnthropicProvider.js +959 -0
  201. package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -0
  202. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +339 -0
  203. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -0
  204. package/dist/core/llm/providers/implementations/GeminiProvider.js +1004 -0
  205. package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -0
  206. package/dist/core/llm/providers/implementations/GroqProvider.d.ts +105 -0
  207. package/dist/core/llm/providers/implementations/GroqProvider.d.ts.map +1 -0
  208. package/dist/core/llm/providers/implementations/GroqProvider.js +134 -0
  209. package/dist/core/llm/providers/implementations/GroqProvider.js.map +1 -0
  210. package/dist/core/llm/providers/implementations/MistralProvider.d.ts +105 -0
  211. package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -0
  212. package/dist/core/llm/providers/implementations/MistralProvider.js +146 -0
  213. package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -0
  214. package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +107 -0
  215. package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -0
  216. package/dist/core/llm/providers/implementations/TogetherProvider.js +138 -0
  217. package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -0
  218. package/dist/core/llm/providers/implementations/XAIProvider.d.ts +102 -0
  219. package/dist/core/llm/providers/implementations/XAIProvider.d.ts.map +1 -0
  220. package/dist/core/llm/providers/implementations/XAIProvider.js +123 -0
  221. package/dist/core/llm/providers/implementations/XAIProvider.js.map +1 -0
  222. package/dist/core/orchestration/AgentOrchestrator.d.ts.map +1 -1
  223. package/dist/core/orchestration/AgentOrchestrator.js +26 -5
  224. package/dist/core/orchestration/AgentOrchestrator.js.map +1 -1
  225. package/dist/core/tools/IToolOrchestrator.d.ts +2 -2
  226. package/dist/core/tools/IToolOrchestrator.d.ts.map +1 -1
  227. package/dist/core/tools/ToolExecutor.d.ts +3 -0
  228. package/dist/core/tools/ToolExecutor.d.ts.map +1 -1
  229. package/dist/core/tools/ToolExecutor.js +2 -1
  230. package/dist/core/tools/ToolExecutor.js.map +1 -1
  231. package/dist/core/tools/ToolOrchestrator.d.ts +7 -7
  232. package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
  233. package/dist/core/tools/ToolOrchestrator.js +135 -36
  234. package/dist/core/tools/ToolOrchestrator.js.map +1 -1
  235. package/dist/core/tools/permissions/ToolPermissionManager.d.ts +6 -5
  236. package/dist/core/tools/permissions/ToolPermissionManager.d.ts.map +1 -1
  237. package/dist/core/tools/permissions/ToolPermissionManager.js +47 -21
  238. package/dist/core/tools/permissions/ToolPermissionManager.js.map +1 -1
  239. package/dist/core/vision/VisionPipeline.d.ts +437 -0
  240. package/dist/core/vision/VisionPipeline.d.ts.map +1 -0
  241. package/dist/core/vision/VisionPipeline.js +1113 -0
  242. package/dist/core/vision/VisionPipeline.js.map +1 -0
  243. package/dist/core/vision/index.d.ts +97 -0
  244. package/dist/core/vision/index.d.ts.map +1 -0
  245. package/dist/core/vision/index.js +182 -0
  246. package/dist/core/vision/index.js.map +1 -0
  247. package/dist/core/vision/providers/LLMVisionProvider.d.ts +135 -0
  248. package/dist/core/vision/providers/LLMVisionProvider.d.ts.map +1 -0
  249. package/dist/core/vision/providers/LLMVisionProvider.js +136 -0
  250. package/dist/core/vision/providers/LLMVisionProvider.js.map +1 -0
  251. package/dist/core/vision/providers/PipelineVisionProvider.d.ts +154 -0
  252. package/dist/core/vision/providers/PipelineVisionProvider.d.ts.map +1 -0
  253. package/dist/core/vision/providers/PipelineVisionProvider.js +160 -0
  254. package/dist/core/vision/providers/PipelineVisionProvider.js.map +1 -0
  255. package/dist/core/vision/types.d.ts +286 -0
  256. package/dist/core/vision/types.d.ts.map +1 -0
  257. package/dist/core/vision/types.js +24 -0
  258. package/dist/core/vision/types.js.map +1 -0
  259. package/dist/discovery/CapabilityDiscoveryEngine.d.ts +1 -1
  260. package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
  261. package/dist/discovery/CapabilityDiscoveryEngine.js +1 -1
  262. package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
  263. package/dist/emergent/ComposableToolBuilder.d.ts +15 -4
  264. package/dist/emergent/ComposableToolBuilder.d.ts.map +1 -1
  265. package/dist/emergent/ComposableToolBuilder.js +29 -14
  266. package/dist/emergent/ComposableToolBuilder.js.map +1 -1
  267. package/dist/emergent/EmergentCapabilityEngine.d.ts +3 -3
  268. package/dist/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
  269. package/dist/emergent/EmergentCapabilityEngine.js +15 -12
  270. package/dist/emergent/EmergentCapabilityEngine.js.map +1 -1
  271. package/dist/emergent/EmergentJudge.d.ts +20 -0
  272. package/dist/emergent/EmergentJudge.d.ts.map +1 -1
  273. package/dist/emergent/EmergentJudge.js +121 -26
  274. package/dist/emergent/EmergentJudge.js.map +1 -1
  275. package/dist/emergent/EmergentToolRegistry.d.ts +17 -0
  276. package/dist/emergent/EmergentToolRegistry.d.ts.map +1 -1
  277. package/dist/emergent/EmergentToolRegistry.js +26 -0
  278. package/dist/emergent/EmergentToolRegistry.js.map +1 -1
  279. package/dist/emergent/ForgeToolMetaTool.d.ts +1 -1
  280. package/dist/emergent/ForgeToolMetaTool.d.ts.map +1 -1
  281. package/dist/emergent/ForgeToolMetaTool.js +15 -2
  282. package/dist/emergent/ForgeToolMetaTool.js.map +1 -1
  283. package/dist/emergent/SandboxedToolForge.d.ts +2 -2
  284. package/dist/emergent/SandboxedToolForge.d.ts.map +1 -1
  285. package/dist/emergent/SandboxedToolForge.js +13 -23
  286. package/dist/emergent/SandboxedToolForge.js.map +1 -1
  287. package/dist/emergent/SkillExporter.d.ts +119 -0
  288. package/dist/emergent/SkillExporter.d.ts.map +1 -0
  289. package/dist/emergent/SkillExporter.js +344 -0
  290. package/dist/emergent/SkillExporter.js.map +1 -0
  291. package/dist/emergent/index.d.ts +1 -0
  292. package/dist/emergent/index.d.ts.map +1 -1
  293. package/dist/emergent/index.js +1 -0
  294. package/dist/emergent/index.js.map +1 -1
  295. package/dist/emergent/types.d.ts +4 -4
  296. package/dist/index.d.ts +30 -5
  297. package/dist/index.d.ts.map +1 -1
  298. package/dist/index.js +19 -2
  299. package/dist/index.js.map +1 -1
  300. package/dist/memory/index.d.ts +10 -8
  301. package/dist/memory/index.d.ts.map +1 -1
  302. package/dist/memory/index.js +2 -0
  303. package/dist/memory/index.js.map +1 -1
  304. package/dist/memory/ingestion/DoclingLoader.d.ts +3 -3
  305. package/dist/memory/ingestion/DoclingLoader.d.ts.map +1 -1
  306. package/dist/memory/ingestion/DoclingLoader.js +12 -8
  307. package/dist/memory/ingestion/DoclingLoader.js.map +1 -1
  308. package/dist/memory/ingestion/FolderScanner.d.ts +7 -7
  309. package/dist/memory/ingestion/FolderScanner.d.ts.map +1 -1
  310. package/dist/memory/ingestion/FolderScanner.js +6 -6
  311. package/dist/memory/ingestion/FolderScanner.js.map +1 -1
  312. package/dist/memory/ingestion/LoaderRegistry.d.ts +8 -8
  313. package/dist/memory/ingestion/LoaderRegistry.d.ts.map +1 -1
  314. package/dist/memory/ingestion/LoaderRegistry.js +9 -11
  315. package/dist/memory/ingestion/LoaderRegistry.js.map +1 -1
  316. package/dist/memory/ingestion/MultimodalAggregator.d.ts +1 -1
  317. package/dist/memory/ingestion/MultimodalAggregator.js +1 -1
  318. package/dist/memory/ingestion/OcrPdfLoader.d.ts +2 -2
  319. package/dist/memory/ingestion/OcrPdfLoader.d.ts.map +1 -1
  320. package/dist/memory/ingestion/OcrPdfLoader.js +12 -8
  321. package/dist/memory/ingestion/OcrPdfLoader.js.map +1 -1
  322. package/dist/memory/ingestion/PdfLoader.d.ts +8 -8
  323. package/dist/memory/ingestion/PdfLoader.d.ts.map +1 -1
  324. package/dist/memory/ingestion/PdfLoader.js +13 -10
  325. package/dist/memory/ingestion/PdfLoader.js.map +1 -1
  326. package/dist/memory/io/MarkdownExporter.d.ts +1 -1
  327. package/dist/memory/io/MarkdownExporter.d.ts.map +1 -1
  328. package/dist/memory/io/MarkdownExporter.js +1 -1
  329. package/dist/memory/io/MarkdownExporter.js.map +1 -1
  330. package/dist/memory/tools/MemoryAddTool.d.ts +2 -2
  331. package/dist/memory/tools/MemoryAddTool.d.ts.map +1 -1
  332. package/dist/memory/tools/MemoryAddTool.js +8 -3
  333. package/dist/memory/tools/MemoryAddTool.js.map +1 -1
  334. package/dist/memory/tools/MemorySearchTool.d.ts +3 -3
  335. package/dist/memory/tools/MemorySearchTool.d.ts.map +1 -1
  336. package/dist/memory/tools/MemorySearchTool.js +11 -9
  337. package/dist/memory/tools/MemorySearchTool.js.map +1 -1
  338. package/dist/memory/tools/scopeContext.d.ts +11 -0
  339. package/dist/memory/tools/scopeContext.d.ts.map +1 -0
  340. package/dist/memory/tools/scopeContext.js +46 -0
  341. package/dist/memory/tools/scopeContext.js.map +1 -0
  342. package/dist/orchestration/builders/AgentGraph.d.ts +12 -11
  343. package/dist/orchestration/builders/AgentGraph.d.ts.map +1 -1
  344. package/dist/orchestration/builders/AgentGraph.js +12 -11
  345. package/dist/orchestration/builders/AgentGraph.js.map +1 -1
  346. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts +2 -2
  347. package/dist/orchestration/builders/VoiceNodeBuilder.d.ts.map +1 -1
  348. package/dist/orchestration/builders/VoiceNodeBuilder.js +2 -2
  349. package/dist/orchestration/builders/VoiceNodeBuilder.js.map +1 -1
  350. package/dist/orchestration/builders/WorkflowBuilder.d.ts +1 -1
  351. package/dist/orchestration/builders/WorkflowBuilder.d.ts.map +1 -1
  352. package/dist/orchestration/builders/WorkflowBuilder.js +1 -1
  353. package/dist/orchestration/builders/WorkflowBuilder.js.map +1 -1
  354. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts +7 -54
  355. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.d.ts.map +1 -1
  356. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js +8 -56
  357. package/dist/orchestration/checkpoint/InMemoryCheckpointStore.js.map +1 -1
  358. package/dist/orchestration/events/GraphEvent.d.ts +12 -12
  359. package/dist/orchestration/events/GraphEvent.d.ts.map +1 -1
  360. package/dist/orchestration/events/GraphEvent.js.map +1 -1
  361. package/dist/orchestration/runtime/GraphRuntime.d.ts.map +1 -1
  362. package/dist/orchestration/runtime/GraphRuntime.js +151 -1
  363. package/dist/orchestration/runtime/GraphRuntime.js.map +1 -1
  364. package/dist/orchestration/runtime/LoopController.d.ts +3 -3
  365. package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
  366. package/dist/orchestration/runtime/LoopController.js.map +1 -1
  367. package/dist/orchestration/runtime/StateManager.d.ts +3 -3
  368. package/dist/orchestration/runtime/StateManager.js +3 -3
  369. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts +6 -6
  370. package/dist/orchestration/runtime/VoiceNodeExecutor.d.ts.map +1 -1
  371. package/dist/orchestration/runtime/VoiceNodeExecutor.js +27 -10
  372. package/dist/orchestration/runtime/VoiceNodeExecutor.js.map +1 -1
  373. package/dist/orchestration/runtime/VoiceTransportAdapter.d.ts +5 -5
  374. package/dist/orchestration/runtime/VoiceTransportAdapter.js +5 -5
  375. package/dist/orchestration/runtime/VoiceTurnCollector.d.ts +2 -2
  376. package/dist/orchestration/runtime/VoiceTurnCollector.js +2 -2
  377. package/dist/query-router/KeywordFallback.d.ts +70 -0
  378. package/dist/query-router/KeywordFallback.d.ts.map +1 -0
  379. package/dist/query-router/KeywordFallback.js +132 -0
  380. package/dist/query-router/KeywordFallback.js.map +1 -0
  381. package/dist/query-router/QueryClassifier.d.ts +140 -0
  382. package/dist/query-router/QueryClassifier.d.ts.map +1 -0
  383. package/dist/query-router/QueryClassifier.js +223 -0
  384. package/dist/query-router/QueryClassifier.js.map +1 -0
  385. package/dist/query-router/QueryDispatcher.d.ts +139 -0
  386. package/dist/query-router/QueryDispatcher.d.ts.map +1 -0
  387. package/dist/query-router/QueryDispatcher.js +297 -0
  388. package/dist/query-router/QueryDispatcher.js.map +1 -0
  389. package/dist/query-router/QueryGenerator.d.ts +184 -0
  390. package/dist/query-router/QueryGenerator.d.ts.map +1 -0
  391. package/dist/query-router/QueryGenerator.js +241 -0
  392. package/dist/query-router/QueryGenerator.js.map +1 -0
  393. package/dist/query-router/QueryRouter.d.ts +292 -0
  394. package/dist/query-router/QueryRouter.d.ts.map +1 -0
  395. package/dist/query-router/QueryRouter.js +803 -0
  396. package/dist/query-router/QueryRouter.js.map +1 -0
  397. package/dist/query-router/TopicExtractor.d.ts +73 -0
  398. package/dist/query-router/TopicExtractor.d.ts.map +1 -0
  399. package/dist/query-router/TopicExtractor.js +95 -0
  400. package/dist/query-router/TopicExtractor.js.map +1 -0
  401. package/dist/query-router/index.d.ts +40 -0
  402. package/dist/query-router/index.d.ts.map +1 -0
  403. package/dist/query-router/index.js +46 -0
  404. package/dist/query-router/index.js.map +1 -0
  405. package/dist/query-router/types.d.ts +508 -0
  406. package/dist/query-router/types.d.ts.map +1 -0
  407. package/dist/query-router/types.js +39 -0
  408. package/dist/query-router/types.js.map +1 -0
  409. package/dist/rag/index.d.ts +5 -0
  410. package/dist/rag/index.d.ts.map +1 -1
  411. package/dist/rag/index.js +7 -0
  412. package/dist/rag/index.js.map +1 -1
  413. package/dist/rag/multimodal/LLMVisionAdapter.d.ts +43 -0
  414. package/dist/rag/multimodal/LLMVisionAdapter.d.ts.map +1 -0
  415. package/dist/rag/multimodal/LLMVisionAdapter.js +46 -0
  416. package/dist/rag/multimodal/LLMVisionAdapter.js.map +1 -0
  417. package/dist/rag/multimodal/MultimodalIndexer.d.ts +244 -0
  418. package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -0
  419. package/dist/rag/multimodal/MultimodalIndexer.js +411 -0
  420. package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -0
  421. package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts +448 -0
  422. package/dist/rag/multimodal/MultimodalMemoryBridge.d.ts.map +1 -0
  423. package/dist/rag/multimodal/MultimodalMemoryBridge.js +941 -0
  424. package/dist/rag/multimodal/MultimodalMemoryBridge.js.map +1 -0
  425. package/dist/rag/multimodal/SpeechProviderAdapter.d.ts +139 -0
  426. package/dist/rag/multimodal/SpeechProviderAdapter.d.ts.map +1 -0
  427. package/dist/rag/multimodal/SpeechProviderAdapter.js +143 -0
  428. package/dist/rag/multimodal/SpeechProviderAdapter.js.map +1 -0
  429. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts +172 -0
  430. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.d.ts.map +1 -0
  431. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js +152 -0
  432. package/dist/rag/multimodal/createMultimodalIndexerFromResolver.js.map +1 -0
  433. package/dist/rag/multimodal/index.d.ts +44 -0
  434. package/dist/rag/multimodal/index.d.ts.map +1 -0
  435. package/dist/rag/multimodal/index.js +42 -0
  436. package/dist/rag/multimodal/index.js.map +1 -0
  437. package/dist/rag/multimodal/types.d.ts +276 -0
  438. package/dist/rag/multimodal/types.d.ts.map +1 -0
  439. package/dist/rag/multimodal/types.js +26 -0
  440. package/dist/rag/multimodal/types.js.map +1 -0
  441. package/dist/social-posting/SocialPostManager.d.ts +3 -3
  442. package/dist/social-posting/SocialPostManager.d.ts.map +1 -1
  443. package/dist/social-posting/SocialPostManager.js +3 -5
  444. package/dist/social-posting/SocialPostManager.js.map +1 -1
  445. package/dist/speech/FallbackProxy.d.ts +6 -6
  446. package/dist/speech/FallbackProxy.d.ts.map +1 -1
  447. package/dist/speech/FallbackProxy.js +3 -3
  448. package/dist/speech/FallbackProxy.js.map +1 -1
  449. package/dist/speech/SpeechProviderResolver.d.ts +8 -8
  450. package/dist/speech/SpeechProviderResolver.d.ts.map +1 -1
  451. package/dist/speech/SpeechProviderResolver.js +22 -11
  452. package/dist/speech/SpeechProviderResolver.js.map +1 -1
  453. package/dist/speech/SpeechRuntime.d.ts +1 -5
  454. package/dist/speech/SpeechRuntime.d.ts.map +1 -1
  455. package/dist/speech/SpeechRuntime.js +17 -9
  456. package/dist/speech/SpeechRuntime.js.map +1 -1
  457. package/dist/speech/providers/AssemblyAISTTProvider.d.ts +4 -4
  458. package/dist/speech/providers/AssemblyAISTTProvider.js +4 -4
  459. package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +3 -3
  460. package/dist/speech/providers/AzureSpeechTTSProvider.js +2 -2
  461. package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -1
  462. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +9 -9
  463. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts.map +1 -1
  464. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js +5 -5
  465. package/dist/speech/providers/BuiltInAdaptiveVadProvider.js.map +1 -1
  466. package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +2 -2
  467. package/dist/speech/providers/DeepgramBatchSTTProvider.js +2 -2
  468. package/dist/speech/providers/OpenAITextToSpeechProvider.d.ts +3 -3
  469. package/dist/speech/providers/OpenAITextToSpeechProvider.js +2 -2
  470. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts +1 -1
  471. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.d.ts.map +1 -1
  472. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js +1 -1
  473. package/dist/speech/providers/OpenAIWhisperSpeechToTextProvider.js.map +1 -1
  474. package/dist/voice/TelephonyStreamTransport.d.ts +6 -6
  475. package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -1
  476. package/dist/voice/TelephonyStreamTransport.js +5 -5
  477. package/dist/voice/TelephonyStreamTransport.js.map +1 -1
  478. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +4 -4
  479. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -1
  480. package/dist/voice-pipeline/AcousticEndpointDetector.js +4 -4
  481. package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -1
  482. package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +3 -3
  483. package/dist/voice-pipeline/HardCutBargeinHandler.js +3 -3
  484. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +3 -3
  485. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -1
  486. package/dist/voice-pipeline/HeuristicEndpointDetector.js +3 -3
  487. package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -1
  488. package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +5 -5
  489. package/dist/voice-pipeline/SoftFadeBargeinHandler.js +1 -1
  490. package/dist/voice-pipeline/VoiceInterruptError.d.ts +6 -6
  491. package/dist/voice-pipeline/VoiceInterruptError.d.ts.map +1 -1
  492. package/dist/voice-pipeline/VoiceInterruptError.js +4 -4
  493. package/dist/voice-pipeline/VoiceInterruptError.js.map +1 -1
  494. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +9 -9
  495. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -1
  496. package/dist/voice-pipeline/VoicePipelineOrchestrator.js +8 -8
  497. package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -1
  498. package/dist/voice-pipeline/WebRTCStreamTransport.d.ts +421 -0
  499. package/dist/voice-pipeline/WebRTCStreamTransport.d.ts.map +1 -0
  500. package/dist/voice-pipeline/WebRTCStreamTransport.js +573 -0
  501. package/dist/voice-pipeline/WebRTCStreamTransport.js.map +1 -0
  502. package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
  503. package/dist/voice-pipeline/WebSocketStreamTransport.js +5 -5
  504. package/dist/voice-pipeline/index.d.ts +1 -0
  505. package/dist/voice-pipeline/index.d.ts.map +1 -1
  506. package/dist/voice-pipeline/index.js +2 -0
  507. package/dist/voice-pipeline/index.js.map +1 -1
  508. package/dist/voice-pipeline/types.d.ts +43 -43
  509. package/dist/voice-pipeline/types.d.ts.map +1 -1
  510. package/package.json +19 -1
@@ -22,7 +22,7 @@
22
22
  * - The orchestrator does NOT resolve providers from ExtensionManager yet.
23
23
  * All components must be injected via {@link VoicePipelineOverrides}.
24
24
  * ExtensionManager integration is a planned future task.
25
- * - Event wiring is done once during {@link startSession} and never rewired.
25
+ * - Event wiring is done once during `startSession()` and never rewired.
26
26
  * The transport/STT/TTS sessions are immutable for the session's lifetime.
27
27
  * - A watchdog timer prevents the pipeline from staying in LISTENING forever
28
28
  * if the user walks away (default 30 s). The watchdog resets after each
@@ -46,7 +46,7 @@ import { randomUUID } from 'node:crypto';
46
46
  * | `'state_changed'` | `{ from: PipelineState, to: PipelineState }` |
47
47
  * | `'turn_complete'` | {@link TurnCompleteEvent} |
48
48
  *
49
- * @see {@link VoicePipelineSession} for the public session interface returned by {@link startSession}.
49
+ * @see {@link VoicePipelineSession} for the public session interface returned by `startSession()`.
50
50
  */
51
51
  export class VoicePipelineOrchestrator extends EventEmitter {
52
52
  // --------------------------------------------------------------------------
@@ -71,7 +71,7 @@ export class VoicePipelineOrchestrator extends EventEmitter {
71
71
  /**
72
72
  * Create a new orchestrator with the given pipeline configuration.
73
73
  *
74
- * The orchestrator starts in `'idle'` state. Call {@link startSession}
74
+ * The orchestrator starts in `'idle'` state. Call `startSession()`
75
75
  * to wire up components and transition to `'listening'`.
76
76
  *
77
77
  * @param config - Top-level pipeline configuration specifying providers and options.
@@ -82,13 +82,13 @@ export class VoicePipelineOrchestrator extends EventEmitter {
82
82
  // --------------------------------------------------------------------------
83
83
  // Private state
84
84
  // --------------------------------------------------------------------------
85
- /** Current pipeline state. Transitions are managed exclusively by {@link _setState}. */
85
+ /** Current pipeline state. Transitions are managed exclusively by the internal state setter. */
86
86
  this._state = 'idle';
87
- /** Active STT session created during {@link startSession}. Null when idle or closed. */
87
+ /** Active STT session created during `startSession()`. Null when idle or closed. */
88
88
  this._sttSession = null;
89
- /** Active TTS session created during {@link startSession}. Null when idle or closed. */
89
+ /** Active TTS session created during `startSession()`. Null when idle or closed. */
90
90
  this._ttsSession = null;
91
- /** The endpoint detector wired during {@link startSession}. Null when idle or closed. */
91
+ /** The endpoint detector wired during `startSession()`. Null when idle or closed. */
92
92
  this._endpointDetector = null;
93
93
  /** The barge-in handler consulted when speech is detected during SPEAKING. Null when idle or closed. */
94
94
  this._bargeinHandler = null;
@@ -539,7 +539,7 @@ export class VoicePipelineOrchestrator extends EventEmitter {
539
539
  * Transition to a new pipeline state, emitting a `'state_changed'` event.
540
540
  *
541
541
  * No-ops if the target state equals the current state (idempotent).
542
- * This is the ONLY method that mutates {@link _state}, ensuring all
542
+ * This is the ONLY method that mutates the internal `_state`, ensuring all
543
543
  * transitions are observable via the `'state_changed'` event.
544
544
  *
545
545
  * @param state - The target pipeline state.
@@ -1 +1 @@
1
- {"version":3,"file":"VoicePipelineOrchestrator.js","sourceRoot":"","sources":["../../src/voice-pipeline/VoicePipelineOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VoicePipelineOrchestrator.js","sourceRoot":"","sources":["../../src/voice-pipeline/VoicePipelineOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwDzC,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,yBAA0B,SAAQ,YAAY;IA4CzD,6EAA6E;IAC7E,iBAAiB;IACjB,6EAA6E;IAE7E;;;;;;;;;OASG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,cAAc;IACd,6EAA6E;IAE7E;;;;;;;OAOG;IACH,YAA6B,MAA2B;QACtD,KAAK,EAAE,CAAC;QADmB,WAAM,GAAN,MAAM,CAAqB;QAzExD,6EAA6E;QAC7E,gBAAgB;QAChB,6EAA6E;QAE7E,gGAAgG;QACxF,WAAM,GAAkB,MAAM,CAAC;QAEvC,oFAAoF;QAC5E,gBAAW,GAA+B,IAAI,CAAC;QAEvD,oFAAoF;QAC5E,gBAAW,GAA+B,IAAI,CAAC;QAEvD,qFAAqF;QAC7E,sBAAiB,GAA6B,IAAI,CAAC;QAE3D,wGAAwG;QAChG,oBAAe,GAA2B,IAAI,CAAC;QAEvD,qEAAqE;QAC7D,eAAU,GAA4B,IAAI,CAAC;QAEnD,uFAAuF;QAC/E,kBAAa,GAAsC,IAAI,CAAC;QAEhE;;;WAGG;QACK,mBAAc,GAAyC,IAAI,CAAC;QAEpE;;;WAGG;QACK,oBAAe,GAAG,EAAE,CAAC;QAE7B;;;WAGG;QACK,qBAAgB,GAAG,CAAC,CAAC;IAkC7B,CAAC;IAED,6EAA6E;IAC7E,oBAAoB;IACpB,6EAA6E;IAE7E;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,YAAY,CAChB,SAA2B,EAC3B,YAAwC,EACxC,SAAkC;QAElC,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,CAAC,MAAM,sBAAsB;gBACjE,oEAAoE,CACvE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,6CAA6C;QAC7C,MAAM,GAAG,GAAG,SAAS,EAAE,YAAY,CAAC;QACpC,MAAM,GAAG,GAAG,SAAS,EAAE,YAAY,CAAC;QACpC,MAAM,gBAAgB,GAAG,SAAS,EAAE,gBAAgB,CAAC;QACrD,MAAM,cAAc,GAAG,SAAS,EAAE,cAAc,CAAC;QAEjD,yEAAyE;QACzE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC;YACxC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,0DAA0D;QAC1D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QAEtC,qFAAqF;QACrF,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAExD,wCAAwC;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE5B,2DAA2D;QAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,+CAA+C;QAC/C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,kFAAkF;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE;YACtE,SAAS;YACT,IAAI,KAAK;gBACP,OAAO,YAAY,CAAC,MAAM,CAAC;YAC7B,CAAC;YACD,SAAS;YACT,KAAK,CAAC,KAAK,CAAC,MAAe;gBACzB,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;SACF,CAAC,CAAC;QAEH,8EAA8E;QAC9E,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,MAAe;QAC/B,4CAA4C;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QAErC,iEAAiE;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,2DAA2D;QAC3D,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAErC,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEzB,uEAAuE;QACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,6EAA6E;IAE7E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,EAAE;YAChD,wEAAwE;YACxE,qEAAqE;YACrE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,KAAwB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,SAAS,CAAC,IAAoC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,kCAAkC;YAClC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBAC/B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAE7E;;;;;;;;;OASG;IACK,mBAAmB,CAAC,SAA2B,EAAE,UAA+B;QACtF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;YAC1C,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACK,kBAAkB,CACxB,UAA+B,EAC/B,gBAAmC,EACnC,SAA2B;QAE3B,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,UAA2B,EAAE,EAAE;YAC1D,uEAAuE;YACvE,4BAA4B;YAC5B,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAE5C,oDAAoD;YACpD,SAAS,CAAC,WAAW,CAAC;gBACpB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,iBAAiB,CACvB,gBAAmC,EACnC,SAA2B,EAC3B,YAAwC,EACxC,UAA+B;QAE/B,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,KAAwB,EAAE,EAAE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO;YAExC,sDAAsD;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,8DAA8D;YAC9D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC7B,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAElD,iEAAiE;YACjE,MAAM,QAAQ,GAAsB;gBAClC,QAAQ,EAAE,EAAE;gBACZ,cAAc,EAAE,KAAK,CAAC,MAAM;gBAC5B,gBAAgB,EAAE,KAAK,CAAC,UAAU;gBAClC,cAAc,EAAE,KAAK;gBACrB,oBAAoB,EAAE,KAAK,CAAC,UAAU;aACvC,CAAC;YAEF,uCAAuC;YACvC,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEtE,yDAAyD;YACzD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAE5D,kEAAkE;YAClE,gDAAgD;YAChD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBACtC,oEAAoE;gBACpE,mEAAmE;gBACnE,IAAK,IAAI,CAAC,MAAiB,KAAK,UAAU;oBAAE,MAAM;gBAClD,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;gBAC9B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAED,+DAA+D;YAC/D,qDAAqD;YACrD,IAAK,IAAI,CAAC,MAAiB,KAAK,UAAU,EAAE,CAAC;gBAC3C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,mBAAmB,CAAC,UAA+B,EAAE,SAA2B;QACtF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAwB,EAAE,EAAE;YAClD,wDAAwD;YACxD,yDAAyD;YACzD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC1C,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;YACnC,6DAA6D;YAC7D,qEAAqE;YACrE,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,wDAAwD;gBACxD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAE5B,0DAA0D;gBAC1D,SAAS,CAAC,WAAW,CAAC;oBACpB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,IAAI,CAAC,eAAe;oBAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB;iBAClC,CAAC,CAAC;gBAEH,qDAAqD;gBACrD,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC;gBAEhC,yCAAyC;gBACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACK,YAAY,CAClB,UAA+B,EAC/B,UAA+B,EAC/B,cAA+B,EAC/B,SAA2B,EAC3B,YAAwC;QAExC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YACvC,kEAAkE;YAClE,4DAA4D;YAC5D,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC;gBACnC,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,yDAAyD;YACzD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;oBAChD,mEAAmE;oBACnE,iEAAiE;oBACjE,wDAAwD;oBACxD,gBAAgB,EAAE,CAAC;oBACnB,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,gEAAgE;oBAChE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBAC/B,UAAU,CAAC,MAAM,EAAE,CAAC;oBACpB,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;oBACvB,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;oBAEpD,4DAA4D;oBAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC5B,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACnC,yDAAyD;oBACzD,iDAAiD;oBACjD,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtD,CAAC;gBACD,mEAAmE;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,wDAAwD;YACxD,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC;gBACnC,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACK,eAAe,CACrB,SAA2B,EAC3B,UAA+B,EAC/B,UAA+B;QAE/B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,mEAAmE;YACnE,gEAAgE;YAChE,qCAAqC;YACrC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,mBAAmB;IACnB,6EAA6E;IAE7E;;;;;;;;OAQG;IACK,SAAS,CAAC,KAAoB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,kDAAkD;QAClD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,6EAA6E;IAC7E,iBAAiB;IACjB,6EAA6E;IAE7E;;;;;;;;;OASG;IACK,cAAc;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,KAAM,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,oEAAoE;YACpE,mEAAmE;YACnE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC;oBACnC,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,cAAc;QACpB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,421 @@
1
+ /**
2
+ * @module voice-pipeline/WebRTCStreamTransport
3
+ *
4
+ * A concrete {@link IStreamTransport} implementation that wraps a WebRTC
5
+ * `RTCPeerConnection` and its DataChannels for bidirectional audio/text
6
+ * streaming. Provides lower latency than WebSocket by using unreliable/
7
+ * unordered DataChannels (UDP-like semantics) for audio frames and a
8
+ * reliable/ordered channel for control messages.
9
+ *
10
+ * ## Channel architecture
11
+ *
12
+ * Two DataChannels are created on the connection:
13
+ *
14
+ * | Channel | Label | Ordered | Reliable | Purpose |
15
+ * |-----------|-------------|---------|----------|----------------------------------|
16
+ * | Audio | `'audio'` | No | No | Low-latency PCM frame transport |
17
+ * | Control | `'control'` | Yes | Yes | JSON control messages (lossless) |
18
+ *
19
+ * The audio channel uses `maxRetransmits: 0` (fire-and-forget) because
20
+ * real-time voice tolerates occasional packet loss better than added
21
+ * latency from retransmissions. The control channel uses default TCP-like
22
+ * reliability since protocol messages (mute/unmute/stop) must arrive.
23
+ *
24
+ * ## Wire protocol
25
+ *
26
+ * ### Audio channel (binary)
27
+ * Each message is a raw `ArrayBuffer` containing Float32Array PCM samples.
28
+ * The transport reconstructs the Float32Array and wraps it in an
29
+ * {@link AudioFrame} with the configured sample rate.
30
+ *
31
+ * ### Control channel (text)
32
+ * Each message is a JSON string conforming to {@link ClientTextMessage}
33
+ * (inbound) or {@link ServerTextMessage} (outbound). Malformed JSON
34
+ * emits an `'error'` event without crashing the transport.
35
+ *
36
+ * ## Native dependency
37
+ * Node.js does not ship a built-in WebRTC stack. This transport requires
38
+ * the `wrtc` npm package (or a compatible polyfill) as an optional peer
39
+ * dependency. A helpful error is thrown at construction time if the
40
+ * package is not installed.
41
+ *
42
+ * @see {@link IStreamTransport} for the interface contract.
43
+ * @see {@link WebSocketStreamTransport} for the WebSocket-based sibling.
44
+ * @see {@link VoicePipelineOrchestrator} which consumes this transport.
45
+ */
46
+ import { EventEmitter } from 'node:events';
47
+ import type { IStreamTransport, AudioFrame, EncodedAudioChunk, TransportControlMessage, ServerTextMessage } from './types.js';
48
+ /**
49
+ * Minimal subset of the W3C RTCDataChannel interface required by this
50
+ * transport. Defined locally to avoid a hard compile-time dependency on
51
+ * `wrtc` type definitions — the actual `wrtc` module is loaded at runtime
52
+ * via dynamic import.
53
+ *
54
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel
55
+ */
56
+ export interface RTCDataChannelLike {
57
+ /** Human-readable label assigned when the channel was created. */
58
+ readonly label: string;
59
+ /**
60
+ * Channel readyState following the W3C spec:
61
+ * `'connecting'` | `'open'` | `'closing'` | `'closed'`.
62
+ */
63
+ readonly readyState: string;
64
+ /**
65
+ * Controls whether data is sent as `'arraybuffer'` or `'blob'`.
66
+ * Must be set to `'arraybuffer'` for binary audio frames.
67
+ */
68
+ binaryType: string;
69
+ /** Send a string or binary payload over the channel. */
70
+ send(data: string | ArrayBuffer | ArrayBufferView): void;
71
+ /** Close the DataChannel. */
72
+ close(): void;
73
+ onopen: ((event: Event) => void) | null;
74
+ onclose: ((event: Event) => void) | null;
75
+ onerror: ((event: Event) => void) | null;
76
+ onmessage: ((event: {
77
+ data: unknown;
78
+ }) => void) | null;
79
+ }
80
+ /**
81
+ * Minimal subset of the W3C RTCPeerConnection interface consumed by
82
+ * this transport. Only the DataChannel creation, ICE handling, and
83
+ * connection-state observation surface is needed.
84
+ *
85
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection
86
+ */
87
+ export interface RTCPeerConnectionLike {
88
+ /**
89
+ * Aggregate connection state:
90
+ * `'new'` | `'connecting'` | `'connected'` | `'disconnected'` | `'failed'` | `'closed'`.
91
+ */
92
+ readonly connectionState: string;
93
+ /**
94
+ * Create a new DataChannel on this connection.
95
+ *
96
+ * @param label - Human-readable channel label.
97
+ * @param options - DataChannel configuration (ordered, maxRetransmits, etc.).
98
+ * @returns The newly created DataChannel.
99
+ */
100
+ createDataChannel(label: string, options?: Record<string, unknown>): RTCDataChannelLike;
101
+ /**
102
+ * Add an ICE candidate received from the remote peer via the signaling
103
+ * channel.
104
+ *
105
+ * @param candidate - The ICE candidate object or `null` to signal
106
+ * end-of-candidates.
107
+ */
108
+ addIceCandidate(candidate: unknown): Promise<void>;
109
+ /** Close the peer connection and all associated DataChannels. */
110
+ close(): void;
111
+ onicecandidate: ((event: {
112
+ candidate: unknown;
113
+ }) => void) | null;
114
+ onconnectionstatechange: (() => void) | null;
115
+ ondatachannel: ((event: {
116
+ channel: RTCDataChannelLike;
117
+ }) => void) | null;
118
+ }
119
+ /**
120
+ * Constructor options for {@link WebRTCStreamTransport}.
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * const config: WebRTCStreamTransportConfig = {
125
+ * sampleRate: 16000,
126
+ * iceServers: [{ urls: 'stun:stun.l.google.com:19302' }],
127
+ * };
128
+ * ```
129
+ */
130
+ export interface WebRTCStreamTransportConfig {
131
+ /**
132
+ * Sample rate (in Hz) used to populate `AudioFrame.sampleRate` on
133
+ * inbound audio messages. Must match the rate the remote peer is sending.
134
+ *
135
+ * Common values: 16000 (telephony/STT), 24000 (TTS output), 48000 (high-fidelity).
136
+ *
137
+ * @example 16000
138
+ */
139
+ sampleRate: number;
140
+ /**
141
+ * ICE server configuration for NAT traversal. Forwarded to the
142
+ * underlying RTCPeerConnection when one is created internally.
143
+ *
144
+ * If the consumer provides a pre-existing RTCPeerConnection (via
145
+ * the constructor), this field is ignored — ICE servers are already
146
+ * baked into the connection at creation time.
147
+ *
148
+ * @example [{ urls: 'stun:stun.l.google.com:19302' }]
149
+ */
150
+ iceServers?: Array<{
151
+ urls: string | string[];
152
+ username?: string;
153
+ credential?: string;
154
+ }>;
155
+ }
156
+ /**
157
+ * Bidirectional voice pipeline transport backed by WebRTC DataChannels.
158
+ *
159
+ * Uses two DataChannels for optimal voice streaming:
160
+ * - An **unreliable, unordered** `audio` channel for PCM frames (minimal
161
+ * latency, tolerates packet loss).
162
+ * - A **reliable, ordered** `control` channel for JSON control messages
163
+ * (mute/unmute/stop/config).
164
+ *
165
+ * ## Lifecycle
166
+ *
167
+ * 1. Construct with an existing {@link RTCPeerConnectionLike}.
168
+ * 2. Call `initialize` to create DataChannels and wire up handlers.
169
+ * 3. The transport is `'open'` once both DataChannels reach `'open'` state.
170
+ * 4. Call `close` to tear down channels and the peer connection.
171
+ *
172
+ * ## Events emitted
173
+ *
174
+ * | Event | Payload | Description |
175
+ * |------------------|------------------------------|---------------------------------------|
176
+ * | `'audio_frame'` | {@link AudioFrame} | Inbound audio from the remote peer. |
177
+ * | `'control'` | {@link ClientTextMessage} | Inbound JSON control message. |
178
+ * | `'connected'` | *(none)* | Both DataChannels are open. |
179
+ * | `'disconnected'` | *(none)* | Connection has been closed. |
180
+ * | `'error'` | `Error` | Transport-level error. |
181
+ * | `'ice_candidate'`| ICE candidate object | Local ICE candidate for signaling. |
182
+ *
183
+ * @fires audio_frame - `(frame: AudioFrame)` for every inbound audio message.
184
+ * @fires control - `(msg: ClientTextMessage)` for every inbound control message.
185
+ * @fires connected - Both DataChannels have reached 'open' state.
186
+ * @fires disconnected - Peer connection has been closed.
187
+ * @fires error - Transport-level error occurred.
188
+ * @fires ice_candidate - Local ICE candidate available for the signaling layer.
189
+ *
190
+ * @see {@link IStreamTransport} for the interface contract.
191
+ * @see {@link WebSocketStreamTransport} for the WebSocket-based sibling.
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * import { WebRTCStreamTransport } from '../voice-pipeline';
196
+ *
197
+ * // Receive RTCPeerConnection from your signaling server
198
+ * const transport = new WebRTCStreamTransport(peerConnection, { sampleRate: 16000 });
199
+ * await transport.initialize();
200
+ *
201
+ * transport.on('audio_frame', (frame) => sttSession.pushAudio(frame));
202
+ * transport.on('control', (msg) => handleClientMessage(msg));
203
+ * transport.on('ice_candidate', (candidate) => signalingChannel.send(candidate));
204
+ * ```
205
+ */
206
+ export declare class WebRTCStreamTransport extends EventEmitter implements IStreamTransport {
207
+ /**
208
+ * Stable UUID assigned at construction time.
209
+ * Used as a correlation key in logs and metrics.
210
+ */
211
+ readonly id: string;
212
+ /**
213
+ * Current connection state. Updated internally by DataChannel event
214
+ * handlers. Read externally via the `state` getter.
215
+ */
216
+ private _state;
217
+ /** The underlying WebRTC peer connection. */
218
+ private readonly _pc;
219
+ /**
220
+ * Audio sample rate propagated into every decoded {@link AudioFrame}.
221
+ * Configured once at construction and never changed.
222
+ */
223
+ private readonly _sampleRate;
224
+ /** Transport configuration (ICE servers, etc.). */
225
+ private readonly _config;
226
+ /**
227
+ * Unreliable/unordered DataChannel for audio frame transport.
228
+ * Created during `initialize`. `null` until then.
229
+ */
230
+ private _audioChannel;
231
+ /**
232
+ * Reliable/ordered DataChannel for JSON control messages.
233
+ * Created during `initialize`. `null` until then.
234
+ */
235
+ private _controlChannel;
236
+ /**
237
+ * Create a new WebRTC transport wrapping an existing peer connection.
238
+ *
239
+ * The transport starts in `'connecting'` state and transitions to
240
+ * `'open'` once both DataChannels are established and open.
241
+ *
242
+ * @param peerConnection - An existing RTCPeerConnection (from the `wrtc`
243
+ * package or a browser-compatible polyfill). The connection should be
244
+ * in `'new'` or `'connecting'` state — the transport will create
245
+ * DataChannels on it.
246
+ * @param config - Transport-level configuration (must include sampleRate).
247
+ *
248
+ * @throws {Error} If `peerConnection` is null/undefined.
249
+ *
250
+ * @example
251
+ * ```typescript
252
+ * const pc = new RTCPeerConnection({ iceServers: [...] });
253
+ * const transport = new WebRTCStreamTransport(pc, { sampleRate: 16000 });
254
+ * ```
255
+ */
256
+ constructor(peerConnection: RTCPeerConnectionLike, config: WebRTCStreamTransportConfig);
257
+ /**
258
+ * Current connection state of the WebRTC transport.
259
+ *
260
+ * The transport is `'open'` only when both DataChannels (audio + control)
261
+ * have reached their `'open'` readyState. Any earlier state maps to
262
+ * `'connecting'`, and any teardown maps to `'closing'` or `'closed'`.
263
+ */
264
+ get state(): 'connecting' | 'open' | 'closing' | 'closed';
265
+ /**
266
+ * Create DataChannels and wire up all event handlers.
267
+ *
268
+ * This must be called after construction and before any send operations.
269
+ * It creates the `audio` (unreliable) and `control` (reliable)
270
+ * DataChannels on the peer connection and sets up message handlers.
271
+ *
272
+ * The transport transitions to `'open'` once both channels report
273
+ * readyState `'open'`.
274
+ *
275
+ * @returns Resolves when DataChannels are created (not necessarily open yet).
276
+ *
277
+ * @example
278
+ * ```typescript
279
+ * const transport = new WebRTCStreamTransport(pc, { sampleRate: 16000 });
280
+ * await transport.initialize();
281
+ * // transport.state may still be 'connecting' until ICE completes
282
+ * ```
283
+ */
284
+ initialize(): Promise<void>;
285
+ /**
286
+ * Send a synthesised audio chunk to the remote peer for playback.
287
+ *
288
+ * If the payload is an {@link EncodedAudioChunk} (has an `audio` Buffer
289
+ * property), that buffer's underlying ArrayBuffer is sent. If it is an
290
+ * {@link AudioFrame} (has a `samples` Float32Array), the samples'
291
+ * underlying ArrayBuffer is sent.
292
+ *
293
+ * @param chunk - Encoded audio chunk or raw PCM frame to deliver.
294
+ * @returns Resolves once the data has been handed to the DataChannel.
295
+ *
296
+ * @throws {Error} If the audio channel is not open or not initialized.
297
+ *
298
+ * @example
299
+ * ```typescript
300
+ * await transport.sendAudio({
301
+ * audio: Buffer.from(opusBytes),
302
+ * format: 'opus',
303
+ * sampleRate: 24000,
304
+ * durationMs: 20,
305
+ * text: 'Hello!',
306
+ * });
307
+ * ```
308
+ */
309
+ sendAudio(chunk: EncodedAudioChunk | AudioFrame): Promise<void>;
310
+ /**
311
+ * Send a JSON control message to the remote peer.
312
+ *
313
+ * The message is JSON-stringified before transmission on the reliable
314
+ * control channel. Both {@link TransportControlMessage} and
315
+ * {@link ServerTextMessage} are accepted since they share the same
316
+ * serialisation path.
317
+ *
318
+ * @param msg - Server-side protocol message.
319
+ * @returns Resolves once the message has been handed to the DataChannel.
320
+ *
321
+ * @throws {Error} If the control channel is not open or not initialized.
322
+ *
323
+ * @example
324
+ * ```typescript
325
+ * await transport.sendControl({ type: 'mute' });
326
+ * ```
327
+ */
328
+ sendControl(msg: TransportControlMessage | ServerTextMessage): Promise<void>;
329
+ /**
330
+ * Initiate a graceful close of the transport.
331
+ *
332
+ * Closes both DataChannels and the underlying peer connection.
333
+ * The `'disconnected'` event fires once the connection has fully closed.
334
+ *
335
+ * @param _code - Ignored for WebRTC (included for IStreamTransport compat).
336
+ * @param _reason - Ignored for WebRTC (included for IStreamTransport compat).
337
+ */
338
+ close(_code?: number, _reason?: string): void;
339
+ /**
340
+ * Add a remote ICE candidate received through the signaling channel.
341
+ *
342
+ * WebRTC requires ICE candidate exchange for NAT traversal. The signaling
343
+ * server should forward remote candidates to this method.
344
+ *
345
+ * @param candidate - The ICE candidate object from the remote peer, or
346
+ * `null` to signal end-of-candidates.
347
+ * @returns Resolves when the candidate has been added to the connection.
348
+ *
349
+ * @throws {Error} If the candidate is invalid or the connection is closed.
350
+ *
351
+ * @example
352
+ * ```typescript
353
+ * signalingChannel.on('ice_candidate', async (candidate) => {
354
+ * await transport.addIceCandidate(candidate);
355
+ * });
356
+ * ```
357
+ */
358
+ addIceCandidate(candidate: unknown): Promise<void>;
359
+ /**
360
+ * Attach message and lifecycle handlers to the audio DataChannel.
361
+ *
362
+ * Inbound binary messages are decoded as Float32Array PCM samples and
363
+ * emitted as `'audio_frame'` events. This channel uses arraybuffer
364
+ * binary type for efficient binary transfer.
365
+ *
366
+ * @param channel - The audio DataChannel to attach handlers to.
367
+ */
368
+ private _attachAudioChannelHandlers;
369
+ /**
370
+ * Attach message and lifecycle handlers to the control DataChannel.
371
+ *
372
+ * Inbound text messages are JSON-parsed as {@link ClientTextMessage}
373
+ * and emitted as `'control'` events. Malformed JSON triggers an
374
+ * `'error'` event without crashing the transport.
375
+ *
376
+ * @param channel - The control DataChannel to attach handlers to.
377
+ */
378
+ private _attachControlChannelHandlers;
379
+ /**
380
+ * Attach handlers to the peer connection for ICE candidate exchange
381
+ * and connection state monitoring.
382
+ *
383
+ * ICE candidates are re-emitted as `'ice_candidate'` events so the
384
+ * consumer can relay them to the remote peer via a signaling channel.
385
+ * Connection state changes are mapped to transport state transitions.
386
+ */
387
+ private _attachPeerConnectionHandlers;
388
+ /**
389
+ * Check if both DataChannels are in the `'open'` readyState.
390
+ *
391
+ * Called from each channel's `onopen` handler. Only transitions the
392
+ * transport to `'open'` state once BOTH channels are ready, since
393
+ * sending on a non-open channel would throw.
394
+ */
395
+ private _checkBothChannelsOpen;
396
+ }
397
+ /**
398
+ * Create a WebRTC transport with a fresh RTCPeerConnection from the `wrtc`
399
+ * package. This is a convenience factory for server-side usage where a
400
+ * pre-existing connection is not available.
401
+ *
402
+ * The `wrtc` package is loaded via dynamic import to keep it as an
403
+ * optional peer dependency. If the package is not installed, a descriptive
404
+ * error is thrown.
405
+ *
406
+ * @param config - Transport configuration including sample rate and ICE servers.
407
+ * @returns A new {@link WebRTCStreamTransport} wrapping a fresh peer connection.
408
+ *
409
+ * @throws {Error} If the `wrtc` package is not installed or importable.
410
+ *
411
+ * @example
412
+ * ```typescript
413
+ * const transport = await createWebRTCTransport({
414
+ * sampleRate: 16000,
415
+ * iceServers: [{ urls: 'stun:stun.l.google.com:19302' }],
416
+ * });
417
+ * await transport.initialize();
418
+ * ```
419
+ */
420
+ export declare function createWebRTCTransport(config: WebRTCStreamTransportConfig): Promise<WebRTCStreamTransport>;
421
+ //# sourceMappingURL=WebRTCStreamTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRTCStreamTransport.d.ts","sourceRoot":"","sources":["../../src/voice-pipeline/WebRTCStreamTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAMpB;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAC;IAEzD,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAAC;IAGd,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAAC;IAExF;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,iEAAiE;IACjE,KAAK,IAAI,IAAI,CAAC;IAGd,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,uBAAuB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,kBAAkB,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1E;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,qBAAsB,SAAQ,YAAa,YAAW,gBAAgB;IAKjF;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAA+C;IAM7D,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAwB;IAE5C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAEtD;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAmC;IAExD;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAmC;IAM1D;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,2BAA2B;IAwBtF;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAExD;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD/D;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,GAAG,EAAE,uBAAuB,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B5E;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAqB7C;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD;;;;;;;;OAQG;IACH,OAAO,CAAC,2BAA2B;IAmDnC;;;;;;;;OAQG;IACH,OAAO,CAAC,6BAA6B;IAwCrC;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAwErC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAS/B;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAsChC"}