@arcadeai/arcadejs 1.15.0 → 2.1.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 (624) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +143 -42
  3. package/api-promise.d.mts +2 -0
  4. package/api-promise.d.mts.map +1 -0
  5. package/api-promise.d.ts +2 -0
  6. package/api-promise.d.ts.map +1 -0
  7. package/api-promise.js +6 -0
  8. package/api-promise.js.map +1 -0
  9. package/api-promise.mjs +2 -0
  10. package/api-promise.mjs.map +1 -0
  11. package/bin/cli +53 -0
  12. package/bin/migration-config.json +6 -0
  13. package/client.d.mts +201 -0
  14. package/client.d.mts.map +1 -0
  15. package/client.d.ts +201 -0
  16. package/client.d.ts.map +1 -0
  17. package/client.js +473 -0
  18. package/client.js.map +1 -0
  19. package/client.mjs +469 -0
  20. package/client.mjs.map +1 -0
  21. package/core/api-promise.d.mts +46 -0
  22. package/core/api-promise.d.mts.map +1 -0
  23. package/core/api-promise.d.ts +46 -0
  24. package/core/api-promise.d.ts.map +1 -0
  25. package/core/api-promise.js +74 -0
  26. package/core/api-promise.js.map +1 -0
  27. package/core/api-promise.mjs +70 -0
  28. package/core/api-promise.mjs.map +1 -0
  29. package/core/error.d.mts +46 -0
  30. package/core/error.d.mts.map +1 -0
  31. package/core/error.d.ts +46 -0
  32. package/core/error.d.ts.map +1 -0
  33. package/core/error.js +113 -0
  34. package/core/error.js.map +1 -0
  35. package/core/error.mjs +97 -0
  36. package/core/error.mjs.map +1 -0
  37. package/core/pagination.d.mts +62 -0
  38. package/core/pagination.d.mts.map +1 -0
  39. package/core/pagination.d.ts +62 -0
  40. package/core/pagination.d.ts.map +1 -0
  41. package/core/pagination.js +111 -0
  42. package/core/pagination.js.map +1 -0
  43. package/core/pagination.mjs +105 -0
  44. package/core/pagination.mjs.map +1 -0
  45. package/core/resource.d.mts +6 -0
  46. package/core/resource.d.mts.map +1 -0
  47. package/core/resource.d.ts +6 -0
  48. package/core/resource.d.ts.map +1 -0
  49. package/core/resource.js +11 -0
  50. package/core/resource.js.map +1 -0
  51. package/core/resource.mjs +7 -0
  52. package/core/resource.mjs.map +1 -0
  53. package/core/uploads.d.mts +3 -0
  54. package/core/uploads.d.mts.map +1 -0
  55. package/core/uploads.d.ts +3 -0
  56. package/core/uploads.d.ts.map +1 -0
  57. package/core/uploads.js +6 -0
  58. package/core/uploads.js.map +1 -0
  59. package/core/uploads.mjs +2 -0
  60. package/core/uploads.mjs.map +1 -0
  61. package/error.d.mts +2 -0
  62. package/error.d.mts.map +1 -0
  63. package/error.d.ts +1 -46
  64. package/error.d.ts.map +1 -1
  65. package/error.js +3 -110
  66. package/error.js.map +1 -1
  67. package/error.mjs +1 -96
  68. package/error.mjs.map +1 -1
  69. package/index.d.mts +7 -136
  70. package/index.d.mts.map +1 -0
  71. package/index.d.ts +6 -135
  72. package/index.d.ts.map +1 -1
  73. package/index.js +14 -140
  74. package/index.js.map +1 -1
  75. package/index.mjs +6 -103
  76. package/index.mjs.map +1 -1
  77. package/internal/builtin-types.d.mts +73 -0
  78. package/internal/builtin-types.d.mts.map +1 -0
  79. package/internal/builtin-types.d.ts +73 -0
  80. package/internal/builtin-types.d.ts.map +1 -0
  81. package/internal/builtin-types.js +4 -0
  82. package/internal/builtin-types.js.map +1 -0
  83. package/internal/builtin-types.mjs +3 -0
  84. package/internal/builtin-types.mjs.map +1 -0
  85. package/internal/detect-platform.d.mts +15 -0
  86. package/internal/detect-platform.d.mts.map +1 -0
  87. package/internal/detect-platform.d.ts +15 -0
  88. package/internal/detect-platform.d.ts.map +1 -0
  89. package/internal/detect-platform.js +162 -0
  90. package/internal/detect-platform.js.map +1 -0
  91. package/internal/detect-platform.mjs +157 -0
  92. package/internal/detect-platform.mjs.map +1 -0
  93. package/internal/errors.d.mts +3 -0
  94. package/internal/errors.d.mts.map +1 -0
  95. package/internal/errors.d.ts +3 -0
  96. package/internal/errors.d.ts.map +1 -0
  97. package/internal/errors.js +41 -0
  98. package/internal/errors.js.map +1 -0
  99. package/internal/errors.mjs +36 -0
  100. package/internal/errors.mjs.map +1 -0
  101. package/internal/headers.d.mts +20 -0
  102. package/internal/headers.d.mts.map +1 -0
  103. package/internal/headers.d.ts +20 -0
  104. package/internal/headers.d.ts.map +1 -0
  105. package/internal/headers.js +79 -0
  106. package/internal/headers.js.map +1 -0
  107. package/internal/headers.mjs +74 -0
  108. package/internal/headers.mjs.map +1 -0
  109. package/internal/parse.d.mts +12 -0
  110. package/internal/parse.d.mts.map +1 -0
  111. package/internal/parse.d.ts +12 -0
  112. package/internal/parse.d.ts.map +1 -0
  113. package/internal/parse.js +40 -0
  114. package/internal/parse.js.map +1 -0
  115. package/internal/parse.mjs +37 -0
  116. package/internal/parse.mjs.map +1 -0
  117. package/internal/qs/formats.d.mts +7 -0
  118. package/internal/qs/formats.d.mts.map +1 -0
  119. package/internal/qs/formats.d.ts +1 -0
  120. package/internal/qs/formats.d.ts.map +1 -1
  121. package/internal/qs/formats.js +4 -2
  122. package/internal/qs/formats.js.map +1 -1
  123. package/internal/qs/formats.mjs +2 -1
  124. package/internal/qs/formats.mjs.map +1 -1
  125. package/internal/qs/index.d.mts +10 -0
  126. package/internal/qs/index.d.mts.map +1 -0
  127. package/internal/qs/index.d.ts.map +1 -1
  128. package/internal/qs/stringify.d.mts +3 -0
  129. package/internal/qs/stringify.d.mts.map +1 -0
  130. package/internal/qs/stringify.d.ts.map +1 -1
  131. package/internal/qs/stringify.js +15 -17
  132. package/internal/qs/stringify.js.map +1 -1
  133. package/internal/qs/stringify.mjs +17 -19
  134. package/internal/qs/stringify.mjs.map +1 -1
  135. package/internal/qs/types.d.mts +57 -0
  136. package/internal/qs/types.d.mts.map +1 -0
  137. package/internal/qs/utils.d.mts +15 -0
  138. package/internal/qs/utils.d.mts.map +1 -0
  139. package/internal/qs/utils.d.ts +1 -0
  140. package/internal/qs/utils.d.ts.map +1 -1
  141. package/internal/qs/utils.js +14 -13
  142. package/internal/qs/utils.js.map +1 -1
  143. package/internal/qs/utils.mjs +12 -12
  144. package/internal/qs/utils.mjs.map +1 -1
  145. package/internal/request-options.d.mts +75 -0
  146. package/internal/request-options.d.mts.map +1 -0
  147. package/internal/request-options.d.ts +75 -0
  148. package/internal/request-options.d.ts.map +1 -0
  149. package/internal/request-options.js +14 -0
  150. package/internal/request-options.js.map +1 -0
  151. package/internal/request-options.mjs +10 -0
  152. package/internal/request-options.mjs.map +1 -0
  153. package/internal/shim-types.d.mts +17 -0
  154. package/internal/shim-types.d.mts.map +1 -0
  155. package/internal/shim-types.d.ts +17 -0
  156. package/internal/shim-types.d.ts.map +1 -0
  157. package/internal/shim-types.js +4 -0
  158. package/internal/shim-types.js.map +1 -0
  159. package/internal/shim-types.mjs +3 -0
  160. package/internal/shim-types.mjs.map +1 -0
  161. package/internal/shims.d.mts +20 -0
  162. package/internal/shims.d.mts.map +1 -0
  163. package/internal/shims.d.ts +20 -0
  164. package/internal/shims.d.ts.map +1 -0
  165. package/internal/shims.js +92 -0
  166. package/internal/shims.js.map +1 -0
  167. package/internal/shims.mjs +85 -0
  168. package/internal/shims.mjs.map +1 -0
  169. package/internal/to-file.d.mts +45 -0
  170. package/internal/to-file.d.mts.map +1 -0
  171. package/internal/to-file.d.ts +45 -0
  172. package/internal/to-file.d.ts.map +1 -0
  173. package/internal/to-file.js +91 -0
  174. package/internal/to-file.js.map +1 -0
  175. package/internal/to-file.mjs +88 -0
  176. package/internal/to-file.mjs.map +1 -0
  177. package/internal/tslib.js +81 -0
  178. package/internal/tslib.mjs +17 -0
  179. package/internal/types.d.mts +69 -0
  180. package/internal/types.d.mts.map +1 -0
  181. package/internal/types.d.ts +69 -0
  182. package/internal/types.d.ts.map +1 -0
  183. package/internal/types.js +4 -0
  184. package/internal/types.js.map +1 -0
  185. package/internal/types.mjs +3 -0
  186. package/internal/types.mjs.map +1 -0
  187. package/internal/uploads.d.mts +42 -0
  188. package/internal/uploads.d.mts.map +1 -0
  189. package/internal/uploads.d.ts +42 -0
  190. package/internal/uploads.d.ts.map +1 -0
  191. package/internal/uploads.js +141 -0
  192. package/internal/uploads.js.map +1 -0
  193. package/internal/uploads.mjs +131 -0
  194. package/internal/uploads.mjs.map +1 -0
  195. package/internal/utils/base64.d.mts +3 -0
  196. package/internal/utils/base64.d.mts.map +1 -0
  197. package/internal/utils/base64.d.ts +3 -0
  198. package/internal/utils/base64.d.ts.map +1 -0
  199. package/internal/utils/base64.js +38 -0
  200. package/internal/utils/base64.js.map +1 -0
  201. package/internal/utils/base64.mjs +33 -0
  202. package/internal/utils/base64.mjs.map +1 -0
  203. package/internal/utils/bytes.d.mts +4 -0
  204. package/internal/utils/bytes.d.mts.map +1 -0
  205. package/internal/utils/bytes.d.ts +4 -0
  206. package/internal/utils/bytes.d.ts.map +1 -0
  207. package/internal/utils/bytes.js +31 -0
  208. package/internal/utils/bytes.js.map +1 -0
  209. package/internal/utils/bytes.mjs +26 -0
  210. package/internal/utils/bytes.mjs.map +1 -0
  211. package/internal/utils/env.d.mts +9 -0
  212. package/internal/utils/env.d.mts.map +1 -0
  213. package/internal/utils/env.d.ts +9 -0
  214. package/internal/utils/env.d.ts.map +1 -0
  215. package/internal/utils/env.js +22 -0
  216. package/internal/utils/env.js.map +1 -0
  217. package/internal/utils/env.mjs +18 -0
  218. package/internal/utils/env.mjs.map +1 -0
  219. package/internal/utils/log.d.mts +37 -0
  220. package/internal/utils/log.d.mts.map +1 -0
  221. package/internal/utils/log.d.ts +37 -0
  222. package/internal/utils/log.d.ts.map +1 -0
  223. package/internal/utils/log.js +85 -0
  224. package/internal/utils/log.js.map +1 -0
  225. package/internal/utils/log.mjs +79 -0
  226. package/internal/utils/log.mjs.map +1 -0
  227. package/internal/utils/path.d.mts +15 -0
  228. package/internal/utils/path.d.mts.map +1 -0
  229. package/internal/utils/path.d.ts +15 -0
  230. package/internal/utils/path.d.ts.map +1 -0
  231. package/internal/utils/path.js +79 -0
  232. package/internal/utils/path.js.map +1 -0
  233. package/internal/utils/path.mjs +74 -0
  234. package/internal/utils/path.mjs.map +1 -0
  235. package/internal/utils/sleep.d.mts +2 -0
  236. package/internal/utils/sleep.d.mts.map +1 -0
  237. package/internal/utils/sleep.d.ts +2 -0
  238. package/internal/utils/sleep.d.ts.map +1 -0
  239. package/internal/utils/sleep.js +7 -0
  240. package/internal/utils/sleep.js.map +1 -0
  241. package/internal/utils/sleep.mjs +3 -0
  242. package/internal/utils/sleep.mjs.map +1 -0
  243. package/internal/utils/uuid.d.mts +5 -0
  244. package/internal/utils/uuid.d.mts.map +1 -0
  245. package/internal/utils/uuid.d.ts +5 -0
  246. package/internal/utils/uuid.d.ts.map +1 -0
  247. package/internal/utils/uuid.js +19 -0
  248. package/internal/utils/uuid.js.map +1 -0
  249. package/internal/utils/uuid.mjs +15 -0
  250. package/internal/utils/uuid.mjs.map +1 -0
  251. package/internal/utils/values.d.mts +18 -0
  252. package/internal/utils/values.d.mts.map +1 -0
  253. package/internal/utils/values.d.ts +18 -0
  254. package/internal/utils/values.d.ts.map +1 -0
  255. package/internal/utils/values.js +112 -0
  256. package/internal/utils/values.js.map +1 -0
  257. package/internal/utils/values.mjs +94 -0
  258. package/internal/utils/values.mjs.map +1 -0
  259. package/internal/utils.d.mts +7 -0
  260. package/internal/utils.d.mts.map +1 -0
  261. package/internal/utils.d.ts +7 -0
  262. package/internal/utils.d.ts.map +1 -0
  263. package/internal/utils.js +11 -0
  264. package/internal/utils.js.map +1 -0
  265. package/internal/utils.mjs +8 -0
  266. package/internal/utils.mjs.map +1 -0
  267. package/lib/index.d.mts +3 -0
  268. package/lib/index.d.mts.map +1 -0
  269. package/lib/index.d.ts.map +1 -1
  270. package/lib/index.js +3 -16
  271. package/lib/index.js.map +1 -1
  272. package/lib/zod/types.d.mts +75 -0
  273. package/lib/zod/types.d.mts.map +1 -0
  274. package/lib/zod/types.d.ts.map +1 -1
  275. package/lib/zod/zod.d.mts +50 -0
  276. package/lib/zod/zod.d.mts.map +1 -0
  277. package/lib/zod/zod.d.ts.map +1 -1
  278. package/package.json +130 -79
  279. package/pagination.d.mts +2 -0
  280. package/pagination.d.mts.map +1 -0
  281. package/pagination.d.ts +1 -25
  282. package/pagination.d.ts.map +1 -1
  283. package/pagination.js +3 -43
  284. package/pagination.js.map +1 -1
  285. package/pagination.mjs +1 -41
  286. package/pagination.mjs.map +1 -1
  287. package/resource.d.mts +2 -0
  288. package/resource.d.mts.map +1 -0
  289. package/resource.d.ts +1 -5
  290. package/resource.d.ts.map +1 -1
  291. package/resource.js +3 -8
  292. package/resource.js.map +1 -1
  293. package/resource.mjs +1 -6
  294. package/resource.mjs.map +1 -1
  295. package/resources/admin/admin.d.mts +18 -0
  296. package/resources/admin/admin.d.mts.map +1 -0
  297. package/resources/admin/admin.d.ts +4 -4
  298. package/resources/admin/admin.d.ts.map +1 -1
  299. package/resources/admin/admin.js +5 -38
  300. package/resources/admin/admin.js.map +1 -1
  301. package/resources/admin/admin.mjs +2 -3
  302. package/resources/admin/admin.mjs.map +1 -1
  303. package/resources/admin/auth-providers.d.mts +579 -0
  304. package/resources/admin/auth-providers.d.mts.map +1 -0
  305. package/resources/admin/auth-providers.d.ts +8 -7
  306. package/resources/admin/auth-providers.d.ts.map +1 -1
  307. package/resources/admin/auth-providers.js +6 -5
  308. package/resources/admin/auth-providers.js.map +1 -1
  309. package/resources/admin/auth-providers.mjs +6 -5
  310. package/resources/admin/auth-providers.mjs.map +1 -1
  311. package/resources/admin/index.d.mts +5 -0
  312. package/resources/admin/index.d.mts.map +1 -0
  313. package/resources/admin/index.d.ts +2 -2
  314. package/resources/admin/index.d.ts.map +1 -1
  315. package/resources/admin/index.js +1 -2
  316. package/resources/admin/index.js.map +1 -1
  317. package/resources/admin/index.mjs +1 -1
  318. package/resources/admin/index.mjs.map +1 -1
  319. package/resources/admin/secrets.d.mts +48 -0
  320. package/resources/admin/secrets.d.mts.map +1 -0
  321. package/resources/admin/secrets.d.ts +14 -5
  322. package/resources/admin/secrets.d.ts.map +1 -1
  323. package/resources/admin/secrets.js +12 -4
  324. package/resources/admin/secrets.js.map +1 -1
  325. package/resources/admin/secrets.mjs +12 -4
  326. package/resources/admin/secrets.mjs.map +1 -1
  327. package/resources/admin/user-connections.d.mts +48 -0
  328. package/resources/admin/user-connections.d.mts.map +1 -0
  329. package/resources/admin/user-connections.d.ts +8 -9
  330. package/resources/admin/user-connections.d.ts.map +1 -1
  331. package/resources/admin/user-connections.js +11 -14
  332. package/resources/admin/user-connections.js.map +1 -1
  333. package/resources/admin/user-connections.mjs +10 -12
  334. package/resources/admin/user-connections.mjs.map +1 -1
  335. package/resources/admin.d.mts +2 -0
  336. package/resources/admin.d.mts.map +1 -0
  337. package/resources/admin.d.ts.map +1 -1
  338. package/resources/admin.js +2 -15
  339. package/resources/admin.js.map +1 -1
  340. package/resources/auth.d.mts +156 -0
  341. package/resources/auth.d.mts.map +1 -0
  342. package/resources/auth.d.ts +7 -6
  343. package/resources/auth.d.ts.map +1 -1
  344. package/resources/auth.js +1 -1
  345. package/resources/auth.js.map +1 -1
  346. package/resources/auth.mjs +1 -1
  347. package/resources/auth.mjs.map +1 -1
  348. package/resources/chat/chat.d.mts +136 -0
  349. package/resources/chat/chat.d.mts.map +1 -0
  350. package/resources/chat/chat.d.ts +1 -1
  351. package/resources/chat/chat.d.ts.map +1 -1
  352. package/resources/chat/chat.js +3 -35
  353. package/resources/chat/chat.js.map +1 -1
  354. package/resources/chat/chat.mjs +1 -1
  355. package/resources/chat/completions.d.mts +81 -0
  356. package/resources/chat/completions.d.mts.map +1 -0
  357. package/resources/chat/completions.d.ts +5 -4
  358. package/resources/chat/completions.d.ts.map +1 -1
  359. package/resources/chat/completions.js +2 -2
  360. package/resources/chat/completions.js.map +1 -1
  361. package/resources/chat/completions.mjs +2 -2
  362. package/resources/chat/completions.mjs.map +1 -1
  363. package/resources/chat/index.d.mts +3 -0
  364. package/resources/chat/index.d.mts.map +1 -0
  365. package/resources/chat/index.d.ts.map +1 -1
  366. package/resources/chat.d.mts +2 -0
  367. package/resources/chat.d.mts.map +1 -0
  368. package/resources/chat.d.ts.map +1 -1
  369. package/resources/chat.js +2 -15
  370. package/resources/chat.js.map +1 -1
  371. package/resources/health.d.mts +16 -0
  372. package/resources/health.d.mts.map +1 -0
  373. package/resources/health.d.ts +5 -4
  374. package/resources/health.d.ts.map +1 -1
  375. package/resources/health.js +2 -2
  376. package/resources/health.js.map +1 -1
  377. package/resources/health.mjs +2 -2
  378. package/resources/health.mjs.map +1 -1
  379. package/resources/index.d.mts +8 -0
  380. package/resources/index.d.mts.map +1 -0
  381. package/resources/index.d.ts +2 -2
  382. package/resources/index.d.ts.map +1 -1
  383. package/resources/index.js +3 -19
  384. package/resources/index.js.map +1 -1
  385. package/resources/index.mjs +2 -2
  386. package/resources/index.mjs.map +1 -1
  387. package/resources/shared.d.mts +20 -0
  388. package/resources/shared.d.mts.map +1 -0
  389. package/resources/tools/formatted.d.mts +50 -0
  390. package/resources/tools/formatted.d.mts.map +1 -0
  391. package/resources/tools/formatted.d.ts +8 -10
  392. package/resources/tools/formatted.d.ts.map +1 -1
  393. package/resources/tools/formatted.js +13 -16
  394. package/resources/tools/formatted.js.map +1 -1
  395. package/resources/tools/formatted.mjs +12 -14
  396. package/resources/tools/formatted.mjs.map +1 -1
  397. package/resources/tools/index.d.mts +4 -0
  398. package/resources/tools/index.d.mts.map +1 -0
  399. package/resources/tools/index.d.ts +2 -2
  400. package/resources/tools/index.d.ts.map +1 -1
  401. package/resources/tools/index.js +1 -4
  402. package/resources/tools/index.js.map +1 -1
  403. package/resources/tools/index.mjs +2 -2
  404. package/resources/tools/index.mjs.map +1 -1
  405. package/resources/tools/scheduled.d.mts +41 -0
  406. package/resources/tools/scheduled.d.mts.map +1 -0
  407. package/resources/tools/scheduled.d.ts +7 -7
  408. package/resources/tools/scheduled.d.ts.map +1 -1
  409. package/resources/tools/scheduled.js +12 -10
  410. package/resources/tools/scheduled.js.map +1 -1
  411. package/resources/tools/scheduled.mjs +11 -9
  412. package/resources/tools/scheduled.mjs.map +1 -1
  413. package/resources/tools/tools.d.mts +309 -0
  414. package/resources/tools/tools.d.mts.map +1 -0
  415. package/resources/tools/tools.d.ts +14 -17
  416. package/resources/tools/tools.d.ts.map +1 -1
  417. package/resources/tools/tools.js +16 -55
  418. package/resources/tools/tools.js.map +1 -1
  419. package/resources/tools/tools.mjs +13 -18
  420. package/resources/tools/tools.mjs.map +1 -1
  421. package/resources/tools.d.mts +2 -0
  422. package/resources/tools.d.mts.map +1 -0
  423. package/resources/tools.d.ts.map +1 -1
  424. package/resources/tools.js +2 -15
  425. package/resources/tools.js.map +1 -1
  426. package/resources/workers.d.mts +268 -0
  427. package/resources/workers.d.mts.map +1 -0
  428. package/resources/workers.d.ts +14 -16
  429. package/resources/workers.d.ts.map +1 -1
  430. package/resources/workers.js +18 -23
  431. package/resources/workers.js.map +1 -1
  432. package/resources/workers.mjs +17 -21
  433. package/resources/workers.mjs.map +1 -1
  434. package/resources.d.mts +2 -0
  435. package/resources.d.mts.map +1 -0
  436. package/resources.d.ts.map +1 -1
  437. package/resources.js +2 -15
  438. package/resources.js.map +1 -1
  439. package/src/api-promise.ts +2 -0
  440. package/src/client.ts +839 -0
  441. package/src/core/README.md +3 -0
  442. package/src/core/api-promise.ts +92 -0
  443. package/src/core/error.ts +130 -0
  444. package/src/core/pagination.ts +181 -0
  445. package/src/core/resource.ts +11 -0
  446. package/src/core/uploads.ts +2 -0
  447. package/src/error.ts +2 -130
  448. package/src/index.ts +6 -294
  449. package/src/internal/README.md +3 -0
  450. package/src/internal/builtin-types.ts +93 -0
  451. package/src/internal/detect-platform.ts +196 -0
  452. package/src/internal/errors.ts +33 -0
  453. package/src/internal/headers.ts +97 -0
  454. package/src/internal/parse.ts +56 -0
  455. package/src/internal/qs/formats.ts +2 -1
  456. package/src/internal/qs/stringify.ts +17 -20
  457. package/src/internal/qs/utils.ts +14 -14
  458. package/src/internal/request-options.ts +91 -0
  459. package/src/internal/shim-types.ts +26 -0
  460. package/src/internal/shims.ts +107 -0
  461. package/src/internal/to-file.ts +154 -0
  462. package/src/internal/types.ts +95 -0
  463. package/src/internal/uploads.ts +187 -0
  464. package/src/internal/utils/base64.ts +40 -0
  465. package/src/internal/utils/bytes.ts +32 -0
  466. package/src/internal/utils/env.ts +18 -0
  467. package/src/internal/utils/log.ts +126 -0
  468. package/src/internal/utils/path.ts +88 -0
  469. package/src/internal/utils/sleep.ts +3 -0
  470. package/src/internal/utils/uuid.ts +17 -0
  471. package/src/internal/utils/values.ts +105 -0
  472. package/src/internal/utils.ts +8 -0
  473. package/src/pagination.ts +2 -79
  474. package/src/resource.ts +2 -11
  475. package/src/resources/admin/admin.ts +4 -4
  476. package/src/resources/admin/auth-providers.ts +14 -15
  477. package/src/resources/admin/index.ts +2 -2
  478. package/src/resources/admin/secrets.ts +27 -7
  479. package/src/resources/admin/user-connections.ts +15 -25
  480. package/src/resources/auth.ts +7 -15
  481. package/src/resources/chat/chat.ts +1 -1
  482. package/src/resources/chat/completions.ts +5 -4
  483. package/src/resources/health.ts +5 -4
  484. package/src/resources/index.ts +3 -3
  485. package/src/resources/tools/formatted.ts +15 -31
  486. package/src/resources/tools/index.ts +3 -3
  487. package/src/resources/tools/scheduled.ts +15 -19
  488. package/src/resources/tools/tools.ts +23 -36
  489. package/src/resources/workers.ts +27 -51
  490. package/src/tsconfig.json +2 -2
  491. package/src/uploads.ts +2 -255
  492. package/src/version.ts +1 -1
  493. package/uploads.d.mts +2 -0
  494. package/uploads.d.mts.map +1 -0
  495. package/uploads.d.ts +1 -74
  496. package/uploads.d.ts.map +1 -1
  497. package/uploads.js +3 -168
  498. package/uploads.js.map +1 -1
  499. package/uploads.mjs +1 -157
  500. package/uploads.mjs.map +1 -1
  501. package/version.d.mts +2 -0
  502. package/version.d.mts.map +1 -0
  503. package/version.d.ts +1 -1
  504. package/version.d.ts.map +1 -1
  505. package/version.js +1 -1
  506. package/version.js.map +1 -1
  507. package/version.mjs +1 -1
  508. package/version.mjs.map +1 -1
  509. package/_shims/MultipartBody.d.ts +0 -9
  510. package/_shims/MultipartBody.d.ts.map +0 -1
  511. package/_shims/MultipartBody.js +0 -16
  512. package/_shims/MultipartBody.js.map +0 -1
  513. package/_shims/MultipartBody.mjs +0 -12
  514. package/_shims/MultipartBody.mjs.map +0 -1
  515. package/_shims/README.md +0 -46
  516. package/_shims/auto/runtime-bun.d.ts +0 -5
  517. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  518. package/_shims/auto/runtime-bun.js +0 -21
  519. package/_shims/auto/runtime-bun.js.map +0 -1
  520. package/_shims/auto/runtime-bun.mjs +0 -2
  521. package/_shims/auto/runtime-bun.mjs.map +0 -1
  522. package/_shims/auto/runtime-node.d.ts +0 -5
  523. package/_shims/auto/runtime-node.d.ts.map +0 -1
  524. package/_shims/auto/runtime-node.js +0 -21
  525. package/_shims/auto/runtime-node.js.map +0 -1
  526. package/_shims/auto/runtime-node.mjs +0 -2
  527. package/_shims/auto/runtime-node.mjs.map +0 -1
  528. package/_shims/auto/runtime.d.ts +0 -5
  529. package/_shims/auto/runtime.d.ts.map +0 -1
  530. package/_shims/auto/runtime.js +0 -21
  531. package/_shims/auto/runtime.js.map +0 -1
  532. package/_shims/auto/runtime.mjs +0 -2
  533. package/_shims/auto/runtime.mjs.map +0 -1
  534. package/_shims/auto/types-node.d.ts +0 -5
  535. package/_shims/auto/types-node.d.ts.map +0 -1
  536. package/_shims/auto/types-node.js +0 -21
  537. package/_shims/auto/types-node.js.map +0 -1
  538. package/_shims/auto/types-node.mjs +0 -2
  539. package/_shims/auto/types-node.mjs.map +0 -1
  540. package/_shims/auto/types.d.ts +0 -101
  541. package/_shims/auto/types.js +0 -3
  542. package/_shims/auto/types.mjs +0 -3
  543. package/_shims/bun-runtime.d.ts +0 -6
  544. package/_shims/bun-runtime.d.ts.map +0 -1
  545. package/_shims/bun-runtime.js +0 -13
  546. package/_shims/bun-runtime.js.map +0 -1
  547. package/_shims/bun-runtime.mjs +0 -10
  548. package/_shims/bun-runtime.mjs.map +0 -1
  549. package/_shims/index.d.ts +0 -83
  550. package/_shims/index.js +0 -17
  551. package/_shims/index.mjs +0 -11
  552. package/_shims/manual-types.d.ts +0 -12
  553. package/_shims/manual-types.js +0 -3
  554. package/_shims/manual-types.mjs +0 -3
  555. package/_shims/node-runtime.d.ts +0 -3
  556. package/_shims/node-runtime.d.ts.map +0 -1
  557. package/_shims/node-runtime.js +0 -98
  558. package/_shims/node-runtime.js.map +0 -1
  559. package/_shims/node-runtime.mjs +0 -56
  560. package/_shims/node-runtime.mjs.map +0 -1
  561. package/_shims/node-types.d.ts +0 -42
  562. package/_shims/node-types.js +0 -3
  563. package/_shims/node-types.mjs +0 -3
  564. package/_shims/registry.d.ts +0 -37
  565. package/_shims/registry.d.ts.map +0 -1
  566. package/_shims/registry.js +0 -41
  567. package/_shims/registry.js.map +0 -1
  568. package/_shims/registry.mjs +0 -37
  569. package/_shims/registry.mjs.map +0 -1
  570. package/_shims/web-runtime.d.ts +0 -5
  571. package/_shims/web-runtime.d.ts.map +0 -1
  572. package/_shims/web-runtime.js +0 -77
  573. package/_shims/web-runtime.js.map +0 -1
  574. package/_shims/web-runtime.mjs +0 -71
  575. package/_shims/web-runtime.mjs.map +0 -1
  576. package/_shims/web-types.d.ts +0 -83
  577. package/_shims/web-types.js +0 -3
  578. package/_shims/web-types.mjs +0 -3
  579. package/core.d.ts +0 -253
  580. package/core.d.ts.map +0 -1
  581. package/core.js +0 -924
  582. package/core.js.map +0 -1
  583. package/core.mjs +0 -892
  584. package/core.mjs.map +0 -1
  585. package/shims/node.d.ts +0 -26
  586. package/shims/node.d.ts.map +0 -1
  587. package/shims/node.js +0 -6
  588. package/shims/node.js.map +0 -1
  589. package/shims/node.mjs +0 -4
  590. package/shims/node.mjs.map +0 -1
  591. package/shims/web.d.ts +0 -26
  592. package/shims/web.d.ts.map +0 -1
  593. package/shims/web.js +0 -6
  594. package/shims/web.js.map +0 -1
  595. package/shims/web.mjs +0 -4
  596. package/shims/web.mjs.map +0 -1
  597. package/src/_shims/MultipartBody.ts +0 -9
  598. package/src/_shims/README.md +0 -46
  599. package/src/_shims/auto/runtime-bun.ts +0 -4
  600. package/src/_shims/auto/runtime-node.ts +0 -4
  601. package/src/_shims/auto/runtime.ts +0 -4
  602. package/src/_shims/auto/types-node.ts +0 -4
  603. package/src/_shims/auto/types.d.ts +0 -101
  604. package/src/_shims/auto/types.js +0 -3
  605. package/src/_shims/auto/types.mjs +0 -3
  606. package/src/_shims/bun-runtime.ts +0 -14
  607. package/src/_shims/index.d.ts +0 -83
  608. package/src/_shims/index.js +0 -17
  609. package/src/_shims/index.mjs +0 -11
  610. package/src/_shims/manual-types.d.ts +0 -12
  611. package/src/_shims/manual-types.js +0 -3
  612. package/src/_shims/manual-types.mjs +0 -3
  613. package/src/_shims/node-runtime.ts +0 -81
  614. package/src/_shims/node-types.d.ts +0 -42
  615. package/src/_shims/node-types.js +0 -3
  616. package/src/_shims/node-types.mjs +0 -3
  617. package/src/_shims/registry.ts +0 -67
  618. package/src/_shims/web-runtime.ts +0 -103
  619. package/src/_shims/web-types.d.ts +0 -83
  620. package/src/_shims/web-types.js +0 -3
  621. package/src/_shims/web-types.mjs +0 -3
  622. package/src/core.ts +0 -1236
  623. package/src/shims/node.ts +0 -50
  624. package/src/shims/web.ts +0 -50
