@rudderjs/ai 1.17.3 → 1.18.1

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 (377) hide show
  1. package/README.md +19 -1274
  2. package/dist/budget-orm/index.d.ts +1 -95
  3. package/dist/budget-orm/index.d.ts.map +1 -1
  4. package/dist/budget-orm/index.js +4 -176
  5. package/dist/budget-orm/index.js.map +1 -1
  6. package/dist/chat-mentions.d.ts +1 -58
  7. package/dist/chat-mentions.d.ts.map +1 -1
  8. package/dist/chat-mentions.js +4 -80
  9. package/dist/chat-mentions.js.map +1 -1
  10. package/dist/commands/ai-eval.d.ts +1 -92
  11. package/dist/commands/ai-eval.d.ts.map +1 -1
  12. package/dist/commands/ai-eval.js +4 -377
  13. package/dist/commands/ai-eval.js.map +1 -1
  14. package/dist/commands/make-agent.d.ts +1 -2
  15. package/dist/commands/make-agent.d.ts.map +1 -1
  16. package/dist/commands/make-agent.js +4 -22
  17. package/dist/commands/make-agent.js.map +1 -1
  18. package/dist/computer-use/index.d.ts +1 -52
  19. package/dist/computer-use/index.d.ts.map +1 -1
  20. package/dist/computer-use/index.js +4 -50
  21. package/dist/computer-use/index.js.map +1 -1
  22. package/dist/conversation-orm/index.d.ts +1 -108
  23. package/dist/conversation-orm/index.d.ts.map +1 -1
  24. package/dist/conversation-orm/index.js +4 -214
  25. package/dist/conversation-orm/index.js.map +1 -1
  26. package/dist/doctor.d.ts +1 -1
  27. package/dist/doctor.d.ts.map +1 -1
  28. package/dist/doctor.js +4 -65
  29. package/dist/doctor.js.map +1 -1
  30. package/dist/eval/index.d.ts +1 -270
  31. package/dist/eval/index.d.ts.map +1 -1
  32. package/dist/eval/index.js +4 -509
  33. package/dist/eval/index.js.map +1 -1
  34. package/dist/gateway/index.d.ts +1 -10
  35. package/dist/gateway/index.d.ts.map +1 -1
  36. package/dist/gateway/index.js +4 -10
  37. package/dist/gateway/index.js.map +1 -1
  38. package/dist/index.d.ts +1 -66
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -78
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp/index.d.ts +1 -15
  43. package/dist/mcp/index.d.ts.map +1 -1
  44. package/dist/mcp/index.js +4 -14
  45. package/dist/mcp/index.js.map +1 -1
  46. package/dist/memory-embedding/index.d.ts +1 -120
  47. package/dist/memory-embedding/index.d.ts.map +1 -1
  48. package/dist/memory-embedding/index.js +4 -228
  49. package/dist/memory-embedding/index.js.map +1 -1
  50. package/dist/memory-orm/index.d.ts +1 -117
  51. package/dist/memory-orm/index.d.ts.map +1 -1
  52. package/dist/memory-orm/index.js +4 -186
  53. package/dist/memory-orm/index.js.map +1 -1
  54. package/dist/node/index.d.ts +1 -2
  55. package/dist/node/index.d.ts.map +1 -1
  56. package/dist/node/index.js +4 -2
  57. package/dist/node/index.js.map +1 -1
  58. package/dist/observers.d.ts +1 -129
  59. package/dist/observers.d.ts.map +1 -1
  60. package/dist/observers.js +4 -39
  61. package/dist/observers.js.map +1 -1
  62. package/dist/react/index.d.ts +1 -15
  63. package/dist/react/index.d.ts.map +1 -1
  64. package/dist/react/index.js +4 -15
  65. package/dist/react/index.js.map +1 -1
  66. package/dist/server/index.d.ts +1 -1
  67. package/dist/server/index.d.ts.map +1 -1
  68. package/dist/server/index.js +4 -1
  69. package/dist/server/index.js.map +1 -1
  70. package/package.json +9 -13
  71. package/boost/guidelines.md +0 -260
  72. package/boost/skills/ai-agents/SKILL.md +0 -240
  73. package/boost/skills/ai-tools/SKILL.md +0 -260
  74. package/dist/agent-run-store.d.ts +0 -161
  75. package/dist/agent-run-store.d.ts.map +0 -1
  76. package/dist/agent-run-store.js +0 -98
  77. package/dist/agent-run-store.js.map +0 -1
  78. package/dist/agent-sse.d.ts +0 -153
  79. package/dist/agent-sse.d.ts.map +0 -1
  80. package/dist/agent-sse.js +0 -282
  81. package/dist/agent-sse.js.map +0 -1
  82. package/dist/agent.d.ts +0 -508
  83. package/dist/agent.d.ts.map +0 -1
  84. package/dist/agent.js +0 -1538
  85. package/dist/agent.js.map +0 -1
  86. package/dist/attachment.d.ts +0 -31
  87. package/dist/attachment.d.ts.map +0 -1
  88. package/dist/attachment.js +0 -89
  89. package/dist/attachment.js.map +0 -1
  90. package/dist/audio.d.ts +0 -45
  91. package/dist/audio.d.ts.map +0 -1
  92. package/dist/audio.js +0 -93
  93. package/dist/audio.js.map +0 -1
  94. package/dist/base64.d.ts +0 -7
  95. package/dist/base64.d.ts.map +0 -1
  96. package/dist/base64.js +0 -39
  97. package/dist/base64.js.map +0 -1
  98. package/dist/budget/pricing.d.ts +0 -124
  99. package/dist/budget/pricing.d.ts.map +0 -1
  100. package/dist/budget/pricing.js +0 -175
  101. package/dist/budget/pricing.js.map +0 -1
  102. package/dist/budget/storage.d.ts +0 -104
  103. package/dist/budget/storage.d.ts.map +0 -1
  104. package/dist/budget/storage.js +0 -0
  105. package/dist/budget/storage.js.map +0 -1
  106. package/dist/budget/with-budget.d.ts +0 -119
  107. package/dist/budget/with-budget.d.ts.map +0 -1
  108. package/dist/budget/with-budget.js +0 -175
  109. package/dist/budget/with-budget.js.map +0 -1
  110. package/dist/cached-embedding.d.ts +0 -14
  111. package/dist/cached-embedding.d.ts.map +0 -1
  112. package/dist/cached-embedding.js +0 -44
  113. package/dist/cached-embedding.js.map +0 -1
  114. package/dist/computer-use/actions.d.ts +0 -214
  115. package/dist/computer-use/actions.d.ts.map +0 -1
  116. package/dist/computer-use/actions.js +0 -48
  117. package/dist/computer-use/actions.js.map +0 -1
  118. package/dist/computer-use/errors.d.ts +0 -57
  119. package/dist/computer-use/errors.d.ts.map +0 -1
  120. package/dist/computer-use/errors.js +0 -76
  121. package/dist/computer-use/errors.js.map +0 -1
  122. package/dist/computer-use/playwright.d.ts +0 -76
  123. package/dist/computer-use/playwright.d.ts.map +0 -1
  124. package/dist/computer-use/playwright.js +0 -270
  125. package/dist/computer-use/playwright.js.map +0 -1
  126. package/dist/computer-use/tool.d.ts +0 -154
  127. package/dist/computer-use/tool.d.ts.map +0 -1
  128. package/dist/computer-use/tool.js +0 -210
  129. package/dist/computer-use/tool.js.map +0 -1
  130. package/dist/continuation-validation.d.ts +0 -85
  131. package/dist/continuation-validation.d.ts.map +0 -1
  132. package/dist/continuation-validation.js +0 -166
  133. package/dist/continuation-validation.js.map +0 -1
  134. package/dist/conversation-persistence.d.ts +0 -46
  135. package/dist/conversation-persistence.d.ts.map +0 -1
  136. package/dist/conversation-persistence.js +0 -176
  137. package/dist/conversation-persistence.js.map +0 -1
  138. package/dist/conversation.d.ts +0 -11
  139. package/dist/conversation.d.ts.map +0 -1
  140. package/dist/conversation.js +0 -55
  141. package/dist/conversation.js.map +0 -1
  142. package/dist/eval/fixtures.d.ts +0 -65
  143. package/dist/eval/fixtures.d.ts.map +0 -1
  144. package/dist/eval/fixtures.js +0 -110
  145. package/dist/eval/fixtures.js.map +0 -1
  146. package/dist/eval/html-reporter.d.ts +0 -25
  147. package/dist/eval/html-reporter.d.ts.map +0 -1
  148. package/dist/eval/html-reporter.js +0 -209
  149. package/dist/eval/html-reporter.js.map +0 -1
  150. package/dist/eval/json-reporter.d.ts +0 -43
  151. package/dist/eval/json-reporter.d.ts.map +0 -1
  152. package/dist/eval/json-reporter.js +0 -40
  153. package/dist/eval/json-reporter.js.map +0 -1
  154. package/dist/facade.d.ts +0 -96
  155. package/dist/facade.d.ts.map +0 -1
  156. package/dist/facade.js +0 -146
  157. package/dist/facade.js.map +0 -1
  158. package/dist/fake.d.ts +0 -201
  159. package/dist/fake.d.ts.map +0 -1
  160. package/dist/fake.js +0 -428
  161. package/dist/fake.js.map +0 -1
  162. package/dist/file-search.d.ts +0 -168
  163. package/dist/file-search.d.ts.map +0 -1
  164. package/dist/file-search.js +0 -158
  165. package/dist/file-search.js.map +0 -1
  166. package/dist/files.d.ts +0 -27
  167. package/dist/files.d.ts.map +0 -1
  168. package/dist/files.js +0 -44
  169. package/dist/files.js.map +0 -1
  170. package/dist/gateway/http-gateway-adapter.d.ts +0 -94
  171. package/dist/gateway/http-gateway-adapter.d.ts.map +0 -1
  172. package/dist/gateway/http-gateway-adapter.js +0 -106
  173. package/dist/gateway/http-gateway-adapter.js.map +0 -1
  174. package/dist/gateway/sse.d.ts +0 -28
  175. package/dist/gateway/sse.d.ts.map +0 -1
  176. package/dist/gateway/sse.js +0 -78
  177. package/dist/gateway/sse.js.map +0 -1
  178. package/dist/handoff.d.ts +0 -95
  179. package/dist/handoff.d.ts.map +0 -1
  180. package/dist/handoff.js +0 -78
  181. package/dist/handoff.js.map +0 -1
  182. package/dist/handoffs-driver.d.ts +0 -58
  183. package/dist/handoffs-driver.d.ts.map +0 -1
  184. package/dist/handoffs-driver.js +0 -103
  185. package/dist/handoffs-driver.js.map +0 -1
  186. package/dist/image.d.ts +0 -40
  187. package/dist/image.d.ts.map +0 -1
  188. package/dist/image.js +0 -109
  189. package/dist/image.js.map +0 -1
  190. package/dist/mcp/client-tools.d.ts +0 -39
  191. package/dist/mcp/client-tools.d.ts.map +0 -1
  192. package/dist/mcp/client-tools.js +0 -147
  193. package/dist/mcp/client-tools.js.map +0 -1
  194. package/dist/mcp/server-from-agent.d.ts +0 -24
  195. package/dist/mcp/server-from-agent.d.ts.map +0 -1
  196. package/dist/mcp/server-from-agent.js +0 -113
  197. package/dist/mcp/server-from-agent.js.map +0 -1
  198. package/dist/mcp/types.d.ts +0 -64
  199. package/dist/mcp/types.d.ts.map +0 -1
  200. package/dist/mcp/types.js +0 -6
  201. package/dist/mcp/types.js.map +0 -1
  202. package/dist/memory-extract.d.ts +0 -60
  203. package/dist/memory-extract.d.ts.map +0 -1
  204. package/dist/memory-extract.js +0 -163
  205. package/dist/memory-extract.js.map +0 -1
  206. package/dist/memory-inject.d.ts +0 -39
  207. package/dist/memory-inject.d.ts.map +0 -1
  208. package/dist/memory-inject.js +0 -135
  209. package/dist/memory-inject.js.map +0 -1
  210. package/dist/memory.d.ts +0 -55
  211. package/dist/memory.d.ts.map +0 -1
  212. package/dist/memory.js +0 -132
  213. package/dist/memory.js.map +0 -1
  214. package/dist/middleware.d.ts +0 -18
  215. package/dist/middleware.d.ts.map +0 -1
  216. package/dist/middleware.js +0 -72
  217. package/dist/middleware.js.map +0 -1
  218. package/dist/node/attachment.d.ts +0 -6
  219. package/dist/node/attachment.d.ts.map +0 -1
  220. package/dist/node/attachment.js +0 -35
  221. package/dist/node/attachment.js.map +0 -1
  222. package/dist/node/transcription.d.ts +0 -4
  223. package/dist/node/transcription.d.ts.map +0 -1
  224. package/dist/node/transcription.js +0 -8
  225. package/dist/node/transcription.js.map +0 -1
  226. package/dist/output.d.ts +0 -22
  227. package/dist/output.d.ts.map +0 -1
  228. package/dist/output.js +0 -60
  229. package/dist/output.js.map +0 -1
  230. package/dist/provider-tools.d.ts +0 -87
  231. package/dist/provider-tools.d.ts.map +0 -1
  232. package/dist/provider-tools.js +0 -189
  233. package/dist/provider-tools.js.map +0 -1
  234. package/dist/providers/anthropic.d.ts +0 -24
  235. package/dist/providers/anthropic.d.ts.map +0 -1
  236. package/dist/providers/anthropic.js +0 -405
  237. package/dist/providers/anthropic.js.map +0 -1
  238. package/dist/providers/azure.d.ts +0 -13
  239. package/dist/providers/azure.d.ts.map +0 -1
  240. package/dist/providers/azure.js +0 -15
  241. package/dist/providers/azure.js.map +0 -1
  242. package/dist/providers/bedrock.d.ts +0 -75
  243. package/dist/providers/bedrock.d.ts.map +0 -1
  244. package/dist/providers/bedrock.js +0 -181
  245. package/dist/providers/bedrock.js.map +0 -1
  246. package/dist/providers/cohere.d.ts +0 -13
  247. package/dist/providers/cohere.d.ts.map +0 -1
  248. package/dist/providers/cohere.js +0 -87
  249. package/dist/providers/cohere.js.map +0 -1
  250. package/dist/providers/deepseek.d.ts +0 -12
  251. package/dist/providers/deepseek.d.ts.map +0 -1
  252. package/dist/providers/deepseek.js +0 -15
  253. package/dist/providers/deepseek.js.map +0 -1
  254. package/dist/providers/elevenlabs.d.ts +0 -98
  255. package/dist/providers/elevenlabs.d.ts.map +0 -1
  256. package/dist/providers/elevenlabs.js +0 -229
  257. package/dist/providers/elevenlabs.js.map +0 -1
  258. package/dist/providers/google-cache-registry.d.ts +0 -132
  259. package/dist/providers/google-cache-registry.d.ts.map +0 -1
  260. package/dist/providers/google-cache-registry.js +0 -209
  261. package/dist/providers/google-cache-registry.js.map +0 -1
  262. package/dist/providers/google.d.ts +0 -38
  263. package/dist/providers/google.d.ts.map +0 -1
  264. package/dist/providers/google.js +0 -903
  265. package/dist/providers/google.js.map +0 -1
  266. package/dist/providers/groq.d.ts +0 -12
  267. package/dist/providers/groq.d.ts.map +0 -1
  268. package/dist/providers/groq.js +0 -15
  269. package/dist/providers/groq.js.map +0 -1
  270. package/dist/providers/jina.d.ts +0 -13
  271. package/dist/providers/jina.d.ts.map +0 -1
  272. package/dist/providers/jina.js +0 -90
  273. package/dist/providers/jina.js.map +0 -1
  274. package/dist/providers/mistral.d.ts +0 -13
  275. package/dist/providers/mistral.d.ts.map +0 -1
  276. package/dist/providers/mistral.js +0 -46
  277. package/dist/providers/mistral.js.map +0 -1
  278. package/dist/providers/ollama.d.ts +0 -11
  279. package/dist/providers/ollama.d.ts.map +0 -1
  280. package/dist/providers/ollama.js +0 -15
  281. package/dist/providers/ollama.js.map +0 -1
  282. package/dist/providers/openai.d.ts +0 -79
  283. package/dist/providers/openai.d.ts.map +0 -1
  284. package/dist/providers/openai.js +0 -792
  285. package/dist/providers/openai.js.map +0 -1
  286. package/dist/providers/openrouter.d.ts +0 -43
  287. package/dist/providers/openrouter.d.ts.map +0 -1
  288. package/dist/providers/openrouter.js +0 -21
  289. package/dist/providers/openrouter.js.map +0 -1
  290. package/dist/providers/voyage.d.ts +0 -91
  291. package/dist/providers/voyage.d.ts.map +0 -1
  292. package/dist/providers/voyage.js +0 -166
  293. package/dist/providers/voyage.js.map +0 -1
  294. package/dist/providers/xai.d.ts +0 -12
  295. package/dist/providers/xai.d.ts.map +0 -1
  296. package/dist/providers/xai.js +0 -15
  297. package/dist/providers/xai.js.map +0 -1
  298. package/dist/queue-job.d.ts +0 -100
  299. package/dist/queue-job.d.ts.map +0 -1
  300. package/dist/queue-job.js +0 -185
  301. package/dist/queue-job.js.map +0 -1
  302. package/dist/react/agent-run.d.ts +0 -111
  303. package/dist/react/agent-run.d.ts.map +0 -1
  304. package/dist/react/agent-run.js +0 -107
  305. package/dist/react/agent-run.js.map +0 -1
  306. package/dist/react/useAgentRun.d.ts +0 -68
  307. package/dist/react/useAgentRun.d.ts.map +0 -1
  308. package/dist/react/useAgentRun.js +0 -125
  309. package/dist/react/useAgentRun.js.map +0 -1
  310. package/dist/registry.d.ts +0 -45
  311. package/dist/registry.d.ts.map +0 -1
  312. package/dist/registry.js +0 -131
  313. package/dist/registry.js.map +0 -1
  314. package/dist/rerank.d.ts +0 -20
  315. package/dist/rerank.d.ts.map +0 -1
  316. package/dist/rerank.js +0 -40
  317. package/dist/rerank.js.map +0 -1
  318. package/dist/resume-approval.d.ts +0 -30
  319. package/dist/resume-approval.d.ts.map +0 -1
  320. package/dist/resume-approval.js +0 -147
  321. package/dist/resume-approval.js.map +0 -1
  322. package/dist/sanitize-conversation.d.ts +0 -43
  323. package/dist/sanitize-conversation.d.ts.map +0 -1
  324. package/dist/sanitize-conversation.js +0 -85
  325. package/dist/sanitize-conversation.js.map +0 -1
  326. package/dist/scoped-tool.d.ts +0 -98
  327. package/dist/scoped-tool.d.ts.map +0 -1
  328. package/dist/scoped-tool.js +0 -174
  329. package/dist/scoped-tool.js.map +0 -1
  330. package/dist/server/provider.d.ts +0 -22
  331. package/dist/server/provider.d.ts.map +0 -1
  332. package/dist/server/provider.js +0 -194
  333. package/dist/server/provider.js.map +0 -1
  334. package/dist/similarity-search.d.ts +0 -163
  335. package/dist/similarity-search.d.ts.map +0 -1
  336. package/dist/similarity-search.js +0 -147
  337. package/dist/similarity-search.js.map +0 -1
  338. package/dist/sub-agent-run-store.d.ts +0 -157
  339. package/dist/sub-agent-run-store.d.ts.map +0 -1
  340. package/dist/sub-agent-run-store.js +0 -87
  341. package/dist/sub-agent-run-store.js.map +0 -1
  342. package/dist/tool-execution.d.ts +0 -16
  343. package/dist/tool-execution.d.ts.map +0 -1
  344. package/dist/tool-execution.js +0 -498
  345. package/dist/tool-execution.js.map +0 -1
  346. package/dist/tool-helpers.d.ts +0 -77
  347. package/dist/tool-helpers.d.ts.map +0 -1
  348. package/dist/tool-helpers.js +0 -117
  349. package/dist/tool-helpers.js.map +0 -1
  350. package/dist/tool.d.ts +0 -216
  351. package/dist/tool.d.ts.map +0 -1
  352. package/dist/tool.js +0 -175
  353. package/dist/tool.js.map +0 -1
  354. package/dist/transcription.d.ts +0 -42
  355. package/dist/transcription.d.ts.map +0 -1
  356. package/dist/transcription.js +0 -77
  357. package/dist/transcription.js.map +0 -1
  358. package/dist/types.d.ts +0 -1020
  359. package/dist/types.d.ts.map +0 -1
  360. package/dist/types.js +0 -2
  361. package/dist/types.js.map +0 -1
  362. package/dist/util/hash.d.ts +0 -11
  363. package/dist/util/hash.d.ts.map +0 -1
  364. package/dist/util/hash.js +0 -23
  365. package/dist/util/hash.js.map +0 -1
  366. package/dist/vector-stores/index.d.ts +0 -96
  367. package/dist/vector-stores/index.d.ts.map +0 -1
  368. package/dist/vector-stores/index.js +0 -153
  369. package/dist/vector-stores/index.js.map +0 -1
  370. package/dist/vercel-protocol.d.ts +0 -18
  371. package/dist/vercel-protocol.d.ts.map +0 -1
  372. package/dist/vercel-protocol.js +0 -75
  373. package/dist/vercel-protocol.js.map +0 -1
  374. package/dist/zod-to-json-schema.d.ts +0 -16
  375. package/dist/zod-to-json-schema.d.ts.map +0 -1
  376. package/dist/zod-to-json-schema.js +0 -17
  377. package/dist/zod-to-json-schema.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-sse.d.ts","sourceRoot":"","sources":["../src/agent-sse.ts"],"names":[],"mappings":"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"}
