@neontechspace/fluxerly 1000.0.0-nightly.12

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 (1319) hide show
  1. package/CHANGELOG.md +833 -0
  2. package/LICENSE +201 -0
  3. package/README.md +129 -0
  4. package/agents/AGENTS.md +195 -0
  5. package/dist/api/default/application.d.ts +34 -0
  6. package/dist/api/default/application.d.ts.map +1 -0
  7. package/dist/api/default/application.js +2 -0
  8. package/dist/api/default/application.js.map +1 -0
  9. package/dist/api/default/attachments.d.ts +89 -0
  10. package/dist/api/default/attachments.d.ts.map +1 -0
  11. package/dist/api/default/attachments.js +2 -0
  12. package/dist/api/default/attachments.js.map +1 -0
  13. package/dist/api/default/audit-logs.d.ts +48 -0
  14. package/dist/api/default/audit-logs.d.ts.map +1 -0
  15. package/dist/api/default/audit-logs.js +2 -0
  16. package/dist/api/default/audit-logs.js.map +1 -0
  17. package/dist/api/default/bot.d.ts +200 -0
  18. package/dist/api/default/bot.d.ts.map +1 -0
  19. package/dist/api/default/bot.js +309 -0
  20. package/dist/api/default/bot.js.map +1 -0
  21. package/dist/api/default/cache.d.ts +105 -0
  22. package/dist/api/default/cache.d.ts.map +1 -0
  23. package/dist/api/default/cache.js +2 -0
  24. package/dist/api/default/cache.js.map +1 -0
  25. package/dist/api/default/channels.d.ts +249 -0
  26. package/dist/api/default/channels.d.ts.map +1 -0
  27. package/dist/api/default/channels.js +2 -0
  28. package/dist/api/default/channels.js.map +1 -0
  29. package/dist/api/default/client.d.ts +528 -0
  30. package/dist/api/default/client.d.ts.map +1 -0
  31. package/dist/api/default/client.js +301 -0
  32. package/dist/api/default/client.js.map +1 -0
  33. package/dist/api/default/collectors.d.ts +76 -0
  34. package/dist/api/default/collectors.d.ts.map +1 -0
  35. package/dist/api/default/collectors.js +2 -0
  36. package/dist/api/default/collectors.js.map +1 -0
  37. package/dist/api/default/commands.d.ts +91 -0
  38. package/dist/api/default/commands.d.ts.map +1 -0
  39. package/dist/api/default/commands.js +92 -0
  40. package/dist/api/default/commands.js.map +1 -0
  41. package/dist/api/default/direct-messages.d.ts +111 -0
  42. package/dist/api/default/direct-messages.d.ts.map +1 -0
  43. package/dist/api/default/direct-messages.js +2 -0
  44. package/dist/api/default/direct-messages.js.map +1 -0
  45. package/dist/api/default/discovery.d.ts +76 -0
  46. package/dist/api/default/discovery.d.ts.map +1 -0
  47. package/dist/api/default/discovery.js +2 -0
  48. package/dist/api/default/discovery.js.map +1 -0
  49. package/dist/api/default/emojis.d.ts +88 -0
  50. package/dist/api/default/emojis.d.ts.map +1 -0
  51. package/dist/api/default/emojis.js +2 -0
  52. package/dist/api/default/emojis.js.map +1 -0
  53. package/dist/api/default/events.d.ts +127 -0
  54. package/dist/api/default/events.d.ts.map +1 -0
  55. package/dist/api/default/events.js +2 -0
  56. package/dist/api/default/events.js.map +1 -0
  57. package/dist/api/default/gateway.d.ts +62 -0
  58. package/dist/api/default/gateway.d.ts.map +1 -0
  59. package/dist/api/default/gateway.js +2 -0
  60. package/dist/api/default/gateway.js.map +1 -0
  61. package/dist/api/default/guards.d.ts +87 -0
  62. package/dist/api/default/guards.d.ts.map +1 -0
  63. package/dist/api/default/guards.js +78 -0
  64. package/dist/api/default/guards.js.map +1 -0
  65. package/dist/api/default/guilds.d.ts +230 -0
  66. package/dist/api/default/guilds.d.ts.map +1 -0
  67. package/dist/api/default/guilds.js +2 -0
  68. package/dist/api/default/guilds.js.map +1 -0
  69. package/dist/api/default/helpers.d.ts +79 -0
  70. package/dist/api/default/helpers.d.ts.map +1 -0
  71. package/dist/api/default/helpers.js +79 -0
  72. package/dist/api/default/helpers.js.map +1 -0
  73. package/dist/api/default/instance.d.ts +47 -0
  74. package/dist/api/default/instance.d.ts.map +1 -0
  75. package/dist/api/default/instance.js +2 -0
  76. package/dist/api/default/instance.js.map +1 -0
  77. package/dist/api/default/invites.d.ts +57 -0
  78. package/dist/api/default/invites.d.ts.map +1 -0
  79. package/dist/api/default/invites.js +2 -0
  80. package/dist/api/default/invites.js.map +1 -0
  81. package/dist/api/default/logging.d.ts +37 -0
  82. package/dist/api/default/logging.d.ts.map +1 -0
  83. package/dist/api/default/logging.js +2 -0
  84. package/dist/api/default/logging.js.map +1 -0
  85. package/dist/api/default/members.d.ts +442 -0
  86. package/dist/api/default/members.d.ts.map +1 -0
  87. package/dist/api/default/members.js +2 -0
  88. package/dist/api/default/members.js.map +1 -0
  89. package/dist/api/default/messages.d.ts +898 -0
  90. package/dist/api/default/messages.d.ts.map +1 -0
  91. package/dist/api/default/messages.js +2 -0
  92. package/dist/api/default/messages.js.map +1 -0
  93. package/dist/api/default/oauth.d.ts +168 -0
  94. package/dist/api/default/oauth.d.ts.map +1 -0
  95. package/dist/api/default/oauth.js +84 -0
  96. package/dist/api/default/oauth.js.map +1 -0
  97. package/dist/api/default/permissions.d.ts +44 -0
  98. package/dist/api/default/permissions.d.ts.map +1 -0
  99. package/dist/api/default/permissions.js +2 -0
  100. package/dist/api/default/permissions.js.map +1 -0
  101. package/dist/api/default/presence.d.ts +88 -0
  102. package/dist/api/default/presence.d.ts.map +1 -0
  103. package/dist/api/default/presence.js +2 -0
  104. package/dist/api/default/presence.js.map +1 -0
  105. package/dist/api/default/rest.d.ts +28 -0
  106. package/dist/api/default/rest.d.ts.map +1 -0
  107. package/dist/api/default/rest.js +2 -0
  108. package/dist/api/default/rest.js.map +1 -0
  109. package/dist/api/default/results.d.ts +31 -0
  110. package/dist/api/default/results.d.ts.map +1 -0
  111. package/dist/api/default/results.js +14 -0
  112. package/dist/api/default/results.js.map +1 -0
  113. package/dist/api/default/roles.d.ts +119 -0
  114. package/dist/api/default/roles.d.ts.map +1 -0
  115. package/dist/api/default/roles.js +2 -0
  116. package/dist/api/default/roles.js.map +1 -0
  117. package/dist/api/default/stickers.d.ts +92 -0
  118. package/dist/api/default/stickers.d.ts.map +1 -0
  119. package/dist/api/default/stickers.js +2 -0
  120. package/dist/api/default/stickers.js.map +1 -0
  121. package/dist/api/default/supervisor.d.ts +51 -0
  122. package/dist/api/default/supervisor.d.ts.map +1 -0
  123. package/dist/api/default/supervisor.js +53 -0
  124. package/dist/api/default/supervisor.js.map +1 -0
  125. package/dist/api/default/threads.d.ts +158 -0
  126. package/dist/api/default/threads.d.ts.map +1 -0
  127. package/dist/api/default/threads.js +2 -0
  128. package/dist/api/default/threads.js.map +1 -0
  129. package/dist/api/default/users.d.ts +73 -0
  130. package/dist/api/default/users.d.ts.map +1 -0
  131. package/dist/api/default/users.js +2 -0
  132. package/dist/api/default/users.js.map +1 -0
  133. package/dist/api/default/webhook-client.d.ts +149 -0
  134. package/dist/api/default/webhook-client.d.ts.map +1 -0
  135. package/dist/api/default/webhook-client.js +69 -0
  136. package/dist/api/default/webhook-client.js.map +1 -0
  137. package/dist/api/default/webhooks.d.ts +62 -0
  138. package/dist/api/default/webhooks.d.ts.map +1 -0
  139. package/dist/api/default/webhooks.js +2 -0
  140. package/dist/api/default/webhooks.js.map +1 -0
  141. package/dist/api/effect/application.d.ts +29 -0
  142. package/dist/api/effect/application.d.ts.map +1 -0
  143. package/dist/api/effect/application.js +2 -0
  144. package/dist/api/effect/application.js.map +1 -0
  145. package/dist/api/effect/attachments.d.ts +84 -0
  146. package/dist/api/effect/attachments.d.ts.map +1 -0
  147. package/dist/api/effect/attachments.js +2 -0
  148. package/dist/api/effect/attachments.js.map +1 -0
  149. package/dist/api/effect/audit-logs.d.ts +42 -0
  150. package/dist/api/effect/audit-logs.d.ts.map +1 -0
  151. package/dist/api/effect/audit-logs.js +2 -0
  152. package/dist/api/effect/audit-logs.js.map +1 -0
  153. package/dist/api/effect/bot.d.ts +233 -0
  154. package/dist/api/effect/bot.d.ts.map +1 -0
  155. package/dist/api/effect/bot.js +230 -0
  156. package/dist/api/effect/bot.js.map +1 -0
  157. package/dist/api/effect/cache.d.ts +103 -0
  158. package/dist/api/effect/cache.d.ts.map +1 -0
  159. package/dist/api/effect/cache.js +2 -0
  160. package/dist/api/effect/cache.js.map +1 -0
  161. package/dist/api/effect/channels.d.ts +231 -0
  162. package/dist/api/effect/channels.d.ts.map +1 -0
  163. package/dist/api/effect/channels.js +2 -0
  164. package/dist/api/effect/channels.js.map +1 -0
  165. package/dist/api/effect/client.d.ts +622 -0
  166. package/dist/api/effect/client.d.ts.map +1 -0
  167. package/dist/api/effect/client.js +191 -0
  168. package/dist/api/effect/client.js.map +1 -0
  169. package/dist/api/effect/collectors.d.ts +90 -0
  170. package/dist/api/effect/collectors.d.ts.map +1 -0
  171. package/dist/api/effect/collectors.js +2 -0
  172. package/dist/api/effect/collectors.js.map +1 -0
  173. package/dist/api/effect/commands.d.ts +86 -0
  174. package/dist/api/effect/commands.d.ts.map +1 -0
  175. package/dist/api/effect/commands.js +87 -0
  176. package/dist/api/effect/commands.js.map +1 -0
  177. package/dist/api/effect/direct-messages.d.ts +102 -0
  178. package/dist/api/effect/direct-messages.d.ts.map +1 -0
  179. package/dist/api/effect/direct-messages.js +2 -0
  180. package/dist/api/effect/direct-messages.js.map +1 -0
  181. package/dist/api/effect/discovery.d.ts +68 -0
  182. package/dist/api/effect/discovery.d.ts.map +1 -0
  183. package/dist/api/effect/discovery.js +2 -0
  184. package/dist/api/effect/discovery.js.map +1 -0
  185. package/dist/api/effect/emojis.d.ts +77 -0
  186. package/dist/api/effect/emojis.d.ts.map +1 -0
  187. package/dist/api/effect/emojis.js +2 -0
  188. package/dist/api/effect/emojis.js.map +1 -0
  189. package/dist/api/effect/events.d.ts +78 -0
  190. package/dist/api/effect/events.d.ts.map +1 -0
  191. package/dist/api/effect/events.js +12 -0
  192. package/dist/api/effect/events.js.map +1 -0
  193. package/dist/api/effect/failures.d.ts +14 -0
  194. package/dist/api/effect/failures.d.ts.map +1 -0
  195. package/dist/api/effect/failures.js +2 -0
  196. package/dist/api/effect/failures.js.map +1 -0
  197. package/dist/api/effect/gateway.d.ts +63 -0
  198. package/dist/api/effect/gateway.d.ts.map +1 -0
  199. package/dist/api/effect/gateway.js +2 -0
  200. package/dist/api/effect/gateway.js.map +1 -0
  201. package/dist/api/effect/guards.d.ts +91 -0
  202. package/dist/api/effect/guards.d.ts.map +1 -0
  203. package/dist/api/effect/guards.js +94 -0
  204. package/dist/api/effect/guards.js.map +1 -0
  205. package/dist/api/effect/guilds.d.ts +221 -0
  206. package/dist/api/effect/guilds.d.ts.map +1 -0
  207. package/dist/api/effect/guilds.js +2 -0
  208. package/dist/api/effect/guilds.js.map +1 -0
  209. package/dist/api/effect/helpers.d.ts +300 -0
  210. package/dist/api/effect/helpers.d.ts.map +1 -0
  211. package/dist/api/effect/helpers.js +156 -0
  212. package/dist/api/effect/helpers.js.map +1 -0
  213. package/dist/api/effect/hierarchy.d.ts +26 -0
  214. package/dist/api/effect/hierarchy.d.ts.map +1 -0
  215. package/dist/api/effect/hierarchy.js +26 -0
  216. package/dist/api/effect/hierarchy.js.map +1 -0
  217. package/dist/api/effect/instance.d.ts +46 -0
  218. package/dist/api/effect/instance.d.ts.map +1 -0
  219. package/dist/api/effect/instance.js +8 -0
  220. package/dist/api/effect/instance.js.map +1 -0
  221. package/dist/api/effect/invites.d.ts +49 -0
  222. package/dist/api/effect/invites.d.ts.map +1 -0
  223. package/dist/api/effect/invites.js +2 -0
  224. package/dist/api/effect/invites.js.map +1 -0
  225. package/dist/api/effect/logging.d.ts +37 -0
  226. package/dist/api/effect/logging.d.ts.map +1 -0
  227. package/dist/api/effect/logging.js +2 -0
  228. package/dist/api/effect/logging.js.map +1 -0
  229. package/dist/api/effect/members.d.ts +433 -0
  230. package/dist/api/effect/members.d.ts.map +1 -0
  231. package/dist/api/effect/members.js +2 -0
  232. package/dist/api/effect/members.js.map +1 -0
  233. package/dist/api/effect/messages.d.ts +877 -0
  234. package/dist/api/effect/messages.d.ts.map +1 -0
  235. package/dist/api/effect/messages.js +2 -0
  236. package/dist/api/effect/messages.js.map +1 -0
  237. package/dist/api/effect/oauth.d.ts +148 -0
  238. package/dist/api/effect/oauth.d.ts.map +1 -0
  239. package/dist/api/effect/oauth.js +51 -0
  240. package/dist/api/effect/oauth.js.map +1 -0
  241. package/dist/api/effect/permissions.d.ts +41 -0
  242. package/dist/api/effect/permissions.d.ts.map +1 -0
  243. package/dist/api/effect/permissions.js +2 -0
  244. package/dist/api/effect/permissions.js.map +1 -0
  245. package/dist/api/effect/presence.d.ts +83 -0
  246. package/dist/api/effect/presence.d.ts.map +1 -0
  247. package/dist/api/effect/presence.js +2 -0
  248. package/dist/api/effect/presence.js.map +1 -0
  249. package/dist/api/effect/rest.d.ts +27 -0
  250. package/dist/api/effect/rest.d.ts.map +1 -0
  251. package/dist/api/effect/rest.js +2 -0
  252. package/dist/api/effect/rest.js.map +1 -0
  253. package/dist/api/effect/roles.d.ts +104 -0
  254. package/dist/api/effect/roles.d.ts.map +1 -0
  255. package/dist/api/effect/roles.js +2 -0
  256. package/dist/api/effect/roles.js.map +1 -0
  257. package/dist/api/effect/service.d.ts +76 -0
  258. package/dist/api/effect/service.d.ts.map +1 -0
  259. package/dist/api/effect/service.js +79 -0
  260. package/dist/api/effect/service.js.map +1 -0
  261. package/dist/api/effect/stickers.d.ts +81 -0
  262. package/dist/api/effect/stickers.d.ts.map +1 -0
  263. package/dist/api/effect/stickers.js +2 -0
  264. package/dist/api/effect/stickers.js.map +1 -0
  265. package/dist/api/effect/supervisor.d.ts +56 -0
  266. package/dist/api/effect/supervisor.d.ts.map +1 -0
  267. package/dist/api/effect/supervisor.js +58 -0
  268. package/dist/api/effect/supervisor.js.map +1 -0
  269. package/dist/api/effect/threads.d.ts +154 -0
  270. package/dist/api/effect/threads.d.ts.map +1 -0
  271. package/dist/api/effect/threads.js +2 -0
  272. package/dist/api/effect/threads.js.map +1 -0
  273. package/dist/api/effect/users.d.ts +62 -0
  274. package/dist/api/effect/users.d.ts.map +1 -0
  275. package/dist/api/effect/users.js +2 -0
  276. package/dist/api/effect/users.js.map +1 -0
  277. package/dist/api/effect/webhook-client.d.ts +140 -0
  278. package/dist/api/effect/webhook-client.d.ts.map +1 -0
  279. package/dist/api/effect/webhook-client.js +50 -0
  280. package/dist/api/effect/webhook-client.js.map +1 -0
  281. package/dist/api/effect/webhooks.d.ts +54 -0
  282. package/dist/api/effect/webhooks.d.ts.map +1 -0
  283. package/dist/api/effect/webhooks.js +2 -0
  284. package/dist/api/effect/webhooks.js.map +1 -0
  285. package/dist/api-errors.d.ts +609 -0
  286. package/dist/api-errors.d.ts.map +1 -0
  287. package/dist/api-errors.js +589 -0
  288. package/dist/api-errors.js.map +1 -0
  289. package/dist/application.d.ts +85 -0
  290. package/dist/application.d.ts.map +1 -0
  291. package/dist/application.js +44 -0
  292. package/dist/application.js.map +1 -0
  293. package/dist/assets.d.ts +197 -0
  294. package/dist/assets.d.ts.map +1 -0
  295. package/dist/assets.js +419 -0
  296. package/dist/assets.js.map +1 -0
  297. package/dist/attachments.d.ts +400 -0
  298. package/dist/attachments.d.ts.map +1 -0
  299. package/dist/attachments.js +88 -0
  300. package/dist/attachments.js.map +1 -0
  301. package/dist/audit-logs.d.ts +292 -0
  302. package/dist/audit-logs.d.ts.map +1 -0
  303. package/dist/audit-logs.js +46 -0
  304. package/dist/audit-logs.js.map +1 -0
  305. package/dist/bot-runner.d.ts +69 -0
  306. package/dist/bot-runner.d.ts.map +1 -0
  307. package/dist/bot-runner.js +41 -0
  308. package/dist/bot-runner.js.map +1 -0
  309. package/dist/builders.d.ts +153 -0
  310. package/dist/builders.d.ts.map +1 -0
  311. package/dist/builders.js +326 -0
  312. package/dist/builders.js.map +1 -0
  313. package/dist/cache.d.ts +187 -0
  314. package/dist/cache.d.ts.map +1 -0
  315. package/dist/cache.js +2 -0
  316. package/dist/cache.js.map +1 -0
  317. package/dist/channels.d.ts +903 -0
  318. package/dist/channels.d.ts.map +1 -0
  319. package/dist/channels.js +125 -0
  320. package/dist/channels.js.map +1 -0
  321. package/dist/cli.d.ts +9 -0
  322. package/dist/cli.d.ts.map +1 -0
  323. package/dist/cli.js +65 -0
  324. package/dist/cli.js.map +1 -0
  325. package/dist/client.d.ts +645 -0
  326. package/dist/client.d.ts.map +1 -0
  327. package/dist/client.js +2 -0
  328. package/dist/client.js.map +1 -0
  329. package/dist/collectors.d.ts +205 -0
  330. package/dist/collectors.d.ts.map +1 -0
  331. package/dist/collectors.js +71 -0
  332. package/dist/collectors.js.map +1 -0
  333. package/dist/colors.d.ts +55 -0
  334. package/dist/colors.d.ts.map +1 -0
  335. package/dist/colors.js +40 -0
  336. package/dist/colors.js.map +1 -0
  337. package/dist/command-arguments.d.ts +353 -0
  338. package/dist/command-arguments.d.ts.map +1 -0
  339. package/dist/command-arguments.js +2 -0
  340. package/dist/command-arguments.js.map +1 -0
  341. package/dist/command-help.d.ts +54 -0
  342. package/dist/command-help.d.ts.map +1 -0
  343. package/dist/command-help.js +2 -0
  344. package/dist/command-help.js.map +1 -0
  345. package/dist/commands.d.ts +328 -0
  346. package/dist/commands.d.ts.map +1 -0
  347. package/dist/commands.js +62 -0
  348. package/dist/commands.js.map +1 -0
  349. package/dist/counts.d.ts +124 -0
  350. package/dist/counts.d.ts.map +1 -0
  351. package/dist/counts.js +52 -0
  352. package/dist/counts.js.map +1 -0
  353. package/dist/default-commands.d.ts +400 -0
  354. package/dist/default-commands.d.ts.map +1 -0
  355. package/dist/default-commands.js +488 -0
  356. package/dist/default-commands.js.map +1 -0
  357. package/dist/default-supervisor.d.ts +111 -0
  358. package/dist/default-supervisor.d.ts.map +1 -0
  359. package/dist/default-supervisor.js +277 -0
  360. package/dist/default-supervisor.js.map +1 -0
  361. package/dist/discovery.d.ts +223 -0
  362. package/dist/discovery.d.ts.map +1 -0
  363. package/dist/discovery.js +18 -0
  364. package/dist/discovery.js.map +1 -0
  365. package/dist/effect-testing.d.ts +388 -0
  366. package/dist/effect-testing.d.ts.map +1 -0
  367. package/dist/effect-testing.js +261 -0
  368. package/dist/effect-testing.js.map +1 -0
  369. package/dist/effect.d.ts +220 -0
  370. package/dist/effect.d.ts.map +1 -0
  371. package/dist/effect.js +101 -0
  372. package/dist/effect.js.map +1 -0
  373. package/dist/embeds.d.ts +243 -0
  374. package/dist/embeds.d.ts.map +1 -0
  375. package/dist/embeds.js +2 -0
  376. package/dist/embeds.js.map +1 -0
  377. package/dist/error-tools.d.ts +101 -0
  378. package/dist/error-tools.d.ts.map +1 -0
  379. package/dist/error-tools.js +125 -0
  380. package/dist/error-tools.js.map +1 -0
  381. package/dist/errors.d.ts +386 -0
  382. package/dist/errors.d.ts.map +1 -0
  383. package/dist/errors.js +440 -0
  384. package/dist/errors.js.map +1 -0
  385. package/dist/events.d.ts +798 -0
  386. package/dist/events.d.ts.map +1 -0
  387. package/dist/events.js +2 -0
  388. package/dist/events.js.map +1 -0
  389. package/dist/expressions.d.ts +188 -0
  390. package/dist/expressions.d.ts.map +1 -0
  391. package/dist/expressions.js +2 -0
  392. package/dist/expressions.js.map +1 -0
  393. package/dist/failures.d.ts +53 -0
  394. package/dist/failures.d.ts.map +1 -0
  395. package/dist/failures.js +2 -0
  396. package/dist/failures.js.map +1 -0
  397. package/dist/gateway.d.ts +48 -0
  398. package/dist/gateway.d.ts.map +1 -0
  399. package/dist/gateway.js +60 -0
  400. package/dist/gateway.js.map +1 -0
  401. package/dist/guilds.d.ts +923 -0
  402. package/dist/guilds.d.ts.map +1 -0
  403. package/dist/guilds.js +204 -0
  404. package/dist/guilds.js.map +1 -0
  405. package/dist/helpers.d.ts +423 -0
  406. package/dist/helpers.d.ts.map +1 -0
  407. package/dist/helpers.js +434 -0
  408. package/dist/helpers.js.map +1 -0
  409. package/dist/index.d.ts +228 -0
  410. package/dist/index.d.ts.map +1 -0
  411. package/dist/index.js +109 -0
  412. package/dist/index.js.map +1 -0
  413. package/dist/input-validation.d.ts +51 -0
  414. package/dist/input-validation.d.ts.map +1 -0
  415. package/dist/input-validation.js +34 -0
  416. package/dist/input-validation.js.map +1 -0
  417. package/dist/instance.d.ts +101 -0
  418. package/dist/instance.d.ts.map +1 -0
  419. package/dist/instance.js +2 -0
  420. package/dist/instance.js.map +1 -0
  421. package/dist/internal/agents-section.d.ts +22 -0
  422. package/dist/internal/agents-section.d.ts.map +1 -0
  423. package/dist/internal/agents-section.js +101 -0
  424. package/dist/internal/agents-section.js.map +1 -0
  425. package/dist/internal/application.d.ts +16 -0
  426. package/dist/internal/application.d.ts.map +1 -0
  427. package/dist/internal/application.js +33 -0
  428. package/dist/internal/application.js.map +1 -0
  429. package/dist/internal/attachment-refresh.d.ts +18 -0
  430. package/dist/internal/attachment-refresh.d.ts.map +1 -0
  431. package/dist/internal/attachment-refresh.js +39 -0
  432. package/dist/internal/attachment-refresh.js.map +1 -0
  433. package/dist/internal/attachments.d.ts +45 -0
  434. package/dist/internal/attachments.d.ts.map +1 -0
  435. package/dist/internal/attachments.js +230 -0
  436. package/dist/internal/attachments.js.map +1 -0
  437. package/dist/internal/audit-logs.d.ts +13 -0
  438. package/dist/internal/audit-logs.d.ts.map +1 -0
  439. package/dist/internal/audit-logs.js +295 -0
  440. package/dist/internal/audit-logs.js.map +1 -0
  441. package/dist/internal/audit.d.ts +12 -0
  442. package/dist/internal/audit.d.ts.map +1 -0
  443. package/dist/internal/audit.js +22 -0
  444. package/dist/internal/audit.js.map +1 -0
  445. package/dist/internal/binding/default-adapters.d.ts +22 -0
  446. package/dist/internal/binding/default-adapters.d.ts.map +1 -0
  447. package/dist/internal/binding/default-adapters.js +304 -0
  448. package/dist/internal/binding/default-adapters.js.map +1 -0
  449. package/dist/internal/binding/default.d.ts +45 -0
  450. package/dist/internal/binding/default.d.ts.map +1 -0
  451. package/dist/internal/binding/default.js +86 -0
  452. package/dist/internal/binding/default.js.map +1 -0
  453. package/dist/internal/binding/execute.d.ts +51 -0
  454. package/dist/internal/binding/execute.d.ts.map +1 -0
  455. package/dist/internal/binding/execute.js +123 -0
  456. package/dist/internal/binding/execute.js.map +1 -0
  457. package/dist/internal/binding/native-adapters.d.ts +23 -0
  458. package/dist/internal/binding/native-adapters.d.ts.map +1 -0
  459. package/dist/internal/binding/native-adapters.js +90 -0
  460. package/dist/internal/binding/native-adapters.js.map +1 -0
  461. package/dist/internal/binding/native.d.ts +41 -0
  462. package/dist/internal/binding/native.d.ts.map +1 -0
  463. package/dist/internal/binding/native.js +34 -0
  464. package/dist/internal/binding/native.js.map +1 -0
  465. package/dist/internal/binding/operations.d.ts +361 -0
  466. package/dist/internal/binding/operations.d.ts.map +1 -0
  467. package/dist/internal/binding/operations.js +272 -0
  468. package/dist/internal/binding/operations.js.map +1 -0
  469. package/dist/internal/bot-runner.d.ts +65 -0
  470. package/dist/internal/bot-runner.d.ts.map +1 -0
  471. package/dist/internal/bot-runner.js +363 -0
  472. package/dist/internal/bot-runner.js.map +1 -0
  473. package/dist/internal/cache-changes.d.ts +43 -0
  474. package/dist/internal/cache-changes.d.ts.map +1 -0
  475. package/dist/internal/cache-changes.js +320 -0
  476. package/dist/internal/cache-changes.js.map +1 -0
  477. package/dist/internal/cache.d.ts +57 -0
  478. package/dist/internal/cache.d.ts.map +1 -0
  479. package/dist/internal/cache.js +318 -0
  480. package/dist/internal/cache.js.map +1 -0
  481. package/dist/internal/calls.d.ts +16 -0
  482. package/dist/internal/calls.d.ts.map +1 -0
  483. package/dist/internal/calls.js +108 -0
  484. package/dist/internal/calls.js.map +1 -0
  485. package/dist/internal/channel-cache.d.ts +69 -0
  486. package/dist/internal/channel-cache.d.ts.map +1 -0
  487. package/dist/internal/channel-cache.js +413 -0
  488. package/dist/internal/channel-cache.js.map +1 -0
  489. package/dist/internal/channel-decode.d.ts +44 -0
  490. package/dist/internal/channel-decode.d.ts.map +1 -0
  491. package/dist/internal/channel-decode.js +377 -0
  492. package/dist/internal/channel-decode.js.map +1 -0
  493. package/dist/internal/channels.d.ts +60 -0
  494. package/dist/internal/channels.d.ts.map +1 -0
  495. package/dist/internal/channels.js +605 -0
  496. package/dist/internal/channels.js.map +1 -0
  497. package/dist/internal/client/backoff.d.ts +42 -0
  498. package/dist/internal/client/backoff.d.ts.map +1 -0
  499. package/dist/internal/client/backoff.js +36 -0
  500. package/dist/internal/client/backoff.js.map +1 -0
  501. package/dist/internal/client/configuration-fields.d.ts +14 -0
  502. package/dist/internal/client/configuration-fields.d.ts.map +1 -0
  503. package/dist/internal/client/configuration-fields.js +11 -0
  504. package/dist/internal/client/configuration-fields.js.map +1 -0
  505. package/dist/internal/client/drain.d.ts +33 -0
  506. package/dist/internal/client/drain.d.ts.map +1 -0
  507. package/dist/internal/client/drain.js +109 -0
  508. package/dist/internal/client/drain.js.map +1 -0
  509. package/dist/internal/client/intake.d.ts +27 -0
  510. package/dist/internal/client/intake.d.ts.map +1 -0
  511. package/dist/internal/client/intake.js +198 -0
  512. package/dist/internal/client/intake.js.map +1 -0
  513. package/dist/internal/client/lifetime.d.ts +35 -0
  514. package/dist/internal/client/lifetime.d.ts.map +1 -0
  515. package/dist/internal/client/lifetime.js +109 -0
  516. package/dist/internal/client/lifetime.js.map +1 -0
  517. package/dist/internal/client/shard-loop.d.ts +93 -0
  518. package/dist/internal/client/shard-loop.d.ts.map +1 -0
  519. package/dist/internal/client/shard-loop.js +452 -0
  520. package/dist/internal/client/shard-loop.js.map +1 -0
  521. package/dist/internal/client-registry.d.ts +26 -0
  522. package/dist/internal/client-registry.d.ts.map +1 -0
  523. package/dist/internal/client-registry.js +11 -0
  524. package/dist/internal/client-registry.js.map +1 -0
  525. package/dist/internal/client.d.ts +189 -0
  526. package/dist/internal/client.d.ts.map +1 -0
  527. package/dist/internal/client.js +1935 -0
  528. package/dist/internal/client.js.map +1 -0
  529. package/dist/internal/clock.d.ts +9 -0
  530. package/dist/internal/clock.d.ts.map +1 -0
  531. package/dist/internal/clock.js +5 -0
  532. package/dist/internal/clock.js.map +1 -0
  533. package/dist/internal/code-catalogue.d.ts +712 -0
  534. package/dist/internal/code-catalogue.d.ts.map +1 -0
  535. package/dist/internal/code-catalogue.js +655 -0
  536. package/dist/internal/code-catalogue.js.map +1 -0
  537. package/dist/internal/collector.d.ts +34 -0
  538. package/dist/internal/collector.d.ts.map +1 -0
  539. package/dist/internal/collector.js +400 -0
  540. package/dist/internal/collector.js.map +1 -0
  541. package/dist/internal/command-arguments.d.ts +29 -0
  542. package/dist/internal/command-arguments.d.ts.map +1 -0
  543. package/dist/internal/command-arguments.js +484 -0
  544. package/dist/internal/command-arguments.js.map +1 -0
  545. package/dist/internal/command-guards.d.ts +57 -0
  546. package/dist/internal/command-guards.d.ts.map +1 -0
  547. package/dist/internal/command-guards.js +81 -0
  548. package/dist/internal/command-guards.js.map +1 -0
  549. package/dist/internal/command-help.d.ts +15 -0
  550. package/dist/internal/command-help.d.ts.map +1 -0
  551. package/dist/internal/command-help.js +121 -0
  552. package/dist/internal/command-help.js.map +1 -0
  553. package/dist/internal/commands.d.ts +212 -0
  554. package/dist/internal/commands.d.ts.map +1 -0
  555. package/dist/internal/commands.js +1004 -0
  556. package/dist/internal/commands.js.map +1 -0
  557. package/dist/internal/configuration.d.ts +86 -0
  558. package/dist/internal/configuration.d.ts.map +1 -0
  559. package/dist/internal/configuration.js +401 -0
  560. package/dist/internal/configuration.js.map +1 -0
  561. package/dist/internal/counts.d.ts +33 -0
  562. package/dist/internal/counts.d.ts.map +1 -0
  563. package/dist/internal/counts.js +348 -0
  564. package/dist/internal/counts.js.map +1 -0
  565. package/dist/internal/decode/primitives.d.ts +30 -0
  566. package/dist/internal/decode/primitives.d.ts.map +1 -0
  567. package/dist/internal/decode/primitives.js +56 -0
  568. package/dist/internal/decode/primitives.js.map +1 -0
  569. package/dist/internal/decode/timestamp.d.ts +13 -0
  570. package/dist/internal/decode/timestamp.d.ts.map +1 -0
  571. package/dist/internal/decode/timestamp.js +27 -0
  572. package/dist/internal/decode/timestamp.js.map +1 -0
  573. package/dist/internal/decode/trace.d.ts +11 -0
  574. package/dist/internal/decode/trace.d.ts.map +1 -0
  575. package/dist/internal/decode/trace.js +69 -0
  576. package/dist/internal/decode/trace.js.map +1 -0
  577. package/dist/internal/defects.d.ts +48 -0
  578. package/dist/internal/defects.d.ts.map +1 -0
  579. package/dist/internal/defects.js +100 -0
  580. package/dist/internal/defects.js.map +1 -0
  581. package/dist/internal/effect-failures.d.ts +12 -0
  582. package/dist/internal/effect-failures.d.ts.map +1 -0
  583. package/dist/internal/effect-failures.js +45 -0
  584. package/dist/internal/effect-failures.js.map +1 -0
  585. package/dist/internal/embeds.d.ts +12 -0
  586. package/dist/internal/embeds.d.ts.map +1 -0
  587. package/dist/internal/embeds.js +308 -0
  588. package/dist/internal/embeds.js.map +1 -0
  589. package/dist/internal/events.d.ts +156 -0
  590. package/dist/internal/events.d.ts.map +1 -0
  591. package/dist/internal/events.js +1071 -0
  592. package/dist/internal/events.js.map +1 -0
  593. package/dist/internal/expiry-queue.d.ts +42 -0
  594. package/dist/internal/expiry-queue.d.ts.map +1 -0
  595. package/dist/internal/expiry-queue.js +138 -0
  596. package/dist/internal/expiry-queue.js.map +1 -0
  597. package/dist/internal/expressions.d.ts +35 -0
  598. package/dist/internal/expressions.d.ts.map +1 -0
  599. package/dist/internal/expressions.js +311 -0
  600. package/dist/internal/expressions.js.map +1 -0
  601. package/dist/internal/failures.d.ts +107 -0
  602. package/dist/internal/failures.d.ts.map +1 -0
  603. package/dist/internal/failures.js +416 -0
  604. package/dist/internal/failures.js.map +1 -0
  605. package/dist/internal/field-text.d.ts +10 -0
  606. package/dist/internal/field-text.d.ts.map +1 -0
  607. package/dist/internal/field-text.js +37 -0
  608. package/dist/internal/field-text.js.map +1 -0
  609. package/dist/internal/gateway/commands.d.ts +92 -0
  610. package/dist/internal/gateway/commands.d.ts.map +1 -0
  611. package/dist/internal/gateway/commands.js +223 -0
  612. package/dist/internal/gateway/commands.js.map +1 -0
  613. package/dist/internal/gateway/dispatch-table.d.ts +42 -0
  614. package/dist/internal/gateway/dispatch-table.d.ts.map +1 -0
  615. package/dist/internal/gateway/dispatch-table.js +288 -0
  616. package/dist/internal/gateway/dispatch-table.js.map +1 -0
  617. package/dist/internal/gateway/event-dispatches.d.ts +97 -0
  618. package/dist/internal/gateway/event-dispatches.d.ts.map +1 -0
  619. package/dist/internal/gateway/event-dispatches.js +172 -0
  620. package/dist/internal/gateway/event-dispatches.js.map +1 -0
  621. package/dist/internal/gateway/frames.d.ts +45 -0
  622. package/dist/internal/gateway/frames.d.ts.map +1 -0
  623. package/dist/internal/gateway/frames.js +121 -0
  624. package/dist/internal/gateway/frames.js.map +1 -0
  625. package/dist/internal/gateway/options.d.ts +24 -0
  626. package/dist/internal/gateway/options.d.ts.map +1 -0
  627. package/dist/internal/gateway/options.js +103 -0
  628. package/dist/internal/gateway/options.js.map +1 -0
  629. package/dist/internal/gateway/session.d.ts +104 -0
  630. package/dist/internal/gateway/session.d.ts.map +1 -0
  631. package/dist/internal/gateway/session.js +420 -0
  632. package/dist/internal/gateway/session.js.map +1 -0
  633. package/dist/internal/gateway-requests.d.ts +10 -0
  634. package/dist/internal/gateway-requests.d.ts.map +1 -0
  635. package/dist/internal/gateway-requests.js +26 -0
  636. package/dist/internal/gateway-requests.js.map +1 -0
  637. package/dist/internal/gateway.d.ts +19 -0
  638. package/dist/internal/gateway.d.ts.map +1 -0
  639. package/dist/internal/gateway.js +11 -0
  640. package/dist/internal/gateway.js.map +1 -0
  641. package/dist/internal/guild-cache.d.ts +69 -0
  642. package/dist/internal/guild-cache.d.ts.map +1 -0
  643. package/dist/internal/guild-cache.js +402 -0
  644. package/dist/internal/guild-cache.js.map +1 -0
  645. package/dist/internal/guild-discovery.d.ts +15 -0
  646. package/dist/internal/guild-discovery.d.ts.map +1 -0
  647. package/dist/internal/guild-discovery.js +258 -0
  648. package/dist/internal/guild-discovery.js.map +1 -0
  649. package/dist/internal/guild-lifecycle.d.ts +18 -0
  650. package/dist/internal/guild-lifecycle.d.ts.map +1 -0
  651. package/dist/internal/guild-lifecycle.js +119 -0
  652. package/dist/internal/guild-lifecycle.js.map +1 -0
  653. package/dist/internal/guild-settings.d.ts +11 -0
  654. package/dist/internal/guild-settings.d.ts.map +1 -0
  655. package/dist/internal/guild-settings.js +150 -0
  656. package/dist/internal/guild-settings.js.map +1 -0
  657. package/dist/internal/guilds.d.ts +94 -0
  658. package/dist/internal/guilds.d.ts.map +1 -0
  659. package/dist/internal/guilds.js +785 -0
  660. package/dist/internal/guilds.js.map +1 -0
  661. package/dist/internal/init-command.d.ts +54 -0
  662. package/dist/internal/init-command.d.ts.map +1 -0
  663. package/dist/internal/init-command.js +248 -0
  664. package/dist/internal/init-command.js.map +1 -0
  665. package/dist/internal/instance.d.ts +69 -0
  666. package/dist/internal/instance.d.ts.map +1 -0
  667. package/dist/internal/instance.js +455 -0
  668. package/dist/internal/instance.js.map +1 -0
  669. package/dist/internal/invalid-callback-return.d.ts +3 -0
  670. package/dist/internal/invalid-callback-return.d.ts.map +1 -0
  671. package/dist/internal/invalid-callback-return.js +26 -0
  672. package/dist/internal/invalid-callback-return.js.map +1 -0
  673. package/dist/internal/invites.d.ts +19 -0
  674. package/dist/internal/invites.d.ts.map +1 -0
  675. package/dist/internal/invites.js +182 -0
  676. package/dist/internal/invites.js.map +1 -0
  677. package/dist/internal/logging.d.ts +129 -0
  678. package/dist/internal/logging.d.ts.map +1 -0
  679. package/dist/internal/logging.js +868 -0
  680. package/dist/internal/logging.js.map +1 -0
  681. package/dist/internal/logical-scheduler.d.ts +27 -0
  682. package/dist/internal/logical-scheduler.d.ts.map +1 -0
  683. package/dist/internal/logical-scheduler.js +102 -0
  684. package/dist/internal/logical-scheduler.js.map +1 -0
  685. package/dist/internal/masking.d.ts +13 -0
  686. package/dist/internal/masking.d.ts.map +1 -0
  687. package/dist/internal/masking.js +235 -0
  688. package/dist/internal/masking.js.map +1 -0
  689. package/dist/internal/member-chunks.d.ts +96 -0
  690. package/dist/internal/member-chunks.d.ts.map +1 -0
  691. package/dist/internal/member-chunks.js +557 -0
  692. package/dist/internal/member-chunks.js.map +1 -0
  693. package/dist/internal/member-search-workflow.d.ts +19 -0
  694. package/dist/internal/member-search-workflow.d.ts.map +1 -0
  695. package/dist/internal/member-search-workflow.js +143 -0
  696. package/dist/internal/member-search-workflow.js.map +1 -0
  697. package/dist/internal/member-search.d.ts +20 -0
  698. package/dist/internal/member-search.d.ts.map +1 -0
  699. package/dist/internal/member-search.js +201 -0
  700. package/dist/internal/member-search.js.map +1 -0
  701. package/dist/internal/message-cleanup.d.ts +9 -0
  702. package/dist/internal/message-cleanup.d.ts.map +1 -0
  703. package/dist/internal/message-cleanup.js +368 -0
  704. package/dist/internal/message-cleanup.js.map +1 -0
  705. package/dist/internal/message-fields.d.ts +9 -0
  706. package/dist/internal/message-fields.d.ts.map +1 -0
  707. package/dist/internal/message-fields.js +55 -0
  708. package/dist/internal/message-fields.js.map +1 -0
  709. package/dist/internal/message-search-workflow.d.ts +14 -0
  710. package/dist/internal/message-search-workflow.d.ts.map +1 -0
  711. package/dist/internal/message-search-workflow.js +101 -0
  712. package/dist/internal/message-search-workflow.js.map +1 -0
  713. package/dist/internal/message-search.d.ts +19 -0
  714. package/dist/internal/message-search.d.ts.map +1 -0
  715. package/dist/internal/message-search.js +317 -0
  716. package/dist/internal/message-search.js.map +1 -0
  717. package/dist/internal/message.d.ts +34 -0
  718. package/dist/internal/message.d.ts.map +1 -0
  719. package/dist/internal/message.js +723 -0
  720. package/dist/internal/message.js.map +1 -0
  721. package/dist/internal/metrics.d.ts +16 -0
  722. package/dist/internal/metrics.d.ts.map +1 -0
  723. package/dist/internal/metrics.js +49 -0
  724. package/dist/internal/metrics.js.map +1 -0
  725. package/dist/internal/moderation.d.ts +20 -0
  726. package/dist/internal/moderation.d.ts.map +1 -0
  727. package/dist/internal/moderation.js +219 -0
  728. package/dist/internal/moderation.js.map +1 -0
  729. package/dist/internal/multipart.d.ts +10 -0
  730. package/dist/internal/multipart.d.ts.map +1 -0
  731. package/dist/internal/multipart.js +156 -0
  732. package/dist/internal/multipart.js.map +1 -0
  733. package/dist/internal/node-version.d.ts +10 -0
  734. package/dist/internal/node-version.d.ts.map +1 -0
  735. package/dist/internal/node-version.js +21 -0
  736. package/dist/internal/node-version.js.map +1 -0
  737. package/dist/internal/oauth.d.ts +29 -0
  738. package/dist/internal/oauth.d.ts.map +1 -0
  739. package/dist/internal/oauth.js +721 -0
  740. package/dist/internal/oauth.js.map +1 -0
  741. package/dist/internal/observer.d.ts +21 -0
  742. package/dist/internal/observer.d.ts.map +1 -0
  743. package/dist/internal/observer.js +48 -0
  744. package/dist/internal/observer.js.map +1 -0
  745. package/dist/internal/operation-signal.d.ts +9 -0
  746. package/dist/internal/operation-signal.d.ts.map +1 -0
  747. package/dist/internal/operation-signal.js +19 -0
  748. package/dist/internal/operation-signal.js.map +1 -0
  749. package/dist/internal/pagination.d.ts +67 -0
  750. package/dist/internal/pagination.d.ts.map +1 -0
  751. package/dist/internal/pagination.js +306 -0
  752. package/dist/internal/pagination.js.map +1 -0
  753. package/dist/internal/permission-requirements.d.ts +34 -0
  754. package/dist/internal/permission-requirements.d.ts.map +1 -0
  755. package/dist/internal/permission-requirements.js +204 -0
  756. package/dist/internal/permission-requirements.js.map +1 -0
  757. package/dist/internal/permissions.d.ts +28 -0
  758. package/dist/internal/permissions.d.ts.map +1 -0
  759. package/dist/internal/permissions.js +314 -0
  760. package/dist/internal/permissions.js.map +1 -0
  761. package/dist/internal/pins.d.ts +24 -0
  762. package/dist/internal/pins.d.ts.map +1 -0
  763. package/dist/internal/pins.js +83 -0
  764. package/dist/internal/pins.js.map +1 -0
  765. package/dist/internal/presence.d.ts +101 -0
  766. package/dist/internal/presence.d.ts.map +1 -0
  767. package/dist/internal/presence.js +581 -0
  768. package/dist/internal/presence.js.map +1 -0
  769. package/dist/internal/protocol/gateway.d.ts +116 -0
  770. package/dist/internal/protocol/gateway.d.ts.map +1 -0
  771. package/dist/internal/protocol/gateway.js +258 -0
  772. package/dist/internal/protocol/gateway.js.map +1 -0
  773. package/dist/internal/rate-limit-templates.d.ts +2 -0
  774. package/dist/internal/rate-limit-templates.d.ts.map +1 -0
  775. package/dist/internal/rate-limit-templates.js +132 -0
  776. package/dist/internal/rate-limit-templates.js.map +1 -0
  777. package/dist/internal/rate-limits.d.ts +32 -0
  778. package/dist/internal/rate-limits.d.ts.map +1 -0
  779. package/dist/internal/rate-limits.js +306 -0
  780. package/dist/internal/rate-limits.js.map +1 -0
  781. package/dist/internal/reaction-collector.d.ts +39 -0
  782. package/dist/internal/reaction-collector.d.ts.map +1 -0
  783. package/dist/internal/reaction-collector.js +441 -0
  784. package/dist/internal/reaction-collector.js.map +1 -0
  785. package/dist/internal/reaction-pages.d.ts +18 -0
  786. package/dist/internal/reaction-pages.d.ts.map +1 -0
  787. package/dist/internal/reaction-pages.js +213 -0
  788. package/dist/internal/reaction-pages.js.map +1 -0
  789. package/dist/internal/reactions.d.ts +30 -0
  790. package/dist/internal/reactions.d.ts.map +1 -0
  791. package/dist/internal/reactions.js +160 -0
  792. package/dist/internal/reactions.js.map +1 -0
  793. package/dist/internal/rejection-scope.d.ts +25 -0
  794. package/dist/internal/rejection-scope.d.ts.map +1 -0
  795. package/dist/internal/rejection-scope.js +103 -0
  796. package/dist/internal/rejection-scope.js.map +1 -0
  797. package/dist/internal/response-json.d.ts +12 -0
  798. package/dist/internal/response-json.d.ts.map +1 -0
  799. package/dist/internal/response-json.js +74 -0
  800. package/dist/internal/response-json.js.map +1 -0
  801. package/dist/internal/rest/admission.d.ts +77 -0
  802. package/dist/internal/rest/admission.d.ts.map +1 -0
  803. package/dist/internal/rest/admission.js +178 -0
  804. package/dist/internal/rest/admission.js.map +1 -0
  805. package/dist/internal/rest/attempt.d.ts +124 -0
  806. package/dist/internal/rest/attempt.d.ts.map +1 -0
  807. package/dist/internal/rest/attempt.js +410 -0
  808. package/dist/internal/rest/attempt.js.map +1 -0
  809. package/dist/internal/rest/classify.d.ts +93 -0
  810. package/dist/internal/rest/classify.d.ts.map +1 -0
  811. package/dist/internal/rest/classify.js +304 -0
  812. package/dist/internal/rest/classify.js.map +1 -0
  813. package/dist/internal/rest/download.d.ts +66 -0
  814. package/dist/internal/rest/download.d.ts.map +1 -0
  815. package/dist/internal/rest/download.js +552 -0
  816. package/dist/internal/rest/download.js.map +1 -0
  817. package/dist/internal/rest/options.d.ts +42 -0
  818. package/dist/internal/rest/options.d.ts.map +1 -0
  819. package/dist/internal/rest/options.js +99 -0
  820. package/dist/internal/rest/options.js.map +1 -0
  821. package/dist/internal/rest/owner.d.ts +154 -0
  822. package/dist/internal/rest/owner.d.ts.map +1 -0
  823. package/dist/internal/rest/owner.js +1292 -0
  824. package/dist/internal/rest/owner.js.map +1 -0
  825. package/dist/internal/rest/request.d.ts +31 -0
  826. package/dist/internal/rest/request.d.ts.map +1 -0
  827. package/dist/internal/rest/request.js +227 -0
  828. package/dist/internal/rest/request.js.map +1 -0
  829. package/dist/internal/rest.d.ts +10 -0
  830. package/dist/internal/rest.d.ts.map +1 -0
  831. package/dist/internal/rest.js +9 -0
  832. package/dist/internal/rest.js.map +1 -0
  833. package/dist/internal/retention-age.d.ts +11 -0
  834. package/dist/internal/retention-age.d.ts.map +1 -0
  835. package/dist/internal/retention-age.js +29 -0
  836. package/dist/internal/retention-age.js.map +1 -0
  837. package/dist/internal/role-hierarchy-workflow.d.ts +15 -0
  838. package/dist/internal/role-hierarchy-workflow.d.ts.map +1 -0
  839. package/dist/internal/role-hierarchy-workflow.js +122 -0
  840. package/dist/internal/role-hierarchy-workflow.js.map +1 -0
  841. package/dist/internal/role-hierarchy.d.ts +11 -0
  842. package/dist/internal/role-hierarchy.d.ts.map +1 -0
  843. package/dist/internal/role-hierarchy.js +87 -0
  844. package/dist/internal/role-hierarchy.js.map +1 -0
  845. package/dist/internal/scheduled-tasks.d.ts +46 -0
  846. package/dist/internal/scheduled-tasks.d.ts.map +1 -0
  847. package/dist/internal/scheduled-tasks.js +190 -0
  848. package/dist/internal/scheduled-tasks.js.map +1 -0
  849. package/dist/internal/sharding.d.ts +62 -0
  850. package/dist/internal/sharding.d.ts.map +1 -0
  851. package/dist/internal/sharding.js +205 -0
  852. package/dist/internal/sharding.js.map +1 -0
  853. package/dist/internal/starter-project.d.ts +27 -0
  854. package/dist/internal/starter-project.d.ts.map +1 -0
  855. package/dist/internal/starter-project.js +224 -0
  856. package/dist/internal/starter-project.js.map +1 -0
  857. package/dist/internal/suggest.d.ts +12 -0
  858. package/dist/internal/suggest.d.ts.map +1 -0
  859. package/dist/internal/suggest.js +51 -0
  860. package/dist/internal/suggest.js.map +1 -0
  861. package/dist/internal/supervisor.d.ts +95 -0
  862. package/dist/internal/supervisor.d.ts.map +1 -0
  863. package/dist/internal/supervisor.js +1829 -0
  864. package/dist/internal/supervisor.js.map +1 -0
  865. package/dist/internal/testing/discovery.d.ts +24 -0
  866. package/dist/internal/testing/discovery.d.ts.map +1 -0
  867. package/dist/internal/testing/discovery.js +22 -0
  868. package/dist/internal/testing/discovery.js.map +1 -0
  869. package/dist/internal/testing/errors.d.ts +43 -0
  870. package/dist/internal/testing/errors.d.ts.map +1 -0
  871. package/dist/internal/testing/errors.js +63 -0
  872. package/dist/internal/testing/errors.js.map +1 -0
  873. package/dist/internal/testing/fixtures.d.ts +477 -0
  874. package/dist/internal/testing/fixtures.d.ts.map +1 -0
  875. package/dist/internal/testing/fixtures.js +233 -0
  876. package/dist/internal/testing/fixtures.js.map +1 -0
  877. package/dist/internal/testing/gateway.d.ts +51 -0
  878. package/dist/internal/testing/gateway.d.ts.map +1 -0
  879. package/dist/internal/testing/gateway.js +265 -0
  880. package/dist/internal/testing/gateway.js.map +1 -0
  881. package/dist/internal/testing/harness.d.ts +60 -0
  882. package/dist/internal/testing/harness.d.ts.map +1 -0
  883. package/dist/internal/testing/harness.js +280 -0
  884. package/dist/internal/testing/harness.js.map +1 -0
  885. package/dist/internal/testing/http.d.ts +31 -0
  886. package/dist/internal/testing/http.d.ts.map +1 -0
  887. package/dist/internal/testing/http.js +347 -0
  888. package/dist/internal/testing/http.js.map +1 -0
  889. package/dist/internal/testing/types.d.ts +222 -0
  890. package/dist/internal/testing/types.d.ts.map +1 -0
  891. package/dist/internal/testing/types.js +2 -0
  892. package/dist/internal/testing/types.js.map +1 -0
  893. package/dist/internal/testing/wait.d.ts +16 -0
  894. package/dist/internal/testing/wait.d.ts.map +1 -0
  895. package/dist/internal/testing/wait.js +55 -0
  896. package/dist/internal/testing/wait.js.map +1 -0
  897. package/dist/internal/thread-events.d.ts +40 -0
  898. package/dist/internal/thread-events.d.ts.map +1 -0
  899. package/dist/internal/thread-events.js +121 -0
  900. package/dist/internal/thread-events.js.map +1 -0
  901. package/dist/internal/threads.d.ts +47 -0
  902. package/dist/internal/threads.d.ts.map +1 -0
  903. package/dist/internal/threads.js +587 -0
  904. package/dist/internal/threads.js.map +1 -0
  905. package/dist/internal/transfer-source.d.ts +29 -0
  906. package/dist/internal/transfer-source.d.ts.map +1 -0
  907. package/dist/internal/transfer-source.js +347 -0
  908. package/dist/internal/transfer-source.js.map +1 -0
  909. package/dist/internal/transport/http.d.ts +12 -0
  910. package/dist/internal/transport/http.d.ts.map +1 -0
  911. package/dist/internal/transport/http.js +44 -0
  912. package/dist/internal/transport/http.js.map +1 -0
  913. package/dist/internal/transport/index.d.ts +21 -0
  914. package/dist/internal/transport/index.d.ts.map +1 -0
  915. package/dist/internal/transport/index.js +15 -0
  916. package/dist/internal/transport/index.js.map +1 -0
  917. package/dist/internal/transport/socket.d.ts +51 -0
  918. package/dist/internal/transport/socket.d.ts.map +1 -0
  919. package/dist/internal/transport/socket.js +27 -0
  920. package/dist/internal/transport/socket.js.map +1 -0
  921. package/dist/internal/transport/user-agent.d.ts +7 -0
  922. package/dist/internal/transport/user-agent.d.ts.map +1 -0
  923. package/dist/internal/transport/user-agent.js +42 -0
  924. package/dist/internal/transport/user-agent.js.map +1 -0
  925. package/dist/internal/uploads.d.ts +23 -0
  926. package/dist/internal/uploads.d.ts.map +1 -0
  927. package/dist/internal/uploads.js +89 -0
  928. package/dist/internal/uploads.js.map +1 -0
  929. package/dist/internal/user-cache.d.ts +50 -0
  930. package/dist/internal/user-cache.d.ts.map +1 -0
  931. package/dist/internal/user-cache.js +273 -0
  932. package/dist/internal/user-cache.js.map +1 -0
  933. package/dist/internal/users.d.ts +41 -0
  934. package/dist/internal/users.d.ts.map +1 -0
  935. package/dist/internal/users.js +333 -0
  936. package/dist/internal/users.js.map +1 -0
  937. package/dist/internal/vanity-url.d.ts +11 -0
  938. package/dist/internal/vanity-url.d.ts.map +1 -0
  939. package/dist/internal/vanity-url.js +58 -0
  940. package/dist/internal/vanity-url.js.map +1 -0
  941. package/dist/internal/webhooks.d.ts +58 -0
  942. package/dist/internal/webhooks.d.ts.map +1 -0
  943. package/dist/internal/webhooks.js +490 -0
  944. package/dist/internal/webhooks.js.map +1 -0
  945. package/dist/invites.d.ts +86 -0
  946. package/dist/invites.d.ts.map +1 -0
  947. package/dist/invites.js +2 -0
  948. package/dist/invites.js.map +1 -0
  949. package/dist/logging.d.ts +228 -0
  950. package/dist/logging.d.ts.map +1 -0
  951. package/dist/logging.js +2 -0
  952. package/dist/logging.js.map +1 -0
  953. package/dist/member-chunks.d.ts +145 -0
  954. package/dist/member-chunks.d.ts.map +1 -0
  955. package/dist/member-chunks.js +68 -0
  956. package/dist/member-chunks.js.map +1 -0
  957. package/dist/member-search.d.ts +140 -0
  958. package/dist/member-search.d.ts.map +1 -0
  959. package/dist/member-search.js +14 -0
  960. package/dist/member-search.js.map +1 -0
  961. package/dist/message-cleanup.d.ts +227 -0
  962. package/dist/message-cleanup.d.ts.map +1 -0
  963. package/dist/message-cleanup.js +101 -0
  964. package/dist/message-cleanup.js.map +1 -0
  965. package/dist/message-errors.d.ts +172 -0
  966. package/dist/message-errors.d.ts.map +1 -0
  967. package/dist/message-errors.js +173 -0
  968. package/dist/message-errors.js.map +1 -0
  969. package/dist/message-search.d.ts +201 -0
  970. package/dist/message-search.d.ts.map +1 -0
  971. package/dist/message-search.js +2 -0
  972. package/dist/message-search.js.map +1 -0
  973. package/dist/messages.d.ts +694 -0
  974. package/dist/messages.d.ts.map +1 -0
  975. package/dist/messages.js +37 -0
  976. package/dist/messages.js.map +1 -0
  977. package/dist/native-commands.d.ts +451 -0
  978. package/dist/native-commands.d.ts.map +1 -0
  979. package/dist/native-commands.js +432 -0
  980. package/dist/native-commands.js.map +1 -0
  981. package/dist/native-supervisor.d.ts +125 -0
  982. package/dist/native-supervisor.d.ts.map +1 -0
  983. package/dist/native-supervisor.js +126 -0
  984. package/dist/native-supervisor.js.map +1 -0
  985. package/dist/oauth.d.ts +298 -0
  986. package/dist/oauth.d.ts.map +1 -0
  987. package/dist/oauth.js +128 -0
  988. package/dist/oauth.js.map +1 -0
  989. package/dist/observer.d.ts +111 -0
  990. package/dist/observer.d.ts.map +1 -0
  991. package/dist/observer.js +2 -0
  992. package/dist/observer.js.map +1 -0
  993. package/dist/pagination.d.ts +117 -0
  994. package/dist/pagination.d.ts.map +1 -0
  995. package/dist/pagination.js +61 -0
  996. package/dist/pagination.js.map +1 -0
  997. package/dist/permissions.d.ts +73 -0
  998. package/dist/permissions.d.ts.map +1 -0
  999. package/dist/permissions.js +2 -0
  1000. package/dist/permissions.js.map +1 -0
  1001. package/dist/pins.d.ts +62 -0
  1002. package/dist/pins.d.ts.map +1 -0
  1003. package/dist/pins.js +2 -0
  1004. package/dist/pins.js.map +1 -0
  1005. package/dist/presence.d.ts +84 -0
  1006. package/dist/presence.d.ts.map +1 -0
  1007. package/dist/presence.js +46 -0
  1008. package/dist/presence.js.map +1 -0
  1009. package/dist/reaction-pages.d.ts +99 -0
  1010. package/dist/reaction-pages.d.ts.map +1 -0
  1011. package/dist/reaction-pages.js +2 -0
  1012. package/dist/reaction-pages.js.map +1 -0
  1013. package/dist/reactions.d.ts +118 -0
  1014. package/dist/reactions.d.ts.map +1 -0
  1015. package/dist/reactions.js +2 -0
  1016. package/dist/reactions.js.map +1 -0
  1017. package/dist/rest.d.ts +260 -0
  1018. package/dist/rest.d.ts.map +1 -0
  1019. package/dist/rest.js +46 -0
  1020. package/dist/rest.js.map +1 -0
  1021. package/dist/role-hierarchy.d.ts +81 -0
  1022. package/dist/role-hierarchy.d.ts.map +1 -0
  1023. package/dist/role-hierarchy.js +53 -0
  1024. package/dist/role-hierarchy.js.map +1 -0
  1025. package/dist/sharding.d.ts +219 -0
  1026. package/dist/sharding.d.ts.map +1 -0
  1027. package/dist/sharding.js +86 -0
  1028. package/dist/sharding.js.map +1 -0
  1029. package/dist/supervisor.d.ts +392 -0
  1030. package/dist/supervisor.d.ts.map +1 -0
  1031. package/dist/supervisor.js +101 -0
  1032. package/dist/supervisor.js.map +1 -0
  1033. package/dist/testing.d.ts +258 -0
  1034. package/dist/testing.d.ts.map +1 -0
  1035. package/dist/testing.js +202 -0
  1036. package/dist/testing.js.map +1 -0
  1037. package/dist/text.d.ts +38 -0
  1038. package/dist/text.d.ts.map +1 -0
  1039. package/dist/text.js +46 -0
  1040. package/dist/text.js.map +1 -0
  1041. package/dist/threads.d.ts +258 -0
  1042. package/dist/threads.d.ts.map +1 -0
  1043. package/dist/threads.js +2 -0
  1044. package/dist/threads.js.map +1 -0
  1045. package/dist/users.d.ts +204 -0
  1046. package/dist/users.d.ts.map +1 -0
  1047. package/dist/users.js +44 -0
  1048. package/dist/users.js.map +1 -0
  1049. package/dist/webhooks.d.ts +423 -0
  1050. package/dist/webhooks.d.ts.map +1 -0
  1051. package/dist/webhooks.js +68 -0
  1052. package/dist/webhooks.js.map +1 -0
  1053. package/esm-only.cjs +3 -0
  1054. package/examples/starter/bot-effect.ts +17 -0
  1055. package/examples/starter/bot.js +13 -0
  1056. package/examples/starter/bot.ts +13 -0
  1057. package/package.json +82 -0
  1058. package/src/api/default/application.ts +40 -0
  1059. package/src/api/default/attachments.ts +106 -0
  1060. package/src/api/default/audit-logs.ts +58 -0
  1061. package/src/api/default/bot.ts +586 -0
  1062. package/src/api/default/cache.ts +106 -0
  1063. package/src/api/default/channels.ts +317 -0
  1064. package/src/api/default/client.ts +829 -0
  1065. package/src/api/default/collectors.ts +81 -0
  1066. package/src/api/default/commands.ts +92 -0
  1067. package/src/api/default/direct-messages.ts +143 -0
  1068. package/src/api/default/discovery.ts +103 -0
  1069. package/src/api/default/emojis.ts +125 -0
  1070. package/src/api/default/events.ts +144 -0
  1071. package/src/api/default/gateway.ts +67 -0
  1072. package/src/api/default/guards.ts +173 -0
  1073. package/src/api/default/guilds.ts +271 -0
  1074. package/src/api/default/helpers.ts +97 -0
  1075. package/src/api/default/instance.ts +49 -0
  1076. package/src/api/default/invites.ts +73 -0
  1077. package/src/api/default/logging.ts +37 -0
  1078. package/src/api/default/members.ts +550 -0
  1079. package/src/api/default/messages.ts +1053 -0
  1080. package/src/api/default/oauth.ts +293 -0
  1081. package/src/api/default/permissions.ts +47 -0
  1082. package/src/api/default/presence.ts +88 -0
  1083. package/src/api/default/rest.ts +30 -0
  1084. package/src/api/default/results.ts +44 -0
  1085. package/src/api/default/roles.ts +154 -0
  1086. package/src/api/default/stickers.ts +129 -0
  1087. package/src/api/default/supervisor.ts +53 -0
  1088. package/src/api/default/threads.ts +233 -0
  1089. package/src/api/default/users.ts +82 -0
  1090. package/src/api/default/webhook-client.ts +266 -0
  1091. package/src/api/default/webhooks.ts +89 -0
  1092. package/src/api/effect/application.ts +29 -0
  1093. package/src/api/effect/attachments.ts +100 -0
  1094. package/src/api/effect/audit-logs.ts +50 -0
  1095. package/src/api/effect/bot.ts +546 -0
  1096. package/src/api/effect/cache.ts +110 -0
  1097. package/src/api/effect/channels.ts +293 -0
  1098. package/src/api/effect/client.ts +792 -0
  1099. package/src/api/effect/collectors.ts +103 -0
  1100. package/src/api/effect/commands.ts +87 -0
  1101. package/src/api/effect/direct-messages.ts +119 -0
  1102. package/src/api/effect/discovery.ts +87 -0
  1103. package/src/api/effect/emojis.ts +108 -0
  1104. package/src/api/effect/events.ts +92 -0
  1105. package/src/api/effect/failures.ts +14 -0
  1106. package/src/api/effect/gateway.ts +63 -0
  1107. package/src/api/effect/guards.ts +194 -0
  1108. package/src/api/effect/guilds.ts +247 -0
  1109. package/src/api/effect/helpers.ts +359 -0
  1110. package/src/api/effect/hierarchy.ts +26 -0
  1111. package/src/api/effect/instance.ts +50 -0
  1112. package/src/api/effect/invites.ts +59 -0
  1113. package/src/api/effect/logging.ts +37 -0
  1114. package/src/api/effect/members.ts +521 -0
  1115. package/src/api/effect/messages.ts +1003 -0
  1116. package/src/api/effect/oauth.ts +208 -0
  1117. package/src/api/effect/permissions.ts +44 -0
  1118. package/src/api/effect/presence.ts +83 -0
  1119. package/src/api/effect/rest.ts +27 -0
  1120. package/src/api/effect/roles.ts +136 -0
  1121. package/src/api/effect/service.ts +104 -0
  1122. package/src/api/effect/stickers.ts +112 -0
  1123. package/src/api/effect/supervisor.ts +58 -0
  1124. package/src/api/effect/threads.ts +221 -0
  1125. package/src/api/effect/users.ts +66 -0
  1126. package/src/api/effect/webhook-client.ts +206 -0
  1127. package/src/api/effect/webhooks.ts +75 -0
  1128. package/src/api-errors.ts +985 -0
  1129. package/src/application.ts +103 -0
  1130. package/src/assets.ts +731 -0
  1131. package/src/attachments.ts +469 -0
  1132. package/src/audit-logs.ts +355 -0
  1133. package/src/bot-runner.ts +91 -0
  1134. package/src/builders.ts +390 -0
  1135. package/src/cache.ts +190 -0
  1136. package/src/channels.ts +1051 -0
  1137. package/src/cli.ts +60 -0
  1138. package/src/client.ts +663 -0
  1139. package/src/collectors.ts +248 -0
  1140. package/src/colors.ts +91 -0
  1141. package/src/command-arguments.ts +432 -0
  1142. package/src/command-help.ts +55 -0
  1143. package/src/commands.ts +403 -0
  1144. package/src/counts.ts +160 -0
  1145. package/src/default-commands.ts +1147 -0
  1146. package/src/default-supervisor.ts +484 -0
  1147. package/src/discovery.ts +241 -0
  1148. package/src/effect-testing.ts +603 -0
  1149. package/src/effect.ts +751 -0
  1150. package/src/embeds.ts +253 -0
  1151. package/src/error-tools.ts +191 -0
  1152. package/src/errors.ts +849 -0
  1153. package/src/events.ts +830 -0
  1154. package/src/expressions.ts +198 -0
  1155. package/src/failures.ts +55 -0
  1156. package/src/gateway.ts +86 -0
  1157. package/src/guilds.ts +1108 -0
  1158. package/src/helpers.ts +836 -0
  1159. package/src/index.ts +796 -0
  1160. package/src/input-validation.ts +94 -0
  1161. package/src/instance.ts +111 -0
  1162. package/src/internal/agents-section.ts +114 -0
  1163. package/src/internal/application.ts +51 -0
  1164. package/src/internal/attachment-refresh.ts +57 -0
  1165. package/src/internal/attachments.ts +313 -0
  1166. package/src/internal/audit-logs.ts +336 -0
  1167. package/src/internal/audit.ts +33 -0
  1168. package/src/internal/binding/default-adapters.ts +482 -0
  1169. package/src/internal/binding/default.ts +155 -0
  1170. package/src/internal/binding/execute.ts +221 -0
  1171. package/src/internal/binding/native-adapters.ts +199 -0
  1172. package/src/internal/binding/native.ts +72 -0
  1173. package/src/internal/binding/operations.ts +1171 -0
  1174. package/src/internal/bot-runner.ts +480 -0
  1175. package/src/internal/cache-changes.ts +363 -0
  1176. package/src/internal/cache.ts +323 -0
  1177. package/src/internal/calls.ts +119 -0
  1178. package/src/internal/channel-cache.ts +435 -0
  1179. package/src/internal/channel-decode.ts +399 -0
  1180. package/src/internal/channels.ts +874 -0
  1181. package/src/internal/client/backoff.ts +69 -0
  1182. package/src/internal/client/configuration-fields.ts +18 -0
  1183. package/src/internal/client/drain.ts +150 -0
  1184. package/src/internal/client/intake.ts +228 -0
  1185. package/src/internal/client/lifetime.ts +165 -0
  1186. package/src/internal/client/shard-loop.ts +586 -0
  1187. package/src/internal/client-registry.ts +35 -0
  1188. package/src/internal/client.ts +2448 -0
  1189. package/src/internal/clock.ts +11 -0
  1190. package/src/internal/code-catalogue.ts +739 -0
  1191. package/src/internal/collector.ts +452 -0
  1192. package/src/internal/command-arguments.ts +585 -0
  1193. package/src/internal/command-guards.ts +96 -0
  1194. package/src/internal/command-help.ts +156 -0
  1195. package/src/internal/commands.ts +1319 -0
  1196. package/src/internal/configuration.ts +529 -0
  1197. package/src/internal/counts.ts +471 -0
  1198. package/src/internal/decode/primitives.ts +67 -0
  1199. package/src/internal/decode/timestamp.ts +29 -0
  1200. package/src/internal/decode/trace.ts +65 -0
  1201. package/src/internal/defects.ts +115 -0
  1202. package/src/internal/effect-failures.ts +65 -0
  1203. package/src/internal/embeds.ts +355 -0
  1204. package/src/internal/events.ts +1345 -0
  1205. package/src/internal/expiry-queue.ts +148 -0
  1206. package/src/internal/expressions.ts +415 -0
  1207. package/src/internal/failures.ts +492 -0
  1208. package/src/internal/field-text.ts +40 -0
  1209. package/src/internal/gateway/commands.ts +328 -0
  1210. package/src/internal/gateway/dispatch-table.ts +383 -0
  1211. package/src/internal/gateway/event-dispatches.ts +201 -0
  1212. package/src/internal/gateway/frames.ts +176 -0
  1213. package/src/internal/gateway/options.ts +144 -0
  1214. package/src/internal/gateway/session.ts +625 -0
  1215. package/src/internal/gateway-requests.ts +26 -0
  1216. package/src/internal/gateway.ts +22 -0
  1217. package/src/internal/guild-cache.ts +424 -0
  1218. package/src/internal/guild-discovery.ts +332 -0
  1219. package/src/internal/guild-lifecycle.ts +128 -0
  1220. package/src/internal/guild-settings.ts +209 -0
  1221. package/src/internal/guilds.ts +949 -0
  1222. package/src/internal/init-command.ts +305 -0
  1223. package/src/internal/instance.ts +645 -0
  1224. package/src/internal/invalid-callback-return.ts +28 -0
  1225. package/src/internal/invites.ts +234 -0
  1226. package/src/internal/logging.ts +1007 -0
  1227. package/src/internal/logical-scheduler.ts +139 -0
  1228. package/src/internal/masking.ts +224 -0
  1229. package/src/internal/member-chunks.ts +649 -0
  1230. package/src/internal/member-search-workflow.ts +237 -0
  1231. package/src/internal/member-search.ts +272 -0
  1232. package/src/internal/message-cleanup.ts +515 -0
  1233. package/src/internal/message-fields.ts +71 -0
  1234. package/src/internal/message-search-workflow.ts +166 -0
  1235. package/src/internal/message-search.ts +476 -0
  1236. package/src/internal/message.ts +879 -0
  1237. package/src/internal/metrics.ts +55 -0
  1238. package/src/internal/moderation.ts +288 -0
  1239. package/src/internal/multipart.ts +171 -0
  1240. package/src/internal/node-version.ts +22 -0
  1241. package/src/internal/oauth.ts +1146 -0
  1242. package/src/internal/observer.ts +62 -0
  1243. package/src/internal/operation-signal.ts +26 -0
  1244. package/src/internal/pagination.ts +494 -0
  1245. package/src/internal/permission-requirements.ts +359 -0
  1246. package/src/internal/permissions.ts +417 -0
  1247. package/src/internal/pins.ts +115 -0
  1248. package/src/internal/presence.ts +745 -0
  1249. package/src/internal/protocol/gateway.ts +299 -0
  1250. package/src/internal/rate-limit-templates.ts +138 -0
  1251. package/src/internal/rate-limits.ts +346 -0
  1252. package/src/internal/reaction-collector.ts +499 -0
  1253. package/src/internal/reaction-pages.ts +260 -0
  1254. package/src/internal/reactions.ts +174 -0
  1255. package/src/internal/rejection-scope.ts +119 -0
  1256. package/src/internal/response-json.ts +76 -0
  1257. package/src/internal/rest/admission.ts +210 -0
  1258. package/src/internal/rest/attempt.ts +617 -0
  1259. package/src/internal/rest/classify.ts +391 -0
  1260. package/src/internal/rest/download.ts +658 -0
  1261. package/src/internal/rest/options.ts +145 -0
  1262. package/src/internal/rest/owner.ts +1828 -0
  1263. package/src/internal/rest/request.ts +289 -0
  1264. package/src/internal/rest.ts +9 -0
  1265. package/src/internal/retention-age.ts +33 -0
  1266. package/src/internal/role-hierarchy-workflow.ts +150 -0
  1267. package/src/internal/role-hierarchy.ts +93 -0
  1268. package/src/internal/scheduled-tasks.ts +217 -0
  1269. package/src/internal/sharding.ts +270 -0
  1270. package/src/internal/starter-project.ts +251 -0
  1271. package/src/internal/suggest.ts +50 -0
  1272. package/src/internal/supervisor.ts +2253 -0
  1273. package/src/internal/testing/discovery.ts +23 -0
  1274. package/src/internal/testing/errors.ts +67 -0
  1275. package/src/internal/testing/fixtures.ts +714 -0
  1276. package/src/internal/testing/gateway.ts +305 -0
  1277. package/src/internal/testing/harness.ts +328 -0
  1278. package/src/internal/testing/http.ts +395 -0
  1279. package/src/internal/testing/types.ts +240 -0
  1280. package/src/internal/testing/wait.ts +63 -0
  1281. package/src/internal/thread-events.ts +128 -0
  1282. package/src/internal/threads.ts +718 -0
  1283. package/src/internal/transfer-source.ts +359 -0
  1284. package/src/internal/transport/http.ts +46 -0
  1285. package/src/internal/transport/index.ts +23 -0
  1286. package/src/internal/transport/socket.ts +71 -0
  1287. package/src/internal/transport/user-agent.ts +46 -0
  1288. package/src/internal/uploads.ts +111 -0
  1289. package/src/internal/user-cache.ts +294 -0
  1290. package/src/internal/users.ts +402 -0
  1291. package/src/internal/vanity-url.ts +80 -0
  1292. package/src/internal/webhooks.ts +690 -0
  1293. package/src/invites.ts +87 -0
  1294. package/src/logging.ts +247 -0
  1295. package/src/member-chunks.ts +195 -0
  1296. package/src/member-search.ts +152 -0
  1297. package/src/message-cleanup.ts +308 -0
  1298. package/src/message-errors.ts +245 -0
  1299. package/src/message-search.ts +213 -0
  1300. package/src/messages.ts +768 -0
  1301. package/src/native-commands.ts +1249 -0
  1302. package/src/native-supervisor.ts +345 -0
  1303. package/src/oauth.ts +413 -0
  1304. package/src/observer.ts +118 -0
  1305. package/src/pagination.ts +172 -0
  1306. package/src/permissions.ts +74 -0
  1307. package/src/pins.ts +65 -0
  1308. package/src/presence.ts +124 -0
  1309. package/src/reaction-pages.ts +106 -0
  1310. package/src/reactions.ts +126 -0
  1311. package/src/rest.ts +282 -0
  1312. package/src/role-hierarchy.ts +127 -0
  1313. package/src/sharding.ts +272 -0
  1314. package/src/supervisor.ts +460 -0
  1315. package/src/testing.ts +424 -0
  1316. package/src/text.ts +76 -0
  1317. package/src/threads.ts +274 -0
  1318. package/src/users.ts +237 -0
  1319. package/src/webhooks.ts +512 -0
