@openclaw/discord 2026.5.18-beta.1 → 2026.5.19-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/action-runtime-api.js +1 -1
  2. package/dist/api.js +12 -12
  3. package/dist/{approval-handler.runtime-CpNuGEHP.js → approval-handler.runtime-CRpNixJy.js} +3 -3
  4. package/dist/{audit-CniGmJUL.js → audit-DEF10R9j.js} +3 -3
  5. package/dist/{channel-actions-DRqDFJUk.js → channel-actions-rQOtd5Rt.js} +2 -2
  6. package/dist/{channel-actions.runtime-DVnGrlsm.js → channel-actions.runtime-BfLVeoKv.js} +5 -5
  7. package/dist/channel-plugin-api.js +1 -1
  8. package/dist/{channel-n7fwA0Rx.js → channel-qPEC6Shs.js} +14 -14
  9. package/dist/{channel.setup-D1j7U4B3.js → channel.setup-DR3-U0wF.js} +2 -2
  10. package/dist/{components-KsP3ijoj.js → components-Cd3ZXYft.js} +1 -1
  11. package/dist/contract-api.js +3 -3
  12. package/dist/{conversation-identity-CYgemFy7.js → conversation-identity-BY7sjUQh.js} +2 -2
  13. package/dist/{directory-config-B5jO6mjo.js → directory-config-x3YzNdoX.js} +1 -1
  14. package/dist/directory-contract-api.js +1 -1
  15. package/dist/{directory-live-D5VrQBC7.js → directory-live-CJiEWQwK.js} +1 -1
  16. package/dist/{handle-action.guild-admin-CqCngm8I.js → handle-action.guild-admin-xnLKW1Uy.js} +1 -1
  17. package/dist/{manager.runtime-DigfejdS.js → manager.runtime-D9IyIbY-.js} +3 -3
  18. package/dist/{message-handler-Jsc36DUW.js → message-handler-C7U1HroS.js} +9 -9
  19. package/dist/{message-handler.preflight--cdiq4ck.js → message-handler.preflight-Bh9lQq-H.js} +10 -10
  20. package/dist/{message-handler.process-9JHT0Fok.js → message-handler.process-CdwzsvoT.js} +11 -11
  21. package/dist/{message-utils-BZriBbcg.js → message-utils-BKrlzFtM.js} +1 -1
  22. package/dist/{outbound-adapter-C54-43UU.js → outbound-adapter-Cs--Bcn3.js} +6 -6
  23. package/dist/{pluralkit-BHV93ojA.js → pluralkit-BnCH6cHK.js} +1 -1
  24. package/dist/{provider-BXK0P155.js → provider-DESHPWkv.js} +20 -20
  25. package/dist/{provider-session.runtime-CMvHIMEE.js → provider-session.runtime-CpruByPN.js} +3 -3
  26. package/dist/provider.runtime-BejymnDs.js +2 -0
  27. package/dist/{resolve-channels-AxDQ4jXh.js → resolve-channels-Czrd7fOv.js} +1 -1
  28. package/dist/{resolve-users-D7w0icpA.js → resolve-users-D7hQMaaq.js} +1 -1
  29. package/dist/{runtime-CqTcWrem.js → runtime-DsGoffYI.js} +7 -7
  30. package/dist/runtime-api.actions.js +2 -2
  31. package/dist/runtime-api.js +19 -19
  32. package/dist/runtime-api.lookup.js +4 -4
  33. package/dist/runtime-api.monitor-Crds4B6c.js +5 -0
  34. package/dist/runtime-api.monitor.js +4 -4
  35. package/dist/runtime-api.send.js +5 -5
  36. package/dist/runtime-api.threads.js +4 -4
  37. package/dist/{send-DuW4qqIK.js → send-BsBy21Te.js} +3 -3
  38. package/dist/{send.components-BjAjvjmT.js → send.components-CIlBhjP-.js} +4 -4
  39. package/dist/{send.outbound-PAYV11wW.js → send.outbound-C0OzZAv_.js} +3 -3
  40. package/dist/{send.receipt-nKLxvA1s.js → send.receipt-Dhym-qOF.js} +37 -37
  41. package/dist/{send.shared-CJ6oJrVc.js → send.shared-C6JLgsbp.js} +2 -2
  42. package/dist/setup-plugin-api.js +1 -1
  43. package/dist/{subagent-hooks-CnPSppNz.js → subagent-hooks-DCIt8Gt7.js} +12 -5
  44. package/dist/subagent-hooks-api.js +1 -1
  45. package/dist/{system-events-CEehp53f.js → system-events-DEuiLTl9.js} +1 -1
  46. package/dist/{target-resolver-CgtNlbhO.js → target-resolver-C5tK3vit.js} +2 -2
  47. package/dist/targets-JvlTzyfK.js +3 -0
  48. package/dist/test-api.js +4 -4
  49. package/dist/{thread-bindings-CXZ2h9DB.js → thread-bindings-BcXgbZ3-.js} +5 -5
  50. package/dist/{thread-bindings.discord-api-_zMU4M2x.js → thread-bindings.discord-api-BzelVdsY.js} +4 -4
  51. package/dist/{thread-bindings.manager-XKdkYEit.js → thread-bindings.manager-CouT_qjE.js} +8 -7
  52. package/dist/{typing-DudlJ-Fv.js → typing-DtdZgo-g.js} +1 -1
  53. package/package.json +4 -4
  54. package/dist/provider.runtime-TGlvSd9K.js +0 -2
  55. package/dist/runtime-api.monitor-D97Sc6-n.js +0 -5
  56. package/dist/targets-Z4SW2zZs.js +0 -3
@@ -1,2 +1,2 @@
1
- import { t as handleDiscordAction } from "./runtime-CqTcWrem.js";
1
+ import { t as handleDiscordAction } from "./runtime-DsGoffYI.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-nKLxvA1s.js";
1
+ import { Ht as parseDiscordTarget, Ut as resolveDiscordChannelId, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId, o as normalizeDiscordOutboundTarget } from "./send.receipt-Dhym-qOF.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-ltxKLzxN.js";
3
3
  import { t as inspectDiscordAccount } from "./account-inspect-DCXwNu_u.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-KsP3ijoj.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-Cd3ZXYft.js";