@@ -0,0 +1,97 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { isReadonlyArray } from './utils/values';
4
+
5
+ type HeaderValue = string | undefined | null;
6
+ export type HeadersLike =
7
+ | Headers
8
+ | readonly HeaderValue[][]
9
+ | Record<string, HeaderValue | readonly HeaderValue[]>
10
+ | undefined
11
+ | null
12
+ | NullableHeaders;
13
+
14
+ const brand_privateNullableHeaders = /* @__PURE__ */ Symbol('brand.privateNullableHeaders');
15
+
16
+ /**
17
+ * @internal
18
+ * Users can pass explicit nulls to unset default headers. When we parse them
19
+ * into a standard headers type we need to preserve that information.
20
+ */
21
+ export type NullableHeaders = {
22
+ /** Brand check, prevent users from creating a NullableHeaders. */
23
+ [brand_privateNullableHeaders]: true;
24
+ /** Parsed headers. */
25
+ values: Headers;
26
+ /** Set of lowercase header names explicitly set to null. */
27
+ nulls: Set<string>;
28
+ };
29
+
30
+ function* iterateHeaders(headers: HeadersLike): IterableIterator<readonly [string, string | null]> {
31
+ if (!headers) return;
32
+
33
+ if (brand_privateNullableHeaders in headers) {
34
+ const { values, nulls } = headers;
35
+ yield* values.entries();
36
+ for (const name of nulls) {
37
+ yield [name, null];
38
+ }
39
+ return;
40
+ }
41
+
42
+ let shouldClear = false;
43
+ let iter: Iterable<readonly (HeaderValue | readonly HeaderValue[])[]>;
44
+ if (headers instanceof Headers) {
45
+ iter = headers.entries();
46
+ } else if (isReadonlyArray(headers)) {
47
+ iter = headers;
48
+ } else {
49
+ shouldClear = true;
50
+ iter = Object.entries(headers ?? {});
51
+ }
52
+ for (let row of iter) {
53
+ const name = row[0];
54
+ if (typeof name !== 'string') throw new TypeError('expected header name to be a string');
55
+ const values = isReadonlyArray(row[1]) ? row[1] : [row[1]];
56
+ let didClear = false;
57
+ for (const value of values) {
58
+ if (value === undefined) continue;
59
+
60
+ // Objects keys always overwrite older headers, they never append.
61
+ // Yield a null to clear the header before adding the new values.
62
+ if (shouldClear && !didClear) {
63
+ didClear = true;
64
+ yield [name, null];
65
+ }
66
+ yield [name, value];
67
+ }
68
+ }
69
+ }
70
+
71
+ export const buildHeaders = (newHeaders: HeadersLike[]): NullableHeaders => {
72
+ const targetHeaders = new Headers();
73
+ const nullHeaders = new Set<string>();
74
+ for (const headers of newHeaders) {
75
+ const seenHeaders = new Set<string>();
76
+ for (const [name, value] of iterateHeaders(headers)) {
77
+ const lowerName = name.toLowerCase();
78
+ if (!seenHeaders.has(lowerName)) {
79
+ targetHeaders.delete(name);
80
+ seenHeaders.add(lowerName);
81
+ }
82
+ if (value === null) {
83
+ targetHeaders.delete(name);
84
+ nullHeaders.add(lowerName);
85
+ } else {
86
+ targetHeaders.append(name, value);
87
+ nullHeaders.delete(lowerName);
88
+ }
89
+ }
90
+ }
91
+ return { [brand_privateNullableHeaders]: true, values: targetHeaders, nulls: nullHeaders };
92
+ };
93
+
94
+ export const isEmptyHeaders = (headers: HeadersLike) => {
95
+ for (const _ of iterateHeaders(headers)) return false;
96
+ return true;
97
+ };
@@ -0,0 +1,56 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import type { FinalRequestOptions } from './request-options';
4
+ import { type Arcade } from '../client';
5
+ import { formatRequestDetails, loggerFor } from './utils/log';
6
+
7
+ export type APIResponseProps = {
8
+ response: Response;
9
+ options: FinalRequestOptions;
10
+ controller: AbortController;
11
+ requestLogID: string;
12
+ retryOfRequestLogID: string | undefined;
13
+ startTime: number;
14
+ };
15
+
16
+ export async function defaultParseResponse<T>(client: Arcade, props: APIResponseProps): Promise<T> {
17
+ const { response, requestLogID, retryOfRequestLogID, startTime } = props;
18
+ const body = await (async () => {
19
+ // fetch refuses to read the body when the status code is 204.
20
+ if (response.status === 204) {
21
+ return null as T;
22
+ }
23
+
24
+ if (props.options.__binaryResponse) {
25
+ return response as unknown as T;
26
+ }
27
+
28
+ const contentType = response.headers.get('content-type');
29
+ const mediaType = contentType?.split(';')[0]?.trim();
30
+ const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');
31
+ if (isJSON) {
32
+ const contentLength = response.headers.get('content-length');
33
+ if (contentLength === '0') {
34
+ // if there is no content we can't do anything
35
+ return undefined as T;
36
+ }
37
+
38
+ const json = await response.json();
39
+ return json as T;
40
+ }
41
+
42
+ const text = await response.text();
43
+ return text as unknown as T;
44
+ })();
45
+ loggerFor(client).debug(
46
+ `[${requestLogID}] response parsed`,
47
+ formatRequestDetails({
48
+ retryOfRequestLogID,
49
+ url: response.url,
50
+ status: response.status,
51
+ body,
52
+ durationMs: Date.now() - startTime,
53
+ }),
54
+ );
55
+ return body;
56
+ }
@@ -1,9 +1,10 @@
1
1
  import type { Format } from './types';
