@anthropic-ai/sdk 0.34.0-alpha.0 → 0.36.2

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 (496) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +19 -17
  3. package/_shims/MultipartBody.d.ts +9 -0
  4. package/_shims/MultipartBody.d.ts.map +1 -0
  5. package/_shims/MultipartBody.js +16 -0
  6. package/_shims/MultipartBody.js.map +1 -0
  7. package/_shims/MultipartBody.mjs +12 -0
  8. package/_shims/MultipartBody.mjs.map +1 -0
  9. package/_shims/README.md +46 -0
  10. package/_shims/auto/runtime-bun.d.ts +5 -0
  11. package/_shims/auto/runtime-bun.d.ts.map +1 -0
  12. package/{internal/utils.js → _shims/auto/runtime-bun.js} +5 -8
  13. package/_shims/auto/runtime-bun.js.map +1 -0
  14. package/_shims/auto/runtime-bun.mjs +2 -0
  15. package/_shims/auto/runtime-bun.mjs.map +1 -0
  16. package/_shims/auto/runtime-node.d.ts +5 -0
  17. package/_shims/auto/runtime-node.d.ts.map +1 -0
  18. package/_shims/auto/runtime-node.js +21 -0
  19. package/_shims/auto/runtime-node.js.map +1 -0
  20. package/_shims/auto/runtime-node.mjs +2 -0
  21. package/_shims/auto/runtime-node.mjs.map +1 -0
  22. package/_shims/auto/runtime.d.ts +5 -0
  23. package/_shims/auto/runtime.d.ts.map +1 -0
  24. package/_shims/auto/runtime.js +21 -0
  25. package/_shims/auto/runtime.js.map +1 -0
  26. package/_shims/auto/runtime.mjs +2 -0
  27. package/_shims/auto/runtime.mjs.map +1 -0
  28. package/_shims/auto/types-node.d.ts +5 -0
  29. package/_shims/auto/types-node.d.ts.map +1 -0
  30. package/_shims/auto/types-node.js +21 -0
  31. package/_shims/auto/types-node.js.map +1 -0
  32. package/_shims/auto/types-node.mjs +2 -0
  33. package/_shims/auto/types-node.mjs.map +1 -0
  34. package/_shims/auto/types.d.ts +101 -0
  35. package/_shims/auto/types.js +3 -0
  36. package/_shims/auto/types.mjs +3 -0
  37. package/_shims/bun-runtime.d.ts +6 -0
  38. package/_shims/bun-runtime.d.ts.map +1 -0
  39. package/_shims/bun-runtime.js +14 -0
  40. package/_shims/bun-runtime.js.map +1 -0
  41. package/_shims/bun-runtime.mjs +10 -0
  42. package/_shims/bun-runtime.mjs.map +1 -0
  43. package/_shims/index.d.ts +81 -0
  44. package/_shims/index.js +13 -0
  45. package/_shims/index.mjs +7 -0
  46. package/_shims/manual-types.d.ts +12 -0
  47. package/_shims/manual-types.js +3 -0
  48. package/_shims/manual-types.mjs +3 -0
  49. package/_shims/node-runtime.d.ts +3 -0
  50. package/_shims/node-runtime.d.ts.map +1 -0
  51. package/_shims/node-runtime.js +89 -0
  52. package/_shims/node-runtime.js.map +1 -0
  53. package/_shims/node-runtime.mjs +56 -0
  54. package/_shims/node-runtime.mjs.map +1 -0
  55. package/_shims/node-types.d.ts +42 -0
  56. package/_shims/node-types.js +3 -0
  57. package/_shims/node-types.mjs +3 -0
  58. package/_shims/registry.d.ts +37 -0
  59. package/_shims/registry.d.ts.map +1 -0
  60. package/_shims/registry.js +41 -0
  61. package/_shims/registry.js.map +1 -0
  62. package/_shims/registry.mjs +37 -0
  63. package/_shims/registry.mjs.map +1 -0
  64. package/_shims/web-runtime.d.ts +5 -0
  65. package/_shims/web-runtime.d.ts.map +1 -0
  66. package/_shims/web-runtime.js +78 -0
  67. package/_shims/web-runtime.js.map +1 -0
  68. package/_shims/web-runtime.mjs +71 -0
  69. package/_shims/web-runtime.mjs.map +1 -0
  70. package/_shims/web-types.d.ts +83 -0
  71. package/_shims/web-types.js +3 -0
  72. package/_shims/web-types.mjs +3 -0
  73. package/core.d.ts +248 -0
  74. package/core.d.ts.map +1 -0
  75. package/core.js +929 -0
  76. package/core.js.map +1 -0
  77. package/core.mjs +897 -0
  78. package/core.mjs.map +1 -0
  79. package/error.d.ts +2 -2
  80. package/error.d.ts.map +1 -1
  81. package/error.js +3 -3
  82. package/error.js.map +1 -1
  83. package/error.mjs +2 -2
  84. package/error.mjs.map +1 -1
  85. package/index.d.mts +150 -5
  86. package/index.d.ts +150 -5
  87. package/index.d.ts.map +1 -1
  88. package/index.js +159 -18
  89. package/index.js.map +1 -1
  90. package/index.mjs +133 -5
  91. package/index.mjs.map +1 -1
  92. package/internal/decoders/jsonl.d.ts +1 -0
  93. package/internal/decoders/jsonl.d.ts.map +1 -1
  94. package/internal/decoders/jsonl.js +2 -2
  95. package/internal/decoders/jsonl.js.map +1 -1
  96. package/internal/decoders/jsonl.mjs +2 -2
  97. package/internal/decoders/jsonl.mjs.map +1 -1
  98. package/internal/decoders/line.d.ts +0 -1
  99. package/internal/decoders/line.d.ts.map +1 -1
  100. package/internal/stream-utils.d.ts +8 -0
  101. package/internal/stream-utils.d.ts.map +1 -0
  102. package/internal/stream-utils.js +39 -0
  103. package/internal/stream-utils.js.map +1 -0
  104. package/internal/stream-utils.mjs +35 -0
  105. package/internal/stream-utils.mjs.map +1 -0
  106. package/lib/{MessageStream.d.mts → BetaMessageStream.d.ts} +39 -22
  107. package/lib/BetaMessageStream.d.ts.map +1 -0
  108. package/lib/BetaMessageStream.js +492 -0
  109. package/lib/BetaMessageStream.js.map +1 -0
  110. package/lib/BetaMessageStream.mjs +488 -0
  111. package/lib/BetaMessageStream.mjs.map +1 -0
  112. package/lib/MessageStream.d.ts +25 -8
  113. package/lib/MessageStream.d.ts.map +1 -1
  114. package/lib/MessageStream.js +42 -9
  115. package/lib/MessageStream.js.map +1 -1
  116. package/lib/MessageStream.mjs +42 -9
  117. package/lib/MessageStream.mjs.map +1 -1
  118. package/package.json +64 -120
  119. package/pagination.d.ts +4 -41
  120. package/pagination.d.ts.map +1 -1
  121. package/pagination.js +21 -95
  122. package/pagination.js.map +1 -1
  123. package/pagination.mjs +19 -91
  124. package/pagination.mjs.map +1 -1
  125. package/resource.d.ts +3 -3
  126. package/resource.d.ts.map +1 -1
  127. package/resource.js.map +1 -1
  128. package/resource.mjs.map +1 -1
  129. package/resources/beta/beta.d.ts +3 -3
  130. package/resources/beta/beta.d.ts.map +1 -1
  131. package/resources/beta/beta.js +1 -0
  132. package/resources/beta/beta.js.map +1 -1
  133. package/resources/beta/beta.mjs +2 -1
  134. package/resources/beta/beta.mjs.map +1 -1
  135. package/resources/beta/index.d.ts +2 -2
  136. package/resources/beta/index.d.ts.map +1 -1
  137. package/resources/beta/index.js +4 -3
  138. package/resources/beta/index.js.map +1 -1
  139. package/resources/beta/index.mjs +1 -1
  140. package/resources/beta/index.mjs.map +1 -1
  141. package/resources/beta/messages/batches.d.ts +20 -14
  142. package/resources/beta/messages/batches.d.ts.map +1 -1
  143. package/resources/beta/messages/batches.js +36 -47
  144. package/resources/beta/messages/batches.js.map +1 -1
  145. package/resources/beta/messages/batches.mjs +34 -46
  146. package/resources/beta/messages/batches.mjs.map +1 -1
  147. package/resources/beta/messages/index.d.ts +2 -2
  148. package/resources/beta/messages/index.d.ts.map +1 -1
  149. package/resources/beta/messages/index.js +2 -1
  150. package/resources/beta/messages/index.js.map +1 -1
  151. package/resources/beta/messages/index.mjs +1 -1
  152. package/resources/beta/messages/index.mjs.map +1 -1
  153. package/resources/beta/messages/messages.d.ts +95 -10
  154. package/resources/beta/messages/messages.d.ts.map +1 -1
  155. package/resources/beta/messages/messages.js +21 -0
  156. package/resources/beta/messages/messages.js.map +1 -1
  157. package/resources/beta/messages/messages.mjs +22 -1
  158. package/resources/beta/messages/messages.mjs.map +1 -1
  159. package/resources/beta/models.d.ts +8 -7
  160. package/resources/beta/models.d.ts.map +1 -1
  161. package/resources/beta/models.js +12 -10
  162. package/resources/beta/models.js.map +1 -1
  163. package/resources/beta/models.mjs +10 -9
  164. package/resources/beta/models.mjs.map +1 -1
  165. package/resources/completions.d.ts +5 -5
  166. package/resources/completions.d.ts.map +1 -1
  167. package/resources/completions.js.map +1 -1
  168. package/resources/completions.mjs.map +1 -1
  169. package/resources/index.d.ts +2 -2
  170. package/resources/index.d.ts.map +1 -1
  171. package/resources/index.js +2 -1
  172. package/resources/index.js.map +1 -1
  173. package/resources/index.mjs +1 -1
  174. package/resources/index.mjs.map +1 -1
  175. package/resources/messages/batches.d.ts +16 -14
  176. package/resources/messages/batches.d.ts.map +1 -1
  177. package/resources/messages/batches.js +30 -18
  178. package/resources/messages/batches.js.map +1 -1
  179. package/resources/messages/batches.mjs +28 -17
  180. package/resources/messages/batches.mjs.map +1 -1
  181. package/resources/messages/index.d.ts +2 -2
  182. package/resources/messages/index.d.ts.map +1 -1
  183. package/resources/messages/index.js +2 -1
  184. package/resources/messages/index.js.map +1 -1
  185. package/resources/messages/index.mjs +1 -1
  186. package/resources/messages/index.mjs.map +1 -1
  187. package/resources/messages/messages.d.ts +90 -11
  188. package/resources/messages/messages.d.ts.map +1 -1
  189. package/resources/messages/messages.js +4 -0
  190. package/resources/messages/messages.js.map +1 -1
  191. package/resources/messages/messages.mjs +5 -1
  192. package/resources/messages/messages.mjs.map +1 -1
  193. package/resources/models.d.ts +8 -7
  194. package/resources/models.d.ts.map +1 -1
  195. package/resources/models.js +12 -10
  196. package/resources/models.js.map +1 -1
  197. package/resources/models.mjs +10 -9
  198. package/resources/models.mjs.map +1 -1
  199. package/shims/node.d.ts +30 -0
  200. package/shims/node.d.ts.map +1 -0
  201. package/shims/node.js +31 -0
  202. package/shims/node.js.map +1 -0
  203. package/shims/node.mjs +5 -0
  204. package/shims/node.mjs.map +1 -0
  205. package/shims/web.d.ts +26 -0
  206. package/shims/web.d.ts.map +1 -0
  207. package/shims/web.js +31 -0
  208. package/shims/web.js.map +1 -0
  209. package/shims/web.mjs +5 -0
  210. package/shims/web.mjs.map +1 -0
  211. package/src/_shims/MultipartBody.ts +9 -0
  212. package/src/_shims/README.md +46 -0
  213. package/src/_shims/auto/runtime-bun.ts +4 -0
  214. package/src/_shims/auto/runtime-node.ts +4 -0
  215. package/src/_shims/auto/runtime.ts +4 -0
  216. package/src/_shims/auto/types-node.ts +4 -0
  217. package/src/_shims/auto/types.d.ts +101 -0
  218. package/src/_shims/auto/types.js +3 -0
  219. package/src/_shims/auto/types.mjs +3 -0
  220. package/src/_shims/bun-runtime.ts +14 -0
  221. package/src/_shims/index.d.ts +81 -0
  222. package/src/_shims/index.js +13 -0
  223. package/src/_shims/index.mjs +7 -0
  224. package/src/_shims/manual-types.d.ts +12 -0
  225. package/src/_shims/manual-types.js +3 -0
  226. package/src/_shims/manual-types.mjs +3 -0
  227. package/src/_shims/node-runtime.ts +81 -0
  228. package/src/_shims/node-types.d.ts +42 -0
  229. package/src/_shims/node-types.js +3 -0
  230. package/src/_shims/node-types.mjs +3 -0
  231. package/src/_shims/registry.ts +67 -0
  232. package/src/_shims/web-runtime.ts +103 -0
  233. package/src/_shims/web-types.d.ts +83 -0
  234. package/src/_shims/web-types.js +3 -0
  235. package/src/_shims/web-types.mjs +3 -0
  236. package/src/core.ts +1242 -0
  237. package/src/error.ts +3 -3
  238. package/src/index.ts +432 -12
  239. package/src/internal/decoders/jsonl.ts +5 -4
  240. package/src/internal/decoders/line.ts +1 -1
  241. package/src/internal/stream-utils.ts +32 -0
  242. package/src/lib/BetaMessageStream.ts +599 -0
  243. package/src/lib/MessageStream.ts +58 -20
  244. package/src/pagination.ts +18 -122
  245. package/src/resource.ts +3 -3
  246. package/src/resources/beta/beta.ts +33 -6
  247. package/src/resources/beta/index.ts +16 -3
  248. package/src/resources/beta/messages/batches.ts +94 -42
  249. package/src/resources/beta/messages/index.ts +17 -3
  250. package/src/resources/beta/messages/messages.ts +202 -18
  251. package/src/resources/beta/models.ts +22 -12
  252. package/src/resources/completions.ts +13 -10
  253. package/src/resources/index.ts +18 -5
  254. package/src/resources/messages/batches.ts +46 -28
  255. package/src/resources/messages/index.ts +16 -3
  256. package/src/resources/messages/messages.ts +174 -22
  257. package/src/resources/models.ts +19 -12
  258. package/src/shims/node.ts +50 -0
  259. package/src/shims/web.ts +50 -0
  260. package/src/streaming.ts +15 -42
  261. package/src/tsconfig.json +1 -1
  262. package/src/uploads.ts +54 -57
  263. package/src/version.ts +1 -1
  264. package/streaming.d.ts +1 -8
  265. package/streaming.d.ts.map +1 -1
  266. package/streaming.js +8 -41
  267. package/streaming.js.map +1 -1
  268. package/streaming.mjs +7 -39
  269. package/streaming.mjs.map +1 -1
  270. package/uploads.d.ts +19 -23
  271. package/uploads.d.ts.map +1 -1
  272. package/uploads.js +27 -33
  273. package/uploads.js.map +1 -1
  274. package/uploads.mjs +21 -29
  275. package/uploads.mjs.map +1 -1
  276. package/version.d.ts +1 -1
  277. package/version.d.ts.map +1 -1
  278. package/version.js +1 -1
  279. package/version.js.map +1 -1
  280. package/version.mjs +1 -1
  281. package/version.mjs.map +1 -1
  282. package/_vendor/partial-json-parser/parser.d.mts +0 -3
  283. package/_vendor/partial-json-parser/parser.d.mts.map +0 -1
  284. package/api-promise.d.mts +0 -48
  285. package/api-promise.d.mts.map +0 -1
  286. package/api-promise.d.ts +0 -48
  287. package/api-promise.d.ts.map +0 -1
  288. package/api-promise.js +0 -71
  289. package/api-promise.js.map +0 -1
  290. package/api-promise.mjs +0 -67
  291. package/api-promise.mjs.map +0 -1
  292. package/client.d.mts +0 -212
  293. package/client.d.mts.map +0 -1
  294. package/client.d.ts +0 -212
  295. package/client.d.ts.map +0 -1
  296. package/client.js +0 -505
  297. package/client.js.map +0 -1
  298. package/client.mjs +0 -477
  299. package/client.mjs.map +0 -1
  300. package/error.d.mts +0 -48
  301. package/error.d.mts.map +0 -1
  302. package/index.d.mts.map +0 -1
  303. package/internal/builtin-types.d.mts +0 -65
  304. package/internal/builtin-types.d.mts.map +0 -1
  305. package/internal/builtin-types.d.ts +0 -65
  306. package/internal/builtin-types.d.ts.map +0 -1
  307. package/internal/builtin-types.js +0 -4
  308. package/internal/builtin-types.js.map +0 -1
  309. package/internal/builtin-types.mjs +0 -3
  310. package/internal/builtin-types.mjs.map +0 -1
  311. package/internal/decoders/jsonl.d.mts +0 -11
  312. package/internal/decoders/jsonl.d.mts.map +0 -1
  313. package/internal/decoders/line.d.mts +0 -21
  314. package/internal/decoders/line.d.mts.map +0 -1
  315. package/internal/detect-platform.d.mts +0 -15
  316. package/internal/detect-platform.d.mts.map +0 -1
  317. package/internal/detect-platform.d.ts +0 -15
  318. package/internal/detect-platform.d.ts.map +0 -1
  319. package/internal/detect-platform.js +0 -162
  320. package/internal/detect-platform.js.map +0 -1
  321. package/internal/detect-platform.mjs +0 -157
  322. package/internal/detect-platform.mjs.map +0 -1
  323. package/internal/errors.d.mts +0 -3
  324. package/internal/errors.d.mts.map +0 -1
  325. package/internal/errors.d.ts +0 -3
  326. package/internal/errors.d.ts.map +0 -1
  327. package/internal/errors.js +0 -22
  328. package/internal/errors.js.map +0 -1
  329. package/internal/errors.mjs +0 -17
  330. package/internal/errors.mjs.map +0 -1
  331. package/internal/headers.d.mts +0 -21
  332. package/internal/headers.d.mts.map +0 -1
  333. package/internal/headers.d.ts +0 -21
  334. package/internal/headers.d.ts.map +0 -1
  335. package/internal/headers.js +0 -77
  336. package/internal/headers.js.map +0 -1
  337. package/internal/headers.mjs +0 -72
  338. package/internal/headers.mjs.map +0 -1
  339. package/internal/parse.d.mts +0 -14
  340. package/internal/parse.d.mts.map +0 -1
  341. package/internal/parse.d.ts +0 -14
  342. package/internal/parse.d.ts.map +0 -1
  343. package/internal/parse.js +0 -48
  344. package/internal/parse.js.map +0 -1
  345. package/internal/parse.mjs +0 -43
  346. package/internal/parse.mjs.map +0 -1
  347. package/internal/polyfill/crypto.node.d.ts +0 -10
  348. package/internal/polyfill/crypto.node.js +0 -11
  349. package/internal/polyfill/crypto.node.mjs +0 -2
  350. package/internal/polyfill/file.node.d.ts +0 -9
  351. package/internal/polyfill/file.node.js +0 -17
  352. package/internal/polyfill/file.node.mjs +0 -9
  353. package/internal/request-options.d.mts +0 -37
  354. package/internal/request-options.d.mts.map +0 -1
  355. package/internal/request-options.d.ts +0 -37
  356. package/internal/request-options.d.ts.map +0 -1
  357. package/internal/request-options.js +0 -40
  358. package/internal/request-options.js.map +0 -1
  359. package/internal/request-options.mjs +0 -35
  360. package/internal/request-options.mjs.map +0 -1
  361. package/internal/shim-types.d.mts +0 -28
  362. package/internal/shim-types.d.ts +0 -28
  363. package/internal/shims.d.mts +0 -65
  364. package/internal/shims.d.mts.map +0 -1
  365. package/internal/shims.d.ts +0 -65
  366. package/internal/shims.d.ts.map +0 -1
  367. package/internal/shims.js +0 -66
  368. package/internal/shims.js.map +0 -1
  369. package/internal/shims.mjs +0 -58
  370. package/internal/shims.mjs.map +0 -1
  371. package/internal/types.d.mts +0 -6
  372. package/internal/types.d.mts.map +0 -1
  373. package/internal/types.d.ts +0 -6
  374. package/internal/types.d.ts.map +0 -1
  375. package/internal/types.js +0 -4
  376. package/internal/types.js.map +0 -1
  377. package/internal/types.mjs +0 -3
  378. package/internal/types.mjs.map +0 -1
  379. package/internal/utils/base64.d.mts +0 -3
  380. package/internal/utils/base64.d.mts.map +0 -1
  381. package/internal/utils/base64.d.ts +0 -3
  382. package/internal/utils/base64.d.ts.map +0 -1
  383. package/internal/utils/base64.js +0 -33
  384. package/internal/utils/base64.js.map +0 -1
  385. package/internal/utils/base64.mjs +0 -28
  386. package/internal/utils/base64.mjs.map +0 -1
  387. package/internal/utils/env.d.mts +0 -9
  388. package/internal/utils/env.d.mts.map +0 -1
  389. package/internal/utils/env.d.ts +0 -9
  390. package/internal/utils/env.d.ts.map +0 -1
  391. package/internal/utils/env.js +0 -22
  392. package/internal/utils/env.js.map +0 -1
  393. package/internal/utils/env.mjs +0 -18
  394. package/internal/utils/env.mjs.map +0 -1
  395. package/internal/utils/log.d.mts +0 -2
  396. package/internal/utils/log.d.mts.map +0 -1
  397. package/internal/utils/log.d.ts +0 -2
  398. package/internal/utils/log.d.ts.map +0 -1
  399. package/internal/utils/log.js +0 -12
  400. package/internal/utils/log.js.map +0 -1
  401. package/internal/utils/log.mjs +0 -8
  402. package/internal/utils/log.mjs.map +0 -1
  403. package/internal/utils/sleep.d.mts +0 -2
  404. package/internal/utils/sleep.d.mts.map +0 -1
  405. package/internal/utils/sleep.d.ts +0 -2
  406. package/internal/utils/sleep.d.ts.map +0 -1
  407. package/internal/utils/sleep.js +0 -7
  408. package/internal/utils/sleep.js.map +0 -1
  409. package/internal/utils/sleep.mjs +0 -3
  410. package/internal/utils/sleep.mjs.map +0 -1
  411. package/internal/utils/uuid.d.mts +0 -5
  412. package/internal/utils/uuid.d.mts.map +0 -1
  413. package/internal/utils/uuid.d.ts +0 -5
  414. package/internal/utils/uuid.d.ts.map +0 -1
  415. package/internal/utils/uuid.js +0 -15
  416. package/internal/utils/uuid.js.map +0 -1
  417. package/internal/utils/uuid.mjs +0 -11
  418. package/internal/utils/uuid.mjs.map +0 -1
  419. package/internal/utils/values.d.mts +0 -15
  420. package/internal/utils/values.d.mts.map +0 -1
  421. package/internal/utils/values.d.ts +0 -15
  422. package/internal/utils/values.d.ts.map +0 -1
  423. package/internal/utils/values.js +0 -100
  424. package/internal/utils/values.js.map +0 -1
  425. package/internal/utils/values.mjs +0 -84
  426. package/internal/utils/values.mjs.map +0 -1
  427. package/internal/utils.d.mts +0 -7
  428. package/internal/utils.d.mts.map +0 -1
  429. package/internal/utils.d.ts +0 -7
  430. package/internal/utils.d.ts.map +0 -1
  431. package/internal/utils.js.map +0 -1
  432. package/internal/utils.mjs +0 -8
  433. package/internal/utils.mjs.map +0 -1
  434. package/lib/MessageStream.d.mts.map +0 -1
  435. package/pagination.d.mts +0 -63
  436. package/pagination.d.mts.map +0 -1
  437. package/resource.d.mts +0 -6
  438. package/resource.d.mts.map +0 -1
  439. package/resources/beta/beta.d.mts +0 -57
  440. package/resources/beta/beta.d.mts.map +0 -1
  441. package/resources/beta/index.d.mts +0 -4
  442. package/resources/beta/index.d.mts.map +0 -1
  443. package/resources/beta/messages/batches.d.mts +0 -261
  444. package/resources/beta/messages/batches.d.mts.map +0 -1
  445. package/resources/beta/messages/index.d.mts +0 -3
  446. package/resources/beta/messages/index.d.mts.map +0 -1
  447. package/resources/beta/messages/messages.d.mts +0 -879
  448. package/resources/beta/messages/messages.d.mts.map +0 -1
  449. package/resources/beta/models.d.mts +0 -48
  450. package/resources/beta/models.d.mts.map +0 -1
  451. package/resources/completions.d.mts +0 -166
  452. package/resources/completions.d.mts.map +0 -1
  453. package/resources/index.d.mts +0 -6
  454. package/resources/index.d.mts.map +0 -1
  455. package/resources/messages/batches.d.mts +0 -229
  456. package/resources/messages/batches.d.mts.map +0 -1
  457. package/resources/messages/index.d.mts +0 -3
  458. package/resources/messages/index.d.mts.map +0 -1
  459. package/resources/messages/messages.d.mts +0 -859
  460. package/resources/messages/messages.d.mts.map +0 -1
  461. package/resources/models.d.mts +0 -48
  462. package/resources/models.d.mts.map +0 -1
  463. package/resources/shared.d.mts +0 -42
  464. package/resources/shared.d.mts.map +0 -1
  465. package/resources/top-level.d.mts +0 -2
  466. package/resources/top-level.d.mts.map +0 -1
  467. package/src/api-promise.ts +0 -93
  468. package/src/client.ts +0 -863
  469. package/src/internal/builtin-types.ts +0 -79
  470. package/src/internal/detect-platform.ts +0 -192
  471. package/src/internal/errors.ts +0 -18
  472. package/src/internal/headers.ts +0 -96
  473. package/src/internal/parse.ts +0 -70
  474. package/src/internal/polyfill/crypto.node.d.ts +0 -10
  475. package/src/internal/polyfill/crypto.node.js +0 -11
  476. package/src/internal/polyfill/crypto.node.mjs +0 -2
  477. package/src/internal/polyfill/file.node.d.ts +0 -9
  478. package/src/internal/polyfill/file.node.js +0 -17
  479. package/src/internal/polyfill/file.node.mjs +0 -9
  480. package/src/internal/request-options.ts +0 -71
  481. package/src/internal/shim-types.d.ts +0 -28
  482. package/src/internal/shims.ts +0 -124
  483. package/src/internal/types.ts +0 -6
  484. package/src/internal/utils/base64.ts +0 -40
  485. package/src/internal/utils/env.ts +0 -20
  486. package/src/internal/utils/log.ts +0 -9
  487. package/src/internal/utils/sleep.ts +0 -3
  488. package/src/internal/utils/uuid.ts +0 -13
  489. package/src/internal/utils/values.ts +0 -94
  490. package/src/internal/utils.ts +0 -8
  491. package/streaming.d.mts +0 -41
  492. package/streaming.d.mts.map +0 -1
  493. package/uploads.d.mts +0 -79
  494. package/uploads.d.mts.map +0 -1
  495. package/version.d.mts +0 -2
  496. package/version.d.mts.map +0 -1
