@openclaw/discord 2026.5.22 → 2026.5.24-beta.2

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 (65) hide show
  1. package/dist/action-runtime-api.js +1 -1
  2. package/dist/api.js +12 -12
  3. package/dist/{approval-handler.runtime-CyGGSiMH.js → approval-handler.runtime-DFRH9nZ4.js} +3 -3
  4. package/dist/{audit-DkBvCBsG.js → audit-D3I68CWK.js} +3 -3
  5. package/dist/{channel-LszCFESI.js → channel-DMgQbhnj.js} +24 -29
  6. package/dist/{channel-actions-DDwcJy6_.js → channel-actions-Cm0QHxsv.js} +2 -2
  7. package/dist/{channel-actions.runtime-CnwxnT58.js → channel-actions.runtime-BP_VU815.js} +5 -5
  8. package/dist/channel-config-api.js +1 -1
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.setup-rrsenw1h.js → channel.setup-Dh16wwV9.js} +3 -3
  11. package/dist/{components-CE63uOrc.js → components-BCxyMNaH.js} +1 -1
  12. package/dist/{config-schema-Kuf9IrLg.js → config-schema-DordNAyp.js} +8 -0
  13. package/dist/contract-api.js +2 -2
  14. package/dist/{conversation-identity-jwZ56ing.js → conversation-identity-CzE0g3tC.js} +2 -2
  15. package/dist/{directory-config-Do_NA_H8.js → directory-config-CkL6nnqZ.js} +1 -1
  16. package/dist/directory-contract-api.js +1 -1
  17. package/dist/{directory-live-DekuEEl8.js → directory-live-DZeXDKJ_.js} +1 -1
  18. package/dist/{doctor-DmPhrTLR.js → doctor-ymCgy8yc.js} +1 -1
  19. package/dist/{handle-action.guild-admin-09HC30Oh.js → handle-action.guild-admin-ozP4Jj--.js} +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/{manager.runtime-DPtx2pxB.js → manager.runtime-DfmiNzKh.js} +468 -76
  22. package/dist/meeting-notes-source-api.js +2 -0
  23. package/dist/meeting-notes-source-dVTfnnBi.js +123 -0
  24. package/dist/{message-handler-miSYjwxl.js → message-handler-ix5OBBs1.js} +6 -6
  25. package/dist/{message-handler.preflight-DiLKljGS.js → message-handler.preflight-BHR7pKU1.js} +10 -10
  26. package/dist/{message-handler.process-BKvQTmVP.js → message-handler.process-BheSnevd.js} +9 -9
  27. package/dist/{message-utils-U-ax3LTX.js → message-utils-CEaELqGw.js} +1 -1
  28. package/dist/{outbound-adapter-CF4KuNM6.js → outbound-adapter-BVTo8aVg.js} +6 -6
  29. package/dist/{pluralkit-sQLfeyIZ.js → pluralkit-BX81hJh4.js} +1 -1
  30. package/dist/{provider-Bv9Sx9lq.js → provider-CPLDWYC9.js} +26 -16
  31. package/dist/{provider-session.runtime-BbEz2CZt.js → provider-session.runtime-CwgJI6LP.js} +3 -3
  32. package/dist/provider.runtime-DnKAm3Kg.js +2 -0
  33. package/dist/{resolve-channels-BDjtLmjX.js → resolve-channels-BQl2WT8v.js} +1 -1
  34. package/dist/{resolve-users-BeaV5INm.js → resolve-users-CqW9vVcr.js} +1 -1
  35. package/dist/{runtime-DxQPyNY7.js → runtime-ZBAq7Trm.js} +7 -7
  36. package/dist/runtime-api.actions.js +2 -2
  37. package/dist/runtime-api.js +18 -18
  38. package/dist/runtime-api.lookup.js +4 -4
  39. package/dist/runtime-api.monitor-CN7g_Kp7.js +5 -0
  40. package/dist/runtime-api.monitor.js +4 -4
  41. package/dist/runtime-api.send.js +5 -5
  42. package/dist/runtime-api.threads.js +3 -3
  43. package/dist/{send-BjHCUrvn.js → send-CVjV4H6l.js} +3 -3
  44. package/dist/{send.components-BcCQ27av.js → send.components-BpnERIQ0.js} +4 -4
  45. package/dist/{send.outbound-CyvhKilL.js → send.outbound-CWhhKank.js} +3 -3
  46. package/dist/{send.receipt-spSPAC77.js → send.receipt--EtaMe11.js} +1 -1
  47. package/dist/{send.shared-C3uAu6bc.js → send.shared-CsGHs6ft.js} +2 -2
  48. package/dist/setup-plugin-api.js +1 -1
  49. package/dist/{shared-CgAcqTsg.js → shared-DFP_4nlg.js} +2 -2
  50. package/dist/{subagent-hooks-DehrqnoK.js → subagent-hooks-BLRmOFEa.js} +2 -2
  51. package/dist/subagent-hooks-api.js +1 -1
  52. package/dist/{system-events-HgHeiMHg.js → system-events-sMHIu6aa.js} +1 -1
  53. package/dist/{target-resolver-squYahVm.js → target-resolver-QZP1tC8H.js} +3 -3
  54. package/dist/targets-DRvCCf1i.js +3 -0
  55. package/dist/test-api.js +3 -3
  56. package/dist/{thread-bindings-BD9jKFo5.js → thread-bindings-DeBPNv4D.js} +4 -4
  57. package/dist/{thread-bindings.discord-api-D2EF_9XS.js → thread-bindings.discord-api-CaiGJbEP.js} +4 -4
  58. package/dist/{thread-bindings.manager-AEGKdE3O.js → thread-bindings.manager-ANA-Hk_y.js} +3 -3
  59. package/dist/{typing-DUUjLsPr.js → typing-tLlUYdt6.js} +1 -1
  60. package/npm-shrinkwrap.json +3 -3
  61. package/openclaw.plugin.json +33 -0
  62. package/package.json +4 -4
  63. package/dist/provider.runtime-DKBGMsC7.js +0 -2
  64. package/dist/runtime-api.monitor-Wt6Qf0SL.js +0 -5
  65. package/dist/targets-BeetkGO0.js +0 -3
