@openclaw/discord 2026.9.5 → 2026.9.7
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/icon.png +0 -0
- package/dist/.setup/{account-inspect-BwQj24ht.mjs → account-inspect-De8hOUxG.mjs} +1 -1
- package/dist/.setup/{accounts-CwJQoLjM.mjs → accounts-ChaMcixG.mjs} +1 -4
- package/dist/.setup/{activities-api-DBwRt5ES.mjs → activities-api-tvbsU2e3.mjs} +38 -66
- package/dist/.setup/{api-CBK9zcq5.mjs → api-DVbJwZVt.mjs} +10 -2
- package/dist/.setup/{approval-handler.runtime-Du3n5ypX.mjs → approval-handler.runtime-DxCK2Rux.mjs} +49 -125
- package/dist/.setup/{approval-message-updates-BN7JtScm.mjs → approval-message-updates-BKFqavHZ.mjs} +2 -2
- package/dist/.setup/{audit-C8uaKoa9.mjs → audit-CLg9I71N.mjs} +5 -5
- package/dist/.setup/{channel-ChKdlBgH.mjs → channel-DxlUVU9t.mjs} +125 -228
- package/dist/.setup/{channel-type-DKnjV1XW.mjs → channel-type-DRCrEMss.mjs} +22 -22
- package/dist/.setup/{channel.setup-BlC3-Kzz.mjs → channel.setup-CRo1GjV7.mjs} +6 -9
- package/dist/.setup/{components-MqMWUWnE.mjs → components-Cq1PvIpN.mjs} +42 -71
- package/dist/.setup/{config-schema-CiZz-mtA.mjs → config-schema-oxELUSDx.mjs} +19 -44
- package/dist/.setup/{conversation-binding-route-_rz33QHO.mjs → conversation-binding-route-Caz_XuFH.mjs} +14 -6
- package/dist/.setup/{directory-config-BytTftz-.mjs → directory-config-esqNn0Eo.mjs} +6 -9
- package/dist/.setup/{directory-live--EGTH0DC.mjs → directory-live-DtKRHuGV.mjs} +6 -12
- package/dist/.setup/{discord-BXpHW-cu.mjs → discord-0xJYfdDD.mjs} +82 -386
- package/dist/.setup/{doctor-DxcdkXzz.mjs → doctor-BCl1H5tl.mjs} +21 -36
- package/dist/.setup/{doctor-contract-Co5vRCZ6.mjs → doctor-contract-CvvgwrrG.mjs} +41 -50
- package/dist/.setup/{channel-actions.runtime-CJmiFfps.mjs → handle-action-CUvQWnE7.mjs} +74 -105
- package/dist/.setup/{handle-action.guild-admin-DAFyh_yV.mjs → handle-action.guild-admin-Df-8gVle.mjs} +63 -121
- package/dist/.setup/{live-policy-config-eKQ-PLdy.mjs → live-policy-config-8Pv20CHc.mjs} +2 -3
- package/dist/.setup/{message-handler-DnUrDpaU.mjs → message-handler-B-Jk4oDk.mjs} +18 -93
- package/dist/.setup/message-handler.preflight-pluralkit-CWLUBVcx.mjs +141 -0
- package/dist/.setup/{message-handler.preflight-CtqaF_fb.mjs → message-handler.preflight-v-__NSDq.mjs} +73 -287
- package/dist/.setup/{message-handler.process-Dz1xvuQU.mjs → message-handler.process-BNFFuChn.mjs} +423 -374
- package/dist/.setup/{outbound-adapter-C8v79z9Z.mjs → outbound-adapter-BobT-kse.mjs} +105 -19
- package/dist/.setup/{outbound-session-route-CqWbuMOm.mjs → outbound-session-route-zVGxxceg.mjs} +142 -109
- package/dist/.setup/{pluralkit-CdAt1G0P.mjs → pluralkit-a6_NLfH9.mjs} +1 -1
- package/dist/.setup/{preflight-audio-DrnqFA8U.mjs → preflight-audio-DHGIHEpv.mjs} +2 -1
- package/dist/.setup/{presence-cache-dYSHPWMx.mjs → presence-cache-Di3H3DIU.mjs} +0 -4
- package/dist/.setup/{probe-CupW4we4.mjs → probe-LYrIHlBF.mjs} +13 -4
- package/dist/.setup/{provider-72zIvN-i.mjs → provider-B_G5hASF.mjs} +1112 -1668
- package/dist/.setup/provider-session.runtime-BYlTBFD2.mjs +6 -0
- package/dist/.setup/provider.runtime-CUE3UxER.mjs +2 -0
- package/dist/.setup/{realtime-session.runtime-DTccTgTM.mjs → realtime-session.runtime-oUd9DOcz.mjs} +372 -345
- package/dist/.setup/receive-recovery-CHPOsnLc.mjs +514 -0
- package/dist/.setup/{resolve-allowlist-common-CwMBzbx9.mjs → resolve-allowlist-common-DPdRggu5.mjs} +4 -7
- package/dist/.setup/{resolve-channels-BbvsLQOZ.mjs → resolve-channels-BFPNRmVv.mjs} +21 -40
- package/dist/.setup/{resolve-users-ByFlR7LQ.mjs → resolve-users-0-aBuCy3.mjs} +4 -4
- package/dist/.setup/{retry-DBfcEgmO.mjs → retry-pz_cSha2.mjs} +81 -16
- package/dist/.setup/rolldown-runtime-B4FMCO8f.mjs +28 -0
- package/dist/.setup/{runtime-SchNfUsQ.mjs → runtime-FN000lxA.mjs} +83 -166
- package/dist/.setup/runtime-doctor-migrations-CshUGl36.mjs +159 -0
- package/dist/.setup/{runtime-BVoa7hhx.mjs → runtime-sUksZ--Q.mjs} +2 -5
- package/dist/.setup/{secret-config-contract-DFu9hfU8.mjs → secret-config-contract-uOE2J7yM.mjs} +15 -85
- package/dist/.setup/{security-audit-s5w50-Ly.mjs → security-audit-Cdaegq7C.mjs} +3 -1
- package/dist/.setup/{send-CKDczUNL.mjs → send-CrfEI6Bs.mjs} +73 -114
- package/dist/.setup/{send.components-DWQjXhPV.mjs → send.components-DxQAMfES.mjs} +62 -107
- package/dist/.setup/{send.outbound-D0hQ7s50.mjs → send.outbound-BISKnb-a.mjs} +79 -154
- package/dist/.setup/{send.shared-Zwx6BxQ5.mjs → send.shared-DGFkbkQR.mjs} +10 -25
- package/dist/.setup/{sender-identity-0Ymgvmaj.mjs → sender-identity-B9X5Vb9R.mjs} +2 -3
- package/dist/.setup/setup-plugin-api-BQUBxbhe.mjs +3 -0
- package/dist/.setup/{shared-CaA3Vv4n.mjs → shared-B3wZ4hN-.mjs} +25 -32
- package/dist/.setup/{subagent-hooks-Bired9q6.mjs → subagent-hooks-nlUE9ow7.mjs} +5 -6
- package/dist/.setup/system-events-CdeZnvPV.mjs +33 -0
- package/dist/.setup/{target-resolver-B6MrxbYv.mjs → target-resolver-BuLapkhy.mjs} +9 -12
- package/dist/.setup/targets-0KUcEIYx.mjs +3 -0
- package/dist/.setup/{thread-bindings-CK5272V3.mjs → thread-bindings-D7TfgjR_.mjs} +33 -35
- package/dist/.setup/thread-bindings.manager-DN-NissX.mjs +819 -0
- package/dist/.setup/thread-bindings.session-updates-CshfKghV.mjs +359 -0
- package/dist/.setup/{thread-bindings.state-BThFQEga.mjs → thread-bindings.state-g6v9zAym.mjs} +21 -62
- package/dist/.setup/{transcripts-source-CuWYgayu.mjs → transcripts-source-p8EV179h.mjs} +133 -238
- package/dist/.setup/{typing-BKZL5fGj.mjs → typing-BiHCzBRu.mjs} +2 -1
- package/dist/.setup/{voice-runtime-DHVQ2mFz.mjs → voice-runtime-B46rcwrG.mjs} +633 -1085
- 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 +18 -18
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/doctor-contract-api.js +4 -4
- package/dist/index.js +1 -1
- package/dist/runtime-api.js +20 -20
- package/dist/secret-contract-api.js +1 -1
- package/dist/security-audit-contract-api.js +1 -1
- package/dist/setup-entry.js +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/src/voice/audio-worker.runtime.js +1056 -0
- package/dist/subagent-hooks-api.js +3 -4
- package/dist/transcripts-source-api.js +1 -1
- package/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.cjs +8 -4
- package/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.js +8 -4
- package/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +1 -1
- package/node_modules/@napi-rs/wasm-runtime/dist/fs.js +770 -695
- package/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +3 -2
- package/node_modules/@napi-rs/wasm-runtime/package.json +1 -1
- package/node_modules/@tybys/wasm-util/LICENSE +21 -0
- package/node_modules/@tybys/wasm-util/package.json +1 -1
- package/node_modules/@types/node/README.md +2 -2
- package/node_modules/@types/node/child_process.d.ts +1 -1
- package/node_modules/@types/node/crypto.d.ts +20 -8
- package/node_modules/@types/node/ffi.d.ts +14 -0
- package/node_modules/@types/node/http2.d.ts +3 -2
- package/node_modules/@types/node/net.d.ts +16 -4
- package/node_modules/@types/node/package.json +2 -17
- package/node_modules/@types/node/process.d.ts +1 -0
- package/node_modules/@types/node/quic.d.ts +39 -1
- package/node_modules/@types/node/stream/iter.d.ts +9 -12
- package/node_modules/@types/node/test/reporters.d.ts +1 -0
- package/node_modules/@types/node/test.d.ts +72 -0
- package/node_modules/@types/node/tls.d.ts +14 -10
- package/node_modules/@types/node/vm.d.ts +2 -1
- package/node_modules/@types/node/web-globals/streams.d.ts +4 -0
- package/node_modules/@types/node/worker_threads.d.ts +4 -1
- package/node_modules/typebox/build/compile/code.mjs +1 -2
- package/node_modules/typebox/build/compile/validator.mjs +5 -1
- package/node_modules/typebox/build/format/iri.mjs +16 -9
- package/node_modules/typebox/build/guard/emit.mjs +2 -2
- package/node_modules/typebox/build/guard/guard.d.mts +7 -5
- package/node_modules/typebox/build/guard/guard.mjs +14 -9
- package/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
- package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
- package/node_modules/typebox/build/schema/build.mjs +2 -3
- package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
- package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
- package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
- package/node_modules/typebox/build/schema/parse.mjs +3 -0
- package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
- package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
- package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
- package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
- package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
- package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
- package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
- package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
- package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
- package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +3 -1
- package/node_modules/zod/README.md +2 -2
- package/node_modules/zod/compile.cjs +19 -0
- package/node_modules/zod/index.cjs +19 -0
- package/node_modules/zod/locales/index.cjs +19 -0
- package/node_modules/zod/mini/index.cjs +19 -0
- package/node_modules/zod/package.json +8 -7
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
- package/node_modules/zod/src/v4/classic/external.ts +2 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
- package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
- package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
- package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
- package/node_modules/zod/src/v4/core/api.ts +44 -28
- package/node_modules/zod/src/v4/core/checks.ts +62 -102
- package/node_modules/zod/src/v4/core/compile.ts +218 -93
- package/node_modules/zod/src/v4/core/core.ts +1 -3
- package/node_modules/zod/src/v4/core/doc.ts +6 -2
- package/node_modules/zod/src/v4/core/errors.ts +3 -6
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
- package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
- package/node_modules/zod/src/v4/core/parse.ts +37 -16
- package/node_modules/zod/src/v4/core/regexes.ts +14 -4
- package/node_modules/zod/src/v4/core/schemas.ts +296 -132
- package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
- package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
- package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
- package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
- package/node_modules/zod/src/v4/core/util.ts +218 -147
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/locales/ar.ts +2 -0
- package/node_modules/zod/src/v4/locales/az.ts +2 -0
- package/node_modules/zod/src/v4/locales/be.ts +2 -0
- package/node_modules/zod/src/v4/locales/bg.ts +2 -0
- package/node_modules/zod/src/v4/locales/bn.ts +2 -0
- package/node_modules/zod/src/v4/locales/ca.ts +2 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
- package/node_modules/zod/src/v4/locales/cs.ts +2 -0
- package/node_modules/zod/src/v4/locales/da.ts +2 -0
- package/node_modules/zod/src/v4/locales/de.ts +2 -0
- package/node_modules/zod/src/v4/locales/el.ts +2 -0
- package/node_modules/zod/src/v4/locales/en.ts +2 -0
- package/node_modules/zod/src/v4/locales/eo.ts +2 -0
- package/node_modules/zod/src/v4/locales/es.ts +2 -0
- package/node_modules/zod/src/v4/locales/fa.ts +2 -0
- package/node_modules/zod/src/v4/locales/fi.ts +2 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
- package/node_modules/zod/src/v4/locales/fr.ts +2 -0
- package/node_modules/zod/src/v4/locales/gu.ts +2 -0
- package/node_modules/zod/src/v4/locales/he.ts +2 -0
- package/node_modules/zod/src/v4/locales/hi.ts +2 -0
- package/node_modules/zod/src/v4/locales/hr.ts +2 -0
- package/node_modules/zod/src/v4/locales/hu.ts +2 -0
- package/node_modules/zod/src/v4/locales/hy.ts +2 -0
- package/node_modules/zod/src/v4/locales/id.ts +2 -0
- package/node_modules/zod/src/v4/locales/index.ts +1 -0
- package/node_modules/zod/src/v4/locales/is.ts +2 -0
- package/node_modules/zod/src/v4/locales/it.ts +2 -0
- package/node_modules/zod/src/v4/locales/ja.ts +2 -0
- package/node_modules/zod/src/v4/locales/ka.ts +2 -0
- package/node_modules/zod/src/v4/locales/km.ts +2 -0
- package/node_modules/zod/src/v4/locales/kn.ts +2 -0
- package/node_modules/zod/src/v4/locales/ko.ts +2 -0
- package/node_modules/zod/src/v4/locales/lt.ts +2 -0
- package/node_modules/zod/src/v4/locales/mk.ts +2 -0
- package/node_modules/zod/src/v4/locales/ms.ts +2 -0
- package/node_modules/zod/src/v4/locales/ne.ts +2 -0
- package/node_modules/zod/src/v4/locales/nl.ts +2 -0
- package/node_modules/zod/src/v4/locales/nn.ts +2 -0
- package/node_modules/zod/src/v4/locales/no.ts +2 -0
- package/node_modules/zod/src/v4/locales/ota.ts +2 -0
- package/node_modules/zod/src/v4/locales/pl.ts +2 -0
- package/node_modules/zod/src/v4/locales/ps.ts +2 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
- package/node_modules/zod/src/v4/locales/pt.ts +2 -0
- package/node_modules/zod/src/v4/locales/ro.ts +2 -0
- package/node_modules/zod/src/v4/locales/ru.ts +2 -0
- package/node_modules/zod/src/v4/locales/sk.ts +2 -0
- package/node_modules/zod/src/v4/locales/sl.ts +2 -0
- package/node_modules/zod/src/v4/locales/sv.ts +2 -0
- package/node_modules/zod/src/v4/locales/ta.ts +2 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +2 -0
- package/node_modules/zod/src/v4/locales/tk.ts +2 -0
- package/node_modules/zod/src/v4/locales/tr.ts +2 -0
- package/node_modules/zod/src/v4/locales/uk.ts +2 -0
- package/node_modules/zod/src/v4/locales/ur.ts +2 -0
- package/node_modules/zod/src/v4/locales/uz.ts +2 -0
- package/node_modules/zod/src/v4/locales/vi.ts +2 -0
- package/node_modules/zod/src/v4/locales/yo.ts +2 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
- package/node_modules/zod/src/v4/mini/external.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
- package/node_modules/zod/v3/ZodError.cjs +19 -0
- package/node_modules/zod/v3/errors.cjs +19 -0
- package/node_modules/zod/v3/external.cjs +19 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
- package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
- package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
- package/node_modules/zod/v3/helpers/util.cjs +19 -0
- package/node_modules/zod/v3/index.cjs +19 -0
- package/node_modules/zod/v3/standard-schema.cjs +19 -0
- package/node_modules/zod/v3/types.cjs +19 -0
- package/node_modules/zod/v4/classic/checks.cjs +19 -0
- package/node_modules/zod/v4/classic/coerce.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.cjs +19 -0
- package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
- package/node_modules/zod/v4/classic/errors.cjs +19 -0
- package/node_modules/zod/v4/classic/external.cjs +22 -1
- package/node_modules/zod/v4/classic/external.d.cts +1 -1
- package/node_modules/zod/v4/classic/external.d.ts +1 -1
- package/node_modules/zod/v4/classic/external.js +1 -1
- package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
- package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
- package/node_modules/zod/v4/classic/in-out.cjs +19 -0
- package/node_modules/zod/v4/classic/index.cjs +19 -0
- package/node_modules/zod/v4/classic/iso.cjs +19 -0
- package/node_modules/zod/v4/classic/parse.cjs +19 -0
- package/node_modules/zod/v4/classic/schemas.cjs +100 -35
- package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
- package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
- package/node_modules/zod/v4/classic/schemas.js +77 -33
- package/node_modules/zod/v4/core/api.cjs +45 -22
- package/node_modules/zod/v4/core/api.d.cts +12 -6
- package/node_modules/zod/v4/core/api.d.ts +12 -6
- package/node_modules/zod/v4/core/api.js +25 -22
- package/node_modules/zod/v4/core/checks.cjs +51 -97
- package/node_modules/zod/v4/core/checks.d.cts +17 -1
- package/node_modules/zod/v4/core/checks.d.ts +17 -1
- package/node_modules/zod/v4/core/checks.js +31 -96
- package/node_modules/zod/v4/core/compile.cjs +173 -78
- package/node_modules/zod/v4/core/compile.d.cts +18 -4
- package/node_modules/zod/v4/core/compile.d.ts +18 -4
- package/node_modules/zod/v4/core/compile.js +154 -79
- package/node_modules/zod/v4/core/core.cjs +20 -1
- package/node_modules/zod/v4/core/core.js +1 -1
- package/node_modules/zod/v4/core/doc.cjs +26 -2
- package/node_modules/zod/v4/core/doc.js +7 -2
- package/node_modules/zod/v4/core/errors.cjs +21 -5
- package/node_modules/zod/v4/core/errors.js +2 -5
- package/node_modules/zod/v4/core/index.cjs +19 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
- package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
- package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
- package/node_modules/zod/v4/core/json-schema.cjs +19 -0
- package/node_modules/zod/v4/core/memoizer.cjs +111 -23
- package/node_modules/zod/v4/core/memoizer.js +69 -23
- package/node_modules/zod/v4/core/parse.cjs +56 -16
- package/node_modules/zod/v4/core/parse.js +37 -16
- package/node_modules/zod/v4/core/regexes.cjs +31 -6
- package/node_modules/zod/v4/core/regexes.d.cts +3 -0
- package/node_modules/zod/v4/core/regexes.d.ts +3 -0
- package/node_modules/zod/v4/core/regexes.js +10 -4
- package/node_modules/zod/v4/core/registries.cjs +19 -0
- package/node_modules/zod/v4/core/schemas.cjs +302 -114
- package/node_modules/zod/v4/core/schemas.d.cts +28 -8
- package/node_modules/zod/v4/core/schemas.d.ts +28 -8
- package/node_modules/zod/v4/core/schemas.js +279 -113
- package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
- package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
- package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
- package/node_modules/zod/v4/core/to-json-schema.js +7 -6
- package/node_modules/zod/v4/core/util.cjs +177 -143
- package/node_modules/zod/v4/core/util.d.cts +25 -4
- package/node_modules/zod/v4/core/util.d.ts +25 -4
- package/node_modules/zod/v4/core/util.js +156 -143
- package/node_modules/zod/v4/core/versions.cjs +21 -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 +19 -0
- package/node_modules/zod/v4/index.cjs +19 -0
- package/node_modules/zod/v4/locales/ar.cjs +2 -0
- package/node_modules/zod/v4/locales/ar.js +2 -0
- package/node_modules/zod/v4/locales/az.cjs +2 -0
- package/node_modules/zod/v4/locales/az.js +2 -0
- package/node_modules/zod/v4/locales/be.cjs +2 -0
- package/node_modules/zod/v4/locales/be.js +2 -0
- package/node_modules/zod/v4/locales/bg.cjs +2 -0
- package/node_modules/zod/v4/locales/bg.js +2 -0
- package/node_modules/zod/v4/locales/bn.cjs +2 -0
- package/node_modules/zod/v4/locales/bn.js +2 -0
- package/node_modules/zod/v4/locales/ca.cjs +2 -0
- package/node_modules/zod/v4/locales/ca.js +2 -0
- package/node_modules/zod/v4/locales/ckb.cjs +2 -0
- package/node_modules/zod/v4/locales/ckb.js +2 -0
- package/node_modules/zod/v4/locales/cs.cjs +2 -0
- package/node_modules/zod/v4/locales/cs.js +2 -0
- package/node_modules/zod/v4/locales/da.cjs +2 -0
- package/node_modules/zod/v4/locales/da.js +2 -0
- package/node_modules/zod/v4/locales/de.cjs +2 -0
- package/node_modules/zod/v4/locales/de.js +2 -0
- package/node_modules/zod/v4/locales/el.cjs +2 -0
- package/node_modules/zod/v4/locales/el.js +2 -0
- package/node_modules/zod/v4/locales/en.cjs +2 -0
- package/node_modules/zod/v4/locales/en.js +2 -0
- package/node_modules/zod/v4/locales/eo.cjs +2 -0
- package/node_modules/zod/v4/locales/eo.js +2 -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 +2 -0
- package/node_modules/zod/v4/locales/fa.js +2 -0
- package/node_modules/zod/v4/locales/fi.cjs +2 -0
- package/node_modules/zod/v4/locales/fi.js +2 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
- package/node_modules/zod/v4/locales/fr-CA.js +2 -0
- package/node_modules/zod/v4/locales/fr.cjs +2 -0
- package/node_modules/zod/v4/locales/fr.js +2 -0
- package/node_modules/zod/v4/locales/gu.cjs +2 -0
- package/node_modules/zod/v4/locales/gu.js +2 -0
- package/node_modules/zod/v4/locales/he.cjs +2 -0
- package/node_modules/zod/v4/locales/he.js +2 -0
- package/node_modules/zod/v4/locales/hi.cjs +2 -0
- package/node_modules/zod/v4/locales/hi.js +2 -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 +2 -0
- package/node_modules/zod/v4/locales/hu.js +2 -0
- package/node_modules/zod/v4/locales/hy.cjs +2 -0
- package/node_modules/zod/v4/locales/hy.js +2 -0
- package/node_modules/zod/v4/locales/id.cjs +2 -0
- package/node_modules/zod/v4/locales/id.js +2 -0
- package/node_modules/zod/v4/locales/index.cjs +22 -1
- package/node_modules/zod/v4/locales/index.d.cts +1 -0
- package/node_modules/zod/v4/locales/index.d.ts +1 -0
- package/node_modules/zod/v4/locales/index.js +1 -0
- package/node_modules/zod/v4/locales/is.cjs +2 -0
- package/node_modules/zod/v4/locales/is.js +2 -0
- package/node_modules/zod/v4/locales/it.cjs +2 -0
- package/node_modules/zod/v4/locales/it.js +2 -0
- package/node_modules/zod/v4/locales/ja.cjs +2 -0
- package/node_modules/zod/v4/locales/ja.js +2 -0
- package/node_modules/zod/v4/locales/ka.cjs +2 -0
- package/node_modules/zod/v4/locales/ka.js +2 -0
- package/node_modules/zod/v4/locales/km.cjs +2 -0
- package/node_modules/zod/v4/locales/km.js +2 -0
- package/node_modules/zod/v4/locales/kn.cjs +2 -0
- package/node_modules/zod/v4/locales/kn.js +2 -0
- package/node_modules/zod/v4/locales/ko.cjs +2 -0
- package/node_modules/zod/v4/locales/ko.js +2 -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 +2 -0
- package/node_modules/zod/v4/locales/mk.js +2 -0
- package/node_modules/zod/v4/locales/ms.cjs +2 -0
- package/node_modules/zod/v4/locales/ms.js +2 -0
- package/node_modules/zod/v4/locales/ne.cjs +2 -0
- package/node_modules/zod/v4/locales/ne.js +2 -0
- package/node_modules/zod/v4/locales/nl.cjs +2 -0
- package/node_modules/zod/v4/locales/nl.js +2 -0
- package/node_modules/zod/v4/locales/nn.cjs +2 -0
- package/node_modules/zod/v4/locales/nn.js +2 -0
- package/node_modules/zod/v4/locales/no.cjs +2 -0
- package/node_modules/zod/v4/locales/no.js +2 -0
- package/node_modules/zod/v4/locales/ota.cjs +2 -0
- package/node_modules/zod/v4/locales/ota.js +2 -0
- package/node_modules/zod/v4/locales/pl.cjs +2 -0
- package/node_modules/zod/v4/locales/pl.js +2 -0
- package/node_modules/zod/v4/locales/ps.cjs +2 -0
- package/node_modules/zod/v4/locales/ps.js +2 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
- package/node_modules/zod/v4/locales/pt-BR.js +2 -0
- package/node_modules/zod/v4/locales/pt.cjs +2 -0
- package/node_modules/zod/v4/locales/pt.js +2 -0
- package/node_modules/zod/v4/locales/ro.cjs +2 -0
- package/node_modules/zod/v4/locales/ro.js +2 -0
- package/node_modules/zod/v4/locales/ru.cjs +2 -0
- package/node_modules/zod/v4/locales/ru.js +2 -0
- package/node_modules/zod/v4/locales/sk.cjs +2 -0
- package/node_modules/zod/v4/locales/sk.js +2 -0
- package/node_modules/zod/v4/locales/sl.cjs +2 -0
- package/node_modules/zod/v4/locales/sl.js +2 -0
- package/node_modules/zod/v4/locales/sv.cjs +2 -0
- package/node_modules/zod/v4/locales/sv.js +2 -0
- package/node_modules/zod/v4/locales/ta.cjs +2 -0
- package/node_modules/zod/v4/locales/ta.js +2 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +2 -0
- package/node_modules/zod/v4/locales/th.js +2 -0
- package/node_modules/zod/v4/locales/tk.cjs +2 -0
- package/node_modules/zod/v4/locales/tk.js +2 -0
- package/node_modules/zod/v4/locales/tr.cjs +2 -0
- package/node_modules/zod/v4/locales/tr.js +2 -0
- package/node_modules/zod/v4/locales/uk.cjs +2 -0
- package/node_modules/zod/v4/locales/uk.js +2 -0
- package/node_modules/zod/v4/locales/ur.cjs +2 -0
- package/node_modules/zod/v4/locales/ur.js +2 -0
- package/node_modules/zod/v4/locales/uz.cjs +2 -0
- package/node_modules/zod/v4/locales/uz.js +2 -0
- package/node_modules/zod/v4/locales/vi.cjs +2 -0
- package/node_modules/zod/v4/locales/vi.js +2 -0
- package/node_modules/zod/v4/locales/yo.cjs +2 -0
- package/node_modules/zod/v4/locales/yo.js +2 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
- package/node_modules/zod/v4/locales/zh-CN.js +2 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
- package/node_modules/zod/v4/locales/zh-TW.js +2 -0
- package/node_modules/zod/v4/mini/checks.cjs +19 -0
- package/node_modules/zod/v4/mini/coerce.cjs +19 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
- package/node_modules/zod/v4/mini/external.cjs +22 -1
- package/node_modules/zod/v4/mini/external.d.cts +1 -1
- package/node_modules/zod/v4/mini/external.d.ts +1 -1
- package/node_modules/zod/v4/mini/external.js +1 -1
- package/node_modules/zod/v4/mini/in-out.cjs +19 -0
- package/node_modules/zod/v4/mini/index.cjs +19 -0
- package/node_modules/zod/v4/mini/iso.cjs +19 -0
- package/node_modules/zod/v4/mini/parse.cjs +19 -0
- package/node_modules/zod/v4/mini/schemas.cjs +44 -8
- package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
- package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
- package/node_modules/zod/v4/mini/schemas.js +21 -6
- package/node_modules/zod/v4-mini/index.cjs +19 -0
- package/openclaw.plugin.json +21 -1
- package/package.json +9 -6
- package/dist/.setup/agent-components.runtime-CEPrf2SY.mjs +0 -4
- package/dist/.setup/message-handler.history-CJOsN9w5.mjs +0 -28
- package/dist/.setup/probe.runtime-DBQ_AGPe.mjs +0 -2
- package/dist/.setup/provider-session.runtime-BW7QrF5C.mjs +0 -6
- package/dist/.setup/provider.runtime-DuhmKdDU.mjs +0 -2
- package/dist/.setup/security-audit.runtime-DHtYenx9.mjs +0 -2
- package/dist/.setup/setup-plugin-api-CINIEBLa.mjs +0 -3
- package/dist/.setup/system-events-B2YEEMbS.mjs +0 -34
- package/dist/.setup/targets-D1mAB5yO.mjs +0 -3
- package/dist/.setup/thread-bindings.manager-eexkKyrG.mjs +0 -678
- package/dist/.setup/thread-bindings.session-updates-DCQq1WZ5.mjs +0 -55
- /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { A as serializePayload,
|
|
2
|
-
import { t as isDiscordThreadChannelType } from "./channel-type-
|
|
3
|
-
import { c as resolveDiscordAccount, m as normalizeDiscordToken, o as mergeDiscordAccountConfig } from "./accounts-
|
|
4
|
-
import {
|
|
5
|
-
import { t as parseAndResolveDiscordTarget } from "./target-resolver-
|
|
1
|
+
import { A as serializePayload, Mt as getGuildMember, ct as createChannelMessage, g as RequestClient, gt as getThreadMember, it as getCurrentUser, j as Embed, jt as getGuild, k as hasDiscordV2Components, mt as getChannel, rt as createUserDmChannel } from "./discord-0xJYfdDD.mjs";
|
|
2
|
+
import { t as isDiscordThreadChannelType } from "./channel-type-DRCrEMss.mjs";
|
|
3
|
+
import { c as resolveDiscordAccount, m as normalizeDiscordToken, o as mergeDiscordAccountConfig } from "./accounts-ChaMcixG.mjs";
|
|
4
|
+
import { o as chunkDiscordTextWithMode, p as resolveDiscordReplyMessageId, r as createDiscordRetryRunner } from "./retry-pz_cSha2.mjs";
|
|
5
|
+
import { t as parseAndResolveDiscordTarget } from "./target-resolver-BuLapkhy.mjs";
|
|
6
6
|
import { ChannelType, MessageFlags, PermissionFlagsBits } from "discord-api-types/v10";
|
|
7
7
|
import { randomBytes } from "node:crypto";
|
|
8
8
|
import { makeProxyFetch } from "openclaw/plugin-sdk/fetch-runtime";
|
|
@@ -55,19 +55,15 @@ const DEFAULT_ACCOUNT_KEY = "\0__default__";
|
|
|
55
55
|
function resolveAccountKey(accountId) {
|
|
56
56
|
return accountId ?? DEFAULT_ACCOUNT_KEY;
|
|
57
57
|
}
|
|
58
|
-
/** Register a GatewayPlugin instance for an account. */
|
|
59
58
|
function registerGateway(accountId, gateway) {
|
|
60
59
|
gatewayRegistry.set(resolveAccountKey(accountId), gateway);
|
|
61
60
|
}
|
|
62
|
-
/** Unregister a GatewayPlugin instance for an account. */
|
|
63
61
|
function unregisterGateway(accountId) {
|
|
64
62
|
gatewayRegistry.delete(resolveAccountKey(accountId));
|
|
65
63
|
}
|
|
66
|
-
/** Get the GatewayPlugin for an account. Returns undefined if not registered. */
|
|
67
64
|
function getGateway(accountId) {
|
|
68
65
|
return gatewayRegistry.get(resolveAccountKey(accountId));
|
|
69
66
|
}
|
|
70
|
-
/** Clear all registered gateways (for testing). */
|
|
71
67
|
function clearGateways() {
|
|
72
68
|
gatewayRegistry.clear();
|
|
73
69
|
}
|
|
@@ -78,11 +74,8 @@ function resolveDiscordProxyUrl(account, cfg) {
|
|
|
78
74
|
if (accountProxy) return accountProxy;
|
|
79
75
|
return normalizeOptionalString(cfg?.channels?.discord?.proxy);
|
|
80
76
|
}
|
|
81
|
-
function resolveDiscordProxyFetchByUrl(proxyUrl, runtime) {
|
|
82
|
-
return withValidatedDiscordProxy(proxyUrl, runtime, (proxy) => makeProxyFetch(proxy));
|
|
83
|
-
}
|
|
84
77
|
function resolveDiscordProxyFetchForAccount(account, cfg, runtime) {
|
|
85
|
-
return
|
|
78
|
+
return withValidatedDiscordProxy(resolveDiscordProxyUrl(account, cfg), runtime, makeProxyFetch);
|
|
86
79
|
}
|
|
87
80
|
function withValidatedDiscordProxy(proxyUrl, runtime, createValue) {
|
|
88
81
|
const proxy = proxyUrl?.trim();
|
|
@@ -112,7 +105,6 @@ const DISCORD_REST_TIMEOUT_MS = 15e3;
|
|
|
112
105
|
function createDiscordRequestClient(token, options) {
|
|
113
106
|
if (!options?.fetch) return new RequestClient(token, options);
|
|
114
107
|
return new RequestClient(token, {
|
|
115
|
-
runtimeProfile: "persistent",
|
|
116
108
|
maxQueueSize: 1e3,
|
|
117
109
|
timeout: DISCORD_REST_TIMEOUT_MS,
|
|
118
110
|
...options,
|
|
@@ -224,13 +216,9 @@ function resolveDiscordSendComponents(params) {
|
|
|
224
216
|
if (!params.components || !params.isFirst) return;
|
|
225
217
|
return typeof params.components === "function" ? params.components(params.text) : params.components;
|
|
226
218
|
}
|
|
227
|
-
function normalizeDiscordEmbeds(embeds) {
|
|
228
|
-
if (!embeds?.length) return;
|
|
229
|
-
return embeds.map((embed) => embed instanceof Embed ? embed : new Embed(embed));
|
|
230
|
-
}
|
|
231
219
|
function resolveDiscordSendEmbeds(params) {
|
|
232
|
-
if (!params.embeds || !params.isFirst) return;
|
|
233
|
-
return
|
|
220
|
+
if (!params.embeds?.length || !params.isFirst) return;
|
|
221
|
+
return params.embeds.map((embed) => embed instanceof Embed ? embed : new Embed(embed));
|
|
234
222
|
}
|
|
235
223
|
function buildDiscordMessagePayload(params) {
|
|
236
224
|
const payload = {};
|
|
@@ -294,7 +282,7 @@ async function fetchBotUserId(rest) {
|
|
|
294
282
|
return me.id;
|
|
295
283
|
}
|
|
296
284
|
function resolveMemberGuildPermissionBits(params) {
|
|
297
|
-
const rolesByIdLocal =
|
|
285
|
+
const rolesByIdLocal = rolesById(params.guild);
|
|
298
286
|
const everyoneRole = rolesByIdLocal.get(params.guild.id);
|
|
299
287
|
let permissions = 0n;
|
|
300
288
|
if (everyoneRole?.permissions) permissions = addPermissionBits(permissions, everyoneRole.permissions);
|
|
@@ -736,8 +724,5 @@ function buildReactionIdentifier(emoji) {
|
|
|
736
724
|
if (emoji.id && emoji.name) return `${emoji.name}:${emoji.id}`;
|
|
737
725
|
return emoji.name ?? "";
|
|
738
726
|
}
|
|
739
|
-
function formatReactionEmoji(emoji) {
|
|
740
|
-
return buildReactionIdentifier(emoji);
|
|
741
|
-
}
|
|
742
727
|
//#endregion
|
|
743
|
-
export {
|
|
728
|
+
export { resolveDiscordSendEmbeds as A, withValidatedDiscordProxy as B, hasAnyChannelPermissionDiscord as C, createDiscordMessageNonce as D, buildDiscordMessageRequest as E, resolveDiscordClientAccountContext as F, parseAndResolveChannelRecipient as G, getGateway as H, resolveDiscordRest as I, DISCORD_REST_TIMEOUT_MS as L, createDiscordClient as M, createDiscordRestClient as N, resolveDiscordMessageFlags as O, createDiscordRuntimeAccountContext as P, resolveDiscordProxyFetchForAccount as R, hasAllGuildPermissionsDiscord as S, SUPPRESS_NOTIFICATIONS_FLAG as T, registerGateway as U, clearGateways as V, unregisterGateway as W, canManageGuildMemberRoleDiscord as _, normalizeEmojiName as a, fetchChannelPermissionsDiscord as b, resolveChannelId as c, sendDiscordMedia as d, sendDiscordText as f, DiscordSendError as g, DISCORD_MAX_STICKER_BYTES as h, normalizeDiscordPollInput as i, resolveDiscordSuppressEmbeds as j, resolveDiscordSendComponents as k, resolveDiscordChannel as l, DISCORD_MAX_EVENT_COVER_BYTES as m, buildDiscordTextChunks as n, normalizeReactionEmoji as o, DISCORD_MAX_EMOJI_BYTES as p, buildReactionIdentifier as r, normalizeStickerIds as s, buildDiscordSendError as t, resolveDiscordTargetChannelId as u, canManageGuildRoleDiscord as v, hasAnyGuildPermissionDiscord as w, fetchMemberGuildPermissionsDiscord as x, canViewDiscordGuildChannel as y, validateDiscordProxyUrl as z };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as formatDiscordUserTag } from "./channel-type-DRCrEMss.mjs";
|
|
2
2
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
//#region extensions/discord/src/monitor/sender-identity.ts
|
|
4
4
|
function resolveDiscordWebhookId(message) {
|
|
5
|
-
|
|
6
|
-
return typeof candidate === "string" && candidate.trim() ? candidate.trim() : null;
|
|
5
|
+
return normalizeOptionalString(message.webhookId ?? message.webhook_id) ?? null;
|
|
7
6
|
}
|
|
8
7
|
function resolveDiscordSenderIdentity(params) {
|
|
9
8
|
const pkInfo = params.pluralkitInfo ?? null;
|
|
@@ -1,39 +1,21 @@
|
|
|
1
|
-
import { c as resolveDiscordAccount, d as resolveDiscordAccountDisabledReason, f as resolveDiscordAccountDmPolicy, l as resolveDiscordAccountAllowFrom, n as isDiscordAccountEnabledForRuntime, o as mergeDiscordAccountConfig, r as listDiscordAccountIds, s as resolveDefaultDiscordAccountId } from "./accounts-
|
|
2
|
-
import { t as inspectDiscordAccount } from "./account-inspect-
|
|
3
|
-
import { n as discordIngressIdentity, t as selectDiscordLivePolicyConfig } from "./live-policy-config-
|
|
4
|
-
import { t as DiscordChannelConfigSchema } from "./config-schema-
|
|
5
|
-
import { n as normalizeCompatibilityConfig } from "./doctor-contract-
|
|
6
|
-
import { r as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-
|
|
1
|
+
import { c as resolveDiscordAccount, d as resolveDiscordAccountDisabledReason, f as resolveDiscordAccountDmPolicy, l as resolveDiscordAccountAllowFrom, n as isDiscordAccountEnabledForRuntime, o as mergeDiscordAccountConfig, r as listDiscordAccountIds, s as resolveDefaultDiscordAccountId } from "./accounts-ChaMcixG.mjs";
|
|
2
|
+
import { t as inspectDiscordAccount } from "./account-inspect-De8hOUxG.mjs";
|
|
3
|
+
import { n as discordIngressIdentity, t as selectDiscordLivePolicyConfig } from "./live-policy-config-8Pv20CHc.mjs";
|
|
4
|
+
import { t as DiscordChannelConfigSchema } from "./config-schema-oxELUSDx.mjs";
|
|
5
|
+
import { n as normalizeCompatibilityConfig } from "./doctor-contract-CvvgwrrG.mjs";
|
|
6
|
+
import { r as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-uOE2J7yM.mjs";
|
|
7
7
|
import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-DSHk7I2w.mjs";
|
|
8
8
|
import { t as deriveLegacySessionChatType } from "./session-contract-BO5tlIdl.mjs";
|
|
9
9
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
10
|
-
import {
|
|
10
|
+
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
11
11
|
import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
12
|
-
import {
|
|
12
|
+
import { resolveConfiguredFromCredentialStatuses } from "openclaw/plugin-sdk/channel-status";
|
|
13
13
|
import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
|
|
14
14
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
15
15
|
import { createConditionalWarningCollector, createOpenProviderConfiguredRouteWarningCollector } from "openclaw/plugin-sdk/channel-policy";
|
|
16
16
|
import { identityEntryAuthenticationClassifier } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
17
17
|
import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
|
|
18
18
|
import { createEnvPatchedAccountSetupAdapter } from "openclaw/plugin-sdk/setup-runtime";
|
|
19
|
-
//#region extensions/discord/src/channel-api.ts
|
|
20
|
-
const DISCORD_CHANNEL_META = {
|
|
21
|
-
id: "discord",
|
|
22
|
-
label: "Discord",
|
|
23
|
-
selectionLabel: "Discord (Bot API)",
|
|
24
|
-
detailLabel: "Discord Bot",
|
|
25
|
-
docsPath: "/channels/discord",
|
|
26
|
-
docsLabel: "discord",
|
|
27
|
-
blurb: "very well supported right now.",
|
|
28
|
-
systemImage: "bubble.left.and.bubble.right",
|
|
29
|
-
markdownCapable: true,
|
|
30
|
-
preferSessionLookupForAnnounceTarget: true
|
|
31
|
-
};
|
|
32
|
-
function getChatChannelMeta(id) {
|
|
33
|
-
if (id !== DISCORD_CHANNEL_META.id) throw new Error(`Unsupported Discord channel meta lookup: ${id}`);
|
|
34
|
-
return DISCORD_CHANNEL_META;
|
|
35
|
-
}
|
|
36
|
-
//#endregion
|
|
37
19
|
//#region extensions/discord/src/security.ts
|
|
38
20
|
const resolveDiscordDmPolicy = createScopedDmSecurityResolver({
|
|
39
21
|
channelKey: "discord",
|
|
@@ -75,7 +57,7 @@ const collectDiscordSecurityFindings = createConditionalWarningCollector.finding
|
|
|
75
57
|
severity: "warn",
|
|
76
58
|
title: "Discord security warning"
|
|
77
59
|
});
|
|
78
|
-
const loadDiscordSecurityAuditModule = createLazyRuntimeModule(() => import("./security-audit
|
|
60
|
+
const loadDiscordSecurityAuditModule = createLazyRuntimeModule(() => import("./security-audit-Cdaegq7C.mjs").then((n) => n.n));
|
|
79
61
|
const discordSecurityAdapter = {
|
|
80
62
|
resolveDmPolicy: resolveDiscordDmPolicy,
|
|
81
63
|
collectWarnings: collectDiscordSecurityFindings,
|
|
@@ -119,7 +101,7 @@ const DISCORD_LEGACY_CONFIG_RULES = [];
|
|
|
119
101
|
//#region extensions/discord/src/shared.ts
|
|
120
102
|
const DISCORD_CHANNEL = "discord";
|
|
121
103
|
const livePolicyConfigPrefixes = Object.keys(selectDiscordLivePolicyConfig({})).flatMap((key) => [`channels.discord.${key}`, `channels.discord.accounts.*.${key}`]);
|
|
122
|
-
const loadDiscordDoctorModule = createLazyRuntimeModule(() => import("./doctor-
|
|
104
|
+
const loadDiscordDoctorModule = createLazyRuntimeModule(() => import("./doctor-BCl1H5tl.mjs"));
|
|
123
105
|
const discordDoctor = {
|
|
124
106
|
dmAllowFromMode: "topOnly",
|
|
125
107
|
groupModel: "route",
|
|
@@ -165,7 +147,18 @@ function createDiscordPluginBase(params) {
|
|
|
165
147
|
id: DISCORD_CHANNEL,
|
|
166
148
|
setupContract: params.setupContract,
|
|
167
149
|
...params.setupWizard ? { setupWizard: params.setupWizard } : {},
|
|
168
|
-
meta: {
|
|
150
|
+
meta: {
|
|
151
|
+
id: "discord",
|
|
152
|
+
label: "Discord",
|
|
153
|
+
selectionLabel: "Discord (Bot API)",
|
|
154
|
+
detailLabel: "Discord Bot",
|
|
155
|
+
docsPath: "/channels/discord",
|
|
156
|
+
docsLabel: "discord",
|
|
157
|
+
blurb: "very well supported right now.",
|
|
158
|
+
systemImage: "bubble.left.and.bubble.right",
|
|
159
|
+
markdownCapable: true,
|
|
160
|
+
preferSessionLookupForAnnounceTarget: true
|
|
161
|
+
},
|
|
169
162
|
capabilities: {
|
|
170
163
|
chatTypes: [
|
|
171
164
|
"direct",
|
|
@@ -203,10 +196,10 @@ function createDiscordPluginBase(params) {
|
|
|
203
196
|
hasConfiguredState: ({ env }) => typeof env?.DISCORD_BOT_TOKEN === "string" && env.DISCORD_BOT_TOKEN.trim().length > 0,
|
|
204
197
|
isEnabled: (account, cfg) => isDiscordAccountEnabledForRuntime(account, cfg),
|
|
205
198
|
disabledReason: (account, cfg) => resolveDiscordAccountDisabledReason(account, cfg),
|
|
206
|
-
isConfigured: (account) => resolveConfiguredFromCredentialStatuses
|
|
199
|
+
isConfigured: (account) => resolveConfiguredFromCredentialStatuses(account) ?? Boolean(account.token?.trim()),
|
|
207
200
|
describeAccount: (account) => describeAccountSnapshot({
|
|
208
201
|
account,
|
|
209
|
-
configured: resolveConfiguredFromCredentialStatuses
|
|
202
|
+
configured: resolveConfiguredFromCredentialStatuses(account) ?? Boolean(account.token?.trim()),
|
|
210
203
|
extra: {
|
|
211
204
|
tokenSource: account.tokenSource,
|
|
212
205
|
tokenStatus: account.tokenStatus
|
|
@@ -224,4 +217,4 @@ function createDiscordPluginBase(params) {
|
|
|
224
217
|
};
|
|
225
218
|
}
|
|
226
219
|
//#endregion
|
|
227
|
-
export { discordSecurityAdapter as a,
|
|
220
|
+
export { discordSecurityAdapter as a, discordSetupContract as i, discordConfigAdapter as n, DISCORD_LEGACY_CONFIG_RULES as r, createDiscordPluginBase as t };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { o as
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { u as ensureBindingsLoadedAsync } from "./thread-bindings.state-g6v9zAym.mjs";
|
|
3
|
+
import { o as listThreadBindingsBySessionKey, u as unbindThreadBindingsBySessionKeyAsync } from "./thread-bindings-D7TfgjR_.mjs";
|
|
4
4
|
import { normalizeOptionalLowercaseString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/discord/src/subagent-hooks.ts
|
|
6
6
|
var subagent_hooks_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
-
ensureBindingsLoadedAsync: () => ensureBindingsLoadedAsync,
|
|
8
7
|
handleDiscordSubagentDeliveryTarget: () => handleDiscordSubagentDeliveryTarget,
|
|
9
8
|
handleDiscordSubagentDeliveryTargetAsync: () => handleDiscordSubagentDeliveryTargetAsync,
|
|
10
9
|
handleDiscordSubagentEnded: () => handleDiscordSubagentEnded
|
|
@@ -13,8 +12,8 @@ function normalizeThreadBindingTargetKind(raw) {
|
|
|
13
12
|
const normalized = normalizeOptionalLowercaseString(raw);
|
|
14
13
|
if (normalized === "subagent" || normalized === "acp") return normalized;
|
|
15
14
|
}
|
|
16
|
-
function handleDiscordSubagentEnded(event) {
|
|
17
|
-
|
|
15
|
+
async function handleDiscordSubagentEnded(event) {
|
|
16
|
+
await unbindThreadBindingsBySessionKeyAsync({
|
|
18
17
|
targetSessionKey: event.targetSessionKey,
|
|
19
18
|
accountId: event.accountId,
|
|
20
19
|
targetKind: normalizeThreadBindingTargetKind(event.targetKind),
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { t as discord_exports } from "./discord-0xJYfdDD.mjs";
|
|
2
|
+
import { S as formatDiscordUserTag } from "./channel-type-DRCrEMss.mjs";
|
|
3
|
+
//#region extensions/discord/src/monitor/system-events.ts
|
|
4
|
+
const SYSTEM_EVENT_ACTIONS = /* @__PURE__ */ new Map([
|
|
5
|
+
[discord_exports.MessageType.ChannelPinnedMessage, "pinned a message"],
|
|
6
|
+
[discord_exports.MessageType.RecipientAdd, "added a recipient"],
|
|
7
|
+
[discord_exports.MessageType.RecipientRemove, "removed a recipient"],
|
|
8
|
+
[discord_exports.MessageType.UserJoin, "user joined"],
|
|
9
|
+
[discord_exports.MessageType.GuildBoost, "boosted the server"],
|
|
10
|
+
[discord_exports.MessageType.GuildBoostTier1, "boosted the server (Tier 1 reached)"],
|
|
11
|
+
[discord_exports.MessageType.GuildBoostTier2, "boosted the server (Tier 2 reached)"],
|
|
12
|
+
[discord_exports.MessageType.GuildBoostTier3, "boosted the server (Tier 3 reached)"],
|
|
13
|
+
[discord_exports.MessageType.ThreadCreated, "created a thread"],
|
|
14
|
+
[discord_exports.MessageType.AutoModerationAction, "auto moderation action"],
|
|
15
|
+
[discord_exports.MessageType.GuildIncidentAlertModeEnabled, "raid protection enabled"],
|
|
16
|
+
[discord_exports.MessageType.GuildIncidentAlertModeDisabled, "raid protection disabled"],
|
|
17
|
+
[discord_exports.MessageType.GuildIncidentReportRaid, "raid reported"],
|
|
18
|
+
[discord_exports.MessageType.GuildIncidentReportFalseAlarm, "raid report marked false alarm"],
|
|
19
|
+
[discord_exports.MessageType.StageStart, "stage started"],
|
|
20
|
+
[discord_exports.MessageType.StageEnd, "stage ended"],
|
|
21
|
+
[discord_exports.MessageType.StageSpeaker, "stage speaker updated"],
|
|
22
|
+
[discord_exports.MessageType.StageTopic, "stage topic updated"],
|
|
23
|
+
[discord_exports.MessageType.PollResult, "poll results posted"],
|
|
24
|
+
[discord_exports.MessageType.PurchaseNotification, "purchase notification"]
|
|
25
|
+
]);
|
|
26
|
+
function resolveDiscordSystemEvent(message, location) {
|
|
27
|
+
const action = message.type === void 0 ? void 0 : SYSTEM_EVENT_ACTIONS.get(message.type);
|
|
28
|
+
if (!action) return null;
|
|
29
|
+
const authorLabel = message.author ? formatDiscordUserTag(message.author) : "";
|
|
30
|
+
return `Discord system: ${authorLabel ? `${authorLabel} ` : ""}${action} in ${location}`;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { resolveDiscordSystemEvent };
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as resolveDiscordAccount, l as resolveDiscordAccountAllowFrom } from "./accounts-
|
|
3
|
-
import { a as rememberDiscordDirectoryUser, r as listDiscordDirectoryPeersLive } from "./directory-live
|
|
4
|
-
import {
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { c as resolveDiscordAccount, l as resolveDiscordAccountAllowFrom } from "./accounts-ChaMcixG.mjs";
|
|
3
|
+
import { a as rememberDiscordDirectoryUser, r as listDiscordDirectoryPeersLive } from "./directory-live-DtKRHuGV.mjs";
|
|
4
|
+
import { b as parseDiscordTarget, h as allowFromContainsDiscordUserId } from "./retry-pz_cSha2.mjs";
|
|
5
5
|
import { buildMessagingTarget } from "openclaw/plugin-sdk/channel-targets";
|
|
6
|
-
//#region extensions/discord/src/send-target-parsing.ts
|
|
7
|
-
const parseDiscordSendTarget = (raw, options = {}) => parseDiscordTarget(raw, options);
|
|
8
|
-
//#endregion
|
|
9
6
|
//#region extensions/discord/src/target-resolver.ts
|
|
10
7
|
var target_resolver_exports = /* @__PURE__ */ __exportAll({
|
|
11
8
|
parseAndResolveDiscordTarget: () => parseAndResolveDiscordTarget,
|
|
@@ -23,7 +20,7 @@ async function resolveDiscordTarget(raw, options, parseOptions = {}) {
|
|
|
23
20
|
if (/^\d+$/.test(trimmed) && parseOptions.defaultKind !== "user" && isConfiguredAllowedDiscordDmUser(trimmed, options)) return buildMessagingTarget("user", trimmed, trimmed);
|
|
24
21
|
const directParse = safeParseDiscordTarget(trimmed, parseOptions);
|
|
25
22
|
if (directParse && directParse.kind !== "channel" && !likelyUsername) return directParse;
|
|
26
|
-
if (!shouldLookup) return directParse ??
|
|
23
|
+
if (!shouldLookup) return directParse ?? parseDiscordTarget(trimmed, parseOptions);
|
|
27
24
|
try {
|
|
28
25
|
const match = (await listDiscordDirectoryPeersLive({
|
|
29
26
|
...options,
|
|
@@ -48,16 +45,16 @@ async function resolveDiscordTarget(raw, options, parseOptions = {}) {
|
|
|
48
45
|
return buildMessagingTarget("user", userId, trimmed);
|
|
49
46
|
}
|
|
50
47
|
} catch {}
|
|
51
|
-
return
|
|
48
|
+
return parseDiscordTarget(trimmed, parseOptions);
|
|
52
49
|
}
|
|
53
50
|
async function parseAndResolveDiscordTarget(raw, options, parseOptions = {}) {
|
|
54
|
-
const resolved = await resolveDiscordTarget(raw, options, parseOptions)
|
|
51
|
+
const resolved = await resolveDiscordTarget(raw, options, parseOptions);
|
|
55
52
|
if (!resolved) throw new Error("Recipient is required for Discord sends");
|
|
56
53
|
return resolved;
|
|
57
54
|
}
|
|
58
55
|
function safeParseDiscordTarget(input, options) {
|
|
59
56
|
try {
|
|
60
|
-
return
|
|
57
|
+
return parseDiscordTarget(input, options);
|
|
61
58
|
} catch {
|
|
62
59
|
return;
|
|
63
60
|
}
|
|
@@ -81,4 +78,4 @@ function isLikelyUsername(input) {
|
|
|
81
78
|
return true;
|
|
82
79
|
}
|
|
83
80
|
//#endregion
|
|
84
|
-
export {
|
|
81
|
+
export { resolveDiscordTarget as n, target_resolver_exports as r, parseAndResolveDiscordTarget as t };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import "./targets-
|
|
4
|
-
import {
|
|
5
|
-
import { n as
|
|
6
|
-
import { c as
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { b as parseDiscordTarget } from "./retry-pz_cSha2.mjs";
|
|
3
|
+
import "./targets-0KUcEIYx.mjs";
|
|
4
|
+
import { D as resolveThreadBindingMaxAgeMs$1, E as resolveThreadBindingMaxAgeExpiresAt, T as resolveThreadBindingInactivityExpiresAt, _ as refreshUnboundThreadWebhookIdentity, f as getThreadBindingToken, n as MANAGERS_BY_ACCOUNT_ID, t as BINDINGS_BY_THREAD_ID, w as resolveThreadBindingIdleTimeoutMs$1 } from "./thread-bindings.state-g6v9zAym.mjs";
|
|
5
|
+
import { a as mutateBindingsForTargetSession, i as setThreadBindingMaxAgeBySessionKeyAsync, n as setThreadBindingIdleTimeoutBySessionKeyAsync, o as resolveBindingIdsForTargetSession, r as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey, u as removeBindingRecordSync } from "./thread-bindings.session-updates-CshfKghV.mjs";
|
|
6
|
+
import { c as resolveThreadBindingPersonaFromRecord, i as createNoopThreadBindingManager, n as getThreadBindingManager, o as resolveChannelIdForBinding, s as resolveThreadBindingPersona, t as createThreadBindingManager } from "./thread-bindings.manager-DN-NissX.mjs";
|
|
7
7
|
import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
8
|
-
import { normalizeOptionalLowercaseString, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
|
-
import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
|
|
8
|
+
import { normalizeOptionalLowercaseString, normalizeOptionalString, normalizeOptionalStringifiedId, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
|
+
import { formatThreadBindingDurationLabel as formatThreadBindingDurationLabel$1, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingIntroText, resolveThreadBindingIntroText as resolveThreadBindingIntroText$1, resolveThreadBindingMaxAgeMs, resolveThreadBindingThreadName, resolveThreadBindingThreadName as resolveThreadBindingThreadName$1, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
|
|
10
10
|
import { readAcpSessionEntry } from "openclaw/plugin-sdk/acp-runtime";
|
|
11
11
|
import { runTasksWithConcurrency } from "openclaw/plugin-sdk/concurrency-runtime";
|
|
12
12
|
//#region extensions/discord/src/monitor/thread-bindings.config.ts
|
|
@@ -32,9 +32,7 @@ function resolveDiscordThreadBindingMaxAgeMs(params) {
|
|
|
32
32
|
//#region extensions/discord/src/monitor/thread-bindings.lifecycle.ts
|
|
33
33
|
const ACP_STARTUP_HEALTH_PROBE_CONCURRENCY_LIMIT = 8;
|
|
34
34
|
function listThreadBindingsForAccount(accountId) {
|
|
35
|
-
|
|
36
|
-
if (!manager) return [];
|
|
37
|
-
return manager.listBindings();
|
|
35
|
+
return getThreadBindingManager(accountId)?.listBindings() ?? [];
|
|
38
36
|
}
|
|
39
37
|
function listThreadBindingsBySessionKey(params) {
|
|
40
38
|
return resolveBindingIdsForTargetSession(params).map((bindingKey) => BINDINGS_BY_THREAD_ID.get(bindingKey)).filter((entry) => Boolean(entry));
|
|
@@ -44,7 +42,7 @@ async function autoBindSpawnedDiscordSubagent(params) {
|
|
|
44
42
|
const manager = getThreadBindingManager(params.accountId);
|
|
45
43
|
if (!manager) return null;
|
|
46
44
|
const managerToken = getThreadBindingToken(manager.accountId);
|
|
47
|
-
const requesterThreadId =
|
|
45
|
+
const requesterThreadId = normalizeOptionalStringifiedId(params.threadId);
|
|
48
46
|
let channelId = "";
|
|
49
47
|
if (requesterThreadId) {
|
|
50
48
|
const existing = manager.getByThreadId(requesterThreadId);
|
|
@@ -93,6 +91,7 @@ async function autoBindSpawnedDiscordSubagent(params) {
|
|
|
93
91
|
})
|
|
94
92
|
});
|
|
95
93
|
}
|
|
94
|
+
/** @deprecated Public SDK compatibility; bundled callers use the awaited variant. */
|
|
96
95
|
function unbindThreadBindingsBySessionKey(params) {
|
|
97
96
|
const ids = resolveBindingIdsForTargetSession(params);
|
|
98
97
|
if (ids.length === 0) return [];
|
|
@@ -101,28 +100,22 @@ function unbindThreadBindingsBySessionKey(params) {
|
|
|
101
100
|
const record = BINDINGS_BY_THREAD_ID.get(bindingKey);
|
|
102
101
|
if (!record) continue;
|
|
103
102
|
const manager = MANAGERS_BY_ACCOUNT_ID.get(record.accountId);
|
|
104
|
-
if (manager)
|
|
105
|
-
|
|
106
|
-
threadId: record.threadId,
|
|
107
|
-
reason: params.reason,
|
|
108
|
-
sendFarewell: params.sendFarewell,
|
|
109
|
-
farewellText: params.farewellText
|
|
110
|
-
});
|
|
111
|
-
if (unbound) removed.push(unbound);
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
const unbound = removeBindingRecord(bindingKey);
|
|
103
|
+
if (manager?.isStopping()) throw new Error("Discord thread binding manager is stopping");
|
|
104
|
+
const unbound = removeBindingRecordSync(bindingKey);
|
|
115
105
|
if (unbound) {
|
|
116
|
-
|
|
106
|
+
if (manager) manager.notifyUnbound(unbound, params);
|
|
107
|
+
else refreshUnboundThreadWebhookIdentity(unbound);
|
|
117
108
|
removed.push(unbound);
|
|
118
109
|
}
|
|
119
110
|
}
|
|
120
|
-
if (removed.length > 0 && shouldPersistBindingMutations()) saveBindingsToDisk({ force: true });
|
|
121
111
|
return removed;
|
|
122
112
|
}
|
|
123
|
-
function
|
|
124
|
-
|
|
125
|
-
return
|
|
113
|
+
async function unbindThreadBindingsBySessionKeyAsync(input) {
|
|
114
|
+
const params = { ...input };
|
|
115
|
+
return mutateBindingsForTargetSession(params, () => null, (record, manager) => {
|
|
116
|
+
if (manager) manager.notifyUnbound(record, params);
|
|
117
|
+
else refreshUnboundThreadWebhookIdentity(record);
|
|
118
|
+
});
|
|
126
119
|
}
|
|
127
120
|
async function reconcileAcpThreadBindingsOnStartup(params) {
|
|
128
121
|
const manager = getThreadBindingManager(params.accountId);
|
|
@@ -150,7 +143,7 @@ async function reconcileAcpThreadBindingsOnStartup(params) {
|
|
|
150
143
|
continue;
|
|
151
144
|
}
|
|
152
145
|
if (session.storeReadFailed) continue;
|
|
153
|
-
if (
|
|
146
|
+
if (!session.acp) {
|
|
154
147
|
staleBindings.push(binding);
|
|
155
148
|
continue;
|
|
156
149
|
}
|
|
@@ -197,8 +190,10 @@ async function reconcileAcpThreadBindingsOnStartup(params) {
|
|
|
197
190
|
let removed = 0;
|
|
198
191
|
for (const binding of staleBindings) {
|
|
199
192
|
staleSessionKeys.push(binding.targetSessionKey);
|
|
200
|
-
if (manager.
|
|
193
|
+
if (getThreadBindingManager(manager.accountId) !== manager || manager.getByThreadId(binding.threadId) !== binding) continue;
|
|
194
|
+
if (await manager.unbindThread({
|
|
201
195
|
threadId: binding.threadId,
|
|
196
|
+
expected: binding,
|
|
202
197
|
reason: "stale-session",
|
|
203
198
|
sendFarewell: params.sendFarewell ?? false
|
|
204
199
|
})) removed += 1;
|
|
@@ -215,7 +210,7 @@ var thread_bindings_exports = /* @__PURE__ */ __exportAll({
|
|
|
215
210
|
autoBindSpawnedDiscordSubagent: () => autoBindSpawnedDiscordSubagent,
|
|
216
211
|
createNoopThreadBindingManager: () => createNoopThreadBindingManager,
|
|
217
212
|
createThreadBindingManager: () => createThreadBindingManager,
|
|
218
|
-
formatThreadBindingDurationLabel: () => formatThreadBindingDurationLabel,
|
|
213
|
+
formatThreadBindingDurationLabel: () => formatThreadBindingDurationLabel$1,
|
|
219
214
|
getThreadBindingManager: () => getThreadBindingManager,
|
|
220
215
|
listThreadBindingsBySessionKey: () => listThreadBindingsBySessionKey,
|
|
221
216
|
listThreadBindingsForAccount: () => listThreadBindingsForAccount,
|
|
@@ -224,16 +219,19 @@ var thread_bindings_exports = /* @__PURE__ */ __exportAll({
|
|
|
224
219
|
resolveDiscordThreadBindingMaxAgeMs: () => resolveDiscordThreadBindingMaxAgeMs,
|
|
225
220
|
resolveThreadBindingIdleTimeoutMs: () => resolveThreadBindingIdleTimeoutMs$1,
|
|
226
221
|
resolveThreadBindingInactivityExpiresAt: () => resolveThreadBindingInactivityExpiresAt,
|
|
227
|
-
resolveThreadBindingIntroText: () => resolveThreadBindingIntroText,
|
|
222
|
+
resolveThreadBindingIntroText: () => resolveThreadBindingIntroText$1,
|
|
228
223
|
resolveThreadBindingMaxAgeExpiresAt: () => resolveThreadBindingMaxAgeExpiresAt,
|
|
229
224
|
resolveThreadBindingMaxAgeMs: () => resolveThreadBindingMaxAgeMs$1,
|
|
230
225
|
resolveThreadBindingPersona: () => resolveThreadBindingPersona,
|
|
231
226
|
resolveThreadBindingPersonaFromRecord: () => resolveThreadBindingPersonaFromRecord,
|
|
232
|
-
resolveThreadBindingThreadName: () => resolveThreadBindingThreadName,
|
|
227
|
+
resolveThreadBindingThreadName: () => resolveThreadBindingThreadName$1,
|
|
233
228
|
resolveThreadBindingsEnabled: () => resolveThreadBindingsEnabled,
|
|
234
229
|
setThreadBindingIdleTimeoutBySessionKey: () => setThreadBindingIdleTimeoutBySessionKey,
|
|
230
|
+
setThreadBindingIdleTimeoutBySessionKeyAsync: () => setThreadBindingIdleTimeoutBySessionKeyAsync,
|
|
235
231
|
setThreadBindingMaxAgeBySessionKey: () => setThreadBindingMaxAgeBySessionKey,
|
|
236
|
-
|
|
232
|
+
setThreadBindingMaxAgeBySessionKeyAsync: () => setThreadBindingMaxAgeBySessionKeyAsync,
|
|
233
|
+
unbindThreadBindingsBySessionKey: () => unbindThreadBindingsBySessionKey,
|
|
234
|
+
unbindThreadBindingsBySessionKeyAsync: () => unbindThreadBindingsBySessionKeyAsync
|
|
237
235
|
});
|
|
238
236
|
//#endregion
|
|
239
|
-
export {
|
|
237
|
+
export { autoBindSpawnedDiscordSubagent as a, reconcileAcpThreadBindingsOnStartup as c, resolveDiscordThreadBindingIdleTimeoutMs as d, resolveDiscordThreadBindingMaxAgeMs as f, thread_bindings_exports as i, unbindThreadBindingsBySessionKey as l, resolveThreadBindingIntroText$1 as n, listThreadBindingsBySessionKey as o, resolveThreadBindingsEnabled as p, resolveThreadBindingThreadName$1 as r, listThreadBindingsForAccount as s, formatThreadBindingDurationLabel$1 as t, unbindThreadBindingsBySessionKeyAsync as u };
|