@ainative/cody-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (770) hide show
  1. package/.github/logo.svg +3 -0
  2. package/CHANGELOG.md +2345 -0
  3. package/LICENSE +8 -0
  4. package/README.md +45 -0
  5. package/_vendor/partial-json-parser/parser.d.mts +3 -0
  6. package/_vendor/partial-json-parser/parser.d.mts.map +1 -0
  7. package/_vendor/partial-json-parser/parser.d.ts +3 -0
  8. package/_vendor/partial-json-parser/parser.d.ts.map +1 -0
  9. package/_vendor/partial-json-parser/parser.js +226 -0
  10. package/_vendor/partial-json-parser/parser.js.map +1 -0
  11. package/_vendor/partial-json-parser/parser.mjs +223 -0
  12. package/_vendor/partial-json-parser/parser.mjs.map +1 -0
  13. package/ainative.d.mts +32 -0
  14. package/ainative.d.mts.map +1 -0
  15. package/ainative.d.ts +32 -0
  16. package/ainative.d.ts.map +1 -0
  17. package/ainative.js +78 -0
  18. package/ainative.js.map +1 -0
  19. package/ainative.mjs +71 -0
  20. package/ainative.mjs.map +1 -0
  21. package/api-promise.d.mts +2 -0
  22. package/api-promise.d.mts.map +1 -0
  23. package/api-promise.d.ts +2 -0
  24. package/api-promise.d.ts.map +1 -0
  25. package/api-promise.js +6 -0
  26. package/api-promise.js.map +1 -0
  27. package/api-promise.mjs +2 -0
  28. package/api-promise.mjs.map +1 -0
  29. package/bin/cli +53 -0
  30. package/bin/migration-config.json +82 -0
  31. package/client.d.mts +247 -0
  32. package/client.d.mts.map +1 -0
  33. package/client.d.ts +247 -0
  34. package/client.d.ts.map +1 -0
  35. package/client.js +567 -0
  36. package/client.js.map +1 -0
  37. package/client.mjs +562 -0
  38. package/client.mjs.map +1 -0
  39. package/core/api-promise.d.mts +49 -0
  40. package/core/api-promise.d.mts.map +1 -0
  41. package/core/api-promise.d.ts +49 -0
  42. package/core/api-promise.d.ts.map +1 -0
  43. package/core/api-promise.js +76 -0
  44. package/core/api-promise.js.map +1 -0
  45. package/core/api-promise.mjs +72 -0
  46. package/core/api-promise.mjs.map +1 -0
  47. package/core/error.d.mts +50 -0
  48. package/core/error.d.mts.map +1 -0
  49. package/core/error.d.ts +50 -0
  50. package/core/error.d.ts.map +1 -0
  51. package/core/error.js +116 -0
  52. package/core/error.js.map +1 -0
  53. package/core/error.mjs +100 -0
  54. package/core/error.mjs.map +1 -0
  55. package/core/pagination.d.mts +105 -0
  56. package/core/pagination.d.mts.map +1 -0
  57. package/core/pagination.d.ts +105 -0
  58. package/core/pagination.d.ts.map +1 -0
  59. package/core/pagination.js +185 -0
  60. package/core/pagination.js.map +1 -0
  61. package/core/pagination.mjs +177 -0
  62. package/core/pagination.mjs.map +1 -0
  63. package/core/resource.d.mts +6 -0
  64. package/core/resource.d.mts.map +1 -0
  65. package/core/resource.d.ts +6 -0
  66. package/core/resource.d.ts.map +1 -0
  67. package/core/resource.js +11 -0
  68. package/core/resource.js.map +1 -0
  69. package/core/resource.mjs +7 -0
  70. package/core/resource.mjs.map +1 -0
  71. package/core/streaming.d.mts +33 -0
  72. package/core/streaming.d.mts.map +1 -0
  73. package/core/streaming.d.ts +33 -0
  74. package/core/streaming.d.ts.map +1 -0
  75. package/core/streaming.js +290 -0
  76. package/core/streaming.js.map +1 -0
  77. package/core/streaming.mjs +285 -0
  78. package/core/streaming.mjs.map +1 -0
  79. package/core/uploads.d.mts +3 -0
  80. package/core/uploads.d.mts.map +1 -0
  81. package/core/uploads.d.ts +3 -0
  82. package/core/uploads.d.ts.map +1 -0
  83. package/core/uploads.js +6 -0
  84. package/core/uploads.js.map +1 -0
  85. package/core/uploads.mjs +2 -0
  86. package/core/uploads.mjs.map +1 -0
  87. package/error.d.mts +2 -0
  88. package/error.d.mts.map +1 -0
  89. package/error.d.ts +2 -0
  90. package/error.d.ts.map +1 -0
  91. package/error.js +6 -0
  92. package/error.js.map +1 -0
  93. package/error.mjs +2 -0
  94. package/error.mjs.map +1 -0
  95. package/helpers/beta/json-schema.d.mts +31 -0
  96. package/helpers/beta/json-schema.d.mts.map +1 -0
  97. package/helpers/beta/json-schema.d.ts +31 -0
  98. package/helpers/beta/json-schema.d.ts.map +1 -0
  99. package/helpers/beta/json-schema.js +56 -0
  100. package/helpers/beta/json-schema.js.map +1 -0
  101. package/helpers/beta/json-schema.mjs +52 -0
  102. package/helpers/beta/json-schema.mjs.map +1 -0
  103. package/helpers/beta/mcp.d.mts +303 -0
  104. package/helpers/beta/mcp.d.mts.map +1 -0
  105. package/helpers/beta/mcp.d.ts +303 -0
  106. package/helpers/beta/mcp.d.ts.map +1 -0
  107. package/helpers/beta/mcp.js +419 -0
  108. package/helpers/beta/mcp.js.map +1 -0
  109. package/helpers/beta/mcp.mjs +406 -0
  110. package/helpers/beta/mcp.mjs.map +1 -0
  111. package/helpers/beta/memory.d.mts +11 -0
  112. package/helpers/beta/memory.d.mts.map +1 -0
  113. package/helpers/beta/memory.d.ts +11 -0
  114. package/helpers/beta/memory.d.ts.map +1 -0
  115. package/helpers/beta/memory.js +18 -0
  116. package/helpers/beta/memory.js.map +1 -0
  117. package/helpers/beta/memory.mjs +15 -0
  118. package/helpers/beta/memory.mjs.map +1 -0
  119. package/helpers/beta/zod.d.mts +27 -0
  120. package/helpers/beta/zod.d.mts.map +1 -0
  121. package/helpers/beta/zod.d.ts +27 -0
  122. package/helpers/beta/zod.d.ts.map +1 -0
  123. package/helpers/beta/zod.js +57 -0
  124. package/helpers/beta/zod.js.map +1 -0
  125. package/helpers/beta/zod.mjs +52 -0
  126. package/helpers/beta/zod.mjs.map +1 -0
  127. package/helpers/index.d.mts +3 -0
  128. package/helpers/index.d.mts.map +1 -0
  129. package/helpers/index.d.ts +3 -0
  130. package/helpers/index.d.ts.map +1 -0
  131. package/helpers/index.js +8 -0
  132. package/helpers/index.js.map +1 -0
  133. package/helpers/index.mjs +3 -0
  134. package/helpers/index.mjs.map +1 -0
  135. package/helpers/json-schema.d.mts +18 -0
  136. package/helpers/json-schema.d.mts.map +1 -0
  137. package/helpers/json-schema.d.ts +18 -0
  138. package/helpers/json-schema.d.ts.map +1 -0
  139. package/helpers/json-schema.js +37 -0
  140. package/helpers/json-schema.js.map +1 -0
  141. package/helpers/json-schema.mjs +34 -0
  142. package/helpers/json-schema.mjs.map +1 -0
  143. package/helpers/zod.d.mts +13 -0
  144. package/helpers/zod.d.mts.map +1 -0
  145. package/helpers/zod.d.ts +13 -0
  146. package/helpers/zod.d.ts.map +1 -0
  147. package/helpers/zod.js +47 -0
  148. package/helpers/zod.js.map +1 -0
  149. package/helpers/zod.mjs +43 -0
  150. package/helpers/zod.mjs.map +1 -0
  151. package/index.d.mts +9 -0
  152. package/index.d.mts.map +1 -0
  153. package/index.d.ts +9 -0
  154. package/index.d.ts.map +1 -0
  155. package/index.js +42 -0
  156. package/index.js.map +1 -0
  157. package/index.mjs +9 -0
  158. package/index.mjs.map +1 -0
  159. package/internal/builtin-types.d.mts +73 -0
  160. package/internal/builtin-types.d.mts.map +1 -0
  161. package/internal/builtin-types.d.ts +73 -0
  162. package/internal/builtin-types.d.ts.map +1 -0
  163. package/internal/builtin-types.js +4 -0
  164. package/internal/builtin-types.js.map +1 -0
  165. package/internal/builtin-types.mjs +3 -0
  166. package/internal/builtin-types.mjs.map +1 -0
  167. package/internal/constants.d.mts +5 -0
  168. package/internal/constants.d.mts.map +1 -0
  169. package/internal/constants.d.ts +5 -0
  170. package/internal/constants.d.ts.map +1 -0
  171. package/internal/constants.js +18 -0
  172. package/internal/constants.js.map +1 -0
  173. package/internal/constants.mjs +15 -0
  174. package/internal/constants.mjs.map +1 -0
  175. package/internal/decoders/jsonl.d.mts +10 -0
  176. package/internal/decoders/jsonl.d.mts.map +1 -0
  177. package/internal/decoders/jsonl.d.ts +10 -0
  178. package/internal/decoders/jsonl.d.ts.map +1 -0
  179. package/internal/decoders/jsonl.js +39 -0
  180. package/internal/decoders/jsonl.js.map +1 -0
  181. package/internal/decoders/jsonl.mjs +35 -0
  182. package/internal/decoders/jsonl.mjs.map +1 -0
  183. package/internal/decoders/line.d.mts +17 -0
  184. package/internal/decoders/line.d.mts.map +1 -0
  185. package/internal/decoders/line.d.ts +17 -0
  186. package/internal/decoders/line.d.ts.map +1 -0
  187. package/internal/decoders/line.js +113 -0
  188. package/internal/decoders/line.js.map +1 -0
  189. package/internal/decoders/line.mjs +108 -0
  190. package/internal/decoders/line.mjs.map +1 -0
  191. package/internal/detect-platform.d.mts +15 -0
  192. package/internal/detect-platform.d.mts.map +1 -0
  193. package/internal/detect-platform.d.ts +15 -0
  194. package/internal/detect-platform.d.ts.map +1 -0
  195. package/internal/detect-platform.js +162 -0
  196. package/internal/detect-platform.js.map +1 -0
  197. package/internal/detect-platform.mjs +157 -0
  198. package/internal/detect-platform.mjs.map +1 -0
  199. package/internal/errors.d.mts +3 -0
  200. package/internal/errors.d.mts.map +1 -0
  201. package/internal/errors.d.ts +3 -0
  202. package/internal/errors.d.ts.map +1 -0
  203. package/internal/errors.js +41 -0
  204. package/internal/errors.js.map +1 -0
  205. package/internal/errors.mjs +36 -0
  206. package/internal/errors.mjs.map +1 -0
  207. package/internal/headers.d.mts +22 -0
  208. package/internal/headers.d.mts.map +1 -0
  209. package/internal/headers.d.ts +22 -0
  210. package/internal/headers.d.ts.map +1 -0
  211. package/internal/headers.js +79 -0
  212. package/internal/headers.js.map +1 -0
  213. package/internal/headers.mjs +74 -0
  214. package/internal/headers.mjs.map +1 -0
  215. package/internal/parse.d.mts +17 -0
  216. package/internal/parse.d.mts.map +1 -0
  217. package/internal/parse.d.ts +17 -0
  218. package/internal/parse.d.ts.map +1 -0
  219. package/internal/parse.js +60 -0
  220. package/internal/parse.js.map +1 -0
  221. package/internal/parse.mjs +56 -0
  222. package/internal/parse.mjs.map +1 -0
  223. package/internal/request-options.d.mts +77 -0
  224. package/internal/request-options.d.mts.map +1 -0
  225. package/internal/request-options.d.ts +77 -0
  226. package/internal/request-options.d.ts.map +1 -0
  227. package/internal/request-options.js +14 -0
  228. package/internal/request-options.js.map +1 -0
  229. package/internal/request-options.mjs +10 -0
  230. package/internal/request-options.mjs.map +1 -0
  231. package/internal/shim-types.d.mts +17 -0
  232. package/internal/shim-types.d.mts.map +1 -0
  233. package/internal/shim-types.d.ts +17 -0
  234. package/internal/shim-types.d.ts.map +1 -0
  235. package/internal/shim-types.js +4 -0
  236. package/internal/shim-types.js.map +1 -0
  237. package/internal/shim-types.mjs +3 -0
  238. package/internal/shim-types.mjs.map +1 -0
  239. package/internal/shims.d.mts +20 -0
  240. package/internal/shims.d.mts.map +1 -0
  241. package/internal/shims.d.ts +20 -0
  242. package/internal/shims.d.ts.map +1 -0
  243. package/internal/shims.js +92 -0
  244. package/internal/shims.js.map +1 -0
  245. package/internal/shims.mjs +85 -0
  246. package/internal/shims.mjs.map +1 -0
  247. package/internal/stream-utils.d.mts +8 -0
  248. package/internal/stream-utils.d.mts.map +1 -0
  249. package/internal/stream-utils.d.ts +8 -0
  250. package/internal/stream-utils.d.ts.map +1 -0
  251. package/internal/stream-utils.js +38 -0
  252. package/internal/stream-utils.js.map +1 -0
  253. package/internal/stream-utils.mjs +35 -0
  254. package/internal/stream-utils.mjs.map +1 -0
  255. package/internal/to-file.d.mts +45 -0
  256. package/internal/to-file.d.mts.map +1 -0
  257. package/internal/to-file.d.ts +45 -0
  258. package/internal/to-file.d.ts.map +1 -0
  259. package/internal/to-file.js +96 -0
  260. package/internal/to-file.js.map +1 -0
  261. package/internal/to-file.mjs +93 -0
  262. package/internal/to-file.mjs.map +1 -0
  263. package/internal/tslib.js +81 -0
  264. package/internal/tslib.mjs +17 -0
  265. package/internal/types.d.mts +69 -0
  266. package/internal/types.d.mts.map +1 -0
  267. package/internal/types.d.ts +69 -0
  268. package/internal/types.d.ts.map +1 -0
  269. package/internal/types.js +4 -0
  270. package/internal/types.js.map +1 -0
  271. package/internal/types.mjs +3 -0
  272. package/internal/types.mjs.map +1 -0
  273. package/internal/uploads.d.mts +42 -0
  274. package/internal/uploads.d.mts.map +1 -0
  275. package/internal/uploads.d.ts +42 -0
  276. package/internal/uploads.d.ts.map +1 -0
  277. package/internal/uploads.js +145 -0
  278. package/internal/uploads.js.map +1 -0
  279. package/internal/uploads.mjs +135 -0
  280. package/internal/uploads.mjs.map +1 -0
  281. package/internal/utils/base64.d.mts +3 -0
  282. package/internal/utils/base64.d.mts.map +1 -0
  283. package/internal/utils/base64.d.ts +3 -0
  284. package/internal/utils/base64.d.ts.map +1 -0
  285. package/internal/utils/base64.js +38 -0
  286. package/internal/utils/base64.js.map +1 -0
  287. package/internal/utils/base64.mjs +33 -0
  288. package/internal/utils/base64.mjs.map +1 -0
  289. package/internal/utils/bytes.d.mts +4 -0
  290. package/internal/utils/bytes.d.mts.map +1 -0
  291. package/internal/utils/bytes.d.ts +4 -0
  292. package/internal/utils/bytes.d.ts.map +1 -0
  293. package/internal/utils/bytes.js +31 -0
  294. package/internal/utils/bytes.js.map +1 -0
  295. package/internal/utils/bytes.mjs +26 -0
  296. package/internal/utils/bytes.mjs.map +1 -0
  297. package/internal/utils/env.d.mts +9 -0
  298. package/internal/utils/env.d.mts.map +1 -0
  299. package/internal/utils/env.d.ts +9 -0
  300. package/internal/utils/env.d.ts.map +1 -0
  301. package/internal/utils/env.js +22 -0
  302. package/internal/utils/env.js.map +1 -0
  303. package/internal/utils/env.mjs +18 -0
  304. package/internal/utils/env.mjs.map +1 -0
  305. package/internal/utils/log.d.mts +37 -0
  306. package/internal/utils/log.d.mts.map +1 -0
  307. package/internal/utils/log.d.ts +37 -0
  308. package/internal/utils/log.d.ts.map +1 -0
  309. package/internal/utils/log.js +86 -0
  310. package/internal/utils/log.js.map +1 -0
  311. package/internal/utils/log.mjs +80 -0
  312. package/internal/utils/log.mjs.map +1 -0
  313. package/internal/utils/path.d.mts +15 -0
  314. package/internal/utils/path.d.mts.map +1 -0
  315. package/internal/utils/path.d.ts +15 -0
  316. package/internal/utils/path.d.ts.map +1 -0
  317. package/internal/utils/path.js +79 -0
  318. package/internal/utils/path.js.map +1 -0
  319. package/internal/utils/path.mjs +74 -0
  320. package/internal/utils/path.mjs.map +1 -0
  321. package/internal/utils/query.d.mts +5 -0
  322. package/internal/utils/query.d.mts.map +1 -0
  323. package/internal/utils/query.d.ts +5 -0
  324. package/internal/utils/query.d.ts.map +1 -0
  325. package/internal/utils/query.js +23 -0
  326. package/internal/utils/query.js.map +1 -0
  327. package/internal/utils/query.mjs +20 -0
  328. package/internal/utils/query.mjs.map +1 -0
  329. package/internal/utils/sleep.d.mts +2 -0
  330. package/internal/utils/sleep.d.mts.map +1 -0
  331. package/internal/utils/sleep.d.ts +2 -0
  332. package/internal/utils/sleep.d.ts.map +1 -0
  333. package/internal/utils/sleep.js +7 -0
  334. package/internal/utils/sleep.js.map +1 -0
  335. package/internal/utils/sleep.mjs +3 -0
  336. package/internal/utils/sleep.mjs.map +1 -0
  337. package/internal/utils/uuid.d.mts +5 -0
  338. package/internal/utils/uuid.d.mts.map +1 -0
  339. package/internal/utils/uuid.d.ts +5 -0
  340. package/internal/utils/uuid.d.ts.map +1 -0
  341. package/internal/utils/uuid.js +19 -0
  342. package/internal/utils/uuid.js.map +1 -0
  343. package/internal/utils/uuid.mjs +15 -0
  344. package/internal/utils/uuid.mjs.map +1 -0
  345. package/internal/utils/values.d.mts +19 -0
  346. package/internal/utils/values.d.mts.map +1 -0
  347. package/internal/utils/values.d.ts +19 -0
  348. package/internal/utils/values.d.ts.map +1 -0
  349. package/internal/utils/values.js +119 -0
  350. package/internal/utils/values.js.map +1 -0
  351. package/internal/utils/values.mjs +100 -0
  352. package/internal/utils/values.mjs.map +1 -0
  353. package/internal/utils.d.mts +8 -0
  354. package/internal/utils.d.mts.map +1 -0
  355. package/internal/utils.d.ts +8 -0
  356. package/internal/utils.d.ts.map +1 -0
  357. package/internal/utils.js +12 -0
  358. package/internal/utils.js.map +1 -0
  359. package/internal/utils.mjs +9 -0
  360. package/internal/utils.mjs.map +1 -0
  361. package/lib/BetaMessageStream.d.mts +122 -0
  362. package/lib/BetaMessageStream.d.mts.map +1 -0
  363. package/lib/BetaMessageStream.d.ts +122 -0
  364. package/lib/BetaMessageStream.d.ts.map +1 -0
  365. package/lib/BetaMessageStream.js +620 -0
  366. package/lib/BetaMessageStream.js.map +1 -0
  367. package/lib/BetaMessageStream.mjs +616 -0
  368. package/lib/BetaMessageStream.mjs.map +1 -0
  369. package/lib/MessageStream.d.mts +121 -0
  370. package/lib/MessageStream.d.mts.map +1 -0
  371. package/lib/MessageStream.d.ts +121 -0
  372. package/lib/MessageStream.d.ts.map +1 -0
  373. package/lib/MessageStream.js +595 -0
  374. package/lib/MessageStream.js.map +1 -0
  375. package/lib/MessageStream.mjs +591 -0
  376. package/lib/MessageStream.mjs.map +1 -0
  377. package/lib/beta-parser.d.mts +37 -0
  378. package/lib/beta-parser.d.mts.map +1 -0
  379. package/lib/beta-parser.d.ts +37 -0
  380. package/lib/beta-parser.d.ts.map +1 -0
  381. package/lib/beta-parser.js +79 -0
  382. package/lib/beta-parser.js.map +1 -0
  383. package/lib/beta-parser.mjs +75 -0
  384. package/lib/beta-parser.mjs.map +1 -0
  385. package/lib/parser.d.mts +32 -0
  386. package/lib/parser.d.mts.map +1 -0
  387. package/lib/parser.d.ts +32 -0
  388. package/lib/parser.d.ts.map +1 -0
  389. package/lib/parser.js +66 -0
  390. package/lib/parser.js.map +1 -0
  391. package/lib/parser.mjs +62 -0
  392. package/lib/parser.mjs.map +1 -0
  393. package/lib/stainless-helper-header.d.mts +34 -0
  394. package/lib/stainless-helper-header.d.mts.map +1 -0
  395. package/lib/stainless-helper-header.d.ts +34 -0
  396. package/lib/stainless-helper-header.d.ts.map +1 -0
  397. package/lib/stainless-helper-header.js +70 -0
  398. package/lib/stainless-helper-header.js.map +1 -0
  399. package/lib/stainless-helper-header.mjs +63 -0
  400. package/lib/stainless-helper-header.mjs.map +1 -0
  401. package/lib/tools/BetaRunnableTool.d.mts +12 -0
  402. package/lib/tools/BetaRunnableTool.d.mts.map +1 -0
  403. package/lib/tools/BetaRunnableTool.d.ts +12 -0
  404. package/lib/tools/BetaRunnableTool.d.ts.map +1 -0
  405. package/lib/tools/BetaRunnableTool.js +3 -0
  406. package/lib/tools/BetaRunnableTool.js.map +1 -0
  407. package/lib/tools/BetaRunnableTool.mjs +2 -0
  408. package/lib/tools/BetaRunnableTool.mjs.map +1 -0
  409. package/lib/tools/BetaToolRunner.d.mts +141 -0
  410. package/lib/tools/BetaToolRunner.d.mts.map +1 -0
  411. package/lib/tools/BetaToolRunner.d.ts +141 -0
  412. package/lib/tools/BetaToolRunner.d.ts.map +1 -0
  413. package/lib/tools/BetaToolRunner.js +381 -0
  414. package/lib/tools/BetaToolRunner.js.map +1 -0
  415. package/lib/tools/BetaToolRunner.mjs +377 -0
  416. package/lib/tools/BetaToolRunner.mjs.map +1 -0
  417. package/lib/tools/CompactionControl.d.mts +30 -0
  418. package/lib/tools/CompactionControl.d.mts.map +1 -0
  419. package/lib/tools/CompactionControl.d.ts +30 -0
  420. package/lib/tools/CompactionControl.d.ts.map +1 -0
  421. package/lib/tools/CompactionControl.js +28 -0
  422. package/lib/tools/CompactionControl.js.map +1 -0
  423. package/lib/tools/CompactionControl.mjs +25 -0
  424. package/lib/tools/CompactionControl.mjs.map +1 -0
  425. package/lib/tools/ToolError.d.mts +33 -0
  426. package/lib/tools/ToolError.d.mts.map +1 -0
  427. package/lib/tools/ToolError.d.ts +33 -0
  428. package/lib/tools/ToolError.d.ts.map +1 -0
  429. package/lib/tools/ToolError.js +42 -0
  430. package/lib/tools/ToolError.js.map +1 -0
  431. package/lib/tools/ToolError.mjs +38 -0
  432. package/lib/tools/ToolError.mjs.map +1 -0
  433. package/lib/tools/ToolRunner.d.mts +132 -0
  434. package/lib/tools/ToolRunner.d.mts.map +1 -0
  435. package/lib/tools/ToolRunner.d.ts +132 -0
  436. package/lib/tools/ToolRunner.d.ts.map +1 -0
  437. package/lib/tools/ToolRunner.js +294 -0
  438. package/lib/tools/ToolRunner.js.map +1 -0
  439. package/lib/tools/ToolRunner.mjs +290 -0
  440. package/lib/tools/ToolRunner.mjs.map +1 -0
  441. package/lib/transform-json-schema.d.mts +3 -0
  442. package/lib/transform-json-schema.d.mts.map +1 -0
  443. package/lib/transform-json-schema.d.ts +3 -0
  444. package/lib/transform-json-schema.d.ts.map +1 -0
  445. package/lib/transform-json-schema.js +114 -0
  446. package/lib/transform-json-schema.js.map +1 -0
  447. package/lib/transform-json-schema.mjs +111 -0
  448. package/lib/transform-json-schema.mjs.map +1 -0
  449. package/package.json +246 -0
  450. package/pagination.d.mts +2 -0
  451. package/pagination.d.mts.map +1 -0
  452. package/pagination.d.ts +2 -0
  453. package/pagination.d.ts.map +1 -0
  454. package/pagination.js +6 -0
  455. package/pagination.js.map +1 -0
  456. package/pagination.mjs +2 -0
  457. package/pagination.mjs.map +1 -0
  458. package/resource.d.mts +2 -0
  459. package/resource.d.mts.map +1 -0
  460. package/resource.d.ts +2 -0
  461. package/resource.d.ts.map +1 -0
  462. package/resource.js +6 -0
  463. package/resource.js.map +1 -0
  464. package/resource.mjs +2 -0
  465. package/resource.mjs.map +1 -0
  466. package/resources/beta/beta.d.mts +66 -0
  467. package/resources/beta/beta.d.mts.map +1 -0
  468. package/resources/beta/beta.d.ts +66 -0
  469. package/resources/beta/beta.d.ts.map +1 -0
  470. package/resources/beta/beta.js +29 -0
  471. package/resources/beta/beta.js.map +1 -0
  472. package/resources/beta/beta.mjs +24 -0
  473. package/resources/beta/beta.mjs.map +1 -0
  474. package/resources/beta/files.d.mts +151 -0
  475. package/resources/beta/files.d.mts.map +1 -0
  476. package/resources/beta/files.d.ts +151 -0
  477. package/resources/beta/files.d.ts.map +1 -0
  478. package/resources/beta/files.js +124 -0
  479. package/resources/beta/files.js.map +1 -0
  480. package/resources/beta/files.mjs +120 -0
  481. package/resources/beta/files.mjs.map +1 -0
  482. package/resources/beta/index.d.mts +6 -0
  483. package/resources/beta/index.d.mts.map +1 -0
  484. package/resources/beta/index.d.ts +6 -0
  485. package/resources/beta/index.d.ts.map +1 -0
  486. package/resources/beta/index.js +15 -0
  487. package/resources/beta/index.js.map +1 -0
  488. package/resources/beta/index.mjs +7 -0
  489. package/resources/beta/index.mjs.map +1 -0
  490. package/resources/beta/messages/batches.d.mts +646 -0
  491. package/resources/beta/messages/batches.d.mts.map +1 -0
  492. package/resources/beta/messages/batches.d.ts +646 -0
  493. package/resources/beta/messages/batches.d.ts.map +1 -0
  494. package/resources/beta/messages/batches.js +204 -0
  495. package/resources/beta/messages/batches.js.map +1 -0
  496. package/resources/beta/messages/batches.mjs +200 -0
  497. package/resources/beta/messages/batches.mjs.map +1 -0
  498. package/resources/beta/messages/index.d.mts +4 -0
  499. package/resources/beta/messages/index.d.mts.map +1 -0
  500. package/resources/beta/messages/index.d.ts +4 -0
  501. package/resources/beta/messages/index.d.ts.map +1 -0
  502. package/resources/beta/messages/index.js +12 -0
  503. package/resources/beta/messages/index.js.map +1 -0
  504. package/resources/beta/messages/index.mjs +5 -0
  505. package/resources/beta/messages/index.mjs.map +1 -0
  506. package/resources/beta/messages/messages.d.mts +2993 -0
  507. package/resources/beta/messages/messages.d.mts.map +1 -0
  508. package/resources/beta/messages/messages.d.ts +2993 -0
  509. package/resources/beta/messages/messages.d.ts.map +1 -0
  510. package/resources/beta/messages/messages.js +163 -0
  511. package/resources/beta/messages/messages.js.map +1 -0
  512. package/resources/beta/messages/messages.mjs +156 -0
  513. package/resources/beta/messages/messages.mjs.map +1 -0
  514. package/resources/beta/messages.d.mts +2 -0
  515. package/resources/beta/messages.d.mts.map +1 -0
  516. package/resources/beta/messages.d.ts +2 -0
  517. package/resources/beta/messages.d.ts.map +1 -0
  518. package/resources/beta/messages.js +6 -0
  519. package/resources/beta/messages.js.map +1 -0
  520. package/resources/beta/messages.mjs +3 -0
  521. package/resources/beta/messages.mjs.map +1 -0
  522. package/resources/beta/models.d.mts +208 -0
  523. package/resources/beta/models.d.mts.map +1 -0
  524. package/resources/beta/models.d.ts +208 -0
  525. package/resources/beta/models.d.ts.map +1 -0
  526. package/resources/beta/models.js +60 -0
  527. package/resources/beta/models.js.map +1 -0
  528. package/resources/beta/models.mjs +56 -0
  529. package/resources/beta/models.mjs.map +1 -0
  530. package/resources/beta/skills/index.d.mts +3 -0
  531. package/resources/beta/skills/index.d.mts.map +1 -0
  532. package/resources/beta/skills/index.d.ts +3 -0
  533. package/resources/beta/skills/index.d.ts.map +1 -0
  534. package/resources/beta/skills/index.js +9 -0
  535. package/resources/beta/skills/index.js.map +1 -0
  536. package/resources/beta/skills/index.mjs +4 -0
  537. package/resources/beta/skills/index.mjs.map +1 -0
  538. package/resources/beta/skills/skills.d.mts +249 -0
  539. package/resources/beta/skills/skills.d.mts.map +1 -0
  540. package/resources/beta/skills/skills.d.ts +249 -0
  541. package/resources/beta/skills/skills.d.ts.map +1 -0
  542. package/resources/beta/skills/skills.js +98 -0
  543. package/resources/beta/skills/skills.js.map +1 -0
  544. package/resources/beta/skills/skills.mjs +93 -0
  545. package/resources/beta/skills/skills.mjs.map +1 -0
  546. package/resources/beta/skills/versions.d.mts +257 -0
  547. package/resources/beta/skills/versions.d.mts.map +1 -0
  548. package/resources/beta/skills/versions.d.ts +257 -0
  549. package/resources/beta/skills/versions.d.ts.map +1 -0
  550. package/resources/beta/skills/versions.js +100 -0
  551. package/resources/beta/skills/versions.js.map +1 -0
  552. package/resources/beta/skills/versions.mjs +96 -0
  553. package/resources/beta/skills/versions.mjs.map +1 -0
  554. package/resources/beta/skills.d.mts +2 -0
  555. package/resources/beta/skills.d.mts.map +1 -0
  556. package/resources/beta/skills.d.ts +2 -0
  557. package/resources/beta/skills.d.ts.map +1 -0
  558. package/resources/beta/skills.js +6 -0
  559. package/resources/beta/skills.js.map +1 -0
  560. package/resources/beta/skills.mjs +3 -0
  561. package/resources/beta/skills.mjs.map +1 -0
  562. package/resources/beta.d.mts +2 -0
  563. package/resources/beta.d.mts.map +1 -0
  564. package/resources/beta.d.ts +2 -0
  565. package/resources/beta.d.ts.map +1 -0
  566. package/resources/beta.js +6 -0
  567. package/resources/beta.js.map +1 -0
  568. package/resources/beta.mjs +3 -0
  569. package/resources/beta.mjs.map +1 -0
  570. package/resources/completions.d.mts +182 -0
  571. package/resources/completions.d.mts.map +1 -0
  572. package/resources/completions.d.ts +182 -0
  573. package/resources/completions.d.ts.map +1 -0
  574. package/resources/completions.js +23 -0
  575. package/resources/completions.js.map +1 -0
  576. package/resources/completions.mjs +19 -0
  577. package/resources/completions.mjs.map +1 -0
  578. package/resources/index.d.mts +6 -0
  579. package/resources/index.d.mts.map +1 -0
  580. package/resources/index.d.ts +6 -0
  581. package/resources/index.d.ts.map +1 -0
  582. package/resources/index.js +15 -0
  583. package/resources/index.js.map +1 -0
  584. package/resources/index.mjs +7 -0
  585. package/resources/index.mjs.map +1 -0
  586. package/resources/messages/batches.d.mts +304 -0
  587. package/resources/messages/batches.d.mts.map +1 -0
  588. package/resources/messages/batches.d.ts +304 -0
  589. package/resources/messages/batches.d.ts.map +1 -0
  590. package/resources/messages/batches.js +153 -0
  591. package/resources/messages/batches.js.map +1 -0
  592. package/resources/messages/batches.mjs +149 -0
  593. package/resources/messages/batches.mjs.map +1 -0
  594. package/resources/messages/index.d.mts +3 -0
  595. package/resources/messages/index.d.mts.map +1 -0
  596. package/resources/messages/index.d.ts +3 -0
  597. package/resources/messages/index.d.ts.map +1 -0
  598. package/resources/messages/index.js +9 -0
  599. package/resources/messages/index.js.map +1 -0
  600. package/resources/messages/index.mjs +4 -0
  601. package/resources/messages/index.mjs.map +1 -0
  602. package/resources/messages/messages.d.mts +2285 -0
  603. package/resources/messages/messages.d.mts.map +1 -0
  604. package/resources/messages/messages.d.ts +2285 -0
  605. package/resources/messages/messages.d.ts.map +1 -0
  606. package/resources/messages/messages.js +128 -0
  607. package/resources/messages/messages.js.map +1 -0
  608. package/resources/messages/messages.mjs +123 -0
  609. package/resources/messages/messages.mjs.map +1 -0
  610. package/resources/messages.d.mts +2 -0
  611. package/resources/messages.d.mts.map +1 -0
  612. package/resources/messages.d.ts +2 -0
  613. package/resources/messages.d.ts.map +1 -0
  614. package/resources/messages.js +6 -0
  615. package/resources/messages.js.map +1 -0
  616. package/resources/messages.mjs +3 -0
  617. package/resources/messages.mjs.map +1 -0
  618. package/resources/models.d.mts +193 -0
  619. package/resources/models.d.mts.map +1 -0
  620. package/resources/models.d.ts +193 -0
  621. package/resources/models.d.ts.map +1 -0
  622. package/resources/models.js +45 -0
  623. package/resources/models.js.map +1 -0
  624. package/resources/models.mjs +41 -0
  625. package/resources/models.mjs.map +1 -0
  626. package/resources/shared.d.mts +44 -0
  627. package/resources/shared.d.mts.map +1 -0
  628. package/resources/shared.d.ts +44 -0
  629. package/resources/shared.d.ts.map +1 -0
  630. package/resources/shared.js +4 -0
  631. package/resources/shared.js.map +1 -0
  632. package/resources/shared.mjs +3 -0
  633. package/resources/shared.mjs.map +1 -0
  634. package/resources/top-level.d.mts +2 -0
  635. package/resources/top-level.d.mts.map +1 -0
  636. package/resources/top-level.d.ts +2 -0
  637. package/resources/top-level.d.ts.map +1 -0
  638. package/resources/top-level.js +4 -0
  639. package/resources/top-level.js.map +1 -0
  640. package/resources/top-level.mjs +3 -0
  641. package/resources/top-level.mjs.map +1 -0
  642. package/resources.d.mts +2 -0
  643. package/resources.d.mts.map +1 -0
  644. package/resources.d.ts +2 -0
  645. package/resources.d.ts.map +1 -0
  646. package/resources.js +5 -0
  647. package/resources.js.map +1 -0
  648. package/resources.mjs +2 -0
  649. package/resources.mjs.map +1 -0
  650. package/src/_vendor/partial-json-parser/README.md +3 -0
  651. package/src/_vendor/partial-json-parser/parser.ts +264 -0
  652. package/src/ainative.ts +85 -0
  653. package/src/api-promise.ts +2 -0
  654. package/src/client.ts +1326 -0
  655. package/src/core/README.md +3 -0
  656. package/src/core/api-promise.ts +101 -0
  657. package/src/core/error.ts +145 -0
  658. package/src/core/pagination.ts +331 -0
  659. package/src/core/resource.ts +11 -0
  660. package/src/core/streaming.ts +348 -0
  661. package/src/core/uploads.ts +2 -0
  662. package/src/error.ts +2 -0
  663. package/src/helpers/beta/json-schema.ts +75 -0
  664. package/src/helpers/beta/mcp.ts +624 -0
  665. package/src/helpers/beta/memory.ts +28 -0
  666. package/src/helpers/beta/zod.ts +72 -0
  667. package/src/helpers/index.ts +2 -0
  668. package/src/helpers/json-schema.ts +48 -0
  669. package/src/helpers/zod.ts +58 -0
  670. package/src/index.ts +40 -0
  671. package/src/internal/README.md +3 -0
  672. package/src/internal/builtin-types.ts +93 -0
  673. package/src/internal/constants.ts +15 -0
  674. package/src/internal/decoders/jsonl.ts +48 -0
  675. package/src/internal/decoders/line.ts +135 -0
  676. package/src/internal/detect-platform.ts +196 -0
  677. package/src/internal/errors.ts +33 -0
  678. package/src/internal/headers.ts +99 -0
  679. package/src/internal/parse.ts +90 -0
  680. package/src/internal/request-options.ts +93 -0
  681. package/src/internal/shim-types.ts +26 -0
  682. package/src/internal/shims.ts +107 -0
  683. package/src/internal/stream-utils.ts +32 -0
  684. package/src/internal/to-file.ts +159 -0
  685. package/src/internal/types.ts +95 -0
  686. package/src/internal/uploads.ts +204 -0
  687. package/src/internal/utils/base64.ts +40 -0
  688. package/src/internal/utils/bytes.ts +32 -0
  689. package/src/internal/utils/env.ts +18 -0
  690. package/src/internal/utils/log.ts +127 -0
  691. package/src/internal/utils/path.ts +88 -0
  692. package/src/internal/utils/query.ts +23 -0
  693. package/src/internal/utils/sleep.ts +3 -0
  694. package/src/internal/utils/uuid.ts +17 -0
  695. package/src/internal/utils/values.ts +112 -0
  696. package/src/internal/utils.ts +9 -0
  697. package/src/lib/.keep +4 -0
  698. package/src/lib/BetaMessageStream.ts +764 -0
  699. package/src/lib/MessageStream.ts +743 -0
  700. package/src/lib/beta-parser.ts +148 -0
  701. package/src/lib/parser.ts +125 -0
  702. package/src/lib/stainless-helper-header.ts +80 -0
  703. package/src/lib/tools/BetaRunnableTool.ts +40 -0
  704. package/src/lib/tools/BetaToolRunner.ts +494 -0
  705. package/src/lib/tools/CompactionControl.ts +57 -0
  706. package/src/lib/tools/ToolError.ts +47 -0
  707. package/src/lib/tools/ToolRunner.ts +381 -0
  708. package/src/lib/transform-json-schema.ts +124 -0
  709. package/src/pagination.ts +2 -0
  710. package/src/resource.ts +2 -0
  711. package/src/resources/beta/beta.ts +603 -0
  712. package/src/resources/beta/files.ts +261 -0
  713. package/src/resources/beta/index.ts +259 -0
  714. package/src/resources/beta/messages/batches.ts +827 -0
  715. package/src/resources/beta/messages/index.ts +229 -0
  716. package/src/resources/beta/messages/messages.ts +4372 -0
  717. package/src/resources/beta/messages.ts +3 -0
  718. package/src/resources/beta/models.ts +284 -0
  719. package/src/resources/beta/skills/index.ts +26 -0
  720. package/src/resources/beta/skills/skills.ts +384 -0
  721. package/src/resources/beta/skills/versions.ts +374 -0
  722. package/src/resources/beta/skills.ts +3 -0
  723. package/src/resources/beta.ts +3 -0
  724. package/src/resources/completions.ts +230 -0
  725. package/src/resources/index.ts +206 -0
  726. package/src/resources/messages/batches.ts +396 -0
  727. package/src/resources/messages/index.ts +189 -0
  728. package/src/resources/messages/messages.ts +3361 -0
  729. package/src/resources/messages.ts +3 -0
  730. package/src/resources/models.ts +269 -0
  731. package/src/resources/shared.ts +85 -0
  732. package/src/resources/top-level.ts +3 -0
  733. package/src/resources.ts +1 -0
  734. package/src/streaming.ts +2 -0
  735. package/src/tools/memory/node.ts +392 -0
  736. package/src/tsconfig.json +11 -0
  737. package/src/uploads.ts +2 -0
  738. package/src/version.ts +1 -0
  739. package/streaming.d.mts +2 -0
  740. package/streaming.d.mts.map +1 -0
  741. package/streaming.d.ts +2 -0
  742. package/streaming.d.ts.map +1 -0
  743. package/streaming.js +6 -0
  744. package/streaming.js.map +1 -0
  745. package/streaming.mjs +2 -0
  746. package/streaming.mjs.map +1 -0
  747. package/tools/memory/node.d.mts +18 -0
  748. package/tools/memory/node.d.mts.map +1 -0
  749. package/tools/memory/node.d.ts +18 -0
  750. package/tools/memory/node.d.ts.map +1 -0
  751. package/tools/memory/node.js +324 -0
  752. package/tools/memory/node.js.map +1 -0
  753. package/tools/memory/node.mjs +318 -0
  754. package/tools/memory/node.mjs.map +1 -0
  755. package/uploads.d.mts +2 -0
  756. package/uploads.d.mts.map +1 -0
  757. package/uploads.d.ts +2 -0
  758. package/uploads.d.ts.map +1 -0
  759. package/uploads.js +6 -0
  760. package/uploads.js.map +1 -0
  761. package/uploads.mjs +2 -0
  762. package/uploads.mjs.map +1 -0
  763. package/version.d.mts +2 -0
  764. package/version.d.mts.map +1 -0
  765. package/version.d.ts +2 -0
  766. package/version.d.ts.map +1 -0
  767. package/version.js +5 -0
  768. package/version.js.map +1 -0
  769. package/version.mjs +2 -0
  770. package/version.mjs.map +1 -0
