@puku-ai/sdk 2.0.2 → 2.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 (499) hide show
  1. package/README.md +46 -14
  2. package/package.json +20 -222
  3. package/sdk.cjs +5223 -0
  4. package/sdk.cjs.map +65 -0
  5. package/sdk.d.ts +8802 -0
  6. package/sdk.mjs +52 -0
  7. package/sdk.mjs.map +65 -0
  8. package/dist/_vendor/partial-json-parser/parser.d.mts +0 -3
  9. package/dist/_vendor/partial-json-parser/parser.d.ts.map +0 -1
  10. package/dist/_vendor/partial-json-parser/parser.js +0 -226
  11. package/dist/_vendor/partial-json-parser/parser.js.map +0 -1
  12. package/dist/_vendor/partial-json-parser/parser.mjs +0 -223
  13. package/dist/_vendor/partial-json-parser/parser.mjs.map +0 -1
  14. package/dist/api-promise.d.mts +0 -3
  15. package/dist/api-promise.d.ts.map +0 -1
  16. package/dist/api-promise.js +0 -19
  17. package/dist/api-promise.js.map +0 -1
  18. package/dist/api-promise.mjs +0 -3
  19. package/dist/api-promise.mjs.map +0 -1
  20. package/dist/client.d.mts +0 -248
  21. package/dist/client.d.ts.map +0 -1
  22. package/dist/client.js +0 -605
  23. package/dist/client.js.map +0 -1
  24. package/dist/client.mjs +0 -567
  25. package/dist/client.mjs.map +0 -1
  26. package/dist/core/api-promise.d.mts +0 -49
  27. package/dist/core/api-promise.d.ts.map +0 -1
  28. package/dist/core/api-promise.js +0 -76
  29. package/dist/core/api-promise.js.map +0 -1
  30. package/dist/core/api-promise.mjs +0 -72
  31. package/dist/core/api-promise.mjs.map +0 -1
  32. package/dist/core/error.d.mts +0 -50
  33. package/dist/core/error.d.ts.map +0 -1
  34. package/dist/core/error.js +0 -125
  35. package/dist/core/error.js.map +0 -1
  36. package/dist/core/error.mjs +0 -109
  37. package/dist/core/error.mjs.map +0 -1
  38. package/dist/core/pagination.d.mts +0 -105
  39. package/dist/core/pagination.d.ts.map +0 -1
  40. package/dist/core/pagination.js +0 -196
  41. package/dist/core/pagination.js.map +0 -1
  42. package/dist/core/pagination.mjs +0 -188
  43. package/dist/core/pagination.mjs.map +0 -1
  44. package/dist/core/resource.d.mts +0 -6
  45. package/dist/core/resource.d.ts.map +0 -1
  46. package/dist/core/resource.js +0 -12
  47. package/dist/core/resource.js.map +0 -1
  48. package/dist/core/resource.mjs +0 -8
  49. package/dist/core/resource.mjs.map +0 -1
  50. package/dist/core/streaming.d.mts +0 -33
  51. package/dist/core/streaming.d.ts.map +0 -1
  52. package/dist/core/streaming.js +0 -293
  53. package/dist/core/streaming.js.map +0 -1
  54. package/dist/core/streaming.mjs +0 -288
  55. package/dist/core/streaming.mjs.map +0 -1
  56. package/dist/core/uploads.d.mts +0 -3
  57. package/dist/core/uploads.d.ts.map +0 -1
  58. package/dist/core/uploads.js +0 -6
  59. package/dist/core/uploads.js.map +0 -1
  60. package/dist/core/uploads.mjs +0 -2
  61. package/dist/core/uploads.mjs.map +0 -1
  62. package/dist/error.d.mts +0 -3
  63. package/dist/error.d.ts.map +0 -1
  64. package/dist/error.js +0 -19
  65. package/dist/error.js.map +0 -1
  66. package/dist/error.mjs +0 -3
  67. package/dist/error.mjs.map +0 -1
  68. package/dist/helpers/beta/json-schema.d.mts +0 -31
  69. package/dist/helpers/beta/json-schema.d.ts.map +0 -1
  70. package/dist/helpers/beta/json-schema.js +0 -56
  71. package/dist/helpers/beta/json-schema.js.map +0 -1
  72. package/dist/helpers/beta/json-schema.mjs +0 -52
  73. package/dist/helpers/beta/json-schema.mjs.map +0 -1
  74. package/dist/helpers/beta/mcp.d.mts +0 -303
  75. package/dist/helpers/beta/mcp.d.ts.map +0 -1
  76. package/dist/helpers/beta/mcp.js +0 -419
  77. package/dist/helpers/beta/mcp.js.map +0 -1
  78. package/dist/helpers/beta/mcp.mjs +0 -406
  79. package/dist/helpers/beta/mcp.mjs.map +0 -1
  80. package/dist/helpers/beta/memory.d.mts +0 -11
  81. package/dist/helpers/beta/memory.d.ts.map +0 -1
  82. package/dist/helpers/beta/memory.js +0 -18
  83. package/dist/helpers/beta/memory.js.map +0 -1
  84. package/dist/helpers/beta/memory.mjs +0 -15
  85. package/dist/helpers/beta/memory.mjs.map +0 -1
  86. package/dist/helpers/beta/zod.d.mts +0 -7
  87. package/dist/helpers/beta/zod.d.ts.map +0 -1
  88. package/dist/helpers/beta/zod.js +0 -19
  89. package/dist/helpers/beta/zod.js.map +0 -1
  90. package/dist/helpers/beta/zod.mjs +0 -15
  91. package/dist/helpers/beta/zod.mjs.map +0 -1
  92. package/dist/helpers/index.d.mts +0 -3
  93. package/dist/helpers/index.d.ts.map +0 -1
  94. package/dist/helpers/index.js +0 -8
  95. package/dist/helpers/index.js.map +0 -1
  96. package/dist/helpers/index.mjs +0 -3
  97. package/dist/helpers/index.mjs.map +0 -1
  98. package/dist/helpers/json-schema.d.mts +0 -18
  99. package/dist/helpers/json-schema.d.ts.map +0 -1
  100. package/dist/helpers/json-schema.js +0 -37
  101. package/dist/helpers/json-schema.js.map +0 -1
  102. package/dist/helpers/json-schema.mjs +0 -34
  103. package/dist/helpers/json-schema.mjs.map +0 -1
  104. package/dist/helpers/zod.d.mts +0 -13
  105. package/dist/helpers/zod.d.ts.map +0 -1
  106. package/dist/helpers/zod.js +0 -24
  107. package/dist/helpers/zod.js.map +0 -1
  108. package/dist/helpers/zod.mjs +0 -21
  109. package/dist/helpers/zod.mjs.map +0 -1
  110. package/dist/index.d.mts +0 -33
  111. package/dist/index.d.ts.map +0 -1
  112. package/dist/index.js +0 -38
  113. package/dist/index.js.map +0 -1
  114. package/dist/index.mjs +0 -12
  115. package/dist/index.mjs.map +0 -1
  116. package/dist/internal/builtin-types.d.mts +0 -73
  117. package/dist/internal/builtin-types.d.ts.map +0 -1
  118. package/dist/internal/builtin-types.js +0 -4
  119. package/dist/internal/builtin-types.js.map +0 -1
  120. package/dist/internal/builtin-types.mjs +0 -3
  121. package/dist/internal/builtin-types.mjs.map +0 -1
  122. package/dist/internal/constants.d.mts +0 -5
  123. package/dist/internal/constants.d.ts.map +0 -1
  124. package/dist/internal/constants.js +0 -18
  125. package/dist/internal/constants.js.map +0 -1
  126. package/dist/internal/constants.mjs +0 -15
  127. package/dist/internal/constants.mjs.map +0 -1
  128. package/dist/internal/decoders/jsonl.d.mts +0 -10
  129. package/dist/internal/decoders/jsonl.d.ts.map +0 -1
  130. package/dist/internal/decoders/jsonl.js +0 -41
  131. package/dist/internal/decoders/jsonl.js.map +0 -1
  132. package/dist/internal/decoders/jsonl.mjs +0 -37
  133. package/dist/internal/decoders/jsonl.mjs.map +0 -1
  134. package/dist/internal/decoders/line.d.mts +0 -17
  135. package/dist/internal/decoders/line.d.ts.map +0 -1
  136. package/dist/internal/decoders/line.js +0 -110
  137. package/dist/internal/decoders/line.js.map +0 -1
  138. package/dist/internal/decoders/line.mjs +0 -105
  139. package/dist/internal/decoders/line.mjs.map +0 -1
  140. package/dist/internal/detect-platform.d.mts +0 -15
  141. package/dist/internal/detect-platform.d.ts.map +0 -1
  142. package/dist/internal/detect-platform.js +0 -162
  143. package/dist/internal/detect-platform.js.map +0 -1
  144. package/dist/internal/detect-platform.mjs +0 -157
  145. package/dist/internal/detect-platform.mjs.map +0 -1
  146. package/dist/internal/errors.d.mts +0 -3
  147. package/dist/internal/errors.d.ts.map +0 -1
  148. package/dist/internal/errors.js +0 -41
  149. package/dist/internal/errors.js.map +0 -1
  150. package/dist/internal/errors.mjs +0 -36
  151. package/dist/internal/errors.mjs.map +0 -1
  152. package/dist/internal/headers.d.mts +0 -22
  153. package/dist/internal/headers.d.ts.map +0 -1
  154. package/dist/internal/headers.js +0 -79
  155. package/dist/internal/headers.js.map +0 -1
  156. package/dist/internal/headers.mjs +0 -74
  157. package/dist/internal/headers.mjs.map +0 -1
  158. package/dist/internal/parse.d.mts +0 -17
  159. package/dist/internal/parse.d.ts.map +0 -1
  160. package/dist/internal/parse.js +0 -60
  161. package/dist/internal/parse.js.map +0 -1
  162. package/dist/internal/parse.mjs +0 -56
  163. package/dist/internal/parse.mjs.map +0 -1
  164. package/dist/internal/request-options.d.mts +0 -77
  165. package/dist/internal/request-options.d.ts.map +0 -1
  166. package/dist/internal/request-options.js +0 -14
  167. package/dist/internal/request-options.js.map +0 -1
  168. package/dist/internal/request-options.mjs +0 -10
  169. package/dist/internal/request-options.mjs.map +0 -1
  170. package/dist/internal/shim-types.d.mts +0 -17
  171. package/dist/internal/shim-types.d.ts.map +0 -1
  172. package/dist/internal/shim-types.js +0 -4
  173. package/dist/internal/shim-types.js.map +0 -1
  174. package/dist/internal/shim-types.mjs +0 -3
  175. package/dist/internal/shim-types.mjs.map +0 -1
  176. package/dist/internal/shims.d.mts +0 -26
  177. package/dist/internal/shims.d.ts.map +0 -1
  178. package/dist/internal/shims.js +0 -92
  179. package/dist/internal/shims.js.map +0 -1
  180. package/dist/internal/shims.mjs +0 -85
  181. package/dist/internal/shims.mjs.map +0 -1
  182. package/dist/internal/stream-utils.d.mts +0 -8
  183. package/dist/internal/stream-utils.d.ts.map +0 -1
  184. package/dist/internal/stream-utils.js +0 -38
  185. package/dist/internal/stream-utils.js.map +0 -1
  186. package/dist/internal/stream-utils.mjs +0 -35
  187. package/dist/internal/stream-utils.mjs.map +0 -1
  188. package/dist/internal/to-file.d.mts +0 -45
  189. package/dist/internal/to-file.d.ts.map +0 -1
  190. package/dist/internal/to-file.js +0 -96
  191. package/dist/internal/to-file.js.map +0 -1
  192. package/dist/internal/to-file.mjs +0 -93
  193. package/dist/internal/to-file.mjs.map +0 -1
  194. package/dist/internal/types.d.mts +0 -69
  195. package/dist/internal/types.d.ts.map +0 -1
  196. package/dist/internal/types.js +0 -4
  197. package/dist/internal/types.js.map +0 -1
  198. package/dist/internal/types.mjs +0 -3
  199. package/dist/internal/types.mjs.map +0 -1
  200. package/dist/internal/uploads.d.mts +0 -42
  201. package/dist/internal/uploads.d.ts.map +0 -1
  202. package/dist/internal/uploads.js +0 -145
  203. package/dist/internal/uploads.js.map +0 -1
  204. package/dist/internal/uploads.mjs +0 -135
  205. package/dist/internal/uploads.mjs.map +0 -1
  206. package/dist/internal/utils/base64.d.mts +0 -3
  207. package/dist/internal/utils/base64.d.ts.map +0 -1
  208. package/dist/internal/utils/base64.js +0 -38
  209. package/dist/internal/utils/base64.js.map +0 -1
  210. package/dist/internal/utils/base64.mjs +0 -33
  211. package/dist/internal/utils/base64.mjs.map +0 -1
  212. package/dist/internal/utils/bytes.d.mts +0 -4
  213. package/dist/internal/utils/bytes.d.ts.map +0 -1
  214. package/dist/internal/utils/bytes.js +0 -31
  215. package/dist/internal/utils/bytes.js.map +0 -1
  216. package/dist/internal/utils/bytes.mjs +0 -26
  217. package/dist/internal/utils/bytes.mjs.map +0 -1
  218. package/dist/internal/utils/env.d.mts +0 -9
  219. package/dist/internal/utils/env.d.ts.map +0 -1
  220. package/dist/internal/utils/env.js +0 -22
  221. package/dist/internal/utils/env.js.map +0 -1
  222. package/dist/internal/utils/env.mjs +0 -18
  223. package/dist/internal/utils/env.mjs.map +0 -1
  224. package/dist/internal/utils/log.d.mts +0 -37
  225. package/dist/internal/utils/log.d.ts.map +0 -1
  226. package/dist/internal/utils/log.js +0 -86
  227. package/dist/internal/utils/log.js.map +0 -1
  228. package/dist/internal/utils/log.mjs +0 -80
  229. package/dist/internal/utils/log.mjs.map +0 -1
  230. package/dist/internal/utils/path.d.mts +0 -15
  231. package/dist/internal/utils/path.d.ts.map +0 -1
  232. package/dist/internal/utils/path.js +0 -79
  233. package/dist/internal/utils/path.js.map +0 -1
  234. package/dist/internal/utils/path.mjs +0 -74
  235. package/dist/internal/utils/path.mjs.map +0 -1
  236. package/dist/internal/utils/query.d.mts +0 -5
  237. package/dist/internal/utils/query.d.ts.map +0 -1
  238. package/dist/internal/utils/query.js +0 -23
  239. package/dist/internal/utils/query.js.map +0 -1
  240. package/dist/internal/utils/query.mjs +0 -20
  241. package/dist/internal/utils/query.mjs.map +0 -1
  242. package/dist/internal/utils/sleep.d.mts +0 -2
  243. package/dist/internal/utils/sleep.d.ts.map +0 -1
  244. package/dist/internal/utils/sleep.js +0 -7
  245. package/dist/internal/utils/sleep.js.map +0 -1
  246. package/dist/internal/utils/sleep.mjs +0 -3
  247. package/dist/internal/utils/sleep.mjs.map +0 -1
  248. package/dist/internal/utils/uuid.d.mts +0 -5
  249. package/dist/internal/utils/uuid.d.ts.map +0 -1
  250. package/dist/internal/utils/uuid.js +0 -19
  251. package/dist/internal/utils/uuid.js.map +0 -1
  252. package/dist/internal/utils/uuid.mjs +0 -15
  253. package/dist/internal/utils/uuid.mjs.map +0 -1
  254. package/dist/internal/utils/values.d.mts +0 -19
  255. package/dist/internal/utils/values.d.ts.map +0 -1
  256. package/dist/internal/utils/values.js +0 -119
  257. package/dist/internal/utils/values.js.map +0 -1
  258. package/dist/internal/utils/values.mjs +0 -100
  259. package/dist/internal/utils/values.mjs.map +0 -1
  260. package/dist/internal/utils.d.mts +0 -8
  261. package/dist/internal/utils.d.ts.map +0 -1
  262. package/dist/internal/utils.js +0 -25
  263. package/dist/internal/utils.js.map +0 -1
  264. package/dist/internal/utils.mjs +0 -9
  265. package/dist/internal/utils.mjs.map +0 -1
  266. package/dist/lib/BetaMessageStream.d.mts +0 -122
  267. package/dist/lib/BetaMessageStream.d.ts.map +0 -1
  268. package/dist/lib/BetaMessageStream.js +0 -628
  269. package/dist/lib/BetaMessageStream.js.map +0 -1
  270. package/dist/lib/BetaMessageStream.mjs +0 -624
  271. package/dist/lib/BetaMessageStream.mjs.map +0 -1
  272. package/dist/lib/MessageStream.d.mts +0 -121
  273. package/dist/lib/MessageStream.d.ts.map +0 -1
  274. package/dist/lib/MessageStream.js +0 -609
  275. package/dist/lib/MessageStream.js.map +0 -1
  276. package/dist/lib/MessageStream.mjs +0 -605
  277. package/dist/lib/MessageStream.mjs.map +0 -1
  278. package/dist/lib/beta-parser.d.mts +0 -37
  279. package/dist/lib/beta-parser.d.ts.map +0 -1
  280. package/dist/lib/beta-parser.js +0 -79
  281. package/dist/lib/beta-parser.js.map +0 -1
  282. package/dist/lib/beta-parser.mjs +0 -75
  283. package/dist/lib/beta-parser.mjs.map +0 -1
  284. package/dist/lib/parser.d.mts +0 -32
  285. package/dist/lib/parser.d.ts.map +0 -1
  286. package/dist/lib/parser.js +0 -66
  287. package/dist/lib/parser.js.map +0 -1
  288. package/dist/lib/parser.mjs +0 -62
  289. package/dist/lib/parser.mjs.map +0 -1
  290. package/dist/lib/stainless-helper-header.d.mts +0 -34
  291. package/dist/lib/stainless-helper-header.d.ts.map +0 -1
  292. package/dist/lib/stainless-helper-header.js +0 -70
  293. package/dist/lib/stainless-helper-header.js.map +0 -1
  294. package/dist/lib/stainless-helper-header.mjs +0 -63
  295. package/dist/lib/stainless-helper-header.mjs.map +0 -1
  296. package/dist/lib/tools/BetaRunnableTool.d.mts +0 -12
  297. package/dist/lib/tools/BetaRunnableTool.d.ts.map +0 -1
  298. package/dist/lib/tools/BetaRunnableTool.js +0 -3
  299. package/dist/lib/tools/BetaRunnableTool.js.map +0 -1
  300. package/dist/lib/tools/BetaRunnableTool.mjs +0 -2
  301. package/dist/lib/tools/BetaRunnableTool.mjs.map +0 -1
  302. package/dist/lib/tools/BetaToolRunner.d.mts +0 -136
  303. package/dist/lib/tools/BetaToolRunner.d.ts.map +0 -1
  304. package/dist/lib/tools/BetaToolRunner.js +0 -374
  305. package/dist/lib/tools/BetaToolRunner.js.map +0 -1
  306. package/dist/lib/tools/BetaToolRunner.mjs +0 -370
  307. package/dist/lib/tools/BetaToolRunner.mjs.map +0 -1
  308. package/dist/lib/tools/CompactionControl.d.mts +0 -25
  309. package/dist/lib/tools/CompactionControl.d.ts.map +0 -1
  310. package/dist/lib/tools/CompactionControl.js +0 -28
  311. package/dist/lib/tools/CompactionControl.js.map +0 -1
  312. package/dist/lib/tools/CompactionControl.mjs +0 -25
  313. package/dist/lib/tools/CompactionControl.mjs.map +0 -1
  314. package/dist/lib/tools/ToolError.d.mts +0 -33
  315. package/dist/lib/tools/ToolError.d.ts.map +0 -1
  316. package/dist/lib/tools/ToolError.js +0 -47
  317. package/dist/lib/tools/ToolError.js.map +0 -1
  318. package/dist/lib/tools/ToolError.mjs +0 -43
  319. package/dist/lib/tools/ToolError.mjs.map +0 -1
  320. package/dist/lib/tools/ToolRunner.d.mts +0 -132
  321. package/dist/lib/tools/ToolRunner.d.ts.map +0 -1
  322. package/dist/lib/tools/ToolRunner.js +0 -291
  323. package/dist/lib/tools/ToolRunner.js.map +0 -1
  324. package/dist/lib/tools/ToolRunner.mjs +0 -287
  325. package/dist/lib/tools/ToolRunner.mjs.map +0 -1
  326. package/dist/lib/transform-json-schema.d.mts +0 -3
  327. package/dist/lib/transform-json-schema.d.ts.map +0 -1
  328. package/dist/lib/transform-json-schema.js +0 -114
  329. package/dist/lib/transform-json-schema.js.map +0 -1
  330. package/dist/lib/transform-json-schema.mjs +0 -111
  331. package/dist/lib/transform-json-schema.mjs.map +0 -1
  332. package/dist/pagination.d.mts +0 -3
  333. package/dist/pagination.d.ts.map +0 -1
  334. package/dist/pagination.js +0 -19
  335. package/dist/pagination.js.map +0 -1
  336. package/dist/pagination.mjs +0 -3
  337. package/dist/pagination.mjs.map +0 -1
  338. package/dist/resource.d.mts +0 -3
  339. package/dist/resource.d.ts.map +0 -1
  340. package/dist/resource.js +0 -19
  341. package/dist/resource.js.map +0 -1
  342. package/dist/resource.mjs +0 -3
  343. package/dist/resource.mjs.map +0 -1
  344. package/dist/resources/beta/beta.d.mts +0 -66
  345. package/dist/resources/beta/beta.d.ts.map +0 -1
  346. package/dist/resources/beta/beta.js +0 -58
  347. package/dist/resources/beta/beta.js.map +0 -1
  348. package/dist/resources/beta/beta.mjs +0 -21
  349. package/dist/resources/beta/beta.mjs.map +0 -1
  350. package/dist/resources/beta/files.d.mts +0 -151
  351. package/dist/resources/beta/files.d.ts.map +0 -1
  352. package/dist/resources/beta/files.js +0 -124
  353. package/dist/resources/beta/files.js.map +0 -1
  354. package/dist/resources/beta/files.mjs +0 -120
  355. package/dist/resources/beta/files.mjs.map +0 -1
  356. package/dist/resources/beta/index.d.mts +0 -6
  357. package/dist/resources/beta/index.d.ts.map +0 -1
  358. package/dist/resources/beta/index.js +0 -15
  359. package/dist/resources/beta/index.js.map +0 -1
  360. package/dist/resources/beta/index.mjs +0 -7
  361. package/dist/resources/beta/index.mjs.map +0 -1
  362. package/dist/resources/beta/messages/batches.d.mts +0 -646
  363. package/dist/resources/beta/messages/batches.d.ts.map +0 -1
  364. package/dist/resources/beta/messages/batches.js +0 -204
  365. package/dist/resources/beta/messages/batches.js.map +0 -1
  366. package/dist/resources/beta/messages/batches.mjs +0 -200
  367. package/dist/resources/beta/messages/batches.mjs.map +0 -1
  368. package/dist/resources/beta/messages/index.d.mts +0 -4
  369. package/dist/resources/beta/messages/index.d.ts.map +0 -1
  370. package/dist/resources/beta/messages/index.js +0 -12
  371. package/dist/resources/beta/messages/index.js.map +0 -1
  372. package/dist/resources/beta/messages/index.mjs +0 -5
  373. package/dist/resources/beta/messages/index.mjs.map +0 -1
  374. package/dist/resources/beta/messages/messages.d.mts +0 -2966
  375. package/dist/resources/beta/messages/messages.d.ts.map +0 -1
  376. package/dist/resources/beta/messages/messages.js +0 -192
  377. package/dist/resources/beta/messages/messages.js.map +0 -1
  378. package/dist/resources/beta/messages/messages.mjs +0 -153
  379. package/dist/resources/beta/messages/messages.mjs.map +0 -1
  380. package/dist/resources/beta/messages.d.mts +0 -2
  381. package/dist/resources/beta/messages.d.ts.map +0 -1
  382. package/dist/resources/beta/messages.js +0 -19
  383. package/dist/resources/beta/messages.js.map +0 -1
  384. package/dist/resources/beta/messages.mjs +0 -3
  385. package/dist/resources/beta/messages.mjs.map +0 -1
  386. package/dist/resources/beta/models.d.mts +0 -208
  387. package/dist/resources/beta/models.d.ts.map +0 -1
  388. package/dist/resources/beta/models.js +0 -60
  389. package/dist/resources/beta/models.js.map +0 -1
  390. package/dist/resources/beta/models.mjs +0 -56
  391. package/dist/resources/beta/models.mjs.map +0 -1
  392. package/dist/resources/beta/skills/index.d.mts +0 -3
  393. package/dist/resources/beta/skills/index.d.ts.map +0 -1
  394. package/dist/resources/beta/skills/index.js +0 -9
  395. package/dist/resources/beta/skills/index.js.map +0 -1
  396. package/dist/resources/beta/skills/index.mjs +0 -4
  397. package/dist/resources/beta/skills/index.mjs.map +0 -1
  398. package/dist/resources/beta/skills/skills.d.mts +0 -249
  399. package/dist/resources/beta/skills/skills.d.ts.map +0 -1
  400. package/dist/resources/beta/skills/skills.js +0 -127
  401. package/dist/resources/beta/skills/skills.js.map +0 -1
  402. package/dist/resources/beta/skills/skills.mjs +0 -90
  403. package/dist/resources/beta/skills/skills.mjs.map +0 -1
  404. package/dist/resources/beta/skills/versions.d.mts +0 -257
  405. package/dist/resources/beta/skills/versions.d.ts.map +0 -1
  406. package/dist/resources/beta/skills/versions.js +0 -100
  407. package/dist/resources/beta/skills/versions.js.map +0 -1
  408. package/dist/resources/beta/skills/versions.mjs +0 -96
  409. package/dist/resources/beta/skills/versions.mjs.map +0 -1
  410. package/dist/resources/beta/skills.d.mts +0 -2
  411. package/dist/resources/beta/skills.d.ts.map +0 -1
  412. package/dist/resources/beta/skills.js +0 -19
  413. package/dist/resources/beta/skills.js.map +0 -1
  414. package/dist/resources/beta/skills.mjs +0 -3
  415. package/dist/resources/beta/skills.mjs.map +0 -1
  416. package/dist/resources/beta.d.mts +0 -2
  417. package/dist/resources/beta.d.ts.map +0 -1
  418. package/dist/resources/beta.js +0 -19
  419. package/dist/resources/beta.js.map +0 -1
  420. package/dist/resources/beta.mjs +0 -3
  421. package/dist/resources/beta.mjs.map +0 -1
  422. package/dist/resources/completions.d.mts +0 -182
  423. package/dist/resources/completions.d.ts.map +0 -1
  424. package/dist/resources/completions.js +0 -23
  425. package/dist/resources/completions.js.map +0 -1
  426. package/dist/resources/completions.mjs +0 -19
  427. package/dist/resources/completions.mjs.map +0 -1
  428. package/dist/resources/index.d.mts +0 -6
  429. package/dist/resources/index.d.ts.map +0 -1
  430. package/dist/resources/index.js +0 -28
  431. package/dist/resources/index.js.map +0 -1
  432. package/dist/resources/index.mjs +0 -7
  433. package/dist/resources/index.mjs.map +0 -1
  434. package/dist/resources/messages/batches.d.mts +0 -304
  435. package/dist/resources/messages/batches.d.ts.map +0 -1
  436. package/dist/resources/messages/batches.js +0 -153
  437. package/dist/resources/messages/batches.js.map +0 -1
  438. package/dist/resources/messages/batches.mjs +0 -149
  439. package/dist/resources/messages/batches.mjs.map +0 -1
  440. package/dist/resources/messages/index.d.mts +0 -3
  441. package/dist/resources/messages/index.d.ts.map +0 -1
  442. package/dist/resources/messages/index.js +0 -9
  443. package/dist/resources/messages/index.js.map +0 -1
  444. package/dist/resources/messages/index.mjs +0 -4
  445. package/dist/resources/messages/index.mjs.map +0 -1
  446. package/dist/resources/messages/messages.d.mts +0 -2258
  447. package/dist/resources/messages/messages.d.ts.map +0 -1
  448. package/dist/resources/messages/messages.js +0 -157
  449. package/dist/resources/messages/messages.js.map +0 -1
  450. package/dist/resources/messages/messages.mjs +0 -120
  451. package/dist/resources/messages/messages.mjs.map +0 -1
  452. package/dist/resources/messages.d.mts +0 -2
  453. package/dist/resources/messages.d.ts.map +0 -1
  454. package/dist/resources/messages.js +0 -19
  455. package/dist/resources/messages.js.map +0 -1
  456. package/dist/resources/messages.mjs +0 -3
  457. package/dist/resources/messages.mjs.map +0 -1
  458. package/dist/resources/models.d.mts +0 -193
  459. package/dist/resources/models.d.ts.map +0 -1
  460. package/dist/resources/models.js +0 -45
  461. package/dist/resources/models.js.map +0 -1
  462. package/dist/resources/models.mjs +0 -41
  463. package/dist/resources/models.mjs.map +0 -1
  464. package/dist/resources/shared.d.mts +0 -44
  465. package/dist/resources/shared.d.ts.map +0 -1
  466. package/dist/resources/shared.js +0 -4
  467. package/dist/resources/shared.js.map +0 -1
  468. package/dist/resources/shared.mjs +0 -3
  469. package/dist/resources/shared.mjs.map +0 -1
  470. package/dist/resources/top-level.d.mts +0 -2
  471. package/dist/resources/top-level.d.ts.map +0 -1
  472. package/dist/resources/top-level.js +0 -4
  473. package/dist/resources/top-level.js.map +0 -1
  474. package/dist/resources/top-level.mjs +0 -3
  475. package/dist/resources/top-level.mjs.map +0 -1
  476. package/dist/streaming.d.mts +0 -3
  477. package/dist/streaming.d.ts.map +0 -1
  478. package/dist/streaming.js +0 -19
  479. package/dist/streaming.js.map +0 -1
  480. package/dist/streaming.mjs +0 -3
  481. package/dist/streaming.mjs.map +0 -1
  482. package/dist/tools/memory/node.d.mts +0 -18
  483. package/dist/tools/memory/node.d.ts.map +0 -1
  484. package/dist/tools/memory/node.js +0 -358
  485. package/dist/tools/memory/node.js.map +0 -1
  486. package/dist/tools/memory/node.mjs +0 -320
  487. package/dist/tools/memory/node.mjs.map +0 -1
  488. package/dist/uploads.d.mts +0 -3
  489. package/dist/uploads.d.ts.map +0 -1
  490. package/dist/uploads.js +0 -19
  491. package/dist/uploads.js.map +0 -1
  492. package/dist/uploads.mjs +0 -3
  493. package/dist/uploads.mjs.map +0 -1
  494. package/dist/version.d.mts +0 -2
  495. package/dist/version.d.ts.map +0 -1
  496. package/dist/version.js +0 -5
  497. package/dist/version.js.map +0 -1
  498. package/dist/version.mjs +0 -2
  499. package/dist/version.mjs.map +0 -1
