@erinjs/core 1.0.0 → 1.2.4

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 (394) hide show
  1. package/{core/LICENSE → LICENSE} +203 -203
  2. package/README.md +46 -0
  3. package/dist/index.d.mts +2084 -0
  4. package/dist/index.d.ts +2084 -0
  5. package/dist/index.js +3867 -0
  6. package/dist/index.mjs +3809 -0
  7. package/package.json +50 -15
  8. package/core/.changeset/README.md +0 -8
  9. package/core/.changeset/community-bootstrap-release.md +0 -17
  10. package/core/.changeset/config.json +0 -11
  11. package/core/.changeset/no-changelog.js +0 -16
  12. package/core/.changeset/pre.json +0 -17
  13. package/core/.editorconfig +0 -13
  14. package/core/.gitattributes +0 -2
  15. package/core/.github/CODE_OF_CONDUCT.md +0 -23
  16. package/core/.github/FUNDING.yml +0 -7
  17. package/core/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  18. package/core/.github/ISSUE_TEMPLATE/feature_request.md +0 -23
  19. package/core/.github/PULL_REQUEST_TEMPLATE.md +0 -16
  20. package/core/.github/dependabot.yml +0 -16
  21. package/core/.github/workflows/autoapp.yml +0 -16
  22. package/core/.github/workflows/ci.yml +0 -187
  23. package/core/.github/workflows/codeql.yml +0 -30
  24. package/core/.github/workflows/deploy-docs.yml +0 -54
  25. package/core/.github/workflows/publish.yml +0 -43
  26. package/core/.lintstagedrc.json +0 -4
  27. package/core/.nvmrc +0 -1
  28. package/core/.prettierignore +0 -8
  29. package/core/.prettierrc +0 -11
  30. package/core/CONTRIBUTING.md +0 -70
  31. package/core/README.md +0 -61
  32. package/core/SECURITY.md +0 -21
  33. package/core/apps/docs/index.html +0 -28
  34. package/core/apps/docs/middleware.ts +0 -21
  35. package/core/apps/docs/package.json +0 -33
  36. package/core/apps/docs/public/@flux.png +0 -0
  37. package/core/apps/docs/public/docs/latest/guides.json +0 -1420
  38. package/core/apps/docs/public/docs/latest/main.json +0 -14981
  39. package/core/apps/docs/public/docs/latest/rag-index.json +0 -1
  40. package/core/apps/docs/public/docs/v1.0.5/guides.json +0 -226
  41. package/core/apps/docs/public/docs/v1.0.5/main.json +0 -7920
  42. package/core/apps/docs/public/docs/v1.0.6/guides.json +0 -226
  43. package/core/apps/docs/public/docs/v1.0.6/main.json +0 -7920
  44. package/core/apps/docs/public/docs/v1.0.7/guides.json +0 -259
  45. package/core/apps/docs/public/docs/v1.0.7/main.json +0 -8652
  46. package/core/apps/docs/public/docs/v1.0.8/guides.json +0 -313
  47. package/core/apps/docs/public/docs/v1.0.8/main.json +0 -9618
  48. package/core/apps/docs/public/docs/v1.0.9/guides.json +0 -319
  49. package/core/apps/docs/public/docs/v1.0.9/main.json +0 -10694
  50. package/core/apps/docs/public/docs/v1.1.0/guides.json +0 -589
  51. package/core/apps/docs/public/docs/v1.1.0/main.json +0 -12576
  52. package/core/apps/docs/public/docs/v1.1.2/guides.json +0 -650
  53. package/core/apps/docs/public/docs/v1.1.2/main.json +0 -13239
  54. package/core/apps/docs/public/docs/v1.1.3/guides.json +0 -650
  55. package/core/apps/docs/public/docs/v1.1.3/main.json +0 -13239
  56. package/core/apps/docs/public/docs/v1.1.4/guides.json +0 -708
  57. package/core/apps/docs/public/docs/v1.1.4/main.json +0 -13231
  58. package/core/apps/docs/public/docs/v1.1.5/guides.json +0 -1035
  59. package/core/apps/docs/public/docs/v1.1.5/main.json +0 -13838
  60. package/core/apps/docs/public/docs/v1.1.6/guides.json +0 -1041
  61. package/core/apps/docs/public/docs/v1.1.6/main.json +0 -14313
  62. package/core/apps/docs/public/docs/v1.1.8/guides.json +0 -1047
  63. package/core/apps/docs/public/docs/v1.1.8/main.json +0 -14421
  64. package/core/apps/docs/public/docs/v1.1.9/guides.json +0 -1047
  65. package/core/apps/docs/public/docs/v1.1.9/main.json +0 -14421
  66. package/core/apps/docs/public/docs/v1.2.0/guides.json +0 -1212
  67. package/core/apps/docs/public/docs/v1.2.0/main.json +0 -14663
  68. package/core/apps/docs/public/docs/v1.2.1/guides.json +0 -1293
  69. package/core/apps/docs/public/docs/v1.2.1/main.json +0 -14828
  70. package/core/apps/docs/public/docs/v1.2.2/guides.json +0 -1293
  71. package/core/apps/docs/public/docs/v1.2.2/main.json +0 -15025
  72. package/core/apps/docs/public/docs/v1.2.3/guides.json +0 -1420
  73. package/core/apps/docs/public/docs/v1.2.3/main.json +0 -14954
  74. package/core/apps/docs/public/docs/v1.2.4/guides.json +0 -1420
  75. package/core/apps/docs/public/docs/v1.2.4/main.json +0 -14981
  76. package/core/apps/docs/public/docs/versions.json +0 -24
  77. package/core/apps/docs/public/flux.png +0 -0
  78. package/core/apps/docs/public/locales/en.json +0 -50
  79. package/core/apps/docs/public/locales/guides-en.json +0 -512
  80. package/core/apps/docs/public/robots.txt +0 -4
  81. package/core/apps/docs/public/sitemap.xml +0 -33
  82. package/core/apps/docs/src/App.vue +0 -538
  83. package/core/apps/docs/src/components/ApiCategorySection.vue +0 -42
  84. package/core/apps/docs/src/components/ApiDiscordCompat.vue +0 -65
  85. package/core/apps/docs/src/components/ApiEndpointCard.vue +0 -313
  86. package/core/apps/docs/src/components/ApiSchemaBlock.vue +0 -131
  87. package/core/apps/docs/src/components/CodeBlock.vue +0 -177
  88. package/core/apps/docs/src/components/CommunityCallout.vue +0 -90
  89. package/core/apps/docs/src/components/ConstructorSection.vue +0 -82
  90. package/core/apps/docs/src/components/DocDescription.vue +0 -40
  91. package/core/apps/docs/src/components/FluxerLogo.vue +0 -3
  92. package/core/apps/docs/src/components/Footer.vue +0 -106
  93. package/core/apps/docs/src/components/GuideCodeBlock.vue +0 -102
  94. package/core/apps/docs/src/components/GuideDiscordCompat.vue +0 -77
  95. package/core/apps/docs/src/components/GuideDiscordCompatCallout.vue +0 -83
  96. package/core/apps/docs/src/components/GuideTable.vue +0 -77
  97. package/core/apps/docs/src/components/GuideTip.vue +0 -38
  98. package/core/apps/docs/src/components/MethodsSection.vue +0 -195
  99. package/core/apps/docs/src/components/ParamsTable.vue +0 -70
  100. package/core/apps/docs/src/components/PropertiesSection.vue +0 -143
  101. package/core/apps/docs/src/components/SearchBar.vue +0 -76
  102. package/core/apps/docs/src/components/SearchModal.vue +0 -361
  103. package/core/apps/docs/src/components/SidebarNav.vue +0 -225
  104. package/core/apps/docs/src/components/SponsorBanner.vue +0 -153
  105. package/core/apps/docs/src/components/TypeSignature.vue +0 -187
  106. package/core/apps/docs/src/components/VersionPicker.vue +0 -191
  107. package/core/apps/docs/src/composables/useSearchIndex.ts +0 -144
  108. package/core/apps/docs/src/composables/useVersionedPath.ts +0 -20
  109. package/core/apps/docs/src/data/apiEndpoints.ts +0 -1073
  110. package/core/apps/docs/src/data/changelog.ts +0 -717
  111. package/core/apps/docs/src/data/guides.ts +0 -2362
  112. package/core/apps/docs/src/env.d.ts +0 -7
  113. package/core/apps/docs/src/locales/guides-en.json +0 -512
  114. package/core/apps/docs/src/main.ts +0 -27
  115. package/core/apps/docs/src/pages/ApiReferenceLayout.vue +0 -175
  116. package/core/apps/docs/src/pages/ApiReferencePage.vue +0 -128
  117. package/core/apps/docs/src/pages/Changelog.vue +0 -288
  118. package/core/apps/docs/src/pages/ClassPage.vue +0 -319
  119. package/core/apps/docs/src/pages/ClassesList.vue +0 -100
  120. package/core/apps/docs/src/pages/DocsLayout.vue +0 -127
  121. package/core/apps/docs/src/pages/GuidePage.vue +0 -279
  122. package/core/apps/docs/src/pages/GuidesIndex.vue +0 -166
  123. package/core/apps/docs/src/pages/GuidesLayout.vue +0 -245
  124. package/core/apps/docs/src/pages/Home.vue +0 -125
  125. package/core/apps/docs/src/pages/NotFound.vue +0 -57
  126. package/core/apps/docs/src/pages/TypedefPage.vue +0 -230
  127. package/core/apps/docs/src/pages/TypedefsList.vue +0 -168
  128. package/core/apps/docs/src/pages/VersionLayout.vue +0 -15
  129. package/core/apps/docs/src/router.ts +0 -73
  130. package/core/apps/docs/src/stores/docs.ts +0 -54
  131. package/core/apps/docs/src/stores/guides.ts +0 -53
  132. package/core/apps/docs/src/stores/version.ts +0 -67
  133. package/core/apps/docs/src/styles/main.css +0 -278
  134. package/core/apps/docs/src/styles/prism.css +0 -95
  135. package/core/apps/docs/src/types/doc-schema.ts +0 -112
  136. package/core/apps/docs/tsconfig.json +0 -17
  137. package/core/apps/docs/tsconfig.node.json +0 -10
  138. package/core/apps/docs/vite.config.d.ts +0 -2
  139. package/core/apps/docs/vite.config.js +0 -26
  140. package/core/apps/docs/vite.config.ts +0 -28
  141. package/core/apps/docs-vitepress/.vitepress/config.ts +0 -141
  142. package/core/apps/docs-vitepress/api-data/latest/main.json +0 -15035
  143. package/core/apps/docs-vitepress/api-data/v1.2.4/main.json +0 -15035
  144. package/core/apps/docs-vitepress/api-data/versions.json +0 -6
  145. package/core/apps/docs-vitepress/index.md +0 -15
  146. package/core/apps/docs-vitepress/package-lock.json +0 -2924
  147. package/core/apps/docs-vitepress/package.json +0 -20
  148. package/core/apps/docs-vitepress/public/CNAME +0 -1
  149. package/core/apps/docs-vitepress/scripts/generate-api.ts +0 -243
  150. package/core/apps/docs-vitepress/scripts/migrate-guides.ts +0 -129
  151. package/core/apps/docs-vitepress/tsconfig.json +0 -11
  152. package/core/apps/docs-vitepress/v/latest/guides/attachments-by-url.md +0 -57
  153. package/core/apps/docs-vitepress/v/latest/guides/attachments.md +0 -62
  154. package/core/apps/docs-vitepress/v/latest/guides/basic-bot.md +0 -49
  155. package/core/apps/docs-vitepress/v/latest/guides/channels.md +0 -180
  156. package/core/apps/docs-vitepress/v/latest/guides/deprecated-apis.md +0 -58
  157. package/core/apps/docs-vitepress/v/latest/guides/discord-js-compatibility.md +0 -42
  158. package/core/apps/docs-vitepress/v/latest/guides/editing-embeds.md +0 -65
  159. package/core/apps/docs-vitepress/v/latest/guides/embed-media.md +0 -87
  160. package/core/apps/docs-vitepress/v/latest/guides/embeds.md +0 -166
  161. package/core/apps/docs-vitepress/v/latest/guides/emojis.md +0 -77
  162. package/core/apps/docs-vitepress/v/latest/guides/events.md +0 -202
  163. package/core/apps/docs-vitepress/v/latest/guides/gifs.md +0 -47
  164. package/core/apps/docs-vitepress/v/latest/guides/installation.md +0 -10
  165. package/core/apps/docs-vitepress/v/latest/guides/moderation.md +0 -89
  166. package/core/apps/docs-vitepress/v/latest/guides/permissions.md +0 -130
  167. package/core/apps/docs-vitepress/v/latest/guides/prefix-commands.md +0 -41
  168. package/core/apps/docs-vitepress/v/latest/guides/profile-urls.md +0 -58
  169. package/core/apps/docs-vitepress/v/latest/guides/reactions.md +0 -69
  170. package/core/apps/docs-vitepress/v/latest/guides/roles.md +0 -130
  171. package/core/apps/docs-vitepress/v/latest/guides/sending-without-reply.md +0 -172
  172. package/core/apps/docs-vitepress/v/latest/guides/voice.md +0 -109
  173. package/core/apps/docs-vitepress/v/latest/guides/wait-for-guilds.md +0 -37
  174. package/core/apps/docs-vitepress/v/latest/guides/webhook-attachments-embeds.md +0 -73
  175. package/core/apps/docs-vitepress/v/latest/guides/webhooks.md +0 -131
  176. package/core/eslint.config.js +0 -80
  177. package/core/examples/.env.example +0 -22
  178. package/core/examples/README.md +0 -68
  179. package/core/examples/first-steps-bot.js +0 -118
  180. package/core/examples/minimal-bot.js +0 -17
  181. package/core/examples/moderation-bot.js +0 -209
  182. package/core/examples/package.json +0 -14
  183. package/core/examples/ping-bot.js +0 -1146
  184. package/core/examples/reaction-bot.js +0 -70
  185. package/core/examples/reaction-roles-bot.js +0 -140
  186. package/core/examples/webhook-bot.js +0 -239
  187. package/core/flux.png +0 -0
  188. package/core/package.json +0 -78
  189. package/core/packages/builders/package.json +0 -51
  190. package/core/packages/builders/src/index.ts +0 -13
  191. package/core/packages/builders/src/messages/AttachmentBuilder.test.ts +0 -79
  192. package/core/packages/builders/src/messages/AttachmentBuilder.ts +0 -69
  193. package/core/packages/builders/src/messages/EmbedBuilder.test.ts +0 -266
  194. package/core/packages/builders/src/messages/EmbedBuilder.ts +0 -239
  195. package/core/packages/builders/src/messages/MessagePayload.test.ts +0 -118
  196. package/core/packages/builders/src/messages/MessagePayload.ts +0 -122
  197. package/core/packages/builders/tsconfig.json +0 -9
  198. package/core/packages/builders/tsup.config.ts +0 -9
  199. package/core/packages/builders/vitest.config.ts +0 -9
  200. package/core/packages/collection/package.json +0 -47
  201. package/core/packages/collection/src/Collection.test.ts +0 -232
  202. package/core/packages/collection/src/Collection.ts +0 -196
  203. package/core/packages/collection/src/index.ts +0 -1
  204. package/core/packages/collection/tsconfig.json +0 -9
  205. package/core/packages/collection/tsup.config.ts +0 -9
  206. package/core/packages/collection/vitest.config.ts +0 -9
  207. package/core/packages/docgen/package.json +0 -26
  208. package/core/packages/docgen/src/extract.ts +0 -262
  209. package/core/packages/docgen/src/formatType.ts +0 -24
  210. package/core/packages/docgen/src/index.ts +0 -103
  211. package/core/packages/docgen/src/schema.ts +0 -100
  212. package/core/packages/docgen/src/visitor.ts +0 -147
  213. package/core/packages/docgen/tsconfig.json +0 -9
  214. package/core/packages/docgen/tsup.config.ts +0 -9
  215. package/core/packages/fluxer-core/README.md +0 -26
  216. package/core/packages/fluxer-core/package.json +0 -60
  217. package/core/packages/fluxer-core/src/client/ChannelManager.ts +0 -143
  218. package/core/packages/fluxer-core/src/client/Client.gateway.test.ts +0 -84
  219. package/core/packages/fluxer-core/src/client/Client.resolveEmoji.test.ts +0 -45
  220. package/core/packages/fluxer-core/src/client/Client.ts +0 -558
  221. package/core/packages/fluxer-core/src/client/ClientUser.ts +0 -40
  222. package/core/packages/fluxer-core/src/client/EventHandlerRegistry.ts +0 -469
  223. package/core/packages/fluxer-core/src/client/GuildManager.ts +0 -79
  224. package/core/packages/fluxer-core/src/client/GuildMemberManager.ts +0 -91
  225. package/core/packages/fluxer-core/src/client/MessageManager.ts +0 -58
  226. package/core/packages/fluxer-core/src/client/UsersManager.ts +0 -122
  227. package/core/packages/fluxer-core/src/errors/ErrorCodes.test.ts +0 -19
  228. package/core/packages/fluxer-core/src/errors/ErrorCodes.ts +0 -12
  229. package/core/packages/fluxer-core/src/errors/FluxerError.test.ts +0 -32
  230. package/core/packages/fluxer-core/src/errors/FluxerError.ts +0 -15
  231. package/core/packages/fluxer-core/src/index.ts +0 -85
  232. package/core/packages/fluxer-core/src/structures/Base.ts +0 -7
  233. package/core/packages/fluxer-core/src/structures/Channel.ts +0 -508
  234. package/core/packages/fluxer-core/src/structures/Guild.test.ts +0 -189
  235. package/core/packages/fluxer-core/src/structures/Guild.ts +0 -734
  236. package/core/packages/fluxer-core/src/structures/GuildBan.ts +0 -35
  237. package/core/packages/fluxer-core/src/structures/GuildEmoji.ts +0 -57
  238. package/core/packages/fluxer-core/src/structures/GuildMember.test.ts +0 -203
  239. package/core/packages/fluxer-core/src/structures/GuildMember.ts +0 -213
  240. package/core/packages/fluxer-core/src/structures/GuildMemberRoleManager.ts +0 -121
  241. package/core/packages/fluxer-core/src/structures/GuildSticker.ts +0 -56
  242. package/core/packages/fluxer-core/src/structures/Invite.test.ts +0 -103
  243. package/core/packages/fluxer-core/src/structures/Invite.ts +0 -121
  244. package/core/packages/fluxer-core/src/structures/Message.test.ts +0 -109
  245. package/core/packages/fluxer-core/src/structures/Message.ts +0 -397
  246. package/core/packages/fluxer-core/src/structures/MessageReaction.ts +0 -72
  247. package/core/packages/fluxer-core/src/structures/PartialMessage.ts +0 -12
  248. package/core/packages/fluxer-core/src/structures/Role.test.ts +0 -77
  249. package/core/packages/fluxer-core/src/structures/Role.ts +0 -112
  250. package/core/packages/fluxer-core/src/structures/User.test.ts +0 -110
  251. package/core/packages/fluxer-core/src/structures/User.ts +0 -109
  252. package/core/packages/fluxer-core/src/structures/Webhook.test.ts +0 -109
  253. package/core/packages/fluxer-core/src/structures/Webhook.ts +0 -258
  254. package/core/packages/fluxer-core/src/util/Constants.test.ts +0 -16
  255. package/core/packages/fluxer-core/src/util/Constants.ts +0 -7
  256. package/core/packages/fluxer-core/src/util/Events.ts +0 -46
  257. package/core/packages/fluxer-core/src/util/MessageCollector.ts +0 -87
  258. package/core/packages/fluxer-core/src/util/Options.ts +0 -33
  259. package/core/packages/fluxer-core/src/util/ReactionCollector.ts +0 -116
  260. package/core/packages/fluxer-core/src/util/cdn.test.ts +0 -108
  261. package/core/packages/fluxer-core/src/util/cdn.ts +0 -130
  262. package/core/packages/fluxer-core/src/util/guildUtils.ts +0 -33
  263. package/core/packages/fluxer-core/src/util/messageUtils.test.ts +0 -74
  264. package/core/packages/fluxer-core/src/util/messageUtils.ts +0 -119
  265. package/core/packages/fluxer-core/src/util/permissions.test.ts +0 -95
  266. package/core/packages/fluxer-core/src/util/permissions.ts +0 -43
  267. package/core/packages/fluxer-core/tsconfig.json +0 -9
  268. package/core/packages/fluxer-core/tsup.config.ts +0 -9
  269. package/core/packages/fluxer-core/vitest.config.ts +0 -9
  270. package/core/packages/rest/package.json +0 -52
  271. package/core/packages/rest/src/REST.test.ts +0 -64
  272. package/core/packages/rest/src/REST.ts +0 -90
  273. package/core/packages/rest/src/RateLimitManager.test.ts +0 -71
  274. package/core/packages/rest/src/RateLimitManager.ts +0 -60
  275. package/core/packages/rest/src/RequestManager.test.ts +0 -87
  276. package/core/packages/rest/src/RequestManager.ts +0 -172
  277. package/core/packages/rest/src/errors/FluxerAPIError.test.ts +0 -57
  278. package/core/packages/rest/src/errors/FluxerAPIError.ts +0 -21
  279. package/core/packages/rest/src/errors/HTTPError.test.ts +0 -55
  280. package/core/packages/rest/src/errors/HTTPError.ts +0 -25
  281. package/core/packages/rest/src/errors/RateLimitError.test.ts +0 -41
  282. package/core/packages/rest/src/errors/RateLimitError.ts +0 -15
  283. package/core/packages/rest/src/errors/index.ts +0 -3
  284. package/core/packages/rest/src/index.ts +0 -6
  285. package/core/packages/rest/src/utils/constants.test.ts +0 -31
  286. package/core/packages/rest/src/utils/constants.ts +0 -5
  287. package/core/packages/rest/src/utils/files.test.ts +0 -37
  288. package/core/packages/rest/src/utils/files.ts +0 -75
  289. package/core/packages/rest/tsconfig.json +0 -9
  290. package/core/packages/rest/tsup.config.ts +0 -9
  291. package/core/packages/rest/vitest.config.ts +0 -9
  292. package/core/packages/types/package.json +0 -46
  293. package/core/packages/types/src/api/ban.ts +0 -8
  294. package/core/packages/types/src/api/channel.ts +0 -65
  295. package/core/packages/types/src/api/embed.ts +0 -82
  296. package/core/packages/types/src/api/emoji.ts +0 -12
  297. package/core/packages/types/src/api/errors.ts +0 -68
  298. package/core/packages/types/src/api/gateway.ts +0 -14
  299. package/core/packages/types/src/api/guild.ts +0 -123
  300. package/core/packages/types/src/api/index.ts +0 -15
  301. package/core/packages/types/src/api/instance.ts +0 -32
  302. package/core/packages/types/src/api/interaction.ts +0 -26
  303. package/core/packages/types/src/api/invite.ts +0 -28
  304. package/core/packages/types/src/api/message.ts +0 -140
  305. package/core/packages/types/src/api/role.ts +0 -41
  306. package/core/packages/types/src/api/sticker.ts +0 -14
  307. package/core/packages/types/src/api/user.ts +0 -79
  308. package/core/packages/types/src/api/webhook.ts +0 -41
  309. package/core/packages/types/src/common/index.ts +0 -1
  310. package/core/packages/types/src/common/snowflake.test.ts +0 -9
  311. package/core/packages/types/src/common/snowflake.ts +0 -8
  312. package/core/packages/types/src/gateway/events.ts +0 -189
  313. package/core/packages/types/src/gateway/index.ts +0 -3
  314. package/core/packages/types/src/gateway/opcodes.ts +0 -17
  315. package/core/packages/types/src/gateway/payloads.ts +0 -481
  316. package/core/packages/types/src/index.ts +0 -4
  317. package/core/packages/types/src/rest/index.ts +0 -1
  318. package/core/packages/types/src/rest/routes.test.ts +0 -169
  319. package/core/packages/types/src/rest/routes.ts +0 -109
  320. package/core/packages/types/tsconfig.json +0 -9
  321. package/core/packages/types/tsup.config.ts +0 -9
  322. package/core/packages/types/vitest.config.ts +0 -9
  323. package/core/packages/util/package.json +0 -51
  324. package/core/packages/util/src/BitField.test.ts +0 -96
  325. package/core/packages/util/src/BitField.ts +0 -105
  326. package/core/packages/util/src/MessageFlagsBitField.test.ts +0 -42
  327. package/core/packages/util/src/MessageFlagsBitField.ts +0 -20
  328. package/core/packages/util/src/PermissionsBitField.test.ts +0 -79
  329. package/core/packages/util/src/PermissionsBitField.ts +0 -97
  330. package/core/packages/util/src/SnowflakeUtil.test.ts +0 -69
  331. package/core/packages/util/src/SnowflakeUtil.ts +0 -65
  332. package/core/packages/util/src/UserFlagsBitField.test.ts +0 -39
  333. package/core/packages/util/src/UserFlagsBitField.ts +0 -48
  334. package/core/packages/util/src/deprecation.test.ts +0 -44
  335. package/core/packages/util/src/deprecation.ts +0 -28
  336. package/core/packages/util/src/emojiShortcodes.generated.ts +0 -5
  337. package/core/packages/util/src/emojiShortcodes.test.ts +0 -41
  338. package/core/packages/util/src/emojiShortcodes.ts +0 -22
  339. package/core/packages/util/src/formatters.test.ts +0 -65
  340. package/core/packages/util/src/formatters.ts +0 -35
  341. package/core/packages/util/src/index.ts +0 -34
  342. package/core/packages/util/src/resolvers.test.ts +0 -198
  343. package/core/packages/util/src/resolvers.ts +0 -127
  344. package/core/packages/util/src/tenorUtils.test.ts +0 -75
  345. package/core/packages/util/src/tenorUtils.ts +0 -86
  346. package/core/packages/util/tsconfig.json +0 -9
  347. package/core/packages/util/tsup.config.ts +0 -9
  348. package/core/packages/util/vitest.config.ts +0 -9
  349. package/core/packages/voice/README.md +0 -42
  350. package/core/packages/voice/package.json +0 -67
  351. package/core/packages/voice/src/LiveKitRtcConnection.receive.test.ts +0 -24
  352. package/core/packages/voice/src/LiveKitRtcConnection.ts +0 -1767
  353. package/core/packages/voice/src/VoiceConnection.ts +0 -413
  354. package/core/packages/voice/src/VoiceManager.receive.test.ts +0 -61
  355. package/core/packages/voice/src/VoiceManager.test.ts +0 -44
  356. package/core/packages/voice/src/VoiceManager.ts +0 -503
  357. package/core/packages/voice/src/exports.test.ts +0 -38
  358. package/core/packages/voice/src/index.ts +0 -51
  359. package/core/packages/voice/src/livekit.test.ts +0 -48
  360. package/core/packages/voice/src/livekit.ts +0 -33
  361. package/core/packages/voice/src/mp4box.d.ts +0 -32
  362. package/core/packages/voice/src/opusUtils.test.ts +0 -29
  363. package/core/packages/voice/src/opusUtils.ts +0 -86
  364. package/core/packages/voice/src/streamPreviewPlaceholder.test.ts +0 -16
  365. package/core/packages/voice/src/streamPreviewPlaceholder.ts +0 -8
  366. package/core/packages/voice/src/ws.d.ts +0 -1
  367. package/core/packages/voice/tsconfig.json +0 -5
  368. package/core/packages/voice/tsup.config.ts +0 -10
  369. package/core/packages/voice/vitest.config.ts +0 -9
  370. package/core/packages/ws/package.json +0 -52
  371. package/core/packages/ws/src/WebSocketManager.ts +0 -130
  372. package/core/packages/ws/src/WebSocketShard.ts +0 -296
  373. package/core/packages/ws/src/index.ts +0 -12
  374. package/core/packages/ws/src/utils/constants.test.ts +0 -46
  375. package/core/packages/ws/src/utils/constants.ts +0 -22
  376. package/core/packages/ws/src/utils/getWebSocket.ts +0 -55
  377. package/core/packages/ws/src/ws.d.ts +0 -10
  378. package/core/packages/ws/tsconfig.json +0 -9
  379. package/core/packages/ws/tsup.config.ts +0 -9
  380. package/core/pnpm-lock.yaml +0 -7033
  381. package/core/pnpm-workspace.yaml +0 -4
  382. package/core/scripts/generate-ai-rag.ts +0 -240
  383. package/core/scripts/generate-docs.ts +0 -143
  384. package/core/scripts/generate-emoji-shortcodes.ts +0 -58
  385. package/core/scripts/generate-types.ts +0 -6
  386. package/core/scripts/publish-ordered.js +0 -63
  387. package/core/scripts/test-cjs-require.mjs +0 -43
  388. package/core/scripts/test-esm-imports.mjs +0 -42
  389. package/core/scripts/test-package-exports.mjs +0 -98
  390. package/core/scripts/test-smoke.mjs +0 -103
  391. package/core/tsconfig.json +0 -18
  392. package/core/turbo.json +0 -30
  393. package/core/vitest.config.ts +0 -17
  394. package/core/wrangler.jsonc +0 -9
