@anthropic-ai/sdk 0.40.1 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (614) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +121 -50
  3. package/_vendor/partial-json-parser/parser.d.mts +3 -0
  4. package/_vendor/partial-json-parser/parser.d.mts.map +1 -0
  5. package/_vendor/partial-json-parser/parser.d.ts.map +1 -1
  6. package/_vendor/partial-json-parser/parser.js.map +1 -1
  7. package/_vendor/partial-json-parser/parser.mjs.map +1 -1
  8. package/api-promise.d.mts +2 -0
  9. package/api-promise.d.mts.map +1 -0
  10. package/api-promise.d.ts +2 -0
  11. package/api-promise.d.ts.map +1 -0
  12. package/api-promise.js +6 -0
  13. package/api-promise.js.map +1 -0
  14. package/api-promise.mjs +2 -0
  15. package/api-promise.mjs.map +1 -0
  16. package/bin/cli +53 -0
  17. package/bin/migration-config.json +7 -0
  18. package/client.d.mts +224 -0
  19. package/client.d.mts.map +1 -0
  20. package/client.d.ts +224 -0
  21. package/client.d.ts.map +1 -0
  22. package/client.js +527 -0
  23. package/client.js.map +1 -0
  24. package/client.mjs +522 -0
  25. package/client.mjs.map +1 -0
  26. package/core/api-promise.d.mts +49 -0
  27. package/core/api-promise.d.mts.map +1 -0
  28. package/core/api-promise.d.ts +49 -0
  29. package/core/api-promise.d.ts.map +1 -0
  30. package/core/api-promise.js +76 -0
  31. package/core/api-promise.js.map +1 -0
  32. package/core/api-promise.mjs +72 -0
  33. package/core/api-promise.mjs.map +1 -0
  34. package/core/error.d.mts +47 -0
  35. package/core/error.d.mts.map +1 -0
  36. package/core/error.d.ts +47 -0
  37. package/core/error.d.ts.map +1 -0
  38. package/core/error.js +114 -0
  39. package/core/error.js.map +1 -0
  40. package/core/error.mjs +98 -0
  41. package/core/error.mjs.map +1 -0
  42. package/core/pagination.d.mts +63 -0
  43. package/core/pagination.d.mts.map +1 -0
  44. package/core/pagination.d.ts +63 -0
  45. package/core/pagination.d.ts.map +1 -0
  46. package/core/pagination.js +123 -0
  47. package/core/pagination.js.map +1 -0
  48. package/core/pagination.mjs +117 -0
  49. package/core/pagination.mjs.map +1 -0
  50. package/core/resource.d.mts +6 -0
  51. package/core/resource.d.mts.map +1 -0
  52. package/core/resource.d.ts +6 -0
  53. package/core/resource.d.ts.map +1 -0
  54. package/core/resource.js +11 -0
  55. package/core/resource.js.map +1 -0
  56. package/core/resource.mjs +7 -0
  57. package/core/resource.mjs.map +1 -0
  58. package/core/streaming.d.mts +31 -0
  59. package/core/streaming.d.mts.map +1 -0
  60. package/core/streaming.d.ts +31 -0
  61. package/core/streaming.d.ts.map +1 -0
  62. package/core/streaming.js +282 -0
  63. package/core/streaming.js.map +1 -0
  64. package/core/streaming.mjs +277 -0
  65. package/core/streaming.mjs.map +1 -0
  66. package/core/uploads.d.mts +3 -0
  67. package/core/uploads.d.mts.map +1 -0
  68. package/core/uploads.d.ts +3 -0
  69. package/core/uploads.d.ts.map +1 -0
  70. package/core/uploads.js +6 -0
  71. package/core/uploads.js.map +1 -0
  72. package/core/uploads.mjs +2 -0
  73. package/core/uploads.mjs.map +1 -0
  74. package/error.d.mts +2 -0
  75. package/error.d.mts.map +1 -0
  76. package/error.d.ts +1 -47
  77. package/error.d.ts.map +1 -1
  78. package/error.js +3 -111
  79. package/error.js.map +1 -1
  80. package/error.mjs +1 -97
  81. package/error.mjs.map +1 -1
  82. package/index.d.mts +7 -152
  83. package/index.d.mts.map +1 -0
  84. package/index.d.ts +6 -151
  85. package/index.d.ts.map +1 -1
  86. package/index.js +17 -156
  87. package/index.js.map +1 -1
  88. package/index.mjs +6 -129
  89. package/index.mjs.map +1 -1
  90. package/internal/builtin-types.d.mts +73 -0
  91. package/internal/builtin-types.d.mts.map +1 -0
  92. package/internal/builtin-types.d.ts +73 -0
  93. package/internal/builtin-types.d.ts.map +1 -0
  94. package/internal/builtin-types.js +4 -0
  95. package/internal/builtin-types.js.map +1 -0
  96. package/internal/builtin-types.mjs +3 -0
  97. package/internal/builtin-types.mjs.map +1 -0
  98. package/internal/decoders/jsonl.d.mts +10 -0
  99. package/internal/decoders/jsonl.d.mts.map +1 -0
  100. package/internal/decoders/jsonl.d.ts +0 -2
  101. package/internal/decoders/jsonl.d.ts.map +1 -1
  102. package/internal/decoders/jsonl.js +7 -3
  103. package/internal/decoders/jsonl.js.map +1 -1
  104. package/internal/decoders/jsonl.mjs +6 -2
  105. package/internal/decoders/jsonl.mjs.map +1 -1
  106. package/internal/decoders/line.d.mts +17 -0
  107. package/internal/decoders/line.d.mts.map +1 -0
  108. package/internal/decoders/line.d.ts +1 -5
  109. package/internal/decoders/line.d.ts.map +1 -1
  110. package/internal/decoders/line.js +24 -61
  111. package/internal/decoders/line.js.map +1 -1
  112. package/internal/decoders/line.mjs +14 -51
  113. package/internal/decoders/line.mjs.map +1 -1
  114. package/internal/detect-platform.d.mts +15 -0
  115. package/internal/detect-platform.d.mts.map +1 -0
  116. package/internal/detect-platform.d.ts +15 -0
  117. package/internal/detect-platform.d.ts.map +1 -0
  118. package/internal/detect-platform.js +162 -0
  119. package/internal/detect-platform.js.map +1 -0
  120. package/internal/detect-platform.mjs +157 -0
  121. package/internal/detect-platform.mjs.map +1 -0
  122. package/internal/errors.d.mts +3 -0
  123. package/internal/errors.d.mts.map +1 -0
  124. package/internal/errors.d.ts +3 -0
  125. package/internal/errors.d.ts.map +1 -0
  126. package/internal/errors.js +41 -0
  127. package/internal/errors.js.map +1 -0
  128. package/internal/errors.mjs +36 -0
  129. package/internal/errors.mjs.map +1 -0
  130. package/internal/headers.d.mts +22 -0
  131. package/internal/headers.d.mts.map +1 -0
  132. package/internal/headers.d.ts +22 -0
  133. package/internal/headers.d.ts.map +1 -0
  134. package/internal/headers.js +79 -0
  135. package/internal/headers.js.map +1 -0
  136. package/internal/headers.mjs +74 -0
  137. package/internal/headers.mjs.map +1 -0
  138. package/internal/parse.d.mts +17 -0
  139. package/internal/parse.d.mts.map +1 -0
  140. package/internal/parse.d.ts +17 -0
  141. package/internal/parse.d.ts.map +1 -0
  142. package/internal/parse.js +55 -0
  143. package/internal/parse.js.map +1 -0
  144. package/internal/parse.mjs +51 -0
  145. package/internal/parse.mjs.map +1 -0
  146. package/internal/request-options.d.mts +34 -0
  147. package/internal/request-options.d.mts.map +1 -0
  148. package/internal/request-options.d.ts +34 -0
  149. package/internal/request-options.d.ts.map +1 -0
  150. package/internal/request-options.js +14 -0
  151. package/internal/request-options.js.map +1 -0
  152. package/internal/request-options.mjs +10 -0
  153. package/internal/request-options.mjs.map +1 -0
  154. package/internal/shim-types.d.mts +28 -0
  155. package/internal/shim-types.d.ts +28 -0
  156. package/internal/shims.d.mts +20 -0
  157. package/internal/shims.d.mts.map +1 -0
  158. package/internal/shims.d.ts +20 -0
  159. package/internal/shims.d.ts.map +1 -0
  160. package/internal/shims.js +92 -0
  161. package/internal/shims.js.map +1 -0
  162. package/internal/shims.mjs +85 -0
  163. package/internal/shims.mjs.map +1 -0
  164. package/internal/stream-utils.d.mts +8 -0
  165. package/internal/stream-utils.d.mts.map +1 -0
  166. package/internal/stream-utils.js +1 -2
  167. package/internal/stream-utils.js.map +1 -1
  168. package/internal/stream-utils.mjs.map +1 -1
  169. package/internal/to-file.d.mts +45 -0
  170. package/internal/to-file.d.mts.map +1 -0
  171. package/internal/to-file.d.ts +45 -0
  172. package/internal/to-file.d.ts.map +1 -0
  173. package/internal/to-file.js +91 -0
  174. package/internal/to-file.js.map +1 -0
  175. package/internal/to-file.mjs +88 -0
  176. package/internal/to-file.mjs.map +1 -0
  177. package/internal/tslib.js +81 -0
  178. package/internal/tslib.mjs +17 -0
  179. package/internal/types.d.mts +67 -0
  180. package/internal/types.d.mts.map +1 -0
  181. package/internal/types.d.ts +67 -0
  182. package/internal/types.d.ts.map +1 -0
  183. package/internal/types.js +4 -0
  184. package/internal/types.js.map +1 -0
  185. package/internal/types.mjs +3 -0
  186. package/internal/types.mjs.map +1 -0
  187. package/internal/uploads.d.mts +42 -0
  188. package/internal/uploads.d.mts.map +1 -0
  189. package/internal/uploads.d.ts +42 -0
  190. package/internal/uploads.d.ts.map +1 -0
  191. package/internal/uploads.js +141 -0
  192. package/internal/uploads.js.map +1 -0
  193. package/internal/uploads.mjs +131 -0
  194. package/internal/uploads.mjs.map +1 -0
  195. package/internal/utils/base64.d.mts +3 -0
  196. package/internal/utils/base64.d.mts.map +1 -0
  197. package/internal/utils/base64.d.ts +3 -0
  198. package/internal/utils/base64.d.ts.map +1 -0
  199. package/internal/utils/base64.js +38 -0
  200. package/internal/utils/base64.js.map +1 -0
  201. package/internal/utils/base64.mjs +33 -0
  202. package/internal/utils/base64.mjs.map +1 -0
  203. package/internal/utils/bytes.d.mts +4 -0
  204. package/internal/utils/bytes.d.mts.map +1 -0
  205. package/internal/utils/bytes.d.ts +4 -0
  206. package/internal/utils/bytes.d.ts.map +1 -0
  207. package/internal/utils/bytes.js +31 -0
  208. package/internal/utils/bytes.js.map +1 -0
  209. package/internal/utils/bytes.mjs +26 -0
  210. package/internal/utils/bytes.mjs.map +1 -0
  211. package/internal/utils/env.d.mts +9 -0
  212. package/internal/utils/env.d.mts.map +1 -0
  213. package/internal/utils/env.d.ts +9 -0
  214. package/internal/utils/env.d.ts.map +1 -0
  215. package/internal/utils/env.js +22 -0
  216. package/internal/utils/env.js.map +1 -0
  217. package/internal/utils/env.mjs +18 -0
  218. package/internal/utils/env.mjs.map +1 -0
  219. package/internal/utils/log.d.mts +37 -0
  220. package/internal/utils/log.d.mts.map +1 -0
  221. package/internal/utils/log.d.ts +37 -0
  222. package/internal/utils/log.d.ts.map +1 -0
  223. package/internal/utils/log.js +86 -0
  224. package/internal/utils/log.js.map +1 -0
  225. package/internal/utils/log.mjs +80 -0
  226. package/internal/utils/log.mjs.map +1 -0
  227. package/internal/utils/path.d.mts +15 -0
  228. package/internal/utils/path.d.mts.map +1 -0
  229. package/internal/utils/path.d.ts +15 -0
  230. package/internal/utils/path.d.ts.map +1 -0
  231. package/internal/utils/path.js +58 -0
  232. package/internal/utils/path.js.map +1 -0
  233. package/internal/utils/path.mjs +53 -0
  234. package/internal/utils/path.mjs.map +1 -0
  235. package/internal/utils/sleep.d.mts +2 -0
  236. package/internal/utils/sleep.d.mts.map +1 -0
  237. package/internal/utils/sleep.d.ts +2 -0
  238. package/internal/utils/sleep.d.ts.map +1 -0
  239. package/internal/utils/sleep.js +7 -0
  240. package/internal/utils/sleep.js.map +1 -0
  241. package/internal/utils/sleep.mjs +3 -0
  242. package/internal/utils/sleep.mjs.map +1 -0
  243. package/internal/utils/uuid.d.mts +5 -0
  244. package/internal/utils/uuid.d.mts.map +1 -0
  245. package/internal/utils/uuid.d.ts +5 -0
  246. package/internal/utils/uuid.d.ts.map +1 -0
  247. package/internal/utils/uuid.js +19 -0
  248. package/internal/utils/uuid.js.map +1 -0
  249. package/internal/utils/uuid.mjs +15 -0
  250. package/internal/utils/uuid.mjs.map +1 -0
  251. package/internal/utils/values.d.mts +16 -0
  252. package/internal/utils/values.d.mts.map +1 -0
  253. package/internal/utils/values.d.ts +16 -0
  254. package/internal/utils/values.d.ts.map +1 -0
  255. package/internal/utils/values.js +109 -0
  256. package/internal/utils/values.js.map +1 -0
  257. package/internal/utils/values.mjs +92 -0
  258. package/internal/utils/values.mjs.map +1 -0
  259. package/internal/utils.d.mts +7 -0
  260. package/internal/utils.d.mts.map +1 -0
  261. package/internal/utils.d.ts +7 -0
  262. package/internal/utils.d.ts.map +1 -0
  263. package/internal/utils.js +11 -0
  264. package/internal/utils.js.map +1 -0
  265. package/internal/utils.mjs +8 -0
  266. package/internal/utils.mjs.map +1 -0
  267. package/lib/BetaMessageStream.d.mts +114 -0
  268. package/lib/BetaMessageStream.d.mts.map +1 -0
  269. package/lib/BetaMessageStream.d.ts +7 -8
  270. package/lib/BetaMessageStream.d.ts.map +1 -1
  271. package/lib/BetaMessageStream.js +65 -67
  272. package/lib/BetaMessageStream.js.map +1 -1
  273. package/lib/BetaMessageStream.mjs +12 -14
  274. package/lib/BetaMessageStream.mjs.map +1 -1
  275. package/lib/MessageStream.d.mts +114 -0
  276. package/lib/MessageStream.d.mts.map +1 -0
  277. package/lib/MessageStream.d.ts +7 -8
  278. package/lib/MessageStream.d.ts.map +1 -1
  279. package/lib/MessageStream.js +65 -67
  280. package/lib/MessageStream.js.map +1 -1
  281. package/lib/MessageStream.mjs +12 -14
  282. package/lib/MessageStream.mjs.map +1 -1
  283. package/package.json +149 -64
  284. package/pagination.d.mts +2 -0
  285. package/pagination.d.mts.map +1 -0
  286. package/pagination.d.ts +1 -26
  287. package/pagination.d.ts.map +1 -1
  288. package/pagination.js +3 -57
  289. package/pagination.js.map +1 -1
  290. package/pagination.mjs +1 -55
  291. package/pagination.mjs.map +1 -1
  292. package/resource.d.mts +2 -0
  293. package/resource.d.mts.map +1 -0
  294. package/resource.d.ts +1 -5
  295. package/resource.d.ts.map +1 -1
  296. package/resource.js +3 -8
  297. package/resource.js.map +1 -1
  298. package/resource.mjs +1 -6
  299. package/resource.mjs.map +1 -1
  300. package/resources/beta/beta.d.mts +57 -0
  301. package/resources/beta/beta.d.mts.map +1 -0
  302. package/resources/beta/beta.d.ts +5 -5
  303. package/resources/beta/beta.d.ts.map +1 -1
  304. package/resources/beta/beta.js +4 -27
  305. package/resources/beta/beta.js.map +1 -1
  306. package/resources/beta/beta.mjs +2 -3
  307. package/resources/beta/beta.mjs.map +1 -1
  308. package/resources/beta/index.d.mts +4 -0
  309. package/resources/beta/index.d.mts.map +1 -0
  310. package/resources/beta/index.d.ts +2 -2
  311. package/resources/beta/index.d.ts.map +1 -1
  312. package/resources/beta/index.js +3 -4
  313. package/resources/beta/index.js.map +1 -1
  314. package/resources/beta/index.mjs +1 -1
  315. package/resources/beta/index.mjs.map +1 -1
  316. package/resources/beta/messages/batches.d.mts +343 -0
  317. package/resources/beta/messages/batches.d.mts.map +1 -0
  318. package/resources/beta/messages/batches.d.ts +73 -19
  319. package/resources/beta/messages/batches.d.ts.map +1 -1
  320. package/resources/beta/messages/batches.js +153 -62
  321. package/resources/beta/messages/batches.js.map +1 -1
  322. package/resources/beta/messages/batches.mjs +152 -60
  323. package/resources/beta/messages/batches.mjs.map +1 -1
  324. package/resources/beta/messages/index.d.mts +3 -0
  325. package/resources/beta/messages/index.d.mts.map +1 -0
  326. package/resources/beta/messages/index.d.ts +2 -2
  327. package/resources/beta/messages/index.d.ts.map +1 -1
  328. package/resources/beta/messages/index.js +1 -2
  329. package/resources/beta/messages/index.js.map +1 -1
  330. package/resources/beta/messages/index.mjs +1 -1
  331. package/resources/beta/messages/index.mjs.map +1 -1
  332. package/resources/beta/messages/messages.d.mts +1324 -0
  333. package/resources/beta/messages/messages.d.mts.map +1 -0
  334. package/resources/beta/messages/messages.d.ts +238 -27
  335. package/resources/beta/messages/messages.d.ts.map +1 -1
  336. package/resources/beta/messages/messages.js +21 -34
  337. package/resources/beta/messages/messages.js.map +1 -1
  338. package/resources/beta/messages/messages.mjs +20 -11
  339. package/resources/beta/messages/messages.mjs.map +1 -1
  340. package/resources/beta/messages.d.mts +2 -0
  341. package/resources/beta/messages.d.mts.map +1 -0
  342. package/resources/beta/messages.d.ts.map +1 -1
  343. package/resources/beta/messages.js +2 -15
  344. package/resources/beta/messages.js.map +1 -1
  345. package/resources/beta/models.d.mts +74 -0
  346. package/resources/beta/models.d.mts.map +1 -0
  347. package/resources/beta/models.d.ts +34 -9
  348. package/resources/beta/models.d.ts.map +1 -1
  349. package/resources/beta/models.js +45 -15
  350. package/resources/beta/models.js.map +1 -1
  351. package/resources/beta/models.mjs +44 -13
  352. package/resources/beta/models.mjs.map +1 -1
  353. package/resources/beta.d.mts +2 -0
  354. package/resources/beta.d.mts.map +1 -0
  355. package/resources/beta.d.ts.map +1 -1
  356. package/resources/beta.js +2 -15
  357. package/resources/beta.js.map +1 -1
  358. package/resources/completions.d.mts +183 -0
  359. package/resources/completions.d.mts.map +1 -0
  360. package/resources/completions.d.ts +35 -18
  361. package/resources/completions.d.ts.map +1 -1
  362. package/resources/completions.js +9 -3
  363. package/resources/completions.js.map +1 -1
  364. package/resources/completions.mjs +9 -3
  365. package/resources/completions.mjs.map +1 -1
  366. package/resources/index.d.mts +6 -0
  367. package/resources/index.d.mts.map +1 -0
  368. package/resources/index.d.ts +2 -2
  369. package/resources/index.d.ts.map +1 -1
  370. package/resources/index.js +3 -17
  371. package/resources/index.js.map +1 -1
  372. package/resources/index.mjs +1 -1
  373. package/resources/index.mjs.map +1 -1
  374. package/resources/messages/batches.d.mts +304 -0
  375. package/resources/messages/batches.d.mts.map +1 -0
  376. package/resources/messages/batches.d.ts +64 -13
  377. package/resources/messages/batches.d.ts.map +1 -1
  378. package/resources/messages/batches.js +75 -24
  379. package/resources/messages/batches.js.map +1 -1
  380. package/resources/messages/batches.mjs +74 -22
  381. package/resources/messages/batches.mjs.map +1 -1
  382. package/resources/messages/index.d.mts +3 -0
  383. package/resources/messages/index.d.mts.map +1 -0
  384. package/resources/messages/index.d.ts +2 -2
  385. package/resources/messages/index.d.ts.map +1 -1
  386. package/resources/messages/index.js +1 -2
  387. package/resources/messages/index.js.map +1 -1
  388. package/resources/messages/index.mjs +1 -1
  389. package/resources/messages/index.mjs.map +1 -1
  390. package/resources/messages/messages.d.mts +1250 -0
  391. package/resources/messages/messages.d.mts.map +1 -0
  392. package/resources/messages/messages.d.ts +223 -40
  393. package/resources/messages/messages.d.ts.map +1 -1
  394. package/resources/messages/messages.js +12 -26
  395. package/resources/messages/messages.js.map +1 -1
  396. package/resources/messages/messages.mjs +11 -3
  397. package/resources/messages/messages.mjs.map +1 -1
  398. package/resources/messages.d.mts +2 -0
  399. package/resources/messages.d.mts.map +1 -0
  400. package/resources/messages.d.ts.map +1 -1
  401. package/resources/messages.js +2 -15
  402. package/resources/messages.js.map +1 -1
  403. package/resources/models.d.mts +59 -0
  404. package/resources/models.d.mts.map +1 -0
  405. package/resources/models.d.ts +19 -9
  406. package/resources/models.d.ts.map +1 -1
  407. package/resources/models.js +30 -15
  408. package/resources/models.js.map +1 -1
  409. package/resources/models.mjs +29 -13
  410. package/resources/models.mjs.map +1 -1
  411. package/resources/shared.d.mts +42 -0
  412. package/resources/shared.d.mts.map +1 -0
  413. package/resources/top-level.d.mts +2 -0
  414. package/resources/top-level.d.mts.map +1 -0
  415. package/resources.d.mts +2 -0
  416. package/resources.d.mts.map +1 -0
  417. package/resources.d.ts.map +1 -1
  418. package/resources.js +2 -15
  419. package/resources.js.map +1 -1
  420. package/src/api-promise.ts +2 -0
  421. package/src/client.ts +1056 -0
  422. package/src/core/README.md +3 -0
  423. package/src/core/api-promise.ts +101 -0
  424. package/src/core/error.ts +133 -0
  425. package/src/core/pagination.ts +201 -0
  426. package/src/core/resource.ts +11 -0
  427. package/src/core/streaming.ts +331 -0
  428. package/src/core/uploads.ts +2 -0
  429. package/src/error.ts +2 -133
  430. package/src/index.ts +6 -463
  431. package/src/internal/README.md +3 -0
  432. package/src/internal/builtin-types.ts +93 -0
  433. package/src/internal/decoders/jsonl.ts +11 -4
  434. package/src/internal/decoders/line.ts +12 -53
  435. package/src/internal/detect-platform.ts +196 -0
  436. package/src/internal/errors.ts +33 -0
  437. package/src/internal/headers.ts +99 -0
  438. package/src/internal/parse.ts +84 -0
  439. package/src/internal/request-options.ts +39 -0
  440. package/src/internal/shim-types.d.ts +28 -0
  441. package/src/internal/shims.ts +107 -0
  442. package/src/internal/to-file.ts +154 -0
  443. package/src/internal/types.ts +92 -0
  444. package/src/internal/uploads.ts +187 -0
  445. package/src/internal/utils/base64.ts +40 -0
  446. package/src/internal/utils/bytes.ts +32 -0
  447. package/src/internal/utils/env.ts +18 -0
  448. package/src/internal/utils/log.ts +127 -0
  449. package/src/internal/utils/path.ts +65 -0
  450. package/src/internal/utils/sleep.ts +3 -0
  451. package/src/internal/utils/uuid.ts +17 -0
  452. package/src/internal/utils/values.ts +102 -0
  453. package/src/internal/utils.ts +8 -0
  454. package/src/lib/BetaMessageStream.ts +20 -10
  455. package/src/lib/MessageStream.ts +20 -10
  456. package/src/pagination.ts +2 -92
  457. package/src/resource.ts +2 -11
  458. package/src/resources/beta/beta.ts +35 -7
  459. package/src/resources/beta/index.ts +23 -3
  460. package/src/resources/beta/messages/batches.ts +128 -116
  461. package/src/resources/beta/messages/index.ts +17 -3
  462. package/src/resources/beta/messages/messages.ts +364 -41
  463. package/src/resources/beta/messages.ts +1 -1
  464. package/src/resources/beta/models.ts +62 -22
  465. package/src/resources/beta.ts +1 -1
  466. package/src/resources/completions.ts +48 -27
  467. package/src/resources/index.ts +28 -13
  468. package/src/resources/messages/batches.ts +80 -39
  469. package/src/resources/messages/index.ts +20 -6
  470. package/src/resources/messages/messages.ts +340 -57
  471. package/src/resources/messages.ts +1 -1
  472. package/src/resources/models.ts +47 -19
  473. package/src/resources.ts +1 -1
  474. package/src/streaming.ts +2 -326
  475. package/src/tsconfig.json +2 -2
  476. package/src/uploads.ts +2 -255
  477. package/src/version.ts +1 -1
  478. package/streaming.d.mts +2 -0
  479. package/streaming.d.mts.map +1 -0
  480. package/streaming.d.ts +1 -31
  481. package/streaming.d.ts.map +1 -1
  482. package/streaming.js +3 -274
  483. package/streaming.js.map +1 -1
  484. package/streaming.mjs +1 -271
  485. package/streaming.mjs.map +1 -1
  486. package/uploads.d.mts +2 -0
  487. package/uploads.d.mts.map +1 -0
  488. package/uploads.d.ts +1 -74
  489. package/uploads.d.ts.map +1 -1
  490. package/uploads.js +3 -168
  491. package/uploads.js.map +1 -1
  492. package/uploads.mjs +1 -157
  493. package/uploads.mjs.map +1 -1
  494. package/version.d.mts +2 -0
  495. package/version.d.mts.map +1 -0
  496. package/version.d.ts +1 -1
  497. package/version.js +1 -1
  498. package/version.mjs +1 -1
  499. package/_shims/MultipartBody.d.ts +0 -9
  500. package/_shims/MultipartBody.d.ts.map +0 -1
  501. package/_shims/MultipartBody.js +0 -16
  502. package/_shims/MultipartBody.js.map +0 -1
  503. package/_shims/MultipartBody.mjs +0 -12
  504. package/_shims/MultipartBody.mjs.map +0 -1
  505. package/_shims/README.md +0 -46
  506. package/_shims/auto/runtime-bun.d.ts +0 -5
  507. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  508. package/_shims/auto/runtime-bun.js +0 -21
  509. package/_shims/auto/runtime-bun.js.map +0 -1
  510. package/_shims/auto/runtime-bun.mjs +0 -2
  511. package/_shims/auto/runtime-bun.mjs.map +0 -1
  512. package/_shims/auto/runtime-node.d.ts +0 -5
  513. package/_shims/auto/runtime-node.d.ts.map +0 -1
  514. package/_shims/auto/runtime-node.js +0 -21
  515. package/_shims/auto/runtime-node.js.map +0 -1
  516. package/_shims/auto/runtime-node.mjs +0 -2
  517. package/_shims/auto/runtime-node.mjs.map +0 -1
  518. package/_shims/auto/runtime.d.ts +0 -5
  519. package/_shims/auto/runtime.d.ts.map +0 -1
  520. package/_shims/auto/runtime.js +0 -21
  521. package/_shims/auto/runtime.js.map +0 -1
  522. package/_shims/auto/runtime.mjs +0 -2
  523. package/_shims/auto/runtime.mjs.map +0 -1
  524. package/_shims/auto/types-node.d.ts +0 -5
  525. package/_shims/auto/types-node.d.ts.map +0 -1
  526. package/_shims/auto/types-node.js +0 -21
  527. package/_shims/auto/types-node.js.map +0 -1
  528. package/_shims/auto/types-node.mjs +0 -2
  529. package/_shims/auto/types-node.mjs.map +0 -1
  530. package/_shims/auto/types.d.ts +0 -101
  531. package/_shims/auto/types.js +0 -3
  532. package/_shims/auto/types.mjs +0 -3
  533. package/_shims/bun-runtime.d.ts +0 -6
  534. package/_shims/bun-runtime.d.ts.map +0 -1
  535. package/_shims/bun-runtime.js +0 -14
  536. package/_shims/bun-runtime.js.map +0 -1
  537. package/_shims/bun-runtime.mjs +0 -10
  538. package/_shims/bun-runtime.mjs.map +0 -1
  539. package/_shims/index.d.ts +0 -83
  540. package/_shims/index.js +0 -17
  541. package/_shims/index.mjs +0 -11
  542. package/_shims/manual-types.d.ts +0 -12
  543. package/_shims/manual-types.js +0 -3
  544. package/_shims/manual-types.mjs +0 -3
  545. package/_shims/node-runtime.d.ts +0 -3
  546. package/_shims/node-runtime.d.ts.map +0 -1
  547. package/_shims/node-runtime.js +0 -89
  548. package/_shims/node-runtime.js.map +0 -1
  549. package/_shims/node-runtime.mjs +0 -56
  550. package/_shims/node-runtime.mjs.map +0 -1
  551. package/_shims/node-types.d.ts +0 -42
  552. package/_shims/node-types.js +0 -3
  553. package/_shims/node-types.mjs +0 -3
  554. package/_shims/registry.d.ts +0 -37
  555. package/_shims/registry.d.ts.map +0 -1
  556. package/_shims/registry.js +0 -41
  557. package/_shims/registry.js.map +0 -1
  558. package/_shims/registry.mjs +0 -37
  559. package/_shims/registry.mjs.map +0 -1
  560. package/_shims/web-runtime.d.ts +0 -5
  561. package/_shims/web-runtime.d.ts.map +0 -1
  562. package/_shims/web-runtime.js +0 -78
  563. package/_shims/web-runtime.js.map +0 -1
  564. package/_shims/web-runtime.mjs +0 -71
  565. package/_shims/web-runtime.mjs.map +0 -1
  566. package/_shims/web-types.d.ts +0 -83
  567. package/_shims/web-types.js +0 -3
  568. package/_shims/web-types.mjs +0 -3
  569. package/core.d.ts +0 -260
  570. package/core.d.ts.map +0 -1
  571. package/core.js +0 -959
  572. package/core.js.map +0 -1
  573. package/core.mjs +0 -927
  574. package/core.mjs.map +0 -1
  575. package/shims/node.d.ts +0 -30
  576. package/shims/node.d.ts.map +0 -1
  577. package/shims/node.js +0 -31
  578. package/shims/node.js.map +0 -1
  579. package/shims/node.mjs +0 -5
  580. package/shims/node.mjs.map +0 -1
  581. package/shims/web.d.ts +0 -26
  582. package/shims/web.d.ts.map +0 -1
  583. package/shims/web.js +0 -31
  584. package/shims/web.js.map +0 -1
  585. package/shims/web.mjs +0 -5
  586. package/shims/web.mjs.map +0 -1
  587. package/src/_shims/MultipartBody.ts +0 -9
  588. package/src/_shims/README.md +0 -46
  589. package/src/_shims/auto/runtime-bun.ts +0 -4
  590. package/src/_shims/auto/runtime-node.ts +0 -4
  591. package/src/_shims/auto/runtime.ts +0 -4
  592. package/src/_shims/auto/types-node.ts +0 -4
  593. package/src/_shims/auto/types.d.ts +0 -101
  594. package/src/_shims/auto/types.js +0 -3
  595. package/src/_shims/auto/types.mjs +0 -3
  596. package/src/_shims/bun-runtime.ts +0 -14
  597. package/src/_shims/index.d.ts +0 -83
  598. package/src/_shims/index.js +0 -17
  599. package/src/_shims/index.mjs +0 -11
  600. package/src/_shims/manual-types.d.ts +0 -12
  601. package/src/_shims/manual-types.js +0 -3
  602. package/src/_shims/manual-types.mjs +0 -3
  603. package/src/_shims/node-runtime.ts +0 -81
  604. package/src/_shims/node-types.d.ts +0 -42
  605. package/src/_shims/node-types.js +0 -3
  606. package/src/_shims/node-types.mjs +0 -3
  607. package/src/_shims/registry.ts +0 -67
  608. package/src/_shims/web-runtime.ts +0 -103
  609. package/src/_shims/web-types.d.ts +0 -83
  610. package/src/_shims/web-types.js +0 -3
  611. package/src/_shims/web-types.mjs +0 -3
  612. package/src/core.ts +0 -1294
  613. package/src/shims/node.ts +0 -50
  614. package/src/shims/web.ts +0 -50
