@openclaw/discord 2026.10.5-beta.3 → 2026.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/.setup/{approval-handler.runtime-D7FoZSn0.mjs → approval-handler.runtime-D88-QVlO.mjs} +2 -2
  2. package/dist/.setup/{audit-zSawfbsN.mjs → audit-TGIPL0f_.mjs} +1 -1
  3. package/dist/.setup/{channel-DI7DMzu0.mjs → channel-C24afwHP.mjs} +7 -7
  4. package/dist/.setup/{channel.setup-DdFVN1mr.mjs → channel.setup-B3KEh05g.mjs} +1 -1
  5. package/dist/.setup/{command-owners-D78sAoOz.mjs → command-owners-C7rUdqUX.mjs} +1 -1
  6. package/dist/.setup/{conversation-binding-route-DTjCBx-O.mjs → conversation-binding-route-r4XyytCE.mjs} +1 -1
  7. package/dist/.setup/{doctor-DSrNJ7m2.mjs → doctor-9Ka20lDD.mjs} +2 -2
  8. package/dist/.setup/{handle-action-CXH1h1tq.mjs → handle-action-CsQmpfGZ.mjs} +2 -2
  9. package/dist/.setup/{handle-action.guild-admin-CHKW6PIs.mjs → handle-action.guild-admin-Aw-vutu3.mjs} +1 -1
  10. package/dist/.setup/{message-handler-Ii_etru1.mjs → message-handler-C_BQFYCW.mjs} +4 -4
  11. package/dist/.setup/{message-handler.preflight-C7YuSRl_.mjs → message-handler.preflight-C_xFOxPN.mjs} +5 -5
  12. package/dist/.setup/{message-handler.preflight-pluralkit-C3iAG--b.mjs → message-handler.preflight-pluralkit-CfRsEwg4.mjs} +2 -2
  13. package/dist/.setup/{message-handler.process-ClgWYH6o.mjs → message-handler.process-_np9if7z.mjs} +6 -6
  14. package/dist/.setup/{outbound-adapter-D8OOIuKn.mjs → outbound-adapter-L3UDoMOG.mjs} +1 -1
  15. package/dist/.setup/{outbound-session-route-B0Hpwn3Q.mjs → outbound-session-route-iwnu6IK8.mjs} +2 -2
  16. package/dist/.setup/{provider-D9EzOfG8.mjs → provider-CbmXLYrW.mjs} +5 -5
  17. package/dist/.setup/{provider-session.runtime-CsnRvddI.mjs → provider-session.runtime-BMOuDbod.mjs} +1 -1
  18. package/dist/.setup/provider.runtime-1yN_05AK.mjs +1 -0
  19. package/dist/.setup/{realtime-session.runtime-CxGBk8H-.mjs → realtime-session.runtime-YCumnRSE.mjs} +2 -2
  20. package/dist/.setup/setup-plugin-api-BFl2FljJ.mjs +2 -0
  21. package/dist/.setup/{shared-CestGDpq.mjs → shared-C027f-lL.mjs} +1 -1
  22. package/dist/.setup/{threading-BKe3E3tp.mjs → threading-BWz5lW0p.mjs} +1 -1
  23. package/dist/.setup/{transcripts-source-0qQYVu2H.mjs → transcripts-source-EMrQb132.mjs} +1 -1
  24. package/dist/.setup/{voice-runtime-QlZJ4sHv.mjs → voice-runtime-BFEBhf2B.mjs} +3 -3
  25. package/dist/action-runtime-api.js +1 -2
  26. package/dist/api.js +5 -5
  27. package/dist/channel-config-api.js +1 -2
  28. package/dist/channel-plugin-api.js +1 -2
  29. package/dist/contract-api.js +1 -2
  30. package/dist/runtime-api.js +6 -6
  31. package/dist/runtime-setter-api.js +1 -2
  32. package/dist/secret-contract-api.js +1 -2
  33. package/dist/security-audit-contract-api.js +1 -2
  34. package/dist/security-contract-api.js +1 -2
  35. package/dist/session-key-api.js +1 -2
  36. package/dist/setup-entry.js +1 -1
  37. package/dist/setup-plugin-api.js +1 -2
  38. package/dist/thread-binding-api.js +1 -2
  39. package/dist/transcripts-source-api.js +1 -1
  40. package/package.json +4 -4
  41. package/dist/.setup/provider.runtime-BQVcM7Pg.mjs +0 -2
  42. package/dist/.setup/setup-plugin-api-xfOFmxHP.mjs +0 -3
@@ -2,8 +2,8 @@ import { D as createDiscordMessageNonce, N as createDiscordClient } from "./send
2
2
  import { D as Row, K as serializePayload, bt as stripUndefinedFields, j as TextDisplay, k as Separator, lt as deleteChannelMessage, nt as createUserDmChannel, st as createChannelMessage, ut as editChannelMessage, x as Container, y as Button } from "./discord-BGqgx-yd.mjs";
3
3
  import { y as findGraphemeChunkEnd } from "./send.receipt-BAlzXd8e.mjs";
4
4
  import { s as buildExecApprovalCustomId } from "./components-HN9052L1.mjs";
5
- import { D as isDiscordExecApprovalClientEnabled, c as formatDiscordApprovalDisplayValue, s as DISCORD_APPROVAL_ALLOWED_MENTIONS } from "./outbound-session-route-B0Hpwn3Q.mjs";
6
- import { a as shouldHandleDiscordApprovalRequest } from "./channel-DI7DMzu0.mjs";
5
+ import { D as isDiscordExecApprovalClientEnabled, c as formatDiscordApprovalDisplayValue, s as DISCORD_APPROVAL_ALLOWED_MENTIONS } from "./outbound-session-route-iwnu6IK8.mjs";
6
+ import { a as shouldHandleDiscordApprovalRequest } from "./channel-C24afwHP.mjs";
7
7
  import { t as discordApprovalMessageUpdates } from "./approval-message-updates-CIGByUcE.mjs";
8
8
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { ButtonStyle } from "discord-api-types/v10";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-8cCu6uPG.mjs";
3
3
  import { b as fetchChannelPermissionsDiscord } from "./send.shared-CjQ4jbMA.mjs";
4
4
  import "./send-DbILKgcm.mjs";
5
- import { C as collectDiscordAuditChannelIdsForAccount, S as auditDiscordChannelPermissionsWithFetcher } from "./outbound-session-route-B0Hpwn3Q.mjs";
5
+ import { C as collectDiscordAuditChannelIdsForAccount, S as auditDiscordChannelPermissionsWithFetcher } from "./outbound-session-route-iwnu6IK8.mjs";
6
6
  //#region extensions/discord/src/audit.ts
