@puku-ai/sdk 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/dist/index.d.ts +26 -0
  2. package/dist/index.js +32 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/vendor/_vendor/partial-json-parser/parser.d.ts +2 -0
  5. package/dist/vendor/_vendor/partial-json-parser/parser.js +223 -0
  6. package/dist/vendor/_vendor/partial-json-parser/parser.js.map +1 -0
  7. package/dist/vendor/api-promise.d.ts +2 -0
  8. package/dist/vendor/api-promise.js +3 -0
  9. package/dist/vendor/api-promise.js.map +1 -0
  10. package/dist/vendor/client.d.ts +399 -0
  11. package/dist/vendor/client.js +976 -0
  12. package/dist/vendor/client.js.map +1 -0
  13. package/dist/vendor/core/api-promise.d.ts +49 -0
  14. package/dist/vendor/core/api-promise.js +77 -0
  15. package/dist/vendor/core/api-promise.js.map +1 -0
  16. package/dist/vendor/core/api.d.ts +10 -0
  17. package/dist/vendor/core/api.js +2 -0
  18. package/dist/vendor/core/api.js.map +1 -0
  19. package/dist/vendor/core/credentials.d.ts +130 -0
  20. package/dist/vendor/core/credentials.js +274 -0
  21. package/dist/vendor/core/credentials.js.map +1 -0
  22. package/dist/vendor/core/error.d.ts +82 -0
  23. package/dist/vendor/core/error.js +140 -0
  24. package/dist/vendor/core/error.js.map +1 -0
  25. package/dist/vendor/core/middleware.d.ts +153 -0
  26. package/dist/vendor/core/middleware.js +168 -0
  27. package/dist/vendor/core/middleware.js.map +1 -0
  28. package/dist/vendor/core/pagination.d.ts +121 -0
  29. package/dist/vendor/core/pagination.js +207 -0
  30. package/dist/vendor/core/pagination.js.map +1 -0
  31. package/dist/vendor/core/resource.d.ts +5 -0
  32. package/dist/vendor/core/resource.js +8 -0
  33. package/dist/vendor/core/resource.js.map +1 -0
  34. package/dist/vendor/core/streaming.d.ts +41 -0
  35. package/dist/vendor/core/streaming.js +342 -0
  36. package/dist/vendor/core/streaming.js.map +1 -0
  37. package/dist/vendor/core/uploads.d.ts +2 -0
  38. package/dist/vendor/core/uploads.js +2 -0
  39. package/dist/vendor/core/uploads.js.map +1 -0
  40. package/dist/vendor/error.d.ts +2 -0
  41. package/dist/vendor/error.js +3 -0
  42. package/dist/vendor/error.js.map +1 -0
  43. package/dist/vendor/helpers/beta/environments.d.ts +22 -0
  44. package/dist/vendor/helpers/beta/environments.js +23 -0
  45. package/dist/vendor/helpers/beta/environments.js.map +1 -0
  46. package/dist/vendor/helpers/beta/json-schema.d.ts +36 -0
  47. package/dist/vendor/helpers/beta/json-schema.js +53 -0
  48. package/dist/vendor/helpers/beta/json-schema.js.map +1 -0
  49. package/dist/vendor/helpers/beta/mcp.d.ts +302 -0
  50. package/dist/vendor/helpers/beta/mcp.js +406 -0
  51. package/dist/vendor/helpers/beta/mcp.js.map +1 -0
  52. package/dist/vendor/helpers/beta/memory.d.ts +10 -0
  53. package/dist/vendor/helpers/beta/memory.js +15 -0
  54. package/dist/vendor/helpers/beta/memory.js.map +1 -0
  55. package/dist/vendor/helpers/beta/standard-schema.d.ts +44 -0
  56. package/dist/vendor/helpers/beta/standard-schema.js +54 -0
  57. package/dist/vendor/helpers/beta/standard-schema.js.map +1 -0
  58. package/dist/vendor/helpers/beta/zod.d.ts +32 -0
  59. package/dist/vendor/helpers/beta/zod.js +52 -0
  60. package/dist/vendor/helpers/beta/zod.js.map +1 -0
  61. package/dist/vendor/helpers/index.d.ts +2 -0
  62. package/dist/vendor/helpers/index.js +3 -0
  63. package/dist/vendor/helpers/index.js.map +1 -0
  64. package/dist/vendor/helpers/json-schema.d.ts +17 -0
  65. package/dist/vendor/helpers/json-schema.js +34 -0
  66. package/dist/vendor/helpers/json-schema.js.map +1 -0
  67. package/dist/vendor/helpers/zod.d.ts +12 -0
  68. package/dist/vendor/helpers/zod.js +42 -0
  69. package/dist/vendor/helpers/zod.js.map +1 -0
  70. package/dist/vendor/index.d.ts +16 -0
  71. package/dist/vendor/index.js +23 -0
  72. package/dist/vendor/index.js.map +1 -0
  73. package/dist/vendor/internal/builtin-types.d.ts +72 -0
  74. package/dist/vendor/internal/builtin-types.js +3 -0
  75. package/dist/vendor/internal/builtin-types.js.map +1 -0
  76. package/dist/vendor/internal/constants.d.ts +4 -0
  77. package/dist/vendor/internal/constants.js +10 -0
  78. package/dist/vendor/internal/constants.js.map +1 -0
  79. package/dist/vendor/internal/decoders/jsonl.d.ts +9 -0
  80. package/dist/vendor/internal/decoders/jsonl.js +37 -0
  81. package/dist/vendor/internal/decoders/jsonl.js.map +1 -0
  82. package/dist/vendor/internal/decoders/line.d.ts +16 -0
  83. package/dist/vendor/internal/decoders/line.js +105 -0
  84. package/dist/vendor/internal/decoders/line.js.map +1 -0
  85. package/dist/vendor/internal/detect-platform.d.ts +14 -0
  86. package/dist/vendor/internal/detect-platform.js +155 -0
  87. package/dist/vendor/internal/detect-platform.js.map +1 -0
  88. package/dist/vendor/internal/errors.d.ts +2 -0
  89. package/dist/vendor/internal/errors.js +38 -0
  90. package/dist/vendor/internal/errors.js.map +1 -0
  91. package/dist/vendor/internal/file-store.d.ts +135 -0
  92. package/dist/vendor/internal/file-store.js +529 -0
  93. package/dist/vendor/internal/file-store.js.map +1 -0
  94. package/dist/vendor/internal/headers.d.ts +28 -0
  95. package/dist/vendor/internal/headers.js +114 -0
  96. package/dist/vendor/internal/headers.js.map +1 -0
  97. package/dist/vendor/internal/message-stream-utils.d.ts +9 -0
  98. package/dist/vendor/internal/message-stream-utils.js +30 -0
  99. package/dist/vendor/internal/message-stream-utils.js.map +1 -0
  100. package/dist/vendor/internal/node.browser.d.ts +8 -0
  101. package/dist/vendor/internal/node.browser.js +19 -0
  102. package/dist/vendor/internal/node.browser.js.map +1 -0
  103. package/dist/vendor/internal/node.d.ts +13 -0
  104. package/dist/vendor/internal/node.js +14 -0
  105. package/dist/vendor/internal/node.js.map +1 -0
  106. package/dist/vendor/internal/parse.d.ts +17 -0
  107. package/dist/vendor/internal/parse.js +62 -0
  108. package/dist/vendor/internal/parse.js.map +1 -0
  109. package/dist/vendor/internal/qs/formats.d.ts +6 -0
  110. package/dist/vendor/internal/qs/formats.js +9 -0
  111. package/dist/vendor/internal/qs/formats.js.map +1 -0
  112. package/dist/vendor/internal/qs/index.d.ts +9 -0
  113. package/dist/vendor/internal/qs/index.js +10 -0
  114. package/dist/vendor/internal/qs/index.js.map +1 -0
  115. package/dist/vendor/internal/qs/stringify.d.ts +2 -0
  116. package/dist/vendor/internal/qs/stringify.js +274 -0
  117. package/dist/vendor/internal/qs/stringify.js.map +1 -0
  118. package/dist/vendor/internal/qs/types.d.ts +56 -0
  119. package/dist/vendor/internal/qs/types.js +2 -0
  120. package/dist/vendor/internal/qs/types.js.map +1 -0
  121. package/dist/vendor/internal/qs/utils.d.ts +14 -0
  122. package/dist/vendor/internal/qs/utils.js +217 -0
  123. package/dist/vendor/internal/qs/utils.js.map +1 -0
  124. package/dist/vendor/internal/request-options.d.ts +126 -0
  125. package/dist/vendor/internal/request-options.js +27 -0
  126. package/dist/vendor/internal/request-options.js.map +1 -0
  127. package/dist/vendor/internal/request-signal.d.ts +3 -0
  128. package/dist/vendor/internal/request-signal.js +45 -0
  129. package/dist/vendor/internal/request-signal.js.map +1 -0
  130. package/dist/vendor/internal/shim-types.d.ts +16 -0
  131. package/dist/vendor/internal/shim-types.js +3 -0
  132. package/dist/vendor/internal/shim-types.js.map +1 -0
  133. package/dist/vendor/internal/shims.d.ts +25 -0
  134. package/dist/vendor/internal/shims.js +85 -0
  135. package/dist/vendor/internal/shims.js.map +1 -0
  136. package/dist/vendor/internal/stainless-helper-header.d.ts +59 -0
  137. package/dist/vendor/internal/stainless-helper-header.js +83 -0
  138. package/dist/vendor/internal/stainless-helper-header.js.map +1 -0
  139. package/dist/vendor/internal/stream-utils.d.ts +7 -0
  140. package/dist/vendor/internal/stream-utils.js +35 -0
  141. package/dist/vendor/internal/stream-utils.js.map +1 -0
  142. package/dist/vendor/internal/to-file.d.ts +44 -0
  143. package/dist/vendor/internal/to-file.js +93 -0
  144. package/dist/vendor/internal/to-file.js.map +1 -0
  145. package/dist/vendor/internal/types.d.ts +62 -0
  146. package/dist/vendor/internal/types.js +3 -0
  147. package/dist/vendor/internal/types.js.map +1 -0
  148. package/dist/vendor/internal/uploads.d.ts +41 -0
  149. package/dist/vendor/internal/uploads.js +139 -0
  150. package/dist/vendor/internal/uploads.js.map +1 -0
  151. package/dist/vendor/internal/utils/abort.d.ts +11 -0
  152. package/dist/vendor/internal/utils/abort.js +22 -0
  153. package/dist/vendor/internal/utils/abort.js.map +1 -0
  154. package/dist/vendor/internal/utils/async-queue.d.ts +30 -0
  155. package/dist/vendor/internal/utils/async-queue.js +66 -0
  156. package/dist/vendor/internal/utils/async-queue.js.map +1 -0
  157. package/dist/vendor/internal/utils/backoff.d.ts +22 -0
  158. package/dist/vendor/internal/utils/backoff.js +36 -0
  159. package/dist/vendor/internal/utils/backoff.js.map +1 -0
  160. package/dist/vendor/internal/utils/base64.d.ts +2 -0
  161. package/dist/vendor/internal/utils/base64.js +33 -0
  162. package/dist/vendor/internal/utils/base64.js.map +1 -0
  163. package/dist/vendor/internal/utils/bytes.d.ts +3 -0
  164. package/dist/vendor/internal/utils/bytes.js +26 -0
  165. package/dist/vendor/internal/utils/bytes.js.map +1 -0
  166. package/dist/vendor/internal/utils/env.d.ts +8 -0
  167. package/dist/vendor/internal/utils/env.js +18 -0
  168. package/dist/vendor/internal/utils/env.js.map +1 -0
  169. package/dist/vendor/internal/utils/log.d.ts +46 -0
  170. package/dist/vendor/internal/utils/log.js +105 -0
  171. package/dist/vendor/internal/utils/log.js.map +1 -0
  172. package/dist/vendor/internal/utils/path.d.ts +14 -0
  173. package/dist/vendor/internal/utils/path.js +74 -0
  174. package/dist/vendor/internal/utils/path.js.map +1 -0
  175. package/dist/vendor/internal/utils/promise.d.ts +10 -0
  176. package/dist/vendor/internal/utils/promise.js +15 -0
  177. package/dist/vendor/internal/utils/promise.js.map +1 -0
  178. package/dist/vendor/internal/utils/query.d.ts +1 -0
  179. package/dist/vendor/internal/utils/query.js +6 -0
  180. package/dist/vendor/internal/utils/query.js.map +1 -0
  181. package/dist/vendor/internal/utils/sleep.d.ts +9 -0
  182. package/dist/vendor/internal/utils/sleep.js +24 -0
  183. package/dist/vendor/internal/utils/sleep.js.map +1 -0
  184. package/dist/vendor/internal/utils/time.d.ts +2 -0
  185. package/dist/vendor/internal/utils/time.js +5 -0
  186. package/dist/vendor/internal/utils/time.js.map +1 -0
  187. package/dist/vendor/internal/utils/uuid.d.ts +4 -0
  188. package/dist/vendor/internal/utils/uuid.js +15 -0
  189. package/dist/vendor/internal/utils/uuid.js.map +1 -0
  190. package/dist/vendor/internal/utils/values.d.ts +24 -0
  191. package/dist/vendor/internal/utils/values.js +106 -0
  192. package/dist/vendor/internal/utils/values.js.map +1 -0
  193. package/dist/vendor/internal/utils.d.ts +7 -0
  194. package/dist/vendor/internal/utils.js +9 -0
  195. package/dist/vendor/internal/utils.js.map +1 -0
  196. package/dist/vendor/lib/BetaMessageStream.d.ts +123 -0
  197. package/dist/vendor/lib/BetaMessageStream.js +662 -0
  198. package/dist/vendor/lib/BetaMessageStream.js.map +1 -0
  199. package/dist/vendor/lib/MessageStream.d.ts +122 -0
  200. package/dist/vendor/lib/MessageStream.js +609 -0
  201. package/dist/vendor/lib/MessageStream.js.map +1 -0
  202. package/dist/vendor/lib/beta-parser.d.ts +36 -0
  203. package/dist/vendor/lib/beta-parser.js +75 -0
  204. package/dist/vendor/lib/beta-parser.js.map +1 -0
  205. package/dist/vendor/lib/credentials/credential-chain.d.ts +38 -0
  206. package/dist/vendor/lib/credentials/credential-chain.js +208 -0
  207. package/dist/vendor/lib/credentials/credential-chain.js.map +1 -0
  208. package/dist/vendor/lib/credentials/identity-token.d.ts +10 -0
  209. package/dist/vendor/lib/credentials/identity-token.js +35 -0
  210. package/dist/vendor/lib/credentials/identity-token.js.map +1 -0
  211. package/dist/vendor/lib/credentials/oidc-federation.d.ts +39 -0
  212. package/dist/vendor/lib/credentials/oidc-federation.js +79 -0
  213. package/dist/vendor/lib/credentials/oidc-federation.js.map +1 -0
  214. package/dist/vendor/lib/credentials/token-cache.d.ts +53 -0
  215. package/dist/vendor/lib/credentials/token-cache.js +110 -0
  216. package/dist/vendor/lib/credentials/token-cache.js.map +1 -0
  217. package/dist/vendor/lib/credentials/types.d.ts +95 -0
  218. package/dist/vendor/lib/credentials/types.js +226 -0
  219. package/dist/vendor/lib/credentials/types.js.map +1 -0
  220. package/dist/vendor/lib/credentials/user-oauth.d.ts +20 -0
  221. package/dist/vendor/lib/credentials/user-oauth.js +94 -0
  222. package/dist/vendor/lib/credentials/user-oauth.js.map +1 -0
  223. package/dist/vendor/lib/credentials.d.ts +3 -0
  224. package/dist/vendor/lib/credentials.js +3 -0
  225. package/dist/vendor/lib/credentials.js.map +1 -0
  226. package/dist/vendor/lib/environments/index.d.ts +3 -0
  227. package/dist/vendor/lib/environments/index.js +4 -0
  228. package/dist/vendor/lib/environments/index.js.map +1 -0
  229. package/dist/vendor/lib/environments/poller.d.ts +94 -0
  230. package/dist/vendor/lib/environments/poller.js +218 -0
  231. package/dist/vendor/lib/environments/poller.js.map +1 -0
  232. package/dist/vendor/lib/environments/worker.d.ts +226 -0
  233. package/dist/vendor/lib/environments/worker.js +572 -0
  234. package/dist/vendor/lib/environments/worker.js.map +1 -0
  235. package/dist/vendor/lib/helper-client.d.ts +30 -0
  236. package/dist/vendor/lib/helper-client.js +55 -0
  237. package/dist/vendor/lib/helper-client.js.map +1 -0
  238. package/dist/vendor/lib/middleware.d.ts +97 -0
  239. package/dist/vendor/lib/middleware.js +775 -0
  240. package/dist/vendor/lib/middleware.js.map +1 -0
  241. package/dist/vendor/lib/parser.d.ts +31 -0
  242. package/dist/vendor/lib/parser.js +62 -0
  243. package/dist/vendor/lib/parser.js.map +1 -0
  244. package/dist/vendor/lib/sessions/accumulate.d.ts +22 -0
  245. package/dist/vendor/lib/sessions/accumulate.js +42 -0
  246. package/dist/vendor/lib/sessions/accumulate.js.map +1 -0
  247. package/dist/vendor/lib/standard-schema.d.ts +130 -0
  248. package/dist/vendor/lib/standard-schema.js +41 -0
  249. package/dist/vendor/lib/standard-schema.js.map +1 -0
  250. package/dist/vendor/lib/tools/BetaRunnableTool.d.ts +48 -0
  251. package/dist/vendor/lib/tools/BetaRunnableTool.js +26 -0
  252. package/dist/vendor/lib/tools/BetaRunnableTool.js.map +1 -0
  253. package/dist/vendor/lib/tools/BetaToolRunner.d.ts +160 -0
  254. package/dist/vendor/lib/tools/BetaToolRunner.js +497 -0
  255. package/dist/vendor/lib/tools/BetaToolRunner.js.map +1 -0
  256. package/dist/vendor/lib/tools/CompactionControl.d.ts +29 -0
  257. package/dist/vendor/lib/tools/CompactionControl.js +25 -0
  258. package/dist/vendor/lib/tools/CompactionControl.js.map +1 -0
  259. package/dist/vendor/lib/tools/SessionToolRunner.d.ts +178 -0
  260. package/dist/vendor/lib/tools/SessionToolRunner.js +737 -0
  261. package/dist/vendor/lib/tools/SessionToolRunner.js.map +1 -0
  262. package/dist/vendor/lib/tools/ToolError.d.ts +32 -0
  263. package/dist/vendor/lib/tools/ToolError.js +43 -0
  264. package/dist/vendor/lib/tools/ToolError.js.map +1 -0
  265. package/dist/vendor/lib/transform-json-schema.d.ts +2 -0
  266. package/dist/vendor/lib/transform-json-schema.js +111 -0
  267. package/dist/vendor/lib/transform-json-schema.js.map +1 -0
  268. package/dist/vendor/pagination.d.ts +2 -0
  269. package/dist/vendor/pagination.js +3 -0
  270. package/dist/vendor/pagination.js.map +1 -0
  271. package/dist/vendor/resource.d.ts +2 -0
  272. package/dist/vendor/resource.js +3 -0
  273. package/dist/vendor/resource.js.map +1 -0
  274. package/dist/vendor/resources/beta/agents/agents.d.ts +1128 -0
  275. package/dist/vendor/resources/beta/agents/agents.js +123 -0
  276. package/dist/vendor/resources/beta/agents/agents.js.map +1 -0
  277. package/dist/vendor/resources/beta/agents/index.d.ts +2 -0
  278. package/dist/vendor/resources/beta/agents/index.js +4 -0
  279. package/dist/vendor/resources/beta/agents/index.js.map +1 -0
  280. package/dist/vendor/resources/beta/agents/versions.d.ts +32 -0
  281. package/dist/vendor/resources/beta/agents/versions.js +32 -0
  282. package/dist/vendor/resources/beta/agents/versions.js.map +1 -0
  283. package/dist/vendor/resources/beta/agents.d.ts +1 -0
  284. package/dist/vendor/resources/beta/agents.js +3 -0
  285. package/dist/vendor/resources/beta/agents.js.map +1 -0
  286. package/dist/vendor/resources/beta/beta.d.ts +131 -0
  287. package/dist/vendor/resources/beta/beta.js +69 -0
  288. package/dist/vendor/resources/beta/beta.js.map +1 -0
  289. package/dist/vendor/resources/beta/deployment-runs.d.ts +305 -0
  290. package/dist/vendor/resources/beta/deployment-runs.js +51 -0
  291. package/dist/vendor/resources/beta/deployment-runs.js.map +1 -0
  292. package/dist/vendor/resources/beta/deployments.d.ts +698 -0
  293. package/dist/vendor/resources/beta/deployments.js +192 -0
  294. package/dist/vendor/resources/beta/deployments.js.map +1 -0
  295. package/dist/vendor/resources/beta/dreams.d.ts +335 -0
  296. package/dist/vendor/resources/beta/dreams.js +112 -0
  297. package/dist/vendor/resources/beta/dreams.js.map +1 -0
  298. package/dist/vendor/resources/beta/environments/environments.d.ts +432 -0
  299. package/dist/vendor/resources/beta/environments/environments.js +142 -0
  300. package/dist/vendor/resources/beta/environments/environments.js.map +1 -0
  301. package/dist/vendor/resources/beta/environments/index.d.ts +2 -0
  302. package/dist/vendor/resources/beta/environments/index.js +4 -0
  303. package/dist/vendor/resources/beta/environments/index.js.map +1 -0
  304. package/dist/vendor/resources/beta/environments/work.d.ts +500 -0
  305. package/dist/vendor/resources/beta/environments/work.js +251 -0
  306. package/dist/vendor/resources/beta/environments/work.js.map +1 -0
  307. package/dist/vendor/resources/beta/environments.d.ts +1 -0
  308. package/dist/vendor/resources/beta/environments.js +3 -0
  309. package/dist/vendor/resources/beta/environments.js.map +1 -0
  310. package/dist/vendor/resources/beta/files.d.ts +190 -0
  311. package/dist/vendor/resources/beta/files.js +120 -0
  312. package/dist/vendor/resources/beta/files.js.map +1 -0
  313. package/dist/vendor/resources/beta/index.d.ts +17 -0
  314. package/dist/vendor/resources/beta/index.js +19 -0
  315. package/dist/vendor/resources/beta/index.js.map +1 -0
  316. package/dist/vendor/resources/beta/memory-stores/index.d.ts +3 -0
  317. package/dist/vendor/resources/beta/memory-stores/index.js +5 -0
  318. package/dist/vendor/resources/beta/memory-stores/index.js.map +1 -0
  319. package/dist/vendor/resources/beta/memory-stores/memories.d.ts +346 -0
  320. package/dist/vendor/resources/beta/memory-stores/memories.js +126 -0
  321. package/dist/vendor/resources/beta/memory-stores/memories.js.map +1 -0
  322. package/dist/vendor/resources/beta/memory-stores/memory-stores.d.ts +230 -0
  323. package/dist/vendor/resources/beta/memory-stores/memory-stores.js +137 -0
  324. package/dist/vendor/resources/beta/memory-stores/memory-stores.js.map +1 -0
  325. package/dist/vendor/resources/beta/memory-stores/memory-versions.d.ts +252 -0
  326. package/dist/vendor/resources/beta/memory-stores/memory-versions.js +77 -0
  327. package/dist/vendor/resources/beta/memory-stores/memory-versions.js.map +1 -0
  328. package/dist/vendor/resources/beta/memory-stores.d.ts +1 -0
  329. package/dist/vendor/resources/beta/memory-stores.js +3 -0
  330. package/dist/vendor/resources/beta/memory-stores.js.map +1 -0
  331. package/dist/vendor/resources/beta/messages/batches.d.ts +685 -0
  332. package/dist/vendor/resources/beta/messages/batches.js +203 -0
  333. package/dist/vendor/resources/beta/messages/batches.js.map +1 -0
  334. package/dist/vendor/resources/beta/messages/index.d.ts +3 -0
  335. package/dist/vendor/resources/beta/messages/index.js +5 -0
  336. package/dist/vendor/resources/beta/messages/index.js.map +1 -0
  337. package/dist/vendor/resources/beta/messages/messages.d.ts +5376 -0
  338. package/dist/vendor/resources/beta/messages/messages.js +158 -0
  339. package/dist/vendor/resources/beta/messages/messages.js.map +1 -0
  340. package/dist/vendor/resources/beta/messages.d.ts +1 -0
  341. package/dist/vendor/resources/beta/messages.js +3 -0
  342. package/dist/vendor/resources/beta/messages.js.map +1 -0
  343. package/dist/vendor/resources/beta/models.d.ts +217 -0
  344. package/dist/vendor/resources/beta/models.js +56 -0
  345. package/dist/vendor/resources/beta/models.js.map +1 -0
  346. package/dist/vendor/resources/beta/organization/api-keys.d.ts +176 -0
  347. package/dist/vendor/resources/beta/organization/api-keys.js +52 -0
  348. package/dist/vendor/resources/beta/organization/api-keys.js.map +1 -0
  349. package/dist/vendor/resources/beta/organization/compliance-settings.d.ts +73 -0
  350. package/dist/vendor/resources/beta/organization/compliance-settings.js +48 -0
  351. package/dist/vendor/resources/beta/organization/compliance-settings.js.map +1 -0
  352. package/dist/vendor/resources/beta/organization/external-keys.d.ts +271 -0
  353. package/dist/vendor/resources/beta/organization/external-keys.js +115 -0
  354. package/dist/vendor/resources/beta/organization/external-keys.js.map +1 -0
  355. package/dist/vendor/resources/beta/organization/federation/federation.d.ts +13 -0
  356. package/dist/vendor/resources/beta/organization/federation/federation.js +13 -0
  357. package/dist/vendor/resources/beta/organization/federation/federation.js.map +1 -0
  358. package/dist/vendor/resources/beta/organization/federation/index.d.ts +3 -0
  359. package/dist/vendor/resources/beta/organization/federation/index.js +5 -0
  360. package/dist/vendor/resources/beta/organization/federation/index.js.map +1 -0
  361. package/dist/vendor/resources/beta/organization/federation/issuers.d.ts +352 -0
  362. package/dist/vendor/resources/beta/organization/federation/issuers.js +165 -0
  363. package/dist/vendor/resources/beta/organization/federation/issuers.js.map +1 -0
  364. package/dist/vendor/resources/beta/organization/federation/rules/index.d.ts +2 -0
  365. package/dist/vendor/resources/beta/organization/federation/rules/index.js +4 -0
  366. package/dist/vendor/resources/beta/organization/federation/rules/index.js.map +1 -0
  367. package/dist/vendor/resources/beta/organization/federation/rules/rules.d.ts +467 -0
  368. package/dist/vendor/resources/beta/organization/federation/rules/rules.js +190 -0
  369. package/dist/vendor/resources/beta/organization/federation/rules/rules.js.map +1 -0
  370. package/dist/vendor/resources/beta/organization/federation/rules/workspaces.d.ts +123 -0
  371. package/dist/vendor/resources/beta/organization/federation/rules/workspaces.js +110 -0
  372. package/dist/vendor/resources/beta/organization/federation/rules/workspaces.js.map +1 -0
  373. package/dist/vendor/resources/beta/organization/federation/rules.d.ts +1 -0
  374. package/dist/vendor/resources/beta/organization/federation/rules.js +3 -0
  375. package/dist/vendor/resources/beta/organization/federation/rules.js.map +1 -0
  376. package/dist/vendor/resources/beta/organization/federation.d.ts +1 -0
  377. package/dist/vendor/resources/beta/organization/federation.js +3 -0
  378. package/dist/vendor/resources/beta/organization/federation.js.map +1 -0
  379. package/dist/vendor/resources/beta/organization/index.d.ts +10 -0
  380. package/dist/vendor/resources/beta/organization/index.js +12 -0
  381. package/dist/vendor/resources/beta/organization/index.js.map +1 -0
  382. package/dist/vendor/resources/beta/organization/invites.d.ts +161 -0
  383. package/dist/vendor/resources/beta/organization/invites.js +72 -0
  384. package/dist/vendor/resources/beta/organization/invites.js.map +1 -0
  385. package/dist/vendor/resources/beta/organization/organization.d.ts +72 -0
  386. package/dist/vendor/resources/beta/organization/organization.js +54 -0
  387. package/dist/vendor/resources/beta/organization/organization.js.map +1 -0
  388. package/dist/vendor/resources/beta/organization/rate-limits.d.ts +76 -0
  389. package/dist/vendor/resources/beta/organization/rate-limits.js +27 -0
  390. package/dist/vendor/resources/beta/organization/rate-limits.js.map +1 -0
  391. package/dist/vendor/resources/beta/organization/service-accounts/index.d.ts +2 -0
  392. package/dist/vendor/resources/beta/organization/service-accounts/index.js +4 -0
  393. package/dist/vendor/resources/beta/organization/service-accounts/index.js.map +1 -0
  394. package/dist/vendor/resources/beta/organization/service-accounts/service-accounts.d.ts +257 -0
  395. package/dist/vendor/resources/beta/organization/service-accounts/service-accounts.js +166 -0
  396. package/dist/vendor/resources/beta/organization/service-accounts/service-accounts.js.map +1 -0
  397. package/dist/vendor/resources/beta/organization/service-accounts/workspaces.d.ts +140 -0
  398. package/dist/vendor/resources/beta/organization/service-accounts/workspaces.js +121 -0
  399. package/dist/vendor/resources/beta/organization/service-accounts/workspaces.js.map +1 -0
  400. package/dist/vendor/resources/beta/organization/service-accounts.d.ts +1 -0
  401. package/dist/vendor/resources/beta/organization/service-accounts.js +3 -0
  402. package/dist/vendor/resources/beta/organization/service-accounts.js.map +1 -0
  403. package/dist/vendor/resources/beta/organization/users.d.ts +123 -0
  404. package/dist/vendor/resources/beta/organization/users.js +63 -0
  405. package/dist/vendor/resources/beta/organization/users.js.map +1 -0
  406. package/dist/vendor/resources/beta/organization/workspaces/index.d.ts +4 -0
  407. package/dist/vendor/resources/beta/organization/workspaces/index.js +6 -0
  408. package/dist/vendor/resources/beta/organization/workspaces/index.js.map +1 -0
  409. package/dist/vendor/resources/beta/organization/workspaces/members.d.ts +134 -0
  410. package/dist/vendor/resources/beta/organization/workspaces/members.js +98 -0
  411. package/dist/vendor/resources/beta/organization/workspaces/members.js.map +1 -0
  412. package/dist/vendor/resources/beta/organization/workspaces/rate-limits.d.ts +82 -0
  413. package/dist/vendor/resources/beta/organization/workspaces/rate-limits.js +30 -0
  414. package/dist/vendor/resources/beta/organization/workspaces/rate-limits.js.map +1 -0
  415. package/dist/vendor/resources/beta/organization/workspaces/service-accounts.d.ts +209 -0
  416. package/dist/vendor/resources/beta/organization/workspaces/service-accounts.js +185 -0
  417. package/dist/vendor/resources/beta/organization/workspaces/service-accounts.js.map +1 -0
  418. package/dist/vendor/resources/beta/organization/workspaces/workspaces.d.ts +302 -0
  419. package/dist/vendor/resources/beta/organization/workspaces/workspaces.js +104 -0
  420. package/dist/vendor/resources/beta/organization/workspaces/workspaces.js.map +1 -0
  421. package/dist/vendor/resources/beta/organization/workspaces.d.ts +1 -0
  422. package/dist/vendor/resources/beta/organization/workspaces.js +3 -0
  423. package/dist/vendor/resources/beta/organization/workspaces.js.map +1 -0
  424. package/dist/vendor/resources/beta/organization.d.ts +1 -0
  425. package/dist/vendor/resources/beta/organization.js +3 -0
  426. package/dist/vendor/resources/beta/organization.js.map +1 -0
  427. package/dist/vendor/resources/beta/sessions/events.d.ts +1513 -0
  428. package/dist/vendor/resources/beta/sessions/events.js +115 -0
  429. package/dist/vendor/resources/beta/sessions/events.js.map +1 -0
  430. package/dist/vendor/resources/beta/sessions/index.d.ts +4 -0
  431. package/dist/vendor/resources/beta/sessions/index.js +6 -0
  432. package/dist/vendor/resources/beta/sessions/index.js.map +1 -0
  433. package/dist/vendor/resources/beta/sessions/resources.d.ts +227 -0
  434. package/dist/vendor/resources/beta/sessions/resources.js +128 -0
  435. package/dist/vendor/resources/beta/sessions/resources.js.map +1 -0
  436. package/dist/vendor/resources/beta/sessions/sessions.d.ts +866 -0
  437. package/dist/vendor/resources/beta/sessions/sessions.js +150 -0
  438. package/dist/vendor/resources/beta/sessions/sessions.js.map +1 -0
  439. package/dist/vendor/resources/beta/sessions/threads/events.d.ts +77 -0
  440. package/dist/vendor/resources/beta/sessions/threads/events.js +57 -0
  441. package/dist/vendor/resources/beta/sessions/threads/events.js.map +1 -0
  442. package/dist/vendor/resources/beta/sessions/threads/index.d.ts +2 -0
  443. package/dist/vendor/resources/beta/sessions/threads/index.js +4 -0
  444. package/dist/vendor/resources/beta/sessions/threads/index.js.map +1 -0
  445. package/dist/vendor/resources/beta/sessions/threads/threads.d.ts +195 -0
  446. package/dist/vendor/resources/beta/sessions/threads/threads.js +80 -0
  447. package/dist/vendor/resources/beta/sessions/threads/threads.js.map +1 -0
  448. package/dist/vendor/resources/beta/sessions/threads.d.ts +1 -0
  449. package/dist/vendor/resources/beta/sessions/threads.js +3 -0
  450. package/dist/vendor/resources/beta/sessions/threads.js.map +1 -0
  451. package/dist/vendor/resources/beta/sessions.d.ts +1 -0
  452. package/dist/vendor/resources/beta/sessions.js +3 -0
  453. package/dist/vendor/resources/beta/sessions.js.map +1 -0
  454. package/dist/vendor/resources/beta/skills/index.d.ts +2 -0
  455. package/dist/vendor/resources/beta/skills/index.js +4 -0
  456. package/dist/vendor/resources/beta/skills/index.js.map +1 -0
  457. package/dist/vendor/resources/beta/skills/skills.d.ts +178 -0
  458. package/dist/vendor/resources/beta/skills/skills.js +96 -0
  459. package/dist/vendor/resources/beta/skills/skills.js.map +1 -0
  460. package/dist/vendor/resources/beta/skills/versions.d.ts +181 -0
  461. package/dist/vendor/resources/beta/skills/versions.js +125 -0
  462. package/dist/vendor/resources/beta/skills/versions.js.map +1 -0
  463. package/dist/vendor/resources/beta/skills.d.ts +1 -0
  464. package/dist/vendor/resources/beta/skills.js +3 -0
  465. package/dist/vendor/resources/beta/skills.js.map +1 -0
  466. package/dist/vendor/resources/beta/tunnels/certificates.d.ts +162 -0
  467. package/dist/vendor/resources/beta/tunnels/certificates.js +125 -0
  468. package/dist/vendor/resources/beta/tunnels/certificates.js.map +1 -0
  469. package/dist/vendor/resources/beta/tunnels/index.d.ts +2 -0
  470. package/dist/vendor/resources/beta/tunnels/index.js +4 -0
  471. package/dist/vendor/resources/beta/tunnels/index.js.map +1 -0
  472. package/dist/vendor/resources/beta/tunnels/tunnels.d.ts +211 -0
  473. package/dist/vendor/resources/beta/tunnels/tunnels.js +173 -0
  474. package/dist/vendor/resources/beta/tunnels/tunnels.js.map +1 -0
  475. package/dist/vendor/resources/beta/tunnels.d.ts +1 -0
  476. package/dist/vendor/resources/beta/tunnels.js +3 -0
  477. package/dist/vendor/resources/beta/tunnels.js.map +1 -0
  478. package/dist/vendor/resources/beta/user-profiles.d.ts +244 -0
  479. package/dist/vendor/resources/beta/user-profiles.js +114 -0
  480. package/dist/vendor/resources/beta/user-profiles.js.map +1 -0
  481. package/dist/vendor/resources/beta/vaults/credentials.d.ts +715 -0
  482. package/dist/vendor/resources/beta/vaults/credentials.js +173 -0
  483. package/dist/vendor/resources/beta/vaults/credentials.js.map +1 -0
  484. package/dist/vendor/resources/beta/vaults/index.d.ts +2 -0
  485. package/dist/vendor/resources/beta/vaults/index.js +4 -0
  486. package/dist/vendor/resources/beta/vaults/index.js.map +1 -0
  487. package/dist/vendor/resources/beta/vaults/vaults.d.ts +191 -0
  488. package/dist/vendor/resources/beta/vaults/vaults.js +141 -0
  489. package/dist/vendor/resources/beta/vaults/vaults.js.map +1 -0
  490. package/dist/vendor/resources/beta/vaults.d.ts +1 -0
  491. package/dist/vendor/resources/beta/vaults.js +3 -0
  492. package/dist/vendor/resources/beta/vaults.js.map +1 -0
  493. package/dist/vendor/resources/beta/webhooks.d.ts +464 -0
  494. package/dist/vendor/resources/beta/webhooks.js +29 -0
  495. package/dist/vendor/resources/beta/webhooks.js.map +1 -0
  496. package/dist/vendor/resources/beta.d.ts +1 -0
  497. package/dist/vendor/resources/beta.js +3 -0
  498. package/dist/vendor/resources/beta.js.map +1 -0
  499. package/dist/vendor/resources/completions.d.ts +172 -0
  500. package/dist/vendor/resources/completions.js +19 -0
  501. package/dist/vendor/resources/completions.js.map +1 -0
  502. package/dist/vendor/resources/files.d.ts +104 -0
  503. package/dist/vendor/resources/files.js +48 -0
  504. package/dist/vendor/resources/files.js.map +1 -0
  505. package/dist/vendor/resources/index.d.ts +7 -0
  506. package/dist/vendor/resources/index.js +9 -0
  507. package/dist/vendor/resources/index.js.map +1 -0
  508. package/dist/vendor/resources/messages/batches.d.ts +312 -0
  509. package/dist/vendor/resources/messages/batches.js +157 -0
  510. package/dist/vendor/resources/messages/batches.js.map +1 -0
  511. package/dist/vendor/resources/messages/index.d.ts +2 -0
  512. package/dist/vendor/resources/messages/index.js +4 -0
  513. package/dist/vendor/resources/messages/index.js.map +1 -0
  514. package/dist/vendor/resources/messages/messages.d.ts +3886 -0
  515. package/dist/vendor/resources/messages/messages.js +130 -0
  516. package/dist/vendor/resources/messages/messages.js.map +1 -0
  517. package/dist/vendor/resources/messages.d.ts +1 -0
  518. package/dist/vendor/resources/messages.js +3 -0
  519. package/dist/vendor/resources/messages.js.map +1 -0
  520. package/dist/vendor/resources/models.d.ts +196 -0
  521. package/dist/vendor/resources/models.js +41 -0
  522. package/dist/vendor/resources/models.js.map +1 -0
  523. package/dist/vendor/resources/shared.d.ts +43 -0
  524. package/dist/vendor/resources/shared.js +3 -0
  525. package/dist/vendor/resources/shared.js.map +1 -0
  526. package/dist/vendor/resources/skills/index.d.ts +2 -0
  527. package/dist/vendor/resources/skills/index.js +4 -0
  528. package/dist/vendor/resources/skills/index.js.map +1 -0
  529. package/dist/vendor/resources/skills/skills.d.ts +128 -0
  530. package/dist/vendor/resources/skills/skills.js +36 -0
  531. package/dist/vendor/resources/skills/skills.js.map +1 -0
  532. package/dist/vendor/resources/skills/versions.d.ts +103 -0
  533. package/dist/vendor/resources/skills/versions.js +37 -0
  534. package/dist/vendor/resources/skills/versions.js.map +1 -0
  535. package/dist/vendor/resources/skills.d.ts +1 -0
  536. package/dist/vendor/resources/skills.js +3 -0
  537. package/dist/vendor/resources/skills.js.map +1 -0
  538. package/dist/vendor/resources/top-level.d.ts +1 -0
  539. package/dist/vendor/resources/top-level.js +3 -0
  540. package/dist/vendor/resources/top-level.js.map +1 -0
  541. package/dist/vendor/resources.d.ts +1 -0
  542. package/dist/vendor/resources.js +2 -0
  543. package/dist/vendor/resources.js.map +1 -0
  544. package/dist/vendor/streaming.d.ts +2 -0
  545. package/dist/vendor/streaming.js +3 -0
  546. package/dist/vendor/streaming.js.map +1 -0
  547. package/dist/vendor/tools/agent-toolset/fs-util.d.ts +74 -0
  548. package/dist/vendor/tools/agent-toolset/fs-util.js +184 -0
  549. package/dist/vendor/tools/agent-toolset/fs-util.js.map +1 -0
  550. package/dist/vendor/tools/agent-toolset/memories.d.ts +172 -0
  551. package/dist/vendor/tools/agent-toolset/memories.js +910 -0
  552. package/dist/vendor/tools/agent-toolset/memories.js.map +1 -0
  553. package/dist/vendor/tools/agent-toolset/node.browser.d.ts +80 -0
  554. package/dist/vendor/tools/agent-toolset/node.browser.js +129 -0
  555. package/dist/vendor/tools/agent-toolset/node.browser.js.map +1 -0
  556. package/dist/vendor/tools/agent-toolset/node.d.ts +191 -0
  557. package/dist/vendor/tools/agent-toolset/node.js +886 -0
  558. package/dist/vendor/tools/agent-toolset/node.js.map +1 -0
  559. package/dist/vendor/tools/agent-toolset/skills.d.ts +73 -0
  560. package/dist/vendor/tools/agent-toolset/skills.js +320 -0
  561. package/dist/vendor/tools/agent-toolset/skills.js.map +1 -0
  562. package/dist/vendor/tools/agent-toolset/sync-interval.d.ts +18 -0
  563. package/dist/vendor/tools/agent-toolset/sync-interval.js +25 -0
  564. package/dist/vendor/tools/agent-toolset/sync-interval.js.map +1 -0
  565. package/dist/vendor/tools/memory/node.browser.d.ts +26 -0
  566. package/dist/vendor/tools/memory/node.browser.js +44 -0
  567. package/dist/vendor/tools/memory/node.browser.js.map +1 -0
  568. package/dist/vendor/tools/memory/node.d.ts +17 -0
  569. package/dist/vendor/tools/memory/node.js +327 -0
  570. package/dist/vendor/tools/memory/node.js.map +1 -0
  571. package/dist/vendor/uploads.d.ts +2 -0
  572. package/dist/vendor/uploads.js +3 -0
  573. package/dist/vendor/uploads.js.map +1 -0
  574. package/dist/vendor/version.d.ts +1 -0
  575. package/dist/vendor/version.js +2 -0
  576. package/dist/vendor/version.js.map +1 -0
  577. package/package.json +7 -14
  578. package/sdk.cjs +2 -2
  579. package/sdk.cjs.map +2 -2
  580. package/sdk.d.ts +1 -1
  581. package/sdk.mjs +2 -2
  582. package/sdk.mjs.map +3 -3
