@anthropic-ai/claude-code 0.2.27 → 0.2.30

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 (415) hide show
  1. package/cli.mjs +418 -666
  2. package/package.json +1 -5
  3. package/vendor/sdk/CHANGELOG.md +0 -1421
  4. package/vendor/sdk/LICENSE +0 -8
  5. package/vendor/sdk/README.md +0 -536
  6. package/vendor/sdk/_shims/MultipartBody.d.ts +0 -9
  7. package/vendor/sdk/_shims/MultipartBody.d.ts.map +0 -1
  8. package/vendor/sdk/_shims/MultipartBody.js +0 -16
  9. package/vendor/sdk/_shims/MultipartBody.js.map +0 -1
  10. package/vendor/sdk/_shims/MultipartBody.mjs +0 -12
  11. package/vendor/sdk/_shims/MultipartBody.mjs.map +0 -1
  12. package/vendor/sdk/_shims/README.md +0 -46
  13. package/vendor/sdk/_shims/auto/runtime-bun.d.ts +0 -5
  14. package/vendor/sdk/_shims/auto/runtime-bun.d.ts.map +0 -1
  15. package/vendor/sdk/_shims/auto/runtime-bun.js +0 -21
  16. package/vendor/sdk/_shims/auto/runtime-bun.js.map +0 -1
  17. package/vendor/sdk/_shims/auto/runtime-bun.mjs +0 -2
  18. package/vendor/sdk/_shims/auto/runtime-bun.mjs.map +0 -1
  19. package/vendor/sdk/_shims/auto/runtime-node.d.ts +0 -5
  20. package/vendor/sdk/_shims/auto/runtime-node.d.ts.map +0 -1
  21. package/vendor/sdk/_shims/auto/runtime-node.js +0 -21
  22. package/vendor/sdk/_shims/auto/runtime-node.js.map +0 -1
  23. package/vendor/sdk/_shims/auto/runtime-node.mjs +0 -2
  24. package/vendor/sdk/_shims/auto/runtime-node.mjs.map +0 -1
  25. package/vendor/sdk/_shims/auto/runtime.d.ts +0 -5
  26. package/vendor/sdk/_shims/auto/runtime.d.ts.map +0 -1
  27. package/vendor/sdk/_shims/auto/runtime.js +0 -21
  28. package/vendor/sdk/_shims/auto/runtime.js.map +0 -1
  29. package/vendor/sdk/_shims/auto/runtime.mjs +0 -2
  30. package/vendor/sdk/_shims/auto/runtime.mjs.map +0 -1
  31. package/vendor/sdk/_shims/auto/types-node.d.ts +0 -5
  32. package/vendor/sdk/_shims/auto/types-node.d.ts.map +0 -1
  33. package/vendor/sdk/_shims/auto/types-node.js +0 -21
  34. package/vendor/sdk/_shims/auto/types-node.js.map +0 -1
  35. package/vendor/sdk/_shims/auto/types-node.mjs +0 -2
  36. package/vendor/sdk/_shims/auto/types-node.mjs.map +0 -1
  37. package/vendor/sdk/_shims/auto/types.d.ts +0 -101
  38. package/vendor/sdk/_shims/auto/types.js +0 -3
  39. package/vendor/sdk/_shims/auto/types.mjs +0 -3
  40. package/vendor/sdk/_shims/bun-runtime.d.ts +0 -6
  41. package/vendor/sdk/_shims/bun-runtime.d.ts.map +0 -1
  42. package/vendor/sdk/_shims/bun-runtime.js +0 -14
  43. package/vendor/sdk/_shims/bun-runtime.js.map +0 -1
  44. package/vendor/sdk/_shims/bun-runtime.mjs +0 -10
  45. package/vendor/sdk/_shims/bun-runtime.mjs.map +0 -1
  46. package/vendor/sdk/_shims/index.d.ts +0 -81
  47. package/vendor/sdk/_shims/index.js +0 -13
  48. package/vendor/sdk/_shims/index.mjs +0 -7
  49. package/vendor/sdk/_shims/manual-types.d.ts +0 -12
  50. package/vendor/sdk/_shims/manual-types.js +0 -3
  51. package/vendor/sdk/_shims/manual-types.mjs +0 -3
  52. package/vendor/sdk/_shims/node-runtime.d.ts +0 -3
  53. package/vendor/sdk/_shims/node-runtime.d.ts.map +0 -1
  54. package/vendor/sdk/_shims/node-runtime.js +0 -89
  55. package/vendor/sdk/_shims/node-runtime.js.map +0 -1
  56. package/vendor/sdk/_shims/node-runtime.mjs +0 -56
  57. package/vendor/sdk/_shims/node-runtime.mjs.map +0 -1
  58. package/vendor/sdk/_shims/node-types.d.ts +0 -42
  59. package/vendor/sdk/_shims/node-types.js +0 -3
  60. package/vendor/sdk/_shims/node-types.mjs +0 -3
  61. package/vendor/sdk/_shims/registry.d.ts +0 -37
  62. package/vendor/sdk/_shims/registry.d.ts.map +0 -1
  63. package/vendor/sdk/_shims/registry.js +0 -41
  64. package/vendor/sdk/_shims/registry.js.map +0 -1
  65. package/vendor/sdk/_shims/registry.mjs +0 -37
  66. package/vendor/sdk/_shims/registry.mjs.map +0 -1
  67. package/vendor/sdk/_shims/web-runtime.d.ts +0 -5
  68. package/vendor/sdk/_shims/web-runtime.d.ts.map +0 -1
  69. package/vendor/sdk/_shims/web-runtime.js +0 -78
  70. package/vendor/sdk/_shims/web-runtime.js.map +0 -1
  71. package/vendor/sdk/_shims/web-runtime.mjs +0 -71
  72. package/vendor/sdk/_shims/web-runtime.mjs.map +0 -1
  73. package/vendor/sdk/_shims/web-types.d.ts +0 -83
  74. package/vendor/sdk/_shims/web-types.js +0 -3
  75. package/vendor/sdk/_shims/web-types.mjs +0 -3
  76. package/vendor/sdk/_vendor/partial-json-parser/parser.d.ts +0 -3
  77. package/vendor/sdk/_vendor/partial-json-parser/parser.d.ts.map +0 -1
  78. package/vendor/sdk/_vendor/partial-json-parser/parser.js +0 -226
  79. package/vendor/sdk/_vendor/partial-json-parser/parser.js.map +0 -1
  80. package/vendor/sdk/_vendor/partial-json-parser/parser.mjs +0 -223
  81. package/vendor/sdk/_vendor/partial-json-parser/parser.mjs.map +0 -1
  82. package/vendor/sdk/core.d.ts +0 -248
  83. package/vendor/sdk/core.d.ts.map +0 -1
  84. package/vendor/sdk/core.js +0 -935
  85. package/vendor/sdk/core.js.map +0 -1
  86. package/vendor/sdk/core.mjs +0 -903
  87. package/vendor/sdk/core.mjs.map +0 -1
  88. package/vendor/sdk/error.d.ts +0 -48
  89. package/vendor/sdk/error.d.ts.map +0 -1
  90. package/vendor/sdk/error.js +0 -114
  91. package/vendor/sdk/error.js.map +0 -1
  92. package/vendor/sdk/error.mjs +0 -98
  93. package/vendor/sdk/error.mjs.map +0 -1
  94. package/vendor/sdk/index.d.mts +0 -152
  95. package/vendor/sdk/index.d.ts +0 -152
  96. package/vendor/sdk/index.d.ts.map +0 -1
  97. package/vendor/sdk/index.js +0 -179
  98. package/vendor/sdk/index.js.map +0 -1
  99. package/vendor/sdk/index.mjs +0 -136
  100. package/vendor/sdk/index.mjs.map +0 -1
  101. package/vendor/sdk/internal/decoders/jsonl.d.ts +0 -12
  102. package/vendor/sdk/internal/decoders/jsonl.d.ts.map +0 -1
  103. package/vendor/sdk/internal/decoders/jsonl.js +0 -35
  104. package/vendor/sdk/internal/decoders/jsonl.js.map +0 -1
  105. package/vendor/sdk/internal/decoders/jsonl.mjs +0 -31
  106. package/vendor/sdk/internal/decoders/jsonl.mjs.map +0 -1
  107. package/vendor/sdk/internal/decoders/line.d.ts +0 -20
  108. package/vendor/sdk/internal/decoders/line.d.ts.map +0 -1
  109. package/vendor/sdk/internal/decoders/line.js +0 -123
  110. package/vendor/sdk/internal/decoders/line.js.map +0 -1
  111. package/vendor/sdk/internal/decoders/line.mjs +0 -119
  112. package/vendor/sdk/internal/decoders/line.mjs.map +0 -1
  113. package/vendor/sdk/internal/stream-utils.d.ts +0 -8
  114. package/vendor/sdk/internal/stream-utils.d.ts.map +0 -1
  115. package/vendor/sdk/internal/stream-utils.js +0 -39
  116. package/vendor/sdk/internal/stream-utils.js.map +0 -1
  117. package/vendor/sdk/internal/stream-utils.mjs +0 -35
  118. package/vendor/sdk/internal/stream-utils.mjs.map +0 -1
  119. package/vendor/sdk/lib/BetaMessageStream.d.ts +0 -114
  120. package/vendor/sdk/lib/BetaMessageStream.d.ts.map +0 -1
  121. package/vendor/sdk/lib/BetaMessageStream.js +0 -547
  122. package/vendor/sdk/lib/BetaMessageStream.js.map +0 -1
  123. package/vendor/sdk/lib/BetaMessageStream.mjs +0 -543
  124. package/vendor/sdk/lib/BetaMessageStream.mjs.map +0 -1
  125. package/vendor/sdk/lib/MessageStream.d.ts +0 -114
  126. package/vendor/sdk/lib/MessageStream.d.ts.map +0 -1
  127. package/vendor/sdk/lib/MessageStream.js +0 -547
  128. package/vendor/sdk/lib/MessageStream.js.map +0 -1
  129. package/vendor/sdk/lib/MessageStream.mjs +0 -543
  130. package/vendor/sdk/lib/MessageStream.mjs.map +0 -1
  131. package/vendor/sdk/node_modules/@types/node/LICENSE +0 -21
  132. package/vendor/sdk/node_modules/@types/node/README.md +0 -15
  133. package/vendor/sdk/node_modules/@types/node/assert/strict.d.ts +0 -8
  134. package/vendor/sdk/node_modules/@types/node/assert.d.ts +0 -985
  135. package/vendor/sdk/node_modules/@types/node/async_hooks.d.ts +0 -522
  136. package/vendor/sdk/node_modules/@types/node/buffer.buffer.d.ts +0 -385
  137. package/vendor/sdk/node_modules/@types/node/buffer.d.ts +0 -1903
  138. package/vendor/sdk/node_modules/@types/node/child_process.d.ts +0 -1549
  139. package/vendor/sdk/node_modules/@types/node/cluster.d.ts +0 -578
  140. package/vendor/sdk/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  141. package/vendor/sdk/node_modules/@types/node/compatibility/index.d.ts +0 -9
  142. package/vendor/sdk/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  143. package/vendor/sdk/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  144. package/vendor/sdk/node_modules/@types/node/console.d.ts +0 -452
  145. package/vendor/sdk/node_modules/@types/node/constants.d.ts +0 -19
  146. package/vendor/sdk/node_modules/@types/node/crypto.d.ts +0 -4453
  147. package/vendor/sdk/node_modules/@types/node/dgram.d.ts +0 -596
  148. package/vendor/sdk/node_modules/@types/node/diagnostics_channel.d.ts +0 -546
  149. package/vendor/sdk/node_modules/@types/node/dns/promises.d.ts +0 -475
  150. package/vendor/sdk/node_modules/@types/node/dns.d.ts +0 -853
  151. package/vendor/sdk/node_modules/@types/node/dom-events.d.ts +0 -124
  152. package/vendor/sdk/node_modules/@types/node/domain.d.ts +0 -170
  153. package/vendor/sdk/node_modules/@types/node/events.d.ts +0 -819
  154. package/vendor/sdk/node_modules/@types/node/fs/promises.d.ts +0 -1205
  155. package/vendor/sdk/node_modules/@types/node/fs.d.ts +0 -4237
  156. package/vendor/sdk/node_modules/@types/node/globals.d.ts +0 -442
  157. package/vendor/sdk/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  158. package/vendor/sdk/node_modules/@types/node/http.d.ts +0 -1839
  159. package/vendor/sdk/node_modules/@types/node/http2.d.ts +0 -2517
  160. package/vendor/sdk/node_modules/@types/node/https.d.ts +0 -544
  161. package/vendor/sdk/node_modules/@types/node/index.d.ts +0 -90
  162. package/vendor/sdk/node_modules/@types/node/inspector.d.ts +0 -2775
  163. package/vendor/sdk/node_modules/@types/node/module.d.ts +0 -291
  164. package/vendor/sdk/node_modules/@types/node/net.d.ts +0 -924
  165. package/vendor/sdk/node_modules/@types/node/os.d.ts +0 -473
  166. package/vendor/sdk/node_modules/@types/node/package.json +0 -225
  167. package/vendor/sdk/node_modules/@types/node/path.d.ts +0 -191
  168. package/vendor/sdk/node_modules/@types/node/perf_hooks.d.ts +0 -753
  169. package/vendor/sdk/node_modules/@types/node/process.d.ts +0 -1553
  170. package/vendor/sdk/node_modules/@types/node/punycode.d.ts +0 -117
  171. package/vendor/sdk/node_modules/@types/node/querystring.d.ts +0 -141
  172. package/vendor/sdk/node_modules/@types/node/readline/promises.d.ts +0 -154
  173. package/vendor/sdk/node_modules/@types/node/readline.d.ts +0 -715
  174. package/vendor/sdk/node_modules/@types/node/repl.d.ts +0 -430
  175. package/vendor/sdk/node_modules/@types/node/stream/consumers.d.ts +0 -12
  176. package/vendor/sdk/node_modules/@types/node/stream/promises.d.ts +0 -90
  177. package/vendor/sdk/node_modules/@types/node/stream/web.d.ts +0 -523
  178. package/vendor/sdk/node_modules/@types/node/stream.d.ts +0 -1731
  179. package/vendor/sdk/node_modules/@types/node/string_decoder.d.ts +0 -67
  180. package/vendor/sdk/node_modules/@types/node/test.d.ts +0 -1245
  181. package/vendor/sdk/node_modules/@types/node/timers/promises.d.ts +0 -93
  182. package/vendor/sdk/node_modules/@types/node/timers.d.ts +0 -126
  183. package/vendor/sdk/node_modules/@types/node/tls.d.ts +0 -1203
  184. package/vendor/sdk/node_modules/@types/node/trace_events.d.ts +0 -171
  185. package/vendor/sdk/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -385
  186. package/vendor/sdk/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  187. package/vendor/sdk/node_modules/@types/node/ts5.6/index.d.ts +0 -90
  188. package/vendor/sdk/node_modules/@types/node/tty.d.ts +0 -206
  189. package/vendor/sdk/node_modules/@types/node/url.d.ts +0 -957
  190. package/vendor/sdk/node_modules/@types/node/util.d.ts +0 -2083
  191. package/vendor/sdk/node_modules/@types/node/v8.d.ts +0 -753
  192. package/vendor/sdk/node_modules/@types/node/vm.d.ts +0 -666
  193. package/vendor/sdk/node_modules/@types/node/wasi.d.ts +0 -160
  194. package/vendor/sdk/node_modules/@types/node/worker_threads.d.ts +0 -695
  195. package/vendor/sdk/node_modules/@types/node/zlib.d.ts +0 -517
  196. package/vendor/sdk/node_modules/undici-types/README.md +0 -6
  197. package/vendor/sdk/node_modules/undici-types/agent.d.ts +0 -31
  198. package/vendor/sdk/node_modules/undici-types/api.d.ts +0 -43
  199. package/vendor/sdk/node_modules/undici-types/balanced-pool.d.ts +0 -18
  200. package/vendor/sdk/node_modules/undici-types/cache.d.ts +0 -36
  201. package/vendor/sdk/node_modules/undici-types/client.d.ts +0 -97
  202. package/vendor/sdk/node_modules/undici-types/connector.d.ts +0 -34
  203. package/vendor/sdk/node_modules/undici-types/content-type.d.ts +0 -21
  204. package/vendor/sdk/node_modules/undici-types/cookies.d.ts +0 -28
  205. package/vendor/sdk/node_modules/undici-types/diagnostics-channel.d.ts +0 -67
  206. package/vendor/sdk/node_modules/undici-types/dispatcher.d.ts +0 -241
  207. package/vendor/sdk/node_modules/undici-types/errors.d.ts +0 -128
  208. package/vendor/sdk/node_modules/undici-types/fetch.d.ts +0 -209
  209. package/vendor/sdk/node_modules/undici-types/file.d.ts +0 -39
  210. package/vendor/sdk/node_modules/undici-types/filereader.d.ts +0 -54
  211. package/vendor/sdk/node_modules/undici-types/formdata.d.ts +0 -108
  212. package/vendor/sdk/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  213. package/vendor/sdk/node_modules/undici-types/global-origin.d.ts +0 -7
  214. package/vendor/sdk/node_modules/undici-types/handlers.d.ts +0 -9
  215. package/vendor/sdk/node_modules/undici-types/header.d.ts +0 -4
  216. package/vendor/sdk/node_modules/undici-types/index.d.ts +0 -63
  217. package/vendor/sdk/node_modules/undici-types/interceptors.d.ts +0 -5
  218. package/vendor/sdk/node_modules/undici-types/mock-agent.d.ts +0 -50
  219. package/vendor/sdk/node_modules/undici-types/mock-client.d.ts +0 -25
  220. package/vendor/sdk/node_modules/undici-types/mock-errors.d.ts +0 -12
  221. package/vendor/sdk/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  222. package/vendor/sdk/node_modules/undici-types/mock-pool.d.ts +0 -25
  223. package/vendor/sdk/node_modules/undici-types/package.json +0 -55
  224. package/vendor/sdk/node_modules/undici-types/patch.d.ts +0 -71
  225. package/vendor/sdk/node_modules/undici-types/pool-stats.d.ts +0 -19
  226. package/vendor/sdk/node_modules/undici-types/pool.d.ts +0 -28
  227. package/vendor/sdk/node_modules/undici-types/proxy-agent.d.ts +0 -30
  228. package/vendor/sdk/node_modules/undici-types/readable.d.ts +0 -61
  229. package/vendor/sdk/node_modules/undici-types/webidl.d.ts +0 -220
  230. package/vendor/sdk/node_modules/undici-types/websocket.d.ts +0 -131
  231. package/vendor/sdk/package.json +0 -124
  232. package/vendor/sdk/pagination.d.ts +0 -27
  233. package/vendor/sdk/pagination.d.ts.map +0 -1
  234. package/vendor/sdk/pagination.js +0 -60
  235. package/vendor/sdk/pagination.js.map +0 -1
  236. package/vendor/sdk/pagination.mjs +0 -56
  237. package/vendor/sdk/pagination.mjs.map +0 -1
  238. package/vendor/sdk/resource.d.ts +0 -6
  239. package/vendor/sdk/resource.d.ts.map +0 -1
  240. package/vendor/sdk/resource.js +0 -11
  241. package/vendor/sdk/resource.js.map +0 -1
  242. package/vendor/sdk/resource.mjs +0 -7
  243. package/vendor/sdk/resource.mjs.map +0 -1
  244. package/vendor/sdk/resources/beta/beta.d.ts +0 -57
  245. package/vendor/sdk/resources/beta/beta.d.ts.map +0 -1
  246. package/vendor/sdk/resources/beta/beta.js +0 -44
  247. package/vendor/sdk/resources/beta/beta.js.map +0 -1
  248. package/vendor/sdk/resources/beta/beta.mjs +0 -17
  249. package/vendor/sdk/resources/beta/beta.mjs.map +0 -1
  250. package/vendor/sdk/resources/beta/index.d.ts +0 -4
  251. package/vendor/sdk/resources/beta/index.d.ts.map +0 -1
  252. package/vendor/sdk/resources/beta/index.js +0 -12
  253. package/vendor/sdk/resources/beta/index.js.map +0 -1
  254. package/vendor/sdk/resources/beta/index.mjs +0 -5
  255. package/vendor/sdk/resources/beta/index.mjs.map +0 -1
  256. package/vendor/sdk/resources/beta/messages/batches.d.ts +0 -289
  257. package/vendor/sdk/resources/beta/messages/batches.d.ts.map +0 -1
  258. package/vendor/sdk/resources/beta/messages/batches.js +0 -112
  259. package/vendor/sdk/resources/beta/messages/batches.js.map +0 -1
  260. package/vendor/sdk/resources/beta/messages/batches.mjs +0 -107
  261. package/vendor/sdk/resources/beta/messages/batches.mjs.map +0 -1
  262. package/vendor/sdk/resources/beta/messages/index.d.ts +0 -3
  263. package/vendor/sdk/resources/beta/messages/index.d.ts.map +0 -1
  264. package/vendor/sdk/resources/beta/messages/index.js +0 -10
  265. package/vendor/sdk/resources/beta/messages/index.js.map +0 -1
  266. package/vendor/sdk/resources/beta/messages/index.mjs +0 -4
  267. package/vendor/sdk/resources/beta/messages/index.mjs.map +0 -1
  268. package/vendor/sdk/resources/beta/messages/messages.d.ts +0 -1038
  269. package/vendor/sdk/resources/beta/messages/messages.d.ts.map +0 -1
  270. package/vendor/sdk/resources/beta/messages/messages.js +0 -93
  271. package/vendor/sdk/resources/beta/messages/messages.js.map +0 -1
  272. package/vendor/sdk/resources/beta/messages/messages.mjs +0 -66
  273. package/vendor/sdk/resources/beta/messages/messages.mjs.map +0 -1
  274. package/vendor/sdk/resources/beta/models.d.ts +0 -49
  275. package/vendor/sdk/resources/beta/models.d.ts.map +0 -1
  276. package/vendor/sdk/resources/beta/models.js +0 -30
  277. package/vendor/sdk/resources/beta/models.js.map +0 -1
  278. package/vendor/sdk/resources/beta/models.mjs +0 -25
  279. package/vendor/sdk/resources/beta/models.mjs.map +0 -1
  280. package/vendor/sdk/resources/completions.d.ts +0 -166
  281. package/vendor/sdk/resources/completions.d.ts.map +0 -1
  282. package/vendor/sdk/resources/completions.js +0 -17
  283. package/vendor/sdk/resources/completions.js.map +0 -1
  284. package/vendor/sdk/resources/completions.mjs +0 -13
  285. package/vendor/sdk/resources/completions.mjs.map +0 -1
  286. package/vendor/sdk/resources/index.d.ts +0 -6
  287. package/vendor/sdk/resources/index.d.ts.map +0 -1
  288. package/vendor/sdk/resources/index.js +0 -29
  289. package/vendor/sdk/resources/index.js.map +0 -1
  290. package/vendor/sdk/resources/index.mjs +0 -7
  291. package/vendor/sdk/resources/index.mjs.map +0 -1
  292. package/vendor/sdk/resources/messages/batches.d.ts +0 -253
  293. package/vendor/sdk/resources/messages/batches.d.ts.map +0 -1
  294. package/vendor/sdk/resources/messages/batches.js +0 -102
  295. package/vendor/sdk/resources/messages/batches.js.map +0 -1
  296. package/vendor/sdk/resources/messages/batches.mjs +0 -97
  297. package/vendor/sdk/resources/messages/batches.mjs.map +0 -1
  298. package/vendor/sdk/resources/messages/index.d.ts +0 -3
  299. package/vendor/sdk/resources/messages/index.d.ts.map +0 -1
  300. package/vendor/sdk/resources/messages/index.js +0 -10
  301. package/vendor/sdk/resources/messages/index.js.map +0 -1
  302. package/vendor/sdk/resources/messages/index.mjs +0 -4
  303. package/vendor/sdk/resources/messages/index.mjs.map +0 -1
  304. package/vendor/sdk/resources/messages/messages.d.ts +0 -1028
  305. package/vendor/sdk/resources/messages/messages.d.ts.map +0 -1
  306. package/vendor/sdk/resources/messages/messages.js +0 -82
  307. package/vendor/sdk/resources/messages/messages.js.map +0 -1
  308. package/vendor/sdk/resources/messages/messages.mjs +0 -54
  309. package/vendor/sdk/resources/messages/messages.mjs.map +0 -1
  310. package/vendor/sdk/resources/models.d.ts +0 -49
  311. package/vendor/sdk/resources/models.d.ts.map +0 -1
  312. package/vendor/sdk/resources/models.js +0 -30
  313. package/vendor/sdk/resources/models.js.map +0 -1
  314. package/vendor/sdk/resources/models.mjs +0 -25
  315. package/vendor/sdk/resources/models.mjs.map +0 -1
  316. package/vendor/sdk/resources/shared.d.ts +0 -42
  317. package/vendor/sdk/resources/shared.d.ts.map +0 -1
  318. package/vendor/sdk/resources/shared.js +0 -4
  319. package/vendor/sdk/resources/shared.js.map +0 -1
  320. package/vendor/sdk/resources/shared.mjs +0 -3
  321. package/vendor/sdk/resources/shared.mjs.map +0 -1
  322. package/vendor/sdk/resources/top-level.d.ts +0 -2
  323. package/vendor/sdk/resources/top-level.d.ts.map +0 -1
  324. package/vendor/sdk/resources/top-level.js +0 -4
  325. package/vendor/sdk/resources/top-level.js.map +0 -1
  326. package/vendor/sdk/resources/top-level.mjs +0 -3
  327. package/vendor/sdk/resources/top-level.mjs.map +0 -1
  328. package/vendor/sdk/shims/node.d.ts +0 -30
  329. package/vendor/sdk/shims/node.d.ts.map +0 -1
  330. package/vendor/sdk/shims/node.js +0 -31
  331. package/vendor/sdk/shims/node.js.map +0 -1
  332. package/vendor/sdk/shims/node.mjs +0 -5
  333. package/vendor/sdk/shims/node.mjs.map +0 -1
  334. package/vendor/sdk/shims/web.d.ts +0 -26
  335. package/vendor/sdk/shims/web.d.ts.map +0 -1
  336. package/vendor/sdk/shims/web.js +0 -31
  337. package/vendor/sdk/shims/web.js.map +0 -1
  338. package/vendor/sdk/shims/web.mjs +0 -5
  339. package/vendor/sdk/shims/web.mjs.map +0 -1
  340. package/vendor/sdk/src/_shims/MultipartBody.ts +0 -9
  341. package/vendor/sdk/src/_shims/README.md +0 -46
  342. package/vendor/sdk/src/_shims/auto/runtime-bun.ts +0 -4
  343. package/vendor/sdk/src/_shims/auto/runtime-node.ts +0 -4
  344. package/vendor/sdk/src/_shims/auto/runtime.ts +0 -4
  345. package/vendor/sdk/src/_shims/auto/types-node.ts +0 -4
  346. package/vendor/sdk/src/_shims/auto/types.d.ts +0 -101
  347. package/vendor/sdk/src/_shims/auto/types.js +0 -3
  348. package/vendor/sdk/src/_shims/auto/types.mjs +0 -3
  349. package/vendor/sdk/src/_shims/bun-runtime.ts +0 -14
  350. package/vendor/sdk/src/_shims/index.d.ts +0 -81
  351. package/vendor/sdk/src/_shims/index.js +0 -13
  352. package/vendor/sdk/src/_shims/index.mjs +0 -7
  353. package/vendor/sdk/src/_shims/manual-types.d.ts +0 -12
  354. package/vendor/sdk/src/_shims/manual-types.js +0 -3
  355. package/vendor/sdk/src/_shims/manual-types.mjs +0 -3
  356. package/vendor/sdk/src/_shims/node-runtime.ts +0 -81
  357. package/vendor/sdk/src/_shims/node-types.d.ts +0 -42
  358. package/vendor/sdk/src/_shims/node-types.js +0 -3
  359. package/vendor/sdk/src/_shims/node-types.mjs +0 -3
  360. package/vendor/sdk/src/_shims/registry.ts +0 -67
  361. package/vendor/sdk/src/_shims/web-runtime.ts +0 -103
  362. package/vendor/sdk/src/_shims/web-types.d.ts +0 -83
  363. package/vendor/sdk/src/_shims/web-types.js +0 -3
  364. package/vendor/sdk/src/_shims/web-types.mjs +0 -3
  365. package/vendor/sdk/src/_vendor/partial-json-parser/README.md +0 -3
  366. package/vendor/sdk/src/_vendor/partial-json-parser/parser.ts +0 -264
  367. package/vendor/sdk/src/core.ts +0 -1250
  368. package/vendor/sdk/src/error.ts +0 -133
  369. package/vendor/sdk/src/index.ts +0 -465
  370. package/vendor/sdk/src/internal/decoders/jsonl.ts +0 -41
  371. package/vendor/sdk/src/internal/decoders/line.ts +0 -145
  372. package/vendor/sdk/src/internal/stream-utils.ts +0 -32
  373. package/vendor/sdk/src/lib/.keep +0 -4
  374. package/vendor/sdk/src/lib/BetaMessageStream.ts +0 -661
  375. package/vendor/sdk/src/lib/MessageStream.ts +0 -662
  376. package/vendor/sdk/src/pagination.ts +0 -92
  377. package/vendor/sdk/src/resource.ts +0 -11
  378. package/vendor/sdk/src/resources/beta/beta.ts +0 -249
  379. package/vendor/sdk/src/resources/beta/index.ts +0 -83
  380. package/vendor/sdk/src/resources/beta/messages/batches.ts +0 -486
  381. package/vendor/sdk/src/resources/beta/messages/index.ts +0 -87
  382. package/vendor/sdk/src/resources/beta/messages/messages.ts +0 -1444
  383. package/vendor/sdk/src/resources/beta/models.ts +0 -78
  384. package/vendor/sdk/src/resources/completions.ts +0 -210
  385. package/vendor/sdk/src/resources/index.ts +0 -95
  386. package/vendor/sdk/src/resources/messages/batches.ts +0 -352
  387. package/vendor/sdk/src/resources/messages/index.ts +0 -85
  388. package/vendor/sdk/src/resources/messages/messages.ts +0 -1412
  389. package/vendor/sdk/src/resources/models.ts +0 -75
  390. package/vendor/sdk/src/resources/shared.ts +0 -72
  391. package/vendor/sdk/src/resources/top-level.ts +0 -3
  392. package/vendor/sdk/src/shims/node.ts +0 -50
  393. package/vendor/sdk/src/shims/web.ts +0 -50
  394. package/vendor/sdk/src/streaming.ts +0 -372
  395. package/vendor/sdk/src/tsconfig.json +0 -11
  396. package/vendor/sdk/src/uploads.ts +0 -255
  397. package/vendor/sdk/src/version.ts +0 -1
  398. package/vendor/sdk/streaming.d.ts +0 -36
  399. package/vendor/sdk/streaming.d.ts.map +0 -1
  400. package/vendor/sdk/streaming.js +0 -316
  401. package/vendor/sdk/streaming.js.map +0 -1
  402. package/vendor/sdk/streaming.mjs +0 -310
  403. package/vendor/sdk/streaming.mjs.map +0 -1
  404. package/vendor/sdk/uploads.d.ts +0 -75
  405. package/vendor/sdk/uploads.d.ts.map +0 -1
  406. package/vendor/sdk/uploads.js +0 -171
  407. package/vendor/sdk/uploads.js.map +0 -1
  408. package/vendor/sdk/uploads.mjs +0 -158
  409. package/vendor/sdk/uploads.mjs.map +0 -1
  410. package/vendor/sdk/version.d.ts +0 -2
  411. package/vendor/sdk/version.d.ts.map +0 -1
  412. package/vendor/sdk/version.js +0 -5
  413. package/vendor/sdk/version.js.map +0 -1
  414. package/vendor/sdk/version.mjs +0 -2
  415. package/vendor/sdk/version.mjs.map +0 -1
