@openclaw/discord 2026.9.1 → 2026.9.3
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/dist/action-runtime-api.js +1 -1
- package/dist/activities-api-D--xtQQu.js +758 -0
- package/dist/activities-api.js +1 -1
- package/dist/allow-list-DWEio925.js +374 -0
- package/dist/api-LIV--eMq.js +161 -0
- package/dist/api.js +14 -14
- package/dist/approval-handler.runtime-CUNkTLDO.js +377 -0
- package/dist/audit-DzHj2Z4w.js +25 -0
- package/dist/channel-aAywxCij.js +1049 -0
- package/dist/channel-access-C12aDZ0p.js +62 -0
- package/dist/channel-actions.runtime-rmse1yrM.js +319 -0
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/channel.setup-CpAwAiS0.js +301 -0
- package/dist/command-owners-D78sAoOz.js +10 -0
- package/dist/components-kvIwhN7i.js +1018 -0
- package/dist/config-schema-r38UkM_J.js +675 -0
- package/dist/conversation-binding-route-qfe7oPy5.js +43 -0
- package/dist/directory-config-D1uDGbWh.js +49 -0
- package/dist/directory-contract-api.js +1 -1
- package/dist/directory-live-C5o1uKlw.js +164 -0
- package/dist/discord-CmL3ati-.js +3088 -0
- package/dist/doctor-DgKMH6N7.js +253 -0
- package/dist/doctor-contract-api.js +28 -26
- package/dist/handle-action.guild-admin-D4XdoA8-.js +316 -0
- package/dist/index.js +1 -1
- package/dist/live-policy-config-BblutQAq.js +74 -0
- package/dist/message-handler-B0DbuhWz.js +560 -0
- package/dist/message-handler.preflight-BkHVlYis.js +1154 -0
- package/dist/message-handler.process-CWh432Ak.js +1864 -0
- package/dist/outbound-adapter-CO2BRlRl.js +498 -0
- package/dist/outbound-components-BvskBqEN.js +100 -0
- package/dist/outbound-session-route-DZBYPGTR.js +667 -0
- package/dist/pluralkit-BiUW53Yn.js +43 -0
- package/dist/probe-BcoN44eK.js +180 -0
- package/dist/probe.runtime-BnuED0fI.js +2 -0
- package/dist/provider-PI8UiejY.js +10631 -0
- package/dist/provider-session.runtime-BejUb3gm.js +6 -0
- package/dist/provider.runtime-C-Oh3OHA.js +2 -0
- package/dist/realtime-session.runtime-MqPrvmQ1.js +1670 -0
- package/dist/resolve-allowlist-common-ChPf0Qy7.js +34 -0
- package/dist/resolve-channels-VbpLmUS8.js +266 -0
- package/dist/resolve-users-D-wRFsd5.js +121 -0
- package/dist/retry-B0lQ1Ado.js +603 -0
- package/dist/runtime-Cv8GdXSO.js +1770 -0
- package/dist/runtime-D-ZFlMQ2.js +80 -0
- package/dist/runtime-api.js +19 -19
- package/dist/send-Bdp3zZH5.js +1081 -0
- package/dist/send.components-Bj22B3_O.js +518 -0
- package/dist/send.outbound-DF0P3C9J.js +752 -0
- package/dist/send.shared-D4BAjlRo.js +740 -0
- package/dist/sender-identity-f3l5OYgV.js +43 -0
- package/dist/setup-plugin-api.js +1 -1
- package/dist/shared-CPPR0Xo4.js +227 -0
- package/dist/subagent-hooks-BAwybBDC.js +49 -0
- package/dist/subagent-hooks-api.js +1 -1
- package/dist/system-events-B6HkUhF_.js +34 -0
- package/dist/target-resolver-BgKUUwLy.js +84 -0
- package/dist/targets-fCxslBZ3.js +3 -0
- package/dist/thread-bindings-B0wnEg_y.js +239 -0
- package/dist/thread-bindings.manager-DM7M3vzn.js +673 -0
- package/dist/thread-bindings.session-updates-CSBmgCcx.js +55 -0
- package/dist/thread-bindings.state-jNRrsgzV.js +354 -0
- package/dist/transcripts-source-VkgenQv-.js +1689 -0
- package/dist/transcripts-source-api.js +1 -1
- package/dist/typing-DuBg1U8Q.js +14 -0
- package/dist/voice-runtime-BhRqlbEt.js +3607 -0
- package/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.cjs +1468 -0
- package/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.js +1466 -0
- package/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +237 -0
- package/node_modules/@napi-rs/wasm-runtime/dist/fs.js +18185 -0
- package/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +316 -0
- package/node_modules/@napi-rs/wasm-runtime/package.json +67 -0
- package/node_modules/@napi-rs/wasm-runtime/runtime.cjs +39 -0
- package/node_modules/@napi-rs/wasm-runtime/runtime.js +36 -0
- package/node_modules/@snazzah/davey-android-arm-eabi/README.md +3 -0
- package/node_modules/@snazzah/davey-android-arm-eabi/davey.android-arm-eabi.node +0 -0
- package/node_modules/@snazzah/davey-android-arm-eabi/package.json +40 -0
- package/node_modules/@snazzah/davey-android-arm64/README.md +3 -0
- package/node_modules/@snazzah/davey-android-arm64/davey.android-arm64.node +0 -0
- package/node_modules/@snazzah/davey-android-arm64/package.json +40 -0
- package/node_modules/@snazzah/davey-darwin-arm64/README.md +3 -0
- package/node_modules/@snazzah/davey-darwin-arm64/davey.darwin-arm64.node +0 -0
- package/node_modules/@snazzah/davey-darwin-arm64/package.json +40 -0
- package/node_modules/@snazzah/davey-darwin-x64/README.md +3 -0
- package/node_modules/@snazzah/davey-darwin-x64/davey.darwin-x64.node +0 -0
- package/node_modules/@snazzah/davey-darwin-x64/package.json +40 -0
- package/node_modules/@snazzah/davey-freebsd-x64/README.md +3 -0
- package/node_modules/@snazzah/davey-freebsd-x64/davey.freebsd-x64.node +0 -0
- package/node_modules/@snazzah/davey-freebsd-x64/package.json +40 -0
- package/node_modules/@snazzah/davey-linux-arm-gnueabihf/README.md +3 -0
- package/node_modules/@snazzah/davey-linux-arm-gnueabihf/davey.linux-arm-gnueabihf.node +0 -0
- package/node_modules/@snazzah/davey-linux-arm-gnueabihf/package.json +40 -0
- package/node_modules/@snazzah/davey-linux-arm64-gnu/README.md +3 -0
- package/node_modules/@snazzah/davey-linux-arm64-gnu/davey.linux-arm64-gnu.node +0 -0
- package/node_modules/@snazzah/davey-linux-arm64-gnu/package.json +43 -0
- package/node_modules/@snazzah/davey-linux-arm64-musl/README.md +3 -0
- package/node_modules/@snazzah/davey-linux-arm64-musl/davey.linux-arm64-musl.node +0 -0
- package/node_modules/@snazzah/davey-linux-arm64-musl/package.json +43 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/README.md +3 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/davey.wasi-browser.js +71 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/davey.wasi.cjs +123 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/davey.wasm32-wasi.wasm +0 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/package.json +45 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/wasi-worker-browser.mjs +32 -0
- package/node_modules/@snazzah/davey-wasm32-wasi/wasi-worker.mjs +63 -0
- package/node_modules/@snazzah/davey-win32-arm64-msvc/README.md +3 -0
- package/node_modules/@snazzah/davey-win32-arm64-msvc/davey.win32-arm64-msvc.node +0 -0
- package/node_modules/@snazzah/davey-win32-arm64-msvc/package.json +40 -0
- package/node_modules/@snazzah/davey-win32-ia32-msvc/README.md +3 -0
- package/node_modules/@snazzah/davey-win32-ia32-msvc/davey.win32-ia32-msvc.node +0 -0
- package/node_modules/@snazzah/davey-win32-ia32-msvc/package.json +40 -0
- package/node_modules/@snazzah/davey-win32-x64-msvc/README.md +3 -0
- package/node_modules/@snazzah/davey-win32-x64-msvc/davey.win32-x64-msvc.node +0 -0
- package/node_modules/@snazzah/davey-win32-x64-msvc/package.json +40 -0
- package/node_modules/@tybys/wasm-util/README.md +193 -0
- package/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json +11 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +423 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +2932 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +2932 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +1 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.js +2954 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +1 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js +158 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/index.js +13 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/jspi.js +46 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/load.js +97 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/memory.js +35 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js +103 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js +268 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js +3 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +192 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +316 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +1599 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js +141 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js +220 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js +128 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js +13 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs +153 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/index.mjs +9 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs +39 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/load.mjs +89 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs +28 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs +97 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs +256 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +186 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +310 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +1593 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs +135 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs +216 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs +113 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs +9 -0
- package/node_modules/@tybys/wasm-util/package.json +58 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +471 -0
- package/node_modules/@types/node/crypto.d.ts +3952 -0
- package/node_modules/@types/node/dgram.d.ts +652 -0
- package/node_modules/@types/node/fs/promises.d.ts +1477 -0
- package/node_modules/@types/node/fs.d.ts +4803 -0
- package/node_modules/@types/node/http.d.ts +2218 -0
- package/node_modules/@types/node/http2.d.ts +2497 -0
- package/node_modules/@types/node/index.d.ts +116 -0
- package/node_modules/@types/node/inspector.d.ts +265 -0
- package/node_modules/@types/node/net.d.ts +1062 -0
- package/node_modules/@types/node/package.json +155 -0
- package/node_modules/@types/node/process.d.ts +2268 -0
- package/node_modules/@types/node/quic.d.ts +2151 -0
- package/node_modules/@types/node/sqlite.d.ts +1140 -0
- package/node_modules/@types/node/stream/iter.d.ts +452 -0
- package/node_modules/@types/node/test.d.ts +2486 -0
- package/node_modules/@types/node/tls.d.ts +1217 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +467 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +118 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +118 -0
- package/node_modules/@types/node/tty.d.ts +226 -0
- package/node_modules/@types/node/vfs.d.ts +210 -0
- package/node_modules/@types/node/vm.d.ts +1136 -0
- package/node_modules/discord-api-types/CHANGELOG.md +14 -0
- package/node_modules/discord-api-types/gateway/index.mjs +1 -0
- package/node_modules/discord-api-types/gateway/v10.d.ts +20 -0
- package/node_modules/discord-api-types/gateway/v10.d.ts.map +1 -1
- package/node_modules/discord-api-types/gateway/v10.js +15 -1
- package/node_modules/discord-api-types/gateway/v10.js.map +1 -1
- package/node_modules/discord-api-types/gateway/v10.mjs +1 -0
- package/node_modules/discord-api-types/gateway/v9.d.ts +20 -0
- package/node_modules/discord-api-types/gateway/v9.d.ts.map +1 -1
- package/node_modules/discord-api-types/gateway/v9.js +15 -1
- package/node_modules/discord-api-types/gateway/v9.js.map +1 -1
- package/node_modules/discord-api-types/gateway/v9.mjs +1 -0
- package/node_modules/discord-api-types/package.json +3 -3
- package/node_modules/discord-api-types/payloads/v10/channel.d.ts +8 -2
- package/node_modules/discord-api-types/payloads/v10/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v10/channel.js +6 -0
- package/node_modules/discord-api-types/payloads/v10/channel.js.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts +1 -1
- package/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/channel.d.ts +7 -1
- package/node_modules/discord-api-types/payloads/v9/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/channel.js +6 -0
- package/node_modules/discord-api-types/payloads/v9/channel.js.map +1 -1
- package/node_modules/discord-api-types/rest/v10/channel.d.ts +14 -2
- package/node_modules/discord-api-types/rest/v10/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/rest/v10/channel.js.map +1 -1
- package/node_modules/discord-api-types/rest/v10/guild.d.ts +7 -3
- package/node_modules/discord-api-types/rest/v10/guild.d.ts.map +1 -1
- package/node_modules/discord-api-types/rest/v10/interactions.d.ts +8 -8
- package/node_modules/discord-api-types/rest/v10/interactions.d.ts.map +1 -1
- package/node_modules/discord-api-types/rest/v9/channel.d.ts +14 -2
- package/node_modules/discord-api-types/rest/v9/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/rest/v9/channel.js.map +1 -1
- package/node_modules/discord-api-types/rest/v9/guild.d.ts +7 -3
- package/node_modules/discord-api-types/rest/v9/guild.d.ts.map +1 -1
- package/node_modules/discord-api-types/rest/v9/interactions.d.ts +8 -8
- package/node_modules/discord-api-types/rest/v9/interactions.d.ts.map +1 -1
- package/node_modules/discord-api-types/v10.mjs +1 -0
- package/node_modules/discord-api-types/v9.mjs +1 -0
- package/node_modules/typebox/build/format/json_pointer.d.mts +2 -2
- package/node_modules/typebox/build/format/json_pointer.mjs +2 -2
- package/node_modules/typebox/build/format/json_pointer_uri_fragment.d.mts +2 -2
- package/node_modules/typebox/build/format/json_pointer_uri_fragment.mjs +2 -2
- package/node_modules/typebox/build/format/relative_json_pointer.d.mts +2 -2
- package/node_modules/typebox/build/format/relative_json_pointer.mjs +2 -2
- package/node_modules/typebox/build/system/memory/assign.mjs +2 -1
- package/node_modules/typebox/build/system/memory/create.mjs +3 -4
- package/node_modules/typebox/build/system/memory/discard.mjs +2 -2
- package/node_modules/typebox/build/system/memory/freeze.d.mts +4 -0
- package/node_modules/typebox/build/system/memory/freeze.mjs +6 -0
- package/node_modules/typebox/build/system/memory/update.mjs +3 -2
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
- package/node_modules/undici/docs/docs/api/EventSource.md +4 -0
- package/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
- package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
- package/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
- package/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/undici/lib/dispatcher/agent.js +7 -2
- package/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
- package/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
- package/node_modules/undici/lib/dispatcher/client-h2.js +43 -3
- package/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
- package/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +10 -3
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
- package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
- package/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
- package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +91 -21
- package/node_modules/undici/lib/handler/cache-handler.js +29 -5
- package/node_modules/undici/lib/handler/decorator-handler.js +7 -1
- package/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
- package/node_modules/undici/lib/handler/redirect-handler.js +21 -4
- package/node_modules/undici/lib/handler/retry-handler.js +148 -30
- package/node_modules/undici/lib/interceptor/cache.js +65 -12
- package/node_modules/undici/lib/interceptor/decompress.js +115 -13
- package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
- package/node_modules/undici/lib/interceptor/dns.js +7 -0
- package/node_modules/undici/lib/interceptor/dump.js +10 -23
- package/node_modules/undici/lib/mock/mock-agent.js +13 -1
- package/node_modules/undici/lib/mock/mock-utils.js +11 -10
- package/node_modules/undici/lib/util/cache.js +45 -3
- package/node_modules/undici/lib/web/cookies/parse.js +150 -147
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
- package/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
- package/node_modules/undici/lib/web/fetch/index.js +6 -0
- package/node_modules/undici/lib/web/fetch/request.js +2 -3
- package/node_modules/undici/lib/web/fetch/util.js +6 -1
- package/node_modules/undici/lib/web/webidl/index.js +3 -3
- package/node_modules/undici/lib/web/websocket/connection.js +1 -1
- package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
- package/node_modules/undici/package.json +3 -3
- package/node_modules/undici/types/client.d.ts +10 -0
- package/node_modules/undici/types/interceptors.d.ts +2 -0
- package/node_modules/undici/types/mock-agent.d.ts +11 -10
- package/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
- package/node_modules/uuid/dist/uuid-bin.d.ts +1 -0
- package/openclaw.plugin.json +16 -3
- package/package.json +7 -7
- package/dist/activities-api-E-segZn6.js +0 -758
- package/dist/allow-list-C2JuH-R0.js +0 -389
- package/dist/api-BfmEP6wp.js +0 -161
- package/dist/approval-handler.runtime-CW5k3mSa.js +0 -376
- package/dist/audit-B9rydv5a.js +0 -25
- package/dist/channel-D93LnbTE.js +0 -1022
- package/dist/channel-actions.runtime-DMFv4doE.js +0 -322
- package/dist/channel.setup-DTL7kPOM.js +0 -301
- package/dist/components-DmXYIQ26.js +0 -1018
- package/dist/config-schema-B797-Spt.js +0 -669
- package/dist/conversation-binding-route-24afmvEC.js +0 -43
- package/dist/directory-config-BD4YL7wT.js +0 -49
- package/dist/directory-live-BrFVc1Ds.js +0 -164
- package/dist/doctor-BUB41_lr.js +0 -250
- package/dist/handle-action.guild-admin-B0egstYq.js +0 -313
- package/dist/ingress-identity-BCzfPPYM.js +0 -60
- package/dist/message-handler-Qdw9c0j4.js +0 -594
- package/dist/message-handler.preflight-Dxi2yBfR.js +0 -1120
- package/dist/message-handler.process-BYDjtxZJ.js +0 -1859
- package/dist/message-text-BRVqYm-t.js +0 -571
- package/dist/outbound-adapter-DEhthWTk.js +0 -497
- package/dist/outbound-components-DehyxvA4.js +0 -100
- package/dist/outbound-session-route-BFGRF9fE.js +0 -668
- package/dist/owner-access-yc1sX7Gx.js +0 -108
- package/dist/pluralkit-XmmAHoV6.js +0 -43
- package/dist/probe-3ovFAp3b.js +0 -180
- package/dist/probe.runtime-BckHn3cJ.js +0 -2
- package/dist/provider-DuDtKbF8.js +0 -10401
- package/dist/provider-session.runtime-BA2BPyZ4.js +0 -6
- package/dist/provider.runtime-Db8YwZBv.js +0 -2
- package/dist/realtime-session.runtime-DgSbX6ay.js +0 -1279
- package/dist/resolve-allowlist-common-BJ5UZNNT.js +0 -34
- package/dist/resolve-channels-CYseD5Uw.js +0 -266
- package/dist/resolve-users-DrmhDrqm.js +0 -121
- package/dist/retry-BNCxiyyR.js +0 -3631
- package/dist/retry-after-BrLjLUJi.js +0 -13
- package/dist/runtime-BbWNtfyq.js +0 -1749
- package/dist/runtime-DB7Fb6AU.js +0 -80
- package/dist/send-BnTEIeLE.js +0 -1064
- package/dist/send.components-BWVEcjRP.js +0 -525
- package/dist/send.outbound-b5xwHTlL.js +0 -774
- package/dist/send.shared-5vxBTagO.js +0 -818
- package/dist/sender-identity-Dt0imZyY.js +0 -43
- package/dist/shared-BSJWHEMA.js +0 -215
- package/dist/subagent-hooks-IzQKX4RQ.js +0 -49
- package/dist/system-events-BOiDS8b3.js +0 -34
- package/dist/target-resolver-BVI8xSSC.js +0 -83
- package/dist/targets-DbxVbq8k.js +0 -3
- package/dist/thread-bindings-D7mcaXQC.js +0 -238
- package/dist/thread-bindings.manager-B1oySiVc.js +0 -768
- package/dist/thread-bindings.session-updates-CC7HoQvt.js +0 -55
- package/dist/thread-bindings.state-D8OMdk4O.js +0 -288
- package/dist/threading-OQnL-0Zx.js +0 -480
- package/dist/transcripts-source-D8lH7AkN.js +0 -270
- package/dist/typing-C9q0AQMb.js +0 -14
- package/dist/voice-runtime-Dfhjh1tV.js +0 -2881
- package/node_modules/@discordjs/voice/node_modules/@types/node/README.md +0 -15
- package/node_modules/@discordjs/voice/node_modules/@types/node/buffer.buffer.d.ts +0 -466
- package/node_modules/@discordjs/voice/node_modules/@types/node/crypto.d.ts +0 -3954
- package/node_modules/@discordjs/voice/node_modules/@types/node/dgram.d.ts +0 -537
- package/node_modules/@discordjs/voice/node_modules/@types/node/fs/promises.d.ts +0 -1481
- package/node_modules/@discordjs/voice/node_modules/@types/node/fs.d.ts +0 -4793
- package/node_modules/@discordjs/voice/node_modules/@types/node/http.d.ts +0 -2202
- package/node_modules/@discordjs/voice/node_modules/@types/node/http2.d.ts +0 -2489
- package/node_modules/@discordjs/voice/node_modules/@types/node/index.d.ts +0 -115
- package/node_modules/@discordjs/voice/node_modules/@types/node/inspector.d.ts +0 -264
- package/node_modules/@discordjs/voice/node_modules/@types/node/net.d.ts +0 -970
- package/node_modules/@discordjs/voice/node_modules/@types/node/package.json +0 -155
- package/node_modules/@discordjs/voice/node_modules/@types/node/process.d.ts +0 -2216
- package/node_modules/@discordjs/voice/node_modules/@types/node/quic.d.ts +0 -1943
- package/node_modules/@discordjs/voice/node_modules/@types/node/sqlite.d.ts +0 -1136
- package/node_modules/@discordjs/voice/node_modules/@types/node/stream/iter.d.ts +0 -452
- package/node_modules/@discordjs/voice/node_modules/@types/node/test.d.ts +0 -2450
- package/node_modules/@discordjs/voice/node_modules/@types/node/tls.d.ts +0 -1193
- package/node_modules/@discordjs/voice/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
- package/node_modules/@discordjs/voice/node_modules/@types/node/ts5.6/index.d.ts +0 -117
- package/node_modules/@discordjs/voice/node_modules/@types/node/ts5.7/index.d.ts +0 -117
- package/node_modules/@discordjs/voice/node_modules/@types/node/tty.d.ts +0 -225
- package/node_modules/@discordjs/voice/node_modules/@types/node/vm.d.ts +0 -1136
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey/browser.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey/index.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey/index.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey-linux-x64-gnu/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey-linux-x64-gnu/davey.linux-x64-gnu.node +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey-linux-x64-gnu/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey-linux-x64-musl/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey-linux-x64-musl/davey.linux-x64-musl.node +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@snazzah → @snazzah}/davey-linux-x64-musl/package.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid/dist-node/types.js → @tybys/wasm-util/lib/mjs/wasi/fs.mjs} +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types/lodash.transform → @types/debug}/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/debug/package.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types/uuid → @types/lodash}/LICENSE +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/add.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/after.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/ary.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/assign.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/assignIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/assignInWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/assignWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/at.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/attempt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/before.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/bind.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/bindAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/bindKey.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/camelCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/capitalize.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/castArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/ceil.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/chain.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/chunk.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/clamp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/clone.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/cloneDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/cloneDeepWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/cloneWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/array.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/collection.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/common.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/date.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/function.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/lang.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/math.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/number.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/object.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/seq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/string.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/common/util.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/compact.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/concat.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/cond.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/conforms.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/conformsTo.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/constant.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/countBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/create.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/curry.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/curryRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/debounce.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/deburr.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/defaultTo.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/defaults.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/defaultsDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/defer.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/delay.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/difference.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/differenceBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/differenceWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/divide.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/drop.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/dropRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/dropRightWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/dropWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/each.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/eachRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/endsWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/entries.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/entriesIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/eq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/escape.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/escapeRegExp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/every.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/extend.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/extendWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fill.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/filter.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/find.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/findIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/findKey.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/findLast.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/findLastIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/findLastKey.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/first.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flatMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flatMapDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flatMapDepth.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flatten.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flattenDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flattenDepth.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flip.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/floor.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flow.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/flowRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/forEach.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/forEachRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/forIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/forInRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/forOwn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/forOwnRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/F.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/T.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/__.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/add.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/after.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/all.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/allPass.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/always.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/any.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/anyPass.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/apply.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/ary.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assign.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignAllWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignInAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignInAllWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignInWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assignWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assoc.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/assocPath.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/at.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/attempt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/before.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/bind.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/bindAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/bindKey.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/camelCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/capitalize.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/castArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/ceil.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/chunk.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/clamp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/clone.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/cloneDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/cloneDeepWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/cloneWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/compact.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/complement.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/compose.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/concat.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/cond.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/conforms.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/conformsTo.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/constant.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/contains.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/convert.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/countBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/create.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/curry.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/curryN.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/curryRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/curryRightN.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/debounce.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/deburr.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/defaultTo.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/defaults.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/defaultsAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/defaultsDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/defaultsDeepAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/defer.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/delay.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/difference.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/differenceBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/differenceWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dissoc.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dissocPath.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/divide.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/drop.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dropLast.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dropLastWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dropRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dropRightWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/dropWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/each.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/eachRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/endsWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/entries.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/entriesIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/eq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/equals.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/escape.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/escapeRegExp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/every.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/extend.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/extendAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/extendAllWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/extendWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/fill.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/filter.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/find.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findIndexFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findKey.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findLast.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findLastFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findLastIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findLastIndexFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/findLastKey.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/first.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flatMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flatMapDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flatMapDepth.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flatten.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flattenDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flattenDepth.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flip.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/floor.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flow.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/flowRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/forEach.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/forEachRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/forIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/forInRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/forOwn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/forOwnRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/fromPairs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/functions.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/functionsIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/get.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/getOr.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/groupBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/gt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/gte.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/has.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/hasIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/head.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/identical.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/identity.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/inRange.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/includes.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/includesFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/indexBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/indexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/indexOfFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/init.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/initial.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/intersection.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/intersectionBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/intersectionWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invert.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invertBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invertObj.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invoke.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invokeArgs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invokeArgsMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/invokeMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isArguments.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isArrayBuffer.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isArrayLike.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isArrayLikeObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isBoolean.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isBuffer.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isDate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isElement.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isEmpty.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isEqual.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isEqualWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isError.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isFinite.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isFunction.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isLength.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isMatch.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isMatchWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isNaN.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isNative.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isNil.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isNull.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isNumber.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isObjectLike.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isPlainObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isRegExp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isSafeInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isSet.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isString.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isSymbol.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isTypedArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isUndefined.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isWeakMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/isWeakSet.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/iteratee.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/join.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/juxt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/kebabCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/keyBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/keys.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/keysIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/last.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/lastIndexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/lastIndexOfFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/lowerCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/lowerFirst.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/lt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/lte.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/map.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/mapKeys.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/mapValues.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/matches.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/matchesProperty.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/max.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/maxBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/mean.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/meanBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/memoize.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/merge.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/mergeAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/mergeAllWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/mergeWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/method.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/methodOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/min.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/minBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/multiply.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/nAry.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/negate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/noConflict.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/noop.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/now.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/nth.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/nthArg.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/omit.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/omitAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/omitBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/once.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/orderBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/over.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/overArgs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/overEvery.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/overSome.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pad.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/padChars.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/padCharsEnd.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/padCharsStart.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/padEnd.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/padStart.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/parseInt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/partial.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/partialRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/partition.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/path.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pathEq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pathOr.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/paths.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pick.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pickAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pickBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pipe.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/placeholder.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pluck.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/prop.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/propEq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/propOr.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/property.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/propertyOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/props.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pull.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pullAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pullAllBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pullAllWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/pullAt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/random.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/range.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/rangeRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/rangeStep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/rangeStepRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/rearg.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/reduce.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/reduceRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/reject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/remove.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/repeat.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/replace.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/rest.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/restFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/result.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/reverse.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/round.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/runInContext.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sample.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sampleSize.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/set.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/setWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/shuffle.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/size.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/slice.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/snakeCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/some.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedIndexBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedIndexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedLastIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedLastIndexBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedLastIndexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedUniq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sortedUniqBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/split.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/spread.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/spreadFrom.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/startCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/startsWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/stubArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/stubFalse.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/stubObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/stubString.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/stubTrue.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/subtract.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sum.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/sumBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/symmetricDifference.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/symmetricDifferenceBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/symmetricDifferenceWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/tail.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/take.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/takeLast.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/takeLastWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/takeRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/takeRightWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/takeWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/tap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/template.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/throttle.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/thru.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/times.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toFinite.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toLength.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toLower.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toNumber.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toPairs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toPairsIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toPath.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toPlainObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toSafeInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toString.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/toUpper.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/transform.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/trim.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/trimChars.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/trimCharsEnd.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/trimCharsStart.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/trimEnd.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/trimStart.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/truncate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unapply.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unary.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unescape.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/union.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unionBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unionWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/uniq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/uniqBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/uniqWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/uniqueId.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unnest.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unset.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unzip.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/unzipWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/update.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/updateWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/upperCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/upperFirst.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/useWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/values.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/valuesIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/where.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/whereEq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/without.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/words.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/wrap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/xor.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/xorBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/xorWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/zip.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/zipAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/zipObj.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/zipObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/zipObjectDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp/zipWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/fromPairs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/functions.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/functionsIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/get.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/groupBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/gt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/gte.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/has.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/hasIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/head.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/identity.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/inRange.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/includes.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/index.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/indexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/initial.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/intersection.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/intersectionBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/intersectionWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/invert.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/invertBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/invoke.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/invokeMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isArguments.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isArrayBuffer.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isArrayLike.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isArrayLikeObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isBoolean.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isBuffer.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isDate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isElement.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isEmpty.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isEqual.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isEqualWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isError.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isFinite.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isFunction.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isLength.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isMatch.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isMatchWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isNaN.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isNative.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isNil.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isNull.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isNumber.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isObjectLike.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isPlainObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isRegExp.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isSafeInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isSet.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isString.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isSymbol.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isTypedArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isUndefined.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isWeakMap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/isWeakSet.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/iteratee.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/join.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/kebabCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/keyBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/keys.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/keysIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/last.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/lastIndexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/lowerCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/lowerFirst.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/lt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/lte.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/map.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/mapKeys.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/mapValues.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/matches.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/matchesProperty.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/max.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/maxBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/mean.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/meanBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/memoize.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/merge.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/mergeWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/method.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/methodOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/min.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/minBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/mixin.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/multiply.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/negate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/noConflict.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/noop.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/now.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/nth.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/nthArg.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/omit.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/omitBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/once.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/orderBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/over.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/overArgs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/overEvery.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/overSome.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/package.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pad.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/padEnd.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/padStart.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/parseInt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/partial.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/partialRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/partition.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pick.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pickBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/property.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/propertyOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pull.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pullAll.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pullAllBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pullAllWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/pullAt.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/random.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/range.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/rangeRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/rearg.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/reduce.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/reduceRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/reject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/remove.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/repeat.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/replace.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/rest.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/result.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/reverse.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/round.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/runInContext.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sample.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sampleSize.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/set.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/setWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/shuffle.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/size.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/slice.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/snakeCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/some.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedIndexBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedIndexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedLastIndex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedLastIndexBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedLastIndexOf.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedUniq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sortedUniqBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/split.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/spread.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/startCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/startsWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/stubArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/stubFalse.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/stubObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/stubString.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/stubTrue.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/subtract.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sum.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/sumBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/tail.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/take.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/takeRight.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/takeRightWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/takeWhile.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/tap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/template.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/throttle.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/thru.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/times.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toArray.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toFinite.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toLength.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toLower.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toNumber.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toPairs.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toPairsIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toPath.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toPlainObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toSafeInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toString.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/toUpper.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/transform.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/trim.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/trimEnd.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/trimStart.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/truncate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unary.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unescape.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/union.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unionBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unionWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/uniq.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/uniqBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/uniqWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/uniqueId.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unset.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unzip.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/unzipWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/update.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/updateWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/upperCase.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/upperFirst.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/values.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/valuesIn.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/without.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/words.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/wrap.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/xor.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/xorBy.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/xorWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/zip.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/zipObject.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/zipObjectDeep.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash/zipWith.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types/lodash → @types/lodash.transform}/LICENSE +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash.transform/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash.transform/index.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/lodash.transform/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types/node → @types/mdast}/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/mdast/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types/ws → @types/ms}/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/ms/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types/debug → @types/node}/LICENSE +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/assert/strict.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/assert.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/async_hooks.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/buffer.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/child_process.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/cluster.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/console.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/constants.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/diagnostics_channel.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/dns/promises.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/dns.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/domain.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/events.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/ffi.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/globals.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/globals.typedarray.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/https.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/inspector/promises.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/inspector.generated.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/module.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/os.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/path/posix.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/path/win32.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/path.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/perf_hooks.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/punycode.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/querystring.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/readline/promises.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/readline.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/repl.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/sea.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/stream/consumers.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/stream/promises.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/stream/web.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/stream.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/string_decoder.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/test/reporters.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/timers/promises.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/timers.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/trace_events.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/ts5.6/compatibility/float16array.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/ts5.6/globals.typedarray.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/ts5.7/compatibility/float16array.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/url.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/util/types.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/util.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/v8.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/wasi.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/abortcontroller.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/blob.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/console.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/crypto.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/domexception.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/encoding.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/events.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/fetch.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/importmeta.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/messaging.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/navigator.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/performance.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/storage.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/streams.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/timers.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/web-globals/url.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/worker_threads.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/zlib/iter.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/node/zlib.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types/mdast → @types/unist}/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types → @types}/unist/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types/ms → @types/uuid}/LICENSE +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/uuid/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/uuid/index.d.mts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/uuid/index.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/@types → @types}/uuid/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/@types/unist → @types/ws}/LICENSE +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/ws/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/ws/index.d.mts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/ws/index.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/@types → @types}/ws/package.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/BigInteger.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/BigInteger.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/BigInteger.min.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/LICENSE +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/bower.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/package.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/big-integer → big-integer}/tsconfig.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/character-entities → character-entities}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/LICENSE +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/README.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/src/browser.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/src/common.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/src/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/debug → debug}/src/node.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/CHANGELOG.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/LICENCE.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/decimal.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/decimal.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/decimal.min.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/decimal.mjs +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/doc/API.html +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/doc/decimal.js.map +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/decimal.js-light → decimal.js-light}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.dom.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.dom.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.dom.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/decode-named-character-reference → decode-named-character-reference}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/dist/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/dist/index.min.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/dist/index.mjs +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.min.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/lite/index.mjs +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/dequal → dequal}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/lib/default.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/lib/development.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/lib/development.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/devlop → devlop}/readme.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/LICENSE +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/dist/eventemitter3.esm.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/dist/eventemitter3.esm.min.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/dist/eventemitter3.esm.min.js.map +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/dist/eventemitter3.umd.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/dist/eventemitter3.umd.min.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/dist/eventemitter3.umd.min.js.map +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/index.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/index.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/index.mjs +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/eventemitter3 → eventemitter3}/package.json +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/lodash.transform → lodash.transform}/LICENSE +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/lodash.transform → lodash.transform}/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/lodash.transform → lodash.transform}/index.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/lodash.transform → lodash.transform}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/mdast-util-to-string → mdast-util-to-string}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/compile.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/compile.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/compile.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/constructs.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/constructs.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/constructs.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/create-tokenizer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/create-tokenizer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/create-tokenizer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/document.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/document.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/document.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/initialize/text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/parse.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/parse.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/parse.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/postprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/postprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/postprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/preprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/preprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/lib/preprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/stream.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/stream.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/dev/stream.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/compile.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/compile.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/compile.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/constructs.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/constructs.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/constructs.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/create-tokenizer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/create-tokenizer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/create-tokenizer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/document.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/document.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/document.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/initialize/text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/parse.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/parse.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/parse.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/postprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/postprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/postprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/preprocess.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/preprocess.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/lib/preprocess.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/stream.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/stream.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark → micromark}/stream.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/attention.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/attention.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/attention.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/autolink.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/autolink.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/autolink.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/blank-line.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/blank-line.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/blank-line.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/block-quote.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/block-quote.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/block-quote.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/character-reference.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-fenced.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-fenced.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-fenced.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-indented.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-indented.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-indented.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/code-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/definition.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/definition.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/definition.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/hard-break-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/hard-break-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/hard-break-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/heading-atx.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/heading-atx.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/heading-atx.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/html-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-end.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-end.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-end.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-image.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-image.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-image.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-link.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-link.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/label-start-link.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/line-ending.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/line-ending.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/line-ending.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/list.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/list.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/list.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/setext-underline.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/setext-underline.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/setext-underline.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/thematic-break.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/thematic-break.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/dev/lib/thematic-break.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/attention.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/attention.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/attention.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/autolink.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/autolink.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/autolink.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/blank-line.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/blank-line.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/blank-line.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/block-quote.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/block-quote.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/block-quote.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-reference.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-reference.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/character-reference.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-fenced.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-fenced.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-fenced.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-indented.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-indented.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-indented.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/code-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/content.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/content.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/content.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/definition.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/definition.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/definition.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/hard-break-escape.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/hard-break-escape.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/hard-break-escape.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/heading-atx.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/heading-atx.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/heading-atx.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-flow.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-flow.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-flow.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-text.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-text.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/html-text.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-end.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-end.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-end.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-image.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-image.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-image.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-link.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-link.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/label-start-link.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/line-ending.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/line-ending.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/line-ending.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/list.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/list.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/list.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/setext-underline.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/setext-underline.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/setext-underline.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/thematic-break.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/thematic-break.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/lib/thematic-break.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-core-commonmark → micromark-core-commonmark}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-destination → micromark-factory-destination}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-label → micromark-factory-label}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-space → micromark-factory-space}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-title → micromark-factory-title}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-factory-whitespace → micromark-factory-whitespace}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-character → micromark-util-character}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-chunked → micromark-util-chunked}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-classify-character → micromark-util-classify-character}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-combine-extensions → micromark-util-combine-extensions}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference → micromark-util-decode-numeric-character-reference}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-decode-string → micromark-util-decode-string}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-encode → micromark-util-encode}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-html-tag-name → micromark-util-html-tag-name}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier → micromark-util-normalize-identifier}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-resolve-all → micromark-util-resolve-all}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-sanitize-uri → micromark-util-sanitize-uri}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/lib/splice-buffer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/lib/splice-buffer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/dev/lib/splice-buffer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/index.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/lib/splice-buffer.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/lib/splice-buffer.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/lib/splice-buffer.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-subtokenize → micromark-util-subtokenize}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/codes.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/codes.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/codes.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/constants.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/constants.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/constants.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/default.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/default.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/default.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/types.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/types.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/types.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/values.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/values.d.ts.map +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/lib/values.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-symbol → micromark-util-symbol}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/micromark-util-types → micromark-util-types}/readme.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/ms → ms}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/ms → ms}/license.md +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/ms → ms}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/ms → ms}/readme.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/LICENSE +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/core/FFmpeg.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/core/VolumeTransformer.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/core/WebmBase.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/core/index.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/index.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/opus/OggDemuxer.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/opus/Opus.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/opus/WebmDemuxer.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/opus/index.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/util/loader.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/vorbis/WebmDemuxer.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/src/vorbis/index.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/typings/index.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/typings/opus.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/prism-media → prism-media}/typings/vorbis.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/CopyrightNotice.txt +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/LICENSE.txt +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/SECURITY.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/modules/index.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/modules/index.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/modules/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/tslib.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/tslib.es6.html +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/tslib.es6.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/tslib.es6.mjs +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/tslib.html +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/tslib → tslib}/tslib.js +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/LICENSE +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/README.md +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/api.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/balanced-pool.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/cache-interceptor.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/cache.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/client-stats.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/client.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/connector.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/content-type.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/cookies.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/diagnostics-channel.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/dispatcher.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/dispatcher1-wrapper.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/env-http-proxy-agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/errors.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/eventsource.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/fetch.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/formdata.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/global-dispatcher.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/global-origin.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/h2c-client.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/handlers.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/header.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/index.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/interceptors.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/mock-agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/mock-call-history.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/mock-client.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/mock-errors.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/mock-interceptor.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/mock-pool.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/package.json +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/patch.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/pool-stats.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/pool.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/proxy-agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/readable.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/retry-agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/retry-handler.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/round-robin-pool.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/snapshot-agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/socks5-proxy-agent.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/util.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/utility.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/webidl.d.ts +0 -0
- /package/node_modules/{@discordjs/voice/node_modules/undici-types → undici-types}/websocket.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/lib/index.d.ts +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/lib/index.js +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/license +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/package.json +0 -0
- /package/node_modules/{mdast-util-from-markdown/node_modules/unist-util-stringify-position → unist-util-stringify-position}/readme.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/LICENSE.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/README.md +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/index.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/index.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/max.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/max.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/md5.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/md5.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/nil.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/nil.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/parse.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/parse.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/regex.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/regex.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/rng.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/rng.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/sha1.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/sha1.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/stringify.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/stringify.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/types.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid/dist/uuid-bin.d.ts → uuid/dist/types.js} +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/uuid-bin.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v1.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v1.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v1ToV6.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v1ToV6.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v3.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v3.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v35.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v35.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v4.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v4.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v5.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v5.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v6.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v6.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v6ToV1.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v6ToV1.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v7.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/v7.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/validate.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/validate.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/version.d.ts +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist/version.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/bin/uuid +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/index.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/max.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/md5.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/nil.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/parse.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/regex.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/rng.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/sha1.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/stringify.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid/dist → uuid/dist-node}/types.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/uuid-bin.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v1.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v1ToV6.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v3.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v35.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v4.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v5.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v6.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v6ToV1.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/v7.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/validate.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/dist-node/version.js +0 -0
- /package/node_modules/{@discord/embedded-app-sdk/node_modules/uuid → uuid}/package.json +0 -0
package/dist/retry-BNCxiyyR.js
DELETED
|
@@ -1,3631 +0,0 @@
|
|
|
1
|
-
import { t as parseDiscordRetryAfterBodySeconds } from "./retry-after-BrLjLUJi.js";
|
|
2
|
-
import "node:module";
|
|
3
|
-
import { redactIdentifier, redactSensitiveFieldValue } from "openclaw/plugin-sdk/logging-core";
|
|
4
|
-
import { ApplicationCommandOptionType, ApplicationCommandType, ButtonStyle, ComponentType, GatewayDispatchEvents, InteractionContextType, InteractionResponseType, InteractionType, MessageFlags, Routes, TextInputStyle } from "discord-api-types/v10";
|
|
5
|
-
import { Type } from "typebox";
|
|
6
|
-
import { Check } from "typebox/value";
|
|
7
|
-
import { createHash } from "node:crypto";
|
|
8
|
-
import { asDateTimestampMs, clampTimerTimeoutMs, parseStrictNonNegativeInteger, resolveExpiresAtMsFromDurationMs, resolveIntegerOption, resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
|
|
9
|
-
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
10
|
-
import { inspect } from "node:util";
|
|
11
|
-
import { gunzipSync } from "node:zlib";
|
|
12
|
-
import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
|
|
13
|
-
import { collectErrorGraphCandidates, extractErrorCode, formatErrorMessage, readErrorName } from "openclaw/plugin-sdk/error-runtime";
|
|
14
|
-
import { classifyTransientNetworkErrorCode, createChannelApiRetryRunner, parseRetryAfterHeaderSeconds, resolveRetryConfig, retryAsync } from "openclaw/plugin-sdk/retry-runtime";
|
|
15
|
-
import { buildMessagingTarget, parseMentionPrefixOrAtUserTarget, requireTargetKind } from "openclaw/plugin-sdk/channel-targets";
|
|
16
|
-
import { sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
|
|
17
|
-
import { resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
|
|
18
|
-
import { chunkMarkdownTextWithMode } from "openclaw/plugin-sdk/reply-chunking";
|
|
19
|
-
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
20
|
-
import { isSingleUseReplyToMode } from "openclaw/plugin-sdk/reply-reference";
|
|
21
|
-
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
22
|
-
import { attachChannelToResults } from "openclaw/plugin-sdk/channel-send-result";
|
|
23
|
-
//#region \0rolldown/runtime.js
|
|
24
|
-
var __defProp = Object.defineProperty;
|
|
25
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
26
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
27
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
28
|
-
var __exportAll = (all, no_symbols) => {
|
|
29
|
-
let target = {};
|
|
30
|
-
for (var name in all) __defProp(target, name, {
|
|
31
|
-
get: all[name],
|
|
32
|
-
enumerable: true
|
|
33
|
-
});
|
|
34
|
-
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
35
|
-
return target;
|
|
36
|
-
};
|
|
37
|
-
var __copyProps = (to, from, except, desc) => {
|
|
38
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
39
|
-
key = keys[i];
|
|
40
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
41
|
-
get: ((k) => from[k]).bind(null, key),
|
|
42
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
return to;
|
|
46
|
-
};
|
|
47
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
48
|
-
//#endregion
|
|
49
|
-
//#region extensions/discord/src/internal/api.commands.ts
|
|
50
|
-
async function listApplicationCommands(rest, clientId) {
|
|
51
|
-
return await rest.get(Routes.applicationCommands(clientId));
|
|
52
|
-
}
|
|
53
|
-
async function createApplicationCommand(rest, clientId, body) {
|
|
54
|
-
return await rest.post(Routes.applicationCommands(clientId), { body });
|
|
55
|
-
}
|
|
56
|
-
async function editApplicationCommand(rest, clientId, commandId, body) {
|
|
57
|
-
return await rest.patch(Routes.applicationCommand(clientId, commandId), { body });
|
|
58
|
-
}
|
|
59
|
-
async function deleteApplicationCommand(rest, clientId, commandId) {
|
|
60
|
-
await rest.delete(Routes.applicationCommand(clientId, commandId));
|
|
61
|
-
}
|
|
62
|
-
async function overwriteApplicationCommands(rest, clientId, body) {
|
|
63
|
-
await rest.put(Routes.applicationCommands(clientId), { body });
|
|
64
|
-
}
|
|
65
|
-
async function overwriteGuildApplicationCommands(rest, clientId, guildId, body) {
|
|
66
|
-
await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body });
|
|
67
|
-
}
|
|
68
|
-
//#endregion
|
|
69
|
-
//#region extensions/discord/src/internal/api.guild.ts
|
|
70
|
-
const discordGuildEmojiListSchema = Type.Array(Type.Object({
|
|
71
|
-
id: Type.Union([Type.String(), Type.Null()]),
|
|
72
|
-
name: Type.Union([Type.String(), Type.Null()]),
|
|
73
|
-
animated: Type.Optional(Type.Boolean())
|
|
74
|
-
}, { additionalProperties: true }));
|
|
75
|
-
async function getGuild(rest, guildId) {
|
|
76
|
-
return await rest.get(Routes.guild(guildId));
|
|
77
|
-
}
|
|
78
|
-
async function createGuildChannel(rest, guildId, data) {
|
|
79
|
-
return await rest.post(Routes.guildChannels(guildId), data);
|
|
80
|
-
}
|
|
81
|
-
async function moveGuildChannels(rest, guildId, data) {
|
|
82
|
-
await rest.patch(Routes.guildChannels(guildId), data);
|
|
83
|
-
}
|
|
84
|
-
async function getGuildMember(rest, guildId, userId) {
|
|
85
|
-
return await rest.get(Routes.guildMember(guildId, userId));
|
|
86
|
-
}
|
|
87
|
-
async function listGuildRoles(rest, guildId) {
|
|
88
|
-
return await rest.get(Routes.guildRoles(guildId));
|
|
89
|
-
}
|
|
90
|
-
async function listGuildChannels(rest, guildId) {
|
|
91
|
-
return await rest.get(Routes.guildChannels(guildId));
|
|
92
|
-
}
|
|
93
|
-
async function putChannelPermission(rest, channelId, targetId, data) {
|
|
94
|
-
await rest.put(Routes.channelPermission(channelId, targetId), data);
|
|
95
|
-
}
|
|
96
|
-
async function deleteChannelPermission(rest, channelId, targetId) {
|
|
97
|
-
await rest.delete(Routes.channelPermission(channelId, targetId));
|
|
98
|
-
}
|
|
99
|
-
async function listGuildActiveThreads(rest, guildId) {
|
|
100
|
-
return await rest.get(Routes.guildActiveThreads(guildId));
|
|
101
|
-
}
|
|
102
|
-
async function getGuildVoiceState(rest, guildId, userId) {
|
|
103
|
-
return await rest.get(Routes.guildVoiceState(guildId, userId));
|
|
104
|
-
}
|
|
105
|
-
async function listGuildScheduledEvents(rest, guildId) {
|
|
106
|
-
return await rest.get(Routes.guildScheduledEvents(guildId));
|
|
107
|
-
}
|
|
108
|
-
async function createGuildScheduledEvent(rest, guildId, body) {
|
|
109
|
-
return await rest.post(Routes.guildScheduledEvents(guildId), { body });
|
|
110
|
-
}
|
|
111
|
-
async function timeoutGuildMember(rest, guildId, userId, data) {
|
|
112
|
-
return await rest.patch(Routes.guildMember(guildId, userId), data);
|
|
113
|
-
}
|
|
114
|
-
async function addGuildMemberRole(rest, guildId, userId, roleId) {
|
|
115
|
-
await rest.put(Routes.guildMemberRole(guildId, userId, roleId));
|
|
116
|
-
}
|
|
117
|
-
async function removeGuildMemberRole(rest, guildId, userId, roleId) {
|
|
118
|
-
await rest.delete(Routes.guildMemberRole(guildId, userId, roleId));
|
|
119
|
-
}
|
|
120
|
-
async function removeGuildMember(rest, guildId, userId, data) {
|
|
121
|
-
await rest.delete(Routes.guildMember(guildId, userId), data);
|
|
122
|
-
}
|
|
123
|
-
async function createGuildBan(rest, guildId, userId, data) {
|
|
124
|
-
await rest.put(Routes.guildBan(guildId, userId), data);
|
|
125
|
-
}
|
|
126
|
-
async function listGuildEmojis(rest, guildId) {
|
|
127
|
-
const emojis = await rest.get(Routes.guildEmojis(guildId));
|
|
128
|
-
if (!Check(discordGuildEmojiListSchema, emojis)) throw new Error("Invalid Discord guild emoji response.");
|
|
129
|
-
return emojis;
|
|
130
|
-
}
|
|
131
|
-
async function createGuildEmoji(rest, guildId, data) {
|
|
132
|
-
return await rest.post(Routes.guildEmojis(guildId), data);
|
|
133
|
-
}
|
|
134
|
-
async function createGuildSticker(rest, guildId, data) {
|
|
135
|
-
return await rest.post(Routes.guildStickers(guildId), data);
|
|
136
|
-
}
|
|
137
|
-
//#endregion
|
|
138
|
-
//#region extensions/discord/src/internal/api.interactions.ts
|
|
139
|
-
async function createInteractionCallback(rest, interactionId, token, body) {
|
|
140
|
-
return await rest.post(Routes.interactionCallback(interactionId, token), { body });
|
|
141
|
-
}
|
|
142
|
-
async function editWebhookMessage(rest, applicationId, token, messageId, data, query) {
|
|
143
|
-
return query ? await rest.patch(Routes.webhookMessage(applicationId, token, messageId), data, query) : await rest.patch(Routes.webhookMessage(applicationId, token, messageId), data);
|
|
144
|
-
}
|
|
145
|
-
async function deleteWebhookMessage(rest, applicationId, token, messageId) {
|
|
146
|
-
return await rest.delete(Routes.webhookMessage(applicationId, token, messageId));
|
|
147
|
-
}
|
|
148
|
-
async function getWebhookMessage(rest, applicationId, token, messageId) {
|
|
149
|
-
return await rest.get(Routes.webhookMessage(applicationId, token, messageId));
|
|
150
|
-
}
|
|
151
|
-
async function createWebhookMessage(rest, applicationId, token, data, query) {
|
|
152
|
-
return await rest.post(Routes.webhook(applicationId, token), data, query);
|
|
153
|
-
}
|
|
154
|
-
//#endregion
|
|
155
|
-
//#region extensions/discord/src/internal/api.messages.ts
|
|
156
|
-
async function getChannel(rest, channelId) {
|
|
157
|
-
return await rest.get(Routes.channel(channelId));
|
|
158
|
-
}
|
|
159
|
-
async function getThreadMember(rest, threadId, userId) {
|
|
160
|
-
return await rest.get(Routes.threadMembers(threadId, userId));
|
|
161
|
-
}
|
|
162
|
-
async function editChannel(rest, channelId, data) {
|
|
163
|
-
return await rest.patch(Routes.channel(channelId), data);
|
|
164
|
-
}
|
|
165
|
-
async function deleteChannel(rest, channelId) {
|
|
166
|
-
await rest.delete(Routes.channel(channelId));
|
|
167
|
-
}
|
|
168
|
-
async function listChannelMessages(rest, channelId, query) {
|
|
169
|
-
return await rest.get(Routes.channelMessages(channelId), query);
|
|
170
|
-
}
|
|
171
|
-
async function getChannelMessage(rest, channelId, messageId) {
|
|
172
|
-
return await rest.get(Routes.channelMessage(channelId, messageId));
|
|
173
|
-
}
|
|
174
|
-
async function createChannelMessage(rest, channelId, data) {
|
|
175
|
-
return await rest.post(Routes.channelMessages(channelId), data);
|
|
176
|
-
}
|
|
177
|
-
async function editChannelMessage(rest, channelId, messageId, data) {
|
|
178
|
-
return await rest.patch(Routes.channelMessage(channelId, messageId), data);
|
|
179
|
-
}
|
|
180
|
-
async function deleteChannelMessage(rest, channelId, messageId) {
|
|
181
|
-
await rest.delete(Routes.channelMessage(channelId, messageId));
|
|
182
|
-
}
|
|
183
|
-
async function pinChannelMessage(rest, channelId, messageId) {
|
|
184
|
-
await rest.put(Routes.channelPin(channelId, messageId));
|
|
185
|
-
}
|
|
186
|
-
async function unpinChannelMessage(rest, channelId, messageId) {
|
|
187
|
-
await rest.delete(Routes.channelPin(channelId, messageId));
|
|
188
|
-
}
|
|
189
|
-
async function listChannelPins(rest, channelId) {
|
|
190
|
-
return await rest.get(Routes.channelPins(channelId));
|
|
191
|
-
}
|
|
192
|
-
async function sendChannelTyping(rest, channelId) {
|
|
193
|
-
await rest.post(Routes.channelTyping(channelId));
|
|
194
|
-
}
|
|
195
|
-
async function createThread(rest, channelId, data, messageId) {
|
|
196
|
-
const route = messageId ? Routes.threads(channelId, messageId) : Routes.threads(channelId);
|
|
197
|
-
return await rest.post(route, data);
|
|
198
|
-
}
|
|
199
|
-
async function listChannelArchivedThreads(rest, channelId, query) {
|
|
200
|
-
return await rest.get(Routes.channelThreads(channelId, "public"), query);
|
|
201
|
-
}
|
|
202
|
-
async function searchGuildMessages(rest, guildId, params) {
|
|
203
|
-
return await rest.get(`/guilds/${guildId}/messages/search?${params.toString()}`);
|
|
204
|
-
}
|
|
205
|
-
//#endregion
|
|
206
|
-
//#region extensions/discord/src/internal/api.reactions.ts
|
|
207
|
-
async function createOwnMessageReaction(rest, channelId, messageId, encodedEmoji) {
|
|
208
|
-
await rest.put(Routes.channelMessageOwnReaction(channelId, messageId, encodedEmoji));
|
|
209
|
-
}
|
|
210
|
-
async function deleteOwnMessageReaction(rest, channelId, messageId, encodedEmoji) {
|
|
211
|
-
await rest.delete(Routes.channelMessageOwnReaction(channelId, messageId, encodedEmoji));
|
|
212
|
-
}
|
|
213
|
-
async function listMessageReactionUsers(rest, channelId, messageId, encodedEmoji, query) {
|
|
214
|
-
return await rest.get(Routes.channelMessageReaction(channelId, messageId, encodedEmoji), query);
|
|
215
|
-
}
|
|
216
|
-
//#endregion
|
|
217
|
-
//#region extensions/discord/src/internal/api.users.ts
|
|
218
|
-
async function getCurrentUser(rest) {
|
|
219
|
-
return await rest.get(Routes.user("@me"));
|
|
220
|
-
}
|
|
221
|
-
async function getUser(rest, userId) {
|
|
222
|
-
return await rest.get(Routes.user(userId));
|
|
223
|
-
}
|
|
224
|
-
async function createUserDmChannel(rest, recipientId) {
|
|
225
|
-
return await rest.post(Routes.userChannels(), { body: { recipient_id: recipientId } });
|
|
226
|
-
}
|
|
227
|
-
//#endregion
|
|
228
|
-
//#region extensions/discord/src/internal/api.webhooks.ts
|
|
229
|
-
async function createChannelWebhook(rest, channelId, data) {
|
|
230
|
-
return await rest.post(Routes.channelWebhooks(channelId), data);
|
|
231
|
-
}
|
|
232
|
-
//#endregion
|
|
233
|
-
//#region extensions/discord/src/internal/command-comparison.ts
|
|
234
|
-
const unorderedCommandArrayFields = /* @__PURE__ */ new Set([
|
|
235
|
-
"channel_types",
|
|
236
|
-
"contexts",
|
|
237
|
-
"integration_types"
|
|
238
|
-
]);
|
|
239
|
-
const optionComparisonOmittedFields = /* @__PURE__ */ new Set([
|
|
240
|
-
"contexts",
|
|
241
|
-
"default_member_permissions",
|
|
242
|
-
"description_localized",
|
|
243
|
-
"integration_types",
|
|
244
|
-
"name_localized"
|
|
245
|
-
]);
|
|
246
|
-
const nullableLocalizationFields = /* @__PURE__ */ new Set(["description_localizations", "name_localizations"]);
|
|
247
|
-
function comparableCommand(value) {
|
|
248
|
-
if (!value || typeof value !== "object") return value;
|
|
249
|
-
const omit = /* @__PURE__ */ new Set([
|
|
250
|
-
"application_id",
|
|
251
|
-
"description_localized",
|
|
252
|
-
"dm_permission",
|
|
253
|
-
"guild_id",
|
|
254
|
-
"id",
|
|
255
|
-
"name_localized",
|
|
256
|
-
"nsfw",
|
|
257
|
-
"version",
|
|
258
|
-
"default_permission"
|
|
259
|
-
]);
|
|
260
|
-
return stableComparableObject(Object.fromEntries(Object.entries(value).filter(([key, entry]) => !omit.has(key) && entry !== void 0)));
|
|
261
|
-
}
|
|
262
|
-
function stableComparableObject(value, pathValue = []) {
|
|
263
|
-
if (Array.isArray(value)) {
|
|
264
|
-
const normalized = value.map((entry) => stableComparableObject(entry, pathValue));
|
|
265
|
-
const key = pathValue.at(-1);
|
|
266
|
-
if (key && unorderedCommandArrayFields.has(key) && normalized.every((entry) => typeof entry === "string" || typeof entry === "number" || typeof entry === "boolean")) return normalized.toSorted((left, right) => String(left).localeCompare(String(right)));
|
|
267
|
-
return normalized;
|
|
268
|
-
}
|
|
269
|
-
if (!value || typeof value !== "object") return value;
|
|
270
|
-
return Object.fromEntries(Object.entries(value).filter(([key, entry]) => {
|
|
271
|
-
if (entry === void 0) return false;
|
|
272
|
-
if (entry === null && nullableLocalizationFields.has(key)) return false;
|
|
273
|
-
if (pathValue.includes("options") && optionComparisonOmittedFields.has(key)) return false;
|
|
274
|
-
if ((key === "required" || key === "autocomplete") && entry === false) return false;
|
|
275
|
-
return true;
|
|
276
|
-
}).toSorted(([a], [b]) => a.localeCompare(b)).map(([key, entry]) => [key, shouldNormalizeDescriptionValue(pathValue, key, entry) ? normalizeDescriptionForComparison(entry) : stableComparableObject(entry, [...pathValue, key])]));
|
|
277
|
-
}
|
|
278
|
-
function shouldNormalizeDescriptionValue(pathLocal, key, entry) {
|
|
279
|
-
return typeof entry === "string" && (key === "description" || pathLocal.at(-1) === "description_localizations");
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Normalize descriptions to match Discord's server-side storage semantics.
|
|
283
|
-
* Discord collapses whitespace and removes whitespace between CJK characters.
|
|
284
|
-
*/
|
|
285
|
-
function normalizeDescriptionForComparison(description) {
|
|
286
|
-
const collapsed = description.replace(/\s+/g, " ");
|
|
287
|
-
const cjkBoundaryWhitespace = /([\u3000-\u303F\u4E00-\u9FFF\uFF00-\uFFEF])\s+([\u3000-\u303F\u4E00-\u9FFF\uFF00-\uFFEF])/g;
|
|
288
|
-
return collapsed.replace(cjkBoundaryWhitespace, "$1$2").replace(cjkBoundaryWhitespace, "$1$2").trim();
|
|
289
|
-
}
|
|
290
|
-
function commandsEqual(a, b) {
|
|
291
|
-
return JSON.stringify(comparableCommand(a)) === JSON.stringify(comparableCommand(b));
|
|
292
|
-
}
|
|
293
|
-
//#endregion
|
|
294
|
-
//#region extensions/discord/src/internal/command-deploy.ts
|
|
295
|
-
const DISCORD_APPLICATION_COMMAND_LIMIT_REACHED = 30032;
|
|
296
|
-
var DiscordCommandDeployer = class {
|
|
297
|
-
constructor(params) {
|
|
298
|
-
this.params = params;
|
|
299
|
-
this.hashes = /* @__PURE__ */ new Map();
|
|
300
|
-
this.loadedKeys = /* @__PURE__ */ new Set();
|
|
301
|
-
}
|
|
302
|
-
async getCommands() {
|
|
303
|
-
return await listApplicationCommands(this.rest, this.params.clientId);
|
|
304
|
-
}
|
|
305
|
-
async deploy(options = {}) {
|
|
306
|
-
const commands = this.params.commands.filter((command) => command.name !== "*");
|
|
307
|
-
const serializedGlobal = commands.filter((command) => !command.guildIds).map((command) => command.serialize());
|
|
308
|
-
for (const [guildId, entries] of groupGuildCommands(commands)) await this.putCommandSetIfChanged(this.scopedCacheKey(`guild:${guildId}`), entries, async () => {
|
|
309
|
-
await overwriteGuildApplicationCommands(this.rest, this.params.clientId, guildId, entries);
|
|
310
|
-
}, options);
|
|
311
|
-
if (this.params.devGuilds?.length) {
|
|
312
|
-
for (const guildId of this.params.devGuilds) {
|
|
313
|
-
const entries = commands.map((command) => command.serialize());
|
|
314
|
-
await this.putCommandSetIfChanged(this.scopedCacheKey(`dev-guild:${guildId}`), entries, async () => {
|
|
315
|
-
await overwriteGuildApplicationCommands(this.rest, this.params.clientId, guildId, entries);
|
|
316
|
-
}, options);
|
|
317
|
-
}
|
|
318
|
-
return {
|
|
319
|
-
mode: options.mode ?? "reconcile",
|
|
320
|
-
usedDevGuilds: true
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
if (options.mode !== "overwrite") {
|
|
324
|
-
await this.putCommandSetIfChanged(this.scopedCacheKey("global:reconcile"), serializedGlobal, async () => {
|
|
325
|
-
await this.reconcileGlobalCommands(serializedGlobal);
|
|
326
|
-
}, options);
|
|
327
|
-
return {
|
|
328
|
-
mode: "reconcile",
|
|
329
|
-
usedDevGuilds: false
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
await this.putCommandSetIfChanged(this.scopedCacheKey("global:overwrite"), serializedGlobal, async () => {
|
|
333
|
-
await overwriteApplicationCommands(this.rest, this.params.clientId, serializedGlobal);
|
|
334
|
-
}, options);
|
|
335
|
-
return {
|
|
336
|
-
mode: "overwrite",
|
|
337
|
-
usedDevGuilds: false
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
/**
|
|
341
|
-
* Scope cache keys by Discord application id so multi-bot setups that share a
|
|
342
|
-
* single command-deploy store still reconcile each application separately. The
|
|
343
|
-
* prior unscoped `global:reconcile` / `guild:<id>` keys let a later account
|
|
344
|
-
* with an identical command set reuse the first account's hash and skip its
|
|
345
|
-
* own application's reconcile entirely (#77359).
|
|
346
|
-
*/
|
|
347
|
-
scopedCacheKey(suffix) {
|
|
348
|
-
return `app:${this.params.clientId}:${suffix}`;
|
|
349
|
-
}
|
|
350
|
-
async reconcileGlobalCommands(desired) {
|
|
351
|
-
const existing = await this.getCommands();
|
|
352
|
-
const existingByKey = new Map(existing.map((command) => [stableCommandKey(command), command]));
|
|
353
|
-
const desiredCommands = desired.map((command) => ({
|
|
354
|
-
command,
|
|
355
|
-
key: stableCommandKey(command)
|
|
356
|
-
}));
|
|
357
|
-
const desiredKeys = new Set(desiredCommands.map(({ key }) => key));
|
|
358
|
-
for (const { command, key } of desiredCommands) {
|
|
359
|
-
const current = existingByKey.get(key);
|
|
360
|
-
if (current && !commandsEqual(current, command)) await editApplicationCommand(this.rest, this.params.clientId, current.id, command);
|
|
361
|
-
}
|
|
362
|
-
for (const { command, key } of desiredCommands) {
|
|
363
|
-
if (existingByKey.has(key)) continue;
|
|
364
|
-
try {
|
|
365
|
-
await createApplicationCommand(this.rest, this.params.clientId, command);
|
|
366
|
-
} catch (error) {
|
|
367
|
-
if (!isApplicationCommandLimitError(error)) throw error;
|
|
368
|
-
await overwriteApplicationCommands(this.rest, this.params.clientId, desired);
|
|
369
|
-
return;
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
for (const command of existing) if (!desiredKeys.has(stableCommandKey(command))) await deleteApplicationCommand(this.rest, this.params.clientId, command.id);
|
|
373
|
-
}
|
|
374
|
-
async putCommandSetIfChanged(key, commands, deploy, options) {
|
|
375
|
-
const hash = stableCommandSetHash(commands);
|
|
376
|
-
await this.loadPersistedHash(key);
|
|
377
|
-
if (!options.force && this.hashes.get(key) === hash) return;
|
|
378
|
-
await deploy();
|
|
379
|
-
this.hashes.set(key, hash);
|
|
380
|
-
try {
|
|
381
|
-
await this.params.hashStore?.register(key, hash);
|
|
382
|
-
} catch {}
|
|
383
|
-
}
|
|
384
|
-
async loadPersistedHash(key) {
|
|
385
|
-
if (this.loadedKeys.has(key)) return;
|
|
386
|
-
this.loadedKeys.add(key);
|
|
387
|
-
try {
|
|
388
|
-
const hash = await this.params.hashStore?.lookup(key);
|
|
389
|
-
if (typeof hash === "string" && hash.trim()) this.hashes.set(key, hash);
|
|
390
|
-
} catch {}
|
|
391
|
-
}
|
|
392
|
-
get rest() {
|
|
393
|
-
return this.params.rest();
|
|
394
|
-
}
|
|
395
|
-
};
|
|
396
|
-
function groupGuildCommands(commands) {
|
|
397
|
-
const guildCommands = /* @__PURE__ */ new Map();
|
|
398
|
-
for (const command of commands.filter((entry) => entry.guildIds)) for (const guildId of command.guildIds ?? []) {
|
|
399
|
-
const entries = guildCommands.get(guildId) ?? [];
|
|
400
|
-
entries.push(command.serialize());
|
|
401
|
-
guildCommands.set(guildId, entries);
|
|
402
|
-
}
|
|
403
|
-
return guildCommands;
|
|
404
|
-
}
|
|
405
|
-
function stableCommandKey(command) {
|
|
406
|
-
return `${command.type ?? ApplicationCommandType.ChatInput}:${command.name}`;
|
|
407
|
-
}
|
|
408
|
-
function isApplicationCommandLimitError(error) {
|
|
409
|
-
return error !== null && typeof error === "object" && "discordCode" in error && error.discordCode === DISCORD_APPLICATION_COMMAND_LIMIT_REACHED;
|
|
410
|
-
}
|
|
411
|
-
function stableCommandSetHash(commands) {
|
|
412
|
-
const stable = commands.map((command) => stableComparableObject(command)).toSorted((a, b) => stableCommandKey(a).localeCompare(stableCommandKey(b)));
|
|
413
|
-
return createHash("sha256").update(JSON.stringify(stable)).digest("hex");
|
|
414
|
-
}
|
|
415
|
-
//#endregion
|
|
416
|
-
//#region extensions/discord/src/internal/undefined-fields.ts
|
|
417
|
-
function stripUndefinedFields(value) {
|
|
418
|
-
return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== void 0));
|
|
419
|
-
}
|
|
420
|
-
//#endregion
|
|
421
|
-
//#region extensions/discord/src/internal/components.base.ts
|
|
422
|
-
function parseCustomId(id) {
|
|
423
|
-
const [rawKeyValue, ...parts] = id.split(";");
|
|
424
|
-
const rawKey = expectDefined(rawKeyValue, "custom id split first segment");
|
|
425
|
-
const [keyPart, firstValue] = rawKey.split("=");
|
|
426
|
-
const definedKeyPart = expectDefined(keyPart, "custom id key segment");
|
|
427
|
-
const key = definedKeyPart.includes(":") ? expectDefined(definedKeyPart.split(":").at(0), "namespaced custom id key") : definedKeyPart;
|
|
428
|
-
const data = {};
|
|
429
|
-
const entries = firstValue === void 0 ? parts : [rawKey.slice(key.length + 1), ...parts];
|
|
430
|
-
for (const entry of entries) {
|
|
431
|
-
const index = entry.indexOf("=");
|
|
432
|
-
if (index < 0) continue;
|
|
433
|
-
const name = entry.slice(0, index).replace(/^[^:]+:/, "");
|
|
434
|
-
const raw = entry.slice(index + 1);
|
|
435
|
-
data[name] = raw === "true" ? true : raw === "false" ? false : raw;
|
|
436
|
-
}
|
|
437
|
-
return {
|
|
438
|
-
key,
|
|
439
|
-
data
|
|
440
|
-
};
|
|
441
|
-
}
|
|
442
|
-
function colorToNumber(value) {
|
|
443
|
-
if (typeof value === "number") return Number.isInteger(value) && value >= 0 && value <= 16777215 ? value : void 0;
|
|
444
|
-
if (typeof value === "string" && /^#?[0-9a-f]{6}$/i.test(value)) return Number.parseInt(value.replace(/^#/, ""), 16);
|
|
445
|
-
}
|
|
446
|
-
var BaseComponent = class {
|
|
447
|
-
constructor() {
|
|
448
|
-
this.isV2 = false;
|
|
449
|
-
}
|
|
450
|
-
};
|
|
451
|
-
var BaseMessageInteractiveComponent = class extends BaseComponent {
|
|
452
|
-
constructor(..._args) {
|
|
453
|
-
super(..._args);
|
|
454
|
-
this.isV2 = false;
|
|
455
|
-
this.defer = false;
|
|
456
|
-
this.ephemeral = false;
|
|
457
|
-
this.customIdParser = parseCustomId;
|
|
458
|
-
}
|
|
459
|
-
run(_interaction, _data) {}
|
|
460
|
-
};
|
|
461
|
-
var BaseModalComponent = class extends BaseComponent {};
|
|
462
|
-
//#endregion
|
|
463
|
-
//#region extensions/discord/src/internal/components.message.ts
|
|
464
|
-
var BaseButton = class extends BaseMessageInteractiveComponent {
|
|
465
|
-
constructor(..._args) {
|
|
466
|
-
super(..._args);
|
|
467
|
-
this.type = ComponentType.Button;
|
|
468
|
-
this.style = ButtonStyle.Primary;
|
|
469
|
-
this.disabled = false;
|
|
470
|
-
}
|
|
471
|
-
};
|
|
472
|
-
var Button = class extends BaseButton {
|
|
473
|
-
serialize() {
|
|
474
|
-
return stripUndefinedFields({
|
|
475
|
-
type: this.type,
|
|
476
|
-
style: this.style,
|
|
477
|
-
custom_id: this.customId,
|
|
478
|
-
label: this.label,
|
|
479
|
-
emoji: this.emoji,
|
|
480
|
-
disabled: this.disabled || void 0
|
|
481
|
-
});
|
|
482
|
-
}
|
|
483
|
-
};
|
|
484
|
-
var LinkButton = class extends BaseButton {
|
|
485
|
-
constructor(..._args2) {
|
|
486
|
-
super(..._args2);
|
|
487
|
-
this.customId = "";
|
|
488
|
-
this.style = ButtonStyle.Link;
|
|
489
|
-
}
|
|
490
|
-
async run() {
|
|
491
|
-
throw new Error("Link buttons do not run handlers");
|
|
492
|
-
}
|
|
493
|
-
serialize() {
|
|
494
|
-
return stripUndefinedFields({
|
|
495
|
-
type: this.type,
|
|
496
|
-
style: this.style,
|
|
497
|
-
label: this.label,
|
|
498
|
-
emoji: this.emoji,
|
|
499
|
-
disabled: this.disabled || void 0,
|
|
500
|
-
url: this.url
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
};
|
|
504
|
-
var AnySelectMenu = class extends BaseMessageInteractiveComponent {
|
|
505
|
-
constructor(..._args3) {
|
|
506
|
-
super(..._args3);
|
|
507
|
-
this.disabled = false;
|
|
508
|
-
}
|
|
509
|
-
serialize() {
|
|
510
|
-
return stripUndefinedFields({
|
|
511
|
-
...this.serializeOptions(),
|
|
512
|
-
custom_id: this.customId,
|
|
513
|
-
placeholder: this.placeholder,
|
|
514
|
-
min_values: this.minValues,
|
|
515
|
-
max_values: this.maxValues,
|
|
516
|
-
disabled: this.disabled || void 0,
|
|
517
|
-
required: this.required
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
|
-
};
|
|
521
|
-
var StringSelectMenu = class extends AnySelectMenu {
|
|
522
|
-
constructor(..._args4) {
|
|
523
|
-
super(..._args4);
|
|
524
|
-
this.type = ComponentType.StringSelect;
|
|
525
|
-
}
|
|
526
|
-
serializeOptions() {
|
|
527
|
-
return {
|
|
528
|
-
type: this.type,
|
|
529
|
-
options: this.options
|
|
530
|
-
};
|
|
531
|
-
}
|
|
532
|
-
};
|
|
533
|
-
var UserSelectMenu = class extends AnySelectMenu {
|
|
534
|
-
constructor(..._args5) {
|
|
535
|
-
super(..._args5);
|
|
536
|
-
this.type = ComponentType.UserSelect;
|
|
537
|
-
}
|
|
538
|
-
serializeOptions() {
|
|
539
|
-
return {
|
|
540
|
-
type: this.type,
|
|
541
|
-
default_values: this.defaultValues
|
|
542
|
-
};
|
|
543
|
-
}
|
|
544
|
-
};
|
|
545
|
-
var RoleSelectMenu = class extends AnySelectMenu {
|
|
546
|
-
constructor(..._args6) {
|
|
547
|
-
super(..._args6);
|
|
548
|
-
this.type = ComponentType.RoleSelect;
|
|
549
|
-
}
|
|
550
|
-
serializeOptions() {
|
|
551
|
-
return {
|
|
552
|
-
type: this.type,
|
|
553
|
-
default_values: this.defaultValues
|
|
554
|
-
};
|
|
555
|
-
}
|
|
556
|
-
};
|
|
557
|
-
var MentionableSelectMenu = class extends AnySelectMenu {
|
|
558
|
-
constructor(..._args7) {
|
|
559
|
-
super(..._args7);
|
|
560
|
-
this.type = ComponentType.MentionableSelect;
|
|
561
|
-
}
|
|
562
|
-
serializeOptions() {
|
|
563
|
-
return {
|
|
564
|
-
type: this.type,
|
|
565
|
-
default_values: this.defaultValues
|
|
566
|
-
};
|
|
567
|
-
}
|
|
568
|
-
};
|
|
569
|
-
var ChannelSelectMenu = class extends AnySelectMenu {
|
|
570
|
-
constructor(..._args8) {
|
|
571
|
-
super(..._args8);
|
|
572
|
-
this.type = ComponentType.ChannelSelect;
|
|
573
|
-
}
|
|
574
|
-
serializeOptions() {
|
|
575
|
-
return {
|
|
576
|
-
type: this.type,
|
|
577
|
-
default_values: this.defaultValues,
|
|
578
|
-
channel_types: this.channelTypes
|
|
579
|
-
};
|
|
580
|
-
}
|
|
581
|
-
};
|
|
582
|
-
var Row = class extends BaseComponent {
|
|
583
|
-
constructor(components = []) {
|
|
584
|
-
super();
|
|
585
|
-
this.type = ComponentType.ActionRow;
|
|
586
|
-
this.isV2 = false;
|
|
587
|
-
this.components = components;
|
|
588
|
-
}
|
|
589
|
-
addComponent(component) {
|
|
590
|
-
this.components.push(component);
|
|
591
|
-
}
|
|
592
|
-
serialize() {
|
|
593
|
-
return {
|
|
594
|
-
type: this.type,
|
|
595
|
-
components: this.components.map((entry) => entry.serialize())
|
|
596
|
-
};
|
|
597
|
-
}
|
|
598
|
-
};
|
|
599
|
-
var TextDisplay = class extends BaseComponent {
|
|
600
|
-
constructor(content) {
|
|
601
|
-
super();
|
|
602
|
-
this.content = content;
|
|
603
|
-
this.type = ComponentType.TextDisplay;
|
|
604
|
-
this.isV2 = true;
|
|
605
|
-
}
|
|
606
|
-
serialize() {
|
|
607
|
-
return stripUndefinedFields({
|
|
608
|
-
type: this.type,
|
|
609
|
-
content: this.content
|
|
610
|
-
});
|
|
611
|
-
}
|
|
612
|
-
};
|
|
613
|
-
var Separator = class extends BaseComponent {
|
|
614
|
-
constructor(options) {
|
|
615
|
-
super();
|
|
616
|
-
this.type = ComponentType.Separator;
|
|
617
|
-
this.isV2 = true;
|
|
618
|
-
this.divider = true;
|
|
619
|
-
this.spacing = "small";
|
|
620
|
-
this.spacing = options?.spacing ?? this.spacing;
|
|
621
|
-
this.divider = options?.divider ?? this.divider;
|
|
622
|
-
}
|
|
623
|
-
serialize() {
|
|
624
|
-
return stripUndefinedFields({
|
|
625
|
-
type: this.type,
|
|
626
|
-
divider: this.divider,
|
|
627
|
-
spacing: this.spacing === "large" ? 2 : this.spacing === "small" ? 1 : this.spacing
|
|
628
|
-
});
|
|
629
|
-
}
|
|
630
|
-
};
|
|
631
|
-
var Thumbnail = class extends BaseComponent {
|
|
632
|
-
constructor(url) {
|
|
633
|
-
super();
|
|
634
|
-
this.url = url;
|
|
635
|
-
this.type = ComponentType.Thumbnail;
|
|
636
|
-
this.isV2 = true;
|
|
637
|
-
}
|
|
638
|
-
serialize() {
|
|
639
|
-
return stripUndefinedFields({
|
|
640
|
-
type: this.type,
|
|
641
|
-
media: this.url ? { url: this.url } : void 0
|
|
642
|
-
});
|
|
643
|
-
}
|
|
644
|
-
};
|
|
645
|
-
var Section = class extends BaseComponent {
|
|
646
|
-
constructor(components = [], accessory) {
|
|
647
|
-
super();
|
|
648
|
-
this.components = components;
|
|
649
|
-
this.accessory = accessory;
|
|
650
|
-
this.type = ComponentType.Section;
|
|
651
|
-
this.isV2 = true;
|
|
652
|
-
}
|
|
653
|
-
serialize() {
|
|
654
|
-
return stripUndefinedFields({
|
|
655
|
-
type: this.type,
|
|
656
|
-
components: this.components.map((entry) => entry.serialize()),
|
|
657
|
-
accessory: this.accessory?.serialize()
|
|
658
|
-
});
|
|
659
|
-
}
|
|
660
|
-
};
|
|
661
|
-
var MediaGallery = class extends BaseComponent {
|
|
662
|
-
constructor(items = []) {
|
|
663
|
-
super();
|
|
664
|
-
this.items = items;
|
|
665
|
-
this.type = ComponentType.MediaGallery;
|
|
666
|
-
this.isV2 = true;
|
|
667
|
-
}
|
|
668
|
-
serialize() {
|
|
669
|
-
return {
|
|
670
|
-
type: this.type,
|
|
671
|
-
items: this.items.map((entry) => ({
|
|
672
|
-
media: { url: entry.url },
|
|
673
|
-
description: entry.description,
|
|
674
|
-
spoiler: entry.spoiler
|
|
675
|
-
}))
|
|
676
|
-
};
|
|
677
|
-
}
|
|
678
|
-
};
|
|
679
|
-
var File = class extends BaseComponent {
|
|
680
|
-
constructor(file, spoiler = false) {
|
|
681
|
-
super();
|
|
682
|
-
this.file = file;
|
|
683
|
-
this.spoiler = spoiler;
|
|
684
|
-
this.type = ComponentType.File;
|
|
685
|
-
this.isV2 = true;
|
|
686
|
-
}
|
|
687
|
-
serialize() {
|
|
688
|
-
return stripUndefinedFields({
|
|
689
|
-
type: this.type,
|
|
690
|
-
file: this.file ? { url: this.file } : void 0,
|
|
691
|
-
spoiler: this.spoiler || void 0
|
|
692
|
-
});
|
|
693
|
-
}
|
|
694
|
-
};
|
|
695
|
-
var Container = class extends BaseComponent {
|
|
696
|
-
constructor(components = [], options) {
|
|
697
|
-
super();
|
|
698
|
-
this.type = ComponentType.Container;
|
|
699
|
-
this.isV2 = true;
|
|
700
|
-
this.spoiler = false;
|
|
701
|
-
this.components = components;
|
|
702
|
-
this.accentColor = options?.accentColor;
|
|
703
|
-
this.spoiler = options?.spoiler ?? false;
|
|
704
|
-
}
|
|
705
|
-
serialize() {
|
|
706
|
-
return stripUndefinedFields({
|
|
707
|
-
type: this.type,
|
|
708
|
-
components: this.components.map((entry) => entry.serialize()),
|
|
709
|
-
accent_color: colorToNumber(this.accentColor),
|
|
710
|
-
spoiler: this.spoiler || void 0
|
|
711
|
-
});
|
|
712
|
-
}
|
|
713
|
-
};
|
|
714
|
-
//#endregion
|
|
715
|
-
//#region extensions/discord/src/internal/components.modal.ts
|
|
716
|
-
var TextInput = class extends BaseModalComponent {
|
|
717
|
-
constructor(..._args) {
|
|
718
|
-
super(..._args);
|
|
719
|
-
this.type = ComponentType.TextInput;
|
|
720
|
-
this.customIdParser = parseCustomId;
|
|
721
|
-
this.style = TextInputStyle.Short;
|
|
722
|
-
}
|
|
723
|
-
serialize() {
|
|
724
|
-
return stripUndefinedFields({
|
|
725
|
-
type: this.type,
|
|
726
|
-
custom_id: this.customId,
|
|
727
|
-
style: this.style,
|
|
728
|
-
min_length: this.minLength,
|
|
729
|
-
max_length: this.maxLength,
|
|
730
|
-
required: this.required,
|
|
731
|
-
value: this.value,
|
|
732
|
-
placeholder: this.placeholder
|
|
733
|
-
});
|
|
734
|
-
}
|
|
735
|
-
};
|
|
736
|
-
var CheckboxGroup = class extends BaseModalComponent {
|
|
737
|
-
constructor(..._args2) {
|
|
738
|
-
super(..._args2);
|
|
739
|
-
this.type = 22;
|
|
740
|
-
this.options = [];
|
|
741
|
-
}
|
|
742
|
-
serialize() {
|
|
743
|
-
return stripUndefinedFields({
|
|
744
|
-
type: this.type,
|
|
745
|
-
custom_id: this.customId,
|
|
746
|
-
options: this.options,
|
|
747
|
-
required: this.required,
|
|
748
|
-
min_values: this.minValues,
|
|
749
|
-
max_values: this.maxValues
|
|
750
|
-
});
|
|
751
|
-
}
|
|
752
|
-
};
|
|
753
|
-
var RadioGroup = class extends BaseModalComponent {
|
|
754
|
-
constructor(..._args3) {
|
|
755
|
-
super(..._args3);
|
|
756
|
-
this.type = 21;
|
|
757
|
-
this.options = [];
|
|
758
|
-
}
|
|
759
|
-
serialize() {
|
|
760
|
-
return stripUndefinedFields({
|
|
761
|
-
type: this.type,
|
|
762
|
-
custom_id: this.customId,
|
|
763
|
-
options: this.options,
|
|
764
|
-
required: this.required,
|
|
765
|
-
min_values: this.minValues,
|
|
766
|
-
max_values: this.maxValues
|
|
767
|
-
});
|
|
768
|
-
}
|
|
769
|
-
};
|
|
770
|
-
var Label = class extends BaseModalComponent {
|
|
771
|
-
constructor(component) {
|
|
772
|
-
super();
|
|
773
|
-
this.component = component;
|
|
774
|
-
this.type = ComponentType.Label;
|
|
775
|
-
this.customId = "";
|
|
776
|
-
}
|
|
777
|
-
serialize() {
|
|
778
|
-
return stripUndefinedFields({
|
|
779
|
-
type: this.type,
|
|
780
|
-
label: this.label,
|
|
781
|
-
description: this.description,
|
|
782
|
-
component: this.component?.serialize()
|
|
783
|
-
});
|
|
784
|
-
}
|
|
785
|
-
};
|
|
786
|
-
var Modal = class {
|
|
787
|
-
constructor() {
|
|
788
|
-
this.components = [];
|
|
789
|
-
this.customIdParser = parseCustomId;
|
|
790
|
-
}
|
|
791
|
-
serialize() {
|
|
792
|
-
return {
|
|
793
|
-
title: this.title,
|
|
794
|
-
custom_id: this.customId,
|
|
795
|
-
components: this.components.map((entry) => entry.serialize())
|
|
796
|
-
};
|
|
797
|
-
}
|
|
798
|
-
};
|
|
799
|
-
//#endregion
|
|
800
|
-
//#region extensions/discord/src/internal/embeds.ts
|
|
801
|
-
var Embed = class {
|
|
802
|
-
constructor(embed) {
|
|
803
|
-
Object.assign(this, embed);
|
|
804
|
-
}
|
|
805
|
-
serialize() {
|
|
806
|
-
return stripUndefinedFields({
|
|
807
|
-
title: this.title,
|
|
808
|
-
description: this.description,
|
|
809
|
-
url: this.url,
|
|
810
|
-
timestamp: this.timestamp,
|
|
811
|
-
color: this.color,
|
|
812
|
-
footer: this.footer,
|
|
813
|
-
image: typeof this.image === "string" ? { url: this.image } : this.image,
|
|
814
|
-
thumbnail: typeof this.thumbnail === "string" ? { url: this.thumbnail } : this.thumbnail,
|
|
815
|
-
author: this.author,
|
|
816
|
-
fields: this.fields
|
|
817
|
-
});
|
|
818
|
-
}
|
|
819
|
-
};
|
|
820
|
-
//#endregion
|
|
821
|
-
//#region extensions/discord/src/internal/payload.ts
|
|
822
|
-
function hasDiscordV2Components(components) {
|
|
823
|
-
return Boolean(components?.some((component) => "isV2" in component && component.isV2 || "type" in component && component.type !== ComponentType.ActionRow));
|
|
824
|
-
}
|
|
825
|
-
function normalizePayloadFlags(payload) {
|
|
826
|
-
const flags = payload.ephemeral ? (payload.flags ?? 0) | MessageFlags.Ephemeral : payload.flags;
|
|
827
|
-
if (!hasDiscordV2Components(payload.components)) return flags;
|
|
828
|
-
if (payload.content || payload.embeds?.length) throw new Error("Discord Components V2 payloads cannot include content or embeds");
|
|
829
|
-
return (flags ?? 0) | MessageFlags.IsComponentsV2;
|
|
830
|
-
}
|
|
831
|
-
function serializePayload(payload) {
|
|
832
|
-
if (typeof payload === "string") return { content: payload };
|
|
833
|
-
const flags = normalizePayloadFlags(payload);
|
|
834
|
-
return stripUndefinedFields({
|
|
835
|
-
content: payload.content,
|
|
836
|
-
embeds: payload.embeds?.map((entry) => "serialize" in entry ? entry.serialize() : entry),
|
|
837
|
-
components: payload.components?.map((entry) => "serialize" in entry ? entry.serialize() : entry),
|
|
838
|
-
allowed_mentions: payload.allowed_mentions ?? payload.allowedMentions,
|
|
839
|
-
flags,
|
|
840
|
-
tts: payload.tts,
|
|
841
|
-
files: payload.files,
|
|
842
|
-
poll: payload.poll,
|
|
843
|
-
sticker_ids: payload.stickers
|
|
844
|
-
});
|
|
845
|
-
}
|
|
846
|
-
//#endregion
|
|
847
|
-
//#region extensions/discord/src/internal/component-registry.ts
|
|
848
|
-
var ComponentRegistry = class {
|
|
849
|
-
constructor() {
|
|
850
|
-
this.entries = /* @__PURE__ */ new Map();
|
|
851
|
-
this.oneOffComponents = /* @__PURE__ */ new Map();
|
|
852
|
-
this.wildcardEntries = [];
|
|
853
|
-
}
|
|
854
|
-
register(entry) {
|
|
855
|
-
const key = parseRegistryKey(entry.customId, entry.customIdParser);
|
|
856
|
-
if (key === "*") {
|
|
857
|
-
if (!this.wildcardEntries.includes(entry)) this.wildcardEntries.push(entry);
|
|
858
|
-
return;
|
|
859
|
-
}
|
|
860
|
-
const entries = this.entries.get(key) ?? [];
|
|
861
|
-
if (!entries.includes(entry)) {
|
|
862
|
-
entries.push(entry);
|
|
863
|
-
this.entries.set(key, entries);
|
|
864
|
-
}
|
|
865
|
-
}
|
|
866
|
-
resolve(customId, options) {
|
|
867
|
-
for (const entries of this.entries.values()) {
|
|
868
|
-
const match = entries.find((entry) => {
|
|
869
|
-
if (options?.componentType !== void 0 && entry.type !== options.componentType) return false;
|
|
870
|
-
const parser = entry.customIdParser ?? parseCustomId;
|
|
871
|
-
return parseRegistryKey(entry.customId, parser) === parseRegistryKey(customId, parser);
|
|
872
|
-
});
|
|
873
|
-
if (match) return match;
|
|
874
|
-
}
|
|
875
|
-
return this.wildcardEntries.find((entry) => {
|
|
876
|
-
if (options?.componentType !== void 0 && entry.type !== options.componentType) return false;
|
|
877
|
-
return true;
|
|
878
|
-
});
|
|
879
|
-
}
|
|
880
|
-
waitForMessageComponent(message, timeoutMs) {
|
|
881
|
-
const key = createOneOffComponentKey(message.id, message.channelId);
|
|
882
|
-
return new Promise((resolve) => {
|
|
883
|
-
const existing = this.oneOffComponents.get(key);
|
|
884
|
-
if (existing) {
|
|
885
|
-
clearTimeout(existing.timer);
|
|
886
|
-
existing.resolve({
|
|
887
|
-
success: false,
|
|
888
|
-
message: existing.message,
|
|
889
|
-
reason: "timed out"
|
|
890
|
-
});
|
|
891
|
-
}
|
|
892
|
-
const timer = setTimeout(() => {
|
|
893
|
-
this.oneOffComponents.delete(key);
|
|
894
|
-
resolve({
|
|
895
|
-
success: false,
|
|
896
|
-
message,
|
|
897
|
-
reason: "timed out"
|
|
898
|
-
});
|
|
899
|
-
}, resolveTimerTimeoutMs(timeoutMs, 0, 0));
|
|
900
|
-
timer.unref?.();
|
|
901
|
-
this.oneOffComponents.set(key, {
|
|
902
|
-
message,
|
|
903
|
-
timer,
|
|
904
|
-
resolve
|
|
905
|
-
});
|
|
906
|
-
});
|
|
907
|
-
}
|
|
908
|
-
resolveOneOffComponent(params) {
|
|
909
|
-
if (!params.messageId || !params.channelId) return false;
|
|
910
|
-
const key = createOneOffComponentKey(params.messageId, params.channelId);
|
|
911
|
-
const entry = this.oneOffComponents.get(key);
|
|
912
|
-
if (!entry) return false;
|
|
913
|
-
clearTimeout(entry.timer);
|
|
914
|
-
this.oneOffComponents.delete(key);
|
|
915
|
-
entry.resolve({
|
|
916
|
-
success: true,
|
|
917
|
-
customId: params.customId,
|
|
918
|
-
message: entry.message,
|
|
919
|
-
values: params.values
|
|
920
|
-
});
|
|
921
|
-
return true;
|
|
922
|
-
}
|
|
923
|
-
};
|
|
924
|
-
function parseRegistryKey(customId, parser = parseCustomId) {
|
|
925
|
-
return parser(customId).key;
|
|
926
|
-
}
|
|
927
|
-
function createOneOffComponentKey(messageId, channelId) {
|
|
928
|
-
return `${messageId}:${channelId}`;
|
|
929
|
-
}
|
|
930
|
-
//#endregion
|
|
931
|
-
//#region extensions/discord/src/internal/structures.ts
|
|
932
|
-
var Base = class {
|
|
933
|
-
constructor(client) {
|
|
934
|
-
this.client = client;
|
|
935
|
-
}
|
|
936
|
-
};
|
|
937
|
-
var User = class extends Base {
|
|
938
|
-
constructor(client, rawDataOrId) {
|
|
939
|
-
super(client);
|
|
940
|
-
this.rawDataValue = typeof rawDataOrId === "string" ? null : rawDataOrId;
|
|
941
|
-
this.id = typeof rawDataOrId === "string" ? rawDataOrId : rawDataOrId.id;
|
|
942
|
-
}
|
|
943
|
-
get rawData() {
|
|
944
|
-
if (!this.rawDataValue) throw new Error("Partial Discord user has no raw data");
|
|
945
|
-
return this.rawDataValue;
|
|
946
|
-
}
|
|
947
|
-
get partial() {
|
|
948
|
-
return this.rawDataValue === null;
|
|
949
|
-
}
|
|
950
|
-
get username() {
|
|
951
|
-
return this.rawDataValue?.username ?? "";
|
|
952
|
-
}
|
|
953
|
-
get globalName() {
|
|
954
|
-
return this.rawDataValue?.global_name;
|
|
955
|
-
}
|
|
956
|
-
get discriminator() {
|
|
957
|
-
return this.rawDataValue?.discriminator;
|
|
958
|
-
}
|
|
959
|
-
get bot() {
|
|
960
|
-
return this.rawDataValue?.bot;
|
|
961
|
-
}
|
|
962
|
-
get avatar() {
|
|
963
|
-
return this.rawDataValue?.avatar;
|
|
964
|
-
}
|
|
965
|
-
get avatarUrl() {
|
|
966
|
-
return this.avatar ? `https://cdn.discordapp.com/avatars/${this.id}/${this.avatar}.png` : null;
|
|
967
|
-
}
|
|
968
|
-
toString() {
|
|
969
|
-
return `<@${this.id}>`;
|
|
970
|
-
}
|
|
971
|
-
async fetch() {
|
|
972
|
-
return this.client.fetchUser(this.id);
|
|
973
|
-
}
|
|
974
|
-
async createDm() {
|
|
975
|
-
return await createUserDmChannel(this.client.rest, this.id);
|
|
976
|
-
}
|
|
977
|
-
async send(data) {
|
|
978
|
-
const dm = await this.createDm();
|
|
979
|
-
const message = await createChannelMessage(this.client.rest, dm.id, { body: serializePayload(data) });
|
|
980
|
-
return new Message(this.client, message);
|
|
981
|
-
}
|
|
982
|
-
};
|
|
983
|
-
var Role = class extends Base {
|
|
984
|
-
constructor(client, rawDataOrId) {
|
|
985
|
-
super(client);
|
|
986
|
-
this.rawDataValue = typeof rawDataOrId === "string" ? null : rawDataOrId;
|
|
987
|
-
this.id = typeof rawDataOrId === "string" ? rawDataOrId : rawDataOrId.id;
|
|
988
|
-
}
|
|
989
|
-
get name() {
|
|
990
|
-
return this.rawDataValue?.name ?? "";
|
|
991
|
-
}
|
|
992
|
-
};
|
|
993
|
-
var Guild = class extends Base {
|
|
994
|
-
constructor(client, rawDataOrId) {
|
|
995
|
-
super(client);
|
|
996
|
-
this.rawDataValue = typeof rawDataOrId === "string" ? null : rawDataOrId;
|
|
997
|
-
this.id = typeof rawDataOrId === "string" ? rawDataOrId : rawDataOrId.id;
|
|
998
|
-
}
|
|
999
|
-
get name() {
|
|
1000
|
-
return this.rawDataValue?.name ?? "";
|
|
1001
|
-
}
|
|
1002
|
-
get icon() {
|
|
1003
|
-
return this.rawDataValue?.icon;
|
|
1004
|
-
}
|
|
1005
|
-
get iconUrl() {
|
|
1006
|
-
return this.icon ? `https://cdn.discordapp.com/icons/${this.id}/${this.icon}.png` : null;
|
|
1007
|
-
}
|
|
1008
|
-
};
|
|
1009
|
-
var GuildMember = class extends Base {
|
|
1010
|
-
constructor(client, rawData) {
|
|
1011
|
-
super(client);
|
|
1012
|
-
this.rawData = rawData;
|
|
1013
|
-
}
|
|
1014
|
-
get user() {
|
|
1015
|
-
return this.rawData.user ? new User(this.client, this.rawData.user) : null;
|
|
1016
|
-
}
|
|
1017
|
-
get roles() {
|
|
1018
|
-
return this.rawData.roles ?? [];
|
|
1019
|
-
}
|
|
1020
|
-
get nickname() {
|
|
1021
|
-
return this.rawData.nick ?? void 0;
|
|
1022
|
-
}
|
|
1023
|
-
};
|
|
1024
|
-
var Message = class Message extends Base {
|
|
1025
|
-
constructor(client, rawDataOrIds) {
|
|
1026
|
-
super(client);
|
|
1027
|
-
this.rawDataValue = typeof rawDataOrIds === "string" || !("author" in rawDataOrIds) ? null : rawDataOrIds;
|
|
1028
|
-
this.id = typeof rawDataOrIds === "string" ? rawDataOrIds : rawDataOrIds.id;
|
|
1029
|
-
this.channelId = typeof rawDataOrIds === "string" ? "" : "channel_id" in rawDataOrIds ? rawDataOrIds.channel_id : rawDataOrIds.channelId ?? "";
|
|
1030
|
-
}
|
|
1031
|
-
get rawData() {
|
|
1032
|
-
if (!this.rawDataValue) throw new Error("Partial Discord message has no raw data");
|
|
1033
|
-
return this.rawDataValue;
|
|
1034
|
-
}
|
|
1035
|
-
get partial() {
|
|
1036
|
-
return this.rawDataValue === null;
|
|
1037
|
-
}
|
|
1038
|
-
get message() {
|
|
1039
|
-
return this;
|
|
1040
|
-
}
|
|
1041
|
-
get channel_id() {
|
|
1042
|
-
return this.channelId;
|
|
1043
|
-
}
|
|
1044
|
-
get guild_id() {
|
|
1045
|
-
return this.rawDataValue?.guild_id;
|
|
1046
|
-
}
|
|
1047
|
-
get guild() {
|
|
1048
|
-
return this.guild_id ? new Guild(this.client, this.guild_id) : null;
|
|
1049
|
-
}
|
|
1050
|
-
get webhookId() {
|
|
1051
|
-
return this.webhook_id;
|
|
1052
|
-
}
|
|
1053
|
-
get webhook_id() {
|
|
1054
|
-
return this.rawDataValue?.webhook_id ?? null;
|
|
1055
|
-
}
|
|
1056
|
-
get member() {
|
|
1057
|
-
const member = this.rawDataValue?.member;
|
|
1058
|
-
return member ? new GuildMember(this.client, member) : null;
|
|
1059
|
-
}
|
|
1060
|
-
get rawMember() {
|
|
1061
|
-
return this.rawDataValue?.member;
|
|
1062
|
-
}
|
|
1063
|
-
get content() {
|
|
1064
|
-
return this.rawDataValue?.content ?? "";
|
|
1065
|
-
}
|
|
1066
|
-
get author() {
|
|
1067
|
-
return this.rawDataValue?.author ? new User(this.client, this.rawDataValue.author) : null;
|
|
1068
|
-
}
|
|
1069
|
-
get embeds() {
|
|
1070
|
-
return this.rawDataValue?.embeds ?? [];
|
|
1071
|
-
}
|
|
1072
|
-
get attachments() {
|
|
1073
|
-
return this.rawDataValue?.attachments ?? [];
|
|
1074
|
-
}
|
|
1075
|
-
get stickers() {
|
|
1076
|
-
return this.rawDataValue?.sticker_items ?? [];
|
|
1077
|
-
}
|
|
1078
|
-
get mentionedUsers() {
|
|
1079
|
-
return (this.rawDataValue?.mentions ?? []).map((user) => new User(this.client, user));
|
|
1080
|
-
}
|
|
1081
|
-
get mentionedRoles() {
|
|
1082
|
-
return this.rawDataValue?.mention_roles ?? [];
|
|
1083
|
-
}
|
|
1084
|
-
get mentionedEveryone() {
|
|
1085
|
-
return this.rawDataValue?.mention_everyone ?? false;
|
|
1086
|
-
}
|
|
1087
|
-
get timestamp() {
|
|
1088
|
-
return this.rawDataValue?.timestamp;
|
|
1089
|
-
}
|
|
1090
|
-
get type() {
|
|
1091
|
-
return this.rawDataValue?.type;
|
|
1092
|
-
}
|
|
1093
|
-
get messageReference() {
|
|
1094
|
-
return this.rawDataValue?.message_reference;
|
|
1095
|
-
}
|
|
1096
|
-
get referencedMessage() {
|
|
1097
|
-
return this.rawDataValue?.referenced_message ? new Message(this.client, this.rawDataValue.referenced_message) : null;
|
|
1098
|
-
}
|
|
1099
|
-
get thread() {
|
|
1100
|
-
return this.rawDataValue?.thread ? channelFactory(this.client, this.rawDataValue.thread) : null;
|
|
1101
|
-
}
|
|
1102
|
-
async fetch() {
|
|
1103
|
-
const raw = await getChannelMessage(this.client.rest, this.channelId, this.id);
|
|
1104
|
-
return new Message(this.client, raw);
|
|
1105
|
-
}
|
|
1106
|
-
async delete() {
|
|
1107
|
-
await deleteChannelMessage(this.client.rest, this.channelId, this.id);
|
|
1108
|
-
}
|
|
1109
|
-
async edit(data) {
|
|
1110
|
-
const raw = await editChannelMessage(this.client.rest, this.channelId, this.id, { body: serializePayload(data) });
|
|
1111
|
-
return new Message(this.client, raw);
|
|
1112
|
-
}
|
|
1113
|
-
async reply(data) {
|
|
1114
|
-
const raw = await createChannelMessage(this.client.rest, this.channelId, { body: {
|
|
1115
|
-
...serializePayload(data),
|
|
1116
|
-
message_reference: {
|
|
1117
|
-
message_id: this.id,
|
|
1118
|
-
fail_if_not_exists: false
|
|
1119
|
-
}
|
|
1120
|
-
} });
|
|
1121
|
-
return new Message(this.client, raw);
|
|
1122
|
-
}
|
|
1123
|
-
async pin() {
|
|
1124
|
-
await pinChannelMessage(this.client.rest, this.channelId, this.id);
|
|
1125
|
-
}
|
|
1126
|
-
async unpin() {
|
|
1127
|
-
await unpinChannelMessage(this.client.rest, this.channelId, this.id);
|
|
1128
|
-
}
|
|
1129
|
-
};
|
|
1130
|
-
function channelFactory(clientForTest, channelData, _partial) {
|
|
1131
|
-
return {
|
|
1132
|
-
...channelData,
|
|
1133
|
-
rawData: channelData,
|
|
1134
|
-
guildId: "guild_id" in channelData ? channelData.guild_id : void 0,
|
|
1135
|
-
guild: "guild_id" in channelData && typeof channelData.guild_id === "string" ? new Guild(clientForTest, channelData.guild_id) : void 0,
|
|
1136
|
-
parentId: "parent_id" in channelData ? channelData.parent_id : void 0,
|
|
1137
|
-
ownerId: "owner_id" in channelData ? channelData.owner_id : void 0
|
|
1138
|
-
};
|
|
1139
|
-
}
|
|
1140
|
-
//#endregion
|
|
1141
|
-
//#region extensions/discord/src/internal/entity-cache.ts
|
|
1142
|
-
const DEFAULT_REST_CACHE_TTL_MS = 3e4;
|
|
1143
|
-
const DEFAULT_MAX_ENTRIES = 5e3;
|
|
1144
|
-
const DEFAULT_SWEEP_INTERVAL_MS = 3e4;
|
|
1145
|
-
var DiscordEntityCache = class {
|
|
1146
|
-
constructor(params) {
|
|
1147
|
-
this.params = params;
|
|
1148
|
-
this.entries = /* @__PURE__ */ new Map();
|
|
1149
|
-
this.lastSweepAt = 0;
|
|
1150
|
-
}
|
|
1151
|
-
get size() {
|
|
1152
|
-
return this.entries.size;
|
|
1153
|
-
}
|
|
1154
|
-
async fetchUser(id) {
|
|
1155
|
-
return await this.fetchCached(`user:${id}`, async () => {
|
|
1156
|
-
const raw = await getUser(this.rest, id);
|
|
1157
|
-
return new User(this.params.client, raw);
|
|
1158
|
-
});
|
|
1159
|
-
}
|
|
1160
|
-
async fetchChannel(id) {
|
|
1161
|
-
return await this.fetchCached(`channel:${id}`, async () => {
|
|
1162
|
-
const raw = await getChannel(this.rest, id);
|
|
1163
|
-
return channelFactory(this.params.client, raw);
|
|
1164
|
-
});
|
|
1165
|
-
}
|
|
1166
|
-
async fetchGuild(id) {
|
|
1167
|
-
return await this.fetchCached(`guild:${id}`, async () => {
|
|
1168
|
-
const raw = await getGuild(this.rest, id);
|
|
1169
|
-
return new Guild(this.params.client, raw);
|
|
1170
|
-
});
|
|
1171
|
-
}
|
|
1172
|
-
async fetchMember(guildId, userId) {
|
|
1173
|
-
return await this.fetchCached(`member:${guildId}:${userId}`, async () => {
|
|
1174
|
-
const raw = await getGuildMember(this.rest, guildId, userId);
|
|
1175
|
-
return new GuildMember(this.params.client, raw);
|
|
1176
|
-
});
|
|
1177
|
-
}
|
|
1178
|
-
async fetchGuildEmojis(guildId, fetcher) {
|
|
1179
|
-
return await this.fetchCached(`guild-emojis:${guildId}`, fetcher);
|
|
1180
|
-
}
|
|
1181
|
-
invalidateForGatewayEvent(type, data) {
|
|
1182
|
-
const raw = data && typeof data === "object" ? data : {};
|
|
1183
|
-
const channelUpdate = GatewayDispatchEvents.ChannelUpdate;
|
|
1184
|
-
const channelDelete = GatewayDispatchEvents.ChannelDelete;
|
|
1185
|
-
const threadUpdate = GatewayDispatchEvents.ThreadUpdate;
|
|
1186
|
-
const threadDelete = GatewayDispatchEvents.ThreadDelete;
|
|
1187
|
-
const guildUpdate = GatewayDispatchEvents.GuildUpdate;
|
|
1188
|
-
const guildEmojisUpdate = GatewayDispatchEvents.GuildEmojisUpdate;
|
|
1189
|
-
const guildMemberAdd = GatewayDispatchEvents.GuildMemberAdd;
|
|
1190
|
-
const guildMemberRemove = GatewayDispatchEvents.GuildMemberRemove;
|
|
1191
|
-
const guildMemberUpdate = GatewayDispatchEvents.GuildMemberUpdate;
|
|
1192
|
-
if (type === channelUpdate || type === channelDelete || type === threadUpdate || type === threadDelete) this.deleteId("channel", raw.id);
|
|
1193
|
-
if (type === guildUpdate) this.deleteId("guild", raw.id);
|
|
1194
|
-
if (type === guildEmojisUpdate) this.deleteId("guild-emojis", raw.guild_id);
|
|
1195
|
-
if (type === guildMemberAdd || type === guildMemberRemove || type === guildMemberUpdate) {
|
|
1196
|
-
const guildId = raw.guild_id;
|
|
1197
|
-
const user = raw.user && typeof raw.user === "object" ? raw.user : {};
|
|
1198
|
-
if (typeof guildId === "string" && typeof user.id === "string") {
|
|
1199
|
-
this.entries.delete(`member:${guildId}:${user.id}`);
|
|
1200
|
-
this.entries.delete(`user:${user.id}`);
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
}
|
|
1204
|
-
deleteId(prefix, id) {
|
|
1205
|
-
if (typeof id === "string") this.entries.delete(`${prefix}:${id}`);
|
|
1206
|
-
}
|
|
1207
|
-
async fetchCached(key, fetcher) {
|
|
1208
|
-
const ttl = this.params.ttlMs ?? DEFAULT_REST_CACHE_TTL_MS;
|
|
1209
|
-
const rawNow = Date.now();
|
|
1210
|
-
const now = asDateTimestampMs(rawNow);
|
|
1211
|
-
if (ttl > 0) {
|
|
1212
|
-
const cached = this.entries.get(key);
|
|
1213
|
-
if (cached && now !== void 0 && cached.expiresAt > now) return cached.value;
|
|
1214
|
-
if (cached) this.entries.delete(key);
|
|
1215
|
-
}
|
|
1216
|
-
const value = await fetcher();
|
|
1217
|
-
if (ttl > 0) {
|
|
1218
|
-
const expiresAt = resolveExpiresAtMsFromDurationMs(ttl, { nowMs: rawNow });
|
|
1219
|
-
if (expiresAt !== void 0) {
|
|
1220
|
-
if (now !== void 0) this.maybeSweepExpired(now);
|
|
1221
|
-
this.entries.set(key, {
|
|
1222
|
-
expiresAt,
|
|
1223
|
-
value
|
|
1224
|
-
});
|
|
1225
|
-
this.enforceMaxEntries();
|
|
1226
|
-
}
|
|
1227
|
-
}
|
|
1228
|
-
return value;
|
|
1229
|
-
}
|
|
1230
|
-
maybeSweepExpired(now) {
|
|
1231
|
-
const interval = this.params.sweepIntervalMs ?? DEFAULT_SWEEP_INTERVAL_MS;
|
|
1232
|
-
if (now - this.lastSweepAt < interval) return;
|
|
1233
|
-
this.lastSweepAt = now;
|
|
1234
|
-
for (const [key, entry] of this.entries) if (entry.expiresAt <= now) this.entries.delete(key);
|
|
1235
|
-
}
|
|
1236
|
-
enforceMaxEntries() {
|
|
1237
|
-
const max = this.params.maxEntries ?? DEFAULT_MAX_ENTRIES;
|
|
1238
|
-
if (this.entries.size <= max) return;
|
|
1239
|
-
const toRemove = this.entries.size - max;
|
|
1240
|
-
let removed = 0;
|
|
1241
|
-
for (const key of this.entries.keys()) {
|
|
1242
|
-
if (removed >= toRemove) break;
|
|
1243
|
-
this.entries.delete(key);
|
|
1244
|
-
removed += 1;
|
|
1245
|
-
}
|
|
1246
|
-
}
|
|
1247
|
-
get rest() {
|
|
1248
|
-
return typeof this.params.rest === "function" ? this.params.rest() : this.params.rest;
|
|
1249
|
-
}
|
|
1250
|
-
};
|
|
1251
|
-
//#endregion
|
|
1252
|
-
//#region extensions/discord/src/internal/event-queue.ts
|
|
1253
|
-
const DEFAULT_MAX_QUEUE_SIZE = 1e4;
|
|
1254
|
-
const DEFAULT_MAX_CONCURRENCY = 50;
|
|
1255
|
-
const DEFAULT_LISTENER_TIMEOUT_MS = 12e4;
|
|
1256
|
-
const DEFAULT_SLOW_LISTENER_THRESHOLD_MS = 3e4;
|
|
1257
|
-
var DiscordEventQueue = class {
|
|
1258
|
-
constructor(options = {}) {
|
|
1259
|
-
this.queue = [];
|
|
1260
|
-
this.queueHead = 0;
|
|
1261
|
-
this.processing = 0;
|
|
1262
|
-
this.processedCount = 0;
|
|
1263
|
-
this.droppedCount = 0;
|
|
1264
|
-
this.timeoutCount = 0;
|
|
1265
|
-
this.options = {
|
|
1266
|
-
maxQueueSize: normalizePositiveInteger(options.maxQueueSize, DEFAULT_MAX_QUEUE_SIZE),
|
|
1267
|
-
maxConcurrency: normalizePositiveInteger(options.maxConcurrency, DEFAULT_MAX_CONCURRENCY),
|
|
1268
|
-
listenerTimeout: normalizePositiveInteger(options.listenerTimeout, DEFAULT_LISTENER_TIMEOUT_MS),
|
|
1269
|
-
slowListenerThreshold: normalizePositiveInteger(options.slowListenerThreshold, DEFAULT_SLOW_LISTENER_THRESHOLD_MS)
|
|
1270
|
-
};
|
|
1271
|
-
}
|
|
1272
|
-
enqueue(params) {
|
|
1273
|
-
if (this.pendingQueueSize >= this.options.maxQueueSize) {
|
|
1274
|
-
this.droppedCount += 1;
|
|
1275
|
-
return Promise.reject(/* @__PURE__ */ new Error(`Discord event queue is full for ${params.eventType}; maxQueueSize=${this.options.maxQueueSize}`));
|
|
1276
|
-
}
|
|
1277
|
-
return new Promise((resolve, reject) => {
|
|
1278
|
-
this.queue.push({
|
|
1279
|
-
...params,
|
|
1280
|
-
resolve,
|
|
1281
|
-
reject
|
|
1282
|
-
});
|
|
1283
|
-
this.processNext();
|
|
1284
|
-
});
|
|
1285
|
-
}
|
|
1286
|
-
getMetrics() {
|
|
1287
|
-
return {
|
|
1288
|
-
queueSize: this.pendingQueueSize,
|
|
1289
|
-
processing: this.processing,
|
|
1290
|
-
processed: this.processedCount,
|
|
1291
|
-
dropped: this.droppedCount,
|
|
1292
|
-
timeouts: this.timeoutCount,
|
|
1293
|
-
maxQueueSize: this.options.maxQueueSize,
|
|
1294
|
-
maxConcurrency: this.options.maxConcurrency
|
|
1295
|
-
};
|
|
1296
|
-
}
|
|
1297
|
-
get pendingQueueSize() {
|
|
1298
|
-
return Math.max(0, this.queue.length - this.queueHead);
|
|
1299
|
-
}
|
|
1300
|
-
takeNextJob() {
|
|
1301
|
-
if (this.queueHead >= this.queue.length) {
|
|
1302
|
-
this.queue.length = 0;
|
|
1303
|
-
this.queueHead = 0;
|
|
1304
|
-
return;
|
|
1305
|
-
}
|
|
1306
|
-
const job = this.queue[this.queueHead];
|
|
1307
|
-
this.queueHead += 1;
|
|
1308
|
-
if (this.queueHead >= this.queue.length) {
|
|
1309
|
-
this.queue.length = 0;
|
|
1310
|
-
this.queueHead = 0;
|
|
1311
|
-
} else if (this.queueHead > 256 && this.queueHead * 2 > this.queue.length) {
|
|
1312
|
-
this.queue.splice(0, this.queueHead);
|
|
1313
|
-
this.queueHead = 0;
|
|
1314
|
-
}
|
|
1315
|
-
return job;
|
|
1316
|
-
}
|
|
1317
|
-
processNext() {
|
|
1318
|
-
while (this.processing < this.options.maxConcurrency && this.pendingQueueSize > 0) {
|
|
1319
|
-
const job = this.takeNextJob();
|
|
1320
|
-
if (!job) return;
|
|
1321
|
-
this.processing += 1;
|
|
1322
|
-
const listenerPromise = Promise.resolve().then(() => job.run());
|
|
1323
|
-
const runJobPromise = this.runJob(job, listenerPromise);
|
|
1324
|
-
runJobPromise.then(job.resolve, job.reject).finally(() => {
|
|
1325
|
-
this.processedCount += 1;
|
|
1326
|
-
});
|
|
1327
|
-
Promise.allSettled([runJobPromise, listenerPromise]).then(([dispatchResult, listenerResult]) => {
|
|
1328
|
-
if (dispatchResult.status === "fulfilled" && dispatchResult.value === "timed-out" && listenerResult.status === "rejected") console.error(`[EventQueue] Listener ${job.listenerName} failed after timeout for event ${job.eventType}:`, listenerResult.reason);
|
|
1329
|
-
this.processing -= 1;
|
|
1330
|
-
this.processNext();
|
|
1331
|
-
});
|
|
1332
|
-
}
|
|
1333
|
-
}
|
|
1334
|
-
async runJob(job, listenerPromise) {
|
|
1335
|
-
const startedAt = Date.now();
|
|
1336
|
-
try {
|
|
1337
|
-
await this.runWithTimeout(listenerPromise);
|
|
1338
|
-
this.logSlowListener(job, Date.now() - startedAt);
|
|
1339
|
-
return "completed";
|
|
1340
|
-
} catch (error) {
|
|
1341
|
-
if (isListenerTimeoutError(error)) {
|
|
1342
|
-
this.timeoutCount += 1;
|
|
1343
|
-
console.error(`[EventQueue] Listener ${job.listenerName} timed out after ${this.options.listenerTimeout}ms for event ${job.eventType}`);
|
|
1344
|
-
return "timed-out";
|
|
1345
|
-
}
|
|
1346
|
-
console.error(`[EventQueue] Listener ${job.listenerName} failed for event ${job.eventType}:`, error);
|
|
1347
|
-
return "failed";
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
async runWithTimeout(listenerPromise) {
|
|
1351
|
-
let timeout;
|
|
1352
|
-
try {
|
|
1353
|
-
await Promise.race([listenerPromise, new Promise((_, reject) => {
|
|
1354
|
-
timeout = setTimeout(() => {
|
|
1355
|
-
reject(createListenerTimeoutError(this.options.listenerTimeout));
|
|
1356
|
-
}, this.options.listenerTimeout);
|
|
1357
|
-
timeout.unref?.();
|
|
1358
|
-
})]);
|
|
1359
|
-
} finally {
|
|
1360
|
-
if (timeout) clearTimeout(timeout);
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
logSlowListener(job, durationMs) {
|
|
1364
|
-
if (durationMs < this.options.slowListenerThreshold) return;
|
|
1365
|
-
console.warn(`[EventQueue] Slow listener detected: ${job.listenerName} took ${durationMs}ms for event ${job.eventType}`);
|
|
1366
|
-
}
|
|
1367
|
-
};
|
|
1368
|
-
function normalizePositiveInteger(value, fallback) {
|
|
1369
|
-
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) return fallback;
|
|
1370
|
-
return Math.max(1, Math.floor(value));
|
|
1371
|
-
}
|
|
1372
|
-
function createListenerTimeoutError(timeoutMs) {
|
|
1373
|
-
const error = /* @__PURE__ */ new Error(`Listener timeout after ${timeoutMs}ms`);
|
|
1374
|
-
error.name = "DiscordEventQueueListenerTimeoutError";
|
|
1375
|
-
return error;
|
|
1376
|
-
}
|
|
1377
|
-
function isListenerTimeoutError(error) {
|
|
1378
|
-
return error instanceof Error && error.name === "DiscordEventQueueListenerTimeoutError";
|
|
1379
|
-
}
|
|
1380
|
-
//#endregion
|
|
1381
|
-
//#region extensions/discord/src/internal/commands.ts
|
|
1382
|
-
function resolveConditionalCommandOption(value, interaction) {
|
|
1383
|
-
return typeof value === "function" ? value(interaction) : value;
|
|
1384
|
-
}
|
|
1385
|
-
async function deferCommandInteractionIfNeeded(command, interaction) {
|
|
1386
|
-
if (!resolveConditionalCommandOption(command.defer, interaction)) return;
|
|
1387
|
-
await interaction.defer({ ephemeral: resolveConditionalCommandOption(command.ephemeral, interaction) });
|
|
1388
|
-
}
|
|
1389
|
-
function readRawCommandOptions(interaction) {
|
|
1390
|
-
const options = interaction.rawData.data?.options;
|
|
1391
|
-
return Array.isArray(options) ? options : [];
|
|
1392
|
-
}
|
|
1393
|
-
function findSelectedSubcommand(subcommands, interaction) {
|
|
1394
|
-
const subcommandName = readRawCommandOptions(interaction).find((option) => option.type === ApplicationCommandOptionType.Subcommand)?.name;
|
|
1395
|
-
return typeof subcommandName === "string" ? subcommands.find((command) => command.name === subcommandName) : void 0;
|
|
1396
|
-
}
|
|
1397
|
-
function findCommandOption(options, name) {
|
|
1398
|
-
if (!name) return;
|
|
1399
|
-
return options?.find((option) => option.name === name);
|
|
1400
|
-
}
|
|
1401
|
-
function resolveFocusedCommandOptionAutocompleteHandler(command, interaction) {
|
|
1402
|
-
const focusedName = interaction.options.getFocused()?.name;
|
|
1403
|
-
const autocomplete = findCommandOption(command.commandKind === "group" ? findSelectedSubcommand(command.subcommands, interaction)?.options : command.options, focusedName)?.autocomplete;
|
|
1404
|
-
return typeof autocomplete === "function" ? autocomplete : void 0;
|
|
1405
|
-
}
|
|
1406
|
-
var BaseCommand = class {
|
|
1407
|
-
constructor() {
|
|
1408
|
-
this.defer = false;
|
|
1409
|
-
this.ephemeral = false;
|
|
1410
|
-
this.integrationTypes = [0, 1];
|
|
1411
|
-
this.contexts = [
|
|
1412
|
-
InteractionContextType.Guild,
|
|
1413
|
-
InteractionContextType.BotDM,
|
|
1414
|
-
InteractionContextType.PrivateChannel
|
|
1415
|
-
];
|
|
1416
|
-
}
|
|
1417
|
-
serialize() {
|
|
1418
|
-
return stripUndefinedFields({
|
|
1419
|
-
name: this.name,
|
|
1420
|
-
name_localizations: this.nameLocalizations,
|
|
1421
|
-
description: this.type === ApplicationCommandType.ChatInput ? this.description ?? "" : void 0,
|
|
1422
|
-
description_localizations: this.descriptionLocalizations,
|
|
1423
|
-
type: this.type,
|
|
1424
|
-
options: this.serializeOptions(),
|
|
1425
|
-
integration_types: this.integrationTypes,
|
|
1426
|
-
contexts: this.contexts,
|
|
1427
|
-
default_member_permissions: Array.isArray(this.permission) ? this.permission.reduce((sum, entry) => sum | entry, 0n).toString() : this.permission ? this.permission.toString() : null
|
|
1428
|
-
});
|
|
1429
|
-
}
|
|
1430
|
-
};
|
|
1431
|
-
var Command = class extends BaseCommand {
|
|
1432
|
-
constructor(..._args) {
|
|
1433
|
-
super(..._args);
|
|
1434
|
-
this.commandKind = "leaf";
|
|
1435
|
-
this.type = ApplicationCommandType.ChatInput;
|
|
1436
|
-
}
|
|
1437
|
-
async autocomplete(interaction) {
|
|
1438
|
-
throw new Error(`The ${interaction.rawData?.data?.name ?? this.name} command does not support autocomplete`);
|
|
1439
|
-
}
|
|
1440
|
-
serializeOptions() {
|
|
1441
|
-
return this.options?.map((option) => {
|
|
1442
|
-
if (typeof option.autocomplete === "function") {
|
|
1443
|
-
const { autocomplete: _autocomplete, ...rest } = option;
|
|
1444
|
-
return {
|
|
1445
|
-
...rest,
|
|
1446
|
-
autocomplete: true
|
|
1447
|
-
};
|
|
1448
|
-
}
|
|
1449
|
-
return option;
|
|
1450
|
-
});
|
|
1451
|
-
}
|
|
1452
|
-
};
|
|
1453
|
-
var CommandWithSubcommands = class extends BaseCommand {
|
|
1454
|
-
constructor(..._args2) {
|
|
1455
|
-
super(..._args2);
|
|
1456
|
-
this.commandKind = "group";
|
|
1457
|
-
this.type = ApplicationCommandType.ChatInput;
|
|
1458
|
-
}
|
|
1459
|
-
async run(interaction) {
|
|
1460
|
-
const subcommand = findSelectedSubcommand(this.subcommands, interaction);
|
|
1461
|
-
if (!subcommand) {
|
|
1462
|
-
const subcommandName = readRawCommandOptions(interaction).find((option) => option.type === ApplicationCommandOptionType.Subcommand)?.name;
|
|
1463
|
-
throw new Error(`Unknown Discord subcommand: ${typeof subcommandName === "string" ? subcommandName : "<missing>"}`);
|
|
1464
|
-
}
|
|
1465
|
-
await deferCommandInteractionIfNeeded(subcommand, interaction);
|
|
1466
|
-
return await subcommand.run(interaction);
|
|
1467
|
-
}
|
|
1468
|
-
serializeOptions() {
|
|
1469
|
-
return this.subcommands.map((command) => stripUndefinedFields({
|
|
1470
|
-
name: command.name,
|
|
1471
|
-
name_localizations: command.nameLocalizations,
|
|
1472
|
-
description: command.description ?? "",
|
|
1473
|
-
description_localizations: command.descriptionLocalizations,
|
|
1474
|
-
type: ApplicationCommandOptionType.Subcommand,
|
|
1475
|
-
options: command.serializeOptions()
|
|
1476
|
-
}));
|
|
1477
|
-
}
|
|
1478
|
-
};
|
|
1479
|
-
//#endregion
|
|
1480
|
-
//#region extensions/discord/src/internal/interaction-options.ts
|
|
1481
|
-
function readFocusedOption(options) {
|
|
1482
|
-
for (const option of options ?? []) {
|
|
1483
|
-
if ("focused" in option && option.focused) return option;
|
|
1484
|
-
const child = readFocusedOption(readChildOptions(option));
|
|
1485
|
-
if (child) return child;
|
|
1486
|
-
}
|
|
1487
|
-
}
|
|
1488
|
-
function findOption(options, name) {
|
|
1489
|
-
for (const option of options ?? []) {
|
|
1490
|
-
if (option.name === name) return option;
|
|
1491
|
-
const child = findOption(readChildOptions(option), name);
|
|
1492
|
-
if (child) return child;
|
|
1493
|
-
}
|
|
1494
|
-
}
|
|
1495
|
-
function readChildOptions(option) {
|
|
1496
|
-
if (!("options" in option) || !Array.isArray(option.options)) return;
|
|
1497
|
-
return option.options;
|
|
1498
|
-
}
|
|
1499
|
-
var OptionsHandler = class {
|
|
1500
|
-
constructor(rawOptions, client, resolvedChannels) {
|
|
1501
|
-
this.rawOptions = rawOptions;
|
|
1502
|
-
this.client = client;
|
|
1503
|
-
this.resolvedChannels = resolvedChannels;
|
|
1504
|
-
}
|
|
1505
|
-
getString(name) {
|
|
1506
|
-
const option = findOption(this.rawOptions, name);
|
|
1507
|
-
const value = option && "value" in option ? option.value : void 0;
|
|
1508
|
-
return typeof value === "string" ? value : null;
|
|
1509
|
-
}
|
|
1510
|
-
getNumber(name) {
|
|
1511
|
-
const option = findOption(this.rawOptions, name);
|
|
1512
|
-
const value = option && "value" in option ? option.value : void 0;
|
|
1513
|
-
return typeof value === "number" ? value : null;
|
|
1514
|
-
}
|
|
1515
|
-
getBoolean(name) {
|
|
1516
|
-
const option = findOption(this.rawOptions, name);
|
|
1517
|
-
const value = option && "value" in option ? option.value : void 0;
|
|
1518
|
-
return typeof value === "boolean" ? value : null;
|
|
1519
|
-
}
|
|
1520
|
-
async getChannel(name, required = false) {
|
|
1521
|
-
const option = findOption(this.rawOptions, name);
|
|
1522
|
-
const value = option && "value" in option ? option.value : void 0;
|
|
1523
|
-
const id = typeof value === "string" ? value : void 0;
|
|
1524
|
-
const resolved = id ? this.resolvedChannels?.[id] : void 0;
|
|
1525
|
-
if (resolved) return channelFactory(this.client, resolved);
|
|
1526
|
-
if (id) return await this.client.fetchChannel(id);
|
|
1527
|
-
if (required) throw new Error(`Missing required channel option ${name}`);
|
|
1528
|
-
return null;
|
|
1529
|
-
}
|
|
1530
|
-
getFocused() {
|
|
1531
|
-
return readFocusedOption(this.rawOptions);
|
|
1532
|
-
}
|
|
1533
|
-
};
|
|
1534
|
-
//#endregion
|
|
1535
|
-
//#region extensions/discord/src/internal/interaction-response.ts
|
|
1536
|
-
var InteractionResponseController = class {
|
|
1537
|
-
constructor() {
|
|
1538
|
-
this.state = "unacknowledged";
|
|
1539
|
-
}
|
|
1540
|
-
get acknowledged() {
|
|
1541
|
-
return this.state !== "unacknowledged";
|
|
1542
|
-
}
|
|
1543
|
-
recordCallback(type) {
|
|
1544
|
-
if (type === InteractionResponseType.DeferredChannelMessageWithSource) {
|
|
1545
|
-
this.state = "deferred";
|
|
1546
|
-
return;
|
|
1547
|
-
}
|
|
1548
|
-
if (type === InteractionResponseType.DeferredMessageUpdate) {
|
|
1549
|
-
this.state = "deferred-update";
|
|
1550
|
-
return;
|
|
1551
|
-
}
|
|
1552
|
-
this.state = "replied";
|
|
1553
|
-
}
|
|
1554
|
-
nextReplyAction() {
|
|
1555
|
-
if (this.state === "deferred" || this.state === "deferred-update") return "edit";
|
|
1556
|
-
if (this.state === "unacknowledged") return "initial";
|
|
1557
|
-
return "follow-up";
|
|
1558
|
-
}
|
|
1559
|
-
recordReplyEdit() {
|
|
1560
|
-
this.state = "replied";
|
|
1561
|
-
}
|
|
1562
|
-
recordReplyDelete() {
|
|
1563
|
-
this.state = "replied";
|
|
1564
|
-
}
|
|
1565
|
-
};
|
|
1566
|
-
function needsComponentsV2Query(body) {
|
|
1567
|
-
return body !== null && typeof body === "object" && "flags" in body && typeof body.flags === "number" && (body.flags & MessageFlags.IsComponentsV2) !== 0;
|
|
1568
|
-
}
|
|
1569
|
-
//#endregion
|
|
1570
|
-
//#region extensions/discord/src/internal/modal-fields.ts
|
|
1571
|
-
function extractModalFields(components) {
|
|
1572
|
-
const out = {};
|
|
1573
|
-
for (const component of flattenModalComponents(components)) {
|
|
1574
|
-
const raw = component;
|
|
1575
|
-
if (typeof raw.custom_id !== "string") continue;
|
|
1576
|
-
if (Array.isArray(raw.values)) out[raw.custom_id] = raw.values.map(String);
|
|
1577
|
-
else if (typeof raw.value === "string" || typeof raw.value === "number" || typeof raw.value === "boolean") out[raw.custom_id] = String(raw.value);
|
|
1578
|
-
}
|
|
1579
|
-
return out;
|
|
1580
|
-
}
|
|
1581
|
-
function flattenModalComponents(components) {
|
|
1582
|
-
const out = [];
|
|
1583
|
-
for (const entry of components) {
|
|
1584
|
-
if (!entry || typeof entry !== "object") continue;
|
|
1585
|
-
const component = entry;
|
|
1586
|
-
if (component.component && typeof component.component === "object") out.push(component.component);
|
|
1587
|
-
if (Array.isArray(component.components)) out.push(...flattenModalComponents(component.components));
|
|
1588
|
-
out.push(entry);
|
|
1589
|
-
}
|
|
1590
|
-
return out;
|
|
1591
|
-
}
|
|
1592
|
-
var ModalFields = class {
|
|
1593
|
-
constructor(values, resolved, client) {
|
|
1594
|
-
this.values = values;
|
|
1595
|
-
this.resolved = resolved;
|
|
1596
|
-
this.client = client;
|
|
1597
|
-
}
|
|
1598
|
-
value(id, required) {
|
|
1599
|
-
const value = this.values[id];
|
|
1600
|
-
if (required && (value === void 0 || Array.isArray(value) && value.length === 0)) throw new Error(`Missing required modal field ${id}`);
|
|
1601
|
-
return value;
|
|
1602
|
-
}
|
|
1603
|
-
getText(id, required = false) {
|
|
1604
|
-
const value = this.value(id, required);
|
|
1605
|
-
return typeof value === "string" ? value : null;
|
|
1606
|
-
}
|
|
1607
|
-
getStringSelect(id, required = false) {
|
|
1608
|
-
const value = this.value(id, required);
|
|
1609
|
-
if (Array.isArray(value)) return value;
|
|
1610
|
-
return typeof value === "string" ? [value] : [];
|
|
1611
|
-
}
|
|
1612
|
-
getRoleSelect(id, required = false) {
|
|
1613
|
-
return this.getStringSelect(id, required).map((roleId) => {
|
|
1614
|
-
const raw = this.resolved?.roles?.[roleId];
|
|
1615
|
-
return raw ? new Role(this.client, {
|
|
1616
|
-
id: roleId,
|
|
1617
|
-
name: raw.name ?? ""
|
|
1618
|
-
}) : new Role(this.client, roleId);
|
|
1619
|
-
});
|
|
1620
|
-
}
|
|
1621
|
-
getUserSelect(id, required = false) {
|
|
1622
|
-
return this.getStringSelect(id, required).map((userId) => {
|
|
1623
|
-
const raw = this.resolved?.users?.[userId];
|
|
1624
|
-
return new User(this.client, {
|
|
1625
|
-
id: userId,
|
|
1626
|
-
username: raw?.username ?? ""
|
|
1627
|
-
});
|
|
1628
|
-
});
|
|
1629
|
-
}
|
|
1630
|
-
};
|
|
1631
|
-
//#endregion
|
|
1632
|
-
//#region extensions/discord/src/internal/schemas.ts
|
|
1633
|
-
const discordInteractionPayloadSchema = Type.Object({
|
|
1634
|
-
id: Type.String({ minLength: 1 }),
|
|
1635
|
-
token: Type.String({ minLength: 1 }),
|
|
1636
|
-
type: Type.Number()
|
|
1637
|
-
}, { additionalProperties: true });
|
|
1638
|
-
const discordRateLimitBodySchema = Type.Object({
|
|
1639
|
-
message: Type.Optional(Type.String()),
|
|
1640
|
-
retry_after: Type.Optional(Type.Union([Type.Number(), Type.String()])),
|
|
1641
|
-
global: Type.Optional(Type.Boolean()),
|
|
1642
|
-
code: Type.Optional(Type.Union([Type.Number(), Type.String()]))
|
|
1643
|
-
}, { additionalProperties: true });
|
|
1644
|
-
function assertDiscordInteractionPayload(value) {
|
|
1645
|
-
if (!Check(discordInteractionPayloadSchema, value)) throw new Error("Invalid Discord interaction payload");
|
|
1646
|
-
}
|
|
1647
|
-
function isDiscordRateLimitBody(value) {
|
|
1648
|
-
return Check(discordRateLimitBodySchema, value);
|
|
1649
|
-
}
|
|
1650
|
-
//#endregion
|
|
1651
|
-
//#region extensions/discord/src/internal/interactions.ts
|
|
1652
|
-
function toCommandRawInteraction(rawData) {
|
|
1653
|
-
return rawData;
|
|
1654
|
-
}
|
|
1655
|
-
function toMessageComponentRawInteraction(rawData) {
|
|
1656
|
-
return rawData;
|
|
1657
|
-
}
|
|
1658
|
-
function toModalSubmitRawInteraction(rawData) {
|
|
1659
|
-
return rawData;
|
|
1660
|
-
}
|
|
1661
|
-
function readInteractionUser(rawData, client) {
|
|
1662
|
-
const directUser = "user" in rawData ? rawData.user : void 0;
|
|
1663
|
-
if (directUser && typeof directUser === "object" && "id" in directUser) return new User(client, directUser);
|
|
1664
|
-
const memberUser = rawData.member?.user;
|
|
1665
|
-
if (memberUser && typeof memberUser === "object" && typeof memberUser.id === "string") {
|
|
1666
|
-
const user = { ...memberUser };
|
|
1667
|
-
if (typeof user.username !== "string") user.username = "";
|
|
1668
|
-
return new User(client, user);
|
|
1669
|
-
}
|
|
1670
|
-
return null;
|
|
1671
|
-
}
|
|
1672
|
-
var BaseInteraction = class {
|
|
1673
|
-
constructor(client, rawData) {
|
|
1674
|
-
this.client = client;
|
|
1675
|
-
this.rawData = rawData;
|
|
1676
|
-
this.message = null;
|
|
1677
|
-
this.response = new InteractionResponseController();
|
|
1678
|
-
this.pendingResponse = Promise.resolve();
|
|
1679
|
-
this.sentFollowUp = false;
|
|
1680
|
-
this.id = rawData.id;
|
|
1681
|
-
this.token = rawData.token;
|
|
1682
|
-
this.user = readInteractionUser(rawData, client);
|
|
1683
|
-
this.userId = this.user?.id ?? "";
|
|
1684
|
-
this.guild = rawData.guild_id ? new Guild(client, rawData.guild_id) : null;
|
|
1685
|
-
this.channel = "channel" in rawData && rawData.channel ? channelFactory(client, rawData.channel) : null;
|
|
1686
|
-
}
|
|
1687
|
-
get acknowledged() {
|
|
1688
|
-
return this.response.acknowledged;
|
|
1689
|
-
}
|
|
1690
|
-
get responseState() {
|
|
1691
|
-
return this.response.state;
|
|
1692
|
-
}
|
|
1693
|
-
set responseState(nextState) {
|
|
1694
|
-
this.response.state = nextState;
|
|
1695
|
-
}
|
|
1696
|
-
/**
|
|
1697
|
-
* True once a follow-up message has been delivered. Follow-ups are visible to
|
|
1698
|
-
* the user but never advance `responseState`, so this is the only record that
|
|
1699
|
-
* the interaction has already produced output.
|
|
1700
|
-
*/
|
|
1701
|
-
get hasSentFollowUp() {
|
|
1702
|
-
return this.sentFollowUp;
|
|
1703
|
-
}
|
|
1704
|
-
enqueueResponse(operation) {
|
|
1705
|
-
const result = this.pendingResponse.then(operation);
|
|
1706
|
-
this.pendingResponse = result.then(() => void 0, () => void 0);
|
|
1707
|
-
return result;
|
|
1708
|
-
}
|
|
1709
|
-
async performCallback(type, data) {
|
|
1710
|
-
if (this.response.acknowledged) throw new Error("Discord interaction has already been acknowledged.");
|
|
1711
|
-
const result = await createInteractionCallback(this.client.rest, this.id, this.token, data === void 0 ? { type } : {
|
|
1712
|
-
type,
|
|
1713
|
-
data
|
|
1714
|
-
});
|
|
1715
|
-
this.response.recordCallback(type);
|
|
1716
|
-
return result;
|
|
1717
|
-
}
|
|
1718
|
-
async callback(type, data) {
|
|
1719
|
-
return await this.enqueueResponse(() => this.performCallback(type, data));
|
|
1720
|
-
}
|
|
1721
|
-
async reply(payload) {
|
|
1722
|
-
return await this.enqueueResponse(async () => {
|
|
1723
|
-
const action = this.response.nextReplyAction();
|
|
1724
|
-
if (action === "edit") return await this.performReplyEdit(payload);
|
|
1725
|
-
if (action === "follow-up") return await this.performFollowUp(payload);
|
|
1726
|
-
return await this.performCallback(InteractionResponseType.ChannelMessageWithSource, serializePayload(payload));
|
|
1727
|
-
});
|
|
1728
|
-
}
|
|
1729
|
-
async defer(options) {
|
|
1730
|
-
return await this.callback(InteractionResponseType.DeferredChannelMessageWithSource, options?.ephemeral ? { flags: 64 } : void 0);
|
|
1731
|
-
}
|
|
1732
|
-
async acknowledge() {
|
|
1733
|
-
return await this.defer();
|
|
1734
|
-
}
|
|
1735
|
-
async editReply(payload) {
|
|
1736
|
-
return await this.enqueueResponse(() => this.performReplyEdit(payload));
|
|
1737
|
-
}
|
|
1738
|
-
/**
|
|
1739
|
-
* Edits the deferred placeholder only if this interaction is still an
|
|
1740
|
-
* unanswered spinner when the queue reaches this operation.
|
|
1741
|
-
*
|
|
1742
|
-
* Both conditions are re-read inside the queue. A follow-up that was still in
|
|
1743
|
-
* flight when the caller decided to report will have settled — and recorded
|
|
1744
|
-
* itself in `sentFollowUp` — by the time this runs, so the decision cannot be
|
|
1745
|
-
* made against state that is about to change.
|
|
1746
|
-
*
|
|
1747
|
-
* Resolves true when the edit was sent.
|
|
1748
|
-
*/
|
|
1749
|
-
async editDeferredPlaceholderIfUnanswered(payload) {
|
|
1750
|
-
return await this.enqueueResponse(async () => {
|
|
1751
|
-
if (this.responseState !== "deferred" || this.sentFollowUp) return false;
|
|
1752
|
-
await this.performReplyEdit(payload);
|
|
1753
|
-
return true;
|
|
1754
|
-
});
|
|
1755
|
-
}
|
|
1756
|
-
async performReplyEdit(payload) {
|
|
1757
|
-
const body = serializePayload(payload);
|
|
1758
|
-
const query = needsComponentsV2Query(body) ? { with_components: true } : void 0;
|
|
1759
|
-
const result = query ? await editWebhookMessage(this.client.rest, this.client.options.clientId, this.token, "@original", { body }, query) : await editWebhookMessage(this.client.rest, this.client.options.clientId, this.token, "@original", { body });
|
|
1760
|
-
this.response.recordReplyEdit();
|
|
1761
|
-
return result;
|
|
1762
|
-
}
|
|
1763
|
-
async deleteReply() {
|
|
1764
|
-
return await this.enqueueResponse(async () => {
|
|
1765
|
-
const result = await deleteWebhookMessage(this.client.rest, this.client.options.clientId, this.token, "@original");
|
|
1766
|
-
this.response.recordReplyDelete();
|
|
1767
|
-
return result;
|
|
1768
|
-
});
|
|
1769
|
-
}
|
|
1770
|
-
async fetchReply() {
|
|
1771
|
-
return await this.enqueueResponse(() => getWebhookMessage(this.client.rest, this.client.options.clientId, this.token, "@original"));
|
|
1772
|
-
}
|
|
1773
|
-
async replyAndWaitForComponent(payload, timeoutMs = 3e5) {
|
|
1774
|
-
const result = await this.reply(payload);
|
|
1775
|
-
const rawMessage = isRawMessage(result) ? result : await this.fetchReply();
|
|
1776
|
-
if (!isRawMessage(rawMessage)) throw new Error("Discord interaction reply did not return a message");
|
|
1777
|
-
const message = new Message(this.client, rawMessage);
|
|
1778
|
-
return await this.client.componentHandler.waitForMessageComponent(message, timeoutMs);
|
|
1779
|
-
}
|
|
1780
|
-
async followUp(payload) {
|
|
1781
|
-
return await this.enqueueResponse(() => this.performFollowUp(payload));
|
|
1782
|
-
}
|
|
1783
|
-
async performFollowUp(payload) {
|
|
1784
|
-
const body = serializePayload(payload);
|
|
1785
|
-
const result = await createWebhookMessage(this.client.rest, this.client.options.clientId, this.token, { body }, needsComponentsV2Query(body) ? { with_components: true } : void 0);
|
|
1786
|
-
this.sentFollowUp = true;
|
|
1787
|
-
return result;
|
|
1788
|
-
}
|
|
1789
|
-
};
|
|
1790
|
-
var CommandInteraction = class extends BaseInteraction {
|
|
1791
|
-
constructor(client, rawData) {
|
|
1792
|
-
super(client, rawData);
|
|
1793
|
-
this.options = new OptionsHandler(rawData.data.options, client, rawData.data.resolved?.channels);
|
|
1794
|
-
}
|
|
1795
|
-
};
|
|
1796
|
-
var AutocompleteInteraction = class extends CommandInteraction {
|
|
1797
|
-
async respond(choices) {
|
|
1798
|
-
return await this.callback(InteractionResponseType.ApplicationCommandAutocompleteResult, { choices });
|
|
1799
|
-
}
|
|
1800
|
-
};
|
|
1801
|
-
var BaseComponentInteraction = class extends BaseInteraction {
|
|
1802
|
-
constructor(client, rawData) {
|
|
1803
|
-
super(client, rawData);
|
|
1804
|
-
this.message = rawData.message && typeof rawData.message === "object" ? new Message(client, rawData.message) : null;
|
|
1805
|
-
this.values = Array.isArray(rawData.data.values) ? rawData.data.values.map(String) : [];
|
|
1806
|
-
}
|
|
1807
|
-
async update(payload) {
|
|
1808
|
-
return await this.callback(InteractionResponseType.UpdateMessage, serializePayload(payload));
|
|
1809
|
-
}
|
|
1810
|
-
async acknowledge() {
|
|
1811
|
-
return await this.callback(InteractionResponseType.DeferredMessageUpdate);
|
|
1812
|
-
}
|
|
1813
|
-
async showModal(modal) {
|
|
1814
|
-
return await this.callback(InteractionResponseType.Modal, modal.serialize());
|
|
1815
|
-
}
|
|
1816
|
-
async launchActivity() {
|
|
1817
|
-
return await this.callback(InteractionResponseType.LaunchActivity);
|
|
1818
|
-
}
|
|
1819
|
-
};
|
|
1820
|
-
var ButtonInteraction = class extends BaseComponentInteraction {};
|
|
1821
|
-
var StringSelectMenuInteraction = class extends BaseComponentInteraction {};
|
|
1822
|
-
var UserSelectMenuInteraction = class extends BaseComponentInteraction {};
|
|
1823
|
-
var RoleSelectMenuInteraction = class extends BaseComponentInteraction {};
|
|
1824
|
-
var MentionableSelectMenuInteraction = class extends BaseComponentInteraction {};
|
|
1825
|
-
var ChannelSelectMenuInteraction = class extends BaseComponentInteraction {};
|
|
1826
|
-
var ModalInteraction = class extends BaseInteraction {
|
|
1827
|
-
constructor(client, rawData) {
|
|
1828
|
-
super(client, rawData);
|
|
1829
|
-
this.fields = new ModalFields(extractModalFields(rawData.data.components ?? []), rawData.data.resolved, client);
|
|
1830
|
-
}
|
|
1831
|
-
async acknowledge() {
|
|
1832
|
-
return await this.callback(InteractionResponseType.DeferredMessageUpdate);
|
|
1833
|
-
}
|
|
1834
|
-
};
|
|
1835
|
-
function createInteraction(client, rawData) {
|
|
1836
|
-
assertDiscordInteractionPayload(rawData);
|
|
1837
|
-
if (rawData.type === InteractionType.ApplicationCommandAutocomplete) return new AutocompleteInteraction(client, toCommandRawInteraction(rawData));
|
|
1838
|
-
if (rawData.type === InteractionType.ApplicationCommand) return new CommandInteraction(client, toCommandRawInteraction(rawData));
|
|
1839
|
-
if (rawData.type === InteractionType.ModalSubmit) return new ModalInteraction(client, toModalSubmitRawInteraction(rawData));
|
|
1840
|
-
if (rawData.type === InteractionType.MessageComponent) {
|
|
1841
|
-
const componentRawData = toMessageComponentRawInteraction(rawData);
|
|
1842
|
-
switch (rawData.data?.component_type) {
|
|
1843
|
-
case ComponentType.Button: return new ButtonInteraction(client, componentRawData);
|
|
1844
|
-
case ComponentType.StringSelect: return new StringSelectMenuInteraction(client, componentRawData);
|
|
1845
|
-
case ComponentType.UserSelect: return new UserSelectMenuInteraction(client, componentRawData);
|
|
1846
|
-
case ComponentType.RoleSelect: return new RoleSelectMenuInteraction(client, componentRawData);
|
|
1847
|
-
case ComponentType.MentionableSelect: return new MentionableSelectMenuInteraction(client, componentRawData);
|
|
1848
|
-
case ComponentType.ChannelSelect: return new ChannelSelectMenuInteraction(client, componentRawData);
|
|
1849
|
-
default: return new BaseComponentInteraction(client, componentRawData);
|
|
1850
|
-
}
|
|
1851
|
-
}
|
|
1852
|
-
return new BaseInteraction(client, rawData);
|
|
1853
|
-
}
|
|
1854
|
-
function parseComponentInteractionData(component, customId) {
|
|
1855
|
-
return component.customIdParser(customId).data;
|
|
1856
|
-
}
|
|
1857
|
-
function isRawMessage(value) {
|
|
1858
|
-
return Boolean(value) && typeof value === "object" && typeof value.id === "string" && typeof value.channel_id === "string";
|
|
1859
|
-
}
|
|
1860
|
-
//#endregion
|
|
1861
|
-
//#region extensions/discord/src/internal/interaction-dispatch.ts
|
|
1862
|
-
async function dispatchInteraction(client, rawData) {
|
|
1863
|
-
const interaction = createInteraction(client, rawData);
|
|
1864
|
-
if (rawData.type === InteractionType.ApplicationCommandAutocomplete) {
|
|
1865
|
-
const command = client.commands.find((entry) => entry.name === readInteractionName(rawData));
|
|
1866
|
-
if (!command) return;
|
|
1867
|
-
const autocompleteInteraction = interaction;
|
|
1868
|
-
const optionAutocomplete = resolveFocusedCommandOptionAutocompleteHandler(command, autocompleteInteraction);
|
|
1869
|
-
if (optionAutocomplete) {
|
|
1870
|
-
await optionAutocomplete(autocompleteInteraction);
|
|
1871
|
-
return;
|
|
1872
|
-
}
|
|
1873
|
-
if (command.commandKind === "leaf") await command.autocomplete(autocompleteInteraction);
|
|
1874
|
-
return;
|
|
1875
|
-
}
|
|
1876
|
-
try {
|
|
1877
|
-
await dispatchAcknowledgeableInteraction(client, rawData, interaction);
|
|
1878
|
-
} catch (error) {
|
|
1879
|
-
await reportInteractionFailure(interaction);
|
|
1880
|
-
throw error;
|
|
1881
|
-
}
|
|
1882
|
-
}
|
|
1883
|
-
async function dispatchAcknowledgeableInteraction(client, rawData, interaction) {
|
|
1884
|
-
if (rawData.type === InteractionType.ApplicationCommand) {
|
|
1885
|
-
const command = client.commands.find((entry) => entry.name === readInteractionName(rawData));
|
|
1886
|
-
if (command) {
|
|
1887
|
-
await deferCommandInteractionIfNeeded(command, interaction);
|
|
1888
|
-
await command.run(interaction);
|
|
1889
|
-
}
|
|
1890
|
-
return;
|
|
1891
|
-
}
|
|
1892
|
-
if (rawData.type === InteractionType.MessageComponent) {
|
|
1893
|
-
const customId = readCustomId(rawData);
|
|
1894
|
-
if (!customId) return;
|
|
1895
|
-
const componentInteraction = interaction;
|
|
1896
|
-
if (client.componentHandler.resolveOneOffComponent({
|
|
1897
|
-
channelId: readMessageChannelId(rawData),
|
|
1898
|
-
customId,
|
|
1899
|
-
messageId: readMessageId(rawData),
|
|
1900
|
-
values: readComponentValues(rawData)
|
|
1901
|
-
})) {
|
|
1902
|
-
await componentInteraction.acknowledge();
|
|
1903
|
-
return;
|
|
1904
|
-
}
|
|
1905
|
-
const component = client.componentHandler.resolve(customId, { componentType: rawData.data?.component_type });
|
|
1906
|
-
if (component) {
|
|
1907
|
-
await deferComponentInteractionIfNeeded(component, componentInteraction);
|
|
1908
|
-
await component.run(componentInteraction, parseComponentInteractionData(component, customId));
|
|
1909
|
-
}
|
|
1910
|
-
return;
|
|
1911
|
-
}
|
|
1912
|
-
if (rawData.type === InteractionType.ModalSubmit) {
|
|
1913
|
-
const customId = readCustomId(rawData);
|
|
1914
|
-
if (!customId) return;
|
|
1915
|
-
const modal = client.modalHandler.resolve(customId);
|
|
1916
|
-
if (modal) await modal.run(interaction, modal.customIdParser(customId).data);
|
|
1917
|
-
}
|
|
1918
|
-
}
|
|
1919
|
-
/**
|
|
1920
|
-
* Fixed text. The thrown error is deliberately not echoed here: an interaction
|
|
1921
|
-
* response is visible to the whole channel, and handler exceptions routinely
|
|
1922
|
-
* carry absolute paths, config keys, and provider responses. The rethrow keeps
|
|
1923
|
-
* the detail in the Gateway log where operators already look for it.
|
|
1924
|
-
*/
|
|
1925
|
-
const INTERACTION_FAILURE_NOTICE = "Command failed. Check the Gateway logs for details.";
|
|
1926
|
-
/**
|
|
1927
|
-
* Best-effort user-visible notice for a failed interaction. Never throws: a
|
|
1928
|
-
* reporting failure must not mask the original error.
|
|
1929
|
-
*
|
|
1930
|
-
* Deliberately narrow. It reports only for `deferred`, where a spinner is known
|
|
1931
|
-
* to exist and the original response is a placeholder this dispatch created:
|
|
1932
|
-
*
|
|
1933
|
-
* - `deferred` the deferring callback succeeded (state advances only
|
|
1934
|
-
* after a REST success), so editing the original response
|
|
1935
|
-
* resolves a spinner that would otherwise hang forever.
|
|
1936
|
-
* - `deferred-update` a component acknowledgement. Discord leaves no spinner,
|
|
1937
|
-
* and the original response is the message the component is
|
|
1938
|
-
* attached to, so editing it would overwrite content the
|
|
1939
|
-
* user is still reading.
|
|
1940
|
-
* - `unacknowledged` nothing is known to have reached Discord. A second
|
|
1941
|
-
* initial callback risks "already acknowledged" if the
|
|
1942
|
-
* first one landed after all, and Discord already shows its
|
|
1943
|
-
* own "did not respond" notice.
|
|
1944
|
-
* - `replied` the user has seen a message, and nextReplyAction() would
|
|
1945
|
-
* turn this into a contradictory follow-up beside it.
|
|
1946
|
-
*/
|
|
1947
|
-
async function reportInteractionFailure(interaction) {
|
|
1948
|
-
if (interaction.responseState !== "deferred") return;
|
|
1949
|
-
if (interaction.hasSentFollowUp) return;
|
|
1950
|
-
try {
|
|
1951
|
-
await interaction.editDeferredPlaceholderIfUnanswered({
|
|
1952
|
-
content: INTERACTION_FAILURE_NOTICE,
|
|
1953
|
-
allowed_mentions: { parse: [] }
|
|
1954
|
-
});
|
|
1955
|
-
} catch {}
|
|
1956
|
-
}
|
|
1957
|
-
function resolveConditionalComponentOption(value, interaction) {
|
|
1958
|
-
return typeof value === "function" ? value(interaction) : value;
|
|
1959
|
-
}
|
|
1960
|
-
async function deferComponentInteractionIfNeeded(component, interaction) {
|
|
1961
|
-
if (!resolveConditionalComponentOption(component.defer, interaction)) return;
|
|
1962
|
-
if (resolveConditionalComponentOption(component.ephemeral, interaction)) {
|
|
1963
|
-
await interaction.defer({ ephemeral: true });
|
|
1964
|
-
return;
|
|
1965
|
-
}
|
|
1966
|
-
await interaction.acknowledge();
|
|
1967
|
-
}
|
|
1968
|
-
function readInteractionName(rawData) {
|
|
1969
|
-
return rawData.data?.name;
|
|
1970
|
-
}
|
|
1971
|
-
function readCustomId(rawData) {
|
|
1972
|
-
return rawData.data?.custom_id;
|
|
1973
|
-
}
|
|
1974
|
-
function readComponentValues(rawData) {
|
|
1975
|
-
const values = rawData.data?.values;
|
|
1976
|
-
return Array.isArray(values) ? values.map(String) : void 0;
|
|
1977
|
-
}
|
|
1978
|
-
function readMessageId(rawData) {
|
|
1979
|
-
const messageId = rawData.message?.id;
|
|
1980
|
-
return typeof messageId === "string" ? messageId : void 0;
|
|
1981
|
-
}
|
|
1982
|
-
function readMessageChannelId(rawData) {
|
|
1983
|
-
const channelId = rawData.message?.channel_id;
|
|
1984
|
-
return typeof channelId === "string" ? channelId : void 0;
|
|
1985
|
-
}
|
|
1986
|
-
//#endregion
|
|
1987
|
-
//#region extensions/discord/src/internal/rest-body.ts
|
|
1988
|
-
function serializeRequestBody(data, headers) {
|
|
1989
|
-
if (data?.headers) for (const [key, value] of Object.entries(data.headers)) headers.set(key, value);
|
|
1990
|
-
if (data?.body == null) return;
|
|
1991
|
-
if (typeof data.body === "object") {
|
|
1992
|
-
const bodyObject = data.body;
|
|
1993
|
-
const topLevelFiles = Array.isArray(bodyObject.files) ? bodyObject.files : void 0;
|
|
1994
|
-
const nestedData = bodyObject.data && typeof bodyObject.data === "object" ? bodyObject.data : void 0;
|
|
1995
|
-
const nestedFiles = nestedData && Array.isArray(nestedData.files) ? nestedData.files : void 0;
|
|
1996
|
-
const files = topLevelFiles ?? nestedFiles;
|
|
1997
|
-
const filesContainer = topLevelFiles ? bodyObject : nestedFiles ? nestedData : void 0;
|
|
1998
|
-
if (files?.length && filesContainer) {
|
|
1999
|
-
if (data.multipartStyle === "form") {
|
|
2000
|
-
const formData = new FormData();
|
|
2001
|
-
for (const [key, value] of Object.entries(filesContainer)) {
|
|
2002
|
-
if (key === "files" || value === void 0 || value === null) continue;
|
|
2003
|
-
formData.append(key, typeof value === "string" ? value : JSON.stringify(value));
|
|
2004
|
-
}
|
|
2005
|
-
for (const file of files) {
|
|
2006
|
-
const item = file;
|
|
2007
|
-
const name = typeof item.name === "string" && item.name ? item.name : "file";
|
|
2008
|
-
const blob = item.data instanceof Blob ? item.data : new Blob([item.data], { type: typeof item.contentType === "string" ? item.contentType : void 0 });
|
|
2009
|
-
formData.append(typeof item.fieldName === "string" && item.fieldName ? item.fieldName : "file", blob, name);
|
|
2010
|
-
}
|
|
2011
|
-
return formData;
|
|
2012
|
-
}
|
|
2013
|
-
const payloadJson = topLevelFiles ? { ...bodyObject } : {
|
|
2014
|
-
...bodyObject,
|
|
2015
|
-
data: { ...nestedData }
|
|
2016
|
-
};
|
|
2017
|
-
const payloadFilesContainer = topLevelFiles ? payloadJson : payloadJson.data ?? {};
|
|
2018
|
-
const formData = new FormData();
|
|
2019
|
-
const existingAttachments = Array.isArray(payloadFilesContainer.attachments) ? [...payloadFilesContainer.attachments] : [];
|
|
2020
|
-
const uploaded = files.map((file, index) => {
|
|
2021
|
-
const item = file;
|
|
2022
|
-
const name = typeof item.name === "string" && item.name ? item.name : `file-${index}`;
|
|
2023
|
-
const blob = item.data instanceof Blob ? item.data : new Blob([item.data], { type: typeof item.contentType === "string" ? item.contentType : void 0 });
|
|
2024
|
-
const id = existingAttachments.length + index;
|
|
2025
|
-
formData.append(`files[${id}]`, blob, name);
|
|
2026
|
-
const attachment = {
|
|
2027
|
-
id,
|
|
2028
|
-
filename: name
|
|
2029
|
-
};
|
|
2030
|
-
if (typeof item.description === "string") attachment.description = item.description;
|
|
2031
|
-
if (typeof item.duration_secs === "number") attachment.duration_secs = item.duration_secs;
|
|
2032
|
-
if (typeof item.waveform === "string") attachment.waveform = item.waveform;
|
|
2033
|
-
return attachment;
|
|
2034
|
-
});
|
|
2035
|
-
payloadFilesContainer.attachments = [...existingAttachments, ...uploaded];
|
|
2036
|
-
delete payloadFilesContainer.files;
|
|
2037
|
-
formData.append("payload_json", JSON.stringify(payloadJson));
|
|
2038
|
-
return formData;
|
|
2039
|
-
}
|
|
2040
|
-
}
|
|
2041
|
-
if (!data.rawBody) headers.set("Content-Type", "application/json");
|
|
2042
|
-
return data.rawBody ? data.body : JSON.stringify(data.body);
|
|
2043
|
-
}
|
|
2044
|
-
//#endregion
|
|
2045
|
-
//#region extensions/discord/src/internal/rest-errors.ts
|
|
2046
|
-
const DISCORD_UNKNOWN_VOICE_STATE = 10065;
|
|
2047
|
-
const DISCORD_ERROR_BODY_MAX_DEPTH = 64;
|
|
2048
|
-
const DISCORD_ERROR_BODY_MAX_NODES = 1e4;
|
|
2049
|
-
const DISCORD_ERROR_BODY_MAX_DEPTH_MARKER = "[Discord error body redacted: maximum depth exceeded]";
|
|
2050
|
-
const DISCORD_ERROR_BODY_MAX_NODES_MARKER = "[Discord error body redacted: node limit exceeded]";
|
|
2051
|
-
const DISCORD_ERROR_BODY_PRIORITY_KEYS = /* @__PURE__ */ new Set([
|
|
2052
|
-
"message",
|
|
2053
|
-
"code",
|
|
2054
|
-
"retry_after",
|
|
2055
|
-
"global"
|
|
2056
|
-
]);
|
|
2057
|
-
const DISCORD_RATE_LIMIT_SCOPES = /* @__PURE__ */ new Set([
|
|
2058
|
-
"user",
|
|
2059
|
-
"global",
|
|
2060
|
-
"shared"
|
|
2061
|
-
]);
|
|
2062
|
-
function isSensitiveDiscordErrorKey(key) {
|
|
2063
|
-
return redactSensitiveFieldValue(key, "") !== "";
|
|
2064
|
-
}
|
|
2065
|
-
function reserveRedactedKey(key, usedKeys, collisionCounts) {
|
|
2066
|
-
let count = (collisionCounts.get(key) ?? 0) + 1;
|
|
2067
|
-
let candidate = count === 1 ? key : `${key} [${count}]`;
|
|
2068
|
-
while (usedKeys.has(candidate)) {
|
|
2069
|
-
count += 1;
|
|
2070
|
-
candidate = `${key} [${count}]`;
|
|
2071
|
-
}
|
|
2072
|
-
collisionCounts.set(key, count);
|
|
2073
|
-
usedKeys.add(candidate);
|
|
2074
|
-
return candidate;
|
|
2075
|
-
}
|
|
2076
|
-
function redactDiscordErrorBody(body, fieldKey = "", sensitiveAncestorKey, state = {
|
|
2077
|
-
seen: /* @__PURE__ */ new WeakSet(),
|
|
2078
|
-
remainingNodes: DISCORD_ERROR_BODY_MAX_NODES
|
|
2079
|
-
}, depth = 0) {
|
|
2080
|
-
if (state.remainingNodes <= 0) return DISCORD_ERROR_BODY_MAX_NODES_MARKER;
|
|
2081
|
-
state.remainingNodes -= 1;
|
|
2082
|
-
if (typeof body === "string") return redactSensitiveFieldValue(sensitiveAncestorKey ?? fieldKey, body);
|
|
2083
|
-
if (sensitiveAncestorKey && (typeof body === "number" || typeof body === "boolean" || typeof body === "bigint")) return redactSensitiveFieldValue(sensitiveAncestorKey, String(body));
|
|
2084
|
-
if (!body || typeof body !== "object") return body;
|
|
2085
|
-
if (depth >= DISCORD_ERROR_BODY_MAX_DEPTH) return DISCORD_ERROR_BODY_MAX_DEPTH_MARKER;
|
|
2086
|
-
if (state.seen.has(body)) return "[Circular]";
|
|
2087
|
-
state.seen.add(body);
|
|
2088
|
-
let redacted;
|
|
2089
|
-
if (Array.isArray(body)) {
|
|
2090
|
-
const items = [];
|
|
2091
|
-
for (const entry of body) {
|
|
2092
|
-
if (state.remainingNodes <= 0) {
|
|
2093
|
-
items.push(DISCORD_ERROR_BODY_MAX_NODES_MARKER);
|
|
2094
|
-
break;
|
|
2095
|
-
}
|
|
2096
|
-
items.push(redactDiscordErrorBody(entry, fieldKey, sensitiveAncestorKey, state, depth + 1));
|
|
2097
|
-
}
|
|
2098
|
-
redacted = items;
|
|
2099
|
-
} else {
|
|
2100
|
-
const usedKeys = /* @__PURE__ */ new Set();
|
|
2101
|
-
const collisionCounts = /* @__PURE__ */ new Map();
|
|
2102
|
-
const entries = [];
|
|
2103
|
-
const appendEntry = (nestedKey) => {
|
|
2104
|
-
if (state.remainingNodes <= 0) return false;
|
|
2105
|
-
const outputKey = reserveRedactedKey(redactSensitiveFieldValue(sensitiveAncestorKey ?? "", nestedKey), usedKeys, collisionCounts);
|
|
2106
|
-
const nestedSensitiveKey = isSensitiveDiscordErrorKey(nestedKey) ? nestedKey : sensitiveAncestorKey;
|
|
2107
|
-
entries.push([outputKey, redactDiscordErrorBody(body[nestedKey], nestedKey, nestedSensitiveKey, state, depth + 1)]);
|
|
2108
|
-
return true;
|
|
2109
|
-
};
|
|
2110
|
-
let truncated = false;
|
|
2111
|
-
for (const priorityKey of DISCORD_ERROR_BODY_PRIORITY_KEYS) if (Object.hasOwn(body, priorityKey) && !appendEntry(priorityKey)) {
|
|
2112
|
-
truncated = true;
|
|
2113
|
-
break;
|
|
2114
|
-
}
|
|
2115
|
-
if (!truncated) for (const nestedKey in body) {
|
|
2116
|
-
if (!Object.hasOwn(body, nestedKey) || DISCORD_ERROR_BODY_PRIORITY_KEYS.has(nestedKey)) continue;
|
|
2117
|
-
if (!appendEntry(nestedKey)) {
|
|
2118
|
-
truncated = true;
|
|
2119
|
-
break;
|
|
2120
|
-
}
|
|
2121
|
-
}
|
|
2122
|
-
if (truncated) {
|
|
2123
|
-
const markerKey = reserveRedactedKey(DISCORD_ERROR_BODY_MAX_NODES_MARKER, usedKeys, collisionCounts);
|
|
2124
|
-
entries.push([markerKey, DISCORD_ERROR_BODY_MAX_NODES_MARKER]);
|
|
2125
|
-
}
|
|
2126
|
-
redacted = Object.fromEntries(entries);
|
|
2127
|
-
}
|
|
2128
|
-
state.seen.delete(body);
|
|
2129
|
-
return redacted;
|
|
2130
|
-
}
|
|
2131
|
-
function readDiscordCode(body) {
|
|
2132
|
-
const value = body && typeof body === "object" && "code" in body ? body.code : void 0;
|
|
2133
|
-
return parseStrictNonNegativeInteger(value);
|
|
2134
|
-
}
|
|
2135
|
-
function readDiscordMessage(body, fallback) {
|
|
2136
|
-
const value = body && typeof body === "object" && "message" in body ? body.message : void 0;
|
|
2137
|
-
return typeof value === "string" && value.trim() ? value : fallback;
|
|
2138
|
-
}
|
|
2139
|
-
function isUnknownDiscordVoiceStateError(err) {
|
|
2140
|
-
return (err && typeof err === "object" && "discordCode" in err ? parseStrictNonNegativeInteger(err.discordCode) : void 0) === DISCORD_UNKNOWN_VOICE_STATE || /unknown voice state/i.test(formatErrorMessage(err));
|
|
2141
|
-
}
|
|
2142
|
-
function readRetryAfter(body, response, fallbackSeconds = 0) {
|
|
2143
|
-
const bodyValue = body && typeof body === "object" && "retry_after" in body ? body.retry_after : void 0;
|
|
2144
|
-
return parseDiscordRetryAfterBodySeconds(bodyValue) ?? parseRetryAfterHeaderSeconds(response.headers.get("Retry-After")) ?? fallbackSeconds;
|
|
2145
|
-
}
|
|
2146
|
-
function readDiscordRateLimitBucket(response) {
|
|
2147
|
-
const value = response.headers.get("X-RateLimit-Bucket")?.trim();
|
|
2148
|
-
return value ? redactIdentifier(value, { len: 32 }) : null;
|
|
2149
|
-
}
|
|
2150
|
-
function readDiscordRateLimitScope(response) {
|
|
2151
|
-
const value = response.headers.get("X-RateLimit-Scope");
|
|
2152
|
-
return value && DISCORD_RATE_LIMIT_SCOPES.has(value) ? value : null;
|
|
2153
|
-
}
|
|
2154
|
-
var DiscordError = class extends Error {
|
|
2155
|
-
constructor(response, body) {
|
|
2156
|
-
const fallbackMessage = `Discord API request failed (${response.status})`;
|
|
2157
|
-
const redactedMessage = redactSensitiveFieldValue("message", readDiscordMessage(body, fallbackMessage));
|
|
2158
|
-
const redactedBody = redactDiscordErrorBody(body);
|
|
2159
|
-
super(redactedMessage);
|
|
2160
|
-
this.name = "DiscordError";
|
|
2161
|
-
this.status = response.status;
|
|
2162
|
-
this.statusCode = response.status;
|
|
2163
|
-
this.rawBody = redactedBody;
|
|
2164
|
-
this.rawError = redactedBody;
|
|
2165
|
-
this.discordCode = readDiscordCode(body);
|
|
2166
|
-
}
|
|
2167
|
-
};
|
|
2168
|
-
var RateLimitError = class extends DiscordError {
|
|
2169
|
-
constructor(response, body) {
|
|
2170
|
-
super(response, body);
|
|
2171
|
-
this.name = "RateLimitError";
|
|
2172
|
-
this.retryAfter = readRetryAfter(body, response, 1);
|
|
2173
|
-
this.scope = body.global ? "global" : readDiscordRateLimitScope(response);
|
|
2174
|
-
this.bucket = readDiscordRateLimitBucket(response);
|
|
2175
|
-
}
|
|
2176
|
-
};
|
|
2177
|
-
//#endregion
|
|
2178
|
-
//#region extensions/discord/src/internal/rest-routes.ts
|
|
2179
|
-
const RATE_LIMIT_HEADER_NUMBER_RE = /^\d+(?:\.\d+)?$/;
|
|
2180
|
-
const DISCORD_ROUTE_IDENTIFIER_HASH_LENGTH = 32;
|
|
2181
|
-
function redactWebhookTokenInPath(path) {
|
|
2182
|
-
const hasLeadingSlash = path.startsWith("/");
|
|
2183
|
-
const segments = path.replace(/^\/+/, "").split("/");
|
|
2184
|
-
if (segments[0] !== "webhooks" || !segments[1] || !segments[2]) return path;
|
|
2185
|
-
segments[2] = redactIdentifier(segments[2], { len: DISCORD_ROUTE_IDENTIFIER_HASH_LENGTH });
|
|
2186
|
-
return `${hasLeadingSlash ? "/" : ""}${segments.join("/")}`;
|
|
2187
|
-
}
|
|
2188
|
-
function createRouteKey(method, path) {
|
|
2189
|
-
const pathname = path.split("?")[0] ?? path;
|
|
2190
|
-
return `${method.toUpperCase()} ${redactWebhookTokenInPath(pathname)}`;
|
|
2191
|
-
}
|
|
2192
|
-
function readTopLevelRouteKey(path) {
|
|
2193
|
-
const [pathname = path] = path.split("?");
|
|
2194
|
-
const [first, id, token] = pathname.replace(/^\/+/, "").split("/");
|
|
2195
|
-
if (!first || !id) return pathname;
|
|
2196
|
-
if (first === "channels" || first === "guilds" || first === "webhooks") return first === "webhooks" && token ? `${first}/${id}/${redactIdentifier(token, { len: DISCORD_ROUTE_IDENTIFIER_HASH_LENGTH })}` : `${first}/${id}`;
|
|
2197
|
-
return first;
|
|
2198
|
-
}
|
|
2199
|
-
function createBucketKey(bucket, path) {
|
|
2200
|
-
return `${bucket}:${readTopLevelRouteKey(path)}`;
|
|
2201
|
-
}
|
|
2202
|
-
function readHeaderNumber(headers, name) {
|
|
2203
|
-
const value = headers.get(name);
|
|
2204
|
-
if (!value) return;
|
|
2205
|
-
const trimmed = value.trim();
|
|
2206
|
-
if (!RATE_LIMIT_HEADER_NUMBER_RE.test(trimmed)) return;
|
|
2207
|
-
const parsed = Number(trimmed);
|
|
2208
|
-
return Number.isFinite(parsed) && Math.abs(parsed) <= Number.MAX_SAFE_INTEGER ? parsed : void 0;
|
|
2209
|
-
}
|
|
2210
|
-
function resolveRateLimitResetAt(delayMs) {
|
|
2211
|
-
const clampedDelayMs = Math.ceil(Math.max(0, delayMs));
|
|
2212
|
-
if (!Number.isSafeInteger(clampedDelayMs)) return;
|
|
2213
|
-
if (clampedDelayMs === 0) return asDateTimestampMs(Date.now());
|
|
2214
|
-
return resolveExpiresAtMsFromDurationMs(clampedDelayMs);
|
|
2215
|
-
}
|
|
2216
|
-
function readResetAt(response) {
|
|
2217
|
-
const resetAfter = readHeaderNumber(response.headers, "X-RateLimit-Reset-After");
|
|
2218
|
-
if (resetAfter !== void 0) return resolveRateLimitResetAt(resetAfter * 1e3);
|
|
2219
|
-
const reset = readHeaderNumber(response.headers, "X-RateLimit-Reset");
|
|
2220
|
-
return reset !== void 0 ? asDateTimestampMs(reset * 1e3) : void 0;
|
|
2221
|
-
}
|
|
2222
|
-
function appendQuery(path, query) {
|
|
2223
|
-
if (!query || Object.keys(query).length === 0) return path;
|
|
2224
|
-
const search = new URLSearchParams();
|
|
2225
|
-
for (const [key, value] of Object.entries(query)) search.set(key, String(value));
|
|
2226
|
-
return `${path}?${search.toString()}`;
|
|
2227
|
-
}
|
|
2228
|
-
//#endregion
|
|
2229
|
-
//#region extensions/discord/src/internal/rest-scheduler.ts
|
|
2230
|
-
const INVALID_REQUEST_WINDOW_MS = 6e5;
|
|
2231
|
-
const requestPriorities = [
|
|
2232
|
-
"critical",
|
|
2233
|
-
"standard",
|
|
2234
|
-
"background"
|
|
2235
|
-
];
|
|
2236
|
-
function normalizeRestSchedulerOptions(options) {
|
|
2237
|
-
return {
|
|
2238
|
-
lanes: {
|
|
2239
|
-
critical: normalizeLaneOptions(options.lanes.critical),
|
|
2240
|
-
standard: normalizeLaneOptions(options.lanes.standard),
|
|
2241
|
-
background: normalizeLaneOptions(options.lanes.background)
|
|
2242
|
-
},
|
|
2243
|
-
maxConcurrency: resolveIntegerOption(options.maxConcurrency, 1, { min: 1 }),
|
|
2244
|
-
maxQueueSize: resolveIntegerOption(options.maxQueueSize, 1, { min: 1 }),
|
|
2245
|
-
maxRateLimitRetries: resolveIntegerOption(options.maxRateLimitRetries, 0, { min: 0 })
|
|
2246
|
-
};
|
|
2247
|
-
}
|
|
2248
|
-
function normalizeLaneOptions(options) {
|
|
2249
|
-
return {
|
|
2250
|
-
maxQueueSize: resolveIntegerOption(options.maxQueueSize, 1, { min: 1 }),
|
|
2251
|
-
...options.staleAfterMs === void 0 ? {} : { staleAfterMs: resolveIntegerOption(options.staleAfterMs, 0, { min: 0 }) },
|
|
2252
|
-
weight: resolveIntegerOption(options.weight, 1, { min: 1 })
|
|
2253
|
-
};
|
|
2254
|
-
}
|
|
2255
|
-
function createLaneQueues() {
|
|
2256
|
-
return {
|
|
2257
|
-
critical: [],
|
|
2258
|
-
standard: [],
|
|
2259
|
-
background: []
|
|
2260
|
-
};
|
|
2261
|
-
}
|
|
2262
|
-
function countPending(bucket) {
|
|
2263
|
-
return requestPriorities.reduce((count, lane) => count + bucket.pending[lane].length, 0);
|
|
2264
|
-
}
|
|
2265
|
-
var RestScheduler = class {
|
|
2266
|
-
constructor(options, executor) {
|
|
2267
|
-
this.executor = executor;
|
|
2268
|
-
this.activeWorkers = 0;
|
|
2269
|
-
this.buckets = /* @__PURE__ */ new Map();
|
|
2270
|
-
this.globalRateLimitUntil = 0;
|
|
2271
|
-
this.invalidRequestTimestamps = [];
|
|
2272
|
-
this.laneCursor = 0;
|
|
2273
|
-
this.laneDropped = {
|
|
2274
|
-
critical: 0,
|
|
2275
|
-
standard: 0,
|
|
2276
|
-
background: 0
|
|
2277
|
-
};
|
|
2278
|
-
this.queuedByLane = {
|
|
2279
|
-
critical: 0,
|
|
2280
|
-
standard: 0,
|
|
2281
|
-
background: 0
|
|
2282
|
-
};
|
|
2283
|
-
this.queueGeneration = 0;
|
|
2284
|
-
this.queuedRequests = 0;
|
|
2285
|
-
this.routeBuckets = /* @__PURE__ */ new Map();
|
|
2286
|
-
this.options = normalizeRestSchedulerOptions(options);
|
|
2287
|
-
this.laneSchedule = this.buildLaneSchedule(this.options.lanes);
|
|
2288
|
-
}
|
|
2289
|
-
enqueue(params) {
|
|
2290
|
-
if (this.queuedRequests >= this.options.maxQueueSize) throw new Error("Discord request queue is full");
|
|
2291
|
-
const laneOptions = this.options.lanes[params.priority];
|
|
2292
|
-
if (this.queuedByLane[params.priority] >= laneOptions.maxQueueSize) {
|
|
2293
|
-
this.laneDropped[params.priority] += 1;
|
|
2294
|
-
throw new Error(`Discord ${params.priority} request queue is full (${this.queuedByLane[params.priority]} / ${laneOptions.maxQueueSize})`);
|
|
2295
|
-
}
|
|
2296
|
-
const routeKey = createRouteKey(params.method, params.path);
|
|
2297
|
-
const bucket = this.getBucket(this.routeBuckets.get(routeKey) ?? routeKey);
|
|
2298
|
-
return new Promise((resolve, reject) => {
|
|
2299
|
-
this.queuedRequests += 1;
|
|
2300
|
-
this.queuedByLane[params.priority] += 1;
|
|
2301
|
-
bucket.pending[params.priority].push({
|
|
2302
|
-
...params,
|
|
2303
|
-
enqueuedAt: Date.now(),
|
|
2304
|
-
generation: this.queueGeneration,
|
|
2305
|
-
routeKey,
|
|
2306
|
-
retryCount: 0,
|
|
2307
|
-
resolve,
|
|
2308
|
-
reject
|
|
2309
|
-
});
|
|
2310
|
-
this.drainQueues();
|
|
2311
|
-
});
|
|
2312
|
-
}
|
|
2313
|
-
recordResponse(routeKey, path, response, parsed) {
|
|
2314
|
-
this.updateRateLimitState(routeKey, path, response, parsed);
|
|
2315
|
-
this.recordInvalidRequest(routeKey, path, response);
|
|
2316
|
-
}
|
|
2317
|
-
clearQueue() {
|
|
2318
|
-
this.queueGeneration += 1;
|
|
2319
|
-
if (this.drainTimer) {
|
|
2320
|
-
clearTimeout(this.drainTimer);
|
|
2321
|
-
this.drainTimer = void 0;
|
|
2322
|
-
}
|
|
2323
|
-
this.rejectPending(/* @__PURE__ */ new Error("Discord request queue cleared"));
|
|
2324
|
-
}
|
|
2325
|
-
abortPending() {
|
|
2326
|
-
this.queueGeneration += 1;
|
|
2327
|
-
this.rejectPending(new DOMException("Aborted", "AbortError"));
|
|
2328
|
-
}
|
|
2329
|
-
get queueSize() {
|
|
2330
|
-
return this.queuedRequests;
|
|
2331
|
-
}
|
|
2332
|
-
getMetrics() {
|
|
2333
|
-
this.pruneInvalidRequests();
|
|
2334
|
-
return {
|
|
2335
|
-
globalRateLimitUntil: this.globalRateLimitUntil,
|
|
2336
|
-
activeBuckets: this.buckets.size,
|
|
2337
|
-
routeBucketMappings: this.routeBuckets.size,
|
|
2338
|
-
buckets: Array.from(this.buckets.entries()).map(([key, bucket]) => ({
|
|
2339
|
-
key,
|
|
2340
|
-
active: bucket.active,
|
|
2341
|
-
bucket: bucket.bucket,
|
|
2342
|
-
invalidRequests: bucket.invalidRequests,
|
|
2343
|
-
pending: countPending(bucket),
|
|
2344
|
-
pendingByLane: Object.fromEntries(requestPriorities.map((lane) => [lane, bucket.pending[lane].length])),
|
|
2345
|
-
rateLimitHits: bucket.rateLimitHits,
|
|
2346
|
-
remaining: bucket.remaining,
|
|
2347
|
-
resetAt: bucket.resetAt,
|
|
2348
|
-
routeKeyCount: bucket.routeKeys.size
|
|
2349
|
-
})),
|
|
2350
|
-
invalidRequestCount: this.invalidRequestTimestamps.length,
|
|
2351
|
-
invalidRequestCountByStatus: this.invalidRequestTimestamps.reduce((counts, entry) => {
|
|
2352
|
-
counts[entry.status] = (counts[entry.status] ?? 0) + 1;
|
|
2353
|
-
return counts;
|
|
2354
|
-
}, {}),
|
|
2355
|
-
queueSize: this.queueSize,
|
|
2356
|
-
queueSizeByLane: { ...this.queuedByLane },
|
|
2357
|
-
droppedByLane: { ...this.laneDropped },
|
|
2358
|
-
oldestQueuedByLane: Object.fromEntries(requestPriorities.map((lane) => [lane, this.getOldestQueuedAge(lane)])),
|
|
2359
|
-
activeWorkers: this.activeWorkers,
|
|
2360
|
-
maxConcurrentWorkers: this.maxConcurrentWorkers
|
|
2361
|
-
};
|
|
2362
|
-
}
|
|
2363
|
-
get maxConcurrentWorkers() {
|
|
2364
|
-
return this.options.maxConcurrency;
|
|
2365
|
-
}
|
|
2366
|
-
get maxRateLimitRetries() {
|
|
2367
|
-
return this.options.maxRateLimitRetries;
|
|
2368
|
-
}
|
|
2369
|
-
getBucket(key) {
|
|
2370
|
-
const existing = this.buckets.get(key);
|
|
2371
|
-
if (existing) return existing;
|
|
2372
|
-
const bucket = {
|
|
2373
|
-
active: 0,
|
|
2374
|
-
invalidRequests: 0,
|
|
2375
|
-
pending: createLaneQueues(),
|
|
2376
|
-
rateLimitHits: 0,
|
|
2377
|
-
resetAt: 0,
|
|
2378
|
-
routeKeys: /* @__PURE__ */ new Set([key])
|
|
2379
|
-
};
|
|
2380
|
-
this.buckets.set(key, bucket);
|
|
2381
|
-
return bucket;
|
|
2382
|
-
}
|
|
2383
|
-
hasBucketReference(key) {
|
|
2384
|
-
for (const bucketKey of this.routeBuckets.values()) if (bucketKey === key) return true;
|
|
2385
|
-
return false;
|
|
2386
|
-
}
|
|
2387
|
-
isBucketRateLimited(bucket, now = Date.now()) {
|
|
2388
|
-
return bucket.remaining === 0 && bucket.resetAt > now;
|
|
2389
|
-
}
|
|
2390
|
-
pruneRouteMapping(routeKey) {
|
|
2391
|
-
const bucketKey = this.routeBuckets.get(routeKey);
|
|
2392
|
-
if (!bucketKey) return;
|
|
2393
|
-
this.routeBuckets.delete(routeKey);
|
|
2394
|
-
this.buckets.get(bucketKey)?.routeKeys.delete(routeKey);
|
|
2395
|
-
}
|
|
2396
|
-
pruneIdleRouteMappings(bucketKey, bucket, now = Date.now()) {
|
|
2397
|
-
if (bucket.active > 0 || countPending(bucket) > 0 || this.isBucketRateLimited(bucket, now)) return;
|
|
2398
|
-
for (const routeKey of Array.from(bucket.routeKeys)) if (this.routeBuckets.get(routeKey) === bucketKey) this.pruneRouteMapping(routeKey);
|
|
2399
|
-
}
|
|
2400
|
-
shouldPruneIdleBucket(key) {
|
|
2401
|
-
return this.routeBuckets.get(key) !== key && !this.hasBucketReference(key);
|
|
2402
|
-
}
|
|
2403
|
-
bindRouteToBucket(routeKey, bucketKey) {
|
|
2404
|
-
const target = this.getBucket(bucketKey);
|
|
2405
|
-
target.routeKeys.add(routeKey);
|
|
2406
|
-
this.routeBuckets.set(routeKey, bucketKey);
|
|
2407
|
-
const routeBucket = this.buckets.get(routeKey);
|
|
2408
|
-
if (routeBucket && routeBucket !== target) {
|
|
2409
|
-
for (const lane of requestPriorities) {
|
|
2410
|
-
target.pending[lane].push(...routeBucket.pending[lane]);
|
|
2411
|
-
routeBucket.pending[lane] = [];
|
|
2412
|
-
}
|
|
2413
|
-
if (routeBucket.active === 0) this.buckets.delete(routeKey);
|
|
2414
|
-
}
|
|
2415
|
-
return target;
|
|
2416
|
-
}
|
|
2417
|
-
updateRateLimitState(routeKey, path, response, parsed) {
|
|
2418
|
-
const bucketHeader = readDiscordRateLimitBucket(response);
|
|
2419
|
-
const bucket = bucketHeader ? this.bindRouteToBucket(routeKey, createBucketKey(bucketHeader, path)) : this.getBucket(this.routeBuckets.get(routeKey) ?? routeKey);
|
|
2420
|
-
bucket.bucket = bucketHeader ?? bucket.bucket;
|
|
2421
|
-
const limit = readHeaderNumber(response.headers, "X-RateLimit-Limit");
|
|
2422
|
-
if (limit !== void 0) bucket.limit = limit;
|
|
2423
|
-
const remaining = readHeaderNumber(response.headers, "X-RateLimit-Remaining");
|
|
2424
|
-
if (remaining !== void 0) bucket.remaining = remaining;
|
|
2425
|
-
const resetAt = readResetAt(response);
|
|
2426
|
-
if (resetAt !== void 0) bucket.resetAt = resetAt;
|
|
2427
|
-
if (response.status !== 429) return;
|
|
2428
|
-
bucket.rateLimitHits += 1;
|
|
2429
|
-
const retryAt = resolveRateLimitResetAt(Math.max(0, readRetryAfter(parsed, response, 1) * 1e3));
|
|
2430
|
-
if (retryAt === void 0) return;
|
|
2431
|
-
if (response.headers.get("X-RateLimit-Global") === "true" || isGlobalRateLimit(parsed)) {
|
|
2432
|
-
this.globalRateLimitUntil = Math.max(this.globalRateLimitUntil, retryAt);
|
|
2433
|
-
return;
|
|
2434
|
-
}
|
|
2435
|
-
bucket.remaining = 0;
|
|
2436
|
-
bucket.resetAt = Math.max(bucket.resetAt, retryAt);
|
|
2437
|
-
}
|
|
2438
|
-
recordInvalidRequest(routeKey, path, response) {
|
|
2439
|
-
if (response.status !== 401 && response.status !== 403 && response.status !== 429) return;
|
|
2440
|
-
if (response.status === 429 && response.headers.get("X-RateLimit-Scope") === "shared") return;
|
|
2441
|
-
const now = Date.now();
|
|
2442
|
-
this.invalidRequestTimestamps.push({
|
|
2443
|
-
at: now,
|
|
2444
|
-
status: response.status
|
|
2445
|
-
});
|
|
2446
|
-
this.pruneInvalidRequests(now);
|
|
2447
|
-
const bucketHeader = readDiscordRateLimitBucket(response);
|
|
2448
|
-
const bucketKey = bucketHeader ? createBucketKey(bucketHeader, path) : this.routeBuckets.get(routeKey) ?? routeKey;
|
|
2449
|
-
const bucket = this.buckets.get(bucketKey);
|
|
2450
|
-
if (bucket) bucket.invalidRequests += 1;
|
|
2451
|
-
}
|
|
2452
|
-
pruneInvalidRequests(now = Date.now()) {
|
|
2453
|
-
const cutoff = now - INVALID_REQUEST_WINDOW_MS;
|
|
2454
|
-
while (this.invalidRequestTimestamps.length > 0 && (this.invalidRequestTimestamps[0]?.at ?? 0) <= cutoff) this.invalidRequestTimestamps.shift();
|
|
2455
|
-
}
|
|
2456
|
-
getBucketWaitMs(bucket, now) {
|
|
2457
|
-
if (bucket.remaining === 0 && bucket.resetAt > now) return bucket.resetAt - now;
|
|
2458
|
-
if (bucket.remaining === 0 && bucket.resetAt <= now) bucket.remaining = bucket.limit;
|
|
2459
|
-
return 0;
|
|
2460
|
-
}
|
|
2461
|
-
scheduleDrain(delayMs = 0) {
|
|
2462
|
-
if (this.drainTimer) return;
|
|
2463
|
-
this.drainTimer = setTimeout(() => {
|
|
2464
|
-
this.drainTimer = void 0;
|
|
2465
|
-
this.drainQueues();
|
|
2466
|
-
}, resolveTimerTimeoutMs(delayMs, 0, 0));
|
|
2467
|
-
this.drainTimer.unref?.();
|
|
2468
|
-
}
|
|
2469
|
-
drainQueues() {
|
|
2470
|
-
let nextDelayMs = Number.POSITIVE_INFINITY;
|
|
2471
|
-
while (this.activeWorkers < this.maxConcurrentWorkers) {
|
|
2472
|
-
const next = this.takeNextQueuedRequest();
|
|
2473
|
-
if (!next.queued) {
|
|
2474
|
-
if (next.waitMs !== void 0) nextDelayMs = Math.min(nextDelayMs, next.waitMs);
|
|
2475
|
-
break;
|
|
2476
|
-
}
|
|
2477
|
-
const { bucket, queued } = next;
|
|
2478
|
-
if (bucket.remaining !== void 0 && bucket.remaining > 0) bucket.remaining -= 1;
|
|
2479
|
-
bucket.active += 1;
|
|
2480
|
-
this.activeWorkers += 1;
|
|
2481
|
-
this.runQueuedRequest(queued, bucket);
|
|
2482
|
-
}
|
|
2483
|
-
if (Number.isFinite(nextDelayMs)) this.scheduleDrain(nextDelayMs);
|
|
2484
|
-
}
|
|
2485
|
-
takeNextQueuedRequest() {
|
|
2486
|
-
const now = Date.now();
|
|
2487
|
-
if (this.globalRateLimitUntil > now) return { waitMs: this.globalRateLimitUntil - now };
|
|
2488
|
-
this.pruneIdleBuckets(now);
|
|
2489
|
-
let nextDelayMs;
|
|
2490
|
-
const buckets = Array.from(this.buckets.values()).filter((bucket) => countPending(bucket) > 0);
|
|
2491
|
-
if (buckets.length === 0) return {};
|
|
2492
|
-
for (let laneOffset = 0; laneOffset < this.laneSchedule.length; laneOffset += 1) {
|
|
2493
|
-
const lane = this.laneSchedule[(this.laneCursor + laneOffset) % this.laneSchedule.length];
|
|
2494
|
-
if (!lane || this.queuedByLane[lane] <= 0) continue;
|
|
2495
|
-
for (const bucket of buckets) {
|
|
2496
|
-
const queue = bucket.pending[lane];
|
|
2497
|
-
this.dropStaleHeadRequests(queue, lane, now);
|
|
2498
|
-
if (queue.length === 0) continue;
|
|
2499
|
-
if (bucket.active > 0) continue;
|
|
2500
|
-
const waitMs = this.getBucketWaitMs(bucket, now);
|
|
2501
|
-
if (waitMs > 0) {
|
|
2502
|
-
nextDelayMs = Math.min(nextDelayMs ?? waitMs, waitMs);
|
|
2503
|
-
continue;
|
|
2504
|
-
}
|
|
2505
|
-
const queued = queue.shift();
|
|
2506
|
-
if (!queued) continue;
|
|
2507
|
-
this.queuedByLane[lane] = Math.max(0, this.queuedByLane[lane] - 1);
|
|
2508
|
-
this.laneCursor = (this.laneCursor + laneOffset + 1) % this.laneSchedule.length;
|
|
2509
|
-
return {
|
|
2510
|
-
bucket,
|
|
2511
|
-
queued
|
|
2512
|
-
};
|
|
2513
|
-
}
|
|
2514
|
-
}
|
|
2515
|
-
return { waitMs: nextDelayMs };
|
|
2516
|
-
}
|
|
2517
|
-
dropStaleHeadRequests(queue, lane, now) {
|
|
2518
|
-
if (lane !== "background") return;
|
|
2519
|
-
const staleAfterMs = this.options.lanes[lane].staleAfterMs;
|
|
2520
|
-
if (!staleAfterMs || staleAfterMs <= 0) return;
|
|
2521
|
-
while (queue.length > 0 && now - (queue[0]?.enqueuedAt ?? now) > staleAfterMs) {
|
|
2522
|
-
const stale = queue.shift();
|
|
2523
|
-
if (!stale) continue;
|
|
2524
|
-
this.queuedRequests = Math.max(0, this.queuedRequests - 1);
|
|
2525
|
-
this.queuedByLane[lane] = Math.max(0, this.queuedByLane[lane] - 1);
|
|
2526
|
-
this.laneDropped[lane] += 1;
|
|
2527
|
-
stale.reject(/* @__PURE__ */ new Error(`Dropped stale ${lane} request after ${now - stale.enqueuedAt}ms`));
|
|
2528
|
-
}
|
|
2529
|
-
}
|
|
2530
|
-
pruneIdleBuckets(now = Date.now()) {
|
|
2531
|
-
for (const [key, bucket] of this.buckets) {
|
|
2532
|
-
if (bucket.active !== 0 || countPending(bucket) > 0) continue;
|
|
2533
|
-
if (this.isBucketRateLimited(bucket, now)) continue;
|
|
2534
|
-
this.pruneIdleRouteMappings(key, bucket, now);
|
|
2535
|
-
if (this.shouldPruneIdleBucket(key)) this.buckets.delete(key);
|
|
2536
|
-
}
|
|
2537
|
-
}
|
|
2538
|
-
async runQueuedRequest(queued, bucket) {
|
|
2539
|
-
let requeued = false;
|
|
2540
|
-
try {
|
|
2541
|
-
queued.resolve(await this.executor(queued));
|
|
2542
|
-
} catch (error) {
|
|
2543
|
-
if (error instanceof RateLimitError && this.requeueRateLimitedRequest(queued)) {
|
|
2544
|
-
requeued = true;
|
|
2545
|
-
return;
|
|
2546
|
-
}
|
|
2547
|
-
queued.reject(error);
|
|
2548
|
-
} finally {
|
|
2549
|
-
bucket.active = Math.max(0, bucket.active - 1);
|
|
2550
|
-
this.activeWorkers = Math.max(0, this.activeWorkers - 1);
|
|
2551
|
-
if (!requeued) this.queuedRequests = Math.max(0, this.queuedRequests - 1);
|
|
2552
|
-
if (bucket.active === 0 && countPending(bucket) === 0) {
|
|
2553
|
-
for (const routeKey of bucket.routeKeys) if (this.routeBuckets.get(routeKey) === routeKey) this.routeBuckets.delete(routeKey);
|
|
2554
|
-
}
|
|
2555
|
-
this.drainQueues();
|
|
2556
|
-
}
|
|
2557
|
-
}
|
|
2558
|
-
requeueRateLimitedRequest(queued) {
|
|
2559
|
-
if (queued.generation !== this.queueGeneration || queued.retryCount >= this.maxRateLimitRetries) return false;
|
|
2560
|
-
const bucketKey = this.routeBuckets.get(queued.routeKey) ?? queued.routeKey;
|
|
2561
|
-
this.getBucket(bucketKey).pending[queued.priority].push({
|
|
2562
|
-
...queued,
|
|
2563
|
-
enqueuedAt: Date.now(),
|
|
2564
|
-
retryCount: queued.retryCount + 1
|
|
2565
|
-
});
|
|
2566
|
-
this.queuedByLane[queued.priority] += 1;
|
|
2567
|
-
return true;
|
|
2568
|
-
}
|
|
2569
|
-
rejectPending(error) {
|
|
2570
|
-
for (const bucket of this.buckets.values()) for (const lane of requestPriorities) for (const queued of bucket.pending[lane].splice(0)) {
|
|
2571
|
-
queued.reject(error);
|
|
2572
|
-
this.queuedRequests = Math.max(0, this.queuedRequests - 1);
|
|
2573
|
-
this.queuedByLane[lane] = Math.max(0, this.queuedByLane[lane] - 1);
|
|
2574
|
-
}
|
|
2575
|
-
}
|
|
2576
|
-
buildLaneSchedule(lanes) {
|
|
2577
|
-
const schedule = [];
|
|
2578
|
-
for (const lane of requestPriorities) {
|
|
2579
|
-
const weight = lanes[lane].weight;
|
|
2580
|
-
for (let i = 0; i < weight; i += 1) schedule.push(lane);
|
|
2581
|
-
}
|
|
2582
|
-
return schedule.length > 0 ? schedule : [...requestPriorities];
|
|
2583
|
-
}
|
|
2584
|
-
getOldestQueuedAge(lane) {
|
|
2585
|
-
const now = Date.now();
|
|
2586
|
-
let oldest = 0;
|
|
2587
|
-
for (const bucket of this.buckets.values()) {
|
|
2588
|
-
const queued = bucket.pending[lane][0];
|
|
2589
|
-
if (!queued) continue;
|
|
2590
|
-
oldest = Math.max(oldest, now - queued.enqueuedAt);
|
|
2591
|
-
}
|
|
2592
|
-
return oldest;
|
|
2593
|
-
}
|
|
2594
|
-
};
|
|
2595
|
-
function isGlobalRateLimit(parsed) {
|
|
2596
|
-
return parsed && typeof parsed === "object" && "global" in parsed ? Boolean(parsed.global) : false;
|
|
2597
|
-
}
|
|
2598
|
-
//#endregion
|
|
2599
|
-
//#region extensions/discord/src/internal/rest.ts
|
|
2600
|
-
const defaultOptions = {
|
|
2601
|
-
tokenHeader: "Bot",
|
|
2602
|
-
baseUrl: "https://discord.com/api",
|
|
2603
|
-
apiVersion: 10,
|
|
2604
|
-
userAgent: "OpenClaw Discord",
|
|
2605
|
-
timeout: 15e3,
|
|
2606
|
-
queueRequests: true,
|
|
2607
|
-
maxQueueSize: 1e3,
|
|
2608
|
-
runtimeProfile: "persistent"
|
|
2609
|
-
};
|
|
2610
|
-
const DEFAULT_MAX_CONCURRENT_WORKERS = 4;
|
|
2611
|
-
const defaultLaneOptions = {
|
|
2612
|
-
critical: { weight: 6 },
|
|
2613
|
-
standard: { weight: 3 },
|
|
2614
|
-
background: {
|
|
2615
|
-
staleAfterMs: 2e4,
|
|
2616
|
-
weight: 1
|
|
2617
|
-
}
|
|
2618
|
-
};
|
|
2619
|
-
const DISCORD_REST_RESPONSE_BODY_MAX_BYTES = 8388608;
|
|
2620
|
-
const GZIP_MAGIC = [31, 139];
|
|
2621
|
-
function createResponseBodyOverflowError(size) {
|
|
2622
|
-
return /* @__PURE__ */ new Error(`Discord REST response body exceeds ${DISCORD_REST_RESPONSE_BODY_MAX_BYTES} bytes (received ${size})`);
|
|
2623
|
-
}
|
|
2624
|
-
async function readResponseBodyText(response, idleTimeoutMs) {
|
|
2625
|
-
return decodeResponseBody(await readResponseWithLimit(response, DISCORD_REST_RESPONSE_BODY_MAX_BYTES, {
|
|
2626
|
-
chunkTimeoutMs: idleTimeoutMs,
|
|
2627
|
-
onOverflow: ({ size }) => createResponseBodyOverflowError(size),
|
|
2628
|
-
onIdleTimeout: ({ chunkTimeoutMs }) => /* @__PURE__ */ new Error(`Discord REST response stalled: no data received for ${chunkTimeoutMs}ms`)
|
|
2629
|
-
}));
|
|
2630
|
-
}
|
|
2631
|
-
function coerceResponseBody(raw) {
|
|
2632
|
-
if (!raw) return;
|
|
2633
|
-
try {
|
|
2634
|
-
return JSON.parse(raw);
|
|
2635
|
-
} catch {
|
|
2636
|
-
return raw;
|
|
2637
|
-
}
|
|
2638
|
-
}
|
|
2639
|
-
function decodeResponseBody(buffer) {
|
|
2640
|
-
if (!buffer.byteLength) return "";
|
|
2641
|
-
if (buffer[0] === GZIP_MAGIC[0] && buffer[1] === GZIP_MAGIC[1]) try {
|
|
2642
|
-
return gunzipSync(buffer, { maxOutputLength: DISCORD_REST_RESPONSE_BODY_MAX_BYTES }).toString("utf8");
|
|
2643
|
-
} catch (err) {
|
|
2644
|
-
if (isZlibMaxOutputLengthError(err)) throw createResponseBodyOverflowError("decompressed output");
|
|
2645
|
-
throw err;
|
|
2646
|
-
}
|
|
2647
|
-
return buffer.toString("utf8");
|
|
2648
|
-
}
|
|
2649
|
-
function isZlibMaxOutputLengthError(err) {
|
|
2650
|
-
return err instanceof RangeError && "code" in err && err.code === "ERR_BUFFER_TOO_LARGE";
|
|
2651
|
-
}
|
|
2652
|
-
var RequestClient = class {
|
|
2653
|
-
constructor(token, options) {
|
|
2654
|
-
this.requestControllers = /* @__PURE__ */ new Set();
|
|
2655
|
-
this.token = token.replace(/^Bot\s+/i, "");
|
|
2656
|
-
this.customFetch = options?.fetch;
|
|
2657
|
-
this.options = normalizeRequestClientOptions(options);
|
|
2658
|
-
this.scheduler = new RestScheduler({
|
|
2659
|
-
lanes: normalizeSchedulerLanes(this.options.maxQueueSize, this.options.scheduler?.lanes),
|
|
2660
|
-
maxConcurrency: resolveIntegerOption(this.options.scheduler?.maxConcurrency, DEFAULT_MAX_CONCURRENT_WORKERS, { min: 1 }),
|
|
2661
|
-
maxQueueSize: this.options.maxQueueSize,
|
|
2662
|
-
maxRateLimitRetries: resolveIntegerOption(this.options.scheduler?.maxRateLimitRetries, 3, { min: 0 })
|
|
2663
|
-
}, async (request) => await this.executeRequest(request.method, request.path, {
|
|
2664
|
-
data: request.data,
|
|
2665
|
-
query: request.query
|
|
2666
|
-
}, request.routeKey));
|
|
2667
|
-
}
|
|
2668
|
-
async get(path, query) {
|
|
2669
|
-
return await this.request("GET", path, { query });
|
|
2670
|
-
}
|
|
2671
|
-
async post(path, data, query) {
|
|
2672
|
-
return await this.request("POST", path, {
|
|
2673
|
-
data,
|
|
2674
|
-
query
|
|
2675
|
-
});
|
|
2676
|
-
}
|
|
2677
|
-
async patch(path, data, query) {
|
|
2678
|
-
return await this.request("PATCH", path, {
|
|
2679
|
-
data,
|
|
2680
|
-
query
|
|
2681
|
-
});
|
|
2682
|
-
}
|
|
2683
|
-
async put(path, data, query) {
|
|
2684
|
-
return await this.request("PUT", path, {
|
|
2685
|
-
data,
|
|
2686
|
-
query
|
|
2687
|
-
});
|
|
2688
|
-
}
|
|
2689
|
-
async delete(path, data, query) {
|
|
2690
|
-
return await this.request("DELETE", path, {
|
|
2691
|
-
data,
|
|
2692
|
-
query
|
|
2693
|
-
});
|
|
2694
|
-
}
|
|
2695
|
-
async request(method, path, params) {
|
|
2696
|
-
const routeKey = createRouteKey(method, path);
|
|
2697
|
-
if (!this.options.queueRequests) return await this.executeRequest(method, path, params, routeKey);
|
|
2698
|
-
return await this.scheduler.enqueue({
|
|
2699
|
-
method,
|
|
2700
|
-
path,
|
|
2701
|
-
priority: getRequestPriority(method, path),
|
|
2702
|
-
...params
|
|
2703
|
-
});
|
|
2704
|
-
}
|
|
2705
|
-
async executeRequest(method, path, params, routeKey = createRouteKey(method, path)) {
|
|
2706
|
-
const url = `${this.options.baseUrl}/v${this.options.apiVersion}${appendQuery(path, params.query)}`;
|
|
2707
|
-
const headers = new Headers({ "User-Agent": this.options.userAgent ?? defaultOptions.userAgent });
|
|
2708
|
-
if (this.token !== "webhook") headers.set("Authorization", `${this.options.tokenHeader ?? "Bot"} ${this.token}`);
|
|
2709
|
-
const body = serializeRequestBody(params.data, headers);
|
|
2710
|
-
const controller = new AbortController();
|
|
2711
|
-
const timeout = setTimeout(() => controller.abort(), this.options.timeout ?? 15e3);
|
|
2712
|
-
timeout.unref?.();
|
|
2713
|
-
const signal = this.options.signal ? AbortSignal.any([this.options.signal, controller.signal]) : controller.signal;
|
|
2714
|
-
this.requestControllers.add(controller);
|
|
2715
|
-
try {
|
|
2716
|
-
const response = await (this.customFetch ?? fetch)(url, {
|
|
2717
|
-
method,
|
|
2718
|
-
headers,
|
|
2719
|
-
body,
|
|
2720
|
-
signal
|
|
2721
|
-
});
|
|
2722
|
-
const parsed = coerceResponseBody(await readResponseBodyText(response, this.options.timeout ?? 15e3));
|
|
2723
|
-
this.scheduler.recordResponse(routeKey, path, response, parsed);
|
|
2724
|
-
if (response.status === 204) return;
|
|
2725
|
-
if (response.status === 429) {
|
|
2726
|
-
const rateLimitBody = isDiscordRateLimitBody(parsed) ? parsed : void 0;
|
|
2727
|
-
throw new RateLimitError(response, {
|
|
2728
|
-
message: readDiscordMessage(rateLimitBody, "Rate limited"),
|
|
2729
|
-
retry_after: readRetryAfter(rateLimitBody, response, 1),
|
|
2730
|
-
code: readDiscordCode(rateLimitBody),
|
|
2731
|
-
global: Boolean(rateLimitBody?.global)
|
|
2732
|
-
});
|
|
2733
|
-
}
|
|
2734
|
-
if (!response.ok) throw new DiscordError(response, parsed);
|
|
2735
|
-
return parsed;
|
|
2736
|
-
} catch (error) {
|
|
2737
|
-
if (error instanceof DOMException && error.name === "AbortError") throw error;
|
|
2738
|
-
if (error instanceof Error) throw error;
|
|
2739
|
-
throw new Error(`Discord request failed: ${inspect(error)}`, { cause: error });
|
|
2740
|
-
} finally {
|
|
2741
|
-
clearTimeout(timeout);
|
|
2742
|
-
this.requestControllers.delete(controller);
|
|
2743
|
-
}
|
|
2744
|
-
}
|
|
2745
|
-
clearQueue() {
|
|
2746
|
-
this.scheduler.clearQueue();
|
|
2747
|
-
}
|
|
2748
|
-
get queueSize() {
|
|
2749
|
-
return this.scheduler.queueSize;
|
|
2750
|
-
}
|
|
2751
|
-
getSchedulerMetrics() {
|
|
2752
|
-
return this.scheduler.getMetrics();
|
|
2753
|
-
}
|
|
2754
|
-
abortAllRequests() {
|
|
2755
|
-
this.scheduler.abortPending();
|
|
2756
|
-
for (const controller of this.requestControllers) controller.abort();
|
|
2757
|
-
this.requestControllers.clear();
|
|
2758
|
-
}
|
|
2759
|
-
};
|
|
2760
|
-
function normalizeRequestClientOptions(options) {
|
|
2761
|
-
const merged = {
|
|
2762
|
-
...defaultOptions,
|
|
2763
|
-
...options
|
|
2764
|
-
};
|
|
2765
|
-
return {
|
|
2766
|
-
...merged,
|
|
2767
|
-
apiVersion: resolveIntegerOption(merged.apiVersion, defaultOptions.apiVersion, { min: 1 }),
|
|
2768
|
-
timeout: clampTimerTimeoutMs(merged.timeout, 1) ?? resolveTimerTimeoutMs(defaultOptions.timeout, 1),
|
|
2769
|
-
maxQueueSize: resolveIntegerOption(merged.maxQueueSize, defaultOptions.maxQueueSize, { min: 1 })
|
|
2770
|
-
};
|
|
2771
|
-
}
|
|
2772
|
-
function normalizeSchedulerLanes(maxQueueSize, lanes) {
|
|
2773
|
-
const fallbackMaxQueueSize = resolveIntegerOption(maxQueueSize, defaultOptions.maxQueueSize, { min: 1 });
|
|
2774
|
-
return {
|
|
2775
|
-
critical: normalizeSchedulerLane("critical", fallbackMaxQueueSize, lanes?.critical),
|
|
2776
|
-
standard: normalizeSchedulerLane("standard", fallbackMaxQueueSize, lanes?.standard),
|
|
2777
|
-
background: normalizeSchedulerLane("background", fallbackMaxQueueSize, lanes?.background)
|
|
2778
|
-
};
|
|
2779
|
-
}
|
|
2780
|
-
function normalizeSchedulerLane(lane, maxQueueSize, options) {
|
|
2781
|
-
const defaults = defaultLaneOptions[lane];
|
|
2782
|
-
const staleAfterMs = options?.staleAfterMs !== void 0 ? resolveIntegerOption(options.staleAfterMs, defaults.staleAfterMs ?? 0, { min: 0 }) : defaults.staleAfterMs;
|
|
2783
|
-
return {
|
|
2784
|
-
maxQueueSize: options?.maxQueueSize !== void 0 ? resolveIntegerOption(options.maxQueueSize, maxQueueSize, { min: 1 }) : maxQueueSize,
|
|
2785
|
-
...staleAfterMs !== void 0 ? { staleAfterMs } : {},
|
|
2786
|
-
weight: options?.weight !== void 0 ? resolveIntegerOption(options.weight, defaults.weight, { min: 1 }) : defaults.weight
|
|
2787
|
-
};
|
|
2788
|
-
}
|
|
2789
|
-
function getRequestPriority(method, path) {
|
|
2790
|
-
const normalizedMethod = method.toUpperCase();
|
|
2791
|
-
const normalizedPath = path.toLowerCase();
|
|
2792
|
-
if (/^\/interactions\/\d+\/[^/]+\/callback$/.test(normalizedPath)) return "critical";
|
|
2793
|
-
return normalizedMethod === "GET" ? "background" : "standard";
|
|
2794
|
-
}
|
|
2795
|
-
//#endregion
|
|
2796
|
-
//#region extensions/discord/src/internal/client.ts
|
|
2797
|
-
var Plugin = class {};
|
|
2798
|
-
var Client = class {
|
|
2799
|
-
constructor(options, handlers, plugins = []) {
|
|
2800
|
-
this.routes = [];
|
|
2801
|
-
this.plugins = [];
|
|
2802
|
-
this.componentHandler = new ComponentRegistry();
|
|
2803
|
-
this.modalHandler = new ComponentRegistry();
|
|
2804
|
-
if (!options.clientId) throw new Error("Missing Discord application ID");
|
|
2805
|
-
if (!options.token) throw new Error("Missing Discord bot token");
|
|
2806
|
-
this.options = {
|
|
2807
|
-
...options,
|
|
2808
|
-
baseUrl: options.baseUrl.replace(/\/+$/, "")
|
|
2809
|
-
};
|
|
2810
|
-
this.commands = handlers.commands ?? [];
|
|
2811
|
-
this.listeners = handlers.listeners ?? [];
|
|
2812
|
-
this.rest = new RequestClient(options.token, options.requestOptions);
|
|
2813
|
-
this.eventQueue = this.options.eventQueue ? new DiscordEventQueue(this.options.eventQueue) : void 0;
|
|
2814
|
-
this.entityCache = new DiscordEntityCache({
|
|
2815
|
-
client: this,
|
|
2816
|
-
rest: () => this.rest,
|
|
2817
|
-
ttlMs: this.options.restCacheTtlMs
|
|
2818
|
-
});
|
|
2819
|
-
this.commandDeployer = new DiscordCommandDeployer({
|
|
2820
|
-
clientId: this.options.clientId,
|
|
2821
|
-
commands: this.commands,
|
|
2822
|
-
devGuilds: this.options.devGuilds,
|
|
2823
|
-
hashStore: this.options.commandDeployHashStore,
|
|
2824
|
-
rest: () => this.rest
|
|
2825
|
-
});
|
|
2826
|
-
for (const component of handlers.components ?? []) this.componentHandler.register(component);
|
|
2827
|
-
for (const command of this.commands) for (const component of command.components ?? []) this.componentHandler.register(component);
|
|
2828
|
-
for (const modal of handlers.modals ?? []) this.modalHandler.register(modal);
|
|
2829
|
-
for (const plugin of plugins) {
|
|
2830
|
-
plugin.registerClient?.(this);
|
|
2831
|
-
plugin.registerRoutes?.(this);
|
|
2832
|
-
this.plugins.push({
|
|
2833
|
-
id: plugin.id,
|
|
2834
|
-
plugin
|
|
2835
|
-
});
|
|
2836
|
-
}
|
|
2837
|
-
}
|
|
2838
|
-
getPlugin(id) {
|
|
2839
|
-
return this.plugins.find((entry) => entry.id === id)?.plugin;
|
|
2840
|
-
}
|
|
2841
|
-
registerListener(listener) {
|
|
2842
|
-
if (!this.listeners.includes(listener)) this.listeners.push(listener);
|
|
2843
|
-
return listener;
|
|
2844
|
-
}
|
|
2845
|
-
unregisterListener(listener) {
|
|
2846
|
-
const index = this.listeners.indexOf(listener);
|
|
2847
|
-
if (index < 0) return false;
|
|
2848
|
-
this.listeners.splice(index, 1);
|
|
2849
|
-
return true;
|
|
2850
|
-
}
|
|
2851
|
-
getRuntimeMetrics() {
|
|
2852
|
-
return {
|
|
2853
|
-
request: this.rest.getSchedulerMetrics(),
|
|
2854
|
-
eventQueue: this.eventQueue?.getMetrics()
|
|
2855
|
-
};
|
|
2856
|
-
}
|
|
2857
|
-
async fetchUser(id) {
|
|
2858
|
-
return await this.entityCache.fetchUser(id);
|
|
2859
|
-
}
|
|
2860
|
-
async fetchChannel(id) {
|
|
2861
|
-
return await this.entityCache.fetchChannel(id);
|
|
2862
|
-
}
|
|
2863
|
-
async fetchGuild(id) {
|
|
2864
|
-
return await this.entityCache.fetchGuild(id);
|
|
2865
|
-
}
|
|
2866
|
-
async fetchMember(guildId, userId) {
|
|
2867
|
-
return await this.entityCache.fetchMember(guildId, userId);
|
|
2868
|
-
}
|
|
2869
|
-
async fetchGuildEmojis(guildId, fetcher) {
|
|
2870
|
-
return await this.entityCache.fetchGuildEmojis(guildId, fetcher);
|
|
2871
|
-
}
|
|
2872
|
-
async deployCommands(options = {}) {
|
|
2873
|
-
return await this.commandDeployer.deploy(options);
|
|
2874
|
-
}
|
|
2875
|
-
async handleInteraction(rawData, _ctx) {
|
|
2876
|
-
await dispatchInteraction(this, rawData);
|
|
2877
|
-
}
|
|
2878
|
-
async dispatchGatewayEvent(type, data) {
|
|
2879
|
-
this.entityCache.invalidateForGatewayEvent(type, data);
|
|
2880
|
-
const listeners = this.listeners.filter((entry) => entry.type === type);
|
|
2881
|
-
if (!this.eventQueue) {
|
|
2882
|
-
for (const listener of listeners) await listener.handle(data, this);
|
|
2883
|
-
return;
|
|
2884
|
-
}
|
|
2885
|
-
await Promise.all(listeners.map((listener) => this.eventQueue.enqueue({
|
|
2886
|
-
eventType: type,
|
|
2887
|
-
listenerName: listener.constructor.name || "AnonymousListener",
|
|
2888
|
-
run: async () => {
|
|
2889
|
-
await listener.handle(data, this);
|
|
2890
|
-
}
|
|
2891
|
-
})));
|
|
2892
|
-
}
|
|
2893
|
-
};
|
|
2894
|
-
//#endregion
|
|
2895
|
-
//#region extensions/discord/src/internal/listeners.ts
|
|
2896
|
-
var BaseListener = class {};
|
|
2897
|
-
var ReadyListener = class extends BaseListener {
|
|
2898
|
-
constructor(..._args) {
|
|
2899
|
-
super(..._args);
|
|
2900
|
-
this.type = GatewayDispatchEvents.Ready;
|
|
2901
|
-
}
|
|
2902
|
-
};
|
|
2903
|
-
var ResumedListener = class extends BaseListener {
|
|
2904
|
-
constructor(..._args2) {
|
|
2905
|
-
super(..._args2);
|
|
2906
|
-
this.type = GatewayDispatchEvents.Resumed;
|
|
2907
|
-
}
|
|
2908
|
-
};
|
|
2909
|
-
var GuildCreateListener = class extends BaseListener {
|
|
2910
|
-
constructor(..._args3) {
|
|
2911
|
-
super(..._args3);
|
|
2912
|
-
this.type = GatewayDispatchEvents.GuildCreate;
|
|
2913
|
-
}
|
|
2914
|
-
};
|
|
2915
|
-
var GuildDeleteListener = class extends BaseListener {
|
|
2916
|
-
constructor(..._args4) {
|
|
2917
|
-
super(..._args4);
|
|
2918
|
-
this.type = GatewayDispatchEvents.GuildDelete;
|
|
2919
|
-
}
|
|
2920
|
-
};
|
|
2921
|
-
var MessageCreateListener = class extends BaseListener {
|
|
2922
|
-
constructor(..._args5) {
|
|
2923
|
-
super(..._args5);
|
|
2924
|
-
this.type = GatewayDispatchEvents.MessageCreate;
|
|
2925
|
-
}
|
|
2926
|
-
};
|
|
2927
|
-
var InteractionCreateListener = class extends BaseListener {
|
|
2928
|
-
constructor(..._args6) {
|
|
2929
|
-
super(..._args6);
|
|
2930
|
-
this.type = GatewayDispatchEvents.InteractionCreate;
|
|
2931
|
-
}
|
|
2932
|
-
};
|
|
2933
|
-
var MessageReactionAddListener = class extends BaseListener {
|
|
2934
|
-
constructor(..._args7) {
|
|
2935
|
-
super(..._args7);
|
|
2936
|
-
this.type = GatewayDispatchEvents.MessageReactionAdd;
|
|
2937
|
-
}
|
|
2938
|
-
};
|
|
2939
|
-
var MessageReactionRemoveListener = class extends BaseListener {
|
|
2940
|
-
constructor(..._args8) {
|
|
2941
|
-
super(..._args8);
|
|
2942
|
-
this.type = GatewayDispatchEvents.MessageReactionRemove;
|
|
2943
|
-
}
|
|
2944
|
-
};
|
|
2945
|
-
var PresenceUpdateListener = class extends BaseListener {
|
|
2946
|
-
constructor(..._args9) {
|
|
2947
|
-
super(..._args9);
|
|
2948
|
-
this.type = GatewayDispatchEvents.PresenceUpdate;
|
|
2949
|
-
}
|
|
2950
|
-
};
|
|
2951
|
-
var VoiceStateUpdateListener = class extends BaseListener {
|
|
2952
|
-
constructor(..._args10) {
|
|
2953
|
-
super(..._args10);
|
|
2954
|
-
this.type = GatewayDispatchEvents.VoiceStateUpdate;
|
|
2955
|
-
}
|
|
2956
|
-
};
|
|
2957
|
-
var ThreadUpdateListener = class extends BaseListener {
|
|
2958
|
-
constructor(..._args11) {
|
|
2959
|
-
super(..._args11);
|
|
2960
|
-
this.type = GatewayDispatchEvents.ThreadUpdate;
|
|
2961
|
-
}
|
|
2962
|
-
};
|
|
2963
|
-
var ThreadDeleteListener = class extends BaseListener {
|
|
2964
|
-
constructor(..._args12) {
|
|
2965
|
-
super(..._args12);
|
|
2966
|
-
this.type = GatewayDispatchEvents.ThreadDelete;
|
|
2967
|
-
}
|
|
2968
|
-
};
|
|
2969
|
-
//#endregion
|
|
2970
|
-
//#region extensions/discord/src/internal/discord.ts
|
|
2971
|
-
var discord_exports = /* @__PURE__ */ __exportAll({
|
|
2972
|
-
AutocompleteInteraction: () => AutocompleteInteraction,
|
|
2973
|
-
BaseCommand: () => BaseCommand,
|
|
2974
|
-
BaseComponentInteraction: () => BaseComponentInteraction,
|
|
2975
|
-
BaseMessageInteractiveComponent: () => BaseMessageInteractiveComponent,
|
|
2976
|
-
Button: () => Button,
|
|
2977
|
-
ButtonInteraction: () => ButtonInteraction,
|
|
2978
|
-
ChannelSelectMenu: () => ChannelSelectMenu,
|
|
2979
|
-
ChannelSelectMenuInteraction: () => ChannelSelectMenuInteraction,
|
|
2980
|
-
CheckboxGroup: () => CheckboxGroup,
|
|
2981
|
-
Client: () => Client,
|
|
2982
|
-
Command: () => Command,
|
|
2983
|
-
CommandInteraction: () => CommandInteraction,
|
|
2984
|
-
CommandWithSubcommands: () => CommandWithSubcommands,
|
|
2985
|
-
Container: () => Container,
|
|
2986
|
-
DiscordError: () => DiscordError,
|
|
2987
|
-
Embed: () => Embed,
|
|
2988
|
-
File: () => File,
|
|
2989
|
-
Guild: () => Guild,
|
|
2990
|
-
GuildCreateListener: () => GuildCreateListener,
|
|
2991
|
-
GuildDeleteListener: () => GuildDeleteListener,
|
|
2992
|
-
GuildMember: () => GuildMember,
|
|
2993
|
-
InteractionCreateListener: () => InteractionCreateListener,
|
|
2994
|
-
Label: () => Label,
|
|
2995
|
-
LinkButton: () => LinkButton,
|
|
2996
|
-
MediaGallery: () => MediaGallery,
|
|
2997
|
-
MentionableSelectMenu: () => MentionableSelectMenu,
|
|
2998
|
-
MentionableSelectMenuInteraction: () => MentionableSelectMenuInteraction,
|
|
2999
|
-
Message: () => Message,
|
|
3000
|
-
MessageCreateListener: () => MessageCreateListener,
|
|
3001
|
-
MessageReactionAddListener: () => MessageReactionAddListener,
|
|
3002
|
-
MessageReactionRemoveListener: () => MessageReactionRemoveListener,
|
|
3003
|
-
Modal: () => Modal,
|
|
3004
|
-
ModalInteraction: () => ModalInteraction,
|
|
3005
|
-
Plugin: () => Plugin,
|
|
3006
|
-
PresenceUpdateListener: () => PresenceUpdateListener,
|
|
3007
|
-
RadioGroup: () => RadioGroup,
|
|
3008
|
-
RateLimitError: () => RateLimitError,
|
|
3009
|
-
ReadyListener: () => ReadyListener,
|
|
3010
|
-
RequestClient: () => RequestClient,
|
|
3011
|
-
ResumedListener: () => ResumedListener,
|
|
3012
|
-
Role: () => Role,
|
|
3013
|
-
RoleSelectMenu: () => RoleSelectMenu,
|
|
3014
|
-
RoleSelectMenuInteraction: () => RoleSelectMenuInteraction,
|
|
3015
|
-
Row: () => Row,
|
|
3016
|
-
Section: () => Section,
|
|
3017
|
-
Separator: () => Separator,
|
|
3018
|
-
StringSelectMenu: () => StringSelectMenu,
|
|
3019
|
-
StringSelectMenuInteraction: () => StringSelectMenuInteraction,
|
|
3020
|
-
TextDisplay: () => TextDisplay,
|
|
3021
|
-
TextInput: () => TextInput,
|
|
3022
|
-
ThreadDeleteListener: () => ThreadDeleteListener,
|
|
3023
|
-
ThreadUpdateListener: () => ThreadUpdateListener,
|
|
3024
|
-
Thumbnail: () => Thumbnail,
|
|
3025
|
-
User: () => User,
|
|
3026
|
-
UserSelectMenu: () => UserSelectMenu,
|
|
3027
|
-
UserSelectMenuInteraction: () => UserSelectMenuInteraction,
|
|
3028
|
-
VoiceStateUpdateListener: () => VoiceStateUpdateListener,
|
|
3029
|
-
addGuildMemberRole: () => addGuildMemberRole,
|
|
3030
|
-
channelFactory: () => channelFactory,
|
|
3031
|
-
createApplicationCommand: () => createApplicationCommand,
|
|
3032
|
-
createChannelMessage: () => createChannelMessage,
|
|
3033
|
-
createChannelWebhook: () => createChannelWebhook,
|
|
3034
|
-
createGuildBan: () => createGuildBan,
|
|
3035
|
-
createGuildChannel: () => createGuildChannel,
|
|
3036
|
-
createGuildEmoji: () => createGuildEmoji,
|
|
3037
|
-
createGuildScheduledEvent: () => createGuildScheduledEvent,
|
|
3038
|
-
createGuildSticker: () => createGuildSticker,
|
|
3039
|
-
createInteraction: () => createInteraction,
|
|
3040
|
-
createInteractionCallback: () => createInteractionCallback,
|
|
3041
|
-
createOwnMessageReaction: () => createOwnMessageReaction,
|
|
3042
|
-
createThread: () => createThread,
|
|
3043
|
-
createUserDmChannel: () => createUserDmChannel,
|
|
3044
|
-
createWebhookMessage: () => createWebhookMessage,
|
|
3045
|
-
deferCommandInteractionIfNeeded: () => deferCommandInteractionIfNeeded,
|
|
3046
|
-
deleteApplicationCommand: () => deleteApplicationCommand,
|
|
3047
|
-
deleteChannel: () => deleteChannel,
|
|
3048
|
-
deleteChannelMessage: () => deleteChannelMessage,
|
|
3049
|
-
deleteChannelPermission: () => deleteChannelPermission,
|
|
3050
|
-
deleteOwnMessageReaction: () => deleteOwnMessageReaction,
|
|
3051
|
-
deleteWebhookMessage: () => deleteWebhookMessage,
|
|
3052
|
-
editApplicationCommand: () => editApplicationCommand,
|
|
3053
|
-
editChannel: () => editChannel,
|
|
3054
|
-
editChannelMessage: () => editChannelMessage,
|
|
3055
|
-
editWebhookMessage: () => editWebhookMessage,
|
|
3056
|
-
getChannel: () => getChannel,
|
|
3057
|
-
getChannelMessage: () => getChannelMessage,
|
|
3058
|
-
getCurrentUser: () => getCurrentUser,
|
|
3059
|
-
getGuild: () => getGuild,
|
|
3060
|
-
getGuildMember: () => getGuildMember,
|
|
3061
|
-
getGuildVoiceState: () => getGuildVoiceState,
|
|
3062
|
-
getThreadMember: () => getThreadMember,
|
|
3063
|
-
getUser: () => getUser,
|
|
3064
|
-
getWebhookMessage: () => getWebhookMessage,
|
|
3065
|
-
hasDiscordV2Components: () => hasDiscordV2Components,
|
|
3066
|
-
isUnknownDiscordVoiceStateError: () => isUnknownDiscordVoiceStateError,
|
|
3067
|
-
listApplicationCommands: () => listApplicationCommands,
|
|
3068
|
-
listChannelArchivedThreads: () => listChannelArchivedThreads,
|
|
3069
|
-
listChannelMessages: () => listChannelMessages,
|
|
3070
|
-
listChannelPins: () => listChannelPins,
|
|
3071
|
-
listGuildActiveThreads: () => listGuildActiveThreads,
|
|
3072
|
-
listGuildChannels: () => listGuildChannels,
|
|
3073
|
-
listGuildEmojis: () => listGuildEmojis,
|
|
3074
|
-
listGuildRoles: () => listGuildRoles,
|
|
3075
|
-
listGuildScheduledEvents: () => listGuildScheduledEvents,
|
|
3076
|
-
listMessageReactionUsers: () => listMessageReactionUsers,
|
|
3077
|
-
moveGuildChannels: () => moveGuildChannels,
|
|
3078
|
-
overwriteApplicationCommands: () => overwriteApplicationCommands,
|
|
3079
|
-
overwriteGuildApplicationCommands: () => overwriteGuildApplicationCommands,
|
|
3080
|
-
parseComponentInteractionData: () => parseComponentInteractionData,
|
|
3081
|
-
parseCustomId: () => parseCustomId,
|
|
3082
|
-
pinChannelMessage: () => pinChannelMessage,
|
|
3083
|
-
putChannelPermission: () => putChannelPermission,
|
|
3084
|
-
removeGuildMember: () => removeGuildMember,
|
|
3085
|
-
removeGuildMemberRole: () => removeGuildMemberRole,
|
|
3086
|
-
resolveFocusedCommandOptionAutocompleteHandler: () => resolveFocusedCommandOptionAutocompleteHandler,
|
|
3087
|
-
searchGuildMessages: () => searchGuildMessages,
|
|
3088
|
-
sendChannelTyping: () => sendChannelTyping,
|
|
3089
|
-
serializePayload: () => serializePayload,
|
|
3090
|
-
timeoutGuildMember: () => timeoutGuildMember,
|
|
3091
|
-
unpinChannelMessage: () => unpinChannelMessage
|
|
3092
|
-
});
|
|
3093
|
-
import * as import_discord_api_types_v10 from "discord-api-types/v10";
|
|
3094
|
-
__reExport(discord_exports, import_discord_api_types_v10);
|
|
3095
|
-
//#endregion
|
|
3096
|
-
//#region extensions/discord/src/target-parsing.ts
|
|
3097
|
-
function parseDiscordTarget(raw, options = {}) {
|
|
3098
|
-
const trimmed = raw.trim();
|
|
3099
|
-
if (!trimmed) return;
|
|
3100
|
-
const providerPrefixedTarget = parseDiscordProviderPrefixedTarget(trimmed);
|
|
3101
|
-
if (providerPrefixedTarget) return providerPrefixedTarget;
|
|
3102
|
-
const userTarget = parseMentionPrefixOrAtUserTarget({
|
|
3103
|
-
raw: trimmed,
|
|
3104
|
-
mentionPattern: /^<@!?(\d+)>$/,
|
|
3105
|
-
prefixes: [
|
|
3106
|
-
{
|
|
3107
|
-
prefix: "user:",
|
|
3108
|
-
kind: "user"
|
|
3109
|
-
},
|
|
3110
|
-
{
|
|
3111
|
-
prefix: "channel:",
|
|
3112
|
-
kind: "channel"
|
|
3113
|
-
},
|
|
3114
|
-
{
|
|
3115
|
-
prefix: "discord:",
|
|
3116
|
-
kind: "user"
|
|
3117
|
-
}
|
|
3118
|
-
],
|
|
3119
|
-
atUserPattern: /^\d+$/,
|
|
3120
|
-
atUserErrorMessage: "Discord DMs require a user id (use user:<id> or a <@id> mention)"
|
|
3121
|
-
});
|
|
3122
|
-
if (userTarget) return userTarget;
|
|
3123
|
-
if (/^\d+$/.test(trimmed)) {
|
|
3124
|
-
if (options.defaultKind) return buildMessagingTarget(options.defaultKind, trimmed, trimmed);
|
|
3125
|
-
throw new Error(options.ambiguousMessage ?? `Ambiguous Discord recipient "${trimmed}". For DMs use "user:${trimmed}" or "<@${trimmed}>"; for channels use "channel:${trimmed}".`);
|
|
3126
|
-
}
|
|
3127
|
-
return buildMessagingTarget("channel", trimmed, trimmed);
|
|
3128
|
-
}
|
|
3129
|
-
function parseDiscordProviderPrefixedTarget(raw) {
|
|
3130
|
-
const match = /^discord:(channel|user):(.+)$/i.exec(raw);
|
|
3131
|
-
if (!match) return;
|
|
3132
|
-
const kind = match[1]?.toLowerCase();
|
|
3133
|
-
const id = match[2]?.trim();
|
|
3134
|
-
if (!kind || !id) return;
|
|
3135
|
-
return buildMessagingTarget(kind, id, `${kind}:${id}`);
|
|
3136
|
-
}
|
|
3137
|
-
function resolveDiscordChannelId(raw) {
|
|
3138
|
-
const target = parseDiscordTarget(raw, { defaultKind: "channel" });
|
|
3139
|
-
return requireTargetKind({
|
|
3140
|
-
platform: "Discord",
|
|
3141
|
-
target,
|
|
3142
|
-
kind: "channel"
|
|
3143
|
-
});
|
|
3144
|
-
}
|
|
3145
|
-
//#endregion
|
|
3146
|
-
//#region extensions/discord/src/normalize.ts
|
|
3147
|
-
function normalizeDiscordMessagingTarget(raw) {
|
|
3148
|
-
return parseDiscordTarget(raw, { defaultKind: "channel" })?.normalized;
|
|
3149
|
-
}
|
|
3150
|
-
/**
|
|
3151
|
-
* Normalize a Discord outbound target for delivery. Bare numeric IDs are
|
|
3152
|
-
* prefixed with "channel:" to avoid the ambiguous-target error in
|
|
3153
|
-
* parseDiscordTarget, unless the ID is explicitly configured as an allowed DM
|
|
3154
|
-
* sender. All other formats pass through unchanged.
|
|
3155
|
-
*/
|
|
3156
|
-
function normalizeDiscordOutboundTarget(to, allowFrom) {
|
|
3157
|
-
const trimmed = to?.trim();
|
|
3158
|
-
if (!trimmed) return {
|
|
3159
|
-
ok: false,
|
|
3160
|
-
error: /* @__PURE__ */ new Error("Discord recipient is required. Use \"channel:<id>\" for channels or \"user:<id>\" for DMs.")
|
|
3161
|
-
};
|
|
3162
|
-
if (/^\d+$/.test(trimmed)) {
|
|
3163
|
-
if (allowFromContainsDiscordUserId(allowFrom, trimmed)) return {
|
|
3164
|
-
ok: true,
|
|
3165
|
-
to: `user:${trimmed}`
|
|
3166
|
-
};
|
|
3167
|
-
return {
|
|
3168
|
-
ok: true,
|
|
3169
|
-
to: `channel:${trimmed}`
|
|
3170
|
-
};
|
|
3171
|
-
}
|
|
3172
|
-
return {
|
|
3173
|
-
ok: true,
|
|
3174
|
-
to: trimmed
|
|
3175
|
-
};
|
|
3176
|
-
}
|
|
3177
|
-
function allowFromContainsDiscordUserId(allowFrom, userId) {
|
|
3178
|
-
const normalizedUserId = userId.trim();
|
|
3179
|
-
if (!normalizedUserId) return false;
|
|
3180
|
-
const normalizedAllowFrom = (allowFrom ?? []).map(normalizeAllowFromDiscordUserId).filter((entry) => Boolean(entry));
|
|
3181
|
-
return resolveAllowlistMatchByCandidates({
|
|
3182
|
-
allowList: normalizedAllowFrom,
|
|
3183
|
-
candidates: [{
|
|
3184
|
-
value: normalizedUserId,
|
|
3185
|
-
source: "id"
|
|
3186
|
-
}]
|
|
3187
|
-
}).allowed;
|
|
3188
|
-
}
|
|
3189
|
-
function normalizeAllowFromDiscordUserId(entry) {
|
|
3190
|
-
const trimmed = entry.trim().toLowerCase();
|
|
3191
|
-
if (!trimmed || trimmed === "*") return;
|
|
3192
|
-
const mentionMatch = /^<@!?(\d+)>$/.exec(trimmed);
|
|
3193
|
-
if (mentionMatch) return mentionMatch[1];
|
|
3194
|
-
const prefixedMatch = /^(?:discord:)?user:(\d+)$/.exec(trimmed);
|
|
3195
|
-
if (prefixedMatch) return prefixedMatch[1];
|
|
3196
|
-
const discordMatch = /^discord:(\d+)$/.exec(trimmed);
|
|
3197
|
-
if (discordMatch) return discordMatch[1];
|
|
3198
|
-
return /^\d+$/.test(trimmed) ? trimmed : void 0;
|
|
3199
|
-
}
|
|
3200
|
-
function looksLikeDiscordTargetId(raw) {
|
|
3201
|
-
const trimmed = raw.trim();
|
|
3202
|
-
if (!trimmed) return false;
|
|
3203
|
-
if (/^<@!?\d+>$/.test(trimmed)) return true;
|
|
3204
|
-
if (/^(?:(?:user|channel|discord):\d+|discord:(?:user|channel):\d+)$/i.test(trimmed)) return true;
|
|
3205
|
-
if (/^\d{6,}$/.test(trimmed)) return true;
|
|
3206
|
-
return false;
|
|
3207
|
-
}
|
|
3208
|
-
//#endregion
|
|
3209
|
-
//#region extensions/discord/src/reply-reference.ts
|
|
3210
|
-
function resolveDiscordReplyReference(params) {
|
|
3211
|
-
if (!params.replyToId) return;
|
|
3212
|
-
const singleUse = params.replyToIdSource !== "explicit" && params.replyToMode !== void 0 && isSingleUseReplyToMode(params.replyToMode);
|
|
3213
|
-
return {
|
|
3214
|
-
messageId: params.replyToId,
|
|
3215
|
-
scope: singleUse ? "first" : "all"
|
|
3216
|
-
};
|
|
3217
|
-
}
|
|
3218
|
-
function createReusableDiscordReplyReference(messageId) {
|
|
3219
|
-
return messageId ? {
|
|
3220
|
-
messageId,
|
|
3221
|
-
scope: "all"
|
|
3222
|
-
} : void 0;
|
|
3223
|
-
}
|
|
3224
|
-
function resolveDiscordReplyMessageId(reply, isFirst) {
|
|
3225
|
-
return reply && (isFirst || reply.scope === "all") ? reply.messageId : void 0;
|
|
3226
|
-
}
|
|
3227
|
-
//#endregion
|
|
3228
|
-
//#region extensions/discord/src/send.receipt.ts
|
|
3229
|
-
function toDiscordOutboundDeliveryResult(result) {
|
|
3230
|
-
const { channelId, ...delivery } = result;
|
|
3231
|
-
return {
|
|
3232
|
-
...delivery,
|
|
3233
|
-
target: {
|
|
3234
|
-
kind: "channel",
|
|
3235
|
-
id: channelId
|
|
3236
|
-
}
|
|
3237
|
-
};
|
|
3238
|
-
}
|
|
3239
|
-
function createDiscordSendReceiptFromResults(params) {
|
|
3240
|
-
const receipt = createMessageReceiptFromOutboundResults({
|
|
3241
|
-
results: attachChannelToResults("discord", params.results),
|
|
3242
|
-
threadId: params.threadId
|
|
3243
|
-
});
|
|
3244
|
-
return {
|
|
3245
|
-
...receipt,
|
|
3246
|
-
parts: receipt.parts.map(({ platformMessageId, kind, threadId, replyToId, raw }, index) => ({
|
|
3247
|
-
platformMessageId,
|
|
3248
|
-
kind,
|
|
3249
|
-
index,
|
|
3250
|
-
threadId,
|
|
3251
|
-
replyToId,
|
|
3252
|
-
raw
|
|
3253
|
-
}))
|
|
3254
|
-
};
|
|
3255
|
-
}
|
|
3256
|
-
function createDiscordSendReceipt(params) {
|
|
3257
|
-
const results = params.platformMessageIds.map((messageId) => messageId.trim()).filter(Boolean).map((messageId, index) => {
|
|
3258
|
-
const result = {
|
|
3259
|
-
channel: "discord",
|
|
3260
|
-
messageId
|
|
3261
|
-
};
|
|
3262
|
-
if (params.channelId) result.channelId = params.channelId;
|
|
3263
|
-
if (params.reply?.scope === "first" && index === 0) {
|
|
3264
|
-
const rawResult = {
|
|
3265
|
-
channel: "discord",
|
|
3266
|
-
messageId
|
|
3267
|
-
};
|
|
3268
|
-
if (params.channelId) rawResult.channelId = params.channelId;
|
|
3269
|
-
result.receipt = createMessageReceiptFromOutboundResults({
|
|
3270
|
-
results: [rawResult],
|
|
3271
|
-
kind: params.kind,
|
|
3272
|
-
threadId: params.threadId,
|
|
3273
|
-
replyToId: params.reply.messageId
|
|
3274
|
-
});
|
|
3275
|
-
}
|
|
3276
|
-
return result;
|
|
3277
|
-
});
|
|
3278
|
-
return createMessageReceiptFromOutboundResults({
|
|
3279
|
-
results,
|
|
3280
|
-
kind: params.kind,
|
|
3281
|
-
threadId: params.threadId,
|
|
3282
|
-
replyToId: params.reply?.scope === "all" ? params.reply.messageId : void 0
|
|
3283
|
-
});
|
|
3284
|
-
}
|
|
3285
|
-
function createDiscordSendResult(params) {
|
|
3286
|
-
const messageId = params.result.id ?? "";
|
|
3287
|
-
const channelId = params.result.channel_id ?? params.fallbackChannelId;
|
|
3288
|
-
const receiptParams = {
|
|
3289
|
-
platformMessageIds: params.result.platformMessageIds?.length ? params.result.platformMessageIds : [messageId],
|
|
3290
|
-
channelId,
|
|
3291
|
-
kind: params.kind
|
|
3292
|
-
};
|
|
3293
|
-
if (params.threadId != null) receiptParams.threadId = String(params.threadId);
|
|
3294
|
-
if (params.reply) receiptParams.reply = params.reply;
|
|
3295
|
-
return {
|
|
3296
|
-
messageId,
|
|
3297
|
-
channelId,
|
|
3298
|
-
receipt: createDiscordSendReceipt(receiptParams)
|
|
3299
|
-
};
|
|
3300
|
-
}
|
|
3301
|
-
//#endregion
|
|
3302
|
-
//#region extensions/discord/src/chunk.ts
|
|
3303
|
-
const DEFAULT_MAX_CHARS = 2e3;
|
|
3304
|
-
const DEFAULT_MAX_LINES = 17;
|
|
3305
|
-
const REASONING_ITALICS_MARKER_CHARS = 2;
|
|
3306
|
-
const MIN_REASONING_ITALICS_CHUNK_CHARS = 4;
|
|
3307
|
-
const FENCE_RE = /^( {0,3})(`{3,}|~{3,})(.*)$/;
|
|
3308
|
-
function hasReasoningItalics(text) {
|
|
3309
|
-
return /^(?:Reasoning:|Thinking\.{0,3})\n+_/u.test(text) && text.trimEnd().endsWith("_");
|
|
3310
|
-
}
|
|
3311
|
-
function resolveDiscordChunkLimit(value, fallback) {
|
|
3312
|
-
return resolveIntegerOption(value, fallback, { min: 1 });
|
|
3313
|
-
}
|
|
3314
|
-
function countLines(text) {
|
|
3315
|
-
if (!text) return 0;
|
|
3316
|
-
return text.split("\n").length;
|
|
3317
|
-
}
|
|
3318
|
-
function parseFenceLine(line) {
|
|
3319
|
-
const match = line.match(FENCE_RE);
|
|
3320
|
-
if (!match) return null;
|
|
3321
|
-
const indent = match[1] ?? "";
|
|
3322
|
-
const marker = match[2] ?? "";
|
|
3323
|
-
return {
|
|
3324
|
-
indent,
|
|
3325
|
-
markerChar: marker[0] ?? "`",
|
|
3326
|
-
markerLen: marker.length,
|
|
3327
|
-
openLine: line
|
|
3328
|
-
};
|
|
3329
|
-
}
|
|
3330
|
-
function closeFenceLine(openFence) {
|
|
3331
|
-
return `${openFence.indent}${openFence.markerChar.repeat(openFence.markerLen)}`;
|
|
3332
|
-
}
|
|
3333
|
-
function canBalanceFence(openFence, maxChars) {
|
|
3334
|
-
return closeFenceLine(openFence).length * 2 + 3 <= maxChars;
|
|
3335
|
-
}
|
|
3336
|
-
function reopenFenceLine(openFence, maxChars) {
|
|
3337
|
-
const bareMarker = closeFenceLine(openFence);
|
|
3338
|
-
if (!canBalanceFence(openFence, maxChars)) return null;
|
|
3339
|
-
if (openFence.openLine.length + bareMarker.length + 3 <= maxChars) return openFence.openLine;
|
|
3340
|
-
return bareMarker;
|
|
3341
|
-
}
|
|
3342
|
-
function closeFenceIfNeeded(text, openFence, maxChars) {
|
|
3343
|
-
if (!openFence || !canBalanceFence(openFence, maxChars)) return text;
|
|
3344
|
-
const closeLine = closeFenceLine(openFence);
|
|
3345
|
-
if (!text) return closeLine;
|
|
3346
|
-
if (!text.endsWith("\n")) return `${text}\n${closeLine}`;
|
|
3347
|
-
return `${text}${closeLine}`;
|
|
3348
|
-
}
|
|
3349
|
-
/**
|
|
3350
|
-
* Chunks outbound Discord text by both character count and (soft) line count,
|
|
3351
|
-
* while keeping fenced code blocks balanced across chunks.
|
|
3352
|
-
*/
|
|
3353
|
-
function chunkDiscordText(text, opts = {}) {
|
|
3354
|
-
const hardMaxChars = resolveDiscordChunkLimit(opts.maxChars, DEFAULT_MAX_CHARS);
|
|
3355
|
-
const maxLines = resolveDiscordChunkLimit(opts.maxLines, DEFAULT_MAX_LINES);
|
|
3356
|
-
const body = text ?? "";
|
|
3357
|
-
if (!body) return [];
|
|
3358
|
-
if (body.length <= hardMaxChars && countLines(body) <= maxLines) return [body];
|
|
3359
|
-
const maxChars = hardMaxChars >= MIN_REASONING_ITALICS_CHUNK_CHARS && hasReasoningItalics(body) ? hardMaxChars - REASONING_ITALICS_MARKER_CHARS : hardMaxChars;
|
|
3360
|
-
const lines = body.split("\n");
|
|
3361
|
-
const chunks = [];
|
|
3362
|
-
let current = "";
|
|
3363
|
-
let currentLines = 0;
|
|
3364
|
-
let openFence = null;
|
|
3365
|
-
const flush = () => {
|
|
3366
|
-
if (!current) return;
|
|
3367
|
-
const payload = closeFenceIfNeeded(current, openFence, maxChars);
|
|
3368
|
-
if (payload.trim().length) chunks.push(payload);
|
|
3369
|
-
current = "";
|
|
3370
|
-
currentLines = 0;
|
|
3371
|
-
if (openFence) {
|
|
3372
|
-
const reopenLine = reopenFenceLine(openFence, maxChars);
|
|
3373
|
-
if (reopenLine) {
|
|
3374
|
-
current = reopenLine;
|
|
3375
|
-
currentLines = 1;
|
|
3376
|
-
}
|
|
3377
|
-
}
|
|
3378
|
-
};
|
|
3379
|
-
for (const originalLine of lines) {
|
|
3380
|
-
const fenceInfo = parseFenceLine(originalLine);
|
|
3381
|
-
const wasInsideFence = openFence !== null;
|
|
3382
|
-
let nextOpenFence = openFence;
|
|
3383
|
-
if (fenceInfo) {
|
|
3384
|
-
if (!openFence) nextOpenFence = fenceInfo;
|
|
3385
|
-
else if (openFence.markerChar === fenceInfo.markerChar && fenceInfo.markerLen >= openFence.markerLen) nextOpenFence = null;
|
|
3386
|
-
}
|
|
3387
|
-
const candidateFence = nextOpenFence ?? openFence;
|
|
3388
|
-
const fenceToReserve = candidateFence && canBalanceFence(candidateFence, maxChars) ? candidateFence : null;
|
|
3389
|
-
const reserveChars = fenceToReserve ? closeFenceLine(fenceToReserve).length + 1 : 0;
|
|
3390
|
-
const reserveLines = fenceToReserve ? 1 : 0;
|
|
3391
|
-
const effectiveMaxChars = maxChars - reserveChars;
|
|
3392
|
-
const effectiveMaxLines = maxLines - reserveLines;
|
|
3393
|
-
const charLimit = effectiveMaxChars > 0 ? effectiveMaxChars : maxChars;
|
|
3394
|
-
const lineLimit = effectiveMaxLines > 0 ? effectiveMaxLines : maxLines;
|
|
3395
|
-
const reopenPrefixLen = fenceToReserve ? reopenFenceLine(fenceToReserve, maxChars)?.length ?? 0 : 0;
|
|
3396
|
-
const prefixLen = current.length > 0 ? current.length + 1 : 0;
|
|
3397
|
-
const reopenBudget = reopenPrefixLen > 0 ? reopenPrefixLen + 1 : 0;
|
|
3398
|
-
const segmentLimit = Math.max(1, charLimit - Math.max(prefixLen, reopenBudget));
|
|
3399
|
-
const segments = chunkTextForOutbound(originalLine, segmentLimit, { preserveWhitespace: wasInsideFence });
|
|
3400
|
-
for (let segIndex = 0; segIndex < segments.length; segIndex++) {
|
|
3401
|
-
const segment = segments[segIndex];
|
|
3402
|
-
const isLineContinuation = segIndex > 0;
|
|
3403
|
-
let delimiter = isLineContinuation ? "" : current.length > 0 ? "\n" : "";
|
|
3404
|
-
let addition = `${delimiter}${segment}`;
|
|
3405
|
-
const nextLen = current.length + addition.length;
|
|
3406
|
-
const nextLines = currentLines + (isLineContinuation ? 0 : 1);
|
|
3407
|
-
if ((nextLen > charLimit || nextLines > lineLimit) && current.length > 0) {
|
|
3408
|
-
flush();
|
|
3409
|
-
delimiter = current.length > 0 ? "\n" : "";
|
|
3410
|
-
addition = `${delimiter}${segment}`;
|
|
3411
|
-
}
|
|
3412
|
-
if (current.length > 0) {
|
|
3413
|
-
current += addition;
|
|
3414
|
-
if (!isLineContinuation || delimiter) currentLines += 1;
|
|
3415
|
-
} else {
|
|
3416
|
-
current = expectDefined(segment, "current Discord chunk segment");
|
|
3417
|
-
currentLines = 1;
|
|
3418
|
-
}
|
|
3419
|
-
}
|
|
3420
|
-
openFence = nextOpenFence;
|
|
3421
|
-
}
|
|
3422
|
-
if (current.length) {
|
|
3423
|
-
const payload = closeFenceIfNeeded(current, openFence, maxChars);
|
|
3424
|
-
if (payload.trim().length) chunks.push(payload);
|
|
3425
|
-
}
|
|
3426
|
-
return rebalanceReasoningItalics(text, chunks, hardMaxChars);
|
|
3427
|
-
}
|
|
3428
|
-
function chunkDiscordTextWithMode(text, opts) {
|
|
3429
|
-
if ((opts.chunkMode ?? "length") !== "newline") return chunkDiscordText(text, opts);
|
|
3430
|
-
const lineChunks = chunkMarkdownTextWithMode(text, resolveDiscordChunkLimit(opts.maxChars, DEFAULT_MAX_CHARS), "newline");
|
|
3431
|
-
const chunks = [];
|
|
3432
|
-
for (const line of lineChunks) {
|
|
3433
|
-
const nested = chunkDiscordText(line, opts);
|
|
3434
|
-
if (!nested.length && line) {
|
|
3435
|
-
chunks.push(line);
|
|
3436
|
-
continue;
|
|
3437
|
-
}
|
|
3438
|
-
chunks.push(...nested);
|
|
3439
|
-
}
|
|
3440
|
-
return chunks;
|
|
3441
|
-
}
|
|
3442
|
-
function leadingCodeSpanEnd(body) {
|
|
3443
|
-
if (!body) return -1;
|
|
3444
|
-
const firstNewline = body.indexOf("\n");
|
|
3445
|
-
const openFence = parseFenceLine(firstNewline === -1 ? body : body.slice(0, firstNewline));
|
|
3446
|
-
if (openFence) {
|
|
3447
|
-
if (firstNewline === -1) return body.length;
|
|
3448
|
-
let lineStart = firstNewline + 1;
|
|
3449
|
-
while (lineStart <= body.length) {
|
|
3450
|
-
const lineEnd = body.indexOf("\n", lineStart);
|
|
3451
|
-
const line = lineEnd === -1 ? body.slice(lineStart) : body.slice(lineStart, lineEnd);
|
|
3452
|
-
const closeFence = parseFenceLine(line);
|
|
3453
|
-
const closeSuffix = closeFence ? line.slice(closeFence.indent.length + closeFence.markerLen) : "";
|
|
3454
|
-
if (closeFence?.markerChar === openFence.markerChar && closeFence.markerLen >= openFence.markerLen && /^[ \t]*_?[ \t]*$/u.test(closeSuffix)) {
|
|
3455
|
-
const markerEnd = closeFence.indent.length + closeFence.markerLen;
|
|
3456
|
-
const trailingSpaces = /^ */.exec(line.slice(markerEnd))?.[0].length ?? 0;
|
|
3457
|
-
return lineStart + markerEnd + trailingSpaces;
|
|
3458
|
-
}
|
|
3459
|
-
if (lineEnd === -1) return body.length;
|
|
3460
|
-
lineStart = lineEnd + 1;
|
|
3461
|
-
}
|
|
3462
|
-
return body.length;
|
|
3463
|
-
}
|
|
3464
|
-
if (!body.startsWith("`")) return -1;
|
|
3465
|
-
const ticks = /^(?<ticks>`+)/.exec(body)?.groups?.ticks;
|
|
3466
|
-
if (!ticks) return -1;
|
|
3467
|
-
for (let index = ticks.length; index < body.length;) {
|
|
3468
|
-
if (body[index] !== "`") {
|
|
3469
|
-
index += 1;
|
|
3470
|
-
continue;
|
|
3471
|
-
}
|
|
3472
|
-
let runEnd = index + 1;
|
|
3473
|
-
while (body[runEnd] === "`") runEnd += 1;
|
|
3474
|
-
if (runEnd - index === ticks.length) return runEnd;
|
|
3475
|
-
index = runEnd;
|
|
3476
|
-
}
|
|
3477
|
-
return -1;
|
|
3478
|
-
}
|
|
3479
|
-
function leadingCodePrefixEnd(body) {
|
|
3480
|
-
let prefixEnd = leadingCodeSpanEnd(body);
|
|
3481
|
-
if (prefixEnd < 0) return -1;
|
|
3482
|
-
while (prefixEnd < body.length) {
|
|
3483
|
-
const separator = /^\s+/u.exec(body.slice(prefixEnd))?.[0] ?? "";
|
|
3484
|
-
if (!separator) break;
|
|
3485
|
-
const nextStart = prefixEnd + separator.length;
|
|
3486
|
-
const nextEnd = leadingCodeSpanEnd(body.slice(nextStart));
|
|
3487
|
-
if (nextEnd < 0) break;
|
|
3488
|
-
prefixEnd = nextStart + nextEnd;
|
|
3489
|
-
}
|
|
3490
|
-
return prefixEnd;
|
|
3491
|
-
}
|
|
3492
|
-
function hasReasoningItalicsOpen(chunk) {
|
|
3493
|
-
const trimmed = chunk.trimStart();
|
|
3494
|
-
if (trimmed.startsWith("_") || /^(?:Reasoning:|Thinking\.{0,3})\n+_/u.test(trimmed)) return true;
|
|
3495
|
-
const codeEnd = leadingCodePrefixEnd(trimmed);
|
|
3496
|
-
return codeEnd >= 0 && trimmed.slice(codeEnd).trimStart().startsWith("_");
|
|
3497
|
-
}
|
|
3498
|
-
function reopenReasoningItalicsAfterLeadingCode(body, codeEnd) {
|
|
3499
|
-
const code = body.slice(0, codeEnd);
|
|
3500
|
-
const rest = body.slice(codeEnd);
|
|
3501
|
-
if (!rest.trim()) return code + rest;
|
|
3502
|
-
if (/^\s*_\s*$/.test(rest)) return code;
|
|
3503
|
-
const whitespaceLength = rest.length - rest.trimStart().length;
|
|
3504
|
-
const whitespace = rest.slice(0, whitespaceLength);
|
|
3505
|
-
const restBody = rest.slice(whitespaceLength);
|
|
3506
|
-
return restBody.startsWith("_") ? code + rest : `${code}${whitespace}_${restBody}`;
|
|
3507
|
-
}
|
|
3508
|
-
function rebalanceReasoningItalics(source, chunks, maxChars) {
|
|
3509
|
-
if (chunks.length <= 1 || maxChars < MIN_REASONING_ITALICS_CHUNK_CHARS) return chunks;
|
|
3510
|
-
if (!hasReasoningItalics(source)) return chunks;
|
|
3511
|
-
const adjusted = [...chunks];
|
|
3512
|
-
for (let i = 0; i < adjusted.length; i++) {
|
|
3513
|
-
const isLast = i === adjusted.length - 1;
|
|
3514
|
-
const current = expectDefined(adjusted[i], "Discord chunk adjustment index");
|
|
3515
|
-
if (!current.trimEnd().endsWith("_") && hasReasoningItalicsOpen(current)) adjusted[i] = `${current}_`;
|
|
3516
|
-
if (isLast) break;
|
|
3517
|
-
const next = expectDefined(adjusted[i + 1], "non-final Discord chunk successor");
|
|
3518
|
-
const leadingWhitespaceLen = next.length - next.trimStart().length;
|
|
3519
|
-
const leadingWhitespace = next.slice(0, leadingWhitespaceLen);
|
|
3520
|
-
const nextBody = next.slice(leadingWhitespaceLen);
|
|
3521
|
-
if (nextBody.startsWith("_")) continue;
|
|
3522
|
-
const codeEnd = leadingCodePrefixEnd(nextBody);
|
|
3523
|
-
adjusted[i + 1] = codeEnd >= 0 ? `${leadingWhitespace}${reopenReasoningItalicsAfterLeadingCode(nextBody, codeEnd)}` : `${leadingWhitespace}_${nextBody}`;
|
|
3524
|
-
}
|
|
3525
|
-
return adjusted;
|
|
3526
|
-
}
|
|
3527
|
-
//#endregion
|
|
3528
|
-
//#region extensions/discord/src/retry.ts
|
|
3529
|
-
const DISCORD_RETRY_DEFAULTS = {
|
|
3530
|
-
attempts: 3,
|
|
3531
|
-
minDelayMs: 500,
|
|
3532
|
-
maxDelayMs: 3e4,
|
|
3533
|
-
jitter: .1
|
|
3534
|
-
};
|
|
3535
|
-
const DISCORD_GATEWAY_RECONNECT_EXTRA_ATTEMPTS = 2;
|
|
3536
|
-
const DISCORD_TRANSIENT_MESSAGE_RE = /\b(?:bad gateway|fetch failed|network error|networkerror|service unavailable|socket hang up|temporarily unavailable|timed out|timeout)\b|connection (?:closed|reset|refused)/i;
|
|
3537
|
-
const ambiguousDiscordMessageCreates = /* @__PURE__ */ new WeakSet();
|
|
3538
|
-
function readDiscordErrorStatus(err) {
|
|
3539
|
-
if (!err || typeof err !== "object") return;
|
|
3540
|
-
const raw = "status" in err && err.status !== void 0 ? err.status : "statusCode" in err && err.statusCode !== void 0 ? err.statusCode : void 0;
|
|
3541
|
-
return parseStrictNonNegativeInteger(raw);
|
|
3542
|
-
}
|
|
3543
|
-
function classifyDiscordDeliveryFailure(error) {
|
|
3544
|
-
const candidates = collectErrorGraphCandidates(error, (current) => [current.cause, current.error]);
|
|
3545
|
-
for (const candidate of candidates) {
|
|
3546
|
-
const status = readDiscordErrorStatus(candidate);
|
|
3547
|
-
if (status !== void 0) {
|
|
3548
|
-
if (status === 408 || status >= 500) return "ambiguous";
|
|
3549
|
-
if (status >= 400) return "rejected";
|
|
3550
|
-
}
|
|
3551
|
-
}
|
|
3552
|
-
if (candidates.some((candidate) => readErrorName(candidate) === "AbortError" || classifyTransientNetworkErrorCode(extractErrorCode(candidate)) === "ambiguous")) return "ambiguous";
|
|
3553
|
-
if (candidates.some((candidate) => classifyTransientNetworkErrorCode(extractErrorCode(candidate)) === "pre-connect")) return "pre-connect";
|
|
3554
|
-
return candidates.some((candidate) => (candidate instanceof Error || candidate !== null && typeof candidate === "object") && DISCORD_TRANSIENT_MESSAGE_RE.test(formatErrorMessage(candidate))) ? "ambiguous" : "unknown";
|
|
3555
|
-
}
|
|
3556
|
-
function recordDiscordMessageCreateAmbiguity(error) {
|
|
3557
|
-
if (error !== null && typeof error === "object") ambiguousDiscordMessageCreates.add(error);
|
|
3558
|
-
}
|
|
3559
|
-
function hasDiscordMessageCreateAmbiguity(error) {
|
|
3560
|
-
return collectErrorGraphCandidates(error, (current) => [current.cause, current.error]).some((candidate) => candidate !== null && typeof candidate === "object" && ambiguousDiscordMessageCreates.has(candidate));
|
|
3561
|
-
}
|
|
3562
|
-
function canFallbackDiscordWebhookSend(error) {
|
|
3563
|
-
if (hasDiscordMessageCreateAmbiguity(error)) return false;
|
|
3564
|
-
const failure = classifyDiscordDeliveryFailure(error);
|
|
3565
|
-
return failure === "rejected" || failure === "pre-connect";
|
|
3566
|
-
}
|
|
3567
|
-
function hasDiscordRateLimitRejection(error) {
|
|
3568
|
-
return error instanceof RateLimitError || collectErrorGraphCandidates(error, (current) => [current.cause, current.error]).some((candidate) => readDiscordErrorStatus(candidate) === 429);
|
|
3569
|
-
}
|
|
3570
|
-
function isRetryableDiscordTransientError(error) {
|
|
3571
|
-
const failure = classifyDiscordDeliveryFailure(error);
|
|
3572
|
-
return failure === "ambiguous" || failure === "pre-connect" || hasDiscordRateLimitRejection(error);
|
|
3573
|
-
}
|
|
3574
|
-
function isRetryableDiscordPreConnectError(error) {
|
|
3575
|
-
const failure = classifyDiscordDeliveryFailure(error);
|
|
3576
|
-
return failure === "pre-connect" || failure === "rejected" && hasDiscordRateLimitRejection(error);
|
|
3577
|
-
}
|
|
3578
|
-
function resolveDiscordRetryPredicate(safety) {
|
|
3579
|
-
return safety === "non-idempotent-create" ? isRetryableDiscordPreConnectError : isRetryableDiscordTransientError;
|
|
3580
|
-
}
|
|
3581
|
-
function isRetryableDiscordGatewayTransportError(err) {
|
|
3582
|
-
if (!isRetryableDiscordTransientError(err) || err instanceof RateLimitError) return false;
|
|
3583
|
-
return !collectErrorGraphCandidates(err, (current) => [current.cause, current.error]).some((candidate) => readDiscordErrorStatus(candidate) !== void 0);
|
|
3584
|
-
}
|
|
3585
|
-
function createDiscordRetryRunner(params) {
|
|
3586
|
-
const retryConfig = resolveRetryConfig(DISCORD_RETRY_DEFAULTS, params.retry);
|
|
3587
|
-
const attempts = retryConfig.attempts > 1 ? retryConfig.attempts + DISCORD_GATEWAY_RECONNECT_EXTRA_ATTEMPTS : retryConfig.attempts;
|
|
3588
|
-
return (fn, label, options) => {
|
|
3589
|
-
const isRetryable = resolveDiscordRetryPredicate(options?.safety ?? "idempotent");
|
|
3590
|
-
let observedGatewayDisconnect = false;
|
|
3591
|
-
const runRequest = async () => {
|
|
3592
|
-
if (params.signal?.aborted) throw params.signal.reason instanceof Error ? params.signal.reason : /* @__PURE__ */ new Error("Discord request aborted");
|
|
3593
|
-
observedGatewayDisconnect ||= params.isGatewayDisconnected?.() === true;
|
|
3594
|
-
try {
|
|
3595
|
-
return await fn();
|
|
3596
|
-
} catch (err) {
|
|
3597
|
-
observedGatewayDisconnect ||= params.isGatewayDisconnected?.() === true;
|
|
3598
|
-
throw err;
|
|
3599
|
-
}
|
|
3600
|
-
};
|
|
3601
|
-
const shouldRetry = (err, attempt) => isRetryable(err) && (attempt < retryConfig.attempts || observedGatewayDisconnect && isRetryableDiscordGatewayTransportError(err));
|
|
3602
|
-
const retryAfterMs = (err) => err instanceof RateLimitError ? err.retryAfter * 1e3 : void 0;
|
|
3603
|
-
const signal = params.signal;
|
|
3604
|
-
if (signal) return retryAsync(runRequest, {
|
|
3605
|
-
...retryConfig,
|
|
3606
|
-
attempts,
|
|
3607
|
-
label,
|
|
3608
|
-
shouldRetry,
|
|
3609
|
-
retryAfterMs,
|
|
3610
|
-
sleep: async (delayMs) => {
|
|
3611
|
-
try {
|
|
3612
|
-
await sleepWithAbort(delayMs, signal);
|
|
3613
|
-
} catch (error) {
|
|
3614
|
-
throw signal.aborted && signal.reason instanceof Error ? signal.reason : error;
|
|
3615
|
-
}
|
|
3616
|
-
}
|
|
3617
|
-
});
|
|
3618
|
-
return createChannelApiRetryRunner({
|
|
3619
|
-
retry: {
|
|
3620
|
-
...retryConfig,
|
|
3621
|
-
attempts
|
|
3622
|
-
},
|
|
3623
|
-
shouldRetry,
|
|
3624
|
-
strictShouldRetry: true,
|
|
3625
|
-
retryAfterMs,
|
|
3626
|
-
verbose: params.verbose
|
|
3627
|
-
})(runRequest, label);
|
|
3628
|
-
};
|
|
3629
|
-
}
|
|
3630
|
-
//#endregion
|
|
3631
|
-
export { RadioGroup as $, listGuildEmojis as $t, ThreadDeleteListener as A, editChannelMessage as At, readDiscordMessage as B, unpinChannelMessage as Bt, InteractionCreateListener as C, deleteOwnMessageReaction as Ct, PresenceUpdateListener as D, deleteChannel as Dt, MessageReactionRemoveListener as E, createThread as Et, RequestClient as F, listChannelMessages as Ft, Message as G, createGuildScheduledEvent as Gt, Command as H, createGuildBan as Ht, DiscordError as I, listChannelPins as It, serializePayload as J, getGuild as Jt, User as K, createGuildSticker as Kt, RateLimitError as L, pinChannelMessage as Lt, VoiceStateUpdateListener as M, getChannelMessage as Mt, Client as N, getThreadMember as Nt, ReadyListener as O, deleteChannelMessage as Ot, Plugin as P, listChannelArchivedThreads as Pt, Modal as Q, listGuildChannels as Qt, isUnknownDiscordVoiceStateError as R, searchGuildMessages as Rt, GuildDeleteListener as S, createOwnMessageReaction as St, MessageReactionAddListener as T, createChannelMessage as Tt, CommandWithSubcommands as U, createGuildChannel as Ut, readRetryAfter as V, addGuildMemberRole as Vt, Guild as W, createGuildEmoji as Wt, CheckboxGroup as X, getGuildVoiceState as Xt, Embed as Y, getGuildMember as Yt, Label as Z, listGuildActiveThreads as Zt, normalizeDiscordOutboundTarget as _, parseCustomId as _t, recordDiscordMessageCreateAmbiguity as a, removeGuildMemberRole as an, LinkButton as at, discord_exports as b, createUserDmChannel as bt, createDiscordSendReceiptFromResults as c, RoleSelectMenu as ct, createReusableDiscordReplyReference as d, Separator as dt, listGuildRoles as en, TextInput as et, resolveDiscordReplyMessageId as f, StringSelectMenu as ft, normalizeDiscordMessagingTarget as g, BaseMessageInteractiveComponent as gt, looksLikeDiscordTargetId as h, UserSelectMenu as ht, hasDiscordMessageCreateAmbiguity as i, removeGuildMember as in, File as it, ThreadUpdateListener as j, getChannel as jt, ResumedListener as k, editChannel as kt, createDiscordSendResult as l, Row as lt, allowFromContainsDiscordUserId as m, Thumbnail as mt, classifyDiscordDeliveryFailure as n, moveGuildChannels as nn, ChannelSelectMenu as nt, chunkDiscordTextWithMode as o, timeoutGuildMember as on, MediaGallery as ot, resolveDiscordReplyReference as p, TextDisplay as pt, hasDiscordV2Components as q, deleteChannelPermission as qt, createDiscordRetryRunner as r, putChannelPermission as rn, Container as rt, createDiscordSendReceipt as s, __exportAll as sn, MentionableSelectMenu as st, canFallbackDiscordWebhookSend as t, listGuildScheduledEvents as tn, Button as tt, toDiscordOutboundDeliveryResult as u, Section as ut, parseDiscordTarget as v, stripUndefinedFields as vt, MessageCreateListener as w, listMessageReactionUsers as wt, GuildCreateListener as x, getCurrentUser as xt, resolveDiscordChannelId as y, createChannelWebhook as yt, readDiscordCode as z, sendChannelTyping as zt };
|