@@ -0,0 +1,127 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { hasOwn } from './values';
4
+ import { type BaseAnthropic } from '../../client';
5
+ import { RequestOptions } from '../request-options';
6
+
7
+ type LogFn = (message: string, ...rest: unknown[]) => void;
8
+ export type Logger = {
9
+ error: LogFn;
10
+ warn: LogFn;
11
+ info: LogFn;
12
+ debug: LogFn;
13
+ };
14
+ export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug';
15
+
16
+ const levelNumbers = {
17
+ off: 0,
18
+ error: 200,
19
+ warn: 300,
20
+ info: 400,
21
+ debug: 500,
22
+ };
23
+
24
+ export const parseLogLevel = (
25
+ maybeLevel: string | undefined,
26
+ sourceName: string,
27
+ client: BaseAnthropic,
28
+ ): LogLevel | undefined => {
29
+ if (!maybeLevel) {
30
+ return undefined;
31
+ }
32
+ if (hasOwn(levelNumbers, maybeLevel)) {
33
+ return maybeLevel;
34
+ }
35
+ loggerFor(client).warn(
36
+ `${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(
37
+ Object.keys(levelNumbers),
38
+ )}`,
39
+ );
40
+ return undefined;
41
+ };
42
+
43
+ function noop() {}
44
+
45
+ function makeLogFn(fnLevel: keyof Logger, logger: Logger | undefined, logLevel: LogLevel) {
46
+ if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {
47
+ return noop;
48
+ } else {
49
+ // Don't wrap logger functions, we want the stacktrace intact!
50
+ return logger[fnLevel].bind(logger);
51
+ }
52
+ }
53
+
54
+ const noopLogger = {
55
+ error: noop,
56
+ warn: noop,
57
+ info: noop,
58
+ debug: noop,
59
+ };
60
+
61
+ let cachedLoggers = new WeakMap<Logger, [LogLevel, Logger]>();
62
+
63
+ export function loggerFor(client: BaseAnthropic): Logger {
64
+ const logger = client.logger;
65
+ const logLevel = client.logLevel ?? 'off';
66
+ if (!logger) {
67
+ return noopLogger;
68
+ }
69
+
70
+ const cachedLogger = cachedLoggers.get(logger);
71
+ if (cachedLogger && cachedLogger[0] === logLevel) {
72
+ return cachedLogger[1];
73
+ }
74
+
75
+ const levelLogger = {
76
+ error: makeLogFn('error', logger, logLevel),
77
+ warn: makeLogFn('warn', logger, logLevel),
78
+ info: makeLogFn('info', logger, logLevel),
79
+ debug: makeLogFn('debug', logger, logLevel),
80
+ };
81
+
82
+ cachedLoggers.set(logger, [logLevel, levelLogger]);
83
+
84
+ return levelLogger;
85
+ }
86
+
87
+ export const formatRequestDetails = (details: {
88
+ options?: RequestOptions | undefined;
89
+ headers?: Headers | Record<string, string> | undefined;
90
+ retryOfRequestLogID?: string | undefined;
91
+ retryOf?: string | undefined;
92
+ url?: string | undefined;
93
+ status?: number | undefined;
94
+ method?: string | undefined;
95
+ durationMs?: number | undefined;
96
+ message?: unknown;
97
+ body?: unknown;
98
+ }) => {
99
+ if (details.options) {
100
+ details.options = { ...details.options };
101
+ delete details.options['headers']; // redundant + leaks internals
102
+ }
103
+ if (details.headers) {
104
+ details.headers = Object.fromEntries(
105
+ (details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(
106
+ ([name, value]) => [
107
+ name,
108
+ (
109
+ name.toLowerCase() === 'x-api-key' ||
110
+ name.toLowerCase() === 'authorization' ||
111
+ name.toLowerCase() === 'cookie' ||
112
+ name.toLowerCase() === 'set-cookie'
113
+ ) ?
114
+ '***'
115
+ : value,
116
+ ],
117
+ ),
118
+ );
119
+ }
120
+ if ('retryOfRequestLogID' in details) {
121
+ if (details.retryOfRequestLogID) {
122
+ details.retryOf = details.retryOfRequestLogID;
123
+ }
124
+ delete details.retryOfRequestLogID;
125
+ }
126
+ return details;
127
+ };
@@ -0,0 +1,65 @@
1
+ import { AnthropicError } from '../../core/error';
2
+
3
+ /**
4
+ * Percent-encode everything that isn't safe to have in a path without encoding safe chars.
5
+ *
6
+ * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
7
+ * > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
8
+ * > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
9
+ * > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
10
+ */
11
+ export function encodeURIPath(str: string) {
12
+ return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
13
+ }
14
+
15
+ export const createPathTagFunction = (pathEncoder = encodeURIPath) =>
16
+ function path(statics: readonly string[], ...params: readonly unknown[]): string {
17
+ // If there are no params, no processing is needed.
18
+ if (statics.length === 1) return statics[0]!;
19
+
20
+ let postPath = false;
21
+ const path = statics.reduce((previousValue, currentValue, index) => {
22
+ if (/[?#]/.test(currentValue)) {
23
+ postPath = true;
24
+ }
25
+ return (
26
+ previousValue +
27
+ currentValue +
28
+ (index === params.length ? '' : (postPath ? encodeURIComponent : pathEncoder)(String(params[index])))
29
+ );
30
+ }, '');
31
+
32
+ const pathOnly = path.split(/[?#]/, 1)[0]!;
33
+ const invalidSegments = [];
34
+ const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
35
+ let match;
36
+
37
+ // Find all invalid segments
38
+ while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
39
+ invalidSegments.push({
40
+ start: match.index,
41
+ length: match[0].length,
42
+ });
43
+ }
44
+
45
+ if (invalidSegments.length > 0) {
46
+ let lastEnd = 0;
47
+ const underline = invalidSegments.reduce((acc, segment) => {
48
+ const spaces = ' '.repeat(segment.start - lastEnd);
49
+ const arrows = '^'.repeat(segment.length);
50
+ lastEnd = segment.start + segment.length;
51
+ return acc + spaces + arrows;
52
+ }, '');
53
+
54
+ throw new AnthropicError(
55
+ `Path parameters result in path with invalid segments:\n${path}\n${underline}`,
56
+ );
57
+ }
58
+
59
+ return path;
60
+ };
61
+
62
+ /**
63
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
64
+ */
65
+ export const path = createPathTagFunction(encodeURIPath);
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export const sleep = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));
@@ -0,0 +1,17 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ /**
4
+ * https://stackoverflow.com/a/2117523
5
+ */
6
+ export let uuid4 = function () {
7
+ const { crypto } = globalThis as any;
8
+ if (crypto?.randomUUID) {
9
+ uuid4 = crypto.randomUUID.bind(crypto);
10
+ return crypto.randomUUID();
11
+ }
12
+ const u8 = new Uint8Array(1);
13
+ const randomByte = crypto ? () => crypto.getRandomValues(u8)[0]! : () => (Math.random() * 0xff) & 0xff;
14
+ return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
15
+ (+c ^ (randomByte() & (15 >> (+c / 4)))).toString(16),
16
+ );
17
+ };
@@ -0,0 +1,102 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { AnthropicError } from '../../core/error';
4
+
5
+ // https://url.spec.whatwg.org/#url-scheme-string
6
+ const startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
7
+
8
+ export const isAbsoluteURL = (url: string): boolean => {
9
+ return startsWithSchemeRegexp.test(url);
10
+ };
11
+
12
+ /** Returns an object if the given value isn't an object, otherwise returns as-is */
13
+ export function maybeObj(x: unknown): object {
14
+ if (typeof x !== 'object') {
15
+ return {};
16
+ }
17
+
18
+ return x ?? {};
19
+ }
20
+
21
+ // https://stackoverflow.com/a/34491287
22
+ export function isEmptyObj(obj: Object | null | undefined): boolean {
23
+ if (!obj) return true;
24
+ for (const _k in obj) return false;
25
+ return true;
26
+ }
27
+
28
+ // https://eslint.org/docs/latest/rules/no-prototype-builtins
29
+ export function hasOwn<T extends object = object>(obj: T, key: PropertyKey): key is keyof T {
30
+ return Object.prototype.hasOwnProperty.call(obj, key);
31
+ }
32
+
33
+ export function isObj(obj: unknown): obj is Record<string, unknown> {
34
+ return obj != null && typeof obj === 'object' && !Array.isArray(obj);
35
+ }
36
+
37
+ export const ensurePresent = <T>(value: T | null | undefined): T => {
38
+ if (value == null) {
39
+ throw new AnthropicError(`Expected a value to be given but received ${value} instead.`);
40
+ }
41
+
42
+ return value;
43
+ };
44
+
45
+ export const validatePositiveInteger = (name: string, n: unknown): number => {
46
+ if (typeof n !== 'number' || !Number.isInteger(n)) {
47
+ throw new AnthropicError(`${name} must be an integer`);
48
+ }
49
+ if (n < 0) {
50
+ throw new AnthropicError(`${name} must be a positive integer`);
51
+ }
52
+ return n;
53
+ };
54
+
55
+ export const coerceInteger = (value: unknown): number => {
56
+ if (typeof value === 'number') return Math.round(value);
57
+ if (typeof value === 'string') return parseInt(value, 10);
58
+
59
+ throw new AnthropicError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
60
+ };
61
+
62
+ export const coerceFloat = (value: unknown): number => {
63
+ if (typeof value === 'number') return value;
64
+ if (typeof value === 'string') return parseFloat(value);
65
+
66
+ throw new AnthropicError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
67
+ };
68
+
69
+ export const coerceBoolean = (value: unknown): boolean => {
70
+ if (typeof value === 'boolean') return value;
71
+ if (typeof value === 'string') return value === 'true';
72
+ return Boolean(value);
73
+ };
74
+
75
+ export const maybeCoerceInteger = (value: unknown): number | undefined => {
76
+ if (value === undefined) {
77
+ return undefined;
78
+ }
79
+ return coerceInteger(value);
80
+ };
81
+
82
+ export const maybeCoerceFloat = (value: unknown): number | undefined => {
83
+ if (value === undefined) {
84
+ return undefined;
85
+ }
86
+ return coerceFloat(value);
87
+ };
88
+
89
+ export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
90
+ if (value === undefined) {
91
+ return undefined;
92
+ }
93
+ return coerceBoolean(value);
94
+ };
95
+
96
+ export const safeJSON = (text: string) => {
97
+ try {
98
+ return JSON.parse(text);
99
+ } catch (err) {
100
+ return undefined;
101
+ }
102
+ };
@@ -0,0 +1,8 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './utils/values';
4
+ export * from './utils/base64';
5
+ export * from './utils/env';
6
+ export * from './utils/log';
7
+ export * from './utils/uuid';
8
+ export * from './utils/sleep';
@@ -1,5 +1,5 @@
1
- import * as Core from "../core.js";
2
- import { AnthropicError, APIUserAbortError } from "../error.js";
1
+ import { isAbortError } from '../internal/errors';
2
+ import { AnthropicError, APIUserAbortError } from '../error';
3
3
  import {
4
4
  type BetaContentBlock,
5
5
  Messages as BetaMessages,
@@ -10,10 +10,11 @@ import {
10
10
  type MessageCreateParamsBase as BetaMessageCreateParamsBase,
11
11
  type BetaTextBlock,
12
12
  type BetaTextCitation,
13
- } from "../resources/beta/messages/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";
13
+ } from '../resources/beta/messages/messages';
14
+ import { Stream } from '../streaming';
15
+ import { partialParse } from '../_vendor/partial-json-parser/parser';
16
+ import { type RequestOptions } from '../internal/request-options';
17
+ import { type ReadableStream } from '../internal/shim-types';
17
18
 
