@openclaw/discord 2026.6.11 → 2026.6.33

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-4GFMoWu0.js → api-CjnGBhM3.js} +4 -1
  3. package/dist/api.js +14 -14
  4. package/dist/{approval-handler.runtime-SsFtZQA6.js → approval-handler.runtime-BWPQrzpP.js} +9 -4
  5. package/dist/{audit-CAnmyf2A.js → audit-BwJ_2OjL.js} +3 -3
  6. package/dist/{channel-YA7AbYP3.js → channel-Ddnonoy4.js} +15 -15
  7. package/dist/{channel-actions-BJ3n5Z1l.js → channel-actions-CwmIqnYN.js} +2 -2
  8. package/dist/{channel-actions.runtime-D2QTRgZ9.js → channel-actions.runtime-DvpTfaJ4.js} +5 -5
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.setup-B1zDEAR7.js → channel.setup-glZ5Y98a.js} +2 -2
  11. package/dist/{components-Dm4c_ce6.js → components-j6lTZBsT.js} +1 -1
  12. package/dist/{conversation-identity-DZ0BD7xO.js → conversation-identity-36FFBwm5.js} +2 -2
  13. package/dist/{directory-config-BK1OhHa3.js → directory-config-BYMFzL29.js} +1 -1
  14. package/dist/directory-contract-api.js +1 -1
  15. package/dist/{directory-live-DP3CmwGf.js → directory-live-9JtJCiu8.js} +2 -2
  16. package/dist/{handle-action.guild-admin-B2cOoU2D.js → handle-action.guild-admin-xxGYrp-I.js} +2 -2
  17. package/dist/index.js +1 -1
  18. package/dist/{manager.runtime-CPHxr9B3.js → manager.runtime-BK6cf2Zu.js} +3 -3
  19. package/dist/{message-handler-CKaTgBIV.js → message-handler-BqpJIavO.js} +6 -6
  20. package/dist/{message-handler.preflight--eAiaewz.js → message-handler.preflight-C90MxCcv.js} +10 -10
  21. package/dist/{message-handler.process-PhKAmrEd.js → message-handler.process-CeQ7Bd_3.js} +10 -10
  22. package/dist/{message-utils-O1vK3kPu.js → message-utils-CJeAoISH.js} +1 -1
  23. package/dist/{outbound-adapter-fO_7hbTh.js → outbound-adapter-Dxs6iKEq.js} +62 -131
  24. package/dist/{pluralkit-B3MzPaPU.js → pluralkit-DI6RYaVj.js} +1 -1
  25. package/dist/presence-cache-z1N8MbJ3.js +45 -0
  26. package/dist/{probe-CxnDikWm.js → probe-esE_Oqdm.js} +1 -1
  27. package/dist/{probe.runtime-DLFkSDVB.js → probe.runtime-C3Atgpvr.js} +1 -1
  28. package/dist/{provider-BJaJ20MY.js → provider-C7376XFH.js} +47 -22
  29. package/dist/{provider-session.runtime-D6xc-60s.js → provider-session.runtime-CCdqogGf.js} +3 -3
  30. package/dist/provider.runtime-D1m66kDS.js +2 -0
  31. package/dist/{resolve-allowlist-common-BDpBb8dF.js → resolve-allowlist-common-3gB2Gpmm.js} +1 -1
  32. package/dist/{resolve-channels-iJIjYfRw.js → resolve-channels-B3gQf8QL.js} +3 -3
  33. package/dist/{resolve-users-_fv1mm1f.js → resolve-users-BO10y5fJ.js} +3 -3
  34. package/dist/{runtime-ywXByivr.js → runtime-CFlR3L9X.js} +8 -8
  35. package/dist/runtime-api.actions.js +2 -2
  36. package/dist/runtime-api.js +20 -20
  37. package/dist/runtime-api.lookup.js +5 -5
  38. package/dist/runtime-api.monitor-4oc58TSk.js +6 -0
  39. package/dist/runtime-api.monitor.js +6 -5
  40. package/dist/runtime-api.send.js +5 -5
  41. package/dist/runtime-api.threads.js +3 -3
  42. package/dist/{send-Dc5uQX5H.js → send-JHxfT4Pk.js} +6 -4
  43. package/dist/{send.components-D4bl20xr.js → send.components-CN35E2Ck.js} +11 -6
  44. package/dist/{send.outbound-5axvwLkl.js → send.outbound-B-cA1Esv.js} +15 -8
  45. package/dist/{send.receipt-B21MspvT.js → send.receipt-CGecJDin.js} +10 -1
  46. package/dist/{send.shared-9082A2sO.js → send.shared-vcbfThdy.js} +107 -16
  47. package/dist/session-binding-contract-api.js +1 -1
  48. package/dist/setup-plugin-api.js +1 -1
  49. package/dist/{subagent-hooks-NTv6B4up.js → subagent-hooks-20wXhVzZ.js} +2 -2
  50. package/dist/subagent-hooks-api.js +1 -1
  51. package/dist/{system-events-BzaI1WpN.js → system-events-DR27TE7p.js} +1 -1
  52. package/dist/{target-resolver-agnOrtOU.js → target-resolver-CDi1gI90.js} +2 -2
  53. package/dist/targets-C6yd3y8R.js +3 -0
  54. package/dist/{thread-bindings-DNitaHVh.js → thread-bindings-DU4T6nDo.js} +4 -4
  55. package/dist/{thread-bindings.discord-api-CjYNuvZa.js → thread-bindings.discord-api-CYkr-3Gj.js} +4 -4
  56. package/dist/{thread-bindings.manager-PZvJ4TJx.js → thread-bindings.manager-BqWs1UE2.js} +3 -3
  57. package/dist/{transcripts-source-Bi8N6h5X.js → transcripts-source-D-lBI5ZD.js} +1 -1
  58. package/dist/transcripts-source-api.js +1 -1
  59. package/dist/{typing-BdRqXUN3.js → typing-xr05bL-r.js} +1 -1
  60. package/npm-shrinkwrap.json +3 -3
  61. package/package.json +4 -4
  62. package/dist/gateway-registry-DPxmW0Db.js +0 -74
  63. package/dist/provider.runtime-jNlHxUSW.js +0 -2
  64. package/dist/runtime-api.monitor-Bb5AaRzg.js +0 -6
  65. package/dist/targets-ClUPljCU.js +0 -3