2
2
 
3
3
  export const default_format: Format = 'RFC3986';
4
+ export const default_formatter = (v: PropertyKey) => String(v);
4
5
  export const formatters: Record<Format, (str: PropertyKey) => string> = {
5
6
  RFC1738: (v: PropertyKey) => String(v).replace(/%20/g, '+'),
6
- RFC3986: (v: PropertyKey) => String(v),
7
+ RFC3986: default_formatter,
7
8
  };
8
9
  export const RFC1738 = 'RFC1738';
9
10
  export const RFC3986 = 'RFC3986';
@@ -1,8 +1,7 @@
1
- import { encode, is_buffer, maybe_map } from './utils';
2
- import { default_format, formatters } from './formats';
1
+ import { encode, is_buffer, maybe_map, has } from './utils';
2
+ import { default_format, default_formatter, formatters } from './formats';
3
3
  import type { NonNullableProperties, StringifyOptions } from './types';
4
-
5
- const has = Object.prototype.hasOwnProperty;
4
+ import { isArray } from '../utils/values';
6
5
 
7
6
  const array_prefix_generators = {
8
7
  brackets(prefix: PropertyKey) {
@@ -17,13 +16,11 @@ const array_prefix_generators = {
17
16
  },
18
17
  };
19
18
 
20
- const is_array = Array.isArray;
21
- const push = Array.prototype.push;
22
19
  const push_to_array = function (arr: any[], value_or_array: any) {
23
- push.apply(arr, is_array(value_or_array) ? value_or_array : [value_or_array]);
20
+ Array.prototype.push.apply(arr, isArray(value_or_array) ? value_or_array : [value_or_array]);
24
21
  };
25
22
 
26
- const to_ISO = Date.prototype.toISOString;
23
+ let toISOString;
27
24
 
28
25
  const defaults = {
29
26
  addQueryPrefix: false,
@@ -38,11 +35,11 @@ const defaults = {
38
35
  encoder: encode,
39
36
  encodeValuesOnly: false,
40
37
  format: default_format,
41
- formatter: formatters[default_format],
38
+ formatter: default_formatter,
42
39
  /** @deprecated */
43
40
  indices: false,
44
41
  serializeDate(date) {
45
- return to_ISO.call(date);
42
+ return (toISOString ??= Function.prototype.call.bind(Date.prototype.toISOString))(date);
46
43
  },
47
44
  skipNulls: false,
48
45
  strictNullHandling: false,
@@ -105,7 +102,7 @@ function inner_stringify(
105
102
  obj = filter(prefix, obj);
106
103
  } else if (obj instanceof Date) {
107
104
  obj = serializeDate?.(obj);
108
- } else if (generateArrayPrefix === 'comma' && is_array(obj)) {
105
+ } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
109
106
  obj = maybe_map(obj, function (value) {
110
107
  if (value instanceof Date) {
111
108
  return serializeDate?.(value);
@@ -148,14 +145,14 @@ function inner_stringify(
148
145
  }
149
146
 
150
147
  let obj_keys;
151
- if (generateArrayPrefix === 'comma' && is_array(obj)) {
148
+ if (generateArrayPrefix === 'comma' && isArray(obj)) {
152
149
  // we need to join elements in
153
150
  if (encodeValuesOnly && encoder) {
154
151
  // @ts-expect-error values only
155
152
  obj = maybe_map(obj, encoder);
156
153
  }
157
154
  obj_keys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];
158
- } else if (is_array(filter)) {
155
+ } else if (isArray(filter)) {
159
156
  obj_keys = filter;
160
157
  } else {
161
158
  const keys = Object.keys(obj);
@@ -165,9 +162,9 @@ function inner_stringify(
165
162
  const encoded_prefix = encodeDotInKeys ? String(prefix).replace(/\./g, '%2E') : String(prefix);
166
163
 
167
164
  const adjusted_prefix =
168
- commaRoundTrip && is_array(obj) && obj.length === 1 ? encoded_prefix + '[]' : encoded_prefix;
165
+ commaRoundTrip && isArray(obj) && obj.length === 1 ? encoded_prefix + '[]' : encoded_prefix;
169
166
 
170
- if (allowEmptyArrays && is_array(obj) && obj.length === 0) {
167
+ if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
171
168
  return adjusted_prefix + '[]';
172
169
  }
173
170
 
@@ -184,7 +181,7 @@ function inner_stringify(
184
181
  // @ts-ignore
185
182
  const encoded_key = allowDots && encodeDotInKeys ? (key as any).replace(/\./g, '%2E') : key;
186
183
  const key_prefix =
187
- is_array(obj) ?
184
+ isArray(obj) ?
188
185
  typeof generateArrayPrefix === 'function' ?
189
186
  generateArrayPrefix(adjusted_prefix, encoded_key)
190
187
  : adjusted_prefix
@@ -205,7 +202,7 @@ function inner_stringify(
205
202
  skipNulls,
206
203
  encodeDotInKeys,
207
204
  // @ts-ignore
208
- generateArrayPrefix === 'comma' && encodeValuesOnly && is_array(obj) ? null : encoder,
205
+ generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,
209
206
  filter,
210
207
  sort,
211
208
  allowDots,
@@ -244,7 +241,7 @@ function normalize_stringify_options(
244
241
 
245
242
  let format = default_format;
246
243
  if (typeof opts.format !== 'undefined') {
247
- if (!has.call(formatters, opts.format)) {
244
+ if (!has(formatters, opts.format)) {
248
245
  throw new TypeError('Unknown format option provided.');
249
246
  }
250
247
  format = opts.format;
@@ -252,7 +249,7 @@ function normalize_stringify_options(
252
249
  const formatter = formatters[format];
253
250
 
254
251
  let filter = defaults.filter;
255
- if (typeof opts.filter === 'function' || is_array(opts.filter)) {
252
+ if (typeof opts.filter === 'function' || isArray(opts.filter)) {
256
253
  filter = opts.filter;
257
254
  }
258
255
 
@@ -316,7 +313,7 @@ export function stringify(object: any, opts: StringifyOptions = {}) {
316
313
  if (typeof options.filter === 'function') {
317
314
  filter = options.filter;
318
315
  obj = filter('', obj);
319
- } else if (is_array(options.filter)) {
316
+ } else if (isArray(options.filter)) {
320
317
  filter = options.filter;
321
318
  obj_keys = filter;
322
319
  }
@@ -1,10 +1,13 @@
1
1
  import { RFC1738 } from './formats';
2
2
  import type { DefaultEncoder, Format } from './types';
3
+ import { isArray } from '../utils/values';
3
4
 
4
- const has = Object.prototype.hasOwnProperty;
5
- const is_array = Array.isArray;
5
+ export let has = (obj: object, key: PropertyKey): boolean => (
6
+ (has = (Object as any).hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty)),
7
+ has(obj, key)
8
+ );
6
9
 
7
- const hex_table = (() => {
10
+ const hex_table = /* @__PURE__ */ (() => {
8
11
  const array = [];
9
12
  for (let i = 0; i < 256; ++i) {
10
13
  array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
@@ -20,7 +23,7 @@ function compact_queue<T extends Record<string, any>>(queue: Array<{ obj: T; pro
20
23
 
21
24
  const obj = item.obj[item.prop];
22
25
 
23
- if (is_array(obj)) {
26
+ if (isArray(obj)) {
24
27
  const compacted: unknown[] = [];
25
28
 
26
29
  for (let j = 0; j < obj.length; ++j) {
@@ -56,13 +59,10 @@ export function merge(
56
59
  }
57
60
 
58
61
  if (typeof source !== 'object') {
59
- if (is_array(target)) {
62
+ if (isArray(target)) {
60
63
  target.push(source);
61
64
  } else if (target && typeof target === 'object') {
62
- if (
63
- (options && (options.plainObjects || options.allowPrototypes)) ||
64
- !has.call(Object.prototype, source)
65
- ) {
65
+ if ((options && (options.plainObjects || options.allowPrototypes)) || !has(Object.prototype, source)) {
66
66
  target[source] = true;
67
67
  }
68
68
  } else {
@@ -77,14 +77,14 @@ export function merge(
77
77
  }
78
78
 
79
79
  let mergeTarget = target;
80
- if (is_array(target) && !is_array(source)) {
80
+ if (isArray(target) && !isArray(source)) {
81
81
  // @ts-ignore
82
82
  mergeTarget = array_to_object(target, options);
83
83
  }
84
84
 
85
- if (is_array(target) && is_array(source)) {
85
+ if (isArray(target) && isArray(source)) {
86
86
  source.forEach(function (item, i) {
87
- if (has.call(target, i)) {
87
+ if (has(target, i)) {
88
88
  const targetItem = target[i];
89
89
  if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
90
90
  target[i] = merge(targetItem, item, options);
@@ -101,7 +101,7 @@ export function merge(
101
101
  return Object.keys(source).reduce(function (acc, key) {
102
102
  const value = source[key];
103
103
 
104
- if (has.call(acc, key)) {
104
+ if (has(acc, key)) {
105
105
  acc[key] = merge(acc[key], value, options);
106
106
  } else {
107
107
  acc[key] = value;
@@ -254,7 +254,7 @@ export function combine(a: any, b: any) {
254
254
  }
255
255
 
256
256
  export function maybe_map<T>(val: T[], fn: (v: T) => T) {
257
- if (is_array(val)) {
257
+ if (isArray(val)) {
258
258
  const mapped = [];
259
259
  for (let i = 0; i < val.length; i += 1) {
260
260
  mapped.push(fn(val[i]!));
@@ -0,0 +1,91 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { NullableHeaders } from './headers';
4
+
5
+ import type { BodyInit } from './builtin-types';
6
+ import type { HTTPMethod, MergedRequestInit } from './types';
7
+ import { type HeadersLike } from './headers';
8
+
9
+ export type FinalRequestOptions = RequestOptions & { method: HTTPMethod; path: string };
10
+
11
+ export type RequestOptions = {
12
+ /**
13
+ * The HTTP method for the request (e.g., 'get', 'post', 'put', 'delete').
14
+ */
15
+ method?: HTTPMethod;
16
+
17
+ /**
18
+ * The URL path for the request.
19
+ *
20
+ * @example "/v1/foo"
21
+ */
22
+ path?: string;
23
+
24
+ /**
25
+ * Query parameters to include in the request URL.
26
+ */
27
+ query?: object | undefined | null;
28
+
29
+ /**
30
+ * The request body. Can be a string, JSON object, FormData, or other supported types.
31
+ */
32
+ body?: unknown;
33
+
34
+ /**
35
+ * HTTP headers to include with the request. Can be a Headers object, plain object, or array of tuples.
36
+ */
37
+ headers?: HeadersLike;
38
+
39
+ /**
40
+ * The maximum number of times that the client will retry a request in case of a
41
+ * temporary failure, like a network error or a 5XX error from the server.
42
+ *
43
+ * @default 2
44
+ */
45
+ maxRetries?: number;
46
+
47
+ stream?: boolean | undefined;
48
+
49
+ /**
50
+ * The maximum amount of time (in milliseconds) that the client should wait for a response
51
+ * from the server before timing out a single request.
52
+ *
53
+ * @unit milliseconds
54
+ */
55
+ timeout?: number;
56
+
57
+ /**
58
+ * Additional `RequestInit` options to be passed to the underlying `fetch` call.
59
+ * These options will be merged with the client's default fetch options.
60
+ */
61
+ fetchOptions?: MergedRequestInit;
62
+
63
+ /**
64
+ * An AbortSignal that can be used to cancel the request.
65
+ */
66
+ signal?: AbortSignal | undefined | null;
67
+
68
+ /**
69
+ * A unique key for this request to enable idempotency.
70
+ */
71
+ idempotencyKey?: string;
72
+
73
+ /**
74
+ * Override the default base URL for this specific request.
75
+ */
76
+ defaultBaseURL?: string | undefined;
77
+
78
+ __binaryResponse?: boolean | undefined;
79
+ };
80
+
81
+ export type EncodedContent = { bodyHeaders: HeadersLike; body: BodyInit };
82
+ export type RequestEncoder = (request: { headers: NullableHeaders; body: unknown }) => EncodedContent;
83
+
84
+ export const FallbackEncoder: RequestEncoder = ({ headers, body }) => {
85
+ return {
86
+ bodyHeaders: {
87
+ 'content-type': 'application/json',
88
+ },
89
+ body: JSON.stringify(body),
90
+ };
91
+ };
@@ -0,0 +1,26 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ /**
4
+ * Shims for types that we can't always rely on being available globally.
5
+ *
6
+ * Note: these only exist at the type-level, there is no corresponding runtime
7
+ * version for any of these symbols.
8
+ */
9
+
10
+ type NeverToAny<T> = T extends never ? any : T;
11
+
12
+ /** @ts-ignore */
13
+ type _DOMReadableStream<R = any> = globalThis.ReadableStream<R>;
14
+
15
+ /** @ts-ignore */
16
+ type _NodeReadableStream<R = any> = import('stream/web').ReadableStream<R>;
17
+
18
+ type _ConditionalNodeReadableStream<R = any> =
19
+ typeof globalThis extends { ReadableStream: any } ? never : _NodeReadableStream<R>;
20
+
21
+ type _ReadableStream<R = any> = NeverToAny<
22
+ | ([0] extends [1 & _DOMReadableStream<R>] ? never : _DOMReadableStream<R>)
23
+ | ([0] extends [1 & _ConditionalNodeReadableStream<R>] ? never : _ConditionalNodeReadableStream<R>)
24
+ >;
25
+
26
+ export type { _ReadableStream as ReadableStream };
@@ -0,0 +1,107 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ /**
4
+ * This module provides internal shims and utility functions for environments where certain Node.js or global types may not be available.
5
+ *
6
+ * These are used to ensure we can provide a consistent behaviour between different JavaScript environments and good error
7
+ * messages in cases where an environment isn't fully supported.
8
+ */
9
+
10
+ import type { Fetch } from './builtin-types';
11
+ import type { ReadableStream } from './shim-types';
12
+
13
+ export function getDefaultFetch(): Fetch {
14
+ if (typeof fetch !== 'undefined') {
15
+ return fetch as any;
16
+ }
17
+
18
+ throw new Error(
19
+ '`fetch` is not defined as a global; Either pass `fetch` to the client, `new Arcade({ fetch })` or polyfill the global, `globalThis.fetch = fetch`',
20
+ );
21
+ }
22
+
23
+ type ReadableStreamArgs = ConstructorParameters<typeof ReadableStream>;
24
+
25
+ export function makeReadableStream(...args: ReadableStreamArgs): ReadableStream {
26
+ const ReadableStream = (globalThis as any).ReadableStream;
27
+ if (typeof ReadableStream === 'undefined') {
28
+ // Note: All of the platforms / runtimes we officially support already define
29
+ // `ReadableStream` as a global, so this should only ever be hit on unsupported runtimes.
30
+ throw new Error(
31
+ '`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`',
32
+ );
33
+ }
34
+
35
+ return new ReadableStream(...args);
36
+ }
37
+
38
+ export function ReadableStreamFrom<T>(iterable: Iterable<T> | AsyncIterable<T>): ReadableStream<T> {
39
+ let iter: AsyncIterator<T> | Iterator<T> =
40
+ Symbol.asyncIterator in iterable ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();
41
+
42
+ return makeReadableStream({
43
+ start() {},
44
+ async pull(controller: any) {
45
+ const { done, value } = await iter.next();
46
+ if (done) {
47
+ controller.close();
48
+ } else {
49
+ controller.enqueue(value);
50
+ }
51
+ },
52
+ async cancel() {
53
+ await iter.return?.();
54
+ },
55
+ });
56
+ }
57
+
58
+ /**
59
+ * Most browsers don't yet have async iterable support for ReadableStream,
60
+ * and Node has a very different way of reading bytes from its "ReadableStream".
61
+ *
62
+ * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490
63
+ */
64
+ export function ReadableStreamToAsyncIterable<T>(stream: any): AsyncIterableIterator<T> {
65
+ if (stream[Symbol.asyncIterator]) return stream;
66
+
67
+ const reader = stream.getReader();
68
+ return {
69
+ async next() {
70
+ try {
71
+ const result = await reader.read();
72
+ if (result?.done) reader.releaseLock(); // release lock when stream becomes closed
73
+ return result;
74
+ } catch (e) {
75
+ reader.releaseLock(); // release lock when stream becomes errored
76
+ throw e;
77
+ }
78
+ },
79
+ async return() {
80
+ const cancelPromise = reader.cancel();
81
+ reader.releaseLock();
82
+ await cancelPromise;
83
+ return { done: true, value: undefined };
84
+ },
85
+ [Symbol.asyncIterator]() {
86
+ return this;
87
+ },
88
+ };
89
+ }
90
+
91
+ /**
92
+ * Cancels a ReadableStream we don't need to consume.
93
+ * See https://undici.nodejs.org/#/?id=garbage-collection
94
+ */
95
+ export async function CancelReadableStream(stream: any): Promise<void> {
96
+ if (stream === null || typeof stream !== 'object') return;
97
+
98
+ if (stream[Symbol.asyncIterator]) {
99
+ await stream[Symbol.asyncIterator]().return?.();
100
+ return;
101
+ }
102
+
103
+ const reader = stream.getReader();
104
+ const cancelPromise = reader.cancel();
105
+ reader.releaseLock();
106
+ await cancelPromise;
107
+ }