@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.
- package/CHANGELOG.md +833 -0
- package/LICENSE +201 -0
- package/README.md +129 -0
- package/agents/AGENTS.md +195 -0
- package/dist/api/default/application.d.ts +34 -0
- package/dist/api/default/application.d.ts.map +1 -0
- package/dist/api/default/application.js +2 -0
- package/dist/api/default/application.js.map +1 -0
- package/dist/api/default/attachments.d.ts +89 -0
- package/dist/api/default/attachments.d.ts.map +1 -0
- package/dist/api/default/attachments.js +2 -0
- package/dist/api/default/attachments.js.map +1 -0
- package/dist/api/default/audit-logs.d.ts +48 -0
- package/dist/api/default/audit-logs.d.ts.map +1 -0
- package/dist/api/default/audit-logs.js +2 -0
- package/dist/api/default/audit-logs.js.map +1 -0
- package/dist/api/default/bot.d.ts +200 -0
- package/dist/api/default/bot.d.ts.map +1 -0
- package/dist/api/default/bot.js +309 -0
- package/dist/api/default/bot.js.map +1 -0
- package/dist/api/default/cache.d.ts +105 -0
- package/dist/api/default/cache.d.ts.map +1 -0
- package/dist/api/default/cache.js +2 -0
- package/dist/api/default/cache.js.map +1 -0
- package/dist/api/default/channels.d.ts +249 -0
- package/dist/api/default/channels.d.ts.map +1 -0
- package/dist/api/default/channels.js +2 -0
- package/dist/api/default/channels.js.map +1 -0
- package/dist/api/default/client.d.ts +528 -0
- package/dist/api/default/client.d.ts.map +1 -0
- package/dist/api/default/client.js +301 -0
- package/dist/api/default/client.js.map +1 -0
- package/dist/api/default/collectors.d.ts +76 -0
- package/dist/api/default/collectors.d.ts.map +1 -0
- package/dist/api/default/collectors.js +2 -0
- package/dist/api/default/collectors.js.map +1 -0
- package/dist/api/default/commands.d.ts +91 -0
- package/dist/api/default/commands.d.ts.map +1 -0
- package/dist/api/default/commands.js +92 -0
- package/dist/api/default/commands.js.map +1 -0
- package/dist/api/default/direct-messages.d.ts +111 -0
- package/dist/api/default/direct-messages.d.ts.map +1 -0
- package/dist/api/default/direct-messages.js +2 -0
- package/dist/api/default/direct-messages.js.map +1 -0
- package/dist/api/default/discovery.d.ts +76 -0
- package/dist/api/default/discovery.d.ts.map +1 -0
- package/dist/api/default/discovery.js +2 -0
- package/dist/api/default/discovery.js.map +1 -0
- package/dist/api/default/emojis.d.ts +88 -0
- package/dist/api/default/emojis.d.ts.map +1 -0
- package/dist/api/default/emojis.js +2 -0
- package/dist/api/default/emojis.js.map +1 -0
- package/dist/api/default/events.d.ts +127 -0
- package/dist/api/default/events.d.ts.map +1 -0
- package/dist/api/default/events.js +2 -0
- package/dist/api/default/events.js.map +1 -0
- package/dist/api/default/gateway.d.ts +62 -0
- package/dist/api/default/gateway.d.ts.map +1 -0
- package/dist/api/default/gateway.js +2 -0
- package/dist/api/default/gateway.js.map +1 -0
- package/dist/api/default/guards.d.ts +87 -0
- package/dist/api/default/guards.d.ts.map +1 -0
- package/dist/api/default/guards.js +78 -0
- package/dist/api/default/guards.js.map +1 -0
- package/dist/api/default/guilds.d.ts +230 -0
- package/dist/api/default/guilds.d.ts.map +1 -0
- package/dist/api/default/guilds.js +2 -0
- package/dist/api/default/guilds.js.map +1 -0
- package/dist/api/default/helpers.d.ts +79 -0
- package/dist/api/default/helpers.d.ts.map +1 -0
- package/dist/api/default/helpers.js +79 -0
- package/dist/api/default/helpers.js.map +1 -0
- package/dist/api/default/instance.d.ts +47 -0
- package/dist/api/default/instance.d.ts.map +1 -0
- package/dist/api/default/instance.js +2 -0
- package/dist/api/default/instance.js.map +1 -0
- package/dist/api/default/invites.d.ts +57 -0
- package/dist/api/default/invites.d.ts.map +1 -0
- package/dist/api/default/invites.js +2 -0
- package/dist/api/default/invites.js.map +1 -0
- package/dist/api/default/logging.d.ts +37 -0
- package/dist/api/default/logging.d.ts.map +1 -0
- package/dist/api/default/logging.js +2 -0
- package/dist/api/default/logging.js.map +1 -0
- package/dist/api/default/members.d.ts +442 -0
- package/dist/api/default/members.d.ts.map +1 -0
- package/dist/api/default/members.js +2 -0
- package/dist/api/default/members.js.map +1 -0
- package/dist/api/default/messages.d.ts +898 -0
- package/dist/api/default/messages.d.ts.map +1 -0
- package/dist/api/default/messages.js +2 -0
- package/dist/api/default/messages.js.map +1 -0
- package/dist/api/default/oauth.d.ts +168 -0
- package/dist/api/default/oauth.d.ts.map +1 -0
- package/dist/api/default/oauth.js +84 -0
- package/dist/api/default/oauth.js.map +1 -0
- package/dist/api/default/permissions.d.ts +44 -0
- package/dist/api/default/permissions.d.ts.map +1 -0
- package/dist/api/default/permissions.js +2 -0
- package/dist/api/default/permissions.js.map +1 -0
- package/dist/api/default/presence.d.ts +88 -0
- package/dist/api/default/presence.d.ts.map +1 -0
- package/dist/api/default/presence.js +2 -0
- package/dist/api/default/presence.js.map +1 -0
- package/dist/api/default/rest.d.ts +28 -0
- package/dist/api/default/rest.d.ts.map +1 -0
- package/dist/api/default/rest.js +2 -0
- package/dist/api/default/rest.js.map +1 -0
- package/dist/api/default/results.d.ts +31 -0
- package/dist/api/default/results.d.ts.map +1 -0
- package/dist/api/default/results.js +14 -0
- package/dist/api/default/results.js.map +1 -0
- package/dist/api/default/roles.d.ts +119 -0
- package/dist/api/default/roles.d.ts.map +1 -0
- package/dist/api/default/roles.js +2 -0
- package/dist/api/default/roles.js.map +1 -0
- package/dist/api/default/stickers.d.ts +92 -0
- package/dist/api/default/stickers.d.ts.map +1 -0
- package/dist/api/default/stickers.js +2 -0
- package/dist/api/default/stickers.js.map +1 -0
- package/dist/api/default/supervisor.d.ts +51 -0
- package/dist/api/default/supervisor.d.ts.map +1 -0
- package/dist/api/default/supervisor.js +53 -0
- package/dist/api/default/supervisor.js.map +1 -0
- package/dist/api/default/threads.d.ts +158 -0
- package/dist/api/default/threads.d.ts.map +1 -0
- package/dist/api/default/threads.js +2 -0
- package/dist/api/default/threads.js.map +1 -0
- package/dist/api/default/users.d.ts +73 -0
- package/dist/api/default/users.d.ts.map +1 -0
- package/dist/api/default/users.js +2 -0
- package/dist/api/default/users.js.map +1 -0
- package/dist/api/default/webhook-client.d.ts +149 -0
- package/dist/api/default/webhook-client.d.ts.map +1 -0
- package/dist/api/default/webhook-client.js +69 -0
- package/dist/api/default/webhook-client.js.map +1 -0
- package/dist/api/default/webhooks.d.ts +62 -0
- package/dist/api/default/webhooks.d.ts.map +1 -0
- package/dist/api/default/webhooks.js +2 -0
- package/dist/api/default/webhooks.js.map +1 -0
- package/dist/api/effect/application.d.ts +29 -0
- package/dist/api/effect/application.d.ts.map +1 -0
- package/dist/api/effect/application.js +2 -0
- package/dist/api/effect/application.js.map +1 -0
- package/dist/api/effect/attachments.d.ts +84 -0
- package/dist/api/effect/attachments.d.ts.map +1 -0
- package/dist/api/effect/attachments.js +2 -0
- package/dist/api/effect/attachments.js.map +1 -0
- package/dist/api/effect/audit-logs.d.ts +42 -0
- package/dist/api/effect/audit-logs.d.ts.map +1 -0
- package/dist/api/effect/audit-logs.js +2 -0
- package/dist/api/effect/audit-logs.js.map +1 -0
- package/dist/api/effect/bot.d.ts +233 -0
- package/dist/api/effect/bot.d.ts.map +1 -0
- package/dist/api/effect/bot.js +230 -0
- package/dist/api/effect/bot.js.map +1 -0
- package/dist/api/effect/cache.d.ts +103 -0
- package/dist/api/effect/cache.d.ts.map +1 -0
- package/dist/api/effect/cache.js +2 -0
- package/dist/api/effect/cache.js.map +1 -0
- package/dist/api/effect/channels.d.ts +231 -0
- package/dist/api/effect/channels.d.ts.map +1 -0
- package/dist/api/effect/channels.js +2 -0
- package/dist/api/effect/channels.js.map +1 -0
- package/dist/api/effect/client.d.ts +622 -0
- package/dist/api/effect/client.d.ts.map +1 -0
- package/dist/api/effect/client.js +191 -0
- package/dist/api/effect/client.js.map +1 -0
- package/dist/api/effect/collectors.d.ts +90 -0
- package/dist/api/effect/collectors.d.ts.map +1 -0
- package/dist/api/effect/collectors.js +2 -0
- package/dist/api/effect/collectors.js.map +1 -0
- package/dist/api/effect/commands.d.ts +86 -0
- package/dist/api/effect/commands.d.ts.map +1 -0
- package/dist/api/effect/commands.js +87 -0
- package/dist/api/effect/commands.js.map +1 -0
- package/dist/api/effect/direct-messages.d.ts +102 -0
- package/dist/api/effect/direct-messages.d.ts.map +1 -0
- package/dist/api/effect/direct-messages.js +2 -0
- package/dist/api/effect/direct-messages.js.map +1 -0
- package/dist/api/effect/discovery.d.ts +68 -0
- package/dist/api/effect/discovery.d.ts.map +1 -0
- package/dist/api/effect/discovery.js +2 -0
- package/dist/api/effect/discovery.js.map +1 -0
- package/dist/api/effect/emojis.d.ts +77 -0
- package/dist/api/effect/emojis.d.ts.map +1 -0
- package/dist/api/effect/emojis.js +2 -0
- package/dist/api/effect/emojis.js.map +1 -0
- package/dist/api/effect/events.d.ts +78 -0
- package/dist/api/effect/events.d.ts.map +1 -0
- package/dist/api/effect/events.js +12 -0
- package/dist/api/effect/events.js.map +1 -0
- package/dist/api/effect/failures.d.ts +14 -0
- package/dist/api/effect/failures.d.ts.map +1 -0
- package/dist/api/effect/failures.js +2 -0
- package/dist/api/effect/failures.js.map +1 -0
- package/dist/api/effect/gateway.d.ts +63 -0
- package/dist/api/effect/gateway.d.ts.map +1 -0
- package/dist/api/effect/gateway.js +2 -0
- package/dist/api/effect/gateway.js.map +1 -0
- package/dist/api/effect/guards.d.ts +91 -0
- package/dist/api/effect/guards.d.ts.map +1 -0
- package/dist/api/effect/guards.js +94 -0
- package/dist/api/effect/guards.js.map +1 -0
- package/dist/api/effect/guilds.d.ts +221 -0
- package/dist/api/effect/guilds.d.ts.map +1 -0
- package/dist/api/effect/guilds.js +2 -0
- package/dist/api/effect/guilds.js.map +1 -0
- package/dist/api/effect/helpers.d.ts +300 -0
- package/dist/api/effect/helpers.d.ts.map +1 -0
- package/dist/api/effect/helpers.js +156 -0
- package/dist/api/effect/helpers.js.map +1 -0
- package/dist/api/effect/hierarchy.d.ts +26 -0
- package/dist/api/effect/hierarchy.d.ts.map +1 -0
- package/dist/api/effect/hierarchy.js +26 -0
- package/dist/api/effect/hierarchy.js.map +1 -0
- package/dist/api/effect/instance.d.ts +46 -0
- package/dist/api/effect/instance.d.ts.map +1 -0
- package/dist/api/effect/instance.js +8 -0
- package/dist/api/effect/instance.js.map +1 -0
- package/dist/api/effect/invites.d.ts +49 -0
- package/dist/api/effect/invites.d.ts.map +1 -0
- package/dist/api/effect/invites.js +2 -0
- package/dist/api/effect/invites.js.map +1 -0
- package/dist/api/effect/logging.d.ts +37 -0
- package/dist/api/effect/logging.d.ts.map +1 -0
- package/dist/api/effect/logging.js +2 -0
- package/dist/api/effect/logging.js.map +1 -0
- package/dist/api/effect/members.d.ts +433 -0
- package/dist/api/effect/members.d.ts.map +1 -0
- package/dist/api/effect/members.js +2 -0
- package/dist/api/effect/members.js.map +1 -0
- package/dist/api/effect/messages.d.ts +877 -0
- package/dist/api/effect/messages.d.ts.map +1 -0
- package/dist/api/effect/messages.js +2 -0
- package/dist/api/effect/messages.js.map +1 -0
- package/dist/api/effect/oauth.d.ts +148 -0
- package/dist/api/effect/oauth.d.ts.map +1 -0
- package/dist/api/effect/oauth.js +51 -0
- package/dist/api/effect/oauth.js.map +1 -0
- package/dist/api/effect/permissions.d.ts +41 -0
- package/dist/api/effect/permissions.d.ts.map +1 -0
- package/dist/api/effect/permissions.js +2 -0
- package/dist/api/effect/permissions.js.map +1 -0
- package/dist/api/effect/presence.d.ts +83 -0
- package/dist/api/effect/presence.d.ts.map +1 -0
- package/dist/api/effect/presence.js +2 -0
- package/dist/api/effect/presence.js.map +1 -0
- package/dist/api/effect/rest.d.ts +27 -0
- package/dist/api/effect/rest.d.ts.map +1 -0
- package/dist/api/effect/rest.js +2 -0
- package/dist/api/effect/rest.js.map +1 -0
- package/dist/api/effect/roles.d.ts +104 -0
- package/dist/api/effect/roles.d.ts.map +1 -0
- package/dist/api/effect/roles.js +2 -0
- package/dist/api/effect/roles.js.map +1 -0
- package/dist/api/effect/service.d.ts +76 -0
- package/dist/api/effect/service.d.ts.map +1 -0
- package/dist/api/effect/service.js +79 -0
- package/dist/api/effect/service.js.map +1 -0
- package/dist/api/effect/stickers.d.ts +81 -0
- package/dist/api/effect/stickers.d.ts.map +1 -0
- package/dist/api/effect/stickers.js +2 -0
- package/dist/api/effect/stickers.js.map +1 -0
- package/dist/api/effect/supervisor.d.ts +56 -0
- package/dist/api/effect/supervisor.d.ts.map +1 -0
- package/dist/api/effect/supervisor.js +58 -0
- package/dist/api/effect/supervisor.js.map +1 -0
- package/dist/api/effect/threads.d.ts +154 -0
- package/dist/api/effect/threads.d.ts.map +1 -0
- package/dist/api/effect/threads.js +2 -0
- package/dist/api/effect/threads.js.map +1 -0
- package/dist/api/effect/users.d.ts +62 -0
- package/dist/api/effect/users.d.ts.map +1 -0
- package/dist/api/effect/users.js +2 -0
- package/dist/api/effect/users.js.map +1 -0
- package/dist/api/effect/webhook-client.d.ts +140 -0
- package/dist/api/effect/webhook-client.d.ts.map +1 -0
- package/dist/api/effect/webhook-client.js +50 -0
- package/dist/api/effect/webhook-client.js.map +1 -0
- package/dist/api/effect/webhooks.d.ts +54 -0
- package/dist/api/effect/webhooks.d.ts.map +1 -0
- package/dist/api/effect/webhooks.js +2 -0
- package/dist/api/effect/webhooks.js.map +1 -0
- package/dist/api-errors.d.ts +609 -0
- package/dist/api-errors.d.ts.map +1 -0
- package/dist/api-errors.js +589 -0
- package/dist/api-errors.js.map +1 -0
- package/dist/application.d.ts +85 -0
- package/dist/application.d.ts.map +1 -0
- package/dist/application.js +44 -0
- package/dist/application.js.map +1 -0
- package/dist/assets.d.ts +197 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +419 -0
- package/dist/assets.js.map +1 -0
- package/dist/attachments.d.ts +400 -0
- package/dist/attachments.d.ts.map +1 -0
- package/dist/attachments.js +88 -0
- package/dist/attachments.js.map +1 -0
- package/dist/audit-logs.d.ts +292 -0
- package/dist/audit-logs.d.ts.map +1 -0
- package/dist/audit-logs.js +46 -0
- package/dist/audit-logs.js.map +1 -0
- package/dist/bot-runner.d.ts +69 -0
- package/dist/bot-runner.d.ts.map +1 -0
- package/dist/bot-runner.js +41 -0
- package/dist/bot-runner.js.map +1 -0
- package/dist/builders.d.ts +153 -0
- package/dist/builders.d.ts.map +1 -0
- package/dist/builders.js +326 -0
- package/dist/builders.js.map +1 -0
- package/dist/cache.d.ts +187 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +2 -0
- package/dist/cache.js.map +1 -0
- package/dist/channels.d.ts +903 -0
- package/dist/channels.d.ts.map +1 -0
- package/dist/channels.js +125 -0
- package/dist/channels.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +65 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +645 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -0
- package/dist/collectors.d.ts +205 -0
- package/dist/collectors.d.ts.map +1 -0
- package/dist/collectors.js +71 -0
- package/dist/collectors.js.map +1 -0
- package/dist/colors.d.ts +55 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +40 -0
- package/dist/colors.js.map +1 -0
- package/dist/command-arguments.d.ts +353 -0
- package/dist/command-arguments.d.ts.map +1 -0
- package/dist/command-arguments.js +2 -0
- package/dist/command-arguments.js.map +1 -0
- package/dist/command-help.d.ts +54 -0
- package/dist/command-help.d.ts.map +1 -0
- package/dist/command-help.js +2 -0
- package/dist/command-help.js.map +1 -0
- package/dist/commands.d.ts +328 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +62 -0
- package/dist/commands.js.map +1 -0
- package/dist/counts.d.ts +124 -0
- package/dist/counts.d.ts.map +1 -0
- package/dist/counts.js +52 -0
- package/dist/counts.js.map +1 -0
- package/dist/default-commands.d.ts +400 -0
- package/dist/default-commands.d.ts.map +1 -0
- package/dist/default-commands.js +488 -0
- package/dist/default-commands.js.map +1 -0
- package/dist/default-supervisor.d.ts +111 -0
- package/dist/default-supervisor.d.ts.map +1 -0
- package/dist/default-supervisor.js +277 -0
- package/dist/default-supervisor.js.map +1 -0
- package/dist/discovery.d.ts +223 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +18 -0
- package/dist/discovery.js.map +1 -0
- package/dist/effect-testing.d.ts +388 -0
- package/dist/effect-testing.d.ts.map +1 -0
- package/dist/effect-testing.js +261 -0
- package/dist/effect-testing.js.map +1 -0
- package/dist/effect.d.ts +220 -0
- package/dist/effect.d.ts.map +1 -0
- package/dist/effect.js +101 -0
- package/dist/effect.js.map +1 -0
- package/dist/embeds.d.ts +243 -0
- package/dist/embeds.d.ts.map +1 -0
- package/dist/embeds.js +2 -0
- package/dist/embeds.js.map +1 -0
- package/dist/error-tools.d.ts +101 -0
- package/dist/error-tools.d.ts.map +1 -0
- package/dist/error-tools.js +125 -0
- package/dist/error-tools.js.map +1 -0
- package/dist/errors.d.ts +386 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +440 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +798 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +2 -0
- package/dist/events.js.map +1 -0
- package/dist/expressions.d.ts +188 -0
- package/dist/expressions.d.ts.map +1 -0
- package/dist/expressions.js +2 -0
- package/dist/expressions.js.map +1 -0
- package/dist/failures.d.ts +53 -0
- package/dist/failures.d.ts.map +1 -0
- package/dist/failures.js +2 -0
- package/dist/failures.js.map +1 -0
- package/dist/gateway.d.ts +48 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +60 -0
- package/dist/gateway.js.map +1 -0
- package/dist/guilds.d.ts +923 -0
- package/dist/guilds.d.ts.map +1 -0
- package/dist/guilds.js +204 -0
- package/dist/guilds.js.map +1 -0
- package/dist/helpers.d.ts +423 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +434 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +228 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/input-validation.d.ts +51 -0
- package/dist/input-validation.d.ts.map +1 -0
- package/dist/input-validation.js +34 -0
- package/dist/input-validation.js.map +1 -0
- package/dist/instance.d.ts +101 -0
- package/dist/instance.d.ts.map +1 -0
- package/dist/instance.js +2 -0
- package/dist/instance.js.map +1 -0
- package/dist/internal/agents-section.d.ts +22 -0
- package/dist/internal/agents-section.d.ts.map +1 -0
- package/dist/internal/agents-section.js +101 -0
- package/dist/internal/agents-section.js.map +1 -0
- package/dist/internal/application.d.ts +16 -0
- package/dist/internal/application.d.ts.map +1 -0
- package/dist/internal/application.js +33 -0
- package/dist/internal/application.js.map +1 -0
- package/dist/internal/attachment-refresh.d.ts +18 -0
- package/dist/internal/attachment-refresh.d.ts.map +1 -0
- package/dist/internal/attachment-refresh.js +39 -0
- package/dist/internal/attachment-refresh.js.map +1 -0
- package/dist/internal/attachments.d.ts +45 -0
- package/dist/internal/attachments.d.ts.map +1 -0
- package/dist/internal/attachments.js +230 -0
- package/dist/internal/attachments.js.map +1 -0
- package/dist/internal/audit-logs.d.ts +13 -0
- package/dist/internal/audit-logs.d.ts.map +1 -0
- package/dist/internal/audit-logs.js +295 -0
- package/dist/internal/audit-logs.js.map +1 -0
- package/dist/internal/audit.d.ts +12 -0
- package/dist/internal/audit.d.ts.map +1 -0
- package/dist/internal/audit.js +22 -0
- package/dist/internal/audit.js.map +1 -0
- package/dist/internal/binding/default-adapters.d.ts +22 -0
- package/dist/internal/binding/default-adapters.d.ts.map +1 -0
- package/dist/internal/binding/default-adapters.js +304 -0
- package/dist/internal/binding/default-adapters.js.map +1 -0
- package/dist/internal/binding/default.d.ts +45 -0
- package/dist/internal/binding/default.d.ts.map +1 -0
- package/dist/internal/binding/default.js +86 -0
- package/dist/internal/binding/default.js.map +1 -0
- package/dist/internal/binding/execute.d.ts +51 -0
- package/dist/internal/binding/execute.d.ts.map +1 -0
- package/dist/internal/binding/execute.js +123 -0
- package/dist/internal/binding/execute.js.map +1 -0
- package/dist/internal/binding/native-adapters.d.ts +23 -0
- package/dist/internal/binding/native-adapters.d.ts.map +1 -0
- package/dist/internal/binding/native-adapters.js +90 -0
- package/dist/internal/binding/native-adapters.js.map +1 -0
- package/dist/internal/binding/native.d.ts +41 -0
- package/dist/internal/binding/native.d.ts.map +1 -0
- package/dist/internal/binding/native.js +34 -0
- package/dist/internal/binding/native.js.map +1 -0
- package/dist/internal/binding/operations.d.ts +361 -0
- package/dist/internal/binding/operations.d.ts.map +1 -0
- package/dist/internal/binding/operations.js +272 -0
- package/dist/internal/binding/operations.js.map +1 -0
- package/dist/internal/bot-runner.d.ts +65 -0
- package/dist/internal/bot-runner.d.ts.map +1 -0
- package/dist/internal/bot-runner.js +363 -0
- package/dist/internal/bot-runner.js.map +1 -0
- package/dist/internal/cache-changes.d.ts +43 -0
- package/dist/internal/cache-changes.d.ts.map +1 -0
- package/dist/internal/cache-changes.js +320 -0
- package/dist/internal/cache-changes.js.map +1 -0
- package/dist/internal/cache.d.ts +57 -0
- package/dist/internal/cache.d.ts.map +1 -0
- package/dist/internal/cache.js +318 -0
- package/dist/internal/cache.js.map +1 -0
- package/dist/internal/calls.d.ts +16 -0
- package/dist/internal/calls.d.ts.map +1 -0
- package/dist/internal/calls.js +108 -0
- package/dist/internal/calls.js.map +1 -0
- package/dist/internal/channel-cache.d.ts +69 -0
- package/dist/internal/channel-cache.d.ts.map +1 -0
- package/dist/internal/channel-cache.js +413 -0
- package/dist/internal/channel-cache.js.map +1 -0
- package/dist/internal/channel-decode.d.ts +44 -0
- package/dist/internal/channel-decode.d.ts.map +1 -0
- package/dist/internal/channel-decode.js +377 -0
- package/dist/internal/channel-decode.js.map +1 -0
- package/dist/internal/channels.d.ts +60 -0
- package/dist/internal/channels.d.ts.map +1 -0
- package/dist/internal/channels.js +605 -0
- package/dist/internal/channels.js.map +1 -0
- package/dist/internal/client/backoff.d.ts +42 -0
- package/dist/internal/client/backoff.d.ts.map +1 -0
- package/dist/internal/client/backoff.js +36 -0
- package/dist/internal/client/backoff.js.map +1 -0
- package/dist/internal/client/configuration-fields.d.ts +14 -0
- package/dist/internal/client/configuration-fields.d.ts.map +1 -0
- package/dist/internal/client/configuration-fields.js +11 -0
- package/dist/internal/client/configuration-fields.js.map +1 -0
- package/dist/internal/client/drain.d.ts +33 -0
- package/dist/internal/client/drain.d.ts.map +1 -0
- package/dist/internal/client/drain.js +109 -0
- package/dist/internal/client/drain.js.map +1 -0
- package/dist/internal/client/intake.d.ts +27 -0
- package/dist/internal/client/intake.d.ts.map +1 -0
- package/dist/internal/client/intake.js +198 -0
- package/dist/internal/client/intake.js.map +1 -0
- package/dist/internal/client/lifetime.d.ts +35 -0
- package/dist/internal/client/lifetime.d.ts.map +1 -0
- package/dist/internal/client/lifetime.js +109 -0
- package/dist/internal/client/lifetime.js.map +1 -0
- package/dist/internal/client/shard-loop.d.ts +93 -0
- package/dist/internal/client/shard-loop.d.ts.map +1 -0
- package/dist/internal/client/shard-loop.js +452 -0
- package/dist/internal/client/shard-loop.js.map +1 -0
- package/dist/internal/client-registry.d.ts +26 -0
- package/dist/internal/client-registry.d.ts.map +1 -0
- package/dist/internal/client-registry.js +11 -0
- package/dist/internal/client-registry.js.map +1 -0
- package/dist/internal/client.d.ts +189 -0
- package/dist/internal/client.d.ts.map +1 -0
- package/dist/internal/client.js +1935 -0
- package/dist/internal/client.js.map +1 -0
- package/dist/internal/clock.d.ts +9 -0
- package/dist/internal/clock.d.ts.map +1 -0
- package/dist/internal/clock.js +5 -0
- package/dist/internal/clock.js.map +1 -0
- package/dist/internal/code-catalogue.d.ts +712 -0
- package/dist/internal/code-catalogue.d.ts.map +1 -0
- package/dist/internal/code-catalogue.js +655 -0
- package/dist/internal/code-catalogue.js.map +1 -0
- package/dist/internal/collector.d.ts +34 -0
- package/dist/internal/collector.d.ts.map +1 -0
- package/dist/internal/collector.js +400 -0
- package/dist/internal/collector.js.map +1 -0
- package/dist/internal/command-arguments.d.ts +29 -0
- package/dist/internal/command-arguments.d.ts.map +1 -0
- package/dist/internal/command-arguments.js +484 -0
- package/dist/internal/command-arguments.js.map +1 -0
- package/dist/internal/command-guards.d.ts +57 -0
- package/dist/internal/command-guards.d.ts.map +1 -0
- package/dist/internal/command-guards.js +81 -0
- package/dist/internal/command-guards.js.map +1 -0
- package/dist/internal/command-help.d.ts +15 -0
- package/dist/internal/command-help.d.ts.map +1 -0
- package/dist/internal/command-help.js +121 -0
- package/dist/internal/command-help.js.map +1 -0
- package/dist/internal/commands.d.ts +212 -0
- package/dist/internal/commands.d.ts.map +1 -0
- package/dist/internal/commands.js +1004 -0
- package/dist/internal/commands.js.map +1 -0
- package/dist/internal/configuration.d.ts +86 -0
- package/dist/internal/configuration.d.ts.map +1 -0
- package/dist/internal/configuration.js +401 -0
- package/dist/internal/configuration.js.map +1 -0
- package/dist/internal/counts.d.ts +33 -0
- package/dist/internal/counts.d.ts.map +1 -0
- package/dist/internal/counts.js +348 -0
- package/dist/internal/counts.js.map +1 -0
- package/dist/internal/decode/primitives.d.ts +30 -0
- package/dist/internal/decode/primitives.d.ts.map +1 -0
- package/dist/internal/decode/primitives.js +56 -0
- package/dist/internal/decode/primitives.js.map +1 -0
- package/dist/internal/decode/timestamp.d.ts +13 -0
- package/dist/internal/decode/timestamp.d.ts.map +1 -0
- package/dist/internal/decode/timestamp.js +27 -0
- package/dist/internal/decode/timestamp.js.map +1 -0
- package/dist/internal/decode/trace.d.ts +11 -0
- package/dist/internal/decode/trace.d.ts.map +1 -0
- package/dist/internal/decode/trace.js +69 -0
- package/dist/internal/decode/trace.js.map +1 -0
- package/dist/internal/defects.d.ts +48 -0
- package/dist/internal/defects.d.ts.map +1 -0
- package/dist/internal/defects.js +100 -0
- package/dist/internal/defects.js.map +1 -0
- package/dist/internal/effect-failures.d.ts +12 -0
- package/dist/internal/effect-failures.d.ts.map +1 -0
- package/dist/internal/effect-failures.js +45 -0
- package/dist/internal/effect-failures.js.map +1 -0
- package/dist/internal/embeds.d.ts +12 -0
- package/dist/internal/embeds.d.ts.map +1 -0
- package/dist/internal/embeds.js +308 -0
- package/dist/internal/embeds.js.map +1 -0
- package/dist/internal/events.d.ts +156 -0
- package/dist/internal/events.d.ts.map +1 -0
- package/dist/internal/events.js +1071 -0
- package/dist/internal/events.js.map +1 -0
- package/dist/internal/expiry-queue.d.ts +42 -0
- package/dist/internal/expiry-queue.d.ts.map +1 -0
- package/dist/internal/expiry-queue.js +138 -0
- package/dist/internal/expiry-queue.js.map +1 -0
- package/dist/internal/expressions.d.ts +35 -0
- package/dist/internal/expressions.d.ts.map +1 -0
- package/dist/internal/expressions.js +311 -0
- package/dist/internal/expressions.js.map +1 -0
- package/dist/internal/failures.d.ts +107 -0
- package/dist/internal/failures.d.ts.map +1 -0
- package/dist/internal/failures.js +416 -0
- package/dist/internal/failures.js.map +1 -0
- package/dist/internal/field-text.d.ts +10 -0
- package/dist/internal/field-text.d.ts.map +1 -0
- package/dist/internal/field-text.js +37 -0
- package/dist/internal/field-text.js.map +1 -0
- package/dist/internal/gateway/commands.d.ts +92 -0
- package/dist/internal/gateway/commands.d.ts.map +1 -0
- package/dist/internal/gateway/commands.js +223 -0
- package/dist/internal/gateway/commands.js.map +1 -0
- package/dist/internal/gateway/dispatch-table.d.ts +42 -0
- package/dist/internal/gateway/dispatch-table.d.ts.map +1 -0
- package/dist/internal/gateway/dispatch-table.js +288 -0
- package/dist/internal/gateway/dispatch-table.js.map +1 -0
- package/dist/internal/gateway/event-dispatches.d.ts +97 -0
- package/dist/internal/gateway/event-dispatches.d.ts.map +1 -0
- package/dist/internal/gateway/event-dispatches.js +172 -0
- package/dist/internal/gateway/event-dispatches.js.map +1 -0
- package/dist/internal/gateway/frames.d.ts +45 -0
- package/dist/internal/gateway/frames.d.ts.map +1 -0
- package/dist/internal/gateway/frames.js +121 -0
- package/dist/internal/gateway/frames.js.map +1 -0
- package/dist/internal/gateway/options.d.ts +24 -0
- package/dist/internal/gateway/options.d.ts.map +1 -0
- package/dist/internal/gateway/options.js +103 -0
- package/dist/internal/gateway/options.js.map +1 -0
- package/dist/internal/gateway/session.d.ts +104 -0
- package/dist/internal/gateway/session.d.ts.map +1 -0
- package/dist/internal/gateway/session.js +420 -0
- package/dist/internal/gateway/session.js.map +1 -0
- package/dist/internal/gateway-requests.d.ts +10 -0
- package/dist/internal/gateway-requests.d.ts.map +1 -0
- package/dist/internal/gateway-requests.js +26 -0
- package/dist/internal/gateway-requests.js.map +1 -0
- package/dist/internal/gateway.d.ts +19 -0
- package/dist/internal/gateway.d.ts.map +1 -0
- package/dist/internal/gateway.js +11 -0
- package/dist/internal/gateway.js.map +1 -0
- package/dist/internal/guild-cache.d.ts +69 -0
- package/dist/internal/guild-cache.d.ts.map +1 -0
- package/dist/internal/guild-cache.js +402 -0
- package/dist/internal/guild-cache.js.map +1 -0
- package/dist/internal/guild-discovery.d.ts +15 -0
- package/dist/internal/guild-discovery.d.ts.map +1 -0
- package/dist/internal/guild-discovery.js +258 -0
- package/dist/internal/guild-discovery.js.map +1 -0
- package/dist/internal/guild-lifecycle.d.ts +18 -0
- package/dist/internal/guild-lifecycle.d.ts.map +1 -0
- package/dist/internal/guild-lifecycle.js +119 -0
- package/dist/internal/guild-lifecycle.js.map +1 -0
- package/dist/internal/guild-settings.d.ts +11 -0
- package/dist/internal/guild-settings.d.ts.map +1 -0
- package/dist/internal/guild-settings.js +150 -0
- package/dist/internal/guild-settings.js.map +1 -0
- package/dist/internal/guilds.d.ts +94 -0
- package/dist/internal/guilds.d.ts.map +1 -0
- package/dist/internal/guilds.js +785 -0
- package/dist/internal/guilds.js.map +1 -0
- package/dist/internal/init-command.d.ts +54 -0
- package/dist/internal/init-command.d.ts.map +1 -0
- package/dist/internal/init-command.js +248 -0
- package/dist/internal/init-command.js.map +1 -0
- package/dist/internal/instance.d.ts +69 -0
- package/dist/internal/instance.d.ts.map +1 -0
- package/dist/internal/instance.js +455 -0
- package/dist/internal/instance.js.map +1 -0
- package/dist/internal/invalid-callback-return.d.ts +3 -0
- package/dist/internal/invalid-callback-return.d.ts.map +1 -0
- package/dist/internal/invalid-callback-return.js +26 -0
- package/dist/internal/invalid-callback-return.js.map +1 -0
- package/dist/internal/invites.d.ts +19 -0
- package/dist/internal/invites.d.ts.map +1 -0
- package/dist/internal/invites.js +182 -0
- package/dist/internal/invites.js.map +1 -0
- package/dist/internal/logging.d.ts +129 -0
- package/dist/internal/logging.d.ts.map +1 -0
- package/dist/internal/logging.js +868 -0
- package/dist/internal/logging.js.map +1 -0
- package/dist/internal/logical-scheduler.d.ts +27 -0
- package/dist/internal/logical-scheduler.d.ts.map +1 -0
- package/dist/internal/logical-scheduler.js +102 -0
- package/dist/internal/logical-scheduler.js.map +1 -0
- package/dist/internal/masking.d.ts +13 -0
- package/dist/internal/masking.d.ts.map +1 -0
- package/dist/internal/masking.js +235 -0
- package/dist/internal/masking.js.map +1 -0
- package/dist/internal/member-chunks.d.ts +96 -0
- package/dist/internal/member-chunks.d.ts.map +1 -0
- package/dist/internal/member-chunks.js +557 -0
- package/dist/internal/member-chunks.js.map +1 -0
- package/dist/internal/member-search-workflow.d.ts +19 -0
- package/dist/internal/member-search-workflow.d.ts.map +1 -0
- package/dist/internal/member-search-workflow.js +143 -0
- package/dist/internal/member-search-workflow.js.map +1 -0
- package/dist/internal/member-search.d.ts +20 -0
- package/dist/internal/member-search.d.ts.map +1 -0
- package/dist/internal/member-search.js +201 -0
- package/dist/internal/member-search.js.map +1 -0
- package/dist/internal/message-cleanup.d.ts +9 -0
- package/dist/internal/message-cleanup.d.ts.map +1 -0
- package/dist/internal/message-cleanup.js +368 -0
- package/dist/internal/message-cleanup.js.map +1 -0
- package/dist/internal/message-fields.d.ts +9 -0
- package/dist/internal/message-fields.d.ts.map +1 -0
- package/dist/internal/message-fields.js +55 -0
- package/dist/internal/message-fields.js.map +1 -0
- package/dist/internal/message-search-workflow.d.ts +14 -0
- package/dist/internal/message-search-workflow.d.ts.map +1 -0
- package/dist/internal/message-search-workflow.js +101 -0
- package/dist/internal/message-search-workflow.js.map +1 -0
- package/dist/internal/message-search.d.ts +19 -0
- package/dist/internal/message-search.d.ts.map +1 -0
- package/dist/internal/message-search.js +317 -0
- package/dist/internal/message-search.js.map +1 -0
- package/dist/internal/message.d.ts +34 -0
- package/dist/internal/message.d.ts.map +1 -0
- package/dist/internal/message.js +723 -0
- package/dist/internal/message.js.map +1 -0
- package/dist/internal/metrics.d.ts +16 -0
- package/dist/internal/metrics.d.ts.map +1 -0
- package/dist/internal/metrics.js +49 -0
- package/dist/internal/metrics.js.map +1 -0
- package/dist/internal/moderation.d.ts +20 -0
- package/dist/internal/moderation.d.ts.map +1 -0
- package/dist/internal/moderation.js +219 -0
- package/dist/internal/moderation.js.map +1 -0
- package/dist/internal/multipart.d.ts +10 -0
- package/dist/internal/multipart.d.ts.map +1 -0
- package/dist/internal/multipart.js +156 -0
- package/dist/internal/multipart.js.map +1 -0
- package/dist/internal/node-version.d.ts +10 -0
- package/dist/internal/node-version.d.ts.map +1 -0
- package/dist/internal/node-version.js +21 -0
- package/dist/internal/node-version.js.map +1 -0
- package/dist/internal/oauth.d.ts +29 -0
- package/dist/internal/oauth.d.ts.map +1 -0
- package/dist/internal/oauth.js +721 -0
- package/dist/internal/oauth.js.map +1 -0
- package/dist/internal/observer.d.ts +21 -0
- package/dist/internal/observer.d.ts.map +1 -0
- package/dist/internal/observer.js +48 -0
- package/dist/internal/observer.js.map +1 -0
- package/dist/internal/operation-signal.d.ts +9 -0
- package/dist/internal/operation-signal.d.ts.map +1 -0
- package/dist/internal/operation-signal.js +19 -0
- package/dist/internal/operation-signal.js.map +1 -0
- package/dist/internal/pagination.d.ts +67 -0
- package/dist/internal/pagination.d.ts.map +1 -0
- package/dist/internal/pagination.js +306 -0
- package/dist/internal/pagination.js.map +1 -0
- package/dist/internal/permission-requirements.d.ts +34 -0
- package/dist/internal/permission-requirements.d.ts.map +1 -0
- package/dist/internal/permission-requirements.js +204 -0
- package/dist/internal/permission-requirements.js.map +1 -0
- package/dist/internal/permissions.d.ts +28 -0
- package/dist/internal/permissions.d.ts.map +1 -0
- package/dist/internal/permissions.js +314 -0
- package/dist/internal/permissions.js.map +1 -0
- package/dist/internal/pins.d.ts +24 -0
- package/dist/internal/pins.d.ts.map +1 -0
- package/dist/internal/pins.js +83 -0
- package/dist/internal/pins.js.map +1 -0
- package/dist/internal/presence.d.ts +101 -0
- package/dist/internal/presence.d.ts.map +1 -0
- package/dist/internal/presence.js +581 -0
- package/dist/internal/presence.js.map +1 -0
- package/dist/internal/protocol/gateway.d.ts +116 -0
- package/dist/internal/protocol/gateway.d.ts.map +1 -0
- package/dist/internal/protocol/gateway.js +258 -0
- package/dist/internal/protocol/gateway.js.map +1 -0
- package/dist/internal/rate-limit-templates.d.ts +2 -0
- package/dist/internal/rate-limit-templates.d.ts.map +1 -0
- package/dist/internal/rate-limit-templates.js +132 -0
- package/dist/internal/rate-limit-templates.js.map +1 -0
- package/dist/internal/rate-limits.d.ts +32 -0
- package/dist/internal/rate-limits.d.ts.map +1 -0
- package/dist/internal/rate-limits.js +306 -0
- package/dist/internal/rate-limits.js.map +1 -0
- package/dist/internal/reaction-collector.d.ts +39 -0
- package/dist/internal/reaction-collector.d.ts.map +1 -0
- package/dist/internal/reaction-collector.js +441 -0
- package/dist/internal/reaction-collector.js.map +1 -0
- package/dist/internal/reaction-pages.d.ts +18 -0
- package/dist/internal/reaction-pages.d.ts.map +1 -0
- package/dist/internal/reaction-pages.js +213 -0
- package/dist/internal/reaction-pages.js.map +1 -0
- package/dist/internal/reactions.d.ts +30 -0
- package/dist/internal/reactions.d.ts.map +1 -0
- package/dist/internal/reactions.js +160 -0
- package/dist/internal/reactions.js.map +1 -0
- package/dist/internal/rejection-scope.d.ts +25 -0
- package/dist/internal/rejection-scope.d.ts.map +1 -0
- package/dist/internal/rejection-scope.js +103 -0
- package/dist/internal/rejection-scope.js.map +1 -0
- package/dist/internal/response-json.d.ts +12 -0
- package/dist/internal/response-json.d.ts.map +1 -0
- package/dist/internal/response-json.js +74 -0
- package/dist/internal/response-json.js.map +1 -0
- package/dist/internal/rest/admission.d.ts +77 -0
- package/dist/internal/rest/admission.d.ts.map +1 -0
- package/dist/internal/rest/admission.js +178 -0
- package/dist/internal/rest/admission.js.map +1 -0
- package/dist/internal/rest/attempt.d.ts +124 -0
- package/dist/internal/rest/attempt.d.ts.map +1 -0
- package/dist/internal/rest/attempt.js +410 -0
- package/dist/internal/rest/attempt.js.map +1 -0
- package/dist/internal/rest/classify.d.ts +93 -0
- package/dist/internal/rest/classify.d.ts.map +1 -0
- package/dist/internal/rest/classify.js +304 -0
- package/dist/internal/rest/classify.js.map +1 -0
- package/dist/internal/rest/download.d.ts +66 -0
- package/dist/internal/rest/download.d.ts.map +1 -0
- package/dist/internal/rest/download.js +552 -0
- package/dist/internal/rest/download.js.map +1 -0
- package/dist/internal/rest/options.d.ts +42 -0
- package/dist/internal/rest/options.d.ts.map +1 -0
- package/dist/internal/rest/options.js +99 -0
- package/dist/internal/rest/options.js.map +1 -0
- package/dist/internal/rest/owner.d.ts +154 -0
- package/dist/internal/rest/owner.d.ts.map +1 -0
- package/dist/internal/rest/owner.js +1292 -0
- package/dist/internal/rest/owner.js.map +1 -0
- package/dist/internal/rest/request.d.ts +31 -0
- package/dist/internal/rest/request.d.ts.map +1 -0
- package/dist/internal/rest/request.js +227 -0
- package/dist/internal/rest/request.js.map +1 -0
- package/dist/internal/rest.d.ts +10 -0
- package/dist/internal/rest.d.ts.map +1 -0
- package/dist/internal/rest.js +9 -0
- package/dist/internal/rest.js.map +1 -0
- package/dist/internal/retention-age.d.ts +11 -0
- package/dist/internal/retention-age.d.ts.map +1 -0
- package/dist/internal/retention-age.js +29 -0
- package/dist/internal/retention-age.js.map +1 -0
- package/dist/internal/role-hierarchy-workflow.d.ts +15 -0
- package/dist/internal/role-hierarchy-workflow.d.ts.map +1 -0
- package/dist/internal/role-hierarchy-workflow.js +122 -0
- package/dist/internal/role-hierarchy-workflow.js.map +1 -0
- package/dist/internal/role-hierarchy.d.ts +11 -0
- package/dist/internal/role-hierarchy.d.ts.map +1 -0
- package/dist/internal/role-hierarchy.js +87 -0
- package/dist/internal/role-hierarchy.js.map +1 -0
- package/dist/internal/scheduled-tasks.d.ts +46 -0
- package/dist/internal/scheduled-tasks.d.ts.map +1 -0
- package/dist/internal/scheduled-tasks.js +190 -0
- package/dist/internal/scheduled-tasks.js.map +1 -0
- package/dist/internal/sharding.d.ts +62 -0
- package/dist/internal/sharding.d.ts.map +1 -0
- package/dist/internal/sharding.js +205 -0
- package/dist/internal/sharding.js.map +1 -0
- package/dist/internal/starter-project.d.ts +27 -0
- package/dist/internal/starter-project.d.ts.map +1 -0
- package/dist/internal/starter-project.js +224 -0
- package/dist/internal/starter-project.js.map +1 -0
- package/dist/internal/suggest.d.ts +12 -0
- package/dist/internal/suggest.d.ts.map +1 -0
- package/dist/internal/suggest.js +51 -0
- package/dist/internal/suggest.js.map +1 -0
- package/dist/internal/supervisor.d.ts +95 -0
- package/dist/internal/supervisor.d.ts.map +1 -0
- package/dist/internal/supervisor.js +1829 -0
- package/dist/internal/supervisor.js.map +1 -0
- package/dist/internal/testing/discovery.d.ts +24 -0
- package/dist/internal/testing/discovery.d.ts.map +1 -0
- package/dist/internal/testing/discovery.js +22 -0
- package/dist/internal/testing/discovery.js.map +1 -0
- package/dist/internal/testing/errors.d.ts +43 -0
- package/dist/internal/testing/errors.d.ts.map +1 -0
- package/dist/internal/testing/errors.js +63 -0
- package/dist/internal/testing/errors.js.map +1 -0
- package/dist/internal/testing/fixtures.d.ts +477 -0
- package/dist/internal/testing/fixtures.d.ts.map +1 -0
- package/dist/internal/testing/fixtures.js +233 -0
- package/dist/internal/testing/fixtures.js.map +1 -0
- package/dist/internal/testing/gateway.d.ts +51 -0
- package/dist/internal/testing/gateway.d.ts.map +1 -0
- package/dist/internal/testing/gateway.js +265 -0
- package/dist/internal/testing/gateway.js.map +1 -0
- package/dist/internal/testing/harness.d.ts +60 -0
- package/dist/internal/testing/harness.d.ts.map +1 -0
- package/dist/internal/testing/harness.js +280 -0
- package/dist/internal/testing/harness.js.map +1 -0
- package/dist/internal/testing/http.d.ts +31 -0
- package/dist/internal/testing/http.d.ts.map +1 -0
- package/dist/internal/testing/http.js +347 -0
- package/dist/internal/testing/http.js.map +1 -0
- package/dist/internal/testing/types.d.ts +222 -0
- package/dist/internal/testing/types.d.ts.map +1 -0
- package/dist/internal/testing/types.js +2 -0
- package/dist/internal/testing/types.js.map +1 -0
- package/dist/internal/testing/wait.d.ts +16 -0
- package/dist/internal/testing/wait.d.ts.map +1 -0
- package/dist/internal/testing/wait.js +55 -0
- package/dist/internal/testing/wait.js.map +1 -0
- package/dist/internal/thread-events.d.ts +40 -0
- package/dist/internal/thread-events.d.ts.map +1 -0
- package/dist/internal/thread-events.js +121 -0
- package/dist/internal/thread-events.js.map +1 -0
- package/dist/internal/threads.d.ts +47 -0
- package/dist/internal/threads.d.ts.map +1 -0
- package/dist/internal/threads.js +587 -0
- package/dist/internal/threads.js.map +1 -0
- package/dist/internal/transfer-source.d.ts +29 -0
- package/dist/internal/transfer-source.d.ts.map +1 -0
- package/dist/internal/transfer-source.js +347 -0
- package/dist/internal/transfer-source.js.map +1 -0
- package/dist/internal/transport/http.d.ts +12 -0
- package/dist/internal/transport/http.d.ts.map +1 -0
- package/dist/internal/transport/http.js +44 -0
- package/dist/internal/transport/http.js.map +1 -0
- package/dist/internal/transport/index.d.ts +21 -0
- package/dist/internal/transport/index.d.ts.map +1 -0
- package/dist/internal/transport/index.js +15 -0
- package/dist/internal/transport/index.js.map +1 -0
- package/dist/internal/transport/socket.d.ts +51 -0
- package/dist/internal/transport/socket.d.ts.map +1 -0
- package/dist/internal/transport/socket.js +27 -0
- package/dist/internal/transport/socket.js.map +1 -0
- package/dist/internal/transport/user-agent.d.ts +7 -0
- package/dist/internal/transport/user-agent.d.ts.map +1 -0
- package/dist/internal/transport/user-agent.js +42 -0
- package/dist/internal/transport/user-agent.js.map +1 -0
- package/dist/internal/uploads.d.ts +23 -0
- package/dist/internal/uploads.d.ts.map +1 -0
- package/dist/internal/uploads.js +89 -0
- package/dist/internal/uploads.js.map +1 -0
- package/dist/internal/user-cache.d.ts +50 -0
- package/dist/internal/user-cache.d.ts.map +1 -0
- package/dist/internal/user-cache.js +273 -0
- package/dist/internal/user-cache.js.map +1 -0
- package/dist/internal/users.d.ts +41 -0
- package/dist/internal/users.d.ts.map +1 -0
- package/dist/internal/users.js +333 -0
- package/dist/internal/users.js.map +1 -0
- package/dist/internal/vanity-url.d.ts +11 -0
- package/dist/internal/vanity-url.d.ts.map +1 -0
- package/dist/internal/vanity-url.js +58 -0
- package/dist/internal/vanity-url.js.map +1 -0
- package/dist/internal/webhooks.d.ts +58 -0
- package/dist/internal/webhooks.d.ts.map +1 -0
- package/dist/internal/webhooks.js +490 -0
- package/dist/internal/webhooks.js.map +1 -0
- package/dist/invites.d.ts +86 -0
- package/dist/invites.d.ts.map +1 -0
- package/dist/invites.js +2 -0
- package/dist/invites.js.map +1 -0
- package/dist/logging.d.ts +228 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +2 -0
- package/dist/logging.js.map +1 -0
- package/dist/member-chunks.d.ts +145 -0
- package/dist/member-chunks.d.ts.map +1 -0
- package/dist/member-chunks.js +68 -0
- package/dist/member-chunks.js.map +1 -0
- package/dist/member-search.d.ts +140 -0
- package/dist/member-search.d.ts.map +1 -0
- package/dist/member-search.js +14 -0
- package/dist/member-search.js.map +1 -0
- package/dist/message-cleanup.d.ts +227 -0
- package/dist/message-cleanup.d.ts.map +1 -0
- package/dist/message-cleanup.js +101 -0
- package/dist/message-cleanup.js.map +1 -0
- package/dist/message-errors.d.ts +172 -0
- package/dist/message-errors.d.ts.map +1 -0
- package/dist/message-errors.js +173 -0
- package/dist/message-errors.js.map +1 -0
- package/dist/message-search.d.ts +201 -0
- package/dist/message-search.d.ts.map +1 -0
- package/dist/message-search.js +2 -0
- package/dist/message-search.js.map +1 -0
- package/dist/messages.d.ts +694 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +37 -0
- package/dist/messages.js.map +1 -0
- package/dist/native-commands.d.ts +451 -0
- package/dist/native-commands.d.ts.map +1 -0
- package/dist/native-commands.js +432 -0
- package/dist/native-commands.js.map +1 -0
- package/dist/native-supervisor.d.ts +125 -0
- package/dist/native-supervisor.d.ts.map +1 -0
- package/dist/native-supervisor.js +126 -0
- package/dist/native-supervisor.js.map +1 -0
- package/dist/oauth.d.ts +298 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +128 -0
- package/dist/oauth.js.map +1 -0
- package/dist/observer.d.ts +111 -0
- package/dist/observer.d.ts.map +1 -0
- package/dist/observer.js +2 -0
- package/dist/observer.js.map +1 -0
- package/dist/pagination.d.ts +117 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +61 -0
- package/dist/pagination.js.map +1 -0
- package/dist/permissions.d.ts +73 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +2 -0
- package/dist/permissions.js.map +1 -0
- package/dist/pins.d.ts +62 -0
- package/dist/pins.d.ts.map +1 -0
- package/dist/pins.js +2 -0
- package/dist/pins.js.map +1 -0
- package/dist/presence.d.ts +84 -0
- package/dist/presence.d.ts.map +1 -0
- package/dist/presence.js +46 -0
- package/dist/presence.js.map +1 -0
- package/dist/reaction-pages.d.ts +99 -0
- package/dist/reaction-pages.d.ts.map +1 -0
- package/dist/reaction-pages.js +2 -0
- package/dist/reaction-pages.js.map +1 -0
- package/dist/reactions.d.ts +118 -0
- package/dist/reactions.d.ts.map +1 -0
- package/dist/reactions.js +2 -0
- package/dist/reactions.js.map +1 -0
- package/dist/rest.d.ts +260 -0
- package/dist/rest.d.ts.map +1 -0
- package/dist/rest.js +46 -0
- package/dist/rest.js.map +1 -0
- package/dist/role-hierarchy.d.ts +81 -0
- package/dist/role-hierarchy.d.ts.map +1 -0
- package/dist/role-hierarchy.js +53 -0
- package/dist/role-hierarchy.js.map +1 -0
- package/dist/sharding.d.ts +219 -0
- package/dist/sharding.d.ts.map +1 -0
- package/dist/sharding.js +86 -0
- package/dist/sharding.js.map +1 -0
- package/dist/supervisor.d.ts +392 -0
- package/dist/supervisor.d.ts.map +1 -0
- package/dist/supervisor.js +101 -0
- package/dist/supervisor.js.map +1 -0
- package/dist/testing.d.ts +258 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +202 -0
- package/dist/testing.js.map +1 -0
- package/dist/text.d.ts +38 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +46 -0
- package/dist/text.js.map +1 -0
- package/dist/threads.d.ts +258 -0
- package/dist/threads.d.ts.map +1 -0
- package/dist/threads.js +2 -0
- package/dist/threads.js.map +1 -0
- package/dist/users.d.ts +204 -0
- package/dist/users.d.ts.map +1 -0
- package/dist/users.js +44 -0
- package/dist/users.js.map +1 -0
- package/dist/webhooks.d.ts +423 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +68 -0
- package/dist/webhooks.js.map +1 -0
- package/esm-only.cjs +3 -0
- package/examples/starter/bot-effect.ts +17 -0
- package/examples/starter/bot.js +13 -0
- package/examples/starter/bot.ts +13 -0
- package/package.json +82 -0
- package/src/api/default/application.ts +40 -0
- package/src/api/default/attachments.ts +106 -0
- package/src/api/default/audit-logs.ts +58 -0
- package/src/api/default/bot.ts +586 -0
- package/src/api/default/cache.ts +106 -0
- package/src/api/default/channels.ts +317 -0
- package/src/api/default/client.ts +829 -0
- package/src/api/default/collectors.ts +81 -0
- package/src/api/default/commands.ts +92 -0
- package/src/api/default/direct-messages.ts +143 -0
- package/src/api/default/discovery.ts +103 -0
- package/src/api/default/emojis.ts +125 -0
- package/src/api/default/events.ts +144 -0
- package/src/api/default/gateway.ts +67 -0
- package/src/api/default/guards.ts +173 -0
- package/src/api/default/guilds.ts +271 -0
- package/src/api/default/helpers.ts +97 -0
- package/src/api/default/instance.ts +49 -0
- package/src/api/default/invites.ts +73 -0
- package/src/api/default/logging.ts +37 -0
- package/src/api/default/members.ts +550 -0
- package/src/api/default/messages.ts +1053 -0
- package/src/api/default/oauth.ts +293 -0
- package/src/api/default/permissions.ts +47 -0
- package/src/api/default/presence.ts +88 -0
- package/src/api/default/rest.ts +30 -0
- package/src/api/default/results.ts +44 -0
- package/src/api/default/roles.ts +154 -0
- package/src/api/default/stickers.ts +129 -0
- package/src/api/default/supervisor.ts +53 -0
- package/src/api/default/threads.ts +233 -0
- package/src/api/default/users.ts +82 -0
- package/src/api/default/webhook-client.ts +266 -0
- package/src/api/default/webhooks.ts +89 -0
- package/src/api/effect/application.ts +29 -0
- package/src/api/effect/attachments.ts +100 -0
- package/src/api/effect/audit-logs.ts +50 -0
- package/src/api/effect/bot.ts +546 -0
- package/src/api/effect/cache.ts +110 -0
- package/src/api/effect/channels.ts +293 -0
- package/src/api/effect/client.ts +792 -0
- package/src/api/effect/collectors.ts +103 -0
- package/src/api/effect/commands.ts +87 -0
- package/src/api/effect/direct-messages.ts +119 -0
- package/src/api/effect/discovery.ts +87 -0
- package/src/api/effect/emojis.ts +108 -0
- package/src/api/effect/events.ts +92 -0
- package/src/api/effect/failures.ts +14 -0
- package/src/api/effect/gateway.ts +63 -0
- package/src/api/effect/guards.ts +194 -0
- package/src/api/effect/guilds.ts +247 -0
- package/src/api/effect/helpers.ts +359 -0
- package/src/api/effect/hierarchy.ts +26 -0
- package/src/api/effect/instance.ts +50 -0
- package/src/api/effect/invites.ts +59 -0
- package/src/api/effect/logging.ts +37 -0
- package/src/api/effect/members.ts +521 -0
- package/src/api/effect/messages.ts +1003 -0
- package/src/api/effect/oauth.ts +208 -0
- package/src/api/effect/permissions.ts +44 -0
- package/src/api/effect/presence.ts +83 -0
- package/src/api/effect/rest.ts +27 -0
- package/src/api/effect/roles.ts +136 -0
- package/src/api/effect/service.ts +104 -0
- package/src/api/effect/stickers.ts +112 -0
- package/src/api/effect/supervisor.ts +58 -0
- package/src/api/effect/threads.ts +221 -0
- package/src/api/effect/users.ts +66 -0
- package/src/api/effect/webhook-client.ts +206 -0
- package/src/api/effect/webhooks.ts +75 -0
- package/src/api-errors.ts +985 -0
- package/src/application.ts +103 -0
- package/src/assets.ts +731 -0
- package/src/attachments.ts +469 -0
- package/src/audit-logs.ts +355 -0
- package/src/bot-runner.ts +91 -0
- package/src/builders.ts +390 -0
- package/src/cache.ts +190 -0
- package/src/channels.ts +1051 -0
- package/src/cli.ts +60 -0
- package/src/client.ts +663 -0
- package/src/collectors.ts +248 -0
- package/src/colors.ts +91 -0
- package/src/command-arguments.ts +432 -0
- package/src/command-help.ts +55 -0
- package/src/commands.ts +403 -0
- package/src/counts.ts +160 -0
- package/src/default-commands.ts +1147 -0
- package/src/default-supervisor.ts +484 -0
- package/src/discovery.ts +241 -0
- package/src/effect-testing.ts +603 -0
- package/src/effect.ts +751 -0
- package/src/embeds.ts +253 -0
- package/src/error-tools.ts +191 -0
- package/src/errors.ts +849 -0
- package/src/events.ts +830 -0
- package/src/expressions.ts +198 -0
- package/src/failures.ts +55 -0
- package/src/gateway.ts +86 -0
- package/src/guilds.ts +1108 -0
- package/src/helpers.ts +836 -0
- package/src/index.ts +796 -0
- package/src/input-validation.ts +94 -0
- package/src/instance.ts +111 -0
- package/src/internal/agents-section.ts +114 -0
- package/src/internal/application.ts +51 -0
- package/src/internal/attachment-refresh.ts +57 -0
- package/src/internal/attachments.ts +313 -0
- package/src/internal/audit-logs.ts +336 -0
- package/src/internal/audit.ts +33 -0
- package/src/internal/binding/default-adapters.ts +482 -0
- package/src/internal/binding/default.ts +155 -0
- package/src/internal/binding/execute.ts +221 -0
- package/src/internal/binding/native-adapters.ts +199 -0
- package/src/internal/binding/native.ts +72 -0
- package/src/internal/binding/operations.ts +1171 -0
- package/src/internal/bot-runner.ts +480 -0
- package/src/internal/cache-changes.ts +363 -0
- package/src/internal/cache.ts +323 -0
- package/src/internal/calls.ts +119 -0
- package/src/internal/channel-cache.ts +435 -0
- package/src/internal/channel-decode.ts +399 -0
- package/src/internal/channels.ts +874 -0
- package/src/internal/client/backoff.ts +69 -0
- package/src/internal/client/configuration-fields.ts +18 -0
- package/src/internal/client/drain.ts +150 -0
- package/src/internal/client/intake.ts +228 -0
- package/src/internal/client/lifetime.ts +165 -0
- package/src/internal/client/shard-loop.ts +586 -0
- package/src/internal/client-registry.ts +35 -0
- package/src/internal/client.ts +2448 -0
- package/src/internal/clock.ts +11 -0
- package/src/internal/code-catalogue.ts +739 -0
- package/src/internal/collector.ts +452 -0
- package/src/internal/command-arguments.ts +585 -0
- package/src/internal/command-guards.ts +96 -0
- package/src/internal/command-help.ts +156 -0
- package/src/internal/commands.ts +1319 -0
- package/src/internal/configuration.ts +529 -0
- package/src/internal/counts.ts +471 -0
- package/src/internal/decode/primitives.ts +67 -0
- package/src/internal/decode/timestamp.ts +29 -0
- package/src/internal/decode/trace.ts +65 -0
- package/src/internal/defects.ts +115 -0
- package/src/internal/effect-failures.ts +65 -0
- package/src/internal/embeds.ts +355 -0
- package/src/internal/events.ts +1345 -0
- package/src/internal/expiry-queue.ts +148 -0
- package/src/internal/expressions.ts +415 -0
- package/src/internal/failures.ts +492 -0
- package/src/internal/field-text.ts +40 -0
- package/src/internal/gateway/commands.ts +328 -0
- package/src/internal/gateway/dispatch-table.ts +383 -0
- package/src/internal/gateway/event-dispatches.ts +201 -0
- package/src/internal/gateway/frames.ts +176 -0
- package/src/internal/gateway/options.ts +144 -0
- package/src/internal/gateway/session.ts +625 -0
- package/src/internal/gateway-requests.ts +26 -0
- package/src/internal/gateway.ts +22 -0
- package/src/internal/guild-cache.ts +424 -0
- package/src/internal/guild-discovery.ts +332 -0
- package/src/internal/guild-lifecycle.ts +128 -0
- package/src/internal/guild-settings.ts +209 -0
- package/src/internal/guilds.ts +949 -0
- package/src/internal/init-command.ts +305 -0
- package/src/internal/instance.ts +645 -0
- package/src/internal/invalid-callback-return.ts +28 -0
- package/src/internal/invites.ts +234 -0
- package/src/internal/logging.ts +1007 -0
- package/src/internal/logical-scheduler.ts +139 -0
- package/src/internal/masking.ts +224 -0
- package/src/internal/member-chunks.ts +649 -0
- package/src/internal/member-search-workflow.ts +237 -0
- package/src/internal/member-search.ts +272 -0
- package/src/internal/message-cleanup.ts +515 -0
- package/src/internal/message-fields.ts +71 -0
- package/src/internal/message-search-workflow.ts +166 -0
- package/src/internal/message-search.ts +476 -0
- package/src/internal/message.ts +879 -0
- package/src/internal/metrics.ts +55 -0
- package/src/internal/moderation.ts +288 -0
- package/src/internal/multipart.ts +171 -0
- package/src/internal/node-version.ts +22 -0
- package/src/internal/oauth.ts +1146 -0
- package/src/internal/observer.ts +62 -0
- package/src/internal/operation-signal.ts +26 -0
- package/src/internal/pagination.ts +494 -0
- package/src/internal/permission-requirements.ts +359 -0
- package/src/internal/permissions.ts +417 -0
- package/src/internal/pins.ts +115 -0
- package/src/internal/presence.ts +745 -0
- package/src/internal/protocol/gateway.ts +299 -0
- package/src/internal/rate-limit-templates.ts +138 -0
- package/src/internal/rate-limits.ts +346 -0
- package/src/internal/reaction-collector.ts +499 -0
- package/src/internal/reaction-pages.ts +260 -0
- package/src/internal/reactions.ts +174 -0
- package/src/internal/rejection-scope.ts +119 -0
- package/src/internal/response-json.ts +76 -0
- package/src/internal/rest/admission.ts +210 -0
- package/src/internal/rest/attempt.ts +617 -0
- package/src/internal/rest/classify.ts +391 -0
- package/src/internal/rest/download.ts +658 -0
- package/src/internal/rest/options.ts +145 -0
- package/src/internal/rest/owner.ts +1828 -0
- package/src/internal/rest/request.ts +289 -0
- package/src/internal/rest.ts +9 -0
- package/src/internal/retention-age.ts +33 -0
- package/src/internal/role-hierarchy-workflow.ts +150 -0
- package/src/internal/role-hierarchy.ts +93 -0
- package/src/internal/scheduled-tasks.ts +217 -0
- package/src/internal/sharding.ts +270 -0
- package/src/internal/starter-project.ts +251 -0
- package/src/internal/suggest.ts +50 -0
- package/src/internal/supervisor.ts +2253 -0
- package/src/internal/testing/discovery.ts +23 -0
- package/src/internal/testing/errors.ts +67 -0
- package/src/internal/testing/fixtures.ts +714 -0
- package/src/internal/testing/gateway.ts +305 -0
- package/src/internal/testing/harness.ts +328 -0
- package/src/internal/testing/http.ts +395 -0
- package/src/internal/testing/types.ts +240 -0
- package/src/internal/testing/wait.ts +63 -0
- package/src/internal/thread-events.ts +128 -0
- package/src/internal/threads.ts +718 -0
- package/src/internal/transfer-source.ts +359 -0
- package/src/internal/transport/http.ts +46 -0
- package/src/internal/transport/index.ts +23 -0
- package/src/internal/transport/socket.ts +71 -0
- package/src/internal/transport/user-agent.ts +46 -0
- package/src/internal/uploads.ts +111 -0
- package/src/internal/user-cache.ts +294 -0
- package/src/internal/users.ts +402 -0
- package/src/internal/vanity-url.ts +80 -0
- package/src/internal/webhooks.ts +690 -0
- package/src/invites.ts +87 -0
- package/src/logging.ts +247 -0
- package/src/member-chunks.ts +195 -0
- package/src/member-search.ts +152 -0
- package/src/message-cleanup.ts +308 -0
- package/src/message-errors.ts +245 -0
- package/src/message-search.ts +213 -0
- package/src/messages.ts +768 -0
- package/src/native-commands.ts +1249 -0
- package/src/native-supervisor.ts +345 -0
- package/src/oauth.ts +413 -0
- package/src/observer.ts +118 -0
- package/src/pagination.ts +172 -0
- package/src/permissions.ts +74 -0
- package/src/pins.ts +65 -0
- package/src/presence.ts +124 -0
- package/src/reaction-pages.ts +106 -0
- package/src/reactions.ts +126 -0
- package/src/rest.ts +282 -0
- package/src/role-hierarchy.ts +127 -0
- package/src/sharding.ts +272 -0
- package/src/supervisor.ts +460 -0
- package/src/testing.ts +424 -0
- package/src/text.ts +76 -0
- package/src/threads.ts +274 -0
- package/src/users.ts +237 -0
- package/src/webhooks.ts +512 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory HTTP transport for test clients: Instance discovery, registered REST responses and the request record.
|
|
3
|
+
* Invariant: No request leaves the process. The hosted discovery bootstrap is answered directly, every other request is
|
|
4
|
+
* recorded without its Authorization header or webhook token and answered by the newest matching registration. An
|
|
5
|
+
* unmatched message send or edit receives an echoed bot message, and any other unmatched request receives a
|
|
6
|
+
* Fluxer-shaped 404 together with a Warn record. Cancellation settles a pending handler's request at once with the
|
|
7
|
+
* signal's reason.
|
|
8
|
+
* Implements [SDK contracts: Delivery, requests and caches](/docs/SDK-CONTRACTS.md#delivery-requests-and-caches)
|
|
9
|
+
*/
|
|
10
|
+
import { ClientClosedError, ConfigurationError } from "#sdk/errors";
|
|
11
|
+
import { hostedDiscoveryDocument, hostedDiscoveryUrl } from "./discovery.js";
|
|
12
|
+
import { fixtureTimestamp } from "./fixtures.js";
|
|
13
|
+
import { timedWait, waitTimeout } from "./wait.js";
|
|
14
|
+
const apiBase = `${hostedDiscoveryDocument.endpoints.api_public}/v1`;
|
|
15
|
+
/** Hosted discovery with presigned uploads off, so an attachment upload arrives as one recorded multipart request */
|
|
16
|
+
const testDiscoveryDocument = Object.freeze({
|
|
17
|
+
...hostedDiscoveryDocument,
|
|
18
|
+
features: Object.freeze({ presigned_attachment_uploads: false }),
|
|
19
|
+
});
|
|
20
|
+
const nullBodyStatuses = new Set([204, 205, 304]);
|
|
21
|
+
function redactWebhookToken(text) {
|
|
22
|
+
return text.replace(/(\/webhooks\/\d+\/)[^/?#]+/g, "$1[redacted]");
|
|
23
|
+
}
|
|
24
|
+
const isMessageSend = (request) => request.method === "POST" && pathPattern("/channels/:channel/messages")(request.path);
|
|
25
|
+
const isMessageEdit = (request) => request.method === "PATCH" && pathPattern("/channels/:channel/messages/:message")(request.path);
|
|
26
|
+
/** Turn a request embed into the response shape, which adds the rich type, media flags and field inline defaults */
|
|
27
|
+
function echoedEmbed(embed) {
|
|
28
|
+
if (typeof embed !== "object" || embed === null)
|
|
29
|
+
return embed;
|
|
30
|
+
const object = (value, defaults) => typeof value === "object" && value !== null ? { ...defaults, ...value } : value;
|
|
31
|
+
const { image, thumbnail, fields, ...rest } = embed;
|
|
32
|
+
return {
|
|
33
|
+
type: "rich",
|
|
34
|
+
...rest,
|
|
35
|
+
...(image === undefined ? {} : { image: object(image, { flags: 0 }) }),
|
|
36
|
+
...(thumbnail === undefined ? {} : { thumbnail: object(thumbnail, { flags: 0 }) }),
|
|
37
|
+
...(Array.isArray(fields) ? { fields: fields.map((field) => object(field, { inline: false })) } : {}),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** Build the message a send or edit request describes, echoing the fields a bot usually sets */
|
|
41
|
+
function echoedMessage(replies, request, edit) {
|
|
42
|
+
const [, , channelId, , messageId] = request.path.split("/");
|
|
43
|
+
const body = typeof request.body === "object" && request.body !== null ? request.body : {};
|
|
44
|
+
const { guild_id: _, ...message } = replies.fixtures.message({
|
|
45
|
+
id: edit ? messageId : replies.fixtures.nextId(),
|
|
46
|
+
channel_id: channelId,
|
|
47
|
+
author: replies.author,
|
|
48
|
+
content: typeof body.content === "string" ? body.content : "",
|
|
49
|
+
embeds: Array.isArray(body.embeds) ? body.embeds.map(echoedEmbed) : [],
|
|
50
|
+
flags: typeof body.flags === "number" ? body.flags : 0,
|
|
51
|
+
tts: body.tts === true,
|
|
52
|
+
edited_timestamp: edit ? fixtureTimestamp : null,
|
|
53
|
+
});
|
|
54
|
+
return Object.freeze(message);
|
|
55
|
+
}
|
|
56
|
+
/** Compile a string path pattern, where :name matches one segment */
|
|
57
|
+
function pathPattern(pattern) {
|
|
58
|
+
if (/^https?:\/\//.test(pattern))
|
|
59
|
+
return (path) => path === pattern;
|
|
60
|
+
if (!pattern.startsWith("/"))
|
|
61
|
+
throw new ConfigurationError("configuration", "Test request paths must start with / or be absolute http URLs");
|
|
62
|
+
const expected = pattern.split("/");
|
|
63
|
+
return (path) => {
|
|
64
|
+
const actual = path.split("/");
|
|
65
|
+
return (actual.length === expected.length &&
|
|
66
|
+
expected.every((segment, index) => segment.startsWith(":") && segment.length > 1 ? actual[index] !== "" : segment === actual[index]));
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function methodPattern(method) {
|
|
70
|
+
if (method === undefined)
|
|
71
|
+
return undefined;
|
|
72
|
+
if (typeof method !== "string" || !/^[A-Za-z]+$/.test(method))
|
|
73
|
+
throw new ConfigurationError("configuration", "Test request methods must be HTTP method names such as GET");
|
|
74
|
+
const expected = method.toUpperCase();
|
|
75
|
+
return (request) => request.method === expected;
|
|
76
|
+
}
|
|
77
|
+
function compileMatcher(matcher) {
|
|
78
|
+
if (typeof matcher === "function")
|
|
79
|
+
return (request) => matcher(request) === true;
|
|
80
|
+
if (matcher instanceof RegExp)
|
|
81
|
+
return (request) => new RegExp(matcher.source, matcher.flags).test(request.path);
|
|
82
|
+
let method;
|
|
83
|
+
let path;
|
|
84
|
+
if (typeof matcher === "string") {
|
|
85
|
+
const parts = matcher.trim().split(/\s+/);
|
|
86
|
+
if (parts.length > 2 || parts[0] === "")
|
|
87
|
+
throw new ConfigurationError("configuration", 'Test request matchers must read "METHOD /path" or "/path"');
|
|
88
|
+
[method, path] = parts.length === 2 ? parts : [undefined, parts[0]];
|
|
89
|
+
}
|
|
90
|
+
else if (typeof matcher === "object" && matcher !== null) {
|
|
91
|
+
method = matcher.method;
|
|
92
|
+
path = matcher.path;
|
|
93
|
+
}
|
|
94
|
+
else
|
|
95
|
+
throw new ConfigurationError("configuration", "Test request matchers must be a string, RegExp, { method, path } object or function");
|
|
96
|
+
const methodMatches = methodPattern(method);
|
|
97
|
+
const pathMatches = path instanceof RegExp
|
|
98
|
+
? (value) => new RegExp(path.source, path.flags).test(value)
|
|
99
|
+
: typeof path === "string"
|
|
100
|
+
? pathPattern(path)
|
|
101
|
+
: undefined;
|
|
102
|
+
if (!pathMatches)
|
|
103
|
+
throw new ConfigurationError("configuration", "Test request matcher paths must be strings or RegExps");
|
|
104
|
+
return (request) => (methodMatches?.(request) ?? true) && pathMatches(request.path);
|
|
105
|
+
}
|
|
106
|
+
function validateResponse(response) {
|
|
107
|
+
if (typeof response === "function")
|
|
108
|
+
return;
|
|
109
|
+
if (response instanceof Response) {
|
|
110
|
+
if (response.bodyUsed)
|
|
111
|
+
throw new ConfigurationError("configuration", "A registered test Response must not have a consumed body");
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (typeof response !== "object" || response === null)
|
|
115
|
+
throw new ConfigurationError("configuration", "Test responses must be an object, a Response or a handler function");
|
|
116
|
+
checkDescription(response);
|
|
117
|
+
}
|
|
118
|
+
function checkDescription(response) {
|
|
119
|
+
const { status, headers, body } = response;
|
|
120
|
+
if (status !== undefined && (!Number.isSafeInteger(status) || status < 200 || status > 599))
|
|
121
|
+
throw new ConfigurationError("configuration", "Test response status must be an integer from 200 through 599");
|
|
122
|
+
if (status !== undefined && nullBodyStatuses.has(status) && body !== undefined)
|
|
123
|
+
throw new ConfigurationError("configuration", `Test response status ${status} cannot have a body`);
|
|
124
|
+
if (headers !== undefined &&
|
|
125
|
+
(typeof headers !== "object" ||
|
|
126
|
+
headers === null ||
|
|
127
|
+
Object.values(headers).some((value) => typeof value !== "string")))
|
|
128
|
+
throw new ConfigurationError("configuration", "Test response headers must be an object of strings");
|
|
129
|
+
}
|
|
130
|
+
function toResponse(response) {
|
|
131
|
+
if (response instanceof Response)
|
|
132
|
+
return response;
|
|
133
|
+
if (typeof response !== "object" || response === null)
|
|
134
|
+
throw new TypeError("A test response handler must return a response object or a Response");
|
|
135
|
+
checkDescription(response);
|
|
136
|
+
const { body, headers } = response;
|
|
137
|
+
const status = response.status ?? (body === undefined ? 204 : 200);
|
|
138
|
+
return new Response(body === undefined ? null : JSON.stringify(body), {
|
|
139
|
+
status,
|
|
140
|
+
headers: body === undefined ? { ...headers } : { "content-type": "application/json", ...headers },
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/** Read the recorded body and attachment parts of one request, consuming any streamed body */
|
|
144
|
+
async function readBody(request) {
|
|
145
|
+
if (request.body === null)
|
|
146
|
+
return { body: undefined, files: [] };
|
|
147
|
+
const type = request.headers.get("content-type") ?? "";
|
|
148
|
+
if (type.startsWith("multipart/form-data")) {
|
|
149
|
+
const form = await request.formData();
|
|
150
|
+
let body;
|
|
151
|
+
const files = [];
|
|
152
|
+
for (const [field, value] of form) {
|
|
153
|
+
if (typeof value === "string") {
|
|
154
|
+
if (field === "payload_json")
|
|
155
|
+
body = parseJson(value);
|
|
156
|
+
}
|
|
157
|
+
else
|
|
158
|
+
files.push({ field, filename: value.name, contentType: value.type, size: value.size });
|
|
159
|
+
}
|
|
160
|
+
return { body, files };
|
|
161
|
+
}
|
|
162
|
+
const text = await request.text();
|
|
163
|
+
if (text === "")
|
|
164
|
+
return { body: undefined, files: [] };
|
|
165
|
+
return { body: type.includes("json") ? parseJson(text) : text, files: [] };
|
|
166
|
+
}
|
|
167
|
+
function parseJson(text) {
|
|
168
|
+
try {
|
|
169
|
+
return JSON.parse(text);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
// allow-silent: A body that is not valid JSON stays visible to the test as its text
|
|
173
|
+
return text;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function aborted(signal) {
|
|
177
|
+
if (!signal)
|
|
178
|
+
return undefined;
|
|
179
|
+
return new Promise((_resolve, reject) => {
|
|
180
|
+
if (signal.aborted)
|
|
181
|
+
reject(signal.reason);
|
|
182
|
+
else
|
|
183
|
+
signal.addEventListener("abort", () => reject(signal.reason), { once: true });
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/** The fake HTTP side of one test client */
|
|
187
|
+
export class TestHttp {
|
|
188
|
+
record;
|
|
189
|
+
replies;
|
|
190
|
+
#routes = [];
|
|
191
|
+
#requests = [];
|
|
192
|
+
/** Pending next calls of every route, failed with ClientClosedError when the transport closes */
|
|
193
|
+
#waits = new Set();
|
|
194
|
+
/** Messages described by recorded sends, built once when the automatic reply or sentMessages first needs them */
|
|
195
|
+
#sent = new WeakMap();
|
|
196
|
+
#inFlight = 0;
|
|
197
|
+
#closed = false;
|
|
198
|
+
constructor(record, replies) {
|
|
199
|
+
this.record = record;
|
|
200
|
+
this.replies = replies;
|
|
201
|
+
}
|
|
202
|
+
/** Requests received but not yet answered, including ones whose response handler is still running */
|
|
203
|
+
get inFlight() {
|
|
204
|
+
return this.#inFlight;
|
|
205
|
+
}
|
|
206
|
+
respond(matcher, response) {
|
|
207
|
+
const matches = compileMatcher(matcher);
|
|
208
|
+
validateResponse(response);
|
|
209
|
+
const route = { matches, response, answered: [], taken: 0, waiters: new Set(), active: true };
|
|
210
|
+
this.#routes.push(route);
|
|
211
|
+
return Object.freeze({
|
|
212
|
+
requests: () => Object.freeze([...route.answered]),
|
|
213
|
+
next: (options, signal) => {
|
|
214
|
+
const timeoutMs = waitTimeout(options);
|
|
215
|
+
if (route.taken < route.answered.length)
|
|
216
|
+
return Promise.resolve(route.answered[route.taken++]);
|
|
217
|
+
if (this.#closed)
|
|
218
|
+
return Promise.reject(new ClientClosedError());
|
|
219
|
+
return timedWait("next", timeoutMs, signal, (settle) => {
|
|
220
|
+
const deliver = (request) => settle({ value: request });
|
|
221
|
+
const fail = (error) => settle({ error });
|
|
222
|
+
route.waiters.add(deliver);
|
|
223
|
+
this.#waits.add(fail);
|
|
224
|
+
return () => {
|
|
225
|
+
route.waiters.delete(deliver);
|
|
226
|
+
this.#waits.delete(fail);
|
|
227
|
+
};
|
|
228
|
+
});
|
|
229
|
+
},
|
|
230
|
+
remove: () => {
|
|
231
|
+
route.active = false;
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
/** Requests received so far, in order, excluding the discovery bootstrap */
|
|
236
|
+
requests() {
|
|
237
|
+
return Object.freeze([...this.#requests]);
|
|
238
|
+
}
|
|
239
|
+
/** The messages described by the message sends among these requests, in order */
|
|
240
|
+
sentMessages(requests) {
|
|
241
|
+
return Object.freeze(requests.filter(isMessageSend).map((request) => this.#sentMessage(request)));
|
|
242
|
+
}
|
|
243
|
+
#sentMessage(request) {
|
|
244
|
+
let message = this.#sent.get(request);
|
|
245
|
+
if (!message)
|
|
246
|
+
this.#sent.set(request, (message = echoedMessage(this.replies, request, false)));
|
|
247
|
+
return message;
|
|
248
|
+
}
|
|
249
|
+
/** The fetch-compatible function passed to the client's transport option */
|
|
250
|
+
fetch = async (url, init) => {
|
|
251
|
+
this.#inFlight++;
|
|
252
|
+
try {
|
|
253
|
+
return await this.#answer(url, init);
|
|
254
|
+
}
|
|
255
|
+
finally {
|
|
256
|
+
this.#inFlight--;
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
#answer = async (url, init) => {
|
|
260
|
+
if (this.#closed)
|
|
261
|
+
throw new Error("The test client has shut down, so its transport accepts no requests");
|
|
262
|
+
const cancelled = aborted(init.signal);
|
|
263
|
+
// A cancelled request must settle even while a handler or body read is still pending
|
|
264
|
+
const settle = (work) => (cancelled ? Promise.race([work, cancelled]) : work);
|
|
265
|
+
cancelled?.catch(() => {
|
|
266
|
+
// allow-silent: The same rejection is observed through the race below when cancellation wins
|
|
267
|
+
});
|
|
268
|
+
if (url === hostedDiscoveryUrl)
|
|
269
|
+
return Response.json(testDiscoveryDocument);
|
|
270
|
+
const request = new Request(url, init);
|
|
271
|
+
const { body, files } = await settle(readBody(request));
|
|
272
|
+
const target = new URL(url);
|
|
273
|
+
const headers = {};
|
|
274
|
+
request.headers.forEach((value, name) => {
|
|
275
|
+
if (name !== "authorization")
|
|
276
|
+
headers[name] = value;
|
|
277
|
+
});
|
|
278
|
+
const withoutQuery = `${target.origin}${target.pathname}`;
|
|
279
|
+
const recordedUrl = redactWebhookToken(url);
|
|
280
|
+
const path = redactWebhookToken(withoutQuery.startsWith(`${apiBase}/`) ? withoutQuery.slice(apiBase.length) : withoutQuery);
|
|
281
|
+
const base = {
|
|
282
|
+
method: request.method.toUpperCase(),
|
|
283
|
+
url: recordedUrl,
|
|
284
|
+
path,
|
|
285
|
+
query: Object.freeze(Object.fromEntries(target.searchParams)),
|
|
286
|
+
headers: Object.freeze(headers),
|
|
287
|
+
body,
|
|
288
|
+
files: Object.freeze(files),
|
|
289
|
+
};
|
|
290
|
+
const route = this.#routes.findLast((candidate) => candidate.active && candidate.matches({ ...base, matched: true }));
|
|
291
|
+
const recorded = Object.freeze({ ...base, matched: route !== undefined });
|
|
292
|
+
this.#requests.push(recorded);
|
|
293
|
+
if (!route && isMessageSend(recorded))
|
|
294
|
+
return Response.json(this.#sentMessage(recorded));
|
|
295
|
+
if (!route && isMessageEdit(recorded))
|
|
296
|
+
return Response.json(echoedMessage(this.replies, recorded, true));
|
|
297
|
+
if (!route) {
|
|
298
|
+
this.record({
|
|
299
|
+
level: "warn",
|
|
300
|
+
category: "rest",
|
|
301
|
+
code: "testing.unmatchedRequest",
|
|
302
|
+
message: `No test response matches ${recorded.method} ${recorded.path}, so the request received HTTP 404. Register a matching response with rest.respond`,
|
|
303
|
+
status: 404,
|
|
304
|
+
fields: { method: recorded.method, path: recorded.path },
|
|
305
|
+
});
|
|
306
|
+
return Response.json({ code: "NOT_FOUND", message: `No test response matches ${recorded.method} ${recorded.path}` }, { status: 404 });
|
|
307
|
+
}
|
|
308
|
+
route.answered.push(recorded);
|
|
309
|
+
const waiter = route.waiters.values().next().value;
|
|
310
|
+
if (waiter) {
|
|
311
|
+
route.taken++;
|
|
312
|
+
waiter(recorded);
|
|
313
|
+
}
|
|
314
|
+
const { response } = route;
|
|
315
|
+
// A registered Response answers every match, so each request receives its own unread copy
|
|
316
|
+
if (typeof response !== "function")
|
|
317
|
+
return response instanceof Response ? response.clone() : toResponse(response);
|
|
318
|
+
try {
|
|
319
|
+
return toResponse(await settle(Promise.resolve(response(recorded))));
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
if (init.signal?.aborted && error === init.signal.reason)
|
|
323
|
+
throw error;
|
|
324
|
+
this.record({
|
|
325
|
+
level: "error",
|
|
326
|
+
category: "rest",
|
|
327
|
+
code: "testing.responderFailed",
|
|
328
|
+
message: `The test response handler for ${recorded.method} ${recorded.path} failed, so the request failed as a network error`,
|
|
329
|
+
fields: { method: recorded.method, path: recorded.path },
|
|
330
|
+
error: {
|
|
331
|
+
origin: "application",
|
|
332
|
+
name: error instanceof Error ? error.name : "Error",
|
|
333
|
+
message: error instanceof Error ? error.message : String(error),
|
|
334
|
+
...(error instanceof Error && error.stack !== undefined ? { stack: error.stack } : {}),
|
|
335
|
+
},
|
|
336
|
+
});
|
|
337
|
+
throw error;
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
/** Refuse later requests and fail pending next calls with ClientClosedError */
|
|
341
|
+
close() {
|
|
342
|
+
this.#closed = true;
|
|
343
|
+
for (const fail of this.#waits)
|
|
344
|
+
fail(new ClientClosedError());
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/internal/testing/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public types of the testing entry points, shared by the default and native test clients.
|
|
3
|
+
* Invariant: This module declares types only and imports nothing that needs Node.js or Effect declarations, so both
|
|
4
|
+
* testing entry points compile in consumers that lack those type packages, as their main entry points do.
|
|
5
|
+
* Implements [SDK contracts: Delivery, requests and caches](/docs/SDK-CONTRACTS.md#delivery-requests-and-caches)
|
|
6
|
+
*/
|
|
7
|
+
import type { WireMessage, WireOverrides, WireUser } from "./fixtures.js";
|
|
8
|
+
/**
|
|
9
|
+
* Settings that only test clients accept, alongside the usual client options
|
|
10
|
+
*
|
|
11
|
+
* @category Testing
|
|
12
|
+
*/
|
|
13
|
+
export interface TestSettings {
|
|
14
|
+
/** Token passed to the client, default the fixture token. The fake transport never sends it anywhere */
|
|
15
|
+
readonly token?: string;
|
|
16
|
+
/** Bot account the test gateway reports in READY, default the test client's fixtures.botUser() */
|
|
17
|
+
readonly user?: WireUser;
|
|
18
|
+
/**
|
|
19
|
+
* Heartbeat interval in milliseconds sent in HELLO, default 41,250 as on hosted Fluxer.
|
|
20
|
+
* The client heartbeats on its own timer, which shutdown stops
|
|
21
|
+
*/
|
|
22
|
+
readonly heartbeatIntervalMs?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Choose the shard that receives an emitted dispatch
|
|
26
|
+
*
|
|
27
|
+
* @category Testing
|
|
28
|
+
*/
|
|
29
|
+
export interface TestEmitOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Local shard ID that receives the dispatch.
|
|
32
|
+
* By default a payload with a guild_id goes to the shard Fluxer routes that community to, (guild_id >> 22) % totalShards,
|
|
33
|
+
* and any other payload goes to shard 0, which receives direct-message traffic
|
|
34
|
+
*/
|
|
35
|
+
readonly shardId?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Choose how the test gateway ends one shard's connection
|
|
39
|
+
*
|
|
40
|
+
* @category Testing
|
|
41
|
+
*/
|
|
42
|
+
export interface TestDisconnectOptions {
|
|
43
|
+
/** Local shard ID whose connection closes, default 0 */
|
|
44
|
+
readonly shardId?: number;
|
|
45
|
+
/**
|
|
46
|
+
* WebSocket or gateway close code the client receives, default 4000 (unknown error), after which the SDK reconnects
|
|
47
|
+
* and resumes. A fatal code such as 4004 ends the client's connection lifetime instead
|
|
48
|
+
*/
|
|
49
|
+
readonly code?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* One gateway command a client sent to the test gateway, in send order.
|
|
53
|
+
* Identify and Resume carry "[redacted]" in place of the token
|
|
54
|
+
*
|
|
55
|
+
* @category Testing
|
|
56
|
+
*/
|
|
57
|
+
export interface TestGatewayCommand {
|
|
58
|
+
/** Shard that sent the command, or null when it came before the socket identified or resumed */
|
|
59
|
+
readonly shardId: number | null;
|
|
60
|
+
/** Gateway opcode, such as 2 for Identify, 3 for Presence Update or 8 for Request Guild Members */
|
|
61
|
+
readonly op: number;
|
|
62
|
+
/** Command data as sent, parsed from JSON */
|
|
63
|
+
readonly d: unknown;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* One attachment part of a recorded multipart request
|
|
67
|
+
*
|
|
68
|
+
* @category Testing
|
|
69
|
+
*/
|
|
70
|
+
export interface TestRequestFile {
|
|
71
|
+
/** Form field name, such as files[0] */
|
|
72
|
+
readonly field: string;
|
|
73
|
+
/** Uploaded file name */
|
|
74
|
+
readonly filename: string;
|
|
75
|
+
/** Declared content type */
|
|
76
|
+
readonly contentType: string;
|
|
77
|
+
/** Size in bytes */
|
|
78
|
+
readonly size: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* One HTTP request a test client sent, as recorded by the test transport and passed to response handlers.
|
|
82
|
+
* The record never contains the Authorization header, and a webhook token in the path reads "[redacted]"
|
|
83
|
+
*
|
|
84
|
+
* @category Testing
|
|
85
|
+
*/
|
|
86
|
+
export interface TestRequest {
|
|
87
|
+
/** Upper-case HTTP method */
|
|
88
|
+
readonly method: string;
|
|
89
|
+
/** Absolute request URL, including the query string */
|
|
90
|
+
readonly url: string;
|
|
91
|
+
/**
|
|
92
|
+
* Fluxer API path after the /v1 prefix and without the query string, such as /channels/1/messages.
|
|
93
|
+
* Requests to other origins, such as media downloads, use the absolute URL without its query string
|
|
94
|
+
*/
|
|
95
|
+
readonly path: string;
|
|
96
|
+
/** Query parameters. A repeated parameter keeps its last value */
|
|
97
|
+
readonly query: Readonly<Record<string, string>>;
|
|
98
|
+
/** Request headers with lower-case names, without authorization */
|
|
99
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
100
|
+
/**
|
|
101
|
+
* Request body: Parsed JSON for JSON requests, the parsed payload_json part of a multipart upload, the text of any
|
|
102
|
+
* other body, or undefined when the request has none
|
|
103
|
+
*/
|
|
104
|
+
readonly body: unknown;
|
|
105
|
+
/** Attachment parts of a multipart upload, empty for other requests */
|
|
106
|
+
readonly files: readonly TestRequestFile[];
|
|
107
|
+
/**
|
|
108
|
+
* Whether a registered response answered the request. False means the test transport answered it itself, with the
|
|
109
|
+
* automatic reply to a message send or edit, or otherwise with the default 404
|
|
110
|
+
*/
|
|
111
|
+
readonly matched: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Select the requests a registered response answers.
|
|
115
|
+
* A string is "METHOD /path" or "/path" for any method, where a :name segment matches any single path segment, such as
|
|
116
|
+
* "POST /channels/:id/messages". A string starting with http matches an absolute URL on another origin.
|
|
117
|
+
* A RegExp is tested against the path. An object combines an optional method with a string or RegExp path,
|
|
118
|
+
* and a function decides from the whole request
|
|
119
|
+
*
|
|
120
|
+
* @category Testing
|
|
121
|
+
*/
|
|
122
|
+
export type TestRequestMatcher = string | RegExp | {
|
|
123
|
+
/** HTTP method to match, case-insensitive. Omit it to match every method */
|
|
124
|
+
readonly method?: string;
|
|
125
|
+
/** Path pattern with the string or RegExp rules above */
|
|
126
|
+
readonly path: string | RegExp;
|
|
127
|
+
} | ((request: TestRequest) => boolean);
|
|
128
|
+
/**
|
|
129
|
+
* A response description. Omitted fields default to status 200 with a JSON body, or status 204 when body is omitted.
|
|
130
|
+
* A Response object is used unchanged for bodies that are not JSON
|
|
131
|
+
*
|
|
132
|
+
* @category Testing
|
|
133
|
+
*/
|
|
134
|
+
export type TestResponse = {
|
|
135
|
+
/** HTTP status from 200 through 599 */
|
|
136
|
+
readonly status?: number;
|
|
137
|
+
/** Response headers, such as Retry-After or X-RateLimit-Bucket */
|
|
138
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
139
|
+
/** Value sent as the JSON response body, usually a wire fixture. Omit it for an empty body */
|
|
140
|
+
readonly body?: unknown;
|
|
141
|
+
} | Response;
|
|
142
|
+
/**
|
|
143
|
+
* Compute a response from the recorded request. A returned promise may settle later, and a handler that throws or
|
|
144
|
+
* rejects makes the request fail as a network error, which the client reports like any transport failure
|
|
145
|
+
*
|
|
146
|
+
* @category Testing
|
|
147
|
+
*/
|
|
148
|
+
export type TestResponder = (request: TestRequest) => TestResponse | Promise<TestResponse>;
|
|
149
|
+
/**
|
|
150
|
+
* One registered response. Registrations are searched newest first, so a later registration overrides an earlier one
|
|
151
|
+
* for the requests both match
|
|
152
|
+
*
|
|
153
|
+
* @category Testing
|
|
154
|
+
*/
|
|
155
|
+
export interface TestRoute {
|
|
156
|
+
/** Requests this registration answered so far, in order */
|
|
157
|
+
requests(): readonly TestRequest[];
|
|
158
|
+
/**
|
|
159
|
+
* Resolve with the next request this registration answers. Each call returns a different request, in order, so
|
|
160
|
+
* a request that arrived before the call is returned at once.
|
|
161
|
+
* Without timeoutMs the wait has no SDK deadline, so the test runner's own timeout ends a test whose request never
|
|
162
|
+
* arrives. With timeoutMs the promise rejects with TestTimeoutError when no request arrives in time.
|
|
163
|
+
* It rejects with ClientClosedError when the test client shuts down first. Invalid options throw ConfigurationError
|
|
164
|
+
*/
|
|
165
|
+
next(options?: TestWaitOptions): Promise<TestRequest>;
|
|
166
|
+
/** Stop answering requests. Earlier matching registrations and the default 404 apply again */
|
|
167
|
+
remove(): void;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Limit how long a test wait, such as TestRoute.next, idle or say, may take
|
|
171
|
+
*
|
|
172
|
+
* @category Testing
|
|
173
|
+
*/
|
|
174
|
+
export interface TestWaitOptions {
|
|
175
|
+
/**
|
|
176
|
+
* Milliseconds before the wait fails with TestTimeoutError, an integer from 1 through 2,147,483,647.
|
|
177
|
+
* Omit it to wait without an SDK deadline, so the test runner's own timeout bounds a wait that never settles.
|
|
178
|
+
* The timeout uses real timers, so it still fires when a test fakes timers
|
|
179
|
+
*/
|
|
180
|
+
readonly timeoutMs?: number;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Choose the message a test bot's say delivers and how long say waits for the bot to settle
|
|
184
|
+
*
|
|
185
|
+
* @category Testing
|
|
186
|
+
*/
|
|
187
|
+
export interface TestSayOptions extends TestWaitOptions {
|
|
188
|
+
/**
|
|
189
|
+
* Wire fields that replace the defaults of the delivered MESSAGE_CREATE payload, as in fixtures.message.
|
|
190
|
+
* By default the message comes from the fixture set's human author in its default channel and community
|
|
191
|
+
*/
|
|
192
|
+
readonly message?: WireOverrides<WireMessage>;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Register fake Fluxer HTTP API responses for a test client.
|
|
196
|
+
* Without a registration, message sends (POST /channels/:id/messages) and edits (PATCH /channels/:id/messages/:id)
|
|
197
|
+
* receive an automatic reply: A message by the bot account that echoes the request's content, embeds, flags and tts,
|
|
198
|
+
* with a new fixture ID for a send and the edited ID for an edit. Other unmatched requests receive a Fluxer-shaped 404
|
|
199
|
+
*
|
|
200
|
+
* @category Testing
|
|
201
|
+
*/
|
|
202
|
+
export interface TestRest {
|
|
203
|
+
/**
|
|
204
|
+
* Answer matching requests with a fixed response or a handler's response until the registration is removed.
|
|
205
|
+
* The newest matching registration wins, including over the automatic message replies.
|
|
206
|
+
* Invalid matchers or responses throw ConfigurationError
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```ts
|
|
210
|
+
* import { createTestClient } from "@neontechspace/fluxerly/testing"
|
|
211
|
+
* export function respondExample() {
|
|
212
|
+
* const test = createTestClient()
|
|
213
|
+
* test.rest.respond("GET /users/@me", { body: test.fixtures.botUser() })
|
|
214
|
+
* return test.rest.respond("POST /channels/:id/messages", (request) => ({
|
|
215
|
+
* body: test.fixtures.message({ content: String((request.body as { content?: unknown }).content) }),
|
|
216
|
+
* }))
|
|
217
|
+
* }
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
respond(matcher: TestRequestMatcher, response: TestResponse | TestResponder): TestRoute;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/internal/testing/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/internal/testing/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TestTimeoutError } from "./errors.js";
|
|
2
|
+
import type { TestWaitOptions } from "./types.js";
|
|
3
|
+
/** Settle a pending wait with a value or a failure */
|
|
4
|
+
export type WaitOutcome<A> = {
|
|
5
|
+
readonly value: A;
|
|
6
|
+
} | {
|
|
7
|
+
readonly error: unknown;
|
|
8
|
+
};
|
|
9
|
+
/** Read and check a wait's timeout option, undefined when the wait has no deadline. Misuse throws ConfigurationError */
|
|
10
|
+
export declare function waitTimeout(options: TestWaitOptions | undefined): number | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Start a wait and fail it with TestTimeoutError after timeoutMs when one is set, or with the signal's reason when
|
|
13
|
+
* aborted. The start function receives the settle callback and returns its own cleanup
|
|
14
|
+
*/
|
|
15
|
+
export declare function timedWait<A>(wait: TestTimeoutError["wait"], timeoutMs: number | undefined, signal: AbortSignal | undefined, start: (settle: (outcome: WaitOutcome<A>) => void) => () => void): Promise<A>;
|
|
16
|
+
//# sourceMappingURL=wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/internal/testing/wait.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,sDAAsD;AACtD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAEhF,wHAAwH;AACxH,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUpF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACvB,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,GACjE,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
|