@@ -1,2 +1,2 @@
1
- import { t as handleDiscordAction } from "./runtime-ywXByivr.js";
1
+ import { t as handleDiscordAction } from "./runtime-CFlR3L9X.js";
2
2
  export { handleDiscordAction };
@@ -1,5 +1,6 @@
1
1
  import { n as parseRetryAfterHeaderSeconds, t as parseDiscordRetryAfterBodySeconds } from "./retry-after-D5_VmM-_.js";
2
2
  import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
3
+ import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
3
4
  import { resolveFetch } from "openclaw/plugin-sdk/fetch-runtime";
4
5
  import { resolveRetryConfig, retryAsync } from "openclaw/plugin-sdk/retry-runtime";
5
6
  import { readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
@@ -28,6 +29,7 @@ const DISCORD_API_RETRY_DEFAULTS = {
28
29
  };
29
30
  const DISCORD_API_429_FALLBACK_RETRY_AFTER_SECONDS = 60;
30
31
  const DISCORD_API_ERROR_BODY_LIMIT_BYTES = 8 * 1024;
32
+ const DISCORD_API_RESPONSE_BODY_LIMIT_BYTES = 4 * 1024 * 1024;
31
33
  function parseDiscordApiErrorPayload(text) {
32
34
  const trimmed = text.trim();
33
35
  if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return null;
@@ -109,7 +111,8 @@ async function requestDiscord(path, token, options) {
109
111
  const retryAfter = res.status === 429 ? parseRetryAfterSeconds(text, res) ?? DISCORD_API_429_FALLBACK_RETRY_AFTER_SECONDS : void 0;
110
112
  throw new DiscordApiError(`Discord API ${path} failed (${res.status})${suffix}`, res.status, retryAfter);
111
113
  }
112
- const text = await res.text().catch(() => "");
114
+ const responseBody = await readResponseWithLimit(res, DISCORD_API_RESPONSE_BODY_LIMIT_BYTES, { onOverflow: ({ size, maxBytes }) => /* @__PURE__ */ new Error(`Discord API ${path} response body too large: ${size} bytes (limit: ${maxBytes} bytes)`) });
115
+ const text = new TextDecoder().decode(responseBody);
113
116
  if (!text.trim()) return;
114
117
  return JSON.parse(text);
115
118
  }, {
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-B21MspvT.js";
1
+ import { Ht as parseDiscordTarget, Ut as resolveDiscordChannelId, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId, o as normalizeDiscordOutboundTarget } from "./send.receipt-CGecJDin.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-DDZtT5C8.js";
3
3
  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-P19jm1lf.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-Dm4c_ce6.js";
5
- import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./api-4GFMoWu0.js";
6
- import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-agnOrtOU.js";
7
- import "./targets-ClUPljCU.js";
8
- import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-DZ0BD7xO.js";
9
- import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-YA7AbYP3.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-j6lTZBsT.js";
5
+ import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./api-CjnGBhM3.js";
6
+ import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-CDi1gI90.js";
7
+ import "./targets-C6yd3y8R.js";
8
+ import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-36FFBwm5.js";
9
+ import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-Ddnonoy4.js";
10
10
  import { i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, o as mergeAbortSignals, r as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-C5TBc_9x.js";
11
11
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
12
- import { t as discordSetupPlugin } from "./channel.setup-B1zDEAR7.js";
13
- import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-NTv6B4up.js";
14
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-B2cOoU2D.js";
15
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-BK1OhHa3.js";
16
- import { t as fetchPluralKitMessageInfo } from "./pluralkit-B3MzPaPU.js";
17
- import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-CxnDikWm.js";
12
+ import { t as discordSetupPlugin } from "./channel.setup-glZ5Y98a.js";
13
+ import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-20wXhVzZ.js";
14
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-xxGYrp-I.js";
15
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-BYMFzL29.js";
16
+ import { t as fetchPluralKitMessageInfo } from "./pluralkit-DI6RYaVj.js";
17
+ import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-esE_Oqdm.js";
18
18
  import { t as collectDiscordSecurityAuditFindings } from "./security-audit-Bh_65L5C.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-D2QTRgZ9.js")).handleDiscordMessageAction(...args);
21
+ const handleDiscordMessageAction = async (...args) => (await import("./channel-actions.runtime-DvpTfaJ4.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, R as Button, Wt as __exportAll, X as TextDisplay, ft as editChannelMessage, j as serializePayload, nt as createUserDmChannel, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt-B21MspvT.js";
1
+ import { B as Container, J as Separator, K as Row, R as Button, Wt as __exportAll, X as TextDisplay, ft as editChannelMessage, j as serializePayload, nt as createUserDmChannel, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt-CGecJDin.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-DDZtT5C8.js";
3
- import { F as createDiscordClient, b as stripUndefinedFields } from "./send.shared-9082A2sO.js";
4
- import { i as shouldHandleDiscordApprovalRequest, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-DZ0BD7xO.js";
3
+ import { I as createDiscordClient, _ as createDiscordMessageNonce, x as stripUndefinedFields } from "./send.shared-vcbfThdy.js";
4
+ import { i as shouldHandleDiscordApprovalRequest, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-36FFBwm5.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";
@@ -372,7 +372,12 @@ const discordApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
372
372
  token: resolved.context.token,
373
373
  accountId: resolved.accountId
374
374
  });
375
- const message = await discordRequest(() => createChannelMessage(rest, preparedTarget.discordChannelId, { body: pendingPayload.body }), plannedTarget.surface === "origin" ? "send-approval-channel" : "send-approval");
375
+ const body = {
376
+ ...pendingPayload.body,
377
+ nonce: createDiscordMessageNonce(),
378
+ enforce_nonce: true
379
+ };
380
+ const message = await discordRequest(() => createChannelMessage(rest, preparedTarget.discordChannelId, { body }), plannedTarget.surface === "origin" ? "send-approval-channel" : "send-approval", { safety: "nonce-protected-create" });
376
381
  if (!message?.id) {
377
382
  if (plannedTarget.surface === "origin") logError("discord approvals: failed to send to channel");
378
383
  else if (preparedTarget.recipientUserId) logError(`discord approvals: failed to send message to user ${preparedTarget.recipientUserId}`);
@@ -1,7 +1,7 @@
1
- import { Wt as __exportAll } from "./send.receipt-B21MspvT.js";
1
+ import { Wt as __exportAll } from "./send.receipt-CGecJDin.js";
2
2
  import { t as inspectDiscordAccount } from "./account-inspect-DDZtT5C8.js";
3
- import { O as fetchChannelPermissionsDiscord } from "./send.shared-9082A2sO.js";
4
- import "./send-Dc5uQX5H.js";
3
+ import { k as fetchChannelPermissionsDiscord } from "./send.shared-vcbfThdy.js";
4
+ import "./send-JHxfT4Pk.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-B21MspvT.js";
1
+ import { Ht as parseDiscordTarget, a as normalizeDiscordMessagingTarget, i as looksLikeDiscordTargetId } from "./send.receipt-CGecJDin.js";
2
2
  import { c as resolveDiscordAccountAllowFrom, r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-P19jm1lf.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-Dm4c_ce6.js";
4
+ import { x as resolveDiscordOutboundSessionRoute } from "./components-j6lTZBsT.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-DZ0BD7xO.js";
6
+ import { c as shouldSuppressLocalDiscordExecApprovalPrompt, n as resolveDiscordCurrentConversationIdentity, r as getDiscordApprovalCapability } from "./conversation-identity-36FFBwm5.js";
7
7
  import { r as resolveRequiredDiscordChannelPermissions } from "./audit-core-xwjIczO0.js";
8
- import { t as discordMessageActions$1 } from "./channel-actions-BJ3n5Z1l.js";
8
+ import { t as discordMessageActions$1 } from "./channel-actions-CwmIqnYN.js";
9
9
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-Chs3HgGa.js";
10
10
  import { d as withAbortTimeout } from "./timeouts-C5TBc_9x.js";
11
- import { n as discordOutbound } from "./outbound-adapter-fO_7hbTh.js";
11
+ import { n as discordOutbound } from "./outbound-adapter-Dxs6iKEq.js";
12
12
  import { a as discordSecurityAdapter, i as discordSetupAdapter, n as discordConfigAdapter, t as createDiscordPluginBase } from "./shared-D11J9bXI.js";
13
13
  import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
14
14
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -126,29 +126,29 @@ let discordProbeRuntimePromise;
126
126
  let discordAuditModulePromise;
127
127
  let discordSendModulePromise;
128
128
  let discordDirectoryLiveModulePromise;
129
- const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-BK1OhHa3.js").then((n) => n.t));
130
- const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-iJIjYfRw.js").then((n) => n.n));
131
- const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-_fv1mm1f.js").then((n) => n.n));
132
- const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-PZvJ4TJx.js").then((n) => n.a));
133
- const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-agnOrtOU.js").then((n) => n.r));
129
+ const loadDiscordDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-BYMFzL29.js").then((n) => n.t));
130
+ const loadDiscordResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-B3gQf8QL.js").then((n) => n.n));
131
+ const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-BO10y5fJ.js").then((n) => n.n));
132
+ const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-BqWs1UE2.js").then((n) => n.a));
133
+ const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-CDi1gI90.js").then((n) => n.r));
134
134
  async function loadDiscordProviderRuntime() {
135
- discordProviderRuntimePromise ??= import("./provider.runtime-jNlHxUSW.js");
135
+ discordProviderRuntimePromise ??= import("./provider.runtime-D1m66kDS.js");
136
136
  return await discordProviderRuntimePromise;
137
137
  }
138
138
  async function loadDiscordProbeRuntime() {
139
- discordProbeRuntimePromise ??= import("./probe.runtime-DLFkSDVB.js");
139
+ discordProbeRuntimePromise ??= import("./probe.runtime-C3Atgpvr.js");
140
140
  return await discordProbeRuntimePromise;
141
141
  }
142
142
  async function loadDiscordAuditModule() {
143
- discordAuditModulePromise ??= import("./audit-CAnmyf2A.js").then((n) => n.n);
143
+ discordAuditModulePromise ??= import("./audit-BwJ_2OjL.js").then((n) => n.n);
144
144
  return await discordAuditModulePromise;
145
145
  }
146
146
  async function loadDiscordSendModule() {
147
- discordSendModulePromise ??= import("./send-Dc5uQX5H.js").then((n) => n.t);
147
+ discordSendModulePromise ??= import("./send-JHxfT4Pk.js").then((n) => n.t);
148
148
  return await discordSendModulePromise;
149
149
  }
150
150
  async function loadDiscordDirectoryLiveModule() {
151
- discordDirectoryLiveModulePromise ??= import("./directory-live-DP3CmwGf.js").then((n) => n.t);
151
+ discordDirectoryLiveModulePromise ??= import("./directory-live-9JtJCiu8.js").then((n) => n.t);
152
152
  return await discordDirectoryLiveModulePromise;
153
153
  }
154
154
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { t as inspectDiscordAccount } from "./account-inspect-DDZtT5C8.js";
2
2
  import { r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-P19jm1lf.js";
3
- import { d as readDiscordComponentSpec } from "./components-Dm4c_ce6.js";
3
+ import { d as readDiscordComponentSpec } from "./components-j6lTZBsT.js";
4
4
  import { i as withDiscordInboundEventDeliveryMetadata } from "./inbound-event-delivery-CEPlt2uz.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { createUnionActionGate } from "openclaw/plugin-sdk/channel-actions";
@@ -42,7 +42,7 @@ function resolveDiscordActionExecutionMode({ action }) {
42
42
  }
43
43
  let discordChannelActionsRuntimePromise;
44
44
  async function loadDiscordChannelActionsRuntime() {
45
- discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-D2QTRgZ9.js");
45
+ discordChannelActionsRuntimePromise ??= import("./channel-actions.runtime-DvpTfaJ4.js");
46
46
  return await discordChannelActionsRuntimePromise;
47
47
  }
48
48
  function listDiscoverableDiscordAccounts(cfg) {
@@ -1,10 +1,10 @@
1
- import { Ut as resolveDiscordChannelId } from "./send.receipt-B21MspvT.js";
2
- import { i as buildDiscordPresentationComponents, r as buildDiscordInteractiveComponents } from "./components-Dm4c_ce6.js";
3
- import { t as handleDiscordAction } from "./runtime-ywXByivr.js";
4
- import "./targets-ClUPljCU.js";
1
+ import { Ut as resolveDiscordChannelId } from "./send.receipt-CGecJDin.js";
2
+ import { i as buildDiscordPresentationComponents, r as buildDiscordInteractiveComponents } from "./components-j6lTZBsT.js";
3
+ import { t as handleDiscordAction } from "./runtime-CFlR3L9X.js";
4
+ import "./targets-C6yd3y8R.js";
5
5
  import "./action-runtime-api.js";
6
6
  import { r as notifyDiscordInboundEventOutboundSuccess } from "./inbound-event-delivery-CEPlt2uz.js";
7
- import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-B2cOoU2D.js";
7
+ import { t as tryHandleDiscordMessageActionGuildAdmin } from "./handle-action.guild-admin-xxGYrp-I.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-YA7AbYP3.js";
1
+ import { t as discordPlugin } from "./channel-Ddnonoy4.js";
2
2
  export { discordPlugin };
@@ -1,8 +1,8 @@
1
1
  import { n as inspectDiscordConfiguredToken } from "./account-inspect-DDZtT5C8.js";
2
2
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, l as resolveDiscordAccountConfig, m as resolveDiscordToken, o as resolveDefaultDiscordAccountId } from "./accounts-P19jm1lf.js";
3
3
  import { i as discordSetupAdapter, t as createDiscordPluginBase } from "./shared-D11J9bXI.js";
4
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-iJIjYfRw.js";
5
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-_fv1mm1f.js";
4
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-B3gQf8QL.js";
5
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-BO10y5fJ.js";
6
6
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { createAccountScopedAllowFromSection, createAccountScopedGroupAccessSection, createLegacyCompatChannelDmPolicy, createSetupTranslator, createStandardChannelSetupStatus, parseMentionOrPrefixedId, patchChannelConfigForAccount, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup-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-B21MspvT.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-CGecJDin.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";
@@ -1,4 +1,4 @@
1
- import { Ht as parseDiscordTarget } from "./send.receipt-B21MspvT.js";
1
+ import { Ht as parseDiscordTarget } from "./send.receipt-CGecJDin.js";
2
2
  import { r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-P19jm1lf.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";
@@ -231,7 +231,7 @@ function createDiscordApprovalCapability(configOverride) {
231
231
  request,
232
232
  configOverride
233
233
  }),
234
- load: async () => (await import("./approval-handler.runtime-SsFtZQA6.js").then((n) => n.t)).discordApprovalNativeRuntime
234
+ load: async () => (await import("./approval-handler.runtime-BWPQrzpP.js").then((n) => n.t)).discordApprovalNativeRuntime
235
235
  })
236
236
  });
237
237
  }
@@ -1,4 +1,4 @@
1
- import { Wt as __exportAll } from "./send.receipt-B21MspvT.js";
1
+ import { Wt as __exportAll } from "./send.receipt-CGecJDin.js";
2
2
  import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, o as resolveDefaultDiscordAccountId } from "./accounts-P19jm1lf.js";
3
3
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
4
4
  import { createResolvedDirectoryEntriesLister } from "openclaw/plugin-sdk/directory-config-runtime";
@@ -1,4 +1,4 @@
1
- import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-BK1OhHa3.js";
1
+ import { n as listDiscordDirectoryGroupsFromConfig, r as listDiscordDirectoryPeersFromConfig } from "./directory-config-BYMFzL29.js";
2
2
  //#region extensions/discord/directory-contract-api.ts
3
3
  const discordDirectoryContractPlugin = {
4
4
  id: "discord",
@@ -1,6 +1,6 @@
1
- import { Wt as __exportAll } from "./send.receipt-B21MspvT.js";
1
+ import { Wt as __exportAll } from "./send.receipt-CGecJDin.js";
2
2
  import { p as normalizeDiscordToken, s as resolveDiscordAccount } from "./accounts-P19jm1lf.js";
3
- import { n as fetchDiscord } from "./api-4GFMoWu0.js";
3
+ import { n as fetchDiscord } from "./api-CjnGBhM3.js";
4
4
  import { a as normalizeDiscordSlug } from "./allow-list-C-MqM-B_.js";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/routing";
@@ -1,6 +1,6 @@
1
- import { a as readDiscordChannelCreateParams, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-ywXByivr.js";
1
+ import { a as readDiscordChannelCreateParams, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-CFlR3L9X.js";
2
2
  import "./action-runtime-api.js";
3
- import { n as isTrustedRequesterGuildAdminAction } from "./channel-actions-BJ3n5Z1l.js";
3
+ import { n as isTrustedRequesterGuildAdminAction } from "./channel-actions-CwmIqnYN.js";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { readNonNegativeIntegerParam, readPositiveIntegerParam, readStringArrayParam, readStringParam } from "openclaw/plugin-sdk/agent-runtime";
6
6
  //#region extensions/discord/src/actions/handle-action.guild-admin.ts
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { registerDiscordSubagentHooks } from "./subagent-hooks-api.js";
2
- import { t as discordVoiceTranscriptsSourceProvider } from "./transcripts-source-Bi8N6h5X.js";
2
+ import { t as discordVoiceTranscriptsSourceProvider } from "./transcripts-source-D-lBI5ZD.js";
3
3
  import "./transcripts-source-api.js";
4
4
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
5
5
  //#region extensions/discord/index.ts
@@ -1,9 +1,9 @@
1
- import { Ht as parseDiscordTarget, _ as VoiceStateUpdateListener, c as discord_exports, h as ResumedListener, jt as getGuildVoiceState, m as ReadyListener } from "./send.receipt-B21MspvT.js";
1
+ import { Ht as parseDiscordTarget, _ as VoiceStateUpdateListener, c as discord_exports, h as ResumedListener, jt as getGuildVoiceState, m as ReadyListener } from "./send.receipt-CGecJDin.js";
2
2
  import { c as resolveDiscordAccountAllowFrom } from "./accounts-P19jm1lf.js";
3
3
  import { a as normalizeDiscordSlug, b as formatDiscordUserTag, m as resolveDiscordOwnerAccess } from "./allow-list-C-MqM-B_.js";
4
- import { o as formatMention } from "./send.outbound-5axvwLkl.js";
4
+ import { o as formatMention } from "./send.outbound-B-cA1Esv.js";
5
5
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.js";
6
- import { d as resolveDiscordVoiceEnabled, p as buildDiscordGroupSystemPrompt, s as authorizeDiscordVoiceIngress } from "./provider-BJaJ20MY.js";
6
+ import { d as resolveDiscordVoiceEnabled, p as buildDiscordGroupSystemPrompt, s as authorizeDiscordVoiceIngress } from "./provider-C7376XFH.js";
7
7
  import { createRequire } from "node:module";
8
8
  import { asBoolean, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
@@ -1,8 +1,8 @@
1
- import { I as createDiscordRestClient } from "./send.shared-9082A2sO.js";
1
+ import { L as createDiscordRestClient } from "./send.shared-vcbfThdy.js";
2
2
  import { o as mergeAbortSignals } from "./timeouts-C5TBc_9x.js";
3
- import { d as resolveDiscordChannelNameSafe, l as resolveDiscordChannelIdSafe, p as resolveDiscordChannelParentSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-CjYNuvZa.js";
4
- import { c as hasDiscordMessageStickers, d as resolveDiscordMessageChannelId, r as resolveDiscordMessageText } from "./message-utils-O1vK3kPu.js";
5
- import { t as sendTyping } from "./typing-BdRqXUN3.js";
3
+ import { d as resolveDiscordChannelNameSafe, l as resolveDiscordChannelIdSafe, p as resolveDiscordChannelParentSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-CYkr-3Gj.js";
4
+ import { c as hasDiscordMessageStickers, d as resolveDiscordMessageChannelId, r as resolveDiscordMessageText } from "./message-utils-CJeAoISH.js";
5
+ import { t as sendTyping } from "./typing-xr05bL-r.js";
6
6
  import { danger, logVerbose } from "openclaw/plugin-sdk/runtime-env";
7
7
  import { createChannelRunQueue, createTypingCallbacks, resolveChannelMessageSourceReplyDeliveryMode } from "openclaw/plugin-sdk/channel-outbound";
8
8
  import { resolveOpenProviderRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
@@ -178,7 +178,7 @@ function resolveDiscordAcceptedTypingPrestart(ctx) {
178
178
  //#region extensions/discord/src/monitor/message-run-queue.ts
179
179
  let messageProcessRuntimePromise;
180
180
  async function loadMessageProcessRuntime() {
181
- messageProcessRuntimePromise ??= import("./message-handler.process-PhKAmrEd.js");
181
+ messageProcessRuntimePromise ??= import("./message-handler.process-CeQ7Bd_3.js");
182
182
  return await messageProcessRuntimePromise;
183
183
  }
184
184
  async function processDiscordQueuedMessage(params) {
@@ -307,7 +307,7 @@ function createDiscordReplyTypingFeedback(params) {
307
307
  //#region extensions/discord/src/monitor/message-handler.ts
308
308
  let messagePreflightRuntimePromise;
309
309
  async function loadMessagePreflightRuntime() {
310
- messagePreflightRuntimePromise ??= import("./message-handler.preflight--eAiaewz.js");
310
+ messagePreflightRuntimePromise ??= import("./message-handler.preflight-C90MxCcv.js");
311
311
  return await messagePreflightRuntimePromise;
312
312
  }
313
313
  function isNonEmptyString(value) {
@@ -1,12 +1,12 @@
1
- import { c as discord_exports, k as Message, mt as getChannelMessage } from "./send.receipt-B21MspvT.js";
1
+ import { c as discord_exports, k as Message, mt as getChannelMessage } from "./send.receipt-CGecJDin.js";
2
2
  import { o as resolveDefaultDiscordAccountId } from "./accounts-P19jm1lf.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-C-MqM-B_.js";
4
- import { t as resolveDiscordConversationIdentity } from "./conversation-identity-DZ0BD7xO.js";
4
+ import { t as resolveDiscordConversationIdentity } from "./conversation-identity-36FFBwm5.js";
5
5
  import { d as isRecentlyUnboundThreadWebhookMessage } from "./thread-bindings.state-iSWjCYjB.js";
6
- import { d as resolveDiscordChannelNameSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-CjYNuvZa.js";
7
- import "./thread-bindings-DNitaHVh.js";
8
- import { D as resolveDiscordDmCommandAccess, O as resolveDiscordTextCommandAccess, _ as resolveDiscordConversationRoute, b as handleDiscordDmCommandDecision, g as buildDiscordRoutePeer, v as resolveDiscordEffectiveRoute, y as shouldIgnoreStaleDiscordRouteBinding } from "./provider-BJaJ20MY.js";
9
- import { d as resolveDiscordMessageChannelId, l as resolveDiscordMessageStickers, o as resolveMediaList, r as resolveDiscordMessageText, u as resolveDiscordChannelInfo } from "./message-utils-O1vK3kPu.js";
6
+ import { d as resolveDiscordChannelNameSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-CYkr-3Gj.js";
7
+ import "./thread-bindings-DU4T6nDo.js";
8
+ import { D as resolveDiscordDmCommandAccess, O as resolveDiscordTextCommandAccess, _ as resolveDiscordConversationRoute, b as handleDiscordDmCommandDecision, g as buildDiscordRoutePeer, v as resolveDiscordEffectiveRoute, y as shouldIgnoreStaleDiscordRouteBinding } from "./provider-C7376XFH.js";
9
+ import { d as resolveDiscordMessageChannelId, l as resolveDiscordMessageStickers, o as resolveMediaList, r as resolveDiscordMessageText, u as resolveDiscordChannelInfo } from "./message-utils-CJeAoISH.js";
10
10
  import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-CEsfDF0L.js";
11
11
  import { normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { MessageReferenceType, MessageType } from "discord-api-types/v10";
@@ -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-Dc5uQX5H.js").then((n) => n.t);
32
+ discordSendRuntimePromise ??= import("./send-JHxfT4Pk.js").then((n) => n.t);
33
33
  return await discordSendRuntimePromise;
34
34
  }
35
35
  function resolveDiscordDmPairingSenderId(sender) {
@@ -435,7 +435,7 @@ let preflightAudioRuntimePromise;
435
435
  let systemEventsRuntimePromise;
436
436
  let discordThreadingRuntimePromise;
437
437
  async function loadPluralKitRuntime() {
438
- pluralkitRuntimePromise ??= import("./pluralkit-B3MzPaPU.js").then((n) => n.n);
438
+ pluralkitRuntimePromise ??= import("./pluralkit-DI6RYaVj.js").then((n) => n.n);
439
439
  return await pluralkitRuntimePromise;
440
440
  }
441
441
  async function loadPreflightAudioRuntime() {
@@ -443,11 +443,11 @@ async function loadPreflightAudioRuntime() {
443
443
  return await preflightAudioRuntimePromise;
444
444
  }
445
445
  async function loadSystemEventsRuntime() {
446
- systemEventsRuntimePromise ??= import("./system-events-BzaI1WpN.js");
446
+ systemEventsRuntimePromise ??= import("./system-events-DR27TE7p.js");
447
447
  return await systemEventsRuntimePromise;
448
448
  }
449
449
  async function loadDiscordThreadingRuntime() {
450
- discordThreadingRuntimePromise ??= import("./provider-BJaJ20MY.js").then((n) => n.S);
450
+ discordThreadingRuntimePromise ??= import("./provider-C7376XFH.js").then((n) => n.S);
451
451
  return await discordThreadingRuntimePromise;
452
452
  }
453
453
  function isPreflightAborted(abortSignal) {
@@ -1,18 +1,18 @@
1
- import { Ut as resolveDiscordChannelId, c as discord_exports, ft as editChannelMessage, s as chunkDiscordTextWithMode, st as createChannelMessage, ut as deleteChannelMessage } from "./send.receipt-B21MspvT.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-CGecJDin.js";
2
2
  import { f as resolveDiscordMaxLinesPerMessage, s as resolveDiscordAccount } from "./accounts-P19jm1lf.js";
3
- import { I as createDiscordRestClient, L as createDiscordRuntimeAccountContext, _ as resolveDiscordMessageFlags, d as resolveDiscordTargetChannelId } from "./send.shared-9082A2sO.js";
3
+ import { L as createDiscordRestClient, R as createDiscordRuntimeAccountContext, d as resolveDiscordTargetChannelId, v as resolveDiscordMessageFlags } from "./send.shared-vcbfThdy.js";
4
4
  import { S as resolveTimestampMs, a as normalizeDiscordSlug, r as normalizeDiscordAllowList } from "./allow-list-C-MqM-B_.js";
5
- import { a as removeReactionDiscord, f as editMessageDiscord, r as reactMessageDiscord } from "./send-Dc5uQX5H.js";
6
- import { a as discordTextHasTargetedMention, i as discordTextHasBroadcastMention, s as rewriteDiscordKnownMentions } from "./send.outbound-5axvwLkl.js";
7
- import "./targets-ClUPljCU.js";
8
- import { t as resolveDiscordConversationIdentity } from "./conversation-identity-DZ0BD7xO.js";
5
+ import { a as removeReactionDiscord, f as editMessageDiscord, r as reactMessageDiscord } from "./send-JHxfT4Pk.js";
6
+ import { a as discordTextHasTargetedMention, i as discordTextHasBroadcastMention, s as rewriteDiscordKnownMentions } from "./send.outbound-B-cA1Esv.js";
7
+ import "./targets-C6yd3y8R.js";
8
+ import { t as resolveDiscordConversationIdentity } from "./conversation-identity-36FFBwm5.js";
9
9
  import { t as beginDiscordInboundEventDeliveryCorrelation } from "./inbound-event-delivery-CEPlt2uz.js";
10
10
  import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-C5TBc_9x.js";
11
- import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-fO_7hbTh.js";
11
+ import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-Dxs6iKEq.js";
12
12
  import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-DXT8oJdo.js";
13
- import { C as resolveDiscordAutoThreadReplyPlan, T as resolveDiscordThreadStarter, a as buildGuildLabel, h as createDiscordSupplementalContextAccessChecker, i as buildDirectLabel, m as buildDiscordInboundAccessContext, n as deliverDiscordReply, o as resolveReplyContext, r as sanitizeDiscordFrontChannelReplyPayloads } from "./provider-BJaJ20MY.js";
14
- import { a as resolveForwardedMediaList, o as resolveMediaList, r as resolveDiscordMessageText, s as resolveReferencedReplyMediaList } from "./message-utils-O1vK3kPu.js";
15
- import { n as createDiscordReplyTypingFeedback } from "./message-handler-CKaTgBIV.js";
13
+ import { C as resolveDiscordAutoThreadReplyPlan, T as resolveDiscordThreadStarter, a as buildGuildLabel, h as createDiscordSupplementalContextAccessChecker, i as buildDirectLabel, m as buildDiscordInboundAccessContext, n as deliverDiscordReply, o as resolveReplyContext, r as sanitizeDiscordFrontChannelReplyPayloads } from "./provider-C7376XFH.js";
14
+ import { a as resolveForwardedMediaList, o as resolveMediaList, r as resolveDiscordMessageText, s as resolveReferencedReplyMediaList } from "./message-utils-CJeAoISH.js";
15
+ import { n as createDiscordReplyTypingFeedback } from "./message-handler-BqpJIavO.js";
16
16
  import { buildAgentSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
17
17
  import { MessageFlags } from "discord-api-types/v10";
18
18
  import { evaluateSupplementalContextVisibility } from "openclaw/plugin-sdk/security-runtime";
@@ -1,5 +1,5 @@
1
1
  import { o as mergeAbortSignals } from "./timeouts-C5TBc_9x.js";
2
- import { u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-CjYNuvZa.js";
2
+ import { u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-CYkr-3Gj.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { ComponentType, StickerFormatType } from "discord-api-types/v10";
5
5
  import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";