@@ -0,0 +1,497 @@
1
+ import { ToolError } from './ToolError.js';
2
+ import { PukuError } from '../../core/error.js';
3
+ import { buildHeaders } from '../../internal/headers.js';
4
+ import { promiseWithResolvers } from '../../internal/utils/promise.js';
5
+ import { checkNever } from '../../internal/utils/values.js';
6
+ import { DEFAULT_SUMMARY_PROMPT, DEFAULT_TOKEN_THRESHOLD } from './CompactionControl.js';
7
+ import { collectStainlessHelpers, helperHeader, STAINLESS_HELPER_HEADER, } from '../../internal/stainless-helper-header.js';
8
+ /**
9
+ * A ToolRunner handles the automatic conversation loop between the assistant and tools.
10
+ *
11
+ * A ToolRunner is an async iterable that yields either BetaMessage or BetaMessageStream objects
12
+ * depending on the streaming configuration.
13
+ */
14
+ export class BetaToolRunner {
15
+ client;
16
+ /** Whether the async iterator has been consumed */
17
+ #consumed = false;
18
+ /** Whether parameters have been mutated since the last API call */
19
+ #mutated = false;
20
+ /** Current state containing the request parameters */
21
+ #state;
22
+ #options;
23
+ /** Promise for the last message received from the assistant */
24
+ #message;
25
+ /** Cached tool response to avoid redundant executions */
26
+ #toolResponse;
27
+ /** Promise resolvers for waiting on completion */
28
+ #completion;
29
+ /** Number of iterations (API requests) made so far */
30
+ #iterationCount = 0;
31
+ constructor(client, params, options) {
32
+ this.client = client;
33
+ this.#state = {
34
+ params: {
35
+ // You can't clone the entire params since there are functions as handlers.
36
+ // You also don't really need to clone params.messages, but it probably will prevent a foot gun
37
+ // somewhere.
38
+ ...params,
39
+ messages: structuredClone(params.messages),
40
+ },
41
+ };
42
+ // structuredClone drops symbol-keyed properties, so collect helper marks
43
+ // from the original params here — the create()-side collector won't see
44
+ // them on the cloned messages.
45
+ const collected = collectStainlessHelpers(params.tools, params.messages);
46
+ this.#options = {
47
+ ...options,
48
+ headers: buildHeaders([
49
+ helperHeader('BetaToolRunner'),
50
+ collected.length ? { [STAINLESS_HELPER_HEADER]: collected.join(', ') } : undefined,
51
+ options?.headers,
52
+ ]),
53
+ };
54
+ this.#completion = promiseWithResolvers();
55
+ if (params.compactionControl?.enabled) {
56
+ console.warn('Puku: The `compactionControl` parameter is deprecated and will be removed in a future version. ' +
57
+ 'Use server-side compaction instead by passing `edits: [{ type: "compact_20260112" }]` in the params passed to `toolRunner()`. ' +
58
+ 'See https://puku.sh/docs/');
59
+ }
60
+ }
61
+ async #checkAndCompact() {
62
+ const compactionControl = this.#state.params.compactionControl;
63
+ if (!compactionControl || !compactionControl.enabled) {
64
+ return false;
65
+ }
66
+ let tokensUsed = 0;
67
+ if (this.#message !== undefined) {
68
+ try {
69
+ const message = await this.#message;
70
+ const totalInputTokens = message.usage.input_tokens +
71
+ (message.usage.cache_creation_input_tokens ?? 0) +
72
+ (message.usage.cache_read_input_tokens ?? 0);
73
+ tokensUsed = totalInputTokens + message.usage.output_tokens;
74
+ }
75
+ catch {
76
+ // If we can't get the message, skip compaction
77
+ return false;
78
+ }
79
+ }
80
+ const threshold = compactionControl.contextTokenThreshold ?? DEFAULT_TOKEN_THRESHOLD;
81
+ if (tokensUsed < threshold) {
82
+ return false;
83
+ }
84
+ const model = compactionControl.model ?? this.#state.params.model;
85
+ const summaryPrompt = compactionControl.summaryPrompt ?? DEFAULT_SUMMARY_PROMPT;
86
+ const messages = this.#state.params.messages;
87
+ if (messages[messages.length - 1].role === 'assistant') {
88
+ // Remove tool_use blocks from the last message to avoid 400 error
89
+ // (tool_use requires tool_result, which we don't have yet)
90
+ const lastMessage = messages[messages.length - 1];
91
+ if (Array.isArray(lastMessage.content)) {
92
+ const nonToolBlocks = lastMessage.content.filter((block) => block.type !== 'tool_use');
93
+ if (nonToolBlocks.length === 0) {
94
+ // If all blocks were tool_use, just remove the message entirely
95
+ messages.pop();
96
+ }
97
+ else {
98
+ lastMessage.content = nonToolBlocks;
99
+ }
100
+ }
101
+ }
102
+ const response = await this.client.beta.messages.create({
103
+ model,
104
+ messages: [
105
+ ...messages,
106
+ {
107
+ role: 'user',
108
+ content: [
109
+ {
110
+ type: 'text',
111
+ text: summaryPrompt,
112
+ },
113
+ ],
114
+ },
115
+ ],
116
+ max_tokens: this.#state.params.max_tokens,
117
+ }, {
118
+ signal: this.#options.signal,
119
+ headers: buildHeaders([this.#options.headers, helperHeader('compaction')]),
120
+ });
121
+ if (response.content[0]?.type !== 'text') {
122
+ throw new PukuError('Expected text response for compaction');
123
+ }
124
+ this.#state.params.messages = [
125
+ {
126
+ role: 'user',
127
+ content: response.content,
128
+ },
129
+ ];
130
+ return true;
131
+ }
132
+ async *[Symbol.asyncIterator]() {
133
+ if (this.#consumed) {
134
+ throw new PukuError('Cannot iterate over a consumed stream');
135
+ }
136
+ this.#consumed = true;
137
+ this.#mutated = true;
138
+ this.#toolResponse = undefined;
139
+ try {
140
+ while (true) {
141
+ let stream;
142
+ try {
143
+ if (this.#state.params.max_iterations &&
144
+ this.#iterationCount >= this.#state.params.max_iterations) {
145
+ break;
146
+ }
147
+ this.#mutated = false;
148
+ this.#toolResponse = undefined;
149
+ this.#iterationCount++;
150
+ this.#message = undefined;
151
+ const { max_iterations, compactionControl, ...params } = this.#state.params;
152
+ if (params.stream) {
153
+ stream = this.client.beta.messages.stream({ ...params }, this.#options);
154
+ this.#message = stream.finalMessage();
155
+ // Make sure that this promise doesn't throw before we get the option to do something about it.
156
+ // Error will be caught when we call await this.#message ultimately
157
+ this.#message.catch(() => { });
158
+ yield stream;
159
+ }
160
+ else {
161
+ this.#message = this.client.beta.messages.create({ ...params, stream: false }, this.#options);
162
+ yield this.#message;
163
+ }
164
+ const isCompacted = await this.#checkAndCompact();
165
+ if (!isCompacted) {
166
+ if (!this.#mutated) {
167
+ const message = await this.#message;
168
+ const nextStep = determineNextStepFromStopReason(message.stop_reason);
169
+ this.#state.params.messages.push({ role: message.role, content: message.content });
170
+ // Container-bound server tools reject a follow-up request that omits the container the
171
+ // previous turn ran in, so carry its id forward unless the caller pinned one themselves.
172
+ const { container } = this.#state.params;
173
+ if (message.container) {
174
+ if (container == null) {
175
+ this.#state.params.container = message.container.id;
176
+ }
177
+ else if (typeof container === 'object' && container.id == null) {
178
+ this.#state.params.container = { ...container, id: message.container.id };
179
+ }
180
+ }
181
+ if (nextStep === 'stop') {
182
+ break;
183
+ }
184
+ if (nextStep === 'resume') {
185
+ continue;
186
+ }
187
+ }
188
+ const toolMessage = await this.#generateToolResponse(this.#state.params.messages.at(-1));
189
+ if (toolMessage) {
190
+ this.#state.params.messages.push(toolMessage);
191
+ }
192
+ else if (!this.#mutated) {
193
+ break;
194
+ }
195
+ }
196
+ }
197
+ finally {
198
+ if (stream) {
199
+ stream.abort();
200
+ }
201
+ }
202
+ }
203
+ if (!this.#message) {
204
+ throw new PukuError('ToolRunner concluded without a message from the server');
205
+ }
206
+ this.#completion.resolve(await this.#message);
207
+ }
208
+ catch (error) {
209
+ this.#consumed = false;
210
+ // Silence unhandled promise errors
211
+ this.#completion.promise.catch(() => { });
212
+ this.#completion.reject(error);
213
+ this.#completion = promiseWithResolvers();
214
+ throw error;
215
+ }
216
+ }
217
+ setMessagesParams(paramsOrMutator) {
218
+ if (typeof paramsOrMutator === 'function') {
219
+ this.#state.params = paramsOrMutator(this.#state.params);
220
+ }
221
+ else {
222
+ this.#state.params = paramsOrMutator;
223
+ }
224
+ this.#mutated = true;
225
+ // Invalidate cached tool response since parameters changed
226
+ this.#toolResponse = undefined;
227
+ }
228
+ setRequestOptions(optionsOrMutator) {
229
+ if (typeof optionsOrMutator === 'function') {
230
+ this.#options = optionsOrMutator(this.#options);
231
+ }
232
+ else {
233
+ this.#options = { ...this.#options, ...optionsOrMutator };
234
+ }
235
+ }
236
+ /**
237
+ * Get the tool response for the last message from the assistant.
238
+ * Avoids redundant tool executions by caching results.
239
+ *
240
+ * @returns A promise that resolves to a BetaMessageParam containing tool results, or null if no tools need to be executed
241
+ *
242
+ * @example
243
+ * const toolResponse = await runner.generateToolResponse();
244
+ * if (toolResponse) {
245
+ * console.log('Tool results:', toolResponse.content);
246
+ * }
247
+ */
248
+ async generateToolResponse(signal = this.#options.signal) {
249
+ const message = (await this.#message) ?? this.params.messages.at(-1);
250
+ if (!message) {
251
+ return null;
252
+ }
253
+ return this.#generateToolResponse(message, signal);
254
+ }
255
+ async #generateToolResponse(lastMessage, signal = this.#options.signal) {
256
+ if (this.#toolResponse !== undefined) {
257
+ return this.#toolResponse;
258
+ }
259
+ this.#toolResponse = generateToolResponse(this.#state.params, lastMessage, {
260
+ ...this.#options,
261
+ signal,
262
+ });
263
+ return this.#toolResponse;
264
+ }
265
+ /**
266
+ * Wait for the async iterator to complete. This works even if the async iterator hasn't yet started, and
267
+ * will wait for an instance to start and go to completion.
268
+ *
269
+ * @returns A promise that resolves to the final BetaMessage when the iterator completes
270
+ *
271
+ * @example
272
+ * // Start consuming the iterator
273
+ * for await (const message of runner) {
274
+ * console.log('Message:', message.content);
275
+ * }
276
+ *
277
+ * // Meanwhile, wait for completion from another part of the code
278
+ * const finalMessage = await runner.done();
279
+ * console.log('Final response:', finalMessage.content);
280
+ */
281
+ done() {
282
+ return this.#completion.promise;
283
+ }
284
+ /**
285
+ * Returns a promise indicating that the stream is done. Unlike .done(), this will eagerly read the stream:
286
+ * * If the iterator has not been consumed, consume the entire iterator and return the final message from the
287
+ * assistant.
288
+ * * If the iterator has been consumed, waits for it to complete and returns the final message.
289
+ *
290
+ * @returns A promise that resolves to the final BetaMessage from the conversation
291
+ * @throws {PukuError} If no messages were processed during the conversation
292
+ *
293
+ * @example
294
+ * const finalMessage = await runner.runUntilDone();
295
+ * console.log('Final response:', finalMessage.content);
296
+ */
297
+ async runUntilDone() {
298
+ // If not yet consumed, start consuming and wait for completion
299
+ if (!this.#consumed) {
300
+ for await (const _ of this) {
301
+ // Iterator naturally populates this.#message
302
+ }
303
+ }
304
+ // If consumed but not completed, wait for completion
305
+ return this.done();
306
+ }
307
+ /**
308
+ * Get the current parameters being used by the ToolRunner.
309
+ *
310
+ * @returns A readonly view of the current ToolRunnerParams
311
+ *
312
+ * @example
313
+ * const currentParams = runner.params;
314
+ * console.log('Current model:', currentParams.model);
315
+ * console.log('Message count:', currentParams.messages.length);
316
+ */
317
+ get params() {
318
+ return this.#state.params;
319
+ }
320
+ /**
321
+ * Add one or more messages to the conversation history.
322
+ *
323
+ * @param messages - One or more BetaMessageParam objects to add to the conversation
324
+ *
325
+ * @example
326
+ * runner.pushMessages(
327
+ * { role: 'user', content: 'Also, what about the weather in NYC?' }
328
+ * );
329
+ *
330
+ * @example
331
+ * // Adding multiple messages
332
+ * runner.pushMessages(
333
+ * { role: 'user', content: 'What about NYC?' },
334
+ * { role: 'user', content: 'And Boston?' }
335
+ * );
336
+ */
337
+ pushMessages(...messages) {
338
+ this.setMessagesParams((params) => ({
339
+ ...params,
340
+ messages: [...params.messages, ...messages],
341
+ }));
342
+ }
343
+ /**
344
+ * Makes the ToolRunner directly awaitable, equivalent to calling .runUntilDone()
345
+ * This allows using `await runner` instead of `await runner.runUntilDone()`
346
+ */
347
+ then(onfulfilled, onrejected) {
348
+ return this.runUntilDone().then(onfulfilled, onrejected);
349
+ }
350
+ }
351
+ async function generateToolResponse(params, lastMessage = params.messages.at(-1), requestOptions) {
352
+ // Only process if the last message is from the assistant and has tool use blocks
353
+ if (!lastMessage ||
354
+ lastMessage.role !== 'assistant' ||
355
+ !lastMessage.content ||
356
+ typeof lastMessage.content === 'string') {
357
+ return null;
358
+ }
359
+ const toolUseBlocks = lastMessage.content.filter((content) => content.type === 'tool_use');
360
+ if (toolUseBlocks.length === 0) {
361
+ return null;
362
+ }
363
+ const available = availableToolNames(params);
364
+ const toolResults = await Promise.all(toolUseBlocks.map(async (toolUse) => {
365
+ const tool = params.tools.find((t) => ('name' in t ? t.name
366
+ : 'mcp_server_name' in t ? t.mcp_server_name
367
+ : t.type) === toolUse.name);
368
+ // A `tool_removal` is only a hint to the model, which may still emit a tool_use for a
369
+ // withdrawn tool — treat those exactly like a tool that was never defined.
370
+ if (!tool || !('run' in tool) || !available.has(toolUse.name)) {
371
+ return toolNotFoundResult(toolUse);
372
+ }
373
+ try {
374
+ let input = toolUse.input;
375
+ if ('parse' in tool && tool.parse) {
376
+ input = tool.parse(input);
377
+ }
378
+ const result = await tool.run(input, {
379
+ toolUse: toolUse,
380
+ toolUseBlock: toolUse,
381
+ signal: requestOptions?.signal,
382
+ });
383
+ return {
384
+ type: 'tool_result',
385
+ tool_use_id: toolUse.id,
386
+ content: result,
387
+ };
388
+ }
389
+ catch (error) {
390
+ return {
391
+ type: 'tool_result',
392
+ tool_use_id: toolUse.id,
393
+ content: error instanceof ToolError ?
394
+ error.content
395
+ : `Error: ${error instanceof Error ? error.message : String(error)}`,
396
+ is_error: true,
397
+ };
398
+ }
399
+ }));
400
+ return {
401
+ role: 'user',
402
+ content: toolResults,
403
+ };
404
+ }
405
+ function toolNotFoundResult(toolUse) {
406
+ return {
407
+ type: 'tool_result',
408
+ tool_use_id: toolUse.id,
409
+ content: `Error: Tool '${toolUse.name}' not found`,
410
+ is_error: true,
411
+ };
412
+ }
413
+ /**
414
+ * Computes the names of locally runnable tools that are still available for the assistant
415
+ * turn being answered, by folding `tool_removal` / `tool_addition` blocks from the
416
+ * `role: "system"` messages over the runnable tools. The assistant turn being answered is
417
+ * terminal-or-absent and only `system` messages are inspected, so folding the whole current
418
+ * history is exactly folding the messages preceding that turn — call this before appending
419
+ * anything after it. MCP references are ignored — those tools are executed server-side and
420
+ * never dispatched by this runner.
421
+ */
422
+ function availableToolNames(params) {
423
+ const available = new Set();
424
+ for (const tool of params.tools) {
425
+ if ('run' in tool) {
426
+ available.add(tool.name);
427
+ }
428
+ }
429
+ for (const message of params.messages) {
430
+ if (message.role !== 'system' || typeof message.content === 'string') {
431
+ continue;
432
+ }
433
+ for (const block of message.content) {
434
+ applyToolChange(block, available);
435
+ }
436
+ }
437
+ return available;
438
+ }
439
+ function applyToolChange(block, available) {
440
+ switch (block.type) {
441
+ case 'tool_removal':
442
+ case 'tool_addition':
443
+ applyToolReference(block, available);
444
+ break;
445
+ }
446
+ }
447
+ function applyToolReference(block, available) {
448
+ const name = referencedToolName(block.tool);
449
+ if (name === undefined)
450
+ return;
451
+ if (block.type === 'tool_removal') {
452
+ available.delete(name);
453
+ }
454
+ else {
455
+ available.add(name);
456
+ }
457
+ }
458
+ function referencedToolName(ref) {
459
+ switch (ref.type) {
460
+ case 'tool_reference':
461
+ return ref.name;
462
+ default:
463
+ // mcp_tool_reference / mcp_toolset_reference run server-side; unknown reference
464
+ // types are ignored rather than rejected.
465
+ return undefined;
466
+ }
467
+ }
468
+ /**
469
+ * Sorts every stop reason into one of three buckets: `run_tools` turns run their client tool
470
+ * calls and continue the loop; `resume` turns are sent back unchanged so the server continues
471
+ * them; `stop` turns end the loop without running any tool calls.
472
+ */
473
+ function determineNextStepFromStopReason(stopReason) {
474
+ if (stopReason === null)
475
+ return 'stop';
476
+ switch (stopReason) {
477
+ case 'tool_use':
478
+ return 'run_tools';
479
+ case 'pause_turn':
480
+ // pause_after_compaction hands the turn back before the model answers; sending it back
481
+ // unchanged continues it.
482
+ case 'compaction':
483
+ return 'resume';
484
+ case 'end_turn':
485
+ case 'stop_sequence':
486
+ case 'max_tokens':
487
+ case 'model_context_window_exceeded':
488
+ case 'refusal':
489
+ return 'stop';
490
+ default:
491
+ // The union is forward-compatible, so a stop reason this SDK doesn't know yet ends the
492
+ // loop rather than throwing; the `never` check makes tsc reject an unclassified member.
493
+ checkNever(stopReason);
494
+ return 'stop';
495
+ }
496
+ }
497
+ //# sourceMappingURL=BetaToolRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BetaToolRunner.js","sourceRoot":"","sources":["../../../../src/vendor/lib/tools/BetaToolRunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAgB7C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAqB,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAsBf;IArBV,mDAAmD;IACnD,SAAS,GAAG,KAAK,CAAC;IAClB,mEAAmE;IACnE,QAAQ,GAAG,KAAK,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAmC;IACzC,QAAQ,CAA+B;IACvC,+DAA+D;IAC/D,QAAQ,CAAoC;IAC5C,yDAAyD;IACzD,aAAa,CAAgD;IAC7D,kDAAkD;IAClD,WAAW,CAIT;IACF,sDAAsD;IACtD,eAAe,GAAG,CAAC,CAAC;IAEpB,YACU,MAAc,EACtB,MAA4B,EAC5B,OAAsC;QAF9B,WAAM,GAAN,MAAM,CAAQ;QAItB,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE;gBACN,2EAA2E;gBAC3E,+FAA+F;gBAC/F,aAAa;gBACb,GAAG,MAAM;gBACT,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC3C;SACF,CAAC;QAEF,yEAAyE;QACzE,wEAAwE;QACxE,+BAA+B;QAC/B,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC;gBACpB,YAAY,CAAC,gBAAgB,CAAC;gBAC9B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAClF,OAAO,EAAE,OAAO;aACjB,CAAC;SACH,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,oBAAoB,EAAE,CAAC;QAE1C,IAAI,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CACV,iGAAiG;gBAC/F,gIAAgI;gBAChI,2BAA2B,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC/D,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBACpC,MAAM,gBAAgB,GACpB,OAAO,CAAC,KAAK,CAAC,YAAY;oBAC1B,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;oBAChD,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC,CAAC;gBAC/C,UAAU,GAAG,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,qBAAqB,IAAI,uBAAuB,CAAC;QAErF,IAAI,UAAU,GAAG,SAAS,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAClE,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,IAAI,sBAAsB,CAAC;QAEhF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxD,kEAAkE;YAClE,2DAA2D;YAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBAEvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,gEAAgE;oBAChE,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,GAAG,aAAa,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrD;YACE,KAAK;YACL,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,aAAa;yBACpB;qBACF;iBACF;aACF;YACD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;SAC1C,EACD;YACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;SAC3E,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG;YAC5B;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B;SACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAK3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBACH,IACE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc;wBACjC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EACzD,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;oBAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAE1B,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAE5E,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACxE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;wBACtC,+FAA+F;wBAC/F,mEAAmE;wBACnE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBAC9B,MAAM,MAAa,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC9F,MAAM,IAAI,CAAC,QAAe,CAAC;oBAC7B,CAAC;oBAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAClD,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;4BACpC,MAAM,QAAQ,GAAG,+BAA+B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;4BACtE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;4BAEnF,uFAAuF;4BACvF,yFAAyF;4BACzF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;4BACzC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gCACtB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oCACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gCACtD,CAAC;qCAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;oCACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gCAC5E,CAAC;4BACH,CAAC;4BAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gCACxB,MAAM;4BACR,CAAC;4BACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gCAC1B,SAAS;4BACX,CAAC;wBACH,CAAC;wBAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;wBAC1F,IAAI,WAAW,EAAE,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAChD,CAAC;6BAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAC1B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;YAChF,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,mCAAmC;YACnC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,oBAAoB,EAAE,CAAC;YAC1C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAuBD,iBAAiB,CACf,eAAoG;QAEpG,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,2DAA2D;QAC3D,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAwBD,iBAAiB,CACf,gBAEiF;QAEjF,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAyC,IAAI,CAAC,QAAQ,CAAC,MAAM;QACtF,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,WAA6B,EAC7B,SAAyC,IAAI,CAAC,QAAQ,CAAC,MAAM;QAE7D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE;YACzE,GAAG,IAAI,CAAC,QAAQ;YAChB,MAAM;SACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY;QAChB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC3B,6CAA6C;YAC/C,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAwC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,GAAG,QAA4B;QAC1C,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,MAAM;YACT,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;SAC5C,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,WAA2F,EAC3F,UAAmF;QAEnF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,KAAK,UAAU,oBAAoB,CACjC,MAA4B,EAC5B,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACpC,cAA6C;IAE7C,iFAAiF;IACjF,IACE,CAAC,WAAW;QACZ,WAAW,CAAC,IAAI,KAAK,WAAW;QAChC,CAAC,WAAW,CAAC,OAAO;QACpB,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC3F,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACrB,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;gBAC5C,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAC7B,CAAC;QACF,sFAAsF;QACtF,2EAA2E;QAC3E,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACnC,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,OAAO;gBACrB,MAAM,EAAE,cAAc,EAAE,MAAM;aAC/B,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,aAAsB;gBAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;gBACvB,OAAO,EAAE,MAAM;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,aAAsB;gBAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;gBACvB,OAAO,EACL,KAAK,YAAY,SAAS,CAAC,CAAC;oBAC1B,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACtE,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAe;QACrB,OAAO,EAAE,WAAW;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAqC;IAC/D,OAAO;QACL,IAAI,EAAE,aAAsB;QAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;QACvB,OAAO,EAAE,gBAAgB,OAAO,CAAC,IAAI,aAAa;QAClD,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,MAA4B;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,KAA4B,EAAE,SAAsB;IAC3E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAClB,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACrC,MAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAiE,EACjE,SAAsB;IAEtB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAqG;IAErG,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB;YACE,gFAAgF;YAChF,0CAA0C;YAC1C,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAID;;;;GAIG;AACH,SAAS,+BAA+B,CAAC,UAAiC;IACxE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACvC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,YAAY,CAAC;QAClB,uFAAuF;QACvF,0BAA0B;QAC1B,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,YAAY,CAAC;QAClB,KAAK,+BAA+B,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB;YACE,uFAAuF;YACvF,wFAAwF;YACxF,UAAU,CAAC,UAAU,CAAC,CAAC;YACvB,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { Model } from '../../resources';
2
+ export declare const DEFAULT_TOKEN_THRESHOLD = 100000;
3
+ export declare const DEFAULT_SUMMARY_PROMPT = "You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:\n1. Task Overview\nThe user's core request and success criteria\nAny clarifications or constraints they specified\n2. Current State\nWhat has been completed so far\nFiles created, modified, or analyzed (with paths if relevant)\nKey outputs or artifacts produced\n3. Important Discoveries\nTechnical constraints or requirements uncovered\nDecisions made and their rationale\nErrors encountered and how they were resolved\nWhat approaches were tried that didn't work (and why)\n4. Next Steps\nSpecific actions needed to complete the task\nAny blockers or open questions to resolve\nPriority order if multiple steps remain\n5. Context to Preserve\nUser preferences or style requirements\nDomain-specific details that aren't obvious\nAny promises made to the user\nBe concise but complete\u2014err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.\nWrap your summary in <summary></summary> tags.";
4
+ /**
5
+ * @deprecated Use server-side compaction instead by passing
6
+ * `edits: [{ type: 'compact' }]` in the params passed to `toolRunner()`.
7
+ *
8
+ */
9
+ export interface CompactionControl {
10
+ /**
11
+ * The context token threshold at which to trigger compaction.
12
+ *
13
+ * When the cumulative token count (input + output) across all messages exceeds this threshold,
14
+ * the message history will be automatically summarized and compressed.
15
+ *
16
+ * @default 100000
17
+ */
18
+ contextTokenThreshold?: number;
19
+ /**
20
+ * The model to use for generating the compaction summary.
21
+ * If not specified, defaults to the same model used for the tool runner.
22
+ */
23
+ model?: Model;
24
+ /**
25
+ * The prompt used to instruct the model on how to generate the summary.
26
+ */
27
+ summaryPrompt?: string;
28
+ enabled: boolean;
29
+ }
@@ -0,0 +1,25 @@
1
+ export const DEFAULT_TOKEN_THRESHOLD = 100_000;
2
+ export const DEFAULT_SUMMARY_PROMPT = `You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
3
+ 1. Task Overview
4
+ The user's core request and success criteria
5
+ Any clarifications or constraints they specified
6
+ 2. Current State
7
+ What has been completed so far
8
+ Files created, modified, or analyzed (with paths if relevant)
9
+ Key outputs or artifacts produced
10
+ 3. Important Discoveries
11
+ Technical constraints or requirements uncovered
12
+ Decisions made and their rationale
13
+ Errors encountered and how they were resolved
14
+ What approaches were tried that didn't work (and why)
15
+ 4. Next Steps
16
+ Specific actions needed to complete the task
17
+ Any blockers or open questions to resolve
18
+ Priority order if multiple steps remain
19
+ 5. Context to Preserve
20
+ User preferences or style requirements
21
+ Domain-specific details that aren't obvious
22
+ Any promises made to the user
23
+ Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
24
+ Wrap your summary in <summary></summary> tags.`;
25
+ //# sourceMappingURL=CompactionControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactionControl.js","sourceRoot":"","sources":["../../../../src/vendor/lib/tools/CompactionControl.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;+CAsBS,CAAC"}