@od-oneapp/ai-platform 0.1.0

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 (872) hide show
  1. package/README.md +235 -0
  2. package/dist/agents-base.d.mts +12 -0
  3. package/dist/agents-base.d.mts.map +1 -0
  4. package/dist/agents-base.mjs +20 -0
  5. package/dist/agents-base.mjs.map +1 -0
  6. package/dist/agents-control-flow.d.mts +115 -0
  7. package/dist/agents-control-flow.d.mts.map +1 -0
  8. package/dist/agents-control-flow.mjs +514 -0
  9. package/dist/agents-control-flow.mjs.map +1 -0
  10. package/dist/agents-coordinator.d.mts +11 -0
  11. package/dist/agents-coordinator.d.mts.map +1 -0
  12. package/dist/agents-coordinator.mjs +12 -0
  13. package/dist/agents-coordinator.mjs.map +1 -0
  14. package/dist/agents-experimental.d.mts +153 -0
  15. package/dist/agents-experimental.d.mts.map +1 -0
  16. package/dist/agents-experimental.mjs +580 -0
  17. package/dist/agents-experimental.mjs.map +1 -0
  18. package/dist/agents-fallback.d.mts +10 -0
  19. package/dist/agents-fallback.d.mts.map +1 -0
  20. package/dist/agents-fallback.mjs +15 -0
  21. package/dist/agents-fallback.mjs.map +1 -0
  22. package/dist/agents-multi-swarm.d.mts +9 -0
  23. package/dist/agents-multi-swarm.d.mts.map +1 -0
  24. package/dist/agents-multi-swarm.mjs +44 -0
  25. package/dist/agents-multi-swarm.mjs.map +1 -0
  26. package/dist/agents-multi.d.mts +10 -0
  27. package/dist/agents-multi.d.mts.map +1 -0
  28. package/dist/agents-multi.mjs +44 -0
  29. package/dist/agents-multi.mjs.map +1 -0
  30. package/dist/agents-observability.d.mts +161 -0
  31. package/dist/agents-observability.d.mts.map +1 -0
  32. package/dist/agents-observability.mjs +550 -0
  33. package/dist/agents-observability.mjs.map +1 -0
  34. package/dist/agents-patterns.d.mts +9 -0
  35. package/dist/agents-patterns.d.mts.map +1 -0
  36. package/dist/agents-patterns.mjs +18 -0
  37. package/dist/agents-patterns.mjs.map +1 -0
  38. package/dist/agents-persistence.d.mts +234 -0
  39. package/dist/agents-persistence.d.mts.map +1 -0
  40. package/dist/agents-persistence.mjs +447 -0
  41. package/dist/agents-persistence.mjs.map +1 -0
  42. package/dist/agents-triage.d.mts +11 -0
  43. package/dist/agents-triage.d.mts.map +1 -0
  44. package/dist/agents-triage.mjs +13 -0
  45. package/dist/agents-triage.mjs.map +1 -0
  46. package/dist/agents-workflows.d.mts +9 -0
  47. package/dist/agents-workflows.d.mts.map +1 -0
  48. package/dist/agents-workflows.mjs +9 -0
  49. package/dist/agents-workflows.mjs.map +1 -0
  50. package/dist/agents.d.mts +30 -0
  51. package/dist/agents.d.mts.map +1 -0
  52. package/dist/agents.mjs +50 -0
  53. package/dist/agents.mjs.map +1 -0
  54. package/dist/aggregation-8KJF1uzp.d.mts +276 -0
  55. package/dist/aggregation-8KJF1uzp.d.mts.map +1 -0
  56. package/dist/aggregation-BDop87kL.mjs +1180 -0
  57. package/dist/aggregation-BDop87kL.mjs.map +1 -0
  58. package/dist/ai-runtime-CDzQztTt.mjs +85 -0
  59. package/dist/ai-runtime-CDzQztTt.mjs.map +1 -0
  60. package/dist/ai-runtime-DIwOEc6g.d.mts +56 -0
  61. package/dist/ai-runtime-DIwOEc6g.d.mts.map +1 -0
  62. package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts +553 -0
  63. package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts.map +1 -0
  64. package/dist/approval-queue-BcDDQ4oQ.mjs +104 -0
  65. package/dist/approval-queue-BcDDQ4oQ.mjs.map +1 -0
  66. package/dist/approval-queue-CiKiFT9z.d.mts +21 -0
  67. package/dist/approval-queue-CiKiFT9z.d.mts.map +1 -0
  68. package/dist/audio-BzvN7r10.d.mts +79 -0
  69. package/dist/audio-BzvN7r10.d.mts.map +1 -0
  70. package/dist/audio-vBG_62ME.mjs +226 -0
  71. package/dist/audio-vBG_62ME.mjs.map +1 -0
  72. package/dist/audit-logger-Bb2JIcIk.d.mts +12 -0
  73. package/dist/audit-logger-Bb2JIcIk.d.mts.map +1 -0
  74. package/dist/audit-logger-CHIP8bRO.mjs +596 -0
  75. package/dist/audit-logger-CHIP8bRO.mjs.map +1 -0
  76. package/dist/auto-resume-BpUNbPtp.d.mts +160 -0
  77. package/dist/auto-resume-BpUNbPtp.d.mts.map +1 -0
  78. package/dist/auto-resume-BuFRNvAX.mjs +638 -0
  79. package/dist/auto-resume-BuFRNvAX.mjs.map +1 -0
  80. package/dist/budget-guard-C83KCH9V.d.mts +52 -0
  81. package/dist/budget-guard-C83KCH9V.d.mts.map +1 -0
  82. package/dist/budget-guard-d_b5rq4u.mjs +158 -0
  83. package/dist/budget-guard-d_b5rq4u.mjs.map +1 -0
  84. package/dist/budget-guard-gyhJS00s.mjs +234 -0
  85. package/dist/budget-guard-gyhJS00s.mjs.map +1 -0
  86. package/dist/buffer-BC8mvXHE.d.mts +98 -0
  87. package/dist/buffer-BC8mvXHE.d.mts.map +1 -0
  88. package/dist/buffer-CefJGbRy.mjs +289 -0
  89. package/dist/buffer-CefJGbRy.mjs.map +1 -0
  90. package/dist/caching-adapters.d.mts +5 -0
  91. package/dist/caching-adapters.mjs +3 -0
  92. package/dist/caching-strategies.d.mts +52 -0
  93. package/dist/caching-strategies.d.mts.map +1 -0
  94. package/dist/caching-strategies.mjs +703 -0
  95. package/dist/caching-strategies.mjs.map +1 -0
  96. package/dist/caching.d.mts +14 -0
  97. package/dist/caching.d.mts.map +1 -0
  98. package/dist/caching.mjs +15 -0
  99. package/dist/caching.mjs.map +1 -0
  100. package/dist/catalog.d.mts +19 -0
  101. package/dist/catalog.d.mts.map +1 -0
  102. package/dist/catalog.mjs +1114 -0
  103. package/dist/catalog.mjs.map +1 -0
  104. package/dist/chunk-CkzbjWQW.mjs +20 -0
  105. package/dist/circuit-breaker-DoKWPORd.mjs +262 -0
  106. package/dist/circuit-breaker-DoKWPORd.mjs.map +1 -0
  107. package/dist/circuit-breaker-Mey3E7tW.d.mts +64 -0
  108. package/dist/circuit-breaker-Mey3E7tW.d.mts.map +1 -0
  109. package/dist/citation-generator-C-9RpbHq.mjs +103 -0
  110. package/dist/citation-generator-C-9RpbHq.mjs.map +1 -0
  111. package/dist/citation-generator-CDSymDs_.d.mts +18 -0
  112. package/dist/citation-generator-CDSymDs_.d.mts.map +1 -0
  113. package/dist/client-CpacYDIE.mjs +882 -0
  114. package/dist/client-CpacYDIE.mjs.map +1 -0
  115. package/dist/client.d.mts +103 -0
  116. package/dist/client.d.mts.map +1 -0
  117. package/dist/client.mjs +470 -0
  118. package/dist/client.mjs.map +1 -0
  119. package/dist/compliance-approval-queue-DQGLojAm.mjs +172 -0
  120. package/dist/compliance-approval-queue-DQGLojAm.mjs.map +1 -0
  121. package/dist/compliance-approval-queue-IrMxFfSJ.d.mts +99 -0
  122. package/dist/compliance-approval-queue-IrMxFfSJ.d.mts.map +1 -0
  123. package/dist/compliance-wrapper-CrOMHhHN.mjs +528 -0
  124. package/dist/compliance-wrapper-CrOMHhHN.mjs.map +1 -0
  125. package/dist/conditions-DmQ6Y1Wt.mjs +179 -0
  126. package/dist/conditions-DmQ6Y1Wt.mjs.map +1 -0
  127. package/dist/conditions-zDrKfrc3.d.mts +42 -0
  128. package/dist/conditions-zDrKfrc3.d.mts.map +1 -0
  129. package/dist/console-BGMxxPZN.mjs +181 -0
  130. package/dist/console-BGMxxPZN.mjs.map +1 -0
  131. package/dist/console-DqEqZd4A.d.mts +76 -0
  132. package/dist/console-DqEqZd4A.d.mts.map +1 -0
  133. package/dist/controller-BOy3-xbC.mjs +501 -0
  134. package/dist/controller-BOy3-xbC.mjs.map +1 -0
  135. package/dist/controller-Y0NGosbJ.d.mts +104 -0
  136. package/dist/controller-Y0NGosbJ.d.mts.map +1 -0
  137. package/dist/coordinator-agent-BglqZLwo.d.mts +54 -0
  138. package/dist/coordinator-agent-BglqZLwo.d.mts.map +1 -0
  139. package/dist/coordinator-agent-WFWBRL-G.mjs +236 -0
  140. package/dist/coordinator-agent-WFWBRL-G.mjs.map +1 -0
  141. package/dist/crypto-8ABhc3TD.mjs +40 -0
  142. package/dist/crypto-8ABhc3TD.mjs.map +1 -0
  143. package/dist/environment-CSoJb0SW.mjs +255 -0
  144. package/dist/environment-CSoJb0SW.mjs.map +1 -0
  145. package/dist/error-handling-DNVkm6RY.mjs +1334 -0
  146. package/dist/error-handling-DNVkm6RY.mjs.map +1 -0
  147. package/dist/errors-CQ8tF4dP.mjs +985 -0
  148. package/dist/errors-CQ8tF4dP.mjs.map +1 -0
  149. package/dist/errors-CfYdVeum.d.mts +212 -0
  150. package/dist/errors-CfYdVeum.d.mts.map +1 -0
  151. package/dist/errors-Dtn-UeRi.mjs +61 -0
  152. package/dist/errors-Dtn-UeRi.mjs.map +1 -0
  153. package/dist/evaluator-Cs84qkr8.mjs +91 -0
  154. package/dist/evaluator-Cs84qkr8.mjs.map +1 -0
  155. package/dist/evaluator-optimizer-De67_mJC.mjs +1086 -0
  156. package/dist/evaluator-optimizer-De67_mJC.mjs.map +1 -0
  157. package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs +367 -0
  158. package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs.map +1 -0
  159. package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts +72 -0
  160. package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts.map +1 -0
  161. package/dist/factory-DP6VSl8C.mjs +307 -0
  162. package/dist/factory-DP6VSl8C.mjs.map +1 -0
  163. package/dist/generative-ui-catalog.d.mts +8 -0
  164. package/dist/generative-ui-catalog.d.mts.map +1 -0
  165. package/dist/generative-ui-catalog.mjs +679 -0
  166. package/dist/generative-ui-catalog.mjs.map +1 -0
  167. package/dist/generative-ui-registry.d.mts +195 -0
  168. package/dist/generative-ui-registry.d.mts.map +1 -0
  169. package/dist/generative-ui-registry.mjs +250 -0
  170. package/dist/generative-ui-registry.mjs.map +1 -0
  171. package/dist/generative-ui-stream.d.mts +23 -0
  172. package/dist/generative-ui-stream.d.mts.map +1 -0
  173. package/dist/generative-ui-stream.mjs +219 -0
  174. package/dist/generative-ui-stream.mjs.map +1 -0
  175. package/dist/generative-ui-types.d.mts +123 -0
  176. package/dist/generative-ui-types.d.mts.map +1 -0
  177. package/dist/generative-ui-types.mjs +1 -0
  178. package/dist/generative-ui.d.mts +13 -0
  179. package/dist/generative-ui.d.mts.map +1 -0
  180. package/dist/generative-ui.mjs +21 -0
  181. package/dist/generative-ui.mjs.map +1 -0
  182. package/dist/governance-audit.d.mts +3 -0
  183. package/dist/governance-audit.mjs +3 -0
  184. package/dist/governance-compliance.d.mts +5 -0
  185. package/dist/governance-compliance.mjs +4 -0
  186. package/dist/governance-policies.d.mts +4 -0
  187. package/dist/governance-policies.mjs +4 -0
  188. package/dist/governance-tenancy.d.mts +3 -0
  189. package/dist/governance-tenancy.mjs +3 -0
  190. package/dist/governance.d.mts +88 -0
  191. package/dist/governance.d.mts.map +1 -0
  192. package/dist/governance.mjs +432 -0
  193. package/dist/governance.mjs.map +1 -0
  194. package/dist/grounding-attribution.d.mts +63 -0
  195. package/dist/grounding-attribution.d.mts.map +1 -0
  196. package/dist/grounding-attribution.mjs +259 -0
  197. package/dist/grounding-attribution.mjs.map +1 -0
  198. package/dist/grounding-citation.d.mts +2 -0
  199. package/dist/grounding-citation.mjs +3 -0
  200. package/dist/grounding-context.d.mts +9 -0
  201. package/dist/grounding-context.d.mts.map +1 -0
  202. package/dist/grounding-context.mjs +19 -0
  203. package/dist/grounding-context.mjs.map +1 -0
  204. package/dist/grounding-embed.d.mts +102 -0
  205. package/dist/grounding-embed.d.mts.map +1 -0
  206. package/dist/grounding-embed.mjs +417 -0
  207. package/dist/grounding-embed.mjs.map +1 -0
  208. package/dist/grounding-hallucination.d.mts +44 -0
  209. package/dist/grounding-hallucination.d.mts.map +1 -0
  210. package/dist/grounding-hallucination.mjs +115 -0
  211. package/dist/grounding-hallucination.mjs.map +1 -0
  212. package/dist/grounding-proof-map.d.mts +9 -0
  213. package/dist/grounding-proof-map.d.mts.map +1 -0
  214. package/dist/grounding-proof-map.mjs +26 -0
  215. package/dist/grounding-proof-map.mjs.map +1 -0
  216. package/dist/grounding-rag.d.mts +10 -0
  217. package/dist/grounding-rag.d.mts.map +1 -0
  218. package/dist/grounding-rag.mjs +27 -0
  219. package/dist/grounding-rag.mjs.map +1 -0
  220. package/dist/grounding-verification.d.mts +48 -0
  221. package/dist/grounding-verification.d.mts.map +1 -0
  222. package/dist/grounding-verification.mjs +224 -0
  223. package/dist/grounding-verification.mjs.map +1 -0
  224. package/dist/grounding.d.mts +24 -0
  225. package/dist/grounding.d.mts.map +1 -0
  226. package/dist/grounding.mjs +77 -0
  227. package/dist/grounding.mjs.map +1 -0
  228. package/dist/hitl-active-learning.d.mts +41 -0
  229. package/dist/hitl-active-learning.d.mts.map +1 -0
  230. package/dist/hitl-active-learning.mjs +178 -0
  231. package/dist/hitl-active-learning.mjs.map +1 -0
  232. package/dist/hitl-annotation.d.mts +74 -0
  233. package/dist/hitl-annotation.d.mts.map +1 -0
  234. package/dist/hitl-annotation.mjs +170 -0
  235. package/dist/hitl-annotation.mjs.map +1 -0
  236. package/dist/hitl-approval.d.mts +2 -0
  237. package/dist/hitl-approval.mjs +3 -0
  238. package/dist/hitl-feedback.d.mts +59 -0
  239. package/dist/hitl-feedback.d.mts.map +1 -0
  240. package/dist/hitl-feedback.mjs +137 -0
  241. package/dist/hitl-feedback.mjs.map +1 -0
  242. package/dist/hitl-review.d.mts +2 -0
  243. package/dist/hitl-review.mjs +3 -0
  244. package/dist/hitl.d.mts +14 -0
  245. package/dist/hitl.d.mts.map +1 -0
  246. package/dist/hitl.mjs +22 -0
  247. package/dist/hitl.mjs.map +1 -0
  248. package/dist/index-B17HT-VL.d.mts +285 -0
  249. package/dist/index-B17HT-VL.d.mts.map +1 -0
  250. package/dist/index-BDwgsK9B.d.mts +101 -0
  251. package/dist/index-BDwgsK9B.d.mts.map +1 -0
  252. package/dist/index-BGgMn_Ev.d.mts +2615 -0
  253. package/dist/index-BGgMn_Ev.d.mts.map +1 -0
  254. package/dist/index-DOqe5r9G.d.mts +318 -0
  255. package/dist/index-DOqe5r9G.d.mts.map +1 -0
  256. package/dist/index-DotINT7o.d.mts +1004 -0
  257. package/dist/index-DotINT7o.d.mts.map +1 -0
  258. package/dist/index-URlW7aD1.d.mts +67 -0
  259. package/dist/index-URlW7aD1.d.mts.map +1 -0
  260. package/dist/index.d.mts +64 -0
  261. package/dist/index.d.mts.map +1 -0
  262. package/dist/index.mjs +46 -0
  263. package/dist/index.mjs.map +1 -0
  264. package/dist/integrations-blob-storage.d.mts +25 -0
  265. package/dist/integrations-blob-storage.d.mts.map +1 -0
  266. package/dist/integrations-blob-storage.mjs +3 -0
  267. package/dist/integrations-notifications.d.mts +2 -0
  268. package/dist/integrations-notifications.mjs +3 -0
  269. package/dist/integrations-rate-limit.d.mts +27 -0
  270. package/dist/integrations-rate-limit.d.mts.map +1 -0
  271. package/dist/integrations-rate-limit.mjs +30 -0
  272. package/dist/integrations-rate-limit.mjs.map +1 -0
  273. package/dist/integrations-redis.d.mts +3 -0
  274. package/dist/integrations-redis.mjs +3 -0
  275. package/dist/integrations-stream.d.mts +14 -0
  276. package/dist/integrations-stream.d.mts.map +1 -0
  277. package/dist/integrations-stream.mjs +3 -0
  278. package/dist/integrations.d.mts +7 -0
  279. package/dist/integrations.mjs +7 -0
  280. package/dist/log-adapter-BLegSZtz.d.mts +16 -0
  281. package/dist/log-adapter-BLegSZtz.d.mts.map +1 -0
  282. package/dist/log-adapter-PPe_2Pwv.mjs +28 -0
  283. package/dist/log-adapter-PPe_2Pwv.mjs.map +1 -0
  284. package/dist/loop-BOYEtr2g.mjs +520 -0
  285. package/dist/loop-BOYEtr2g.mjs.map +1 -0
  286. package/dist/loop-C-tBBOqi.d.mts +219 -0
  287. package/dist/loop-C-tBBOqi.d.mts.map +1 -0
  288. package/dist/middleware-5wQ9bANW.mjs +306 -0
  289. package/dist/middleware-5wQ9bANW.mjs.map +1 -0
  290. package/dist/middleware-C1apSrj0.mjs +613 -0
  291. package/dist/middleware-C1apSrj0.mjs.map +1 -0
  292. package/dist/middleware-C7k0uItW.d.mts +9 -0
  293. package/dist/middleware-C7k0uItW.d.mts.map +1 -0
  294. package/dist/middleware-CZQCTHfl.mjs +366 -0
  295. package/dist/middleware-CZQCTHfl.mjs.map +1 -0
  296. package/dist/models.d.mts +11 -0
  297. package/dist/models.d.mts.map +1 -0
  298. package/dist/models.mjs +32 -0
  299. package/dist/models.mjs.map +1 -0
  300. package/dist/observability-analytics.d.mts +107 -0
  301. package/dist/observability-analytics.d.mts.map +1 -0
  302. package/dist/observability-analytics.mjs +409 -0
  303. package/dist/observability-analytics.mjs.map +1 -0
  304. package/dist/observability-cost.d.mts +10 -0
  305. package/dist/observability-cost.d.mts.map +1 -0
  306. package/dist/observability-cost.mjs +15 -0
  307. package/dist/observability-cost.mjs.map +1 -0
  308. package/dist/observability-telemetry.d.mts +111 -0
  309. package/dist/observability-telemetry.d.mts.map +1 -0
  310. package/dist/observability-telemetry.mjs +343 -0
  311. package/dist/observability-telemetry.mjs.map +1 -0
  312. package/dist/observability-tracing.d.mts +10 -0
  313. package/dist/observability-tracing.d.mts.map +1 -0
  314. package/dist/observability-tracing.mjs +17 -0
  315. package/dist/observability-tracing.mjs.map +1 -0
  316. package/dist/observability.d.mts +15 -0
  317. package/dist/observability.d.mts.map +1 -0
  318. package/dist/observability.mjs +17 -0
  319. package/dist/observability.mjs.map +1 -0
  320. package/dist/optimizer-DhXXpci6.mjs +97 -0
  321. package/dist/optimizer-DhXXpci6.mjs.map +1 -0
  322. package/dist/output-multimodal.d.mts +9 -0
  323. package/dist/output-multimodal.d.mts.map +1 -0
  324. package/dist/output-multimodal.mjs +18 -0
  325. package/dist/output-multimodal.mjs.map +1 -0
  326. package/dist/output.d.mts +11 -0
  327. package/dist/output.d.mts.map +1 -0
  328. package/dist/output.mjs +40 -0
  329. package/dist/output.mjs.map +1 -0
  330. package/dist/pii-filter-3AxmYSiu.d.mts +23 -0
  331. package/dist/pii-filter-3AxmYSiu.d.mts.map +1 -0
  332. package/dist/pipelines.d.mts +448 -0
  333. package/dist/pipelines.d.mts.map +1 -0
  334. package/dist/pipelines.mjs +1534 -0
  335. package/dist/pipelines.mjs.map +1 -0
  336. package/dist/prompt-injection-DQXchzsV.d.mts +8 -0
  337. package/dist/prompt-injection-DQXchzsV.d.mts.map +1 -0
  338. package/dist/prompt-injection-RpoLPwSa.mjs +52 -0
  339. package/dist/prompt-injection-RpoLPwSa.mjs.map +1 -0
  340. package/dist/prompts.d.mts +192 -0
  341. package/dist/prompts.d.mts.map +1 -0
  342. package/dist/prompts.mjs +732 -0
  343. package/dist/prompts.mjs.map +1 -0
  344. package/dist/protocol-DfBiEsnl.d.mts +112 -0
  345. package/dist/protocol-DfBiEsnl.d.mts.map +1 -0
  346. package/dist/quota-manager-0iPMkQWN.d.mts +62 -0
  347. package/dist/quota-manager-0iPMkQWN.d.mts.map +1 -0
  348. package/dist/quota-manager-D_N7FuQ2.mjs +180 -0
  349. package/dist/quota-manager-D_N7FuQ2.mjs.map +1 -0
  350. package/dist/redaction-utils-DcQwsiNh.mjs +438 -0
  351. package/dist/redaction-utils-DcQwsiNh.mjs.map +1 -0
  352. package/dist/redis-CpsSrF8K.mjs +102 -0
  353. package/dist/redis-CpsSrF8K.mjs.map +1 -0
  354. package/dist/redis-CwguYFGh.d.mts +33 -0
  355. package/dist/redis-CwguYFGh.d.mts.map +1 -0
  356. package/dist/registry-CsD3iTIx.mjs +190 -0
  357. package/dist/registry-CsD3iTIx.mjs.map +1 -0
  358. package/dist/registry-DVPWzkXR.d.mts +36 -0
  359. package/dist/registry-DVPWzkXR.d.mts.map +1 -0
  360. package/dist/reranking-BpWYhYzl.d.mts +72 -0
  361. package/dist/reranking-BpWYhYzl.d.mts.map +1 -0
  362. package/dist/reranking-Ck8aKZW7.mjs +331 -0
  363. package/dist/reranking-Ck8aKZW7.mjs.map +1 -0
  364. package/dist/resumable-adapter-CO1HtsgJ.mjs +21 -0
  365. package/dist/resumable-adapter-CO1HtsgJ.mjs.map +1 -0
  366. package/dist/review-trigger-DmAsiQlM.d.mts +24 -0
  367. package/dist/review-trigger-DmAsiQlM.d.mts.map +1 -0
  368. package/dist/review-trigger-DwXfpww9.mjs +112 -0
  369. package/dist/review-trigger-DwXfpww9.mjs.map +1 -0
  370. package/dist/safe-context-BynhkTKR.d.mts +54 -0
  371. package/dist/safe-context-BynhkTKR.d.mts.map +1 -0
  372. package/dist/safe-context-C5A3Wv3b.mjs +143 -0
  373. package/dist/safe-context-C5A3Wv3b.mjs.map +1 -0
  374. package/dist/schema-Bu2noOZ4.mjs +27 -0
  375. package/dist/schema-Bu2noOZ4.mjs.map +1 -0
  376. package/dist/schema-CwFvuCnA.mjs +97 -0
  377. package/dist/schema-CwFvuCnA.mjs.map +1 -0
  378. package/dist/schema-Wz-1-ro9.d.mts +37 -0
  379. package/dist/schema-Wz-1-ro9.d.mts.map +1 -0
  380. package/dist/schemas-CxQtxIga.mjs +62 -0
  381. package/dist/schemas-CxQtxIga.mjs.map +1 -0
  382. package/dist/schemas-DBOhxgW7.d.mts +32 -0
  383. package/dist/schemas-DBOhxgW7.d.mts.map +1 -0
  384. package/dist/schemas-Dp_OCqBt.d.mts +63 -0
  385. package/dist/schemas-Dp_OCqBt.d.mts.map +1 -0
  386. package/dist/schemas-SwCsnT0z.mjs +83 -0
  387. package/dist/schemas-SwCsnT0z.mjs.map +1 -0
  388. package/dist/sdk-errors.d.mts +2 -0
  389. package/dist/sdk-errors.mjs +3 -0
  390. package/dist/sdk-experimental.d.mts +59 -0
  391. package/dist/sdk-experimental.d.mts.map +1 -0
  392. package/dist/sdk-experimental.mjs +193 -0
  393. package/dist/sdk-experimental.mjs.map +1 -0
  394. package/dist/sdk-stop-conditions.d.mts +3 -0
  395. package/dist/sdk-stop-conditions.mjs +3 -0
  396. package/dist/sdk.d.mts +15 -0
  397. package/dist/sdk.d.mts.map +1 -0
  398. package/dist/sdk.mjs +50 -0
  399. package/dist/sdk.mjs.map +1 -0
  400. package/dist/security-guardrails.d.mts +3 -0
  401. package/dist/security-guardrails.mjs +3 -0
  402. package/dist/security-injection.d.mts +2 -0
  403. package/dist/security-injection.mjs +3 -0
  404. package/dist/security.d.mts +12 -0
  405. package/dist/security.d.mts.map +1 -0
  406. package/dist/security.mjs +18 -0
  407. package/dist/security.mjs.map +1 -0
  408. package/dist/server.d.mts +420 -0
  409. package/dist/server.d.mts.map +1 -0
  410. package/dist/server.mjs +2225 -0
  411. package/dist/server.mjs.map +1 -0
  412. package/dist/shared.d.mts +2 -0
  413. package/dist/shared.mjs +3 -0
  414. package/dist/streaming-control.d.mts +2 -0
  415. package/dist/streaming-control.mjs +4 -0
  416. package/dist/streaming-core.d.mts +4 -0
  417. package/dist/streaming-core.mjs +3 -0
  418. package/dist/streaming-infra-resilience.d.mts +120 -0
  419. package/dist/streaming-infra-resilience.d.mts.map +1 -0
  420. package/dist/streaming-infra-resilience.mjs +358 -0
  421. package/dist/streaming-infra-resilience.mjs.map +1 -0
  422. package/dist/streaming-infra-transport.d.mts +57 -0
  423. package/dist/streaming-infra-transport.d.mts.map +1 -0
  424. package/dist/streaming-infra-transport.mjs +488 -0
  425. package/dist/streaming-infra-transport.mjs.map +1 -0
  426. package/dist/streaming-infra.d.mts +5 -0
  427. package/dist/streaming-infra.mjs +5 -0
  428. package/dist/streaming.d.mts +17 -0
  429. package/dist/streaming.d.mts.map +1 -0
  430. package/dist/streaming.mjs +71 -0
  431. package/dist/streaming.mjs.map +1 -0
  432. package/dist/telemetry-2eKMojIb.mjs +1046 -0
  433. package/dist/telemetry-2eKMojIb.mjs.map +1 -0
  434. package/dist/telemetry-C2t03dwD.d.mts +59 -0
  435. package/dist/telemetry-C2t03dwD.d.mts.map +1 -0
  436. package/dist/tool-Btbththq.d.mts +253 -0
  437. package/dist/tool-Btbththq.d.mts.map +1 -0
  438. package/dist/tool-JSf8JXZ8.mjs +1150 -0
  439. package/dist/tool-JSf8JXZ8.mjs.map +1 -0
  440. package/dist/tool-safety-CZO8a4D4.d.mts +60 -0
  441. package/dist/tool-safety-CZO8a4D4.d.mts.map +1 -0
  442. package/dist/tool-safety-DXtYDXod.mjs +319 -0
  443. package/dist/tool-safety-DXtYDXod.mjs.map +1 -0
  444. package/dist/tools-BuS2Uv0q.mjs +1708 -0
  445. package/dist/tools-BuS2Uv0q.mjs.map +1 -0
  446. package/dist/tools-approval.d.mts +99 -0
  447. package/dist/tools-approval.d.mts.map +1 -0
  448. package/dist/tools-approval.mjs +395 -0
  449. package/dist/tools-approval.mjs.map +1 -0
  450. package/dist/tools-compliance.d.mts +67 -0
  451. package/dist/tools-compliance.d.mts.map +1 -0
  452. package/dist/tools-compliance.mjs +330 -0
  453. package/dist/tools-compliance.mjs.map +1 -0
  454. package/dist/tools-computer.d.mts +25 -0
  455. package/dist/tools-computer.d.mts.map +1 -0
  456. package/dist/tools-computer.mjs +64 -0
  457. package/dist/tools-computer.mjs.map +1 -0
  458. package/dist/tools-core.d.mts +3 -0
  459. package/dist/tools-core.mjs +3 -0
  460. package/dist/tools-mcp.d.mts +3 -0
  461. package/dist/tools-mcp.mjs +5 -0
  462. package/dist/tools-superpowers.d.mts +2 -0
  463. package/dist/tools-superpowers.mjs +3 -0
  464. package/dist/tools.d.mts +401 -0
  465. package/dist/tools.d.mts.map +1 -0
  466. package/dist/tools.mjs +1921 -0
  467. package/dist/tools.mjs.map +1 -0
  468. package/dist/transport-selector-D-Ib05X1.mjs +1936 -0
  469. package/dist/transport-selector-D-Ib05X1.mjs.map +1 -0
  470. package/dist/triage-agent-BEsXg5sw.d.mts +63 -0
  471. package/dist/triage-agent-BEsXg5sw.d.mts.map +1 -0
  472. package/dist/triage-agent-CBsfX-HW.mjs +167 -0
  473. package/dist/triage-agent-CBsfX-HW.mjs.map +1 -0
  474. package/dist/types-BPnq3GQo.d.mts +23 -0
  475. package/dist/types-BPnq3GQo.d.mts.map +1 -0
  476. package/dist/types-BjWgimpY.d.mts +16 -0
  477. package/dist/types-BjWgimpY.d.mts.map +1 -0
  478. package/dist/types-BxD-5btB.d.mts +41 -0
  479. package/dist/types-BxD-5btB.d.mts.map +1 -0
  480. package/dist/types-By-r93bE.d.mts +36 -0
  481. package/dist/types-By-r93bE.d.mts.map +1 -0
  482. package/dist/types-CLBWFRZN.d.mts +69 -0
  483. package/dist/types-CLBWFRZN.d.mts.map +1 -0
  484. package/dist/types-CQ0HFd0u.d.mts +62 -0
  485. package/dist/types-CQ0HFd0u.d.mts.map +1 -0
  486. package/dist/types-D3zJb59_.d.mts +47 -0
  487. package/dist/types-D3zJb59_.d.mts.map +1 -0
  488. package/dist/types-DJnugQX0.d.mts +80 -0
  489. package/dist/types-DJnugQX0.d.mts.map +1 -0
  490. package/dist/types-DbUfMCnT.d.mts +70 -0
  491. package/dist/types-DbUfMCnT.d.mts.map +1 -0
  492. package/dist/upstash-adapter-D96Caq2O.mjs +22 -0
  493. package/dist/upstash-adapter-D96Caq2O.mjs.map +1 -0
  494. package/dist/upstash-adapter-DD4433dx.d.mts +8 -0
  495. package/dist/upstash-adapter-DD4433dx.d.mts.map +1 -0
  496. package/dist/utils-BlYhcD6M.mjs +319 -0
  497. package/dist/utils-BlYhcD6M.mjs.map +1 -0
  498. package/dist/utils-DpJGOb3y.d.mts +120 -0
  499. package/dist/utils-DpJGOb3y.d.mts.map +1 -0
  500. package/dist/vercel-blob-adapter-CkOXLT2D.mjs +25 -0
  501. package/dist/vercel-blob-adapter-CkOXLT2D.mjs.map +1 -0
  502. package/dist/xai-CbV_dCnP.mjs +1600 -0
  503. package/dist/xai-CbV_dCnP.mjs.map +1 -0
  504. package/package.json +479 -0
  505. package/src/agents/base/factory.ts +382 -0
  506. package/src/agents/base/index.ts +8 -0
  507. package/src/agents/base/schemas.ts +117 -0
  508. package/src/agents/base/types.ts +192 -0
  509. package/src/agents/control-flow/index.ts +683 -0
  510. package/src/agents/coordinator/coordinator-agent.ts +381 -0
  511. package/src/agents/coordinator/index.ts +6 -0
  512. package/src/agents/default-agent.ts +211 -0
  513. package/src/agents/evaluator-optimizer/README.md +612 -0
  514. package/src/agents/evaluator-optimizer/evaluator-optimizer.example.ts +437 -0
  515. package/src/agents/evaluator-optimizer/evaluator.ts +282 -0
  516. package/src/agents/evaluator-optimizer/index.test.ts +416 -0
  517. package/src/agents/evaluator-optimizer/index.ts +519 -0
  518. package/src/agents/evaluator-optimizer/optimizer.ts +322 -0
  519. package/src/agents/evaluator-optimizer/schema.ts +302 -0
  520. package/src/agents/evaluator-optimizer/utils.ts +42 -0
  521. package/src/agents/experimental/index.ts +1095 -0
  522. package/src/agents/experimental/types.ts +212 -0
  523. package/src/agents/fallback/index.ts +18 -0
  524. package/src/agents/fallback/recovery/circuit-breaker.ts +166 -0
  525. package/src/agents/fallback/strategies/model-fallback.ts +192 -0
  526. package/src/agents/fallback/types.ts +87 -0
  527. package/src/agents/governance-agent.ts +446 -0
  528. package/src/agents/index.ts +79 -0
  529. package/src/agents/multi/coordination/index.ts +6 -0
  530. package/src/agents/multi/coordination/message-bus.ts +144 -0
  531. package/src/agents/multi/index.ts +6 -0
  532. package/src/agents/multi/state/index.ts +162 -0
  533. package/src/agents/multi/supervisor/index.ts +7 -0
  534. package/src/agents/multi/supervisor/supervisor.ts +254 -0
  535. package/src/agents/multi/swarm/aggregation.ts +466 -0
  536. package/src/agents/multi/swarm/communication.ts +388 -0
  537. package/src/agents/multi/swarm/coordination.ts +380 -0
  538. package/src/agents/multi/swarm/index.ts +73 -0
  539. package/src/agents/multi/swarm/swarm-executor.ts +479 -0
  540. package/src/agents/multi/types.ts +181 -0
  541. package/src/agents/observability/index.ts +914 -0
  542. package/src/agents/orchestrator.ts +218 -0
  543. package/src/agents/patterns/README.md +512 -0
  544. package/src/agents/patterns/evaluator-optimizer-pattern.example.ts +455 -0
  545. package/src/agents/patterns/evaluator-optimizer-pattern.ts +653 -0
  546. package/src/agents/patterns/index.ts +26 -0
  547. package/src/agents/persistence/index.ts +726 -0
  548. package/src/agents/tools/index.ts +291 -0
  549. package/src/agents/tools/mcp.ts +188 -0
  550. package/src/agents/triage/index.ts +6 -0
  551. package/src/agents/triage/triage-agent.ts +280 -0
  552. package/src/agents/workflows/index.ts +6 -0
  553. package/src/agents/workflows/interfaces.ts +36 -0
  554. package/src/agents/workflows/schema.ts +20 -0
  555. package/src/caching/adapters/index.ts +7 -0
  556. package/src/caching/adapters/memory.ts +77 -0
  557. package/src/caching/adapters/redis.ts +60 -0
  558. package/src/caching/index.ts +17 -0
  559. package/src/caching/middleware.ts +452 -0
  560. package/src/caching/strategies/index.ts +1008 -0
  561. package/src/caching/types.ts +47 -0
  562. package/src/catalog.ts +921 -0
  563. package/src/client/chat-usage.ts +53 -0
  564. package/src/client/hooks.ts +343 -0
  565. package/src/client/index.ts +36 -0
  566. package/src/client/message-utils.ts +29 -0
  567. package/src/client/use-generative-ui.ts +174 -0
  568. package/src/client/utils.ts +66 -0
  569. package/src/generative-ui/catalog.ts +653 -0
  570. package/src/generative-ui/index.ts +82 -0
  571. package/src/generative-ui/registry.ts +273 -0
  572. package/src/generative-ui/stream.ts +324 -0
  573. package/src/generative-ui/types.ts +376 -0
  574. package/src/governance/audit/audit-logger.ts +239 -0
  575. package/src/governance/audit/audit-schema.ts +82 -0
  576. package/src/governance/audit/index.ts +6 -0
  577. package/src/governance/compliance/abac/policy-engine.ts +175 -0
  578. package/src/governance/compliance/abac/types.ts +40 -0
  579. package/src/governance/compliance/approval/compliance-approval-queue.ts +217 -0
  580. package/src/governance/compliance/index.ts +16 -0
  581. package/src/governance/compliance/schemas.ts +68 -0
  582. package/src/governance/compliance/types.ts +143 -0
  583. package/src/governance/compliance/validators/phi-detector.ts +145 -0
  584. package/src/governance/compliance/validators/redaction-utils.ts +176 -0
  585. package/src/governance/compliance/validators/safe-harbor.ts +135 -0
  586. package/src/governance/entitlements/index.ts +585 -0
  587. package/src/governance/entitlements/middleware.ts +651 -0
  588. package/src/governance/entitlements/rate-limiter.ts +711 -0
  589. package/src/governance/index.ts +32 -0
  590. package/src/governance/policies/guardrails.ts +1121 -0
  591. package/src/governance/policies/index.ts +42 -0
  592. package/src/governance/policies/loop-controls.ts +136 -0
  593. package/src/governance/policies/telemetry.ts +63 -0
  594. package/src/governance/tenancy/index.ts +30 -0
  595. package/src/governance/tenancy/isolation/context.ts +92 -0
  596. package/src/governance/tenancy/isolation/index.ts +13 -0
  597. package/src/governance/tenancy/quotas/index.ts +11 -0
  598. package/src/governance/tenancy/quotas/quota-manager.ts +180 -0
  599. package/src/governance/tenancy/types.ts +66 -0
  600. package/src/governance/types.ts +16 -0
  601. package/src/governance/versioning/index.ts +573 -0
  602. package/src/grounding/attribution/index.ts +424 -0
  603. package/src/grounding/citation/citation-generator.ts +174 -0
  604. package/src/grounding/citation/index.ts +12 -0
  605. package/src/grounding/context/index.ts +32 -0
  606. package/src/grounding/context/safe-context.ts +116 -0
  607. package/src/grounding/context/types.ts +62 -0
  608. package/src/grounding/context-engineering/error-handling.ts +359 -0
  609. package/src/grounding/context-engineering/index.ts +23 -0
  610. package/src/grounding/context-engineering/memory.ts +559 -0
  611. package/src/grounding/context-engineering/tool-masking.ts +338 -0
  612. package/src/grounding/embed/index.ts +704 -0
  613. package/src/grounding/embed/reranking.ts +604 -0
  614. package/src/grounding/hallucination/index.ts +223 -0
  615. package/src/grounding/index.ts +82 -0
  616. package/src/grounding/proof-map/applyPatch.ts +172 -0
  617. package/src/grounding/proof-map/index.ts +41 -0
  618. package/src/grounding/proof-map/loop.ts +275 -0
  619. package/src/grounding/proof-map/schema.ts +217 -0
  620. package/src/grounding/rag/__tests__/pipeline.test.ts +274 -0
  621. package/src/grounding/rag/__tests__/tool.test.ts +202 -0
  622. package/src/grounding/rag/__tests__/trace.test.ts +229 -0
  623. package/src/grounding/rag/circuit-breaker.ts +152 -0
  624. package/src/grounding/rag/index.ts +64 -0
  625. package/src/grounding/rag/pipeline.ts +602 -0
  626. package/src/grounding/rag/tool.ts +281 -0
  627. package/src/grounding/rag/trace.ts +503 -0
  628. package/src/grounding/rag/types.ts +284 -0
  629. package/src/grounding/retrieval/in-memory-store.ts +107 -0
  630. package/src/grounding/sources/index.ts +943 -0
  631. package/src/grounding/tests/applyPatch.test.ts +194 -0
  632. package/src/grounding/tests/loop.test.ts +141 -0
  633. package/src/grounding/tests/schema.test.ts +160 -0
  634. package/src/grounding/types.ts +100 -0
  635. package/src/grounding/verification/index.ts +419 -0
  636. package/src/hitl/active-learning/index.ts +332 -0
  637. package/src/hitl/annotation/index.ts +362 -0
  638. package/src/hitl/approval/approval-queue.ts +132 -0
  639. package/src/hitl/approval/index.ts +5 -0
  640. package/src/hitl/feedback/index.ts +284 -0
  641. package/src/hitl/index.ts +69 -0
  642. package/src/hitl/review/index.ts +6 -0
  643. package/src/hitl/review/review-trigger.ts +162 -0
  644. package/src/hitl/types.ts +126 -0
  645. package/src/index.ts +125 -0
  646. package/src/integrations/blob-storage/index.ts +7 -0
  647. package/src/integrations/blob-storage/types.ts +28 -0
  648. package/src/integrations/blob-storage/vercel-blob-adapter.ts +35 -0
  649. package/src/integrations/index.ts +15 -0
  650. package/src/integrations/notifications/index.ts +7 -0
  651. package/src/integrations/notifications/log-adapter.ts +30 -0
  652. package/src/integrations/notifications/types.ts +27 -0
  653. package/src/integrations/rate-limit/index.ts +7 -0
  654. package/src/integrations/rate-limit/types.ts +26 -0
  655. package/src/integrations/rate-limit/upstash-adapter.ts +45 -0
  656. package/src/integrations/redis/index.ts +7 -0
  657. package/src/integrations/redis/types.ts +67 -0
  658. package/src/integrations/redis/upstash-adapter.ts +18 -0
  659. package/src/integrations/stream/index.ts +7 -0
  660. package/src/integrations/stream/resumable-adapter.ts +20 -0
  661. package/src/integrations/stream/types.ts +21 -0
  662. package/src/internal/__tests__/hallucination.test.ts +162 -0
  663. package/src/internal/__tests__/models.test.ts +104 -0
  664. package/src/internal/__tests__/sdk-errors.test.ts +201 -0
  665. package/src/internal/__tests__/stop-conditions.test.ts +210 -0
  666. package/src/internal/shared/ai-types.ts +942 -0
  667. package/src/internal/testing/evaluators.ts +575 -0
  668. package/src/internal/testing/index.ts +960 -0
  669. package/src/internal/ui/data-parts.ts +511 -0
  670. package/src/internal/ui/type-guards.ts +344 -0
  671. package/src/internal/ui-factories/__tests__/ui-factories.test.ts +548 -0
  672. package/src/internal/ui-factories/artifact-factory.ts +667 -0
  673. package/src/internal/ui-factories/index.ts +82 -0
  674. package/src/internal/ui-factories/shimmer-manager.ts +220 -0
  675. package/src/internal/ui-factories/status-helpers.ts +149 -0
  676. package/src/internal/ui-factories/tool-renderer.ts +167 -0
  677. package/src/internal/ui-factories/types.ts +235 -0
  678. package/src/models/capabilities.ts +88 -0
  679. package/src/models/index.ts +16 -0
  680. package/src/models/provider-factory.ts +229 -0
  681. package/src/models/providers/anthropic.ts +539 -0
  682. package/src/models/providers/google.ts +354 -0
  683. package/src/models/providers/index.ts +21 -0
  684. package/src/models/providers/openai.ts +346 -0
  685. package/src/models/providers/perplexity.ts +276 -0
  686. package/src/models/providers/shared.ts +90 -0
  687. package/src/models/providers/xai.ts +269 -0
  688. package/src/models/registry.ts +208 -0
  689. package/src/models/routing/index.ts +45 -0
  690. package/src/models/routing/intent-router.ts +143 -0
  691. package/src/models/routing/model-router.ts +300 -0
  692. package/src/models/routing/types.ts +106 -0
  693. package/src/models/types.ts +23 -0
  694. package/src/observability/analytics/index.ts +593 -0
  695. package/src/observability/cost/index.ts +16 -0
  696. package/src/observability/cost/tracking/budget-guard.ts +110 -0
  697. package/src/observability/cost/tracking/usage-tracker.ts +120 -0
  698. package/src/observability/cost/types.ts +85 -0
  699. package/src/observability/index.ts +17 -0
  700. package/src/observability/telemetry/index.ts +508 -0
  701. package/src/observability/tracing/index.ts +30 -0
  702. package/src/observability/tracing/otel/ai-instrumentation.ts +193 -0
  703. package/src/observability/tracing/otel/exporters/console.ts +58 -0
  704. package/src/observability/tracing/otel/exporters/index.ts +6 -0
  705. package/src/observability/tracing/provenance.ts +769 -0
  706. package/src/observability/tracing/types.ts +92 -0
  707. package/src/output/__tests__/output.test.ts +737 -0
  708. package/src/output/element-stream.ts +678 -0
  709. package/src/output/errors.ts +108 -0
  710. package/src/output/factories.ts +392 -0
  711. package/src/output/index.ts +98 -0
  712. package/src/output/multimodal/EXPORTS.md +306 -0
  713. package/src/output/multimodal/IMPLEMENTATION_SUMMARY.md +421 -0
  714. package/src/output/multimodal/README.md +349 -0
  715. package/src/output/multimodal/SETUP_GUIDE.md +472 -0
  716. package/src/output/multimodal/audio.ts +650 -0
  717. package/src/output/multimodal/image.ts +22 -0
  718. package/src/output/multimodal/index.ts +32 -0
  719. package/src/output/multimodal/providers.example.ts +375 -0
  720. package/src/output/validator.ts +495 -0
  721. package/src/pipelines/adapters/trace-storage-blob.ts +458 -0
  722. package/src/pipelines/adapters/trace-storage-memory.ts +319 -0
  723. package/src/pipelines/defaults.ts +109 -0
  724. package/src/pipelines/index.ts +24 -0
  725. package/src/pipelines/message-transforms.ts +107 -0
  726. package/src/pipelines/multi-step-wrapper.ts +433 -0
  727. package/src/pipelines/pipeline-presets.ts +339 -0
  728. package/src/pipelines/step-executor.ts +257 -0
  729. package/src/pipelines/storage-factory.ts +85 -0
  730. package/src/pipelines/trace-storage-interface.ts +216 -0
  731. package/src/pipelines/types.ts +255 -0
  732. package/src/pipelines/validation.ts +323 -0
  733. package/src/prompts/index.ts +271 -0
  734. package/src/prompts/model-variants.ts +410 -0
  735. package/src/prompts/templates.ts +327 -0
  736. package/src/sdk/errors/base.ts +296 -0
  737. package/src/sdk/errors/index.ts +31 -0
  738. package/src/sdk/errors/utils.ts +148 -0
  739. package/src/sdk/experimental/index.ts +286 -0
  740. package/src/sdk/index.ts +25 -0
  741. package/src/sdk/middleware/ai-middleware.ts +95 -0
  742. package/src/sdk/middleware/cache.ts +154 -0
  743. package/src/sdk/middleware/circuit-breaker.ts +388 -0
  744. package/src/sdk/middleware/compose.ts +81 -0
  745. package/src/sdk/middleware/deduplication.ts +307 -0
  746. package/src/sdk/middleware/index.ts +660 -0
  747. package/src/sdk/middleware/model-middleware.ts +200 -0
  748. package/src/sdk/stop-conditions/conditions.ts +209 -0
  749. package/src/sdk/stop-conditions/index.ts +35 -0
  750. package/src/sdk/stop-conditions/types.ts +59 -0
  751. package/src/security/guardrails/index.ts +6 -0
  752. package/src/security/guardrails/middleware.ts +465 -0
  753. package/src/security/guardrails/pii-filter.ts +396 -0
  754. package/src/security/index.ts +33 -0
  755. package/src/security/injection/index.ts +5 -0
  756. package/src/security/injection/prompt-injection.ts +64 -0
  757. package/src/security/types.ts +85 -0
  758. package/src/server/cache/crypto.ts +47 -0
  759. package/src/server/cache/performance.ts +79 -0
  760. package/src/server/error-handler.ts +93 -0
  761. package/src/server/errors.ts +73 -0
  762. package/src/server/helpers.ts +944 -0
  763. package/src/server/http.ts +156 -0
  764. package/src/server/index.ts +12 -0
  765. package/src/server/messages/__tests__/messages.test.ts +720 -0
  766. package/src/server/messages/converter.ts +245 -0
  767. package/src/server/messages/data-parts.ts +338 -0
  768. package/src/server/messages/extraction.ts +328 -0
  769. package/src/server/messages/index.ts +126 -0
  770. package/src/server/messages/types.ts +355 -0
  771. package/src/server/messages/window.ts +450 -0
  772. package/src/server/rate-limit/env.ts +8 -0
  773. package/src/server/rate-limit/rate-limit.ts +165 -0
  774. package/src/server/routes/HEALTH_CHECK.md +502 -0
  775. package/src/server/routes/IMPLEMENTATION_SUMMARY.md +432 -0
  776. package/src/server/routes/QUICK_START.md +327 -0
  777. package/src/server/routes/README.md +357 -0
  778. package/src/server/routes/__tests__/routes.test.ts +628 -0
  779. package/src/server/routes/agent-route.ts +224 -0
  780. package/src/server/routes/agent-routes.ts +191 -0
  781. package/src/server/routes/embed-config.ts +181 -0
  782. package/src/server/routes/health-check.example.ts +507 -0
  783. package/src/server/routes/health-check.test.ts +533 -0
  784. package/src/server/routes/health-check.ts +639 -0
  785. package/src/server/routes/health-check.types.ts +217 -0
  786. package/src/server/routes/index.ts +32 -0
  787. package/src/server/routes/types.ts +274 -0
  788. package/src/shared/__tests__/schemas.test.ts +317 -0
  789. package/src/shared/ai-runtime.ts +139 -0
  790. package/src/shared/ai-types.ts +133 -0
  791. package/src/shared/index.ts +30 -0
  792. package/src/shared/sdk-runtime.ts +198 -0
  793. package/src/shared/sdk-types.ts +301 -0
  794. package/src/streaming/control/__tests__/streaming-control.test.ts +708 -0
  795. package/src/streaming/control/budget-guard.ts +264 -0
  796. package/src/streaming/control/controller.ts +255 -0
  797. package/src/streaming/control/index.ts +105 -0
  798. package/src/streaming/control/smoothing.ts +201 -0
  799. package/src/streaming/control/step-limit.ts +215 -0
  800. package/src/streaming/control/types.ts +234 -0
  801. package/src/streaming/core/auto-resume.ts +276 -0
  802. package/src/streaming/core/index.ts +85 -0
  803. package/src/streaming/core/multi-step.ts +471 -0
  804. package/src/streaming/core/protocol.ts +194 -0
  805. package/src/streaming/core/types.ts +182 -0
  806. package/src/streaming/index.ts +97 -0
  807. package/src/streaming/infra/backpressure/buffer.ts +210 -0
  808. package/src/streaming/infra/backpressure/index.ts +6 -0
  809. package/src/streaming/infra/index.ts +75 -0
  810. package/src/streaming/infra/multiplexing/index.ts +311 -0
  811. package/src/streaming/infra/resilience/index.ts +684 -0
  812. package/src/streaming/infra/transform/index.ts +15 -0
  813. package/src/streaming/infra/transform/stream-transforms.ts +166 -0
  814. package/src/streaming/infra/transport/index.ts +774 -0
  815. package/src/streaming/infra/types.ts +118 -0
  816. package/src/streaming/infra-extra/types.ts +118 -0
  817. package/src/tools/advanced/caching.ts +299 -0
  818. package/src/tools/advanced/generator.ts +267 -0
  819. package/src/tools/advanced/hitl.ts +251 -0
  820. package/src/tools/advanced/index.ts +9 -0
  821. package/src/tools/advanced/llm-tool.ts +208 -0
  822. package/src/tools/approval/FILES.md +449 -0
  823. package/src/tools/approval/IMPLEMENTATION_SUMMARY.md +567 -0
  824. package/src/tools/approval/QUICK_START.md +362 -0
  825. package/src/tools/approval/README.md +514 -0
  826. package/src/tools/approval/advanced-approval-queue.ts +7 -0
  827. package/src/tools/approval/approval.example.ts +571 -0
  828. package/src/tools/approval/in-memory-queue.ts +405 -0
  829. package/src/tools/approval/index.ts +737 -0
  830. package/src/tools/approval/middleware.ts +590 -0
  831. package/src/tools/approval/queue-factory.ts +162 -0
  832. package/src/tools/approval/redis-queue.ts +327 -0
  833. package/src/tools/approval/testing.ts +493 -0
  834. package/src/tools/approval/types.ts +221 -0
  835. package/src/tools/approval/with-approval.ts +366 -0
  836. package/src/tools/artifacts/artifact-tools.ts +273 -0
  837. package/src/tools/artifacts/index.ts +6 -0
  838. package/src/tools/compliance/compliance-wrapper.ts +789 -0
  839. package/src/tools/compliance/create-compliant-stream.ts +226 -0
  840. package/src/tools/compliance/index.ts +8 -0
  841. package/src/tools/compliance/phi-redaction.ts +406 -0
  842. package/src/tools/compliance/tool-wrapper.ts +306 -0
  843. package/src/tools/computer/index.ts +99 -0
  844. package/src/tools/computer/types.ts +41 -0
  845. package/src/tools/core/abort.ts +202 -0
  846. package/src/tools/core/factory.ts +197 -0
  847. package/src/tools/core/index.ts +8 -0
  848. package/src/tools/core/tool-safety.ts +112 -0
  849. package/src/tools/generic/index.ts +9 -0
  850. package/src/tools/generic/json-schema-tool.ts +301 -0
  851. package/src/tools/generic/tiptap-context.ts +619 -0
  852. package/src/tools/generic/web-search-tool.ts +82 -0
  853. package/src/tools/generic/web-search.ts +142 -0
  854. package/src/tools/index.ts +36 -0
  855. package/src/tools/mcp/ai-sdk-error-integration.ts +401 -0
  856. package/src/tools/mcp/client.ts +988 -0
  857. package/src/tools/mcp/connection-manager.ts +380 -0
  858. package/src/tools/mcp/connection-pool.ts +408 -0
  859. package/src/tools/mcp/edge-runtime.ts +318 -0
  860. package/src/tools/mcp/environment.ts +310 -0
  861. package/src/tools/mcp/index.ts +20 -0
  862. package/src/tools/mcp/next-pattern.ts +401 -0
  863. package/src/tools/mcp/stream-lifecycle-integration.ts +617 -0
  864. package/src/tools/mcp/tool-cache.ts +359 -0
  865. package/src/tools/mcp/transport-selector.ts +492 -0
  866. package/src/tools/mcp/transports.ts +99 -0
  867. package/src/tools/simple-factory.ts +55 -0
  868. package/src/tools/superpowers/index.ts +122 -0
  869. package/src/tools/superpowers/prompts/index.ts +533 -0
  870. package/src/tools/superpowers/schemas/index.ts +701 -0
  871. package/src/tools/superpowers/tools/index.ts +721 -0
  872. package/src/tools/validation-wrapper.ts +97 -0