package/dist/agent-sse.js DELETED
@@ -1,282 +0,0 @@
1
- /**
2
- * Named-event SSE protocol for streaming an agent loop to a browser.
3
- *
4
- * `@rudderjs/ai` already ships the Vercel AI SDK data-stream protocol
5
- * ({@link toVercelDataStream}) - the numeric-prefix wire (`0:` / `9:` / `a:`
6
- * ...). This is the alternative for apps that want a plain
7
- * `text/event-stream` with self-describing event names that mirror the agent
8
- * loop's own lifecycle (`text`, `tool_call`, `tool_update`, `tool_result`,
9
- * `pending_client_tools`, `tool_approval_required`, `handoff`, `complete`,
10
- * `error`).
11
- *
12
- * Both ends live here so the wire vocabulary can never drift:
13
- *
14
- * - Server: {@link toAgentSseStream} / {@link toAgentSseResponse} project an
15
- * `agent.stream()` result onto the named events and frame them as SSE.
16
- * - Browser: {@link readAgentStream} decodes the same events back into an
17
- * {@link AgentStreamTurn} and fires per-event callbacks for UI side effects.
18
- * {@link applyAgentSseEvent} is exposed so the per-event reducer can be
19
- * unit-tested against a synthetic turn.
20
- *
21
- * Runtime-agnostic: uses only web globals (`ReadableStream`, `Response`,
22
- * `TextEncoder` / `TextDecoder`, `crypto.randomUUID`), no `node:` imports, so
23
- * the module is safe in the main entry and runs server-side (Node / edge) and
24
- * client-side alike.
25
- *
26
- * This ships the framework-generic core. App-specific events (conversation
27
- * ids, billing, sub-run fan-out bookkeeping, server-authoritative history
28
- * sync) are not part of it - emit and decode those alongside this protocol on
29
- * your own channel.
30
- */
31
- // ─── Server: project a stream onto SSE ────────────────────
32
- /** Map a finish reason to the pause it represents, if any. */
33
- function awaitingFor(reason) {
34
- if (reason === 'client_tool_calls')
35
- return 'client_tools';
36
- if (reason === 'tool_approval_required')
37
- return 'approval';
38
- return undefined;
39
- }
40
- function frame(event, data) {
41
- return `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;
42
- }
43
- /**
44
- * Project an `agent.stream()` result onto the named-event SSE wire as a
45
- * `ReadableStream<Uint8Array>`.
46
- *
47
- * Iterates the chunk stream, emits one named event per loop chunk, then
48
- * awaits the `response` promise and emits a terminal `complete` event
49
- * carrying `done`, `finishReason`, the `awaiting` pause (if any), step count,
50
- * and usage. If iteration or the response throws, an `error` event is emitted
51
- * and the stream closes cleanly so the browser reader's `onError` fires.
52
- */
53
- export function toAgentSseStream(streaming) {
54
- const { stream, response } = streaming;
55
- const encoder = new TextEncoder();
56
- return new ReadableStream({
57
- async start(controller) {
58
- const emit = (event, data) => controller.enqueue(encoder.encode(frame(event, data)));
59
- try {
60
- for await (const chunk of stream) {
61
- emitChunk(chunk, emit);
62
- }
63
- const res = await response;
64
- const awaiting = awaitingFor(res.finishReason);
65
- const complete = {
66
- done: true,
67
- steps: res.steps.length,
68
- usage: res.usage,
69
- };
70
- if (res.finishReason)
71
- complete.finishReason = res.finishReason;
72
- if (awaiting)
73
- complete.awaiting = awaiting;
74
- emit('complete', complete);
75
- }
76
- catch (err) {
77
- const message = err instanceof Error ? err.message : String(err);
78
- emit('error', { message });
79
- }
80
- finally {
81
- controller.close();
82
- }
83
- },
84
- });
85
- }
86
- function emitChunk(chunk, emit) {
87
- switch (chunk.type) {
88
- case 'text-delta':
89
- if (chunk.text)
90
- emit('text', { text: chunk.text });
91
- return;
92
- case 'tool-call':
93
- emit('tool_call', {
94
- ...(chunk.toolCall?.id ? { id: chunk.toolCall.id } : {}),
95
- tool: chunk.toolCall?.name ?? '',
96
- input: chunk.toolCall?.arguments ?? {},
97
- });
98
- return;
99
- case 'tool-update':
100
- emit('tool_update', {
101
- ...(chunk.toolCall?.id ? { id: chunk.toolCall.id } : {}),
102
- ...(chunk.toolCall?.name ? { tool: chunk.toolCall.name } : {}),
103
- update: chunk.update,
104
- });
105
- return;
106
- case 'tool-result': {
107
- const id = chunk.toolCall?.id;
108
- emit('tool_result', {
109
- ...(id ? { id, toolCallId: id } : {}),
110
- ...(chunk.toolCall?.name ? { tool: chunk.toolCall.name } : {}),
111
- content: typeof chunk.result === 'string' ? chunk.result : JSON.stringify(chunk.result),
112
- });
113
- return;
114
- }
115
- case 'pending-client-tools':
116
- emit('pending_client_tools', { toolCalls: chunk.toolCalls ?? [] });
117
- return;
118
- case 'pending-approval':
119
- if (chunk.toolCall) {
120
- emit('tool_approval_required', {
121
- toolCall: chunk.toolCall,
122
- isClientTool: chunk.isClientTool ?? false,
123
- });
124
- }
125
- return;
126
- case 'handoff':
127
- if (chunk.handoff)
128
- emit('handoff', chunk.handoff);
129
- return;
130
- // 'tool-call-delta' | 'usage' | 'finish' carry no named event - the
131
- // terminal `complete` event reports finish reason + usage from the
132
- // resolved AgentResponse.
133
- }
134
- }
135
- /**
136
- * Wrap {@link toAgentSseStream} in a `Response` with the standard
137
- * `text/event-stream` headers (no caching, no proxy buffering). Return it
138
- * directly from a route handler.
139
- */
140
- export function toAgentSseResponse(streaming, init) {
141
- const headers = new Headers(init?.headers);
142
- headers.set('Content-Type', 'text/event-stream; charset=utf-8');
143
- headers.set('Cache-Control', 'no-cache, no-transform');
144
- headers.set('Connection', 'keep-alive');
145
- // Disable nginx response buffering so events flush as they're produced.
146
- headers.set('X-Accel-Buffering', 'no');
147
- return new Response(toAgentSseStream(streaming), { ...init, headers });
148
- }
149
- /** A fresh, empty {@link AgentStreamTurn}. */
150
- export function newAgentStreamTurn() {
151
- return {
152
- assistantText: '',
153
- assistantToolCalls: [],
154
- serverToolResults: [],
155
- pendingClientTools: [],
156
- pendingApproval: null,
157
- handoffPath: [],
158
- done: false,
159
- awaiting: undefined,
160
- };
161
- }
162
- function randomId() {
163
- return typeof crypto !== 'undefined' && crypto.randomUUID
164
- ? crypto.randomUUID()
165
- : `tc-${Date.now()}-${Math.round(Math.random() * 1e9)}`;
166
- }
167
- /**
168
- * Read a named-event agent-SSE response body, applying each event to a fresh
169
- * {@link AgentStreamTurn} and firing the matching callback. Resolves with the
170
- * accumulated turn once the stream closes.
171
- *
172
- * The caller owns the `fetch` and the `!resp.ok` branch (so a rich error body
173
- * can be read for non-2xx responses); pass an already-OK response. A missing
174
- * body resolves to an empty turn. Malformed event JSON is skipped.
175
- */
176
- export async function readAgentStream(resp, callbacks = {}) {
177
- const turn = newAgentStreamTurn();
178
- if (!resp.body)
179
- return turn;
180
- const reader = resp.body.getReader();
181
- const decoder = new TextDecoder();
182
- let buffer = '';
183
- // Hoisted across reads: an `event:` line and its `data:` line can land in
184
- // separate `read()` chunks when the body is sliced mid-frame.
185
- let currentEvent = '';
186
- for (;;) {
187
- const { done, value } = await reader.read();
188
- if (done)
189
- break;
190
- buffer += decoder.decode(value, { stream: true });
191
- const lines = buffer.split('\n');
192
- buffer = lines.pop() ?? '';
193
- for (const line of lines) {
194
- if (line.startsWith('event: ')) {
195
- currentEvent = line.slice(7);
196
- }
197
- else if (line.startsWith('data: ') && currentEvent) {
198
- try {
199
- applyAgentSseEvent(currentEvent, JSON.parse(line.slice(6)), turn, callbacks);
200
- }
201
- catch { /* skip malformed JSON */ }
202
- currentEvent = '';
203
- }
204
- }
205
- }
206
- return turn;
207
- }
208
- /**
209
- * Apply a single parsed SSE event to the turn state and fire the matching
210
- * callback. Mutates `turn`; otherwise pure. Exposed for unit-testing the
211
- * reducer against a synthetic turn without a live stream.
212
- */
213
- export function applyAgentSseEvent(event, data, turn, callbacks = {}) {
214
- switch (event) {
215
- case 'text': {
216
- const d = data;
217
- turn.assistantText += d.text;
218
- callbacks.onText?.(d.text);
219
- return;
220
- }
221
- case 'tool_call': {
222
- const d = data;
223
- turn.assistantToolCalls.push({
224
- id: d.id ?? randomId(),
225
- name: d.tool,
226
- arguments: d.input ?? {},
227
- });
228
- callbacks.onToolCall?.(d);
229
- return;
230
- }
231
- case 'tool_update': {
232
- callbacks.onToolUpdate?.(data);
233
- return;
234
- }
235
- case 'tool_result': {
236
- const d = data;
237
- const toolCallId = d.toolCallId ?? d.id;
238
- if (toolCallId) {
239
- turn.serverToolResults.push({ role: 'tool', content: d.content, toolCallId });
240
- }
241
- callbacks.onToolResult?.(d);
242
- return;
243
- }
244
- case 'pending_client_tools': {
245
- const d = data;
246
- turn.pendingClientTools = d.toolCalls ?? [];
247
- callbacks.onPendingClientTools?.(turn.pendingClientTools);
248
- return;
249
- }
250
- case 'tool_approval_required': {
251
- const d = data;
252
- turn.pendingApproval = { toolCall: d.toolCall, isClientTool: d.isClientTool };
253
- callbacks.onToolApprovalRequired?.(d);
254
- return;
255
- }
256
- case 'handoff': {
257
- const d = data;
258
- if (turn.handoffPath.length === 0 && d.from)
259
- turn.handoffPath.push(d.from);
260
- if (d.to)
261
- turn.handoffPath.push(d.to);
262
- callbacks.onHandoff?.(d);
263
- return;
264
- }
265
- case 'complete': {
266
- const d = data;
267
- if (d.done === true)
268
- turn.done = true;
269
- turn.awaiting = d.awaiting;
270
- callbacks.onComplete?.(d);
271
- return;
272
- }
273
- case 'error': {
274
- const d = data;
275
- callbacks.onError?.(d);
276
- return;
277
- }
278
- default:
279
- callbacks.onAppEvent?.(event, data);
280
- }
281
- }
282
- //# sourceMappingURL=agent-sse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-sse.js","sourceRoot":"","sources":["../src/agent-sse.ts"],"names":[],"mappings":"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"}