@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,529 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client configuration validation: One immutable snapshot of every client option.
|
|
3
|
+
* Invariant: Validation reads caller options once and opens no socket or background work.
|
|
4
|
+
* Implements [SDK contracts: Connection and recovery](/docs/SDK-CONTRACTS.md#connection-and-recovery)
|
|
5
|
+
*/
|
|
6
|
+
import * as Effect from "effect/Effect"
|
|
7
|
+
import * as Redacted from "effect/Redacted"
|
|
8
|
+
import * as Schedule from "effect/Schedule"
|
|
9
|
+
import { ConfigurationError } from "#sdk/errors"
|
|
10
|
+
import type { MessageCacheSettings, ResourceCacheSettings } from "#sdk/cache"
|
|
11
|
+
import type { Message, MessageCore, MessageFields, SelectedMessage } from "#sdk/messages"
|
|
12
|
+
import { createMessageDecoder, snapshotMessageFields, type MessageDecoder } from "./message-fields.js"
|
|
13
|
+
import { record } from "./decode/primitives.js"
|
|
14
|
+
import { readCaller, suspendMarked } from "./defects.js"
|
|
15
|
+
import { loggingConfiguration, type ClientLogger } from "./logging.js"
|
|
16
|
+
import { setObserver } from "./observer.js"
|
|
17
|
+
import type { Observer } from "#sdk/observer"
|
|
18
|
+
import type { ResourceConfiguration } from "./guild-cache.js"
|
|
19
|
+
import { parseSharding, type ShardPlan } from "./sharding.js"
|
|
20
|
+
import type { IdentifyCoordinator, SessionStore } from "#sdk/sharding"
|
|
21
|
+
import { defaultRecovery, type RecoveryConfiguration } from "./client/backoff.js"
|
|
22
|
+
import { settingError } from "./client/configuration-fields.js"
|
|
23
|
+
import { unsupportedKeyHint } from "./suggest.js"
|
|
24
|
+
import { gatewayConfiguration, type GatewayConfiguration } from "./gateway/options.js"
|
|
25
|
+
import type { FilterCacheKind } from "./gateway/event-dispatches.js"
|
|
26
|
+
import { instanceConfiguration, type InstanceConfiguration } from "./instance.js"
|
|
27
|
+
import {
|
|
28
|
+
restConfiguration,
|
|
29
|
+
transportConfiguration,
|
|
30
|
+
type RestConfiguration,
|
|
31
|
+
type TransportConfiguration,
|
|
32
|
+
} from "./rest/options.js"
|
|
33
|
+
|
|
34
|
+
export interface CacheConfiguration<M extends MessageCore = Message> {
|
|
35
|
+
readonly maxEntries: number
|
|
36
|
+
readonly maxBytes: number
|
|
37
|
+
readonly maxAgeMs: MessageCacheSettings<M>["maxAgeMs"]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function validAge(value: unknown): value is number | null {
|
|
41
|
+
return value === null || (typeof value === "number" && Number.isSafeInteger(value) && value >= 0)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Keys of the cache option, one per cache */
|
|
45
|
+
const cacheKinds = [
|
|
46
|
+
"messages",
|
|
47
|
+
"guilds",
|
|
48
|
+
"members",
|
|
49
|
+
"roles",
|
|
50
|
+
"channels",
|
|
51
|
+
"users",
|
|
52
|
+
"directMessages",
|
|
53
|
+
"emojis",
|
|
54
|
+
"stickers",
|
|
55
|
+
] as const
|
|
56
|
+
|
|
57
|
+
/** Settings of one cache */
|
|
58
|
+
const budgetKeys: readonly string[] = ["maxEntries", "maxBytes", "maxAgeMs"]
|
|
59
|
+
|
|
60
|
+
function cacheConfiguration<M extends MessageCore = Message>(
|
|
61
|
+
value: unknown,
|
|
62
|
+
): CacheConfiguration<M> | ConfigurationError | undefined {
|
|
63
|
+
if (value === undefined) return undefined
|
|
64
|
+
if (!record(value)) return new ConfigurationError("cache", "Cache settings must be an object")
|
|
65
|
+
const unsupportedKind = Object.keys(value).find((key) => !(cacheKinds as readonly string[]).includes(key))
|
|
66
|
+
if (unsupportedKind !== undefined)
|
|
67
|
+
return new ConfigurationError("cache", `Unsupported cache setting ${JSON.stringify(unsupportedKind)}`, {
|
|
68
|
+
hint: unsupportedKeyHint(unsupportedKind, cacheKinds, "settings"),
|
|
69
|
+
})
|
|
70
|
+
const messages = value.messages
|
|
71
|
+
if (messages === undefined || messages === false) return undefined
|
|
72
|
+
if (messages !== true && !record(messages))
|
|
73
|
+
return new ConfigurationError(
|
|
74
|
+
"messages",
|
|
75
|
+
'The option "cache.messages" must be true, false or a settings object',
|
|
76
|
+
)
|
|
77
|
+
const settings = messages === true ? {} : messages
|
|
78
|
+
const unsupported = Object.keys(settings).find((key) => !budgetKeys.includes(key))
|
|
79
|
+
if (unsupported !== undefined)
|
|
80
|
+
return new ConfigurationError("messages", `Unsupported cache.messages setting ${JSON.stringify(unsupported)}`, {
|
|
81
|
+
hint:
|
|
82
|
+
unsupported === "onError"
|
|
83
|
+
? "Cache duration failures go to the client-level onError option"
|
|
84
|
+
: unsupportedKeyHint(unsupported, budgetKeys, "settings"),
|
|
85
|
+
})
|
|
86
|
+
const maxEntries = settings.maxEntries
|
|
87
|
+
const maxBytes = settings.maxBytes
|
|
88
|
+
for (const [key, number] of [
|
|
89
|
+
["maxEntries", maxEntries],
|
|
90
|
+
["maxBytes", maxBytes],
|
|
91
|
+
] as const) {
|
|
92
|
+
if (number !== undefined && (typeof number !== "number" || !Number.isSafeInteger(number) || number <= 0))
|
|
93
|
+
return new ConfigurationError(key, `The option "cache.messages.${key}" must be a positive safe integer`)
|
|
94
|
+
}
|
|
95
|
+
const maxAgeMs = settings.maxAgeMs
|
|
96
|
+
if (maxAgeMs !== undefined && typeof maxAgeMs !== "function" && !validAge(maxAgeMs))
|
|
97
|
+
return new ConfigurationError(
|
|
98
|
+
"maxAgeMs",
|
|
99
|
+
'The option "cache.messages.maxAgeMs" must be null, a nonnegative safe integer of milliseconds or a function',
|
|
100
|
+
)
|
|
101
|
+
return {
|
|
102
|
+
maxEntries: (maxEntries ?? 1_000) as number,
|
|
103
|
+
maxBytes: (maxBytes ?? 8_388_608) as number,
|
|
104
|
+
maxAgeMs: maxAgeMs as MessageCacheSettings<M>["maxAgeMs"],
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
type ResourceSettings = ResourceConfiguration & {
|
|
109
|
+
channels?: Required<ResourceCacheSettings>
|
|
110
|
+
users?: Required<ResourceCacheSettings>
|
|
111
|
+
directMessages?: Required<ResourceCacheSettings>
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function resourceConfiguration(value: unknown): ResourceSettings | ConfigurationError {
|
|
115
|
+
const result: ResourceSettings = {}
|
|
116
|
+
if (!record(value)) return result
|
|
117
|
+
for (const kind of [
|
|
118
|
+
"guilds",
|
|
119
|
+
"members",
|
|
120
|
+
"roles",
|
|
121
|
+
"channels",
|
|
122
|
+
"users",
|
|
123
|
+
"directMessages",
|
|
124
|
+
"emojis",
|
|
125
|
+
"stickers",
|
|
126
|
+
] as const) {
|
|
127
|
+
const input = value[kind]
|
|
128
|
+
if (input === undefined || input === false) continue
|
|
129
|
+
if (input !== true && !record(input))
|
|
130
|
+
return new ConfigurationError(kind, `The option "cache.${kind}" must be true, false or a settings object`)
|
|
131
|
+
const options = input === true ? {} : input
|
|
132
|
+
const unsupported = Object.keys(options).find((key) => !budgetKeys.includes(key))
|
|
133
|
+
if (unsupported !== undefined)
|
|
134
|
+
return new ConfigurationError(kind, `Unsupported cache.${kind} setting ${JSON.stringify(unsupported)}`, {
|
|
135
|
+
hint: unsupportedKeyHint(unsupported, budgetKeys, "settings"),
|
|
136
|
+
})
|
|
137
|
+
// Read each budget once, so the validated budget is the one applied
|
|
138
|
+
const entriesInput = options.maxEntries
|
|
139
|
+
const bytesInput = options.maxBytes
|
|
140
|
+
const ageInput = options.maxAgeMs
|
|
141
|
+
const maxEntries = entriesInput === undefined ? 1_000 : entriesInput
|
|
142
|
+
const maxBytes = bytesInput === undefined ? 4_194_304 : bytesInput
|
|
143
|
+
const maxAgeMs = ageInput === undefined ? null : ageInput
|
|
144
|
+
if (typeof maxEntries !== "number" || !Number.isSafeInteger(maxEntries) || maxEntries <= 0)
|
|
145
|
+
return new ConfigurationError(
|
|
146
|
+
"maxEntries",
|
|
147
|
+
`The option "cache.${kind}.maxEntries" must be a positive safe integer`,
|
|
148
|
+
)
|
|
149
|
+
if (typeof maxBytes !== "number" || !Number.isSafeInteger(maxBytes) || maxBytes <= 0)
|
|
150
|
+
return new ConfigurationError(
|
|
151
|
+
"maxBytes",
|
|
152
|
+
`The option "cache.${kind}.maxBytes" must be a positive safe integer`,
|
|
153
|
+
)
|
|
154
|
+
if (typeof maxAgeMs !== "function" && !validAge(maxAgeMs))
|
|
155
|
+
return new ConfigurationError(
|
|
156
|
+
"maxAgeMs",
|
|
157
|
+
`The option "cache.${kind}.maxAgeMs" must be null, a nonnegative safe integer of milliseconds or a function`,
|
|
158
|
+
)
|
|
159
|
+
// A callback is typed per category in ClientOptions, and each cache passes it only that category's snapshots
|
|
160
|
+
result[kind] = { maxEntries, maxBytes, maxAgeMs: maxAgeMs as Required<ResourceCacheSettings>["maxAgeMs"] }
|
|
161
|
+
}
|
|
162
|
+
return result
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface Configuration<M extends MessageCore = Message> {
|
|
166
|
+
readonly decodeMessage: MessageDecoder<M>
|
|
167
|
+
readonly uploadMaxBytes: number
|
|
168
|
+
readonly logging: ClientLogger
|
|
169
|
+
readonly token: Redacted.Redacted<string>
|
|
170
|
+
readonly startupTimeoutMs: number
|
|
171
|
+
readonly maxStartupAttempts: number
|
|
172
|
+
readonly cache: CacheConfiguration<M> | undefined
|
|
173
|
+
readonly resourceCache: ResourceConfiguration
|
|
174
|
+
readonly channelCache: Required<ResourceCacheSettings> | undefined
|
|
175
|
+
readonly userCache: Pick<ResourceSettings, "users" | "directMessages">
|
|
176
|
+
/** Fixed plan, or auto until the first connect computes it */
|
|
177
|
+
readonly sharding: ShardPlan | "auto"
|
|
178
|
+
/** Whether a 4011 (sharding required) closure moves to a larger automatic plan: For "auto" and omitted settings */
|
|
179
|
+
readonly reshard: boolean
|
|
180
|
+
/** Public Identify coordinator, when configured */
|
|
181
|
+
readonly identifyCoordinator: IdentifyCoordinator | undefined
|
|
182
|
+
/** Public session persistence, when configured */
|
|
183
|
+
readonly sessions: SessionStore | undefined
|
|
184
|
+
/** Whether shards that resume a stored session refill the guild, role and channel caches */
|
|
185
|
+
readonly refillCaches: boolean
|
|
186
|
+
/** Established-session recovery timing */
|
|
187
|
+
readonly recovery: RecoveryConfiguration
|
|
188
|
+
/** Identify fields and malformed-dispatch policy */
|
|
189
|
+
readonly gateway: GatewayConfiguration
|
|
190
|
+
readonly instance: InstanceConfiguration
|
|
191
|
+
/** Raw client-wide failure hook, adapted by the owning entry point */
|
|
192
|
+
readonly onError: ((report: never) => unknown) | undefined
|
|
193
|
+
/** Whether a malformed known dispatch is skipped or ends the shard's session */
|
|
194
|
+
readonly onMalformedDispatch: "skip" | "terminate"
|
|
195
|
+
/** REST scheduling limits and default deadline */
|
|
196
|
+
readonly rest: RestConfiguration
|
|
197
|
+
/** Network implementations and User-Agent */
|
|
198
|
+
readonly transport: TransportConfiguration
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/** Top-level client option keys, the same in both entry points */
|
|
202
|
+
export const clientOptionKeys = [
|
|
203
|
+
"token",
|
|
204
|
+
"onError",
|
|
205
|
+
"connection",
|
|
206
|
+
"messageFields",
|
|
207
|
+
"cache",
|
|
208
|
+
"uploads",
|
|
209
|
+
"logging",
|
|
210
|
+
"sharding",
|
|
211
|
+
"gateway",
|
|
212
|
+
"instance",
|
|
213
|
+
"rest",
|
|
214
|
+
"transport",
|
|
215
|
+
"observe",
|
|
216
|
+
] as const
|
|
217
|
+
|
|
218
|
+
/** Client option keys that supervisor.child.run accepts in clientOptions. The supervisor assigns token and the shards */
|
|
219
|
+
const childClientOptionKeys: readonly string[] = clientOptionKeys.filter((key) => key !== "token")
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Check the keys of supervisor.child.run clientOptions before they are copied, so a misspelled or unsupported key is
|
|
223
|
+
* reported instead of dropped. Sharding may carry only sessions, because the parent assigns the shards and paces
|
|
224
|
+
* Identify. Reading the keys is application input, so the caller runs this under a defect boundary
|
|
225
|
+
*/
|
|
226
|
+
export function childClientOptionsError(clientOptions: unknown): ConfigurationError | undefined {
|
|
227
|
+
if (clientOptions === undefined) return undefined
|
|
228
|
+
if (!record(clientOptions))
|
|
229
|
+
return new ConfigurationError("configuration", 'The supervisor child option "clientOptions" must be an object')
|
|
230
|
+
// Inherited values would be read too, so they count as overrides like own keys
|
|
231
|
+
const sharding = "sharding" in clientOptions ? clientOptions.sharding : undefined
|
|
232
|
+
if (sharding !== undefined) {
|
|
233
|
+
const plan = !record(sharding)
|
|
234
|
+
? "sharding"
|
|
235
|
+
: (["totalShards", "shardIds", "identify"].find((key) => key in sharding) ??
|
|
236
|
+
Object.keys(sharding).find((key) => key !== "sessions"))
|
|
237
|
+
if (plan !== undefined)
|
|
238
|
+
return new ConfigurationError(
|
|
239
|
+
"sharding",
|
|
240
|
+
plan === "sharding"
|
|
241
|
+
? 'The supervisor child option "clientOptions.sharding" must be an object with only sessions'
|
|
242
|
+
: `Unsupported option ${JSON.stringify(`sharding.${plan}`)} in the supervisor child option "clientOptions"`,
|
|
243
|
+
{
|
|
244
|
+
hint:
|
|
245
|
+
plan === "identify"
|
|
246
|
+
? "Set the coordinator in the supervisor's identify.coordinator option, where the parent paces every child's Identify"
|
|
247
|
+
: "The supervisor assigns each child its shards. Only sharding.sessions is available in a child",
|
|
248
|
+
},
|
|
249
|
+
)
|
|
250
|
+
}
|
|
251
|
+
const unsupported =
|
|
252
|
+
"token" in clientOptions
|
|
253
|
+
? "token"
|
|
254
|
+
: Object.keys(clientOptions).find((key) => !childClientOptionKeys.includes(key))
|
|
255
|
+
if (unsupported === undefined) return undefined
|
|
256
|
+
return new ConfigurationError(
|
|
257
|
+
"configuration",
|
|
258
|
+
`Unsupported option ${JSON.stringify(unsupported)} in the supervisor child option "clientOptions"`,
|
|
259
|
+
{
|
|
260
|
+
hint:
|
|
261
|
+
unsupported === "token"
|
|
262
|
+
? "Pass the bot token in the token option of supervisor.child.run"
|
|
263
|
+
: unsupportedKeyHint(unsupported, childClientOptionKeys),
|
|
264
|
+
},
|
|
265
|
+
)
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/** The message of the error that normalizeToken returns for a missing or empty token */
|
|
269
|
+
export const missingTokenMessage = "The bot token is missing or empty"
|
|
270
|
+
|
|
271
|
+
/** Normalize a configured token: Trim whitespace and one layer of matching quotes, which .env files often add.
|
|
272
|
+
* Returns a ConfigurationError that never includes the value when the token is missing or carries an auth scheme
|
|
273
|
+
*/
|
|
274
|
+
export function normalizeToken(token: unknown): string | ConfigurationError {
|
|
275
|
+
const missing = () =>
|
|
276
|
+
new ConfigurationError("token", missingTokenMessage, {
|
|
277
|
+
hint: "Pass the bot token in the token option. In a project created by fluxerly init, set FLUXER_BOT_TOKEN in the .env file that init wrote. Otherwise set the token's environment variable for the process that starts the bot, or start it with node --env-file=.env bot.js. Check that .env is in the current folder and is not saved as .env.txt",
|
|
278
|
+
})
|
|
279
|
+
if (token === undefined) return missing()
|
|
280
|
+
if (typeof token !== "string")
|
|
281
|
+
return new ConfigurationError(
|
|
282
|
+
"token",
|
|
283
|
+
`The bot token must be a string, not ${token === null ? "null" : Array.isArray(token) ? "an array" : `a value of type ${typeof token}`}`,
|
|
284
|
+
{ hint: "Pass the bot token as a string" },
|
|
285
|
+
)
|
|
286
|
+
let value = token.trim()
|
|
287
|
+
if (value.length >= 2 && (value[0] === '"' || value[0] === "'") && value.at(-1) === value[0])
|
|
288
|
+
value = value.slice(1, -1).trim()
|
|
289
|
+
if (value.length === 0) return missing()
|
|
290
|
+
if (/^(?:Bot|Bearer)\s/i.test(value))
|
|
291
|
+
return new ConfigurationError("token", 'The bot token must not start with "Bot " or "Bearer "', {
|
|
292
|
+
hint: "Pass only the token itself. The SDK adds the Bot prefix to each request",
|
|
293
|
+
})
|
|
294
|
+
return value
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Validate the client options. Keys in extraKeys are accepted and ignored here, and they join the supported list in
|
|
299
|
+
* the unknown-key hint, so a caller such as runBot can validate its own keys separately
|
|
300
|
+
*/
|
|
301
|
+
export function validateConfiguration<F extends MessageFields | undefined = undefined>(
|
|
302
|
+
options: unknown,
|
|
303
|
+
native = false,
|
|
304
|
+
extraKeys: readonly string[] = [],
|
|
305
|
+
): Effect.Effect<Configuration<SelectedMessage<F>>, ConfigurationError> {
|
|
306
|
+
// Only the reads of the caller options, including the validators that read nested settings, are marked as
|
|
307
|
+
// application input. Creating the logger, transport, decoder and credential reference stays SDK work
|
|
308
|
+
return suspendMarked(() => {
|
|
309
|
+
if (typeof options !== "object" || options === null || Array.isArray(options)) {
|
|
310
|
+
return Effect.fail(new ConfigurationError("configuration", "Client configuration must be an object"))
|
|
311
|
+
}
|
|
312
|
+
const option = (key: string): unknown =>
|
|
313
|
+
readCaller(() => (key in options ? (options as Record<string, unknown>)[key] : undefined))
|
|
314
|
+
|
|
315
|
+
const supported: readonly string[] = [...clientOptionKeys, ...extraKeys]
|
|
316
|
+
const unsupported = readCaller(() => Object.keys(options)).find((key) => !supported.includes(key))
|
|
317
|
+
if (unsupported !== undefined)
|
|
318
|
+
return Effect.fail(
|
|
319
|
+
new ConfigurationError("configuration", `Unsupported option ${JSON.stringify(unsupported)}`, {
|
|
320
|
+
hint: unsupportedKeyHint(unsupported, supported),
|
|
321
|
+
}),
|
|
322
|
+
)
|
|
323
|
+
const token = normalizeToken(option("token"))
|
|
324
|
+
if (token instanceof ConfigurationError) return Effect.fail(token)
|
|
325
|
+
const onError = option("onError")
|
|
326
|
+
if (onError !== undefined && typeof onError !== "function")
|
|
327
|
+
return Effect.fail(new ConfigurationError("onError", 'The option "onError" must be a function'))
|
|
328
|
+
const connection = option("connection")
|
|
329
|
+
if (
|
|
330
|
+
connection !== undefined &&
|
|
331
|
+
(typeof connection !== "object" || connection === null || Array.isArray(connection))
|
|
332
|
+
) {
|
|
333
|
+
return Effect.fail(new ConfigurationError("connection", "Connection settings must be an object"))
|
|
334
|
+
}
|
|
335
|
+
const connectionField = (key: string): unknown =>
|
|
336
|
+
readCaller(() =>
|
|
337
|
+
connection && key in connection ? (connection as Record<string, unknown>)[key] : undefined,
|
|
338
|
+
)
|
|
339
|
+
const timeout = connectionField("startupTimeoutMs")
|
|
340
|
+
const attempts = connectionField("maxStartupAttempts")
|
|
341
|
+
const connectionKeys = ["startupTimeoutMs", "maxStartupAttempts", "recovery"]
|
|
342
|
+
const unsupportedConnection =
|
|
343
|
+
connection === undefined
|
|
344
|
+
? undefined
|
|
345
|
+
: readCaller(() => Object.keys(connection)).find((key) => !connectionKeys.includes(key))
|
|
346
|
+
if (unsupportedConnection !== undefined)
|
|
347
|
+
return Effect.fail(
|
|
348
|
+
new ConfigurationError(
|
|
349
|
+
"connection",
|
|
350
|
+
`Unsupported connection setting ${JSON.stringify(unsupportedConnection)}`,
|
|
351
|
+
{ hint: unsupportedKeyHint(unsupportedConnection, connectionKeys, "settings") },
|
|
352
|
+
),
|
|
353
|
+
)
|
|
354
|
+
const recoveryInput = connectionField("recovery")
|
|
355
|
+
const recovery = readCaller(() => recoveryConfiguration(recoveryInput, native))
|
|
356
|
+
if (recovery instanceof ConfigurationError) return Effect.fail(recovery)
|
|
357
|
+
if (
|
|
358
|
+
timeout !== undefined &&
|
|
359
|
+
(typeof timeout !== "number" || !Number.isSafeInteger(timeout) || timeout <= 0 || timeout > 2_147_483_647)
|
|
360
|
+
) {
|
|
361
|
+
return Effect.fail(
|
|
362
|
+
new ConfigurationError(
|
|
363
|
+
"startupTimeoutMs",
|
|
364
|
+
'The option "connection.startupTimeoutMs" must be an integer from 1 through 2,147,483,647 milliseconds',
|
|
365
|
+
),
|
|
366
|
+
)
|
|
367
|
+
}
|
|
368
|
+
if (
|
|
369
|
+
attempts !== undefined &&
|
|
370
|
+
(typeof attempts !== "number" || !Number.isSafeInteger(attempts) || attempts <= 0)
|
|
371
|
+
) {
|
|
372
|
+
return Effect.fail(
|
|
373
|
+
new ConfigurationError(
|
|
374
|
+
"maxStartupAttempts",
|
|
375
|
+
'The option "connection.maxStartupAttempts" must be a positive safe integer',
|
|
376
|
+
),
|
|
377
|
+
)
|
|
378
|
+
}
|
|
379
|
+
let selectedFields: ReturnType<typeof snapshotMessageFields>
|
|
380
|
+
const messageFields = option("messageFields")
|
|
381
|
+
try {
|
|
382
|
+
selectedFields = readCaller(() => snapshotMessageFields(messageFields))
|
|
383
|
+
} catch (error) {
|
|
384
|
+
if (error instanceof ConfigurationError) return Effect.fail(error)
|
|
385
|
+
throw error
|
|
386
|
+
}
|
|
387
|
+
// Read the cache settings once for both the message and the resource caches
|
|
388
|
+
const cacheInput = option("cache")
|
|
389
|
+
const cache = readCaller(() => cacheConfiguration<SelectedMessage<F>>(cacheInput))
|
|
390
|
+
const uploads = option("uploads")
|
|
391
|
+
if (uploads !== undefined && !record(uploads))
|
|
392
|
+
return Effect.fail(new ConfigurationError("uploads", "Upload settings must be an object"))
|
|
393
|
+
const unsupportedUpload =
|
|
394
|
+
uploads === undefined ? undefined : readCaller(() => Object.keys(uploads)).find((key) => key !== "maxBytes")
|
|
395
|
+
if (unsupportedUpload !== undefined)
|
|
396
|
+
return Effect.fail(
|
|
397
|
+
new ConfigurationError("uploads", `Unsupported uploads setting ${JSON.stringify(unsupportedUpload)}`, {
|
|
398
|
+
hint: unsupportedKeyHint(unsupportedUpload, ["maxBytes"], "settings"),
|
|
399
|
+
}),
|
|
400
|
+
)
|
|
401
|
+
const maxBytesInput = readCaller(() => uploads?.maxBytes)
|
|
402
|
+
const uploadMaxBytes = maxBytesInput ?? 104_857_600
|
|
403
|
+
if (
|
|
404
|
+
typeof uploadMaxBytes !== "number" ||
|
|
405
|
+
!Number.isSafeInteger(uploadMaxBytes) ||
|
|
406
|
+
uploadMaxBytes <= 0 ||
|
|
407
|
+
maxBytesInput === null
|
|
408
|
+
)
|
|
409
|
+
return Effect.fail(
|
|
410
|
+
new ConfigurationError(
|
|
411
|
+
"maxBytes",
|
|
412
|
+
'The option "uploads.maxBytes" must be a positive safe integer of bytes',
|
|
413
|
+
),
|
|
414
|
+
)
|
|
415
|
+
if (cache instanceof ConfigurationError) return Effect.fail(cache)
|
|
416
|
+
const resourceCache = readCaller(() => resourceConfiguration(cacheInput))
|
|
417
|
+
if (resourceCache instanceof ConfigurationError) return Effect.fail(resourceCache)
|
|
418
|
+
const { channels: channelCache, users, directMessages, ...guildResourceCache } = resourceCache
|
|
419
|
+
// The logger marks its own reads of the caller settings
|
|
420
|
+
const logging = loggingConfiguration(option("logging"), native)
|
|
421
|
+
if (logging instanceof ConfigurationError) return Effect.fail(logging)
|
|
422
|
+
logging.addSecret(token)
|
|
423
|
+
const observer = option("observe")
|
|
424
|
+
if (observer !== undefined && typeof observer !== "function")
|
|
425
|
+
return Effect.fail(new ConfigurationError("observe", 'The option "observe" must be a function'))
|
|
426
|
+
if (observer !== undefined) setObserver(logging, observer as Observer)
|
|
427
|
+
const shardingInput = option("sharding")
|
|
428
|
+
const sharding = readCaller(() => parseSharding(shardingInput))
|
|
429
|
+
if (sharding instanceof ConfigurationError) return Effect.fail(sharding)
|
|
430
|
+
const cacheKinds: FilterCacheKind[] = [
|
|
431
|
+
...(cache ? (["messages"] as const) : []),
|
|
432
|
+
...(Object.keys(guildResourceCache) as FilterCacheKind[]),
|
|
433
|
+
...(channelCache ? (["channels"] as const) : []),
|
|
434
|
+
...(users ? (["users"] as const) : []),
|
|
435
|
+
...(directMessages ? (["directMessages"] as const) : []),
|
|
436
|
+
]
|
|
437
|
+
const gatewayInput = option("gateway")
|
|
438
|
+
const gateway = readCaller(() => gatewayConfiguration(gatewayInput, cacheKinds))
|
|
439
|
+
if (gateway instanceof ConfigurationError) return Effect.fail(gateway)
|
|
440
|
+
const instanceInput = option("instance")
|
|
441
|
+
const instance = readCaller(() => instanceConfiguration(instanceInput))
|
|
442
|
+
if (instance instanceof ConfigurationError) return Effect.fail(instance)
|
|
443
|
+
const restInput = option("rest")
|
|
444
|
+
const rest = readCaller(() => restConfiguration(restInput))
|
|
445
|
+
if (rest instanceof ConfigurationError) return Effect.fail(rest)
|
|
446
|
+
// The transport marks its own reads of the caller settings
|
|
447
|
+
const transport = transportConfiguration(option("transport"))
|
|
448
|
+
if (transport instanceof ConfigurationError) return Effect.fail(transport)
|
|
449
|
+
return Effect.succeed({
|
|
450
|
+
decodeMessage: createMessageDecoder<F>(selectedFields),
|
|
451
|
+
uploadMaxBytes,
|
|
452
|
+
logging,
|
|
453
|
+
cache,
|
|
454
|
+
resourceCache: guildResourceCache,
|
|
455
|
+
channelCache,
|
|
456
|
+
userCache: { ...(users ? { users } : {}), ...(directMessages ? { directMessages } : {}) },
|
|
457
|
+
token: Redacted.make(token),
|
|
458
|
+
startupTimeoutMs: timeout ?? 30_000,
|
|
459
|
+
maxStartupAttempts: attempts ?? 3,
|
|
460
|
+
sharding: sharding.plan,
|
|
461
|
+
reshard: sharding.reshard,
|
|
462
|
+
identifyCoordinator: sharding.identify,
|
|
463
|
+
sessions: sharding.sessions,
|
|
464
|
+
refillCaches: sharding.refillCaches,
|
|
465
|
+
recovery,
|
|
466
|
+
gateway,
|
|
467
|
+
instance,
|
|
468
|
+
onError: onError as Configuration["onError"],
|
|
469
|
+
onMalformedDispatch: gateway.onMalformedDispatch,
|
|
470
|
+
rest,
|
|
471
|
+
transport,
|
|
472
|
+
})
|
|
473
|
+
})
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
const timerMaximumMs = 2_147_483_647
|
|
477
|
+
|
|
478
|
+
/** Validate connection.recovery, including the native-only schedule */
|
|
479
|
+
function recoveryConfiguration(value: unknown, native: boolean): RecoveryConfiguration | ConfigurationError {
|
|
480
|
+
if (value === undefined) return defaultRecovery
|
|
481
|
+
const keys = ["minDelayMs", "maxDelayMs", "attemptTimeoutMs", "healthyResetMs", ...(native ? ["schedule"] : [])]
|
|
482
|
+
if (!record(value)) return settingError("recovery", "Recovery settings must be an object")
|
|
483
|
+
const unsupported = Object.keys(value).find((key) => !keys.includes(key))
|
|
484
|
+
if (unsupported !== undefined)
|
|
485
|
+
return settingError("recovery", `Unsupported connection.recovery setting ${JSON.stringify(unsupported)}`, {
|
|
486
|
+
hint:
|
|
487
|
+
unsupported === "schedule"
|
|
488
|
+
? "Recovery schedules are available in the Effect entry point"
|
|
489
|
+
: unsupportedKeyHint(unsupported, keys, "settings"),
|
|
490
|
+
})
|
|
491
|
+
const integer = (
|
|
492
|
+
field: "minDelayMs" | "maxDelayMs" | "attemptTimeoutMs" | "healthyResetMs",
|
|
493
|
+
minimum: number,
|
|
494
|
+
fallback: number,
|
|
495
|
+
): number | ConfigurationError => {
|
|
496
|
+
const input = value[field]
|
|
497
|
+
if (input === undefined) return fallback
|
|
498
|
+
return typeof input === "number" && Number.isSafeInteger(input) && input >= minimum && input <= timerMaximumMs
|
|
499
|
+
? input
|
|
500
|
+
: settingError(
|
|
501
|
+
field,
|
|
502
|
+
`The option "connection.recovery.${field}" must be an integer from ${minimum.toLocaleString("en-US")} through 2,147,483,647 milliseconds`,
|
|
503
|
+
)
|
|
504
|
+
}
|
|
505
|
+
const minDelayMs = integer("minDelayMs", 100, defaultRecovery.minDelayMs)
|
|
506
|
+
if (minDelayMs instanceof ConfigurationError) return minDelayMs
|
|
507
|
+
const maxDelayMs = integer("maxDelayMs", minDelayMs, Math.max(defaultRecovery.maxDelayMs, minDelayMs))
|
|
508
|
+
if (maxDelayMs instanceof ConfigurationError) return maxDelayMs
|
|
509
|
+
const attemptTimeoutMs = integer("attemptTimeoutMs", 1_000, defaultRecovery.attemptTimeoutMs)
|
|
510
|
+
if (attemptTimeoutMs instanceof ConfigurationError) return attemptTimeoutMs
|
|
511
|
+
const healthyResetMs = integer("healthyResetMs", 1_000, defaultRecovery.healthyResetMs)
|
|
512
|
+
if (healthyResetMs instanceof ConfigurationError) return healthyResetMs
|
|
513
|
+
const schedule = value.schedule
|
|
514
|
+
if (schedule !== undefined) {
|
|
515
|
+
if (!Schedule.isSchedule(schedule))
|
|
516
|
+
return settingError("schedule", 'The option "connection.recovery.schedule" must be an Effect Schedule')
|
|
517
|
+
if (value.minDelayMs !== undefined || value.maxDelayMs !== undefined)
|
|
518
|
+
return settingError("schedule", "A recovery schedule replaces minDelayMs and maxDelayMs, so set only one", {
|
|
519
|
+
hint: "Remove minDelayMs and maxDelayMs, or remove schedule",
|
|
520
|
+
})
|
|
521
|
+
}
|
|
522
|
+
return Object.freeze({
|
|
523
|
+
minDelayMs,
|
|
524
|
+
maxDelayMs,
|
|
525
|
+
attemptTimeoutMs,
|
|
526
|
+
healthyResetMs,
|
|
527
|
+
schedule: schedule as RecoveryConfiguration["schedule"],
|
|
528
|
+
})
|
|
529
|
+
}
|