18
19
  export interface MessageStreamEvents {
19
20
  connect: () => void;
@@ -132,7 +133,7 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
132
133
  static createMessage(
133
134
  messages: BetaMessages,
134
135
  params: BetaMessageCreateParamsBase,
135
- options?: Core.RequestOptions,
136
+ options?: RequestOptions,
136
137
  ): BetaMessageStream {
137
138
  const runner = new BetaMessageStream();
138
139
  for (const message of params.messages) {
@@ -169,7 +170,7 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
169
170
  protected async _createMessage(
170
171
  messages: BetaMessages,
171
172
  params: BetaMessageCreateParams,
172
- options?: Core.RequestOptions,
173
+ options?: RequestOptions,
173
174
  ): Promise<void> {
174
175
  const signal = options?.signal;
175
176
  if (signal) {
@@ -331,7 +332,7 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
331
332
 
332
333
  #handleError = (error: unknown) => {
333
334
  this.#errored = true;
334
- if (error instanceof Error && error.name === 'AbortError') {
335
+ if (isAbortError(error)) {
335
336
  error = new APIUserAbortError();
336
337
  }
337
338
  if (error instanceof APIUserAbortError) {
@@ -485,7 +486,7 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
485
486
 
486
487
  protected async _fromReadableStream(
487
488
  readableStream: ReadableStream,
488
- options?: Core.RequestOptions,
489
+ options?: RequestOptions,
489
490
  ): Promise<void> {
490
491
  const signal = options?.signal;
491
492
  if (signal) {
@@ -530,6 +531,15 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
530
531
  snapshot.stop_reason = event.delta.stop_reason;
531
532
  snapshot.stop_sequence = event.delta.stop_sequence;
532
533
  snapshot.usage.output_tokens = event.usage.output_tokens;
534
+
535
+ // Update other usage fields if they exist in the event
536
+ if (event.usage.input_tokens) {
537
+ snapshot.usage.input_tokens = event.usage.input_tokens;
538
+ }
539
+ snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;
540
+ snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;
541
+ snapshot.usage.server_tool_use = event.usage.server_tool_use;
542
+
533
543
  return snapshot;
534
544
  case 'content_block_start':
535
545
  snapshot.content.push(event.content_block);
@@ -1,5 +1,5 @@
1
- import * as Core from "../core.js";
2
- import { AnthropicError, APIUserAbortError } from "../error.js";
1
+ import { isAbortError } from '../internal/errors';
2
+ import { AnthropicError, APIUserAbortError } from '../error';
3
3
  import {
4
4
  type ContentBlock,
5
5
  Messages,
@@ -10,10 +10,11 @@ import {
10
10
  type MessageCreateParamsBase,
11
11
  type TextBlock,
12
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";
13
+ } from '../resources/messages';
14
+ import { Stream } from '../streaming';
15
+ import { partialParse } from '../_vendor/partial-json-parser/parser';
16
+ import { RequestOptions } from '../internal/request-options';
17
+ import { type ReadableStream } from '../internal/shim-types';
17
18
 
18
19
  export interface MessageStreamEvents {
19
20
  connect: () => void;
@@ -132,7 +133,7 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
132
133
  static createMessage(
133
134
  messages: Messages,
134
135
  params: MessageCreateParamsBase,
135
- options?: Core.RequestOptions,
136
+ options?: RequestOptions,
136
137
  ): MessageStream {
137
138
  const runner = new MessageStream();
138
139
  for (const message of params.messages) {
@@ -169,7 +170,7 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
169
170
  protected async _createMessage(
170
171
  messages: Messages,
171
172
  params: MessageCreateParams,
172
- options?: Core.RequestOptions,
173
+ options?: RequestOptions,
173
174
  ): Promise<void> {
174
175
  const signal = options?.signal;
175
176
  if (signal) {
@@ -331,7 +332,7 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
331
332
 
332
333
  #handleError = (error: unknown) => {
333
334
  this.#errored = true;
334
- if (error instanceof Error && error.name === 'AbortError') {
335
+ if (isAbortError(error)) {
335
336
  error = new APIUserAbortError();
336
337
  }
337
338
  if (error instanceof APIUserAbortError) {
@@ -485,7 +486,7 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
485
486
 
486
487
  protected async _fromReadableStream(
487
488
  readableStream: ReadableStream,
488
- options?: Core.RequestOptions,
489
+ options?: RequestOptions,
489
490
  ): Promise<void> {
490
491
  const signal = options?.signal;
491
492
  if (signal) {
@@ -530,6 +531,15 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
530
531
  snapshot.stop_reason = event.delta.stop_reason;
531
532
  snapshot.stop_sequence = event.delta.stop_sequence;
532
533
  snapshot.usage.output_tokens = event.usage.output_tokens;
534
+
535
+ // Update other usage fields if they exist in the event
536
+ if (event.usage.input_tokens) {
537
+ snapshot.usage.input_tokens = event.usage.input_tokens;
538
+ }
539
+ snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;
540
+ snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;
541
+ snapshot.usage.server_tool_use = event.usage.server_tool_use;
542
+
533
543
  return snapshot;
534
544
  case 'content_block_start':
535
545
  snapshot.content.push(event.content_block);
package/src/pagination.ts CHANGED
@@ -1,92 +1,2 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { AbstractPage, Response, APIClient, FinalRequestOptions, PageInfo } from "./core.js";
4
-
5
- export interface PageResponse<Item> {
6
- data: Array<Item>;
7
-
8
- has_more: boolean;
9
-
10
- first_id: string | null;
11
-
12
- last_id: string | null;
13
- }
14
-
15
- export interface PageParams {
16
- /**
17
- * Number of items per page.
18
- */
19
- limit?: number;
20
-
21
- before_id?: string;
22
-
23
- after_id?: string;
24
- }
25
-
26
- export class Page<Item> extends AbstractPage<Item> implements PageResponse<Item> {
27
- data: Array<Item>;
28
-
29
- has_more: boolean;
30
-
31
- first_id: string | null;
32
-
33
- last_id: string | null;
34
-
35
- constructor(client: APIClient, response: Response, body: PageResponse<Item>, options: FinalRequestOptions) {
36
- super(client, response, body, options);
37
-
38
- this.data = body.data || [];
39
- this.has_more = body.has_more || false;
40
- this.first_id = body.first_id || null;
41
- this.last_id = body.last_id || null;
42
- }
43
-
44
- getPaginatedItems(): Item[] {
45
- return this.data ?? [];
46
- }
47
-
48
- override hasNextPage(): boolean {
49
- if (this.has_more === false) {
50
- return false;
51
- }
52
-
53
- return super.hasNextPage();
54
- }
55
-
56
- // @deprecated Please use `nextPageInfo()` instead
57
- nextPageParams(): Partial<PageParams> | null {
58
- const info = this.nextPageInfo();
59
- if (!info) return null;
60
- if ('params' in info) return info.params;
61
- const params = Object.fromEntries(info.url.searchParams);
62
- if (!Object.keys(params).length) return null;
63
- return params;
64
- }
65
-
66
- nextPageInfo(): PageInfo | null {
67
- if ((this.options.query as Record<string, unknown>)?.['before_id']) {
68
- // in reverse
69
- const firstId = this.first_id;
70
- if (!firstId) {
71
- return null;
72
- }
73
-
74
- return {
75
- params: {
76
- before_id: firstId,
77
- },
78
- };
79
- }
80
-
81
- const cursor = this.last_id;
82
- if (!cursor) {
83
- return null;
84
- }
85
-
86
- return {
87
- params: {
88
- after_id: cursor,
89
- },
90
- };
91
- }
92
- }
1
+ /** @deprecated Import from ./core/pagination instead */
2
+ export * from './core/pagination';
package/src/resource.ts CHANGED
@@ -1,11 +1,2 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import * as Core from "./core.js";
4
-
5
- export class APIResource {
6
- protected _client: Core.APIClient;
7
-
8
- constructor(client: Core.APIClient) {
9
- this._client = client;
10
- }
11
- }
1
+ /** @deprecated Import from ./core/resource instead */
2
+ export * from './core/resource';