5
5
  import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./api-DgQLz1wq.js";
6
- import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-CgtNlbhO.js";
7
- import "./targets-Z4SW2zZs.js";
8
- import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-CYgemFy7.js";
9
- import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-n7fwA0Rx.js";
6
+ import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-C5tK3vit.js";
7
+ import "./targets-JvlTzyfK.js";
8
+ import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-BY7sjUQh.js";
9
+ import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-qPEC6Shs.js";
10
10
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-DnCXUKGA.js";
11
- import { t as discordSetupPlugin } from "./channel.setup-D1j7U4B3.js";
12
- import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-CnPSppNz.js";
13
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-CqCngm8I.js";
14
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-B5jO6mjo.js";
15
- import { t as fetchPluralKitMessageInfo } from "./pluralkit-BHV93ojA.js";
11
+ import { t as discordSetupPlugin } from "./channel.setup-DR3-U0wF.js";
12
+ import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-DCIt8Gt7.js";
13
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-xnLKW1Uy.js";
14
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-x3YzNdoX.js";
15
+ import { t as fetchPluralKitMessageInfo } from "./pluralkit-BnCH6cHK.js";
16
16
  import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-BLDNbk41.js";
17
17
  import { t as collectDiscordSecurityAuditFindings } from "./security-audit-Dx3j4a0l.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-CEwuGaWT.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-DVnGrlsm.js")).handleDiscordMessageAction(...args);
