@tetral-ai/sdk 0.110.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1341) hide show
  1. package/.github/logo.svg +3 -0
  2. package/CHANGELOG.md +2815 -0
  3. package/COMPATIBILITY.md +97 -0
  4. package/LICENSE +8 -0
  5. package/README.md +132 -0
  6. package/_vendor/partial-json-parser/parser.d.mts +3 -0
  7. package/_vendor/partial-json-parser/parser.d.mts.map +1 -0
  8. package/_vendor/partial-json-parser/parser.d.ts +3 -0
  9. package/_vendor/partial-json-parser/parser.d.ts.map +1 -0
  10. package/_vendor/partial-json-parser/parser.js +238 -0
  11. package/_vendor/partial-json-parser/parser.js.map +1 -0
  12. package/_vendor/partial-json-parser/parser.mjs +235 -0
  13. package/_vendor/partial-json-parser/parser.mjs.map +1 -0
  14. package/api-promise.d.mts +3 -0
  15. package/api-promise.d.mts.map +1 -0
  16. package/api-promise.d.ts +3 -0
  17. package/api-promise.d.ts.map +1 -0
  18. package/api-promise.js +6 -0
  19. package/api-promise.js.map +1 -0
  20. package/api-promise.mjs +3 -0
  21. package/api-promise.mjs.map +1 -0
  22. package/api.md +1297 -0
  23. package/bin/cli +53 -0
  24. package/bin/migration-config.json +933 -0
  25. package/client.d.mts +387 -0
  26. package/client.d.mts.map +1 -0
  27. package/client.d.ts +387 -0
  28. package/client.d.ts.map +1 -0
  29. package/client.js +943 -0
  30. package/client.js.map +1 -0
  31. package/client.mjs +938 -0
  32. package/client.mjs.map +1 -0
  33. package/core/api-promise.d.mts +49 -0
  34. package/core/api-promise.d.mts.map +1 -0
  35. package/core/api-promise.d.ts +49 -0
  36. package/core/api-promise.d.ts.map +1 -0
  37. package/core/api-promise.js +76 -0
  38. package/core/api-promise.js.map +1 -0
  39. package/core/api-promise.mjs +72 -0
  40. package/core/api-promise.mjs.map +1 -0
  41. package/core/api.d.mts +11 -0
  42. package/core/api.d.mts.map +1 -0
  43. package/core/api.d.ts +11 -0
  44. package/core/api.d.ts.map +1 -0
  45. package/core/api.js +3 -0
  46. package/core/api.js.map +1 -0
  47. package/core/api.mjs +2 -0
  48. package/core/api.mjs.map +1 -0
  49. package/core/credentials.d.mts +131 -0
  50. package/core/credentials.d.mts.map +1 -0
  51. package/core/credentials.d.ts +131 -0
  52. package/core/credentials.d.ts.map +1 -0
  53. package/core/credentials.js +317 -0
  54. package/core/credentials.js.map +1 -0
  55. package/core/credentials.mjs +277 -0
  56. package/core/credentials.mjs.map +1 -0
  57. package/core/error.d.mts +61 -0
  58. package/core/error.d.mts.map +1 -0
  59. package/core/error.d.ts +61 -0
  60. package/core/error.d.ts.map +1 -0
  61. package/core/error.js +132 -0
  62. package/core/error.js.map +1 -0
  63. package/core/error.mjs +115 -0
  64. package/core/error.mjs.map +1 -0
  65. package/core/middleware.d.mts +154 -0
  66. package/core/middleware.d.mts.map +1 -0
  67. package/core/middleware.d.ts +154 -0
  68. package/core/middleware.d.ts.map +1 -0
  69. package/core/middleware.js +174 -0
  70. package/core/middleware.js.map +1 -0
  71. package/core/middleware.mjs +168 -0
  72. package/core/middleware.mjs.map +1 -0
  73. package/core/pagination.d.mts +122 -0
  74. package/core/pagination.d.mts.map +1 -0
  75. package/core/pagination.d.ts +122 -0
  76. package/core/pagination.d.ts.map +1 -0
  77. package/core/pagination.js +203 -0
  78. package/core/pagination.js.map +1 -0
  79. package/core/pagination.mjs +194 -0
  80. package/core/pagination.mjs.map +1 -0
  81. package/core/resource.d.mts +6 -0
  82. package/core/resource.d.mts.map +1 -0
  83. package/core/resource.d.ts +6 -0
  84. package/core/resource.d.ts.map +1 -0
  85. package/core/resource.js +11 -0
  86. package/core/resource.js.map +1 -0
  87. package/core/resource.mjs +7 -0
  88. package/core/resource.mjs.map +1 -0
  89. package/core/streaming.d.mts +42 -0
  90. package/core/streaming.d.mts.map +1 -0
  91. package/core/streaming.d.ts +42 -0
  92. package/core/streaming.d.ts.map +1 -0
  93. package/core/streaming.js +341 -0
  94. package/core/streaming.js.map +1 -0
  95. package/core/streaming.mjs +336 -0
  96. package/core/streaming.mjs.map +1 -0
  97. package/core/uploads.d.mts +3 -0
  98. package/core/uploads.d.mts.map +1 -0
  99. package/core/uploads.d.ts +3 -0
  100. package/core/uploads.d.ts.map +1 -0
  101. package/core/uploads.js +6 -0
  102. package/core/uploads.js.map +1 -0
  103. package/core/uploads.mjs +2 -0
  104. package/core/uploads.mjs.map +1 -0
  105. package/error.d.mts +3 -0
  106. package/error.d.mts.map +1 -0
  107. package/error.d.ts +3 -0
  108. package/error.d.ts.map +1 -0
  109. package/error.js +6 -0
  110. package/error.js.map +1 -0
  111. package/error.mjs +3 -0
  112. package/error.mjs.map +1 -0
  113. package/helpers/beta/environments.d.mts +25 -0
  114. package/helpers/beta/environments.d.mts.map +1 -0
  115. package/helpers/beta/environments.d.ts +25 -0
  116. package/helpers/beta/environments.d.ts.map +1 -0
  117. package/helpers/beta/environments.js +33 -0
  118. package/helpers/beta/environments.js.map +1 -0
  119. package/helpers/beta/environments.mjs +25 -0
  120. package/helpers/beta/environments.mjs.map +1 -0
  121. package/helpers/beta/json-schema.d.mts +37 -0
  122. package/helpers/beta/json-schema.d.mts.map +1 -0
  123. package/helpers/beta/json-schema.d.ts +37 -0
  124. package/helpers/beta/json-schema.d.ts.map +1 -0
  125. package/helpers/beta/json-schema.js +57 -0
  126. package/helpers/beta/json-schema.js.map +1 -0
  127. package/helpers/beta/json-schema.mjs +53 -0
  128. package/helpers/beta/json-schema.mjs.map +1 -0
  129. package/helpers/beta/mcp.d.mts +303 -0
  130. package/helpers/beta/mcp.d.mts.map +1 -0
  131. package/helpers/beta/mcp.d.ts +303 -0
  132. package/helpers/beta/mcp.d.ts.map +1 -0
  133. package/helpers/beta/mcp.js +419 -0
  134. package/helpers/beta/mcp.js.map +1 -0
  135. package/helpers/beta/mcp.mjs +406 -0
  136. package/helpers/beta/mcp.mjs.map +1 -0
  137. package/helpers/beta/memory.d.mts +11 -0
  138. package/helpers/beta/memory.d.mts.map +1 -0
  139. package/helpers/beta/memory.d.ts +11 -0
  140. package/helpers/beta/memory.d.ts.map +1 -0
  141. package/helpers/beta/memory.js +18 -0
  142. package/helpers/beta/memory.js.map +1 -0
  143. package/helpers/beta/memory.mjs +15 -0
  144. package/helpers/beta/memory.mjs.map +1 -0
  145. package/helpers/beta/zod.d.mts +33 -0
  146. package/helpers/beta/zod.d.mts.map +1 -0
  147. package/helpers/beta/zod.d.ts +33 -0
  148. package/helpers/beta/zod.d.ts.map +1 -0
  149. package/helpers/beta/zod.js +58 -0
  150. package/helpers/beta/zod.js.map +1 -0
  151. package/helpers/beta/zod.mjs +53 -0
  152. package/helpers/beta/zod.mjs.map +1 -0
  153. package/helpers/index.d.mts +3 -0
  154. package/helpers/index.d.mts.map +1 -0
  155. package/helpers/index.d.ts +3 -0
  156. package/helpers/index.d.ts.map +1 -0
  157. package/helpers/index.js +8 -0
  158. package/helpers/index.js.map +1 -0
  159. package/helpers/index.mjs +3 -0
  160. package/helpers/index.mjs.map +1 -0
  161. package/helpers/json-schema.d.mts +18 -0
  162. package/helpers/json-schema.d.mts.map +1 -0
  163. package/helpers/json-schema.d.ts +18 -0
  164. package/helpers/json-schema.d.ts.map +1 -0
  165. package/helpers/json-schema.js +37 -0
  166. package/helpers/json-schema.js.map +1 -0
  167. package/helpers/json-schema.mjs +34 -0
  168. package/helpers/json-schema.mjs.map +1 -0
  169. package/helpers/zod.d.mts +13 -0
  170. package/helpers/zod.d.mts.map +1 -0
  171. package/helpers/zod.d.ts +13 -0
  172. package/helpers/zod.d.ts.map +1 -0
  173. package/helpers/zod.js +47 -0
  174. package/helpers/zod.js.map +1 -0
  175. package/helpers/zod.mjs +43 -0
  176. package/helpers/zod.mjs.map +1 -0
  177. package/index.d.mts +10 -0
  178. package/index.d.mts.map +1 -0
  179. package/index.d.ts +10 -0
  180. package/index.d.ts.map +1 -0
  181. package/index.js +40 -0
  182. package/index.js.map +1 -0
  183. package/index.mjs +9 -0
  184. package/index.mjs.map +1 -0
  185. package/internal/builtin-types.d.mts +73 -0
  186. package/internal/builtin-types.d.mts.map +1 -0
  187. package/internal/builtin-types.d.ts +73 -0
  188. package/internal/builtin-types.d.ts.map +1 -0
  189. package/internal/builtin-types.js +4 -0
  190. package/internal/builtin-types.js.map +1 -0
  191. package/internal/builtin-types.mjs +3 -0
  192. package/internal/builtin-types.mjs.map +1 -0
  193. package/internal/constants.d.mts +5 -0
  194. package/internal/constants.d.mts.map +1 -0
  195. package/internal/constants.d.ts +5 -0
  196. package/internal/constants.d.ts.map +1 -0
  197. package/internal/constants.js +18 -0
  198. package/internal/constants.js.map +1 -0
  199. package/internal/constants.mjs +15 -0
  200. package/internal/constants.mjs.map +1 -0
  201. package/internal/decoders/jsonl.d.mts +10 -0
  202. package/internal/decoders/jsonl.d.mts.map +1 -0
  203. package/internal/decoders/jsonl.d.ts +10 -0
  204. package/internal/decoders/jsonl.d.ts.map +1 -0
  205. package/internal/decoders/jsonl.js +39 -0
  206. package/internal/decoders/jsonl.js.map +1 -0
  207. package/internal/decoders/jsonl.mjs +35 -0
  208. package/internal/decoders/jsonl.mjs.map +1 -0
  209. package/internal/decoders/line.d.mts +17 -0
  210. package/internal/decoders/line.d.mts.map +1 -0
  211. package/internal/decoders/line.d.ts +17 -0
  212. package/internal/decoders/line.d.ts.map +1 -0
  213. package/internal/decoders/line.js +113 -0
  214. package/internal/decoders/line.js.map +1 -0
  215. package/internal/decoders/line.mjs +108 -0
  216. package/internal/decoders/line.mjs.map +1 -0
  217. package/internal/detect-platform.d.mts +15 -0
  218. package/internal/detect-platform.d.mts.map +1 -0
  219. package/internal/detect-platform.d.ts +15 -0
  220. package/internal/detect-platform.d.ts.map +1 -0
  221. package/internal/detect-platform.js +162 -0
  222. package/internal/detect-platform.js.map +1 -0
  223. package/internal/detect-platform.mjs +157 -0
  224. package/internal/detect-platform.mjs.map +1 -0
  225. package/internal/errors.d.mts +3 -0
  226. package/internal/errors.d.mts.map +1 -0
  227. package/internal/errors.d.ts +3 -0
  228. package/internal/errors.d.ts.map +1 -0
  229. package/internal/errors.js +41 -0
  230. package/internal/errors.js.map +1 -0
  231. package/internal/errors.mjs +36 -0
  232. package/internal/errors.mjs.map +1 -0
  233. package/internal/headers.d.mts +29 -0
  234. package/internal/headers.d.mts.map +1 -0
  235. package/internal/headers.d.ts +29 -0
  236. package/internal/headers.d.ts.map +1 -0
  237. package/internal/headers.js +120 -0
  238. package/internal/headers.js.map +1 -0
  239. package/internal/headers.mjs +114 -0
  240. package/internal/headers.mjs.map +1 -0
  241. package/internal/message-stream-utils.d.mts +10 -0
  242. package/internal/message-stream-utils.d.mts.map +1 -0
  243. package/internal/message-stream-utils.d.ts +10 -0
  244. package/internal/message-stream-utils.d.ts.map +1 -0
  245. package/internal/message-stream-utils.js +34 -0
  246. package/internal/message-stream-utils.js.map +1 -0
  247. package/internal/message-stream-utils.mjs +30 -0
  248. package/internal/message-stream-utils.mjs.map +1 -0
  249. package/internal/parse.d.mts +17 -0
  250. package/internal/parse.d.mts.map +1 -0
  251. package/internal/parse.d.ts +17 -0
  252. package/internal/parse.d.ts.map +1 -0
  253. package/internal/parse.js +57 -0
  254. package/internal/parse.js.map +1 -0
  255. package/internal/parse.mjs +53 -0
  256. package/internal/parse.mjs.map +1 -0
  257. package/internal/qs/formats.d.mts +7 -0
  258. package/internal/qs/formats.d.mts.map +1 -0
  259. package/internal/qs/formats.d.ts +7 -0
  260. package/internal/qs/formats.d.ts.map +1 -0
  261. package/internal/qs/formats.js +13 -0
  262. package/internal/qs/formats.js.map +1 -0
  263. package/internal/qs/formats.mjs +9 -0
  264. package/internal/qs/formats.mjs.map +1 -0
  265. package/internal/qs/index.d.mts +10 -0
  266. package/internal/qs/index.d.mts.map +1 -0
  267. package/internal/qs/index.d.ts +10 -0
  268. package/internal/qs/index.d.ts.map +1 -0
  269. package/internal/qs/index.js +14 -0
  270. package/internal/qs/index.js.map +1 -0
  271. package/internal/qs/index.mjs +10 -0
  272. package/internal/qs/index.mjs.map +1 -0
  273. package/internal/qs/stringify.d.mts +3 -0
  274. package/internal/qs/stringify.d.mts.map +1 -0
  275. package/internal/qs/stringify.d.ts +3 -0
  276. package/internal/qs/stringify.d.ts.map +1 -0
  277. package/internal/qs/stringify.js +277 -0
  278. package/internal/qs/stringify.js.map +1 -0
  279. package/internal/qs/stringify.mjs +274 -0
  280. package/internal/qs/stringify.mjs.map +1 -0
  281. package/internal/qs/types.d.mts +57 -0
  282. package/internal/qs/types.d.mts.map +1 -0
  283. package/internal/qs/types.d.ts +57 -0
  284. package/internal/qs/types.d.ts.map +1 -0
  285. package/internal/qs/types.js +3 -0
  286. package/internal/qs/types.js.map +1 -0
  287. package/internal/qs/types.mjs +2 -0
  288. package/internal/qs/types.mjs.map +1 -0
  289. package/internal/qs/utils.d.mts +15 -0
  290. package/internal/qs/utils.d.mts.map +1 -0
  291. package/internal/qs/utils.d.ts +15 -0
  292. package/internal/qs/utils.d.ts.map +1 -0
  293. package/internal/qs/utils.js +230 -0
  294. package/internal/qs/utils.js.map +1 -0
  295. package/internal/qs/utils.mjs +217 -0
  296. package/internal/qs/utils.mjs.map +1 -0
  297. package/internal/request-options.d.mts +127 -0
  298. package/internal/request-options.d.mts.map +1 -0
  299. package/internal/request-options.d.ts +127 -0
  300. package/internal/request-options.d.ts.map +1 -0
  301. package/internal/request-options.js +25 -0
  302. package/internal/request-options.js.map +1 -0
  303. package/internal/request-options.mjs +20 -0
  304. package/internal/request-options.mjs.map +1 -0
  305. package/internal/shim-types.d.mts +17 -0
  306. package/internal/shim-types.d.mts.map +1 -0
  307. package/internal/shim-types.d.ts +17 -0
  308. package/internal/shim-types.d.ts.map +1 -0
  309. package/internal/shim-types.js +4 -0
  310. package/internal/shim-types.js.map +1 -0
  311. package/internal/shim-types.mjs +3 -0
  312. package/internal/shim-types.mjs.map +1 -0
  313. package/internal/shims.d.mts +26 -0
  314. package/internal/shims.d.mts.map +1 -0
  315. package/internal/shims.d.ts +26 -0
  316. package/internal/shims.d.ts.map +1 -0
  317. package/internal/shims.js +92 -0
  318. package/internal/shims.js.map +1 -0
  319. package/internal/shims.mjs +85 -0
  320. package/internal/shims.mjs.map +1 -0
  321. package/internal/stainless-helper-header.d.mts +60 -0
  322. package/internal/stainless-helper-header.d.mts.map +1 -0
  323. package/internal/stainless-helper-header.d.ts +60 -0
  324. package/internal/stainless-helper-header.d.ts.map +1 -0
  325. package/internal/stainless-helper-header.js +91 -0
  326. package/internal/stainless-helper-header.js.map +1 -0
  327. package/internal/stainless-helper-header.mjs +83 -0
  328. package/internal/stainless-helper-header.mjs.map +1 -0
  329. package/internal/stream-utils.d.mts +8 -0
  330. package/internal/stream-utils.d.mts.map +1 -0
  331. package/internal/stream-utils.d.ts +8 -0
  332. package/internal/stream-utils.d.ts.map +1 -0
  333. package/internal/stream-utils.js +38 -0
  334. package/internal/stream-utils.js.map +1 -0
  335. package/internal/stream-utils.mjs +35 -0
  336. package/internal/stream-utils.mjs.map +1 -0
  337. package/internal/to-file.d.mts +45 -0
  338. package/internal/to-file.d.mts.map +1 -0
  339. package/internal/to-file.d.ts +45 -0
  340. package/internal/to-file.d.ts.map +1 -0
  341. package/internal/to-file.js +96 -0
  342. package/internal/to-file.js.map +1 -0
  343. package/internal/to-file.mjs +93 -0
  344. package/internal/to-file.mjs.map +1 -0
  345. package/internal/tslib.js +81 -0
  346. package/internal/tslib.mjs +17 -0
  347. package/internal/types.d.mts +69 -0
  348. package/internal/types.d.mts.map +1 -0
  349. package/internal/types.d.ts +69 -0
  350. package/internal/types.d.ts.map +1 -0
  351. package/internal/types.js +4 -0
  352. package/internal/types.js.map +1 -0
  353. package/internal/types.mjs +3 -0
  354. package/internal/types.mjs.map +1 -0
  355. package/internal/uploads.d.mts +42 -0
  356. package/internal/uploads.d.mts.map +1 -0
  357. package/internal/uploads.d.ts +42 -0
  358. package/internal/uploads.d.ts.map +1 -0
  359. package/internal/uploads.js +145 -0
  360. package/internal/uploads.js.map +1 -0
  361. package/internal/uploads.mjs +135 -0
  362. package/internal/uploads.mjs.map +1 -0
  363. package/internal/utils/abort.d.mts +13 -0
  364. package/internal/utils/abort.d.mts.map +1 -0
  365. package/internal/utils/abort.d.ts +13 -0
  366. package/internal/utils/abort.d.ts.map +1 -0
  367. package/internal/utils/abort.js +26 -0
  368. package/internal/utils/abort.js.map +1 -0
  369. package/internal/utils/abort.mjs +23 -0
  370. package/internal/utils/abort.mjs.map +1 -0
  371. package/internal/utils/async-queue.d.mts +31 -0
  372. package/internal/utils/async-queue.d.mts.map +1 -0
  373. package/internal/utils/async-queue.d.ts +31 -0
  374. package/internal/utils/async-queue.d.ts.map +1 -0
  375. package/internal/utils/async-queue.js +75 -0
  376. package/internal/utils/async-queue.js.map +1 -0
  377. package/internal/utils/async-queue.mjs +71 -0
  378. package/internal/utils/async-queue.mjs.map +1 -0
  379. package/internal/utils/backoff.d.mts +23 -0
  380. package/internal/utils/backoff.d.mts.map +1 -0
  381. package/internal/utils/backoff.d.ts +23 -0
  382. package/internal/utils/backoff.d.ts.map +1 -0
  383. package/internal/utils/backoff.js +44 -0
  384. package/internal/utils/backoff.js.map +1 -0
  385. package/internal/utils/backoff.mjs +36 -0
  386. package/internal/utils/backoff.mjs.map +1 -0
  387. package/internal/utils/base64.d.mts +3 -0
  388. package/internal/utils/base64.d.mts.map +1 -0
  389. package/internal/utils/base64.d.ts +3 -0
  390. package/internal/utils/base64.d.ts.map +1 -0
  391. package/internal/utils/base64.js +38 -0
  392. package/internal/utils/base64.js.map +1 -0
  393. package/internal/utils/base64.mjs +33 -0
  394. package/internal/utils/base64.mjs.map +1 -0
  395. package/internal/utils/bytes.d.mts +4 -0
  396. package/internal/utils/bytes.d.mts.map +1 -0
  397. package/internal/utils/bytes.d.ts +4 -0
  398. package/internal/utils/bytes.d.ts.map +1 -0
  399. package/internal/utils/bytes.js +31 -0
  400. package/internal/utils/bytes.js.map +1 -0
  401. package/internal/utils/bytes.mjs +26 -0
  402. package/internal/utils/bytes.mjs.map +1 -0
  403. package/internal/utils/env.d.mts +9 -0
  404. package/internal/utils/env.d.mts.map +1 -0
  405. package/internal/utils/env.d.ts +9 -0
  406. package/internal/utils/env.d.ts.map +1 -0
  407. package/internal/utils/env.js +22 -0
  408. package/internal/utils/env.js.map +1 -0
  409. package/internal/utils/env.mjs +18 -0
  410. package/internal/utils/env.mjs.map +1 -0
  411. package/internal/utils/log.d.mts +47 -0
  412. package/internal/utils/log.d.mts.map +1 -0
  413. package/internal/utils/log.d.ts +47 -0
  414. package/internal/utils/log.d.ts.map +1 -0
  415. package/internal/utils/log.js +112 -0
  416. package/internal/utils/log.js.map +1 -0
  417. package/internal/utils/log.mjs +105 -0
  418. package/internal/utils/log.mjs.map +1 -0
  419. package/internal/utils/path.d.mts +15 -0
  420. package/internal/utils/path.d.mts.map +1 -0
  421. package/internal/utils/path.d.ts +15 -0
  422. package/internal/utils/path.d.ts.map +1 -0
  423. package/internal/utils/path.js +79 -0
  424. package/internal/utils/path.js.map +1 -0
  425. package/internal/utils/path.mjs +74 -0
  426. package/internal/utils/path.mjs.map +1 -0
  427. package/internal/utils/promise.d.mts +11 -0
  428. package/internal/utils/promise.d.mts.map +1 -0
  429. package/internal/utils/promise.d.ts +11 -0
  430. package/internal/utils/promise.d.ts.map +1 -0
  431. package/internal/utils/promise.js +18 -0
  432. package/internal/utils/promise.js.map +1 -0
  433. package/internal/utils/promise.mjs +15 -0
  434. package/internal/utils/promise.mjs.map +1 -0
  435. package/internal/utils/query.d.mts +2 -0
  436. package/internal/utils/query.d.mts.map +1 -0
  437. package/internal/utils/query.d.ts +2 -0
  438. package/internal/utils/query.d.ts.map +1 -0
  439. package/internal/utils/query.js +10 -0
  440. package/internal/utils/query.js.map +1 -0
  441. package/internal/utils/query.mjs +6 -0
  442. package/internal/utils/query.mjs.map +1 -0
  443. package/internal/utils/sleep.d.mts +10 -0
  444. package/internal/utils/sleep.d.mts.map +1 -0
  445. package/internal/utils/sleep.d.ts +10 -0
  446. package/internal/utils/sleep.d.ts.map +1 -0
  447. package/internal/utils/sleep.js +28 -0
  448. package/internal/utils/sleep.js.map +1 -0
  449. package/internal/utils/sleep.mjs +24 -0
  450. package/internal/utils/sleep.mjs.map +1 -0
  451. package/internal/utils/time.d.mts +3 -0
  452. package/internal/utils/time.d.mts.map +1 -0
  453. package/internal/utils/time.d.ts +3 -0
  454. package/internal/utils/time.d.ts.map +1 -0
  455. package/internal/utils/time.js +8 -0
  456. package/internal/utils/time.js.map +1 -0
  457. package/internal/utils/time.mjs +5 -0
  458. package/internal/utils/time.mjs.map +1 -0
  459. package/internal/utils/uuid.d.mts +5 -0
  460. package/internal/utils/uuid.d.mts.map +1 -0
  461. package/internal/utils/uuid.d.ts +5 -0
  462. package/internal/utils/uuid.d.ts.map +1 -0
  463. package/internal/utils/uuid.js +19 -0
  464. package/internal/utils/uuid.js.map +1 -0
  465. package/internal/utils/uuid.mjs +15 -0
  466. package/internal/utils/uuid.mjs.map +1 -0
  467. package/internal/utils/values.d.mts +19 -0
  468. package/internal/utils/values.d.mts.map +1 -0
  469. package/internal/utils/values.d.ts +19 -0
  470. package/internal/utils/values.d.ts.map +1 -0
  471. package/internal/utils/values.js +119 -0
  472. package/internal/utils/values.js.map +1 -0
  473. package/internal/utils/values.mjs +100 -0
  474. package/internal/utils/values.mjs.map +1 -0
  475. package/internal/utils.d.mts +8 -0
  476. package/internal/utils.d.mts.map +1 -0
  477. package/internal/utils.d.ts +8 -0
  478. package/internal/utils.d.ts.map +1 -0
  479. package/internal/utils.js +12 -0
  480. package/internal/utils.js.map +1 -0
  481. package/internal/utils.mjs +9 -0
  482. package/internal/utils.mjs.map +1 -0
  483. package/lib/BetaMessageStream.d.mts +122 -0
  484. package/lib/BetaMessageStream.d.mts.map +1 -0
  485. package/lib/BetaMessageStream.d.ts +122 -0
  486. package/lib/BetaMessageStream.d.ts.map +1 -0
  487. package/lib/BetaMessageStream.js +639 -0
  488. package/lib/BetaMessageStream.js.map +1 -0
  489. package/lib/BetaMessageStream.mjs +635 -0
  490. package/lib/BetaMessageStream.mjs.map +1 -0
  491. package/lib/MessageStream.d.mts +121 -0
  492. package/lib/MessageStream.d.mts.map +1 -0
  493. package/lib/MessageStream.d.ts +121 -0
  494. package/lib/MessageStream.d.ts.map +1 -0
  495. package/lib/MessageStream.js +595 -0
  496. package/lib/MessageStream.js.map +1 -0
  497. package/lib/MessageStream.mjs +591 -0
  498. package/lib/MessageStream.mjs.map +1 -0
  499. package/lib/beta-parser.d.mts +37 -0
  500. package/lib/beta-parser.d.mts.map +1 -0
  501. package/lib/beta-parser.d.ts +37 -0
  502. package/lib/beta-parser.d.ts.map +1 -0
  503. package/lib/beta-parser.js +79 -0
  504. package/lib/beta-parser.js.map +1 -0
  505. package/lib/beta-parser.mjs +75 -0
  506. package/lib/beta-parser.mjs.map +1 -0
  507. package/lib/credentials/credential-chain.d.mts +39 -0
  508. package/lib/credentials/credential-chain.d.mts.map +1 -0
  509. package/lib/credentials/credential-chain.d.ts +39 -0
  510. package/lib/credentials/credential-chain.d.ts.map +1 -0
  511. package/lib/credentials/credential-chain.js +245 -0
  512. package/lib/credentials/credential-chain.js.map +1 -0
  513. package/lib/credentials/credential-chain.mjs +208 -0
  514. package/lib/credentials/credential-chain.mjs.map +1 -0
  515. package/lib/credentials/identity-token.d.mts +11 -0
  516. package/lib/credentials/identity-token.d.mts.map +1 -0
  517. package/lib/credentials/identity-token.d.ts +11 -0
  518. package/lib/credentials/identity-token.d.ts.map +1 -0
  519. package/lib/credentials/identity-token.js +72 -0
  520. package/lib/credentials/identity-token.js.map +1 -0
  521. package/lib/credentials/identity-token.mjs +35 -0
  522. package/lib/credentials/identity-token.mjs.map +1 -0
  523. package/lib/credentials/oidc-federation.d.mts +40 -0
  524. package/lib/credentials/oidc-federation.d.mts.map +1 -0
  525. package/lib/credentials/oidc-federation.d.ts +40 -0
  526. package/lib/credentials/oidc-federation.d.ts.map +1 -0
  527. package/lib/credentials/oidc-federation.js +82 -0
  528. package/lib/credentials/oidc-federation.js.map +1 -0
  529. package/lib/credentials/oidc-federation.mjs +79 -0
  530. package/lib/credentials/oidc-federation.mjs.map +1 -0
  531. package/lib/credentials/token-cache.d.mts +54 -0
  532. package/lib/credentials/token-cache.d.mts.map +1 -0
  533. package/lib/credentials/token-cache.d.ts +54 -0
  534. package/lib/credentials/token-cache.d.ts.map +1 -0
  535. package/lib/credentials/token-cache.js +112 -0
  536. package/lib/credentials/token-cache.js.map +1 -0
  537. package/lib/credentials/token-cache.mjs +108 -0
  538. package/lib/credentials/token-cache.mjs.map +1 -0
  539. package/lib/credentials/types.d.mts +96 -0
  540. package/lib/credentials/types.d.mts.map +1 -0
  541. package/lib/credentials/types.d.ts +96 -0
  542. package/lib/credentials/types.d.ts.map +1 -0
  543. package/lib/credentials/types.js +266 -0
  544. package/lib/credentials/types.js.map +1 -0
  545. package/lib/credentials/types.mjs +224 -0
  546. package/lib/credentials/types.mjs.map +1 -0
  547. package/lib/credentials/user-oauth.d.mts +21 -0
  548. package/lib/credentials/user-oauth.d.mts.map +1 -0
  549. package/lib/credentials/user-oauth.d.ts +21 -0
  550. package/lib/credentials/user-oauth.d.ts.map +1 -0
  551. package/lib/credentials/user-oauth.js +130 -0
  552. package/lib/credentials/user-oauth.js.map +1 -0
  553. package/lib/credentials/user-oauth.mjs +94 -0
  554. package/lib/credentials/user-oauth.mjs.map +1 -0
  555. package/lib/credentials.d.mts +4 -0
  556. package/lib/credentials.d.mts.map +1 -0
  557. package/lib/credentials.d.ts +4 -0
  558. package/lib/credentials.d.ts.map +1 -0
  559. package/lib/credentials.js +8 -0
  560. package/lib/credentials.js.map +1 -0
  561. package/lib/credentials.mjs +3 -0
  562. package/lib/credentials.mjs.map +1 -0
  563. package/lib/environments/index.d.mts +4 -0
  564. package/lib/environments/index.d.mts.map +1 -0
  565. package/lib/environments/index.d.ts +4 -0
  566. package/lib/environments/index.d.ts.map +1 -0
  567. package/lib/environments/index.js +18 -0
  568. package/lib/environments/index.js.map +1 -0
  569. package/lib/environments/index.mjs +4 -0
  570. package/lib/environments/index.mjs.map +1 -0
  571. package/lib/environments/poller.d.mts +93 -0
  572. package/lib/environments/poller.d.mts.map +1 -0
  573. package/lib/environments/poller.d.ts +93 -0
  574. package/lib/environments/poller.d.ts.map +1 -0
  575. package/lib/environments/poller.js +185 -0
  576. package/lib/environments/poller.js.map +1 -0
  577. package/lib/environments/poller.mjs +176 -0
  578. package/lib/environments/poller.mjs.map +1 -0
  579. package/lib/environments/worker.d.mts +150 -0
  580. package/lib/environments/worker.d.mts.map +1 -0
  581. package/lib/environments/worker.d.ts +150 -0
  582. package/lib/environments/worker.d.ts.map +1 -0
  583. package/lib/environments/worker.js +271 -0
  584. package/lib/environments/worker.js.map +1 -0
  585. package/lib/environments/worker.mjs +267 -0
  586. package/lib/environments/worker.mjs.map +1 -0
  587. package/lib/helper-client.d.mts +34 -0
  588. package/lib/helper-client.d.mts.map +1 -0
  589. package/lib/helper-client.d.ts +34 -0
  590. package/lib/helper-client.d.ts.map +1 -0
  591. package/lib/helper-client.js +73 -0
  592. package/lib/helper-client.js.map +1 -0
  593. package/lib/helper-client.mjs +70 -0
  594. package/lib/helper-client.mjs.map +1 -0
  595. package/lib/middleware.d.mts +96 -0
  596. package/lib/middleware.d.mts.map +1 -0
  597. package/lib/middleware.d.ts +96 -0
  598. package/lib/middleware.d.ts.map +1 -0
  599. package/lib/middleware.js +711 -0
  600. package/lib/middleware.js.map +1 -0
  601. package/lib/middleware.mjs +706 -0
  602. package/lib/middleware.mjs.map +1 -0
  603. package/lib/parser.d.mts +32 -0
  604. package/lib/parser.d.mts.map +1 -0
  605. package/lib/parser.d.ts +32 -0
  606. package/lib/parser.d.ts.map +1 -0
  607. package/lib/parser.js +66 -0
  608. package/lib/parser.js.map +1 -0
  609. package/lib/parser.mjs +62 -0
  610. package/lib/parser.mjs.map +1 -0
  611. package/lib/sessions/accumulate.d.mts +22 -0
  612. package/lib/sessions/accumulate.d.mts.map +1 -0
  613. package/lib/sessions/accumulate.d.ts +22 -0
  614. package/lib/sessions/accumulate.d.ts.map +1 -0
  615. package/lib/sessions/accumulate.js +87 -0
  616. package/lib/sessions/accumulate.js.map +1 -0
  617. package/lib/sessions/accumulate.mjs +84 -0
  618. package/lib/sessions/accumulate.mjs.map +1 -0
  619. package/lib/tools/BetaRunnableTool.d.mts +68 -0
  620. package/lib/tools/BetaRunnableTool.d.mts.map +1 -0
  621. package/lib/tools/BetaRunnableTool.d.ts +68 -0
  622. package/lib/tools/BetaRunnableTool.d.ts.map +1 -0
  623. package/lib/tools/BetaRunnableTool.js +40 -0
  624. package/lib/tools/BetaRunnableTool.js.map +1 -0
  625. package/lib/tools/BetaRunnableTool.mjs +35 -0
  626. package/lib/tools/BetaRunnableTool.mjs.map +1 -0
  627. package/lib/tools/BetaToolRunner.d.mts +161 -0
  628. package/lib/tools/BetaToolRunner.d.mts.map +1 -0
  629. package/lib/tools/BetaToolRunner.d.ts +161 -0
  630. package/lib/tools/BetaToolRunner.d.ts.map +1 -0
  631. package/lib/tools/BetaToolRunner.js +400 -0
  632. package/lib/tools/BetaToolRunner.js.map +1 -0
  633. package/lib/tools/BetaToolRunner.mjs +396 -0
  634. package/lib/tools/BetaToolRunner.mjs.map +1 -0
  635. package/lib/tools/CompactionControl.d.mts +30 -0
  636. package/lib/tools/CompactionControl.d.mts.map +1 -0
  637. package/lib/tools/CompactionControl.d.ts +30 -0
  638. package/lib/tools/CompactionControl.d.ts.map +1 -0
  639. package/lib/tools/CompactionControl.js +28 -0
  640. package/lib/tools/CompactionControl.js.map +1 -0
  641. package/lib/tools/CompactionControl.mjs +25 -0
  642. package/lib/tools/CompactionControl.mjs.map +1 -0
  643. package/lib/tools/SessionToolRunner.d.mts +154 -0
  644. package/lib/tools/SessionToolRunner.d.mts.map +1 -0
  645. package/lib/tools/SessionToolRunner.d.ts +154 -0
  646. package/lib/tools/SessionToolRunner.d.ts.map +1 -0
  647. package/lib/tools/SessionToolRunner.js +474 -0
  648. package/lib/tools/SessionToolRunner.js.map +1 -0
  649. package/lib/tools/SessionToolRunner.mjs +470 -0
  650. package/lib/tools/SessionToolRunner.mjs.map +1 -0
  651. package/lib/tools/ToolError.d.mts +33 -0
  652. package/lib/tools/ToolError.d.mts.map +1 -0
  653. package/lib/tools/ToolError.d.ts +33 -0
  654. package/lib/tools/ToolError.d.ts.map +1 -0
  655. package/lib/tools/ToolError.js +42 -0
  656. package/lib/tools/ToolError.js.map +1 -0
  657. package/lib/tools/ToolError.mjs +38 -0
  658. package/lib/tools/ToolError.mjs.map +1 -0
  659. package/lib/tools/ToolRunner.d.mts +132 -0
  660. package/lib/tools/ToolRunner.d.mts.map +1 -0
  661. package/lib/tools/ToolRunner.d.ts +132 -0
  662. package/lib/tools/ToolRunner.d.ts.map +1 -0
  663. package/lib/tools/ToolRunner.js +294 -0
  664. package/lib/tools/ToolRunner.js.map +1 -0
  665. package/lib/tools/ToolRunner.mjs +290 -0
  666. package/lib/tools/ToolRunner.mjs.map +1 -0
  667. package/lib/transform-json-schema.d.mts +3 -0
  668. package/lib/transform-json-schema.d.mts.map +1 -0
  669. package/lib/transform-json-schema.d.ts +3 -0
  670. package/lib/transform-json-schema.d.ts.map +1 -0
  671. package/lib/transform-json-schema.js +114 -0
  672. package/lib/transform-json-schema.js.map +1 -0
  673. package/lib/transform-json-schema.mjs +111 -0
  674. package/lib/transform-json-schema.mjs.map +1 -0
  675. package/package.json +266 -0
  676. package/pagination.d.mts +3 -0
  677. package/pagination.d.mts.map +1 -0
  678. package/pagination.d.ts +3 -0
  679. package/pagination.d.ts.map +1 -0
  680. package/pagination.js +6 -0
  681. package/pagination.js.map +1 -0
  682. package/pagination.mjs +3 -0
  683. package/pagination.mjs.map +1 -0
  684. package/resource.d.mts +3 -0
  685. package/resource.d.mts.map +1 -0
  686. package/resource.d.ts +3 -0
  687. package/resource.d.ts.map +1 -0
  688. package/resource.js +6 -0
  689. package/resource.js.map +1 -0
  690. package/resource.mjs +3 -0
  691. package/resource.mjs.map +1 -0
  692. package/resources/beta/agents/agents.d.mts +917 -0
  693. package/resources/beta/agents/agents.d.mts.map +1 -0
  694. package/resources/beta/agents/agents.d.ts +917 -0
  695. package/resources/beta/agents/agents.d.ts.map +1 -0
  696. package/resources/beta/agents/agents.js +133 -0
  697. package/resources/beta/agents/agents.js.map +1 -0
  698. package/resources/beta/agents/agents.mjs +128 -0
  699. package/resources/beta/agents/agents.mjs.map +1 -0
  700. package/resources/beta/agents/index.d.mts +3 -0
  701. package/resources/beta/agents/index.d.mts.map +1 -0
  702. package/resources/beta/agents/index.d.ts +3 -0
  703. package/resources/beta/agents/index.d.ts.map +1 -0
  704. package/resources/beta/agents/index.js +9 -0
  705. package/resources/beta/agents/index.js.map +1 -0
  706. package/resources/beta/agents/index.mjs +4 -0
  707. package/resources/beta/agents/index.mjs.map +1 -0
  708. package/resources/beta/agents/versions.d.mts +33 -0
  709. package/resources/beta/agents/versions.d.mts.map +1 -0
  710. package/resources/beta/agents/versions.d.ts +33 -0
  711. package/resources/beta/agents/versions.d.ts.map +1 -0
  712. package/resources/beta/agents/versions.js +36 -0
  713. package/resources/beta/agents/versions.js.map +1 -0
  714. package/resources/beta/agents/versions.mjs +32 -0
  715. package/resources/beta/agents/versions.mjs.map +1 -0
  716. package/resources/beta/agents.d.mts +2 -0
  717. package/resources/beta/agents.d.mts.map +1 -0
  718. package/resources/beta/agents.d.ts +2 -0
  719. package/resources/beta/agents.d.ts.map +1 -0
  720. package/resources/beta/agents.js +6 -0
  721. package/resources/beta/agents.js.map +1 -0
  722. package/resources/beta/agents.mjs +3 -0
  723. package/resources/beta/agents.mjs.map +1 -0
  724. package/resources/beta/beta.d.mts +102 -0
  725. package/resources/beta/beta.d.mts.map +1 -0
  726. package/resources/beta/beta.d.ts +102 -0
  727. package/resources/beta/beta.d.ts.map +1 -0
  728. package/resources/beta/beta.js +65 -0
  729. package/resources/beta/beta.js.map +1 -0
  730. package/resources/beta/beta.mjs +60 -0
  731. package/resources/beta/beta.mjs.map +1 -0
  732. package/resources/beta/deployment-runs.d.mts +311 -0
  733. package/resources/beta/deployment-runs.d.mts.map +1 -0
  734. package/resources/beta/deployment-runs.d.ts +311 -0
  735. package/resources/beta/deployment-runs.d.ts.map +1 -0
  736. package/resources/beta/deployment-runs.js +60 -0
  737. package/resources/beta/deployment-runs.js.map +1 -0
  738. package/resources/beta/deployment-runs.mjs +56 -0
  739. package/resources/beta/deployment-runs.mjs.map +1 -0
  740. package/resources/beta/deployments.d.mts +688 -0
  741. package/resources/beta/deployments.d.mts.map +1 -0
  742. package/resources/beta/deployments.d.ts +688 -0
  743. package/resources/beta/deployments.d.ts.map +1 -0
  744. package/resources/beta/deployments.js +201 -0
  745. package/resources/beta/deployments.js.map +1 -0
  746. package/resources/beta/deployments.mjs +197 -0
  747. package/resources/beta/deployments.mjs.map +1 -0
  748. package/resources/beta/environments/environments.d.mts +463 -0
  749. package/resources/beta/environments/environments.d.mts.map +1 -0
  750. package/resources/beta/environments/environments.d.ts +463 -0
  751. package/resources/beta/environments/environments.d.ts.map +1 -0
  752. package/resources/beta/environments/environments.js +150 -0
  753. package/resources/beta/environments/environments.js.map +1 -0
  754. package/resources/beta/environments/environments.mjs +145 -0
  755. package/resources/beta/environments/environments.mjs.map +1 -0
  756. package/resources/beta/environments/index.d.mts +3 -0
  757. package/resources/beta/environments/index.d.mts.map +1 -0
  758. package/resources/beta/environments/index.d.ts +3 -0
  759. package/resources/beta/environments/index.d.ts.map +1 -0
  760. package/resources/beta/environments/index.js +9 -0
  761. package/resources/beta/environments/index.js.map +1 -0
  762. package/resources/beta/environments/index.mjs +4 -0
  763. package/resources/beta/environments/index.mjs.map +1 -0
  764. package/resources/beta/environments/work.d.mts +499 -0
  765. package/resources/beta/environments/work.d.mts.map +1 -0
  766. package/resources/beta/environments/work.d.ts +499 -0
  767. package/resources/beta/environments/work.d.ts.map +1 -0
  768. package/resources/beta/environments/work.js +281 -0
  769. package/resources/beta/environments/work.js.map +1 -0
  770. package/resources/beta/environments/work.mjs +275 -0
  771. package/resources/beta/environments/work.mjs.map +1 -0
  772. package/resources/beta/environments.d.mts +2 -0
  773. package/resources/beta/environments.d.mts.map +1 -0
  774. package/resources/beta/environments.d.ts +2 -0
  775. package/resources/beta/environments.d.ts.map +1 -0
  776. package/resources/beta/environments.js +6 -0
  777. package/resources/beta/environments.js.map +1 -0
  778. package/resources/beta/environments.mjs +3 -0
  779. package/resources/beta/environments.mjs.map +1 -0
  780. package/resources/beta/files.d.mts +179 -0
  781. package/resources/beta/files.d.mts.map +1 -0
  782. package/resources/beta/files.d.ts +179 -0
  783. package/resources/beta/files.d.ts.map +1 -0
  784. package/resources/beta/files.js +132 -0
  785. package/resources/beta/files.js.map +1 -0
  786. package/resources/beta/files.mjs +128 -0
  787. package/resources/beta/files.mjs.map +1 -0
  788. package/resources/beta/index.d.mts +15 -0
  789. package/resources/beta/index.d.mts.map +1 -0
  790. package/resources/beta/index.d.ts +15 -0
  791. package/resources/beta/index.d.ts.map +1 -0
  792. package/resources/beta/index.js +33 -0
  793. package/resources/beta/index.js.map +1 -0
  794. package/resources/beta/index.mjs +16 -0
  795. package/resources/beta/index.mjs.map +1 -0
  796. package/resources/beta/memory-stores/index.d.mts +4 -0
  797. package/resources/beta/memory-stores/index.d.mts.map +1 -0
  798. package/resources/beta/memory-stores/index.d.ts +4 -0
  799. package/resources/beta/memory-stores/index.d.ts.map +1 -0
  800. package/resources/beta/memory-stores/index.js +11 -0
  801. package/resources/beta/memory-stores/index.js.map +1 -0
  802. package/resources/beta/memory-stores/index.mjs +5 -0
  803. package/resources/beta/memory-stores/index.mjs.map +1 -0
  804. package/resources/beta/memory-stores/memories.d.mts +368 -0
  805. package/resources/beta/memory-stores/memories.d.mts.map +1 -0
  806. package/resources/beta/memory-stores/memories.d.ts +368 -0
  807. package/resources/beta/memory-stores/memories.d.ts.map +1 -0
  808. package/resources/beta/memory-stores/memories.js +134 -0
  809. package/resources/beta/memory-stores/memories.js.map +1 -0
  810. package/resources/beta/memory-stores/memories.mjs +130 -0
  811. package/resources/beta/memory-stores/memories.mjs.map +1 -0
  812. package/resources/beta/memory-stores/memory-stores.d.mts +235 -0
  813. package/resources/beta/memory-stores/memory-stores.d.mts.map +1 -0
  814. package/resources/beta/memory-stores/memory-stores.d.ts +235 -0
  815. package/resources/beta/memory-stores/memory-stores.d.ts.map +1 -0
  816. package/resources/beta/memory-stores/memory-stores.js +149 -0
  817. package/resources/beta/memory-stores/memory-stores.js.map +1 -0
  818. package/resources/beta/memory-stores/memory-stores.mjs +144 -0
  819. package/resources/beta/memory-stores/memory-stores.mjs.map +1 -0
  820. package/resources/beta/memory-stores/memory-versions.d.mts +241 -0
  821. package/resources/beta/memory-stores/memory-versions.d.mts.map +1 -0
  822. package/resources/beta/memory-stores/memory-versions.d.ts +241 -0
  823. package/resources/beta/memory-stores/memory-versions.d.ts.map +1 -0
  824. package/resources/beta/memory-stores/memory-versions.js +85 -0
  825. package/resources/beta/memory-stores/memory-versions.js.map +1 -0
  826. package/resources/beta/memory-stores/memory-versions.mjs +81 -0
  827. package/resources/beta/memory-stores/memory-versions.mjs.map +1 -0
  828. package/resources/beta/memory-stores.d.mts +2 -0
  829. package/resources/beta/memory-stores.d.mts.map +1 -0
  830. package/resources/beta/memory-stores.d.ts +2 -0
  831. package/resources/beta/memory-stores.d.ts.map +1 -0
  832. package/resources/beta/memory-stores.js +6 -0
  833. package/resources/beta/memory-stores.js.map +1 -0
  834. package/resources/beta/memory-stores.mjs +3 -0
  835. package/resources/beta/memory-stores.mjs.map +1 -0
  836. package/resources/beta/messages/batches.d.mts +689 -0
  837. package/resources/beta/messages/batches.d.mts.map +1 -0
  838. package/resources/beta/messages/batches.d.ts +689 -0
  839. package/resources/beta/messages/batches.d.ts.map +1 -0
  840. package/resources/beta/messages/batches.js +212 -0
  841. package/resources/beta/messages/batches.js.map +1 -0
  842. package/resources/beta/messages/batches.mjs +208 -0
  843. package/resources/beta/messages/batches.mjs.map +1 -0
  844. package/resources/beta/messages/index.d.mts +4 -0
  845. package/resources/beta/messages/index.d.mts.map +1 -0
  846. package/resources/beta/messages/index.d.ts +4 -0
  847. package/resources/beta/messages/index.d.ts.map +1 -0
  848. package/resources/beta/messages/index.js +12 -0
  849. package/resources/beta/messages/index.js.map +1 -0
  850. package/resources/beta/messages/index.mjs +5 -0
  851. package/resources/beta/messages/index.mjs.map +1 -0
  852. package/resources/beta/messages/messages.d.mts +3795 -0
  853. package/resources/beta/messages/messages.d.mts.map +1 -0
  854. package/resources/beta/messages/messages.d.ts +3795 -0
  855. package/resources/beta/messages/messages.d.ts.map +1 -0
  856. package/resources/beta/messages/messages.js +188 -0
  857. package/resources/beta/messages/messages.js.map +1 -0
  858. package/resources/beta/messages/messages.mjs +181 -0
  859. package/resources/beta/messages/messages.mjs.map +1 -0
  860. package/resources/beta/messages.d.mts +2 -0
  861. package/resources/beta/messages.d.mts.map +1 -0
  862. package/resources/beta/messages.d.ts +2 -0
  863. package/resources/beta/messages.d.ts.map +1 -0
  864. package/resources/beta/messages.js +6 -0
  865. package/resources/beta/messages.js.map +1 -0
  866. package/resources/beta/messages.mjs +3 -0
  867. package/resources/beta/messages.mjs.map +1 -0
  868. package/resources/beta/models.d.mts +223 -0
  869. package/resources/beta/models.d.mts.map +1 -0
  870. package/resources/beta/models.d.ts +223 -0
  871. package/resources/beta/models.d.ts.map +1 -0
  872. package/resources/beta/models.js +65 -0
  873. package/resources/beta/models.js.map +1 -0
  874. package/resources/beta/models.mjs +61 -0
  875. package/resources/beta/models.mjs.map +1 -0
  876. package/resources/beta/sessions/events.d.mts +1466 -0
  877. package/resources/beta/sessions/events.d.mts.map +1 -0
  878. package/resources/beta/sessions/events.d.ts +1466 -0
  879. package/resources/beta/sessions/events.d.ts.map +1 -0
  880. package/resources/beta/sessions/events.js +122 -0
  881. package/resources/beta/sessions/events.js.map +1 -0
  882. package/resources/beta/sessions/events.mjs +117 -0
  883. package/resources/beta/sessions/events.mjs.map +1 -0
  884. package/resources/beta/sessions/index.d.mts +5 -0
  885. package/resources/beta/sessions/index.d.mts.map +1 -0
  886. package/resources/beta/sessions/index.d.ts +5 -0
  887. package/resources/beta/sessions/index.d.ts.map +1 -0
  888. package/resources/beta/sessions/index.js +13 -0
  889. package/resources/beta/sessions/index.js.map +1 -0
  890. package/resources/beta/sessions/index.mjs +6 -0
  891. package/resources/beta/sessions/index.mjs.map +1 -0
  892. package/resources/beta/sessions/resources.d.mts +231 -0
  893. package/resources/beta/sessions/resources.d.mts.map +1 -0
  894. package/resources/beta/sessions/resources.d.ts +231 -0
  895. package/resources/beta/sessions/resources.d.ts.map +1 -0
  896. package/resources/beta/sessions/resources.js +135 -0
  897. package/resources/beta/sessions/resources.js.map +1 -0
  898. package/resources/beta/sessions/resources.mjs +131 -0
  899. package/resources/beta/sessions/resources.mjs.map +1 -0
  900. package/resources/beta/sessions/sessions.d.mts +819 -0
  901. package/resources/beta/sessions/sessions.d.mts.map +1 -0
  902. package/resources/beta/sessions/sessions.d.ts +819 -0
  903. package/resources/beta/sessions/sessions.d.ts.map +1 -0
  904. package/resources/beta/sessions/sessions.js +159 -0
  905. package/resources/beta/sessions/sessions.js.map +1 -0
  906. package/resources/beta/sessions/sessions.mjs +154 -0
  907. package/resources/beta/sessions/sessions.mjs.map +1 -0
  908. package/resources/beta/sessions/threads/events.d.mts +64 -0
  909. package/resources/beta/sessions/threads/events.d.mts.map +1 -0
  910. package/resources/beta/sessions/threads/events.d.ts +64 -0
  911. package/resources/beta/sessions/threads/events.d.ts.map +1 -0
  912. package/resources/beta/sessions/threads/events.js +60 -0
  913. package/resources/beta/sessions/threads/events.js.map +1 -0
  914. package/resources/beta/sessions/threads/events.mjs +56 -0
  915. package/resources/beta/sessions/threads/events.mjs.map +1 -0
  916. package/resources/beta/sessions/threads/index.d.mts +3 -0
  917. package/resources/beta/sessions/threads/index.d.mts.map +1 -0
  918. package/resources/beta/sessions/threads/index.d.ts +3 -0
  919. package/resources/beta/sessions/threads/index.d.ts.map +1 -0
  920. package/resources/beta/sessions/threads/index.js +9 -0
  921. package/resources/beta/sessions/threads/index.js.map +1 -0
  922. package/resources/beta/sessions/threads/index.mjs +4 -0
  923. package/resources/beta/sessions/threads/index.mjs.map +1 -0
  924. package/resources/beta/sessions/threads/threads.d.mts +183 -0
  925. package/resources/beta/sessions/threads/threads.d.mts.map +1 -0
  926. package/resources/beta/sessions/threads/threads.d.ts +183 -0
  927. package/resources/beta/sessions/threads/threads.d.ts.map +1 -0
  928. package/resources/beta/sessions/threads/threads.js +88 -0
  929. package/resources/beta/sessions/threads/threads.js.map +1 -0
  930. package/resources/beta/sessions/threads/threads.mjs +83 -0
  931. package/resources/beta/sessions/threads/threads.mjs.map +1 -0
  932. package/resources/beta/sessions/threads.d.mts +2 -0
  933. package/resources/beta/sessions/threads.d.mts.map +1 -0
  934. package/resources/beta/sessions/threads.d.ts +2 -0
  935. package/resources/beta/sessions/threads.d.ts.map +1 -0
  936. package/resources/beta/sessions/threads.js +6 -0
  937. package/resources/beta/sessions/threads.js.map +1 -0
  938. package/resources/beta/sessions/threads.mjs +3 -0
  939. package/resources/beta/sessions/threads.mjs.map +1 -0
  940. package/resources/beta/sessions.d.mts +2 -0
  941. package/resources/beta/sessions.d.mts.map +1 -0
  942. package/resources/beta/sessions.d.ts +2 -0
  943. package/resources/beta/sessions.d.ts.map +1 -0
  944. package/resources/beta/sessions.js +6 -0
  945. package/resources/beta/sessions.js.map +1 -0
  946. package/resources/beta/sessions.mjs +3 -0
  947. package/resources/beta/sessions.mjs.map +1 -0
  948. package/resources/beta/skills/index.d.mts +3 -0
  949. package/resources/beta/skills/index.d.mts.map +1 -0
  950. package/resources/beta/skills/index.d.ts +3 -0
  951. package/resources/beta/skills/index.d.ts.map +1 -0
  952. package/resources/beta/skills/index.js +9 -0
  953. package/resources/beta/skills/index.js.map +1 -0
  954. package/resources/beta/skills/index.mjs +4 -0
  955. package/resources/beta/skills/index.mjs.map +1 -0
  956. package/resources/beta/skills/skills.d.mts +258 -0
  957. package/resources/beta/skills/skills.d.mts.map +1 -0
  958. package/resources/beta/skills/skills.d.ts +258 -0
  959. package/resources/beta/skills/skills.d.ts.map +1 -0
  960. package/resources/beta/skills/skills.js +105 -0
  961. package/resources/beta/skills/skills.js.map +1 -0
  962. package/resources/beta/skills/skills.mjs +100 -0
  963. package/resources/beta/skills/skills.mjs.map +1 -0
  964. package/resources/beta/skills/versions.d.mts +298 -0
  965. package/resources/beta/skills/versions.d.mts.map +1 -0
  966. package/resources/beta/skills/versions.d.ts +298 -0
  967. package/resources/beta/skills/versions.d.ts.map +1 -0
  968. package/resources/beta/skills/versions.js +137 -0
  969. package/resources/beta/skills/versions.js.map +1 -0
  970. package/resources/beta/skills/versions.mjs +133 -0
  971. package/resources/beta/skills/versions.mjs.map +1 -0
  972. package/resources/beta/skills.d.mts +2 -0
  973. package/resources/beta/skills.d.mts.map +1 -0
  974. package/resources/beta/skills.d.ts +2 -0
  975. package/resources/beta/skills.d.ts.map +1 -0
  976. package/resources/beta/skills.js +6 -0
  977. package/resources/beta/skills.js.map +1 -0
  978. package/resources/beta/skills.mjs +3 -0
  979. package/resources/beta/skills.mjs.map +1 -0
  980. package/resources/beta/user-profiles.d.mts +228 -0
  981. package/resources/beta/user-profiles.d.mts.map +1 -0
  982. package/resources/beta/user-profiles.d.ts +228 -0
  983. package/resources/beta/user-profiles.d.ts.map +1 -0
  984. package/resources/beta/user-profiles.js +123 -0
  985. package/resources/beta/user-profiles.js.map +1 -0
  986. package/resources/beta/user-profiles.mjs +119 -0
  987. package/resources/beta/user-profiles.mjs.map +1 -0
  988. package/resources/beta/vaults/credentials.d.mts +843 -0
  989. package/resources/beta/vaults/credentials.d.mts.map +1 -0
  990. package/resources/beta/vaults/credentials.d.ts +843 -0
  991. package/resources/beta/vaults/credentials.d.ts.map +1 -0
  992. package/resources/beta/vaults/credentials.js +177 -0
  993. package/resources/beta/vaults/credentials.js.map +1 -0
  994. package/resources/beta/vaults/credentials.mjs +173 -0
  995. package/resources/beta/vaults/credentials.mjs.map +1 -0
  996. package/resources/beta/vaults/index.d.mts +3 -0
  997. package/resources/beta/vaults/index.d.mts.map +1 -0
  998. package/resources/beta/vaults/index.d.ts +3 -0
  999. package/resources/beta/vaults/index.d.ts.map +1 -0
  1000. package/resources/beta/vaults/index.js +9 -0
  1001. package/resources/beta/vaults/index.js.map +1 -0
  1002. package/resources/beta/vaults/index.mjs +4 -0
  1003. package/resources/beta/vaults/index.mjs.map +1 -0
  1004. package/resources/beta/vaults/vaults.d.mts +192 -0
  1005. package/resources/beta/vaults/vaults.d.mts.map +1 -0
  1006. package/resources/beta/vaults/vaults.d.ts +192 -0
  1007. package/resources/beta/vaults/vaults.d.ts.map +1 -0
  1008. package/resources/beta/vaults/vaults.js +149 -0
  1009. package/resources/beta/vaults/vaults.js.map +1 -0
  1010. package/resources/beta/vaults/vaults.mjs +144 -0
  1011. package/resources/beta/vaults/vaults.mjs.map +1 -0
  1012. package/resources/beta/vaults.d.mts +2 -0
  1013. package/resources/beta/vaults.d.mts.map +1 -0
  1014. package/resources/beta/vaults.d.ts +2 -0
  1015. package/resources/beta/vaults.d.ts.map +1 -0
  1016. package/resources/beta/vaults.js +6 -0
  1017. package/resources/beta/vaults.js.map +1 -0
  1018. package/resources/beta/vaults.mjs +3 -0
  1019. package/resources/beta/vaults.mjs.map +1 -0
  1020. package/resources/beta/webhooks.d.mts +399 -0
  1021. package/resources/beta/webhooks.d.mts.map +1 -0
  1022. package/resources/beta/webhooks.d.ts +399 -0
  1023. package/resources/beta/webhooks.d.ts.map +1 -0
  1024. package/resources/beta/webhooks.js +25 -0
  1025. package/resources/beta/webhooks.js.map +1 -0
  1026. package/resources/beta/webhooks.mjs +21 -0
  1027. package/resources/beta/webhooks.mjs.map +1 -0
  1028. package/resources/beta.d.mts +2 -0
  1029. package/resources/beta.d.mts.map +1 -0
  1030. package/resources/beta.d.ts +2 -0
  1031. package/resources/beta.d.ts.map +1 -0
  1032. package/resources/beta.js +6 -0
  1033. package/resources/beta.js.map +1 -0
  1034. package/resources/beta.mjs +3 -0
  1035. package/resources/beta.mjs.map +1 -0
  1036. package/resources/completions.d.mts +173 -0
  1037. package/resources/completions.d.mts.map +1 -0
  1038. package/resources/completions.d.ts +173 -0
  1039. package/resources/completions.d.ts.map +1 -0
  1040. package/resources/completions.js +23 -0
  1041. package/resources/completions.js.map +1 -0
  1042. package/resources/completions.mjs +19 -0
  1043. package/resources/completions.mjs.map +1 -0
  1044. package/resources/index.d.mts +6 -0
  1045. package/resources/index.d.mts.map +1 -0
  1046. package/resources/index.d.ts +6 -0
  1047. package/resources/index.d.ts.map +1 -0
  1048. package/resources/index.js +15 -0
  1049. package/resources/index.js.map +1 -0
  1050. package/resources/index.mjs +7 -0
  1051. package/resources/index.mjs.map +1 -0
  1052. package/resources/messages/batches.d.mts +313 -0
  1053. package/resources/messages/batches.d.mts.map +1 -0
  1054. package/resources/messages/batches.d.ts +313 -0
  1055. package/resources/messages/batches.d.ts.map +1 -0
  1056. package/resources/messages/batches.js +161 -0
  1057. package/resources/messages/batches.js.map +1 -0
  1058. package/resources/messages/batches.mjs +157 -0
  1059. package/resources/messages/batches.mjs.map +1 -0
  1060. package/resources/messages/index.d.mts +3 -0
  1061. package/resources/messages/index.d.mts.map +1 -0
  1062. package/resources/messages/index.d.ts +3 -0
  1063. package/resources/messages/index.d.ts.map +1 -0
  1064. package/resources/messages/index.js +9 -0
  1065. package/resources/messages/index.js.map +1 -0
  1066. package/resources/messages/index.mjs +4 -0
  1067. package/resources/messages/index.mjs.map +1 -0
  1068. package/resources/messages/messages.d.mts +2580 -0
  1069. package/resources/messages/messages.d.mts.map +1 -0
  1070. package/resources/messages/messages.d.ts +2580 -0
  1071. package/resources/messages/messages.d.ts.map +1 -0
  1072. package/resources/messages/messages.js +148 -0
  1073. package/resources/messages/messages.js.map +1 -0
  1074. package/resources/messages/messages.mjs +143 -0
  1075. package/resources/messages/messages.mjs.map +1 -0
  1076. package/resources/messages.d.mts +2 -0
  1077. package/resources/messages.d.mts.map +1 -0
  1078. package/resources/messages.d.ts +2 -0
  1079. package/resources/messages.d.ts.map +1 -0
  1080. package/resources/messages.js +6 -0
  1081. package/resources/messages.js.map +1 -0
  1082. package/resources/messages.mjs +3 -0
  1083. package/resources/messages.mjs.map +1 -0
  1084. package/resources/models.d.mts +197 -0
  1085. package/resources/models.d.mts.map +1 -0
  1086. package/resources/models.d.ts +197 -0
  1087. package/resources/models.d.ts.map +1 -0
  1088. package/resources/models.js +45 -0
  1089. package/resources/models.js.map +1 -0
  1090. package/resources/models.mjs +41 -0
  1091. package/resources/models.mjs.map +1 -0
  1092. package/resources/shared.d.mts +59 -0
  1093. package/resources/shared.d.mts.map +1 -0
  1094. package/resources/shared.d.ts +59 -0
  1095. package/resources/shared.d.ts.map +1 -0
  1096. package/resources/shared.js +4 -0
  1097. package/resources/shared.js.map +1 -0
  1098. package/resources/shared.mjs +3 -0
  1099. package/resources/shared.mjs.map +1 -0
  1100. package/resources/top-level.d.mts +2 -0
  1101. package/resources/top-level.d.mts.map +1 -0
  1102. package/resources/top-level.d.ts +2 -0
  1103. package/resources/top-level.d.ts.map +1 -0
  1104. package/resources/top-level.js +4 -0
  1105. package/resources/top-level.js.map +1 -0
  1106. package/resources/top-level.mjs +3 -0
  1107. package/resources/top-level.mjs.map +1 -0
  1108. package/resources.d.mts +2 -0
  1109. package/resources.d.mts.map +1 -0
  1110. package/resources.d.ts +2 -0
  1111. package/resources.d.ts.map +1 -0
  1112. package/resources.js +5 -0
  1113. package/resources.js.map +1 -0
  1114. package/resources.mjs +2 -0
  1115. package/resources.mjs.map +1 -0
  1116. package/src/_vendor/partial-json-parser/README.md +3 -0
  1117. package/src/_vendor/partial-json-parser/parser.ts +280 -0
  1118. package/src/api-promise.ts +2 -0
  1119. package/src/client.ts +1858 -0
  1120. package/src/core/README.md +3 -0
  1121. package/src/core/api-promise.ts +101 -0
  1122. package/src/core/api.ts +11 -0
  1123. package/src/core/credentials.ts +379 -0
  1124. package/src/core/error.ts +160 -0
  1125. package/src/core/middleware.ts +339 -0
  1126. package/src/core/pagination.ts +378 -0
  1127. package/src/core/resource.ts +11 -0
  1128. package/src/core/streaming.ts +403 -0
  1129. package/src/core/uploads.ts +2 -0
  1130. package/src/error.ts +2 -0
  1131. package/src/helpers/beta/environments.ts +36 -0
  1132. package/src/helpers/beta/json-schema.ts +85 -0
  1133. package/src/helpers/beta/mcp.ts +624 -0
  1134. package/src/helpers/beta/memory.ts +28 -0
  1135. package/src/helpers/beta/zod.ts +81 -0
  1136. package/src/helpers/index.ts +2 -0
  1137. package/src/helpers/json-schema.ts +48 -0
  1138. package/src/helpers/zod.ts +57 -0
  1139. package/src/index.ts +47 -0
  1140. package/src/internal/README.md +3 -0
  1141. package/src/internal/builtin-types.ts +93 -0
  1142. package/src/internal/constants.ts +15 -0
  1143. package/src/internal/decoders/jsonl.ts +48 -0
  1144. package/src/internal/decoders/line.ts +135 -0
  1145. package/src/internal/detect-platform.ts +196 -0
  1146. package/src/internal/errors.ts +33 -0
  1147. package/src/internal/headers.ts +142 -0
  1148. package/src/internal/message-stream-utils.ts +30 -0
  1149. package/src/internal/parse.ts +86 -0
  1150. package/src/internal/qs/LICENSE.md +13 -0
  1151. package/src/internal/qs/README.md +3 -0
  1152. package/src/internal/qs/formats.ts +10 -0
  1153. package/src/internal/qs/index.ts +13 -0
  1154. package/src/internal/qs/stringify.ts +385 -0
  1155. package/src/internal/qs/types.ts +71 -0
  1156. package/src/internal/qs/utils.ts +265 -0
  1157. package/src/internal/request-options.ts +146 -0
  1158. package/src/internal/shim-types.ts +26 -0
  1159. package/src/internal/shims.ts +107 -0
  1160. package/src/internal/stainless-helper-header.ts +122 -0
  1161. package/src/internal/stream-utils.ts +32 -0
  1162. package/src/internal/to-file.ts +159 -0
  1163. package/src/internal/types.ts +93 -0
  1164. package/src/internal/uploads.ts +204 -0
  1165. package/src/internal/utils/abort.ts +21 -0
  1166. package/src/internal/utils/async-queue.ts +66 -0
  1167. package/src/internal/utils/backoff.ts +41 -0
  1168. package/src/internal/utils/base64.ts +40 -0
  1169. package/src/internal/utils/bytes.ts +32 -0
  1170. package/src/internal/utils/env.ts +18 -0
  1171. package/src/internal/utils/log.ts +158 -0
  1172. package/src/internal/utils/path.ts +88 -0
  1173. package/src/internal/utils/promise.ts +18 -0
  1174. package/src/internal/utils/query.ts +7 -0
  1175. package/src/internal/utils/sleep.ts +26 -0
  1176. package/src/internal/utils/time.ts +4 -0
  1177. package/src/internal/utils/uuid.ts +17 -0
  1178. package/src/internal/utils/values.ts +112 -0
  1179. package/src/internal/utils.ts +9 -0
  1180. package/src/lib/.keep +4 -0
  1181. package/src/lib/BetaMessageStream.ts +781 -0
  1182. package/src/lib/MessageStream.ts +740 -0
  1183. package/src/lib/beta-parser.ts +148 -0
  1184. package/src/lib/credentials/credential-chain.ts +292 -0
  1185. package/src/lib/credentials/identity-token.ts +37 -0
  1186. package/src/lib/credentials/oidc-federation.ts +140 -0
  1187. package/src/lib/credentials/token-cache.ts +130 -0
  1188. package/src/lib/credentials/types.ts +295 -0
  1189. package/src/lib/credentials/user-oauth.ts +144 -0
  1190. package/src/lib/credentials.ts +3 -0
  1191. package/src/lib/environments/index.ts +23 -0
  1192. package/src/lib/environments/poller.ts +257 -0
  1193. package/src/lib/environments/worker.ts +404 -0
  1194. package/src/lib/helper-client.ts +102 -0
  1195. package/src/lib/middleware.ts +949 -0
  1196. package/src/lib/parser.ts +125 -0
  1197. package/src/lib/sessions/accumulate.ts +129 -0
  1198. package/src/lib/tools/BetaRunnableTool.ts +130 -0
  1199. package/src/lib/tools/BetaToolRunner.ts +542 -0
  1200. package/src/lib/tools/CompactionControl.ts +57 -0
  1201. package/src/lib/tools/SessionToolRunner.ts +616 -0
  1202. package/src/lib/tools/ToolError.ts +47 -0
  1203. package/src/lib/tools/ToolRunner.ts +381 -0
  1204. package/src/lib/transform-json-schema.ts +124 -0
  1205. package/src/pagination.ts +2 -0
  1206. package/src/resource.ts +2 -0
  1207. package/src/resources/beta/agents/agents.ts +1279 -0
  1208. package/src/resources/beta/agents/index.ts +65 -0
  1209. package/src/resources/beta/agents/versions.ts +58 -0
  1210. package/src/resources/beta/agents.ts +3 -0
  1211. package/src/resources/beta/beta.ts +1267 -0
  1212. package/src/resources/beta/deployment-runs.ts +446 -0
  1213. package/src/resources/beta/deployments.ts +982 -0
  1214. package/src/resources/beta/environments/environments.ts +673 -0
  1215. package/src/resources/beta/environments/index.ts +45 -0
  1216. package/src/resources/beta/environments/work.ts +699 -0
  1217. package/src/resources/beta/environments.ts +3 -0
  1218. package/src/resources/beta/files.ts +294 -0
  1219. package/src/resources/beta/index.ts +570 -0
  1220. package/src/resources/beta/memory-stores/index.ts +47 -0
  1221. package/src/resources/beta/memory-stores/memories.ts +535 -0
  1222. package/src/resources/beta/memory-stores/memory-stores.ts +422 -0
  1223. package/src/resources/beta/memory-stores/memory-versions.ts +348 -0
  1224. package/src/resources/beta/memory-stores.ts +3 -0
  1225. package/src/resources/beta/messages/batches.ts +877 -0
  1226. package/src/resources/beta/messages/index.ts +261 -0
  1227. package/src/resources/beta/messages/messages.ts +5454 -0
  1228. package/src/resources/beta/messages.ts +3 -0
  1229. package/src/resources/beta/models.ts +301 -0
  1230. package/src/resources/beta/sessions/events.ts +2036 -0
  1231. package/src/resources/beta/sessions/index.ts +154 -0
  1232. package/src/resources/beta/sessions/resources.ts +373 -0
  1233. package/src/resources/beta/sessions/sessions.ts +1341 -0
  1234. package/src/resources/beta/sessions/threads/events.ts +107 -0
  1235. package/src/resources/beta/sessions/threads/index.ts +15 -0
  1236. package/src/resources/beta/sessions/threads/threads.ts +314 -0
  1237. package/src/resources/beta/sessions/threads.ts +3 -0
  1238. package/src/resources/beta/sessions.ts +3 -0
  1239. package/src/resources/beta/skills/index.ts +27 -0
  1240. package/src/resources/beta/skills/skills.ts +392 -0
  1241. package/src/resources/beta/skills/versions.ts +433 -0
  1242. package/src/resources/beta/skills.ts +3 -0
  1243. package/src/resources/beta/user-profiles.ts +330 -0
  1244. package/src/resources/beta/vaults/credentials.ts +1172 -0
  1245. package/src/resources/beta/vaults/index.ts +66 -0
  1246. package/src/resources/beta/vaults/vaults.ts +409 -0
  1247. package/src/resources/beta/vaults.ts +3 -0
  1248. package/src/resources/beta/webhooks.ts +647 -0
  1249. package/src/resources/beta.ts +3 -0
  1250. package/src/resources/completions.ts +221 -0
  1251. package/src/resources/index.ts +211 -0
  1252. package/src/resources/messages/batches.ts +414 -0
  1253. package/src/resources/messages/index.ts +194 -0
  1254. package/src/resources/messages/messages.ts +3765 -0
  1255. package/src/resources/messages.ts +3 -0
  1256. package/src/resources/models.ts +274 -0
  1257. package/src/resources/shared.ts +112 -0
  1258. package/src/resources/top-level.ts +3 -0
  1259. package/src/resources.ts +1 -0
  1260. package/src/streaming.ts +2 -0
  1261. package/src/tools/agent-toolset/fs-util.ts +157 -0
  1262. package/src/tools/agent-toolset/node.browser.ts +90 -0
  1263. package/src/tools/agent-toolset/node.ts +817 -0
  1264. package/src/tools/agent-toolset/skills.ts +256 -0
  1265. package/src/tools/memory/node.browser.ts +64 -0
  1266. package/src/tools/memory/node.ts +400 -0
  1267. package/src/tsconfig.json +11 -0
  1268. package/src/uploads.ts +2 -0
  1269. package/src/version.ts +1 -0
  1270. package/streaming.d.mts +3 -0
  1271. package/streaming.d.mts.map +1 -0
  1272. package/streaming.d.ts +3 -0
  1273. package/streaming.d.ts.map +1 -0
  1274. package/streaming.js +6 -0
  1275. package/streaming.js.map +1 -0
  1276. package/streaming.mjs +3 -0
  1277. package/streaming.mjs.map +1 -0
  1278. package/tools/agent-toolset/fs-util.d.mts +50 -0
  1279. package/tools/agent-toolset/fs-util.d.mts.map +1 -0
  1280. package/tools/agent-toolset/fs-util.d.ts +50 -0
  1281. package/tools/agent-toolset/fs-util.d.ts.map +1 -0
  1282. package/tools/agent-toolset/fs-util.js +162 -0
  1283. package/tools/agent-toolset/fs-util.js.map +1 -0
  1284. package/tools/agent-toolset/fs-util.mjs +154 -0
  1285. package/tools/agent-toolset/fs-util.mjs.map +1 -0
  1286. package/tools/agent-toolset/node.browser.d.mts +42 -0
  1287. package/tools/agent-toolset/node.browser.d.mts.map +1 -0
  1288. package/tools/agent-toolset/node.browser.d.ts +42 -0
  1289. package/tools/agent-toolset/node.browser.d.ts.map +1 -0
  1290. package/tools/agent-toolset/node.browser.js +81 -0
  1291. package/tools/agent-toolset/node.browser.js.map +1 -0
  1292. package/tools/agent-toolset/node.browser.mjs +66 -0
  1293. package/tools/agent-toolset/node.browser.mjs.map +1 -0
  1294. package/tools/agent-toolset/node.d.mts +149 -0
  1295. package/tools/agent-toolset/node.d.mts.map +1 -0
  1296. package/tools/agent-toolset/node.d.ts +149 -0
  1297. package/tools/agent-toolset/node.d.ts.map +1 -0
  1298. package/tools/agent-toolset/node.js +768 -0
  1299. package/tools/agent-toolset/node.js.map +1 -0
  1300. package/tools/agent-toolset/node.mjs +753 -0
  1301. package/tools/agent-toolset/node.mjs.map +1 -0
  1302. package/tools/agent-toolset/skills.d.mts +50 -0
  1303. package/tools/agent-toolset/skills.d.mts.map +1 -0
  1304. package/tools/agent-toolset/skills.d.ts +50 -0
  1305. package/tools/agent-toolset/skills.d.ts.map +1 -0
  1306. package/tools/agent-toolset/skills.js +249 -0
  1307. package/tools/agent-toolset/skills.js.map +1 -0
  1308. package/tools/agent-toolset/skills.mjs +243 -0
  1309. package/tools/agent-toolset/skills.mjs.map +1 -0
  1310. package/tools/memory/node.browser.d.mts +27 -0
  1311. package/tools/memory/node.browser.d.mts.map +1 -0
  1312. package/tools/memory/node.browser.d.ts +27 -0
  1313. package/tools/memory/node.browser.d.ts.map +1 -0
  1314. package/tools/memory/node.browser.js +49 -0
  1315. package/tools/memory/node.browser.js.map +1 -0
  1316. package/tools/memory/node.browser.mjs +44 -0
  1317. package/tools/memory/node.browser.mjs.map +1 -0
  1318. package/tools/memory/node.d.mts +18 -0
  1319. package/tools/memory/node.d.mts.map +1 -0
  1320. package/tools/memory/node.d.ts +18 -0
  1321. package/tools/memory/node.d.ts.map +1 -0
  1322. package/tools/memory/node.js +331 -0
  1323. package/tools/memory/node.js.map +1 -0
  1324. package/tools/memory/node.mjs +325 -0
  1325. package/tools/memory/node.mjs.map +1 -0
  1326. package/uploads.d.mts +3 -0
  1327. package/uploads.d.mts.map +1 -0
  1328. package/uploads.d.ts +3 -0
  1329. package/uploads.d.ts.map +1 -0
  1330. package/uploads.js +6 -0
  1331. package/uploads.js.map +1 -0
  1332. package/uploads.mjs +3 -0
  1333. package/uploads.mjs.map +1 -0
  1334. package/version.d.mts +2 -0
  1335. package/version.d.mts.map +1 -0
  1336. package/version.d.ts +2 -0
  1337. package/version.d.ts.map +1 -0
  1338. package/version.js +5 -0
  1339. package/version.js.map +1 -0
  1340. package/version.mjs +2 -0
  1341. package/version.mjs.map +1 -0