@@ -1,136 +0,0 @@
1
- import { BetaRunnableTool } from './BetaRunnableTool.js';
2
- import { PukuAI } from '../../index.js';
3
- import { BetaMessage, BetaMessageParam, BetaToolUnion, MessageCreateParams } from '../../resources/beta.js';
4
- import { BetaMessageStream } from '../BetaMessageStream.js';
5
- import { RequestOptions } from '../../internal/request-options.js';
6
- import { CompactionControl } from './CompactionControl.js';
7
- /**
8
- * A ToolRunner handles the automatic conversation loop between the assistant and tools.
9
- *
10
- * A ToolRunner is an async iterable that yields either BetaMessage or BetaMessageStream objects
11
- * depending on the streaming configuration.
12
- */
13
- export declare class BetaToolRunner<Stream extends boolean> {
14
- #private;
15
- private client;
16
- constructor(client: PukuAI, params: BetaToolRunnerParams, options?: BetaToolRunnerRequestOptions);
17
- [Symbol.asyncIterator](): AsyncIterator<Stream extends true ? BetaMessageStream : Stream extends false ? BetaMessage : BetaMessage | BetaMessageStream>;
18
- /**
19
- * Update the parameters for the next API call. This invalidates any cached tool responses.
20
- *
21
- * @param paramsOrMutator - Either new parameters or a function to mutate existing parameters
22
- *
23
- * @example
24
- * // Direct parameter update
25
- * runner.setMessagesParams({
26
- * model: 'claude-haiku-4-5',
27
- * max_tokens: 500,
28
- * });
29
- *
30
- * @example
31
- * // Using a mutator function
32
- * runner.setMessagesParams((params) => ({
33
- * ...params,
34
- * max_tokens: 100,
35
- * }));
36
- */
37
- setMessagesParams(params: BetaToolRunnerParams): void;
38
- setMessagesParams(mutator: (prevParams: BetaToolRunnerParams) => BetaToolRunnerParams): void;
39
- /**
40
- * Get the tool response for the last message from the assistant.
41
- * Avoids redundant tool executions by caching results.
42
- *
43
- * @returns A promise that resolves to a BetaMessageParam containing tool results, or null if no tools need to be executed
44
- *
45
- * @example
46
- * const toolResponse = await runner.generateToolResponse();
47
- * if (toolResponse) {
48
- * console.log('Tool results:', toolResponse.content);
49
- * }
50
- */
51
- generateToolResponse(): Promise<PukuAI.Beta.Messages.BetaMessageParam | null>;
52
- /**
53
- * Wait for the async iterator to complete. This works even if the async iterator hasn't yet started, and
54
- * will wait for an instance to start and go to completion.
55
- *
56
- * @returns A promise that resolves to the final BetaMessage when the iterator completes
57
- *
58
- * @example
59
- * // Start consuming the iterator
60
- * for await (const message of runner) {
61
- * console.log('Message:', message.content);
62
- * }
63
- *
64
- * // Meanwhile, wait for completion from another part of the code
65
- * const finalMessage = await runner.done();
66
- * console.log('Final response:', finalMessage.content);
67
- */
68
- done(): Promise<BetaMessage>;
69
- /**
70
- * Returns a promise indicating that the stream is done. Unlike .done(), this will eagerly read the stream:
71
- * * If the iterator has not been consumed, consume the entire iterator and return the final message from the
72
- * assistant.
73
- * * If the iterator has been consumed, waits for it to complete and returns the final message.
74
- *
75
- * @returns A promise that resolves to the final BetaMessage from the conversation
76
- * @throws {AnthropicError} If no messages were processed during the conversation
77
- *
78
- * @example
79
- * const finalMessage = await runner.runUntilDone();
80
- * console.log('Final response:', finalMessage.content);
81
- */
82
- runUntilDone(): Promise<BetaMessage>;
83
- /**
84
- * Get the current parameters being used by the ToolRunner.
85
- *
86
- * @returns A readonly view of the current ToolRunnerParams
87
- *
88
- * @example
89
- * const currentParams = runner.params;
90
- * console.log('Current model:', currentParams.model);
91
- * console.log('Message count:', currentParams.messages.length);
92
- */
93
- get params(): Readonly<BetaToolRunnerParams>;
94
- /**
95
- * Add one or more messages to the conversation history.
96
- *
97
- * @param messages - One or more BetaMessageParam objects to add to the conversation
98
- *
99
- * @example
100
- * runner.pushMessages(
101
- * { role: 'user', content: 'Also, what about the weather in NYC?' }
102
- * );
103
- *
104
- * @example
105
- * // Adding multiple messages
106
- * runner.pushMessages(
107
- * { role: 'user', content: 'What about NYC?' },
108
- * { role: 'user', content: 'And Boston?' }
109
- * );
110
- */
111
- pushMessages(...messages: BetaMessageParam[]): void;
112
- /**
113
- * Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()
114
- * This allows using `await runner` instead of `await runner.runUntilDone()`
115
- */
116
- then<TResult1 = BetaMessage, TResult2 = never>(onfulfilled?: ((value: BetaMessage) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
117
- }
118
- type Simplify<T> = {
119
- [KeyType in keyof T]: T[KeyType];
120
- } & {};
121
- /**
122
- * Parameters for creating a ToolRunner, extending MessageCreateParams with runnable tools.
123
- */
124
- export type BetaToolRunnerParams = Simplify<Omit<MessageCreateParams, 'tools'> & {
125
- tools: (BetaToolUnion | BetaRunnableTool<any>)[];
126
- /**
127
- * Maximum number of iterations (API requests) to make in the tool execution loop.
128
- * Each iteration consists of: assistant response → tool execution → tool results.
129
- * When exceeded, the loop will terminate even if tools are still being requested.
130
- */
131
- max_iterations?: number;
132
- compactionControl?: CompactionControl;
133
- }>;
134
- export type BetaToolRunnerRequestOptions = Pick<RequestOptions, 'headers'>;
135
- export {};
136
- //# sourceMappingURL=BetaToolRunner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BetaToolRunner.d.ts","sourceRoot":"","sources":["../../../src/vendor/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAmD,MAAM,wBAAwB,CAAC;AAoB5G;;;;;GAKG;AACH,qBAAa,cAAc,CAAC,MAAM,SAAS,OAAO;;IAsB9C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EACtB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,4BAA4B;IAwGjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAC5C,MAAM,SAAS,IAAI,GAAG,iBAAiB,GACrC,MAAM,SAAS,KAAK,GAAG,WAAW,GAClC,WAAW,GAAG,iBAAiB,CAClC;IA2ED;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IACrD,iBAAiB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB,KAAK,oBAAoB,GAAG,IAAI;IAc5F;;;;;;;;;;;OAWG;IACG,oBAAoB;IAgB1B;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5B;;;;;;;;;;;;OAYG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAY1C;;;;;;;;;OASG;IACH,IAAI,MAAM,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAE3C;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE;IAO5C;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,QAAQ,GAAG,KAAK,EAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3F,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAGhC;AAkED,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAAE,GAAG,EAAE,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACnC,KAAK,EAAE,CAAC,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACjD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CACF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC"}
@@ -1,374 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BetaToolRunner = void 0;
4
- const ToolError_js_1 = require("./ToolError.js");
5
- const error_js_1 = require("../../core/error.js");
6
- const headers_js_1 = require("../../internal/headers.js");
7
- const CompactionControl_js_1 = require("./CompactionControl.js");
8
- const stainless_helper_header_js_1 = require("../stainless-helper-header.js");
9
- /**
10
- * Just Promise.withResolvers(), which is not available in all environments.
11
- */
12
- function promiseWithResolvers() {
13
- let resolve;
14
- let reject;
15
- const promise = new Promise((res, rej) => {
16
- resolve = res;
17
- reject = rej;
18
- });
19
- return { promise, resolve: resolve, reject: reject };
20
- }
21
- /**
22
- * A ToolRunner handles the automatic conversation loop between the assistant and tools.
23
- *
24
- * A ToolRunner is an async iterable that yields either BetaMessage or BetaMessageStream objects
25
- * depending on the streaming configuration.
26
- */
27
- class BetaToolRunner {
28
- client;
29
- /** Whether the async iterator has been consumed */
30
- #consumed = false;
31
- /** Whether parameters have been mutated since the last API call */
32
- #mutated = false;
33
- /** Current state containing the request parameters */
34
- #state;
35
- #options;
36
- /** Promise for the last message received from the assistant */
37
- #message;
38
- /** Cached tool response to avoid redundant executions */
39
- #toolResponse;
40
- /** Promise resolvers for waiting on completion */
41
- #completion;
42
- /** Number of iterations (API requests) made so far */
43
- #iterationCount = 0;
44
- constructor(client, params, options) {
45
- this.client = client;
46
- this.#state = {
47
- params: {
48
- // You can't clone the entire params since there are functions as handlers.
49
- // You also don't really need to clone params.messages, but it probably will prevent a foot gun
50
- // somewhere.
51
- ...params,
52
- messages: structuredClone(params.messages),
53
- },
54
- };
55
- const helpers = (0, stainless_helper_header_js_1.collectStainlessHelpers)(params.tools, params.messages);
56
- const helperValue = ['BetaToolRunner', ...helpers].join(', ');
57
- this.#options = {
58
- ...options,
59
- headers: (0, headers_js_1.buildHeaders)([{ 'x-stainless-helper': helperValue }, options?.headers]),
60
- };
61
- this.#completion = promiseWithResolvers();
62
- }
63
- async #checkAndCompact() {
64
- const compactionControl = this.#state.params.compactionControl;
65
- if (!compactionControl || !compactionControl.enabled) {
66
- return false;
67
- }
68
- let tokensUsed = 0;
69
- if (this.#message !== undefined) {
70
- try {
71
- const message = await this.#message;
72
- const totalInputTokens = message.usage.input_tokens +
73
- (message.usage.cache_creation_input_tokens ?? 0) +
74
- (message.usage.cache_read_input_tokens ?? 0);
75
- tokensUsed = totalInputTokens + message.usage.output_tokens;
76
- }
77
- catch {
78
- // If we can't get the message, skip compaction
79
- return false;
80
- }
81
- }
82
- const threshold = compactionControl.contextTokenThreshold ?? CompactionControl_js_1.DEFAULT_TOKEN_THRESHOLD;
83
- if (tokensUsed < threshold) {
84
- return false;
85
- }
86
- const model = compactionControl.model ?? this.#state.params.model;
87
- const summaryPrompt = compactionControl.summaryPrompt ?? CompactionControl_js_1.DEFAULT_SUMMARY_PROMPT;
88
- const messages = this.#state.params.messages;
89
- if (messages[messages.length - 1].role === 'assistant') {
90
- // Remove tool_use blocks from the last message to avoid 400 error
91
- // (tool_use requires tool_result, which we don't have yet)
92
- const lastMessage = messages[messages.length - 1];
93
- if (Array.isArray(lastMessage.content)) {
94
- const nonToolBlocks = lastMessage.content.filter((block) => block.type !== 'tool_use');
95
- if (nonToolBlocks.length === 0) {
96
- // If all blocks were tool_use, just remove the message entirely
97
- messages.pop();
98
- }
99
- else {
100
- lastMessage.content = nonToolBlocks;
101
- }
102
- }
103
- }
104
- const response = await this.client.beta.messages.create({
105
- model,
106
- messages: [
107
- ...messages,
108
- {
109
- role: 'user',
110
- content: [
111
- {
112
- type: 'text',
113
- text: summaryPrompt,
114
- },
115
- ],
116
- },
117
- ],
118
- max_tokens: this.#state.params.max_tokens,
119
- }, {
120
- headers: { 'x-stainless-helper': 'compaction' },
121
- });
122
- if (response.content[0]?.type !== 'text') {
123
- throw new error_js_1.AnthropicError('Expected text response for compaction');
124
- }
125
- this.#state.params.messages = [
126
- {
127
- role: 'user',
128
- content: response.content,
129
- },
130
- ];
131
- return true;
132
- }
133
- async *[Symbol.asyncIterator]() {
134
- if (this.#consumed) {
135
- throw new error_js_1.AnthropicError('Cannot iterate over a consumed stream');
136
- }
137
- this.#consumed = true;
138
- this.#mutated = true;
139
- this.#toolResponse = undefined;
140
- try {
141
- while (true) {
142
- let stream;
143
- try {
144
- if (this.#state.params.max_iterations &&
145
- this.#iterationCount >= this.#state.params.max_iterations) {
146
- break;
147
- }
148
- this.#mutated = false;
149
- this.#toolResponse = undefined;
150
- this.#iterationCount++;
151
- this.#message = undefined;
152
- const { max_iterations, compactionControl, ...params } = this.#state.params;
153
- if (params.stream) {
154
- stream = this.client.beta.messages.stream({ ...params }, this.#options);
155
- this.#message = stream.finalMessage();
156
- // Make sure that this promise doesn't throw before we get the option to do something about it.
157
- // Error will be caught when we call await this.#message ultimately
158
- this.#message.catch(() => { });
159
- yield stream;
160
- }
161
- else {
162
- this.#message = this.client.beta.messages.create({ ...params, stream: false }, this.#options);
163
- yield this.#message;
164
- }
165
- const isCompacted = await this.#checkAndCompact();
166
- if (!isCompacted) {
167
- if (!this.#mutated) {
168
- const { role, content } = await this.#message;
169
- this.#state.params.messages.push({ role, content });
170
- }
171
- const toolMessage = await this.#generateToolResponse(this.#state.params.messages.at(-1));
172
- if (toolMessage) {
173
- this.#state.params.messages.push(toolMessage);
174
- }
175
- else if (!this.#mutated) {
176
- break;
177
- }
178
- }
179
- }
180
- finally {
181
- if (stream) {
182
- stream.abort();
183
- }
184
- }
185
- }
186
- if (!this.#message) {
187
- throw new error_js_1.AnthropicError('ToolRunner concluded without a message from the server');
188
- }
189
- this.#completion.resolve(await this.#message);
190
- }
191
- catch (error) {
192
- this.#consumed = false;
193
- // Silence unhandled promise errors
194
- this.#completion.promise.catch(() => { });
195
- this.#completion.reject(error);
196
- this.#completion = promiseWithResolvers();
197
- throw error;
198
- }
199
- }
200
- setMessagesParams(paramsOrMutator) {
201
- if (typeof paramsOrMutator === 'function') {
202
- this.#state.params = paramsOrMutator(this.#state.params);
203
- }
204
- else {
205
- this.#state.params = paramsOrMutator;
206
- }
207
- this.#mutated = true;
208
- // Invalidate cached tool response since parameters changed
209
- this.#toolResponse = undefined;
210
- }
211
- /**
212
- * Get the tool response for the last message from the assistant.
213
- * Avoids redundant tool executions by caching results.
214
- *
215
- * @returns A promise that resolves to a BetaMessageParam containing tool results, or null if no tools need to be executed
216
- *
217
- * @example
218
- * const toolResponse = await runner.generateToolResponse();
219
- * if (toolResponse) {
220
- * console.log('Tool results:', toolResponse.content);
221
- * }
222
- */
223
- async generateToolResponse() {
224
- const message = (await this.#message) ?? this.params.messages.at(-1);
225
- if (!message) {
226
- return null;
227
- }
228
- return this.#generateToolResponse(message);
229
- }
230
- async #generateToolResponse(lastMessage) {
231
- if (this.#toolResponse !== undefined) {
232
- return this.#toolResponse;
233
- }
234
- this.#toolResponse = generateToolResponse(this.#state.params, lastMessage);
235
- return this.#toolResponse;
236
- }
237
- /**
238
- * Wait for the async iterator to complete. This works even if the async iterator hasn't yet started, and
239
- * will wait for an instance to start and go to completion.
240
- *
241
- * @returns A promise that resolves to the final BetaMessage when the iterator completes
242
- *
243
- * @example
244
- * // Start consuming the iterator
245
- * for await (const message of runner) {
246
- * console.log('Message:', message.content);
247
- * }
248
- *
249
- * // Meanwhile, wait for completion from another part of the code
250
- * const finalMessage = await runner.done();
251
- * console.log('Final response:', finalMessage.content);
252
- */
253
- done() {
254
- return this.#completion.promise;
255
- }
256
- /**
257
- * Returns a promise indicating that the stream is done. Unlike .done(), this will eagerly read the stream:
258
- * * If the iterator has not been consumed, consume the entire iterator and return the final message from the
259
- * assistant.
260
- * * If the iterator has been consumed, waits for it to complete and returns the final message.
261
- *
262
- * @returns A promise that resolves to the final BetaMessage from the conversation
263
- * @throws {AnthropicError} If no messages were processed during the conversation
264
- *
265
- * @example
266
- * const finalMessage = await runner.runUntilDone();
267
- * console.log('Final response:', finalMessage.content);
268
- */
269
- async runUntilDone() {
270
- // If not yet consumed, start consuming and wait for completion
271
- if (!this.#consumed) {
272
- for await (const _ of this) {
273
- // Iterator naturally populates this.#message
274
- }
275
- }
276
- // If consumed but not completed, wait for completion
277
- return this.done();
278
- }
279
- /**
280
- * Get the current parameters being used by the ToolRunner.
281
- *
282
- * @returns A readonly view of the current ToolRunnerParams
283
- *
284
- * @example
285
- * const currentParams = runner.params;
286
- * console.log('Current model:', currentParams.model);
287
- * console.log('Message count:', currentParams.messages.length);
288
- */
289
- get params() {
290
- return this.#state.params;
291
- }
292
- /**
293
- * Add one or more messages to the conversation history.
294
- *
295
- * @param messages - One or more BetaMessageParam objects to add to the conversation
296
- *
297
- * @example
298
- * runner.pushMessages(
299
- * { role: 'user', content: 'Also, what about the weather in NYC?' }
300
- * );
301
- *
302
- * @example
303
- * // Adding multiple messages
304
- * runner.pushMessages(
305
- * { role: 'user', content: 'What about NYC?' },
306
- * { role: 'user', content: 'And Boston?' }
307
- * );
308
- */
309
- pushMessages(...messages) {
310
- this.setMessagesParams((params) => ({
311
- ...params,
312
- messages: [...params.messages, ...messages],
313
- }));
314
- }
315
- /**
316
- * Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()
317
- * This allows using `await runner` instead of `await runner.runUntilDone()`
318
- */
319
- then(onfulfilled, onrejected) {
320
- return this.runUntilDone().then(onfulfilled, onrejected);
321
- }
322
- }
323
- exports.BetaToolRunner = BetaToolRunner;
324
- async function generateToolResponse(params, lastMessage = params.messages.at(-1)) {
325
- // Only process if the last message is from the assistant and has tool use blocks
326
- if (!lastMessage ||
327
- lastMessage.role !== 'assistant' ||
328
- !lastMessage.content ||
329
- typeof lastMessage.content === 'string') {
330
- return null;
331
- }
332
- const toolUseBlocks = lastMessage.content.filter((content) => content.type === 'tool_use');
333
- if (toolUseBlocks.length === 0) {
334
- return null;
335
- }
336
- const toolResults = await Promise.all(toolUseBlocks.map(async (toolUse) => {
337
- const tool = params.tools.find((t) => ('name' in t ? t.name : t.mcp_server_name) === toolUse.name);
338
- if (!tool || !('run' in tool)) {
339
- return {
340
- type: 'tool_result',
341
- tool_use_id: toolUse.id,
342
- content: `Error: Tool '${toolUse.name}' not found`,
343
- is_error: true,
344
- };
345
- }
346
- try {
347
- let input = toolUse.input;
348
- if ('parse' in tool && tool.parse) {
349
- input = tool.parse(input);
350
- }
351
- const result = await tool.run(input);
352
- return {
353
- type: 'tool_result',
354
- tool_use_id: toolUse.id,
355
- content: result,
356
- };
357
- }
358
- catch (error) {
359
- return {
360
- type: 'tool_result',
361
- tool_use_id: toolUse.id,
362
- content: error instanceof ToolError_js_1.ToolError ?
363
- error.content
364
- : `Error: ${error instanceof Error ? error.message : String(error)}`,
365
- is_error: true,
366
- };
367
- }
368
- }));
369
- return {
370
- role: 'user',
371
- content: toolResults,
372
- };
373
- }
374
- //# sourceMappingURL=BetaToolRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BetaToolRunner.js","sourceRoot":"","sources":["../../../src/vendor/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"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"}