21
+ const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-BfLVeoKv.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-nKLxvA1s.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-Dhym-qOF.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-DCXwNu_u.js";
3
- import { M as createDiscordClient, b as stripUndefinedFields } from "./send.shared-CJ6oJrVc.js";
4
- import { i as shouldHandleDiscordApprovalRequest, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-CYgemFy7.js";
3
+ import { M as createDiscordClient, b as stripUndefinedFields } from "./send.shared-C6JLgsbp.js";
4
+ import { i as shouldHandleDiscordApprovalRequest, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-BY7sjUQh.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-nKLxvA1s.js";
1
+ import { Wt as __exportAll } from "./send.receipt-Dhym-qOF.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-DCXwNu_u.js";
3
- import { E as fetchChannelPermissionsDiscord } from "./send.shared-CJ6oJrVc.js";
4
- import "./send-DuW4qqIK.js";
3
+ import { E as fetchChannelPermissionsDiscord } from "./send.shared-C6JLgsbp.js";
4
+ import "./send-BsBy21Te.js";
5
5
  import { n as collectDiscordAuditChannelIdsForAccount, t as auditDiscordChannelPermissionsWithFetcher } from "./audit-core-DRyoXREU.js";
6
6
  //#region extensions/discord/src/audit.ts
7
7
  var audit_exports = /* @__PURE__ */ __exportAll({
@@ -1,6 +1,6 @@
1
1
  import { r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-ltxKLzxN.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-DCXwNu_u.js";
3
- import { d as readDiscordComponentSpec } from "./components-KsP3ijoj.js";
3
+ import { d as readDiscordComponentSpec } from "./components-Cd3ZXYft.js";
4
4
  import { i as withDiscordInboundEventDeliveryMetadata } from "./inbound-event-delivery-D8zHG9Lz.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-DVnGrlsm.js");
11
+ discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-BfLVeoKv.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-nKLxvA1s.js";
2
- import { i as buildDiscordPresentationComponents, r as buildDiscordInteractiveComponents } from "./components-KsP3ijoj.js";
3
- import { t as handleDiscordAction } from "./runtime-CqTcWrem.js";
4
- import "./targets-Z4SW2zZs.js";
1
+ import { Ut as resolveDiscordChannelId } from "./send.receipt-Dhym-qOF.js";
2
+ import { i as buildDiscordPresentationComponents, r as buildDiscordInteractiveComponents } from "./components-Cd3ZXYft.js";
3
+ import { t as handleDiscordAction } from "./runtime-DsGoffYI.js";
4
+ import "./targets-JvlTzyfK.js";
5
5
  import "./action-runtime-api.js";
6
6
  import { r as notifyDiscordInboundEventOutboundSuccess } from "./inbound-event-delivery-D8zHG9Lz.js";
7
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-CqCngm8I.js";
7
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-xnLKW1Uy.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 discordPlugin } from "./channel-n7fwA0Rx.js";
1
+ import { t as discordPlugin } from "./channel-qPEC6Shs.js";
2
2
  export { discordPlugin };
@@ -1,13 +1,13 @@
1
- import { Ht as parseDiscordTarget, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId } from "./send.receipt-nKLxvA1s.js";
1
+ import { Ht as parseDiscordTarget, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId } from "./send.receipt-Dhym-qOF.js";
2
2
  import { c as resolveDiscordAccountAllowFrom, r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-ltxKLzxN.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-JudoSiJv.js";
4
- import { x as resolveDiscordOutboundSessionRoute } from "./components-KsP3ijoj.js";
4
+ import { x as resolveDiscordOutboundSessionRoute } from "./components-Cd3ZXYft.js";
5
5
  import { t as getDiscordRuntime } from "./runtime-Tqtvj5GX.js";
6
- import { c as shouldSuppressLocalDiscordExecApprovalPrompt, n as resolveDiscordCurrentConversationIdentity, r as getDiscordApprovalCapability } from "./conversation-identity-CYgemFy7.js";
6
+ import { c as shouldSuppressLocalDiscordExecApprovalPrompt, n as resolveDiscordCurrentConversationIdentity, r as getDiscordApprovalCapability } from "./conversation-identity-BY7sjUQh.js";
7
7
  import { r as resolveRequiredDiscordChannelPermissions } from "./audit-core-DRyoXREU.js";
8
- import { t as discordMessageActions$1 } from "./channel-actions-DRqDFJUk.js";
8
+ import { t as discordMessageActions$1 } from "./channel-actions-rQOtd5Rt.js";
9
9
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-CgOqEOPe.js";
10
- import { n as discordOutbound } from "./outbound-adapter-C54-43UU.js";
10
+ import { n as discordOutbound } from "./outbound-adapter-Cs--Bcn3.js";
11
11
  import { a as discordSecurityAdapter, i as discordSetupAdapter, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-CYe5A_Bs.js";
12
12
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-DnCXUKGA.js";
13
13
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -126,13 +126,13 @@ let discordProbeRuntimePromise;
126
126
  let discordAuditModulePromise;
127
127
  let discordSendModulePromise;
128
128
  let discordDirectoryLiveModulePromise;
129
- const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-B5jO6mjo.js").then((n) => n.t));
130
- const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-AxDQ4jXh.js").then((n) => n.n));
131
- const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-D7w0icpA.js").then((n) => n.n));
132
- const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-XKdkYEit.js").then((n) => n.a));
133
- const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-CgtNlbhO.js").then((n) => n.r));
129
+ const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-x3YzNdoX.js").then((n) => n.t));
130
+ const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-Czrd7fOv.js").then((n) => n.n));
131
+ const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-D7hQMaaq.js").then((n) => n.n));
132
+ const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-CouT_qjE.js").then((n) => n.a));
133
+ const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-C5tK3vit.js").then((n) => n.r));
134
134
  async function loadDiscordProviderRuntime() {
135
- discordProviderRuntimePromise ??= import("./provider.runtime-TGlvSd9K.js");
135
+ discordProviderRuntimePromise ??= import("./provider.runtime-BejymnDs.js");
136
136
  return await discordProviderRuntimePromise;
137
137
  }
138
138
  async function loadDiscordProbeRuntime() {
@@ -140,15 +140,15 @@ async function loadDiscordProbeRuntime() {
140
140
  return await discordProbeRuntimePromise;
141
141
  }
142
142
  async function loadDiscordAuditModule() {
143
- discordAuditModulePromise ??= import("./audit-CniGmJUL.js").then((n) => n.n);
143
+ discordAuditModulePromise ??= import("./audit-DEF10R9j.js").then((n) => n.n);
144
144
  return await discordAuditModulePromise;
145
145
  }
146
146
  async function loadDiscordSendModule() {
147
- discordSendModulePromise ??= import("./send-DuW4qqIK.js").then((n) => n.t);
147
+ discordSendModulePromise ??= import("./send-BsBy21Te.js").then((n) => n.t);
148
148
  return await discordSendModulePromise;
149
149
  }
150
150
  async function loadDiscordDirectoryLiveModule() {
151
- discordDirectoryLiveModulePromise ??= import("./directory-live-D5VrQBC7.js").then((n) => n.t);
151
+ discordDirectoryLiveModulePromise ??= import("./directory-live-CJiEWQwK.js").then((n) => n.t);
152
152
  return await discordDirectoryLiveModulePromise;
153
153
  }
154
154
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, l as resolveDiscordAccountConfig, m as resolveDiscordToken, o as resolveDefaultDiscordAccountId } from "./accounts-ltxKLzxN.js";
2
2
  import { i as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-CYe5A_Bs.js";
3
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-AxDQ4jXh.js";
4
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-D7w0icpA.js";
3
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-Czrd7fOv.js";
4
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-D7hQMaaq.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-nKLxvA1s.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-Dhym-qOF.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";
@@ -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-57_WV6qt.js";
3
3
  import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-BWDASKVo.js";
4
4
  import { t as deriveLegacySessionChatType } from "./session-contract-Dwhw3RTY.js";
5
- import { r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-XKdkYEit.js";
6
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-B5jO6mjo.js";
5
+ import { i as testing, n as createThreadBindingManager } from "./thread-bindings.manager-CouT_qjE.js";
6
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-x3YzNdoX.js";
7
7
  import { t as collectDiscordSecurityAuditFindings } from "./security-audit-Dx3j4a0l.js";
8
- export { collectDiscordSecurityAuditFindings, collectRuntimeConfigAssignments, collectUnsupportedSecretRefConfigCandidates, createThreadBindingManager, deriveLegacySessionChatType, __testing as discordThreadBindingTesting, legacyConfigRules, listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig, normalizeCompatibilityConfig, secretTargetRegistryEntries, unsupportedSecretRefSurfacePatterns };
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-nKLxvA1s.js";
1
+ import { Ht as parseDiscordTarget } from "./send.receipt-Dhym-qOF.js";
2
2
  import { r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-ltxKLzxN.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-CpNuGEHP.js").then((n) => n.t)).discordApprovalNativeRuntime
232
+ load: async () => (await import("./approval-handler.runtime-CRpNixJy.js").then((n) => n.t)).discordApprovalNativeRuntime
233
233
  })
234
234
  });
235
235
  }
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll } from "./send.receipt-nKLxvA1s.js";
1
+ import { Wt as __exportAll } from "./send.receipt-Dhym-qOF.js";
2
2
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, o as resolveDefaultDiscordAccountId } from "./accounts-ltxKLzxN.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-B5jO6mjo.js";
1
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-x3YzNdoX.js";
2
2
  export { listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig };
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll } from "./send.receipt-nKLxvA1s.js";
1
+ import { Wt as __exportAll } from "./send.receipt-Dhym-qOF.js";
2
2
  import { p as normalizeDiscordToken, s as resolveDiscordAccount } from "./accounts-ltxKLzxN.js";
3
3
  import { n as fetchDiscord } from "./api-DgQLz1wq.js";
4
4
  import { a as normalizeDiscordSlug } from "./allow-list-CBI-M84K.js";