@@ -1,6 +1,6 @@
1
1
  import { C as resolveThreadBindingMaxAgeMs, S as resolveThreadBindingMaxAgeExpiresAt, b as resolveThreadBindingIdleTimeoutMs, l as isRecentlyUnboundThreadWebhookMessage, x as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-BsOnj5NX.js";
2
2
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-D5gY2ZTE.js";
3
- import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-D2EF_9XS.js";
4
- import { a as reconcileAcpThreadBindingsOnStartup, c as resolveDiscordThreadBindingMaxAgeMs, i as listThreadBindingsForAccount, l as resolveThreadBindingsEnabled, n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey, s as resolveDiscordThreadBindingIdleTimeoutMs } from "./thread-bindings-BD9jKFo5.js";
5
- import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-AEGKdE3O.js";
3
+ import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-CaiGJbEP.js";
4
+ import { a as reconcileAcpThreadBindingsOnStartup, c as resolveDiscordThreadBindingMaxAgeMs, i as listThreadBindingsForAccount, l as resolveThreadBindingsEnabled, n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey, s as resolveDiscordThreadBindingIdleTimeoutMs } from "./thread-bindings-DeBPNv4D.js";
5
+ import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-ANA-Hk_y.js";
6
6
  export { testing as __testing, testing, autoBindSpawnedDiscordSubagent, createNoopThreadBindingManager, createThreadBindingManager, formatThreadBindingDurationLabel, getThreadBindingManager, isRecentlyUnboundThreadWebhookMessage, listThreadBindingsBySessionKey, listThreadBindingsForAccount, reconcileAcpThreadBindingsOnStartup, resolveDiscordThreadBindingIdleTimeoutMs, resolveDiscordThreadBindingMaxAgeMs, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingInactivityExpiresAt, resolveThreadBindingIntroText, resolveThreadBindingMaxAgeExpiresAt, resolveThreadBindingMaxAgeMs, resolveThreadBindingPersona, resolveThreadBindingPersonaFromRecord, resolveThreadBindingThreadName, resolveThreadBindingsEnabled, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, unbindThreadBindingsBySessionKey };
@@ -1,7 +1,7 @@
1
- import { At as getGuildMember, Bt as removeGuildMemberRole, C as RateLimitError, Ct as createGuildBan, Dt as createGuildSticker, E as readRetryAfter, Et as createGuildScheduledEvent, Ft as listGuildRoles, It as listGuildScheduledEvents, Lt as moveGuildChannels, Mt as listGuildActiveThreads, Nt as listGuildChannels, Ot as deleteChannelPermission, Pt as listGuildEmojis, Rt as putChannelPermission, S as DiscordError, St as addGuildMemberRole, T as readDiscordMessage, Tt as createGuildEmoji, Vt as timeoutGuildMember, Wt as __exportAll, _t as listChannelPins, at as deleteOwnMessageReaction, bt as sendChannelTyping, ct as createThread, dt as editChannel, ft as editChannelMessage, gt as listChannelMessages, ht as listChannelArchivedThreads, it as createOwnMessageReaction, jt as getGuildVoiceState, kt as getGuild, lt as deleteChannel, mt as getChannelMessage, n as createDiscordSendResult, ot as listMessageReactionUsers, pt as getChannel, st as createChannelMessage, ut as deleteChannelMessage, vt as pinChannelMessage, w as readDiscordCode, wt as createGuildChannel, xt as unpinChannelMessage, yt as searchGuildMessages, zt as removeGuildMember } from "./send.receipt-spSPAC77.js";
1
+ import { At as getGuildMember, Bt as removeGuildMemberRole, C as RateLimitError, Ct as createGuildBan, Dt as createGuildSticker, E as readRetryAfter, Et as createGuildScheduledEvent, Ft as listGuildRoles, It as listGuildScheduledEvents, Lt as moveGuildChannels, Mt as listGuildActiveThreads, Nt as listGuildChannels, Ot as deleteChannelPermission, Pt as listGuildEmojis, Rt as putChannelPermission, S as DiscordError, St as addGuildMemberRole, T as readDiscordMessage, Tt as createGuildEmoji, Vt as timeoutGuildMember, Wt as __exportAll, _t as listChannelPins, at as deleteOwnMessageReaction, bt as sendChannelTyping, ct as createThread, dt as editChannel, ft as editChannelMessage, gt as listChannelMessages, ht as listChannelArchivedThreads, it as createOwnMessageReaction, jt as getGuildVoiceState, kt as getGuild, lt as deleteChannel, mt as getChannelMessage, n as createDiscordSendResult, ot as listMessageReactionUsers, pt as getChannel, st as createChannelMessage, ut as deleteChannelMessage, vt as pinChannelMessage, w as readDiscordCode, wt as createGuildChannel, xt as unpinChannelMessage, yt as searchGuildMessages, zt as removeGuildMember } from "./send.receipt--EtaMe11.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
- import { C as DISCORD_MAX_STICKER_BYTES, D as fetchMemberGuildPermissionsDiscord, E as fetchChannelPermissionsDiscord, F as resolveDiscordClientAccountContext, I as resolveDiscordRest, M as createDiscordClient, O as hasAllGuildPermissionsDiscord, S as DISCORD_MAX_EVENT_COVER_BYTES, T as canViewDiscordGuildChannel, i as formatReactionEmoji, j as parseAndResolveRecipient, k as hasAnyGuildPermissionDiscord, l as resolveChannelId, o as normalizeEmojiName, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, w as DiscordSendError, x as DISCORD_MAX_EMOJI_BYTES } from "./send.shared-C3uAu6bc.js";
4
- import { a as rewriteDiscordKnownMentions, n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-CyvhKilL.js";
3
+ import { C as DISCORD_MAX_STICKER_BYTES, D as fetchMemberGuildPermissionsDiscord, E as fetchChannelPermissionsDiscord, F as resolveDiscordClientAccountContext, I as resolveDiscordRest, M as createDiscordClient, O as hasAllGuildPermissionsDiscord, S as DISCORD_MAX_EVENT_COVER_BYTES, T as canViewDiscordGuildChannel, i as formatReactionEmoji, j as parseAndResolveRecipient, k as hasAnyGuildPermissionDiscord, l as resolveChannelId, o as normalizeEmojiName, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, w as DiscordSendError, x as DISCORD_MAX_EMOJI_BYTES } from "./send.shared-CsGHs6ft.js";
4
+ import { a as rewriteDiscordKnownMentions, n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-CWhhKank.js";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { ChannelType } from "discord-api-types/v10";
7
7
  import crypto from "node:crypto";
@@ -1,10 +1,10 @@
1
- import { M as serializePayload, Wt as __exportAll, ft as editChannelMessage, n as createDiscordSendResult, st as createChannelMessage } from "./send.receipt-spSPAC77.js";
1
+ import { M as serializePayload, Wt as __exportAll, ft as editChannelMessage, n as createDiscordSendResult, st as createChannelMessage } from "./send.receipt--EtaMe11.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
3
  import "./config-api-JiPdJeb0.js";
4
4
  import "./channel-api-CAJ0wMoV.js";
5
- import { c as buildDiscordComponentMessage, f as resolveDiscordComponentAttachmentName, l as buildDiscordComponentMessageFlags } from "./components-CE63uOrc.js";
6
- import { M as createDiscordClient, b as stripUndefinedFields, h as SUPPRESS_NOTIFICATIONS_FLAG, j as parseAndResolveRecipient, l as resolveChannelId, m as toDiscordFileBlob, t as buildDiscordSendError, u as resolveDiscordChannelType } from "./send.shared-C3uAu6bc.js";
7
- import { t as sendMessageDiscord } from "./send.outbound-CyvhKilL.js";
5
+ import { c as buildDiscordComponentMessage, f as resolveDiscordComponentAttachmentName, l as buildDiscordComponentMessageFlags } from "./components-BCxyMNaH.js";
6
+ import { M as createDiscordClient, b as stripUndefinedFields, h as SUPPRESS_NOTIFICATIONS_FLAG, j as parseAndResolveRecipient, l as resolveChannelId, m as toDiscordFileBlob, t as buildDiscordSendError, u as resolveDiscordChannelType } from "./send.shared-CsGHs6ft.js";
7
+ import { t as sendMessageDiscord } from "./send.outbound-CWhhKank.js";
8
8
  import { n as getOptionalDiscordRuntime } from "./runtime-DgnVQ7zW.js";
9
9
  import "openclaw/plugin-sdk/account-id";
10
10
  import "openclaw/plugin-sdk/secret-input";
@@ -1,7 +1,7 @@
1
- import { ct as createThread, n as createDiscordSendResult, st as createChannelMessage } from "./send.receipt-spSPAC77.js";
1
+ import { ct as createThread, n as createDiscordSendResult, st as createChannelMessage } from "./send.receipt--EtaMe11.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
- import { M as createDiscordClient, _ as resolveDiscordMessageFlags, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, g as buildDiscordMessageRequest, j as parseAndResolveRecipient, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannelType, v as resolveDiscordSendComponents, y as resolveDiscordSendEmbeds } from "./send.shared-C3uAu6bc.js";
4
- import { a as resolveDiscordDirectoryUserId } from "./directory-live-DekuEEl8.js";
3
+ import { M as createDiscordClient, _ as resolveDiscordMessageFlags, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, g as buildDiscordMessageRequest, j as parseAndResolveRecipient, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannelType, v as resolveDiscordSendComponents, y as resolveDiscordSendEmbeds } from "./send.shared-CsGHs6ft.js";
4
+ import { a as resolveDiscordDirectoryUserId } from "./directory-live-DZeXDKJ_.js";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { ChannelType } from "discord-api-types/v10";
7
7
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
@@ -1,5 +1,5 @@
1
1
  import "node:module";
2
- import { buildMessagingTarget, parseMentionPrefixOrAtUserTarget, requireTargetKind } from "openclaw/plugin-sdk/messaging-targets";
2
+ import { buildMessagingTarget, parseMentionPrefixOrAtUserTarget, requireTargetKind } from "openclaw/plugin-sdk/channel-targets";
3
3
  import { ApplicationCommandOptionType, ApplicationCommandType, ButtonStyle, ComponentType, GatewayDispatchEvents, InteractionContextType, InteractionResponseType, InteractionType, MessageFlags, Routes, TextInputStyle } from "discord-api-types/v10";
4
4
  import { createHash, randomBytes } from "node:crypto";
5
5
  import path from "node:path";
@@ -1,6 +1,6 @@
1
- import { At as getGuildMember, C as RateLimitError, M as serializePayload, kt as getGuild, nt as createUserDmChannel, pt as getChannel, rt as getCurrentUser, s as chunkDiscordTextWithMode, st as createChannelMessage, v as Embed, x as RequestClient } from "./send.receipt-spSPAC77.js";
1
+ import { At as getGuildMember, C as RateLimitError, M as serializePayload, kt as getGuild, nt as createUserDmChannel, pt as getChannel, rt as getCurrentUser, s as chunkDiscordTextWithMode, st as createChannelMessage, v as Embed, x as RequestClient } from "./send.receipt--EtaMe11.js";
2
2
  import { a as mergeDiscordAccountConfig, p as normalizeDiscordToken, s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
- import { t as parseAndResolveDiscordTarget } from "./target-resolver-squYahVm.js";
3
+ import { t as parseAndResolveDiscordTarget } from "./target-resolver-QZP1tC8H.js";
4
4
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
6
6
  import { ChannelType, MessageFlags, PermissionFlagsBits } from "discord-api-types/v10";
@@ -1,2 +1,2 @@
1
- import { t as discordSetupPlugin } from "./channel.setup-rrsenw1h.js";
1
+ import { t as discordSetupPlugin } from "./channel.setup-Dh16wwV9.js";
2
2
  export { discordSetupPlugin };
@@ -1,7 +1,7 @@
1
1
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, d as resolveDiscordAccountDmPolicy, n as isDiscordAccountEnabledForRuntime, o as resolveDefaultDiscordAccountId, r as listDiscordAccountIds, s as resolveDiscordAccount, u as resolveDiscordAccountDisabledReason } from "./accounts-dXTfmnSZ.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-C4sJZNbI.js";
3
3
  import { i as getChatChannelMeta, o as resolveConfiguredFromCredentialStatuses } from "./channel-api-CAJ0wMoV.js";
4
- import { t as DiscordChannelConfigSchema } from "./config-schema-Kuf9IrLg.js";
4
+ import { t as DiscordChannelConfigSchema } from "./config-schema-DordNAyp.js";
5
5
  import { n as normalizeCompatibilityConfig } from "./doctor-contract-Bia3BmP_.js";
6
6
  import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-BjM-1hr9.js";
7
7
  import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-DSHk7I2w.js";
@@ -71,7 +71,7 @@ const DISCORD_LEGACY_CONFIG_RULES = [];
71
71
  const DISCORD_CHANNEL = "discord";
72
72
  let discordDoctorModulePromise;
73
73
  async function loadDiscordDoctorModule() {
74
- discordDoctorModulePromise ??= import("./doctor-DmPhrTLR.js");
74
+ discordDoctorModulePromise ??= import("./doctor-ymCgy8yc.js");
75
75
  return await discordDoctorModulePromise;
76
76
  }
77
77
  const discordDoctor = {
@@ -1,6 +1,6 @@
1
- import { Wt as __exportAll } from "./send.receipt-spSPAC77.js";
1
+ import { Wt as __exportAll } from "./send.receipt--EtaMe11.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
- import { n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey } from "./thread-bindings-BD9jKFo5.js";
3
+ import { n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey } from "./thread-bindings-DeBPNv4D.js";
4
4
  import { normalizeOptionalLowercaseString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { formatThreadBindingDisabledError, formatThreadBindingSpawnDisabledError, resolveThreadBindingSpawnPolicy } from "openclaw/plugin-sdk/conversation-runtime";
6
6
  //#region extensions/discord/src/subagent-hooks.ts
@@ -1,7 +1,7 @@
1
1
  //#region extensions/discord/subagent-hooks-api.ts
2
2
  let discordSubagentHooksPromise = null;
3
3
  function loadDiscordSubagentHooksModule() {
4
- discordSubagentHooksPromise ??= import("./subagent-hooks-DehrqnoK.js").then((n) => n.i);
4
+ discordSubagentHooksPromise ??= import("./subagent-hooks-BLRmOFEa.js").then((n) => n.i);
5
5
  return discordSubagentHooksPromise;
6
6
  }
7
7
  function registerDiscordSubagentHooks(api) {
@@ -1,4 +1,4 @@
1
- import { c as discord_exports } from "./send.receipt-spSPAC77.js";
1
+ import { c as discord_exports } from "./send.receipt--EtaMe11.js";
2
2
  import { b as formatDiscordUserTag } from "./allow-list-BnkWtVpA.js";
3
3
  //#region extensions/discord/src/monitor/system-events.ts
4
4
  function resolveDiscordSystemEvent(message, location) {
@@ -1,7 +1,7 @@
1
- import { Ht as parseDiscordTarget, Wt as __exportAll, r as allowFromContainsDiscordUserId } from "./send.receipt-spSPAC77.js";
1
+ import { Ht as parseDiscordTarget, Wt as __exportAll, r as allowFromContainsDiscordUserId } from "./send.receipt--EtaMe11.js";
2
2
  import { c as resolveDiscordAccountAllowFrom, s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
- import { i as rememberDiscordDirectoryUser, r as listDiscordDirectoryPeersLive } from "./directory-live-DekuEEl8.js";
4
- import { buildMessagingTarget } from "openclaw/plugin-sdk/messaging-targets";
3
+ import { i as rememberDiscordDirectoryUser, r as listDiscordDirectoryPeersLive } from "./directory-live-DZeXDKJ_.js";
4
+ import { buildMessagingTarget } from "openclaw/plugin-sdk/channel-targets";
5
5
  //#region extensions/discord/src/send-target-parsing.ts
6
6
  const parseDiscordSendTarget = (raw, options = {}) => parseDiscordTarget(raw, options);
7
7
  //#endregion
@@ -0,0 +1,3 @@
1
+ import "./send.receipt--EtaMe11.js";
2
+ import "./target-resolver-QZP1tC8H.js";
3
+ export {};
package/dist/test-api.js CHANGED
@@ -1,6 +1,6 @@
1
- import { t as discordPlugin } from "./channel-LszCFESI.js";
2
- import { n as discordOutbound } from "./outbound-adapter-CF4KuNM6.js";
3
- import { i as testing } from "./thread-bindings.manager-AEGKdE3O.js";
1
+ import { t as discordPlugin } from "./channel-DMgQbhnj.js";
2
+ import { n as discordOutbound } from "./outbound-adapter-BVTo8aVg.js";
3
+ import { i as testing } from "./thread-bindings.manager-ANA-Hk_y.js";
4
4
  import { n as buildDiscordInboundAccessContext } from "./inbound-context-B5EsqsSr.js";
5
5
  import { finalizeInboundContext } from "openclaw/plugin-sdk/reply-dispatch-runtime";
6
6
  //#region extensions/discord/src/monitor/inbound-context.test-helpers.ts
@@ -1,9 +1,9 @@
1
- import { Ht as parseDiscordTarget, Wt as __exportAll } from "./send.receipt-spSPAC77.js";
2
- import "./targets-BeetkGO0.js";
1
+ import { Ht as parseDiscordTarget, Wt as __exportAll } from "./send.receipt--EtaMe11.js";
2
+ import "./targets-DRvCCf1i.js";
3
3
  import { C as resolveThreadBindingMaxAgeMs$1, O as shouldPersistBindingMutations, S as resolveThreadBindingMaxAgeExpiresAt, T as saveBindingsToDisk, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingToken, f as normalizeThreadId, g as removeBindingRecord, l as isRecentlyUnboundThreadWebhookMessage, n as MANAGERS_BY_ACCOUNT_ID, p as rememberRecentUnboundWebhookEcho, t as BINDINGS_BY_THREAD_ID, x as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-BsOnj5NX.js";
4
4
  import { n as setThreadBindingMaxAgeBySessionKey, r as resolveBindingIdsForTargetSession, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-D5gY2ZTE.js";
5
- import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, s as resolveChannelIdForBinding, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-D2EF_9XS.js";
6
- import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-AEGKdE3O.js";
5
+ import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, s as resolveChannelIdForBinding, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-CaiGJbEP.js";
6
+ import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-ANA-Hk_y.js";
7
7
  import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
9
9
  import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
@@ -1,7 +1,7 @@
1
- import { Ut as resolveDiscordChannelId, pt as getChannel, tt as createChannelWebhook } from "./send.receipt-spSPAC77.js";
2
- import { N as createDiscordRestClient } from "./send.shared-C3uAu6bc.js";
3
- import { c as sendWebhookMessageDiscord, u as createThreadDiscord } from "./send-BjHCUrvn.js";
4
- import { t as sendMessageDiscord } from "./send.outbound-CyvhKilL.js";
1
+ import { Ut as resolveDiscordChannelId, pt as getChannel, tt as createChannelWebhook } from "./send.receipt--EtaMe11.js";
2
+ import { N as createDiscordRestClient } from "./send.shared-CsGHs6ft.js";
3
+ import { c as sendWebhookMessageDiscord, u as createThreadDiscord } from "./send-CVjV4H6l.js";
4
+ import { t as sendMessageDiscord } from "./send.outbound-CWhhKank.js";
5
5
  import { i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, k as toReusableWebhookKey, m as rememberReusableWebhook, t as BINDINGS_BY_THREAD_ID } from "./thread-bindings.state-BsOnj5NX.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { ChannelType } from "discord-api-types/v10";
@@ -1,7 +1,7 @@
1
- import { Ut as resolveDiscordChannelId, Wt as __exportAll, pt as getChannel } from "./send.receipt-spSPAC77.js";
2
- import { N as createDiscordRestClient } from "./send.shared-C3uAu6bc.js";
1
+ import { Ut as resolveDiscordChannelId, Wt as __exportAll, pt as getChannel } from "./send.receipt--EtaMe11.js";
2
+ import { N as createDiscordRestClient } from "./send.shared-CsGHs6ft.js";
3
3
  import { A as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, C as resolveThreadBindingMaxAgeMs$1, D as shouldDefaultPersist, E as setBindingRecord, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, S as resolveThreadBindingMaxAgeExpiresAt, T as saveBindingsToDisk, _ as resetThreadBindingsForTests, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingToken, d as normalizeThreadBindingDurationMs, f as normalizeThreadId, g as removeBindingRecord, h as rememberThreadBindingToken, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as rememberRecentUnboundWebhookEcho, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, u as normalizeTargetKind, v as resolveBindingIdsForSession, w as resolveThreadBindingsPath, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-BsOnj5NX.js";
4
- import { a as isThreadArchived, b as resolveThreadBindingThreadName, c as summarizeDiscordError, i as isDiscordThreadGoneError, n as createWebhookForChannel, o as maybeSendBindingMessage, r as findReusableWebhook, s as resolveChannelIdForBinding, t as createThreadForBinding, v as resolveThreadBindingFarewellText } from "./thread-bindings.discord-api-D2EF_9XS.js";
4
+ import { a as isThreadArchived, b as resolveThreadBindingThreadName, c as summarizeDiscordError, i as isDiscordThreadGoneError, n as createWebhookForChannel, o as maybeSendBindingMessage, r as findReusableWebhook, s as resolveChannelIdForBinding, t as createThreadForBinding, v as resolveThreadBindingFarewellText } from "./thread-bindings.discord-api-CaiGJbEP.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { normalizeAccountId, resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing";
7
7
  import { getRuntimeConfigSnapshot } from "openclaw/plugin-sdk/runtime-config-snapshot";
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll, bt as sendChannelTyping } from "./send.receipt-spSPAC77.js";
1
+ import { Wt as __exportAll, bt as sendChannelTyping } from "./send.receipt--EtaMe11.js";
2
2
  import { o as raceWithTimeout } from "./timeouts-l_PsHQvX.js";
3
3
  //#region extensions/discord/src/monitor/typing.ts
4
4
  var typing_exports = /* @__PURE__ */ __exportAll({ sendTyping: () => sendTyping });
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/discord",
3
- "version": "2026.5.22",
3
+ "version": "2026.5.24-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/discord",
9
- "version": "2026.5.22",
9
+ "version": "2026.5.24-beta.2",
10
10
  "dependencies": {
11
11
  "@discordjs/voice": "0.19.2",
12
12
  "discord-api-types": "0.38.47",
@@ -17,7 +17,7 @@
17
17
  "ws": "8.20.1"
18
18
  },
19
19
  "peerDependencies": {
20
- "openclaw": ">=2026.5.22"
20
+ "openclaw": ">=2026.5.24-beta.2"
21
21
  },
22
22
  "peerDependenciesMeta": {
23
23
  "openclaw": {
@@ -6,6 +6,11 @@
6
6
  "channels": [
7
7
  "discord"
8
8
  ],
9
+ "contracts": {
10
+ "meetingNotesSourceProviders": [
11
+ "discord-voice"
12
+ ]
13
+ },
9
14
  "channelEnvVars": {
10
15
  "discord": [
11
16
  "DISCORD_BOT_TOKEN"
@@ -1067,6 +1072,16 @@
1067
1072
  "always"
1068
1073
  ]
1069
1074
  },
1075
+ "requireWakeName": {
1076
+ "type": "boolean"
1077
+ },
1078
+ "wakeNames": {
1079
+ "type": "array",
1080
+ "items": {
1081
+ "type": "string",
1082
+ "minLength": 1
1083
+ }
1084
+ },
1070
1085
  "bootstrapContextFiles": {
1071
1086
  "type": "array",
1072
1087
  "items": {
@@ -2824,6 +2839,16 @@
2824
2839
  "always"
2825
2840
  ]
2826
2841
  },
2842
+ "requireWakeName": {
2843
+ "type": "boolean"
2844
+ },
2845
+ "wakeNames": {
2846
+ "type": "array",
2847
+ "items": {
2848
+ "type": "string",
2849
+ "minLength": 1
2850
+ }
2851
+ },
2827
2852
  "bootstrapContextFiles": {
2828
2853
  "type": "array",
2829
2854
  "items": {
@@ -3779,6 +3804,14 @@
3779
3804
  "label": "Discord Realtime Consult Policy",
3780
3805
  "help": "Use always to strongly prefer the OpenClaw agent brain for substantive realtime turns. agent-proxy defaults to always."
3781
3806
  },
3807
+ "voice.realtime.requireWakeName": {
3808
+ "label": "Discord Realtime Require Wake Name",
3809
+ "help": "Require a configured wake name before OpenAI agent-proxy Discord realtime voice responds. If wakeNames is unset, the routed agent name is used, falling back to the agent id."
3810
+ },
3811
+ "voice.realtime.wakeNames": {
3812
+ "label": "Discord Realtime Wake Names",
3813
+ "help": "Names that allow OpenAI agent-proxy Discord realtime voice to respond when requireWakeName is enabled."
3814
+ },
3782
3815
  "voice.realtime.bootstrapContextFiles": {
3783
3816
  "label": "Discord Realtime Bootstrap Context Files",
3784
3817
  "help": "Agent profile bootstrap files included in realtime provider instructions for direct voice identity/persona grounding. Defaults to IDENTITY.md, USER.md, and SOUL.md; set [] to disable."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/discord",
3
- "version": "2026.5.22",
3
+ "version": "2026.5.24-beta.2",
4
4
  "description": "OpenClaw Discord channel plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "ws": "8.20.1"
18
18
  },
19
19
  "peerDependencies": {
20
- "openclaw": ">=2026.5.22"
20
+ "openclaw": ">=2026.5.24-beta.2"
21
21
  },
22
22
  "peerDependenciesMeta": {
23
23
  "openclaw": {
@@ -61,10 +61,10 @@
61
61
  "allowInvalidConfigRecovery": true
62
62
  },
63
63
  "compat": {
64
- "pluginApi": ">=2026.5.22"
64
+ "pluginApi": ">=2026.5.24-beta.2"
65
65
  },
66
66
  "build": {
67
- "openclawVersion": "2026.5.22"
67
+ "openclawVersion": "2026.5.24-beta.2"
68
68
  },
69
69
  "release": {
70
70
  "publishToClawHub": true,
@@ -1,2 +0,0 @@
1
- import { t as monitorDiscordProvider } from "./provider-Bv9Sx9lq.js";
2
- export { monitorDiscordProvider };
@@ -1,5 +0,0 @@
1
- import "./allow-list-BnkWtVpA.js";
2
- import "./provider-Bv9Sx9lq.js";
3
- import "./message-utils-U-ax3LTX.js";
4
- import "./message-handler-miSYjwxl.js";
5
- export {};
@@ -1,3 +0,0 @@
1
- import "./send.receipt-spSPAC77.js";
2
- import "./target-resolver-squYahVm.js";
3
- export {};