@@ -0,0 +1,1146 @@
1
+ /**
2
+ * OAuth client operations: Authorization URLs, code exchange, refresh, revocation, introspection and authorized reads.
3
+ * Invariant: Consent, storage and refresh coordination stay application-owned, credentials never appear in errors or logs, and
4
+ * every request goes through the HTTP transport seam. Implements [SDK contracts: Results and failures](/docs/SDK-CONTRACTS.md#results-and-failures)
5
+ */
6
+ import * as Clock from "effect/Clock"
7
+ import * as Deferred from "effect/Deferred"
8
+ import * as Effect from "effect/Effect"
9
+ import * as Scope from "effect/Scope"
10
+ import type {
11
+ OAuthAuthorizationInput,
12
+ OAuthCodeExchangeInput,
13
+ OAuthConfig,
14
+ OAuthConnection,
15
+ OAuthIdentity,
16
+ OAuthIntrospection,
17
+ OAuthOperation,
18
+ OAuthOperationError,
19
+ OAuthOperationOptions,
20
+ OAuthTokens,
21
+ } from "#sdk/oauth"
22
+ import { OAuthOperationError as OAuthError, oauthCredential } from "#sdk/oauth"
23
+ import { loggingConfiguration, type ClientLogger } from "#sdk/internal/logging"
24
+ import type * as Context from "effect/Context"
25
+ import { apiErrorDetail, unrecognizedProviderCode } from "#sdk/api-errors"
26
+ import { ClientClosedError, ConfigurationError, RateLimitError } from "#sdk/errors"
27
+ import { mapFailureCause, TransportError, withDeadline } from "#sdk/internal/effect-failures"
28
+ import { nowMs } from "#sdk/internal/clock"
29
+ import { defaultHttpTransport, type HttpTransport } from "#sdk/internal/transport/index"
30
+ import { InstanceResolver, instanceConfiguration } from "#sdk/internal/instance"
31
+ import { guildList } from "#sdk/internal/guild-lifecycle"
32
+ import { identifier, record } from "#sdk/internal/decode/primitives"
33
+ import { readCaller, suspendInput, suspendMarked } from "#sdk/internal/defects"
34
+ import type { GuildListQuery, GuildListSummary } from "#sdk/guilds"
35
+ import {
36
+ InputValidationFailure,
37
+ inputValidationFailure,
38
+ unsupportedKeyFailure,
39
+ type InputValidationConstraint,
40
+ } from "#sdk/input-validation"
41
+
42
+ const maximumResponseBytes = 1_048_576
43
+ const maximumConcurrentRequests = 8
44
+ const defaultTimeoutMs = 30_000
45
+ const maximumPermissionBits = (1n << 64n) - 1n
46
+ const maximumInt32 = 2_147_483_647
47
+
48
+ function text(value: unknown): value is string {
49
+ return typeof value === "string" && value.length > 0
50
+ }
51
+
52
+ // Fluxer OAuth form/query strings use createStringType(1), capped at 256 UTF-16 units.
53
+ // Reject normalization changes rather than changing opaque state, credentials or redirects
54
+ function canonicalText(value: unknown): value is string {
55
+ return (
56
+ text(value) &&
57
+ value.length <= 256 &&
58
+ value.isWellFormed() &&
59
+ // oxlint-disable-next-line no-control-regex -- the provider strips form feed before validating text
60
+ value === value.replace(/[\u000c\u202e]/g, "").trim()
61
+ )
62
+ }
63
+
64
+ const oauthScopeInputCapacity = 256
65
+
66
+ function redirectUri(value: unknown): value is string {
67
+ if (!canonicalText(value)) return false
68
+ try {
69
+ const url = new URL(value)
70
+ const loopback =
71
+ url.hostname === "localhost" ||
72
+ url.hostname === "127.0.0.1" ||
73
+ url.hostname === "[::1]" ||
74
+ url.hostname.endsWith(".localhost")
75
+ return (
76
+ !url.username &&
77
+ !url.password &&
78
+ !url.hash &&
79
+ (url.protocol === "https:" || (url.protocol === "http:" && loopback))
80
+ )
81
+ } catch {
82
+ return false
83
+ // allow-silent: An unparsable redirect URI is rejected as invalid input
84
+ }
85
+ }
86
+
87
+ function timeout(value: unknown): number | undefined {
88
+ return value === undefined ||
89
+ (typeof value === "number" && Number.isSafeInteger(value) && value > 0 && value <= 2_147_483_647)
90
+ ? value
91
+ : undefined
92
+ }
93
+
94
+ function retryAfter(response: Response): number | null {
95
+ const value = response.headers.get("retry-after")
96
+ const milliseconds = value === null ? NaN : Number(value) * 1_000
97
+ return Number.isFinite(milliseconds) && milliseconds >= 0 ? Math.ceil(milliseconds) : null
98
+ }
99
+
100
+ function token(value: unknown): OAuthTokens | undefined {
101
+ if (
102
+ !record(value) ||
103
+ !text(value.access_token) ||
104
+ !text(value.refresh_token) ||
105
+ value.token_type !== "Bearer" ||
106
+ !text(value.scope)
107
+ )
108
+ return undefined
109
+ if (typeof value.expires_in !== "number" || !Number.isSafeInteger(value.expires_in) || value.expires_in < 0)
110
+ return undefined
111
+ return Object.freeze({
112
+ accessToken: value.access_token,
113
+ refreshToken: value.refresh_token,
114
+ tokenType: "Bearer",
115
+ expiresInSeconds: value.expires_in,
116
+ scopes: Object.freeze(value.scope.split(/[\s+]+/).filter(Boolean)),
117
+ })
118
+ }
119
+
120
+ function identity(value: unknown): OAuthIdentity | undefined {
121
+ if (!record(value) || !identifier(value.id) || !text(value.username) || typeof value.discriminator !== "string")
122
+ return undefined
123
+ if (
124
+ (value.global_name !== null && typeof value.global_name !== "string") ||
125
+ (value.avatar !== null && typeof value.avatar !== "string")
126
+ )
127
+ return undefined
128
+ if (value.email !== undefined && value.email !== null && typeof value.email !== "string") return undefined
129
+ if (value.verified !== undefined && value.verified !== null && typeof value.verified !== "boolean") return undefined
130
+ return Object.freeze({
131
+ id: value.id,
132
+ username: value.username,
133
+ discriminator: value.discriminator,
134
+ displayName: value.global_name,
135
+ avatar: value.avatar,
136
+ ...(value.email === undefined ? {} : { email: value.email }),
137
+ ...(value.verified === undefined ? {} : { verified: value.verified }),
138
+ })
139
+ }
140
+
141
+ function connections(value: unknown): readonly OAuthConnection[] | undefined {
142
+ if (!Array.isArray(value)) return undefined
143
+ const result: OAuthConnection[] = []
144
+ for (const item of value) {
145
+ if (
146
+ !record(item) ||
147
+ typeof item.id !== "string" ||
148
+ (item.type !== "bsky" && item.type !== "domain") ||
149
+ typeof item.name !== "string" ||
150
+ typeof item.verified !== "boolean" ||
151
+ typeof item.visibility_flags !== "number" ||
152
+ !Number.isSafeInteger(item.visibility_flags) ||
153
+ item.visibility_flags < 0 ||
154
+ item.visibility_flags > maximumInt32 ||
155
+ typeof item.sort_order !== "number" ||
156
+ !Number.isSafeInteger(item.sort_order) ||
157
+ item.sort_order < 0 ||
158
+ item.sort_order > maximumInt32
159
+ )
160
+ return undefined
161
+ result.push(
162
+ Object.freeze({
163
+ id: item.id,
164
+ type: item.type,
165
+ name: item.name,
166
+ verified: item.verified,
167
+ visibilityFlags: item.visibility_flags,
168
+ sortOrder: item.sort_order,
169
+ }),
170
+ )
171
+ }
172
+ return Object.freeze(result)
173
+ }
174
+
175
+ function introspection(value: unknown): OAuthIntrospection | undefined {
176
+ if (!record(value) || typeof value.active !== "boolean") return undefined
177
+ if (!value.active) return Object.freeze({ active: false })
178
+ if (
179
+ !identifier(value.client_id) ||
180
+ (value.sub !== undefined && !identifier(value.sub)) ||
181
+ typeof value.scope !== "string" ||
182
+ (value.token_type !== "Bearer" && value.token_type !== "refresh_token") ||
183
+ typeof value.iat !== "number" ||
184
+ !Number.isSafeInteger(value.iat) ||
185
+ value.iat < 0 ||
186
+ (value.exp !== undefined &&
187
+ (typeof value.exp !== "number" || !Number.isSafeInteger(value.exp) || value.exp < 0))
188
+ )
189
+ return undefined
190
+ return Object.freeze({
191
+ active: true,
192
+ clientId: value.client_id,
193
+ ...(value.sub === undefined ? {} : { subjectId: value.sub }),
194
+ tokenType: value.token_type,
195
+ scopes: Object.freeze(value.scope.split(/[\s+]+/).filter(Boolean)),
196
+ issuedAtUnixSeconds: value.iat,
197
+ ...(value.exp === undefined ? {} : { expiresAtUnixSeconds: value.exp }),
198
+ })
199
+ }
200
+
201
+ /** The input failure for an unsupported key in an OAuth input object */
202
+ function unsupportedInput(operation: OAuthOperation, failure: InputValidationFailure): OAuthOperationError {
203
+ return new OAuthError({ operation, reason: "input", outcome: "notDispatched", inputValidation: failure.detail })
204
+ }
205
+
206
+ function inputError(
207
+ operation: OAuthOperation,
208
+ path: string,
209
+ constraint: InputValidationConstraint,
210
+ explanation: string,
211
+ ): OAuthOperationError {
212
+ return new OAuthError({
213
+ operation,
214
+ reason: "input",
215
+ outcome: "notDispatched",
216
+ inputValidation: inputValidationFailure(path, constraint, explanation).detail,
217
+ })
218
+ }
219
+
220
+ function responseError(operation: OAuthOperation, status: number): OAuthOperationError {
221
+ const mutation = operation === "oauth.exchangeCode" || operation === "oauth.refresh" || operation === "oauth.revoke"
222
+ return new OAuthError({ operation, reason: "response", outcome: mutation ? "unknown" : "rejected", status })
223
+ }
224
+
225
+ function operationError(
226
+ operation: OAuthOperation,
227
+ response: Response | undefined,
228
+ cause: "notDispatched" | "unknown",
229
+ details: { readonly body?: unknown; readonly cause?: unknown } = {},
230
+ ): OAuthOperationError {
231
+ const { body, cause: networkCause } = details
232
+ const apiError = apiErrorDetail(body)
233
+ const providerCode = unrecognizedProviderCode(body)
234
+ const oauthError =
235
+ record(body) &&
236
+ typeof body.error === "string" &&
237
+ [
238
+ "invalid_grant",
239
+ "invalid_client",
240
+ "invalid_request",
241
+ "invalid_scope",
242
+ "unauthorized_client",
243
+ "unsupported_grant_type",
244
+ ].includes(body.error)
245
+ ? body.error
246
+ : null
247
+ if (!response)
248
+ return new OAuthError({ operation, reason: "network", outcome: cause, cause: new TransportError(networkCause) })
249
+ if (response.status === 429)
250
+ return new OAuthError({
251
+ operation,
252
+ reason: "rateLimit",
253
+ outcome: "rejected",
254
+ status: response.status,
255
+ retryAfterMs: retryAfter(response),
256
+ oauthError,
257
+ apiError,
258
+ providerCode,
259
+ })
260
+ const mutation = operation === "oauth.exchangeCode" || operation === "oauth.refresh" || operation === "oauth.revoke"
261
+ return new OAuthError({
262
+ operation,
263
+ reason: "rejected",
264
+ outcome: mutation && response.status >= 500 ? "unknown" : "rejected",
265
+ status: response.status,
266
+ oauthError,
267
+ apiError,
268
+ providerCode,
269
+ })
270
+ }
271
+
272
+ async function body(
273
+ response: Response,
274
+ state: { reader: ReadableStreamDefaultReader<Uint8Array> | undefined; done: boolean },
275
+ ): Promise<Uint8Array> {
276
+ const reader = response.body?.getReader()
277
+ if (!reader) throw new Error("missing response body")
278
+ state.reader = reader
279
+ const chunks: Uint8Array[] = []
280
+ let length = 0
281
+ for (;;) {
282
+ const item = await reader.read()
283
+ if (item.done) {
284
+ state.done = true
285
+ break
286
+ }
287
+ length += item.value.byteLength
288
+ if (length > maximumResponseBytes) throw new Error("response too large")
289
+ chunks.push(item.value)
290
+ }
291
+ const bytes = new Uint8Array(length)
292
+ let offset = 0
293
+ for (const chunk of chunks) {
294
+ bytes.set(chunk, offset)
295
+ offset += chunk.byteLength
296
+ }
297
+ return bytes
298
+ }
299
+
300
+ async function json(
301
+ response: Response,
302
+ state: { reader: ReadableStreamDefaultReader<Uint8Array> | undefined; done: boolean },
303
+ ): Promise<unknown> {
304
+ return JSON.parse(new TextDecoder().decode(await body(response, state)))
305
+ }
306
+
307
+ export class OAuthOwner {
308
+ #closed = false
309
+ #active = 0
310
+ #secret: string | undefined
311
+ readonly #controllers = new Set<AbortController>()
312
+ readonly #operations = new Set<Deferred.Deferred<void>>()
313
+ readonly #http: HttpTransport
314
+ readonly instance: InstanceResolver
315
+
316
+ constructor(
317
+ readonly clientId: string,
318
+ secret: string,
319
+ configuration: ReturnType<typeof instanceConfiguration>,
320
+ scope: Scope.Scope,
321
+ readonly logging: ClientLogger,
322
+ http: HttpTransport = defaultHttpTransport,
323
+ ) {
324
+ this.#secret = secret
325
+ this.#http = http
326
+ this.instance = new InstanceResolver(
327
+ configuration as Exclude<typeof configuration, ConfigurationError>,
328
+ scope,
329
+ {
330
+ http,
331
+ },
332
+ )
333
+ }
334
+
335
+ shutdown(): Effect.Effect<void> {
336
+ return Effect.uninterruptible(
337
+ Effect.suspend(() => {
338
+ this.#closed = true
339
+ this.#secret = undefined
340
+ for (const controller of this.#controllers) controller.abort()
341
+ const operations = [...this.#operations]
342
+ return Effect.all(
343
+ [
344
+ this.instance.shutdown(),
345
+ Effect.forEach(operations, (operation) => Deferred.await(operation), {
346
+ discard: true,
347
+ concurrency: "unbounded",
348
+ }),
349
+ ],
350
+ { concurrency: "unbounded", discard: true },
351
+ ).pipe(
352
+ Effect.ensuring(Effect.withFiber((fiber) => Effect.sync(() => this.logging.flush(fiber.context)))),
353
+ )
354
+ }),
355
+ )
356
+ }
357
+
358
+ /**
359
+ * Log a rejected client ID and secret once per operation and code, even when the application handles the failure,
360
+ * because it persists until someone changes the configuration. A rejected user access token concerns one user, so
361
+ * it is only returned
362
+ */
363
+ #logRejection(error: unknown, context: Context.Context<never>) {
364
+ if (
365
+ !(error instanceof OAuthError) ||
366
+ error.reason !== "rejected" ||
367
+ !(error.status === 401 || error.status === 403 || error.oauthError === "invalid_client") ||
368
+ oauthCredential(error.operation, error.oauthError) !== "oauthClient"
369
+ )
370
+ return
371
+ this.logging.log(
372
+ {
373
+ level: "warn",
374
+ category: "rest",
375
+ code: "rest.rejected",
376
+ message: error.message,
377
+ ...(error.status === null ? {} : { status: error.status }),
378
+ fields: {
379
+ operation: error.operation,
380
+ oauthError: error.oauthError ?? undefined,
381
+ apiError: error.apiError?.providerCode,
382
+ hint: error.hint,
383
+ },
384
+ },
385
+ context,
386
+ )
387
+ }
388
+
389
+ #run<A>(
390
+ operation: OAuthOperation,
391
+ options: OAuthOperationOptions | undefined,
392
+ task: (
393
+ api: string,
394
+ webapp: string,
395
+ secret: string,
396
+ progress: { knownResponseFailure: OAuthOperationError | undefined },
397
+ ) => Effect.Effect<A, OAuthOperationError>,
398
+ ): Effect.Effect<A, OAuthOperationError | ClientClosedError> {
399
+ return Clock.clockWith((clock) =>
400
+ suspendMarked<A, OAuthOperationError | ClientClosedError, never>(() => {
401
+ // Only reading the caller options is marked, so a throw from their getters is an application fault
402
+ const limit = readCaller(() => {
403
+ if (
404
+ options !== undefined &&
405
+ (typeof options !== "object" || options === null || Array.isArray(options))
406
+ )
407
+ return "invalid"
408
+ const unsupported =
409
+ options === undefined
410
+ ? undefined
411
+ : unsupportedKeyFailure(options, ["timeoutMs"], "options", "the OAuth operation options")
412
+ if (unsupported) return unsupported
413
+ const timeoutMs = options?.timeoutMs
414
+ const limit = timeout(timeoutMs)
415
+ return timeoutMs !== undefined && limit === undefined ? "invalid" : limit
416
+ })
417
+ if (limit instanceof InputValidationFailure)
418
+ return Effect.fail(
419
+ new OAuthError({
420
+ operation,
421
+ reason: "input",
422
+ outcome: "notDispatched",
423
+ inputValidation: limit.detail,
424
+ }),
425
+ )
426
+ if (limit === "invalid")
427
+ return Effect.fail(
428
+ inputError(
429
+ operation,
430
+ "options",
431
+ "format",
432
+ "OAuth operation options may contain only a timeoutMs integer from 1 through 2,147,483,647",
433
+ ),
434
+ )
435
+ if (this.#closed || !this.#secret) return Effect.fail(new ClientClosedError())
436
+ if (this.#active >= maximumConcurrentRequests)
437
+ return Effect.fail(new OAuthError({ operation, reason: "busy", outcome: "notDispatched" }))
438
+ this.#active += 1
439
+ const completed = Deferred.makeUnsafe<void>()
440
+ this.#operations.add(completed)
441
+ const deadline = limit ?? defaultTimeoutMs
442
+ const started = nowMs(clock)
443
+ const progress: { knownResponseFailure: OAuthOperationError | undefined } = {
444
+ knownResponseFailure: undefined,
445
+ }
446
+ return this.instance.resolve().pipe(
447
+ withDeadline(
448
+ deadline,
449
+ () => new OAuthError({ operation, reason: "timeout", outcome: "notDispatched" }),
450
+ ),
451
+ mapFailureCause((error) =>
452
+ error instanceof OAuthError || error instanceof ClientClosedError
453
+ ? error
454
+ : this.#closed
455
+ ? new ClientClosedError()
456
+ : error instanceof RateLimitError
457
+ ? new OAuthError({
458
+ operation,
459
+ reason: "rateLimit",
460
+ outcome: "notDispatched",
461
+ status: 429,
462
+ retryAfterMs: error.retryAfterMs,
463
+ })
464
+ : new OAuthError({
465
+ operation,
466
+ reason: "network",
467
+ outcome: "notDispatched",
468
+ cause: new TransportError(error),
469
+ }),
470
+ ),
471
+ Effect.flatMap((endpoints): Effect.Effect<A, OAuthOperationError | ClientClosedError> =>
472
+ this.#closed || !this.#secret
473
+ ? Effect.fail(new ClientClosedError())
474
+ : task(endpoints.apiPublic, endpoints.webapp, this.#secret, progress).pipe(
475
+ withDeadline(
476
+ Math.max(1, deadline - (nowMs(clock) - started)),
477
+ () =>
478
+ progress.knownResponseFailure ??
479
+ new OAuthError({ operation, reason: "timeout", outcome: "unknown" }),
480
+ ),
481
+ ),
482
+ ),
483
+ Effect.tapError((error) =>
484
+ Effect.withFiber((fiber) => Effect.sync(() => this.#logRejection(error, fiber.context))),
485
+ ),
486
+ Effect.ensuring(
487
+ Effect.sync(() => {
488
+ this.#active -= 1
489
+ this.#operations.delete(completed)
490
+ Deferred.doneUnsafe(completed, Effect.void)
491
+ }),
492
+ ),
493
+ ) as Effect.Effect<A, OAuthOperationError | ClientClosedError>
494
+ }),
495
+ )
496
+ }
497
+
498
+ authorizationUrl(
499
+ input: OAuthAuthorizationInput,
500
+ options?: OAuthOperationOptions,
501
+ ): Effect.Effect<string, OAuthOperationError | ClientClosedError> {
502
+ return suspendInput(() => {
503
+ if (!record(input))
504
+ return Effect.fail(
505
+ inputError(
506
+ "oauth.authorizationUrl",
507
+ "input",
508
+ "type",
509
+ "OAuth authorization input must be an object",
510
+ ),
511
+ )
512
+ const unsupported = unsupportedKeyFailure(
513
+ input,
514
+ [
515
+ "redirectUri",
516
+ "scopes",
517
+ "state",
518
+ "codeChallenge",
519
+ "guildId",
520
+ "channelId",
521
+ "permissions",
522
+ "disableGuildSelect",
523
+ ],
524
+ "input",
525
+ "the OAuth authorization input",
526
+ )
527
+ if (unsupported) return Effect.fail(unsupportedInput("oauth.authorizationUrl", unsupported))
528
+ const redirectUriValue = input.redirectUri
529
+ if (!redirectUri(redirectUriValue))
530
+ return Effect.fail(
531
+ inputError(
532
+ "oauth.authorizationUrl",
533
+ "redirectUri",
534
+ "format",
535
+ "Redirect URI must be HTTPS or loopback HTTP without credentials or a fragment",
536
+ ),
537
+ )
538
+ const state = input.state
539
+ if (!canonicalText(state))
540
+ return Effect.fail(
541
+ inputError(
542
+ "oauth.authorizationUrl",
543
+ "state",
544
+ "format",
545
+ "OAuth state must contain 1 through 256 UTF-16 code units without leading or trailing whitespace",
546
+ ),
547
+ )
548
+ const codeChallenge = input.codeChallenge
549
+ if (typeof codeChallenge !== "string" || !/^[A-Za-z0-9_-]{43}$/.test(codeChallenge))
550
+ return Effect.fail(
551
+ inputError(
552
+ "oauth.authorizationUrl",
553
+ "codeChallenge",
554
+ "format",
555
+ "PKCE code challenge must contain exactly 43 base64url characters",
556
+ ),
557
+ )
558
+ const scopeInput = input.scopes
559
+ if (!Array.isArray(scopeInput))
560
+ return Effect.fail(
561
+ inputError("oauth.authorizationUrl", "scopes", "length", "OAuth scopes must be a non-empty array"),
562
+ )
563
+ const scopeLength = scopeInput.length
564
+ if (scopeLength === 0 || scopeLength > oauthScopeInputCapacity)
565
+ return Effect.fail(
566
+ inputError(
567
+ "oauth.authorizationUrl",
568
+ "scopes",
569
+ "length",
570
+ "OAuth scopes must contain 1 through 256 entries",
571
+ ),
572
+ )
573
+ const scopes = [...new Set(Array.from({ length: scopeLength }, (_, index) => scopeInput[index]))]
574
+ if (scopes.some((scope) => !["identify", "email", "guilds", "connections", "bot"].includes(scope)))
575
+ return Effect.fail(
576
+ inputError(
577
+ "oauth.authorizationUrl",
578
+ "scopes[]",
579
+ "allowedValue",
580
+ "OAuth scopes must be identify, email, guilds, connections, or bot",
581
+ ),
582
+ )
583
+ const botScope = scopes.includes("bot")
584
+ const guildId = input.guildId
585
+ const channelId = input.channelId
586
+ const permissions = input.permissions
587
+ const disableGuildSelect = input.disableGuildSelect
588
+ const installationInput =
589
+ guildId !== undefined ||
590
+ channelId !== undefined ||
591
+ permissions !== undefined ||
592
+ disableGuildSelect !== undefined
593
+ if (installationInput && !botScope)
594
+ return Effect.fail(
595
+ inputError(
596
+ "oauth.authorizationUrl",
597
+ "botInstallation",
598
+ "required",
599
+ "Bot installation options require the bot scope",
600
+ ),
601
+ )
602
+ if (guildId !== undefined && !identifier(guildId))
603
+ return Effect.fail(
604
+ inputError("oauth.authorizationUrl", "guildId", "format", "Guild target must be a decimal ID"),
605
+ )
606
+ if (channelId !== undefined && !identifier(channelId))
607
+ return Effect.fail(
608
+ inputError("oauth.authorizationUrl", "channelId", "format", "Channel target must be a decimal ID"),
609
+ )
610
+ if (guildId !== undefined && channelId !== undefined)
611
+ return Effect.fail(
612
+ inputError(
613
+ "oauth.authorizationUrl",
614
+ "channelId",
615
+ "relationship",
616
+ "Channel target cannot be used with guild target",
617
+ ),
618
+ )
619
+ if (
620
+ permissions !== undefined &&
621
+ (typeof permissions !== "bigint" || permissions < 0n || permissions > maximumPermissionBits)
622
+ )
623
+ return Effect.fail(
624
+ inputError(
625
+ "oauth.authorizationUrl",
626
+ "permissions",
627
+ "range",
628
+ "Bot permissions must be an unsigned 64-bit bitfield",
629
+ ),
630
+ )
631
+ if (disableGuildSelect !== undefined && typeof disableGuildSelect !== "boolean")
632
+ return Effect.fail(
633
+ inputError(
634
+ "oauth.authorizationUrl",
635
+ "disableGuildSelect",
636
+ "type",
637
+ "The option disableGuildSelect must be a boolean",
638
+ ),
639
+ )
640
+ const request = {
641
+ redirectUri: redirectUriValue,
642
+ scopes: Object.freeze(scopes),
643
+ state,
644
+ codeChallenge,
645
+ guildId,
646
+ channelId,
647
+ permissions,
648
+ disableGuildSelect,
649
+ }
650
+ return this.#run("oauth.authorizationUrl", options, (_api, webapp) =>
651
+ Effect.sync(() => {
652
+ const url = new URL("oauth2/authorize", `${webapp}/`)
653
+ const query = new URLSearchParams({
654
+ client_id: this.clientId,
655
+ response_type: "code",
656
+ redirect_uri: request.redirectUri,
657
+ scope: request.scopes.join(" "),
658
+ state: request.state,
659
+ code_challenge: request.codeChallenge,
660
+ code_challenge_method: "S256",
661
+ })
662
+ if (request.guildId !== undefined) query.set("guild_id", request.guildId)
663
+ if (request.channelId !== undefined) query.set("channel_id", request.channelId)
664
+ if (request.permissions !== undefined) query.set("permissions", request.permissions.toString())
665
+ if (request.disableGuildSelect !== undefined)
666
+ query.set("disable_guild_select", String(request.disableGuildSelect))
667
+ url.search = query.toString()
668
+ return url.toString()
669
+ }),
670
+ )
671
+ })
672
+ }
673
+
674
+ #request<A>(
675
+ operation: OAuthOperation,
676
+ api: string,
677
+ path: string,
678
+ init: RequestInit,
679
+ decode: (body: unknown) => A | undefined,
680
+ progress: { knownResponseFailure: OAuthOperationError | undefined },
681
+ emptyResponse = false,
682
+ ): Effect.Effect<A, OAuthOperationError> {
683
+ return Effect.acquireUseRelease(
684
+ Effect.sync(
685
+ (): {
686
+ controller: AbortController
687
+ settled: Promise<void>
688
+ responseSettled: Promise<void>
689
+ settleResponse: () => void
690
+ response: Response | undefined
691
+ dispatched: boolean
692
+ knownResponseFailure: OAuthOperationError | undefined
693
+ reader: ReadableStreamDefaultReader<Uint8Array> | undefined
694
+ done: boolean
695
+ } => {
696
+ const controller = new AbortController()
697
+ let settleResponse = () => {}
698
+ const responseSettled = new Promise<void>((resolve) => {
699
+ settleResponse = resolve
700
+ })
701
+ this.#controllers.add(controller)
702
+ return {
703
+ controller,
704
+ settled: Promise.resolve(),
705
+ responseSettled,
706
+ settleResponse,
707
+ response: undefined,
708
+ dispatched: false,
709
+ knownResponseFailure: undefined,
710
+ reader: undefined,
711
+ done: false,
712
+ }
713
+ },
714
+ ),
715
+ (state) =>
716
+ Effect.tryPromise({
717
+ try: () => {
718
+ const work = (async () => {
719
+ let response: Response | undefined
720
+ try {
721
+ state.dispatched = true
722
+ response = await this.#http(`${api}${path}`, {
723
+ ...init,
724
+ redirect: "error",
725
+ signal: state.controller.signal,
726
+ })
727
+ state.response = response
728
+ if (!response.ok)
729
+ state.knownResponseFailure = progress.knownResponseFailure = operationError(
730
+ operation,
731
+ response,
732
+ "unknown",
733
+ )
734
+ state.settleResponse()
735
+ if (state.controller.signal.aborted)
736
+ throw operationError(operation, response, "unknown")
737
+ const decoded =
738
+ response.status === 204
739
+ ? undefined
740
+ : emptyResponse && response.ok
741
+ ? (await body(response, state), undefined)
742
+ : await json(response, state)
743
+ if (!response.ok)
744
+ throw operationError(operation, response, "unknown", { body: decoded })
745
+ if (emptyResponse) return true as A
746
+ const result = decode(decoded)
747
+ if (result === undefined) throw responseError(operation, response.status)
748
+ return result
749
+ } catch (error) {
750
+ if (error instanceof OAuthError) throw error
751
+ if (response?.ok) throw responseError(operation, response.status)
752
+ throw operationError(
753
+ operation,
754
+ response,
755
+ state.dispatched ? "unknown" : "notDispatched",
756
+ { cause: error },
757
+ )
758
+ } finally {
759
+ state.settleResponse()
760
+ }
761
+ })()
762
+ // allow-silent: The work promise itself is returned and its rejection observed by the caller, so this only records settlement
763
+ state.settled = work.then(
764
+ () => undefined,
765
+ () => undefined,
766
+ )
767
+ return Promise.race([
768
+ work,
769
+ new Promise<never>((_resolve, reject) => {
770
+ const abort = () =>
771
+ reject(state.knownResponseFailure ?? new Error("OAuth request aborted"))
772
+ if (state.controller.signal.aborted) abort()
773
+ else state.controller.signal.addEventListener("abort", abort, { once: true })
774
+ // allow-silent: The work promise is raced and returned below, so its rejection reaches the caller. This only removes the listener
775
+ void work.then(
776
+ () => state.controller.signal.removeEventListener("abort", abort),
777
+ () => state.controller.signal.removeEventListener("abort", abort),
778
+ )
779
+ }),
780
+ ])
781
+ },
782
+ catch: (error) =>
783
+ error instanceof OAuthError
784
+ ? error
785
+ : new OAuthError({
786
+ operation,
787
+ reason: "network",
788
+ outcome: "unknown",
789
+ cause: new TransportError(error),
790
+ }),
791
+ }),
792
+ (state) =>
793
+ Effect.promise(async () => {
794
+ state.controller.abort()
795
+ this.#controllers.delete(state.controller)
796
+ const failures: unknown[] = []
797
+ await state.responseSettled
798
+ if (state.reader) {
799
+ if (!state.done)
800
+ try {
801
+ await state.reader.cancel()
802
+ } catch (error) {
803
+ if (!(state.controller.signal.aborted && error === state.controller.signal.reason))
804
+ failures.push(error)
805
+ }
806
+ try {
807
+ state.reader.releaseLock()
808
+ } catch (error) {
809
+ failures.push(error)
810
+ }
811
+ } else if (state.response && !state.response.bodyUsed) {
812
+ try {
813
+ await state.response.body?.cancel()
814
+ } catch (error) {
815
+ if (!(state.controller.signal.aborted && error === state.controller.signal.reason))
816
+ failures.push(error)
817
+ }
818
+ }
819
+ await state.settled
820
+ // Cleanup faults keep their original values, as REST and discovery cleanup faults do. Error rendering
821
+ // masks credentials, and the response body never becomes part of a cleanup fault
822
+ if (failures.length === 1) throw failures[0]
823
+ if (failures.length > 1) throw new AggregateError(failures, "OAuth response cleanup failed")
824
+ }),
825
+ )
826
+ }
827
+
828
+ exchangeCode(
829
+ input: OAuthCodeExchangeInput,
830
+ options?: OAuthOperationOptions,
831
+ ): Effect.Effect<OAuthTokens, OAuthOperationError | ClientClosedError> {
832
+ return suspendInput(() => {
833
+ if (!record(input))
834
+ return Effect.fail(
835
+ inputError("oauth.exchangeCode", "input", "type", "OAuth code exchange input must be an object"),
836
+ )
837
+ const unsupported = unsupportedKeyFailure(
838
+ input,
839
+ ["code", "redirectUri", "codeVerifier"],
840
+ "input",
841
+ "the OAuth code exchange input",
842
+ )
843
+ if (unsupported) return Effect.fail(unsupportedInput("oauth.exchangeCode", unsupported))
844
+ const code = input.code
845
+ if (!canonicalText(code))
846
+ return Effect.fail(
847
+ inputError(
848
+ "oauth.exchangeCode",
849
+ "code",
850
+ "format",
851
+ "Authorization code must contain 1 through 256 UTF-16 code units without leading or trailing whitespace",
852
+ ),
853
+ )
854
+ const redirectUriValue = input.redirectUri
855
+ if (!redirectUri(redirectUriValue))
856
+ return Effect.fail(
857
+ inputError(
858
+ "oauth.exchangeCode",
859
+ "redirectUri",
860
+ "format",
861
+ "Redirect URI must be HTTPS or loopback HTTP without credentials or a fragment",
862
+ ),
863
+ )
864
+ const codeVerifier = input.codeVerifier
865
+ if (typeof codeVerifier !== "string" || !/^[A-Za-z0-9._~-]{43,128}$/.test(codeVerifier))
866
+ return Effect.fail(
867
+ inputError(
868
+ "oauth.exchangeCode",
869
+ "codeVerifier",
870
+ "format",
871
+ "PKCE code verifier must contain 43 through 128 unreserved characters",
872
+ ),
873
+ )
874
+ const request = { code, redirectUri: redirectUriValue, codeVerifier }
875
+ return this.#run("oauth.exchangeCode", options, (api, _webapp, secret, progress) =>
876
+ this.#request(
877
+ "oauth.exchangeCode",
878
+ api,
879
+ "/oauth2/token",
880
+ {
881
+ method: "POST",
882
+ headers: {
883
+ authorization: `Basic ${Buffer.from(`${this.clientId}:${secret}`).toString("base64")}`,
884
+ "content-type": "application/x-www-form-urlencoded",
885
+ },
886
+ body: new URLSearchParams({
887
+ grant_type: "authorization_code",
888
+ code: request.code,
889
+ redirect_uri: request.redirectUri,
890
+ code_verifier: request.codeVerifier,
891
+ }).toString(),
892
+ },
893
+ token,
894
+ progress,
895
+ ),
896
+ )
897
+ })
898
+ }
899
+
900
+ refresh(
901
+ refreshToken: string,
902
+ options?: OAuthOperationOptions,
903
+ ): Effect.Effect<OAuthTokens, OAuthOperationError | ClientClosedError> {
904
+ if (!canonicalText(refreshToken))
905
+ return Effect.fail(
906
+ inputError(
907
+ "oauth.refresh",
908
+ "refreshToken",
909
+ "format",
910
+ "Refresh token must contain 1 through 256 UTF-16 code units without leading or trailing whitespace",
911
+ ),
912
+ )
913
+ return this.#run("oauth.refresh", options, (api, _webapp, secret, progress) =>
914
+ this.#request(
915
+ "oauth.refresh",
916
+ api,
917
+ "/oauth2/token",
918
+ {
919
+ method: "POST",
920
+ headers: {
921
+ authorization: `Basic ${Buffer.from(`${this.clientId}:${secret}`).toString("base64")}`,
922
+ "content-type": "application/x-www-form-urlencoded",
923
+ },
924
+ body: new URLSearchParams({
925
+ grant_type: "refresh_token",
926
+ refresh_token: refreshToken,
927
+ }).toString(),
928
+ },
929
+ token,
930
+ progress,
931
+ ),
932
+ )
933
+ }
934
+
935
+ revoke(
936
+ value: { readonly token: string; readonly tokenTypeHint?: "access_token" | "refresh_token" },
937
+ options?: OAuthOperationOptions,
938
+ ): Effect.Effect<void, OAuthOperationError | ClientClosedError> {
939
+ return suspendInput(() => {
940
+ if (!record(value))
941
+ return Effect.fail(inputError("oauth.revoke", "input", "type", "OAuth revoke input must be an object"))
942
+ const unsupported = unsupportedKeyFailure(
943
+ value,
944
+ ["token", "tokenTypeHint"],
945
+ "input",
946
+ "the OAuth revoke input",
947
+ )
948
+ if (unsupported) return Effect.fail(unsupportedInput("oauth.revoke", unsupported))
949
+ const token = value.token
950
+ if (!canonicalText(token))
951
+ return Effect.fail(
952
+ inputError(
953
+ "oauth.revoke",
954
+ "token",
955
+ "format",
956
+ "Revoked token must contain 1 through 256 UTF-16 code units without leading or trailing whitespace",
957
+ ),
958
+ )
959
+ const tokenTypeHint = value.tokenTypeHint
960
+ if (tokenTypeHint !== undefined && tokenTypeHint !== "access_token" && tokenTypeHint !== "refresh_token")
961
+ return Effect.fail(
962
+ inputError(
963
+ "oauth.revoke",
964
+ "tokenTypeHint",
965
+ "allowedValue",
966
+ "Token type hint must be access_token or refresh_token",
967
+ ),
968
+ )
969
+ const request = { token, tokenTypeHint }
970
+ return this.#run("oauth.revoke", options, (api, _webapp, secret, progress) =>
971
+ this.#request(
972
+ "oauth.revoke",
973
+ api,
974
+ "/oauth2/token/revoke",
975
+ {
976
+ method: "POST",
977
+ headers: {
978
+ authorization: `Basic ${Buffer.from(`${this.clientId}:${secret}`).toString("base64")}`,
979
+ "content-type": "application/x-www-form-urlencoded",
980
+ },
981
+ body: new URLSearchParams({
982
+ token: request.token,
983
+ ...(request.tokenTypeHint === undefined ? {} : { token_type_hint: request.tokenTypeHint }),
984
+ }).toString(),
985
+ },
986
+ () => true,
987
+ progress,
988
+ true,
989
+ ).pipe(Effect.asVoid),
990
+ )
991
+ })
992
+ }
993
+
994
+ fetchIdentity(
995
+ accessToken: string,
996
+ options?: OAuthOperationOptions,
997
+ ): Effect.Effect<OAuthIdentity, OAuthOperationError | ClientClosedError> {
998
+ if (!text(accessToken))
999
+ return Effect.fail(
1000
+ inputError("oauth.fetchIdentity", "accessToken", "required", "Access token must be a non-empty string"),
1001
+ )
1002
+ return this.#run("oauth.fetchIdentity", options, (api, _webapp, _secret, progress) =>
1003
+ this.#request(
1004
+ "oauth.fetchIdentity",
1005
+ api,
1006
+ "/oauth2/userinfo",
1007
+ { method: "GET", headers: { authorization: `Bearer ${accessToken}` } },
1008
+ identity,
1009
+ progress,
1010
+ ),
1011
+ )
1012
+ }
1013
+
1014
+ fetchGuilds(
1015
+ accessToken: string,
1016
+ query: GuildListQuery = {},
1017
+ options?: OAuthOperationOptions,
1018
+ ): Effect.Effect<readonly GuildListSummary[], OAuthOperationError | ClientClosedError> {
1019
+ return suspendInput(() => {
1020
+ const request = guildList(query)
1021
+ if (!text(accessToken))
1022
+ return Effect.fail(
1023
+ inputError(
1024
+ "oauth.fetchGuilds",
1025
+ "accessToken",
1026
+ "required",
1027
+ "Access token must be a non-empty string",
1028
+ ),
1029
+ )
1030
+ if (request instanceof InputValidationFailure)
1031
+ return Effect.fail(
1032
+ new OAuthError({
1033
+ operation: "oauth.fetchGuilds",
1034
+ reason: "input",
1035
+ outcome: "notDispatched",
1036
+ inputValidation: request.detail,
1037
+ }),
1038
+ )
1039
+ return this.#run("oauth.fetchGuilds", options, (api, _webapp, _secret, progress) =>
1040
+ this.#request(
1041
+ "oauth.fetchGuilds",
1042
+ api,
1043
+ request.path,
1044
+ { method: "GET", headers: { authorization: `Bearer ${accessToken}` } },
1045
+ request.decode,
1046
+ progress,
1047
+ ),
1048
+ )
1049
+ })
1050
+ }
1051
+
1052
+ fetchConnections(
1053
+ accessToken: string,
1054
+ options?: OAuthOperationOptions,
1055
+ ): Effect.Effect<readonly OAuthConnection[], OAuthOperationError | ClientClosedError> {
1056
+ if (!text(accessToken))
1057
+ return Effect.fail(
1058
+ inputError(
1059
+ "oauth.fetchConnections",
1060
+ "accessToken",
1061
+ "required",
1062
+ "Access token must be a non-empty string",
1063
+ ),
1064
+ )
1065
+ return this.#run("oauth.fetchConnections", options, (api, _webapp, _secret, progress) =>
1066
+ this.#request(
1067
+ "oauth.fetchConnections",
1068
+ api,
1069
+ "/users/@me/connections",
1070
+ { method: "GET", headers: { authorization: `Bearer ${accessToken}` } },
1071
+ connections,
1072
+ progress,
1073
+ ),
1074
+ )
1075
+ }
1076
+
1077
+ introspect(
1078
+ token: string,
1079
+ options?: OAuthOperationOptions,
1080
+ ): Effect.Effect<OAuthIntrospection, OAuthOperationError | ClientClosedError> {
1081
+ if (!canonicalText(token))
1082
+ return Effect.fail(
1083
+ inputError(
1084
+ "oauth.introspect",
1085
+ "token",
1086
+ "format",
1087
+ "Inspected token must contain 1 through 256 UTF-16 code units without leading or trailing whitespace",
1088
+ ),
1089
+ )
1090
+ return this.#run("oauth.introspect", options, (api, _webapp, secret, progress) =>
1091
+ this.#request(
1092
+ "oauth.introspect",
1093
+ api,
1094
+ "/oauth2/introspect",
1095
+ {
1096
+ method: "POST",
1097
+ headers: {
1098
+ authorization: `Basic ${Buffer.from(`${this.clientId}:${secret}`).toString("base64")}`,
1099
+ "content-type": "application/x-www-form-urlencoded",
1100
+ },
1101
+ body: new URLSearchParams({ token }).toString(),
1102
+ },
1103
+ introspection,
1104
+ progress,
1105
+ ),
1106
+ )
1107
+ }
1108
+ }
1109
+
1110
+ const oauthConfigKeys = ["clientId", "clientSecret", "instance", "logging"]
1111
+
1112
+ export function makeOAuthOwner(
1113
+ config: OAuthConfig,
1114
+ scope: Scope.Scope,
1115
+ native = false,
1116
+ ): Effect.Effect<OAuthOwner, ConfigurationError> {
1117
+ return suspendInput(() => {
1118
+ if (!record(config) || Object.keys(config).some((key) => !oauthConfigKeys.includes(key)))
1119
+ return Effect.fail(
1120
+ new ConfigurationError(
1121
+ "configuration",
1122
+ "OAuth configuration must be an object with only clientId, clientSecret, instance, and logging",
1123
+ ),
1124
+ )
1125
+ const clientId = config.clientId
1126
+ const clientSecret = config.clientSecret
1127
+ if (!identifier(clientId) || !text(clientSecret))
1128
+ return Effect.fail(
1129
+ new ConfigurationError(
1130
+ "configuration",
1131
+ "OAuth configuration requires a decimal clientId and nonempty clientSecret",
1132
+ ),
1133
+ )
1134
+ const instance = config.instance
1135
+ const configuration = instanceConfiguration(instance)
1136
+ if (configuration instanceof ConfigurationError) return Effect.fail(configuration)
1137
+ const logging = loggingConfiguration(config.logging, native)
1138
+ if (logging instanceof ConfigurationError) return Effect.fail(logging)
1139
+ logging.addSecret(clientSecret)
1140
+ return Effect.withFiber((fiber) => {
1141
+ // Native records outside an operation use the creating fiber's logger and annotations
1142
+ if (native) logging.context = fiber.context
1143
+ return Effect.succeed(new OAuthOwner(clientId, clientSecret, configuration, scope, logging))
1144
+ })
1145
+ })
1146
+ }