@@ -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-CqTcWrem.js";
1
+ import { a as readDiscordChannelCreateParams, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-DsGoffYI.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";
@@ -1,9 +1,9 @@
1
- import { Ht as parseDiscordTarget, _ as VoiceStateUpdateListener, c as discord_exports, h as ResumedListener, m as ReadyListener } from "./send.receipt-nKLxvA1s.js";
1
+ import { Ht as parseDiscordTarget, _ as VoiceStateUpdateListener, c as discord_exports, h as ResumedListener, m as ReadyListener } from "./send.receipt-Dhym-qOF.js";
2
2
  import { c as resolveDiscordAccountAllowFrom } from "./accounts-ltxKLzxN.js";
3
3
  import { a as normalizeDiscordSlug, b as formatDiscordUserTag, m as resolveDiscordOwnerAccess } from "./allow-list-CBI-M84K.js";
4
- import { i as formatMention } from "./send.outbound-PAYV11wW.js";
4
+ import { i as formatMention } from "./send.outbound-C0OzZAv_.js";
5
5
  import { t as getDiscordRuntime } from "./runtime-Tqtvj5GX.js";
6
- import { o as authorizeDiscordVoiceIngress, u as resolveDiscordVoiceEnabled } from "./provider-BXK0P155.js";
6
+ import { o as authorizeDiscordVoiceIngress, u as resolveDiscordVoiceEnabled } from "./provider-DESHPWkv.js";
7
7
  import { t as buildDiscordGroupSystemPrompt } from "./inbound-context-CzEAvKgx.js";
8
8
  import { createRequire } from "node:module";
9
9
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1,8 +1,8 @@
1
- import { N as createDiscordRestClient } from "./send.shared-CJ6oJrVc.js";
2
- import { d as resolveDiscordChannelNameSafe, l as resolveDiscordChannelIdSafe, p as resolveDiscordChannelParentSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-_zMU4M2x.js";
1
+ import { N as createDiscordRestClient } from "./send.shared-C6JLgsbp.js";
2
+ import { d as resolveDiscordChannelNameSafe, l as resolveDiscordChannelIdSafe, p as resolveDiscordChannelParentSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-BzelVdsY.js";
3
3
  import { a as mergeAbortSignals } from "./timeouts-CEwuGaWT.js";
4
- import { c as hasDiscordMessageStickers, d as resolveDiscordMessageChannelId, r as resolveDiscordMessageText } from "./message-utils-BZriBbcg.js";
5
- import { t as sendTyping } from "./typing-DudlJ-Fv.js";
4
+ import { c as hasDiscordMessageStickers, d as resolveDiscordMessageChannelId, r as resolveDiscordMessageText } from "./message-utils-BKrlzFtM.js";
5
+ import { t as sendTyping } from "./typing-DtdZgo-g.js";
6
6
  import { danger, logVerbose } from "openclaw/plugin-sdk/runtime-env";
7
7
  import { resolveOpenProviderRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
8
8
  import { resolveBatchedReplyThreadingPolicy } from "openclaw/plugin-sdk/reply-reference";
@@ -121,7 +121,7 @@ function applyImplicitReplyBatchGate(ctx, replyToMode, isBatched) {
121
121
  //#region extensions/discord/src/monitor/message-run-queue.ts
122
122
  let messageProcessRuntimePromise;
123
123
  async function loadMessageProcessRuntime() {
124
- messageProcessRuntimePromise ??= import("./message-handler.process-9JHT0Fok.js");
124
+ messageProcessRuntimePromise ??= import("./message-handler.process-CdwzsvoT.js");
125
125
  return await messageProcessRuntimePromise;
126
126
  }
127
127
  async function processDiscordQueuedMessage(params) {
@@ -162,7 +162,7 @@ function createDiscordMessageRunQueue(params) {
162
162
  job,
163
163
  lifecycleSignal,
164
164
  replayGuard,
165
- testing: params.__testing
165
+ testing: params.testing
166
166
  });
167
167
  });
168
168
  },
@@ -173,7 +173,7 @@ function createDiscordMessageRunQueue(params) {
173
173
  //#region extensions/discord/src/monitor/message-handler.ts
174
174
  let messagePreflightRuntimePromise;
175
175
  async function loadMessagePreflightRuntime() {
176
- messagePreflightRuntimePromise ??= import("./message-handler.preflight--cdiq4ck.js");
176
+ messagePreflightRuntimePromise ??= import("./message-handler.preflight-Bh9lQq-H.js");
177
177
  return await messagePreflightRuntimePromise;
178
178
  }
179
179
  function isNonEmptyString(value) {
@@ -207,14 +207,14 @@ function createDiscordMessageHandler(params) {
207
207
  defaultGroupPolicy: params.cfg.channels?.defaults?.groupPolicy
208
208
  });
209
209
  const ackReactionScope = params.discordConfig?.ackReactionScope ?? params.cfg.messages?.ackReactionScope ?? "group-mentions";
210
- const preflightDiscordMessageImpl = params.__testing?.preflightDiscordMessage;
210
+ const preflightDiscordMessageImpl = params.testing?.preflightDiscordMessage;
211
211
  const replayGuard = createDiscordInboundReplayGuard();
212
212
  const messageRunQueue = createDiscordMessageRunQueue({
213
213
  runtime: params.runtime,
214
214
  setStatus: params.setStatus,
215
215
  abortSignal: params.abortSignal,
216
216
  replayGuard,
217
- __testing: params.__testing
217
+ testing: params.testing
218
218
  });
219
219
  const { debouncer } = createChannelInboundDebouncer({
220
220
  cfg: params.cfg,
@@ -1,12 +1,12 @@
1
- import { A as Message, c as discord_exports, mt as getChannelMessage } from "./send.receipt-nKLxvA1s.js";
1
+ import { A as Message, c as discord_exports, mt as getChannelMessage } from "./send.receipt-Dhym-qOF.js";
2
2
  import { o as resolveDefaultDiscordAccountId } from "./accounts-ltxKLzxN.js";
3
3
  import { S as resolveTimestampMs, _ as resolveGroupDmAllow, a as normalizeDiscordSlug, b as formatDiscordUserTag, c as resolveDiscordChannelConfigWithFallback, d as resolveDiscordGuildEntry, f as resolveDiscordMemberAccessState, g as resolveDiscordShouldRequireMention, i as normalizeDiscordDisplaySlug, n as isDiscordGroupAllowedByPolicy, x as resolveDiscordSystemLocation } from "./allow-list-CBI-M84K.js";
4
- import { t as resolveDiscordConversationIdentity } from "./conversation-identity-CYgemFy7.js";
4
+ import { t as resolveDiscordConversationIdentity } from "./conversation-identity-BY7sjUQh.js";
5
5
  import { l as isRecentlyUnboundThreadWebhookMessage } from "./thread-bindings.state-CSphZOiL.js";
6
- import { d as resolveDiscordChannelNameSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-_zMU4M2x.js";
7
- import "./thread-bindings-CXZ2h9DB.js";
8
- import { C as resolveDiscordDmCommandAccess, f as buildDiscordRoutePeer, g as handleDiscordDmCommandDecision, h as shouldIgnoreStaleDiscordRouteBinding, m as resolveDiscordEffectiveRoute, p as resolveDiscordConversationRoute, w as resolveDiscordTextCommandAccess } from "./provider-BXK0P155.js";
9
- import { d as resolveDiscordMessageChannelId, l as resolveDiscordMessageStickers, o as resolveMediaList, r as resolveDiscordMessageText, u as resolveDiscordChannelInfo } from "./message-utils-BZriBbcg.js";
6
+ import { d as resolveDiscordChannelNameSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-BzelVdsY.js";
7
+ import "./thread-bindings-BcXgbZ3-.js";
8
+ import { C as resolveDiscordDmCommandAccess, f as buildDiscordRoutePeer, g as handleDiscordDmCommandDecision, h as shouldIgnoreStaleDiscordRouteBinding, m as resolveDiscordEffectiveRoute, p as resolveDiscordConversationRoute, w as resolveDiscordTextCommandAccess } from "./provider-DESHPWkv.js";
9
+ import { d as resolveDiscordMessageChannelId, l as resolveDiscordMessageStickers, o as resolveMediaList, r as resolveDiscordMessageText, u as resolveDiscordChannelInfo } from "./message-utils-BKrlzFtM.js";
10
10
  import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-DC0FdEcU.js";
11
11
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { getChildLogger, logVerbose, shouldLogVerbose } from "openclaw/plugin-sdk/runtime-env";
@@ -29,7 +29,7 @@ async function loadConversationRuntime$1() {
29
29
  return await conversationRuntimePromise$1;
30
30
  }
31
31
  async function loadDiscordSendRuntime() {
32
- discordSendRuntimePromise ??= import("./send-DuW4qqIK.js").then((n) => n.t);
32
+ discordSendRuntimePromise ??= import("./send-BsBy21Te.js").then((n) => n.t);
33
33
  return await discordSendRuntimePromise;
34
34
  }
35
35
  async function resolveDiscordDmPreflightAccess(params) {
@@ -427,7 +427,7 @@ let preflightAudioRuntimePromise;
427
427
  let systemEventsRuntimePromise;
428
428
  let discordThreadingRuntimePromise;
429
429
  async function loadPluralKitRuntime() {
430
- pluralkitRuntimePromise ??= import("./pluralkit-BHV93ojA.js").then((n) => n.n);
430
+ pluralkitRuntimePromise ??= import("./pluralkit-BnCH6cHK.js").then((n) => n.n);
431
431
  return await pluralkitRuntimePromise;
432
432
  }
433
433
  async function loadPreflightAudioRuntime() {
@@ -435,11 +435,11 @@ async function loadPreflightAudioRuntime() {
435
435
  return await preflightAudioRuntimePromise;
436
436
  }
437
437
  async function loadSystemEventsRuntime() {
438
- systemEventsRuntimePromise ??= import("./system-events-CEehp53f.js");
438
+ systemEventsRuntimePromise ??= import("./system-events-DEuiLTl9.js");
439
439
  return await systemEventsRuntimePromise;
440
440
  }
441
441
  async function loadDiscordThreadingRuntime() {
442
- discordThreadingRuntimePromise ??= import("./provider-BXK0P155.js").then((n) => n.v);
442
+ discordThreadingRuntimePromise ??= import("./provider-DESHPWkv.js").then((n) => n.v);
443
443
  return await discordThreadingRuntimePromise;
444
444
  }
445
445
  function isPreflightAborted(abortSignal) {
@@ -1,17 +1,17 @@
1
- import { Ut as resolveDiscordChannelId, c as discord_exports, ft as editChannelMessage, s as chunkDiscordTextWithMode, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt-nKLxvA1s.js";
1
+ import { Ut as resolveDiscordChannelId, c as discord_exports, ft as editChannelMessage, s as chunkDiscordTextWithMode, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt-Dhym-qOF.js";
2
2
  import { f as resolveDiscordMaxLinesPerMessage } from "./accounts-ltxKLzxN.js";
3
- import { N as createDiscordRestClient, P as createDiscordRuntimeAccountContext, _ as resolveDiscordMessageFlags, d as resolveDiscordTargetChannelId } from "./send.shared-CJ6oJrVc.js";
3
+ import { N as createDiscordRestClient, P as createDiscordRuntimeAccountContext, _ as resolveDiscordMessageFlags, d as resolveDiscordTargetChannelId } from "./send.shared-C6JLgsbp.js";
4
4
  import { S as resolveTimestampMs, a as normalizeDiscordSlug, r as normalizeDiscordAllowList } from "./allow-list-CBI-M84K.js";
5
- import { a as removeReactionDiscord, f as editMessageDiscord, r as reactMessageDiscord } from "./send-DuW4qqIK.js";
6
- import "./targets-Z4SW2zZs.js";
7
- import { t as resolveDiscordConversationIdentity } from "./conversation-identity-CYgemFy7.js";
5
+ import { a as removeReactionDiscord, f as editMessageDiscord, r as reactMessageDiscord } from "./send-BsBy21Te.js";
6
+ import "./targets-JvlTzyfK.js";
7
+ import { t as resolveDiscordConversationIdentity } from "./conversation-identity-BY7sjUQh.js";
8
8
  import { t as beginDiscordInboundEventDeliveryCorrelation } from "./inbound-event-delivery-D8zHG9Lz.js";
9
- import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-C54-43UU.js";
9
+ import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-Cs--Bcn3.js";
10
10
  import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-nClS_TQx.js";
11
11
  import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-CEwuGaWT.js";
12
- import { a as resolveReplyContext, i as buildGuildLabel, n as deliverDiscordReply, r as buildDirectLabel, x as resolveDiscordThreadStarter, y as resolveDiscordAutoThreadReplyPlan } from "./provider-BXK0P155.js";
13
- import { a as resolveForwardedMediaList, o as resolveMediaList, r as resolveDiscordMessageText, s as resolveReferencedReplyMediaList } from "./message-utils-BZriBbcg.js";
14
- import { t as sendTyping } from "./typing-DudlJ-Fv.js";
12
+ import { a as resolveReplyContext, i as buildGuildLabel, n as deliverDiscordReply, r as buildDirectLabel, x as resolveDiscordThreadStarter, y as resolveDiscordAutoThreadReplyPlan } from "./provider-DESHPWkv.js";
13
+ import { a as resolveForwardedMediaList, o as resolveMediaList, r as resolveDiscordMessageText, s as resolveReferencedReplyMediaList } from "./message-utils-BKrlzFtM.js";
14
+ import { t as sendTyping } from "./typing-DtdZgo-g.js";
15
15
  import { n as buildDiscordInboundAccessContext, r as createDiscordSupplementalContextAccessChecker } from "./inbound-context-CzEAvKgx.js";
16
16
  import { buildAgentSessionKey, normalizeAccountId, resolveAccountEntry, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
17
17
  import { MessageFlags } from "discord-api-types/v10";
@@ -762,7 +762,7 @@ function createDiscordDraftPreviewController(params) {
762
762
  };
763
763
  }
764
764
  function normalizeReasoningProgressLine(text) {
765
- return text.replace(/^\s*(?:>\s*)?Reasoning:\s*/i, "").replace(/\s+/g, " ").trim();
765
+ return text.replace(/^\s*(?:>\s*)?(?:Reasoning:|Thinking\.{0,3})\s*/i, "").replace(/\s+/g, " ").trim();
766
766
  }
767
767
  function mergeReasoningProgressText(current, incoming) {
768
768
  if (!current) return incoming;
@@ -773,7 +773,7 @@ function mergeReasoningProgressText(current, incoming) {
773
773
  return `${current}${incoming}`;
774
774
  }
775
775
  function isReasoningSnapshotText(text) {
776
- return /^\s*(?:>\s*)?Reasoning:\s*/i.test(text);
776
+ return /^\s*(?:>\s*)?(?:Reasoning:|Thinking\.{0,3})\s*/i.test(text);
777
777
  }
778
778
  function isEmptyDiscordProgressLine(line) {
779
779
  if (!line || typeof line === "string") return false;
@@ -1,4 +1,4 @@
1
- import { u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-_zMU4M2x.js";
1
+ import { u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-BzelVdsY.js";
2
2
  import { a as mergeAbortSignals } from "./timeouts-CEwuGaWT.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { ComponentType, StickerFormatType } from "discord-api-types/v10";
@@ -1,6 +1,6 @@
1
- import { S as DiscordError, o as normalizeDiscordOutboundTarget, s as chunkDiscordTextWithMode, t as createDiscordSendReceipt } from "./send.receipt-nKLxvA1s.js";
1
+ import { S as DiscordError, o as normalizeDiscordOutboundTarget, s as chunkDiscordTextWithMode, t as createDiscordSendReceipt } from "./send.receipt-Dhym-qOF.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-ltxKLzxN.js";
3
- import { d as readDiscordComponentSpec } from "./components-KsP3ijoj.js";
3
+ import { d as readDiscordComponentSpec } from "./components-Cd3ZXYft.js";
4
4
  import { n as notifyDiscordInboundEventOutboundPayloadSuccess } from "./inbound-event-delivery-D8zHG9Lz.js";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { resolvePayloadMediaUrls, sendPayloadMediaSequenceOrFallback, sendTextMediaPayload } from "openclaw/plugin-sdk/reply-payload";
@@ -85,11 +85,11 @@ function normalizeDiscordApprovalPayload(payload) {
85
85
  let discordComponentSendPromise;
86
86
  let discordSharedInteractivePromise;
87
87
  async function sendDiscordComponentMessageLazy(...args) {
88
- discordComponentSendPromise ??= import("./send.components-BjAjvjmT.js").then((n) => n.i).then((module) => module.sendDiscordComponentMessage);
88
+ discordComponentSendPromise ??= import("./send.components-CIlBhjP-.js").then((n) => n.i).then((module) => module.sendDiscordComponentMessage);
89
89
  return await (await discordComponentSendPromise)(...args);
90
90
  }
91
91
  function loadDiscordSharedInteractive() {
92
- discordSharedInteractivePromise ??= import("./components-KsP3ijoj.js").then((n) => n.a);
92
+ discordSharedInteractivePromise ??= import("./components-Cd3ZXYft.js").then((n) => n.a);
93
93
  return discordSharedInteractivePromise;
94
94
  }
95
95
  function addPayloadTextFallback(spec, payload) {
@@ -124,7 +124,7 @@ async function resolveDiscordComponentSpec(payload) {
124
124
  //#region extensions/discord/src/outbound-send-context.ts
125
125
  let discordSendRuntimePromise;
126
126
  async function loadDiscordSendRuntime() {
127
- discordSendRuntimePromise ??= import("./send-DuW4qqIK.js").then((n) => n.t);
127
+ discordSendRuntimePromise ??= import("./send-BsBy21Te.js").then((n) => n.t);
128
128
  return await discordSendRuntimePromise;
129
129
  }
130
130
  function resolveDiscordOutboundTarget(params) {
@@ -314,7 +314,7 @@ function stripDiscordInternalRuntimeScaffolding(text) {
314
314
  }
315
315
  let discordThreadBindingsPromise;
316
316
  function loadDiscordThreadBindings() {
317
- discordThreadBindingsPromise ??= import("./thread-bindings-CXZ2h9DB.js").then((n) => n.t);
317
+ discordThreadBindingsPromise ??= import("./thread-bindings-BcXgbZ3-.js").then((n) => n.t);
318
318
  return discordThreadBindingsPromise;
319
319
  }
320
320
  function resolveDiscordWebhookIdentity(params) {
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll } from "./send.receipt-nKLxvA1s.js";
1
+ import { Wt as __exportAll } from "./send.receipt-Dhym-qOF.js";
2
2
  import { resolveFetch } from "openclaw/plugin-sdk/fetch-runtime";
3
3
  //#region extensions/discord/src/pluralkit.ts
4
4
  var pluralkit_exports = /* @__PURE__ */ __exportAll({ fetchPluralKitMessageInfo: () => fetchPluralKitMessageInfo });
@@ -1,23 +1,23 @@
1
- import { $ as BaseMessageInteractiveComponent, A as Message, B as Container, C as RateLimitError, D as Command, F as Modal, J as Separator, K as Row, O as CommandWithSubcommands, R as Button, Wt as __exportAll, X as TextDisplay, Y as StringSelectMenu, b as Plugin, c as discord_exports, ct as createThread, d as MessageReactionAddListener, dt as editChannel, f as MessageReactionRemoveListener, g as ThreadUpdateListener, j as User, k as Guild, l as InteractionCreateListener, m as ReadyListener, mt as getChannelMessage, p as PresenceUpdateListener, s as chunkDiscordTextWithMode, u as MessageCreateListener, y as Client } from "./send.receipt-nKLxvA1s.js";
1
+ import { $ as BaseMessageInteractiveComponent, A as Message, B as Container, C as RateLimitError, D as Command, F as Modal, J as Separator, K as Row, O as CommandWithSubcommands, R as Button, Wt as __exportAll, X as TextDisplay, Y as StringSelectMenu, b as Plugin, c as discord_exports, ct as createThread, d as MessageReactionAddListener, dt as editChannel, f as MessageReactionRemoveListener, g as ThreadUpdateListener, j as User, k as Guild, l as InteractionCreateListener, m as ReadyListener, mt as getChannelMessage, p as PresenceUpdateListener, s as chunkDiscordTextWithMode, u as MessageCreateListener, y as Client } from "./send.receipt-Dhym-qOF.js";
2
2
  import { c as resolveDiscordAccountAllowFrom, d as resolveDiscordAccountDmPolicy, f as resolveDiscordMaxLinesPerMessage, p as normalizeDiscordToken, s as resolveDiscordAccount } from "./accounts-ltxKLzxN.js";
3
- import { _ as parseDiscordComponentCustomId, b as parseDiscordModalCustomIdForInteraction, v as parseDiscordComponentCustomIdForInteraction, y as parseDiscordModalCustomId } from "./components-KsP3ijoj.js";
4
- import { a as resolveDiscordComponentEntryWithPersistence, o as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-BjAjvjmT.js";
3
+ import { _ as parseDiscordComponentCustomId, b as parseDiscordModalCustomIdForInteraction, v as parseDiscordComponentCustomIdForInteraction, y as parseDiscordModalCustomId } from "./components-Cd3ZXYft.js";
4
+ import { a as resolveDiscordComponentEntryWithPersistence, o as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-CIlBhjP-.js";
5
5
  import { c as setPresence, i as unregisterGateway, r as registerGateway } from "./gateway-registry-BKSpa4GB.js";
6
- import { L as DISCORD_REST_TIMEOUT_MS, N as createDiscordRestClient, R as validateDiscordProxyUrl, T as canViewDiscordGuildChannel, z as withValidatedDiscordProxy } from "./send.shared-CJ6oJrVc.js";
6
+ import { L as DISCORD_REST_TIMEOUT_MS, N as createDiscordRestClient, R as validateDiscordProxyUrl, T as canViewDiscordGuildChannel, z as withValidatedDiscordProxy } from "./send.shared-C6JLgsbp.js";
7
7
  import { a as summarizeDiscordResponseBody, i as isDiscordRateLimitResponseBody } from "./api-DgQLz1wq.js";
8
8
  import { S as resolveTimestampMs, _ as resolveGroupDmAllow, a as normalizeDiscordSlug, b as formatDiscordUserTag, c as resolveDiscordChannelConfigWithFallback, d as resolveDiscordGuildEntry, f as resolveDiscordMemberAccessState, i as normalizeDiscordDisplaySlug, l as resolveDiscordChannelPolicyCommandAuthorizer, m as resolveDiscordOwnerAccess, n as isDiscordGroupAllowedByPolicy, o as resolveDiscordAllowListMatch, r as normalizeDiscordAllowList, v as shouldEmitDiscordReactionNotification, y as formatDiscordReactionEmoji } from "./allow-list-CBI-M84K.js";
9
- import { s as sendVoiceMessageDiscord } from "./send-DuW4qqIK.js";
10
- import { i as formatMention, t as sendMessageDiscord } from "./send.outbound-PAYV11wW.js";
11
- import { a as getDiscordExecApprovalApprovers, s as isDiscordExecApprovalClientEnabled, t as resolveDiscordConversationIdentity } from "./conversation-identity-CYgemFy7.js";
12
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-AxDQ4jXh.js";
13
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-D7w0icpA.js";
14
- import { _ as formatThreadBindingDurationLabel, a as isThreadArchived, d as resolveDiscordChannelNameSafe, f as resolveDiscordChannelParentIdSafe, l as resolveDiscordChannelIdSafe, m as resolveDiscordChannelTopicSafe, p as resolveDiscordChannelParentSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-_zMU4M2x.js";
9
+ import { s as sendVoiceMessageDiscord } from "./send-BsBy21Te.js";
10
+ import { i as formatMention, t as sendMessageDiscord } from "./send.outbound-C0OzZAv_.js";
11
+ import { a as getDiscordExecApprovalApprovers, s as isDiscordExecApprovalClientEnabled, t as resolveDiscordConversationIdentity } from "./conversation-identity-BY7sjUQh.js";
12
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-Czrd7fOv.js";
13
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-D7hQMaaq.js";
14
+ import { _ as formatThreadBindingDurationLabel, a as isThreadArchived, d as resolveDiscordChannelNameSafe, f as resolveDiscordChannelParentIdSafe, l as resolveDiscordChannelIdSafe, m as resolveDiscordChannelTopicSafe, p as resolveDiscordChannelParentSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-BzelVdsY.js";
15
15
  import { r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-BLDNbk41.js";
16
16
  import { o as raceWithTimeout, s as withAbortTimeout } from "./timeouts-CEwuGaWT.js";
17
- import { d as resolveDiscordMessageChannelId, n as resolveDiscordForwardedMessagesTextFromSnapshots, t as resolveDiscordEmbedText, u as resolveDiscordChannelInfo } from "./message-utils-BZriBbcg.js";
17
+ import { d as resolveDiscordMessageChannelId, n as resolveDiscordForwardedMessagesTextFromSnapshots, t as resolveDiscordEmbedText, u as resolveDiscordChannelInfo } from "./message-utils-BKrlzFtM.js";
18
18
  import { t as resolveDiscordSenderIdentity } from "./sender-identity-DC0FdEcU.js";
19
19
  import { n as buildDiscordInboundAccessContext, t as buildDiscordGroupSystemPrompt } from "./inbound-context-CzEAvKgx.js";
20
- import "./approval-handler.runtime-CpNuGEHP.js";
20
+ import "./approval-handler.runtime-CRpNixJy.js";
21
21
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
22
22
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeOptionalStringifiedId, normalizeStringEntries, summarizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
23
23
  import { buildAgentSessionKey, deriveLastRoutePolicy, isAcpSessionKey, isSubagentSessionKey, parseAgentSessionKey, resolveAgentIdFromSessionKey, resolveAgentRoute } from "openclaw/plugin-sdk/routing";
@@ -415,7 +415,7 @@ function normalizeTitleContextField(raw, maxChars) {
415
415
  const DISCORD_THREAD_STARTER_CACHE_TTL_MS = 300 * 1e3;
416
416
  const DISCORD_THREAD_STARTER_CACHE_MAX = 500;
417
417
  const DISCORD_THREAD_STARTER_CACHE = /* @__PURE__ */ new Map();
418
- function __resetDiscordThreadStarterCacheForTest() {
418
+ function resetDiscordThreadStarterCacheForTest() {
419
419
  DISCORD_THREAD_STARTER_CACHE.clear();
420
420
  }
421
421
  function getCachedThreadStarter(key, now) {
@@ -751,8 +751,8 @@ async function maybeRenameDiscordAutoThread(params) {
751
751
  //#endregion
752
752
  //#region extensions/discord/src/monitor/threading.ts
753
753
  var threading_exports = /* @__PURE__ */ __exportAll({
754
- __resetDiscordThreadStarterCacheForTest: () => __resetDiscordThreadStarterCacheForTest,
755
754
  maybeCreateDiscordAutoThread: () => maybeCreateDiscordAutoThread,
755
+ resetDiscordThreadStarterCacheForTest: () => resetDiscordThreadStarterCacheForTest,
756
756
  resolveDiscordAutoThreadContext: () => resolveDiscordAutoThreadContext,
757
757
  resolveDiscordAutoThreadReplyPlan: () => resolveDiscordAutoThreadReplyPlan,
758
758
  resolveDiscordReplyDeliveryPlan: () => resolveDiscordReplyDeliveryPlan,
@@ -5308,7 +5308,7 @@ function createDiscordGatewayPlugin(params) {
5308
5308
  let wsAgent = new Agent({ lookup: discordDnsLookup$1 });
5309
5309
  if (proxy) try {
5310
5310
  validateDiscordProxyUrl(proxy);
5311
- wsAgent = new (params.__testing?.HttpsProxyAgentCtor ?? httpsProxyAgent.HttpsProxyAgent)(proxy);
5311
+ wsAgent = new (params.testing?.HttpsProxyAgentCtor ?? httpsProxyAgent.HttpsProxyAgent)(proxy);
5312
5312
  params.runtime.log?.("discord: gateway proxy enabled");
5313
5313
  } catch (err) {
5314
5314
  params.runtime.error?.(danger(`discord: invalid gateway proxy: ${String(err)}`));
@@ -5323,7 +5323,7 @@ function createDiscordGatewayPlugin(params) {
5323
5323
  gatewayInfoTimeoutMs,
5324
5324
  fetchImpl,
5325
5325
  runtime: params.runtime,
5326
- testing: params.__testing,
5326
+ testing: params.testing,
5327
5327
  ...wsAgent ? { wsAgent } : {}
5328
5328
  });
5329
5329
  }
@@ -7239,7 +7239,7 @@ async function loadConversationRuntime$1() {
7239
7239
  return await conversationRuntimePromise$1;
7240
7240
  }
7241
7241
  async function loadTypingRuntime() {
7242
- typingRuntimePromise ??= import("./typing-DudlJ-Fv.js").then((n) => n.n);
7242
+ typingRuntimePromise ??= import("./typing-DtdZgo-g.js").then((n) => n.n);
7243
7243
  return await typingRuntimePromise;
7244
7244
  }
7245
7245
  function buildDiscordComponentConversationLabel(params) {
@@ -7660,7 +7660,7 @@ async function dispatchPluginDiscordInteractiveEvent(params) {
7660
7660
  //#region extensions/discord/src/monitor/agent-components.handlers.ts
7661
7661
  let componentsRuntimePromise;
7662
7662
  async function loadComponentsRuntime() {
7663
- componentsRuntimePromise ??= import("./components-KsP3ijoj.js").then((n) => n.t);
7663
+ componentsRuntimePromise ??= import("./components-Cd3ZXYft.js").then((n) => n.t);
7664
7664
  return await componentsRuntimePromise;
7665
7665
  }
7666
7666
  async function handleDiscordComponentEvent(params) {
@@ -9182,7 +9182,7 @@ function logDiscordStartupPhase(params) {
9182
9182
  });
9183
9183
  }
9184
9184
  async function loadDiscordVoiceRuntime() {
9185
- const promise = discordVoiceRuntimePromise ?? import("./manager.runtime-DigfejdS.js");
9185
+ const promise = discordVoiceRuntimePromise ?? import("./manager.runtime-D9IyIbY-.js");
9186
9186
  discordVoiceRuntimePromise = promise;
9187
9187
  try {
9188
9188
  return await promise;
@@ -9192,7 +9192,7 @@ async function loadDiscordVoiceRuntime() {
9192
9192
  }
9193
9193
  }
9194
9194
  async function loadDiscordProviderSessionRuntime() {
9195
- const promise = discordProviderSessionRuntimePromise ?? import("./provider-session.runtime-CMvHIMEE.js");
9195
+ const promise = discordProviderSessionRuntimePromise ?? import("./provider-session.runtime-CpruByPN.js");
9196
9196
  discordProviderSessionRuntimePromise = promise;
9197
9197
  try {
9198
9198
  return await promise;