@cadenya/cadenya 0.134.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (958) hide show
  1. package/README.md +86 -358
  2. package/api.md +781 -0
  3. package/dist/client.d.ts +69 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +97 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/core/error.d.ts +39 -0
  8. package/dist/core/error.d.ts.map +1 -0
  9. package/dist/core/error.js +56 -0
  10. package/dist/core/error.js.map +1 -0
  11. package/dist/core/http.d.ts +140 -0
  12. package/dist/core/http.d.ts.map +1 -0
  13. package/dist/core/http.js +525 -0
  14. package/dist/core/http.js.map +1 -0
  15. package/dist/core/pagination.d.ts +12 -0
  16. package/dist/core/pagination.d.ts.map +1 -0
  17. package/dist/core/pagination.js +29 -0
  18. package/dist/core/pagination.js.map +1 -0
  19. package/dist/core/sse.d.ts +44 -0
  20. package/dist/core/sse.d.ts.map +1 -0
  21. package/dist/core/sse.js +350 -0
  22. package/dist/core/sse.js.map +1 -0
  23. package/dist/core/webhooks.d.ts +25 -0
  24. package/dist/core/webhooks.d.ts.map +1 -0
  25. package/dist/core/webhooks.js +124 -0
  26. package/dist/core/webhooks.js.map +1 -0
  27. package/dist/index.d.ts +35 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +32 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/resources/accounts.d.ts +34 -0
  32. package/dist/resources/accounts.d.ts.map +1 -0
  33. package/dist/resources/accounts.js +47 -0
  34. package/dist/resources/accounts.js.map +1 -0
  35. package/dist/resources/agent-schedules.d.ts +186 -0
  36. package/dist/resources/agent-schedules.d.ts.map +1 -0
  37. package/dist/resources/agent-schedules.js +141 -0
  38. package/dist/resources/agent-schedules.js.map +1 -0
  39. package/dist/resources/agent-variations.d.ts +230 -0
  40. package/dist/resources/agent-variations.d.ts.map +1 -0
  41. package/dist/resources/agent-variations.js +174 -0
  42. package/dist/resources/agent-variations.js.map +1 -0
  43. package/dist/resources/agents.d.ts +318 -0
  44. package/dist/resources/agents.d.ts.map +1 -0
  45. package/dist/resources/agents.js +202 -0
  46. package/dist/resources/agents.js.map +1 -0
  47. package/dist/resources/ai-provider-keys.d.ts +141 -0
  48. package/dist/resources/ai-provider-keys.d.ts.map +1 -0
  49. package/dist/resources/ai-provider-keys.js +93 -0
  50. package/dist/resources/ai-provider-keys.js.map +1 -0
  51. package/dist/resources/api-keys.d.ts +222 -0
  52. package/dist/resources/api-keys.d.ts.map +1 -0
  53. package/dist/resources/api-keys.js +194 -0
  54. package/dist/resources/api-keys.js.map +1 -0
  55. package/dist/resources/memory-entries.d.ts +122 -0
  56. package/dist/resources/memory-entries.d.ts.map +1 -0
  57. package/dist/resources/memory-entries.js +93 -0
  58. package/dist/resources/memory-entries.js.map +1 -0
  59. package/dist/resources/memory-layers.d.ts +137 -0
  60. package/dist/resources/memory-layers.d.ts.map +1 -0
  61. package/dist/resources/memory-layers.js +97 -0
  62. package/dist/resources/memory-layers.js.map +1 -0
  63. package/dist/resources/models.d.ts +148 -0
  64. package/dist/resources/models.d.ts.map +1 -0
  65. package/dist/resources/models.js +93 -0
  66. package/dist/resources/models.js.map +1 -0
  67. package/dist/resources/objectives.d.ts +602 -0
  68. package/dist/resources/objectives.d.ts.map +1 -0
  69. package/dist/resources/objectives.js +356 -0
  70. package/dist/resources/objectives.js.map +1 -0
  71. package/dist/resources/profiles.d.ts +16 -0
  72. package/dist/resources/profiles.d.ts.map +1 -0
  73. package/dist/resources/profiles.js +21 -0
  74. package/dist/resources/profiles.js.map +1 -0
  75. package/dist/resources/tenants.d.ts +135 -0
  76. package/dist/resources/tenants.d.ts.map +1 -0
  77. package/dist/resources/tenants.js +80 -0
  78. package/dist/resources/tenants.js.map +1 -0
  79. package/dist/resources/tool-search.d.ts +27 -0
  80. package/dist/resources/tool-search.d.ts.map +1 -0
  81. package/dist/resources/tool-search.js +25 -0
  82. package/dist/resources/tool-search.js.map +1 -0
  83. package/dist/resources/tool-set-secrets.d.ts +128 -0
  84. package/dist/resources/tool-set-secrets.d.ts.map +1 -0
  85. package/dist/resources/tool-set-secrets.js +93 -0
  86. package/dist/resources/tool-set-secrets.js.map +1 -0
  87. package/dist/resources/tool-sets.d.ts +271 -0
  88. package/dist/resources/tool-sets.d.ts.map +1 -0
  89. package/dist/resources/tool-sets.js +185 -0
  90. package/dist/resources/tool-sets.js.map +1 -0
  91. package/dist/resources/tools.d.ts +178 -0
  92. package/dist/resources/tools.d.ts.map +1 -0
  93. package/dist/resources/tools.js +125 -0
  94. package/dist/resources/tools.js.map +1 -0
  95. package/dist/resources/uploads.d.ts +43 -0
  96. package/dist/resources/uploads.d.ts.map +1 -0
  97. package/dist/resources/uploads.js +41 -0
  98. package/dist/resources/uploads.js.map +1 -0
  99. package/dist/resources/widget-sessions.d.ts +168 -0
  100. package/dist/resources/widget-sessions.d.ts.map +1 -0
  101. package/dist/resources/widget-sessions.js +110 -0
  102. package/dist/resources/widget-sessions.js.map +1 -0
  103. package/dist/resources/widgets.d.ts +166 -0
  104. package/dist/resources/widgets.d.ts.map +1 -0
  105. package/dist/resources/widgets.js +125 -0
  106. package/dist/resources/widgets.js.map +1 -0
  107. package/dist/resources/workspace-admin.d.ts +214 -0
  108. package/dist/resources/workspace-admin.d.ts.map +1 -0
  109. package/dist/resources/workspace-admin.js +154 -0
  110. package/dist/resources/workspace-admin.js.map +1 -0
  111. package/dist/resources/workspace-secrets.d.ts +134 -0
  112. package/dist/resources/workspace-secrets.d.ts.map +1 -0
  113. package/dist/resources/workspace-secrets.js +93 -0
  114. package/dist/resources/workspace-secrets.js.map +1 -0
  115. package/dist/resources/workspaces.d.ts +44 -0
  116. package/dist/resources/workspaces.d.ts.map +1 -0
  117. package/dist/resources/workspaces.js +26 -0
  118. package/dist/resources/workspaces.js.map +1 -0
  119. package/dist/types.d.ts +4634 -0
  120. package/dist/types.d.ts.map +1 -0
  121. package/dist/types.js +103 -0
  122. package/dist/types.js.map +1 -0
  123. package/dist/webhooks.d.ts +93 -0
  124. package/dist/webhooks.d.ts.map +1 -0
  125. package/dist/webhooks.js +21 -0
  126. package/dist/webhooks.js.map +1 -0
  127. package/package.json +24 -165
  128. package/src/client.ts +124 -1504
  129. package/src/core/error.ts +50 -111
  130. package/src/core/http.ts +639 -0
  131. package/src/core/pagination.ts +16 -152
  132. package/src/core/sse.ts +338 -0
  133. package/src/core/webhooks.ts +141 -0
  134. package/src/index.ts +35 -22
  135. package/src/resources/accounts.ts +50 -0
  136. package/src/resources/agent-schedules.ts +251 -0
  137. package/src/resources/agent-variations.ts +312 -0
  138. package/src/resources/agents.ts +410 -2
  139. package/src/resources/ai-provider-keys.ts +119 -311
  140. package/src/resources/api-keys.ts +218 -277
  141. package/src/resources/memory-entries.ts +163 -0
  142. package/src/resources/memory-layers.ts +180 -2
  143. package/src/resources/models.ts +130 -229
  144. package/src/resources/objectives.ts +763 -2
  145. package/src/resources/profiles.ts +16 -14
  146. package/src/resources/tenants.ts +167 -2
  147. package/src/resources/tool-search.ts +36 -0
  148. package/src/resources/tool-set-secrets.ts +169 -0
  149. package/src/resources/tool-sets.ts +354 -2
  150. package/src/resources/tools.ts +235 -0
  151. package/src/resources/uploads.ts +42 -129
  152. package/src/resources/widget-sessions.ts +148 -439
  153. package/src/resources/widgets.ts +154 -248
  154. package/src/resources/workspace-admin.ts +280 -2
  155. package/src/resources/workspace-secrets.ts +120 -160
  156. package/src/resources/workspaces.ts +32 -77
  157. package/src/types.ts +5188 -0
  158. package/src/webhooks.ts +107 -0
  159. package/CHANGELOG.md +0 -1532
  160. package/api-promise.d.mts +0 -3
  161. package/api-promise.d.mts.map +0 -1
  162. package/api-promise.d.ts +0 -3
  163. package/api-promise.d.ts.map +0 -1
  164. package/api-promise.js +0 -6
  165. package/api-promise.js.map +0 -1
  166. package/api-promise.mjs +0 -3
  167. package/api-promise.mjs.map +0 -1
  168. package/client.d.mts +0 -335
  169. package/client.d.mts.map +0 -1
  170. package/client.d.ts +0 -335
  171. package/client.d.ts.map +0 -1
  172. package/client.js +0 -631
  173. package/client.js.map +0 -1
  174. package/client.mjs +0 -627
  175. package/client.mjs.map +0 -1
  176. package/core/api-promise.d.mts +0 -46
  177. package/core/api-promise.d.mts.map +0 -1
  178. package/core/api-promise.d.ts +0 -46
  179. package/core/api-promise.d.ts.map +0 -1
  180. package/core/api-promise.js +0 -74
  181. package/core/api-promise.js.map +0 -1
  182. package/core/api-promise.mjs +0 -70
  183. package/core/api-promise.mjs.map +0 -1
  184. package/core/error.d.mts +0 -46
  185. package/core/error.d.mts.map +0 -1
  186. package/core/error.d.ts +0 -46
  187. package/core/error.d.ts.map +0 -1
  188. package/core/error.js +0 -113
  189. package/core/error.js.map +0 -1
  190. package/core/error.mjs +0 -97
  191. package/core/error.mjs.map +0 -1
  192. package/core/pagination.d.mts +0 -59
  193. package/core/pagination.d.mts.map +0 -1
  194. package/core/pagination.d.ts +0 -59
  195. package/core/pagination.d.ts.map +0 -1
  196. package/core/pagination.js +0 -101
  197. package/core/pagination.js.map +0 -1
  198. package/core/pagination.mjs +0 -95
  199. package/core/pagination.mjs.map +0 -1
  200. package/core/resource.d.mts +0 -6
  201. package/core/resource.d.mts.map +0 -1
  202. package/core/resource.d.ts +0 -6
  203. package/core/resource.d.ts.map +0 -1
  204. package/core/resource.js +0 -11
  205. package/core/resource.js.map +0 -1
  206. package/core/resource.mjs +0 -7
  207. package/core/resource.mjs.map +0 -1
  208. package/core/streaming.d.mts +0 -33
  209. package/core/streaming.d.mts.map +0 -1
  210. package/core/streaming.d.ts +0 -33
  211. package/core/streaming.d.ts.map +0 -1
  212. package/core/streaming.js +0 -268
  213. package/core/streaming.js.map +0 -1
  214. package/core/streaming.mjs +0 -263
  215. package/core/streaming.mjs.map +0 -1
  216. package/core/uploads.d.mts +0 -3
  217. package/core/uploads.d.mts.map +0 -1
  218. package/core/uploads.d.ts +0 -3
  219. package/core/uploads.d.ts.map +0 -1
  220. package/core/uploads.js +0 -6
  221. package/core/uploads.js.map +0 -1
  222. package/core/uploads.mjs +0 -2
  223. package/core/uploads.mjs.map +0 -1
  224. package/error.d.mts +0 -3
  225. package/error.d.mts.map +0 -1
  226. package/error.d.ts +0 -3
  227. package/error.d.ts.map +0 -1
  228. package/error.js +0 -6
  229. package/error.js.map +0 -1
  230. package/error.mjs +0 -3
  231. package/error.mjs.map +0 -1
  232. package/index.d.mts +0 -7
  233. package/index.d.mts.map +0 -1
  234. package/index.d.ts +0 -7
  235. package/index.d.ts.map +0 -1
  236. package/index.js +0 -32
  237. package/index.js.map +0 -1
  238. package/index.mjs +0 -8
  239. package/index.mjs.map +0 -1
  240. package/internal/builtin-types.d.mts +0 -73
  241. package/internal/builtin-types.d.mts.map +0 -1
  242. package/internal/builtin-types.d.ts +0 -73
  243. package/internal/builtin-types.d.ts.map +0 -1
  244. package/internal/builtin-types.js +0 -4
  245. package/internal/builtin-types.js.map +0 -1
  246. package/internal/builtin-types.mjs +0 -3
  247. package/internal/builtin-types.mjs.map +0 -1
  248. package/internal/decoders/line.d.mts +0 -17
  249. package/internal/decoders/line.d.mts.map +0 -1
  250. package/internal/decoders/line.d.ts +0 -17
  251. package/internal/decoders/line.d.ts.map +0 -1
  252. package/internal/decoders/line.js +0 -113
  253. package/internal/decoders/line.js.map +0 -1
  254. package/internal/decoders/line.mjs +0 -108
  255. package/internal/decoders/line.mjs.map +0 -1
  256. package/internal/detect-platform.d.mts +0 -15
  257. package/internal/detect-platform.d.mts.map +0 -1
  258. package/internal/detect-platform.d.ts +0 -15
  259. package/internal/detect-platform.d.ts.map +0 -1
  260. package/internal/detect-platform.js +0 -162
  261. package/internal/detect-platform.js.map +0 -1
  262. package/internal/detect-platform.mjs +0 -157
  263. package/internal/detect-platform.mjs.map +0 -1
  264. package/internal/errors.d.mts +0 -3
  265. package/internal/errors.d.mts.map +0 -1
  266. package/internal/errors.d.ts +0 -3
  267. package/internal/errors.d.ts.map +0 -1
  268. package/internal/errors.js +0 -41
  269. package/internal/errors.js.map +0 -1
  270. package/internal/errors.mjs +0 -36
  271. package/internal/errors.mjs.map +0 -1
  272. package/internal/headers.d.mts +0 -20
  273. package/internal/headers.d.mts.map +0 -1
  274. package/internal/headers.d.ts +0 -20
  275. package/internal/headers.d.ts.map +0 -1
  276. package/internal/headers.js +0 -79
  277. package/internal/headers.js.map +0 -1
  278. package/internal/headers.mjs +0 -74
  279. package/internal/headers.mjs.map +0 -1
  280. package/internal/parse.d.mts +0 -12
  281. package/internal/parse.d.mts.map +0 -1
  282. package/internal/parse.d.ts +0 -12
  283. package/internal/parse.d.ts.map +0 -1
  284. package/internal/parse.js +0 -50
  285. package/internal/parse.js.map +0 -1
  286. package/internal/parse.mjs +0 -47
  287. package/internal/parse.mjs.map +0 -1
  288. package/internal/qs/formats.d.mts +0 -7
  289. package/internal/qs/formats.d.mts.map +0 -1
  290. package/internal/qs/formats.d.ts +0 -7
  291. package/internal/qs/formats.d.ts.map +0 -1
  292. package/internal/qs/formats.js +0 -13
  293. package/internal/qs/formats.js.map +0 -1
  294. package/internal/qs/formats.mjs +0 -9
  295. package/internal/qs/formats.mjs.map +0 -1
  296. package/internal/qs/index.d.mts +0 -10
  297. package/internal/qs/index.d.mts.map +0 -1
  298. package/internal/qs/index.d.ts +0 -10
  299. package/internal/qs/index.d.ts.map +0 -1
  300. package/internal/qs/index.js +0 -14
  301. package/internal/qs/index.js.map +0 -1
  302. package/internal/qs/index.mjs +0 -10
  303. package/internal/qs/index.mjs.map +0 -1
  304. package/internal/qs/stringify.d.mts +0 -3
  305. package/internal/qs/stringify.d.mts.map +0 -1
  306. package/internal/qs/stringify.d.ts +0 -3
  307. package/internal/qs/stringify.d.ts.map +0 -1
  308. package/internal/qs/stringify.js +0 -277
  309. package/internal/qs/stringify.js.map +0 -1
  310. package/internal/qs/stringify.mjs +0 -274
  311. package/internal/qs/stringify.mjs.map +0 -1
  312. package/internal/qs/types.d.mts +0 -57
  313. package/internal/qs/types.d.mts.map +0 -1
  314. package/internal/qs/types.d.ts +0 -57
  315. package/internal/qs/types.d.ts.map +0 -1
  316. package/internal/qs/types.js +0 -3
  317. package/internal/qs/types.js.map +0 -1
  318. package/internal/qs/types.mjs +0 -2
  319. package/internal/qs/types.mjs.map +0 -1
  320. package/internal/qs/utils.d.mts +0 -15
  321. package/internal/qs/utils.d.mts.map +0 -1
  322. package/internal/qs/utils.d.ts +0 -15
  323. package/internal/qs/utils.d.ts.map +0 -1
  324. package/internal/qs/utils.js +0 -230
  325. package/internal/qs/utils.js.map +0 -1
  326. package/internal/qs/utils.mjs +0 -217
  327. package/internal/qs/utils.mjs.map +0 -1
  328. package/internal/request-options.d.mts +0 -77
  329. package/internal/request-options.d.mts.map +0 -1
  330. package/internal/request-options.d.ts +0 -77
  331. package/internal/request-options.d.ts.map +0 -1
  332. package/internal/request-options.js +0 -14
  333. package/internal/request-options.js.map +0 -1
  334. package/internal/request-options.mjs +0 -10
  335. package/internal/request-options.mjs.map +0 -1
  336. package/internal/shim-types.d.mts +0 -17
  337. package/internal/shim-types.d.mts.map +0 -1
  338. package/internal/shim-types.d.ts +0 -17
  339. package/internal/shim-types.d.ts.map +0 -1
  340. package/internal/shim-types.js +0 -4
  341. package/internal/shim-types.js.map +0 -1
  342. package/internal/shim-types.mjs +0 -3
  343. package/internal/shim-types.mjs.map +0 -1
  344. package/internal/shims.d.mts +0 -26
  345. package/internal/shims.d.mts.map +0 -1
  346. package/internal/shims.d.ts +0 -26
  347. package/internal/shims.d.ts.map +0 -1
  348. package/internal/shims.js +0 -92
  349. package/internal/shims.js.map +0 -1
  350. package/internal/shims.mjs +0 -85
  351. package/internal/shims.mjs.map +0 -1
  352. package/internal/to-file.d.mts +0 -45
  353. package/internal/to-file.d.mts.map +0 -1
  354. package/internal/to-file.d.ts +0 -45
  355. package/internal/to-file.d.ts.map +0 -1
  356. package/internal/to-file.js +0 -91
  357. package/internal/to-file.js.map +0 -1
  358. package/internal/to-file.mjs +0 -88
  359. package/internal/to-file.mjs.map +0 -1
  360. package/internal/tslib.js +0 -81
  361. package/internal/tslib.mjs +0 -17
  362. package/internal/types.d.mts +0 -69
  363. package/internal/types.d.mts.map +0 -1
  364. package/internal/types.d.ts +0 -69
  365. package/internal/types.d.ts.map +0 -1
  366. package/internal/types.js +0 -4
  367. package/internal/types.js.map +0 -1
  368. package/internal/types.mjs +0 -3
  369. package/internal/types.mjs.map +0 -1
  370. package/internal/uploads.d.mts +0 -42
  371. package/internal/uploads.d.mts.map +0 -1
  372. package/internal/uploads.d.ts +0 -42
  373. package/internal/uploads.d.ts.map +0 -1
  374. package/internal/uploads.js +0 -141
  375. package/internal/uploads.js.map +0 -1
  376. package/internal/uploads.mjs +0 -131
  377. package/internal/uploads.mjs.map +0 -1
  378. package/internal/utils/base64.d.mts +0 -3
  379. package/internal/utils/base64.d.mts.map +0 -1
  380. package/internal/utils/base64.d.ts +0 -3
  381. package/internal/utils/base64.d.ts.map +0 -1
  382. package/internal/utils/base64.js +0 -38
  383. package/internal/utils/base64.js.map +0 -1
  384. package/internal/utils/base64.mjs +0 -33
  385. package/internal/utils/base64.mjs.map +0 -1
  386. package/internal/utils/bytes.d.mts +0 -4
  387. package/internal/utils/bytes.d.mts.map +0 -1
  388. package/internal/utils/bytes.d.ts +0 -4
  389. package/internal/utils/bytes.d.ts.map +0 -1
  390. package/internal/utils/bytes.js +0 -31
  391. package/internal/utils/bytes.js.map +0 -1
  392. package/internal/utils/bytes.mjs +0 -26
  393. package/internal/utils/bytes.mjs.map +0 -1
  394. package/internal/utils/env.d.mts +0 -9
  395. package/internal/utils/env.d.mts.map +0 -1
  396. package/internal/utils/env.d.ts +0 -9
  397. package/internal/utils/env.d.ts.map +0 -1
  398. package/internal/utils/env.js +0 -22
  399. package/internal/utils/env.js.map +0 -1
  400. package/internal/utils/env.mjs +0 -18
  401. package/internal/utils/env.mjs.map +0 -1
  402. package/internal/utils/log.d.mts +0 -37
  403. package/internal/utils/log.d.mts.map +0 -1
  404. package/internal/utils/log.d.ts +0 -37
  405. package/internal/utils/log.d.ts.map +0 -1
  406. package/internal/utils/log.js +0 -87
  407. package/internal/utils/log.js.map +0 -1
  408. package/internal/utils/log.mjs +0 -81
  409. package/internal/utils/log.mjs.map +0 -1
  410. package/internal/utils/path.d.mts +0 -15
  411. package/internal/utils/path.d.mts.map +0 -1
  412. package/internal/utils/path.d.ts +0 -15
  413. package/internal/utils/path.d.ts.map +0 -1
  414. package/internal/utils/path.js +0 -79
  415. package/internal/utils/path.js.map +0 -1
  416. package/internal/utils/path.mjs +0 -74
  417. package/internal/utils/path.mjs.map +0 -1
  418. package/internal/utils/query.d.mts +0 -2
  419. package/internal/utils/query.d.mts.map +0 -1
  420. package/internal/utils/query.d.ts +0 -2
  421. package/internal/utils/query.d.ts.map +0 -1
  422. package/internal/utils/query.js +0 -10
  423. package/internal/utils/query.js.map +0 -1
  424. package/internal/utils/query.mjs +0 -6
  425. package/internal/utils/query.mjs.map +0 -1
  426. package/internal/utils/sleep.d.mts +0 -2
  427. package/internal/utils/sleep.d.mts.map +0 -1
  428. package/internal/utils/sleep.d.ts +0 -2
  429. package/internal/utils/sleep.d.ts.map +0 -1
  430. package/internal/utils/sleep.js +0 -7
  431. package/internal/utils/sleep.js.map +0 -1
  432. package/internal/utils/sleep.mjs +0 -3
  433. package/internal/utils/sleep.mjs.map +0 -1
  434. package/internal/utils/uuid.d.mts +0 -5
  435. package/internal/utils/uuid.d.mts.map +0 -1
  436. package/internal/utils/uuid.d.ts +0 -5
  437. package/internal/utils/uuid.d.ts.map +0 -1
  438. package/internal/utils/uuid.js +0 -19
  439. package/internal/utils/uuid.js.map +0 -1
  440. package/internal/utils/uuid.mjs +0 -15
  441. package/internal/utils/uuid.mjs.map +0 -1
  442. package/internal/utils/values.d.mts +0 -18
  443. package/internal/utils/values.d.mts.map +0 -1
  444. package/internal/utils/values.d.ts +0 -18
  445. package/internal/utils/values.d.ts.map +0 -1
  446. package/internal/utils/values.js +0 -112
  447. package/internal/utils/values.js.map +0 -1
  448. package/internal/utils/values.mjs +0 -94
  449. package/internal/utils/values.mjs.map +0 -1
  450. package/internal/utils.d.mts +0 -8
  451. package/internal/utils.d.mts.map +0 -1
  452. package/internal/utils.d.ts +0 -8
  453. package/internal/utils.d.ts.map +0 -1
  454. package/internal/utils.js +0 -12
  455. package/internal/utils.js.map +0 -1
  456. package/internal/utils.mjs +0 -9
  457. package/internal/utils.mjs.map +0 -1
  458. package/pagination.d.mts +0 -3
  459. package/pagination.d.mts.map +0 -1
  460. package/pagination.d.ts +0 -3
  461. package/pagination.d.ts.map +0 -1
  462. package/pagination.js +0 -6
  463. package/pagination.js.map +0 -1
  464. package/pagination.mjs +0 -3
  465. package/pagination.mjs.map +0 -1
  466. package/resource.d.mts +0 -3
  467. package/resource.d.mts.map +0 -1
  468. package/resource.d.ts +0 -3
  469. package/resource.d.ts.map +0 -1
  470. package/resource.js +0 -6
  471. package/resource.js.map +0 -1
  472. package/resource.mjs +0 -3
  473. package/resource.mjs.map +0 -1
  474. package/resources/account.d.mts +0 -124
  475. package/resources/account.d.mts.map +0 -1
  476. package/resources/account.d.ts +0 -124
  477. package/resources/account.d.ts.map +0 -1
  478. package/resources/account.js +0 -33
  479. package/resources/account.js.map +0 -1
  480. package/resources/account.mjs +0 -29
  481. package/resources/account.mjs.map +0 -1
  482. package/resources/agents/agents.d.mts +0 -379
  483. package/resources/agents/agents.d.mts.map +0 -1
  484. package/resources/agents/agents.d.ts +0 -379
  485. package/resources/agents/agents.d.ts.map +0 -1
  486. package/resources/agents/agents.js +0 -192
  487. package/resources/agents/agents.js.map +0 -1
  488. package/resources/agents/agents.mjs +0 -187
  489. package/resources/agents/agents.mjs.map +0 -1
  490. package/resources/agents/feedback.d.mts +0 -71
  491. package/resources/agents/feedback.d.mts.map +0 -1
  492. package/resources/agents/feedback.d.ts +0 -71
  493. package/resources/agents/feedback.d.ts.map +0 -1
  494. package/resources/agents/feedback.js +0 -34
  495. package/resources/agents/feedback.js.map +0 -1
  496. package/resources/agents/feedback.mjs +0 -30
  497. package/resources/agents/feedback.mjs.map +0 -1
  498. package/resources/agents/index.d.mts +0 -6
  499. package/resources/agents/index.d.mts.map +0 -1
  500. package/resources/agents/index.d.ts +0 -6
  501. package/resources/agents/index.d.ts.map +0 -1
  502. package/resources/agents/index.js +0 -15
  503. package/resources/agents/index.js.map +0 -1
  504. package/resources/agents/index.mjs +0 -7
  505. package/resources/agents/index.mjs.map +0 -1
  506. package/resources/agents/schedules.d.mts +0 -383
  507. package/resources/agents/schedules.d.mts.map +0 -1
  508. package/resources/agents/schedules.d.ts +0 -383
  509. package/resources/agents/schedules.d.ts.map +0 -1
  510. package/resources/agents/schedules.js +0 -172
  511. package/resources/agents/schedules.js.map +0 -1
  512. package/resources/agents/schedules.mjs +0 -168
  513. package/resources/agents/schedules.mjs.map +0 -1
  514. package/resources/agents/variations.d.mts +0 -682
  515. package/resources/agents/variations.d.mts.map +0 -1
  516. package/resources/agents/variations.d.ts +0 -682
  517. package/resources/agents/variations.d.ts.map +0 -1
  518. package/resources/agents/variations.js +0 -209
  519. package/resources/agents/variations.js.map +0 -1
  520. package/resources/agents/variations.mjs +0 -205
  521. package/resources/agents/variations.mjs.map +0 -1
  522. package/resources/agents/webhook-deliveries.d.mts +0 -96
  523. package/resources/agents/webhook-deliveries.d.mts.map +0 -1
  524. package/resources/agents/webhook-deliveries.d.ts +0 -96
  525. package/resources/agents/webhook-deliveries.d.ts.map +0 -1
  526. package/resources/agents/webhook-deliveries.js +0 -32
  527. package/resources/agents/webhook-deliveries.js.map +0 -1
  528. package/resources/agents/webhook-deliveries.mjs +0 -28
  529. package/resources/agents/webhook-deliveries.mjs.map +0 -1
  530. package/resources/agents.d.mts +0 -2
  531. package/resources/agents.d.mts.map +0 -1
  532. package/resources/agents.d.ts +0 -2
  533. package/resources/agents.d.ts.map +0 -1
  534. package/resources/agents.js +0 -6
  535. package/resources/agents.js.map +0 -1
  536. package/resources/agents.mjs +0 -3
  537. package/resources/agents.mjs.map +0 -1
  538. package/resources/ai-provider-keys.d.mts +0 -269
  539. package/resources/ai-provider-keys.d.mts.map +0 -1
  540. package/resources/ai-provider-keys.d.ts +0 -269
  541. package/resources/ai-provider-keys.d.ts.map +0 -1
  542. package/resources/ai-provider-keys.js +0 -53
  543. package/resources/ai-provider-keys.js.map +0 -1
  544. package/resources/ai-provider-keys.mjs +0 -49
  545. package/resources/ai-provider-keys.mjs.map +0 -1
  546. package/resources/api-keys.d.mts +0 -268
  547. package/resources/api-keys.d.mts.map +0 -1
  548. package/resources/api-keys.d.ts +0 -268
  549. package/resources/api-keys.d.ts.map +0 -1
  550. package/resources/api-keys.js +0 -84
  551. package/resources/api-keys.js.map +0 -1
  552. package/resources/api-keys.mjs +0 -80
  553. package/resources/api-keys.mjs.map +0 -1
  554. package/resources/global-api-key.d.mts +0 -33
  555. package/resources/global-api-key.d.mts.map +0 -1
  556. package/resources/global-api-key.d.ts +0 -33
  557. package/resources/global-api-key.d.ts.map +0 -1
  558. package/resources/global-api-key.js +0 -43
  559. package/resources/global-api-key.js.map +0 -1
  560. package/resources/global-api-key.mjs +0 -39
  561. package/resources/global-api-key.mjs.map +0 -1
  562. package/resources/index.d.mts +0 -21
  563. package/resources/index.d.mts.map +0 -1
  564. package/resources/index.d.ts +0 -21
  565. package/resources/index.d.ts.map +0 -1
  566. package/resources/index.js +0 -45
  567. package/resources/index.js.map +0 -1
  568. package/resources/index.mjs +0 -22
  569. package/resources/index.mjs.map +0 -1
  570. package/resources/memory-layers/entries.d.mts +0 -257
  571. package/resources/memory-layers/entries.d.mts.map +0 -1
  572. package/resources/memory-layers/entries.d.ts +0 -257
  573. package/resources/memory-layers/entries.d.ts.map +0 -1
  574. package/resources/memory-layers/entries.js +0 -59
  575. package/resources/memory-layers/entries.js.map +0 -1
  576. package/resources/memory-layers/entries.mjs +0 -55
  577. package/resources/memory-layers/entries.mjs.map +0 -1
  578. package/resources/memory-layers/index.d.mts +0 -3
  579. package/resources/memory-layers/index.d.mts.map +0 -1
  580. package/resources/memory-layers/index.d.ts +0 -3
  581. package/resources/memory-layers/index.d.ts.map +0 -1
  582. package/resources/memory-layers/index.js +0 -9
  583. package/resources/memory-layers/index.js.map +0 -1
  584. package/resources/memory-layers/index.mjs +0 -4
  585. package/resources/memory-layers/index.mjs.map +0 -1
  586. package/resources/memory-layers/memory-layers.d.mts +0 -196
  587. package/resources/memory-layers/memory-layers.d.mts.map +0 -1
  588. package/resources/memory-layers/memory-layers.d.ts +0 -196
  589. package/resources/memory-layers/memory-layers.d.ts.map +0 -1
  590. package/resources/memory-layers/memory-layers.js +0 -64
  591. package/resources/memory-layers/memory-layers.js.map +0 -1
  592. package/resources/memory-layers/memory-layers.mjs +0 -59
  593. package/resources/memory-layers/memory-layers.mjs.map +0 -1
  594. package/resources/memory-layers.d.mts +0 -2
  595. package/resources/memory-layers.d.mts.map +0 -1
  596. package/resources/memory-layers.d.ts +0 -2
  597. package/resources/memory-layers.d.ts.map +0 -1
  598. package/resources/memory-layers.js +0 -6
  599. package/resources/memory-layers.js.map +0 -1
  600. package/resources/memory-layers.mjs +0 -3
  601. package/resources/memory-layers.mjs.map +0 -1
  602. package/resources/models.d.mts +0 -209
  603. package/resources/models.d.mts.map +0 -1
  604. package/resources/models.d.ts +0 -209
  605. package/resources/models.d.ts.map +0 -1
  606. package/resources/models.js +0 -60
  607. package/resources/models.js.map +0 -1
  608. package/resources/models.mjs +0 -56
  609. package/resources/models.mjs.map +0 -1
  610. package/resources/objectives/feedback.d.mts +0 -126
  611. package/resources/objectives/feedback.d.mts.map +0 -1
  612. package/resources/objectives/feedback.d.ts +0 -126
  613. package/resources/objectives/feedback.d.ts.map +0 -1
  614. package/resources/objectives/feedback.js +0 -53
  615. package/resources/objectives/feedback.js.map +0 -1
  616. package/resources/objectives/feedback.mjs +0 -49
  617. package/resources/objectives/feedback.mjs.map +0 -1
  618. package/resources/objectives/index.d.mts +0 -6
  619. package/resources/objectives/index.d.mts.map +0 -1
  620. package/resources/objectives/index.d.ts +0 -6
  621. package/resources/objectives/index.d.ts.map +0 -1
  622. package/resources/objectives/index.js +0 -15
  623. package/resources/objectives/index.js.map +0 -1
  624. package/resources/objectives/index.mjs +0 -7
  625. package/resources/objectives/index.mjs.map +0 -1
  626. package/resources/objectives/objectives.d.mts +0 -1280
  627. package/resources/objectives/objectives.d.mts.map +0 -1
  628. package/resources/objectives/objectives.d.ts +0 -1280
  629. package/resources/objectives/objectives.d.ts.map +0 -1
  630. package/resources/objectives/objectives.js +0 -214
  631. package/resources/objectives/objectives.js.map +0 -1
  632. package/resources/objectives/objectives.mjs +0 -209
  633. package/resources/objectives/objectives.mjs.map +0 -1
  634. package/resources/objectives/tasks.d.mts +0 -88
  635. package/resources/objectives/tasks.d.mts.map +0 -1
  636. package/resources/objectives/tasks.d.ts +0 -88
  637. package/resources/objectives/tasks.d.ts.map +0 -1
  638. package/resources/objectives/tasks.js +0 -46
  639. package/resources/objectives/tasks.js.map +0 -1
  640. package/resources/objectives/tasks.mjs +0 -42
  641. package/resources/objectives/tasks.mjs.map +0 -1
  642. package/resources/objectives/tool-calls.d.mts +0 -379
  643. package/resources/objectives/tool-calls.d.mts.map +0 -1
  644. package/resources/objectives/tool-calls.d.ts +0 -379
  645. package/resources/objectives/tool-calls.d.ts.map +0 -1
  646. package/resources/objectives/tool-calls.js +0 -111
  647. package/resources/objectives/tool-calls.js.map +0 -1
  648. package/resources/objectives/tool-calls.mjs +0 -107
  649. package/resources/objectives/tool-calls.mjs.map +0 -1
  650. package/resources/objectives/tools.d.mts +0 -53
  651. package/resources/objectives/tools.d.mts.map +0 -1
  652. package/resources/objectives/tools.d.ts +0 -53
  653. package/resources/objectives/tools.d.ts.map +0 -1
  654. package/resources/objectives/tools.js +0 -29
  655. package/resources/objectives/tools.js.map +0 -1
  656. package/resources/objectives/tools.mjs +0 -25
  657. package/resources/objectives/tools.mjs.map +0 -1
  658. package/resources/objectives.d.mts +0 -2
  659. package/resources/objectives.d.mts.map +0 -1
  660. package/resources/objectives.d.ts +0 -2
  661. package/resources/objectives.d.ts.map +0 -1
  662. package/resources/objectives.js +0 -6
  663. package/resources/objectives.js.map +0 -1
  664. package/resources/objectives.mjs +0 -3
  665. package/resources/objectives.mjs.map +0 -1
  666. package/resources/profiles.d.mts +0 -16
  667. package/resources/profiles.d.mts.map +0 -1
  668. package/resources/profiles.d.ts +0 -16
  669. package/resources/profiles.d.ts.map +0 -1
  670. package/resources/profiles.js +0 -20
  671. package/resources/profiles.js.map +0 -1
  672. package/resources/profiles.mjs +0 -16
  673. package/resources/profiles.mjs.map +0 -1
  674. package/resources/search.d.mts +0 -33
  675. package/resources/search.d.mts.map +0 -1
  676. package/resources/search.d.ts +0 -33
  677. package/resources/search.d.ts.map +0 -1
  678. package/resources/search.js +0 -20
  679. package/resources/search.js.map +0 -1
  680. package/resources/search.mjs +0 -16
  681. package/resources/search.mjs.map +0 -1
  682. package/resources/shared.d.mts +0 -215
  683. package/resources/shared.d.mts.map +0 -1
  684. package/resources/shared.d.ts +0 -215
  685. package/resources/shared.d.ts.map +0 -1
  686. package/resources/shared.js +0 -4
  687. package/resources/shared.js.map +0 -1
  688. package/resources/shared.mjs +0 -3
  689. package/resources/shared.mjs.map +0 -1
  690. package/resources/tenants/index.d.mts +0 -3
  691. package/resources/tenants/index.d.mts.map +0 -1
  692. package/resources/tenants/index.d.ts +0 -3
  693. package/resources/tenants/index.d.ts.map +0 -1
  694. package/resources/tenants/index.js +0 -9
  695. package/resources/tenants/index.js.map +0 -1
  696. package/resources/tenants/index.mjs +0 -4
  697. package/resources/tenants/index.mjs.map +0 -1
  698. package/resources/tenants/subjects.d.mts +0 -43
  699. package/resources/tenants/subjects.d.mts.map +0 -1
  700. package/resources/tenants/subjects.d.ts +0 -43
  701. package/resources/tenants/subjects.d.ts.map +0 -1
  702. package/resources/tenants/subjects.js +0 -27
  703. package/resources/tenants/subjects.js.map +0 -1
  704. package/resources/tenants/subjects.mjs +0 -23
  705. package/resources/tenants/subjects.mjs.map +0 -1
  706. package/resources/tenants/tenants.d.mts +0 -158
  707. package/resources/tenants/tenants.d.mts.map +0 -1
  708. package/resources/tenants/tenants.d.ts +0 -158
  709. package/resources/tenants/tenants.d.ts.map +0 -1
  710. package/resources/tenants/tenants.js +0 -58
  711. package/resources/tenants/tenants.js.map +0 -1
  712. package/resources/tenants/tenants.mjs +0 -53
  713. package/resources/tenants/tenants.mjs.map +0 -1
  714. package/resources/tenants.d.mts +0 -2
  715. package/resources/tenants.d.mts.map +0 -1
  716. package/resources/tenants.d.ts +0 -2
  717. package/resources/tenants.d.ts.map +0 -1
  718. package/resources/tenants.js +0 -6
  719. package/resources/tenants.js.map +0 -1
  720. package/resources/tenants.mjs +0 -3
  721. package/resources/tenants.mjs.map +0 -1
  722. package/resources/tool-sets/index.d.mts +0 -4
  723. package/resources/tool-sets/index.d.mts.map +0 -1
  724. package/resources/tool-sets/index.d.ts +0 -4
  725. package/resources/tool-sets/index.d.ts.map +0 -1
  726. package/resources/tool-sets/index.js +0 -11
  727. package/resources/tool-sets/index.js.map +0 -1
  728. package/resources/tool-sets/index.mjs +0 -5
  729. package/resources/tool-sets/index.mjs.map +0 -1
  730. package/resources/tool-sets/secrets.d.mts +0 -135
  731. package/resources/tool-sets/secrets.d.mts.map +0 -1
  732. package/resources/tool-sets/secrets.d.ts +0 -135
  733. package/resources/tool-sets/secrets.d.ts.map +0 -1
  734. package/resources/tool-sets/secrets.js +0 -63
  735. package/resources/tool-sets/secrets.js.map +0 -1
  736. package/resources/tool-sets/secrets.mjs +0 -59
  737. package/resources/tool-sets/secrets.mjs.map +0 -1
  738. package/resources/tool-sets/tool-sets.d.mts +0 -595
  739. package/resources/tool-sets/tool-sets.d.mts.map +0 -1
  740. package/resources/tool-sets/tool-sets.d.ts +0 -595
  741. package/resources/tool-sets/tool-sets.d.ts.map +0 -1
  742. package/resources/tool-sets/tool-sets.js +0 -123
  743. package/resources/tool-sets/tool-sets.js.map +0 -1
  744. package/resources/tool-sets/tool-sets.mjs +0 -118
  745. package/resources/tool-sets/tool-sets.mjs.map +0 -1
  746. package/resources/tool-sets/tools.d.mts +0 -305
  747. package/resources/tool-sets/tools.d.mts.map +0 -1
  748. package/resources/tool-sets/tools.d.ts +0 -305
  749. package/resources/tool-sets/tools.d.ts.map +0 -1
  750. package/resources/tool-sets/tools.js +0 -85
  751. package/resources/tool-sets/tools.js.map +0 -1
  752. package/resources/tool-sets/tools.mjs +0 -81
  753. package/resources/tool-sets/tools.mjs.map +0 -1
  754. package/resources/tool-sets.d.mts +0 -2
  755. package/resources/tool-sets.d.mts.map +0 -1
  756. package/resources/tool-sets.d.ts +0 -2
  757. package/resources/tool-sets.d.ts.map +0 -1
  758. package/resources/tool-sets.js +0 -6
  759. package/resources/tool-sets.js.map +0 -1
  760. package/resources/tool-sets.mjs +0 -3
  761. package/resources/tool-sets.mjs.map +0 -1
  762. package/resources/uploads.d.mts +0 -107
  763. package/resources/uploads.d.mts.map +0 -1
  764. package/resources/uploads.d.ts +0 -107
  765. package/resources/uploads.d.ts.map +0 -1
  766. package/resources/uploads.js +0 -31
  767. package/resources/uploads.js.map +0 -1
  768. package/resources/uploads.mjs +0 -27
  769. package/resources/uploads.mjs.map +0 -1
  770. package/resources/webhooks.d.mts +0 -92
  771. package/resources/webhooks.d.mts.map +0 -1
  772. package/resources/webhooks.d.ts +0 -92
  773. package/resources/webhooks.d.ts.map +0 -1
  774. package/resources/webhooks.js +0 -23
  775. package/resources/webhooks.js.map +0 -1
  776. package/resources/webhooks.mjs +0 -19
  777. package/resources/webhooks.mjs.map +0 -1
  778. package/resources/widget-sessions.d.mts +0 -388
  779. package/resources/widget-sessions.d.mts.map +0 -1
  780. package/resources/widget-sessions.d.ts +0 -388
  781. package/resources/widget-sessions.d.ts.map +0 -1
  782. package/resources/widget-sessions.js +0 -79
  783. package/resources/widget-sessions.js.map +0 -1
  784. package/resources/widget-sessions.mjs +0 -75
  785. package/resources/widget-sessions.mjs.map +0 -1
  786. package/resources/widgets.d.mts +0 -225
  787. package/resources/widgets.d.mts.map +0 -1
  788. package/resources/widgets.d.ts +0 -225
  789. package/resources/widgets.d.ts.map +0 -1
  790. package/resources/widgets.js +0 -83
  791. package/resources/widgets.js.map +0 -1
  792. package/resources/widgets.mjs +0 -79
  793. package/resources/widgets.mjs.map +0 -1
  794. package/resources/workspace-admin/index.d.mts +0 -4
  795. package/resources/workspace-admin/index.d.mts.map +0 -1
  796. package/resources/workspace-admin/index.d.ts +0 -4
  797. package/resources/workspace-admin/index.d.ts.map +0 -1
  798. package/resources/workspace-admin/index.js +0 -11
  799. package/resources/workspace-admin/index.js.map +0 -1
  800. package/resources/workspace-admin/index.mjs +0 -5
  801. package/resources/workspace-admin/index.mjs.map +0 -1
  802. package/resources/workspace-admin/members.d.mts +0 -90
  803. package/resources/workspace-admin/members.d.mts.map +0 -1
  804. package/resources/workspace-admin/members.d.ts +0 -90
  805. package/resources/workspace-admin/members.d.ts.map +0 -1
  806. package/resources/workspace-admin/members.js +0 -74
  807. package/resources/workspace-admin/members.js.map +0 -1
  808. package/resources/workspace-admin/members.mjs +0 -70
  809. package/resources/workspace-admin/members.mjs.map +0 -1
  810. package/resources/workspace-admin/profiles.d.mts +0 -46
  811. package/resources/workspace-admin/profiles.d.mts.map +0 -1
  812. package/resources/workspace-admin/profiles.d.ts +0 -46
  813. package/resources/workspace-admin/profiles.d.ts.map +0 -1
  814. package/resources/workspace-admin/profiles.js +0 -36
  815. package/resources/workspace-admin/profiles.js.map +0 -1
  816. package/resources/workspace-admin/profiles.mjs +0 -32
  817. package/resources/workspace-admin/profiles.mjs.map +0 -1
  818. package/resources/workspace-admin/workspace-admin.d.mts +0 -227
  819. package/resources/workspace-admin/workspace-admin.d.mts.map +0 -1
  820. package/resources/workspace-admin/workspace-admin.d.ts +0 -227
  821. package/resources/workspace-admin/workspace-admin.d.ts.map +0 -1
  822. package/resources/workspace-admin/workspace-admin.js +0 -112
  823. package/resources/workspace-admin/workspace-admin.js.map +0 -1
  824. package/resources/workspace-admin/workspace-admin.mjs +0 -107
  825. package/resources/workspace-admin/workspace-admin.mjs.map +0 -1
  826. package/resources/workspace-admin.d.mts +0 -2
  827. package/resources/workspace-admin.d.mts.map +0 -1
  828. package/resources/workspace-admin.d.ts +0 -2
  829. package/resources/workspace-admin.d.ts.map +0 -1
  830. package/resources/workspace-admin.js +0 -6
  831. package/resources/workspace-admin.js.map +0 -1
  832. package/resources/workspace-admin.mjs +0 -3
  833. package/resources/workspace-admin.mjs.map +0 -1
  834. package/resources/workspace-secrets.d.mts +0 -134
  835. package/resources/workspace-secrets.d.mts.map +0 -1
  836. package/resources/workspace-secrets.d.ts +0 -134
  837. package/resources/workspace-secrets.d.ts.map +0 -1
  838. package/resources/workspace-secrets.js +0 -53
  839. package/resources/workspace-secrets.js.map +0 -1
  840. package/resources/workspace-secrets.mjs +0 -49
  841. package/resources/workspace-secrets.mjs.map +0 -1
  842. package/resources/workspaces.d.mts +0 -70
  843. package/resources/workspaces.d.mts.map +0 -1
  844. package/resources/workspaces.d.ts +0 -70
  845. package/resources/workspaces.d.ts.map +0 -1
  846. package/resources/workspaces.js +0 -24
  847. package/resources/workspaces.js.map +0 -1
  848. package/resources/workspaces.mjs +0 -20
  849. package/resources/workspaces.mjs.map +0 -1
  850. package/resources.d.mts +0 -2
  851. package/resources.d.mts.map +0 -1
  852. package/resources.d.ts +0 -2
  853. package/resources.d.ts.map +0 -1
  854. package/resources.js +0 -5
  855. package/resources.js.map +0 -1
  856. package/resources.mjs +0 -2
  857. package/resources.mjs.map +0 -1
  858. package/src/api-promise.ts +0 -2
  859. package/src/core/README.md +0 -3
  860. package/src/core/api-promise.ts +0 -92
  861. package/src/core/resource.ts +0 -11
  862. package/src/core/streaming.ts +0 -319
  863. package/src/core/uploads.ts +0 -2
  864. package/src/error.ts +0 -2
  865. package/src/internal/README.md +0 -3
  866. package/src/internal/builtin-types.ts +0 -93
  867. package/src/internal/decoders/line.ts +0 -135
  868. package/src/internal/detect-platform.ts +0 -196
  869. package/src/internal/errors.ts +0 -33
  870. package/src/internal/headers.ts +0 -97
  871. package/src/internal/parse.ts +0 -70
  872. package/src/internal/qs/LICENSE.md +0 -13
  873. package/src/internal/qs/README.md +0 -3
  874. package/src/internal/qs/formats.ts +0 -10
  875. package/src/internal/qs/index.ts +0 -13
  876. package/src/internal/qs/stringify.ts +0 -385
  877. package/src/internal/qs/types.ts +0 -71
  878. package/src/internal/qs/utils.ts +0 -265
  879. package/src/internal/request-options.ts +0 -93
  880. package/src/internal/shim-types.ts +0 -26
  881. package/src/internal/shims.ts +0 -107
  882. package/src/internal/to-file.ts +0 -154
  883. package/src/internal/types.ts +0 -93
  884. package/src/internal/uploads.ts +0 -187
  885. package/src/internal/utils/base64.ts +0 -40
  886. package/src/internal/utils/bytes.ts +0 -32
  887. package/src/internal/utils/env.ts +0 -18
  888. package/src/internal/utils/log.ts +0 -128
  889. package/src/internal/utils/path.ts +0 -88
  890. package/src/internal/utils/query.ts +0 -7
  891. package/src/internal/utils/sleep.ts +0 -3
  892. package/src/internal/utils/uuid.ts +0 -17
  893. package/src/internal/utils/values.ts +0 -105
  894. package/src/internal/utils.ts +0 -9
  895. package/src/lib/.keep +0 -4
  896. package/src/pagination.ts +0 -2
  897. package/src/resource.ts +0 -2
  898. package/src/resources/account.ts +0 -160
  899. package/src/resources/agents/agents.ts +0 -618
  900. package/src/resources/agents/feedback.ts +0 -98
  901. package/src/resources/agents/index.ts +0 -77
  902. package/src/resources/agents/schedules.ts +0 -543
  903. package/src/resources/agents/variations.ts +0 -931
  904. package/src/resources/agents/webhook-deliveries.ts +0 -178
  905. package/src/resources/global-api-key.ts +0 -46
  906. package/src/resources/index.ts +0 -294
  907. package/src/resources/memory-layers/entries.ts +0 -375
  908. package/src/resources/memory-layers/index.ts +0 -31
  909. package/src/resources/memory-layers/memory-layers.ts +0 -316
  910. package/src/resources/objectives/feedback.ts +0 -173
  911. package/src/resources/objectives/index.ts +0 -117
  912. package/src/resources/objectives/objectives.ts +0 -1789
  913. package/src/resources/objectives/tasks.ts +0 -131
  914. package/src/resources/objectives/tool-calls.ts +0 -574
  915. package/src/resources/objectives/tools.ts +0 -76
  916. package/src/resources/search.ts +0 -54
  917. package/src/resources/shared.ts +0 -236
  918. package/src/resources/tenants/index.ts +0 -15
  919. package/src/resources/tenants/subjects.ts +0 -63
  920. package/src/resources/tenants/tenants.ts +0 -220
  921. package/src/resources/tool-sets/index.ts +0 -89
  922. package/src/resources/tool-sets/secrets.ts +0 -225
  923. package/src/resources/tool-sets/tool-sets.ts +0 -936
  924. package/src/resources/tool-sets/tools.ts +0 -458
  925. package/src/resources/webhooks.ts +0 -124
  926. package/src/resources/workspace-admin/index.ts +0 -14
  927. package/src/resources/workspace-admin/members.ts +0 -133
  928. package/src/resources/workspace-admin/profiles.ts +0 -60
  929. package/src/resources/workspace-admin/workspace-admin.ts +0 -304
  930. package/src/resources.ts +0 -1
  931. package/src/streaming.ts +0 -2
  932. package/src/tsconfig.json +0 -11
  933. package/src/uploads.ts +0 -2
  934. package/src/version.ts +0 -1
  935. package/streaming.d.mts +0 -3
  936. package/streaming.d.mts.map +0 -1
  937. package/streaming.d.ts +0 -3
  938. package/streaming.d.ts.map +0 -1
  939. package/streaming.js +0 -6
  940. package/streaming.js.map +0 -1
  941. package/streaming.mjs +0 -3
  942. package/streaming.mjs.map +0 -1
  943. package/uploads.d.mts +0 -3
  944. package/uploads.d.mts.map +0 -1
  945. package/uploads.d.ts +0 -3
  946. package/uploads.d.ts.map +0 -1
  947. package/uploads.js +0 -6
  948. package/uploads.js.map +0 -1
  949. package/uploads.mjs +0 -3
  950. package/uploads.mjs.map +0 -1
  951. package/version.d.mts +0 -2
  952. package/version.d.mts.map +0 -1
  953. package/version.d.ts +0 -2
  954. package/version.d.ts.map +0 -1
  955. package/version.js +0 -5
  956. package/version.js.map +0 -1
  957. package/version.mjs +0 -2
  958. package/version.mjs.map +0 -1
