@openclaw/discord 2026.8.1-beta.3 → 2026.9.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{account-inspect-D5xmUpnj.js → account-inspect-BDfKyuvL.js} +1 -1
- package/dist/account-inspect-api.js +1 -1
- package/dist/{accounts-DNl-oCEw.js → accounts-CfQ-vSyf.js} +5 -124
- package/dist/action-runtime-api.js +1 -1
- package/dist/{activities-api-KCBAmWxD.js → activities-api-q-9PaaHH.js} +5 -4
- package/dist/activities-api.js +1 -1
- package/dist/api.js +15 -15
- package/dist/{approval-handler.runtime-B12RCYr8.js → approval-handler.runtime-B7qhK3fR.js} +28 -105
- package/dist/{audit-Yc7eZDd6.js → audit-CBEv_ERu.js} +5 -5
- package/dist/{channel-cXYzGc4L.js → channel-Dx1tMTfx.js} +18 -20
- package/dist/{channel-actions.runtime-CODTvo7c.js → channel-actions.runtime-CLWWu9nC.js} +56 -56
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/channel-type-CVLZyGYS.js +7 -0
- package/dist/{channel.setup-CSiwnMgs.js → channel.setup-DOzXS2Pk.js} +5 -5
- package/dist/{components-ezGKo_Yh.js → components-B9V5o361.js} +6 -22
- package/dist/{conversation-binding-route-D6rCQ5S0.js → conversation-binding-route-DJYrY2TQ.js} +1 -1
- package/dist/{directory-config-XyCfoqLg.js → directory-config-BK6eqekJ.js} +2 -2
- package/dist/directory-contract-api.js +1 -1
- package/dist/{directory-live-Df0NbFJB.js → directory-live-DSAJSrJk.js} +2 -2
- package/dist/{doctor-DYY31GrO.js → doctor-Cm7Y1pJ2.js} +4 -4
- package/dist/doctor-contract-api.js +1 -1
- package/dist/{handle-action.guild-admin-6Tvvinsa.js → handle-action.guild-admin-BdwCRHmm.js} +9 -5
- package/dist/index.js +1 -1
- package/dist/{message-handler-B61q5MOF.js → message-handler-BXpWZyni.js} +5 -5
- package/dist/{message-handler.preflight-Bzg_Hawz.js → message-handler.preflight-Ba5LAY_X.js} +13 -15
- package/dist/{message-handler.process--4_712Ec.js → message-handler.process-3HEzmemS.js} +59 -65
- package/dist/{message-utils-BXLLnFl6.js → message-text-aiwO5R2F.js} +32 -30
- package/dist/{outbound-adapter-DxHTOqiN.js → outbound-adapter-BE4jSq2d.js} +53 -58
- package/dist/{outbound-components-B2PL0ooH.js → outbound-components-oLpg8Qzb.js} +3 -3
- package/dist/outbound-session-route-Cg15ZFJd.js +625 -0
- package/dist/{owner-access-Bg41VzAf.js → owner-access-UlYi9t0M.js} +1 -1
- package/dist/{pluralkit-dUl4v1X3.js → pluralkit-Tiyl70dx.js} +1 -1
- package/dist/{probe-BTdtVRwU.js → probe-n6ZXxK8V.js} +1 -1
- package/dist/{probe.runtime-Dq5-PRKT.js → probe.runtime-CN4bdPfZ.js} +1 -1
- package/dist/{provider-DlK_ynqt.js → provider-B11xwilq.js} +244 -238
- package/dist/{provider-session.runtime-CvvphHvs.js → provider-session.runtime-B9xe-Qaf.js} +3 -3
- package/dist/provider.runtime-DiYaHvOz.js +2 -0
- package/dist/{realtime-session.runtime-ysbMG8v7.js → realtime-session.runtime-CU8IQUS-.js} +74 -86
- package/dist/{resolve-allowlist-common-DIVXbD1P.js → resolve-allowlist-common-BLoYaxEG.js} +1 -1
- package/dist/{resolve-channels-CGeUoIqb.js → resolve-channels-C2sT_n67.js} +4 -3
- package/dist/{resolve-users-BtKxLUZv.js → resolve-users-CzpjLwjy.js} +2 -2
- package/dist/{retry-DNsVTeTo.js → retry-Cv4jCU5Z.js} +144 -5
- package/dist/{runtime-D71_VFLr.js → runtime-BHrTlFkf.js} +72 -55
- package/dist/{runtime-CQovMsH3.js → runtime-CY4PRMF-.js} +2 -2
- package/dist/runtime-api.js +16 -23
- package/dist/{sdk-runtime-37OU6_Yh.js → sdk-runtime-4geQHtXc.js} +55 -86
- package/dist/{send-rQIffSYu.js → send-C49MFF9j.js} +78 -15
- package/dist/{send.components-ChK1wS7w.js → send.components-DKKAw5VX.js} +14 -21
- package/dist/{send.outbound-HIkgji_7.js → send.outbound-zam0TrZx.js} +58 -69
- package/dist/{send.shared-B3fpaLWJ.js → send.shared-JjljcV4O.js} +35 -20
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{shared-CaAaoksy.js → shared-_5EcP4jW.js} +27 -8
- package/dist/{subagent-hooks-CNT2ZJTJ.js → subagent-hooks-DQzvOptn.js} +2 -2
- package/dist/subagent-hooks-api.js +1 -6
- package/dist/{system-events-Nuwoq_au.js → system-events-C7yxaHWP.js} +1 -1
- package/dist/{target-resolver-DIXShHaZ.js → target-resolver-vxIh6O3-.js} +3 -3
- package/dist/targets-CtTKvntJ.js +3 -0
- package/dist/{thread-bindings-VlymUnbz.js → thread-bindings-DW5F9vat.js} +3 -4
- package/dist/{thread-bindings.manager-CngsgErq.js → thread-bindings.manager-ByOtwjo_.js} +6 -10
- package/dist/{threading-DU6pgeGm.js → threading-agH1T_6s.js} +47 -25
- package/dist/{transcripts-source-DeIMNbRh.js → transcripts-source-BR11iHA4.js} +3 -3
- package/dist/transcripts-source-api.js +1 -1
- package/dist/{typing-oLiS5Z13.js → typing-Dc_YMY2e.js} +1 -1
- package/dist/{voice-runtime-CjNFaynA.js → voice-runtime-DIeaa8fJ.js} +56 -64
- package/node_modules/@discord/embedded-app-sdk/node_modules/uuid/README.md +19 -19
- package/node_modules/@discord/embedded-app-sdk/node_modules/uuid/dist/v1.js +7 -3
- package/node_modules/@discord/embedded-app-sdk/node_modules/uuid/dist/v7.js +5 -2
- package/node_modules/@discord/embedded-app-sdk/node_modules/uuid/dist-node/v1.js +7 -3
- package/node_modules/@discord/embedded-app-sdk/node_modules/uuid/dist-node/v7.js +5 -2
- package/node_modules/@discord/embedded-app-sdk/node_modules/uuid/package.json +4 -3
- package/node_modules/@discordjs/voice/node_modules/@types/node/README.md +1 -1
- package/node_modules/@discordjs/voice/node_modules/@types/node/child_process.d.ts +0 -1
- package/node_modules/@discordjs/voice/node_modules/@types/node/crypto.d.ts +6 -6
- package/node_modules/@discordjs/voice/node_modules/@types/node/dns/promises.d.ts +5 -5
- package/node_modules/@discordjs/voice/node_modules/@types/node/dns.d.ts +5 -5
- package/node_modules/@discordjs/voice/node_modules/@types/node/fs.d.ts +7 -0
- package/node_modules/@discordjs/voice/node_modules/@types/node/http.d.ts +30 -0
- package/node_modules/@discordjs/voice/node_modules/@types/node/http2.d.ts +4 -4
- package/node_modules/@discordjs/voice/node_modules/@types/node/os.d.ts +30 -30
- package/node_modules/@discordjs/voice/node_modules/@types/node/package.json +2 -2
- package/node_modules/@discordjs/voice/node_modules/@types/node/perf_hooks.d.ts +2 -1
- package/node_modules/@discordjs/voice/node_modules/@types/node/process.d.ts +42 -43
- package/node_modules/@discordjs/voice/node_modules/@types/node/quic.d.ts +1049 -84
- package/node_modules/@discordjs/voice/node_modules/@types/node/sqlite.d.ts +14 -1
- package/node_modules/@discordjs/voice/node_modules/@types/node/stream/iter.d.ts +3 -2
- package/node_modules/@discordjs/voice/node_modules/@types/node/test.d.ts +61 -0
- package/node_modules/@discordjs/voice/node_modules/@types/node/v8.d.ts +20 -23
- package/node_modules/discord-api-types/CHANGELOG.md +8 -0
- package/node_modules/discord-api-types/package.json +4 -4
- package/node_modules/discord-api-types/payloads/v10/channel.d.ts +2 -2
- package/node_modules/discord-api-types/payloads/v10/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v10/gateway.d.ts +4 -0
- package/node_modules/discord-api-types/payloads/v10/gateway.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v10/gateway.js.map +1 -1
- package/node_modules/discord-api-types/payloads/v10/message.d.ts +4 -1
- package/node_modules/discord-api-types/payloads/v10/message.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v10/message.js +1 -0
- package/node_modules/discord-api-types/payloads/v10/message.js.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/channel.d.ts +2 -2
- package/node_modules/discord-api-types/payloads/v9/channel.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/gateway.d.ts +4 -0
- package/node_modules/discord-api-types/payloads/v9/gateway.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/gateway.js.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/message.d.ts +4 -1
- package/node_modules/discord-api-types/payloads/v9/message.d.ts.map +1 -1
- package/node_modules/discord-api-types/payloads/v9/message.js +1 -0
- package/node_modules/discord-api-types/payloads/v9/message.js.map +1 -1
- package/node_modules/typebox/build/format/date.d.mts +1 -1
- package/node_modules/typebox/build/format/date.mjs +1 -1
- package/node_modules/typebox/build/format/date_time.d.mts +2 -2
- package/node_modules/typebox/build/format/date_time.mjs +3 -3
- package/node_modules/typebox/build/format/email.d.mts +1 -1
- package/node_modules/typebox/build/format/email.mjs +2 -2
- package/node_modules/typebox/build/format/hostname.mjs +2 -10
- package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
- package/node_modules/typebox/build/format/idn_email.mjs +3 -3
- package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
- package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
- package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
- package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
- package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
- package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
- package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
- package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
- package/node_modules/typebox/build/format/idna/index.mjs +2 -0
- package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
- package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
- package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
- package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
- package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
- package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
- package/node_modules/typebox/build/format/ipv4.mjs +2 -32
- package/node_modules/typebox/build/format/ipv6.mjs +2 -61
- package/node_modules/typebox/build/format/iri.d.mts +2 -2
- package/node_modules/typebox/build/format/iri.mjs +26 -8
- package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
- package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
- package/node_modules/typebox/build/format/regex.d.mts +1 -2
- package/node_modules/typebox/build/format/regex.mjs +2 -6
- package/node_modules/typebox/build/format/time.d.mts +2 -2
- package/node_modules/typebox/build/format/time.mjs +19 -14
- package/node_modules/typebox/build/format/uri.d.mts +1 -1
- package/node_modules/typebox/build/format/uri.mjs +3 -130
- package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
- package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
- package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
- package/node_modules/typebox/build/format/uri_template.mjs +4 -5
- package/node_modules/typebox/build/format/url.d.mts +3 -3
- package/node_modules/typebox/build/format/url.mjs +4 -5
- package/node_modules/typebox/build/guard/emit.d.mts +3 -1
- package/node_modules/typebox/build/guard/emit.mjs +12 -5
- package/node_modules/typebox/build/guard/guard.d.mts +8 -2
- package/node_modules/typebox/build/guard/guard.mjs +25 -4
- package/node_modules/typebox/build/guard/string.d.mts +2 -2
- package/node_modules/typebox/build/guard/string.mjs +7 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
- package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
- package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
- package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
- package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
- package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
- package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
- package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
- package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
- package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
- package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
- package/node_modules/typebox/build/schema/types/index.mjs +0 -2
- package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
- package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
- package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
- package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
- package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
- package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
- package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
- package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
- package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
- package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
- package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
- package/node_modules/typebox/build/type/script/parser.mjs +27 -23
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
- package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
- package/node_modules/typebox/package.json +27 -27
- package/node_modules/typebox/readme.md +79 -82
- package/node_modules/undici/docs/docs/api/Client.md +21 -8
- package/node_modules/undici/lib/api/readable.js +33 -43
- package/node_modules/undici/lib/core/connect.js +16 -2
- package/node_modules/undici/lib/core/symbols.js +1 -0
- package/node_modules/undici/lib/dispatcher/client-h1.js +3 -3
- package/node_modules/undici/lib/dispatcher/client-h2.js +179 -10
- package/node_modules/undici/lib/dispatcher/client.js +74 -29
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +28 -6
- package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +15 -1
- package/node_modules/undici/lib/handler/retry-handler.js +7 -2
- package/node_modules/undici/lib/interceptor/cache.js +5 -2
- package/node_modules/undici/lib/interceptor/deduplicate.js +1 -1
- package/node_modules/undici/lib/mock/mock-utils.js +213 -24
- package/node_modules/undici/lib/util/cache.js +2 -4
- package/node_modules/undici/lib/web/websocket/websocket.js +22 -0
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/client.d.ts +40 -0
- package/node_modules/ws/lib/permessage-deflate.js +3 -1
- package/node_modules/ws/package.json +1 -1
- package/package.json +8 -8
- package/dist/approval-message-safety-XGFPbDoI.js +0 -226
- package/dist/audit-core-BCX8UeFH.js +0 -105
- package/dist/channel-actions-Dr2QI8Bf.js +0 -212
- package/dist/inbound-event-delivery-De2qxTrP.js +0 -39
- package/dist/provider.runtime-CzKGRiAF.js +0 -2
- package/dist/runtime-api.actions.js +0 -3
- package/dist/runtime-api.lookup.js +0 -7
- package/dist/runtime-api.monitor-CzeTYF32.js +0 -6
- package/dist/runtime-api.monitor.js +0 -9
- package/dist/runtime-api.send.js +0 -7
- package/dist/runtime-api.threads.js +0 -5
- package/dist/send.reactions-gmJ6yFPo.js +0 -78
- package/dist/send.receipt-Cnhoautb.js +0 -76
- package/dist/subagent-progress-FPLqBY1s.js +0 -110
- package/dist/targets-B2pf49zc.js +0 -3
- package/node_modules/typebox/build/format/_idna.d.mts +0 -2
- package/node_modules/typebox/build/format/_idna.mjs +0 -246
- package/node_modules/typebox/build/format/_puny.d.mts +0 -1
- package/node_modules/typebox/build/format/_puny.mjs +0 -77
- package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
- package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
- package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
- package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
- package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
- package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
- package/dist/{config-schema-DC5kDtQ5.js → config-schema-BR13IAx6.js} +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as mergeDiscordAccountConfig, s as resolveDefaultDiscordAccountId, u as resolveDiscordAccountConfig } from "./accounts-
|
|
1
|
+
import { o as mergeDiscordAccountConfig, s as resolveDefaultDiscordAccountId, u as resolveDiscordAccountConfig } from "./accounts-CfQ-vSyf.js";
|
|
2
2
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
3
3
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { hasConfiguredSecretInput, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as inspectDiscordAccount } from "./account-inspect-
|
|
1
|
+
import { t as inspectDiscordAccount } from "./account-inspect-BDfKyuvL.js";
|
|
2
2
|
//#region extensions/discord/account-inspect-api.ts
|
|
3
3
|
function inspectDiscordReadOnlyAccount(cfg, accountId) {
|
|
4
4
|
return inspectDiscordAccount({
|
|
@@ -1,130 +1,11 @@
|
|
|
1
|
-
import "./config-schema-DC5kDtQ5.js";
|
|
2
1
|
import { createAccountActionGate, createAccountListHelpers } from "openclaw/plugin-sdk/account-helpers";
|
|
3
|
-
import {
|
|
2
|
+
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
4
3
|
import { mapAllowFromEntries, normalizeChannelDmPolicy } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
5
|
-
import {
|
|
4
|
+
import { resolveConfiguredFromCredentialStatuses } from "openclaw/plugin-sdk/channel-status";
|
|
5
|
+
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, normalizeAccountId as normalizeAccountId$1, resolveAccountEntry } from "openclaw/plugin-sdk/routing";
|
|
6
6
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
|
-
import { PAIRING_APPROVED_MESSAGE as PAIRING_APPROVED_MESSAGE$1, buildTokenChannelStatusSummary as buildTokenChannelStatusSummary$1, projectCredentialSnapshotFields as projectCredentialSnapshotFields$1, resolveConfiguredFromCredentialStatuses, resolveConfiguredFromCredentialStatuses as resolveConfiguredFromCredentialStatuses$1 } from "openclaw/plugin-sdk/channel-status";
|
|
8
|
-
import "openclaw/plugin-sdk/channel-config-schema";
|
|
9
|
-
import { normalizeResolvedSecretInputString, resolveSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
10
|
-
import { buildThreadAwareOutboundSessionRoute } from "openclaw/plugin-sdk/channel-core";
|
|
11
|
-
import { assertMediaNotDataUrl, jsonResult, parseAvailableTags, readNonNegativeIntegerParam, readPositiveIntegerParam, readReactionParams, readStringArrayParam, readStringParam, withNormalizedTimestamp } from "openclaw/plugin-sdk/channel-actions";
|
|
12
|
-
import { readBooleanParam as readBooleanParam$1 } from "openclaw/plugin-sdk/boolean-param";
|
|
13
|
-
import "openclaw/plugin-sdk/channel-plugin-common";
|
|
14
|
-
import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
|
|
15
|
-
import { buildMessagingTarget, parseMentionPrefixOrAtUserTarget, requireTargetKind } from "openclaw/plugin-sdk/channel-targets";
|
|
16
7
|
import { getRuntimeConfigSnapshot, getRuntimeConfigSourceSnapshot, selectApplicableRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
|
|
17
|
-
|
|
18
|
-
const DISCORD_CHANNEL_META = {
|
|
19
|
-
id: "discord",
|
|
20
|
-
label: "Discord",
|
|
21
|
-
selectionLabel: "Discord (Bot API)",
|
|
22
|
-
detailLabel: "Discord Bot",
|
|
23
|
-
docsPath: "/channels/discord",
|
|
24
|
-
docsLabel: "discord",
|
|
25
|
-
blurb: "very well supported right now.",
|
|
26
|
-
systemImage: "bubble.left.and.bubble.right",
|
|
27
|
-
markdownCapable: true,
|
|
28
|
-
preferSessionLookupForAnnounceTarget: true
|
|
29
|
-
};
|
|
30
|
-
function getChatChannelMeta(id) {
|
|
31
|
-
if (id !== DISCORD_CHANNEL_META.id) throw new Error(`Unsupported Discord channel meta lookup: ${id}`);
|
|
32
|
-
return DISCORD_CHANNEL_META;
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
//#region extensions/discord/src/target-parsing.ts
|
|
36
|
-
function parseDiscordTarget(raw, options = {}) {
|
|
37
|
-
const trimmed = raw.trim();
|
|
38
|
-
if (!trimmed) return;
|
|
39
|
-
const providerPrefixedTarget = parseDiscordProviderPrefixedTarget(trimmed);
|
|
40
|
-
if (providerPrefixedTarget) return providerPrefixedTarget;
|
|
41
|
-
const userTarget = parseMentionPrefixOrAtUserTarget({
|
|
42
|
-
raw: trimmed,
|
|
43
|
-
mentionPattern: /^<@!?(\d+)>$/,
|
|
44
|
-
prefixes: [
|
|
45
|
-
{
|
|
46
|
-
prefix: "user:",
|
|
47
|
-
kind: "user"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
prefix: "channel:",
|
|
51
|
-
kind: "channel"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
prefix: "discord:",
|
|
55
|
-
kind: "user"
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
atUserPattern: /^\d+$/,
|
|
59
|
-
atUserErrorMessage: "Discord DMs require a user id (use user:<id> or a <@id> mention)"
|
|
60
|
-
});
|
|
61
|
-
if (userTarget) return userTarget;
|
|
62
|
-
if (/^\d+$/.test(trimmed)) {
|
|
63
|
-
if (options.defaultKind) return buildMessagingTarget(options.defaultKind, trimmed, trimmed);
|
|
64
|
-
throw new Error(options.ambiguousMessage ?? `Ambiguous Discord recipient "${trimmed}". For DMs use "user:${trimmed}" or "<@${trimmed}>"; for channels use "channel:${trimmed}".`);
|
|
65
|
-
}
|
|
66
|
-
return buildMessagingTarget("channel", trimmed, trimmed);
|
|
67
|
-
}
|
|
68
|
-
function parseDiscordProviderPrefixedTarget(raw) {
|
|
69
|
-
const match = /^discord:(channel|user):(.+)$/i.exec(raw);
|
|
70
|
-
if (!match) return;
|
|
71
|
-
const kind = match[1]?.toLowerCase();
|
|
72
|
-
const id = match[2]?.trim();
|
|
73
|
-
if (!kind || !id) return;
|
|
74
|
-
return buildMessagingTarget(kind, id, `${kind}:${id}`);
|
|
75
|
-
}
|
|
76
|
-
function resolveDiscordChannelId(raw) {
|
|
77
|
-
return requireTargetKind({
|
|
78
|
-
platform: "Discord",
|
|
79
|
-
target: parseDiscordTarget(raw, { defaultKind: "channel" }),
|
|
80
|
-
kind: "channel"
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
//#endregion
|
|
84
|
-
//#region extensions/discord/src/outbound-session-route.ts
|
|
85
|
-
function resolveDiscordOutboundSessionRoute(params) {
|
|
86
|
-
const parsed = parseDiscordTarget(params.target, { defaultKind: resolveDiscordOutboundTargetKindHint(params) });
|
|
87
|
-
if (!parsed) return null;
|
|
88
|
-
const explicitThreadId = params.threadId == null ? void 0 : String(params.threadId).trim();
|
|
89
|
-
const peerId = explicitThreadId || parsed.id;
|
|
90
|
-
const isDm = parsed.kind === "user" && !explicitThreadId;
|
|
91
|
-
const recipientSessionExact = /^\d+$/.test(peerId);
|
|
92
|
-
const peer = {
|
|
93
|
-
kind: isDm ? "direct" : "channel",
|
|
94
|
-
id: peerId
|
|
95
|
-
};
|
|
96
|
-
const baseSessionKey = buildOutboundBaseSessionKey({
|
|
97
|
-
cfg: params.cfg,
|
|
98
|
-
agentId: params.agentId,
|
|
99
|
-
channel: "discord",
|
|
100
|
-
accountId: params.accountId,
|
|
101
|
-
peer
|
|
102
|
-
});
|
|
103
|
-
return buildThreadAwareOutboundSessionRoute({
|
|
104
|
-
route: {
|
|
105
|
-
sessionKey: baseSessionKey,
|
|
106
|
-
baseSessionKey,
|
|
107
|
-
recipientSessionExact,
|
|
108
|
-
peer,
|
|
109
|
-
chatType: isDm ? "direct" : "channel",
|
|
110
|
-
from: isDm ? `discord:${peerId}` : `discord:channel:${peerId}`,
|
|
111
|
-
to: isDm ? `user:${peerId}` : `channel:${peerId}`
|
|
112
|
-
},
|
|
113
|
-
threadId: params.threadId,
|
|
114
|
-
precedence: ["threadId"],
|
|
115
|
-
useSuffix: false
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
function resolveDiscordOutboundTargetKindHint(params) {
|
|
119
|
-
const resolvedKind = params.resolvedTarget?.kind;
|
|
120
|
-
if (resolvedKind === "user") return "user";
|
|
121
|
-
if (resolvedKind === "group" || resolvedKind === "channel") return "channel";
|
|
122
|
-
const target = params.target.trim();
|
|
123
|
-
if (/^channel:/i.test(target)) return "channel";
|
|
124
|
-
if (/^(user:|discord:|@|<@!?)/i.test(target)) return "user";
|
|
125
|
-
return "channel";
|
|
126
|
-
}
|
|
127
|
-
//#endregion
|
|
8
|
+
import { normalizeResolvedSecretInputString, resolveSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
128
9
|
//#region extensions/discord/src/runtime-config.ts
|
|
129
10
|
function selectDiscordRuntimeConfig(inputConfig) {
|
|
130
11
|
return selectApplicableRuntimeConfig({
|
|
@@ -368,4 +249,4 @@ function listDiscordStartupAccountIds(cfg) {
|
|
|
368
249
|
return [defaultAccountId, ...startupAccountIds.filter((candidateId) => candidateId !== defaultAccountId)];
|
|
369
250
|
}
|
|
370
251
|
//#endregion
|
|
371
|
-
export {
|
|
252
|
+
export { listEnabledDiscordAccounts as a, resolveDiscordAccount as c, resolveDiscordAccountDisabledReason as d, resolveDiscordAccountDmPolicy as f, selectDiscordActivitiesRuntimeConfig as g, resolveDiscordToken as h, listDiscordStartupAccountIds as i, resolveDiscordAccountAllowFrom as l, normalizeDiscordToken as m, isDiscordAccountEnabledForRuntime as n, mergeDiscordAccountConfig as o, resolveDiscordMaxLinesPerMessage as p, listDiscordAccountIds as r, resolveDefaultDiscordAccountId as s, createDiscordActionGate as t, resolveDiscordAccountConfig as u };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as handleDiscordAction } from "./runtime-
|
|
1
|
+
import { t as handleDiscordAction } from "./runtime-BHrTlFkf.js";
|
|
2
2
|
export { handleDiscordAction };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { r as
|
|
1
|
+
import { v as resolveDiscordChannelId$1 } from "./retry-Cv4jCU5Z.js";
|
|
2
|
+
import { i as buildDiscordPresentationComponents, x as parseDiscordActivityCustomId } from "./components-B9V5o361.js";
|
|
3
|
+
import { c as resolveDiscordAccount } from "./accounts-CfQ-vSyf.js";
|
|
4
|
+
import { r as sendDiscordComponentMessage } from "./send.components-DKKAw5VX.js";
|
|
5
|
+
import { r as setDiscordActivitiesRuntime, t as DiscordActivitiesRuntime } from "./runtime-CY4PRMF-.js";
|
|
5
6
|
import fs from "node:fs/promises";
|
|
6
7
|
import { logError } from "openclaw/plugin-sdk/logging-core";
|
|
7
8
|
import { resolveRequestClientIp } from "openclaw/plugin-sdk/webhook-ingress";
|
package/dist/activities-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as registerDiscordActivities } from "./activities-api-
|
|
1
|
+
import { t as registerDiscordActivities } from "./activities-api-q-9PaaHH.js";
|
|
2
2
|
export { registerDiscordActivities };
|
package/dist/api.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as parseDiscordComponentCustomId, E as parseDiscordModalCustomIdForInteraction, T as parseDiscordModalCustomId, _ as DISCORD_MODAL_CUSTOM_ID_KEY, b as buildDiscordModalCustomId, d as buildDiscordComponentMessage, f as buildDiscordComponentMessageFlags, g as DISCORD_COMPONENT_CUSTOM_ID_KEY, h as resolveDiscordComponentAttachmentName, l as DiscordFormModal, m as readDiscordComponentSpec, n as formatDiscordComponentEventText, p as DISCORD_COMPONENT_ATTACHMENT_PREFIX, r as buildDiscordInteractiveComponents, u as createDiscordFormModal, w as parseDiscordComponentCustomIdForInteraction, y as buildDiscordComponentCustomId } from "./components-
|
|
3
|
-
import {
|
|
1
|
+
import { _ as parseDiscordTarget, g as normalizeDiscordOutboundTarget, h as normalizeDiscordMessagingTarget, m as looksLikeDiscordTargetId, v as resolveDiscordChannelId } from "./retry-Cv4jCU5Z.js";
|
|
2
|
+
import { C as parseDiscordComponentCustomId, E as parseDiscordModalCustomIdForInteraction, T as parseDiscordModalCustomId, _ as DISCORD_MODAL_CUSTOM_ID_KEY, b as buildDiscordModalCustomId, d as buildDiscordComponentMessage, f as buildDiscordComponentMessageFlags, g as DISCORD_COMPONENT_CUSTOM_ID_KEY, h as resolveDiscordComponentAttachmentName, l as DiscordFormModal, m as readDiscordComponentSpec, n as formatDiscordComponentEventText, p as DISCORD_COMPONENT_ATTACHMENT_PREFIX, r as buildDiscordInteractiveComponents, u as createDiscordFormModal, w as parseDiscordComponentCustomIdForInteraction, y as buildDiscordComponentCustomId } from "./components-B9V5o361.js";
|
|
3
|
+
import { a as listEnabledDiscordAccounts, c as resolveDiscordAccount, o as mergeDiscordAccountConfig, p as resolveDiscordMaxLinesPerMessage, r as listDiscordAccountIds, s as resolveDefaultDiscordAccountId, t as createDiscordActionGate, u as resolveDiscordAccountConfig } from "./accounts-CfQ-vSyf.js";
|
|
4
4
|
import { i as requestDiscord, n as DiscordApiError, r as fetchDiscord } from "./api-DNVbJyEy.js";
|
|
5
|
-
import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-
|
|
6
|
-
import { t as inspectDiscordAccount } from "./account-inspect-
|
|
5
|
+
import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-vxIh6O3-.js";
|
|
6
|
+
import { t as inspectDiscordAccount } from "./account-inspect-BDfKyuvL.js";
|
|
7
7
|
import { i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, r as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-B9cy6RvQ.js";
|
|
8
|
-
import "./targets-
|
|
9
|
-
import {
|
|
10
|
-
import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-
|
|
8
|
+
import "./targets-CtTKvntJ.js";
|
|
9
|
+
import { C as shouldSuppressLocalDiscordExecApprovalPrompt, S as isDiscordExecApprovalClientEnabled, b as getDiscordExecApprovalApprovers, x as isDiscordExecApprovalApprover } from "./outbound-session-route-Cg15ZFJd.js";
|
|
10
|
+
import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-Dx1tMTfx.js";
|
|
11
11
|
import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
|
|
12
|
-
import { t as discordSetupPlugin } from "./channel.setup-
|
|
13
|
-
import { n as handleDiscordSubagentEnded, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-
|
|
14
|
-
import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-
|
|
15
|
-
import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-
|
|
16
|
-
import { t as fetchPluralKitMessageInfo } from "./pluralkit-
|
|
17
|
-
import { i as probeDiscord, n as fetchDiscordApplicationSummary, o as resolveDiscordPrivilegedIntentsFromFlags, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-
|
|
12
|
+
import { t as discordSetupPlugin } from "./channel.setup-DOzXS2Pk.js";
|
|
13
|
+
import { n as handleDiscordSubagentEnded, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-DQzvOptn.js";
|
|
14
|
+
import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-BdwCRHmm.js";
|
|
15
|
+
import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-BK6eqekJ.js";
|
|
16
|
+
import { t as fetchPluralKitMessageInfo } from "./pluralkit-Tiyl70dx.js";
|
|
17
|
+
import { i as probeDiscord, n as fetchDiscordApplicationSummary, o as resolveDiscordPrivilegedIntentsFromFlags, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-n6ZXxK8V.js";
|
|
18
18
|
import { t as collectDiscordSecurityAuditFindings } from "./security-audit-BfJhAXZp.js";
|
|
19
19
|
import { resolveOpenProviderRuntimeGroupPolicy as resolveDiscordRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
20
20
|
//#region extensions/discord/api.ts
|
|
21
|
-
const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-
|
|
21
|
+
const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-CLWWu9nC.js")).handleDiscordMessageAction(...args);
|
|
22
22
|
/**
|
|
23
23
|
* @deprecated Shipped `@openclaw/discord/api` compatibility only. Use native
|
|
24
24
|
* `AbortSignal.any` after filtering optional signals. Removal with the next
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { s as buildExecApprovalCustomId } from "./components-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { a as shouldHandleDiscordApprovalRequest } from "./channel-
|
|
1
|
+
import { Dt as deleteChannelMessage, _t as stripUndefinedFields, ct as Row, et as Button, ft as TextDisplay, kt as editChannelMessage, nt as Container, q as serializePayload, ut as Separator, wt as createChannelMessage, yt as createUserDmChannel } from "./retry-Cv4jCU5Z.js";
|
|
2
|
+
import { s as buildExecApprovalCustomId } from "./components-B9V5o361.js";
|
|
3
|
+
import { N as createDiscordClient, O as createDiscordMessageNonce } from "./send.shared-JjljcV4O.js";
|
|
4
|
+
import { S as isDiscordExecApprovalClientEnabled, n as DISCORD_APPROVAL_ALLOWED_MENTIONS, r as formatDiscordApprovalDisplayValue } from "./outbound-session-route-Cg15ZFJd.js";
|
|
5
|
+
import { a as shouldHandleDiscordApprovalRequest } from "./channel-Dx1tMTfx.js";
|
|
6
6
|
import { logDebug, logError } from "openclaw/plugin-sdk/logging-core";
|
|
7
7
|
import { ButtonStyle } from "discord-api-types/v10";
|
|
8
8
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -137,97 +137,34 @@ function resolveCommandPreviews(commandText, commandPreview, maxChars, secondary
|
|
|
137
137
|
commandSecondaryPreview: formatOptionalCommandPreview(commandPreview, secondaryMaxChars)
|
|
138
138
|
};
|
|
139
139
|
}
|
|
140
|
-
function
|
|
141
|
-
const {
|
|
142
|
-
const
|
|
140
|
+
function createApprovalContainer(params) {
|
|
141
|
+
const { view } = params;
|
|
142
|
+
const plugin = view.approvalKind === "plugin";
|
|
143
|
+
const pending = view.phase === "pending";
|
|
144
|
+
const approvalLabel = plugin ? "Plugin" : "Exec";
|
|
145
|
+
const { commandPreview, commandSecondaryPreview } = plugin ? {
|
|
146
|
+
commandPreview: formatCommandPreview(view.title, 700),
|
|
147
|
+
commandSecondaryPreview: formatOptionalCommandPreview(view.description, 1e3)
|
|
148
|
+
} : resolveCommandPreviews(view.commandText, view.commandPreview, pending ? 1e3 : 500, pending ? 500 : 300);
|
|
149
|
+
const decisionLabel = view.phase !== "resolved" ? void 0 : view.decision === "allow-once" ? "Allowed (once)" : view.decision === "allow-always" ? "Allowed (always)" : "Denied";
|
|
150
|
+
const title = pending ? `${approvalLabel} Approval Required` : `${approvalLabel} Approval: ${view.phase === "expired" ? "Expired" : decisionLabel}`;
|
|
151
|
+
const description = pending ? plugin ? "A plugin action needs your approval." : "A command needs your approval." : view.phase === "expired" ? "This approval request has expired." : view.resolvedBy ? `Resolved by ${formatDiscordApprovalDisplayValue(view.resolvedBy)}` : "Resolved";
|
|
152
|
+
const accentColor = view.phase === "expired" ? "#99AAB5" : view.phase === "resolved" ? view.decision === "deny" ? "#ED4245" : view.decision === "allow-always" ? "#5865F2" : "#57F287" : plugin ? view.severity === "critical" ? "#ED4245" : view.severity === "info" ? "#5865F2" : "#FAA61A" : "#FFA500";
|
|
153
|
+
const approvalId = formatDiscordApprovalDisplayValue(view.approvalId);
|
|
154
|
+
const footer = pending ? `Expires <t:${Math.max(0, Math.floor(view.expiresAtMs / 1e3))}:R> · ID: ${approvalId}` : `ID: ${approvalId}`;
|
|
143
155
|
return new ExecApprovalContainer({
|
|
144
156
|
cfg: params.cfg,
|
|
145
157
|
accountId: params.accountId,
|
|
146
|
-
title
|
|
147
|
-
description
|
|
158
|
+
title,
|
|
159
|
+
description,
|
|
148
160
|
commandPreview,
|
|
149
161
|
commandSecondaryPreview,
|
|
150
|
-
metadataLines: buildApprovalMetadataLines(
|
|
162
|
+
metadataLines: buildApprovalMetadataLines(view.metadata),
|
|
151
163
|
actionRow: params.actionRow,
|
|
152
|
-
footer
|
|
153
|
-
accentColor: "#FFA500"
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
function createPluginApprovalRequestContainer(params) {
|
|
157
|
-
const expiresAtSeconds = Math.max(0, Math.floor(params.view.expiresAtMs / 1e3));
|
|
158
|
-
const severity = params.view.severity;
|
|
159
|
-
const accentColor = severity === "critical" ? "#ED4245" : severity === "info" ? "#5865F2" : "#FAA61A";
|
|
160
|
-
return new ExecApprovalContainer({
|
|
161
|
-
cfg: params.cfg,
|
|
162
|
-
accountId: params.accountId,
|
|
163
|
-
title: "Plugin Approval Required",
|
|
164
|
-
description: "A plugin action needs your approval.",
|
|
165
|
-
commandPreview: formatCommandPreview(params.view.title, 700),
|
|
166
|
-
commandSecondaryPreview: formatOptionalCommandPreview(params.view.description, 1e3),
|
|
167
|
-
metadataLines: buildApprovalMetadataLines(params.view.metadata),
|
|
168
|
-
actionRow: params.actionRow,
|
|
169
|
-
footer: `Expires <t:${expiresAtSeconds}:R> · ID: ${formatDiscordApprovalDisplayValue(params.view.approvalId)}`,
|
|
164
|
+
footer,
|
|
170
165
|
accentColor
|
|
171
166
|
});
|
|
172
167
|
}
|
|
173
|
-
function createExecResolvedContainer(params) {
|
|
174
|
-
const { commandPreview, commandSecondaryPreview } = resolveCommandPreviews(params.view.commandText, params.view.commandPreview, 500, 300);
|
|
175
|
-
const decisionLabel = params.view.decision === "allow-once" ? "Allowed (once)" : params.view.decision === "allow-always" ? "Allowed (always)" : "Denied";
|
|
176
|
-
const accentColor = params.view.decision === "deny" ? "#ED4245" : params.view.decision === "allow-always" ? "#5865F2" : "#57F287";
|
|
177
|
-
return new ExecApprovalContainer({
|
|
178
|
-
cfg: params.cfg,
|
|
179
|
-
accountId: params.accountId,
|
|
180
|
-
title: `Exec Approval: ${decisionLabel}`,
|
|
181
|
-
description: params.view.resolvedBy ? `Resolved by ${formatDiscordApprovalDisplayValue(params.view.resolvedBy)}` : "Resolved",
|
|
182
|
-
commandPreview,
|
|
183
|
-
commandSecondaryPreview,
|
|
184
|
-
metadataLines: buildApprovalMetadataLines(params.view.metadata),
|
|
185
|
-
footer: `ID: ${formatDiscordApprovalDisplayValue(params.view.approvalId)}`,
|
|
186
|
-
accentColor
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
function createPluginResolvedContainer(params) {
|
|
190
|
-
const decisionLabel = params.view.decision === "allow-once" ? "Allowed (once)" : params.view.decision === "allow-always" ? "Allowed (always)" : "Denied";
|
|
191
|
-
const accentColor = params.view.decision === "deny" ? "#ED4245" : params.view.decision === "allow-always" ? "#5865F2" : "#57F287";
|
|
192
|
-
return new ExecApprovalContainer({
|
|
193
|
-
cfg: params.cfg,
|
|
194
|
-
accountId: params.accountId,
|
|
195
|
-
title: `Plugin Approval: ${decisionLabel}`,
|
|
196
|
-
description: params.view.resolvedBy ? `Resolved by ${formatDiscordApprovalDisplayValue(params.view.resolvedBy)}` : "Resolved",
|
|
197
|
-
commandPreview: formatCommandPreview(params.view.title, 700),
|
|
198
|
-
commandSecondaryPreview: formatOptionalCommandPreview(params.view.description, 1e3),
|
|
199
|
-
metadataLines: buildApprovalMetadataLines(params.view.metadata),
|
|
200
|
-
footer: `ID: ${formatDiscordApprovalDisplayValue(params.view.approvalId)}`,
|
|
201
|
-
accentColor
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
function createExecExpiredContainer(params) {
|
|
205
|
-
const { commandPreview, commandSecondaryPreview } = resolveCommandPreviews(params.view.commandText, params.view.commandPreview, 500, 300);
|
|
206
|
-
return new ExecApprovalContainer({
|
|
207
|
-
cfg: params.cfg,
|
|
208
|
-
accountId: params.accountId,
|
|
209
|
-
title: "Exec Approval: Expired",
|
|
210
|
-
description: "This approval request has expired.",
|
|
211
|
-
commandPreview,
|
|
212
|
-
commandSecondaryPreview,
|
|
213
|
-
metadataLines: buildApprovalMetadataLines(params.view.metadata),
|
|
214
|
-
footer: `ID: ${formatDiscordApprovalDisplayValue(params.view.approvalId)}`,
|
|
215
|
-
accentColor: "#99AAB5"
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
function createPluginExpiredContainer(params) {
|
|
219
|
-
return new ExecApprovalContainer({
|
|
220
|
-
cfg: params.cfg,
|
|
221
|
-
accountId: params.accountId,
|
|
222
|
-
title: "Plugin Approval: Expired",
|
|
223
|
-
description: "This approval request has expired.",
|
|
224
|
-
commandPreview: formatCommandPreview(params.view.title, 700),
|
|
225
|
-
commandSecondaryPreview: formatOptionalCommandPreview(params.view.description, 1e3),
|
|
226
|
-
metadataLines: buildApprovalMetadataLines(params.view.metadata),
|
|
227
|
-
footer: `ID: ${formatDiscordApprovalDisplayValue(params.view.approvalId)}`,
|
|
228
|
-
accentColor: "#99AAB5"
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
168
|
async function updateMessage(params) {
|
|
232
169
|
try {
|
|
233
170
|
const { rest, request: discordRequest } = createDiscordClient({
|
|
@@ -287,17 +224,11 @@ const discordApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
287
224
|
context
|
|
288
225
|
});
|
|
289
226
|
if (!resolved) return { body: {} };
|
|
290
|
-
|
|
291
|
-
return { body: stripUndefinedFields(serializePayload(buildExecApprovalPayload(view.approvalKind === "plugin" ? createPluginApprovalRequestContainer({
|
|
227
|
+
return { body: stripUndefinedFields(serializePayload(buildExecApprovalPayload(createApprovalContainer({
|
|
292
228
|
view,
|
|
293
229
|
cfg,
|
|
294
230
|
accountId: resolved.accountId,
|
|
295
|
-
actionRow
|
|
296
|
-
}) : createExecApprovalRequestContainer({
|
|
297
|
-
view,
|
|
298
|
-
cfg,
|
|
299
|
-
accountId: resolved.accountId,
|
|
300
|
-
actionRow
|
|
231
|
+
actionRow: createApprovalActionRow(view)
|
|
301
232
|
})))) };
|
|
302
233
|
},
|
|
303
234
|
buildResolvedResult: ({ cfg, accountId, context, view }) => {
|
|
@@ -309,11 +240,7 @@ const discordApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
309
240
|
if (!resolvedContext) return { kind: "delete" };
|
|
310
241
|
return {
|
|
311
242
|
kind: "update",
|
|
312
|
-
payload:
|
|
313
|
-
view,
|
|
314
|
-
cfg,
|
|
315
|
-
accountId: resolvedContext.accountId
|
|
316
|
-
}) : createExecResolvedContainer({
|
|
243
|
+
payload: createApprovalContainer({
|
|
317
244
|
view,
|
|
318
245
|
cfg,
|
|
319
246
|
accountId: resolvedContext.accountId
|
|
@@ -329,11 +256,7 @@ const discordApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
329
256
|
if (!resolvedContext) return { kind: "delete" };
|
|
330
257
|
return {
|
|
331
258
|
kind: "update",
|
|
332
|
-
payload:
|
|
333
|
-
view,
|
|
334
|
-
cfg,
|
|
335
|
-
accountId: resolvedContext.accountId
|
|
336
|
-
}) : createExecExpiredContainer({
|
|
259
|
+
payload: createApprovalContainer({
|
|
337
260
|
view,
|
|
338
261
|
cfg,
|
|
339
262
|
accountId: resolvedContext.accountId
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { x as fetchChannelPermissionsDiscord } from "./send.shared-
|
|
3
|
-
import { t as inspectDiscordAccount } from "./account-inspect-
|
|
4
|
-
import "./send-
|
|
5
|
-
import {
|
|
1
|
+
import { on as __exportAll } from "./retry-Cv4jCU5Z.js";
|
|
2
|
+
import { x as fetchChannelPermissionsDiscord } from "./send.shared-JjljcV4O.js";
|
|
3
|
+
import { t as inspectDiscordAccount } from "./account-inspect-BDfKyuvL.js";
|
|
4
|
+
import "./send-C49MFF9j.js";
|
|
5
|
+
import { _ as auditDiscordChannelPermissionsWithFetcher, v as collectDiscordAuditChannelIdsForAccount } from "./outbound-session-route-Cg15ZFJd.js";
|
|
6
6
|
//#region extensions/discord/src/audit.ts
|
|
7
7
|
var audit_exports = /* @__PURE__ */ __exportAll({
|
|
8
8
|
auditDiscordChannelPermissions: () => auditDiscordChannelPermissions,
|
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { _ as parseDiscordTarget, h as normalizeDiscordMessagingTarget, m as looksLikeDiscordTargetId } from "./retry-Cv4jCU5Z.js";
|
|
2
|
+
import { c as resolveDiscordAccount, i as listDiscordStartupAccountIds, l as resolveDiscordAccountAllowFrom, r as listDiscordAccountIds, s as resolveDefaultDiscordAccountId } from "./accounts-CfQ-vSyf.js";
|
|
3
3
|
import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.js";
|
|
4
4
|
import { u as withAbortTimeout } from "./timeouts-B9cy6RvQ.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { t as discordMessageActions } from "./channel-actions-Dr2QI8Bf.js";
|
|
5
|
+
import { C as shouldSuppressLocalDiscordExecApprovalPrompt, D as isChannelExecApprovalClientEnabledFromConfig, E as createChannelNativeOriginTargetResolver, O as matchesApprovalRequestFilters, S as isDiscordExecApprovalClientEnabled, T as createChannelApproverDmTargetResolver, b as getDiscordExecApprovalApprovers, d as resolveDiscordCurrentConversationIdentity, f as resolveDiscordRuntimeBindingConversationId, p as discordMessageActions, s as resolveDiscordConversationRoute, t as resolveDiscordOutboundSessionRoute, w as createApproverRestrictedNativeApprovalCapability, x as isDiscordExecApprovalApprover, y as resolveRequiredDiscordChannelPermissions } from "./outbound-session-route-Cg15ZFJd.js";
|
|
6
|
+
import { a as discordSecurityAdapter, c as buildTokenChannelStatusSummary, i as discordSetupContract, l as projectCredentialSnapshotFields, n as discordConfigAdapter, o as DEFAULT_ACCOUNT_ID, s as PAIRING_APPROVED_MESSAGE, t as createDiscordPluginBase, u as resolveConfiguredFromCredentialStatuses } from "./shared-_5EcP4jW.js";
|
|
8
7
|
import { r as openDiscordCommandDeployHashStore } from "./command-deploy-store-DFkBTViB.js";
|
|
9
|
-
import { t as resolveDiscordConversationBindingRoute } from "./conversation-binding-route-
|
|
8
|
+
import { t as resolveDiscordConversationBindingRoute } from "./conversation-binding-route-DJYrY2TQ.js";
|
|
10
9
|
import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-CJb-BpPL.js";
|
|
11
|
-
import { n as discordOutbound } from "./outbound-adapter-
|
|
12
|
-
import { a as discordSecurityAdapter, i as discordSetupContract, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-CaAaoksy.js";
|
|
10
|
+
import { n as discordOutbound } from "./outbound-adapter-BE4jSq2d.js";
|
|
13
11
|
import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
|
|
14
12
|
import { t as defaultTopLevelPlacement } from "./thread-binding-api-BDZJD4na.js";
|
|
15
13
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
16
14
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
17
|
-
import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
18
15
|
import { sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
|
|
19
16
|
import { createChannelMessageAdapterFromOutbound } from "openclaw/plugin-sdk/channel-outbound";
|
|
20
17
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
21
18
|
import { buildLegacyDmAccountAllowlistAdapter, createAccountScopedAllowlistNameResolver, createNestedAllowlistOverrideResolver } from "openclaw/plugin-sdk/allowlist-config-edit";
|
|
19
|
+
import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
22
20
|
import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
|
|
23
21
|
import { createChannelDirectoryAdapter, createRuntimeDirectoryLiveAdapter } from "openclaw/plugin-sdk/directory-runtime";
|
|
24
22
|
import { appendMatchMetadata, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState, isRecord as isRecord$1, readAccountStatusSnapshot, resolveEnabledConfiguredAccountId } from "openclaw/plugin-sdk/status-helpers";
|
|
@@ -194,7 +192,7 @@ function createDiscordApprovalCapability(configOverride) {
|
|
|
194
192
|
request,
|
|
195
193
|
configOverride
|
|
196
194
|
}),
|
|
197
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
195
|
+
load: async () => (await import("./approval-handler.runtime-B7qhK3fR.js")).discordApprovalNativeRuntime
|
|
198
196
|
})
|
|
199
197
|
});
|
|
200
198
|
}
|
|
@@ -301,22 +299,22 @@ function resolveDiscordInboundConversation(params) {
|
|
|
301
299
|
}
|
|
302
300
|
//#endregion
|
|
303
301
|
//#region extensions/discord/src/channel.loaders.ts
|
|
304
|
-
const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-
|
|
305
|
-
const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-
|
|
306
|
-
const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-
|
|
307
|
-
const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-
|
|
308
|
-
const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-
|
|
309
|
-
const loadDiscordProviderRuntime = createLazyRuntimeModule(() => import("./provider.runtime-
|
|
310
|
-
const loadDiscordProbeRuntime = createLazyRuntimeModule(() => import("./probe.runtime-
|
|
302
|
+
const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-BK6eqekJ.js").then((n) => n.t));
|
|
303
|
+
const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-C2sT_n67.js").then((n) => n.n));
|
|
304
|
+
const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-CzpjLwjy.js").then((n) => n.n));
|
|
305
|
+
const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-ByOtwjo_.js").then((n) => n.i));
|
|
306
|
+
const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-vxIh6O3-.js").then((n) => n.r));
|
|
307
|
+
const loadDiscordProviderRuntime = createLazyRuntimeModule(() => import("./provider.runtime-DiYaHvOz.js"));
|
|
308
|
+
const loadDiscordProbeRuntime = createLazyRuntimeModule(() => import("./probe.runtime-CN4bdPfZ.js"));
|
|
311
309
|
async function probeDiscordStatusAccount(params) {
|
|
312
310
|
const startedAtMs = Date.now();
|
|
313
311
|
const runtime = await loadDiscordProbeRuntime();
|
|
314
312
|
const remainingMs = Math.max(1, params.timeoutMs - Math.max(0, Date.now() - startedAtMs));
|
|
315
313
|
return await runtime.probeDiscord(params.token, remainingMs, { includeApplication: true });
|
|
316
314
|
}
|
|
317
|
-
const loadDiscordAuditModule = createLazyRuntimeModule(() => import("./audit-
|
|
318
|
-
const loadDiscordSendModule = createLazyRuntimeModule(() => import("./send-
|
|
319
|
-
const loadDiscordDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-
|
|
315
|
+
const loadDiscordAuditModule = createLazyRuntimeModule(() => import("./audit-CBEv_ERu.js").then((n) => n.n));
|
|
316
|
+
const loadDiscordSendModule = createLazyRuntimeModule(() => import("./send-C49MFF9j.js").then((n) => n.t));
|
|
317
|
+
const loadDiscordDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-DSAJSrJk.js").then((n) => n.t));
|
|
320
318
|
//#endregion
|
|
321
319
|
//#region extensions/discord/src/conversation-route-owner.ts
|
|
322
320
|
function inspectDiscordConversationRouteOwner(params) {
|