7
7
  var audit_exports = /* @__PURE__ */ __exportAll({
8
8
  auditDiscordChannelPermissions: () => auditDiscordChannelPermissions,
@@ -4,11 +4,11 @@ import { d as normalizeDiscordMessagingTarget, l as looksLikeDiscordTargetId, u
4
4
  import { t as parseDiscordTarget } from "./target-parsing-C-HyNxcE.mjs";
5
5
  import { l as withAbortTimeout } from "./timeouts-CuNARfyw.mjs";
6
6
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.mjs";
7
- import { D as isDiscordExecApprovalClientEnabled, E as isDiscordExecApprovalApprover, O as shouldSuppressLocalDiscordExecApprovalPrompt, T as getDiscordExecApprovalApprovers, _ as resolveDiscordRuntimeBindingConversationId, f as resolveDiscordConversationRoute, t as resolveDiscordOutboundSessionRoute, v as discordMessageActions, w as resolveRequiredDiscordChannelPermissions } from "./outbound-session-route-B0Hpwn3Q.mjs";
8
- import { a as normalizeDiscordAcpConversationId, c as resolveDiscordInboundConversation, i as matchDiscordAcpConversation, n as discordOutbound, o as resolveDiscordAttachedOutboundTarget, r as buildDiscordCrossContextPresentation, s as resolveDiscordCommandConversation } from "./outbound-adapter-D8OOIuKn.mjs";
7
+ import { D as isDiscordExecApprovalClientEnabled, E as isDiscordExecApprovalApprover, O as shouldSuppressLocalDiscordExecApprovalPrompt, T as getDiscordExecApprovalApprovers, _ as resolveDiscordRuntimeBindingConversationId, f as resolveDiscordConversationRoute, t as resolveDiscordOutboundSessionRoute, v as discordMessageActions, w as resolveRequiredDiscordChannelPermissions } from "./outbound-session-route-iwnu6IK8.mjs";
8
+ import { a as normalizeDiscordAcpConversationId, c as resolveDiscordInboundConversation, i as matchDiscordAcpConversation, n as discordOutbound, o as resolveDiscordAttachedOutboundTarget, r as buildDiscordCrossContextPresentation, s as resolveDiscordCommandConversation } from "./outbound-adapter-L3UDoMOG.mjs";
9
9
  import { r as openDiscordCommandDeployHashStore } from "./command-deploy-store-DFkBTViB.mjs";
10
- import { t as resolveDiscordConversationBindingRoute } from "./conversation-binding-route-DTjCBx-O.mjs";
11
- import { a as discordSecurityAdapter, i as discordSetupContract, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-CestGDpq.mjs";
10
+ import { t as resolveDiscordConversationBindingRoute } from "./conversation-binding-route-r4XyytCE.mjs";
11
+ import { a as discordSecurityAdapter, i as discordSetupContract, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-C027f-lL.mjs";
12
12
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-CCHGNSQw.mjs";
13
13
  import { i as setThreadBindingMaxAgeBySessionKeyAsync, n as setThreadBindingIdleTimeoutBySessionKeyAsync, r as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-DGSljVf6.mjs";
14
14
  import { t as defaultTopLevelPlacement } from "./thread-binding-api-BDZJD4na.mjs";
@@ -171,7 +171,7 @@ function createDiscordApprovalCapability() {
171
171
  accountId
172
172
  }),
173
173
  shouldHandle: shouldHandleCapabilityRequest,
174
- load: async () => (await import("./approval-handler.runtime-D7FoZSn0.mjs")).discordApprovalNativeRuntime
174
+ load: async () => (await import("./approval-handler.runtime-D88-QVlO.mjs")).discordApprovalNativeRuntime
175
175
  })
176
176
  });
177
177
  }