@@ -0,0 +1,639 @@
1
+ /**
2
+ * Minimal, dependency-less HTTP core built on global fetch (Node 18+,
3
+ * browsers, Deno, Bun). Handles auth, query serialization, retries with
4
+ * backoff, timeouts, and error mapping.
5
+ */
6
+
7
+ import {
8
+ APIConnectionError,
9
+ APIError,
10
+ APIRequestError,
11
+ APIResponseError,
12
+ APITimeoutError,
13
+ APIUserAbortError,
14
+ ErrorStatus,
15
+ } from './error.js';
16
+
17
+ export interface RequestOptions {
18
+ /**
19
+ * Auto-reconnect for SSE streams (default true): a mid-stream transport
20
+ * drop resumes from the last received event id, like EventSource. Clean
21
+ * stream end, close(), and abort never reconnect. Set false to surface
22
+ * drops as APIConnectionError instead.
23
+ */
24
+ reconnect?: boolean;
25
+ headers?: Record<string, string>;
26
+ signal?: AbortSignal;
27
+ maxRetries?: number;
28
+ /**
29
+ * Per-request deadline in milliseconds (overrides the client default).
30
+ * Non-finite or <= 0 disables the deadline for this request.
31
+ */
32
+ timeout?: number;
33
+ /**
34
+ * For streaming (SSE) requests: resume after the event with this id by
35
+ * sending it as the Last-Event-ID request header.
36
+ */
37
+ lastEventId?: string;
38
+ }
39
+
40
+ export type QueryPrimitive = string | number | boolean;
41
+ export type QueryValue = QueryPrimitive | QueryPrimitive[] | undefined | null;
42
+
43
+ export interface RequestSpec {
44
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
45
+ path: string;
46
+ query?: Record<string, QueryValue>;
47
+ body?: unknown;
48
+ stream?: boolean;
49
+ /** The operation declares no response body (void): 204/empty succeed. */
50
+ void?: boolean;
51
+ }
52
+
53
+ export type LogLevel = 'debug' | 'warn' | 'off';
54
+
55
+ /** Minimal logger surface; `console` satisfies it. */
56
+ export interface Logger {
57
+ debug(...args: unknown[]): void;
58
+ warn(...args: unknown[]): void;
59
+ }
60
+
61
+ export interface HttpClientOptions {
62
+ baseURL: string;
63
+ authHeader: () => Record<string, string>;
64
+ maxRetries?: number;
65
+ /** Deadline for ordinary (non-streaming) requests in ms. Default 60000. */
66
+ timeout?: number;
67
+ defaultHeaders?: Record<string, string>;
68
+ fetch?: typeof fetch;
69
+ /** Client-level default values for prominent params (e.g. a tenant/scope id). */
70
+ defaults?: Record<string, string | undefined>;
71
+ /** Destination for SDK logs. Defaults to `console`. */
72
+ logger?: Logger;
73
+ /**
74
+ * 'debug' logs every request/response line (method, path, status,
75
+ * duration — never headers or bodies); 'warn' (default) logs only
76
+ * retries; 'off' silences the SDK entirely.
77
+ */
78
+ logLevel?: LogLevel;
79
+ }
80
+
81
+ const RETRYABLE_STATUS = new Set([408, 409, 429, 500, 502, 503, 504]);
82
+
83
+ const DEFAULT_TIMEOUT_MS = 60_000;
84
+
85
+ /**
86
+ * Encode one path segment, rejecting empty/whitespace values at the boundary
87
+ * — an empty segment would silently rewrite the route (/parents//children).
88
+ */
89
+ export function pathSegment(name: string, value: string | undefined): string {
90
+ if (value === undefined || String(value).trim() === '') {
91
+ throw new Error(`Missing required path parameter '${name}'.`);
92
+ }
93
+ return encodeURIComponent(value);
94
+ }
95
+
96
+ /**
97
+ * Snapshot list params at call time so pagination cannot observe later
98
+ * caller mutations (array-valued filters are copied too). Auto-iteration
99
+ * must never combine pages from different result sets.
100
+ */
101
+ export function snapshotParams<T>(params: T): T {
102
+ if (params === undefined || params === null || typeof params !== 'object') return params;
103
+ const copy: Record<string, unknown> = {};
104
+ for (const [key, value] of Object.entries(params as Record<string, unknown>)) {
105
+ copy[key] = Array.isArray(value) ? value.slice() : value;
106
+ }
107
+ return copy as T;
108
+ }
109
+
110
+ /**
111
+ * Automatic retries apply only to idempotent methods. A POST/PATCH that
112
+ * succeeds server-side but loses its response would be executed twice if
113
+ * retried; callers can opt a specific mutation in via options.maxRetries.
114
+ */
115
+ const IDEMPOTENT_METHODS = new Set(['GET', 'HEAD', 'PUT', 'DELETE']);
116
+
117
+ /**
118
+ * Settle when the promise settles OR the signal aborts — a custom fetch (or
119
+ * body reader) that ignores AbortSignal must not be able to hold a deadlined
120
+ * request open forever. The orphaned promise's eventual rejection is
121
+ * swallowed; its resolution is discarded.
122
+ */
123
+ function raceAbort<T>(promise: Promise<T>, signal: AbortSignal | undefined): Promise<T> {
124
+ if (!signal) return promise;
125
+ return new Promise<T>((resolve, reject) => {
126
+ const onAbort = () => {
127
+ promise.catch(() => {});
128
+ reject(new APIUserAbortError());
129
+ };
130
+ if (signal.aborted) {
131
+ onAbort();
132
+ return;
133
+ }
134
+ signal.addEventListener('abort', onAbort, { once: true });
135
+ promise.then(
136
+ (value) => {
137
+ signal.removeEventListener('abort', onAbort);
138
+ resolve(value);
139
+ },
140
+ (err) => {
141
+ signal.removeEventListener('abort', onAbort);
142
+ reject(err);
143
+ },
144
+ );
145
+ });
146
+ }
147
+
148
+ /**
149
+ * Deadline cleanup for streaming responses, handed from rawRequest to the
150
+ * Stream that owns the body. The forwarding listener must survive until the
151
+ * stream terminates (a caller abort has to unblock a pending read on a
152
+ * silent socket), so the Stream — not rawRequest — releases it.
153
+ */
154
+ const streamCleanups = new WeakMap<Response, () => void>();
155
+
156
+ /** Claim (and remove) the cleanup registered for a streaming response. */
157
+ export function takeStreamCleanup(response: Response): (() => void) | undefined {
158
+ const cleanup = streamCleanups.get(response);
159
+ streamCleanups.delete(response);
160
+ return cleanup;
161
+ }
162
+
163
+ /** Merged caller-signal + deadline state for one request. */
164
+ interface Deadline {
165
+ signal: AbortSignal | undefined;
166
+ /** Stop the timer (body may keep streaming under the caller's signal). */
167
+ settle(): void;
168
+ /**
169
+ * Detach the abort-forwarding listener from the caller's signal. Call
170
+ * only when the request (including any stream body) is finished — a
171
+ * reused long-lived signal must not accumulate one listener per
172
+ * completed call.
173
+ */
174
+ release(): void;
175
+ timedOut(): boolean;
176
+ ms: number;
177
+ }
178
+
179
+ /**
180
+ * A lazily-parsing promise for one API call. Awaiting it (or `.then`) yields
181
+ * the decoded value exactly like a plain promise; `withResponse()` yields the
182
+ * decoded value together with the raw `Response` (status, headers); and
183
+ * `asResponse()` yields the raw `Response` WITHOUT consuming the body, so
184
+ * the caller owns reading it.
185
+ */
186
+ export class APIPromise<T> implements Promise<T> {
187
+ private parsed: Promise<T> | undefined;
188
+ private observedRaw = false;
189
+
190
+ constructor(
191
+ private readonly responsePromise: Promise<Response>,
192
+ private readonly parseFn: (response: Response) => Promise<T>,
193
+ private readonly onRawAccess: () => void,
194
+ ) {
195
+ // A dropped return value must still reach terminal cleanup: the request
196
+ // has already been sent, so unless raw access claims the body FIRST
197
+ // (synchronously, before any await), parsing starts on the next
198
+ // microtask — consuming the body and settling the deadline timer even
199
+ // when the caller never observes the promise. Rejections on this
200
+ // internal branch are swallowed; a caller who later awaits still gets
201
+ // them from the memoized parse.
202
+ queueMicrotask(() => {
203
+ if (!this.observedRaw) this.parse().catch(() => {});
204
+ });
205
+ }
206
+
207
+ /**
208
+ * The raw `Response` after status checking and retries; the body is NOT
209
+ * consumed. Reading the body (and its timing) becomes the caller's
210
+ * responsibility — the request deadline stops at header acquisition.
211
+ */
212
+ asResponse(): Promise<Response> {
213
+ // Must be called synchronously after the request (before any await):
214
+ // it claims body ownership away from the auto-parse safety net. Mixing
215
+ // a LATE asResponse() with parsed access yields a response whose body
216
+ // was already consumed by parsing — status/headers stay usable.
217
+ this.observedRaw = true;
218
+ return this.responsePromise.then((response) => {
219
+ this.onRawAccess();
220
+ return response;
221
+ });
222
+ }
223
+
224
+ /** The decoded value together with the `Response` its body came from. */
225
+ async withResponse(): Promise<{ data: T; response: Response }> {
226
+ const response = await this.responsePromise;
227
+ const data = await this.parse();
228
+ return { data, response };
229
+ }
230
+
231
+ private parse(): Promise<T> {
232
+ this.parsed ??= this.responsePromise.then(this.parseFn);
233
+ return this.parsed;
234
+ }
235
+
236
+ then<TResult1 = T, TResult2 = never>(
237
+ onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,
238
+ onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null,
239
+ ): Promise<TResult1 | TResult2> {
240
+ return this.parse().then(onfulfilled, onrejected);
241
+ }
242
+
243
+ catch<TResult = never>(
244
+ onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null,
245
+ ): Promise<T | TResult> {
246
+ return this.parse().catch(onrejected);
247
+ }
248
+
249
+ finally(onfinally?: (() => void) | null): Promise<T> {
250
+ return this.parse().finally(onfinally);
251
+ }
252
+
253
+ readonly [Symbol.toStringTag] = 'APIPromise';
254
+ }
255
+
256
+ export class HttpClient {
257
+ private readonly baseURL: string;
258
+ private readonly authHeader: () => Record<string, string>;
259
+ private readonly maxRetries: number;
260
+ private readonly timeout: number;
261
+ private readonly defaultHeaders: Record<string, string>;
262
+ private readonly fetchFn: typeof fetch;
263
+ private readonly logger: Logger;
264
+ private readonly logLevel: LogLevel;
265
+
266
+ /** Method + path + status only — headers and bodies are never logged. */
267
+ private logDebug(...args: unknown[]): void {
268
+ if (this.logLevel === 'debug') this.logger.debug('[sdk]', ...args);
269
+ }
270
+
271
+ private logWarn(...args: unknown[]): void {
272
+ if (this.logLevel !== 'off') this.logger.warn('[sdk]', ...args);
273
+ }
274
+ readonly defaults: Record<string, string | undefined>;
275
+
276
+ constructor(options: HttpClientOptions) {
277
+ this.defaults = options.defaults ?? {};
278
+ this.logger = options.logger ?? console;
279
+ this.logLevel = options.logLevel ?? 'warn';
280
+ // Validate the STRUCTURE once: operation paths are appended to this
281
+ // value, so a query/fragment/userinfo would silently swallow the
282
+ // request path. Absolute http(s) with a host is required; a path
283
+ // prefix is supported and kept.
284
+ // A literal delimiter parses as an EMPTY search/hash and slips past
285
+ // the checks below; reject the characters outright.
286
+ if (options.baseURL.includes('?') || options.baseURL.includes('#')) {
287
+ throw new Error(
288
+ `baseURL '${options.baseURL}' must not carry userinfo, query, or fragment`,
289
+ );
290
+ }
291
+ let parsed: URL;
292
+ try {
293
+ parsed = new URL(options.baseURL);
294
+ } catch (err) {
295
+ throw new Error(`baseURL '${options.baseURL}' is not an absolute URL`, { cause: err });
296
+ }
297
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
298
+ throw new Error(`baseURL '${options.baseURL}' must use http or https`);
299
+ }
300
+ if (parsed.hostname === '') {
301
+ throw new Error(`baseURL '${options.baseURL}' has no host`);
302
+ }
303
+ if (parsed.username !== '' || parsed.password !== '' || parsed.search !== '' || parsed.hash !== '') {
304
+ throw new Error(
305
+ `baseURL '${options.baseURL}' must not carry userinfo, query, or fragment`,
306
+ );
307
+ }
308
+ this.baseURL = (parsed.origin + parsed.pathname).replace(/\/+$/, '');
309
+ this.authHeader = options.authHeader;
310
+ this.maxRetries = options.maxRetries ?? 0;
311
+ this.timeout = options.timeout ?? DEFAULT_TIMEOUT_MS;
312
+ this.defaultHeaders = options.defaultHeaders ?? {};
313
+ this.fetchFn = options.fetch ?? fetch;
314
+ }
315
+
316
+ /**
317
+ * The APIPromise pipeline for JSON and void operations. The spec thunk
318
+ * runs inside the async context so synchronous setup failures (e.g. a
319
+ * missing client-default param) surface as rejections, exactly like the
320
+ * plain-promise path. The deadline spans fetch through decode; raw-access
321
+ * consumers release it at header acquisition and own body timing.
322
+ */
323
+ requestAPI<T>(makeSpec: () => RequestSpec, options: RequestOptions = {}): APIPromise<T> {
324
+ const deadline = this.deadline(options);
325
+ let spec: RequestSpec;
326
+ const responsePromise = (async () => {
327
+ try {
328
+ spec = makeSpec();
329
+ return await this.rawRequest(spec, { ...options, signal: deadline.signal });
330
+ } catch (err) {
331
+ deadline.settle();
332
+ deadline.release();
333
+ if (deadline.timedOut()) throw new APITimeoutError(deadline.ms);
334
+ throw err;
335
+ }
336
+ })();
337
+ const parseFn = async (response: Response): Promise<T> => {
338
+ try {
339
+ if (spec.void) {
340
+ void response.body?.cancel().catch(() => {});
341
+ return undefined as T;
342
+ }
343
+ if (response.status === 204) {
344
+ throw new APIResponseError(204, 'HTTP 204 where a JSON response was expected');
345
+ }
346
+ const text = await raceAbort(response.text(), deadline.signal);
347
+ if (text.trim() === '' || text.trim() === 'null') {
348
+ throw new APIResponseError(
349
+ response.status,
350
+ `HTTP ${response.status} with an empty or null body where a JSON response was expected`,
351
+ );
352
+ }
353
+ try {
354
+ return JSON.parse(text) as T;
355
+ } catch (err) {
356
+ throw new APIResponseError(response.status, 'response body is not valid JSON', err);
357
+ }
358
+ } catch (err) {
359
+ if (deadline.timedOut()) throw new APITimeoutError(deadline.ms);
360
+ throw err;
361
+ } finally {
362
+ deadline.settle();
363
+ deadline.release();
364
+ }
365
+ };
366
+ return new APIPromise<T>(responsePromise, parseFn, () => {
367
+ deadline.settle();
368
+ deadline.release();
369
+ });
370
+ }
371
+
372
+ async request<T>(spec: RequestSpec, options: RequestOptions = {}): Promise<T> {
373
+ // Ordinary JSON calls keep the deadline through body consumption and
374
+ // decoding — a response that stalls mid-body still times out.
375
+ const deadline = this.deadline(options);
376
+ try {
377
+ const response = await this.rawRequest(spec, { ...options, signal: deadline.signal });
378
+ // Branch on the GENERATED expectation, not the HTTP status: a void
379
+ // method accepts 204/empty, but an output-bearing method requires a
380
+ // JSON document — empty/null would fabricate a resource outside the
381
+ // declared contract, and malformed JSON must be a stable SDK error.
382
+ if (spec.void) {
383
+ void response.body?.cancel().catch(() => {});
384
+ return undefined as T;
385
+ }
386
+ if (response.status === 204) {
387
+ throw new APIResponseError(204, 'HTTP 204 where a JSON response was expected');
388
+ }
389
+ const text = await raceAbort(response.text(), deadline.signal);
390
+ if (text.trim() === '' || text.trim() === 'null') {
391
+ throw new APIResponseError(
392
+ response.status,
393
+ `HTTP ${response.status} with an empty or null body where a JSON response was expected`,
394
+ );
395
+ }
396
+ try {
397
+ return JSON.parse(text) as T;
398
+ } catch (err) {
399
+ throw new APIResponseError(response.status, 'response body is not valid JSON', err);
400
+ }
401
+ } catch (err) {
402
+ if (deadline.timedOut()) throw new APITimeoutError(deadline.ms);
403
+ throw err;
404
+ } finally {
405
+ deadline.settle();
406
+ deadline.release();
407
+ }
408
+ }
409
+
410
+ async rawRequest(spec: RequestSpec, options: RequestOptions = {}): Promise<Response> {
411
+ const url = this.buildURL(spec.path, spec.query);
412
+
413
+ // One Headers instance; `set` is case-insensitive, so later layers
414
+ // OVERRIDE earlier ones regardless of spelling (object spread would keep
415
+ // both `Authorization` and `authorization` and fetch would join the two
416
+ // values into one corrupt header). Precedence: generated defaults →
417
+ // client defaults → auth → per-request → Last-Event-ID (the semantic
418
+ // option is the single source of resume state).
419
+ const headers = new Headers();
420
+ headers.set('Accept', spec.stream ? 'text/event-stream' : 'application/json');
421
+ if (spec.body !== undefined) headers.set('Content-Type', 'application/json');
422
+ for (const [key, value] of Object.entries(this.defaultHeaders)) headers.set(key, value);
423
+ for (const [key, value] of Object.entries(this.authHeader())) headers.set(key, value);
424
+ for (const [key, value] of Object.entries(options.headers ?? {})) headers.set(key, value);
425
+ if (options.lastEventId !== undefined) {
426
+ headers.set('Last-Event-ID', options.lastEventId);
427
+ }
428
+
429
+ // Serialize ONCE, before the transport/retry loop: a circular object or
430
+ // BigInt is a caller bug, not a network failure — it must surface as a
431
+ // stable request-construction error and never be retried.
432
+ let bodyText: string | undefined;
433
+ if (spec.body !== undefined) {
434
+ try {
435
+ bodyText = JSON.stringify(spec.body);
436
+ } catch (err) {
437
+ throw new APIRequestError('request body is not JSON-serializable', err);
438
+ }
439
+ if (bodyText === undefined) {
440
+ throw new APIRequestError('request body serialized to undefined', undefined);
441
+ }
442
+ }
443
+
444
+ // Streams bound only connection/response-header acquisition; the body's
445
+ // lifetime stays under the caller's AbortSignal.
446
+ const streamDeadline = spec.stream ? this.deadline(options) : undefined;
447
+ const signal = streamDeadline ? streamDeadline.signal : options.signal;
448
+
449
+ // An explicit per-request maxRetries opts in even for mutations.
450
+ const maxRetries = normalizeRetries(
451
+ options.maxRetries !== undefined
452
+ ? options.maxRetries
453
+ : IDEMPOTENT_METHODS.has(spec.method)
454
+ ? this.maxRetries
455
+ : 0,
456
+ );
457
+
458
+ const startedAt = Date.now();
459
+ for (let attempt = 0; ; attempt++) {
460
+ this.logDebug(`-> ${spec.method} ${spec.path}`, attempt > 0 ? `(attempt ${attempt + 1})` : '');
461
+ let response: Response;
462
+ try {
463
+ response = await raceAbort(
464
+ this.fetchFn(url, {
465
+ method: spec.method,
466
+ headers,
467
+ body: bodyText,
468
+ signal: signal ?? null,
469
+ }),
470
+ signal,
471
+ );
472
+ } catch (err) {
473
+ if (streamDeadline?.timedOut()) {
474
+ streamDeadline.settle();
475
+ streamDeadline.release();
476
+ throw new APITimeoutError(streamDeadline.ms);
477
+ }
478
+ if (signal?.aborted) {
479
+ streamDeadline?.settle();
480
+ streamDeadline?.release();
481
+ throw new APIUserAbortError();
482
+ }
483
+ if (attempt < maxRetries) {
484
+ this.logWarn(`retrying ${spec.method} ${spec.path} after connection error (attempt ${attempt + 1}/${maxRetries + 1})`);
485
+ await sleep(backoffMs(attempt, undefined), signal);
486
+ if (streamDeadline?.timedOut()) {
487
+ streamDeadline.settle();
488
+ streamDeadline.release();
489
+ throw new APITimeoutError(streamDeadline.ms);
490
+ }
491
+ if (signal?.aborted) throw new APIUserAbortError();
492
+ continue;
493
+ }
494
+ // Terminal connection failure: the deadline timer must not outlive
495
+ // the reported error (an orphaned timer holds the process open).
496
+ streamDeadline?.settle();
497
+ streamDeadline?.release();
498
+ throw new APIConnectionError(err);
499
+ }
500
+
501
+ if (response.ok) {
502
+ this.logDebug(`<- ${response.status} ${spec.method} ${spec.path} (${Date.now() - startedAt}ms)`);
503
+ // Response headers acquired: the stream body is now unbounded. The
504
+ // forwarding listener stays attached (caller abort must reach the
505
+ // body); the Stream releases it at its terminal state.
506
+ if (streamDeadline) {
507
+ streamDeadline.settle();
508
+ streamCleanups.set(response, () => streamDeadline.release());
509
+ }
510
+ return response;
511
+ }
512
+
513
+ if (RETRYABLE_STATUS.has(response.status) && attempt < maxRetries) {
514
+ this.logWarn(`retrying ${spec.method} ${spec.path} after HTTP ${response.status} (attempt ${attempt + 1}/${maxRetries + 1})`);
515
+ // Release the discarded response so its connection can be reused.
516
+ void response.body?.cancel().catch(() => {});
517
+ await sleep(backoffMs(attempt, response.headers.get('retry-after')), signal);
518
+ // A stream deadline that fired during backoff is a timeout, not a
519
+ // user abort — rawRequest has no outer mapper to reclassify it.
520
+ if (streamDeadline?.timedOut()) {
521
+ streamDeadline.settle();
522
+ streamDeadline.release();
523
+ throw new APITimeoutError(streamDeadline.ms);
524
+ }
525
+ if (signal?.aborted) throw new APIUserAbortError();
526
+ continue;
527
+ }
528
+
529
+ let body: ErrorStatus | undefined;
530
+ try {
531
+ body = (await response.json()) as ErrorStatus;
532
+ } catch {
533
+ body = undefined;
534
+ }
535
+ // The deadline stays active while consuming a non-2xx error body; if
536
+ // it expired there, report the timeout rather than a truncated
537
+ // APIError.
538
+ if (streamDeadline?.timedOut()) {
539
+ streamDeadline.settle();
540
+ streamDeadline.release();
541
+ throw new APITimeoutError(streamDeadline.ms);
542
+ }
543
+ streamDeadline?.settle();
544
+ streamDeadline?.release();
545
+ throw new APIError(response.status, body);
546
+ }
547
+ }
548
+
549
+ /**
550
+ * Merge the caller's signal with the configured deadline. The caller's
551
+ * abort always forwards; the timer marks timedOut so the thrown error can
552
+ * be classified as APITimeoutError rather than APIUserAbortError.
553
+ */
554
+ private deadline(options: RequestOptions): Deadline {
555
+ const ms = options.timeout ?? this.timeout;
556
+ if (!Number.isFinite(ms) || ms <= 0) {
557
+ return { signal: options.signal, settle() {}, release() {}, timedOut: () => false, ms };
558
+ }
559
+ const controller = new AbortController();
560
+ let timedOut = false;
561
+ const timer = setTimeout(() => {
562
+ timedOut = true;
563
+ controller.abort();
564
+ }, ms);
565
+ const forward = () => controller.abort();
566
+ if (options.signal?.aborted) {
567
+ controller.abort();
568
+ } else {
569
+ options.signal?.addEventListener('abort', forward, { once: true });
570
+ }
571
+ let settled = false;
572
+ let released = false;
573
+ return {
574
+ signal: controller.signal,
575
+ settle() {
576
+ if (settled) return;
577
+ settled = true;
578
+ clearTimeout(timer);
579
+ },
580
+ release() {
581
+ if (released) return;
582
+ released = true;
583
+ options.signal?.removeEventListener('abort', forward);
584
+ },
585
+ timedOut: () => timedOut,
586
+ ms,
587
+ };
588
+ }
589
+
590
+ private buildURL(path: string, query?: Record<string, QueryValue>): string {
591
+ const url = new URL(this.baseURL + path);
592
+ for (const [key, value] of Object.entries(query ?? {})) {
593
+ if (value === undefined || value === null) continue;
594
+ // Arrays serialize as repeated params: ?state=a&state=b
595
+ for (const item of Array.isArray(value) ? value : [value]) {
596
+ url.searchParams.append(key, String(item));
597
+ }
598
+ }
599
+ return url.toString();
600
+ }
601
+ }
602
+
603
+ /** Retry counts must be bounded non-negative integers; anything else (NaN,
604
+ * Infinity, negatives, fractions) is treated as the nearest sane value. */
605
+ function normalizeRetries(value: number): number {
606
+ if (!Number.isFinite(value) || value <= 0) return 0;
607
+ return Math.min(Math.floor(value), 10);
608
+ }
609
+
610
+ function backoffMs(attempt: number, retryAfter: string | null | undefined): number {
611
+ if (retryAfter) {
612
+ // Retry-After is either delta-seconds or an HTTP-date. A parsed zero is
613
+ // a real answer (retry immediately), not a fall-through to backoff.
614
+ const seconds = Number(retryAfter);
615
+ if (Number.isFinite(seconds) && seconds >= 0) return Math.min(seconds * 1000, 60_000);
616
+ const date = Date.parse(retryAfter);
617
+ if (Number.isFinite(date)) {
618
+ return Math.min(Math.max(date - Date.now(), 0), 60_000);
619
+ }
620
+ }
621
+ const base = 500 * 2 ** Math.min(attempt, 4);
622
+ return Math.min(base + Math.random() * base, 8000);
623
+ }
624
+
625
+ /** Sleep that wakes early when the signal aborts (caller re-checks it). */
626
+ function sleep(ms: number, signal?: AbortSignal | null): Promise<void> {
627
+ return new Promise((resolve) => {
628
+ if (signal?.aborted) return resolve();
629
+ const timer = setTimeout(() => {
630
+ signal?.removeEventListener('abort', onAbort);
631
+ resolve();
632
+ }, ms);
633
+ const onAbort = () => {
634
+ clearTimeout(timer);
635
+ resolve();
636
+ };
637
+ signal?.addEventListener('abort', onAbort, { once: true });
638
+ });
639
+ }