@@ -1,662 +0,0 @@
1
- import * as Core from "../core.js";
2
- import { AnthropicError, APIUserAbortError } from "../error.js";
3
- import {
4
- type ContentBlock,
5
- Messages,
6
- type Message,
7
- type MessageStreamEvent,
8
- type MessageParam,
9
- type MessageCreateParams,
10
- type MessageCreateParamsBase,
11
- type TextBlock,
12
- type TextCitation,
13
- } from "../resources/messages.js";
14
- import { type ReadableStream, type Response } from "../_shims/index.js";
15
- import { Stream } from "../streaming.js";
16
- import { partialParse } from "../_vendor/partial-json-parser/parser.js";
17
-
18
- export interface MessageStreamEvents {
19
- connect: () => void;
20
- streamEvent: (event: MessageStreamEvent, snapshot: Message) => void;
21
- text: (textDelta: string, textSnapshot: string) => void;
22
- citation: (citation: TextCitation, citationsSnapshot: TextCitation[]) => void;
23
- inputJson: (partialJson: string, jsonSnapshot: unknown) => void;
24
- thinking: (thinkingDelta: string, thinkingSnapshot: string) => void;
25
- message: (message: Message) => void;
26
- contentBlock: (content: ContentBlock) => void;
27
- finalMessage: (message: Message) => void;
28
- error: (error: AnthropicError) => void;
29
- abort: (error: APIUserAbortError) => void;
30
- end: () => void;
31
- }
32
-
33
- type MessageStreamEventListeners<Event extends keyof MessageStreamEvents> = {
34
- listener: MessageStreamEvents[Event];
35
- once?: boolean;
36
- }[];
37
-
38
- const JSON_BUF_PROPERTY = '__json_buf';
39
-
40
- export class MessageStream implements AsyncIterable<MessageStreamEvent> {
41
- messages: MessageParam[] = [];
42
- receivedMessages: Message[] = [];
43
- #currentMessageSnapshot: Message | undefined;
44
-
45
- controller: AbortController = new AbortController();
46
-
47
- #connectedPromise: Promise<Response | null>;
48
- #resolveConnectedPromise: (response: Response | null) => void = () => {};
49
- #rejectConnectedPromise: (error: AnthropicError) => void = () => {};
50
-
51
- #endPromise: Promise<void>;
52
- #resolveEndPromise: () => void = () => {};
53
- #rejectEndPromise: (error: AnthropicError) => void = () => {};
54
-
55
- #listeners: { [Event in keyof MessageStreamEvents]?: MessageStreamEventListeners<Event> } = {};
56
-
57
- #ended = false;
58
- #errored = false;
59
- #aborted = false;
60
- #catchingPromiseCreated = false;
61
- #response: Response | null | undefined;
62
- #request_id: string | null | undefined;
63
-
64
- constructor() {
65
- this.#connectedPromise = new Promise<Response | null>((resolve, reject) => {
66
- this.#resolveConnectedPromise = resolve;
67
- this.#rejectConnectedPromise = reject;
68
- });
69
-
70
- this.#endPromise = new Promise<void>((resolve, reject) => {
71
- this.#resolveEndPromise = resolve;
72
- this.#rejectEndPromise = reject;
73
- });
74
-
75
- // Don't let these promises cause unhandled rejection errors.
76
- // we will manually cause an unhandled rejection error later
77
- // if the user hasn't registered any error listener or called
78
- // any promise-returning method.
79
- this.#connectedPromise.catch(() => {});
80
- this.#endPromise.catch(() => {});
81
- }
82
-
83
- get response(): Response | null | undefined {
84
- return this.#response;
85
- }
86
-
87
- get request_id(): string | null | undefined {
88
- return this.#request_id;
89
- }
90
-
91
- /**
92
- * Returns the `MessageStream` data, the raw `Response` instance and the ID of the request,
93
- * returned vie the `request-id` header which is useful for debugging requests and resporting
94
- * issues to Anthropic.
95
- *
96
- * This is the same as the `APIPromise.withResponse()` method.
97
- *
98
- * This method will raise an error if you created the stream using `MessageStream.fromReadableStream`
99
- * as no `Response` is available.
100
- */
101
- async withResponse(): Promise<{
102
- data: MessageStream;
103
- response: Response;
104
- request_id: string | null | undefined;
105
- }> {
106
- const response = await this.#connectedPromise;
107
- if (!response) {
108
- throw new Error('Could not resolve a `Response` object');
109
- }
110
-
111
- return {
112
- data: this,
113
- response,
114
- request_id: response.headers.get('request-id'),
115
- };
116
- }
117
-
118
- /**
119
- * Intended for use on the frontend, consuming a stream produced with
120
- * `.toReadableStream()` on the backend.
121
- *
122
- * Note that messages sent to the model do not appear in `.on('message')`
123
- * in this context.
124
- */
125
- static fromReadableStream(stream: ReadableStream): MessageStream {
126
- const runner = new MessageStream();
127
- runner._run(() => runner._fromReadableStream(stream));
128
- return runner;
129
- }
130
-
131
- static createMessage(
132
- messages: Messages,
133
- params: MessageCreateParamsBase,
134
- options?: Core.RequestOptions,
135
- ): MessageStream {
136
- const runner = new MessageStream();
137
- for (const message of params.messages) {
138
- runner._addMessageParam(message);
139
- }
140
- runner._run(() =>
141
- runner._createMessage(
142
- messages,
143
- { ...params, stream: true },
144
- { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } },
145
- ),
146
- );
147
- return runner;
148
- }
149
-
150
- protected _run(executor: () => Promise<any>) {
151
- executor().then(() => {
152
- this._emitFinal();
153
- this._emit('end');
154
- }, this.#handleError);
155
- }
156
-
157
- protected _addMessageParam(message: MessageParam) {
158
- this.messages.push(message);
159
- }
160
-
161
- protected _addMessage(message: Message, emit = true) {
162
- this.receivedMessages.push(message);
163
- if (emit) {
164
- this._emit('message', message);
165
- }
166
- }
167
-
168
- protected async _createMessage(
169
- messages: Messages,
170
- params: MessageCreateParams,
171
- options?: Core.RequestOptions,
172
- ): Promise<void> {
173
- const signal = options?.signal;
174
- if (signal) {
175
- if (signal.aborted) this.controller.abort();
176
- signal.addEventListener('abort', () => this.controller.abort());
177
- }
178
- this.#beginRequest();
179
- const { response, data: stream } = await messages
180
- .create({ ...params, stream: true }, { ...options, signal: this.controller.signal })
181
- .withResponse();
182
- this._connected(response);
183
- for await (const event of stream) {
184
- this.#addStreamEvent(event);
185
- }
186
- if (stream.controller.signal?.aborted) {
187
- throw new APIUserAbortError();
188
- }
189
- this.#endRequest();
190
- }
191
-
192
- protected _connected(response: Response | null) {
193
- if (this.ended) return;
194
- this.#response = response;
195
- this.#request_id = response?.headers.get('request-id');
196
- this.#resolveConnectedPromise(response);
197
- this._emit('connect');
198
- }
199
-
200
- get ended(): boolean {
201
- return this.#ended;
202
- }
203
-
204
- get errored(): boolean {
205
- return this.#errored;
206
- }
207
-
208
- get aborted(): boolean {
209
- return this.#aborted;
210
- }
211
-
212
- abort() {
213
- this.controller.abort();
214
- }
215
-
216
- /**
217
- * Adds the listener function to the end of the listeners array for the event.
218
- * No checks are made to see if the listener has already been added. Multiple calls passing
219
- * the same combination of event and listener will result in the listener being added, and
220
- * called, multiple times.
221
- * @returns this MessageStream, so that calls can be chained
222
- */
223
- on<Event extends keyof MessageStreamEvents>(event: Event, listener: MessageStreamEvents[Event]): this {
224
- const listeners: MessageStreamEventListeners<Event> =
225
- this.#listeners[event] || (this.#listeners[event] = []);
226
- listeners.push({ listener });
227
- return this;
228
- }
229
-
230
- /**
231
- * Removes the specified listener from the listener array for the event.
232
- * off() will remove, at most, one instance of a listener from the listener array. If any single
233
- * listener has been added multiple times to the listener array for the specified event, then
234
- * off() must be called multiple times to remove each instance.
235
- * @returns this MessageStream, so that calls can be chained
236
- */
237
- off<Event extends keyof MessageStreamEvents>(event: Event, listener: MessageStreamEvents[Event]): this {
238
- const listeners = this.#listeners[event];
239
- if (!listeners) return this;
240
- const index = listeners.findIndex((l) => l.listener === listener);
241
- if (index >= 0) listeners.splice(index, 1);
242
- return this;
243
- }
244
-
245
- /**
246
- * Adds a one-time listener function for the event. The next time the event is triggered,
247
- * this listener is removed and then invoked.
248
- * @returns this MessageStream, so that calls can be chained
249
- */
250
- once<Event extends keyof MessageStreamEvents>(event: Event, listener: MessageStreamEvents[Event]): this {
251
- const listeners: MessageStreamEventListeners<Event> =
252
- this.#listeners[event] || (this.#listeners[event] = []);
253
- listeners.push({ listener, once: true });
254
- return this;
255
- }
256
-
257
- /**
258
- * This is similar to `.once()`, but returns a Promise that resolves the next time
259
- * the event is triggered, instead of calling a listener callback.
260
- * @returns a Promise that resolves the next time given event is triggered,
261
- * or rejects if an error is emitted. (If you request the 'error' event,
262
- * returns a promise that resolves with the error).
263
- *
264
- * Example:
265
- *
266
- * const message = await stream.emitted('message') // rejects if the stream errors
267
- */
268
- emitted<Event extends keyof MessageStreamEvents>(
269
- event: Event,
270
- ): Promise<
271
- Parameters<MessageStreamEvents[Event]> extends [infer Param] ? Param
272
- : Parameters<MessageStreamEvents[Event]> extends [] ? void
273
- : Parameters<MessageStreamEvents[Event]>
274
- > {
275
- return new Promise((resolve, reject) => {
276
- this.#catchingPromiseCreated = true;
277
- if (event !== 'error') this.once('error', reject);
278
- this.once(event, resolve as any);
279
- });
280
- }
281
-
282
- async done(): Promise<void> {
283
- this.#catchingPromiseCreated = true;
284
- await this.#endPromise;
285
- }
286
-
287
- get currentMessage(): Message | undefined {
288
- return this.#currentMessageSnapshot;
289
- }
290
-
291
- #getFinalMessage(): Message {
292
- if (this.receivedMessages.length === 0) {
293
- throw new AnthropicError('stream ended without producing a Message with role=assistant');
294
- }
295
- return this.receivedMessages.at(-1)!;
296
- }
297
-
298
- /**
299
- * @returns a promise that resolves with the the final assistant Message response,
300
- * or rejects if an error occurred or the stream ended prematurely without producing a Message.
301
- */
302
- async finalMessage(): Promise<Message> {
303
- await this.done();
304
- return this.#getFinalMessage();
305
- }
306
-
307
- #getFinalText(): string {
308
- if (this.receivedMessages.length === 0) {
309
- throw new AnthropicError('stream ended without producing a Message with role=assistant');
310
- }
311
- const textBlocks = this.receivedMessages
312
- .at(-1)!
313
- .content.filter((block): block is TextBlock => block.type === 'text')
314
- .map((block) => block.text);
315
- if (textBlocks.length === 0) {
316
- throw new AnthropicError('stream ended without producing a content block with type=text');
317
- }
318
- return textBlocks.join(' ');
319
- }
320
-
321
- /**
322
- * @returns a promise that resolves with the the final assistant Message's text response, concatenated
323
- * together if there are more than one text blocks.
324
- * Rejects if an error occurred or the stream ended prematurely without producing a Message.
325
- */
326
- async finalText(): Promise<string> {
327
- await this.done();
328
- return this.#getFinalText();
329
- }
330
-
331
- #handleError = (error: unknown) => {
332
- this.#errored = true;
333
- if (error instanceof Error && error.name === 'AbortError') {
334
- error = new APIUserAbortError();
335
- }
336
- if (error instanceof APIUserAbortError) {
337
- this.#aborted = true;
338
- return this._emit('abort', error);
339
- }
340
- if (error instanceof AnthropicError) {
341
- return this._emit('error', error);
342
- }
343
- if (error instanceof Error) {
344
- const anthropicError: AnthropicError = new AnthropicError(error.message);
345
- // @ts-ignore
346
- anthropicError.cause = error;
347
- return this._emit('error', anthropicError);
348
- }
349
- return this._emit('error', new AnthropicError(String(error)));
350
- };
351
-
352
- protected _emit<Event extends keyof MessageStreamEvents>(
353
- event: Event,
354
- ...args: Parameters<MessageStreamEvents[Event]>
355
- ) {
356
- // make sure we don't emit any MessageStreamEvents after end
357
- if (this.#ended) return;
358
-
359
- if (event === 'end') {
360
- this.#ended = true;
361
- this.#resolveEndPromise();
362
- }
363
-
364
- const listeners: MessageStreamEventListeners<Event> | undefined = this.#listeners[event];
365
- if (listeners) {
366
- this.#listeners[event] = listeners.filter((l) => !l.once) as any;
367
- listeners.forEach(({ listener }: any) => listener(...args));
368
- }
369
-
370
- if (event === 'abort') {
371
- const error = args[0] as APIUserAbortError;
372
- if (!this.#catchingPromiseCreated && !listeners?.length) {
373
- Promise.reject(error);
374
- }
375
- this.#rejectConnectedPromise(error);
376
- this.#rejectEndPromise(error);
377
- this._emit('end');
378
- return;
379
- }
380
-
381
- if (event === 'error') {
382
- // NOTE: _emit('error', error) should only be called from #handleError().
383
-
384
- const error = args[0] as AnthropicError;
385
- if (!this.#catchingPromiseCreated && !listeners?.length) {
386
- // Trigger an unhandled rejection if the user hasn't registered any error handlers.
387
- // If you are seeing stack traces here, make sure to handle errors via either:
388
- // - runner.on('error', () => ...)
389
- // - await runner.done()
390
- // - await runner.final...()
391
- // - etc.
392
- Promise.reject(error);
393
- }
394
- this.#rejectConnectedPromise(error);
395
- this.#rejectEndPromise(error);
396
- this._emit('end');
397
- }
398
- }
399
-
400
- protected _emitFinal() {
401
- const finalMessage = this.receivedMessages.at(-1);
402
- if (finalMessage) {
403
- this._emit('finalMessage', this.#getFinalMessage());
404
- }
405
- }
406
-
407
- #beginRequest() {
408
- if (this.ended) return;
409
- this.#currentMessageSnapshot = undefined;
410
- }
411
- #addStreamEvent(event: MessageStreamEvent) {
412
- if (this.ended) return;
413
- const messageSnapshot = this.#accumulateMessage(event);
414
- this._emit('streamEvent', event, messageSnapshot);
415
-
416
- switch (event.type) {
417
- case 'content_block_delta': {
418
- const content = messageSnapshot.content.at(-1)!;
419
- switch (event.delta.type) {
420
- case 'text_delta': {
421
- if (content.type === 'text') {
422
- this._emit('text', event.delta.text, content.text || '');
423
- }
424
- break;
425
- }
426
- case 'citations_delta': {
427
- if (content.type === 'text') {
428
- this._emit('citation', event.delta.citation, content.citations ?? []);
429
- }
430
- break;
431
- }
432
- case 'input_json_delta': {
433
- if (content.type === 'tool_use' && content.input) {
434
- this._emit('inputJson', event.delta.partial_json, content.input);
435
- }
436
- break;
437
- }
438
- case 'thinking_delta': {
439
- if (content.type === 'thinking') {
440
- this._emit('thinking', event.delta.thinking, content.thinking);
441
- }
442
- break;
443
- }
444
- case 'signature_delta': {
445
- // we don't emit anything special in this case.
446
- break;
447
- }
448
- default:
449
- checkNever(event.delta);
450
- }
451
- break;
452
- }
453
- case 'message_stop': {
454
- this._addMessageParam(messageSnapshot);
455
- this._addMessage(messageSnapshot, true);
456
- break;
457
- }
458
- case 'content_block_stop': {
459
- this._emit('contentBlock', messageSnapshot.content.at(-1)!);
460
- break;
461
- }
462
- case 'message_start': {
463
- this.#currentMessageSnapshot = messageSnapshot;
464
- break;
465
- }
466
- case 'content_block_start':
467
- case 'message_delta':
468
- break;
469
- }
470
- }
471
- #endRequest(): Message {
472
- if (this.ended) {
473
- throw new AnthropicError(`stream has ended, this shouldn't happen`);
474
- }
475
- const snapshot = this.#currentMessageSnapshot;
476
- if (!snapshot) {
477
- throw new AnthropicError(`request ended without sending any chunks`);
478
- }
479
- this.#currentMessageSnapshot = undefined;
480
- return snapshot;
481
- }
482
-
483
- protected async _fromReadableStream(
484
- readableStream: ReadableStream,
485
- options?: Core.RequestOptions,
486
- ): Promise<void> {
487
- const signal = options?.signal;
488
- if (signal) {
489
- if (signal.aborted) this.controller.abort();
490
- signal.addEventListener('abort', () => this.controller.abort());
491
- }
492
- this.#beginRequest();
493
- this._connected(null);
494
- const stream = Stream.fromReadableStream<MessageStreamEvent>(readableStream, this.controller);
495
- for await (const event of stream) {
496
- this.#addStreamEvent(event);
497
- }
498
- if (stream.controller.signal?.aborted) {
499
- throw new APIUserAbortError();
500
- }
501
- this.#endRequest();
502
- }
503
-
504
- /**
505
- * Mutates this.#currentMessage with the current event. Handling the accumulation of multiple messages
506
- * will be needed to be handled by the caller, this method will throw if you try to accumulate for multiple
507
- * messages.
508
- */
509
- #accumulateMessage(event: MessageStreamEvent): Message {
510
- let snapshot = this.#currentMessageSnapshot;
511
-
512
- if (event.type === 'message_start') {
513
- if (snapshot) {
514
- throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);
515
- }
516
- return event.message;
517
- }
518
-
519
- if (!snapshot) {
520
- throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);
521
- }
522
-
523
- switch (event.type) {
524
- case 'message_stop':
525
- return snapshot;
526
- case 'message_delta':
527
- snapshot.stop_reason = event.delta.stop_reason;
528
- snapshot.stop_sequence = event.delta.stop_sequence;
529
- snapshot.usage.output_tokens = event.usage.output_tokens;
530
- return snapshot;
531
- case 'content_block_start':
532
- snapshot.content.push(event.content_block);
533
- return snapshot;
534
- case 'content_block_delta': {
535
- const snapshotContent = snapshot.content.at(event.index);
536
-
537
- switch (event.delta.type) {
538
- case 'text_delta': {
539
- if (snapshotContent?.type === 'text') {
540
- snapshotContent.text += event.delta.text;
541
- }
542
- break;
543
- }
544
- case 'citations_delta': {
545
- if (snapshotContent?.type === 'text') {
546
- snapshotContent.citations ??= [];
547
- snapshotContent.citations.push(event.delta.citation);
548
- }
549
- break;
550
- }
551
- case 'input_json_delta': {
552
- if (snapshotContent?.type === 'tool_use') {
553
- // we need to keep track of the raw JSON string as well so that we can
554
- // re-parse it for each delta, for now we just store it as an untyped
555
- // non-enumerable property on the snapshot
556
- let jsonBuf = (snapshotContent as any)[JSON_BUF_PROPERTY] || '';
557
- jsonBuf += event.delta.partial_json;
558
-
559
- Object.defineProperty(snapshotContent, JSON_BUF_PROPERTY, {
560
- value: jsonBuf,
561
- enumerable: false,
562
- writable: true,
563
- });
564
-
565
- if (jsonBuf) {
566
- snapshotContent.input = partialParse(jsonBuf);
567
- }
568
- }
569
- break;
570
- }
571
- case 'thinking_delta': {
572
- if (snapshotContent?.type === 'thinking') {
573
- snapshotContent.thinking += event.delta.thinking;
574
- }
575
- break;
576
- }
577
- case 'signature_delta': {
578
- if (snapshotContent?.type === 'thinking') {
579
- snapshotContent.signature += event.delta.signature;
580
- }
581
- break;
582
- }
583
- default:
584
- checkNever(event.delta);
585
- }
586
-
587
- return snapshot;
588
- }
589
- case 'content_block_stop':
590
- return snapshot;
591
- }
592
- }
593
-
594
- [Symbol.asyncIterator](): AsyncIterator<MessageStreamEvent> {
595
- const pushQueue: MessageStreamEvent[] = [];
596
- const readQueue: {
597
- resolve: (chunk: MessageStreamEvent | undefined) => void;
598
- reject: (error: unknown) => void;
599
- }[] = [];
600
- let done = false;
601
-
602
- this.on('streamEvent', (event) => {
603
- const reader = readQueue.shift();
604
- if (reader) {
605
- reader.resolve(event);
606
- } else {
607
- pushQueue.push(event);
608
- }
609
- });
610
-
611
- this.on('end', () => {
612
- done = true;
613
- for (const reader of readQueue) {
614
- reader.resolve(undefined);
615
- }
616
- readQueue.length = 0;
617
- });
618
-
619
- this.on('abort', (err) => {
620
- done = true;
621
- for (const reader of readQueue) {
622
- reader.reject(err);
623
- }
624
- readQueue.length = 0;
625
- });
626
-
627
- this.on('error', (err) => {
628
- done = true;
629
- for (const reader of readQueue) {
630
- reader.reject(err);
631
- }
632
- readQueue.length = 0;
633
- });
634
-
635
- return {
636
- next: async (): Promise<IteratorResult<MessageStreamEvent>> => {
637
- if (!pushQueue.length) {
638
- if (done) {
639
- return { value: undefined, done: true };
640
- }
641
- return new Promise<MessageStreamEvent | undefined>((resolve, reject) =>
642
- readQueue.push({ resolve, reject }),
643
- ).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
644
- }
645
- const chunk = pushQueue.shift()!;
646
- return { value: chunk, done: false };
647
- },
648
- return: async () => {
649
- this.abort();
650
- return { value: undefined, done: true };
651
- },
652
- };
653
- }
654
-
655
- toReadableStream(): ReadableStream {
656
- const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
657
- return stream.toReadableStream();
658
- }
659
- }
660
-
661
- // used to ensure exhaustive case matching without throwing a runtime error
662
- function checkNever(x: never) {}