@@ -187,7 +187,7 @@ const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import(".
187
187
  const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-DnCsrXZ_.mjs").then((n) => n.n));
188
188
  const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-CdNa6UIs.mjs").then((n) => n.r));
189
189
  const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-Bse8fuTi.mjs").then((n) => n.r));
190
- const loadDiscordProviderRuntime = createLazyRuntimeModule(() => import("./provider.runtime-BQVcM7Pg.mjs"));
190
+ const loadDiscordProviderRuntime = createLazyRuntimeModule(() => import("./provider.runtime-1yN_05AK.mjs"));
191
191
  const loadDiscordProbeRuntime = createLazyRuntimeModule(() => import("./probe-D3P1x4aN.mjs").then((n) => n.o));
192
192
  async function probeDiscordStatusAccount(params) {
193
193
  const startedAtMs = Date.now();
@@ -195,7 +195,7 @@ async function probeDiscordStatusAccount(params) {
195
195
  const remainingMs = Math.max(1, params.timeoutMs - Math.max(0, Date.now() - startedAtMs));
196
196
  return await runtime.probeDiscord(params.token, remainingMs, { includeApplication: true });
197
197
  }
198
- const loadDiscordAuditModule = createLazyRuntimeModule(() => import("./audit-zSawfbsN.mjs").then((n) => n.n));
198
+ const loadDiscordAuditModule = createLazyRuntimeModule(() => import("./audit-TGIPL0f_.mjs").then((n) => n.n));
199
199
  const loadDiscordSendModule = createLazyRuntimeModule(() => import("./send-DbILKgcm.mjs").then((n) => n.t));
200
200
  const loadDiscordDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-DLygQVtW.mjs").then((n) => n.t));
201
201
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { c as resolveDefaultDiscordAccountId, g as resolveDiscordToken, n as inspectDiscordAccountConfig, s as mergeDiscordAccountConfig, u as resolveDiscordAccountAllowFrom } from "./accounts-ljrzXBJi.mjs";
2
- import { i as discordSetupContract, t as createDiscordPluginBase } from "./shared-CestGDpq.mjs";
2
+ import { i as discordSetupContract, t as createDiscordPluginBase } from "./shared-C027f-lL.mjs";
3
3
  import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-UdT38DzU.mjs";
4
4
  import { t as resolveDiscordUserAllowlist } from "./resolve-users-DnCsrXZ_.mjs";
5
5
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
@@ -1,7 +1,7 @@
1
1
  //#region extensions/discord/src/command-owners.ts
2
2
  function resolveDiscordCommandOwnerEntries(cfg) {
3
3
  const entries = (cfg.commands?.ownerAllowFrom ?? []).map((entry) => String(entry).trim()).filter((entry) => entry && (/^(discord|user|pk):/i.test(entry) || !entry.includes(":")));
4
- return entries.length > 0 ? entries.filter((entry) => !/^discord:user:/i.test(entry)) : void 0;
4
+ return entries.length > 0 ? entries : void 0;
5
5
  }
6
6
  function resolveDiscordCommandOwnerAllowFrom(cfg) {
7
7
  return resolveDiscordCommandOwnerEntries(cfg)?.map((entry) => entry.replace(/^discord:/i, "").trim()).filter(Boolean);
@@ -1,4 +1,4 @@
1
- import { m as shouldIgnoreStaleDiscordRouteBinding } from "./outbound-session-route-B0Hpwn3Q.mjs";
1
+ import { m as shouldIgnoreStaleDiscordRouteBinding } from "./outbound-session-route-iwnu6IK8.mjs";
2
2
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
3
3
  import { resolveConfiguredBindingRoute, resolveRuntimeConversationBindingRoute } from "openclaw/plugin-sdk/conversation-binding-runtime";
4
4
  //#region extensions/discord/src/monitor/conversation-binding-route.ts
@@ -1,10 +1,10 @@
1
1
  import { c as resolveDefaultDiscordAccountId } from "./accounts-ljrzXBJi.mjs";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-8cCu6uPG.mjs";
3
- import { r as DISCORD_LEGACY_CONFIG_RULES } from "./shared-CestGDpq.mjs";
3
+ import { r as DISCORD_LEGACY_CONFIG_RULES } from "./shared-C027f-lL.mjs";
4
4
  import { t as runtime_doctor_migrations_exports } from "./runtime-doctor-migrations-BPV-R4G9.mjs";
5
5
  import { n as normalizeCompatibilityConfig } from "./doctor-contract-Bwv8EuQ_.mjs";
6
6
  import { t as isDiscordMutableAllowEntry } from "./security-doctor-nGgPm65L.mjs";
7
- import { n as discordVoiceTranscriptsSourceProvider } from "./transcripts-source-0qQYVu2H.mjs";
7
+ import { n as discordVoiceTranscriptsSourceProvider } from "./transcripts-source-EMrQb132.mjs";
8
8
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
10
10
  //#region extensions/discord/src/doctor.ts
@@ -5,8 +5,8 @@ import "./targets-DZJjkzwv.mjs";
5
5
  import { a as readDiscordAutoArchiveDurationParam, t as handleDiscordAction } from "./runtime-CRTkKU1G.mjs";
6
6
  import { i as buildDiscordPresentationComponents, m as coerceDiscordComponentParam, r as buildDiscordInteractiveComponents } from "./components-HN9052L1.mjs";
7
7
  import "../action-runtime-api.js";
8
- import { b as discordInboundEventDelivery, i as isDiscordComponentSpecWithinMessageLimit, n as DISCORD_PRESENTATION_CAPABILITIES } from "./outbound-session-route-B0Hpwn3Q.mjs";
9
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-CHKW6PIs.mjs";
8
+ import { b as discordInboundEventDelivery, i as isDiscordComponentSpecWithinMessageLimit, n as DISCORD_PRESENTATION_CAPABILITIES } from "./outbound-session-route-iwnu6IK8.mjs";
9
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-Aw-vutu3.mjs";
10
10
  import { n as notifyDiscordActiveTurnThreadCreated, r as notifyDiscordActiveTurnThreadReplyDelivered } from "./active-turn-thread-route-C4tp9noA.mjs";
11
11
  import { asOptionalRecord, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
@@ -1,6 +1,6 @@
1
1
  import { c as readDiscordChannelMoveParams, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-CRTkKU1G.mjs";
2
2
  import "../action-runtime-api.js";
3
- import { y as isTrustedRequesterGuildAdminAction } from "./outbound-session-route-B0Hpwn3Q.mjs";
3
+ import { y as isTrustedRequesterGuildAdminAction } from "./outbound-session-route-iwnu6IK8.mjs";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
6
6
  import { readNonNegativeIntegerParam, readPositiveIntegerParam, readStringArrayParam, readStringParam } from "openclaw/plugin-sdk/param-readers";
@@ -1,7 +1,7 @@
1
1
  import { D as getDiscordEndpointRuntime, k as resolveDiscordEndpointMediaGuard } from "./allow-list-B_ToXtew.mjs";
2
2
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.mjs";
3
- import { D as createDiscordLivePolicyReader, O as mapGatewayDispatchData } from "./provider-D9EzOfG8.mjs";
4
- import { E as hasDiscordMessageStickers, T as resolveDiscordCdnPolicy, b as resolveDiscordMessageText, j as resolveDiscordMessageChannelId, k as resolveDiscordReferencedReplyMessageId } from "./transcripts-source-0qQYVu2H.mjs";
3
+ import { D as createDiscordLivePolicyReader, O as mapGatewayDispatchData } from "./provider-CbmXLYrW.mjs";
4
+ import { E as hasDiscordMessageStickers, T as resolveDiscordCdnPolicy, b as resolveDiscordMessageText, j as resolveDiscordMessageChannelId, k as resolveDiscordReferencedReplyMessageId } from "./transcripts-source-EMrQb132.mjs";
5
5
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
6
6
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { danger } from "openclaw/plugin-sdk/runtime-env";
@@ -195,7 +195,7 @@ function createDiscordAvatarResolver() {
195
195
  }
196
196
  //#endregion
197
197
  //#region extensions/discord/src/monitor/message-run-queue.ts
198
- const loadMessageProcessRuntime = createLazyRuntimeModule(() => import("./message-handler.process-ClgWYH6o.mjs"));
198
+ const loadMessageProcessRuntime = createLazyRuntimeModule(() => import("./message-handler.process-_np9if7z.mjs"));
199
199
  async function processDiscordQueuedMessage(params) {
200
200
  const abortSignal = params.job.context.abortSignal && params.lifecycleSignal ? AbortSignal.any([params.job.context.abortSignal, params.lifecycleSignal]) : params.job.context.abortSignal ?? params.lifecycleSignal;
201
201
  try {
@@ -279,7 +279,7 @@ function createDiscordMessageRunQueue(params) {
279
279
  }
280
280
  //#endregion
281
281
  //#region extensions/discord/src/monitor/message-dispatcher.ts
282
- const loadMessagePreflightRuntime = createLazyRuntimeModule(() => import("./message-handler.preflight-C7YuSRl_.mjs"));
282
+ const loadMessagePreflightRuntime = createLazyRuntimeModule(() => import("./message-handler.preflight-C_xFOxPN.mjs"));
283
283
  function createDiscordMessageDispatcher(params) {
284
284
  const readPolicy = params.readPolicy ?? createDiscordLivePolicyReader({
285
285
  ...params,
@@ -2,13 +2,13 @@ import { c as resolveDefaultDiscordAccountId } from "./accounts-ljrzXBJi.mjs";
2
2
  import { C as resolveDiscordSystemLocation, S as formatDiscordUserTag, a as normalizeDiscordDisplaySlug, f as resolveDiscordGuildEntry, h as resolveDiscordMentionPolicy, l as resolveDiscordChannelConfigWithFallback, o as normalizeDiscordSlug, p as resolveDiscordMemberAccessState, w as resolveTimestampMs } from "./allow-list-B_ToXtew.mjs";
3
3
  import { Z as Message, ft as getChannelMessage, t as discord_exports } from "./discord-BGqgx-yd.mjs";
4
4
  import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-CuNARfyw.mjs";
5
- import { _ as resolveDiscordRuntimeBindingConversationId, f as resolveDiscordConversationRoute, h as resolveDiscordConversationIdentity, p as resolveDiscordEffectiveRoute, u as buildDiscordRoutePeer } from "./outbound-session-route-B0Hpwn3Q.mjs";
6
- import { t as resolveDiscordConversationBindingRoute } from "./conversation-binding-route-DTjCBx-O.mjs";
5
+ import { _ as resolveDiscordRuntimeBindingConversationId, f as resolveDiscordConversationRoute, h as resolveDiscordConversationIdentity, p as resolveDiscordEffectiveRoute, u as buildDiscordRoutePeer } from "./outbound-session-route-iwnu6IK8.mjs";
6
+ import { t as resolveDiscordConversationBindingRoute } from "./conversation-binding-route-r4XyytCE.mjs";
7
7
  import { n as resolveDiscordChannelInfoSafe, r as resolveDiscordChannelNameSafe } from "./channel-access-DasWY_OV.mjs";
8
- import { A as resolveDiscordDmCommandAccess, E as handleDiscordDmCommandDecision, j as resolveDiscordTextCommandAccess, n as resolveDiscordPreflightChannelAccess } from "./provider-D9EzOfG8.mjs";
9
- import { A as resolveDiscordChannelInfo, C as resolveMediaList, D as resolveDiscordMessageStickers, O as resolveDiscordReferencedReplyMessage, S as resolveForwardedMediaList, _ as resolveDiscordMessageBatch, b as resolveDiscordMessageText, j as resolveDiscordMessageChannelId, v as resolveDiscordMessageHistoryText, y as resolveDiscordMessageMentionDocuments } from "./transcripts-source-0qQYVu2H.mjs";
8
+ import { A as resolveDiscordDmCommandAccess, E as handleDiscordDmCommandDecision, j as resolveDiscordTextCommandAccess, n as resolveDiscordPreflightChannelAccess } from "./provider-CbmXLYrW.mjs";
9
+ import { A as resolveDiscordChannelInfo, C as resolveMediaList, D as resolveDiscordMessageStickers, O as resolveDiscordReferencedReplyMessage, S as resolveForwardedMediaList, _ as resolveDiscordMessageBatch, b as resolveDiscordMessageText, j as resolveDiscordMessageChannelId, v as resolveDiscordMessageHistoryText, y as resolveDiscordMessageMentionDocuments } from "./transcripts-source-EMrQb132.mjs";
10
10
  import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-BNBvGt1l.mjs";
11
- import { a as createDiscordHistorySenderProvenance, c as hasRawDiscordUserMention, d as matchesActiveDiscordMentionPatterns, f as resolveDiscordMentionState, i as loadSystemEventsRuntime, l as isBoundThreadBotSystemMessage, m as shouldIgnoreBoundThreadWebhookMessage, n as loadDiscordThreadingRuntime, p as resolveInjectedBoundThreadLookupRecord, r as loadPreflightAudioRuntime, s as resolveDiscordHistoryMediaIds, t as resolveDiscordPreflightPluralKitInfo, u as isDiscordThreadChannelMessage } from "./message-handler.preflight-pluralkit-C3iAG--b.mjs";
11
+ import { a as createDiscordHistorySenderProvenance, c as hasRawDiscordUserMention, d as matchesActiveDiscordMentionPatterns, f as resolveDiscordMentionState, i as loadSystemEventsRuntime, l as isBoundThreadBotSystemMessage, m as shouldIgnoreBoundThreadWebhookMessage, n as loadDiscordThreadingRuntime, p as resolveInjectedBoundThreadLookupRecord, r as loadPreflightAudioRuntime, s as resolveDiscordHistoryMediaIds, t as resolveDiscordPreflightPluralKitInfo, u as isDiscordThreadChannelMessage } from "./message-handler.preflight-pluralkit-CfRsEwg4.mjs";
12
12
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
13
13
  import { getChildLogger, logVerbose, shouldLogVerbose } from "openclaw/plugin-sdk/runtime-env";
14
14
  import { MessageReferenceType, MessageType } from "discord-api-types/v10";
@@ -1,5 +1,5 @@
1
1
  import { A as isDiscordThreadChannelType } from "./allow-list-B_ToXtew.mjs";
2
- import { D as resolveDiscordMessageStickers } from "./transcripts-source-0qQYVu2H.mjs";
2
+ import { D as resolveDiscordMessageStickers } from "./transcripts-source-EMrQb132.mjs";
3
3
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
4
4
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -116,7 +116,7 @@ function resolveDiscordHistoryMediaIds(message) {
116
116
  const loadPluralKitRuntime = createLazyRuntimeModule(() => import("./pluralkit-B64dfq_j.mjs").then((n) => n.n));
117
117
  const loadPreflightAudioRuntime = createLazyRuntimeModule(() => import("./preflight-audio-wWgsZG5F.mjs"));
118
118
  const loadSystemEventsRuntime = createLazyRuntimeModule(() => import("./system-events-BwwSDCw4.mjs"));
119
- const loadDiscordThreadingRuntime = createLazyRuntimeModule(() => import("./threading-BKe3E3tp.mjs").then((n) => n.t));
119
+ const loadDiscordThreadingRuntime = createLazyRuntimeModule(() => import("./threading-BWz5lW0p.mjs").then((n) => n.t));
120
120
  //#endregion
121
121
  //#region extensions/discord/src/monitor/message-handler.preflight-pluralkit.ts
122
122
  async function resolveDiscordPreflightPluralKitInfo(params) {
@@ -8,14 +8,14 @@ import { a as removeReactionDiscord, r as reactMessageDiscord } from "./send-DbI
8
8
  import { a as discordTextHasBroadcastMention } from "./send.outbound-_jx4Xpd3.mjs";
9
9
  import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-CuNARfyw.mjs";
10
10
  import "./targets-DZJjkzwv.mjs";
11
- import { b as discordInboundEventDelivery, h as resolveDiscordConversationIdentity, u as buildDiscordRoutePeer } from "./outbound-session-route-B0Hpwn3Q.mjs";
12
- import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-D8OOIuKn.mjs";
13
- import { T as createDiscordSupplementalContextAccessChecker, c as formatDiscordReplySkip, d as buildGuildLabel, f as resolveReplyContext, l as sanitizeDiscordFrontChannelReplyPayloads, o as deliverDiscordReply, s as formatDiscordReplyDeliveryFailure, u as buildDirectLabel, w as buildDiscordInboundAccessContext } from "./provider-D9EzOfG8.mjs";
14
- import { D as resolveDiscordMessageStickers, b as resolveDiscordMessageText, h as resolveDiscordThreadStarter, k as resolveDiscordReferencedReplyMessageId, v as resolveDiscordMessageHistoryText, w as resolveReferencedReplyMediaList, x as formatDiscordMediaText } from "./transcripts-source-0qQYVu2H.mjs";
11
+ import { b as discordInboundEventDelivery, h as resolveDiscordConversationIdentity, u as buildDiscordRoutePeer } from "./outbound-session-route-iwnu6IK8.mjs";
12
+ import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-L3UDoMOG.mjs";
13
+ import { T as createDiscordSupplementalContextAccessChecker, c as formatDiscordReplySkip, d as buildGuildLabel, f as resolveReplyContext, l as sanitizeDiscordFrontChannelReplyPayloads, o as deliverDiscordReply, s as formatDiscordReplyDeliveryFailure, u as buildDirectLabel, w as buildDiscordInboundAccessContext } from "./provider-CbmXLYrW.mjs";
14
+ import { D as resolveDiscordMessageStickers, b as resolveDiscordMessageText, h as resolveDiscordThreadStarter, k as resolveDiscordReferencedReplyMessageId, v as resolveDiscordMessageHistoryText, w as resolveReferencedReplyMediaList, x as formatDiscordMediaText } from "./transcripts-source-EMrQb132.mjs";
15
15
  import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-BNBvGt1l.mjs";
16
- import { n as resolveDiscordAutoThreadReplyPlan } from "./threading-BKe3E3tp.mjs";
16
+ import { n as resolveDiscordAutoThreadReplyPlan } from "./threading-BWz5lW0p.mjs";
17
17
  import { t as beginDiscordActiveTurnThreadRoute } from "./active-turn-thread-route-C4tp9noA.mjs";
18
- import { a as createDiscordHistorySenderProvenance, l as isBoundThreadBotSystemMessage, m as shouldIgnoreBoundThreadWebhookMessage, o as filterDiscordHistoryEntriesForContext, s as resolveDiscordHistoryMediaIds, t as resolveDiscordPreflightPluralKitInfo } from "./message-handler.preflight-pluralkit-C3iAG--b.mjs";
18
+ import { a as createDiscordHistorySenderProvenance, l as isBoundThreadBotSystemMessage, m as shouldIgnoreBoundThreadWebhookMessage, o as filterDiscordHistoryEntriesForContext, s as resolveDiscordHistoryMediaIds, t as resolveDiscordPreflightPluralKitInfo } from "./message-handler.preflight-pluralkit-CfRsEwg4.mjs";
19
19
  import { t as sendTyping } from "./typing-CNlSKY5S.mjs";
20
20
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
21
21
  import { danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
@@ -1,7 +1,7 @@
1
1
  import { t as createDiscordActionGate } from "./accounts-ljrzXBJi.mjs";
2
2
  import { d as normalizeDiscordMessagingTarget, f as normalizeDiscordOutboundTarget, g as hasDiscordMessageCreateAmbiguity, i as toDiscordOutboundDeliveryResult, n as createDiscordSendReceiptFromResults, p as canFallbackDiscordWebhookSend, s as resolveDiscordReplyReference, t as createDiscordSendReceipt, v as chunkDiscordTextWithMode } from "./send.receipt-BAlzXd8e.mjs";
3
3
  import { t as parseDiscordTarget } from "./target-parsing-C-HyNxcE.mjs";
4
- import { a as resolveDiscordComponentSpec, b as discordInboundEventDelivery, c as formatDiscordApprovalDisplayValue, g as resolveDiscordCurrentConversationIdentity, n as DISCORD_PRESENTATION_CAPABILITIES, o as sendDiscordComponentMessageLazy, r as buildDiscordPresentationPayload, x as notifyDiscordInboundEventOutboundPayloadSuccess } from "./outbound-session-route-B0Hpwn3Q.mjs";
4
+ import { a as resolveDiscordComponentSpec, b as discordInboundEventDelivery, c as formatDiscordApprovalDisplayValue, g as resolveDiscordCurrentConversationIdentity, n as DISCORD_PRESENTATION_CAPABILITIES, o as sendDiscordComponentMessageLazy, r as buildDiscordPresentationPayload, x as notifyDiscordInboundEventOutboundPayloadSuccess } from "./outbound-session-route-iwnu6IK8.mjs";
5
5
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
6
6
  import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
7
7
  import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -4,7 +4,7 @@ import { A as isDiscordThreadChannelType } from "./allow-list-B_ToXtew.mjs";
4
4
  import { d as normalizeDiscordMessagingTarget, u as matchesDiscordToolContextTarget } from "./send.receipt-BAlzXd8e.mjs";
5
5
  import { t as parseDiscordTarget } from "./target-parsing-C-HyNxcE.mjs";
6
6
  import { h as readDiscordComponentSpec, m as coerceDiscordComponentParam } from "./components-HN9052L1.mjs";
7
- import { n as resolveDiscordCommandOwnerEntries } from "./command-owners-D78sAoOz.mjs";
7
+ import { n as resolveDiscordCommandOwnerEntries } from "./command-owners-C7rUdqUX.mjs";
8
8
  import { createLazyRuntimeMethod, createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
9
9
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
10
10
  import { buildOutboundBaseSessionKey, deriveLastRoutePolicy, isAcpSessionKey, isSubagentSessionKey, parseAgentSessionKey, resolveAgentIdFromSessionKey, resolveAgentRoute } from "openclaw/plugin-sdk/routing";
@@ -221,7 +221,7 @@ function resolveDiscordThreadReplyTarget(args) {
221
221
  const target = threadId !== void 0 ? `channel:${threadId}` : normalizeOptionalString(args.channelId) ?? normalizeOptionalString(args.to) ?? normalizeOptionalString(args.target);
222
222
  return target ? normalizeDiscordMessagingTarget(target) : void 0;
223
223
  }
224
- const loadDiscordChannelActionsRuntime = createLazyRuntimeModule(() => import("./handle-action-CXH1h1tq.mjs"));
224
+ const loadDiscordChannelActionsRuntime = createLazyRuntimeModule(() => import("./handle-action-CsQmpfGZ.mjs"));
225
225
  const discordActionGroups = [
226
226
  {
227
227
  gate: "polls",
@@ -12,15 +12,15 @@ import { C as parseDiscordActivityCustomIdForInteraction, D as parseDiscordModal
12
12
  import { a as registerDiscordComponentEntries, o as resolveDiscordComponentEntryWithPersistence, s as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-FxOS3CeP.mjs";
13
13
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.mjs";
14
14
  import { n as getDiscordActivitiesRuntime } from "./runtime-DPm3gZXk.mjs";
15
- import { t as resolveDiscordCommandOwnerAllowFrom } from "./command-owners-D78sAoOz.mjs";
16
- import { D as isDiscordExecApprovalClientEnabled, T as getDiscordExecApprovalApprovers, a as resolveDiscordComponentSpec, c as formatDiscordApprovalDisplayValue, d as resolveDiscordBoundConversationRoute, h as resolveDiscordConversationIdentity, l as buildDiscordConversationRouteContext, n as DISCORD_PRESENTATION_CAPABILITIES, p as resolveDiscordEffectiveRoute, r as buildDiscordPresentationPayload, s as DISCORD_APPROVAL_ALLOWED_MENTIONS, u as buildDiscordRoutePeer } from "./outbound-session-route-B0Hpwn3Q.mjs";
15
+ import { t as resolveDiscordCommandOwnerAllowFrom } from "./command-owners-C7rUdqUX.mjs";
16
+ import { D as isDiscordExecApprovalClientEnabled, T as getDiscordExecApprovalApprovers, a as resolveDiscordComponentSpec, c as formatDiscordApprovalDisplayValue, d as resolveDiscordBoundConversationRoute, h as resolveDiscordConversationIdentity, l as buildDiscordConversationRouteContext, n as DISCORD_PRESENTATION_CAPABILITIES, p as resolveDiscordEffectiveRoute, r as buildDiscordPresentationPayload, s as DISCORD_APPROVAL_ALLOWED_MENTIONS, u as buildDiscordRoutePeer } from "./outbound-session-route-iwnu6IK8.mjs";
17
17
  import { n as discordIngressIdentity, t as selectDiscordLivePolicyConfig } from "./live-policy-config-BPoB3eQi.mjs";
18
18
  import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-UdT38DzU.mjs";
19
19
  import { t as resolveDiscordUserAllowlist } from "./resolve-users-DnCsrXZ_.mjs";
20
20
  import { a as isThreadArchived, n as getThreadBindingManager } from "./thread-bindings.manager-CdNa6UIs.mjs";
21
21
  import { n as resolveDiscordChannelInfoSafe, o as resolveDiscordChannelTopicSafe, r as resolveDiscordChannelNameSafe } from "./channel-access-DasWY_OV.mjs";
22
22
  import { a as probeDiscordApplicationId, r as parseApplicationIdFromToken } from "./probe-D3P1x4aN.mjs";
23
- import { O as resolveDiscordReferencedReplyMessage, a as authorizeDiscordVoiceIngress, c as resolveDiscordVoiceEnabled, i as setDiscordTranscriptsVoiceManager, k as resolveDiscordReferencedReplyMessageId, l as resolveDiscordThreadLikeChannelContext, o as resolveDiscordVoiceAccess, u as resolveFetchedDiscordThreadLikeChannelContext } from "./transcripts-source-0qQYVu2H.mjs";
23
+ import { O as resolveDiscordReferencedReplyMessage, a as authorizeDiscordVoiceIngress, c as resolveDiscordVoiceEnabled, i as setDiscordTranscriptsVoiceManager, k as resolveDiscordReferencedReplyMessageId, l as resolveDiscordThreadLikeChannelContext, o as resolveDiscordVoiceAccess, u as resolveFetchedDiscordThreadLikeChannelContext } from "./transcripts-source-EMrQb132.mjs";
24
24
  import { t as resolveDiscordSenderIdentity } from "./sender-identity-BNBvGt1l.mjs";
25
25
  import { n as hasDiscordApprovalControl, t as discordApprovalMessageUpdates } from "./approval-message-updates-CIGByUcE.mjs";
26
26
  import { createRequire } from "node:module";
@@ -5532,8 +5532,8 @@ const discordProviderRuntime = {
5532
5532
  probeDiscordApplicationId,
5533
5533
  createDiscordNativeCommand,
5534
5534
  runDiscordGatewayLifecycle,
5535
- loadDiscordVoiceRuntime: () => import("./voice-runtime-QlZJ4sHv.mjs").then((n) => n.t),
5536
- loadDiscordProviderSessionRuntime: () => import("./provider-session.runtime-CsnRvddI.mjs"),
5535
+ loadDiscordVoiceRuntime: () => import("./voice-runtime-BFEBhf2B.mjs").then((n) => n.t),
5536
+ loadDiscordProviderSessionRuntime: () => import("./provider-session.runtime-BMOuDbod.mjs"),
5537
5537
  createClient: (...args) => new Client(...args),
5538
5538
  resolveDiscordAccount,
5539
5539
  resolveNativeCommandsEnabled,
@@ -1,6 +1,6 @@
1
1
  import { i as createNoopThreadBindingManager, t as createThreadBindingManager } from "./thread-bindings.manager-CdNa6UIs.mjs";
2
2
  import { c as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-0hPTSK14.mjs";
3
- import { t as createDiscordMessageHandler } from "./message-handler-Ii_etru1.mjs";
3
+ import { t as createDiscordMessageHandler } from "./message-handler-C_BQFYCW.mjs";
4
4
  import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
5
5
  import { getAcpSessionManager, isAcpRuntimeError, rethrowIncognitoSessionError } from "openclaw/plugin-sdk/acp-runtime";
6
6
  export { createDiscordMessageHandler, createNoopThreadBindingManager, createThreadBindingManager, getAcpSessionManager, isAcpRuntimeError, reconcileAcpThreadBindingsOnStartup, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled, rethrowIncognitoSessionError };
@@ -0,0 +1 @@
1
+ export { t as monitorDiscordProvider } from "./provider-CbmXLYrW.mjs";
@@ -1,8 +1,8 @@
1
1
  import { _ as restoreDiscordAudioError, b as setDiscordAudioOutputStatus, g as releaseDiscordAudioInput, h as getDiscordAudioOutputStatus, l as createDiscordPcmToRealtimeConverter, m as admitDiscordAudioInput, p as DiscordAudioOutputStatus } from "./receive-recovery-eVmK2_hl.mjs";
2
2
  import { t as resolveDiscordOutputAudioDelta } from "./output-activity-uBpMSX75.mjs";
3
3
  import { n as discordRealtimeVoiceSecretOwnerId } from "./secret-config-contract-CIsH7R3B.mjs";
4
- import { y as logVoiceVerbose } from "./provider-D9EzOfG8.mjs";
5
- import { a as logDiscordVoiceAgentControlResult, c as formatVoiceLogPreview, i as handleDiscordVoiceAgentControlToolCall, l as shouldLogRealtimeVerboseEvent, n as DiscordRealtimeRecording, o as maybeControlDiscordVoiceAgentRun, r as formatVoiceIngressPrompt, s as formatRealtimeInfoLog } from "./voice-runtime-QlZJ4sHv.mjs";
4
+ import { y as logVoiceVerbose } from "./provider-CbmXLYrW.mjs";
5
+ import { a as logDiscordVoiceAgentControlResult, c as formatVoiceLogPreview, i as handleDiscordVoiceAgentControlToolCall, l as shouldLogRealtimeVerboseEvent, n as DiscordRealtimeRecording, o as maybeControlDiscordVoiceAgentRun, r as formatVoiceIngressPrompt, s as formatRealtimeInfoLog } from "./voice-runtime-BFEBhf2B.mjs";
6
6
  import { MessageChannel } from "node:worker_threads";
7
7
  import { formatErrorMessage, readErrorName, toErrorObject, toStringifiedError } from "openclaw/plugin-sdk/error-runtime";
8
8
  import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
@@ -0,0 +1,2 @@
1
+ export { t as discordSetupPlugin } from "./channel.setup-B3KEh05g.mjs";
2
+ import "../setup-plugin-api.js";
@@ -100,7 +100,7 @@ const DISCORD_LEGACY_CONFIG_RULES = [];
100
100
  //#region extensions/discord/src/shared.ts
101
101
  const DISCORD_CHANNEL = "discord";
102
102
  const livePolicyConfigPrefixes = Object.keys(selectDiscordLivePolicyConfig({})).flatMap((key) => [`channels.discord.${key}`, `channels.discord.accounts.*.${key}`]);
103
- const loadDiscordDoctorModule = createLazyRuntimeModule(() => import("./doctor-DSrNJ7m2.mjs"));
103
+ const loadDiscordDoctorModule = createLazyRuntimeModule(() => import("./doctor-9Ka20lDD.mjs"));
104
104
  const discordDoctor = {
105
105
  dmAllowFromMode: "topOnly",
106
106
  groupModel: "route",
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { ct as createThread, ft as getChannelMessage, t as discord_exports } from "./discord-BGqgx-yd.mjs";
3
- import { d as resolveDiscordReplyDeliveryPlan, f as resolveDiscordReplyTarget, g as sanitizeDiscordThreadName, h as resolveDiscordThreadStarter, j as resolveDiscordMessageChannelId, m as resolveDiscordThreadParentInfo, p as resolveDiscordThreadChannel } from "./transcripts-source-0qQYVu2H.mjs";
3
+ import { d as resolveDiscordReplyDeliveryPlan, f as resolveDiscordReplyTarget, g as sanitizeDiscordThreadName, h as resolveDiscordThreadStarter, j as resolveDiscordMessageChannelId, m as resolveDiscordThreadParentInfo, p as resolveDiscordThreadChannel } from "./transcripts-source-EMrQb132.mjs";
4
4
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
5
5
  import { buildAgentSessionKey } from "openclaw/plugin-sdk/routing";
6
6
  import { normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -2,7 +2,7 @@ import { l as resolveDiscordAccount, o as listEnabledDiscordAccounts, u as resol
2
2
  import { A as isDiscordThreadChannelType, D as getDiscordEndpointRuntime, f as resolveDiscordGuildEntry, i as normalizeDiscordAllowList, k as resolveDiscordEndpointMediaGuard, l as resolveDiscordChannelConfigWithFallback, n as hasConfiguredDiscordChannels, o as normalizeDiscordSlug, p as resolveDiscordMemberAccessState, r as isDiscordGroupAllowedByPolicy, t as allowListMatches } from "./allow-list-B_ToXtew.mjs";
3
3
  import { L as DiscordError, ft as getChannelMessage, t as discord_exports } from "./discord-BGqgx-yd.mjs";
4
4
  import { l as withAbortTimeout } from "./timeouts-CuNARfyw.mjs";
5
- import { t as resolveDiscordCommandOwnerAllowFrom } from "./command-owners-D78sAoOz.mjs";
5
+ import { t as resolveDiscordCommandOwnerAllowFrom } from "./command-owners-C7rUdqUX.mjs";
6
6
  import { a as resolveDiscordChannelParentSafe, i as resolveDiscordChannelParentIdSafe, n as resolveDiscordChannelInfoSafe, r as resolveDiscordChannelNameSafe, t as resolveDiscordChannelIdSafe } from "./channel-access-DasWY_OV.mjs";
7
7
  import { createSubsystemLogger, getChildLogger, logVerbose } from "openclaw/plugin-sdk/runtime-env";
8
8
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
@@ -5,8 +5,8 @@ import { f as VoiceStateUpdateListener, t as discord_exports, vt as getGuildVoic
5
5
  import { t as parseDiscordTarget } from "./target-parsing-C-HyNxcE.mjs";
6
6
  import { o as formatMention } from "./send.outbound-_jx4Xpd3.mjs";
7
7
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.mjs";
8
- import { C as buildDiscordGroupSystemPrompt, _ as isDiscordRealtimeVoiceMode, b as resolveDiscordVoiceMode, g as VOICE_RECONNECT_GRACE_MS, h as VOICE_CONNECT_READY_TIMEOUT_MS, m as MIN_SEGMENT_SECONDS, p as CAPTURE_FINALIZE_GRACE_MS, v as isVoiceChannel, x as resolveVoiceTimeoutMs, y as logVoiceVerbose } from "./provider-D9EzOfG8.mjs";
9
- import { a as authorizeDiscordVoiceIngress, c as resolveDiscordVoiceEnabled, o as resolveDiscordVoiceAccess, r as resolveDiscordTranscriptsCapture, s as resolveDiscordVoiceAccessTarget, t as bindDiscordCaptureReceipts } from "./transcripts-source-0qQYVu2H.mjs";
8
+ import { C as buildDiscordGroupSystemPrompt, _ as isDiscordRealtimeVoiceMode, b as resolveDiscordVoiceMode, g as VOICE_RECONNECT_GRACE_MS, h as VOICE_CONNECT_READY_TIMEOUT_MS, m as MIN_SEGMENT_SECONDS, p as CAPTURE_FINALIZE_GRACE_MS, v as isVoiceChannel, x as resolveVoiceTimeoutMs, y as logVoiceVerbose } from "./provider-CbmXLYrW.mjs";
9
+ import { a as authorizeDiscordVoiceIngress, c as resolveDiscordVoiceEnabled, o as resolveDiscordVoiceAccess, r as resolveDiscordTranscriptsCapture, s as resolveDiscordVoiceAccessTarget, t as bindDiscordCaptureReceipts } from "./transcripts-source-EMrQb132.mjs";
10
10
  import { Worker } from "node:worker_threads";
11
11
  import { PassThrough, Readable } from "node:stream";
12
12
  import { formatErrorMessage, readErrorName, toErrorObject, toStringifiedError } from "openclaw/plugin-sdk/error-runtime";
@@ -2677,7 +2677,7 @@ var DiscordVoiceSessions = class {
2677
2677
  ok: false,
2678
2678
  message: "Discord realtime voice session stopped before startup completed."
2679
2679
  };
2680
- const { DiscordRealtimeVoiceSession } = await import("./realtime-session.runtime-CxGBk8H-.mjs");
2680
+ const { DiscordRealtimeVoiceSession } = await import("./realtime-session.runtime-YCumnRSE.mjs");
2681
2681
  const realtime = new DiscordRealtimeVoiceSession({
2682
2682
  ...this.params,
2683
2683
  bootstrapContextInstructions,
@@ -1,2 +1 @@
1
- import { t as handleDiscordAction } from "./.setup/runtime-CRTkKU1G.mjs";
2
- export { handleDiscordAction };
1
+ export { t as handleDiscordAction } from "./.setup/runtime-CRTkKU1G.mjs";
package/dist/api.js CHANGED
@@ -7,19 +7,19 @@ import { n as resolveDiscordTarget } from "./.setup/target-resolver-Bse8fuTi.mjs
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 "./.setup/timeouts-CuNARfyw.mjs";
8
8
  import "./.setup/targets-DZJjkzwv.mjs";
9
9
  import { D as parseDiscordModalCustomIdForInteraction, E as parseDiscordModalCustomId, T as parseDiscordComponentCustomIdForInteraction, _ as DISCORD_COMPONENT_CUSTOM_ID_KEY, b as buildDiscordComponentCustomId, d as buildDiscordComponentMessage, f as buildDiscordComponentMessageFlags, g as resolveDiscordComponentAttachmentName, h as readDiscordComponentSpec, l as DiscordFormModal, n as formatDiscordComponentEventText, p as DISCORD_COMPONENT_ATTACHMENT_PREFIX, r as buildDiscordInteractiveComponents, u as createDiscordFormModal, v as DISCORD_MODAL_CUSTOM_ID_KEY, w as parseDiscordComponentCustomId, x as buildDiscordModalCustomId } from "./.setup/components-HN9052L1.mjs";
10
- import { D as isDiscordExecApprovalClientEnabled, E as isDiscordExecApprovalApprover, O as shouldSuppressLocalDiscordExecApprovalPrompt, T as getDiscordExecApprovalApprovers } from "./.setup/outbound-session-route-B0Hpwn3Q.mjs";
11
- import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./.setup/channel-DI7DMzu0.mjs";
10
+ import { D as isDiscordExecApprovalClientEnabled, E as isDiscordExecApprovalApprover, O as shouldSuppressLocalDiscordExecApprovalPrompt, T as getDiscordExecApprovalApprovers } from "./.setup/outbound-session-route-iwnu6IK8.mjs";
11
+ import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./.setup/channel-C24afwHP.mjs";
12
12
  import { t as normalizeExplicitDiscordSessionKey } from "./.setup/session-key-normalization-CCHGNSQw.mjs";
13
- import { t as discordSetupPlugin } from "./.setup/channel.setup-DdFVN1mr.mjs";
13
+ import { t as discordSetupPlugin } from "./.setup/channel.setup-B3KEh05g.mjs";
14
14
  import { n as handleDiscordSubagentEnded, t as handleDiscordSubagentDeliveryTarget } from "./.setup/subagent-hooks-CME7dSGf.mjs";
15
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./.setup/handle-action.guild-admin-CHKW6PIs.mjs";
15
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./.setup/handle-action.guild-admin-Aw-vutu3.mjs";
16
16
  import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./.setup/directory-config-3iVub-3m.mjs";
17
17
  import { t as fetchPluralKitMessageInfo } from "./.setup/pluralkit-B64dfq_j.mjs";
18
18
  import { i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, s as resolveDiscordPrivilegedIntentsFromFlags, t as fetchDiscordApplicationId } from "./.setup/probe-D3P1x4aN.mjs";
19
19
  import { t as collectDiscordSecurityAuditFindings } from "./.setup/security-audit-BFT84Uny.mjs";
20
20
  import { resolveOpenProviderRuntimeGroupPolicy as resolveDiscordRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
21
21
  //#region extensions/discord/api.ts
22
- const handleDiscordMessageAction = async (...args) => (await import("./.setup/handle-action-CXH1h1tq.mjs")).handleDiscordMessageAction(...args);
22
+ const handleDiscordMessageAction = async (...args) => (await import("./.setup/handle-action-CsQmpfGZ.mjs")).handleDiscordMessageAction(...args);
23
23
  /**
24
24
  * @deprecated Shipped `@openclaw/discord/api` compatibility only. Use native
25
25
  * `AbortSignal.any` after filtering optional signals. Removal with the next
@@ -1,2 +1 @@
1
- import { t as DiscordChannelConfigSchema } from "./.setup/config-schema-_uBILpQf.mjs";
2
- export { DiscordChannelConfigSchema };
1
+ export { t as DiscordChannelConfigSchema } from "./.setup/config-schema-_uBILpQf.mjs";
@@ -1,2 +1 @@
1
- import { t as discordPlugin } from "./.setup/channel-DI7DMzu0.mjs";
2
- export { discordPlugin };
1
+ export { t as discordPlugin } from "./.setup/channel-C24afwHP.mjs";
@@ -1,2 +1 @@
1
- import { t as deriveLegacySessionChatType } from "./.setup/session-contract-BO5tlIdl.mjs";
2
- export { deriveLegacySessionChatType };
1
+ export { t as deriveLegacySessionChatType } from "./.setup/session-contract-BO5tlIdl.mjs";
@@ -8,16 +8,16 @@ import { a as isAbortError, c as runDiscordTaskWithTimeout, i as DISCORD_DEFAULT
8
8
  import { c as readDiscordChannelMoveParams, i as requiredGuildPermissionForModerationAction, l as readDiscordParentIdParam, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./.setup/runtime-CRTkKU1G.mjs";
9
9
  import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./.setup/send.components-FxOS3CeP.mjs";
10
10
  import { r as setDiscordRuntime } from "./.setup/runtime-DgnVQ7zW.mjs";
11
- import { t as resolveDiscordOutboundSessionRoute, v as discordMessageActions } from "./.setup/outbound-session-route-B0Hpwn3Q.mjs";
11
+ import { t as resolveDiscordOutboundSessionRoute, v as discordMessageActions } from "./.setup/outbound-session-route-iwnu6IK8.mjs";
12
12
  import { F as resolveThreadBindingMaxAgeMs, M as resolveThreadBindingIdleTimeoutMs, N as resolveThreadBindingInactivityExpiresAt, P as resolveThreadBindingMaxAgeExpiresAt, r as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./.setup/thread-bindings.session-updates-DGSljVf6.mjs";
13
13
  import { t as resolveDiscordChannelAllowlist } from "./.setup/resolve-channels-UdT38DzU.mjs";
14
14
  import { t as resolveDiscordUserAllowlist } from "./.setup/resolve-users-DnCsrXZ_.mjs";
15
15
  import { c as resolveThreadBindingPersonaFromRecord, i as createNoopThreadBindingManager, n as getThreadBindingManager, s as resolveThreadBindingPersona, t as createThreadBindingManager } from "./.setup/thread-bindings.manager-CdNa6UIs.mjs";
16
16
  import { a as autoBindSpawnedDiscordSubagent, c as reconcileAcpThreadBindingsOnStartup, d as resolveDiscordThreadBindingIdleTimeoutMs, f as resolveDiscordThreadBindingMaxAgeMs, l as unbindThreadBindingsBySessionKey, n as resolveThreadBindingIntroText, o as listThreadBindingsBySessionKey, p as resolveThreadBindingsEnabled, r as resolveThreadBindingThreadName, s as listThreadBindingsForAccount, t as formatThreadBindingDurationLabel } from "./.setup/thread-bindings-0hPTSK14.mjs";
17
17
  import { i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, s as resolveDiscordPrivilegedIntentsFromFlags, t as fetchDiscordApplicationId } from "./.setup/probe-D3P1x4aN.mjs";
18
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./.setup/audit-zSawfbsN.mjs";
19
- import { S as createDiscordNativeCommand, a as waitForDiscordGatewayPluginRegistration, i as resolveDiscordGatewayIntents, k as registerDiscordListener, r as createDiscordGatewayPlugin, t as monitorDiscordProvider } from "./.setup/provider-D9EzOfG8.mjs";
20
- import { f as resolveDiscordReplyTarget, g as sanitizeDiscordThreadName } from "./.setup/transcripts-source-0qQYVu2H.mjs";
21
- import { t as createDiscordMessageHandler } from "./.setup/message-handler-Ii_etru1.mjs";
22
- import "./.setup/threading-BKe3E3tp.mjs";
18
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./.setup/audit-TGIPL0f_.mjs";
19
+ import { S as createDiscordNativeCommand, a as waitForDiscordGatewayPluginRegistration, i as resolveDiscordGatewayIntents, k as registerDiscordListener, r as createDiscordGatewayPlugin, t as monitorDiscordProvider } from "./.setup/provider-CbmXLYrW.mjs";
20
+ import { f as resolveDiscordReplyTarget, g as sanitizeDiscordThreadName } from "./.setup/transcripts-source-EMrQb132.mjs";
21
+ import { t as createDiscordMessageHandler } from "./.setup/message-handler-C_BQFYCW.mjs";
22
+ import "./.setup/threading-BWz5lW0p.mjs";
23
23
  export { DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, DiscordSendError, addRoleDiscord, allowListMatches, auditDiscordChannelPermissions, autoBindSpawnedDiscordSubagent, banMemberDiscord, clearGateways, clearPresences, collectDiscordAuditChannelIds, createChannelDiscord, createDiscordGatewayPlugin, createDiscordMessageHandler, createDiscordNativeCommand, createNoopThreadBindingManager, createScheduledEventDiscord, createThreadBindingManager, createThreadDiscord, deleteChannelDiscord, deleteMessageDiscord, discordMessageActions, editChannelDiscord, editDiscordComponentMessage, editMessageDiscord, fetchChannelInfoDiscord, fetchChannelPermissionsDiscord, fetchDiscordApplicationId, fetchDiscordApplicationSummary, fetchMemberGuildPermissionsDiscord, fetchMemberInfoDiscord, fetchMessageDiscord, fetchReactionsDiscord, fetchRoleInfoDiscord, fetchVoiceStatusDiscord, formatThreadBindingDurationLabel, getGateway, getPresence, getThreadBindingManager, handleDiscordAction, hasAllGuildPermissionsDiscord, hasAnyGuildPermissionDiscord, isAbortError, isDiscordGroupAllowedByPolicy, isDiscordModerationAction, kickMemberDiscord, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, listGuildChannelsDiscord, listGuildEmojisDiscord, listPinsDiscord, listScheduledEventsDiscord, listThreadBindingsBySessionKey, listThreadBindingsForAccount, listThreadsDiscord, monitorDiscordProvider, moveChannelDiscord, normalizeDiscordAllowList, normalizeDiscordInboundWorkerTimeoutMs, normalizeDiscordListenerTimeoutMs, normalizeDiscordSlug, parseApplicationIdFromToken, pinMessageDiscord, presenceCacheSize, probeDiscord, reactMessageDiscord, readDiscordChannelCreateParams, readDiscordChannelEditParams, readDiscordChannelMoveParams, readDiscordModerationCommand, readDiscordParentIdParam, readMessagesDiscord, reconcileAcpThreadBindingsOnStartup, registerBuiltDiscordComponentMessage, registerDiscordListener, registerGateway, removeChannelPermissionDiscord, removeOwnReactionsDiscord, removeReactionDiscord, removeRoleDiscord, requiredGuildPermissionForModerationAction, resolveDiscordChannelAllowlist, resolveDiscordChannelConfig, resolveDiscordChannelConfigWithFallback, resolveDiscordCommandAuthorized, resolveDiscordGatewayIntents, resolveDiscordGuildEntry, resolveDiscordOutboundSessionRoute, resolveDiscordPrivilegedIntentsFromFlags, resolveDiscordReplyTarget, resolveDiscordShouldRequireMention, resolveDiscordThreadBindingIdleTimeoutMs, resolveDiscordThreadBindingMaxAgeMs, resolveDiscordUserAllowlist, resolveEventCoverImage, resolveGroupDmAllow, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingInactivityExpiresAt, resolveThreadBindingIntroText, resolveThreadBindingMaxAgeExpiresAt, resolveThreadBindingMaxAgeMs, resolveThreadBindingPersona, resolveThreadBindingPersonaFromRecord, resolveThreadBindingThreadName, resolveThreadBindingsEnabled, runDiscordTaskWithTimeout, sanitizeDiscordThreadName, searchMessagesDiscord, sendDiscordComponentMessage, sendMessageDiscord, sendPollDiscord, sendStickerDiscord, sendTypingDiscord, sendVoiceMessageDiscord, sendWebhookMessageDiscord, setChannelPermissionDiscord, setDiscordRuntime, setPresence, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, shouldEmitDiscordReactionNotification, timeoutMemberDiscord, unbindThreadBindingsBySessionKey, unpinMessageDiscord, unregisterGateway, uploadEmojiDiscord, uploadStickerDiscord, waitForDiscordGatewayPluginRegistration };
@@ -1,2 +1 @@
1
- import { r as setDiscordRuntime } from "./.setup/runtime-DgnVQ7zW.mjs";
2
- export { setDiscordRuntime };
1
+ export { r as setDiscordRuntime } from "./.setup/runtime-DgnVQ7zW.mjs";
@@ -1,2 +1 @@
1
- import { r as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./.setup/secret-config-contract-CIsH7R3B.mjs";
2
- export { collectRuntimeConfigAssignments, secretTargetRegistryEntries };
1
+ export { t as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./.setup/secret-config-contract-CIsH7R3B.mjs";
@@ -1,2 +1 @@
1
- import { t as collectDiscordSecurityAuditFindings } from "./.setup/security-audit-BFT84Uny.mjs";
2
- export { collectDiscordSecurityAuditFindings };
1
+ export { t as collectDiscordSecurityAuditFindings } from "./.setup/security-audit-BFT84Uny.mjs";
@@ -1,2 +1 @@
1
- import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./.setup/security-contract-DNyyjTZZ.mjs";
2
- export { collectUnsupportedSecretRefConfigCandidates, unsupportedSecretRefSurfacePatterns };
1
+ export { t as collectUnsupportedSecretRefConfigCandidates, n as unsupportedSecretRefSurfacePatterns } from "./.setup/security-contract-DNyyjTZZ.mjs";
@@ -1,2 +1 @@
1
- import { t as normalizeExplicitDiscordSessionKey } from "./.setup/session-key-normalization-CCHGNSQw.mjs";
2
- export { normalizeExplicitDiscordSessionKey };
1
+ export { t as normalizeExplicitDiscordSessionKey } from "./.setup/session-key-normalization-CCHGNSQw.mjs";
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/setup-plugin-api-xfOFmxHP.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/setup-plugin-api-BFl2FljJ.mjs", import.meta.url).href),
8
8
  exportName: "discordSetupPlugin"
9
9
  }
10
10
  });
@@ -1,2 +1 @@
1
- import { t as discordSetupPlugin } from "./.setup/channel.setup-DdFVN1mr.mjs";
2
- export { discordSetupPlugin };
1
+ export { t as discordSetupPlugin } from "./.setup/channel.setup-B3KEh05g.mjs";
@@ -1,2 +1 @@
1
- import { t as defaultTopLevelPlacement } from "./.setup/thread-binding-api-BDZJD4na.mjs";
2
- export { defaultTopLevelPlacement };
1
+ export { t as defaultTopLevelPlacement } from "./.setup/thread-binding-api-BDZJD4na.mjs";
@@ -1,4 +1,4 @@
1
- import { n as discordVoiceTranscriptsSourceProvider } from "./.setup/transcripts-source-0qQYVu2H.mjs";
1
+ import { n as discordVoiceTranscriptsSourceProvider } from "./.setup/transcripts-source-EMrQb132.mjs";
2
2
  //#region extensions/discord/transcripts-source-api.ts
3
3
  function registerDiscordTranscriptSourceProvider(api) {
4
4
  api.registerTranscriptSourceProvider(discordVoiceTranscriptsSourceProvider);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/discord",
3
- "version": "2026.10.5-beta.3",
3
+ "version": "2026.10.5",
4
4
  "description": "OpenClaw Discord channel plugin for channels, DMs, commands, and app events.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "zod": "4.6.5"
20
20
  },
21
21
  "peerDependencies": {
22
- "openclaw": ">=2026.10.5-beta.3"
22
+ "openclaw": ">=2026.10.5"
23
23
  },
24
24
  "peerDependenciesMeta": {
25
25
  "openclaw": {
@@ -95,14 +95,14 @@
95
95
  "allowInvalidConfigRecovery": true
96
96
  },
97
97
  "compat": {
98
- "pluginApi": ">=2026.10.5-beta.3"
98
+ "pluginApi": ">=2026.10.5"
99
99
  },
100
100
  "build": {
101
101
  "bundledDist": false,
102
102
  "workerEntries": [
103
103
  "./src/voice/audio-worker.runtime.ts"
104
104
  ],
105
- "openclawVersion": "2026.10.5-beta.3",
105
+ "openclawVersion": "2026.10.5",
106
106
  "staticAssets": [
107
107
  {
108
108
  "source": "./assets/embedded-app-sdk.mjs",
@@ -1,2 +0,0 @@
1
- import { t as monitorDiscordProvider } from "./provider-D9EzOfG8.mjs";
2
- export { monitorDiscordProvider };
@@ -1,3 +0,0 @@
1
- import { t as discordSetupPlugin } from "./channel.setup-DdFVN1mr.mjs";
2
- import "../setup-plugin-api.js";
3
- export { discordSetupPlugin };