@@ -0,0 +1,406 @@
1
+ /**
2
+ * Helper functions for integrating MCP (Model Context Protocol) SDK types
3
+ * with the Anthropic SDK.
4
+ *
5
+ * These helpers reduce boilerplate when converting between MCP types and
6
+ * Anthropic API types. The interfaces defined here use TypeScript's structural
7
+ * typing to match MCP SDK types without requiring a direct dependency.
8
+ */
9
+ import { ToolError } from "../../lib/tools/ToolError.mjs";
10
+ import { SDK_HELPER_SYMBOL, collectStainlessHelpers, stainlessHelperHeader, } from "../../lib/stainless-helper-header.mjs";
11
+ import { fromBase64 } from "../../internal/utils/base64.mjs";
12
+ export { SDK_HELPER_SYMBOL, collectStainlessHelpers, stainlessHelperHeader };
13
+ // -----------------------------------------------------------------------------
14
+ // Supported MIME types
15
+ // -----------------------------------------------------------------------------
16
+ const SUPPORTED_IMAGE_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];
17
+ function isSupportedImageType(mimeType) {
18
+ return SUPPORTED_IMAGE_TYPES.includes(mimeType);
19
+ }
20
+ function isSupportedResourceMimeType(mimeType) {
21
+ return (!mimeType ||
22
+ mimeType.startsWith('text/') ||
23
+ mimeType === 'application/pdf' ||
24
+ isSupportedImageType(mimeType));
25
+ }
26
+ // -----------------------------------------------------------------------------
27
+ // Error classes
28
+ // -----------------------------------------------------------------------------
29
+ /**
30
+ * Error thrown when an MCP value cannot be converted to a format supported by the Claude API.
31
+ */
32
+ export class UnsupportedMCPValueError extends Error {
33
+ constructor(message) {
34
+ super(message);
35
+ this.name = 'UnsupportedMCPValueError';
36
+ }
37
+ }
38
+ // -----------------------------------------------------------------------------
39
+ // Helper functions
40
+ // -----------------------------------------------------------------------------
41
+ /**
42
+ * Converts an MCP tool to a BetaRunnableTool for use with the Anthropic SDK's
43
+ * `toolRunner()` method.
44
+ *
45
+ * @param tool The MCP tool definition from `mcpClient.listTools()`
46
+ * @param mcpClient The MCP client instance used to call the tool
47
+ * @param extraProps Additional Claude API properties to include in the tool definition
48
+ * @returns A runnable tool for use with `anthropic.beta.messages.toolRunner()`
49
+ * @throws {UnsupportedMCPValueError} When the tool returns unsupported content types
50
+ * @throws {UnsupportedMCPValueError} When the tool returns unsupported resource links
51
+ * @throws {UnsupportedMCPValueError} When the tool returns resources with unsupported MIME types
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * import { Client } from "@modelcontextprotocol/sdk/client/index.js";
56
+ * import Anthropic from "@anthropic-ai/sdk";
57
+ * import { mcpTool } from "@anthropic-ai/sdk/helpers/beta/mcp";
58
+ *
59
+ * const mcpClient = new Client({ name: "example", version: "1.0.0" });
60
+ * const anthropic = new Anthropic();
61
+ *
62
+ * const tools = await mcpClient.listTools();
63
+ * const runner = await anthropic.beta.messages.toolRunner({
64
+ * model: "claude-sonnet-4-20250514",
65
+ * max_tokens: 1024,
66
+ * tools: tools.tools.map(tool => mcpTool(tool, mcpClient)),
67
+ * messages: [{ role: "user", content: "Use the available tools" }],
68
+ * });
69
+ * ```
70
+ */
71
+ export function mcpTool(tool, mcpClient, extraProps) {
72
+ // Transform inputSchema to match BetaTool.InputSchema (convert undefined to null)
73
+ const inputSchema = {
74
+ ...tool.inputSchema,
75
+ type: 'object',
76
+ properties: tool.inputSchema.properties ?? null,
77
+ required: tool.inputSchema.required ?? null,
78
+ };
79
+ const betaTool = {
80
+ name: tool.name,
81
+ input_schema: inputSchema,
82
+ ...(tool.description !== undefined ? { description: tool.description } : {}),
83
+ ...extraProps,
84
+ };
85
+ const runnableTool = {
86
+ ...betaTool,
87
+ run: async (input) => {
88
+ const result = await mcpClient.callTool({
89
+ name: tool.name,
90
+ arguments: input,
91
+ });
92
+ if (result.isError) {
93
+ const content = result.content.map((item) => mcpContent(item));
94
+ throw new ToolError(content);
95
+ }
96
+ // If content is empty but structuredContent is present, JSON encode it
97
+ // Spec: "For backwards compatibility, a tool that returns structured content SHOULD also return the serialized JSON in a TextContent block."
98
+ // meaning it's not required and cannot be assumed.
99
+ if (result.content.length === 0 &&
100
+ // Spec: "Structured content is returned as a JSON object in the structuredContent field of a result."
101
+ typeof result.structuredContent === 'object' &&
102
+ result.structuredContent !== null) {
103
+ return JSON.stringify(result.structuredContent);
104
+ }
105
+ return result.content.map((item) => mcpContent(item));
106
+ },
107
+ parse: (content) => content,
108
+ [SDK_HELPER_SYMBOL]: 'mcpTool',
109
+ };
110
+ return runnableTool;
111
+ }
112
+ /**
113
+ * Converts an array of MCP tools to BetaRunnableTools.
114
+ *
115
+ * @param tools Array of MCP tool definitions from `mcpClient.listTools()`
116
+ * @param mcpClient The MCP client instance used to call the tools
117
+ * @param extraProps Additional Claude API properties to include in each tool definition
118
+ * @returns An array of runnable tools for use with `anthropic.beta.messages.toolRunner()`
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const { tools } = await mcpClient.listTools();
123
+ * const runner = await anthropic.beta.messages.toolRunner({
124
+ * model: "claude-sonnet-4-20250514",
125
+ * max_tokens: 1024,
126
+ * tools: mcpTools(tools, mcpClient),
127
+ * messages: [{ role: "user", content: "Use the available tools" }],
128
+ * });
129
+ * ```
130
+ */
131
+ export function mcpTools(tools, mcpClient, extraProps) {
132
+ return tools.map((tool) => mcpTool(tool, mcpClient, extraProps));
133
+ }
134
+ /**
135
+ * Converts an MCP prompt message to an Anthropic BetaMessageParam.
136
+ *
137
+ * @param mcpMessage The MCP prompt message from `mcpClient.getPrompt()`
138
+ * @param extraProps Additional Claude API properties to include in content blocks (e.g., `cache_control`)
139
+ * @returns A message parameter for use with `anthropic.beta.messages.create()`
140
+ * @throws {UnsupportedMCPValueError} When the message contains unsupported content types
141
+ * @throws {UnsupportedMCPValueError} When the message contains unsupported resource links
142
+ * @throws {UnsupportedMCPValueError} When the message contains resources with unsupported MIME types
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * import { Client } from "@modelcontextprotocol/sdk/client/index.js";
147
+ * import Anthropic from "@anthropic-ai/sdk";
148
+ * import { mcpMessage } from "@anthropic-ai/sdk/helpers/beta/mcp";
149
+ *
150
+ * const mcpClient = new Client({ name: "example", version: "1.0.0" });
151
+ * const anthropic = new Anthropic();
152
+ *
153
+ * const prompt = await mcpClient.getPrompt({
154
+ * name: "example-prompt",
155
+ * arguments: { arg1: "value" },
156
+ * });
157
+ *
158
+ * await anthropic.beta.messages.create({
159
+ * model: "claude-sonnet-4-20250514",
160
+ * max_tokens: 1024,
161
+ * messages: prompt.messages.map(msg => mcpMessage(msg)),
162
+ * });
163
+ * ```
164
+ */
165
+ export function mcpMessage(mcpMessage, extraProps) {
166
+ const message = {
167
+ role: mcpMessage.role,
168
+ content: [mcpContent(mcpMessage.content, extraProps)],
169
+ [SDK_HELPER_SYMBOL]: 'mcpMessage',
170
+ };
171
+ return message;
172
+ }
173
+ /**
174
+ * Converts an array of MCP prompt messages to Anthropic BetaMessageParams.
175
+ *
176
+ * @param messages Array of MCP prompt messages from `mcpClient.getPrompt()`
177
+ * @param extraProps Additional Claude API properties to include in content blocks (e.g., `cache_control`)
178
+ * @returns An array of message parameters for use with `anthropic.beta.messages.create()`
179
+ * @throws {UnsupportedMCPValueError} When any message contains unsupported content types
180
+ * @throws {UnsupportedMCPValueError} When any message contains unsupported resource links
181
+ * @throws {UnsupportedMCPValueError} When any message contains resources with unsupported MIME types
182
+ *
183
+ * @example
184
+ * ```ts
185
+ * const { messages } = await mcpClient.getPrompt({ name: "example-prompt" });
186
+ * await anthropic.beta.messages.create({
187
+ * model: "claude-sonnet-4-20250514",
188
+ * max_tokens: 1024,
189
+ * messages: mcpMessages(messages),
190
+ * });
191
+ * ```
192
+ */
193
+ export function mcpMessages(messages, extraProps) {
194
+ return messages.map((message) => mcpMessage(message, extraProps));
195
+ }
196
+ /**
197
+ * Converts a single MCP prompt content item to an Anthropic content block.
198
+ *
199
+ * @param content The MCP content item (text, image, or embedded resource)
200
+ * @param extraProps Additional Claude API properties to include in the content block (e.g., `cache_control`)
201
+ * @returns A Claude content block for use in a message's content array
202
+ * @throws {UnsupportedMCPValueError} When the content type is not supported (e.g., 'audio')
203
+ * @throws {UnsupportedMCPValueError} When resource links use non-http/https protocols
204
+ * @throws {UnsupportedMCPValueError} When resources have unsupported MIME types
205
+ *
206
+ * @example
207
+ * ```ts
208
+ * const { messages } = await mcpClient.getPrompt({ name: "my-prompt" });
209
+ * // If you need to mix MCP content with other content:
210
+ * await anthropic.beta.messages.create({
211
+ * model: "claude-sonnet-4-20250514",
212
+ * max_tokens: 1024,
213
+ * messages: [{
214
+ * role: "user",
215
+ * content: [
216
+ * mcpContent(messages[0].content),
217
+ * { type: "text", text: "Additional context" },
218
+ * ],
219
+ * }],
220
+ * });
221
+ * ```
222
+ */
223
+ export function mcpContent(content, extraProps) {
224
+ switch (content.type) {
225
+ case 'text': {
226
+ const textBlock = {
227
+ type: 'text',
228
+ text: content.text,
229
+ ...extraProps,
230
+ [SDK_HELPER_SYMBOL]: 'mcpContent',
231
+ };
232
+ return textBlock;
233
+ }
234
+ case 'image': {
235
+ if (!isSupportedImageType(content.mimeType)) {
236
+ throw new UnsupportedMCPValueError(`Unsupported image MIME type: ${content.mimeType}`);
237
+ }
238
+ const imageBlock = {
239
+ type: 'image',
240
+ source: {
241
+ type: 'base64',
242
+ data: content.data,
243
+ media_type: content.mimeType,
244
+ },
245
+ ...extraProps,
246
+ [SDK_HELPER_SYMBOL]: 'mcpContent',
247
+ };
248
+ return imageBlock;
249
+ }
250
+ case 'resource':
251
+ return mcpResourceContentToContentBlock(content.resource, extraProps, 'mcpContent');
252
+ case 'resource_link':
253
+ case 'audio':
254
+ throw new UnsupportedMCPValueError(`Unsupported MCP content type: ${content.type}`);
255
+ default:
256
+ // This should never happen as we handle all MCPPromptContentLike types
257
+ content;
258
+ throw new UnsupportedMCPValueError(`Unsupported MCP content type: ${content.type}`);
259
+ }
260
+ }
261
+ /**
262
+ * Converts a single MCP resource contents item to an Anthropic content block.
263
+ */
264
+ function mcpResourceContentToContentBlock(resourceContent, extraProps, helperName = 'mcpResourceToContent') {
265
+ const mimeType = resourceContent.mimeType;
266
+ // Handle images (requires blob - base64-encoded binary data)
267
+ if (mimeType && isSupportedImageType(mimeType)) {
268
+ if (!('blob' in resourceContent)) {
269
+ throw new UnsupportedMCPValueError(`Image resource must have blob data, not text. URI: ${resourceContent.uri}`);
270
+ }
271
+ const imageBlock = {
272
+ type: 'image',
273
+ source: {
274
+ type: 'base64',
275
+ data: resourceContent.blob,
276
+ media_type: mimeType,
277
+ },
278
+ ...extraProps,
279
+ [SDK_HELPER_SYMBOL]: helperName,
280
+ };
281
+ return imageBlock;
282
+ }
283
+ // Handle PDFs (requires blob - base64-encoded binary data)
284
+ if (mimeType === 'application/pdf') {
285
+ if (!('blob' in resourceContent)) {
286
+ throw new UnsupportedMCPValueError(`PDF resource must have blob data, not text. URI: ${resourceContent.uri}`);
287
+ }
288
+ const pdfBlock = {
289
+ type: 'document',
290
+ source: {
291
+ type: 'base64',
292
+ data: resourceContent.blob,
293
+ media_type: 'application/pdf',
294
+ },
295
+ ...extraProps,
296
+ [SDK_HELPER_SYMBOL]: helperName,
297
+ };
298
+ return pdfBlock;
299
+ }
300
+ // Handle text types (text/*, or no MIME type defaults to text)
301
+ if (!mimeType || mimeType.startsWith('text/')) {
302
+ const textDocBlock = {
303
+ type: 'document',
304
+ source: textSourceFromResource(resourceContent),
305
+ ...extraProps,
306
+ [SDK_HELPER_SYMBOL]: helperName,
307
+ };
308
+ return textDocBlock;
309
+ }
310
+ throw new UnsupportedMCPValueError(`Unsupported MIME type "${mimeType}" for resource: ${resourceContent.uri}`);
311
+ }
312
+ /**
313
+ * Converts MCP resource contents to an Anthropic content block.
314
+ *
315
+ * This helper is useful when you have resource contents from `mcpClient.readResource()`
316
+ * and want to include them in a message or as a document source. It automatically
317
+ * finds the first resource with a supported MIME type.
318
+ *
319
+ * @param result The result from `mcpClient.readResource()`
320
+ * @param extraProps Additional Claude API properties to include in the content block (e.g., `cache_control`)
321
+ * @returns A Claude content block
322
+ * @throws {UnsupportedMCPValueError} When contents array is empty or none have a supported MIME type
323
+ *
324
+ * @example
325
+ * ```ts
326
+ * import { Client } from "@modelcontextprotocol/sdk/client/index.js";
327
+ * import Anthropic from "@anthropic-ai/sdk";
328
+ * import { mcpResourceToContent } from "@anthropic-ai/sdk/helpers/beta/mcp";
329
+ *
330
+ * const mcpClient = new Client({ name: "example", version: "1.0.0" });
331
+ * const anthropic = new Anthropic();
332
+ *
333
+ * const resource = await mcpClient.readResource({ uri: "file:///example.txt" });
334
+ * await anthropic.beta.messages.create({
335
+ * model: "claude-sonnet-4-20250514",
336
+ * max_tokens: 1024,
337
+ * messages: [{
338
+ * role: "user",
339
+ * content: [mcpResourceToContent(resource)],
340
+ * }],
341
+ * });
342
+ * ```
343
+ */
344
+ export function mcpResourceToContent(result, extraProps) {
345
+ if (result.contents.length === 0) {
346
+ throw new UnsupportedMCPValueError('Resource contents array must contain at least one item');
347
+ }
348
+ const supported = result.contents.find((c) => isSupportedResourceMimeType(c.mimeType));
349
+ if (!supported) {
350
+ const mimeTypes = result.contents.map((c) => c.mimeType).filter((m) => m !== undefined);
351
+ throw new UnsupportedMCPValueError(`No supported MIME type found in resource contents. Available: ${mimeTypes.join(', ')}`);
352
+ }
353
+ return mcpResourceContentToContentBlock(supported, extraProps);
354
+ }
355
+ /**
356
+ * Gets the raw bytes from an MCP resource.
357
+ */
358
+ function bytesFromResource(resource) {
359
+ if ('blob' in resource) {
360
+ return fromBase64(resource.blob);
361
+ }
362
+ return new TextEncoder().encode(resource.text);
363
+ }
364
+ /**
365
+ * Creates a text document source from an MCP resource, decoding base64 blob to UTF-8 if needed.
366
+ */
367
+ function textSourceFromResource(resource) {
368
+ const data = 'text' in resource ? resource.text : new TextDecoder().decode(fromBase64(resource.blob));
369
+ return { type: 'text', data, media_type: 'text/plain' };
370
+ }
371
+ /**
372
+ * Converts an MCP resource to a File object suitable for uploading via `anthropic.beta.files.upload()`.
373
+ *
374
+ * @param result The result from `mcpClient.readResource()`
375
+ * @returns A File object for use with `anthropic.beta.files.upload()`
376
+ * @throws {UnsupportedMCPValueError} When contents array is empty
377
+ *
378
+ * @example
379
+ * ```ts
380
+ * import { Client } from "@modelcontextprotocol/sdk/client/index.js";
381
+ * import Anthropic from "@anthropic-ai/sdk";
382
+ * import { mcpResourceToFile } from "@anthropic-ai/sdk/helpers/beta/mcp";
383
+ *
384
+ * const mcpClient = new Client({ name: "example", version: "1.0.0" });
385
+ * const anthropic = new Anthropic();
386
+ *
387
+ * const resource = await mcpClient.readResource({ uri: "file:///document.pdf" });
388
+ *
389
+ * const uploaded = await anthropic.beta.files.upload({
390
+ * file: mcpResourceToFile(resource),
391
+ * });
392
+ * ```
393
+ */
394
+ export function mcpResourceToFile(result) {
395
+ if (result.contents.length === 0) {
396
+ throw new UnsupportedMCPValueError('Resource contents array must contain at least one item');
397
+ }
398
+ const resourceContents = result.contents[0];
399
+ const name = new URL(resourceContents.uri).pathname.split('/').at(-1) || 'file';
400
+ const type = resourceContents.mimeType;
401
+ const data = bytesFromResource(resourceContents);
402
+ const file = new File([data], name, type ? { type } : undefined);
403
+ file[SDK_HELPER_SYMBOL] = 'mcpResourceToFile';
404
+ return file;
405
+ }
406
+ //# sourceMappingURL=mcp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.mjs","sourceRoot":"","sources":["../../src/helpers/beta/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BetaRunnableTool, Promisable } from "../../lib/tools/BetaRunnableTool.mjs";
2
+ import { BetaMemoryTool20250818Command, BetaToolResultContentBlockParam } from "../../resources/beta.mjs";
3
+ type Command = BetaMemoryTool20250818Command['command'];
4
+ export type MemoryToolHandlers = {
5
+ [K in Command]: (command: Extract<BetaMemoryTool20250818Command, {
6
+ command: K;
7
+ }>) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
8
+ };
9
+ export declare function betaMemoryTool(handlers: MemoryToolHandlers): BetaRunnableTool<BetaMemoryTool20250818Command>;
10
+ export {};
11
+ //# sourceMappingURL=memory.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.mts","sourceRoot":"","sources":["../../src/helpers/beta/memory.ts"],"names":[],"mappings":"OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE;OAChC,EAAE,6BAA6B,EAAE,+BAA+B,EAAE;AAEzE,KAAK,OAAO,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG;KAC9B,CAAC,IAAI,OAAO,GAAG,CACd,OAAO,EAAE,OAAO,CAAC,6BAA6B,EAAE;QAAE,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC,KAC5D,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,GAC3B,gBAAgB,CAAC,6BAA6B,CAAC,CAcjD"}
@@ -0,0 +1,11 @@
1
+ import { BetaRunnableTool, Promisable } from "../../lib/tools/BetaRunnableTool.js";
2
+ import { BetaMemoryTool20250818Command, BetaToolResultContentBlockParam } from "../../resources/beta.js";
3
+ type Command = BetaMemoryTool20250818Command['command'];
4
+ export type MemoryToolHandlers = {
5
+ [K in Command]: (command: Extract<BetaMemoryTool20250818Command, {
6
+ command: K;
7
+ }>) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
8
+ };
9
+ export declare function betaMemoryTool(handlers: MemoryToolHandlers): BetaRunnableTool<BetaMemoryTool20250818Command>;
10
+ export {};
11
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/helpers/beta/memory.ts"],"names":[],"mappings":"OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE;OAChC,EAAE,6BAA6B,EAAE,+BAA+B,EAAE;AAEzE,KAAK,OAAO,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG;KAC9B,CAAC,IAAI,OAAO,GAAG,CACd,OAAO,EAAE,OAAO,CAAC,6BAA6B,EAAE;QAAE,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC,KAC5D,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,GAC3B,gBAAgB,CAAC,6BAA6B,CAAC,CAcjD"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.betaMemoryTool = betaMemoryTool;
4
+ function betaMemoryTool(handlers) {
5
+ return {
6
+ type: 'memory_20250818',
7
+ name: 'memory',
8
+ parse: (content) => content,
9
+ run: (args) => {
10
+ const handler = handlers[args.command];
11
+ if (!handler) {
12
+ throw new Error(`${args.command} not implemented`);
13
+ }
14
+ return handler.bind(handlers)(args);
15
+ },
16
+ };
17
+ }
18
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/helpers/beta/memory.ts"],"names":[],"mappings":";;AAWA,wCAgBC;AAhBD,SAAgB,cAAc,CAC5B,QAA4B;IAE5B,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAwC;QAC5D,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAW,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ export function betaMemoryTool(handlers) {
2
+ return {
3
+ type: 'memory_20250818',
4
+ name: 'memory',
5
+ parse: (content) => content,
6
+ run: (args) => {
7
+ const handler = handlers[args.command];
8
+ if (!handler) {
9
+ throw new Error(`${args.command} not implemented`);
10
+ }
11
+ return handler.bind(handlers)(args);
12
+ },
13
+ };
14
+ }
15
+ //# sourceMappingURL=memory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.mjs","sourceRoot":"","sources":["../../src/helpers/beta/memory.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,cAAc,CAC5B,QAA4B;IAE5B,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAwC;QAC5D,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAW,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { infer as zodInfer, ZodType } from 'zod';
2
+ import { AutoParseableBetaOutputFormat } from "../../lib/beta-parser.mjs";
3
+ import { BetaRunnableTool, Promisable } from "../../lib/tools/BetaRunnableTool.mjs";
4
+ import { BetaToolResultContentBlockParam } from "../../resources/beta.mjs";
5
+ /**
6
+ * Creates a JSON schema output format object from the given Zod schema.
7
+ *
8
+ * If this is passed to the `.parse()` method then the response message will contain a
9
+ * `.parsed_output` property that is the result of parsing the content with the given Zod object.
10
+ *
11
+ * This can be passed directly to the `.create()` method but will not
12
+ * result in any automatic parsing, you'll have to parse the response yourself.
13
+ */
14
+ export declare function betaZodOutputFormat<ZodInput extends ZodType>(zodObject: ZodInput): AutoParseableBetaOutputFormat<zodInfer<ZodInput>>;
15
+ /**
16
+ * Creates a tool using the provided Zod schema that can be passed
17
+ * into the `.toolRunner()` method. The Zod schema will automatically be
18
+ * converted into JSON Schema when passed to the API. The provided function's
19
+ * input arguments will also be validated against the provided schema.
20
+ */
21
+ export declare function betaZodTool<InputSchema extends ZodType>(options: {
22
+ name: string;
23
+ inputSchema: InputSchema;
24
+ description: string;
25
+ run: (args: zodInfer<InputSchema>) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
26
+ }): BetaRunnableTool<zodInfer<InputSchema>>;
27
+ //# sourceMappingURL=zod.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.mts","sourceRoot":"","sources":["../../src/helpers/beta/zod.ts"],"names":[],"mappings":"OACO,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK;OAG9C,EAAE,6BAA6B,EAAE;OACjC,EAAE,gBAAgB,EAAE,UAAU,EAAE;OAChC,EAAE,+BAA+B,EAAE;AAC1C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,OAAO,EAC1D,SAAS,EAAE,QAAQ,GAClB,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAsBnD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,WAAW,SAAS,OAAO,EAAE,OAAO,EAAE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;CACnG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAkB1C"}
@@ -0,0 +1,27 @@
1
+ import type { infer as zodInfer, ZodType } from 'zod';
2
+ import { AutoParseableBetaOutputFormat } from "../../lib/beta-parser.js";
3
+ import { BetaRunnableTool, Promisable } from "../../lib/tools/BetaRunnableTool.js";
4
+ import { BetaToolResultContentBlockParam } from "../../resources/beta.js";
5
+ /**
6
+ * Creates a JSON schema output format object from the given Zod schema.
7
+ *
8
+ * If this is passed to the `.parse()` method then the response message will contain a
9
+ * `.parsed_output` property that is the result of parsing the content with the given Zod object.
10
+ *
11
+ * This can be passed directly to the `.create()` method but will not
12
+ * result in any automatic parsing, you'll have to parse the response yourself.
13
+ */
14
+ export declare function betaZodOutputFormat<ZodInput extends ZodType>(zodObject: ZodInput): AutoParseableBetaOutputFormat<zodInfer<ZodInput>>;
15
+ /**
16
+ * Creates a tool using the provided Zod schema that can be passed
17
+ * into the `.toolRunner()` method. The Zod schema will automatically be
18
+ * converted into JSON Schema when passed to the API. The provided function's
19
+ * input arguments will also be validated against the provided schema.
20
+ */
21
+ export declare function betaZodTool<InputSchema extends ZodType>(options: {
22
+ name: string;
23
+ inputSchema: InputSchema;
24
+ description: string;
25
+ run: (args: zodInfer<InputSchema>) => Promisable<string | Array<BetaToolResultContentBlockParam>>;
26
+ }): BetaRunnableTool<zodInfer<InputSchema>>;
27
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/helpers/beta/zod.ts"],"names":[],"mappings":"OACO,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK;OAG9C,EAAE,6BAA6B,EAAE;OACjC,EAAE,gBAAgB,EAAE,UAAU,EAAE;OAChC,EAAE,+BAA+B,EAAE;AAC1C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,OAAO,EAC1D,SAAS,EAAE,QAAQ,GAClB,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAsBnD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,WAAW,SAAS,OAAO,EAAE,OAAO,EAAE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;CACnG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAkB1C"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.betaZodOutputFormat = betaZodOutputFormat;
4
+ exports.betaZodTool = betaZodTool;
5
+ const tslib_1 = require("../../internal/tslib.js");
6
+ const transform_json_schema_1 = require("../..//lib/transform-json-schema.js");
7
+ const z = tslib_1.__importStar(require("zod/v4"));
8
+ const error_1 = require("../../core/error.js");
9
+ /**
10
+ * Creates a JSON schema output format object from the given Zod schema.
11
+ *
12
+ * If this is passed to the `.parse()` method then the response message will contain a
13
+ * `.parsed_output` property that is the result of parsing the content with the given Zod object.
14
+ *
15
+ * This can be passed directly to the `.create()` method but will not
16
+ * result in any automatic parsing, you'll have to parse the response yourself.
17
+ */
18
+ function betaZodOutputFormat(zodObject) {
19
+ let jsonSchema = z.toJSONSchema(zodObject, { reused: 'ref' });
20
+ jsonSchema = (0, transform_json_schema_1.transformJSONSchema)(jsonSchema);
21
+ return {
22
+ type: 'json_schema',
23
+ schema: {
24
+ ...jsonSchema,
25
+ },
26
+ parse: (content) => {
27
+ const output = zodObject.safeParse(JSON.parse(content));
28
+ if (!output.success) {
29
+ throw new error_1.AnthropicError(`Failed to parse structured output: ${output.error.message} cause: ${output.error.issues}`);
30
+ }
31
+ return output.data;
32
+ },
33
+ };
34
+ }
35
+ /**
36
+ * Creates a tool using the provided Zod schema that can be passed
37
+ * into the `.toolRunner()` method. The Zod schema will automatically be
38
+ * converted into JSON Schema when passed to the API. The provided function's
39
+ * input arguments will also be validated against the provided schema.
40
+ */
41
+ function betaZodTool(options) {
42
+ const jsonSchema = z.toJSONSchema(options.inputSchema, { reused: 'ref' });
43
+ if (jsonSchema.type !== 'object') {
44
+ throw new Error(`Zod schema for tool "${options.name}" must be an object, but got ${jsonSchema.type}`);
45
+ }
46
+ // TypeScript doesn't narrow the type after the runtime check, so we need to assert it
47
+ const objectSchema = jsonSchema;
48
+ return {
49
+ type: 'custom',
50
+ name: options.name,
51
+ input_schema: objectSchema,
52
+ description: options.description,
53
+ run: options.run,
54
+ parse: (args) => options.inputSchema.parse(args),
55
+ };
56
+ }
57
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/helpers/beta/zod.ts"],"names":[],"mappings":";;AAgBA,kDAwBC;AAQD,kCAuBC;;AAvED,+EAAuE;AAEvE,kDAA4B;AAC5B,+CAAkD;AAIlD;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CACjC,SAAmB;IAEnB,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9D,UAAU,GAAG,IAAA,2CAAmB,EAAC,UAAU,CAAC,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,GAAG,UAAU;SACd;QACD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,sBAAc,CACtB,sCAAsC,MAAM,CAAC,KAAK,CAAC,OAAO,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAC3F,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAA8B,OAKxD;IACC,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1E,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,gCAAgC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,sFAAsF;IACtF,MAAM,YAAY,GAAG,UAAoD,CAAC;IAE1E,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAA0B;KACnF,CAAC;AACJ,CAAC"}