@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,4 +1,4 @@
|
|
|
1
|
-
import { t as isDiscordMutableAllowEntry } from "./security-doctor-nGgPm65L.
|
|
1
|
+
import { t as isDiscordMutableAllowEntry } from "./security-doctor-nGgPm65L.mjs";
|
|
2
2
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { readChannelAllowFromStore } from "openclaw/plugin-sdk/conversation-runtime";
|
|
4
4
|
import { coerceNativeSetting, normalizeAllowFromList } from "openclaw/plugin-sdk/channel-policy";
|
package/dist/{security-audit.runtime-sKZyKgpx.js → .setup/security-audit.runtime-DHtYenx9.mjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as collectDiscordSecurityAuditFindings } from "./security-audit-
|
|
1
|
+
import { t as collectDiscordSecurityAuditFindings } from "./security-audit-s5w50-Ly.mjs";
|
|
2
2
|
export { collectDiscordSecurityAuditFindings };
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { At as
|
|
2
|
-
import {
|
|
3
|
-
import { a as recordDiscordMessageCreateAmbiguity, c as createDiscordSendReceiptFromResults, l as createDiscordSendResult, n as classifyDiscordDeliveryFailure, o as chunkDiscordTextWithMode, r as createDiscordRetryRunner } from "./retry-
|
|
4
|
-
import { C as hasAllGuildPermissionsDiscord, I as resolveDiscordClientAccountContext, K as parseAndResolveChannelRecipient, L as resolveDiscordRest, M as resolveDiscordSuppressEmbeds, N as createDiscordClient, O as createDiscordMessageNonce, R as DISCORD_REST_TIMEOUT_MS, S as fetchMemberGuildPermissionsDiscord, T as hasAnyGuildPermissionDiscord, _ as DiscordSendError, b as canViewDiscordGuildChannel, g as DISCORD_MAX_STICKER_BYTES, h as DISCORD_MAX_EVENT_COVER_BYTES, i as formatReactionEmoji, k as resolveDiscordMessageFlags, l as resolveChannelId, m as DISCORD_MAX_EMOJI_BYTES, n as buildDiscordTextChunks, o as normalizeEmojiName, p as sendDiscordText, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, v as canManageGuildMemberRoleDiscord, w as hasAnyChannelPermissionDiscord, x as fetchChannelPermissionsDiscord, y as canManageGuildRoleDiscord } from "./send.shared-
|
|
5
|
-
import { i as prepareDiscordOutboundText, n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-
|
|
6
|
-
import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS } from "./timeouts-D86uWLt_.
|
|
1
|
+
import { At as getGuild, Bt as removeGuildMember, C as withDiscordRequestAuthority, Ct as addGuildMemberRole, Dt as createGuildScheduledEvent, Et as createGuildEmoji, Ft as listGuildEmojis, Ht as timeoutGuildMember, It as listGuildRoles, Lt as listGuildScheduledEvents, Mt as getGuildVoiceState, Nt as listGuildActiveThreads, Ot as createGuildSticker, Pt as listGuildChannels, Rt as moveGuildChannels, S as readRetryAfter, St as unpinChannelMessage, Tt as createGuildChannel, Ut as __exportAll, Vt as removeGuildMemberRole, _ as DiscordError, _t as listChannelMessages, at as deleteOwnMessageReaction, b as readDiscordCode, bt as searchGuildMessages, ct as createThread, dt as editChannel, ft as editChannelMessage, gt as listChannelArchivedThreads, it as createOwnMessageReaction, jt as getGuildMember, kt as deleteChannelPermission, lt as deleteChannel, mt as getChannelMessage, ot as listMessageReactionUsers, pt as getChannel, ut as deleteChannelMessage, v as RateLimitError, vt as listChannelPins, wt as createGuildBan, x as readDiscordMessage, xt as sendChannelTyping, y as isUnknownDiscordVoiceStateError, yt as pinChannelMessage, zt as putChannelPermission } from "./discord-BXpHW-cu.mjs";
|
|
2
|
+
import { D as resolveDiscordEndpointAttachmentGuard, E as getDiscordEndpointRuntime, w as parseDiscordRetryAfterBodySeconds } from "./channel-type-DKnjV1XW.mjs";
|
|
3
|
+
import { a as recordDiscordMessageCreateAmbiguity, c as createDiscordSendReceiptFromResults, d as createReusableDiscordReplyReference, f as resolveDiscordReplyMessageId, l as createDiscordSendResult, n as classifyDiscordDeliveryFailure, o as chunkDiscordTextWithMode, r as createDiscordRetryRunner } from "./retry-DBfcEgmO.mjs";
|
|
4
|
+
import { C as hasAllGuildPermissionsDiscord, I as resolveDiscordClientAccountContext, K as parseAndResolveChannelRecipient, L as resolveDiscordRest, M as resolveDiscordSuppressEmbeds, N as createDiscordClient, O as createDiscordMessageNonce, R as DISCORD_REST_TIMEOUT_MS, S as fetchMemberGuildPermissionsDiscord, T as hasAnyGuildPermissionDiscord, _ as DiscordSendError, b as canViewDiscordGuildChannel, g as DISCORD_MAX_STICKER_BYTES, h as DISCORD_MAX_EVENT_COVER_BYTES, i as formatReactionEmoji, k as resolveDiscordMessageFlags, l as resolveChannelId, m as DISCORD_MAX_EMOJI_BYTES, n as buildDiscordTextChunks, o as normalizeEmojiName, p as sendDiscordText, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, v as canManageGuildMemberRoleDiscord, w as hasAnyChannelPermissionDiscord, x as fetchChannelPermissionsDiscord, y as canManageGuildRoleDiscord } from "./send.shared-Zwx6BxQ5.mjs";
|
|
5
|
+
import { i as prepareDiscordOutboundText, n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-D0hQ7s50.mjs";
|
|
6
|
+
import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS } from "./timeouts-D86uWLt_.mjs";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import { ChannelType } from "discord-api-types/v10";
|
|
9
9
|
import crypto from "node:crypto";
|
|
10
10
|
import { parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs, timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
|
|
11
11
|
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
12
|
-
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
13
|
-
import { readProviderJsonResponse, readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
|
|
14
12
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
13
|
+
import { formatErrorMessage as formatErrorMessage$1 } from "openclaw/plugin-sdk/error-runtime";
|
|
14
|
+
import { readProviderJsonResponse, readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
|
|
15
15
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
16
16
|
import { recordChannelActivity } from "openclaw/plugin-sdk/channel-activity-runtime";
|
|
17
17
|
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
@@ -270,7 +270,7 @@ function describeDiscordThreadInitialMessageFailure(delivery) {
|
|
|
270
270
|
}
|
|
271
271
|
var DiscordThreadInitialMessageError = class extends Error {
|
|
272
272
|
constructor(thread, error, initialMessageDelivery) {
|
|
273
|
-
const initialMessageError = formatErrorMessage(error);
|
|
273
|
+
const initialMessageError = formatErrorMessage$1(error);
|
|
274
274
|
const initialMessageWarning = describeDiscordThreadInitialMessageFailure(initialMessageDelivery);
|
|
275
275
|
super(`${initialMessageWarning}: ${initialMessageError}`, { cause: error });
|
|
276
276
|
this.name = "DiscordThreadInitialMessageError";
|
|
@@ -449,19 +449,16 @@ async function sendWebhookMessageDiscord(text, opts) {
|
|
|
449
449
|
const webhookId = normalizeOptionalString(opts.webhookId) ?? "";
|
|
450
450
|
const webhookToken = normalizeOptionalString(opts.webhookToken) ?? "";
|
|
451
451
|
if (!webhookId || !webhookToken) throw new Error("Discord webhook id/token are required");
|
|
452
|
-
const
|
|
453
|
-
const messageReference = replyTo ? {
|
|
454
|
-
message_id: replyTo,
|
|
455
|
-
fail_if_not_exists: false
|
|
456
|
-
} : void 0;
|
|
452
|
+
const reply = typeof opts.replyTo === "string" ? createReusableDiscordReplyReference(normalizeOptionalString(opts.replyTo)) : opts.replyTo;
|
|
457
453
|
const { account, proxyFetch } = resolveDiscordClientAccountContext({
|
|
458
454
|
cfg: opts.cfg,
|
|
459
455
|
accountId: opts.accountId
|
|
460
456
|
});
|
|
461
|
-
const { textWithMentions } = prepareDiscordOutboundText(text, {
|
|
457
|
+
const { textWithMentions, textLimit } = prepareDiscordOutboundText(text, {
|
|
462
458
|
cfg: opts.cfg,
|
|
463
459
|
account,
|
|
464
|
-
tableMode: opts.tableMode
|
|
460
|
+
tableMode: opts.tableMode,
|
|
461
|
+
textLimit: opts.chunking?.maxChars
|
|
465
462
|
});
|
|
466
463
|
const flags = resolveDiscordMessageFlags({ suppressEmbeds: resolveDiscordSuppressEmbeds({ configured: account.config.suppressEmbeds }) });
|
|
467
464
|
const threadConversationId = opts.threadId == null ? "" : String(opts.threadId).trim();
|
|
@@ -471,7 +468,9 @@ async function sendWebhookMessageDiscord(text, opts) {
|
|
|
471
468
|
conversationId: threadConversationId,
|
|
472
469
|
sourceId: webhookId
|
|
473
470
|
});
|
|
474
|
-
const
|
|
471
|
+
const endpoint = getDiscordEndpointRuntime();
|
|
472
|
+
const restApiBaseUrl = endpoint?.descriptor.restApiBaseUrl ?? "https://discord.com/api/v10";
|
|
473
|
+
const url = new URL(`${restApiBaseUrl}/webhooks/${encodeURIComponent(webhookId)}/${encodeURIComponent(webhookToken)}`);
|
|
475
474
|
url.searchParams.set("wait", opts.wait === false ? "false" : "true");
|
|
476
475
|
if (opts.threadId != null && opts.threadId !== "") url.searchParams.set("thread_id", String(opts.threadId));
|
|
477
476
|
const deadline = buildTimeoutAbortSignal({
|
|
@@ -479,14 +478,22 @@ async function sendWebhookMessageDiscord(text, opts) {
|
|
|
479
478
|
operation: "discord.webhook.send"
|
|
480
479
|
});
|
|
481
480
|
const request = createDiscordRetryRunner({ signal: deadline.signal });
|
|
482
|
-
const chunks = chunkDiscordTextWithMode(textWithMentions, {
|
|
481
|
+
const chunks = chunkDiscordTextWithMode(textWithMentions, {
|
|
482
|
+
maxChars: textLimit,
|
|
483
|
+
maxLines: opts.chunking ? opts.chunking.maxLines ?? account.config.maxLinesPerMessage : Number.MAX_SAFE_INTEGER
|
|
484
|
+
});
|
|
483
485
|
const results = [];
|
|
484
486
|
try {
|
|
485
487
|
for (const content of chunks.length ? chunks : [""]) {
|
|
488
|
+
const replyTo = resolveDiscordReplyMessageId(reply, results.length === 0);
|
|
489
|
+
const messageReference = replyTo ? {
|
|
490
|
+
message_id: replyTo,
|
|
491
|
+
fail_if_not_exists: false
|
|
492
|
+
} : void 0;
|
|
486
493
|
const response = await request(async () => {
|
|
487
494
|
await opts.onPlatformSendDispatch?.();
|
|
488
495
|
opts.assertPlatformSendAuthorized?.();
|
|
489
|
-
const attemptResponse = await (proxyFetch ?? fetch)(url.toString(), {
|
|
496
|
+
const attemptResponse = await (endpoint?.fetch ?? proxyFetch ?? fetch)(url.toString(), {
|
|
490
497
|
method: "POST",
|
|
491
498
|
headers: { "content-type": "application/json" },
|
|
492
499
|
body: JSON.stringify({
|
|
@@ -517,7 +524,7 @@ async function sendWebhookMessageDiscord(text, opts) {
|
|
|
517
524
|
fallbackChannelId: opts.threadId ? String(opts.threadId) : "",
|
|
518
525
|
kind: "text",
|
|
519
526
|
...opts.threadId != null ? { threadId: opts.threadId } : {},
|
|
520
|
-
|
|
527
|
+
reply: createReusableDiscordReplyReference(replyTo)
|
|
521
528
|
});
|
|
522
529
|
const resultConversationId = result.channelId.trim();
|
|
523
530
|
if (result.messageId && resultConversationId) recordOutboundMessageIdentity({
|
|
@@ -595,7 +602,7 @@ async function getAudioDuration(filePath) {
|
|
|
595
602
|
if (duration === void 0) throw new Error("Could not parse duration");
|
|
596
603
|
return Math.round(duration * 100) / 100;
|
|
597
604
|
} catch (err) {
|
|
598
|
-
const errMessage = formatErrorMessage(err);
|
|
605
|
+
const errMessage = formatErrorMessage$1(err);
|
|
599
606
|
throw new Error(`Failed to get audio duration: ${errMessage}`, { cause: err });
|
|
600
607
|
}
|
|
601
608
|
}
|
|
@@ -726,14 +733,18 @@ async function ensureOggOpus(filePath) {
|
|
|
726
733
|
};
|
|
727
734
|
}
|
|
728
735
|
/**
|
|
729
|
-
*
|
|
736
|
+
* Wait for waveform cleanup before callers can release the audio input.
|
|
730
737
|
*/
|
|
731
738
|
async function getVoiceMessageMetadata(filePath) {
|
|
732
|
-
const
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
739
|
+
const waveform = generateWaveform(filePath);
|
|
740
|
+
try {
|
|
741
|
+
return {
|
|
742
|
+
durationSecs: await getAudioDuration(filePath),
|
|
743
|
+
waveform: await waveform
|
|
744
|
+
};
|
|
745
|
+
} finally {
|
|
746
|
+
await waveform;
|
|
747
|
+
}
|
|
737
748
|
}
|
|
738
749
|
function coerceDiscordErrorBody(raw) {
|
|
739
750
|
if (!raw) return;
|
|
@@ -753,7 +764,8 @@ async function createVoiceRequestError(response, fallbackMessage) {
|
|
|
753
764
|
return new DiscordError(response, parsed ?? { message: fallbackMessage });
|
|
754
765
|
}
|
|
755
766
|
async function requestVoiceUploadUrl(params) {
|
|
756
|
-
const
|
|
767
|
+
const endpoint = params.endpointRuntime;
|
|
768
|
+
const url = `${endpoint?.descriptor.restApiBaseUrl ?? params.rest.options?.baseUrl ?? "https://discord.com/api"}/channels/${params.channelId}/attachments`;
|
|
757
769
|
const uploadUrlInit = {
|
|
758
770
|
method: "POST",
|
|
759
771
|
headers: {
|
|
@@ -766,7 +778,13 @@ async function requestVoiceUploadUrl(params) {
|
|
|
766
778
|
id: "0"
|
|
767
779
|
}] })
|
|
768
780
|
};
|
|
769
|
-
const { response: res, release } =
|
|
781
|
+
const { response: res, release } = endpoint ? {
|
|
782
|
+
response: await endpoint.fetch(url, {
|
|
783
|
+
...uploadUrlInit,
|
|
784
|
+
signal: AbortSignal.timeout(params.rest.options.timeout)
|
|
785
|
+
}),
|
|
786
|
+
release: async () => {}
|
|
787
|
+
} : await fetchWithSsrFGuard({
|
|
770
788
|
url,
|
|
771
789
|
init: uploadUrlInit,
|
|
772
790
|
timeoutMs: params.rest.options.timeout,
|
|
@@ -781,6 +799,7 @@ async function requestVoiceUploadUrl(params) {
|
|
|
781
799
|
}
|
|
782
800
|
}
|
|
783
801
|
async function uploadVoiceAttachment(params) {
|
|
802
|
+
const endpointGuard = resolveDiscordEndpointAttachmentGuard(params.uploadUrl, params.endpointRuntime);
|
|
784
803
|
const { response: uploadResponse, release } = await fetchWithSsrFGuard({
|
|
785
804
|
url: params.uploadUrl,
|
|
786
805
|
init: {
|
|
@@ -789,7 +808,11 @@ async function uploadVoiceAttachment(params) {
|
|
|
789
808
|
body: new Uint8Array(params.audioBuffer)
|
|
790
809
|
},
|
|
791
810
|
timeoutMs: DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
|
|
792
|
-
policy: DISCORD_VOICE_UPLOAD_SSRF_POLICY,
|
|
811
|
+
policy: endpointGuard?.policy ?? DISCORD_VOICE_UPLOAD_SSRF_POLICY,
|
|
812
|
+
...endpointGuard ? {
|
|
813
|
+
maxRedirects: endpointGuard.maxRedirects,
|
|
814
|
+
requireHttps: endpointGuard.requireHttps
|
|
815
|
+
} : {},
|
|
793
816
|
auditContext: "discord.voice.attachment-upload"
|
|
794
817
|
});
|
|
795
818
|
try {
|
|
@@ -810,11 +833,13 @@ async function uploadVoiceAttachment(params) {
|
|
|
810
833
|
async function sendDiscordVoiceMessage(rest, channelId, audioBuffer, metadata, replyTo, request, silent, token, onPlatformSendDispatch, assertPlatformSendAuthorized) {
|
|
811
834
|
const filename = "voice-message.ogg";
|
|
812
835
|
const fileSize = audioBuffer.byteLength;
|
|
836
|
+
const endpointRuntime = getDiscordEndpointRuntime() ?? null;
|
|
813
837
|
const botToken = token;
|
|
814
838
|
if (!botToken) throw new Error("Discord bot token is required for voice message upload");
|
|
815
839
|
const { upload_filename } = await request(async () => {
|
|
816
840
|
const uploadUrlResponse = await requestVoiceUploadUrl({
|
|
817
841
|
rest,
|
|
842
|
+
endpointRuntime,
|
|
818
843
|
channelId,
|
|
819
844
|
botToken,
|
|
820
845
|
filename,
|
|
@@ -824,7 +849,8 @@ async function sendDiscordVoiceMessage(rest, channelId, audioBuffer, metadata, r
|
|
|
824
849
|
const attachment = uploadUrlResponse.attachments[0];
|
|
825
850
|
await uploadVoiceAttachment({
|
|
826
851
|
uploadUrl: attachment.upload_url,
|
|
827
|
-
audioBuffer
|
|
852
|
+
audioBuffer,
|
|
853
|
+
endpointRuntime
|
|
828
854
|
});
|
|
829
855
|
return attachment;
|
|
830
856
|
}, "voice-upload");
|
|
@@ -897,6 +923,9 @@ async function withMaterializedVoiceMessageInput(mediaUrl, opts, run) {
|
|
|
897
923
|
* @param opts - Send options
|
|
898
924
|
*/
|
|
899
925
|
async function sendVoiceMessageDiscord(to, audioPath, opts) {
|
|
926
|
+
return await withDiscordRequestAuthority(opts.assertPlatformSendAuthorized, () => sendVoiceMessageDiscordInternal(to, audioPath, opts));
|
|
927
|
+
}
|
|
928
|
+
async function sendVoiceMessageDiscordInternal(to, audioPath, opts) {
|
|
900
929
|
const cfg = requireRuntimeConfig(opts.cfg, "Discord voice send");
|
|
901
930
|
return await withMaterializedVoiceMessageInput(audioPath, opts, async (localInputPath) => {
|
|
902
931
|
let oggPath = null;
|
|
@@ -1,32 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as buildDiscordComponentMessage, f as buildDiscordComponentMessageFlags, g as resolveDiscordComponentAttachmentName } from "./components-
|
|
3
|
-
import { n as getOptionalDiscordRuntime } from "./runtime-DgnVQ7zW.
|
|
4
|
-
import { l as createDiscordSendResult } from "./retry-
|
|
5
|
-
import { E as SUPPRESS_NOTIFICATIONS_FLAG, K as parseAndResolveChannelRecipient, N as createDiscordClient, O as createDiscordMessageNonce, l as resolveChannelId, t as buildDiscordSendError, u as resolveDiscordChannel } from "./send.shared-
|
|
6
|
-
import { t as sendMessageDiscord } from "./send.outbound-
|
|
1
|
+
import { A as serializePayload, C as withDiscordRequestAuthority, Ut as __exportAll, ft as editChannelMessage, st as createChannelMessage } from "./discord-BXpHW-cu.mjs";
|
|
2
|
+
import { d as buildDiscordComponentMessage, f as buildDiscordComponentMessageFlags, g as resolveDiscordComponentAttachmentName } from "./components-MqMWUWnE.mjs";
|
|
3
|
+
import { n as getOptionalDiscordRuntime } from "./runtime-DgnVQ7zW.mjs";
|
|
4
|
+
import { l as createDiscordSendResult } from "./retry-DBfcEgmO.mjs";
|
|
5
|
+
import { E as SUPPRESS_NOTIFICATIONS_FLAG, K as parseAndResolveChannelRecipient, N as createDiscordClient, O as createDiscordMessageNonce, l as resolveChannelId, t as buildDiscordSendError, u as resolveDiscordChannel } from "./send.shared-Zwx6BxQ5.mjs";
|
|
6
|
+
import { t as sendMessageDiscord } from "./send.outbound-D0hQ7s50.mjs";
|
|
7
7
|
import { ChannelType } from "discord-api-types/v10";
|
|
8
8
|
import { asDateTimestampMs, isFutureDateTimestampMs, resolveDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
|
|
9
|
+
import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
|
|
9
10
|
import { hasNonEmptyString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
11
|
import { recordChannelActivity } from "openclaw/plugin-sdk/channel-activity-runtime";
|
|
11
12
|
import { extensionForMime } from "openclaw/plugin-sdk/media-mime";
|
|
12
13
|
import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
|
|
13
14
|
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
14
15
|
import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
|
|
15
|
-
import {
|
|
16
|
+
import { createAsyncLock } from "openclaw/plugin-sdk/async-lock-runtime";
|
|
16
17
|
//#region extensions/discord/src/components-registry-state.ts
|
|
17
18
|
const discordComponentRegistryState = resolveGlobalSingleton(Symbol.for("openclaw.discord.componentRegistryState"), () => ({
|
|
19
|
+
withRegistryLock: createAsyncLock(),
|
|
18
20
|
componentEntries: /* @__PURE__ */ new Map(),
|
|
19
21
|
modalEntries: /* @__PURE__ */ new Map(),
|
|
20
22
|
persistentComponentStore: void 0,
|
|
21
23
|
persistentModalStore: void 0,
|
|
22
24
|
persistentRegistryDisabled: false
|
|
23
|
-
}), (state) => {
|
|
25
|
+
}), (state) => state.withRegistryLock(async () => {
|
|
24
26
|
state.componentEntries.clear();
|
|
25
27
|
state.modalEntries.clear();
|
|
26
28
|
state.persistentComponentStore = void 0;
|
|
27
29
|
state.persistentModalStore = void 0;
|
|
28
30
|
state.persistentRegistryDisabled = false;
|
|
29
|
-
});
|
|
31
|
+
}));
|
|
30
32
|
//#endregion
|
|
31
33
|
//#region extensions/discord/src/components-registry.ts
|
|
32
34
|
const DEFAULT_COMPONENT_TTL_MS = 18e5;
|
|
@@ -130,14 +132,13 @@ function pruneUndefinedRegistryValues(value) {
|
|
|
130
132
|
}
|
|
131
133
|
return result;
|
|
132
134
|
}
|
|
133
|
-
function
|
|
135
|
+
function normalizeRegistryEntries(entries, params) {
|
|
134
136
|
const normalizedEntries = [];
|
|
135
137
|
for (const entry of entries) {
|
|
136
138
|
const normalized = normalizeEntryTimestamps({
|
|
137
139
|
...entry,
|
|
138
140
|
messageId: params.messageId ?? entry.messageId
|
|
139
141
|
}, params.now, params.ttlMs);
|
|
140
|
-
store.set(entry.id, normalized);
|
|
141
142
|
normalizedEntries.push(normalized);
|
|
142
143
|
}
|
|
143
144
|
return normalizedEntries;
|
|
@@ -156,34 +157,41 @@ function readPersistedRegistryEntry(persisted) {
|
|
|
156
157
|
if (persisted?.version !== 1 || typeof persisted.entry?.id !== "string") return null;
|
|
157
158
|
return persisted.entry;
|
|
158
159
|
}
|
|
159
|
-
function registerPersistentRegistryEntries(params) {
|
|
160
|
+
async function registerPersistentRegistryEntries(params) {
|
|
160
161
|
if (params.entries.length === 0) return;
|
|
161
162
|
const store = params.openStore();
|
|
162
163
|
if (!store) return;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
|
|
164
|
+
await Promise.all(params.entries.map(async (entry) => {
|
|
165
|
+
try {
|
|
166
|
+
const persistedEntry = pruneUndefinedRegistryValues(entry);
|
|
167
|
+
await store.register(entry.id, {
|
|
168
|
+
version: 1,
|
|
169
|
+
entry: persistedEntry
|
|
170
|
+
}, { ttlMs: params.ttlMs });
|
|
171
|
+
} catch (error) {
|
|
172
|
+
disablePersistentComponentRegistry(error);
|
|
173
|
+
}
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
async function registerPersistentEntries(params) {
|
|
177
|
+
await Promise.all([registerPersistentRegistryEntries({
|
|
173
178
|
entries: params.entries,
|
|
174
179
|
ttlMs: params.ttlMs,
|
|
175
180
|
openStore: getPersistentComponentStore
|
|
176
|
-
})
|
|
177
|
-
registerPersistentRegistryEntries({
|
|
181
|
+
}), registerPersistentRegistryEntries({
|
|
178
182
|
entries: params.modals,
|
|
179
183
|
ttlMs: params.ttlMs,
|
|
180
184
|
openStore: getPersistentModalStore
|
|
181
|
-
});
|
|
185
|
+
})]);
|
|
182
186
|
}
|
|
183
|
-
function deletePersistentEntry(params) {
|
|
187
|
+
async function deletePersistentEntry(params) {
|
|
184
188
|
const store = params.openStore();
|
|
185
189
|
if (!store) return;
|
|
186
|
-
|
|
190
|
+
try {
|
|
191
|
+
await store.delete(params.id);
|
|
192
|
+
} catch (error) {
|
|
193
|
+
disablePersistentComponentRegistry(error);
|
|
194
|
+
}
|
|
187
195
|
}
|
|
188
196
|
function resolveComponentConsumptionIds(entry) {
|
|
189
197
|
if (!entry.consumptionGroupId) return [entry.id];
|
|
@@ -194,10 +202,11 @@ function deleteComponentConsumptionGroup(entry) {
|
|
|
194
202
|
const store = getComponentEntries();
|
|
195
203
|
for (const id of resolveComponentConsumptionIds(entry)) store.delete(id);
|
|
196
204
|
}
|
|
197
|
-
function deletePersistentComponentConsumptionGroup(entry) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
205
|
+
async function deletePersistentComponentConsumptionGroup(entry) {
|
|
206
|
+
await Promise.all(resolveComponentConsumptionIds(entry).map((id) => deletePersistentEntry({
|
|
207
|
+
id,
|
|
208
|
+
openStore: getPersistentComponentStore
|
|
209
|
+
})));
|
|
201
210
|
}
|
|
202
211
|
async function resolvePersistentRegistryEntry(params) {
|
|
203
212
|
const store = params.openStore();
|
|
@@ -212,18 +221,24 @@ async function resolvePersistentRegistryEntry(params) {
|
|
|
212
221
|
function registerDiscordComponentEntries(params) {
|
|
213
222
|
const now = Date.now();
|
|
214
223
|
const ttlMs = params.ttlMs ?? DEFAULT_COMPONENT_TTL_MS;
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
const normalizedEntries = normalizeRegistryEntries(params.entries, {
|
|
225
|
+
now,
|
|
226
|
+
ttlMs,
|
|
227
|
+
messageId: params.messageId
|
|
228
|
+
});
|
|
229
|
+
const normalizedModals = normalizeRegistryEntries(params.modals, {
|
|
230
|
+
now,
|
|
231
|
+
ttlMs,
|
|
232
|
+
messageId: params.messageId
|
|
233
|
+
});
|
|
234
|
+
return discordComponentRegistryState.withRegistryLock(async () => {
|
|
235
|
+
for (const entry of normalizedEntries) getComponentEntries().set(entry.id, entry);
|
|
236
|
+
for (const entry of normalizedModals) getModalEntries().set(entry.id, entry);
|
|
237
|
+
await registerPersistentEntries({
|
|
238
|
+
entries: normalizedEntries,
|
|
239
|
+
modals: normalizedModals,
|
|
240
|
+
ttlMs
|
|
241
|
+
});
|
|
227
242
|
});
|
|
228
243
|
}
|
|
229
244
|
function resolveDiscordComponentEntry(params) {
|
|
@@ -232,33 +247,37 @@ function resolveDiscordComponentEntry(params) {
|
|
|
232
247
|
return entry;
|
|
233
248
|
}
|
|
234
249
|
async function resolveDiscordComponentEntryWithPersistence(params) {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
250
|
+
return discordComponentRegistryState.withRegistryLock(async () => {
|
|
251
|
+
const inMemory = resolveDiscordComponentEntry(params);
|
|
252
|
+
if (inMemory) {
|
|
253
|
+
if (params.consume !== false) await deletePersistentComponentConsumptionGroup(inMemory);
|
|
254
|
+
return inMemory;
|
|
255
|
+
}
|
|
256
|
+
const persisted = await resolvePersistentRegistryEntry({
|
|
257
|
+
...params,
|
|
258
|
+
openStore: getPersistentComponentStore
|
|
259
|
+
});
|
|
260
|
+
if (persisted && params.consume !== false) await deletePersistentComponentConsumptionGroup(persisted);
|
|
261
|
+
return persisted;
|
|
243
262
|
});
|
|
244
|
-
if (persisted && params.consume !== false) deletePersistentComponentConsumptionGroup(persisted);
|
|
245
|
-
return persisted;
|
|
246
263
|
}
|
|
247
264
|
function resolveDiscordModalEntry(params) {
|
|
248
265
|
return resolveEntry(getModalEntries(), params);
|
|
249
266
|
}
|
|
250
267
|
async function resolveDiscordModalEntryWithPersistence(params) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
if (
|
|
268
|
+
return discordComponentRegistryState.withRegistryLock(async () => {
|
|
269
|
+
const inMemory = resolveDiscordModalEntry(params);
|
|
270
|
+
if (inMemory) {
|
|
271
|
+
if (params.consume !== false) await deletePersistentEntry({
|
|
272
|
+
...params,
|
|
273
|
+
openStore: getPersistentModalStore
|
|
274
|
+
});
|
|
275
|
+
return inMemory;
|
|
276
|
+
}
|
|
277
|
+
return await resolvePersistentRegistryEntry({
|
|
254
278
|
...params,
|
|
255
279
|
openStore: getPersistentModalStore
|
|
256
280
|
});
|
|
257
|
-
return inMemory;
|
|
258
|
-
}
|
|
259
|
-
return await resolvePersistentRegistryEntry({
|
|
260
|
-
...params,
|
|
261
|
-
openStore: getPersistentModalStore
|
|
262
281
|
});
|
|
263
282
|
}
|
|
264
283
|
//#endregion
|
|
@@ -287,49 +306,24 @@ function withImplicitComponentAttachmentBlock(spec, attachmentName) {
|
|
|
287
306
|
}]
|
|
288
307
|
};
|
|
289
308
|
}
|
|
290
|
-
function
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
if (block.spoiler) return false;
|
|
302
|
-
}
|
|
303
|
-
return fileBlockCount <= 1;
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Keep the downgrade rules explicit because this path is only safe when the
|
|
307
|
-
* spec means exactly what a plain Discord message can represent.
|
|
308
|
-
*/
|
|
309
|
-
function getClassicDiscordMessageDecision(spec) {
|
|
310
|
-
if (hasUnsupportedClassicFeatures(spec)) return {
|
|
311
|
-
mode: "components",
|
|
312
|
-
reason: "unsupported-feature"
|
|
313
|
-
};
|
|
314
|
-
if (!hasClassicOnlyBlocks(spec)) return {
|
|
315
|
-
mode: "components",
|
|
316
|
-
reason: "unsupported-block"
|
|
317
|
-
};
|
|
318
|
-
if (!hasAtMostOneNonSpoilerFile(spec)) return {
|
|
319
|
-
mode: "components",
|
|
320
|
-
reason: "multiple-or-spoiler-files"
|
|
321
|
-
};
|
|
309
|
+
function resolveClassicDiscordMessage(spec) {
|
|
310
|
+
if (spec.modal || spec.container) return;
|
|
311
|
+
const parts = hasNonEmptyString(spec.text) ? [spec.text] : [];
|
|
312
|
+
let captionToMatch = parts[0];
|
|
313
|
+
let filename;
|
|
314
|
+
for (const block of spec.blocks ?? []) if (block.type === "text") {
|
|
315
|
+
if (!hasNonEmptyString(block.text)) continue;
|
|
316
|
+
if (block.text !== captionToMatch) parts.push(block.text);
|
|
317
|
+
captionToMatch = void 0;
|
|
318
|
+
} else if (block.type === "file" && !block.spoiler && filename === void 0) filename = resolveDiscordComponentAttachmentName(block.file);
|
|
319
|
+
else return;
|
|
322
320
|
return {
|
|
323
|
-
|
|
324
|
-
|
|
321
|
+
text: parts.join("\n\n"),
|
|
322
|
+
filename
|
|
325
323
|
};
|
|
326
324
|
}
|
|
327
|
-
function collapseClassicComponentText(spec) {
|
|
328
|
-
const parts = [spec.text, ...(spec.blocks ?? []).flatMap((block) => block.type === "text" ? [block.text] : [])];
|
|
329
|
-
return uniqueStrings(parts.filter(hasNonEmptyString)).join("\n\n");
|
|
330
|
-
}
|
|
331
325
|
function registerBuiltDiscordComponentMessage(params) {
|
|
332
|
-
registerDiscordComponentEntries({
|
|
326
|
+
return registerDiscordComponentEntries({
|
|
333
327
|
entries: params.buildResult.entries,
|
|
334
328
|
modals: params.buildResult.modals,
|
|
335
329
|
messageId: params.messageId,
|
|
@@ -393,14 +387,17 @@ async function buildDiscordComponentPayload(params) {
|
|
|
393
387
|
};
|
|
394
388
|
}
|
|
395
389
|
async function sendDiscordComponentMessage(to, spec, opts) {
|
|
396
|
-
|
|
397
|
-
|
|
390
|
+
return await withDiscordRequestAuthority(opts.assertPlatformSendAuthorized, () => sendDiscordComponentMessageInternal(to, spec, opts));
|
|
391
|
+
}
|
|
392
|
+
async function sendDiscordComponentMessageInternal(to, spec, opts) {
|
|
393
|
+
const classicMessage = opts.mediaUrl ? resolveClassicDiscordMessage(spec) : void 0;
|
|
394
|
+
if (classicMessage) return await sendMessageDiscord(to, classicMessage.text, {
|
|
398
395
|
cfg: opts.cfg,
|
|
399
396
|
accountId: opts.accountId,
|
|
400
397
|
token: opts.token,
|
|
401
398
|
rest: opts.rest,
|
|
402
399
|
mediaUrl: opts.mediaUrl,
|
|
403
|
-
filename: opts.filename?.trim() ||
|
|
400
|
+
filename: opts.filename?.trim() || classicMessage.filename,
|
|
404
401
|
mediaLocalRoots: opts.mediaLocalRoots,
|
|
405
402
|
mediaReadFile: opts.mediaReadFile,
|
|
406
403
|
mediaAccess: opts.mediaAccess,
|
|
@@ -457,7 +454,7 @@ async function sendDiscordComponentMessage(to, spec, opts) {
|
|
|
457
454
|
...opts.reply ? { reply: opts.reply } : {}
|
|
458
455
|
});
|
|
459
456
|
await opts.onDeliveryResult?.(deliveryResult);
|
|
460
|
-
registerBuiltDiscordComponentMessage({
|
|
457
|
+
await registerBuiltDiscordComponentMessage({
|
|
461
458
|
buildResult,
|
|
462
459
|
messageId: result.id,
|
|
463
460
|
ttlMs: resolveDiscordComponentRegistryTtlMs(accountInfo.config)
|
|
@@ -494,7 +491,7 @@ async function editDiscordComponentMessage(to, messageId, spec, opts) {
|
|
|
494
491
|
hasMedia: Boolean(opts.mediaUrl)
|
|
495
492
|
});
|
|
496
493
|
}
|
|
497
|
-
registerBuiltDiscordComponentMessage({
|
|
494
|
+
await registerBuiltDiscordComponentMessage({
|
|
498
495
|
buildResult,
|
|
499
496
|
messageId: result.id ?? messageId,
|
|
500
497
|
ttlMs: resolveDiscordComponentRegistryTtlMs(accountInfo.config)
|
|
@@ -515,4 +512,4 @@ async function editDiscordComponentMessage(to, messageId, spec, opts) {
|
|
|
515
512
|
});
|
|
516
513
|
}
|
|
517
514
|
//#endregion
|
|
518
|
-
export {
|
|
515
|
+
export { registerDiscordComponentEntries as a, send_components_exports as i, registerBuiltDiscordComponentMessage as n, resolveDiscordComponentEntryWithPersistence as o, sendDiscordComponentMessage as r, resolveDiscordModalEntryWithPersistence as s, editDiscordComponentMessage as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as normalizeDiscordHandleKey, o as resolveDiscordDirectoryUserId } from "./directory-live
|
|
3
|
-
import { c as createDiscordSendReceiptFromResults, d as createReusableDiscordReplyReference, l as createDiscordSendResult } from "./retry-
|
|
4
|
-
import { A as resolveDiscordSendComponents, D as buildDiscordMessageRequest, K as parseAndResolveChannelRecipient, M as resolveDiscordSuppressEmbeds, N as createDiscordClient, O as createDiscordMessageNonce, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, j as resolveDiscordSendEmbeds, k as resolveDiscordMessageFlags, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannel } from "./send.shared-
|
|
1
|
+
import { C as withDiscordRequestAuthority, ct as createThread, st as createChannelMessage } from "./discord-BXpHW-cu.mjs";
|
|
2
|
+
import { i as normalizeDiscordHandleKey, o as resolveDiscordDirectoryUserId } from "./directory-live--EGTH0DC.mjs";
|
|
3
|
+
import { c as createDiscordSendReceiptFromResults, d as createReusableDiscordReplyReference, l as createDiscordSendResult } from "./retry-DBfcEgmO.mjs";
|
|
4
|
+
import { A as resolveDiscordSendComponents, D as buildDiscordMessageRequest, K as parseAndResolveChannelRecipient, M as resolveDiscordSuppressEmbeds, N as createDiscordClient, O as createDiscordMessageNonce, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, j as resolveDiscordSendEmbeds, k as resolveDiscordMessageFlags, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannel } from "./send.shared-Zwx6BxQ5.mjs";
|
|
5
5
|
import { ChannelType } from "discord-api-types/v10";
|
|
6
6
|
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
7
7
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -382,6 +382,7 @@ function prepareDiscordOutboundText(text, params) {
|
|
|
382
382
|
}));
|
|
383
383
|
return {
|
|
384
384
|
renderedText,
|
|
385
|
+
textLimit: typeof params.textLimit === "number" && Number.isFinite(params.textLimit) ? Math.max(1, Math.min(Math.floor(params.textLimit), 2e3)) : void 0,
|
|
385
386
|
textWithMentions: rewriteDiscordKnownMentions(renderedText, {
|
|
386
387
|
accountId: account.accountId,
|
|
387
388
|
mentionAliases: account.config.mentionAliases
|
|
@@ -447,6 +448,9 @@ async function resolveDiscordSendTarget(to, opts) {
|
|
|
447
448
|
};
|
|
448
449
|
}
|
|
449
450
|
async function sendMessageDiscord(to, text, opts) {
|
|
451
|
+
return await withDiscordRequestAuthority(opts.assertPlatformSendAuthorized, () => sendMessageDiscordInternal(to, text, opts));
|
|
452
|
+
}
|
|
453
|
+
async function sendMessageDiscordInternal(to, text, opts) {
|
|
450
454
|
const cfg = requireRuntimeConfig(opts.cfg, "Discord send");
|
|
451
455
|
const { token, rest, request, account: accountInfo } = createDiscordClient({
|
|
452
456
|
...opts,
|
|
@@ -458,12 +462,12 @@ async function sendMessageDiscord(to, text, opts) {
|
|
|
458
462
|
configured: accountInfo.config.suppressEmbeds,
|
|
459
463
|
override: opts.suppressEmbeds
|
|
460
464
|
});
|
|
461
|
-
const textLimit = typeof opts.textLimit === "number" && Number.isFinite(opts.textLimit) ? Math.max(1, Math.min(Math.floor(opts.textLimit), 2e3)) : void 0;
|
|
462
465
|
const mediaMaxBytes = typeof accountInfo.config.mediaMaxMb === "number" ? accountInfo.config.mediaMaxMb * 1024 * 1024 : DEFAULT_DISCORD_MEDIA_MAX_MB * 1024 * 1024;
|
|
463
|
-
const { renderedText, textWithMentions } = prepareDiscordOutboundText(text ?? "", {
|
|
466
|
+
const { renderedText, textWithMentions, textLimit } = prepareDiscordOutboundText(text ?? "", {
|
|
464
467
|
cfg,
|
|
465
468
|
account: accountInfo,
|
|
466
|
-
tableMode: opts.tableMode
|
|
469
|
+
tableMode: opts.tableMode,
|
|
470
|
+
textLimit: opts.textLimit
|
|
467
471
|
});
|
|
468
472
|
const recipient = await parseAndResolveChannelRecipient(to, cfg, accountInfo.accountId);
|
|
469
473
|
const { channelId } = await resolveChannelId(rest, recipient, request);
|
|
@@ -683,6 +687,9 @@ async function sendMessageDiscord(to, text, opts) {
|
|
|
683
687
|
};
|
|
684
688
|
}
|
|
685
689
|
async function sendStickerDiscord(to, stickerIds, opts) {
|
|
690
|
+
return await withDiscordRequestAuthority(opts.assertPlatformSendAuthorized, () => sendStickerDiscordInternal(to, stickerIds, opts));
|
|
691
|
+
}
|
|
692
|
+
async function sendStickerDiscordInternal(to, stickerIds, opts) {
|
|
686
693
|
const context = await resolveDiscordStructuredSendContext(to, opts);
|
|
687
694
|
const { rewrittenContent, suppressEmbeds } = context;
|
|
688
695
|
const stickers = normalizeStickerIds(stickerIds);
|
|
@@ -700,6 +707,9 @@ async function sendStickerDiscord(to, stickerIds, opts) {
|
|
|
700
707
|
return context.send("sticker", body);
|
|
701
708
|
}
|
|
702
709
|
async function sendPollDiscord(to, poll, opts) {
|
|
710
|
+
return await withDiscordRequestAuthority(opts.assertPlatformSendAuthorized, () => sendPollDiscordInternal(to, poll, opts));
|
|
711
|
+
}
|
|
712
|
+
async function sendPollDiscordInternal(to, poll, opts) {
|
|
703
713
|
const context = await resolveDiscordStructuredSendContext(to, opts);
|
|
704
714
|
const { rewrittenContent, suppressEmbeds } = context;
|
|
705
715
|
if (poll.durationSeconds !== void 0) throw new Error("Discord polls do not support durationSeconds; use durationHours");
|