@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,2 +1,2 @@
1
- import { t as handleDiscordAction } from "./runtime-DxQPyNY7.js";
1
+ import { t as handleDiscordAction } from "./runtime-ZBAq7Trm.js";
2
2
  export { handleDiscordAction };
package/dist/api.js CHANGED
@@ -1,23 +1,23 @@
1
- import { Ht as parseDiscordTarget, Ut as resolveDiscordChannelId, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId, o as normalizeDiscordOutboundTarget } from "./send.receipt-spSPAC77.js";
1
+ import { Ht as parseDiscordTarget, Ut as resolveDiscordChannelId, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId, o as normalizeDiscordOutboundTarget } from "./send.receipt--EtaMe11.js";
2
2
  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-dXTfmnSZ.js";
3
3
  import { t as inspectDiscordAccount } from "./account-inspect-C4sJZNbI.js";
4
- import { _ as parseDiscordComponentCustomId, b as parseDiscordModalCustomIdForInteraction, c as buildDiscordComponentMessage, d as readDiscordComponentSpec, f as resolveDiscordComponentAttachmentName, g as buildDiscordModalCustomId, h as buildDiscordComponentCustomId, l as buildDiscordComponentMessageFlags, m as DISCORD_MODAL_CUSTOM_ID_KEY, n as formatDiscordComponentEventText, o as DiscordFormModal, p as DISCORD_COMPONENT_CUSTOM_ID_KEY, r as buildDiscordInteractiveComponents, s as createDiscordFormModal, u as DISCORD_COMPONENT_ATTACHMENT_PREFIX, v as parseDiscordComponentCustomIdForInteraction, y as parseDiscordModalCustomId } from "./components-CE63uOrc.js";
4
+ import { _ as parseDiscordComponentCustomId, b as parseDiscordModalCustomIdForInteraction, c as buildDiscordComponentMessage, d as readDiscordComponentSpec, f as resolveDiscordComponentAttachmentName, g as buildDiscordModalCustomId, h as buildDiscordComponentCustomId, l as buildDiscordComponentMessageFlags, m as DISCORD_MODAL_CUSTOM_ID_KEY, n as formatDiscordComponentEventText, o as DiscordFormModal, p as DISCORD_COMPONENT_CUSTOM_ID_KEY, r as buildDiscordInteractiveComponents, s as createDiscordFormModal, u as DISCORD_COMPONENT_ATTACHMENT_PREFIX, v as parseDiscordComponentCustomIdForInteraction, y as parseDiscordModalCustomId } from "./components-BCxyMNaH.js";
5
5
  import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./api-Kq7vtaSO.js";
6
- import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-squYahVm.js";
7
- import "./targets-BeetkGO0.js";
8
- import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-jwZ56ing.js";
9
- import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-LszCFESI.js";
6
+ import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-QZP1tC8H.js";
7
+ import "./targets-DRvCCf1i.js";
8
+ import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-CzE0g3tC.js";
9
+ import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-DMgQbhnj.js";
10
10
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
11
- import { t as discordSetupPlugin } from "./channel.setup-rrsenw1h.js";
12
- import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-DehrqnoK.js";
13
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-09HC30Oh.js";
14
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-Do_NA_H8.js";
15
- import { t as fetchPluralKitMessageInfo } from "./pluralkit-sQLfeyIZ.js";
11
+ import { t as discordSetupPlugin } from "./channel.setup-Dh16wwV9.js";
12
+ import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-BLRmOFEa.js";
13
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-ozP4Jj--.js";
14
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-CkL6nnqZ.js";
15
+ import { t as fetchPluralKitMessageInfo } from "./pluralkit-BX81hJh4.js";
16
16
  import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-DfIM7zSY.js";
17
17
  import { t as collectDiscordSecurityAuditFindings } from "./security-audit-C_fzlczo.js";
18
18
  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-l_PsHQvX.js";
