@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,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default-API defect reasons built from Effect causes, and the marking of faults raised while reading caller input.
|
|
3
|
+
* Invariant: Every failure and defect value is kept, including application-thrown values, marked by which side raised it.
|
|
4
|
+
* A throw from reading caller-supplied input, such as a property getter or an AbortSignal listener method, is marked
|
|
5
|
+
* where the SDK reads that input. A boundary that also runs SDK work marks only the reads made through readCaller, so a
|
|
6
|
+
* fault in the SDK work around them stays an SDK fault.
|
|
7
|
+
* Implements [SDK contracts: Results and failures](/docs/SDK-CONTRACTS.md#results-and-failures)
|
|
8
|
+
*/
|
|
9
|
+
import * as Cause from "effect/Cause"
|
|
10
|
+
import * as Context from "effect/Context"
|
|
11
|
+
import * as Effect from "effect/Effect"
|
|
12
|
+
import { ApplicationError, ConfigurationError, type DefectReason } from "#sdk/errors"
|
|
13
|
+
import { fieldsOnce } from "./decode/primitives.js"
|
|
14
|
+
|
|
15
|
+
/** Cause annotation marking a Die reason whose value the application threw while the SDK read its input */
|
|
16
|
+
class ApplicationInput extends Context.Service<ApplicationInput, true>()("@neontechspace/fluxerly/ApplicationInput") {}
|
|
17
|
+
const applicationInput = Context.make(ApplicationInput, true)
|
|
18
|
+
|
|
19
|
+
/** A Die cause for a value thrown while the SDK read caller-supplied input, marked as an application fault */
|
|
20
|
+
export const inputDefect = (defect: unknown): Cause.Cause<never> => Cause.annotate(Cause.die(defect), applicationInput)
|
|
21
|
+
|
|
22
|
+
/** A value thrown by a marked read of caller-supplied input, carried through SDK code to the boundary that reports it */
|
|
23
|
+
class InputFault {
|
|
24
|
+
constructor(readonly defect: unknown) {}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Run one marked synchronous read of caller-supplied input, such as snapshotting an options object or calling an
|
|
29
|
+
* AbortSignal listener method. ConfigurationError passes through as misuse, and any other throw propagates as an input
|
|
30
|
+
* fault that the enclosing boundary reports as an application fault. Every call must run under suspendInput,
|
|
31
|
+
* suspendMarked, thrownCause or thrownReason
|
|
32
|
+
*/
|
|
33
|
+
export function readCaller<A>(read: () => A): A {
|
|
34
|
+
try {
|
|
35
|
+
return read()
|
|
36
|
+
} catch (error) {
|
|
37
|
+
if (error instanceof ConfigurationError || error instanceof InputFault) throw error
|
|
38
|
+
throw new InputFault(error)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Read each field of a caller object at most once, with every read marked as readCaller marks it */
|
|
43
|
+
export function callerFields(value: Record<string, unknown>): (key: string) => unknown {
|
|
44
|
+
const field = fieldsOnce(value)
|
|
45
|
+
return (key) => readCaller(() => field(key))
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** The Die cause for a value thrown through a boundary: Marked as an application fault only when a marked read threw it */
|
|
49
|
+
export const thrownCause = (error: unknown): Cause.Cause<never> =>
|
|
50
|
+
error instanceof InputFault ? inputDefect(error.defect) : Cause.die(error)
|
|
51
|
+
|
|
52
|
+
/** The default-API Defect reason for a value thrown through a synchronous boundary, as thrownCause classifies it */
|
|
53
|
+
export const thrownReason = (error: unknown): DefectReason =>
|
|
54
|
+
error instanceof InputFault ? defectReason(error.defect, "application") : defectReason(error)
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Suspend a body that mixes marked caller reads, made through readCaller, with SDK work. A throw from a marked read dies
|
|
58
|
+
* with its original value marked as an application fault, and any other throw stays an SDK fault
|
|
59
|
+
*/
|
|
60
|
+
export const suspendMarked = <A, E, R>(body: () => Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
61
|
+
Effect.suspend(() => {
|
|
62
|
+
try {
|
|
63
|
+
return body()
|
|
64
|
+
} catch (error) {
|
|
65
|
+
return Effect.failCause(thrownCause(error))
|
|
66
|
+
}
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Suspend an operation whose synchronous body only reads and validates caller-supplied input before returning the
|
|
71
|
+
* Effect that does the work. A throw from the body dies with the original value, marked as an application fault.
|
|
72
|
+
* The returned Effect runs outside the marked region, so its own defects stay SDK faults
|
|
73
|
+
*/
|
|
74
|
+
export const suspendInput = <A, E, R>(body: () => Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
75
|
+
Effect.suspend(() => {
|
|
76
|
+
try {
|
|
77
|
+
return body()
|
|
78
|
+
} catch (error) {
|
|
79
|
+
return Effect.failCause(inputDefect(error instanceof InputFault ? error.defect : error))
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
/** Read caller-supplied input synchronously inside an Effect, marking a throw as an application fault */
|
|
84
|
+
export const readInput = <A>(read: () => A): Effect.Effect<A> => suspendInput(() => Effect.succeed(read()))
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* One Defect entry that keeps the original fault value.
|
|
88
|
+
* The origin is application for an ApplicationError naming a callback, or when the caller marks a throw from reading
|
|
89
|
+
* caller-supplied input, and sdk otherwise
|
|
90
|
+
*/
|
|
91
|
+
export function defectReason(
|
|
92
|
+
defect: unknown,
|
|
93
|
+
origin: "application" | "sdk" = defect instanceof ApplicationError ? "application" : "sdk",
|
|
94
|
+
): DefectReason {
|
|
95
|
+
return Object.freeze({ kind: "Defect" as const, defect, origin })
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Convert every Cause entry into a default-API DefectReason, keeping expected failures and fault values */
|
|
99
|
+
export function causeReasons(cause: Cause.Cause<unknown>): DefectReason[] {
|
|
100
|
+
return cause.reasons.map((reason) =>
|
|
101
|
+
reason._tag === "Fail"
|
|
102
|
+
? Object.freeze({
|
|
103
|
+
kind: "Failure",
|
|
104
|
+
failure: reason.error as Extract<DefectReason, { readonly kind: "Failure" }>["failure"],
|
|
105
|
+
})
|
|
106
|
+
: reason._tag === "Die"
|
|
107
|
+
? defectReason(
|
|
108
|
+
reason.defect,
|
|
109
|
+
Context.getOrUndefined(Cause.reasonAnnotations(reason), ApplicationInput)
|
|
110
|
+
? "application"
|
|
111
|
+
: undefined,
|
|
112
|
+
)
|
|
113
|
+
: Object.freeze({ kind: "Interruption" }),
|
|
114
|
+
)
|
|
115
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cause-preserving Effect helpers and the sanitized transport error.
|
|
3
|
+
* Invariant: Mapping and deadlines never drop defects or cleanup causes, and transport causes keep only an error code.
|
|
4
|
+
* Implements [SDK contracts: Results and failures](/docs/SDK-CONTRACTS.md#results-and-failures)
|
|
5
|
+
*/
|
|
6
|
+
import * as Cause from "effect/Cause"
|
|
7
|
+
import * as Effect from "effect/Effect"
|
|
8
|
+
import * as Exit from "effect/Exit"
|
|
9
|
+
|
|
10
|
+
// Effect.mapError drops defects in mixed causes, and ordinary catchCause can skip mapping on interruption
|
|
11
|
+
export const mapFailureCause =
|
|
12
|
+
<E, E2>(map: (error: E) => E2) =>
|
|
13
|
+
<A, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E2, R> =>
|
|
14
|
+
Effect.uninterruptibleMask((restore) =>
|
|
15
|
+
Effect.exit(restore(effect)).pipe(
|
|
16
|
+
Effect.flatMap((exit) =>
|
|
17
|
+
Exit.isFailure(exit) ? Effect.failCause(Cause.map(exit.cause, map)) : Effect.succeed(exit.value),
|
|
18
|
+
),
|
|
19
|
+
),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
// Effect's timeout race awaits the losing work but discards its cleanup cause
|
|
23
|
+
// Retain defects with their operation failures or interruption, including caller cancellation
|
|
24
|
+
export const withDeadline =
|
|
25
|
+
<E2>(duration: number, onTimeout: () => E2) =>
|
|
26
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E | E2, R> =>
|
|
27
|
+
Effect.suspend(() => {
|
|
28
|
+
let result: Exit.Exit<A, E> | undefined
|
|
29
|
+
return effect.pipe(
|
|
30
|
+
Effect.onExit((exit) =>
|
|
31
|
+
Effect.sync(() => {
|
|
32
|
+
result = exit
|
|
33
|
+
}),
|
|
34
|
+
),
|
|
35
|
+
Effect.timeoutOrElse({ duration, orElse: () => Effect.fail(onTimeout()) }),
|
|
36
|
+
Effect.onExit((exit) => {
|
|
37
|
+
if (!result || !Exit.isFailure(result) || !Cause.hasDies(result.cause)) return Effect.void
|
|
38
|
+
const missing = result.cause.reasons.filter(
|
|
39
|
+
(reason) => !Exit.isFailure(exit) || !exit.cause.reasons.includes(reason),
|
|
40
|
+
)
|
|
41
|
+
return missing.length ? Effect.failCause(Cause.fromReasons(missing)) : Effect.void
|
|
42
|
+
}),
|
|
43
|
+
)
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
function transportCode(error: unknown, depth = 0): string | undefined {
|
|
47
|
+
if (typeof error !== "object" || error === null || depth > 3) return undefined
|
|
48
|
+
const code = (error as { code?: unknown }).code
|
|
49
|
+
if (typeof code === "string" && /^[A-Z][A-Z0-9_]{1,63}$/.test(code)) return code
|
|
50
|
+
return transportCode((error as { cause?: unknown }).cause, depth + 1)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** A sanitized network failure kept as an error's cause. It keeps the transport code, such as ECONNRESET,
|
|
54
|
+
* but not the transport message, which can contain URLs, credentials or upstream text
|
|
55
|
+
*/
|
|
56
|
+
export class TransportError extends Error {
|
|
57
|
+
/** Transport error code such as ECONNREFUSED or UND_ERR_CONNECT_TIMEOUT, when the runtime supplied one */
|
|
58
|
+
readonly code: string | undefined
|
|
59
|
+
constructor(source: unknown, what = "network request") {
|
|
60
|
+
const code = transportCode(source)
|
|
61
|
+
super(`The ${what} failed${code === undefined ? "" : ` (${code})`}`)
|
|
62
|
+
this.name = "TransportError"
|
|
63
|
+
this.code = code
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embed encoding and projection.
|
|
3
|
+
* Invariant: Input tables validate every supported field, and response projection ignores unknown wire properties.
|
|
4
|
+
* Implements [SDK contracts: Validation requirements](/docs/SDK-CONTRACTS.md#validation-requirements)
|
|
5
|
+
*/
|
|
6
|
+
import type { Embed } from "#sdk/embeds"
|
|
7
|
+
import {
|
|
8
|
+
InputValidationFailure,
|
|
9
|
+
inputValidationFailure,
|
|
10
|
+
unsupportedKeyFailure,
|
|
11
|
+
type InputValidationConstraint,
|
|
12
|
+
} from "#sdk/input-validation"
|
|
13
|
+
import { timestamp as isoTimestamp } from "./decode/timestamp.js"
|
|
14
|
+
import { normalizedText } from "./field-text.js"
|
|
15
|
+
import { count, record as object } from "./decode/primitives.js"
|
|
16
|
+
|
|
17
|
+
type Reader = (value: unknown, construct?: boolean) => unknown
|
|
18
|
+
type Property = readonly [
|
|
19
|
+
wire: string,
|
|
20
|
+
read: Reader,
|
|
21
|
+
required?: boolean,
|
|
22
|
+
validation?: readonly [constraint: InputValidationConstraint, explanation: string],
|
|
23
|
+
]
|
|
24
|
+
type Shape = Record<string, Property>
|
|
25
|
+
const string: Reader = (value) => (typeof value === "string" ? value : undefined)
|
|
26
|
+
const boolean: Reader = (value) => (typeof value === "boolean" ? value : undefined)
|
|
27
|
+
const integer: Reader = (value) => (count(value) ? value : undefined)
|
|
28
|
+
const length =
|
|
29
|
+
(min: number, max: number): Reader =>
|
|
30
|
+
(value) =>
|
|
31
|
+
normalizedText(value, min, max) ? value : undefined
|
|
32
|
+
const url: Reader = (value) => {
|
|
33
|
+
if (typeof value !== "string" || value.length > 2048) return undefined
|
|
34
|
+
try {
|
|
35
|
+
const parsed = new URL(value)
|
|
36
|
+
return parsed.protocol === "http:" || parsed.protocol === "https:" ? value : undefined
|
|
37
|
+
} catch {
|
|
38
|
+
// allow-silent: An unparsable URL is rejected as invalid embed input
|
|
39
|
+
return undefined
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Fluxer's MessageHelpers.getContentType uses mime 4.1.0 standard and other image/video mappings,
|
|
43
|
+
// with ContentTypeUtils overriding .ts to text/plain. Starred MIME aliases do not resolve extensions
|
|
44
|
+
const attachmentMediaExtensions: ReadonlySet<string> = Object.freeze(
|
|
45
|
+
new Set(
|
|
46
|
+
(
|
|
47
|
+
"3ds 3g2 3gp 3gpp apng asf asx avci avcs avi avif azv b16 bmp btf btif cgm cmx dds dib djv djvu dng dpx drle " +
|
|
48
|
+
"dvb dwg dxf emf exr f4v facti fbs fh fh4 fh5 fh7 fhc fits fli flv fpx fst fvt g3 gif h261 h263 h264 heic heics " +
|
|
49
|
+
"heif heifs hej2 ico ief jaii jais jfif jhc jls jng jp2 jpe jpeg jpf jpg jpg2 jpgm jpgv jph jpm jpx jxl jxr jxra " +
|
|
50
|
+
"jxrs jxs jxsc jxsi jxss ktx ktx2 m1v m2t m2ts m2v m4s m4u m4v mdi mj2 mjp2 mk3d mks mkv mmr mng mov movie " +
|
|
51
|
+
"mp4 mp4v mpe mpeg mpg mpg4 mts mxu npx ogv pbm pct pcx pgm pic png pnm ppm psd pti pyv qt ras rgb rlc sgi sid " +
|
|
52
|
+
"smv svg svgz t38 tap tfx tga tif tiff uvg uvh uvi uvm uvp uvs uvu uvv uvvg uvvh uvvi uvvm uvvp uvvs uvvu uvvv " +
|
|
53
|
+
"viv vob vtf wbmp wdp webm webp wm wmf wmv wmx wvx xbm xif xpm xwd"
|
|
54
|
+
).split(" "),
|
|
55
|
+
),
|
|
56
|
+
)
|
|
57
|
+
const attachmentUrl = (value: unknown, uploadedFilenames: readonly string[] | undefined): string | undefined => {
|
|
58
|
+
if (typeof value !== "string" || value.length < 1 || value.length > 2048) return undefined
|
|
59
|
+
if (!value.startsWith("attachment://")) return url(value) as string | undefined
|
|
60
|
+
const filename = value.slice("attachment://".length)
|
|
61
|
+
const extension = filename.split(".").pop()?.toLowerCase()
|
|
62
|
+
const matches = uploadedFilenames?.filter((uploaded) => uploaded === filename).length ?? 0
|
|
63
|
+
return /^[\p{L}\p{N}\p{M}_.-]+$/u.test(filename) &&
|
|
64
|
+
matches === 1 &&
|
|
65
|
+
extension !== undefined &&
|
|
66
|
+
attachmentMediaExtensions.has(extension)
|
|
67
|
+
? value
|
|
68
|
+
: undefined
|
|
69
|
+
}
|
|
70
|
+
const timestamp: Reader = (value) => (isoTimestamp(value) ? value : undefined)
|
|
71
|
+
|
|
72
|
+
// The tables own only response projection, which ignores unknown wire properties
|
|
73
|
+
function project(value: unknown, shape: Shape, construct = true): Record<string, unknown> | true | undefined {
|
|
74
|
+
if (!object(value)) return undefined
|
|
75
|
+
const result: Record<string, unknown> | undefined = construct ? {} : undefined
|
|
76
|
+
for (const [key, [wire, read, required]] of Object.entries(shape)) {
|
|
77
|
+
const item = value[wire]
|
|
78
|
+
if (item === undefined || item === null) {
|
|
79
|
+
if (required) return undefined
|
|
80
|
+
continue
|
|
81
|
+
}
|
|
82
|
+
const decoded = read(item, construct)
|
|
83
|
+
if (decoded === undefined) return undefined
|
|
84
|
+
if (result) result[key] = decoded
|
|
85
|
+
}
|
|
86
|
+
return result ? Object.freeze(result) : true
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Names each input path in explanations, so a failure reads without knowing the path syntax
|
|
90
|
+
const subjects: Readonly<Record<string, string>> = {
|
|
91
|
+
embeds: "Embeds",
|
|
92
|
+
"embeds[]": "Each embed",
|
|
93
|
+
"embeds[].author": "Embed author",
|
|
94
|
+
"embeds[].footer": "Embed footer",
|
|
95
|
+
"embeds[].image": "Embed image",
|
|
96
|
+
"embeds[].thumbnail": "Embed thumbnail",
|
|
97
|
+
"embeds[].fields": "Embed fields",
|
|
98
|
+
"embeds[].fields[]": "Each embed field",
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function projectInput(value: unknown, shape: Shape, path: string): Record<string, unknown> | InputValidationFailure {
|
|
102
|
+
const subject = subjects[path] ?? "Embed input"
|
|
103
|
+
if (!object(value)) return inputValidationFailure(path, "type", `${subject} must be an object`)
|
|
104
|
+
const unsupported = unsupportedKeyFailure(
|
|
105
|
+
value,
|
|
106
|
+
Object.keys(shape),
|
|
107
|
+
path,
|
|
108
|
+
path.endsWith("[]") ? `an ${subject.slice("Each ".length).toLowerCase()}` : `the ${subject.toLowerCase()}`,
|
|
109
|
+
)
|
|
110
|
+
if (unsupported) return unsupported
|
|
111
|
+
const result: Record<string, unknown> = {}
|
|
112
|
+
for (const [key, [wire, read, required, validation]] of Object.entries(shape)) {
|
|
113
|
+
const item = value[key]
|
|
114
|
+
if (item === undefined) {
|
|
115
|
+
if (required)
|
|
116
|
+
return inputValidationFailure(
|
|
117
|
+
`${path}.${key}`,
|
|
118
|
+
"required",
|
|
119
|
+
validation?.[1] ?? "Required embed field is missing",
|
|
120
|
+
)
|
|
121
|
+
continue
|
|
122
|
+
}
|
|
123
|
+
const decoded = read(item)
|
|
124
|
+
if (decoded instanceof InputValidationFailure) return decoded
|
|
125
|
+
if (decoded === undefined)
|
|
126
|
+
return inputValidationFailure(
|
|
127
|
+
`${path}.${key}`,
|
|
128
|
+
validation?.[0] ?? "format",
|
|
129
|
+
validation?.[1] ?? "Embed field has an invalid format",
|
|
130
|
+
)
|
|
131
|
+
result[wire] = decoded
|
|
132
|
+
}
|
|
133
|
+
return Object.freeze(result)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function list(value: unknown, read: Reader, max = Infinity, construct = true): readonly unknown[] | true | undefined {
|
|
137
|
+
if (!Array.isArray(value)) return undefined
|
|
138
|
+
const count = value.length
|
|
139
|
+
if (count > max) return undefined
|
|
140
|
+
const result: unknown[] | undefined = construct ? [] : undefined
|
|
141
|
+
for (let index = 0; index < count; index += 1) {
|
|
142
|
+
const item = value[index]
|
|
143
|
+
const decoded = read(item, construct)
|
|
144
|
+
if (decoded === undefined) return undefined
|
|
145
|
+
result?.push(decoded)
|
|
146
|
+
}
|
|
147
|
+
return result ? Object.freeze(result) : true
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function inputList(
|
|
151
|
+
value: unknown,
|
|
152
|
+
read: Reader,
|
|
153
|
+
maximum: number,
|
|
154
|
+
path: string,
|
|
155
|
+
): readonly unknown[] | InputValidationFailure {
|
|
156
|
+
if (!Array.isArray(value))
|
|
157
|
+
return inputValidationFailure(path, "type", `${subjects[path] ?? "Embed input"} must be an array`)
|
|
158
|
+
const count = value.length
|
|
159
|
+
if (count > maximum)
|
|
160
|
+
return inputValidationFailure(
|
|
161
|
+
path,
|
|
162
|
+
"length",
|
|
163
|
+
`${subjects[path] ?? "Embed input"} may contain at most ${maximum} entries`,
|
|
164
|
+
)
|
|
165
|
+
const result: unknown[] = []
|
|
166
|
+
for (let index = 0; index < count; index += 1) {
|
|
167
|
+
const item = value[index]
|
|
168
|
+
const decoded = read(item)
|
|
169
|
+
if (decoded instanceof InputValidationFailure) return decoded
|
|
170
|
+
if (decoded === undefined) return inputValidationFailure(`${path}[]`, "format", "Embed entry is invalid")
|
|
171
|
+
result.push(decoded)
|
|
172
|
+
}
|
|
173
|
+
return Object.freeze(result)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const inputAuthor: Shape = {
|
|
177
|
+
name: [
|
|
178
|
+
"name",
|
|
179
|
+
length(1, 256),
|
|
180
|
+
true,
|
|
181
|
+
["length", "Embed author name must contain 1 through 256 UTF-16 code units after Fluxer's normalization"],
|
|
182
|
+
],
|
|
183
|
+
url: ["url", url, false, ["format", "Embed author URL must be an HTTP or HTTPS URL of at most 2,048 characters"]],
|
|
184
|
+
iconUrl: [
|
|
185
|
+
"icon_url",
|
|
186
|
+
url,
|
|
187
|
+
false,
|
|
188
|
+
["format", "Embed author iconUrl must be an HTTP or HTTPS URL of at most 2,048 characters"],
|
|
189
|
+
],
|
|
190
|
+
}
|
|
191
|
+
const inputFooter: Shape = {
|
|
192
|
+
text: [
|
|
193
|
+
"text",
|
|
194
|
+
length(1, 2048),
|
|
195
|
+
true,
|
|
196
|
+
["length", "Embed footer text must contain 1 through 2,048 UTF-16 code units after Fluxer's normalization"],
|
|
197
|
+
],
|
|
198
|
+
iconUrl: [
|
|
199
|
+
"icon_url",
|
|
200
|
+
url,
|
|
201
|
+
false,
|
|
202
|
+
["format", "Embed footer iconUrl must be an HTTP or HTTPS URL of at most 2,048 characters"],
|
|
203
|
+
],
|
|
204
|
+
}
|
|
205
|
+
const inputMedia = (uploadedFilenames: readonly string[] | undefined): Shape => ({
|
|
206
|
+
url: [
|
|
207
|
+
"url",
|
|
208
|
+
(value) => attachmentUrl(value, uploadedFilenames),
|
|
209
|
+
true,
|
|
210
|
+
[
|
|
211
|
+
"format",
|
|
212
|
+
"Embed media URL must be an HTTP or HTTPS URL, or attachment://<filename> naming exactly one uploaded file whose filename maps to an image or video MIME type",
|
|
213
|
+
],
|
|
214
|
+
],
|
|
215
|
+
description: [
|
|
216
|
+
"description",
|
|
217
|
+
length(1, 4096),
|
|
218
|
+
false,
|
|
219
|
+
[
|
|
220
|
+
"length",
|
|
221
|
+
"Embed media description must contain 1 through 4,096 UTF-16 code units after Fluxer's normalization",
|
|
222
|
+
],
|
|
223
|
+
],
|
|
224
|
+
})
|
|
225
|
+
const inputField: Shape = {
|
|
226
|
+
name: [
|
|
227
|
+
"name",
|
|
228
|
+
length(1, 256),
|
|
229
|
+
true,
|
|
230
|
+
["length", "Embed field name must contain 1 through 256 UTF-16 code units after Fluxer's normalization"],
|
|
231
|
+
],
|
|
232
|
+
value: [
|
|
233
|
+
"value",
|
|
234
|
+
length(0, 1024),
|
|
235
|
+
true,
|
|
236
|
+
["length", "Embed field value must contain at most 1,024 UTF-16 code units after Fluxer's normalization"],
|
|
237
|
+
],
|
|
238
|
+
inline: ["inline", boolean, false, ["type", "Embed field inline must be a boolean"]],
|
|
239
|
+
}
|
|
240
|
+
const inputEmbed = (uploadedFilenames: readonly string[] | undefined): Shape => ({
|
|
241
|
+
title: [
|
|
242
|
+
"title",
|
|
243
|
+
length(0, 256),
|
|
244
|
+
false,
|
|
245
|
+
["length", "Embed title must contain at most 256 UTF-16 code units after Fluxer's normalization"],
|
|
246
|
+
],
|
|
247
|
+
description: [
|
|
248
|
+
"description",
|
|
249
|
+
(value) => (value === "" ? value : length(1, 4096)(value)),
|
|
250
|
+
false,
|
|
251
|
+
[
|
|
252
|
+
"length",
|
|
253
|
+
"Embed description must be empty or contain 1 through 4,096 UTF-16 code units after Fluxer's normalization",
|
|
254
|
+
],
|
|
255
|
+
],
|
|
256
|
+
url: ["url", url, false, ["format", "Embed URL must be an HTTP or HTTPS URL of at most 2,048 characters"]],
|
|
257
|
+
color: [
|
|
258
|
+
"color",
|
|
259
|
+
(value) => (integer(value) !== undefined && (value as number) <= 0xffffff ? value : undefined),
|
|
260
|
+
false,
|
|
261
|
+
["range", "Embed color must be an integer from 0 through 16,777,215"],
|
|
262
|
+
],
|
|
263
|
+
timestamp: [
|
|
264
|
+
"timestamp",
|
|
265
|
+
timestamp,
|
|
266
|
+
false,
|
|
267
|
+
["format", "Embed timestamp must be an ISO 8601 timestamp with timezone"],
|
|
268
|
+
],
|
|
269
|
+
author: ["author", (value) => projectInput(value, inputAuthor, "embeds[].author")],
|
|
270
|
+
footer: ["footer", (value) => projectInput(value, inputFooter, "embeds[].footer")],
|
|
271
|
+
image: ["image", (value) => projectInput(value, inputMedia(uploadedFilenames), "embeds[].image")],
|
|
272
|
+
thumbnail: ["thumbnail", (value) => projectInput(value, inputMedia(uploadedFilenames), "embeds[].thumbnail")],
|
|
273
|
+
fields: [
|
|
274
|
+
"fields",
|
|
275
|
+
(value) =>
|
|
276
|
+
inputList(value, (field) => projectInput(field, inputField, "embeds[].fields[]"), 25, "embeds[].fields"),
|
|
277
|
+
],
|
|
278
|
+
})
|
|
279
|
+
|
|
280
|
+
const outputAuthor: Shape = {
|
|
281
|
+
name: ["name", string, true],
|
|
282
|
+
url: ["url", string],
|
|
283
|
+
iconUrl: ["icon_url", string],
|
|
284
|
+
proxyIconUrl: ["proxy_icon_url", string],
|
|
285
|
+
}
|
|
286
|
+
const outputProvider: Shape = {
|
|
287
|
+
name: ["name", string, true],
|
|
288
|
+
url: ["url", string],
|
|
289
|
+
}
|
|
290
|
+
const outputFooter: Shape = {
|
|
291
|
+
text: ["text", string, true],
|
|
292
|
+
iconUrl: ["icon_url", string],
|
|
293
|
+
proxyIconUrl: ["proxy_icon_url", string],
|
|
294
|
+
}
|
|
295
|
+
const outputMedia: Shape = {
|
|
296
|
+
url: ["url", string, true],
|
|
297
|
+
proxyUrl: ["proxy_url", string],
|
|
298
|
+
contentType: ["content_type", string],
|
|
299
|
+
contentHash: ["content_hash", string],
|
|
300
|
+
width: ["width", integer],
|
|
301
|
+
height: ["height", integer],
|
|
302
|
+
description: ["description", string],
|
|
303
|
+
placeholder: ["placeholder", string],
|
|
304
|
+
duration: ["duration", integer],
|
|
305
|
+
flags: ["flags", integer, true],
|
|
306
|
+
}
|
|
307
|
+
const outputField: Shape = {
|
|
308
|
+
name: ["name", string, true],
|
|
309
|
+
value: ["value", string, true],
|
|
310
|
+
inline: ["inline", boolean, true],
|
|
311
|
+
}
|
|
312
|
+
const outputChild: Shape = {
|
|
313
|
+
type: ["type", string, true],
|
|
314
|
+
title: ["title", string],
|
|
315
|
+
description: ["description", string],
|
|
316
|
+
url: ["url", string],
|
|
317
|
+
color: ["color", integer],
|
|
318
|
+
timestamp: ["timestamp", timestamp],
|
|
319
|
+
author: ["author", (value, construct) => project(value, outputAuthor, construct)],
|
|
320
|
+
footer: ["footer", (value, construct) => project(value, outputFooter, construct)],
|
|
321
|
+
image: ["image", (value, construct) => project(value, outputMedia, construct)],
|
|
322
|
+
thumbnail: ["thumbnail", (value, construct) => project(value, outputMedia, construct)],
|
|
323
|
+
fields: [
|
|
324
|
+
"fields",
|
|
325
|
+
(value, construct) => list(value, (field, build) => project(field, outputField, build), Infinity, construct),
|
|
326
|
+
],
|
|
327
|
+
provider: ["provider", (value, construct) => project(value, outputProvider, construct)],
|
|
328
|
+
video: ["video", (value, construct) => project(value, outputMedia, construct)],
|
|
329
|
+
audio: ["audio", (value, construct) => project(value, outputMedia, construct)],
|
|
330
|
+
html: ["html", string],
|
|
331
|
+
htmlWidth: ["html_width", integer],
|
|
332
|
+
htmlHeight: ["html_height", integer],
|
|
333
|
+
nsfw: ["nsfw", boolean],
|
|
334
|
+
}
|
|
335
|
+
const outputEmbed: Shape = {
|
|
336
|
+
...outputChild,
|
|
337
|
+
children: [
|
|
338
|
+
"children",
|
|
339
|
+
(value, construct) => list(value, (child, build) => project(child, outputChild, build), 1, construct),
|
|
340
|
+
],
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/** Media targets using attachment:// need an unambiguous new upload in this request. Retained IDs never imply a filename lookup */
|
|
344
|
+
export const encodeEmbeds = (value: unknown, uploadedFilenames?: readonly string[]) =>
|
|
345
|
+
inputList(value, (embed) => projectInput(embed, inputEmbed(uploadedFilenames), "embeds[]"), Infinity, "embeds")
|
|
346
|
+
|
|
347
|
+
export function decodeEmbeds(value: unknown): readonly Embed[] | undefined
|
|
348
|
+
export function decodeEmbeds(value: unknown, construct: boolean): readonly Embed[] | true | undefined
|
|
349
|
+
/** False validates the same response shape without constructing a projection. The value true is the validation-only success marker */
|
|
350
|
+
export function decodeEmbeds(value: unknown, construct = true): readonly Embed[] | true | undefined {
|
|
351
|
+
if (value === undefined || value === null) return construct ? Object.freeze([]) : true
|
|
352
|
+
// Each public property is checked and copied by the response tables, with no input objects retained
|
|
353
|
+
return list(value, (embed, build) => project(embed, outputEmbed, build), Infinity, construct) as
|
|
354
|
+
readonly Embed[] | true | undefined
|
|
355
|
+
}
|