@@ -1,481 +0,0 @@
1
- import { Snowflake } from '../common';
2
- import {
3
- APIUser,
4
- APIChannel,
5
- APIGuild,
6
- APIMessage,
7
- APIGuildMember,
8
- APIInvite,
9
- APIRole,
10
- APIEmoji,
11
- APISticker,
12
- } from '../api';
13
- import { APIApplicationCommandInteraction } from '../api';
14
- import { GatewayOpcodes } from './opcodes.js';
15
- import { GatewayDispatchEventName } from './events.js';
16
-
17
- // Outgoing (client -> gateway)
18
- export interface GatewayIdentifyData {
19
- token: string;
20
- intents: number;
21
- properties: {
22
- os: string;
23
- browser: string;
24
- device: string;
25
- };
26
- compress?: boolean;
27
- large_threshold?: number;
28
- shard?: [shardId: number, numShards: number];
29
- presence?: GatewayPresenceUpdateData;
30
- }
31
-
32
- export interface GatewayResumeData {
33
- token: string;
34
- session_id: string;
35
- seq: number;
36
- }
37
-
38
- /** Custom status object (Fluxer uses this root object rather than Discord-style activities array). */
39
- export interface GatewayCustomStatus {
40
- text?: string | null;
41
- emoji_name?: string | null;
42
- emoji_id?: string | null;
43
- }
44
-
45
- export interface GatewayPresenceUpdateData {
46
- since?: number | null;
47
- activities?: Array<{ name: string; type: number; url?: string | null }>;
48
- /** Custom status; set text (and optionally emoji) for bots. Passable on identify and via presence update. */
49
- custom_status?: GatewayCustomStatus | null;
50
- status: 'online' | 'idle' | 'dnd' | 'invisible';
51
- afk?: boolean;
52
- }
53
-
54
- export interface GatewayVoiceStateUpdateData {
55
- guild_id: Snowflake;
56
- channel_id: Snowflake | null;
57
- self_mute?: boolean;
58
- self_deaf?: boolean;
59
- /** Whether the user has video enabled (e.g. camera). */
60
- self_video?: boolean;
61
- /** Whether the user is screen sharing / streaming. */
62
- self_stream?: boolean;
63
- /** Connection ID from VoiceServerUpdate; required for updates when already in channel. */
64
- connection_id?: string | null;
65
- }
66
-
67
- export type GatewaySendPayload =
68
- | { op: GatewayOpcodes.Identify; d: GatewayIdentifyData }
69
- | { op: GatewayOpcodes.Resume; d: GatewayResumeData }
70
- | { op: GatewayOpcodes.Heartbeat; d: number | null }
71
- | { op: GatewayOpcodes.PresenceUpdate; d: GatewayPresenceUpdateData }
72
- | { op: GatewayOpcodes.VoiceStateUpdate; d: GatewayVoiceStateUpdateData }
73
- | {
74
- op: GatewayOpcodes.RequestGuildMembers;
75
- d: { guild_id: Snowflake; query?: string; limit: number };
76
- };
77
-
78
- // Incoming (gateway -> client)
79
- export interface GatewayHelloData {
80
- heartbeat_interval: number;
81
- }
82
-
83
- /** READY — v, user, guilds, session_id, shard?, application */
84
- export interface GatewayReadyDispatchData {
85
- v: number;
86
- user: APIUser;
87
- guilds: Array<APIGuild & { unavailable?: boolean }>;
88
- session_id: string;
89
- shard?: [number, number];
90
- application: { id: Snowflake; flags: number };
91
- }
92
-
93
- /** MESSAGE_CREATE — full message with author, content, embeds, attachments, member? (guild). */
94
- export type GatewayMessageCreateDispatchData = APIMessage;
95
- /** MESSAGE_UPDATE — partial message (edited fields). */
96
- export type GatewayMessageUpdateDispatchData = APIMessage;
97
- /** MESSAGE_DELETE — id, channel_id, guild_id?, content?, author_id? (Fluxer may send content/author_id) */
98
- export interface GatewayMessageDeleteDispatchData {
99
- id: Snowflake;
100
- channel_id: Snowflake;
101
- guild_id?: Snowflake;
102
- content?: string | null;
103
- author_id?: Snowflake | null;
104
- }
105
-
106
- /** MESSAGE_DELETE_BULK — ids[], channel_id, guild_id? */
107
- export interface GatewayMessageDeleteBulkDispatchData {
108
- ids: Snowflake[];
109
- channel_id: Snowflake;
110
- guild_id?: Snowflake;
111
- }
112
-
113
- /** Emoji data sent with reaction events (id is null for unicode emoji). */
114
- export interface GatewayReactionEmoji {
115
- id?: Snowflake;
116
- name: string;
117
- animated?: boolean;
118
- }
119
-
120
- /** MESSAGE_REACTION_ADD — message_id, channel_id, user_id, guild_id?, emoji */
121
- export interface GatewayMessageReactionAddDispatchData {
122
- message_id: Snowflake;
123
- channel_id: Snowflake;
124
- user_id: Snowflake;
125
- guild_id?: Snowflake;
126
- emoji: GatewayReactionEmoji;
127
- }
128
-
129
- /** MESSAGE_REACTION_REMOVE — message_id, channel_id, user_id, guild_id?, emoji */
130
- export interface GatewayMessageReactionRemoveDispatchData {
131
- message_id: Snowflake;
132
- channel_id: Snowflake;
133
- user_id: Snowflake;
134
- guild_id?: Snowflake;
135
- emoji: GatewayReactionEmoji;
136
- }
137
-
138
- /** MESSAGE_REACTION_REMOVE_EMOJI — message_id, channel_id, guild_id?, emoji */
139
- export interface GatewayMessageReactionRemoveEmojiDispatchData {
140
- message_id: Snowflake;
141
- channel_id: Snowflake;
142
- guild_id?: Snowflake;
143
- emoji: GatewayReactionEmoji;
144
- }
145
-
146
- /** MESSAGE_REACTION_REMOVE_ALL — message_id, channel_id, guild_id? */
147
- export interface GatewayMessageReactionRemoveAllDispatchData {
148
- message_id: Snowflake;
149
- channel_id: Snowflake;
150
- guild_id?: Snowflake;
151
- }
152
- /** MESSAGE_ACK — read receipt; message_id, channel_id */
153
- export interface GatewayMessageAckDispatchData {
154
- message_id: Snowflake;
155
- channel_id: Snowflake;
156
- }
157
-
158
- /** GUILD_CREATE — full guild with channels, members, roles, unavailable? */
159
- export type GatewayGuildCreateDispatchData = APIGuild & { unavailable?: boolean };
160
- /** GUILD_UPDATE — full guild object */
161
- export type GatewayGuildUpdateDispatchData = APIGuild;
162
- /** GUILD_DELETE — id, unavailable? (true = temp outage) */
163
- export interface GatewayGuildDeleteDispatchData {
164
- id: Snowflake;
165
- unavailable?: boolean;
166
- }
167
-
168
- /** CHANNEL_CREATE — full channel */
169
- export type GatewayChannelCreateDispatchData = APIChannel;
170
- /** CHANNEL_UPDATE — full channel */
171
- export type GatewayChannelUpdateDispatchData = APIChannel;
172
- /** CHANNEL_UPDATE_BULK — channels[] */
173
- export interface GatewayChannelUpdateBulkDispatchData {
174
- channels: APIChannel[];
175
- }
176
- /** CHANNEL_DELETE — full channel */
177
- export type GatewayChannelDeleteDispatchData = APIChannel;
178
- /** CHANNEL_RECIPIENT_ADD — channel_id, user (group DM) */
179
- export interface GatewayChannelRecipientAddDispatchData {
180
- channel_id: Snowflake;
181
- user: APIUser;
182
- }
183
- /** CHANNEL_RECIPIENT_REMOVE — channel_id, user (group DM) */
184
- export interface GatewayChannelRecipientRemoveDispatchData {
185
- channel_id: Snowflake;
186
- user: APIUser;
187
- }
188
-
189
- /** GUILD_MEMBER_ADD — member + guild_id */
190
- export type GatewayGuildMemberAddDispatchData = APIGuildMember & { guild_id: Snowflake };
191
- /** GUILD_MEMBER_UPDATE — guild_id, roles, user, nick?, avatar?, joined_at?, ... */
192
- export interface GatewayGuildMemberUpdateDispatchData {
193
- guild_id: Snowflake;
194
- roles: Snowflake[];
195
- user: APIUser;
196
- nick?: string | null;
197
- avatar?: string | null;
198
- joined_at?: string;
199
- premium_since?: string | null;
200
- communication_disabled_until?: string | null;
201
- }
202
- /** GUILD_MEMBER_REMOVE — guild_id, user */
203
- export interface GatewayGuildMemberRemoveDispatchData {
204
- guild_id: Snowflake;
205
- user: APIUser;
206
- }
207
- /** GUILD_MEMBERS_CHUNK — from request_guild_members; members[], chunk_index, chunk_count */
208
- export interface GatewayGuildMembersChunkDispatchData {
209
- guild_id: Snowflake;
210
- members: Array<APIGuildMember & { guild_id?: Snowflake }>;
211
- chunk_index: number;
212
- chunk_count: number;
213
- presences?: Array<{ user: { id: Snowflake }; status?: string; activities?: unknown[] }>;
214
- nonce?: string | null;
215
- }
216
- /** GUILD_MEMBER_LIST_UPDATE — lazy member list; guild_id, id (list_id), member_count, online_count, groups, ops */
217
- export interface GatewayGuildMemberListUpdateDispatchData {
218
- guild_id: Snowflake;
219
- id: string;
220
- member_count: number;
221
- online_count: number;
222
- groups: Array<{ id: string; count: number }>;
223
- ops: Array<{
224
- op: 'SYNC' | 'INVALIDATE';
225
- range?: [number, number];
226
- items?: Array<Record<string, unknown>>;
227
- }>;
228
- }
229
-
230
- /** GUILD_BAN_ADD — guild_id, user, reason? */
231
- export interface GatewayGuildBanAddDispatchData {
232
- guild_id: Snowflake;
233
- user: APIUser;
234
- reason?: string | null;
235
- }
236
- /** GUILD_BAN_REMOVE — guild_id, user */
237
- export interface GatewayGuildBanRemoveDispatchData {
238
- guild_id: Snowflake;
239
- user: APIUser;
240
- }
241
-
242
- /**
243
- * INVITE_CREATE — invite payload from gateway.
244
- * The Fluxer Docs indicate this event can, or is an empty payload; some instances may also send partial invite fields.
245
- */
246
- export interface GatewayInviteCreateDispatchData extends Partial<APIInvite> {
247
- code?: string;
248
- guild_id?: Snowflake;
249
- channel_id?: Snowflake;
250
- }
251
-
252
- /** INVITE_DELETE — code, channel_id, guild_id? */
253
- export interface GatewayInviteDeleteDispatchData {
254
- code: string;
255
- channel_id: Snowflake;
256
- guild_id?: Snowflake;
257
- }
258
-
259
- /** TYPING_START — channel_id, user_id, timestamp, guild_id?, member? */
260
- export interface GatewayTypingStartDispatchData {
261
- channel_id: Snowflake;
262
- user_id: Snowflake;
263
- timestamp: number;
264
- guild_id?: Snowflake;
265
- member?: APIGuildMember & { guild_id?: Snowflake };
266
- }
267
- /** USER_UPDATE — full current user (APIUser) */
268
- export type GatewayUserUpdateDispatchData = APIUser;
269
-
270
- /** GUILD_ROLE_CREATE — guild_id, role */
271
- export interface GatewayGuildRoleCreateDispatchData {
272
- guild_id: Snowflake;
273
- role: APIRole;
274
- }
275
- /** GUILD_ROLE_UPDATE — guild_id, role */
276
- export interface GatewayGuildRoleUpdateDispatchData {
277
- guild_id: Snowflake;
278
- role: APIRole;
279
- }
280
- /** GUILD_ROLE_DELETE — guild_id, role_id */
281
- export interface GatewayGuildRoleDeleteDispatchData {
282
- guild_id: Snowflake;
283
- role_id: Snowflake;
284
- }
285
- /** GUILD_ROLE_UPDATE_BULK — guild_id, roles[] */
286
- export interface GatewayGuildRoleUpdateBulkDispatchData {
287
- guild_id: Snowflake;
288
- roles: APIRole[];
289
- }
290
-
291
- /** VOICE_STATE_UPDATE — guild_id?, channel_id, user_id, member?, session_id, deaf?, mute?, ... */
292
- export interface GatewayVoiceStateUpdateDispatchData {
293
- guild_id?: Snowflake;
294
- channel_id: Snowflake | null;
295
- user_id: Snowflake;
296
- member?: APIGuildMember & { guild_id?: Snowflake };
297
- session_id: string;
298
- /** Connection ID for voice session (Fluxer). */
299
- connection_id?: string | null;
300
- deaf?: boolean;
301
- mute?: boolean;
302
- self_deaf?: boolean;
303
- self_mute?: boolean;
304
- self_video?: boolean;
305
- /** Whether the user is screen sharing / streaming. */
306
- self_stream?: boolean;
307
- suppress?: boolean;
308
- }
309
-
310
- /** VOICE_SERVER_UPDATE — token, guild_id, endpoint, connection_id? */
311
- export interface GatewayVoiceServerUpdateDispatchData {
312
- token: string;
313
- guild_id: Snowflake;
314
- endpoint: string | null;
315
- /** Connection ID for subsequent voice state updates (Fluxer). */
316
- connection_id?: string | null;
317
- }
318
-
319
- /** GUILD_EMOJIS_UPDATE — emoji list for a guild changed. */
320
- export interface GatewayGuildEmojisUpdateDispatchData {
321
- guild_id: Snowflake;
322
- emojis: APIEmoji[];
323
- }
324
-
325
- /** GUILD_STICKERS_UPDATE — sticker list for a guild changed. */
326
- export interface GatewayGuildStickersUpdateDispatchData {
327
- guild_id: Snowflake;
328
- stickers: APISticker[];
329
- }
330
-
331
- /** GUILD_INTEGRATIONS_UPDATE — integrations for a guild changed. */
332
- export interface GatewayGuildIntegrationsUpdateDispatchData {
333
- guild_id: Snowflake;
334
- }
335
-
336
- /** GUILD_SCHEDULED_EVENT_CREATE — a scheduled event was created. */
337
- export interface GatewayGuildScheduledEventCreateDispatchData {
338
- guild_id: Snowflake;
339
- id: Snowflake;
340
- }
341
-
342
- /** GUILD_SCHEDULED_EVENT_UPDATE — a scheduled event was updated. */
343
- export interface GatewayGuildScheduledEventUpdateDispatchData {
344
- guild_id: Snowflake;
345
- id: Snowflake;
346
- }
347
-
348
- /** GUILD_SCHEDULED_EVENT_DELETE — a scheduled event was deleted. */
349
- export interface GatewayGuildScheduledEventDeleteDispatchData {
350
- guild_id: Snowflake;
351
- id: Snowflake;
352
- }
353
-
354
- /** CHANNEL_PINS_UPDATE — pins in a channel changed. */
355
- export interface GatewayChannelPinsUpdateDispatchData {
356
- guild_id?: Snowflake;
357
- channel_id: Snowflake;
358
- last_pin_timestamp?: string | null;
359
- }
360
- /** CHANNEL_PINS_ACK — user acknowledged viewing pinned messages */
361
- export interface GatewayChannelPinsAckDispatchData {
362
- channel_id: Snowflake;
363
- last_pin_timestamp?: string | null;
364
- }
365
-
366
- /** PRESENCE_UPDATE — user presence (status, activities) changed. */
367
- export interface GatewayPresenceUpdateDispatchData {
368
- user: { id: Snowflake };
369
- guild_id?: Snowflake;
370
- status?: string;
371
- activities?: Array<{ name: string; type: number; url?: string | null }>;
372
- /** Custom status (Fluxer). */
373
- custom_status?: GatewayCustomStatus | null;
374
- }
375
-
376
- /** WEBHOOKS_UPDATE — webhooks in a channel were updated. */
377
- export interface GatewayWebhooksUpdateDispatchData {
378
- guild_id: Snowflake;
379
- channel_id: Snowflake;
380
- }
381
-
382
- // ─── Additional gateway events (session/user-scoped) ─────────────────────────
383
-
384
- /** RESUMED — connection resumed; typically no payload. */
385
- export type GatewayResumedDispatchData = undefined;
386
-
387
- /** SESSIONS_REPLACE — user's active sessions list replaced */
388
- export interface GatewaySessionsReplaceDispatchData {
389
- sessions?: Array<Record<string, unknown>>;
390
- }
391
-
392
- /** USER_SETTINGS_UPDATE — user settings (theme, locale, etc.) changed */
393
- export type GatewayUserSettingsUpdateDispatchData = Record<string, unknown>;
394
-
395
- /** USER_GUILD_SETTINGS_UPDATE — per-guild settings changed */
396
- export type GatewayUserGuildSettingsUpdateDispatchData = Record<string, unknown>;
397
-
398
- /** USER_PINNED_DMS_UPDATE — pinned DM order changed */
399
- export type GatewayUserPinnedDmsUpdateDispatchData = Record<string, unknown>;
400
-
401
- /** USER_NOTE_UPDATE — note on another user changed */
402
- export interface GatewayUserNoteUpdateDispatchData {
403
- id: Snowflake;
404
- note?: string | null;
405
- }
406
-
407
- /** RECENT_MENTION_DELETE — recent mention cleared */
408
- export type GatewayRecentMentionDeleteDispatchData = Record<string, unknown>;
409
-
410
- /** SAVED_MESSAGE_CREATE — message saved (bookmarked) */
411
- export type GatewaySavedMessageCreateDispatchData = APIMessage;
412
-
413
- /** SAVED_MESSAGE_DELETE — saved message unsaved */
414
- export interface GatewaySavedMessageDeleteDispatchData {
415
- id: Snowflake;
416
- }
417
-
418
- /** AUTH_SESSION_CHANGE — login/logout on another client */
419
- export type GatewayAuthSessionChangeDispatchData = Record<string, unknown>;
420
-
421
- /** PASSIVE_UPDATES — lazy-loaded entity updates */
422
- export type GatewayPassiveUpdatesDispatchData = Record<string, unknown>;
423
-
424
- /** GUILD_SYNC — guild sync state (passive/lazy) */
425
- export type GatewayGuildSyncDispatchData = Record<string, unknown>;
426
-
427
- /** RELATIONSHIP_ADD — relationship (friend, block) added */
428
- export interface GatewayRelationshipAddDispatchData {
429
- id: Snowflake;
430
- type: number;
431
- }
432
-
433
- /** RELATIONSHIP_UPDATE — relationship updated */
434
- export interface GatewayRelationshipUpdateDispatchData {
435
- id: Snowflake;
436
- type: number;
437
- }
438
-
439
- /** RELATIONSHIP_REMOVE — relationship removed */
440
- export interface GatewayRelationshipRemoveDispatchData {
441
- id: Snowflake;
442
- }
443
-
444
- /** CALL_CREATE — call created */
445
- export interface GatewayCallCreateDispatchData {
446
- id: Snowflake;
447
- channel_id: Snowflake;
448
- [key: string]: unknown;
449
- }
450
-
451
- /** CALL_UPDATE — call updated */
452
- export interface GatewayCallUpdateDispatchData {
453
- id: Snowflake;
454
- channel_id: Snowflake;
455
- [key: string]: unknown;
456
- }
457
-
458
- /** CALL_DELETE — call ended */
459
- export interface GatewayCallDeleteDispatchData {
460
- id: Snowflake;
461
- channel_id: Snowflake;
462
- }
463
-
464
- /** FAVORITE_MEME_CREATE — favorite meme/media added */
465
- export type GatewayFavoriteMemeCreateDispatchData = Record<string, unknown>;
466
-
467
- /** FAVORITE_MEME_UPDATE — favorite meme/media updated */
468
- export type GatewayFavoriteMemeUpdateDispatchData = Record<string, unknown>;
469
-
470
- /** FAVORITE_MEME_DELETE — favorite meme/media removed */
471
- export type GatewayFavoriteMemeDeleteDispatchData = Record<string, unknown>;
472
-
473
- /** INTERACTION_CREATE — slash command or component interaction */
474
- export type GatewayInteractionCreateDispatchData = APIApplicationCommandInteraction;
475
-
476
- export interface GatewayReceivePayload<T = unknown> {
477
- op: GatewayOpcodes;
478
- d?: T;
479
- s?: number;
480
- t?: GatewayDispatchEventName;
481
- }
@@ -1,4 +0,0 @@
1
- export * from './common/index.js';
2
- export * from './api/index.js';
3
- export * from './gateway/index.js';
4
- export * from './rest/index.js';
@@ -1 +0,0 @@
1
- export * from './routes.js';
@@ -1,169 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { Routes } from './routes.js';
3
-
4
- describe('Routes', () => {
5
- describe('channelMessageReaction', () => {
6
- it('encodes unicode emoji in URL', () => {
7
- const path = Routes.channelMessageReaction('123', '456', '❤');
8
- expect(path).toContain(encodeURIComponent('❤'));
9
- expect(path).toMatch(/reactions\/[^/]+\/?/);
10
- });
11
-
12
- it('encodes custom emoji name:id format', () => {
13
- const path = Routes.channelMessageReaction('123', '456', 'custom:123456789012345678');
14
- expect(path).toContain(encodeURIComponent('custom:123456789012345678'));
15
- });
16
-
17
- it('does not double-encode already encoded input', () => {
18
- const encoded = encodeURIComponent('❤');
19
- const path = Routes.channelMessageReaction('123', '456', encoded);
20
- expect(path).toContain('%25E2%259D%25A4'); // double-encoded
21
- });
22
- });
23
-
24
- describe('channel', () => {
25
- it('builds channel path', () => {
26
- expect(Routes.channel('123456789012345678')).toBe('/channels/123456789012345678');
27
- });
28
- });
29
-
30
- describe('channelMessage', () => {
31
- it('builds message path', () => {
32
- expect(Routes.channelMessage('111', '222')).toBe('/channels/111/messages/222');
33
- });
34
- });
35
-
36
- describe('invite', () => {
37
- it('encodes invite code', () => {
38
- const path = Routes.invite('abc123');
39
- expect(path).toBe('/invites/abc123');
40
- expect(Routes.invite('code+with/special')).toContain(encodeURIComponent('code+with/special'));
41
- });
42
- });
43
-
44
- describe('guild routes', () => {
45
- it('guild builds path', () => {
46
- expect(Routes.guild('123456789012345678')).toBe('/guilds/123456789012345678');
47
- });
48
- it('guildChannels builds path', () => {
49
- expect(Routes.guildChannels('123')).toBe('/guilds/123/channels');
50
- });
51
- it('guildMember builds path', () => {
52
- expect(Routes.guildMember('g1', 'u1')).toBe('/guilds/g1/members/u1');
53
- });
54
- it('guildMemberRole builds path', () => {
55
- expect(Routes.guildMemberRole('g1', 'u1', 'r1')).toBe('/guilds/g1/members/u1/roles/r1');
56
- });
57
- it('guildBan builds path', () => {
58
- expect(Routes.guildBan('g1', 'u1')).toBe('/guilds/g1/bans/u1');
59
- });
60
- });
61
-
62
- describe('webhook routes', () => {
63
- it('webhook builds path', () => {
64
- expect(Routes.webhook('123')).toBe('/webhooks/123');
65
- });
66
- it('webhookExecute builds path with token', () => {
67
- expect(Routes.webhookExecute('wid', 'token123')).toBe('/webhooks/wid/token123');
68
- });
69
- it('webhookMessage builds path with token and message id', () => {
70
- expect(Routes.webhookMessage('wid', 'token123', 'mid')).toBe(
71
- '/webhooks/wid/token123/messages/mid',
72
- );
73
- });
74
- });
75
-
76
- describe('application commands', () => {
77
- it('applicationCommands builds path', () => {
78
- expect(Routes.applicationCommands('app123')).toBe('/applications/app123/commands');
79
- });
80
- it('applicationCommand builds path', () => {
81
- expect(Routes.applicationCommand('app123', 'cmd456')).toBe(
82
- '/applications/app123/commands/cmd456',
83
- );
84
- });
85
- it('interactionCallback builds path', () => {
86
- const path = Routes.interactionCallback('iid', 'itoken');
87
- expect(path).toBe('/interactions/iid/itoken/callback');
88
- });
89
- });
90
-
91
- describe('user routes', () => {
92
- it('user builds path', () => {
93
- expect(Routes.user('123')).toBe('/users/123');
94
- });
95
- it('currentUser builds path', () => {
96
- expect(Routes.currentUser()).toBe('/users/@me');
97
- });
98
- it('userProfile without guild', () => {
99
- expect(Routes.userProfile('uid')).toBe('/users/uid/profile');
100
- });
101
- it('userProfile with guild', () => {
102
- expect(Routes.userProfile('uid', 'gid')).toBe('/users/uid/profile?guild_id=gid');
103
- });
104
- });
105
-
106
- describe('gateway and instance', () => {
107
- it('gatewayBot builds path', () => {
108
- expect(Routes.gatewayBot()).toBe('/gateway/bot');
109
- });
110
- it('instanceDiscovery builds path', () => {
111
- expect(Routes.instanceDiscovery()).toBe('/.well-known/fluxer');
112
- });
113
- it('instance builds path', () => {
114
- expect(Routes.instance()).toBe('/instance');
115
- });
116
- });
117
-
118
- describe('stream preview', () => {
119
- it('encodes stream key', () => {
120
- const path = Routes.streamPreview('key+with/special');
121
- expect(path).toContain('/streams/');
122
- expect(path).toContain(encodeURIComponent('key+with/special'));
123
- });
124
- });
125
-
126
- describe('channel routes', () => {
127
- it('channelMessages builds path', () => {
128
- expect(Routes.channelMessages('c1')).toBe('/channels/c1/messages');
129
- });
130
- it('channelBulkDelete builds path', () => {
131
- expect(Routes.channelBulkDelete('c1')).toBe('/channels/c1/messages/bulk-delete');
132
- });
133
- it('channelTyping builds path', () => {
134
- expect(Routes.channelTyping('c1')).toBe('/channels/c1/typing');
135
- });
136
- it('channelPins builds path', () => {
137
- expect(Routes.channelPins('c1')).toBe('/channels/c1/messages/pins');
138
- });
139
- it('channelPinMessage builds path', () => {
140
- expect(Routes.channelPinMessage('c1', 'm1')).toBe('/channels/c1/pins/m1');
141
- });
142
- it('channelPermission builds path', () => {
143
- expect(Routes.channelPermission('c1', 'o1')).toBe('/channels/c1/permissions/o1');
144
- });
145
- });
146
-
147
- describe('oauth2 routes', () => {
148
- it('oauth2ApplicationBot builds path', () => {
149
- expect(Routes.oauth2ApplicationBot('app1')).toBe('/oauth2/applications/app1/bot');
150
- });
151
- it('oauth2ApplicationBotResetToken builds path', () => {
152
- expect(Routes.oauth2ApplicationBotResetToken('app1')).toBe(
153
- '/oauth2/applications/app1/bot/reset-token',
154
- );
155
- });
156
- });
157
-
158
- describe('user routes extended', () => {
159
- it('leaveGuild builds path', () => {
160
- expect(Routes.leaveGuild('g1')).toBe('/users/@me/guilds/g1');
161
- });
162
- it('userMeChannels builds path', () => {
163
- expect(Routes.userMeChannels()).toBe('/users/@me/channels');
164
- });
165
- it('currentUserGuilds builds path', () => {
166
- expect(Routes.currentUserGuilds()).toBe('/users/@me/guilds');
167
- });
168
- });
169
- });