19
19
  import { resolveOpenProviderRuntimeGroupPolicy as resolveDiscordRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
20
20
  //#region extensions/discord/api.ts
21
- const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-CnwxnT58.js")).handleDiscordMessageAction(...args);
21
+ const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-BP_VU815.js")).handleDiscordMessageAction(...args);
22
22
  //#endregion
23
23
  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,7 +1,7 @@
1
- import { B as Container, J as Separator, K as Row, M as serializePayload, R as Button, Wt as __exportAll, X as TextDisplay, ft as editChannelMessage, nt as createUserDmChannel, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt-spSPAC77.js";
1
+ import { B as Container, J as Separator, K as Row, M as serializePayload, R as Button, Wt as __exportAll, X as TextDisplay, ft as editChannelMessage, nt as createUserDmChannel, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt--EtaMe11.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-C4sJZNbI.js";
3
- import { M as createDiscordClient, b as stripUndefinedFields } from "./send.shared-C3uAu6bc.js";
4
- import { i as shouldHandleDiscordApprovalRequest, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-jwZ56ing.js";
3
+ import { M as createDiscordClient, b as stripUndefinedFields } from "./send.shared-CsGHs6ft.js";
4
+ import { i as shouldHandleDiscordApprovalRequest, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-CzE0g3tC.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { ButtonStyle } from "discord-api-types/v10";
7
7
  import { logDebug, logError } from "openclaw/plugin-sdk/logging-core";
@@ -1,7 +1,7 @@
1
- import { Wt as __exportAll } from "./send.receipt-spSPAC77.js";
1
+ import { Wt as __exportAll } from "./send.receipt--EtaMe11.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-C4sJZNbI.js";
3
- import { E as fetchChannelPermissionsDiscord } from "./send.shared-C3uAu6bc.js";
4
- import "./send-BjHCUrvn.js";
3
+ import { E as fetchChannelPermissionsDiscord } from "./send.shared-CsGHs6ft.js";
4
+ import "./send-CVjV4H6l.js";
5
5
  import { n as collectDiscordAuditChannelIdsForAccount, t as auditDiscordChannelPermissionsWithFetcher } from "./audit-core-xwjIczO0.js";
6
6
  //#region extensions/discord/src/audit.ts
7
7
  var audit_exports = /* @__PURE__ */ __exportAll({
@@ -1,14 +1,14 @@
1
- import { Ht as parseDiscordTarget, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId } from "./send.receipt-spSPAC77.js";
1
+ import { Ht as parseDiscordTarget, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId } from "./send.receipt--EtaMe11.js";
2
2
  import { c as resolveDiscordAccountAllowFrom, r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
3
  import { a as projectCredentialSnapshotFields, n as PAIRING_APPROVED_MESSAGE, o as resolveConfiguredFromCredentialStatuses, r as buildTokenChannelStatusSummary, t as DEFAULT_ACCOUNT_ID } from "./channel-api-CAJ0wMoV.js";
4
- import { x as resolveDiscordOutboundSessionRoute } from "./components-CE63uOrc.js";
4
+ import { x as resolveDiscordOutboundSessionRoute } from "./components-BCxyMNaH.js";
5
5
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.js";
6
- import { c as shouldSuppressLocalDiscordExecApprovalPrompt, n as resolveDiscordCurrentConversationIdentity, r as getDiscordApprovalCapability } from "./conversation-identity-jwZ56ing.js";
6
+ import { c as shouldSuppressLocalDiscordExecApprovalPrompt, n as resolveDiscordCurrentConversationIdentity, r as getDiscordApprovalCapability } from "./conversation-identity-CzE0g3tC.js";
7
7
  import { r as resolveRequiredDiscordChannelPermissions } from "./audit-core-xwjIczO0.js";
8
- import { t as discordMessageActions$1 } from "./channel-actions-DDwcJy6_.js";
8
+ import { t as discordMessageActions$1 } from "./channel-actions-Cm0QHxsv.js";
9
9
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-D5gY2ZTE.js";
10
- import { n as discordOutbound } from "./outbound-adapter-CF4KuNM6.js";
11
- import { a as discordSecurityAdapter, i as discordSetupAdapter, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-CgAcqTsg.js";
10
+ import { n as discordOutbound } from "./outbound-adapter-BVTo8aVg.js";
11
+ import { a as discordSecurityAdapter, i as discordSetupAdapter, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-DFP_4nlg.js";
12
12
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
13
13
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
14
14
  import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
@@ -107,18 +107,6 @@ function resolveDiscordInboundConversation(params) {
107
107
  });
108
108
  return conversationId ? { conversationId } : null;
109
109
  }
110
- function parseDiscordExplicitTarget(raw) {
111
- try {
112
- const target = parseDiscordTarget(raw, { defaultKind: "channel" });
113
- if (!target) return null;
114
- return {
115
- to: target.normalized,
116
- chatType: target.kind === "user" ? "direct" : "channel"
117
- };
118
- } catch {
119
- return null;
120
- }
121
- }
122
110
  //#endregion
123
111
  //#region extensions/discord/src/channel.loaders.ts
124
112
  let discordProviderRuntimePromise;
@@ -126,13 +114,13 @@ let discordProbeRuntimePromise;
126
114
  let discordAuditModulePromise;
127
115
  let discordSendModulePromise;
128
116
  let discordDirectoryLiveModulePromise;
129
- const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-Do_NA_H8.js").then((n) => n.t));
130
- const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-BDjtLmjX.js").then((n) => n.n));
131
- const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-BeaV5INm.js").then((n) => n.n));
132
- const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-AEGKdE3O.js").then((n) => n.a));
133
- const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-squYahVm.js").then((n) => n.r));
117
+ const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-CkL6nnqZ.js").then((n) => n.t));
118
+ const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-BQl2WT8v.js").then((n) => n.n));
119
+ const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-CqW9vVcr.js").then((n) => n.n));
120
+ const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-ANA-Hk_y.js").then((n) => n.a));
121
+ const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-QZP1tC8H.js").then((n) => n.r));
134
122
  async function loadDiscordProviderRuntime() {
135
- discordProviderRuntimePromise ??= import("./provider.runtime-DKBGMsC7.js");
123
+ discordProviderRuntimePromise ??= import("./provider.runtime-DnKAm3Kg.js");
136
124
  return await discordProviderRuntimePromise;
137
125
  }
138
126
  async function loadDiscordProbeRuntime() {
@@ -140,15 +128,15 @@ async function loadDiscordProbeRuntime() {
140
128
  return await discordProbeRuntimePromise;
141
129
  }
142
130
  async function loadDiscordAuditModule() {
143
- discordAuditModulePromise ??= import("./audit-DkBvCBsG.js").then((n) => n.n);
131
+ discordAuditModulePromise ??= import("./audit-D3I68CWK.js").then((n) => n.n);
144
132
  return await discordAuditModulePromise;
145
133
  }
146
134
  async function loadDiscordSendModule() {
147
- discordSendModulePromise ??= import("./send-BjHCUrvn.js").then((n) => n.t);
135
+ discordSendModulePromise ??= import("./send-CVjV4H6l.js").then((n) => n.t);
148
136
  return await discordSendModulePromise;
149
137
  }
150
138
  async function loadDiscordDirectoryLiveModule() {
151
- discordDirectoryLiveModulePromise ??= import("./directory-live-DekuEEl8.js").then((n) => n.t);
139
+ discordDirectoryLiveModulePromise ??= import("./directory-live-DZeXDKJ_.js").then((n) => n.t);
152
140
  return await discordDirectoryLiveModulePromise;
153
141
  }
154
142
  //#endregion
@@ -462,8 +450,15 @@ const discordPlugin = createChatChannelPlugin({
462
450
  }),
463
451
  normalizeExplicitSessionKey: ({ sessionKey, ctx }) => normalizeExplicitDiscordSessionKey(sessionKey, ctx),
464
452
  resolveSessionTarget: ({ id }) => normalizeDiscordMessagingTarget(`channel:${id}`),
465
- parseExplicitTarget: ({ raw }) => parseDiscordExplicitTarget(raw),
466
- inferTargetChatType: ({ to }) => parseDiscordExplicitTarget(to)?.chatType,
453
+ inferTargetChatType: ({ to }) => {
454
+ try {
455
+ const parsed = parseDiscordTarget(to, { defaultKind: "channel" });
456
+ if (!parsed) return;
457
+ return parsed?.kind === "user" ? "direct" : "channel";
458
+ } catch {
459
+ return;
460
+ }
461
+ },
467
462
  buildCrossContextPresentation: buildDiscordCrossContextPresentation,
468
463
  resolveOutboundSessionRoute: (params) => resolveDiscordOutboundSessionRoute(params),
469
464
  targetResolver: {
@@ -1,6 +1,6 @@
1
1
  import { r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-dXTfmnSZ.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-C4sJZNbI.js";
3
- import { d as readDiscordComponentSpec } from "./components-CE63uOrc.js";
3
+ import { d as readDiscordComponentSpec } from "./components-BCxyMNaH.js";
4
4
  import { i as withDiscordInboundEventDeliveryMetadata } from "./inbound-event-delivery-DTGIjZVJ.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { createUnionActionGate } from "openclaw/plugin-sdk/channel-actions";
@@ -8,7 +8,7 @@ import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
8
8
  //#region extensions/discord/src/channel-actions.ts
9
9
  let discordChannelActionsRuntimePromise;
10
10
  async function loadDiscordChannelActionsRuntime() {
11
- discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-CnwxnT58.js");
11
+ discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-BP_VU815.js");
12
12
  return await discordChannelActionsRuntimePromise;
13
13
  }
14
14
  function listDiscoverableDiscordAccounts(cfg) {
@@ -1,10 +1,10 @@
1
- import { Ut as resolveDiscordChannelId } from "./send.receipt-spSPAC77.js";
2
- import { i as buildDiscordPresentationComponents, r as buildDiscordInteractiveComponents } from "./components-CE63uOrc.js";
3
- import { t as handleDiscordAction } from "./runtime-DxQPyNY7.js";
4
- import "./targets-BeetkGO0.js";
1
+ import { Ut as resolveDiscordChannelId } from "./send.receipt--EtaMe11.js";
2
+ import { i as buildDiscordPresentationComponents, r as buildDiscordInteractiveComponents } from "./components-BCxyMNaH.js";
3
+ import { t as handleDiscordAction } from "./runtime-ZBAq7Trm.js";
4
+ import "./targets-DRvCCf1i.js";
5
5
  import "./action-runtime-api.js";
6
6
  import { r as notifyDiscordInboundEventOutboundSuccess } from "./inbound-event-delivery-DTGIjZVJ.js";
7
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-09HC30Oh.js";
7
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-ozP4Jj--.js";
8
8
  import { normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
10
10
  import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
@@ -1,2 +1,2 @@
1
- import { t as DiscordChannelConfigSchema } from "./config-schema-Kuf9IrLg.js";
1
+ import { t as DiscordChannelConfigSchema } from "./config-schema-DordNAyp.js";
2
2
  export { DiscordChannelConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as discordPlugin } from "./channel-LszCFESI.js";
1
+ import { t as discordPlugin } from "./channel-DMgQbhnj.js";
2
2
  export { discordPlugin };
@@ -1,7 +1,7 @@
1
1
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, l as resolveDiscordAccountConfig, m as resolveDiscordToken, o as resolveDefaultDiscordAccountId } from "./accounts-dXTfmnSZ.js";
2
- import { i as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-CgAcqTsg.js";
3
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-BDjtLmjX.js";
4
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-BeaV5INm.js";
2
+ import { i as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-DFP_4nlg.js";
3
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-BQl2WT8v.js";
4
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-CqW9vVcr.js";
5
5
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
6
6
  import { hasConfiguredSecretInput, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1,4 +1,4 @@
1
- import { B as Container, F as Modal, G as RoleSelectMenu, H as LinkButton, Ht as parseDiscordTarget, I as RadioGroup, J as Separator, K as Row, L as TextInput, N as CheckboxGroup, P as Label, Q as UserSelectMenu, R as Button, U as MediaGallery, V as File, W as MentionableSelectMenu, Wt as __exportAll, X as TextDisplay, Y as StringSelectMenu, Z as Thumbnail, et as parseCustomId, q as Section, z as ChannelSelectMenu } from "./send.receipt-spSPAC77.js";
1
+ import { B as Container, F as Modal, G as RoleSelectMenu, H as LinkButton, Ht as parseDiscordTarget, I as RadioGroup, J as Separator, K as Row, L as TextInput, N as CheckboxGroup, P as Label, Q as UserSelectMenu, R as Button, U as MediaGallery, V as File, W as MentionableSelectMenu, Wt as __exportAll, X as TextDisplay, Y as StringSelectMenu, Z as Thumbnail, et as parseCustomId, q as Section, z as ChannelSelectMenu } from "./send.receipt--EtaMe11.js";
2
2
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { buildOutboundBaseSessionKey } from "openclaw/plugin-sdk/routing";
4
4
  import { buildThreadAwareOutboundSessionRoute } from "openclaw/plugin-sdk/channel-core";
@@ -234,6 +234,14 @@ const DiscordChannelConfigSchema = buildChannelConfigSchema(DiscordConfigSchema,
234
234
  label: "Discord Realtime Consult Policy",
235
235
  help: "Use always to strongly prefer the OpenClaw agent brain for substantive realtime turns. agent-proxy defaults to always."
236
236
  },
237
+ "voice.realtime.requireWakeName": {
238
+ label: "Discord Realtime Require Wake Name",
239
+ 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."
240
+ },
241
+ "voice.realtime.wakeNames": {
242
+ label: "Discord Realtime Wake Names",
243
+ help: "Names that allow OpenAI agent-proxy Discord realtime voice to respond when requireWakeName is enabled."
244
+ },
237
245
  "voice.realtime.bootstrapContextFiles": {
238
246
  label: "Discord Realtime Bootstrap Context Files",
239
247
  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."
@@ -2,7 +2,7 @@ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doc
2
2
  import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-BjM-1hr9.js";
3
3
  import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-DSHk7I2w.js";
4
4
  import { t as deriveLegacySessionChatType } from "./session-contract-BO5tlIdl.js";
5
- import { i as testing, n as createThreadBindingManager } from "./thread-bindings.manager-AEGKdE3O.js";
6
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-Do_NA_H8.js";
5
+ import { i as testing, n as createThreadBindingManager } from "./thread-bindings.manager-ANA-Hk_y.js";
6
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-CkL6nnqZ.js";
7
7
  import { t as collectDiscordSecurityAuditFindings } from "./security-audit-C_fzlczo.js";
8
8
  export { collectDiscordSecurityAuditFindings, collectRuntimeConfigAssignments, collectUnsupportedSecretRefConfigCandidates, createThreadBindingManager, deriveLegacySessionChatType, testing as discordThreadBindingTesting, legacyConfigRules, listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig, normalizeCompatibilityConfig, secretTargetRegistryEntries, unsupportedSecretRefSurfacePatterns };
@@ -1,4 +1,4 @@
1
- import { Ht as parseDiscordTarget } from "./send.receipt-spSPAC77.js";
1
+ import { Ht as parseDiscordTarget } from "./send.receipt--EtaMe11.js";
2
2
  import { r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
@@ -229,7 +229,7 @@ function createDiscordApprovalCapability(configOverride) {
229
229
  request,
230
230
  configOverride
231
231
  }),
232
- load: async () => (await import("./approval-handler.runtime-CyGGSiMH.js").then((n) => n.t)).discordApprovalNativeRuntime
232
+ load: async () => (await import("./approval-handler.runtime-DFRH9nZ4.js").then((n) => n.t)).discordApprovalNativeRuntime
233
233
  })
234
234
  });
235
235
  }
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll } from "./send.receipt-spSPAC77.js";
1
+ import { Wt as __exportAll } from "./send.receipt--EtaMe11.js";
2
2
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, o as resolveDefaultDiscordAccountId } from "./accounts-dXTfmnSZ.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-Do_NA_H8.js";
1
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-CkL6nnqZ.js";
2
2
  export { listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig };
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll } from "./send.receipt-spSPAC77.js";
1
+ import { Wt as __exportAll } from "./send.receipt--EtaMe11.js";
2
2
  import { p as normalizeDiscordToken, s as resolveDiscordAccount } from "./accounts-dXTfmnSZ.js";
3
3
  import { n as fetchDiscord } from "./api-Kq7vtaSO.js";
4
4
  import { a as normalizeDiscordSlug } from "./allow-list-BnkWtVpA.js";
@@ -1,6 +1,6 @@
1
1
  import { o as resolveDefaultDiscordAccountId } from "./accounts-dXTfmnSZ.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-C4sJZNbI.js";
3
- import { r as DISCORD_LEGACY_CONFIG_RULES } from "./shared-CgAcqTsg.js";
3
+ import { r as DISCORD_LEGACY_CONFIG_RULES } from "./shared-DFP_4nlg.js";
4
4
  import { n as normalizeCompatibilityConfig } from "./doctor-contract-Bia3BmP_.js";
5
5
  import { t as isDiscordMutableAllowEntry } from "./security-doctor-uUo8hTD5.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -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-DxQPyNY7.js";
1
+ import { a as readDiscordChannelCreateParams, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-ZBAq7Trm.js";
2
2
  import "./action-runtime-api.js";
3
3
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { readNumberParam, readStringArrayParam, readStringParam } from "openclaw/plugin-sdk/agent-runtime";
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { t as discordVoiceMeetingNotesSourceProvider } from "./meeting-notes-source-dVTfnnBi.js";
2
+ import "./meeting-notes-source-api.js";
1
3
  import { registerDiscordSubagentHooks } from "./subagent-hooks-api.js";
2
4
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
3
5
  //#region extensions/discord/index.ts
@@ -20,6 +22,7 @@ var discord_default = defineBundledChannelEntry({
20
22
  },
21
23
  registerFull(api) {
22
24
  registerDiscordSubagentHooks(api);
25
+ api.registerMeetingNotesSourceProvider(discordVoiceMeetingNotesSourceProvider);
23
26
  }
24
27
  });
25
28
  //#endregion