@@ -0,0 +1,817 @@
1
+ /**
2
+ * Node implementation of the `agent_toolset_20260401` tools — `bash`, `read`,
3
+ * `write`, `edit`, `glob`, `grep` — plus the workdir/skills
4
+ * {@link AgentToolContext}.
5
+ *
6
+ * This mirrors `@tetral-ai/sdk/tools/memory/node`: it is the explicit,
7
+ * Node-only entry point for these implementations. Importing it pulls in
8
+ * `node:child_process`, `node:fs`, etc., so it is kept separate from the rest of
9
+ * the SDK — depending on it is an opt-in.
10
+ *
11
+ * **Node 22+ is required** for this module: the `glob` tool uses the native
12
+ * `fs.glob`, added in Node 22. The rest of the SDK still supports Node 18+; only
13
+ * the agent toolset has this requirement.
14
+ *
15
+ * The result of {@link betaAgentToolset20260401} is a plain `BetaRunnableTool[]`;
16
+ * hand it to any tool runner — `client.beta.messages.toolRunner({ …, tools })`
17
+ * for the Messages API, or `client.beta.sessions.events.toolRunner({ …, tools })`
18
+ * for a managed-agents session:
19
+ *
20
+ * ```ts
21
+ * import { betaAgentToolset20260401 } from '@tetral-ai/sdk/tools/agent-toolset/node';
22
+ *
23
+ * const tools = betaAgentToolset20260401({ workdir: '/work' });
24
+ * const tools2 = betaAgentToolset20260401({ workdir: '/work' }).filter((t) => t.name !== 'bash');
25
+ * ```
26
+ *
27
+ * Trust model: the file tools confine to `workdir` (symlink-aware) and are safe
28
+ * without a sandbox; `bash` is unrestricted and should run inside one. See
29
+ * {@link AgentToolContext}.
30
+ */
31
+
32
+ import * as fs from 'node:fs/promises';
33
+ import * as fssync from 'node:fs';
34
+ import * as path from 'node:path';
35
+ import * as cp from 'node:child_process';
36
+ import * as crypto from 'node:crypto';
37
+ import * as readline from 'node:readline';
38
+ import type { Anthropic } from '../../client';
39
+ import { AnthropicError } from '../../core/error';
40
+ import type { BetaRunnableTool } from '../../lib/tools/BetaRunnableTool';
41
+ import { ToolError } from '../../lib/tools/ToolError';
42
+ import { betaTool } from '../../helpers/beta/json-schema';
43
+ import { promiseWithResolvers } from '../../internal/utils/promise';
44
+ import { atomicWriteFile, confineToRoot, DIR_CREATE_MODE, fsErrorMessage } from './fs-util';
45
+
46
+ export { setupSkills, resolveSkillVersion, extractSkillArchive } from './skills';
47
+
48
+ const BASH_OUTPUT_LIMIT = 100 * 1024;
49
+ const BASH_DEFAULT_TIMEOUT_MS = 120_000;
50
+ // Default size cap for the read/edit tools (both load the whole file into
51
+ // memory) when AgentToolContext.maxFileBytes is unset. The reject-vs-truncate
52
+ // behaviour remains a separate question pending CMA validation.
53
+ const DEFAULT_MAX_FILE_BYTES = 256 * 1024;
54
+ const GREP_OUTPUT_LIMIT = 100 * 1024;
55
+ const GREP_MAX_LINE_LENGTH = 2000;
56
+ const GLOB_RESULT_LIMIT = 200;
57
+
58
+ const ANSI_RE = /\x1b\[[0-9;?]*[ -/]*[@-~]/g;
59
+
60
+ // `fs.glob` is Node 22+. `@types/node` may still target an older line, so the
61
+ // surface this module uses is typed locally rather than relying on the ambient
62
+ // declaration. At runtime this module requires Node 22 (see the file header).
63
+ type GlobFn = (
64
+ pattern: string,
65
+ options: {
66
+ cwd?: string;
67
+ withFileTypes?: boolean;
68
+ exclude?: (entry: fssync.Dirent) => boolean;
69
+ },
70
+ ) => AsyncIterable<fssync.Dirent>;
71
+ const fsGlob = (fs as unknown as { glob: GlobFn }).glob;
72
+
73
+ function resolveMaxBytes(configured: number | null | undefined): number | null {
74
+ return configured === undefined ? DEFAULT_MAX_FILE_BYTES : configured;
75
+ }
76
+
77
+ /**
78
+ * Workdir + path-policy for the agent toolset.
79
+ *
80
+ * Trust model — two tiers:
81
+ *
82
+ * - The file tools ({@link betaReadTool}, {@link betaWriteTool},
83
+ * {@link betaEditTool}, {@link betaGlobTool}, {@link betaGrepTool}) confine to
84
+ * `workdir` unless `unrestrictedPaths` is set. {@link resolvePath}
85
+ * canonicalizes the target (resolving every symlink, including the leaf)
86
+ * before the check *and* returns that canonical path for the operation, so a
87
+ * symlink inside the workdir that points outside it neither passes the check
88
+ * nor gets followed afterwards — this is a real boundary, not a lexical hint
89
+ * (modulo the residual TOCTOU noted on {@link resolvePath}).
90
+ * - {@link betaBashTool} runs an unrestricted `/bin/bash` and cannot be
91
+ * confined. Run it — and, for defense in depth, the whole toolset — inside a
92
+ * sandbox the host controls (e.g. a self-hosted environment runner).
93
+ */
94
+ export interface AgentToolContext {
95
+ /** Base directory for resolving relative tool paths. */
96
+ workdir: string;
97
+ /**
98
+ * When `false` (default), the file tools reject paths that resolve outside
99
+ * `workdir` (symlinks resolved). Does **not** constrain {@link betaBashTool}.
100
+ */
101
+ unrestrictedPaths?: boolean;
102
+ /**
103
+ * Anthropic client. Optional — the bare toolset needs no client; it is only
104
+ * used by `setupSkills`, which (together with {@link AgentToolContext.sessionId})
105
+ * fetches the session's resolved agent and downloads each of its skills into
106
+ * `{workdir}/skills/<name>/`.
107
+ */
108
+ client?: Anthropic;
109
+ /** Session whose agent's skills `setupSkills` should download. */
110
+ sessionId?: string;
111
+ /**
112
+ * Optional environment for the bash subprocess. When unset, the bash tool
113
+ * inherits the process environment with SDK credential namespaces scrubbed.
114
+ * When provided, it FULLY REPLACES that default
115
+ * environment — the mapping is used verbatim and is NOT merged with or added
116
+ * to the scrubbed process environment. To keep the defaults plus extra vars,
117
+ * build the combined mapping yourself before passing it.
118
+ */
119
+ env?: NodeJS.ProcessEnv;
120
+ /**
121
+ * Size cap for the `read` and `edit` tools, which both load the whole file into
122
+ * memory. `undefined` (default) uses the built-in 256 KiB cap; a positive number
123
+ * sets a custom cap; `null` disables the cap entirely. Disabling it reintroduces
124
+ * the OOM risk on a model-controlled path, so pass `null` only when the sandbox
125
+ * can absorb arbitrarily large files. The non-regular-file (FIFO/device) guard
126
+ * always applies regardless of this value.
127
+ */
128
+ maxFileBytes?: number | null;
129
+ }
130
+
131
+ /**
132
+ * Returns the `agent_toolset_20260401` implementations bound to `ctx`. The
133
+ * result is a plain array of `BetaRunnableTool`; filter or extend it before
134
+ * handing it to a tool runner:
135
+ *
136
+ * ```ts
137
+ * const tools = [...betaAgentToolset20260401(ctx), myCustomTool];
138
+ * const tools = betaAgentToolset20260401(ctx).filter((t) => t.name !== 'grep');
139
+ * ```
140
+ *
141
+ * Concurrency note: `client.beta.sessions.events.toolRunner` dispatches a
142
+ * session's tool calls serially (the sessions API delivers one `agent.tool_use`
143
+ * at a time). `client.beta.messages.toolRunner` runs a turn's `tool.run` calls
144
+ * via `Promise.all`. The toolset below is safe under either model —
145
+ * {@link betaBashTool} serializes its persistent shell internally and the FS
146
+ * tools are independent per call — but {@link betaEditTool}/{@link betaWriteTool}
147
+ * cannot synchronize concurrent writes to the *same* file across processes, so a
148
+ * multi-edit turn touching one path is still subject to inherent FS lost-update
149
+ * races. Custom tools that close over mutable state should do their own queueing.
150
+ */
151
+ export function betaAgentToolset20260401(ctx: AgentToolContext): BetaRunnableTool[] {
152
+ return [
153
+ betaBashTool(ctx),
154
+ betaReadTool(ctx),
155
+ betaWriteTool(ctx),
156
+ betaEditTool(ctx),
157
+ betaGlobTool(ctx),
158
+ betaGrepTool(ctx),
159
+ ];
160
+ }
161
+
162
+ /**
163
+ * Resolve `p` against `ctx.workdir`. Absolute and relative inputs go through
164
+ * the same canonicalise-then-contain check — an absolute path that lands inside
165
+ * the workdir is permitted, only paths that resolve *outside* are rejected.
166
+ * Every symlink in `p` (including the leaf, even a dangling one) is resolved
167
+ * before the workdir check, and the resolved path is what the tool then operates
168
+ * on, so a symlink inside the workdir that points outside it can neither pass
169
+ * the check nor be followed afterwards. See the trust model on
170
+ * {@link AgentToolContext}.
171
+ *
172
+ * Residual TOCTOU: a component could still be swapped for a symlink between this
173
+ * call and the eventual `fs` operation. Closing that fully needs per-component
174
+ * `O_NOFOLLOW`/`openat`, which Node does not expose ergonomically; the same
175
+ * residual exposure exists in `tools/memory/node` and is why a sandbox is still
176
+ * recommended for the toolset as a whole.
177
+ */
178
+ export function resolvePath(ctx: AgentToolContext, p: string): Promise<string> {
179
+ return confineToRoot(ctx.workdir, p, { allowOutside: ctx.unrestrictedPaths ?? false });
180
+ }
181
+
182
+ // ---- bash ----------------------------------------------------------------
183
+
184
+ /**
185
+ * Build the environment for the spawned bash shell. The runner process may hold
186
+ * credentials in Anthropic-compatible `ANTHROPIC_*` env vars and Tetral public
187
+ * `TETRAL_*` env vars. `bash` runs an unrestricted shell, so any command the
188
+ * agent runs could read those straight out of `process.env`; strip both
189
+ * namespaces from the child's environment.
190
+ * Everything else (PATH, HOME, locale, …) is passed through unchanged.
191
+ *
192
+ * Passing an explicit `env` to {@link AgentToolContext} does NOT add to this
193
+ * default — it FULLY REPLACES it. The provided mapping becomes the entire bash
194
+ * environment verbatim; nothing here is merged in, so callers who want the
195
+ * scrubbed process environment plus extras must build that mapping themselves.
196
+ */
197
+ function scrubbedShellEnv(): NodeJS.ProcessEnv {
198
+ const env: NodeJS.ProcessEnv = {};
199
+ for (const [key, value] of Object.entries(process.env)) {
200
+ if (key.startsWith('ANTHROPIC_') || key.startsWith('TETRAL_')) continue;
201
+ env[key] = value;
202
+ }
203
+ return env;
204
+ }
205
+
206
+ /**
207
+ * A persistent /bin/bash process. State (cwd, env, background jobs) survives
208
+ * across exec() calls. Uses pipes rather than a PTY so input is never echoed.
209
+ */
210
+ export class BashSession {
211
+ #proc: cp.ChildProcessWithoutNullStreams;
212
+ #buf = '';
213
+ #truncated = false;
214
+ #closed = false;
215
+ // While a command is in flight, the resolver to fire once its sentinel lands
216
+ // in `#buf` (or once the shell dies). Event-driven: no polling loop.
217
+ #waiting: { sentinel: string; resolve: () => void } | null = null;
218
+
219
+ constructor(dir: string, env: NodeJS.ProcessEnv = scrubbedShellEnv()) {
220
+ this.#proc = cp.spawn('/bin/bash', ['--noprofile', '--norc'], {
221
+ cwd: dir,
222
+ // `env` is the full base environment (the scrubbed process env by
223
+ // default, or the verbatim replacement from `AgentToolContext.env`).
224
+ // PS1/PS2/TERM are shell-control settings BashSession always applies so
225
+ // the pipe-based sentinel exec parsing works — not part of the
226
+ // user-facing environment.
227
+ env: { ...env, PS1: '', PS2: '', TERM: 'dumb' },
228
+ stdio: ['pipe', 'pipe', 'pipe'],
229
+ detached: true,
230
+ });
231
+ this.#proc.stdout.setEncoding('utf8');
232
+ this.#proc.stderr.setEncoding('utf8');
233
+ this.#proc.stdout.on('data', (d: string) => this.#append(d));
234
+ this.#proc.stderr.on('data', (d: string) => this.#append(d));
235
+ this.#proc.once('close', () => {
236
+ this.#closed = true;
237
+ // Wake any in-flight exec so it fails fast instead of waiting for its deadline.
238
+ const w = this.#waiting;
239
+ this.#waiting = null;
240
+ w?.resolve();
241
+ });
242
+ }
243
+
244
+ /** Whether the underlying shell process has exited. */
245
+ get closed(): boolean {
246
+ return this.#closed;
247
+ }
248
+
249
+ // Cap the buffer during accumulation so a command that streams unboundedly
250
+ // can't OOM the runner. Keeps the tail so the sentinel stays detectable.
251
+ // Also resolves the in-flight exec the instant its sentinel is buffered.
252
+ #append(d: string): void {
253
+ this.#buf += d;
254
+ if (this.#buf.length > BASH_OUTPUT_LIMIT) {
255
+ this.#buf = this.#buf.slice(this.#buf.length - BASH_OUTPUT_LIMIT);
256
+ this.#truncated = true;
257
+ }
258
+ if (this.#waiting && this.#buf.indexOf(this.#waiting.sentinel) >= 0) {
259
+ const w = this.#waiting;
260
+ this.#waiting = null;
261
+ w.resolve();
262
+ }
263
+ }
264
+
265
+ async exec(
266
+ command: string,
267
+ opts: { timeoutMs?: number; signal?: AbortSignal | null | undefined } = {},
268
+ ): Promise<{ output: string; exitCode: number }> {
269
+ if (this.#closed) {
270
+ throw new AnthropicError('bash session terminated');
271
+ }
272
+ const timeoutMs = opts.timeoutMs ?? BASH_DEFAULT_TIMEOUT_MS;
273
+ const signal = opts.signal;
274
+ if (signal?.aborted) {
275
+ throw new AnthropicError('bash command aborted');
276
+ }
277
+ this.#buf = '';
278
+ this.#truncated = false;
279
+ // Per-call nonce so a command that prints a fixed marker can't spoof the
280
+ // exit-code framing. The `''` split keeps the literal out of what we write
281
+ // to stdin — only the shell's printf reassembles it.
282
+ const sentinel = `__ANT_CMD_${crypto.randomUUID()}_DONE__`;
283
+ const sentinelSplit = `${sentinel.slice(0, 8)}''${sentinel.slice(8)}`;
284
+ // </dev/null: a stdin-reading command (`cat`, `read`) gets EOF instead of
285
+ // blocking on the shared pipe until the timeout.
286
+ const wrapped = `{ ${command}\n} </dev/null 2>&1; printf '\\n${sentinelSplit}%d\\n' $?\n`;
287
+ this.#proc.stdin.write(wrapped);
288
+
289
+ if (this.#buf.indexOf(sentinel) < 0) {
290
+ // Park until the sentinel lands, the deadline passes, the caller aborts,
291
+ // or the shell dies — whichever comes first. `#append` (and the `close`
292
+ // handler) resolve `sentinelSeen`; the deadline / abort reject.
293
+ const { promise: sentinelSeen, resolve } = promiseWithResolvers<void>();
294
+ this.#waiting = { sentinel, resolve };
295
+ let timer: ReturnType<typeof setTimeout> | undefined;
296
+ let onAbort: (() => void) | undefined;
297
+ try {
298
+ await Promise.race([
299
+ sentinelSeen,
300
+ new Promise<never>((_, reject) => {
301
+ timer = setTimeout(
302
+ () => reject(new AnthropicError(`bash command timed out after ${timeoutMs}ms`)),
303
+ timeoutMs,
304
+ );
305
+ }),
306
+ new Promise<never>((_, reject) => {
307
+ if (!signal) return;
308
+ onAbort = () => reject(new AnthropicError('bash command aborted'));
309
+ signal.addEventListener('abort', onAbort, { once: true });
310
+ }),
311
+ ]);
312
+ } finally {
313
+ if (timer) clearTimeout(timer);
314
+ if (onAbort && signal) signal.removeEventListener('abort', onAbort);
315
+ this.#waiting = null;
316
+ }
317
+ }
318
+
319
+ const idx = this.#buf.indexOf(sentinel);
320
+ if (idx < 0) {
321
+ // The shell closed (or was killed) before emitting the sentinel.
322
+ throw new AnthropicError('bash session terminated');
323
+ }
324
+ const tail = this.#buf.slice(idx + sentinel.length);
325
+ const m = tail.match(/^(-?\d+)/);
326
+ const exitCode = m ? parseInt(m[1]!, 10) : -1;
327
+ let out = this.#buf.slice(0, idx).replace(ANSI_RE, '').replace(/\n+$/, '');
328
+ if (this.#truncated) {
329
+ out = `[output truncated]\n${out}`;
330
+ }
331
+ return { output: out, exitCode };
332
+ }
333
+
334
+ close(): void {
335
+ if (this.#closed) return;
336
+ this.#closed = true;
337
+ const w = this.#waiting;
338
+ this.#waiting = null;
339
+ w?.resolve();
340
+ this.#proc.stdout.destroy();
341
+ this.#proc.stderr.destroy();
342
+ this.#proc.stdin.destroy();
343
+ try {
344
+ // Negative PID targets the process group so foreground jobs (e.g. a
345
+ // hung sleep) die with the shell.
346
+ process.kill(-this.#proc.pid!, 'SIGKILL');
347
+ } catch {
348
+ this.#proc.kill('SIGKILL');
349
+ }
350
+ this.#proc.unref();
351
+ }
352
+ }
353
+
354
+ export function betaBashTool(ctx: AgentToolContext): BetaRunnableTool {
355
+ let session: BashSession | undefined;
356
+ // Concurrent run() callers chain onto this promise so writes to the shared
357
+ // shell's stdin can't interleave (which would corrupt the sentinel-match
358
+ // exit-code parsing in BashSession.exec). Each call replaces `tail` with a
359
+ // promise that resolves only after its own exec settles.
360
+ let tail: Promise<unknown> = Promise.resolve();
361
+ return betaTool({
362
+ name: 'bash',
363
+ description: 'Run a bash command in a persistent shell. State (cwd, env vars) persists across calls.',
364
+ inputSchema: {
365
+ type: 'object',
366
+ properties: {
367
+ command: { type: 'string', description: 'The command to run' },
368
+ restart: { type: 'boolean', description: 'Restart the persistent shell before running' },
369
+ timeout_ms: { type: 'integer', description: 'Per-call timeout in milliseconds' },
370
+ },
371
+ },
372
+ run: async ({ command, restart, timeout_ms }, context) => {
373
+ const prev = tail;
374
+ const gate = promiseWithResolvers<void>();
375
+ tail = gate.promise;
376
+ // Swallow prior rejections — earlier callers got their own error path;
377
+ // we just need to wait for the shell to be free.
378
+ try {
379
+ await prev;
380
+ } catch {
381
+ // ignore
382
+ }
383
+ try {
384
+ if (restart) {
385
+ session?.close();
386
+ session = undefined;
387
+ }
388
+ if (!command) {
389
+ if (restart) return 'bash session restarted';
390
+ throw new ToolError('bash: command is required');
391
+ }
392
+ session ??= new BashSession(ctx.workdir, ctx.env);
393
+ try {
394
+ const { output, exitCode } = await session.exec(command, {
395
+ timeoutMs: timeout_ms ?? BASH_DEFAULT_TIMEOUT_MS,
396
+ signal: context?.signal,
397
+ });
398
+ if (exitCode !== 0) throw new ToolError(output || `exit ${exitCode}`);
399
+ return output;
400
+ } catch (e) {
401
+ if (e instanceof ToolError) throw e;
402
+ // Timeout, abort, or terminated: the still-running command will emit
403
+ // a stale sentinel, so discard this session and let the next call
404
+ // start fresh.
405
+ session.close();
406
+ session = undefined;
407
+ throw new ToolError(`bash: ${e instanceof Error ? e.message : String(e)}`);
408
+ }
409
+ } finally {
410
+ gate.resolve();
411
+ }
412
+ },
413
+ close: () => {
414
+ session?.close();
415
+ session = undefined;
416
+ },
417
+ });
418
+ }
419
+
420
+ // ---- fs ------------------------------------------------------------------
421
+
422
+ export function betaReadTool(ctx: AgentToolContext): BetaRunnableTool {
423
+ return betaTool({
424
+ name: 'read',
425
+ description: 'Read a UTF-8 text file relative to the workdir.',
426
+ inputSchema: {
427
+ type: 'object',
428
+ properties: {
429
+ file_path: { type: 'string' },
430
+ view_range: {
431
+ type: 'array',
432
+ items: { type: 'integer' },
433
+ description: '[start_line, end_line] 1-indexed inclusive',
434
+ },
435
+ },
436
+ required: ['file_path'],
437
+ },
438
+ run: async ({ file_path, view_range }) => {
439
+ if (!file_path) throw new ToolError('read: file_path is required');
440
+ const abs = await resolvePath(ctx, file_path);
441
+ let data: string;
442
+ try {
443
+ // stat() before any open(): the size cap stops a multi-GB file from
444
+ // OOM'ing the runner, and isFile() rejects FIFOs/devices/dirs without
445
+ // opening them (open() on an unconnected FIFO blocks indefinitely).
446
+ const st = await fs.stat(abs);
447
+ if (!st.isFile()) {
448
+ throw new ToolError(`read: ${file_path} is not a regular file`);
449
+ }
450
+ const limit = resolveMaxBytes(ctx.maxFileBytes);
451
+ if (limit !== null && st.size > limit) {
452
+ throw new ToolError(
453
+ `read: ${file_path} is ${st.size} bytes, exceeds ${limit}-byte limit. ` +
454
+ 'Use bash (head/tail/sed) to read a slice.',
455
+ );
456
+ }
457
+ data = await fs.readFile(abs, 'utf8');
458
+ } catch (e) {
459
+ if (e instanceof ToolError) throw e;
460
+ throw new ToolError(`read: ${fsErrorMessage(e, file_path)}`);
461
+ }
462
+ if (!view_range) return data;
463
+ if (view_range.length !== 2) throw new ToolError('read: view_range must be [start_line, end_line]');
464
+ const [startLine, endLine] = view_range as [number, number];
465
+ const lines = data.split('\n');
466
+ const start = Math.max(0, startLine - 1);
467
+ const end = endLine > 0 ? endLine : lines.length;
468
+ return lines.slice(start, end).join('\n');
469
+ },
470
+ });
471
+ }
472
+
473
+ export function betaWriteTool(ctx: AgentToolContext): BetaRunnableTool {
474
+ return betaTool({
475
+ name: 'write',
476
+ description: 'Write a UTF-8 text file relative to the workdir, creating parent directories as needed.',
477
+ inputSchema: {
478
+ type: 'object',
479
+ properties: { file_path: { type: 'string' }, content: { type: 'string' } },
480
+ required: ['file_path', 'content'],
481
+ },
482
+ run: async ({ file_path, content }) => {
483
+ if (!file_path) throw new ToolError('write: file_path is required');
484
+ const abs = await resolvePath(ctx, file_path);
485
+ try {
486
+ await fs.mkdir(path.dirname(abs), { recursive: true, mode: DIR_CREATE_MODE });
487
+ await atomicWriteFile(abs, content ?? '');
488
+ } catch (e) {
489
+ throw new ToolError(`write: ${fsErrorMessage(e, file_path)}`);
490
+ }
491
+ return `wrote ${Buffer.byteLength(content ?? '')} bytes to ${file_path}`;
492
+ },
493
+ });
494
+ }
495
+
496
+ export function betaEditTool(ctx: AgentToolContext): BetaRunnableTool {
497
+ return betaTool({
498
+ name: 'edit',
499
+ description:
500
+ 'Replace old_string with new_string in a file. old_string must be unique unless replace_all.',
501
+ inputSchema: {
502
+ type: 'object',
503
+ properties: {
504
+ file_path: { type: 'string' },
505
+ old_string: { type: 'string' },
506
+ new_string: { type: 'string' },
507
+ replace_all: { type: 'boolean' },
508
+ },
509
+ required: ['file_path', 'old_string', 'new_string'],
510
+ },
511
+ run: async ({ file_path, old_string, new_string, replace_all }) => {
512
+ if (!file_path) throw new ToolError('edit: file_path is required');
513
+ if (!old_string) throw new ToolError('edit: old_string is required');
514
+ const abs = await resolvePath(ctx, file_path);
515
+ let data: string;
516
+ try {
517
+ // stat() before any open() — same guard as `read`: the size cap stops a
518
+ // multi-GB file from OOM'ing the runner, and isFile() rejects
519
+ // FIFOs/devices/dirs without opening them (open() on an unconnected FIFO
520
+ // blocks indefinitely). The edit path is model-controlled, so it needs
521
+ // the same bound `read` already has.
522
+ const st = await fs.stat(abs);
523
+ if (!st.isFile()) {
524
+ throw new ToolError(`edit: ${file_path} is not a regular file`);
525
+ }
526
+ const limit = resolveMaxBytes(ctx.maxFileBytes);
527
+ if (limit !== null && st.size > limit) {
528
+ throw new ToolError(
529
+ `edit: ${file_path} is ${st.size} bytes, exceeds ${limit}-byte limit. ` +
530
+ 'Use bash (sed/awk) to edit a large file.',
531
+ );
532
+ }
533
+ data = await fs.readFile(abs, 'utf8');
534
+ } catch (e) {
535
+ if (e instanceof ToolError) throw e;
536
+ throw new ToolError(`edit: ${fsErrorMessage(e, file_path)}`);
537
+ }
538
+ const count = data.split(old_string).length - 1;
539
+ if (count === 0) throw new ToolError(`edit: old_string not found in ${file_path}`);
540
+ let updated: string;
541
+ if (replace_all) {
542
+ updated = data.split(old_string).join(new_string);
543
+ } else {
544
+ if (count > 1)
545
+ throw new ToolError(`edit: old_string appears ${count} times in ${file_path} (must be unique)`);
546
+ // Callback form so `$&`/`$1`/`` $` `` in new_string are inserted
547
+ // literally instead of expanded as replacement patterns.
548
+ updated = data.replace(old_string, () => new_string);
549
+ }
550
+ try {
551
+ await atomicWriteFile(abs, updated);
552
+ } catch (e) {
553
+ throw new ToolError(`edit: write: ${fsErrorMessage(e, file_path)}`);
554
+ }
555
+ return `edited ${file_path} (${replace_all ? count : 1} replacement(s))`;
556
+ },
557
+ });
558
+ }
559
+
560
+ // ---- search --------------------------------------------------------------
561
+
562
+ export function betaGlobTool(ctx: AgentToolContext): BetaRunnableTool {
563
+ return betaTool({
564
+ name: 'glob',
565
+ description:
566
+ 'Match files under the workdir against a glob pattern. Results are mtime-sorted, newest first.',
567
+ inputSchema: {
568
+ type: 'object',
569
+ properties: {
570
+ pattern: { type: 'string' },
571
+ path: { type: 'string', description: 'Directory to search in. Defaults to the workdir.' },
572
+ },
573
+ required: ['pattern'],
574
+ },
575
+ run: async ({ pattern, path: searchPath }) => {
576
+ if (!pattern) throw new ToolError('glob: pattern is required');
577
+ let root = path.resolve(ctx.workdir);
578
+ let pat = pattern;
579
+ if (path.isAbsolute(pattern)) {
580
+ if (!ctx.unrestrictedPaths) throw new ToolError('glob: absolute pattern not permitted');
581
+ root = path.parse(pattern).root;
582
+ pat = path.relative(root, pattern);
583
+ } else if (searchPath) {
584
+ root = await resolvePath(ctx, searchPath);
585
+ }
586
+ // A `..` in the *pattern itself* (e.g. `../../*`) walks `fs.glob` out of
587
+ // the search root — this is separate from the `searchPath` confinement
588
+ // above, which only covers the path argument. Reject it outright when the
589
+ // toolset is confined.
590
+ if (!ctx.unrestrictedPaths && pat.split(/[\\/]/).includes('..')) {
591
+ throw new ToolError('glob: ".." is not permitted in the pattern');
592
+ }
593
+ // Compare canonical against canonical: a workdir that is itself a
594
+ // symlink would otherwise falsely reject every realpath'd match below.
595
+ const realRoot = ctx.unrestrictedPaths ? root : await fs.realpath(root).catch(() => root);
596
+ const matches: { path: string; mtime: number }[] = [];
597
+ try {
598
+ // Native `fs.glob` (Node 22+). `exclude` prunes the noisy dirs the
599
+ // legacy walker skipped; only regular files are collected.
600
+ for await (const entry of fsGlob(pat, {
601
+ cwd: root,
602
+ withFileTypes: true,
603
+ exclude: (d) => d.name === '.git' || d.name === 'node_modules',
604
+ })) {
605
+ if (!entry.isFile()) continue;
606
+ const full = path.join(entry.parentPath, entry.name);
607
+ // Drop any match that resolves outside the search root. A pattern
608
+ // that *names* a symlinked directory (the model controls the
609
+ // pattern, and the bash tool in the same session can plant the
610
+ // link) makes `fs.glob` descend through it and report entries with
611
+ // the raw parent path, so a lexical check on `full` alone would
612
+ // pass `root/link_out/secret` even though it lives outside the
613
+ // jail. Resolve-failure (ELOOP, EACCES, a racing unlink) is a deny.
614
+ if (!ctx.unrestrictedPaths) {
615
+ let real: string;
616
+ try {
617
+ real = await fs.realpath(full);
618
+ } catch {
619
+ continue;
620
+ }
621
+ if (!isWithin(realRoot, real)) continue;
622
+ }
623
+ let mtime = 0;
624
+ try {
625
+ mtime = (await fs.stat(full)).mtimeMs;
626
+ } catch {
627
+ // unreadable — keep it in the list with mtime 0
628
+ }
629
+ matches.push({ path: full, mtime });
630
+ }
631
+ } catch (e) {
632
+ throw new ToolError(`glob: ${e instanceof Error ? e.message : String(e)}`);
633
+ }
634
+ if (matches.length === 0) return 'no matches';
635
+ matches.sort((a, b) => b.mtime - a.mtime);
636
+ return matches
637
+ .slice(0, GLOB_RESULT_LIMIT)
638
+ .map((m) => m.path)
639
+ .join('\n');
640
+ },
641
+ });
642
+ }
643
+
644
+ export function betaGrepTool(ctx: AgentToolContext): BetaRunnableTool {
645
+ return betaTool({
646
+ name: 'grep',
647
+ description: 'Search file contents for a regex. Uses ripgrep if available, otherwise a built-in walker.',
648
+ inputSchema: {
649
+ type: 'object',
650
+ properties: { pattern: { type: 'string' }, path: { type: 'string' } },
651
+ required: ['pattern'],
652
+ },
653
+ run: async ({ pattern, path: p }, context) => {
654
+ if (!pattern) throw new ToolError('grep: pattern is required');
655
+ let searchPath = path.resolve(ctx.workdir);
656
+ if (p) searchPath = await resolvePath(ctx, p);
657
+ const rg = await findRg();
658
+ return rg ?
659
+ runRipgrep(rg, pattern, searchPath, context?.signal)
660
+ : runWalkGrep(pattern, searchPath, context?.signal);
661
+ },
662
+ });
663
+ }
664
+
665
+ function runRipgrep(
666
+ rg: string,
667
+ pattern: string,
668
+ searchPath: string,
669
+ signal?: AbortSignal | null | undefined,
670
+ ): Promise<string> {
671
+ return new Promise((resolve, reject) => {
672
+ const proc = cp.spawn(rg, ['-n', '--no-heading', '-e', pattern, '--', searchPath], {
673
+ ...(signal ? { signal } : {}),
674
+ });
675
+ let out = '';
676
+ let errOut = '';
677
+ let truncated = false;
678
+ proc.stdout.on('data', (d) => {
679
+ if (truncated) return;
680
+ out += d;
681
+ if (out.length > GREP_OUTPUT_LIMIT) {
682
+ truncated = true;
683
+ out = out.slice(0, GREP_OUTPUT_LIMIT);
684
+ proc.kill('SIGKILL');
685
+ }
686
+ });
687
+ proc.stderr.on('data', (d) => (errOut += d));
688
+ proc.on('close', (code) => {
689
+ if (signal?.aborted) return reject(new ToolError('grep: aborted'));
690
+ if (truncated) return resolve(out + `\n[output truncated at ${GREP_OUTPUT_LIMIT} bytes]`);
691
+ if (code === 0) return resolve(out);
692
+ if (code === 1) return resolve('no matches');
693
+ reject(new ToolError(`grep: rg failed: ${errOut || `exit ${code}`}`));
694
+ });
695
+ proc.on('error', (e) => {
696
+ if (signal?.aborted) return reject(new ToolError('grep: aborted'));
697
+ reject(new ToolError(`grep: rg failed: ${e.message}`));
698
+ });
699
+ });
700
+ }
701
+
702
+ async function runWalkGrep(
703
+ pattern: string,
704
+ root: string,
705
+ signal?: AbortSignal | null | undefined,
706
+ ): Promise<string> {
707
+ let re: RegExp;
708
+ try {
709
+ re = new RegExp(pattern);
710
+ } catch (e) {
711
+ throw new ToolError(`grep: invalid regex: ${e instanceof Error ? e.message : String(e)}`);
712
+ }
713
+ const hits: string[] = [];
714
+ let budget = GREP_OUTPUT_LIMIT;
715
+ const push = (line: string): boolean => {
716
+ budget -= line.length + 1;
717
+ if (budget < 0) {
718
+ hits.push(`[output truncated at ${GREP_OUTPUT_LIMIT} bytes]`);
719
+ return false;
720
+ }
721
+ hits.push(line);
722
+ return true;
723
+ };
724
+ const stat = await fs.stat(root).catch(() => null);
725
+ if (stat?.isFile()) {
726
+ await grepFile(root, re, push);
727
+ } else {
728
+ await walk(root, '', (rel) => grepFile(path.join(root, rel), re, push), signal);
729
+ }
730
+ if (signal?.aborted) throw new ToolError('grep: aborted');
731
+ if (hits.length === 0) return 'no matches';
732
+ return hits.join('\n');
733
+ }
734
+
735
+ async function grepFile(file: string, re: RegExp, push: (line: string) => boolean): Promise<boolean> {
736
+ const stream = fssync.createReadStream(file, { encoding: 'utf8' });
737
+ const rl = readline.createInterface({ input: stream, crlfDelay: Infinity });
738
+ let i = 0;
739
+ try {
740
+ for await (const line of rl) {
741
+ i++;
742
+ // Cap line length: `pattern` is model-supplied and JS regexes backtrack,
743
+ // so a pathological pattern against a very long line is a ReDoS.
744
+ if (line.length > GREP_MAX_LINE_LENGTH) continue;
745
+ if (re.test(line) && !push(`${file}:${i}:${line}`)) return false;
746
+ }
747
+ } catch {
748
+ // unreadable / binary
749
+ } finally {
750
+ stream.destroy();
751
+ }
752
+ return true;
753
+ }
754
+
755
+ // ---- utils ---------------------------------------------------------------
756
+
757
+ /** True when `p` is `root` itself or lexically contained within it. */
758
+ function isWithin(root: string, p: string): boolean {
759
+ const rel = path.relative(root, p);
760
+ return rel === '' || (!rel.startsWith('..' + path.sep) && rel !== '..' && !path.isAbsolute(rel));
761
+ }
762
+
763
+ const WALK_MAX_DEPTH = 40;
764
+ const WALK_MAX_ENTRIES = 50_000;
765
+
766
+ /**
767
+ * Bounded recursive walk. `fn` may return `false` to abort. Only real
768
+ * directories are descended into and only real files are handed to `fn` —
769
+ * symlinks (and devices/fifos/sockets) are skipped entirely so a symlink inside
770
+ * the root cannot be followed out of it.
771
+ */
772
+ async function walk(
773
+ root: string,
774
+ rel: string,
775
+ fn: (rel: string) => boolean | void | Promise<boolean | void>,
776
+ signal?: AbortSignal | null | undefined,
777
+ ): Promise<void> {
778
+ let remaining = WALK_MAX_ENTRIES;
779
+ async function inner(rel: string, depth: number): Promise<boolean> {
780
+ if (depth > WALK_MAX_DEPTH) return true;
781
+ if (signal?.aborted) return false;
782
+ let entries: fssync.Dirent[];
783
+ try {
784
+ entries = await fs.readdir(path.join(root, rel), { withFileTypes: true });
785
+ } catch {
786
+ return true;
787
+ }
788
+ for (const e of entries) {
789
+ if (e.name === '.git' || e.name === 'node_modules') continue;
790
+ if (remaining-- <= 0) return false;
791
+ if (signal?.aborted) return false;
792
+ const childRel = rel ? path.join(rel, e.name) : e.name;
793
+ if (e.isDirectory()) {
794
+ if (!(await inner(childRel, depth + 1))) return false;
795
+ } else if (e.isFile()) {
796
+ if ((await fn(childRel)) === false) return false;
797
+ }
798
+ // Symlinks, devices, fifos and sockets are intentionally skipped.
799
+ }
800
+ return true;
801
+ }
802
+ await inner(rel, 0);
803
+ }
804
+
805
+ async function findRg(): Promise<string | null> {
806
+ const dirs = (process.env['PATH'] ?? '').split(path.delimiter);
807
+ for (const d of dirs) {
808
+ const candidate = path.join(d, 'rg');
809
+ try {
810
+ await fs.access(candidate, fssync.constants.X_OK);
811
+ return candidate;
812
+ } catch {
813
+ // not here
814
+ }
815
+ }
816
+ return null;
817
+ }