@openclaw/discord 2026.9.3 → 2026.9.5
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/assets/activity.svg +40 -0
- package/assets/icon.png +0 -0
- package/dist/{account-inspect-BY-ve3yH.js → .setup/account-inspect-BwQj24ht.mjs} +1 -1
- package/dist/{activities-api-D--xtQQu.js → .setup/activities-api-DBwRt5ES.mjs} +93 -31
- package/dist/{api-LIV--eMq.js → .setup/api-CBK9zcq5.mjs} +7 -4
- package/dist/{approval-handler.runtime-CUNkTLDO.js → .setup/approval-handler.runtime-Du3n5ypX.mjs} +8 -7
- package/dist/.setup/approval-message-updates-BN7JtScm.mjs +17 -0
- package/dist/{audit-DzHj2Z4w.js → .setup/audit-C8uaKoa9.mjs} +5 -5
- package/dist/{channel-aAywxCij.js → .setup/channel-ChKdlBgH.mjs} +28 -25
- package/dist/{channel-actions.runtime-rmse1yrM.js → .setup/channel-actions.runtime-CJmiFfps.mjs} +18 -11
- package/dist/{allow-list-DWEio925.js → .setup/channel-type-DKnjV1XW.mjs} +161 -1
- package/dist/{channel.setup-CpAwAiS0.js → .setup/channel.setup-BlC3-Kzz.mjs} +4 -4
- package/dist/{components-kvIwhN7i.js → .setup/components-MqMWUWnE.mjs} +4 -3
- package/dist/{config-schema-r38UkM_J.js → .setup/config-schema-CiZz-mtA.mjs} +1 -1
- package/dist/{conversation-binding-route-qfe7oPy5.js → .setup/conversation-binding-route-_rz33QHO.mjs} +1 -1
- package/dist/{directory-config-D1uDGbWh.js → .setup/directory-config-BytTftz-.mjs} +2 -2
- package/dist/{directory-live-C5o1uKlw.js → .setup/directory-live--EGTH0DC.mjs} +4 -4
- package/dist/{discord-CmL3ati-.js → .setup/discord-BXpHW-cu.mjs} +89 -39
- package/dist/{doctor-DgKMH6N7.js → .setup/doctor-DxcdkXzz.mjs} +6 -6
- package/dist/{handle-action.guild-admin-D4XdoA8-.js → .setup/handle-action.guild-admin-DAFyh_yV.mjs} +9 -4
- package/dist/{live-policy-config-BblutQAq.js → .setup/live-policy-config-eKQ-PLdy.mjs} +1 -1
- package/dist/{message-handler-B0DbuhWz.js → .setup/message-handler-DnUrDpaU.mjs} +25 -14
- package/dist/{message-handler.preflight-BkHVlYis.js → .setup/message-handler.preflight-CtqaF_fb.mjs} +34 -20
- package/dist/{message-handler.process-CWh432Ak.js → .setup/message-handler.process-Dz1xvuQU.mjs} +72 -82
- package/dist/{outbound-adapter-CO2BRlRl.js → .setup/outbound-adapter-C8v79z9Z.mjs} +13 -9
- package/dist/{outbound-session-route-DZBYPGTR.js → .setup/outbound-session-route-CqWbuMOm.mjs} +137 -11
- package/dist/{pluralkit-BiUW53Yn.js → .setup/pluralkit-CdAt1G0P.mjs} +2 -2
- package/dist/{presence-cache-z1N8MbJ3.js → .setup/presence-cache-dYSHPWMx.mjs} +1 -1
- package/dist/{probe-BcoN44eK.js → .setup/probe-CupW4we4.mjs} +14 -10
- package/dist/{probe.runtime-BnuED0fI.js → .setup/probe.runtime-DBQ_AGPe.mjs} +1 -1
- package/dist/{provider-PI8UiejY.js → .setup/provider-72zIvN-i.mjs} +484 -288
- package/dist/{provider-session.runtime-BejUb3gm.js → .setup/provider-session.runtime-BW7QrF5C.mjs} +4 -4
- package/dist/.setup/provider.runtime-DuhmKdDU.mjs +2 -0
- package/dist/{realtime-session.runtime-MqPrvmQ1.js → .setup/realtime-session.runtime-DTccTgTM.mjs} +758 -336
- package/dist/{resolve-allowlist-common-ChPf0Qy7.js → .setup/resolve-allowlist-common-CwMBzbx9.mjs} +3 -3
- package/dist/{resolve-channels-VbpLmUS8.js → .setup/resolve-channels-BbvsLQOZ.mjs} +4 -5
- package/dist/{resolve-users-D-wRFsd5.js → .setup/resolve-users-ByFlR7LQ.mjs} +3 -3
- package/dist/{retry-B0lQ1Ado.js → .setup/retry-DBfcEgmO.mjs} +37 -10
- package/dist/{runtime-D-ZFlMQ2.js → .setup/runtime-BVoa7hhx.mjs} +2 -2
- package/dist/{runtime-Cv8GdXSO.js → .setup/runtime-SchNfUsQ.mjs} +92 -139
- package/dist/{security-audit-DKfK-iPY.js → .setup/security-audit-s5w50-Ly.mjs} +1 -1
- package/dist/{security-audit.runtime-sKZyKgpx.js → .setup/security-audit.runtime-DHtYenx9.mjs} +1 -1
- package/dist/{send-Bdp3zZH5.js → .setup/send-CKDczUNL.mjs} +60 -31
- package/dist/{send.components-Bj22B3_O.js → .setup/send.components-DWQjXhPV.mjs} +103 -106
- package/dist/{send.outbound-DF0P3C9J.js → .setup/send.outbound-D0hQ7s50.mjs} +17 -7
- package/dist/{send.shared-D4BAjlRo.js → .setup/send.shared-Zwx6BxQ5.mjs} +15 -12
- package/dist/{sender-identity-f3l5OYgV.js → .setup/sender-identity-0Ymgvmaj.mjs} +1 -1
- package/dist/.setup/setup-plugin-api-CINIEBLa.mjs +3 -0
- package/dist/{shared-CPPR0Xo4.js → .setup/shared-CaA3Vv4n.mjs} +11 -11
- package/dist/{subagent-hooks-BAwybBDC.js → .setup/subagent-hooks-Bired9q6.mjs} +16 -4
- package/dist/{system-events-B6HkUhF_.js → .setup/system-events-B2YEEMbS.mjs} +2 -2
- package/dist/{target-resolver-BgKUUwLy.js → .setup/target-resolver-B6MrxbYv.mjs} +4 -4
- package/dist/.setup/targets-D1mAB5yO.mjs +3 -0
- package/dist/{thread-bindings-B0wnEg_y.js → .setup/thread-bindings-CK5272V3.mjs} +6 -6
- package/dist/{thread-bindings.manager-DM7M3vzn.js → .setup/thread-bindings.manager-eexkKyrG.mjs} +14 -9
- package/dist/{thread-bindings.session-updates-CSBmgCcx.js → .setup/thread-bindings.session-updates-DCQq1WZ5.mjs} +1 -1
- package/dist/{thread-bindings.state-jNRrsgzV.js → .setup/thread-bindings.state-BThFQEga.mjs} +48 -30
- package/dist/{transcripts-source-VkgenQv-.js → .setup/transcripts-source-CuWYgayu.mjs} +62 -25
- package/dist/{typing-DuBg1U8Q.js → .setup/typing-BKZL5fGj.mjs} +2 -2
- package/dist/{voice-runtime-BhRqlbEt.js → .setup/voice-runtime-DHVQ2mFz.mjs} +529 -181
- package/dist/account-inspect-api.js +1 -1
- package/dist/action-runtime-api.js +1 -1
- package/dist/activities-api.js +1 -1
- package/dist/api.js +19 -19
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/doctor-contract-api.js +5 -4
- package/dist/index.js +1 -1
- package/dist/runtime-api.js +22 -22
- package/dist/runtime-setter-api.js +1 -1
- package/dist/secret-contract-api.js +1 -1
- package/dist/security-audit-contract-api.js +1 -1
- package/dist/security-contract-api.js +1 -1
- package/dist/session-key-api.js +1 -1
- package/dist/setup-entry.js +2 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/subagent-hooks-api.js +5 -4
- package/dist/thread-binding-api.js +1 -1
- package/dist/transcripts-source-api.js +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.d.ts +1 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
- package/node_modules/@types/node/ffi.d.ts +1 -1
- package/node_modules/@types/node/http.d.ts +1 -1
- package/node_modules/@types/node/package.json +3 -3
- package/node_modules/@types/node/perf_hooks.d.ts +31 -19
- package/node_modules/@types/node/quic.d.ts +6 -4
- package/node_modules/@types/node/stream/web.d.ts +20 -0
- package/node_modules/@types/node/tls.d.ts +26 -15
- package/node_modules/@types/node/vfs.d.ts +7 -6
- package/node_modules/@types/node/zlib.d.ts +17 -0
- package/node_modules/discord-api-types/README.md +3 -2
- package/node_modules/discord-api-types/package.json +46 -46
- package/node_modules/discord-api-types/rest/v10/interactions.d.ts +1 -0
- package/node_modules/discord-api-types/rest/v10/interactions.d.ts.map +1 -1
- package/node_modules/discord-api-types/rest/v9/interactions.d.ts +1 -0
- package/node_modules/discord-api-types/rest/v9/interactions.d.ts.map +1 -1
- package/node_modules/libopus-wasm/CHANGELOG.md +15 -0
- package/node_modules/libopus-wasm/README.md +1 -1
- package/node_modules/libopus-wasm/dist/discordjs.d.ts.map +1 -1
- package/node_modules/libopus-wasm/dist/generated/libopus.generated.mjs +0 -0
- package/node_modules/libopus-wasm/dist/index.d.ts.map +1 -1
- package/node_modules/libopus-wasm/dist/index.js +37 -18
- package/node_modules/libopus-wasm/package.json +13 -13
- package/node_modules/typebox/build/compile/validator.d.mts +1 -1
- package/node_modules/typebox/build/compile/validator.mjs +1 -1
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
- package/node_modules/typebox/build/format/iri.mjs +5 -1
- package/node_modules/typebox/build/guard/emit.mjs +2 -4
- package/node_modules/typebox/build/guard/guard.mjs +6 -18
- package/node_modules/typebox/build/guard/string.mjs +16 -24
- package/node_modules/typebox/build/schema/build.mjs +2 -2
- package/node_modules/typebox/build/schema/check.mjs +1 -1
- package/node_modules/typebox/build/schema/compile.d.mts +3 -2
- package/node_modules/typebox/build/schema/compile.mjs +8 -8
- package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
- package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
- package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
- package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
- package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
- package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
- package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
- package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
- package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
- package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
- package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
- package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
- package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
- package/node_modules/typebox/build/schema/errors.d.mts +2 -2
- package/node_modules/typebox/build/schema/errors.mjs +8 -14
- package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
- package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
- package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
- package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
- package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
- package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
- package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
- package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
- package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
- package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
- package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
- package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
- package/node_modules/typebox/build/schema/parse.d.mts +1 -0
- package/node_modules/typebox/build/schema/parse.mjs +10 -5
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
- package/node_modules/typebox/build/schema/schema.d.mts +2 -0
- package/node_modules/typebox/build/schema/schema.mjs +2 -0
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
- package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +59 -89
- package/node_modules/undici-types/client.d.ts +8 -3
- package/node_modules/undici-types/connector.d.ts +1 -0
- package/node_modules/undici-types/cookies.d.ts +1 -1
- package/node_modules/undici-types/dispatcher.d.ts +3 -3
- package/node_modules/undici-types/errors.d.ts +10 -0
- package/node_modules/undici-types/fetch.d.ts +5 -1
- package/node_modules/undici-types/handlers.d.ts +2 -0
- package/node_modules/undici-types/interceptors.d.ts +1 -1
- package/node_modules/undici-types/mock-interceptor.d.ts +5 -1
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/proxy-agent.d.ts +7 -0
- package/node_modules/zod/README.md +27 -0
- package/node_modules/zod/compile.cjs +77 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +2 -2
- package/node_modules/zod/index.d.cts +1 -2
- package/node_modules/zod/index.d.ts +1 -2
- package/node_modules/zod/index.js +5 -2
- package/node_modules/zod/package.json +13 -2
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +5 -2
- package/node_modules/zod/src/v3/ZodError.ts +22 -12
- package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
- package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
- package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
- package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
- package/node_modules/zod/src/v3/types.ts +5 -5
- package/node_modules/zod/src/v4/classic/checks.ts +1 -0
- package/node_modules/zod/src/v4/classic/compat.ts +26 -18
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +59 -44
- package/node_modules/zod/src/v4/classic/external.ts +12 -9
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +2 -2
- package/node_modules/zod/src/v4/classic/iso.ts +2 -72
- package/node_modules/zod/src/v4/classic/parse.ts +10 -4
- package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
- package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
- package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
- package/node_modules/zod/src/v4/core/api.ts +48 -12
- package/node_modules/zod/src/v4/core/checks.ts +57 -44
- package/node_modules/zod/src/v4/core/compile.ts +2188 -0
- package/node_modules/zod/src/v4/core/core.ts +98 -19
- package/node_modules/zod/src/v4/core/doc.ts +11 -7
- package/node_modules/zod/src/v4/core/errors.ts +115 -24
- package/node_modules/zod/src/v4/core/index.ts +3 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
- package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
- package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
- package/node_modules/zod/src/v4/core/parse.ts +131 -38
- package/node_modules/zod/src/v4/core/regexes.ts +30 -13
- package/node_modules/zod/src/v4/core/registries.ts +2 -2
- package/node_modules/zod/src/v4/core/schemas.ts +759 -461
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
- package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
- package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
- package/node_modules/zod/src/v4/core/util.ts +268 -42
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/index.ts +3 -3
- package/node_modules/zod/src/v4/locales/ar.ts +3 -0
- package/node_modules/zod/src/v4/locales/az.ts +3 -0
- package/node_modules/zod/src/v4/locales/be.ts +10 -0
- package/node_modules/zod/src/v4/locales/bg.ts +3 -0
- package/node_modules/zod/src/v4/locales/bn.ts +121 -0
- package/node_modules/zod/src/v4/locales/ca.ts +3 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
- package/node_modules/zod/src/v4/locales/cs.ts +3 -0
- package/node_modules/zod/src/v4/locales/da.ts +5 -2
- package/node_modules/zod/src/v4/locales/de.ts +3 -0
- package/node_modules/zod/src/v4/locales/el.ts +1 -0
- package/node_modules/zod/src/v4/locales/en.ts +15 -4
- package/node_modules/zod/src/v4/locales/eo.ts +3 -0
- package/node_modules/zod/src/v4/locales/es.ts +2 -0
- package/node_modules/zod/src/v4/locales/fa.ts +3 -0
- package/node_modules/zod/src/v4/locales/fi.ts +3 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
- package/node_modules/zod/src/v4/locales/fr.ts +19 -14
- package/node_modules/zod/src/v4/locales/gu.ts +121 -0
- package/node_modules/zod/src/v4/locales/he.ts +6 -1
- package/node_modules/zod/src/v4/locales/hi.ts +124 -0
- package/node_modules/zod/src/v4/locales/hr.ts +2 -0
- package/node_modules/zod/src/v4/locales/hu.ts +3 -0
- package/node_modules/zod/src/v4/locales/hy.ts +9 -0
- package/node_modules/zod/src/v4/locales/id.ts +3 -0
- package/node_modules/zod/src/v4/locales/index.ts +10 -0
- package/node_modules/zod/src/v4/locales/is.ts +3 -0
- package/node_modules/zod/src/v4/locales/it.ts +3 -0
- package/node_modules/zod/src/v4/locales/ja.ts +3 -0
- package/node_modules/zod/src/v4/locales/ka.ts +3 -0
- package/node_modules/zod/src/v4/locales/km.ts +3 -0
- package/node_modules/zod/src/v4/locales/kn.ts +124 -0
- package/node_modules/zod/src/v4/locales/ko.ts +3 -0
- package/node_modules/zod/src/v4/locales/lt.ts +2 -0
- package/node_modules/zod/src/v4/locales/mk.ts +3 -0
- package/node_modules/zod/src/v4/locales/ms.ts +3 -0
- package/node_modules/zod/src/v4/locales/ne.ts +126 -0
- package/node_modules/zod/src/v4/locales/nl.ts +3 -0
- package/node_modules/zod/src/v4/locales/nn.ts +119 -0
- package/node_modules/zod/src/v4/locales/no.ts +5 -2
- package/node_modules/zod/src/v4/locales/ota.ts +3 -0
- package/node_modules/zod/src/v4/locales/pl.ts +3 -0
- package/node_modules/zod/src/v4/locales/ps.ts +3 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
- package/node_modules/zod/src/v4/locales/pt.ts +99 -58
- package/node_modules/zod/src/v4/locales/ro.ts +1 -0
- package/node_modules/zod/src/v4/locales/ru.ts +10 -0
- package/node_modules/zod/src/v4/locales/sk.ts +121 -0
- package/node_modules/zod/src/v4/locales/sl.ts +3 -0
- package/node_modules/zod/src/v4/locales/sv.ts +5 -2
- package/node_modules/zod/src/v4/locales/ta.ts +3 -0
- package/node_modules/zod/src/v4/locales/th.ts +3 -0
- package/node_modules/zod/src/v4/locales/tk.ts +111 -0
- package/node_modules/zod/src/v4/locales/tr.ts +3 -0
- package/node_modules/zod/src/v4/locales/uk.ts +3 -0
- package/node_modules/zod/src/v4/locales/ur.ts +3 -0
- package/node_modules/zod/src/v4/locales/uz.ts +1 -0
- package/node_modules/zod/src/v4/locales/vi.ts +3 -0
- package/node_modules/zod/src/v4/locales/yo.ts +3 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
- package/node_modules/zod/src/v4/mini/checks.ts +1 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +10 -1
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/parse.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
- package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
- package/node_modules/zod/v3/ZodError.cjs +22 -12
- package/node_modules/zod/v3/ZodError.d.cts +1 -1
- package/node_modules/zod/v3/ZodError.d.ts +1 -1
- package/node_modules/zod/v3/ZodError.js +22 -12
- package/node_modules/zod/v3/types.cjs +7 -5
- package/node_modules/zod/v3/types.js +7 -5
- package/node_modules/zod/v4/classic/checks.cjs +2 -1
- package/node_modules/zod/v4/classic/checks.d.cts +1 -1
- package/node_modules/zod/v4/classic/checks.d.ts +1 -1
- package/node_modules/zod/v4/classic/checks.js +1 -1
- package/node_modules/zod/v4/classic/compat.d.cts +9 -11
- package/node_modules/zod/v4/classic/compat.d.ts +9 -11
- package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +43 -34
- package/node_modules/zod/v4/classic/errors.d.cts +3 -4
- package/node_modules/zod/v4/classic/errors.d.ts +3 -4
- package/node_modules/zod/v4/classic/errors.js +43 -34
- package/node_modules/zod/v4/classic/external.cjs +30 -27
- package/node_modules/zod/v4/classic/external.d.cts +5 -2
- package/node_modules/zod/v4/classic/external.d.ts +5 -2
- package/node_modules/zod/v4/classic/external.js +5 -8
- package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
- package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
- package/node_modules/zod/v4/classic/in-out.cjs +63 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +2 -2
- package/node_modules/zod/v4/classic/index.d.cts +1 -2
- package/node_modules/zod/v4/classic/index.d.ts +1 -2
- package/node_modules/zod/v4/classic/index.js +2 -2
- package/node_modules/zod/v4/classic/iso.cjs +11 -22
- package/node_modules/zod/v4/classic/iso.d.cts +2 -17
- package/node_modules/zod/v4/classic/iso.d.ts +2 -17
- package/node_modules/zod/v4/classic/iso.js +2 -17
- package/node_modules/zod/v4/classic/parse.cjs +4 -1
- package/node_modules/zod/v4/classic/parse.d.cts +17 -4
- package/node_modules/zod/v4/classic/parse.d.ts +17 -4
- package/node_modules/zod/v4/classic/parse.js +1 -0
- package/node_modules/zod/v4/classic/schemas.cjs +498 -398
- package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
- package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
- package/node_modules/zod/v4/classic/schemas.js +492 -396
- package/node_modules/zod/v4/core/api.cjs +23 -4
- package/node_modules/zod/v4/core/api.d.cts +13 -9
- package/node_modules/zod/v4/core/api.d.ts +13 -9
- package/node_modules/zod/v4/core/api.js +21 -4
- package/node_modules/zod/v4/core/checks.cjs +37 -31
- package/node_modules/zod/v4/core/checks.d.cts +13 -13
- package/node_modules/zod/v4/core/checks.d.ts +13 -13
- package/node_modules/zod/v4/core/checks.js +37 -31
- package/node_modules/zod/v4/core/compile.cjs +1813 -0
- package/node_modules/zod/v4/core/compile.d.cts +51 -0
- package/node_modules/zod/v4/core/compile.d.ts +51 -0
- package/node_modules/zod/v4/core/compile.js +1783 -0
- package/node_modules/zod/v4/core/core.cjs +81 -18
- package/node_modules/zod/v4/core/core.d.cts +16 -4
- package/node_modules/zod/v4/core/core.d.ts +16 -4
- package/node_modules/zod/v4/core/core.js +82 -19
- package/node_modules/zod/v4/core/doc.cjs +5 -7
- package/node_modules/zod/v4/core/doc.d.cts +3 -1
- package/node_modules/zod/v4/core/doc.d.ts +3 -1
- package/node_modules/zod/v4/core/doc.js +5 -7
- package/node_modules/zod/v4/core/errors.cjs +110 -25
- package/node_modules/zod/v4/core/errors.d.cts +4 -0
- package/node_modules/zod/v4/core/errors.d.ts +4 -0
- package/node_modules/zod/v4/core/errors.js +110 -25
- package/node_modules/zod/v4/core/index.cjs +5 -1
- package/node_modules/zod/v4/core/index.d.cts +3 -0
- package/node_modules/zod/v4/core/index.d.ts +3 -0
- package/node_modules/zod/v4/core/index.js +3 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
- package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
- package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
- package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
- package/node_modules/zod/v4/core/memoizer.cjs +272 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +265 -0
- package/node_modules/zod/v4/core/parse.cjs +96 -34
- package/node_modules/zod/v4/core/parse.d.cts +14 -11
- package/node_modules/zod/v4/core/parse.d.ts +14 -11
- package/node_modules/zod/v4/core/parse.js +94 -33
- package/node_modules/zod/v4/core/regexes.cjs +27 -15
- package/node_modules/zod/v4/core/regexes.d.cts +2 -0
- package/node_modules/zod/v4/core/regexes.d.ts +2 -0
- package/node_modules/zod/v4/core/regexes.js +24 -13
- package/node_modules/zod/v4/core/registries.js +2 -2
- package/node_modules/zod/v4/core/schemas.cjs +537 -326
- package/node_modules/zod/v4/core/schemas.d.cts +100 -31
- package/node_modules/zod/v4/core/schemas.d.ts +100 -31
- package/node_modules/zod/v4/core/schemas.js +526 -325
- package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
- package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
- package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
- package/node_modules/zod/v4/core/to-json-schema.js +241 -39
- package/node_modules/zod/v4/core/util.cjs +212 -31
- package/node_modules/zod/v4/core/util.d.cts +58 -1
- package/node_modules/zod/v4/core/util.d.ts +58 -1
- package/node_modules/zod/v4/core/util.js +202 -30
- package/node_modules/zod/v4/core/versions.cjs +2 -2
- package/node_modules/zod/v4/core/versions.d.cts +1 -1
- package/node_modules/zod/v4/core/versions.d.ts +1 -1
- package/node_modules/zod/v4/core/versions.js +2 -2
- package/node_modules/zod/v4/core/visit.cjs +195 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +15 -5
- package/node_modules/zod/v4/index.d.cts +2 -2
- package/node_modules/zod/v4/index.d.ts +2 -2
- package/node_modules/zod/v4/index.js +3 -2
- package/node_modules/zod/v4/locales/ar.cjs +3 -0
- package/node_modules/zod/v4/locales/ar.js +3 -0
- package/node_modules/zod/v4/locales/az.cjs +3 -0
- package/node_modules/zod/v4/locales/az.js +3 -0
- package/node_modules/zod/v4/locales/be.cjs +10 -0
- package/node_modules/zod/v4/locales/be.js +10 -0
- package/node_modules/zod/v4/locales/bg.cjs +3 -0
- package/node_modules/zod/v4/locales/bg.js +3 -0
- package/node_modules/zod/v4/locales/bn.cjs +138 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +111 -0
- package/node_modules/zod/v4/locales/ca.cjs +3 -0
- package/node_modules/zod/v4/locales/ca.js +3 -0
- package/node_modules/zod/v4/locales/ckb.cjs +158 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +131 -0
- package/node_modules/zod/v4/locales/cs.cjs +3 -0
- package/node_modules/zod/v4/locales/cs.js +3 -0
- package/node_modules/zod/v4/locales/da.cjs +5 -2
- package/node_modules/zod/v4/locales/da.js +5 -2
- package/node_modules/zod/v4/locales/de.cjs +3 -0
- package/node_modules/zod/v4/locales/de.js +3 -0
- package/node_modules/zod/v4/locales/el.cjs +1 -0
- package/node_modules/zod/v4/locales/el.js +1 -0
- package/node_modules/zod/v4/locales/en.cjs +14 -4
- package/node_modules/zod/v4/locales/en.js +14 -4
- package/node_modules/zod/v4/locales/eo.cjs +3 -0
- package/node_modules/zod/v4/locales/eo.js +3 -0
- package/node_modules/zod/v4/locales/es.cjs +2 -0
- package/node_modules/zod/v4/locales/es.js +2 -0
- package/node_modules/zod/v4/locales/fa.cjs +3 -0
- package/node_modules/zod/v4/locales/fa.js +3 -0
- package/node_modules/zod/v4/locales/fi.cjs +3 -0
- package/node_modules/zod/v4/locales/fi.js +3 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
- package/node_modules/zod/v4/locales/fr-CA.js +3 -0
- package/node_modules/zod/v4/locales/fr.cjs +16 -14
- package/node_modules/zod/v4/locales/fr.js +16 -14
- package/node_modules/zod/v4/locales/gu.cjs +138 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +111 -0
- package/node_modules/zod/v4/locales/he.cjs +5 -0
- package/node_modules/zod/v4/locales/he.js +5 -0
- package/node_modules/zod/v4/locales/hi.cjs +136 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +109 -0
- package/node_modules/zod/v4/locales/hr.cjs +2 -0
- package/node_modules/zod/v4/locales/hr.js +2 -0
- package/node_modules/zod/v4/locales/hu.cjs +3 -0
- package/node_modules/zod/v4/locales/hu.js +3 -0
- package/node_modules/zod/v4/locales/hy.cjs +9 -0
- package/node_modules/zod/v4/locales/hy.js +9 -0
- package/node_modules/zod/v4/locales/id.cjs +3 -0
- package/node_modules/zod/v4/locales/id.js +3 -0
- package/node_modules/zod/v4/locales/index.cjs +22 -2
- package/node_modules/zod/v4/locales/index.d.cts +10 -0
- package/node_modules/zod/v4/locales/index.d.ts +10 -0
- package/node_modules/zod/v4/locales/index.js +10 -0
- package/node_modules/zod/v4/locales/is.cjs +3 -0
- package/node_modules/zod/v4/locales/is.js +3 -0
- package/node_modules/zod/v4/locales/it.cjs +3 -0
- package/node_modules/zod/v4/locales/it.js +3 -0
- package/node_modules/zod/v4/locales/ja.cjs +3 -0
- package/node_modules/zod/v4/locales/ja.js +3 -0
- package/node_modules/zod/v4/locales/ka.cjs +3 -0
- package/node_modules/zod/v4/locales/ka.js +3 -0
- package/node_modules/zod/v4/locales/km.cjs +3 -0
- package/node_modules/zod/v4/locales/km.js +3 -0
- package/node_modules/zod/v4/locales/kn.cjs +141 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +114 -0
- package/node_modules/zod/v4/locales/ko.cjs +3 -0
- package/node_modules/zod/v4/locales/ko.js +3 -0
- package/node_modules/zod/v4/locales/lt.cjs +2 -0
- package/node_modules/zod/v4/locales/lt.js +2 -0
- package/node_modules/zod/v4/locales/mk.cjs +3 -0
- package/node_modules/zod/v4/locales/mk.js +3 -0
- package/node_modules/zod/v4/locales/ms.cjs +3 -0
- package/node_modules/zod/v4/locales/ms.js +3 -0
- package/node_modules/zod/v4/locales/ne.cjs +136 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +109 -0
- package/node_modules/zod/v4/locales/nl.cjs +3 -0
- package/node_modules/zod/v4/locales/nl.js +3 -0
- package/node_modules/zod/v4/locales/nn.cjs +138 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +111 -0
- package/node_modules/zod/v4/locales/no.cjs +5 -2
- package/node_modules/zod/v4/locales/no.js +5 -2
- package/node_modules/zod/v4/locales/ota.cjs +3 -0
- package/node_modules/zod/v4/locales/ota.js +3 -0
- package/node_modules/zod/v4/locales/pl.cjs +3 -0
- package/node_modules/zod/v4/locales/pl.js +3 -0
- package/node_modules/zod/v4/locales/ps.cjs +3 -0
- package/node_modules/zod/v4/locales/ps.js +3 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +141 -0
- package/node_modules/zod/v4/locales/pt.cjs +87 -55
- package/node_modules/zod/v4/locales/pt.js +87 -55
- package/node_modules/zod/v4/locales/ro.cjs +1 -0
- package/node_modules/zod/v4/locales/ro.js +1 -0
- package/node_modules/zod/v4/locales/ru.cjs +10 -0
- package/node_modules/zod/v4/locales/ru.js +10 -0
- package/node_modules/zod/v4/locales/sk.cjs +141 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +114 -0
- package/node_modules/zod/v4/locales/sl.cjs +3 -0
- package/node_modules/zod/v4/locales/sl.js +3 -0
- package/node_modules/zod/v4/locales/sv.cjs +5 -2
- package/node_modules/zod/v4/locales/sv.js +5 -2
- package/node_modules/zod/v4/locales/ta.cjs +3 -0
- package/node_modules/zod/v4/locales/ta.js +3 -0
- package/node_modules/zod/v4/locales/th.cjs +3 -0
- package/node_modules/zod/v4/locales/th.js +3 -0
- package/node_modules/zod/v4/locales/tk.cjs +132 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +105 -0
- package/node_modules/zod/v4/locales/tr.cjs +3 -0
- package/node_modules/zod/v4/locales/tr.js +3 -0
- package/node_modules/zod/v4/locales/uk.cjs +3 -0
- package/node_modules/zod/v4/locales/uk.js +3 -0
- package/node_modules/zod/v4/locales/ur.cjs +3 -0
- package/node_modules/zod/v4/locales/ur.js +3 -0
- package/node_modules/zod/v4/locales/uz.cjs +1 -0
- package/node_modules/zod/v4/locales/uz.js +1 -0
- package/node_modules/zod/v4/locales/vi.cjs +3 -0
- package/node_modules/zod/v4/locales/vi.js +3 -0
- package/node_modules/zod/v4/locales/yo.cjs +3 -0
- package/node_modules/zod/v4/locales/yo.js +3 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
- package/node_modules/zod/v4/locales/zh-CN.js +3 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
- package/node_modules/zod/v4/locales/zh-TW.js +3 -0
- package/node_modules/zod/v4/mini/checks.cjs +2 -1
- package/node_modules/zod/v4/mini/checks.d.cts +1 -1
- package/node_modules/zod/v4/mini/checks.d.ts +1 -1
- package/node_modules/zod/v4/mini/checks.js +1 -1
- package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +12 -1
- package/node_modules/zod/v4/mini/external.d.cts +5 -2
- package/node_modules/zod/v4/mini/external.d.ts +5 -2
- package/node_modules/zod/v4/mini/external.js +3 -1
- package/node_modules/zod/v4/mini/in-out.cjs +63 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/parse.cjs +3 -1
- package/node_modules/zod/v4/mini/parse.d.cts +1 -1
- package/node_modules/zod/v4/mini/parse.d.ts +1 -1
- package/node_modules/zod/v4/mini/parse.js +1 -1
- package/node_modules/zod/v4/mini/schemas.cjs +75 -47
- package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
- package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
- package/node_modules/zod/v4/mini/schemas.js +71 -45
- package/openclaw.plugin.json +5 -2
- package/package.json +11 -8
- package/dist/channel-type-CVLZyGYS.js +0 -7
- package/dist/outbound-components-BvskBqEN.js +0 -100
- package/dist/provider.runtime-C-Oh3OHA.js +0 -2
- package/dist/targets-fCxslBZ3.js +0 -3
- package/node_modules/discord-api-types/CHANGELOG.md +0 -2514
- package/node_modules/discord-api-types/scripts/versions.mjs +0 -46
- package/node_modules/zod/src/v4/core/config.ts +0 -15
- /package/dist/{accounts-CwJQoLjM.js → .setup/accounts-CwJQoLjM.mjs} +0 -0
- /package/dist/{active-turn-thread-route-fmHl1HNd.js → .setup/active-turn-thread-route-fmHl1HNd.mjs} +0 -0
- /package/dist/{agent-components.runtime-CEPrf2SY.js → .setup/agent-components.runtime-CEPrf2SY.mjs} +0 -0
- /package/dist/{channel-access-C12aDZ0p.js → .setup/channel-access-C12aDZ0p.mjs} +0 -0
- /package/dist/{command-deploy-store-DFkBTViB.js → .setup/command-deploy-store-DFkBTViB.mjs} +0 -0
- /package/dist/{command-owners-D78sAoOz.js → .setup/command-owners-D78sAoOz.mjs} +0 -0
- /package/dist/{doctor-contract-Co5vRCZ6.js → .setup/doctor-contract-Co5vRCZ6.mjs} +0 -0
- /package/dist/{message-handler.history-CJOsN9w5.js → .setup/message-handler.history-CJOsN9w5.mjs} +0 -0
- /package/dist/{model-picker-preference-primitives-BHT1LkR_.js → .setup/model-picker-preference-primitives-BHT1LkR_.mjs} +0 -0
- /package/dist/{preflight-audio-DrnqFA8U.js → .setup/preflight-audio-DrnqFA8U.mjs} +0 -0
- /package/dist/{runtime-DgnVQ7zW.js → .setup/runtime-DgnVQ7zW.mjs} +0 -0
- /package/dist/{secret-config-contract-DFu9hfU8.js → .setup/secret-config-contract-DFu9hfU8.mjs} +0 -0
- /package/dist/{security-contract-DSHk7I2w.js → .setup/security-contract-DSHk7I2w.mjs} +0 -0
- /package/dist/{security-doctor-nGgPm65L.js → .setup/security-doctor-nGgPm65L.mjs} +0 -0
- /package/dist/{session-contract-BO5tlIdl.js → .setup/session-contract-BO5tlIdl.mjs} +0 -0
- /package/dist/{session-key-normalization-wJgsKPNF.js → .setup/session-key-normalization-wJgsKPNF.mjs} +0 -0
- /package/dist/{thread-binding-api-BDZJD4na.js → .setup/thread-binding-api-BDZJD4na.mjs} +0 -0
- /package/dist/{timeouts-D86uWLt_.js → .setup/timeouts-D86uWLt_.mjs} +0 -0
|
@@ -1,7 +1,162 @@
|
|
|
1
|
+
import { ChannelType } from "discord-api-types/v10";
|
|
1
2
|
import { asFiniteNumberInRange, parseDateStringTimestampMs, parseStrictFiniteNumber } from "openclaw/plugin-sdk/number-runtime";
|
|
3
|
+
import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
|
|
4
|
+
import { fetchWithSsrFGuard, isBlockedHostnameOrIp, isLoopbackHost } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
2
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
6
|
import { buildChannelKeyCandidates, resolveChannelEntryMatchWithFallback, resolveChannelMatchConfig } from "openclaw/plugin-sdk/channel-targets";
|
|
4
7
|
import { resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
|
|
8
|
+
//#region extensions/discord/src/endpoint-runtime.ts
|
|
9
|
+
const DISCORD_ENDPOINT_RESPONSE_MAX_BYTES = 8388608;
|
|
10
|
+
const DISCORD_API_URL_ENV = "DISCORD_API_URL";
|
|
11
|
+
function parseHttpAnchor(value, label) {
|
|
12
|
+
let url;
|
|
13
|
+
try {
|
|
14
|
+
url = new URL(value);
|
|
15
|
+
} catch {
|
|
16
|
+
throw new Error(`${label} must be a valid URL`);
|
|
17
|
+
}
|
|
18
|
+
if (url.protocol !== "https:" && !(url.protocol === "http:" && isLoopbackHost(url.hostname))) throw new Error(`${label} must use HTTPS or loopback HTTP`);
|
|
19
|
+
if (url.username || url.password || url.hash) throw new Error(`${label} must not contain credentials or a fragment`);
|
|
20
|
+
return url;
|
|
21
|
+
}
|
|
22
|
+
function normalizeRestApiBaseUrl(value) {
|
|
23
|
+
const url = parseHttpAnchor(value, "Discord endpoint REST API base URL");
|
|
24
|
+
if (url.search) throw new Error("Discord endpoint REST API base URL must not contain a query");
|
|
25
|
+
url.pathname = url.pathname.replace(/\/+$/u, "") || "/";
|
|
26
|
+
return url;
|
|
27
|
+
}
|
|
28
|
+
function normalizeGatewayOrigin(value) {
|
|
29
|
+
let url;
|
|
30
|
+
try {
|
|
31
|
+
url = new URL(value);
|
|
32
|
+
} catch {
|
|
33
|
+
throw new Error("Discord endpoint Gateway origin must be a valid URL");
|
|
34
|
+
}
|
|
35
|
+
if (url.protocol !== "wss:" && !(url.protocol === "ws:" && isLoopbackHost(url.hostname))) throw new Error("Discord endpoint Gateway origin must use WSS or loopback WS");
|
|
36
|
+
if (url.protocol === "wss:" && isBlockedHostnameOrIp(url.hostname)) throw new Error("Discord endpoint Gateway origin must not target a private/internal/special-use hostname or IP address");
|
|
37
|
+
if (url.username || url.password || url.hash || url.pathname !== "/" || url.search) throw new Error("Discord endpoint Gateway origin must be an origin without credentials, path, query, or fragment");
|
|
38
|
+
return url.origin;
|
|
39
|
+
}
|
|
40
|
+
function resolveDescriptor(apiUrl) {
|
|
41
|
+
const restApiBaseUrl = normalizeRestApiBaseUrl(apiUrl);
|
|
42
|
+
const gatewayBotUrl = new URL(`${restApiBaseUrl.pathname.replace(/\/+$/u, "")}/gateway/bot`, restApiBaseUrl.origin);
|
|
43
|
+
const gatewayOriginUrl = new URL(restApiBaseUrl.origin);
|
|
44
|
+
gatewayOriginUrl.protocol = gatewayOriginUrl.protocol === "https:" ? "wss:" : "ws:";
|
|
45
|
+
return Object.freeze({
|
|
46
|
+
restApiBaseUrl: restApiBaseUrl.toString().replace(/\/$/u, ""),
|
|
47
|
+
gatewayBotUrl: gatewayBotUrl.toString(),
|
|
48
|
+
gatewayOrigin: normalizeGatewayOrigin(gatewayOriginUrl.origin)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function isWithinRestApiBase(target, restApiBaseUrl) {
|
|
52
|
+
if (target.origin !== restApiBaseUrl.origin) return false;
|
|
53
|
+
const basePath = restApiBaseUrl.pathname.replace(/\/+$/u, "");
|
|
54
|
+
return basePath === "" || target.pathname === basePath || target.pathname.startsWith(`${basePath}/`);
|
|
55
|
+
}
|
|
56
|
+
function assertEndpointHttpTarget(target, descriptor) {
|
|
57
|
+
const restApiBaseUrl = new URL(descriptor.restApiBaseUrl);
|
|
58
|
+
const gatewayBotUrl = new URL(descriptor.gatewayBotUrl);
|
|
59
|
+
if (!isWithinRestApiBase(target, restApiBaseUrl) && target.toString() !== gatewayBotUrl.toString()) throw new Error("Discord endpoint request is outside the configured boundaries");
|
|
60
|
+
}
|
|
61
|
+
function requestInitFromRequest(request, signal) {
|
|
62
|
+
return {
|
|
63
|
+
method: request.method,
|
|
64
|
+
headers: request.headers,
|
|
65
|
+
...request.body ? {
|
|
66
|
+
body: request.body,
|
|
67
|
+
duplex: "half"
|
|
68
|
+
} : {},
|
|
69
|
+
signal,
|
|
70
|
+
cache: request.cache,
|
|
71
|
+
credentials: request.credentials,
|
|
72
|
+
integrity: request.integrity,
|
|
73
|
+
keepalive: request.keepalive,
|
|
74
|
+
mode: request.mode,
|
|
75
|
+
referrer: request.referrer,
|
|
76
|
+
referrerPolicy: request.referrerPolicy
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function createEndpointFetch(descriptor) {
|
|
80
|
+
const allowedOrigins = Array.from(/* @__PURE__ */ new Set([new URL(descriptor.restApiBaseUrl).origin, new URL(descriptor.gatewayBotUrl).origin]));
|
|
81
|
+
return async (input, init, beforeRequest) => {
|
|
82
|
+
const request = new Request(input, init);
|
|
83
|
+
const target = new URL(request.url);
|
|
84
|
+
assertEndpointHttpTarget(target, descriptor);
|
|
85
|
+
const guarded = await fetchWithSsrFGuard({
|
|
86
|
+
url: target.toString(),
|
|
87
|
+
init: requestInitFromRequest(request, request.signal),
|
|
88
|
+
signal: request.signal,
|
|
89
|
+
requireHttps: target.protocol === "https:",
|
|
90
|
+
policy: { allowedOrigins },
|
|
91
|
+
maxRedirects: 0,
|
|
92
|
+
capture: false,
|
|
93
|
+
auditContext: "discord.endpoint-runtime",
|
|
94
|
+
beforeRequest
|
|
95
|
+
});
|
|
96
|
+
try {
|
|
97
|
+
const body = await readResponseWithLimit(guarded.response, DISCORD_ENDPOINT_RESPONSE_MAX_BYTES, { onOverflow: ({ size, maxBytes }) => /* @__PURE__ */ new Error(`Discord endpoint response too large: ${size} bytes (limit: ${maxBytes} bytes)`) });
|
|
98
|
+
return new Response(body.byteLength > 0 ? new Uint8Array(body) : null, {
|
|
99
|
+
status: guarded.response.status,
|
|
100
|
+
statusText: guarded.response.statusText,
|
|
101
|
+
headers: guarded.response.headers
|
|
102
|
+
});
|
|
103
|
+
} finally {
|
|
104
|
+
await guarded.release();
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** Resolve the process-wide Discord API override using the same env convention as sibling channels. */
|
|
109
|
+
function getDiscordEndpointRuntime(env = process.env) {
|
|
110
|
+
const apiUrl = env[DISCORD_API_URL_ENV]?.trim();
|
|
111
|
+
if (!apiUrl) return;
|
|
112
|
+
const descriptor = resolveDescriptor(apiUrl);
|
|
113
|
+
return Object.freeze({
|
|
114
|
+
descriptor,
|
|
115
|
+
fetch: createEndpointFetch(descriptor)
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function resolveDiscordEndpointMediaGuard(url, retainedRuntime) {
|
|
119
|
+
if (retainedRuntime === null) return;
|
|
120
|
+
const runtime = retainedRuntime ?? getDiscordEndpointRuntime();
|
|
121
|
+
if (!runtime) return;
|
|
122
|
+
const target = parseHttpAnchor(url, "Discord endpoint media URL");
|
|
123
|
+
const restOrigin = new URL(runtime.descriptor.restApiBaseUrl).origin;
|
|
124
|
+
if (target.origin !== restOrigin) throw new Error("Discord endpoint media URL is outside the configured REST origin");
|
|
125
|
+
return {
|
|
126
|
+
maxRedirects: 0,
|
|
127
|
+
ssrfPolicy: {
|
|
128
|
+
allowedOrigins: [restOrigin],
|
|
129
|
+
hostnameAllowlist: [target.hostname]
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function resolveDiscordEndpointAttachmentGuard(url, retainedRuntime) {
|
|
134
|
+
if (retainedRuntime === null) return;
|
|
135
|
+
const runtime = retainedRuntime ?? getDiscordEndpointRuntime();
|
|
136
|
+
if (!runtime) return;
|
|
137
|
+
const target = parseHttpAnchor(url, "Discord endpoint attachment upload URL");
|
|
138
|
+
const restOrigin = new URL(runtime.descriptor.restApiBaseUrl).origin;
|
|
139
|
+
if (target.origin !== restOrigin) throw new Error("Discord endpoint attachment upload URL is outside the configured REST origin");
|
|
140
|
+
return {
|
|
141
|
+
maxRedirects: 0,
|
|
142
|
+
policy: {
|
|
143
|
+
allowedOrigins: [restOrigin],
|
|
144
|
+
hostnameAllowlist: [target.hostname]
|
|
145
|
+
},
|
|
146
|
+
requireHttps: target.protocol === "https:"
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function assertDiscordEndpointGatewayUrl(url, gatewayOrigin) {
|
|
150
|
+
if (!gatewayOrigin) return;
|
|
151
|
+
let parsed;
|
|
152
|
+
try {
|
|
153
|
+
parsed = new URL(url);
|
|
154
|
+
} catch {
|
|
155
|
+
throw new Error("Discord endpoint returned an invalid Gateway WebSocket URL");
|
|
156
|
+
}
|
|
157
|
+
if (parsed.origin !== gatewayOrigin || parsed.username || parsed.password || parsed.hash) throw new Error("Discord endpoint Gateway URL is outside the configured WebSocket origin");
|
|
158
|
+
}
|
|
159
|
+
//#endregion
|
|
5
160
|
//#region extensions/discord/src/retry-after.ts
|
|
6
161
|
const RETRY_AFTER_BODY_SECONDS_RE = /^(?:\d+\.?\d*|\.\d+)$/;
|
|
7
162
|
const MAX_SAFE_RETRY_AFTER_SECONDS = Number.MAX_SAFE_INTEGER / 1e3;
|
|
@@ -371,4 +526,9 @@ function shouldEmitDiscordReactionNotification(params) {
|
|
|
371
526
|
return false;
|
|
372
527
|
}
|
|
373
528
|
//#endregion
|
|
374
|
-
|
|
529
|
+
//#region extensions/discord/src/channel-type.ts
|
|
530
|
+
function isDiscordThreadChannelType(channelType) {
|
|
531
|
+
return channelType === ChannelType.AnnouncementThread || channelType === ChannelType.PublicThread || channelType === ChannelType.PrivateThread;
|
|
532
|
+
}
|
|
533
|
+
//#endregion
|
|
534
|
+
export { resolveTimestampMs as C, resolveDiscordEndpointAttachmentGuard as D, getDiscordEndpointRuntime as E, resolveDiscordEndpointMediaGuard as O, resolveDiscordSystemLocation as S, assertDiscordEndpointGatewayUrl as T, resolveDiscordShouldRequireMention as _, normalizeDiscordDisplaySlug as a, formatDiscordReactionEmoji as b, resolveDiscordChannelConfig as c, resolveDiscordCommandAuthorized as d, resolveDiscordGuildEntry as f, resolveDiscordOwnerAllowFrom as g, resolveDiscordOwnerAccess as h, normalizeDiscordAllowList as i, resolveDiscordChannelConfigWithFallback as l, resolveDiscordMemberAllowed as m, allowListMatches as n, normalizeDiscordSlug as o, resolveDiscordMemberAccessState as p, isDiscordGroupAllowedByPolicy as r, resolveDiscordAllowListMatch as s, isDiscordThreadChannelType as t, resolveDiscordChannelPolicyCommandAuthorizer as u, resolveGroupDmAllow as v, parseDiscordRetryAfterBodySeconds as w, formatDiscordUserTag as x, shouldEmitDiscordReactionNotification as y };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as inspectDiscordAccountTokenState, h as resolveDiscordToken, l as resolveDiscordAccountAllowFrom, o as mergeDiscordAccountConfig, s as resolveDefaultDiscordAccountId, u as resolveDiscordAccountConfig } from "./accounts-CwJQoLjM.
|
|
2
|
-
import { i as discordSetupContract, t as createDiscordPluginBase } from "./shared-
|
|
3
|
-
import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-
|
|
4
|
-
import { t as resolveDiscordUserAllowlist } from "./resolve-users-
|
|
1
|
+
import { _ as inspectDiscordAccountTokenState, h as resolveDiscordToken, l as resolveDiscordAccountAllowFrom, o as mergeDiscordAccountConfig, s as resolveDefaultDiscordAccountId, u as resolveDiscordAccountConfig } from "./accounts-CwJQoLjM.mjs";
|
|
2
|
+
import { i as discordSetupContract, t as createDiscordPluginBase } from "./shared-CaA3Vv4n.mjs";
|
|
3
|
+
import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-BbvsLQOZ.mjs";
|
|
4
|
+
import { t as resolveDiscordUserAllowlist } from "./resolve-users-ByFlR7LQ.mjs";
|
|
5
5
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
6
6
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
7
|
import { resolveBasicAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as parseCustomId, B as File, F as RadioGroup, G as Row, H as MediaGallery, I as TextInput, J as StringSelectMenu, K as Section, L as Button, M as CheckboxGroup, N as Label, P as Modal, R as ChannelSelectMenu, U as MentionableSelectMenu, Ut as __exportAll, V as LinkButton, W as RoleSelectMenu, X as Thumbnail, Y as TextDisplay, Z as UserSelectMenu, q as Separator, z as Container } from "./discord-BXpHW-cu.mjs";
|
|
2
2
|
import { ButtonStyle, MessageFlags, TextInputStyle } from "discord-api-types/v10";
|
|
3
3
|
import crypto from "node:crypto";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -493,6 +493,7 @@ function createButtonComponent(params) {
|
|
|
493
493
|
super(..._args6);
|
|
494
494
|
this.label = params.spec.label;
|
|
495
495
|
this.url = linkUrl;
|
|
496
|
+
this.emoji = params.spec.emoji;
|
|
496
497
|
this.disabled = params.spec.disabled ?? false;
|
|
497
498
|
}
|
|
498
499
|
}
|
|
@@ -798,7 +799,7 @@ function encodeBoundedDiscordApprovalCustomId(action) {
|
|
|
798
799
|
});
|
|
799
800
|
}
|
|
800
801
|
function buildDiscordApprovalCustomId(action) {
|
|
801
|
-
if (!action.approvalId || action.approvalKind !== "exec" && action.approvalKind !== "plugin" || action.decision !== "allow-once" && action.decision !== "allow-always" && action.decision !== "deny") return;
|
|
802
|
+
if (!action.approvalId || action.approvalKind !== "exec" && action.approvalKind !== "plugin" && action.approvalKind !== "system-agent" || action.decision !== "allow-once" && action.decision !== "allow-always" && action.decision !== "deny") return;
|
|
802
803
|
return encodeBoundedDiscordApprovalCustomId(action);
|
|
803
804
|
}
|
|
804
805
|
function buildExecApprovalCustomId(approvalId, approvalKind, decision) {
|
|
@@ -822,7 +823,7 @@ function parseExecApprovalData(data) {
|
|
|
822
823
|
const rawId = coerce(data.id);
|
|
823
824
|
const rawKind = coerce(data.kind);
|
|
824
825
|
const rawAction = coerce(data.action);
|
|
825
|
-
if (!rawId || rawKind !== "exec" && rawKind !== "plugin" || !rawAction) return null;
|
|
826
|
+
if (!rawId || rawKind !== "exec" && rawKind !== "plugin" && rawKind !== "system-agent" || !rawAction) return null;
|
|
826
827
|
if (rawAction !== "allow-once" && rawAction !== "allow-always" && rawAction !== "deny") return null;
|
|
827
828
|
const approvalId = decodeCustomIdValue(rawId);
|
|
828
829
|
if (!approvalId) return null;
|
|
@@ -102,7 +102,7 @@ const discordChannelConfigUiHints = {
|
|
|
102
102
|
},
|
|
103
103
|
"voice.model": {
|
|
104
104
|
label: "Discord Voice Model",
|
|
105
|
-
help: "Optional LLM model override for Discord voice channel responses and realtime agent consults (for example openai/gpt-
|
|
105
|
+
help: "Optional LLM model override for Discord voice channel responses and realtime agent consults (for example openai/gpt-6-astra). Leave unset to inherit the routed agent model."
|
|
106
106
|
},
|
|
107
107
|
"voice.mode": {
|
|
108
108
|
label: "Discord Voice Mode",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { m as shouldIgnoreStaleDiscordRouteBinding } from "./outbound-session-route-CqWbuMOm.mjs";
|
|
2
2
|
import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
|
|
3
3
|
import { resolveConfiguredBindingRoute, resolveRuntimeConversationBindingRoute } from "openclaw/plugin-sdk/conversation-binding-runtime";
|
|
4
4
|
//#region extensions/discord/src/monitor/conversation-binding-route.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { l as resolveDiscordAccountAllowFrom, o as mergeDiscordAccountConfig, s as resolveDefaultDiscordAccountId } from "./accounts-CwJQoLjM.
|
|
1
|
+
import { Ut as __exportAll } from "./discord-BXpHW-cu.mjs";
|
|
2
|
+
import { l as resolveDiscordAccountAllowFrom, o as mergeDiscordAccountConfig, s as resolveDefaultDiscordAccountId } from "./accounts-CwJQoLjM.mjs";
|
|
3
3
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
4
4
|
import { createResolvedDirectoryEntriesLister } from "openclaw/plugin-sdk/directory-config-runtime";
|
|
5
5
|
//#region extensions/discord/src/directory-config.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { c as resolveDiscordAccount, m as normalizeDiscordToken } from "./accounts-CwJQoLjM.
|
|
4
|
-
import { r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-
|
|
1
|
+
import { Ut as __exportAll } from "./discord-BXpHW-cu.mjs";
|
|
2
|
+
import { o as normalizeDiscordSlug } from "./channel-type-DKnjV1XW.mjs";
|
|
3
|
+
import { c as resolveDiscordAccount, m as normalizeDiscordToken } from "./accounts-CwJQoLjM.mjs";
|
|
4
|
+
import { r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-CBK9zcq5.mjs";
|
|
5
5
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
6
6
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
7
|
//#region extensions/discord/src/directory-cache-state.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as getDiscordEndpointRuntime, w as parseDiscordRetryAfterBodySeconds } from "./channel-type-DKnjV1XW.mjs";
|
|
2
2
|
import "node:module";
|
|
3
3
|
import { redactIdentifier, redactSensitiveFieldValue } from "openclaw/plugin-sdk/logging-core";
|
|
4
4
|
import { ApplicationCommandOptionType, ApplicationCommandType, ButtonStyle, ComponentType, GatewayDispatchEvents, InteractionContextType, InteractionResponseType, InteractionType, MessageFlags, Routes, TextInputStyle } from "discord-api-types/v10";
|
|
@@ -9,7 +9,10 @@ import { asDateTimestampMs, clampTimerTimeoutMs, parseStrictNonNegativeInteger,
|
|
|
9
9
|
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
10
10
|
import { inspect } from "node:util";
|
|
11
11
|
import { gunzipSync } from "node:zlib";
|
|
12
|
+
import { captureChannelReadAuthority } from "openclaw/plugin-sdk/fetch-runtime";
|
|
12
13
|
import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
|
|
14
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
15
|
+
import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
|
|
13
16
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
14
17
|
import { parseRetryAfterHeaderSeconds } from "openclaw/plugin-sdk/retry-runtime";
|
|
15
18
|
//#region \0rolldown/runtime.js
|
|
@@ -127,24 +130,12 @@ async function createGuildSticker(rest, guildId, data) {
|
|
|
127
130
|
return await rest.post(Routes.guildStickers(guildId), data);
|
|
128
131
|
}
|
|
129
132
|
//#endregion
|
|
130
|
-
//#region extensions/discord/src/internal/api.interactions.ts
|
|
131
|
-
async function createInteractionCallback(rest, interactionId, token, body) {
|
|
132
|
-
return await rest.post(Routes.interactionCallback(interactionId, token), { body });
|
|
133
|
-
}
|
|
134
|
-
async function editWebhookMessage(rest, applicationId, token, messageId, data, query) {
|
|
135
|
-
return query ? await rest.patch(Routes.webhookMessage(applicationId, token, messageId), data, query) : await rest.patch(Routes.webhookMessage(applicationId, token, messageId), data);
|
|
136
|
-
}
|
|
137
|
-
async function deleteWebhookMessage(rest, applicationId, token, messageId) {
|
|
138
|
-
return await rest.delete(Routes.webhookMessage(applicationId, token, messageId));
|
|
139
|
-
}
|
|
140
|
-
async function getWebhookMessage(rest, applicationId, token, messageId) {
|
|
141
|
-
return await rest.get(Routes.webhookMessage(applicationId, token, messageId));
|
|
142
|
-
}
|
|
143
|
-
async function createWebhookMessage(rest, applicationId, token, data, query) {
|
|
144
|
-
return await rest.post(Routes.webhook(applicationId, token), data, query);
|
|
145
|
-
}
|
|
146
|
-
//#endregion
|
|
147
133
|
//#region extensions/discord/src/internal/api.messages.ts
|
|
134
|
+
function normalizeDiscordMessageId(messageId) {
|
|
135
|
+
const normalized = messageId.trim();
|
|
136
|
+
if (!/^[0-9]+$/u.test(normalized)) throw new Error("Invalid Discord message ID. Expected decimal digits.");
|
|
137
|
+
return normalized;
|
|
138
|
+
}
|
|
148
139
|
async function getChannel(rest, channelId) {
|
|
149
140
|
return await rest.get(Routes.channel(channelId));
|
|
150
141
|
}
|
|
@@ -161,22 +152,22 @@ async function listChannelMessages(rest, channelId, query) {
|
|
|
161
152
|
return await rest.get(Routes.channelMessages(channelId), query);
|
|
162
153
|
}
|
|
163
154
|
async function getChannelMessage(rest, channelId, messageId) {
|
|
164
|
-
return await rest.get(Routes.channelMessage(channelId, messageId));
|
|
155
|
+
return await rest.get(Routes.channelMessage(channelId, normalizeDiscordMessageId(messageId)));
|
|
165
156
|
}
|
|
166
157
|
async function createChannelMessage(rest, channelId, data) {
|
|
167
158
|
return await rest.post(Routes.channelMessages(channelId), data);
|
|
168
159
|
}
|
|
169
160
|
async function editChannelMessage(rest, channelId, messageId, data) {
|
|
170
|
-
return await rest.patch(Routes.channelMessage(channelId, messageId), data);
|
|
161
|
+
return await rest.patch(Routes.channelMessage(channelId, normalizeDiscordMessageId(messageId)), data);
|
|
171
162
|
}
|
|
172
163
|
async function deleteChannelMessage(rest, channelId, messageId) {
|
|
173
|
-
await rest.delete(Routes.channelMessage(channelId, messageId));
|
|
164
|
+
await rest.delete(Routes.channelMessage(channelId, normalizeDiscordMessageId(messageId)));
|
|
174
165
|
}
|
|
175
166
|
async function pinChannelMessage(rest, channelId, messageId) {
|
|
176
|
-
await rest.put(Routes.channelPin(channelId, messageId));
|
|
167
|
+
await rest.put(Routes.channelPin(channelId, normalizeDiscordMessageId(messageId)));
|
|
177
168
|
}
|
|
178
169
|
async function unpinChannelMessage(rest, channelId, messageId) {
|
|
179
|
-
await rest.delete(Routes.channelPin(channelId, messageId));
|
|
170
|
+
await rest.delete(Routes.channelPin(channelId, normalizeDiscordMessageId(messageId)));
|
|
180
171
|
}
|
|
181
172
|
async function listChannelPins(rest, channelId) {
|
|
182
173
|
return await rest.get(Routes.channelPins(channelId));
|
|
@@ -185,7 +176,7 @@ async function sendChannelTyping(rest, channelId) {
|
|
|
185
176
|
await rest.post(Routes.channelTyping(channelId));
|
|
186
177
|
}
|
|
187
178
|
async function createThread(rest, channelId, data, messageId) {
|
|
188
|
-
const route = messageId ? Routes.threads(channelId
|
|
179
|
+
const route = messageId === void 0 ? Routes.threads(channelId) : Routes.threads(channelId, normalizeDiscordMessageId(messageId));
|
|
189
180
|
return await rest.post(route, data);
|
|
190
181
|
}
|
|
191
182
|
async function listChannelArchivedThreads(rest, channelId, query) {
|
|
@@ -195,15 +186,37 @@ async function searchGuildMessages(rest, guildId, params) {
|
|
|
195
186
|
return await rest.get(`/guilds/${guildId}/messages/search?${params.toString()}`);
|
|
196
187
|
}
|
|
197
188
|
//#endregion
|
|
189
|
+
//#region extensions/discord/src/internal/api.interactions.ts
|
|
190
|
+
function normalizeDiscordWebhookMessageId(messageId) {
|
|
191
|
+
const normalized = messageId.trim();
|
|
192
|
+
return normalized === "@original" ? normalized : normalizeDiscordMessageId(normalized);
|
|
193
|
+
}
|
|
194
|
+
async function createInteractionCallback(rest, interactionId, token, body) {
|
|
195
|
+
return await rest.post(Routes.interactionCallback(interactionId, token), { body });
|
|
196
|
+
}
|
|
197
|
+
async function editWebhookMessage(rest, applicationId, token, messageId, data, query) {
|
|
198
|
+
const route = Routes.webhookMessage(applicationId, token, normalizeDiscordWebhookMessageId(messageId));
|
|
199
|
+
return query ? await rest.patch(route, data, query) : await rest.patch(route, data);
|
|
200
|
+
}
|
|
201
|
+
async function deleteWebhookMessage(rest, applicationId, token, messageId) {
|
|
202
|
+
return await rest.delete(Routes.webhookMessage(applicationId, token, normalizeDiscordWebhookMessageId(messageId)));
|
|
203
|
+
}
|
|
204
|
+
async function getWebhookMessage(rest, applicationId, token, messageId) {
|
|
205
|
+
return await rest.get(Routes.webhookMessage(applicationId, token, normalizeDiscordWebhookMessageId(messageId)));
|
|
206
|
+
}
|
|
207
|
+
async function createWebhookMessage(rest, applicationId, token, data, query) {
|
|
208
|
+
return await rest.post(Routes.webhook(applicationId, token), data, query);
|
|
209
|
+
}
|
|
210
|
+
//#endregion
|
|
198
211
|
//#region extensions/discord/src/internal/api.reactions.ts
|
|
199
212
|
async function createOwnMessageReaction(rest, channelId, messageId, encodedEmoji) {
|
|
200
|
-
await rest.put(Routes.channelMessageOwnReaction(channelId, messageId, encodedEmoji));
|
|
213
|
+
await rest.put(Routes.channelMessageOwnReaction(channelId, normalizeDiscordMessageId(messageId), encodedEmoji));
|
|
201
214
|
}
|
|
202
215
|
async function deleteOwnMessageReaction(rest, channelId, messageId, encodedEmoji) {
|
|
203
|
-
await rest.delete(Routes.channelMessageOwnReaction(channelId, messageId, encodedEmoji));
|
|
216
|
+
await rest.delete(Routes.channelMessageOwnReaction(channelId, normalizeDiscordMessageId(messageId), encodedEmoji));
|
|
204
217
|
}
|
|
205
218
|
async function listMessageReactionUsers(rest, channelId, messageId, encodedEmoji, query) {
|
|
206
|
-
return await rest.get(Routes.channelMessageReaction(channelId, messageId, encodedEmoji), query);
|
|
219
|
+
return await rest.get(Routes.channelMessageReaction(channelId, normalizeDiscordMessageId(messageId), encodedEmoji), query);
|
|
207
220
|
}
|
|
208
221
|
//#endregion
|
|
209
222
|
//#region extensions/discord/src/internal/api.users.ts
|
|
@@ -1976,6 +1989,21 @@ function readMessageChannelId(rawData) {
|
|
|
1976
1989
|
return typeof channelId === "string" ? channelId : void 0;
|
|
1977
1990
|
}
|
|
1978
1991
|
//#endregion
|
|
1992
|
+
//#region extensions/discord/src/internal/request-authority.ts
|
|
1993
|
+
const requestAuthority = resolveGlobalSingleton(Symbol.for("openclaw.discord.requestAuthority"), () => new AsyncLocalStorage());
|
|
1994
|
+
/** Carry the host's existing assertion without changing its lifetime or ownership. */
|
|
1995
|
+
function withDiscordRequestAuthority(assertCurrent, run) {
|
|
1996
|
+
if (!assertCurrent) return run();
|
|
1997
|
+
const inherited = requestAuthority.getStore();
|
|
1998
|
+
return requestAuthority.run(inherited && inherited !== assertCurrent ? () => {
|
|
1999
|
+
inherited();
|
|
2000
|
+
assertCurrent();
|
|
2001
|
+
} : assertCurrent, run);
|
|
2002
|
+
}
|
|
2003
|
+
function captureDiscordRequestAuthority() {
|
|
2004
|
+
return requestAuthority.getStore();
|
|
2005
|
+
}
|
|
2006
|
+
//#endregion
|
|
1979
2007
|
//#region extensions/discord/src/internal/rest-body.ts
|
|
1980
2008
|
function serializeRequestBody(data, headers) {
|
|
1981
2009
|
if (data?.headers) for (const [key, value] of Object.entries(data.headers)) headers.set(key, value);
|
|
@@ -2644,18 +2672,24 @@ function isZlibMaxOutputLengthError(err) {
|
|
|
2644
2672
|
var RequestClient = class {
|
|
2645
2673
|
constructor(token, options) {
|
|
2646
2674
|
this.requestControllers = /* @__PURE__ */ new Set();
|
|
2675
|
+
const endpoint = getDiscordEndpointRuntime();
|
|
2676
|
+
const resolvedOptions = endpoint ? {
|
|
2677
|
+
...options,
|
|
2678
|
+
apiBaseUrl: endpoint.descriptor.restApiBaseUrl,
|
|
2679
|
+
fetch: endpoint.fetch
|
|
2680
|
+
} : options;
|
|
2647
2681
|
this.token = token.replace(/^Bot\s+/i, "");
|
|
2648
|
-
this.customFetch =
|
|
2649
|
-
this.options = normalizeRequestClientOptions(
|
|
2682
|
+
this.customFetch = resolvedOptions?.fetch;
|
|
2683
|
+
this.options = normalizeRequestClientOptions(resolvedOptions);
|
|
2650
2684
|
this.scheduler = new RestScheduler({
|
|
2651
2685
|
lanes: normalizeSchedulerLanes(this.options.maxQueueSize, this.options.scheduler?.lanes),
|
|
2652
2686
|
maxConcurrency: resolveIntegerOption(this.options.scheduler?.maxConcurrency, DEFAULT_MAX_CONCURRENT_WORKERS, { min: 1 }),
|
|
2653
2687
|
maxQueueSize: this.options.maxQueueSize,
|
|
2654
2688
|
maxRateLimitRetries: resolveIntegerOption(this.options.scheduler?.maxRateLimitRetries, 3, { min: 0 })
|
|
2655
2689
|
}, async (request) => await this.executeRequest(request.method, request.path, {
|
|
2656
|
-
data: request.data,
|
|
2690
|
+
data: request.data?.data,
|
|
2657
2691
|
query: request.query
|
|
2658
|
-
}, request.routeKey));
|
|
2692
|
+
}, request.routeKey, request.data?.assertCurrent));
|
|
2659
2693
|
}
|
|
2660
2694
|
async get(path, query) {
|
|
2661
2695
|
return await this.request("GET", path, { query });
|
|
@@ -2686,16 +2720,27 @@ var RequestClient = class {
|
|
|
2686
2720
|
}
|
|
2687
2721
|
async request(method, path, params) {
|
|
2688
2722
|
const routeKey = createRouteKey(method, path);
|
|
2689
|
-
|
|
2723
|
+
const assertActionAuthority = captureDiscordRequestAuthority();
|
|
2724
|
+
const assertReadAuthority = captureChannelReadAuthority();
|
|
2725
|
+
const assertCurrent = assertActionAuthority ? () => {
|
|
2726
|
+
assertActionAuthority();
|
|
2727
|
+
assertReadAuthority?.();
|
|
2728
|
+
} : assertReadAuthority;
|
|
2729
|
+
assertCurrent?.();
|
|
2730
|
+
if (!this.options.queueRequests) return await this.executeRequest(method, path, params, routeKey, assertCurrent);
|
|
2690
2731
|
return await this.scheduler.enqueue({
|
|
2691
2732
|
method,
|
|
2692
2733
|
path,
|
|
2693
2734
|
priority: getRequestPriority(method, path),
|
|
2694
|
-
|
|
2735
|
+
query: params.query,
|
|
2736
|
+
data: {
|
|
2737
|
+
data: params.data,
|
|
2738
|
+
assertCurrent
|
|
2739
|
+
}
|
|
2695
2740
|
});
|
|
2696
2741
|
}
|
|
2697
|
-
async executeRequest(method, path, params, routeKey = createRouteKey(method, path)) {
|
|
2698
|
-
const url = `${this.options.
|
|
2742
|
+
async executeRequest(method, path, params, routeKey = createRouteKey(method, path), assertCurrent) {
|
|
2743
|
+
const url = `${this.options.apiBaseUrl}${appendQuery(path, params.query)}`;
|
|
2699
2744
|
const headers = new Headers({ "User-Agent": this.options.userAgent ?? defaultOptions.userAgent });
|
|
2700
2745
|
if (this.token !== "webhook") headers.set("Authorization", `${this.options.tokenHeader ?? "Bot"} ${this.token}`);
|
|
2701
2746
|
const body = serializeRequestBody(params.data, headers);
|
|
@@ -2705,12 +2750,14 @@ var RequestClient = class {
|
|
|
2705
2750
|
const signal = this.options.signal ? AbortSignal.any([this.options.signal, controller.signal]) : controller.signal;
|
|
2706
2751
|
this.requestControllers.add(controller);
|
|
2707
2752
|
try {
|
|
2708
|
-
|
|
2753
|
+
assertCurrent?.();
|
|
2754
|
+
const init = {
|
|
2709
2755
|
method,
|
|
2710
2756
|
headers,
|
|
2711
2757
|
body,
|
|
2712
2758
|
signal
|
|
2713
|
-
}
|
|
2759
|
+
};
|
|
2760
|
+
const response = this.customFetch && assertCurrent ? await this.customFetch(url, init, assertCurrent) : await (this.customFetch ?? fetch)(url, init);
|
|
2714
2761
|
const parsed = coerceResponseBody(await readResponseBodyText(response, this.options.timeout ?? 15e3));
|
|
2715
2762
|
this.scheduler.recordResponse(routeKey, path, response, parsed);
|
|
2716
2763
|
if (response.status === 204) return;
|
|
@@ -2754,9 +2801,11 @@ function normalizeRequestClientOptions(options) {
|
|
|
2754
2801
|
...defaultOptions,
|
|
2755
2802
|
...options
|
|
2756
2803
|
};
|
|
2804
|
+
const apiVersion = resolveIntegerOption(merged.apiVersion, defaultOptions.apiVersion, { min: 1 });
|
|
2757
2805
|
return {
|
|
2758
2806
|
...merged,
|
|
2759
|
-
|
|
2807
|
+
apiBaseUrl: options?.apiBaseUrl ?? `${options?.baseUrl ?? defaultOptions.baseUrl}/v${apiVersion}`,
|
|
2808
|
+
apiVersion,
|
|
2760
2809
|
timeout: clampTimerTimeoutMs(merged.timeout, 1) ?? resolveTimerTimeoutMs(defaultOptions.timeout, 1),
|
|
2761
2810
|
maxQueueSize: resolveIntegerOption(merged.maxQueueSize, defaultOptions.maxQueueSize, { min: 1 })
|
|
2762
2811
|
};
|
|
@@ -3067,6 +3116,7 @@ var discord_exports = /* @__PURE__ */ __exportAll({
|
|
|
3067
3116
|
listGuildScheduledEvents: () => listGuildScheduledEvents,
|
|
3068
3117
|
listMessageReactionUsers: () => listMessageReactionUsers,
|
|
3069
3118
|
moveGuildChannels: () => moveGuildChannels,
|
|
3119
|
+
normalizeDiscordMessageId: () => normalizeDiscordMessageId,
|
|
3070
3120
|
overwriteApplicationCommands: () => overwriteApplicationCommands,
|
|
3071
3121
|
overwriteGuildApplicationCommands: () => overwriteGuildApplicationCommands,
|
|
3072
3122
|
parseComponentInteractionData: () => parseComponentInteractionData,
|
|
@@ -3085,4 +3135,4 @@ var discord_exports = /* @__PURE__ */ __exportAll({
|
|
|
3085
3135
|
import * as import_discord_api_types_v10 from "discord-api-types/v10";
|
|
3086
3136
|
__reExport(discord_exports, import_discord_api_types_v10);
|
|
3087
3137
|
//#endregion
|
|
3088
|
-
export {
|
|
3138
|
+
export { parseCustomId as $, serializePayload as A, getGuild as At, File as B, removeGuildMember as Bt, withDiscordRequestAuthority as C, addGuildMemberRole as Ct, Message as D, createGuildScheduledEvent as Dt, Guild as E, createGuildEmoji as Et, RadioGroup as F, listGuildEmojis as Ft, Row as G, MediaGallery as H, timeoutGuildMember as Ht, TextInput as I, listGuildRoles as It, StringSelectMenu as J, Section as K, Button as L, listGuildScheduledEvents as Lt, CheckboxGroup as M, getGuildVoiceState as Mt, Label as N, listGuildActiveThreads as Nt, User as O, createGuildSticker as Ot, Modal as P, listGuildChannels as Pt, BaseMessageInteractiveComponent as Q, ChannelSelectMenu as R, moveGuildChannels as Rt, readRetryAfter as S, unpinChannelMessage as St, CommandWithSubcommands as T, createGuildChannel as Tt, MentionableSelectMenu as U, __exportAll as Ut, LinkButton as V, removeGuildMemberRole as Vt, RoleSelectMenu as W, Thumbnail as X, TextDisplay as Y, UserSelectMenu as Z, DiscordError as _, listChannelMessages as _t, MessageCreateListener as a, deleteOwnMessageReaction as at, readDiscordCode as b, searchGuildMessages as bt, PresenceUpdateListener as c, createThread as ct, ThreadDeleteListener as d, editChannel as dt, stripUndefinedFields as et, ThreadUpdateListener as f, editChannelMessage as ft, RequestClient as g, listChannelArchivedThreads as gt, Plugin as h, getThreadMember as ht, InteractionCreateListener as i, createOwnMessageReaction as it, Embed as j, getGuildMember as jt, hasDiscordV2Components as k, deleteChannelPermission as kt, ReadyListener as l, deleteChannel as lt, Client as m, getChannelMessage as mt, GuildCreateListener as n, createUserDmChannel as nt, MessageReactionAddListener as o, listMessageReactionUsers as ot, VoiceStateUpdateListener as p, getChannel as pt, Separator as q, GuildDeleteListener as r, getCurrentUser as rt, MessageReactionRemoveListener as s, createChannelMessage as st, discord_exports as t, createChannelWebhook as tt, ResumedListener as u, deleteChannelMessage as ut, RateLimitError as v, listChannelPins as vt, Command as w, createGuildBan as wt, readDiscordMessage as x, sendChannelTyping as xt, isUnknownDiscordVoiceStateError as y, pinChannelMessage as yt, Container as z, putChannelPermission as zt };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { s as resolveDefaultDiscordAccountId } from "./accounts-CwJQoLjM.
|
|
2
|
-
import { t as discordVoiceTranscriptsSourceProvider } from "./transcripts-source-
|
|
3
|
-
import { t as inspectDiscordAccount } from "./account-inspect-
|
|
4
|
-
import { r as DISCORD_LEGACY_CONFIG_RULES } from "./shared-
|
|
5
|
-
import { n as normalizeCompatibilityConfig } from "./doctor-contract-Co5vRCZ6.
|
|
6
|
-
import { t as isDiscordMutableAllowEntry } from "./security-doctor-nGgPm65L.
|
|
1
|
+
import { s as resolveDefaultDiscordAccountId } from "./accounts-CwJQoLjM.mjs";
|
|
2
|
+
import { t as discordVoiceTranscriptsSourceProvider } from "./transcripts-source-CuWYgayu.mjs";
|
|
3
|
+
import { t as inspectDiscordAccount } from "./account-inspect-BwQj24ht.mjs";
|
|
4
|
+
import { r as DISCORD_LEGACY_CONFIG_RULES } from "./shared-CaA3Vv4n.mjs";
|
|
5
|
+
import { n as normalizeCompatibilityConfig } from "./doctor-contract-Co5vRCZ6.mjs";
|
|
6
|
+
import { t as isDiscordMutableAllowEntry } from "./security-doctor-nGgPm65L.mjs";
|
|
7
7
|
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
8
8
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { asObjectRecord, collectChannelAccountScopes, collectProviderDangerousNameMatchingScopes } from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
package/dist/{handle-action.guild-admin-D4XdoA8-.js → .setup/handle-action.guild-admin-DAFyh_yV.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as readDiscordChannelMoveParams, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-
|
|
2
|
-
import "
|
|
3
|
-
import {
|
|
1
|
+
import { c as readDiscordChannelMoveParams, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-SchNfUsQ.mjs";
|
|
2
|
+
import "../action-runtime-api.js";
|
|
3
|
+
import { y as isTrustedRequesterGuildAdminAction } from "./outbound-session-route-CqWbuMOm.mjs";
|
|
4
4
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
|
|
6
6
|
import { readNonNegativeIntegerParam, readPositiveIntegerParam, readStringArrayParam, readStringParam } from "openclaw/plugin-sdk/agent-runtime";
|
|
@@ -8,7 +8,12 @@ import { readNonNegativeIntegerParam, readPositiveIntegerParam, readStringArrayP
|
|
|
8
8
|
function readDiscordRequesterSenderId(ctx) {
|
|
9
9
|
const currentProvider = normalizeOptionalString(ctx.toolContext?.currentChannelProvider);
|
|
10
10
|
if (currentProvider?.toLowerCase() === "discord") return normalizeOptionalString(ctx.requesterSenderId);
|
|
11
|
-
if (
|
|
11
|
+
if (ctx.action === "channel-edit" && !currentProvider && ctx.senderIsOwner === false && ctx.assertDirectAdapterHandoff && ctx.accountId && ctx.requesterAccountId === ctx.accountId) {
|
|
12
|
+
ctx.assertDirectAdapterHandoff();
|
|
13
|
+
const requester = normalizeOptionalString(ctx.requesterSenderId);
|
|
14
|
+
if (requester) return requester;
|
|
15
|
+
}
|
|
16
|
+
if (isTrustedRequesterGuildAdminAction(ctx.action) && (currentProvider || ctx.senderIsOwner !== true)) throw new Error("Discord guild admin actions require a trusted Discord sender identity." + (ctx.action === "channel-edit" && !currentProvider ? " Recreate an automation without recorded execution authorization from a fresh authenticated Discord turn that can manage automations." : ""));
|
|
12
17
|
}
|
|
13
18
|
function senderParam(senderUserId) {
|
|
14
19
|
return senderUserId ? { senderUserId } : {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as normalizeDiscordAllowList } from "./channel-type-DKnjV1XW.mjs";
|
|
2
2
|
import { defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
3
3
|
//#region extensions/discord/src/monitor/ingress-identity.ts
|
|
4
4
|
const DISCORD_ALLOW_LIST_PREFIXES = [
|