@openclaw/discord 2026.5.9-beta.1 → 2026.5.10-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.
Files changed (108) hide show
  1. package/dist/{access-Lk7H_e7y.js → access-R4X7pYt4.js} +1 -1
  2. package/dist/action-runtime-api.js +1 -1
  3. package/dist/{allow-list-Dtho5Hww.js → allow-list-4wnZg5P9.js} +3 -7
  4. package/dist/api.js +18 -18
  5. package/dist/{approval-handler.runtime-CqvKEAqO.js → approval-handler.runtime-B5BCBw4D.js} +3 -4
  6. package/dist/{approval-native-W5mtrjYy.js → approval-native-CrCc3b4u.js} +2 -2
  7. package/dist/{audit-CrCPCVFG.js → audit-BRBe8xFv.js} +4 -4
  8. package/dist/{channel-CRTWY5R-.js → channel-DTBEGHsT.js} +21 -21
  9. package/dist/{channel-actions-BRgtLo8F.js → channel-actions-CHgoSpPF.js} +2 -2
  10. package/dist/{channel-actions.runtime-gosyu06g.js → channel-actions.runtime-E5Plubuu.js} +4 -4
  11. package/dist/channel-config-api.js +1 -1
  12. package/dist/channel-plugin-api.js +1 -1
  13. package/dist/{channel.setup-BQlXR1Gt.js → channel.setup-EQXuueIk.js} +3 -3
  14. package/dist/{components-BWdIitIb.js → components-BJOShoIU.js} +2 -3
  15. package/dist/{config-schema-D1DUqXws.js → config-schema-BGn5I3_3.js} +2 -2
  16. package/dist/contract-api.js +7 -7
  17. package/dist/{directory-config-S2852QcC.js → directory-config-JBaFwbAQ.js} +1 -1
  18. package/dist/directory-contract-api.js +1 -1
  19. package/dist/{directory-live-D3kbmVAu.js → directory-live-B4kW11z5.js} +4 -4
  20. package/dist/{discord-Du6FnKAq.js → discord-DtHMmZqJ.js} +28 -2
  21. package/dist/{doctor-Ys2-q5bc.js → doctor-CPV4Ch3V.js} +3 -3
  22. package/dist/{doctor-contract-DSB2zzJA.js → doctor-contract-BGjjFBdq.js} +1 -1
  23. package/dist/doctor-contract-api.js +1 -1
  24. package/dist/{handle-action.guild-admin-LM6kZ6zE.js → handle-action.guild-admin-DSeMCHvR.js} +1 -1
  25. package/dist/{inbound-context-BobVUBqo.js → inbound-context-BAwOn5Iq.js} +1 -1
  26. package/dist/{manager.runtime-C_cPd048.js → manager.runtime-DGvCDWI5.js} +432 -43
  27. package/dist/{mentions-CiPUID82.js → mentions-f806C7MB.js} +1 -1
  28. package/dist/{message-handler-C2ZQV7ZQ.js → message-handler-BWHSteQf.js} +7 -7
  29. package/dist/{message-handler.preflight-B5hN7RpX.js → message-handler.preflight-q7ose9Ta.js} +32 -43
  30. package/dist/{message-handler.process-Dns8D7t2.js → message-handler.process-BN8bE7AE.js} +16 -16
  31. package/dist/{message-utils-B3uf0_3D.js → message-utils-DEjCwCRz.js} +2 -2
  32. package/dist/{outbound-adapter-jP0OgIyW.js → outbound-adapter-Bt8FL3yO.js} +9 -9
  33. package/dist/{pluralkit-EXKKni07.js → pluralkit-CUfobeQu.js} +1 -1
  34. package/dist/{preflight-audio-6J0vFNtu.js → preflight-audio-BcsH127L.js} +1 -1
  35. package/dist/{probe-91lU5eh8.js → probe-CjO53qsc.js} +1 -1
  36. package/dist/{probe.runtime-DV37RDCU.js → probe.runtime-4Q9GD7FG.js} +1 -1
  37. package/dist/{provider-D_QVXvp8.js → provider-DBvvDP9A.js} +170 -213
  38. package/dist/{provider-session.runtime-CcPDguh6.js → provider-session.runtime-DepAOR1U.js} +3 -3
  39. package/dist/provider.runtime-BlbOt97W.js +2 -0
  40. package/dist/{reply-delivery-DKTZ6HkK.js → reply-delivery-vHSqaKKo.js} +4 -4
  41. package/dist/{resolve-allowlist-common-LhuVITjh.js → resolve-allowlist-common-ZcVU4OMA.js} +2 -2
  42. package/dist/{resolve-channels-DjpVRJdT.js → resolve-channels-D9Dubj_y.js} +4 -4
  43. package/dist/{resolve-users-DrZYxZSX.js → resolve-users-DlzKsLQe.js} +3 -3
  44. package/dist/route-resolution-foWW8_D1.js +268 -0
  45. package/dist/runtime-api.actions.js +2 -2
  46. package/dist/runtime-api.js +24 -24
  47. package/dist/runtime-api.lookup.js +6 -6
  48. package/dist/runtime-api.monitor-CsetE9pd.js +6 -0
  49. package/dist/runtime-api.monitor.js +7 -7
  50. package/dist/runtime-api.send.js +4 -4
  51. package/dist/runtime-api.threads.js +5 -5
  52. package/dist/{runtime-BHAwVXEa.js → runtime-oXRGbcb5.js} +6 -6
  53. package/dist/runtime-setter-api.js +1 -1
  54. package/dist/secret-contract-api.js +1 -1
  55. package/dist/{security-audit-D8IaFuCm.js → security-audit-BQ_sGK3J.js} +1 -1
  56. package/dist/security-audit-contract-api.js +1 -1
  57. package/dist/{security-audit.runtime-DO1398sV.js → security-audit.runtime-B7Gmz2DX.js} +1 -1
  58. package/dist/security-contract-api.js +1 -1
  59. package/dist/{send-C3peGbWO.js → send-BSBMchf8.js} +5 -6
  60. package/dist/{send.components-Dsk3IzS_.js → send.components-BoEhxys4.js} +6 -7
  61. package/dist/{send.outbound-CXyInQ3c.js → send.outbound-B2DK2loZ.js} +4 -4
  62. package/dist/{send.shared-BydEWvYg.js → send.shared-DzwpAEMP.js} +3 -3
  63. package/dist/{sender-identity-DVJCrDxs.js → sender-identity-CDOVm5Dk.js} +1 -1
  64. package/dist/session-key-api.js +1 -1
  65. package/dist/setup-plugin-api.js +1 -1
  66. package/dist/{shared-BWD6uc0p.js → shared-CBsrEG5q.js} +8 -8
  67. package/dist/{shared-interactive-BZCU0ZJ8.js → shared-interactive-D39V9Wtn.js} +1 -1
  68. package/dist/{subagent-hooks-DtbWOdAK.js → subagent-hooks-BDy1pJD5.js} +2 -2
  69. package/dist/subagent-hooks-api.js +1 -1
  70. package/dist/{system-events-Dsc8MFYs.js → system-events-BeVImqnV.js} +2 -2
  71. package/dist/{target-resolver-D7t8FMhO.js → target-resolver-DzOelJEt.js} +4 -4
  72. package/dist/{targets-DzAZIwg4.js → targets-Dj-qyUaE.js} +1 -1
  73. package/dist/test-api.js +4 -4
  74. package/dist/{thread-bindings-B90pBWJg.js → thread-bindings-DUzBL8jL.js} +6 -6
  75. package/dist/{thread-bindings.discord-api-Dvf789Je.js → thread-bindings.discord-api-dpSDYFKX.js} +6 -6
  76. package/dist/{thread-bindings.manager-AwZ5Vble.js → thread-bindings.manager-DTuwm8Tk.js} +4 -5
  77. package/dist/{thread-bindings.session-updates-B_AcsXSf.js → thread-bindings.session-updates-BhcGQTJb.js} +1 -1
  78. package/dist/{threading-Dku_cGS8.js → threading-CTUnZtNi.js} +4 -5
  79. package/dist/timeouts.js +1 -1
  80. package/dist/{typing-BIjMmOZB.js → typing-BYeVSviE.js} +2 -3
  81. package/openclaw.plugin.json +2 -2
  82. package/package.json +4 -4
  83. package/dist/provider.runtime-O7G03kik.js +0 -2
  84. package/dist/rolldown-runtime-C3SqQTfK.js +0 -28
  85. package/dist/route-resolution-CYRPDKY4.js +0 -236
  86. package/dist/runtime-api.monitor--iuvLjPX.js +0 -6
  87. /package/dist/{agent-components.runtime-caj0h9y4.js → agent-components.runtime-zT8qPsnM.js} +0 -0
  88. /package/dist/{api-DaTujGTe.js → api-DzNBVTto.js} +0 -0
  89. /package/dist/{approval-shared-D0FVj8b_.js → approval-shared-Ckk65xSG.js} +0 -0
  90. /package/dist/{audit-core-CIvZE94W.js → audit-core-CG37TsZm.js} +0 -0
  91. /package/dist/{channel-access-CXAdcM95.js → channel-access-BL-wemES.js} +0 -0
  92. /package/dist/{chunk-BDgKaWaV.js → chunk-DYl-_5RL.js} +0 -0
  93. /package/dist/{conversation-identity-6hcTVj3L.js → conversation-identity-BPQm_uhV.js} +0 -0
  94. /package/dist/{directory-cache-D3l2v2_L.js → directory-cache-D93eSrpB.js} +0 -0
  95. /package/dist/{doctor-shared-DtOaqWzy.js → doctor-shared-D_QLzu30.js} +0 -0
  96. /package/dist/{format-XDPCvGK4.js → format-D8TsaXxW.js} +0 -0
  97. /package/dist/{normalize-DBcng6RL.js → normalize-Cu94FOqy.js} +0 -0
  98. /package/dist/{preflight-audio.runtime-3hiRefuj.js → preflight-audio.runtime-fXnUxxBa.js} +0 -0
  99. /package/dist/{preview-streaming-CXrFDP2T.js → preview-streaming-DCPAe24T.js} +0 -0
  100. /package/dist/{runtime-EoVRXYxX.js → runtime-BqCoo-zp.js} +0 -0
  101. /package/dist/{secret-config-contract-BA9jVaKx.js → secret-config-contract-BCQNNS7N.js} +0 -0
  102. /package/dist/{security-contract-B7i5uqn6.js → security-contract-DrbQqyyW.js} +0 -0
  103. /package/dist/{security-doctor-2SGSPibT.js → security-doctor-BJH5YIGL.js} +0 -0
  104. /package/dist/{send.receipt-DXimpUGs.js → send.receipt-BAZw2Zsz.js} +0 -0
  105. /package/dist/{session-contract-DwjfF970.js → session-contract-D871HDFG.js} +0 -0
  106. /package/dist/{session-key-normalization-DvI2OlyS.js → session-key-normalization-BQNCS1gu.js} +0 -0
  107. /package/dist/{thread-bindings.state-CBwtFsbB.js → thread-bindings.state-DwgDYzBM.js} +0 -0
  108. /package/dist/{timeouts-BxAzVpSG.js → timeouts-C3FYXWJX.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { c as resolveDiscordChannelConfigWithFallback, d as resolveDiscordGuildEntry, f as resolveDiscordMemberAccessState, m as resolveDiscordOwnerAccess, n as isDiscordGroupAllowedByPolicy } from "./allow-list-Dtho5Hww.js";
1
+ import { c as resolveDiscordChannelConfigWithFallback, d as resolveDiscordGuildEntry, f as resolveDiscordMemberAccessState, m as resolveDiscordOwnerAccess, n as isDiscordGroupAllowedByPolicy } from "./allow-list-4wnZg5P9.js";
2
2
  import { resolveOpenProviderRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
3
3
  import { resolveCommandAuthorizedFromAuthorizers } from "openclaw/plugin-sdk/command-auth-native";
4
4
  //#region extensions/discord/src/voice/config.ts
@@ -1,2 +1,2 @@
1
- import { t as handleDiscordAction } from "./runtime-BHAwVXEa.js";
1
+ import { t as handleDiscordAction } from "./runtime-oXRGbcb5.js";
2
2
  export { handleDiscordAction };
@@ -1,7 +1,6 @@
1
- import { n as formatDiscordUserTag } from "./format-XDPCvGK4.js";
1
+ import { n as formatDiscordUserTag } from "./format-D8TsaXxW.js";
2
2
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
3
3
  import { buildChannelKeyCandidates, resolveChannelEntryMatchWithFallback, resolveChannelMatchConfig } from "openclaw/plugin-sdk/channel-targets";
4
- import { evaluateGroupRouteAccessForPolicy } from "openclaw/plugin-sdk/group-access";
5
4
  //#region extensions/discord/src/monitor/allow-list.ts
6
5
  const DISCORD_OWNER_ALLOWLIST_PREFIXES = [
7
6
  "discord:",
@@ -282,11 +281,8 @@ function isDiscordAutoThreadOwnedByBot(params) {
282
281
  }
283
282
  function isDiscordGroupAllowedByPolicy(params) {
284
283
  if (params.groupPolicy === "allowlist" && !params.guildAllowlisted) return false;
285
- return evaluateGroupRouteAccessForPolicy({
286
- groupPolicy: params.groupPolicy === "allowlist" && !params.channelAllowlistConfigured ? "open" : params.groupPolicy,
287
- routeAllowlistConfigured: params.channelAllowlistConfigured,
288
- routeMatched: params.channelAllowed
289
- }).allowed;
284
+ if (params.groupPolicy === "disabled") return false;
285
+ return params.groupPolicy !== "allowlist" || !params.channelAllowlistConfigured || params.channelAllowed;
290
286
  }
291
287
  function resolveDiscordChannelPolicyCommandAuthorizer(params) {
292
288
  const channelAllowlistConfigured = Boolean(params.guildInfo?.channels) && Object.keys(params.guildInfo?.channels ?? {}).length > 0;
package/dist/api.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import { a as mergeDiscordAccountConfig, f as resolveDiscordMaxLinesPerMessage, i as listEnabledDiscordAccounts, l as resolveDiscordAccountConfig, o as resolveDefaultDiscordAccountId, r as listDiscordAccountIds, s as resolveDiscordAccount, t as createDiscordActionGate } from "./accounts-CaHGiVB4.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-BcQAxhKY.js";
3
3
  import { n as resolveDiscordChannelId, t as parseDiscordTarget } from "./target-parsing-D-H7nnh2.js";
4
- import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./api-DaTujGTe.js";
5
- import { i as normalizeDiscordOutboundTarget, n as looksLikeDiscordTargetId, r as normalizeDiscordMessagingTarget } from "./normalize-DBcng6RL.js";
6
- import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-D7t8FMhO.js";
7
- import { _ as parseDiscordModalCustomIdForInteraction, a as buildDiscordComponentMessage, c as readDiscordComponentSpec, d as DISCORD_MODAL_CUSTOM_ID_KEY, f as buildDiscordComponentCustomId, g as parseDiscordModalCustomId, h as parseDiscordComponentCustomIdForInteraction, i as createDiscordFormModal, l as resolveDiscordComponentAttachmentName, m as parseDiscordComponentCustomId, n as formatDiscordComponentEventText, o as buildDiscordComponentMessageFlags, p as buildDiscordModalCustomId, r as DiscordFormModal, s as DISCORD_COMPONENT_ATTACHMENT_PREFIX, u as DISCORD_COMPONENT_CUSTOM_ID_KEY } from "./components-BWdIitIb.js";
8
- import { t as buildDiscordInteractiveComponents } from "./shared-interactive-BZCU0ZJ8.js";
9
- import "./targets-DzAZIwg4.js";
10
- import { a as shouldSuppressLocalDiscordExecApprovalPrompt, i as isDiscordExecApprovalClientEnabled, n as getDiscordExecApprovalApprovers, r as isDiscordExecApprovalApprover } from "./approval-shared-D0FVj8b_.js";
11
- import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-CRTWY5R-.js";
12
- import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-DvI2OlyS.js";
13
- import { t as discordSetupPlugin } from "./channel.setup-BQlXR1Gt.js";
14
- import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-DtbWOdAK.js";
15
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-LM6kZ6zE.js";
16
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-S2852QcC.js";
17
- import { t as fetchPluralKitMessageInfo } from "./pluralkit-EXKKni07.js";
18
- import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-91lU5eh8.js";
19
- import { t as collectDiscordSecurityAuditFindings } from "./security-audit-D8IaFuCm.js";
20
- import { a as mergeAbortSignals, 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-BxAzVpSG.js";
4
+ import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./api-DzNBVTto.js";
5
+ import { i as normalizeDiscordOutboundTarget, n as looksLikeDiscordTargetId, r as normalizeDiscordMessagingTarget } from "./normalize-Cu94FOqy.js";
6
+ import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-DzOelJEt.js";
7
+ import { _ as parseDiscordModalCustomIdForInteraction, a as buildDiscordComponentMessage, c as readDiscordComponentSpec, d as DISCORD_MODAL_CUSTOM_ID_KEY, f as buildDiscordComponentCustomId, g as parseDiscordModalCustomId, h as parseDiscordComponentCustomIdForInteraction, i as createDiscordFormModal, l as resolveDiscordComponentAttachmentName, m as parseDiscordComponentCustomId, n as formatDiscordComponentEventText, o as buildDiscordComponentMessageFlags, p as buildDiscordModalCustomId, r as DiscordFormModal, s as DISCORD_COMPONENT_ATTACHMENT_PREFIX, u as DISCORD_COMPONENT_CUSTOM_ID_KEY } from "./components-BJOShoIU.js";
8
+ import { t as buildDiscordInteractiveComponents } from "./shared-interactive-D39V9Wtn.js";
9
+ import "./targets-Dj-qyUaE.js";
10
+ import { a as shouldSuppressLocalDiscordExecApprovalPrompt, i as isDiscordExecApprovalClientEnabled, n as getDiscordExecApprovalApprovers, r as isDiscordExecApprovalApprover } from "./approval-shared-Ckk65xSG.js";
11
+ import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-DTBEGHsT.js";
12
+ import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-BQNCS1gu.js";
13
+ import { t as discordSetupPlugin } from "./channel.setup-EQXuueIk.js";
14
+ import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-BDy1pJD5.js";
15
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-DSeMCHvR.js";
16
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-JBaFwbAQ.js";
17
+ import { t as fetchPluralKitMessageInfo } from "./pluralkit-CUfobeQu.js";
18
+ import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-CjO53qsc.js";
19
+ import { t as collectDiscordSecurityAuditFindings } from "./security-audit-BQ_sGK3J.js";
20
+ import { a as mergeAbortSignals, 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-C3FYXWJX.js";
21
21
  import { resolveOpenProviderRuntimeGroupPolicy as resolveDiscordRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
22
22
  //#region extensions/discord/api.ts
23
- const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-gosyu06g.js")).handleDiscordMessageAction(...args);
23
+ const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-E5Plubuu.js")).handleDiscordMessageAction(...args);
24
24
  //#endregion
25
25
  export { DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, DISCORD_COMPONENT_ATTACHMENT_PREFIX, DISCORD_COMPONENT_CUSTOM_ID_KEY, DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, DISCORD_MODAL_CUSTOM_ID_KEY, DiscordApiError, DiscordFormModal, buildDiscordComponentCustomId, buildDiscordComponentMessage, buildDiscordComponentMessageFlags, buildDiscordInteractiveComponents, buildDiscordModalCustomId, collectDiscordSecurityAuditFindings, collectDiscordStatusIssues, createDiscordActionGate, createDiscordFormModal, discordPlugin, discordSetupPlugin, fetchDiscord, fetchDiscordApplicationId, fetchDiscordApplicationSummary, fetchPluralKitMessageInfo, formatDiscordComponentEventText, getDiscordExecApprovalApprovers, handleDiscordMessageAction, handleDiscordSubagentDeliveryTarget, handleDiscordSubagentEnded, handleDiscordSubagentSpawning, inspectDiscordAccount, isDiscordExecApprovalApprover, isDiscordExecApprovalClientEnabled, listDiscordAccountIds, listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig, listEnabledDiscordAccounts, looksLikeDiscordTargetId, mergeAbortSignals, mergeDiscordAccountConfig, normalizeDiscordMessagingTarget, normalizeDiscordOutboundTarget, normalizeExplicitDiscordSessionKey, parseApplicationIdFromToken, parseDiscordComponentCustomId, parseDiscordComponentCustomIdForInteraction as parseDiscordComponentCustomIdForCarbon, parseDiscordComponentCustomIdForInteraction, parseDiscordModalCustomId, parseDiscordModalCustomIdForInteraction as parseDiscordModalCustomIdForCarbon, parseDiscordModalCustomIdForInteraction, parseDiscordSendTarget, parseDiscordTarget, probeDiscord, readDiscordComponentSpec, requestDiscord, resolveDefaultDiscordAccountId, resolveDiscordAccount, resolveDiscordAccountConfig, resolveDiscordChannelId, resolveDiscordComponentAttachmentName, resolveDiscordGroupRequireMention, resolveDiscordGroupToolPolicy, resolveDiscordMaxLinesPerMessage, resolveDiscordPrivilegedIntentsFromFlags, resolveDiscordRuntimeGroupPolicy, resolveDiscordTarget, shouldSuppressLocalDiscordExecApprovalPrompt, tryHandleDiscordMessageActionGuildAdmin };
@@ -1,8 +1,7 @@
1
- import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
1
+ import { $ as createChannelMessage, A as Button, B as Separator, H as TextDisplay, J as createUserDmChannel, M as Container, Pt as __exportAll, R as Row, it as editChannelMessage, nt as deleteChannelMessage, w as serializePayload } from "./discord-DtHMmZqJ.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-BcQAxhKY.js";
3
- import { $ as createChannelMessage, A as Button, B as Separator, H as TextDisplay, J as createUserDmChannel, M as Container, R as Row, it as editChannelMessage, nt as deleteChannelMessage, w as serializePayload } from "./discord-Du6FnKAq.js";
4
- import { A as createDiscordClient, y as stripUndefinedFields } from "./send.shared-BydEWvYg.js";
5
- import { i as isDiscordExecApprovalClientEnabled, t as shouldHandleDiscordApprovalRequest } from "./approval-shared-D0FVj8b_.js";
3
+ import { A as createDiscordClient, y as stripUndefinedFields } from "./send.shared-DzwpAEMP.js";
4
+ import { i as isDiscordExecApprovalClientEnabled, t as shouldHandleDiscordApprovalRequest } from "./approval-shared-Ckk65xSG.js";
6
5
  import { logDebug, logError, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
7
6
  import { ButtonStyle } from "discord-api-types/v10";
8
7
  import { createChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-runtime";
@@ -1,5 +1,5 @@
1
1
  import { r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
2
- import { c as createChannelNativeOriginTargetResolver, i as isDiscordExecApprovalClientEnabled, n as getDiscordExecApprovalApprovers, o as createApproverRestrictedNativeApprovalCapability, r as isDiscordExecApprovalApprover, s as createChannelApproverDmTargetResolver, t as shouldHandleDiscordApprovalRequest } from "./approval-shared-D0FVj8b_.js";
2
+ import { c as createChannelNativeOriginTargetResolver, i as isDiscordExecApprovalClientEnabled, n as getDiscordExecApprovalApprovers, o as createApproverRestrictedNativeApprovalCapability, r as isDiscordExecApprovalApprover, s as createChannelApproverDmTargetResolver, t as shouldHandleDiscordApprovalRequest } from "./approval-shared-Ckk65xSG.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
4
4
  import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
5
5
  import { resolveApprovalRequestSessionConversation } from "openclaw/plugin-sdk/approval-native-runtime";
@@ -140,7 +140,7 @@ function createDiscordApprovalCapability(configOverride) {
140
140
  request,
141
141
  configOverride
142
142
  }),
143
- load: async () => (await import("./approval-handler.runtime-CqvKEAqO.js").then((n) => n.t)).discordApprovalNativeRuntime
143
+ load: async () => (await import("./approval-handler.runtime-B5BCBw4D.js").then((n) => n.t)).discordApprovalNativeRuntime
144
144
  })
145
145
  });
146
146
  }
@@ -1,8 +1,8 @@
1
- import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
1
+ import { Pt as __exportAll } from "./discord-DtHMmZqJ.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-BcQAxhKY.js";
3
- import { T as fetchChannelPermissionsDiscord } from "./send.shared-BydEWvYg.js";
4
- import "./send-C3peGbWO.js";
5
- import { n as collectDiscordAuditChannelIdsForAccount, t as auditDiscordChannelPermissionsWithFetcher } from "./audit-core-CIvZE94W.js";
3
+ import { T as fetchChannelPermissionsDiscord } from "./send.shared-DzwpAEMP.js";
4
+ import "./send-BSBMchf8.js";
5
+ import { n as collectDiscordAuditChannelIdsForAccount, t as auditDiscordChannelPermissionsWithFetcher } from "./audit-core-CG37TsZm.js";
6
6
  //#region extensions/discord/src/audit.ts
7
7
  var audit_exports = /* @__PURE__ */ __exportAll({
8
8
  auditDiscordChannelPermissions: () => auditDiscordChannelPermissions,
@@ -2,17 +2,17 @@ import { c as resolveDiscordAccountAllowFrom, r as listDiscordAccountIds, s as r
2
2
  import { a as projectCredentialSnapshotFields, n as PAIRING_APPROVED_MESSAGE, o as resolveConfiguredFromCredentialStatuses, r as buildTokenChannelStatusSummary, t as DEFAULT_ACCOUNT_ID } from "./channel-api-CTSWMrnD.js";
3
3
  import { t as parseDiscordTarget } from "./target-parsing-D-H7nnh2.js";
4
4
  import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-BaJRt05p.js";
5
- import { n as looksLikeDiscordTargetId, r as normalizeDiscordMessagingTarget } from "./normalize-DBcng6RL.js";
6
- import { t as getDiscordRuntime } from "./runtime-EoVRXYxX.js";
7
- import { a as shouldSuppressLocalDiscordExecApprovalPrompt } from "./approval-shared-D0FVj8b_.js";
8
- import { t as getDiscordApprovalCapability } from "./approval-native-W5mtrjYy.js";
9
- import { r as resolveRequiredDiscordChannelPermissions } from "./audit-core-CIvZE94W.js";
10
- import { t as discordMessageActions$1 } from "./channel-actions-BRgtLo8F.js";
11
- import { n as resolveDiscordCurrentConversationIdentity } from "./conversation-identity-6hcTVj3L.js";
12
- import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-B_AcsXSf.js";
13
- import { n as discordOutbound } from "./outbound-adapter-jP0OgIyW.js";
14
- import { i as discordSecurityAdapter, n as discordConfigAdapter, r as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-BWD6uc0p.js";
15
- import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-DvI2OlyS.js";
5
+ import { n as looksLikeDiscordTargetId, r as normalizeDiscordMessagingTarget } from "./normalize-Cu94FOqy.js";
6
+ import { t as getDiscordRuntime } from "./runtime-BqCoo-zp.js";
7
+ import { a as shouldSuppressLocalDiscordExecApprovalPrompt } from "./approval-shared-Ckk65xSG.js";
8
+ import { t as getDiscordApprovalCapability } from "./approval-native-CrCc3b4u.js";
9
+ import { r as resolveRequiredDiscordChannelPermissions } from "./audit-core-CG37TsZm.js";
10
+ import { t as discordMessageActions$1 } from "./channel-actions-CHgoSpPF.js";
11
+ import { n as resolveDiscordCurrentConversationIdentity } from "./conversation-identity-BPQm_uhV.js";
12
+ import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-BhcGQTJb.js";
13
+ import { n as discordOutbound } from "./outbound-adapter-Bt8FL3yO.js";
14
+ import { i as discordSecurityAdapter, n as discordConfigAdapter, r as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-CBsrEG5q.js";
15
+ import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-BQNCS1gu.js";
16
16
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/text-runtime";
17
17
  import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
18
18
  import { sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
@@ -129,29 +129,29 @@ let discordProbeRuntimePromise;
129
129
  let discordAuditModulePromise;
130
130
  let discordSendModulePromise;
131
131
  let discordDirectoryLiveModulePromise;
132
- const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-S2852QcC.js").then((n) => n.t));
133
- const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-DjpVRJdT.js").then((n) => n.n));
134
- const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-DrZYxZSX.js").then((n) => n.n));
135
- const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-AwZ5Vble.js").then((n) => n.a));
136
- const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-D7t8FMhO.js").then((n) => n.r));
132
+ const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-JBaFwbAQ.js").then((n) => n.t));
133
+ const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-D9Dubj_y.js").then((n) => n.n));
134
+ const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-DlzKsLQe.js").then((n) => n.n));
135
+ const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-DTuwm8Tk.js").then((n) => n.a));
136
+ const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-DzOelJEt.js").then((n) => n.r));
137
137
  async function loadDiscordProviderRuntime() {
138
- discordProviderRuntimePromise ??= import("./provider.runtime-O7G03kik.js");
138
+ discordProviderRuntimePromise ??= import("./provider.runtime-BlbOt97W.js");
139
139
  return await discordProviderRuntimePromise;
140
140
  }
141
141
  async function loadDiscordProbeRuntime() {
142
- discordProbeRuntimePromise ??= import("./probe.runtime-DV37RDCU.js");
142
+ discordProbeRuntimePromise ??= import("./probe.runtime-4Q9GD7FG.js");
143
143
  return await discordProbeRuntimePromise;
144
144
  }
145
145
  async function loadDiscordAuditModule() {
146
- discordAuditModulePromise ??= import("./audit-CrCPCVFG.js").then((n) => n.n);
146
+ discordAuditModulePromise ??= import("./audit-BRBe8xFv.js").then((n) => n.n);
147
147
  return await discordAuditModulePromise;
148
148
  }
149
149
  async function loadDiscordSendModule() {
150
- discordSendModulePromise ??= import("./send-C3peGbWO.js").then((n) => n.t);
150
+ discordSendModulePromise ??= import("./send-BSBMchf8.js").then((n) => n.t);
151
151
  return await discordSendModulePromise;
152
152
  }
153
153
  async function loadDiscordDirectoryLiveModule() {
154
- discordDirectoryLiveModulePromise ??= import("./directory-live-D3kbmVAu.js").then((n) => n.t);
154
+ discordDirectoryLiveModulePromise ??= import("./directory-live-B4kW11z5.js").then((n) => n.t);
155
155
  return await discordDirectoryLiveModulePromise;
156
156
  }
157
157
  //#endregion
@@ -1,13 +1,13 @@
1
1
  import { r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-CaHGiVB4.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-BcQAxhKY.js";
3
- import { c as readDiscordComponentSpec } from "./components-BWdIitIb.js";
3
+ import { c as readDiscordComponentSpec } from "./components-BJOShoIU.js";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
5
5
  import { createUnionActionGate } from "openclaw/plugin-sdk/channel-actions";
6
6
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
7
7
  //#region extensions/discord/src/channel-actions.ts
8
8
  let discordChannelActionsRuntimePromise;
9
9
  async function loadDiscordChannelActionsRuntime() {
10
- discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-gosyu06g.js");
10
+ discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-E5Plubuu.js");
11
11
  return await discordChannelActionsRuntimePromise;
12
12
  }
13
13
  function listDiscoverableDiscordAccounts(cfg) {
@@ -1,9 +1,9 @@
1
1
  import { n as resolveDiscordChannelId } from "./target-parsing-D-H7nnh2.js";
2
- import { t as handleDiscordAction } from "./runtime-BHAwVXEa.js";
3
- import { n as buildDiscordPresentationComponents, t as buildDiscordInteractiveComponents } from "./shared-interactive-BZCU0ZJ8.js";
4
- import "./targets-DzAZIwg4.js";
2
+ import { t as handleDiscordAction } from "./runtime-oXRGbcb5.js";
3
+ import { n as buildDiscordPresentationComponents, t as buildDiscordInteractiveComponents } from "./shared-interactive-D39V9Wtn.js";
4
+ import "./targets-Dj-qyUaE.js";
5
5
  import "./action-runtime-api.js";
6
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-LM6kZ6zE.js";
6
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-DSeMCHvR.js";
7
7
  import { normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/text-runtime";
8
8
  import { resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
9
9
  import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
@@ -1,2 +1,2 @@
1
- import { t as DiscordChannelConfigSchema } from "./config-schema-D1DUqXws.js";
1
+ import { t as DiscordChannelConfigSchema } from "./config-schema-BGn5I3_3.js";
2
2
  export { DiscordChannelConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as discordPlugin } from "./channel-CRTWY5R-.js";
1
+ import { t as discordPlugin } from "./channel-DTBEGHsT.js";
2
2
  export { discordPlugin };
@@ -1,8 +1,8 @@
1
1
  import { n as resolveDiscordToken } from "./token-BZtonk7d.js";
2
2
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, l as resolveDiscordAccountConfig, o as resolveDefaultDiscordAccountId } from "./accounts-CaHGiVB4.js";
3
- import { r as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-BWD6uc0p.js";
4
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-DjpVRJdT.js";
5
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-DrZYxZSX.js";
3
+ import { r as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-CBsrEG5q.js";
4
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-D9Dubj_y.js";
5
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-DlzKsLQe.js";
6
6
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
7
7
  import { hasConfiguredSecretInput, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
8
8
  import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
@@ -1,6 +1,5 @@
1
- import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
- import { A as Button, B as Separator, D as Modal, E as Label, F as MediaGallery, H as TextDisplay, I as MentionableSelectMenu, K as parseCustomId, L as RoleSelectMenu, M as Container, N as File, O as RadioGroup, P as LinkButton, R as Row, T as CheckboxGroup, U as Thumbnail, V as StringSelectMenu, W as UserSelectMenu, j as ChannelSelectMenu, k as TextInput, z as Section } from "./discord-Du6FnKAq.js";
3
- import { t as buildDiscordInteractiveComponents } from "./shared-interactive-BZCU0ZJ8.js";
1
+ import { A as Button, B as Separator, D as Modal, E as Label, F as MediaGallery, H as TextDisplay, I as MentionableSelectMenu, K as parseCustomId, L as RoleSelectMenu, M as Container, N as File, O as RadioGroup, P as LinkButton, Pt as __exportAll, R as Row, T as CheckboxGroup, U as Thumbnail, V as StringSelectMenu, W as UserSelectMenu, j as ChannelSelectMenu, k as TextInput, z as Section } from "./discord-DtHMmZqJ.js";
2
+ import { t as buildDiscordInteractiveComponents } from "./shared-interactive-D39V9Wtn.js";
4
3
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/text-runtime";
5
4
  import { ButtonStyle, MessageFlags, TextInputStyle } from "discord-api-types/v10";
6
5
  import crypto from "node:crypto";
@@ -208,11 +208,11 @@ const DiscordChannelConfigSchema = buildChannelConfigSchema(DiscordConfigSchema,
208
208
  },
209
209
  "voice.realtime.toolPolicy": {
210
210
  label: "Discord Realtime Tool Policy",
211
- help: "Tool policy for the OpenClaw agent consult tool in bidi mode: safe-read-only, owner, or none."
211
+ help: "Tool policy for the OpenClaw agent consult tool in realtime voice modes: safe-read-only, owner, or none. Default is owner for agent-proxy and safe-read-only for bidi."
212
212
  },
213
213
  "voice.realtime.consultPolicy": {
214
214
  label: "Discord Realtime Consult Policy",
215
- help: "Use always to strongly prefer the OpenClaw agent brain for substantive bidi turns."
215
+ help: "Use always to strongly prefer the OpenClaw agent brain for substantive realtime turns. agent-proxy defaults to always."
216
216
  },
217
217
  "voice.realtime.bargeIn": {
218
218
  label: "Discord Realtime Barge-In",
@@ -1,8 +1,8 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DSB2zzJA.js";
2
- import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-BA9jVaKx.js";
3
- import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-B7i5uqn6.js";
4
- import { t as deriveLegacySessionChatType } from "./session-contract-DwjfF970.js";
5
- import { r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-AwZ5Vble.js";
6
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-S2852QcC.js";
7
- import { t as collectDiscordSecurityAuditFindings } from "./security-audit-D8IaFuCm.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BGjjFBdq.js";
2
+ import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-BCQNNS7N.js";
3
+ import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-DrbQqyyW.js";
4
+ import { t as deriveLegacySessionChatType } from "./session-contract-D871HDFG.js";
5
+ import { r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-DTuwm8Tk.js";
6
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-JBaFwbAQ.js";
7
+ import { t as collectDiscordSecurityAuditFindings } from "./security-audit-BQ_sGK3J.js";
8
8
  export { collectDiscordSecurityAuditFindings, collectRuntimeConfigAssignments, collectUnsupportedSecretRefConfigCandidates, createThreadBindingManager, deriveLegacySessionChatType, __testing as discordThreadBindingTesting, legacyConfigRules, listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig, normalizeCompatibilityConfig, secretTargetRegistryEntries, unsupportedSecretRefSurfacePatterns };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
1
+ import { Pt as __exportAll } from "./discord-DtHMmZqJ.js";
2
2
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, o as resolveDefaultDiscordAccountId } from "./accounts-CaHGiVB4.js";
3
3
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
4
4
  import { createResolvedDirectoryEntriesLister } from "openclaw/plugin-sdk/directory-config-runtime";
@@ -1,2 +1,2 @@
1
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-S2852QcC.js";
1
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-JBaFwbAQ.js";
2
2
  export { listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig };
@@ -1,9 +1,9 @@
1
- import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
1
+ import { Pt as __exportAll } from "./discord-DtHMmZqJ.js";
2
2
  import { t as normalizeDiscordToken } from "./token-BZtonk7d.js";
3
3
  import { s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
4
- import { t as rememberDiscordDirectoryUser } from "./directory-cache-D3l2v2_L.js";
5
- import { n as fetchDiscord } from "./api-DaTujGTe.js";
6
- import { a as normalizeDiscordSlug } from "./allow-list-Dtho5Hww.js";
4
+ import { t as rememberDiscordDirectoryUser } from "./directory-cache-D93eSrpB.js";
5
+ import { n as fetchDiscord } from "./api-DzNBVTto.js";
6
+ import { a as normalizeDiscordSlug } from "./allow-list-4wnZg5P9.js";
7
7
  import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/text-runtime";
8
8
  //#region extensions/discord/src/directory-live.ts
9
9
  var directory_live_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { n as __reExport, t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
1
+ import "node:module";
2
2
  import { ApplicationCommandOptionType, ApplicationCommandType, ButtonStyle, ComponentType, GatewayDispatchEvents, InteractionContextType, InteractionResponseType, InteractionType, MessageFlags, Routes, TextInputStyle } from "discord-api-types/v10";
3
3
  import { createHash, randomBytes } from "node:crypto";
4
4
  import path from "node:path";
@@ -6,6 +6,32 @@ import { privateFileStore } from "openclaw/plugin-sdk/security-runtime";
6
6
  import { Type } from "typebox";
7
7
  import { Check } from "typebox/value";
8
8
  import { inspect } from "node:util";
9
+ //#region \0rolldown/runtime.js
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __exportAll = (all, no_symbols) => {
15
+ let target = {};
16
+ for (var name in all) __defProp(target, name, {
17
+ get: all[name],
18
+ enumerable: true
19
+ });
20
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
21
+ return target;
22
+ };
23
+ var __copyProps = (to, from, except, desc) => {
24
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
25
+ key = keys[i];
26
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
27
+ get: ((k) => from[k]).bind(null, key),
28
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
29
+ });
30
+ }
31
+ return to;
32
+ };
33
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
34
+ //#endregion
9
35
  //#region extensions/discord/src/internal/api.commands.ts
10
36
  async function listApplicationCommands(rest, clientId) {
11
37
  return await rest.get(Routes.applicationCommands(clientId));
@@ -2765,4 +2791,4 @@ var discord_exports = /* @__PURE__ */ __exportAll({
2765
2791
  import * as import_discord_api_types_v10 from "discord-api-types/v10";
2766
2792
  __reExport(discord_exports, import_discord_api_types_v10);
2767
2793
  //#endregion
2768
- export { createChannelMessage as $, Button as A, putChannelPermission as At, Separator as B, User as C, getGuildVoiceState as Ct, Modal as D, listGuildRoles as Dt, Label as E, listGuildEmojis as Et, MediaGallery as F, BaseMessageInteractiveComponent as G, TextDisplay as H, MentionableSelectMenu as I, createUserDmChannel as J, parseCustomId as K, RoleSelectMenu as L, Container as M, removeGuildMemberRole as Mt, File as N, timeoutGuildMember as Nt, RadioGroup as O, listGuildScheduledEvents as Ot, LinkButton as P, listMessageReactionUsers as Q, Row as R, Message as S, getGuildMember as St, CheckboxGroup as T, listGuildChannels as Tt, Thumbnail as U, StringSelectMenu as V, UserSelectMenu as W, createOwnMessageReaction as X, getCurrentUser as Y, deleteOwnMessageReaction as Z, readDiscordMessage as _, createGuildEmoji as _t, MessageReactionRemoveListener as a, getChannel as at, CommandWithSubcommands as b, deleteChannelPermission as bt, ResumedListener as c, listChannelMessages as ct, Client as d, searchGuildMessages as dt, createThread as et, Plugin as f, sendChannelTyping as ft, readDiscordCode as g, createGuildChannel as gt, RateLimitError as h, createGuildBan as ht, MessageReactionAddListener as i, editChannelMessage as it, ChannelSelectMenu as j, removeGuildMember as jt, TextInput as k, moveGuildChannels as kt, ThreadUpdateListener as l, listChannelPins as lt, DiscordError as m, addGuildMemberRole as mt, InteractionCreateListener as n, deleteChannelMessage as nt, PresenceUpdateListener as o, getChannelMessage as ot, RequestClient as p, unpinChannelMessage as pt, createChannelWebhook as q, MessageCreateListener as r, editChannel as rt, ReadyListener as s, listChannelArchivedThreads as st, discord_exports as t, deleteChannel as tt, Embed as u, pinChannelMessage as ut, readRetryAfter as v, createGuildScheduledEvent as vt, serializePayload as w, listGuildActiveThreads as wt, Guild as x, getGuild as xt, Command as y, createGuildSticker as yt, Section as z };
2794
+ export { createChannelMessage as $, Button as A, putChannelPermission as At, Separator as B, User as C, getGuildVoiceState as Ct, Modal as D, listGuildRoles as Dt, Label as E, listGuildEmojis as Et, MediaGallery as F, BaseMessageInteractiveComponent as G, TextDisplay as H, MentionableSelectMenu as I, createUserDmChannel as J, parseCustomId as K, RoleSelectMenu as L, Container as M, removeGuildMemberRole as Mt, File as N, timeoutGuildMember as Nt, RadioGroup as O, listGuildScheduledEvents as Ot, LinkButton as P, __exportAll as Pt, listMessageReactionUsers as Q, Row as R, Message as S, getGuildMember as St, CheckboxGroup as T, listGuildChannels as Tt, Thumbnail as U, StringSelectMenu as V, UserSelectMenu as W, createOwnMessageReaction as X, getCurrentUser as Y, deleteOwnMessageReaction as Z, readDiscordMessage as _, createGuildEmoji as _t, MessageReactionRemoveListener as a, getChannel as at, CommandWithSubcommands as b, deleteChannelPermission as bt, ResumedListener as c, listChannelMessages as ct, Client as d, searchGuildMessages as dt, createThread as et, Plugin as f, sendChannelTyping as ft, readDiscordCode as g, createGuildChannel as gt, RateLimitError as h, createGuildBan as ht, MessageReactionAddListener as i, editChannelMessage as it, ChannelSelectMenu as j, removeGuildMember as jt, TextInput as k, moveGuildChannels as kt, ThreadUpdateListener as l, listChannelPins as lt, DiscordError as m, addGuildMemberRole as mt, InteractionCreateListener as n, deleteChannelMessage as nt, PresenceUpdateListener as o, getChannelMessage as ot, RequestClient as p, unpinChannelMessage as pt, createChannelWebhook as q, MessageCreateListener as r, editChannel as rt, ReadyListener as s, listChannelArchivedThreads as st, discord_exports as t, deleteChannel as tt, Embed as u, pinChannelMessage as ut, readRetryAfter as v, createGuildScheduledEvent as vt, serializePayload as w, listGuildActiveThreads as wt, Guild as x, getGuild as xt, Command as y, createGuildSticker as yt, Section as z };
@@ -1,8 +1,8 @@
1
1
  import { o as resolveDefaultDiscordAccountId } from "./accounts-CaHGiVB4.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-BcQAxhKY.js";
3
- import { n as normalizeCompatibilityConfig } from "./doctor-contract-DSB2zzJA.js";
4
- import { t as DISCORD_LEGACY_CONFIG_RULES } from "./doctor-shared-DtOaqWzy.js";
5
- import { t as isDiscordMutableAllowEntry } from "./security-doctor-2SGSPibT.js";
3
+ import { n as normalizeCompatibilityConfig } from "./doctor-contract-BGjjFBdq.js";
4
+ import { t as DISCORD_LEGACY_CONFIG_RULES } from "./doctor-shared-D_QLzu30.js";
5
+ import { t as isDiscordMutableAllowEntry } from "./security-doctor-BJH5YIGL.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
7
7
  import { collectProviderDangerousNameMatchingScopes } from "openclaw/plugin-sdk/runtime-doctor";
8
8
  //#region extensions/discord/src/doctor.ts
@@ -1,4 +1,4 @@
1
- import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-CXrFDP2T.js";
1
+ import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-DCPAe24T.js";
2
2
  import { asObjectRecord, normalizeLegacyChannelAliases } from "openclaw/plugin-sdk/runtime-doctor";
3
3
  //#region extensions/discord/src/doctor-contract.ts
4
4
  const LEGACY_TTS_PROVIDER_KEYS = [
@@ -1,2 +1,2 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DSB2zzJA.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BGjjFBdq.js";
2
2
  export { legacyConfigRules, normalizeCompatibilityConfig };
@@ -1,4 +1,4 @@
1
- import { a as readDiscordChannelCreateParams, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-BHAwVXEa.js";
1
+ import { a as readDiscordChannelCreateParams, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-oXRGbcb5.js";
2
2
  import "./action-runtime-api.js";
3
3
  import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
4
4
  import { readNumberParam, readStringArrayParam, readStringParam } from "openclaw/plugin-sdk/agent-runtime";
@@ -1,4 +1,4 @@
1
- import { h as resolveDiscordOwnerAllowFrom, p as resolveDiscordMemberAllowed } from "./allow-list-Dtho5Hww.js";
1
+ import { h as resolveDiscordOwnerAllowFrom, p as resolveDiscordMemberAllowed } from "./allow-list-4wnZg5P9.js";
2
2
  import { buildUntrustedChannelMetadata, wrapExternalContent } from "openclaw/plugin-sdk/security-runtime";
3
3
  //#region extensions/discord/src/monitor/inbound-context.ts
4
4
  function createDiscordSupplementalContextAccessChecker(params) {