@@ -1,9 +1,9 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../resource';
4
- import { APIPromise } from '../api-promise';
5
- import { Page, type PageParams, PagePromise } from '../pagination';
6
- import { RequestOptions } from '../internal/request-options';
3
+ import { APIResource } from "../resource.js";
4
+ import { isRequestOptions } from "../core.js";
5
+ import * as Core from "../core.js";
6
+ import { Page, type PageParams } from "../pagination.js";
7
7
 
8
8
  export class Models extends APIResource {
9
9
  /**
@@ -12,8 +12,8 @@ export class Models extends APIResource {
12
12
  * The Models API response can be used to determine information about a specific
13
13
  * model or resolve a model alias to a model ID.
14
14
  */
15
- retrieve(modelID: string, options?: RequestOptions): APIPromise<ModelInfo> {
16
- return this._client.get(`/v1/models/${modelID}`, options);
15
+ retrieve(modelId: string, options?: Core.RequestOptions): Core.APIPromise<ModelInfo> {
16
+ return this._client.get(`/v1/models/${modelId}`, options);
17
17
  }
18
18
 
19
19
  /**
@@ -22,15 +22,20 @@ export class Models extends APIResource {
22
22
  * The Models API response can be used to determine which models are available for
23
23
  * use in the API. More recently released models are listed first.
24
24
  */
25
+ list(query?: ModelListParams, options?: Core.RequestOptions): Core.PagePromise<ModelInfosPage, ModelInfo>;
26
+ list(options?: Core.RequestOptions): Core.PagePromise<ModelInfosPage, ModelInfo>;
25
27
  list(
26
- query: ModelListParams | null | undefined = {},
27
- options?: RequestOptions,
28
- ): PagePromise<ModelInfosPage, ModelInfo> {
29
- return this._client.getAPIList('/v1/models', Page<ModelInfo>, { query, ...options });
28
+ query: ModelListParams | Core.RequestOptions = {},
29
+ options?: Core.RequestOptions,
30
+ ): Core.PagePromise<ModelInfosPage, ModelInfo> {
31
+ if (isRequestOptions(query)) {
32
+ return this.list({}, query);
33
+ }
34
+ return this._client.getAPIList('/v1/models', ModelInfosPage, { query, ...options });
30
35
  }
31
36
  }
32
37
 
33
- export type ModelInfosPage = Page<ModelInfo>;
38
+ export class ModelInfosPage extends Page<ModelInfo> {}
34
39
 
35
40
  export interface ModelInfo {
36
41
  /**
@@ -59,10 +64,12 @@ export interface ModelInfo {
59
64
 
60
65
  export interface ModelListParams extends PageParams {}
61
66
 
67
+ Models.ModelInfosPage = ModelInfosPage;
68
+
62
69
  export declare namespace Models {
63
70
  export {
64
71
  type ModelInfo as ModelInfo,
65
- type ModelInfosPage as ModelInfosPage,
72
+ ModelInfosPage as ModelInfosPage,
66
73
  type ModelListParams as ModelListParams,
67
74
  };
68
75
  }
@@ -0,0 +1,50 @@
1
+ // @ts-ignore
2
+ import * as types from "../_shims/node-types.js";
3
+ import { setShims } from "../_shims/registry.js";
4
+ import { getRuntime } from "../_shims/node-runtime.js";
5
+ setShims(getRuntime());
6
+
7
+ declare module '../_shims/manual-types' {
8
+ export namespace manual {
9
+ // @ts-ignore
10
+ export type Agent = types.Agent;
11
+ // @ts-ignore
12
+ export import fetch = types.fetch;
13
+ // @ts-ignore
14
+ export type Request = types.Request;
15
+ // @ts-ignore
16
+ export type RequestInfo = types.RequestInfo;
17
+ // @ts-ignore
18
+ export type RequestInit = types.RequestInit;
19
+ // @ts-ignore
20
+ export type Response = types.Response;
21
+ // @ts-ignore
22
+ export type ResponseInit = types.ResponseInit;
23
+ // @ts-ignore
24
+ export type ResponseType = types.ResponseType;
25
+ // @ts-ignore
26
+ export type BodyInit = types.BodyInit;
27
+ // @ts-ignore
28
+ export type Headers = types.Headers;
29
+ // @ts-ignore
30
+ export type HeadersInit = types.HeadersInit;
31
+ // @ts-ignore
32
+ export type BlobPropertyBag = types.BlobPropertyBag;
33
+ // @ts-ignore
34
+ export type FilePropertyBag = types.FilePropertyBag;
35
+ // @ts-ignore
36
+ export type FileFromPathOptions = types.FileFromPathOptions;
37
+ // @ts-ignore
38
+ export import FormData = types.FormData;
39
+ // @ts-ignore
40
+ export import File = types.File;
41
+ // @ts-ignore
42
+ export import Blob = types.Blob;
43
+ // @ts-ignore
44
+ export type Readable = types.Readable;
45
+ // @ts-ignore
46
+ export type FsReadStream = types.FsReadStream;
47
+ // @ts-ignore
48
+ export import ReadableStream = types.ReadableStream;
49
+ }
50
+ }
@@ -0,0 +1,50 @@
1
+ // @ts-ignore
2
+ import * as types from "../_shims/web-types.js";
3
+ import { setShims } from "../_shims/registry.js";
4
+ import { getRuntime } from "../_shims/web-runtime.js";
5
+ setShims(getRuntime({ manuallyImported: true }));
6
+
7
+ declare module '../_shims/manual-types' {
8
+ export namespace manual {
9
+ // @ts-ignore
10
+ export type Agent = types.Agent;
11
+ // @ts-ignore
12
+ export import fetch = types.fetch;
13
+ // @ts-ignore
14
+ export type Request = types.Request;
15
+ // @ts-ignore
16
+ export type RequestInfo = types.RequestInfo;
17
+ // @ts-ignore
18
+ export type RequestInit = types.RequestInit;
19
+ // @ts-ignore
20
+ export type Response = types.Response;
21
+ // @ts-ignore
22
+ export type ResponseInit = types.ResponseInit;
23
+ // @ts-ignore
24
+ export type ResponseType = types.ResponseType;
25
+ // @ts-ignore
26
+ export type BodyInit = types.BodyInit;
27
+ // @ts-ignore
28
+ export type Headers = types.Headers;
29
+ // @ts-ignore
30
+ export type HeadersInit = types.HeadersInit;
31
+ // @ts-ignore
32
+ export type BlobPropertyBag = types.BlobPropertyBag;
33
+ // @ts-ignore
34
+ export type FilePropertyBag = types.FilePropertyBag;
35
+ // @ts-ignore
36
+ export type FileFromPathOptions = types.FileFromPathOptions;
37
+ // @ts-ignore
38
+ export import FormData = types.FormData;
39
+ // @ts-ignore
40
+ export import File = types.File;
41
+ // @ts-ignore
42
+ export import Blob = types.Blob;
43
+ // @ts-ignore
44
+ export type Readable = types.Readable;
45
+ // @ts-ignore
46
+ export type FsReadStream = types.FsReadStream;
47
+ // @ts-ignore
48
+ export import ReadableStream = types.ReadableStream;
49
+ }
50
+ }
package/src/streaming.ts CHANGED
@@ -1,9 +1,10 @@
1
- import { AnthropicError } from './error';
2
- import { type ReadableStream } from './internal/shim-types';
3
- import { makeReadableStream } from './internal/shims';
4
- import { LineDecoder } from './internal/decoders/line';
1
+ import { ReadableStream, type Response } from "./_shims/index.js";
2
+ import { AnthropicError } from "./error.js";
3
+ import { LineDecoder } from "./internal/decoders/line.js";
4
+ import { ReadableStreamToAsyncIterable } from "./internal/stream-utils.js";
5
5
 
6
- import { APIError } from './error';
6
+ import { createResponseHeaders } from "./core.js";
7
+ import { APIError } from "./error.js";
7
8
 
8
9
  type Bytes = string | ArrayBuffer | Uint8Array | Buffer | null | undefined;
9
10
 
@@ -66,7 +67,12 @@ export class Stream<Item> implements AsyncIterable<Item> {
66
67
  }
67
68
 
68
69
  if (sse.event === 'error') {
69
- throw APIError.generate(undefined, `SSE Error: ${sse.data}`, sse.data, response.headers);
70
+ throw APIError.generate(
71
+ undefined,
72
+ `SSE Error: ${sse.data}`,
73
+ sse.data,
74
+ createResponseHeaders(response.headers),
75
+ );
70
76
  }
71
77
  }
72
78
  done = true;
@@ -93,7 +99,7 @@ export class Stream<Item> implements AsyncIterable<Item> {
93
99
  async function* iterLines(): AsyncGenerator<string, void, unknown> {
94
100
  const lineDecoder = new LineDecoder();
95
101
 
96
- const iter = readableStreamAsyncIterable<Bytes>(readableStream);
102
+ const iter = ReadableStreamToAsyncIterable<Bytes>(readableStream);
97
103
  for await (const chunk of iter) {
98
104
  for (const line of lineDecoder.decode(chunk)) {
99
105
  yield line;
@@ -172,7 +178,7 @@ export class Stream<Item> implements AsyncIterable<Item> {
172
178
  let iter: AsyncIterator<Item>;
173
179
  const encoder = new TextEncoder();
174
180
 
175
- return makeReadableStream({
181
+ return new ReadableStream({
176
182
  async start() {
177
183
  iter = self[Symbol.asyncIterator]();
178
184
  },
@@ -207,7 +213,7 @@ export async function* _iterSSEMessages(
207
213
  const sseDecoder = new SSEDecoder();
208
214
  const lineDecoder = new LineDecoder();
209
215
 
210
- const iter = readableStreamAsyncIterable<Bytes>(response.body);
216
+ const iter = ReadableStreamToAsyncIterable<Bytes>(response.body);
211
217
  for await (const sseChunk of iterSSEChunks(iter)) {
212
218
  for (const line of lineDecoder.decode(sseChunk)) {
213
219
  const sse = sseDecoder.decode(line);
@@ -360,36 +366,3 @@ function partition(str: string, delimiter: string): [string, string, string] {
360
366
 
361
367
  return [str, '', ''];
362
368
  }
363
-
364
- /**
365
- * Most browsers don't yet have async iterable support for ReadableStream,
366
- * and Node has a very different way of reading bytes from its "ReadableStream".
367
- *
368
- * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490
369
- */
370
- export function readableStreamAsyncIterable<T>(stream: any): AsyncIterableIterator<T> {
371
- if (stream[Symbol.asyncIterator]) return stream;
372
-
373
- const reader = stream.getReader();
374
- return {
375
- async next() {
376
- try {
377
- const result = await reader.read();
378
- if (result?.done) reader.releaseLock(); // release lock when stream becomes closed
379
- return result;
380
- } catch (e) {
381
- reader.releaseLock(); // release lock when stream becomes errored
382
- throw e;
383
- }
384
- },
385
- async return() {
386
- const cancelPromise = reader.cancel();
387
- reader.releaseLock();
388
- await cancelPromise;
389
- return { done: true, value: undefined };
390
- },
391
- [Symbol.asyncIterator]() {
392
- return this;
393
- },
394
- };
395
- }
package/src/tsconfig.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "include": ["index.ts"],
6
6
  "compilerOptions": {
7
7
  "target": "es2015",
8
- "lib": ["DOM", "DOM.Iterable"],
8
+ "lib": ["DOM"],
9
9
  "moduleResolution": "node"
10
10
  }
11
11
  }
package/src/uploads.ts CHANGED
@@ -1,7 +1,15 @@
1
- import { type RequestOptions } from './internal/request-options';
2
- import { type FilePropertyBag } from './internal/builtin-types';
3
- import { isFsReadStreamLike, type FsReadStreamLike } from './internal/shims';
4
- import './internal/polyfill/file.node.js';
1
+ import { type RequestOptions } from "./core.js";
2
+ import {
3
+ FormData,
4
+ File,
5
+ type Blob,
6
+ type FilePropertyBag,
7
+ getMultipartRequestOptions,
8
+ type FsReadStream,
9
+ isFsReadStream,
10
+ } from "./_shims/index.js";
11
+ import { MultipartBody } from "./_shims/MultipartBody.js";
12
+ export { fileFromPath } from "./_shims/index.js";
5
13
 
6
14
  type BlobLikePart = string | ArrayBuffer | ArrayBufferView | BlobLike | Uint8Array | DataView;
7
15
  export type BlobPart = string | ArrayBuffer | ArrayBufferView | Blob | Uint8Array | DataView;
@@ -15,10 +23,10 @@ export type BlobPart = string | ArrayBuffer | ArrayBufferView | Blob | Uint8Arra
15
23
  * For convenience, you can also pass a fetch Response, or in Node,
16
24
  * the result of fs.createReadStream().
17
25
  */
18
- export type Uploadable = FileLike | ResponseLike | FsReadStreamLike;
26
+ export type Uploadable = FileLike | ResponseLike | FsReadStream;
19
27
 
20
28
  /**
21
- * Intended to match web.Blob, node.Blob, undici.Blob, etc.
29
+ * Intended to match web.Blob, node.Blob, node-fetch.Blob, etc.
22
30
  */
23
31
  export interface BlobLike {
24
32
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size) */
@@ -29,22 +37,11 @@ export interface BlobLike {
29
37
  text(): Promise<string>;
30
38
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice) */
31
39
  slice(start?: number, end?: number): BlobLike;
40
+ // unfortunately @types/node-fetch@^2.6.4 doesn't type the arrayBuffer method
32
41
  }