@@ -0,0 +1,488 @@
1
+ //#region src/streaming/infra/transport/index.ts
2
+ /**
3
+ * Creates a Server-Sent Events transport adapter.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const sse = createSSETransport({
8
+ * url: 'https://api.example.com/events',
9
+ * headers: { Authorization: 'Bearer token' },
10
+ * eventTypes: ['message', 'update']
11
+ * });
12
+ *
13
+ * for await (const event of sse.connect()) {
14
+ * console.log(`Event: ${event.event}, Data: ${event.data}`);
15
+ * }
16
+ * ```
17
+ */
18
+ function createSSETransport(config) {
19
+ const { url, headers = {}, withCredentials = false, eventTypes = ["message"], reconnectTimeout = 3e3, timeout = 3e4 } = config;
20
+ let controller = null;
21
+ let connected = false;
22
+ const errorHandlers = /* @__PURE__ */ new Set();
23
+ const closeHandlers = /* @__PURE__ */ new Set();
24
+ function connect() {
25
+ return { async *[Symbol.asyncIterator]() {
26
+ controller = new AbortController();
27
+ connected = true;
28
+ try {
29
+ const response = await fetch(url, {
30
+ method: "GET",
31
+ headers: {
32
+ Accept: "text/event-stream",
33
+ "Cache-Control": "no-cache",
34
+ ...headers
35
+ },
36
+ signal: controller.signal,
37
+ credentials: withCredentials ? "include" : "same-origin"
38
+ });
39
+ if (!response.ok) throw new Error(`SSE connection failed: ${response.status} ${response.statusText}`);
40
+ if (!response.body) throw new Error("No response body for SSE stream");
41
+ const reader = response.body.getReader();
42
+ const decoder = new TextDecoder();
43
+ let buffer = "";
44
+ let currentEvent = {};
45
+ while (connected) {
46
+ const { done, value } = await reader.read();
47
+ if (done) break;
48
+ buffer += decoder.decode(value, { stream: true });
49
+ const lines = buffer.split("\n");
50
+ buffer = lines.pop() ?? "";
51
+ for (const line of lines) {
52
+ if (line.startsWith(":")) continue;
53
+ if (line === "") {
54
+ if (currentEvent.data !== void 0) {
55
+ const eventType = currentEvent.event ?? "message";
56
+ if (eventTypes.includes(eventType)) yield {
57
+ id: currentEvent.id,
58
+ event: currentEvent.event,
59
+ data: currentEvent.data,
60
+ retry: currentEvent.retry
61
+ };
62
+ }
63
+ currentEvent = {};
64
+ continue;
65
+ }
66
+ const colonIndex = line.indexOf(":");
67
+ if (colonIndex === -1) continue;
68
+ const field = line.slice(0, colonIndex);
69
+ const value = line.slice(colonIndex + 1).trimStart();
70
+ switch (field) {
71
+ case "id":
72
+ currentEvent.id = value;
73
+ break;
74
+ case "event":
75
+ currentEvent.event = value;
76
+ break;
77
+ case "data":
78
+ currentEvent.data = currentEvent.data ? `${currentEvent.data}\n${value}` : value;
79
+ break;
80
+ case "retry":
81
+ currentEvent.retry = parseInt(value, 10);
82
+ break;
83
+ }
84
+ }
85
+ }
86
+ } catch (error) {
87
+ if (error instanceof Error && error.name !== "AbortError") {
88
+ notifyError(error);
89
+ throw error;
90
+ }
91
+ } finally {
92
+ connected = false;
93
+ notifyClose();
94
+ }
95
+ } };
96
+ }
97
+ async function send(chunk) {
98
+ throw new Error("SSE transport is read-only. Use WebSocket for bidirectional communication.");
99
+ }
100
+ async function close() {
101
+ connected = false;
102
+ controller?.abort();
103
+ controller = null;
104
+ notifyClose();
105
+ }
106
+ function isConnected() {
107
+ return connected;
108
+ }
109
+ function onError(handler) {
110
+ errorHandlers.add(handler);
111
+ return () => errorHandlers.delete(handler);
112
+ }
113
+ function onClose(handler) {
114
+ closeHandlers.add(handler);
115
+ return () => closeHandlers.delete(handler);
116
+ }
117
+ function notifyError(error) {
118
+ for (const handler of errorHandlers) try {
119
+ handler(error);
120
+ } catch {}
121
+ }
122
+ function notifyClose() {
123
+ for (const handler of closeHandlers) try {
124
+ handler();
125
+ } catch {}
126
+ }
127
+ return {
128
+ type: "sse",
129
+ connect,
130
+ send,
131
+ close,
132
+ isConnected,
133
+ onError,
134
+ onClose
135
+ };
136
+ }
137
+ /**
138
+ * Creates a WebSocket transport adapter.
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * const ws = createWebSocketTransport({
143
+ * url: 'wss://api.example.com/ws',
144
+ * protocols: ['v1'],
145
+ * pingInterval: 30000
146
+ * });
147
+ *
148
+ * // Bidirectional communication
149
+ * for await (const msg of ws.connect()) {
150
+ * console.log('Received:', msg.data);
151
+ * await ws.send({ type: 'message', data: 'pong', timestamp: new Date() });
152
+ * }
153
+ * ```
154
+ */
155
+ function createWebSocketTransport(config) {
156
+ const { url, protocols = [], binaryType = "blob", pingInterval = 3e4 } = config;
157
+ let socket = null;
158
+ let connected = false;
159
+ let pingTimer = null;
160
+ const errorHandlers = /* @__PURE__ */ new Set();
161
+ const closeHandlers = /* @__PURE__ */ new Set();
162
+ const messageQueue = [];
163
+ let messageResolver = null;
164
+ function connect() {
165
+ return { async *[Symbol.asyncIterator]() {
166
+ const ws = new WebSocket(url, protocols.length > 0 ? protocols : void 0);
167
+ socket = ws;
168
+ ws.binaryType = binaryType;
169
+ const openPromise = new Promise((resolve, reject) => {
170
+ ws.onopen = () => {
171
+ connected = true;
172
+ startPing();
173
+ resolve();
174
+ };
175
+ ws.onerror = (event) => {
176
+ reject(/* @__PURE__ */ new Error("WebSocket connection error"));
177
+ };
178
+ });
179
+ ws.onmessage = (event) => {
180
+ const message = {
181
+ type: typeof event.data === "string" ? "message" : "binary",
182
+ data: typeof event.data === "string" ? JSON.parse(event.data) : event.data,
183
+ timestamp: /* @__PURE__ */ new Date()
184
+ };
185
+ if (messageResolver) {
186
+ messageResolver({
187
+ done: false,
188
+ value: message
189
+ });
190
+ messageResolver = null;
191
+ } else messageQueue.push(message);
192
+ };
193
+ ws.onerror = (event) => {
194
+ notifyError(/* @__PURE__ */ new Error("WebSocket error"));
195
+ };
196
+ ws.onclose = () => {
197
+ connected = false;
198
+ stopPing();
199
+ notifyClose();
200
+ if (messageResolver) {
201
+ messageResolver({
202
+ done: true,
203
+ value: void 0
204
+ });
205
+ messageResolver = null;
206
+ }
207
+ };
208
+ await openPromise;
209
+ while (connected || messageQueue.length > 0) if (messageQueue.length > 0) {
210
+ const nextMessage = messageQueue.shift();
211
+ if (nextMessage) yield nextMessage;
212
+ } else if (connected) {
213
+ const message = await new Promise((resolve) => {
214
+ messageResolver = resolve;
215
+ });
216
+ if (message.done) break;
217
+ yield message.value;
218
+ } else break;
219
+ } };
220
+ }
221
+ async function send(chunk) {
222
+ if (socket?.readyState !== WebSocket.OPEN) throw new Error("WebSocket is not connected");
223
+ const data = typeof chunk.data === "string" ? chunk.data : JSON.stringify(chunk.data);
224
+ socket.send(data);
225
+ }
226
+ async function close() {
227
+ connected = false;
228
+ stopPing();
229
+ if (socket) {
230
+ socket.close(1e3, "Normal closure");
231
+ socket = null;
232
+ }
233
+ notifyClose();
234
+ }
235
+ function isConnected() {
236
+ return connected && socket?.readyState === WebSocket.OPEN;
237
+ }
238
+ function onError(handler) {
239
+ errorHandlers.add(handler);
240
+ return () => errorHandlers.delete(handler);
241
+ }
242
+ function onClose(handler) {
243
+ closeHandlers.add(handler);
244
+ return () => closeHandlers.delete(handler);
245
+ }
246
+ function startPing() {
247
+ if (pingInterval <= 0) return;
248
+ pingTimer = setInterval(() => {
249
+ if (socket?.readyState === WebSocket.OPEN) socket.send(JSON.stringify({
250
+ type: "ping",
251
+ timestamp: Date.now()
252
+ }));
253
+ }, pingInterval);
254
+ }
255
+ function stopPing() {
256
+ if (pingTimer) {
257
+ clearInterval(pingTimer);
258
+ pingTimer = null;
259
+ }
260
+ }
261
+ function notifyError(error) {
262
+ for (const handler of errorHandlers) try {
263
+ handler(error);
264
+ } catch {}
265
+ }
266
+ function notifyClose() {
267
+ for (const handler of closeHandlers) try {
268
+ handler();
269
+ } catch {}
270
+ }
271
+ return {
272
+ type: "websocket",
273
+ connect,
274
+ send,
275
+ close,
276
+ isConnected,
277
+ onError,
278
+ onClose
279
+ };
280
+ }
281
+ /**
282
+ * Creates an HTTP streaming transport adapter.
283
+ *
284
+ * @example
285
+ * ```typescript
286
+ * const http = createHTTPStreamTransport({
287
+ * url: 'https://api.example.com/stream',
288
+ * method: 'POST',
289
+ * body: { prompt: 'Hello' },
290
+ * headers: { 'Content-Type': 'application/json' }
291
+ * });
292
+ *
293
+ * for await (const chunk of http.connect()) {
294
+ * process.stdout.write(chunk);
295
+ * }
296
+ * ```
297
+ */
298
+ function createHTTPStreamTransport(config) {
299
+ const { url, method = "GET", headers = {}, body, timeout = 6e4 } = config;
300
+ let controller = null;
301
+ let connected = false;
302
+ const errorHandlers = /* @__PURE__ */ new Set();
303
+ const closeHandlers = /* @__PURE__ */ new Set();
304
+ function connect() {
305
+ return { async *[Symbol.asyncIterator]() {
306
+ controller = new AbortController();
307
+ connected = true;
308
+ const timeoutId = setTimeout(() => {
309
+ controller?.abort();
310
+ }, timeout);
311
+ try {
312
+ const response = await fetch(url, {
313
+ method,
314
+ headers: {
315
+ Accept: "text/plain, application/octet-stream",
316
+ ...headers
317
+ },
318
+ body: body ? JSON.stringify(body) : void 0,
319
+ signal: controller.signal
320
+ });
321
+ clearTimeout(timeoutId);
322
+ if (!response.ok) throw new Error(`HTTP stream failed: ${response.status} ${response.statusText}`);
323
+ if (!response.body) throw new Error("No response body for HTTP stream");
324
+ const reader = response.body.getReader();
325
+ const decoder = new TextDecoder();
326
+ while (connected) {
327
+ const { done, value } = await reader.read();
328
+ if (done) break;
329
+ const chunk = decoder.decode(value, { stream: true });
330
+ if (chunk) yield chunk;
331
+ }
332
+ const final = decoder.decode();
333
+ if (final) yield final;
334
+ } catch (error) {
335
+ clearTimeout(timeoutId);
336
+ if (error instanceof Error && error.name !== "AbortError") {
337
+ notifyError(error);
338
+ throw error;
339
+ }
340
+ } finally {
341
+ connected = false;
342
+ notifyClose();
343
+ }
344
+ } };
345
+ }
346
+ async function send(chunk) {
347
+ throw new Error("HTTP streaming transport is read-only. Use WebSocket for bidirectional communication.");
348
+ }
349
+ async function close() {
350
+ connected = false;
351
+ controller?.abort();
352
+ controller = null;
353
+ notifyClose();
354
+ }
355
+ function isConnected() {
356
+ return connected;
357
+ }
358
+ function onError(handler) {
359
+ errorHandlers.add(handler);
360
+ return () => errorHandlers.delete(handler);
361
+ }
362
+ function onClose(handler) {
363
+ closeHandlers.add(handler);
364
+ return () => closeHandlers.delete(handler);
365
+ }
366
+ function notifyError(error) {
367
+ for (const handler of errorHandlers) try {
368
+ handler(error);
369
+ } catch {}
370
+ }
371
+ function notifyClose() {
372
+ for (const handler of closeHandlers) try {
373
+ handler();
374
+ } catch {}
375
+ }
376
+ return {
377
+ type: "http-streaming",
378
+ connect,
379
+ send,
380
+ close,
381
+ isConnected,
382
+ onError,
383
+ onClose
384
+ };
385
+ }
386
+ /**
387
+ * Creates a transport adapter based on configuration.
388
+ *
389
+ * @example
390
+ * ```typescript
391
+ * const transport = createTransport({
392
+ * type: 'sse',
393
+ * url: 'https://api.example.com/events'
394
+ * });
395
+ * ```
396
+ */
397
+ function createTransport(config) {
398
+ const transportType = getTransportType(config);
399
+ if (!transportType) throw new Error("Transport type is required");
400
+ switch (transportType) {
401
+ case "sse": return createSSETransport(config);
402
+ case "websocket": return createWebSocketTransport(config);
403
+ case "http-streaming": return createHTTPStreamTransport(config);
404
+ }
405
+ }
406
+ /**
407
+ * Parses SSE data from a raw text stream.
408
+ */
409
+ function parseSSEStream(text) {
410
+ const events = [];
411
+ const blocks = text.split("\n\n");
412
+ for (const block of blocks) {
413
+ if (!block.trim()) continue;
414
+ const event = {};
415
+ const lines = block.split("\n");
416
+ for (const line of lines) {
417
+ if (line.startsWith(":")) continue;
418
+ const colonIndex = line.indexOf(":");
419
+ if (colonIndex === -1) continue;
420
+ const field = line.slice(0, colonIndex);
421
+ const value = line.slice(colonIndex + 1).trimStart();
422
+ switch (field) {
423
+ case "id":
424
+ event.id = value;
425
+ break;
426
+ case "event":
427
+ event.event = value;
428
+ break;
429
+ case "data":
430
+ event.data = event.data ? `${event.data}\n${value}` : value;
431
+ break;
432
+ case "retry":
433
+ event.retry = parseInt(value, 10);
434
+ break;
435
+ }
436
+ }
437
+ if (event.data !== void 0) events.push(event);
438
+ }
439
+ return events;
440
+ }
441
+ function getTransportType(config) {
442
+ if (config && typeof config === "object" && "type" in config) {
443
+ const typeValue = config.type;
444
+ if (typeValue === "sse" || typeValue === "websocket" || typeValue === "http-streaming") return typeValue;
445
+ }
446
+ }
447
+ /**
448
+ * Creates a mock transport for testing.
449
+ */
450
+ function createMockTransport(items, delayMs = 0) {
451
+ let connected = false;
452
+ const errorHandlers = /* @__PURE__ */ new Set();
453
+ const closeHandlers = /* @__PURE__ */ new Set();
454
+ return {
455
+ type: "http-streaming",
456
+ connect() {
457
+ return { async *[Symbol.asyncIterator]() {
458
+ connected = true;
459
+ for (const item of items) {
460
+ if (!connected) break;
461
+ if (delayMs > 0) await new Promise((resolve) => setTimeout(resolve, delayMs));
462
+ yield item;
463
+ }
464
+ connected = false;
465
+ } };
466
+ },
467
+ async send(chunk) {},
468
+ async close() {
469
+ connected = false;
470
+ for (const handler of closeHandlers) handler();
471
+ },
472
+ isConnected() {
473
+ return connected;
474
+ },
475
+ onError(handler) {
476
+ errorHandlers.add(handler);
477
+ return () => errorHandlers.delete(handler);
478
+ },
479
+ onClose(handler) {
480
+ closeHandlers.add(handler);
481
+ return () => closeHandlers.delete(handler);
482
+ }
483
+ };
484
+ }
485
+
486
+ //#endregion
487
+ export { createHTTPStreamTransport, createMockTransport, createSSETransport, createTransport, createWebSocketTransport, parseSSEStream };
488
+ //# sourceMappingURL=streaming-infra-transport.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-infra-transport.mjs","names":[],"sources":["../src/streaming/infra/transport/index.ts"],"sourcesContent":["/**\n * Stream Transport Adapters\n *\n * Provides transport adapters for different streaming protocols including\n * Server-Sent Events (SSE), WebSocket, and HTTP streaming.\n *\n * @module @od-oneapp/ai-platform/streaming/infra/transport\n *\n * @example\n * ```typescript\n * import { createSSETransport } from '@od-oneapp/ai-platform/streaming/infra/transport';\n *\n * const transport = createSSETransport({\n * url: 'https://api.example.com/stream',\n * headers: { Authorization: 'Bearer token' }\n * });\n *\n * for await (const chunk of transport.connect()) {\n * console.log('Received:', chunk);\n * }\n * ```\n */\n\n// -----------------------------------------------------------------------------\n// Types\n// -----------------------------------------------------------------------------\n\n/** Transport type enumeration */\nexport type TransportType = 'sse' | 'websocket' | 'http-streaming';\n\n/** Base transport configuration */\nexport interface TransportConfig {\n readonly type: TransportType;\n readonly url?: string;\n readonly headers?: Record<string, string>;\n readonly timeout?: number;\n}\n\n/** Transport adapter interface */\nexport interface TransportAdapter<T> {\n readonly type: TransportType;\n connect(): AsyncIterable<T>;\n send(chunk: T): Promise<void>;\n close(): Promise<void>;\n isConnected(): boolean;\n onError(handler: (error: Error) => void): () => void;\n onClose(handler: () => void): () => void;\n}\n\n/** SSE-specific configuration */\nexport interface SSEConfig extends TransportConfig {\n readonly type: 'sse';\n readonly url: string;\n readonly withCredentials?: boolean;\n readonly eventTypes?: string[];\n readonly reconnectTimeout?: number;\n}\n\n/** WebSocket-specific configuration */\nexport interface WebSocketConfig extends TransportConfig {\n readonly type: 'websocket';\n readonly url: string;\n readonly protocols?: string[];\n readonly binaryType?: 'blob' | 'arraybuffer';\n readonly pingInterval?: number;\n}\n\n/** HTTP streaming configuration */\nexport interface HTTPStreamConfig extends TransportConfig {\n readonly type: 'http-streaming';\n readonly url: string;\n readonly method?: 'GET' | 'POST';\n readonly body?: unknown;\n}\n\n/** SSE event data */\nexport interface SSEEvent {\n readonly id?: string;\n readonly event?: string;\n readonly data: string;\n readonly retry?: number;\n}\n\n/** WebSocket message */\nexport interface WebSocketMessage<T = unknown> {\n readonly type: 'message' | 'binary';\n readonly data: T;\n readonly timestamp: Date;\n}\n\n// -----------------------------------------------------------------------------\n// SSE Transport Implementation\n// -----------------------------------------------------------------------------\n\n/**\n * Creates a Server-Sent Events transport adapter.\n *\n * @example\n * ```typescript\n * const sse = createSSETransport({\n * url: 'https://api.example.com/events',\n * headers: { Authorization: 'Bearer token' },\n * eventTypes: ['message', 'update']\n * });\n *\n * for await (const event of sse.connect()) {\n * console.log(`Event: ${event.event}, Data: ${event.data}`);\n * }\n * ```\n */\nexport function createSSETransport(config: SSEConfig): TransportAdapter<SSEEvent> {\n const {\n url,\n headers = {},\n withCredentials = false,\n eventTypes = ['message'],\n reconnectTimeout = 3000,\n timeout = 30000,\n } = config;\n void reconnectTimeout;\n void timeout;\n\n let controller: AbortController | null = null;\n let connected = false;\n const errorHandlers = new Set<(error: Error) => void>();\n const closeHandlers = new Set<() => void>();\n\n function connect(): AsyncIterable<SSEEvent> {\n return {\n async *[Symbol.asyncIterator]() {\n controller = new AbortController();\n connected = true;\n\n try {\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n Accept: 'text/event-stream',\n 'Cache-Control': 'no-cache',\n ...headers,\n },\n signal: controller.signal,\n credentials: withCredentials ? 'include' : 'same-origin',\n });\n\n if (!response.ok) {\n throw new Error(`SSE connection failed: ${response.status} ${response.statusText}`);\n }\n\n if (!response.body) {\n throw new Error('No response body for SSE stream');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n type MutableSSEEvent = {\n id?: string;\n event?: string;\n data?: string;\n retry?: number;\n };\n let currentEvent: MutableSSEEvent = {};\n\n while (connected) {\n const { done, value } = await reader.read();\n if (done) break;\n\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith(':')) {\n // Comment, ignore\n continue;\n }\n\n if (line === '') {\n // Empty line = end of event\n if (currentEvent.data !== undefined) {\n const eventType = currentEvent.event ?? 'message';\n if (eventTypes.includes(eventType)) {\n yield {\n id: currentEvent.id,\n event: currentEvent.event,\n data: currentEvent.data,\n retry: currentEvent.retry,\n } as SSEEvent;\n }\n }\n currentEvent = {};\n continue;\n }\n\n const colonIndex = line.indexOf(':');\n if (colonIndex === -1) continue;\n\n const field = line.slice(0, colonIndex);\n const value = line.slice(colonIndex + 1).trimStart();\n\n switch (field) {\n case 'id':\n currentEvent.id = value;\n break;\n case 'event':\n currentEvent.event = value;\n break;\n case 'data':\n currentEvent.data = currentEvent.data ? `${currentEvent.data}\\n${value}` : value;\n break;\n case 'retry':\n currentEvent.retry = parseInt(value, 10);\n break;\n }\n }\n }\n } catch (error) {\n if (error instanceof Error && error.name !== 'AbortError') {\n notifyError(error);\n throw error;\n }\n } finally {\n connected = false;\n notifyClose();\n }\n },\n };\n }\n\n async function send(chunk: SSEEvent): Promise<void> {\n void chunk;\n throw new Error('SSE transport is read-only. Use WebSocket for bidirectional communication.');\n }\n\n async function close(): Promise<void> {\n connected = false;\n controller?.abort();\n controller = null;\n notifyClose();\n }\n\n function isConnected(): boolean {\n return connected;\n }\n\n function onError(handler: (error: Error) => void): () => void {\n errorHandlers.add(handler);\n return () => errorHandlers.delete(handler);\n }\n\n function onClose(handler: () => void): () => void {\n closeHandlers.add(handler);\n return () => closeHandlers.delete(handler);\n }\n\n function notifyError(error: Error): void {\n for (const handler of errorHandlers) {\n try {\n handler(error);\n } catch {\n // Ignore handler errors\n }\n }\n }\n\n function notifyClose(): void {\n for (const handler of closeHandlers) {\n try {\n handler();\n } catch {\n // Ignore handler errors\n }\n }\n }\n\n return {\n type: 'sse',\n connect,\n send,\n close,\n isConnected,\n onError,\n onClose,\n };\n}\n\n// -----------------------------------------------------------------------------\n// WebSocket Transport Implementation\n// -----------------------------------------------------------------------------\n\n/**\n * Creates a WebSocket transport adapter.\n *\n * @example\n * ```typescript\n * const ws = createWebSocketTransport({\n * url: 'wss://api.example.com/ws',\n * protocols: ['v1'],\n * pingInterval: 30000\n * });\n *\n * // Bidirectional communication\n * for await (const msg of ws.connect()) {\n * console.log('Received:', msg.data);\n * await ws.send({ type: 'message', data: 'pong', timestamp: new Date() });\n * }\n * ```\n */\nexport function createWebSocketTransport<T = unknown>(\n config: WebSocketConfig,\n): TransportAdapter<WebSocketMessage<T>> {\n const { url, protocols = [], binaryType = 'blob', pingInterval = 30000 } = config;\n\n let socket: WebSocket | null = null;\n let connected = false;\n let pingTimer: NodeJS.Timeout | null = null;\n const errorHandlers = new Set<(error: Error) => void>();\n const closeHandlers = new Set<() => void>();\n const messageQueue: WebSocketMessage<T>[] = [];\n let messageResolver: ((value: IteratorResult<WebSocketMessage<T>, void>) => void) | null = null;\n\n function connect(): AsyncIterable<WebSocketMessage<T>> {\n return {\n async *[Symbol.asyncIterator]() {\n const ws = new WebSocket(url, protocols.length > 0 ? protocols : undefined);\n socket = ws;\n ws.binaryType = binaryType;\n\n const openPromise = new Promise<void>((resolve, reject) => {\n ws.onopen = () => {\n connected = true;\n startPing();\n resolve();\n };\n ws.onerror = event => {\n void event;\n reject(new Error('WebSocket connection error'));\n };\n });\n\n ws.onmessage = event => {\n const message: WebSocketMessage<T> = {\n type: typeof event.data === 'string' ? 'message' : 'binary',\n data: typeof event.data === 'string' ? JSON.parse(event.data) : event.data,\n timestamp: new Date(),\n };\n\n if (messageResolver) {\n messageResolver({ done: false, value: message });\n messageResolver = null;\n } else {\n messageQueue.push(message);\n }\n };\n\n ws.onerror = event => {\n void event;\n notifyError(new Error('WebSocket error'));\n };\n\n ws.onclose = () => {\n connected = false;\n stopPing();\n notifyClose();\n if (messageResolver) {\n messageResolver({ done: true, value: undefined });\n messageResolver = null;\n }\n };\n\n await openPromise;\n\n while (connected || messageQueue.length > 0) {\n if (messageQueue.length > 0) {\n const nextMessage = messageQueue.shift();\n if (nextMessage) {\n yield nextMessage;\n }\n } else if (connected) {\n const message = await new Promise<IteratorResult<WebSocketMessage<T>, void>>(\n resolve => {\n messageResolver = resolve;\n },\n );\n if (message.done) break;\n yield message.value;\n } else {\n break;\n }\n }\n },\n };\n }\n\n async function send(chunk: WebSocketMessage<T>): Promise<void> {\n if (socket?.readyState !== WebSocket.OPEN) {\n throw new Error('WebSocket is not connected');\n }\n\n const data = typeof chunk.data === 'string' ? chunk.data : JSON.stringify(chunk.data);\n\n socket.send(data);\n }\n\n async function close(): Promise<void> {\n connected = false;\n stopPing();\n if (socket) {\n socket.close(1000, 'Normal closure');\n socket = null;\n }\n notifyClose();\n }\n\n function isConnected(): boolean {\n return connected && socket?.readyState === WebSocket.OPEN;\n }\n\n function onError(handler: (error: Error) => void): () => void {\n errorHandlers.add(handler);\n return () => errorHandlers.delete(handler);\n }\n\n function onClose(handler: () => void): () => void {\n closeHandlers.add(handler);\n return () => closeHandlers.delete(handler);\n }\n\n function startPing(): void {\n if (pingInterval <= 0) return;\n\n pingTimer = setInterval(() => {\n if (socket?.readyState === WebSocket.OPEN) {\n socket.send(JSON.stringify({ type: 'ping', timestamp: Date.now() }));\n }\n }, pingInterval);\n }\n\n function stopPing(): void {\n if (pingTimer) {\n clearInterval(pingTimer);\n pingTimer = null;\n }\n }\n\n function notifyError(error: Error): void {\n for (const handler of errorHandlers) {\n try {\n handler(error);\n } catch {\n // Ignore handler errors\n }\n }\n }\n\n function notifyClose(): void {\n for (const handler of closeHandlers) {\n try {\n handler();\n } catch {\n // Ignore handler errors\n }\n }\n }\n\n return {\n type: 'websocket',\n connect,\n send,\n close,\n isConnected,\n onError,\n onClose,\n };\n}\n\n// -----------------------------------------------------------------------------\n// HTTP Streaming Transport Implementation\n// -----------------------------------------------------------------------------\n\n/**\n * Creates an HTTP streaming transport adapter.\n *\n * @example\n * ```typescript\n * const http = createHTTPStreamTransport({\n * url: 'https://api.example.com/stream',\n * method: 'POST',\n * body: { prompt: 'Hello' },\n * headers: { 'Content-Type': 'application/json' }\n * });\n *\n * for await (const chunk of http.connect()) {\n * process.stdout.write(chunk);\n * }\n * ```\n */\nexport function createHTTPStreamTransport(config: HTTPStreamConfig): TransportAdapter<string> {\n const { url, method = 'GET', headers = {}, body, timeout = 60000 } = config;\n\n let controller: AbortController | null = null;\n let connected = false;\n const errorHandlers = new Set<(error: Error) => void>();\n const closeHandlers = new Set<() => void>();\n\n function connect(): AsyncIterable<string> {\n return {\n async *[Symbol.asyncIterator]() {\n controller = new AbortController();\n connected = true;\n\n // Set up timeout\n const timeoutId = setTimeout(() => {\n controller?.abort();\n }, timeout);\n\n try {\n const response = await fetch(url, {\n method,\n headers: {\n Accept: 'text/plain, application/octet-stream',\n ...headers,\n },\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n throw new Error(`HTTP stream failed: ${response.status} ${response.statusText}`);\n }\n\n if (!response.body) {\n throw new Error('No response body for HTTP stream');\n }\n\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n\n while (connected) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const chunk = decoder.decode(value, { stream: true });\n if (chunk) {\n yield chunk;\n }\n }\n\n // Flush remaining bytes\n const final = decoder.decode();\n if (final) {\n yield final;\n }\n } catch (error) {\n clearTimeout(timeoutId);\n if (error instanceof Error && error.name !== 'AbortError') {\n notifyError(error);\n throw error;\n }\n } finally {\n connected = false;\n notifyClose();\n }\n },\n };\n }\n\n async function send(chunk: string): Promise<void> {\n void chunk;\n throw new Error(\n 'HTTP streaming transport is read-only. Use WebSocket for bidirectional communication.',\n );\n }\n\n async function close(): Promise<void> {\n connected = false;\n controller?.abort();\n controller = null;\n notifyClose();\n }\n\n function isConnected(): boolean {\n return connected;\n }\n\n function onError(handler: (error: Error) => void): () => void {\n errorHandlers.add(handler);\n return () => errorHandlers.delete(handler);\n }\n\n function onClose(handler: () => void): () => void {\n closeHandlers.add(handler);\n return () => closeHandlers.delete(handler);\n }\n\n function notifyError(error: Error): void {\n for (const handler of errorHandlers) {\n try {\n handler(error);\n } catch {\n // Ignore handler errors\n }\n }\n }\n\n function notifyClose(): void {\n for (const handler of closeHandlers) {\n try {\n handler();\n } catch {\n // Ignore handler errors\n }\n }\n }\n\n return {\n type: 'http-streaming',\n connect,\n send,\n close,\n isConnected,\n onError,\n onClose,\n };\n}\n\n// -----------------------------------------------------------------------------\n// Factory Function\n// -----------------------------------------------------------------------------\n\n/**\n * Creates a transport adapter based on configuration.\n *\n * @example\n * ```typescript\n * const transport = createTransport({\n * type: 'sse',\n * url: 'https://api.example.com/events'\n * });\n * ```\n */\nexport function createTransport<T = unknown>(\n config: SSEConfig | WebSocketConfig | HTTPStreamConfig,\n): TransportAdapter<T> {\n const transportType = getTransportType(config);\n\n if (!transportType) {\n throw new Error('Transport type is required');\n }\n\n switch (transportType) {\n case 'sse':\n return createSSETransport(config as SSEConfig) as TransportAdapter<T>;\n case 'websocket':\n return createWebSocketTransport(config as WebSocketConfig) as TransportAdapter<T>;\n case 'http-streaming':\n return createHTTPStreamTransport(config as HTTPStreamConfig) as TransportAdapter<T>;\n }\n}\n\n// -----------------------------------------------------------------------------\n// Utilities\n// -----------------------------------------------------------------------------\n\n/**\n * Parses SSE data from a raw text stream.\n */\nexport function parseSSEStream(text: string): SSEEvent[] {\n const events: SSEEvent[] = [];\n const blocks = text.split('\\n\\n');\n\n for (const block of blocks) {\n if (!block.trim()) continue;\n\n const event: { id?: string; event?: string; data?: string; retry?: number } = {};\n const lines = block.split('\\n');\n\n for (const line of lines) {\n if (line.startsWith(':')) continue;\n\n const colonIndex = line.indexOf(':');\n if (colonIndex === -1) continue;\n\n const field = line.slice(0, colonIndex);\n const value = line.slice(colonIndex + 1).trimStart();\n\n switch (field) {\n case 'id':\n event.id = value;\n break;\n case 'event':\n event.event = value;\n break;\n case 'data':\n event.data = event.data ? `${event.data}\\n${value}` : value;\n break;\n case 'retry':\n event.retry = parseInt(value, 10);\n break;\n }\n }\n\n if (event.data !== undefined) {\n events.push(event as SSEEvent);\n }\n }\n\n return events;\n}\n\nfunction getTransportType(\n config: SSEConfig | WebSocketConfig | HTTPStreamConfig,\n): TransportType | undefined {\n if (config && typeof config === 'object' && 'type' in config) {\n const typeValue = (config as { type?: unknown }).type;\n if (typeValue === 'sse' || typeValue === 'websocket' || typeValue === 'http-streaming') {\n return typeValue;\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a mock transport for testing.\n */\nexport function createMockTransport<T>(items: T[], delayMs: number = 0): TransportAdapter<T> {\n let connected = false;\n const errorHandlers = new Set<(error: Error) => void>();\n const closeHandlers = new Set<() => void>();\n\n return {\n type: 'http-streaming',\n connect() {\n return {\n async *[Symbol.asyncIterator]() {\n connected = true;\n for (const item of items) {\n if (!connected) break;\n if (delayMs > 0) {\n await new Promise(resolve => setTimeout(resolve, delayMs));\n }\n yield item;\n }\n connected = false;\n },\n };\n },\n async send(chunk: T) {\n void chunk;\n // Mock send - no-op\n },\n async close() {\n connected = false;\n for (const handler of closeHandlers) {\n handler();\n }\n },\n isConnected() {\n return connected;\n },\n onError(handler) {\n errorHandlers.add(handler);\n return () => errorHandlers.delete(handler);\n },\n onClose(handler) {\n closeHandlers.add(handler);\n return () => closeHandlers.delete(handler);\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { n as RedisClientExtended } from "./types-By-r93bE.mjs";
2
+ import { _ as StreamPipelineConfig, a as batchChunks, b as TextDeltaChunk, c as filterChunks, d as throttleChunks, f as FinishChunk, g as StreamMetrics, h as StreamController, i as accumulateText, l as mapChunks, m as StreamChunkType, n as BoundedBufferOptions, o as composeTransforms, p as StreamChunk, r as OverflowStrategy, s as debounceChunks, t as BoundedBuffer, u as reportProgress, v as StreamState, x as ToolCallDeltaChunk, y as StreamTransform } from "./buffer-BC8mvXHE.mjs";
3
+ import { CircuitBreakerConfig, CircuitState, ResumableStreamOptions, RetryConfig, SequencedChunk, StreamCheckpoint, StreamToolCall, createCircuitBreaker, createResumableStream, createStreamCheckpointStore, createStreamRetry } from "./streaming-infra-resilience.mjs";
4
+ import { HTTPStreamConfig, SSEConfig, SSEEvent, TransportAdapter, TransportConfig, TransportType, WebSocketConfig, WebSocketMessage, createHTTPStreamTransport, createMockTransport, createSSETransport, createTransport, createWebSocketTransport, parseSSEStream } from "./streaming-infra-transport.mjs";
5
+ export { BoundedBuffer, type BoundedBufferOptions, type CircuitBreakerConfig, type CircuitState, type FinishChunk, type HTTPStreamConfig, type OverflowStrategy, type RedisClientExtended as RedisClient, type ResumableStreamOptions, type RetryConfig, type SSEConfig, type SSEEvent, type SequencedChunk, type StreamCheckpoint, type StreamChunk, type StreamChunkType, type StreamController, type StreamMetrics, type StreamPipelineConfig, type StreamState, type StreamToolCall, type StreamTransform, type TextDeltaChunk, type ToolCallDeltaChunk, type TransportAdapter, type TransportConfig, type TransportType, type WebSocketConfig, type WebSocketMessage, accumulateText, batchChunks, composeTransforms, createCircuitBreaker, createHTTPStreamTransport, createMockTransport, createResumableStream, createSSETransport, createStreamCheckpointStore, createStreamRetry, createTransport, createWebSocketTransport, debounceChunks, filterChunks, mapChunks, parseSSEStream, reportProgress, throttleChunks };
@@ -0,0 +1,5 @@
1
+ import { a as debounceChunks, c as reportProgress, i as composeTransforms, l as throttleChunks, n as accumulateText, o as filterChunks, r as batchChunks, s as mapChunks, t as BoundedBuffer } from "./buffer-CefJGbRy.mjs";
2
+ import { createCircuitBreaker, createResumableStream, createStreamCheckpointStore, createStreamRetry } from "./streaming-infra-resilience.mjs";
3
+ import { createHTTPStreamTransport, createMockTransport, createSSETransport, createTransport, createWebSocketTransport, parseSSEStream } from "./streaming-infra-transport.mjs";
4
+
5
+ export { BoundedBuffer, accumulateText, batchChunks, composeTransforms, createCircuitBreaker, createHTTPStreamTransport, createMockTransport, createResumableStream, createSSETransport, createStreamCheckpointStore, createStreamRetry, createTransport, createWebSocketTransport, debounceChunks, filterChunks, mapChunks, parseSSEStream, reportProgress, throttleChunks };
@@ -0,0 +1,17 @@
1
+ import "./ai-runtime-DIwOEc6g.mjs";
2
+ import { n as RedisClientExtended } from "./types-By-r93bE.mjs";
3
+ import { _ as StreamPartType, a as AnyStreamPart, c as CodeDeltaStreamPart, d as FinishStreamPart, f as IdStreamPart, g as StreamPart, h as StatusStreamPart, i as streamArtifact, l as CustomUIDataTypes, m as ProgressStreamPart, n as createArtifactStreamWriter, o as ArtifactStreamWriter, p as KindStreamPart, r as createBufferedStreamWriter, s as ClearStreamPart, t as DataStreamWriter, u as ErrorStreamPart, v as TextDeltaStreamPart, y as TitleStreamPart } from "./protocol-DfBiEsnl.mjs";
4
+ import { C as createParallelStep, D as executeMultiStepStream, E as createToolStep, S as createMultiStepStreamResponse, T as createTextStep, _ as MultiStepWriter, a as ResumeMessage, b as createConditionalStep, c as buildContinuationPrompt, d as createInMemoryStorage, f as createStreamStateTracker, g as MultiStepStreamOptions, h as MultiStepStreamEvent, i as ResumeDetectionResult, l as createAutoResume, m as restoreDataStreamMessages, n as AutoResumeHandler, o as ResumeStorage, p as detectResumeState, r as PendingToolCall, s as StreamResumeState, t as AutoResumeConfig, u as createExternalStorage, v as StepDefinition, w as createStepPipeline, x as createMultiStepStream, y as chainSteps } from "./auto-resume-BpUNbPtp.mjs";
5
+ import "./streaming-core.mjs";
6
+ import { C as SmoothStreamConfig, D as StreamController$1, E as StepLimitConfig, O as StreamControllerConfig, S as CostEntry, T as StepCounter, _ as createBudgetGuardedOnFinish, a as createSmoothStreamTransform, b as BudgetGuardConfig, c as withSmoothStream, d as createStepLimitCondition, f as withStepLimit, g as createBudgetChecker, h as calculateCost, i as mergeStreamConfigs, k as TokenUsage, l as StepLimitExceededError, m as OnFinishResult, n as createProdStreamController, o as smoothTextGenerator, p as DEFAULT_COST_TABLE, r as createStreamController, s as splitIntoChunks, t as createDevStreamController, u as createStepCounter, v as estimateCost, w as SmoothStreamTransform, x as BudgetLimit, y as BudgetCheckResult } from "./controller-Y0NGosbJ.mjs";
7
+ import { _ as StreamPipelineConfig, a as batchChunks, b as TextDeltaChunk, c as filterChunks, d as throttleChunks, f as FinishChunk, g as StreamMetrics, h as StreamController, i as accumulateText, l as mapChunks, m as StreamChunkType, n as BoundedBufferOptions, o as composeTransforms, p as StreamChunk, r as OverflowStrategy, s as debounceChunks, t as BoundedBuffer, u as reportProgress, v as StreamState, x as ToolCallDeltaChunk, y as StreamTransform } from "./buffer-BC8mvXHE.mjs";
8
+ import { CircuitBreakerConfig, CircuitState, ResumableStreamOptions, RetryConfig, SequencedChunk, StreamCheckpoint, StreamToolCall, createCircuitBreaker, createResumableStream, createStreamCheckpointStore, createStreamRetry } from "./streaming-infra-resilience.mjs";
9
+ import { HTTPStreamConfig, SSEConfig, SSEEvent, TransportAdapter, TransportConfig, TransportType, WebSocketConfig, WebSocketMessage, createHTTPStreamTransport, createMockTransport, createSSETransport, createTransport, createWebSocketTransport, parseSSEStream } from "./streaming-infra-transport.mjs";
10
+
11
+ //#region src/streaming/index.d.ts
12
+ declare namespace index_d_exports {
13
+ export { AnyStreamPart, ArtifactStreamWriter, AutoResumeConfig, AutoResumeHandler, BoundedBuffer, BoundedBufferOptions, BudgetCheckResult, BudgetGuardConfig, BudgetLimit, CircuitBreakerConfig, CircuitState, ClearStreamPart, CodeDeltaStreamPart, CostEntry, CustomUIDataTypes, DEFAULT_COST_TABLE, DataStreamWriter, ErrorStreamPart, FinishChunk, FinishStreamPart, HTTPStreamConfig, IdStreamPart, StreamController as InfraStreamController, KindStreamPart, MultiStepStreamEvent, MultiStepStreamOptions, MultiStepWriter, OnFinishResult, OverflowStrategy, PendingToolCall, ProgressStreamPart, RedisClientExtended as RedisClient, ResumableStreamOptions, ResumeDetectionResult, ResumeMessage, ResumeStorage, RetryConfig, SSEConfig, SSEEvent, SequencedChunk, SmoothStreamConfig, SmoothStreamTransform, StatusStreamPart, StepCounter, StepDefinition, StepLimitConfig, StepLimitExceededError, StreamCheckpoint, StreamChunk, StreamChunkType, StreamController$1 as StreamController, StreamControllerConfig, StreamMetrics, StreamPart, StreamPartType, StreamPipelineConfig, StreamResumeState, StreamState, StreamToolCall, StreamTransform, TextDeltaChunk, TextDeltaStreamPart, TitleStreamPart, TokenUsage, ToolCallDeltaChunk, TransportAdapter, TransportConfig, TransportType, WebSocketConfig, WebSocketMessage, accumulateText, batchChunks, buildContinuationPrompt, calculateCost, chainSteps, composeTransforms, createArtifactStreamWriter, createAutoResume, createBudgetChecker, createBudgetGuardedOnFinish, createBufferedStreamWriter, createCircuitBreaker, createConditionalStep, createDevStreamController, createExternalStorage, createHTTPStreamTransport, createInMemoryStorage, createMockTransport, createMultiStepStream, createMultiStepStreamResponse, createParallelStep, createProdStreamController, createResumableStream, createSSETransport, createSmoothStreamTransform, createStepCounter, createStepLimitCondition, createStepPipeline, createStreamCheckpointStore, createStreamController, createStreamRetry, createStreamStateTracker, createTextStep, createToolStep, createTransport, createWebSocketTransport, debounceChunks, detectResumeState, estimateCost, executeMultiStepStream, filterChunks, mapChunks, mergeStreamConfigs, parseSSEStream, reportProgress, restoreDataStreamMessages, smoothTextGenerator, splitIntoChunks, streamArtifact, throttleChunks, withSmoothStream, withStepLimit };
14
+ }
15
+ //#endregion
16
+ export { AnyStreamPart, ArtifactStreamWriter, AutoResumeConfig, AutoResumeHandler, BoundedBuffer, type BoundedBufferOptions, type BudgetCheckResult, type BudgetGuardConfig, type BudgetLimit, type CircuitBreakerConfig, type CircuitState, ClearStreamPart, CodeDeltaStreamPart, type CostEntry, CustomUIDataTypes, DEFAULT_COST_TABLE, DataStreamWriter, ErrorStreamPart, type FinishChunk, FinishStreamPart, type HTTPStreamConfig, IdStreamPart, type StreamController as InfraStreamController, KindStreamPart, MultiStepStreamEvent, MultiStepStreamOptions, MultiStepWriter, type OnFinishResult, type OverflowStrategy, PendingToolCall, ProgressStreamPart, type RedisClientExtended as RedisClient, type ResumableStreamOptions, ResumeDetectionResult, ResumeMessage, ResumeStorage, type RetryConfig, type SSEConfig, type SSEEvent, type SequencedChunk, type SmoothStreamConfig, type SmoothStreamTransform, StatusStreamPart, type StepCounter, StepDefinition, type StepLimitConfig, StepLimitExceededError, type StreamCheckpoint, type StreamChunk, type StreamChunkType, type StreamController$1 as StreamController, type StreamControllerConfig, type StreamMetrics, StreamPart, StreamPartType, type StreamPipelineConfig, StreamResumeState, type StreamState, type StreamToolCall, type StreamTransform, type TextDeltaChunk, TextDeltaStreamPart, TitleStreamPart, type TokenUsage, type ToolCallDeltaChunk, type TransportAdapter, type TransportConfig, type TransportType, type WebSocketConfig, type WebSocketMessage, accumulateText, batchChunks, buildContinuationPrompt, calculateCost, chainSteps, composeTransforms, createArtifactStreamWriter, createAutoResume, createBudgetChecker, createBudgetGuardedOnFinish, createBufferedStreamWriter, createCircuitBreaker, createConditionalStep, createDevStreamController, createExternalStorage, createHTTPStreamTransport, createInMemoryStorage, createMockTransport, createMultiStepStream, createMultiStepStreamResponse, createParallelStep, createProdStreamController, createResumableStream, createSSETransport, createSmoothStreamTransform, createStepCounter, createStepLimitCondition, createStepPipeline, createStreamCheckpointStore, createStreamController, createStreamRetry, createStreamStateTracker, createTextStep, createToolStep, createTransport, createWebSocketTransport, debounceChunks, detectResumeState, estimateCost, executeMultiStepStream, filterChunks, mapChunks, mergeStreamConfigs, parseSSEStream, reportProgress, restoreDataStreamMessages, smoothTextGenerator, splitIntoChunks, streamArtifact, index_d_exports as t, throttleChunks, withSmoothStream, withStepLimit };
17
+ //# sourceMappingURL=streaming.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.mts","names":[],"sources":["../src/streaming/index.ts"],"mappings":""}