33
42
 
34
43
  /**
35
- * This check adds the arrayBuffer() method type because it is available and used at runtime
36
- */
37
- export const isBlobLike = (value: any): value is BlobLike & { arrayBuffer(): Promise<ArrayBuffer> } =>
38
- value != null &&
39
- typeof value === 'object' &&
40
- typeof value.size === 'number' &&
41
- typeof value.type === 'string' &&
42
- typeof value.text === 'function' &&
43
- typeof value.slice === 'function' &&
44
- typeof value.arrayBuffer === 'function';
45
-
46
- /**
47
- * Intended to match web.File, node.File, undici.File, etc.
44
+ * Intended to match web.File, node.File, node-fetch.File, etc.
48
45
  */
49
46
  export interface FileLike extends BlobLike {
50
47
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */
@@ -52,20 +49,9 @@ export interface FileLike extends BlobLike {
52
49
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */
53
50
  readonly name: string;
54
51
  }
55
- declare var FileClass: {
56
- prototype: FileLike;
57
- new (fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): FileLike;
58
- };
59
-
60
- export const isFileLike = (value: any): value is FileLike =>
61
- value != null &&
62
- typeof value === 'object' &&
63
- typeof value.name === 'string' &&
64
- typeof value.lastModified === 'number' &&
65
- isBlobLike(value);
66
52
 
67
53
  /**
68
- * Intended to match web.Response, node.Response, undici.Response, etc.
54
+ * Intended to match web.Response, node.Response, node-fetch.Response, etc.
69
55
  */
70
56
  export interface ResponseLike {
71
57
  url: string;
@@ -78,25 +64,31 @@ export const isResponseLike = (value: any): value is ResponseLike =>
78
64
  typeof value.url === 'string' &&
79
65
  typeof value.blob === 'function';
80
66
 
81
- export const isUploadable = (value: any): value is Uploadable => {
82
- return isFileLike(value) || isResponseLike(value) || isFsReadStreamLike(value);
83
- };
84
-
85
- export type ToFileInput = Uploadable | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
67
+ export const isFileLike = (value: any): value is FileLike =>
68
+ value != null &&
69
+ typeof value === 'object' &&
70
+ typeof value.name === 'string' &&
71
+ typeof value.lastModified === 'number' &&
72
+ isBlobLike(value);
86
73
 
87
74
  /**
88
- * Construct a `File` instance. This is used to ensure a helpful error is thrown
89
- * for environments that don't define a global `File` yet and so that we don't
90
- * accidentally rely on a global `File` type in our annotations.
75
+ * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
76
+ * adds the arrayBuffer() method type because it is available and used at runtime
91
77
  */
92
- function makeFile(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): FileLike {
93
- const File = (globalThis as any).File as typeof FileClass | undefined;
94
- if (typeof File === 'undefined') {
95
- throw new Error('`File` is not defined as a global which is required for file uploads');
96
- }
78
+ export const isBlobLike = (value: any): value is BlobLike & { arrayBuffer(): Promise<ArrayBuffer> } =>
79
+ value != null &&
80
+ typeof value === 'object' &&
81
+ typeof value.size === 'number' &&
82
+ typeof value.type === 'string' &&
83
+ typeof value.text === 'function' &&
84
+ typeof value.slice === 'function' &&
85
+ typeof value.arrayBuffer === 'function';
97
86
 
98
- return new File(fileBits, fileName, options);
99
- }
87
+ export const isUploadable = (value: any): value is Uploadable => {
88
+ return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
89
+ };
90
+
91
+ export type ToFileInput = Uploadable | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
100
92
 
101
93
  /**
102
94
  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
@@ -129,7 +121,7 @@ export async function toFile(
129
121
  // in `new File` interpreting it as a string instead of binary data.
130
122
  const data = isBlobLike(blob) ? [(await blob.arrayBuffer()) as any] : [blob];
131
123
 
132
- return makeFile(data, name, options);
124
+ return new File(data, name, options);
133
125
  }
134
126
 
135
127
  const bits = await getBytes(value);
@@ -143,7 +135,7 @@ export async function toFile(
143
135
  }
144
136
  }
145
137
 
146
- return makeFile(bits, name, options);
138
+ return new File(bits, name, options);
147
139
  }
148
140
 
149
141
  async function getBytes(value: ToFileInput): Promise<Array<BlobPart>> {
@@ -195,22 +187,27 @@ const getStringFromMaybeBuffer = (x: string | Buffer | unknown): string | undefi
195
187
  const isAsyncIterableIterator = (value: any): value is AsyncIterableIterator<unknown> =>
196
188
  value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
197
189
 
190
+ export const isMultipartBody = (body: any): body is MultipartBody =>
191
+ body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
192
+
198
193
  /**
199
194
  * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
200
195
  * Otherwise returns the request as is.
201
196
  */
202
- export const maybeMultipartFormRequestOptions = async (opts: RequestOptions): Promise<RequestOptions> => {
197
+ export const maybeMultipartFormRequestOptions = async <T = Record<string, unknown>>(
198
+ opts: RequestOptions<T>,
199
+ ): Promise<RequestOptions<T | MultipartBody>> => {
203
200
  if (!hasUploadableValue(opts.body)) return opts;
204
201
 
205
- return { ...opts, body: await createForm(opts.body) };
202
+ const form = await createForm(opts.body);
203
+ return getMultipartRequestOptions(form, opts);
206
204
  };
207
205
 
208
- type MultipartFormRequestOptions = Omit<RequestOptions, 'body'> & { body: unknown };
209
-
210
- export const multipartFormRequestOptions = async (
211
- opts: MultipartFormRequestOptions,
212
- ): Promise<RequestOptions> => {
213
- return { ...opts, body: await createForm(opts.body) };
206
+ export const multipartFormRequestOptions = async <T = Record<string, unknown>>(
207
+ opts: RequestOptions<T>,
208
+ ): Promise<RequestOptions<T | MultipartBody>> => {
209
+ const form = await createForm(opts.body);
210
+ return getMultipartRequestOptions(form, opts);
214
211
  };
215
212
 
216
213
  export const createForm = async <T = Record<string, unknown>>(body: T | undefined): Promise<FormData> => {
@@ -243,7 +240,7 @@ const addFormValue = async (form: FormData, key: string, value: unknown): Promis
243
240
  form.append(key, String(value));
244
241
  } else if (isUploadable(value)) {
245
242
  const file = await toFile(value);
246
- form.append(key, file as any);
243
+ form.append(key, file as File);
247
244
  } else if (Array.isArray(value)) {
248
245
  await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
249
246
  } else if (typeof value === 'object') {
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.34.0-alpha.0'; // x-release-please-version
1
+ export const VERSION = '0.36.2'; // x-release-please-version
package/streaming.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { type ReadableStream } from "./internal/shim-types.js";
2
+ import { ReadableStream, type Response } from "./_shims/index.js";
3
3
  export type ServerSentEvent = {
4
4
  event: string | null;
5
5
  data: string;
@@ -31,11 +31,4 @@ export declare class Stream<Item> implements AsyncIterable<Item> {
31
31
  export declare function _iterSSEMessages(response: Response, controller: AbortController): AsyncGenerator<ServerSentEvent, void, unknown>;
32
32
  /** This is an internal helper function that's just used for testing */
33
33
  export declare function _decodeChunks(chunks: string[]): string[];
34
- /**
35
- * Most browsers don't yet have async iterable support for ReadableStream,
36
- * and Node has a very different way of reading bytes from its "ReadableStream".
37
- *
38
- * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490
39
- */
40
- export declare function readableStreamAsyncIterable<T>(stream: any): AsyncIterableIterator<T>;
41
34
  //# sourceMappingURL=streaming.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["src/streaming.ts"],"names":[],"mappings":";OACO,EAAE,KAAK,cAAc,EAAE;AAQ9B,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,qBAAa,MAAM,CAAC,IAAI,CAAE,YAAW,aAAa,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,QAAQ;IAHlB,UAAU,EAAE,eAAe,CAAC;gBAGlB,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAC3C,UAAU,EAAE,eAAe;IAK7B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IA4D3F;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IA2C1G,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC;IAI7C;;;OAGG;IACH,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAwBnC;;;;OAIG;IACH,gBAAgB,IAAI,cAAc;CA0BnC;AAED,wBAAuB,gBAAgB,CACrC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,eAAe,GAC1B,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAqBhD;AA0HD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQxD;AAWD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAyBpF"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["src/streaming.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,qBAAa,MAAM,CAAC,IAAI,CAAE,YAAW,aAAa,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,QAAQ;IAHlB,UAAU,EAAE,eAAe,CAAC;gBAGlB,QAAQ,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAC3C,UAAU,EAAE,eAAe;IAK7B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IAiE3F;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IA2C1G,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC;IAI7C;;;OAGG;IACH,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAwBnC;;;;OAIG;IACH,gBAAgB,IAAI,cAAc;CA0BnC;AAED,wBAAuB,gBAAgB,CACrC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,eAAe,GAC1B,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAqBhD;AA0HD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQxD"}
package/streaming.js CHANGED
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readableStreamAsyncIterable = exports._decodeChunks = exports._iterSSEMessages = exports.Stream = void 0;
3
+ exports._decodeChunks = exports._iterSSEMessages = exports.Stream = void 0;
4
+ const index_1 = require("./_shims/index.js");
4
5
  const error_1 = require("./error.js");
5
- const shims_1 = require("./internal/shims.js");
6
6
  const line_1 = require("./internal/decoders/line.js");
7
+ const stream_utils_1 = require("./internal/stream-utils.js");
8
+ const core_1 = require("./core.js");
7
9
  const error_2 = require("./error.js");
8
10
  class Stream {
9
11
  constructor(iterator, controller) {
@@ -49,7 +51,7 @@ class Stream {
49
51
  continue;
50
52
  }
51
53
  if (sse.event === 'error') {
52
- throw error_2.APIError.generate(undefined, `SSE Error: ${sse.data}`, sse.data, response.headers);
54
+ throw error_2.APIError.generate(undefined, `SSE Error: ${sse.data}`, sse.data, (0, core_1.createResponseHeaders)(response.headers));
53
55
  }
54
56
  }
55
57
  done = true;
@@ -76,7 +78,7 @@ class Stream {
76
78
  let consumed = false;
77
79
  async function* iterLines() {
78
80
  const lineDecoder = new line_1.LineDecoder();
79
- const iter = readableStreamAsyncIterable(readableStream);
81
+ const iter = (0, stream_utils_1.ReadableStreamToAsyncIterable)(readableStream);
80
82
  for await (const chunk of iter) {
81
83
  for (const line of lineDecoder.decode(chunk)) {
82
84
  yield line;
@@ -152,7 +154,7 @@ class Stream {
152
154
  const self = this;
153
155
  let iter;
154
156
  const encoder = new TextEncoder();
155
- return (0, shims_1.makeReadableStream)({
157
+ return new index_1.ReadableStream({
156
158
  async start() {
157
159
  iter = self[Symbol.asyncIterator]();
158
160
  },
@@ -182,7 +184,7 @@ async function* _iterSSEMessages(response, controller) {
182
184
  }
183
185
  const sseDecoder = new SSEDecoder();
184
186
  const lineDecoder = new line_1.LineDecoder();
185
- const iter = readableStreamAsyncIterable(response.body);
187
+ const iter = (0, stream_utils_1.ReadableStreamToAsyncIterable)(response.body);
186
188
  for await (const sseChunk of iterSSEChunks(iter)) {
187
189
  for (const line of lineDecoder.decode(sseChunk)) {
188
190
  const sse = sseDecoder.decode(line);
@@ -308,39 +310,4 @@ function partition(str, delimiter) {
308
310
  }
309
311
  return [str, '', ''];
310
312
  }
311
- /**
312
- * Most browsers don't yet have async iterable support for ReadableStream,
313
- * and Node has a very different way of reading bytes from its "ReadableStream".
314
- *
315
- * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490
316
- */
317
- function readableStreamAsyncIterable(stream) {
318
- if (stream[Symbol.asyncIterator])
319
- return stream;
320
- const reader = stream.getReader();
321
- return {
322
- async next() {
323
- try {
324
- const result = await reader.read();
325
- if (result?.done)
326
- reader.releaseLock(); // release lock when stream becomes closed
327
- return result;
328
- }
329
- catch (e) {
330
- reader.releaseLock(); // release lock when stream becomes errored
331
- throw e;
332
- }
333
- },
334
- async return() {
335
- const cancelPromise = reader.cancel();
336
- reader.releaseLock();
337
- await cancelPromise;
338
- return { done: true, value: undefined };
339
- },
340
- [Symbol.asyncIterator]() {
341
- return this;
342
- },
343
- };
344
- }
345
- exports.readableStreamAsyncIterable = readableStreamAsyncIterable;
346
313
  //# sourceMappingURL=streaming.js.map
package/streaming.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["src/streaming.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AAEzC,+CAAsD;AACtD,sDAAuD;AAEvD,sCAAmC;AAUnC,MAAa,MAAM;IAGjB,YACU,QAAmC,EAC3C,UAA2B;QADnB,aAAQ,GAAR,QAAQ,CAA2B;QAG3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,eAAe,CAAO,QAAkB,EAAE,UAA2B;QAC1E,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,SAAS,CAAC,CAAC,QAAQ;YACtB,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;aAC7F;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI;gBACF,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;oBAC9D,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,EAAE;wBAC9B,IAAI;4BACF,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC5B;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC9D,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BACtC,MAAM,CAAC,CAAC;yBACT;qBACF;oBAED,IACE,GAAG,CAAC,KAAK,KAAK,eAAe;wBAC7B,GAAG,CAAC,KAAK,KAAK,eAAe;wBAC7B,GAAG,CAAC,KAAK,KAAK,cAAc;wBAC5B,GAAG,CAAC,KAAK,KAAK,qBAAqB;wBACnC,GAAG,CAAC,KAAK,KAAK,qBAAqB;wBACnC,GAAG,CAAC,KAAK,KAAK,oBAAoB,EAClC;wBACA,IAAI;4BACF,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC5B;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC9D,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BACtC,MAAM,CAAC,CAAC;yBACT;qBACF;oBAED,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE;wBACxB,SAAS;qBACV;oBAED,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;wBACzB,MAAM,gBAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAC1F;iBACF;gBACD,IAAI,GAAG,IAAI,CAAC;aACb;YAAC,OAAO,CAAC,EAAE;gBACV,kFAAkF;gBAClF,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;oBAAE,OAAO;gBAC1D,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,mDAAmD;gBACnD,IAAI,CAAC,IAAI;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aAC/B;QACH,CAAC;QAED,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAO,cAA8B,EAAE,UAA2B;QACzF,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,SAAS,CAAC,CAAC,SAAS;YACvB,MAAM,WAAW,GAAG,IAAI,kBAAW,EAAE,CAAC;YAEtC,MAAM,IAAI,GAAG,2BAA2B,CAAQ,cAAc,CAAC,CAAC;YAChE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,EAAE;gBAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC5C,MAAM,IAAI,CAAC;iBACZ;aACF;YAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE;gBACtC,MAAM,IAAI,CAAC;aACZ;QACH,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,QAAQ;YACtB,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;aAC7F;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI;gBACF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,EAAE,EAAE;oBACpC,IAAI,IAAI;wBAAE,SAAS;oBACnB,IAAI,IAAI;wBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAClC;gBACD,IAAI,GAAG,IAAI,CAAC;aACb;YAAC,OAAO,CAAC,EAAE;gBACV,kFAAkF;gBAClF,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;oBAAE,OAAO;gBAC1D,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,mDAAmD;gBACnD,IAAI,CAAC,IAAI;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aAC/B;QACH,CAAC;QAED,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,GAAG;QACD,MAAM,IAAI,GAAyC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,WAAW,GAAG,CAAC,KAA2C,EAAuB,EAAE;YACvF,OAAO;gBACL,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACpB;oBACD,OAAO,KAAK,CAAC,KAAK,EAAG,CAAC;gBACxB,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;YACpD,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;SACtD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,IAAyB,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAElC,OAAO,IAAA,0BAAkB,EAAC;YACxB,KAAK,CAAC,KAAK;gBACT,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAS;gBAClB,IAAI;oBACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC1C,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;oBAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;oBAE3D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACrB;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACjB;YACH,CAAC;YACD,KAAK,CAAC,MAAM;gBACV,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AApLD,wBAoLC;AAEM,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,QAAkB,EAClB,UAA2B;IAE3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAClB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,sBAAc,CAAC,mDAAmD,CAAC,CAAC;KAC/E;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,kBAAW,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,2BAA2B,CAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;QAChD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC;SACpB;KACF;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,GAAG;YAAE,MAAM,GAAG,CAAC;KACpB;AACH,CAAC;AAxBD,4CAwBC;AAED;;;GAGG;AACH,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,QAAsC;IAClE,IAAI,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE;QAClC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,SAAS;SACV;QAED,MAAM,WAAW,GACf,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;YACpD,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,CAAC,CAAC,KAAK,CAAC;QAEV,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,GAAG,OAAO,CAAC;QAEf,IAAI,YAAY,CAAC;QACjB,OAAO,CAAC,YAAY,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACjC;KACF;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAI,CAAC;KACZ;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAkB;IAChD,gFAAgF;IAChF,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE;YACtD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACxD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;QACD,IACE,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM;YACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ;YAC1B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EACzB;YACA,WAAW;YACX,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;KACF;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU;IAKd;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,IAAI,EAAE;YACT,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAElD,MAAM,GAAG,GAAoB;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,MAAM;aACjB,CAAC;YAEF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YAEjB,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,SAAS,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,uEAAuE;AACvE,SAAgB,aAAa,CAAC,MAAgB;IAC5C,MAAM,OAAO,GAAG,IAAI,kBAAW,EAAE,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACtC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AARD,sCAQC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,SAAiB;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KACtF;IAED,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAI,MAAW;IACxD,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QAAE,OAAO,MAAM,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,OAAO;QACL,KAAK,CAAC,IAAI;YACR,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,MAAM,EAAE,IAAI;oBAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,0CAA0C;gBAClF,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,2CAA2C;gBACjE,MAAM,CAAC,CAAC;aACT;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,aAAa,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QACD,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAzBD,kEAyBC"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["src/streaming.ts"],"names":[],"mappings":"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"}