@openclaw/discord 2026.5.12 → 2026.5.14-beta.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 (60) hide show
  1. package/dist/{account-inspect-D7jL5YDH.js → account-inspect-BhtPexBW.js} +1 -1
  2. package/dist/account-inspect-api.js +1 -1
  3. package/dist/{accounts-BcwyaFd-.js → accounts-BbRDLOSB.js} +2 -1
  4. package/dist/action-runtime-api.js +1 -1
  5. package/dist/api.js +11 -11
  6. package/dist/{approval-handler.runtime-S-ircYcz.js → approval-handler.runtime-CWW7pvnT.js} +3 -3
  7. package/dist/{approval-native-Gtqpyfdj.js → approval-native-DBBOuPzt.js} +3 -3
  8. package/dist/{approval-shared-BFnWKSQD.js → approval-shared-DxKO7gfl.js} +1 -1
  9. package/dist/{audit-BliEqCEc.js → audit-CifMTQ4S.js} +3 -3
  10. package/dist/{channel-Bliqi-Qi.js → channel-Di2t5Ef3.js} +13 -13
  11. package/dist/{channel-actions-Cn_K00Vy.js → channel-actions-BfavEEmD.js} +3 -3
  12. package/dist/{channel-actions.runtime-DcsRvPnx.js → channel-actions.runtime-CwAAxp-T.js} +3 -3
  13. package/dist/channel-config-api.js +1 -1
  14. package/dist/channel-plugin-api.js +1 -1
  15. package/dist/{channel.setup-DR-xVYso.js → channel.setup-7et6c1aZ.js} +2 -2
  16. package/dist/{config-schema-D2KGskAp.js → config-schema-DnD91yKG.js} +20 -0
  17. package/dist/contract-api.js +2 -2
  18. package/dist/{directory-config-CDl4JTCA.js → directory-config-BFIM4K7-.js} +1 -1
  19. package/dist/directory-contract-api.js +1 -1
  20. package/dist/{directory-live-ApUXOSj0.js → directory-live-CdCwhQYI.js} +1 -1
  21. package/dist/{doctor-jcX_qXsS.js → doctor-CpgTyCTh.js} +2 -2
  22. package/dist/{handle-action.guild-admin-C4phin-a.js → handle-action.guild-admin-SEB7Ohbw.js} +1 -1
  23. package/dist/{manager.runtime-DqMGETqp.js → manager.runtime-DWYmpG8O.js} +101 -17
  24. package/dist/{message-handler-DIsnboy2.js → message-handler-Cg5wp_2Y.js} +4 -4
  25. package/dist/{message-handler.preflight-BRH-dv1o.js → message-handler.preflight-B4lZOc7E.js} +18 -7
  26. package/dist/{message-handler.process-Bs5wropA.js → message-handler.process-BuDy-YnE.js} +24 -20
  27. package/dist/{message-utils-ByofKwPe.js → message-utils-m_Trzh54.js} +14 -10
  28. package/dist/{outbound-adapter-lWjkSeyP.js → outbound-adapter-DXtiQgPB.js} +4 -4
  29. package/dist/{provider-DABvNRT0.js → provider-B28t_1YH.js} +13 -13
  30. package/dist/{provider-session.runtime-BZyP90-i.js → provider-session.runtime-DaeQ5NLC.js} +3 -3
  31. package/dist/provider.runtime-6_eQZwab.js +2 -0
  32. package/dist/{reply-delivery-CUSK6SA_.js → reply-delivery-DU6Dm1P4.js} +2 -2
  33. package/dist/{route-resolution-BFfF9xmG.js → route-resolution-DxF6Qn7V.js} +1 -1
  34. package/dist/{runtime-CdnAT8R5.js → runtime-C6dFeIPS.js} +6 -6
  35. package/dist/runtime-api.actions.js +2 -2
  36. package/dist/runtime-api.js +16 -16
  37. package/dist/runtime-api.lookup.js +2 -2
  38. package/dist/runtime-api.monitor-Ba1r1iSI.js +6 -0
  39. package/dist/runtime-api.monitor.js +5 -5
  40. package/dist/runtime-api.send.js +4 -4
  41. package/dist/runtime-api.threads.js +3 -3
  42. package/dist/{send-DCFuSiBi.js → send-DDM8s4P5.js} +3 -3
  43. package/dist/{send.components-DxDqPJZQ.js → send.components-Cidmc-7C.js} +3 -3
  44. package/dist/{send.outbound-PM0J0F60.js → send.outbound-DsgxtI_N.js} +2 -2
  45. package/dist/{send.shared-Dza0jdso.js → send.shared-CnvqNVpX.js} +2 -2
  46. package/dist/setup-plugin-api.js +1 -1
  47. package/dist/{shared-Yp_M6Cfp.js → shared-ljKQIIu9.js} +4 -4
  48. package/dist/{subagent-hooks-CtN-hfXy.js → subagent-hooks-DFS9GrHB.js} +2 -2
  49. package/dist/subagent-hooks-api.js +1 -1
  50. package/dist/{target-resolver-CgJei-kD.js → target-resolver-DklxEM4N.js} +2 -2
  51. package/dist/{targets-DToZUkgV.js → targets-DkUzREzb.js} +1 -1
  52. package/dist/test-api.js +3 -3
  53. package/dist/{thread-bindings-B4of4OmR.js → thread-bindings-qSEjvnb4.js} +3 -3
  54. package/dist/{thread-bindings.discord-api-BAw15EQb.js → thread-bindings.discord-api-BvPFybEu.js} +3 -3
  55. package/dist/{thread-bindings.manager-DNFl10CA.js → thread-bindings.manager-C-LpcekY.js} +2 -2
  56. package/dist/{threading-CLZ3v7-y.js → threading-D9rX0JRU.js} +1 -1
  57. package/openclaw.plugin.json +68 -0
  58. package/package.json +4 -4
  59. package/dist/provider.runtime-Cmv1SFtb.js +0 -2
  60. package/dist/runtime-api.monitor-W_dJ5EQu.js +0 -6
@@ -1,21 +1,21 @@
1
1
  import { at as editChannelMessage, et as createChannelMessage, rt as deleteChannelMessage, t as discord_exports } from "./discord-BqYcwxvG.js";
2
- import { f as resolveDiscordMaxLinesPerMessage } from "./accounts-BcwyaFd-.js";
2
+ import { f as resolveDiscordMaxLinesPerMessage } from "./accounts-BbRDLOSB.js";
3
3
  import { n as resolveDiscordChannelId } from "./target-parsing-D-H7nnh2.js";
4
4
  import { t as chunkDiscordTextWithMode } from "./chunk-DYl-_5RL.js";
5
- import { M as createDiscordRuntimeAccountContext, d as resolveDiscordTargetChannelId, j as createDiscordRestClient } from "./send.shared-Dza0jdso.js";
5
+ import { M as createDiscordRuntimeAccountContext, d as resolveDiscordTargetChannelId, j as createDiscordRestClient } from "./send.shared-CnvqNVpX.js";
6
6
  import { i as resolveTimestampMs } from "./format-D8TsaXxW.js";
7
7
  import { a as normalizeDiscordSlug, r as normalizeDiscordAllowList } from "./allow-list-n8Ki-Rt3.js";
8
- import { a as removeReactionDiscord, f as editMessageDiscord, r as reactMessageDiscord } from "./send-DCFuSiBi.js";
9
- import "./targets-DToZUkgV.js";
8
+ import { a as removeReactionDiscord, f as editMessageDiscord, r as reactMessageDiscord } from "./send-DDM8s4P5.js";
9
+ import "./targets-DkUzREzb.js";
10
10
  import { t as resolveDiscordConversationIdentity } from "./conversation-identity-CvIx6J7M.js";
11
- import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-lWjkSeyP.js";
11
+ import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-DXtiQgPB.js";
12
12
  import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-DCPAe24T.js";
13
13
  import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-C3FYXWJX.js";
14
- import { a as resolveForwardedMediaList, i as buildDiscordMediaPayload, o as resolveMediaList, r as resolveDiscordMessageText } from "./message-utils-ByofKwPe.js";
15
- import { a as resolveDiscordThreadStarter, n as resolveDiscordAutoThreadReplyPlan } from "./threading-CLZ3v7-y.js";
14
+ import { a as resolveForwardedMediaList, i as buildDiscordMediaPayload, o as resolveMediaList, r as resolveDiscordMessageText } from "./message-utils-m_Trzh54.js";
15
+ import { a as resolveDiscordThreadStarter, n as resolveDiscordAutoThreadReplyPlan } from "./threading-D9rX0JRU.js";
16
16
  import { t as sendTyping } from "./typing-_jePdFIw.js";
17
17
  import { n as buildDiscordInboundAccessContext, r as createDiscordSupplementalContextAccessChecker } from "./inbound-context-jtKcY9on.js";
18
- import { i as resolveReplyContext, n as buildDirectLabel, r as buildGuildLabel, t as deliverDiscordReply } from "./reply-delivery-CUSK6SA_.js";
18
+ import { i as resolveReplyContext, n as buildDirectLabel, r as buildGuildLabel, t as deliverDiscordReply } from "./reply-delivery-DU6Dm1P4.js";
19
19
  import { buildAgentSessionKey, normalizeAccountId, resolveAccountEntry, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
20
20
  import { evaluateSupplementalContextVisibility } from "openclaw/plugin-sdk/security-runtime";
21
21
  import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
@@ -26,7 +26,7 @@ import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
26
26
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
27
27
  import { convertMarkdownTables, stripInlineDirectiveTagsForDelivery, stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
28
28
  import { createChannelMessageReplyPipeline, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, resolveChannelMessageSourceReplyDeliveryMode } from "openclaw/plugin-sdk/channel-message";
29
- import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelProgressDraftGate, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, resolveChannelProgressDraftMaxLines, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewChunk, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-streaming";
29
+ import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelProgressDraftGate, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, mergeChannelProgressDraftLine, normalizeChannelProgressDraftLineIdentity, resolveChannelProgressDraftMaxLines, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewChunk, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-streaming";
30
30
  import { recordInboundSession, resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/conversation-runtime";
31
31
  import { EmbeddedBlockChunker, formatReasoningMessage, resolveAckReaction, resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
32
32
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
@@ -35,7 +35,7 @@ import { readSessionUpdatedAt, resolveStorePath } from "openclaw/plugin-sdk/sess
35
35
  import { formatInboundEnvelope, resolveEnvelopeFormatOptions } from "openclaw/plugin-sdk/channel-inbound";
36
36
  import { createFinalizableDraftLifecycle } from "openclaw/plugin-sdk/channel-lifecycle";
37
37
  import { finalizeInboundContext } from "openclaw/plugin-sdk/reply-dispatch-runtime";
38
- import { hasFinalInboundReplyDispatch, runInboundReplyTurn } from "openclaw/plugin-sdk/inbound-reply-dispatch";
38
+ import { hasFinalInboundReplyDispatch, recordChannelBotPairLoopAndCheckSuppression, runInboundReplyTurn } from "openclaw/plugin-sdk/inbound-reply-dispatch";
39
39
  import { buildPendingHistoryContextFromMap } from "openclaw/plugin-sdk/reply-history";
40
40
  import { DEFAULT_TIMING, createStatusReactionController, logAckFailure, logTypingFailure, shouldAckReaction } from "openclaw/plugin-sdk/channel-feedback";
41
41
  import { resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
@@ -560,13 +560,14 @@ function createDiscordDraftPreviewController(params) {
560
560
  if (!draftStream) return;
561
561
  if (options?.toolName !== void 0 && !isChannelProgressDraftWorkToolName(options.toolName)) return;
562
562
  if (isEmptyDiscordProgressLine(line)) return;
563
- const normalized = normalizeProgressLineIdentity(line);
563
+ const normalized = normalizeChannelProgressDraftLineIdentity(line);
564
564
  if (!normalized) return;
565
565
  const progressLine = typeof line === "object" && line !== void 0 ? line : normalized;
566
566
  if (discordStreamMode !== "progress") {
567
567
  if (!previewToolProgressEnabled || previewToolProgressSuppressed) return;
568
- if (normalizeProgressLineIdentity(previewToolProgressLines.at(-1)) === normalized) return;
569
- previewToolProgressLines = [...previewToolProgressLines, progressLine].slice(-resolveChannelProgressDraftMaxLines(params.discordConfig));
568
+ const nextLines = mergeChannelProgressDraftLine(previewToolProgressLines, progressLine, { maxLines: resolveChannelProgressDraftMaxLines(params.discordConfig) });
569
+ if (nextLines === previewToolProgressLines) return;
570
+ previewToolProgressLines = nextLines;
570
571
  const previewText = formatChannelProgressDraftText({
571
572
  entry: params.discordConfig,
572
573
  lines: previewToolProgressLines,
@@ -579,9 +580,7 @@ function createDiscordDraftPreviewController(params) {
579
580
  draftStream.update(previewText);
580
581
  return;
581
582
  }
582
- if (previewToolProgressEnabled && !previewToolProgressSuppressed && normalized) {
583
- if (normalizeProgressLineIdentity(previewToolProgressLines.at(-1)) !== normalized) previewToolProgressLines = [...previewToolProgressLines, progressLine].slice(-resolveChannelProgressDraftMaxLines(params.discordConfig));
584
- }
583
+ if (previewToolProgressEnabled && !previewToolProgressSuppressed && normalized) previewToolProgressLines = mergeChannelProgressDraftLine(previewToolProgressLines, progressLine, { maxLines: resolveChannelProgressDraftMaxLines(params.discordConfig) });
585
584
  const alreadyStarted = progressDraftGate.hasStarted;
586
585
  if (shouldStartDiscordProgressDraftNow(line)) await progressDraftGate.startNow();
587
586
  else await progressDraftGate.noteWork();
@@ -703,9 +702,6 @@ function mergeReasoningProgressText(current, incoming) {
703
702
  function isReasoningSnapshotText(text) {
704
703
  return /^\s*(?:>\s*)?Reasoning:\s*/i.test(text);
705
704
  }
706
- function normalizeProgressLineIdentity(line) {
707
- return (typeof line === "string" ? line : line?.text)?.replace(/\s+/g, " ").trim() ?? "";
708
- }
709
705
  function isEmptyDiscordProgressLine(line) {
710
706
  if (!line || typeof line === "string") return false;
711
707
  return line.toolName === "apply_patch" && !line.detail && !line.status;
@@ -741,8 +737,15 @@ function readToolBooleanArg(args, key) {
741
737
  return args[key] === true;
742
738
  }
743
739
  async function processDiscordMessage(ctx, observer) {
744
- const { cfg, discordConfig, accountId, token, runtime, guildHistories, historyLimit, mediaMaxBytes, textLimit, replyToMode, ackReactionScope, message, messageChannelId, isGuildMessage, isDirectMessage, isGroupDm, messageText, shouldRequireMention, canDetectMention, effectiveWasMentioned, shouldBypassMention, channelConfig, threadBindings, route, discordRestFetch, abortSignal } = ctx;
740
+ const { cfg, discordConfig, accountId, token, runtime, guildHistories, historyLimit, mediaMaxBytes, textLimit, replyToMode, ackReactionScope, message, messageChannelId, isGuildMessage, isDirectMessage, isGroupDm, messageText, shouldRequireMention, canDetectMention, effectiveWasMentioned, shouldBypassMention, channelConfig, threadBindings, route, discordRestFetch, abortSignal, botLoopProtection } = ctx;
745
741
  if (isProcessAborted(abortSignal)) return;
742
+ if (botLoopProtection) {
743
+ const botLoopResult = recordChannelBotPairLoopAndCheckSuppression(botLoopProtection);
744
+ if (botLoopResult.suppressed) {
745
+ logVerbose(`discord: bot-to-bot loop detected before dispatch setup, suppressing for ${Math.max(0, Math.ceil((botLoopResult.cooldownUntilMs - Date.now()) / 1e3))}s`);
746
+ return;
747
+ }
748
+ }
746
749
  const mediaResolveOptions = {
747
750
  fetchImpl: discordRestFetch,
748
751
  ssrfPolicy: cfg.browser?.ssrfPolicy,
@@ -1155,6 +1158,7 @@ async function processDiscordMessage(ctx, observer) {
1155
1158
  onItemEvent: async (payload) => {
1156
1159
  await draftPreview.pushToolProgress(buildChannelProgressDraftLineForEntry(discordConfig, {
1157
1160
  event: "item",
1161
+ itemId: payload.itemId,
1158
1162
  itemKind: payload.kind,
1159
1163
  title: payload.title,
1160
1164
  name: payload.name,
@@ -2,7 +2,7 @@ import { n as resolveDiscordChannelInfoSafe } from "./channel-access-BL-wemES.js
2
2
  import { a as mergeAbortSignals } from "./timeouts-C3FYXWJX.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { ComponentType, StickerFormatType } from "discord-api-types/v10";
5
- import { fetchRemoteMedia, saveMediaBuffer } from "openclaw/plugin-sdk/media-runtime";
5
+ import { saveRemoteMedia } from "openclaw/plugin-sdk/media-runtime";
6
6
  import { buildMediaPayload } from "openclaw/plugin-sdk/reply-payload";
7
7
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
8
8
  import { getFileExtension } from "openclaw/plugin-sdk/media-mime";
@@ -236,20 +236,22 @@ async function fetchDiscordMedia(params) {
236
236
  const signal = mergeAbortSignals([params.abortSignal, timeoutAbortController?.signal]);
237
237
  let timedOut = false;
238
238
  let timeoutHandle = null;
239
- const fetchPromise = fetchRemoteMedia({
239
+ const savePromise = saveRemoteMedia({
240
240
  url: params.url,
241
241
  filePathHint: params.filePathHint,
242
242
  maxBytes: params.maxBytes,
243
243
  fetchImpl: params.fetchImpl,
244
244
  ssrfPolicy: params.ssrfPolicy,
245
245
  readIdleTimeoutMs: params.readIdleTimeoutMs,
246
+ fallbackContentType: params.fallbackContentType,
247
+ originalFilename: params.originalFilename,
246
248
  ...signal ? { requestInit: { signal } } : {}
247
249
  }).catch((error) => {
248
250
  if (timedOut) return new Promise(() => {});
249
251
  throw error;
250
252
  });
251
253
  try {
252
- if (!params.totalTimeoutMs) return await fetchPromise;
254
+ if (!params.totalTimeoutMs) return await savePromise;
253
255
  const timeoutPromise = new Promise((_, reject) => {
254
256
  timeoutHandle = setTimeout(() => {
255
257
  timedOut = true;
@@ -258,7 +260,7 @@ async function fetchDiscordMedia(params) {
258
260
  }, params.totalTimeoutMs);
259
261
  timeoutHandle.unref?.();
260
262
  });
261
- return await Promise.race([fetchPromise, timeoutPromise]);
263
+ return await Promise.race([savePromise, timeoutPromise]);
262
264
  } finally {
263
265
  if (timeoutHandle) clearTimeout(timeoutHandle);
264
266
  }
@@ -273,7 +275,7 @@ async function appendResolvedMediaFromAttachments(params) {
273
275
  continue;
274
276
  }
275
277
  try {
276
- const fetched = await fetchDiscordMedia({
278
+ const saved = await fetchDiscordMedia({
277
279
  url: attachmentUrl,
278
280
  filePathHint: attachment.filename ?? attachmentUrl,
279
281
  maxBytes: params.maxBytes,
@@ -281,9 +283,10 @@ async function appendResolvedMediaFromAttachments(params) {
281
283
  ssrfPolicy: params.ssrfPolicy,
282
284
  readIdleTimeoutMs: params.readIdleTimeoutMs,
283
285
  totalTimeoutMs: params.totalTimeoutMs,
284
- abortSignal: params.abortSignal
286
+ abortSignal: params.abortSignal,
287
+ fallbackContentType: attachment.content_type,
288
+ originalFilename: attachment.filename
285
289
  });
286
- const saved = await saveMediaBuffer(fetched.buffer, fetched.contentType ?? attachment.content_type, "inbound", params.maxBytes, attachment.filename);
287
290
  params.out.push({
288
291
  path: saved.path,
289
292
  contentType: saved.contentType,
@@ -347,7 +350,7 @@ async function appendResolvedMediaFromStickers(params) {
347
350
  const candidates = resolveStickerAssetCandidates(sticker);
348
351
  let lastError;
349
352
  for (const candidate of candidates) try {
350
- const fetched = await fetchDiscordMedia({
353
+ const saved = await fetchDiscordMedia({
351
354
  url: candidate.url,
352
355
  filePathHint: candidate.fileName,
353
356
  maxBytes: params.maxBytes,
@@ -355,9 +358,10 @@ async function appendResolvedMediaFromStickers(params) {
355
358
  ssrfPolicy: params.ssrfPolicy,
356
359
  readIdleTimeoutMs: params.readIdleTimeoutMs,
357
360
  totalTimeoutMs: params.totalTimeoutMs,
358
- abortSignal: params.abortSignal
361
+ abortSignal: params.abortSignal,
362
+ fallbackContentType: inferStickerContentType(sticker),
363
+ originalFilename: candidate.fileName
359
364
  });
360
- const saved = await saveMediaBuffer(fetched.buffer, fetched.contentType, "inbound", params.maxBytes, candidate.fileName);
361
365
  params.out.push({
362
366
  path: saved.path,
363
367
  contentType: saved.contentType,
@@ -1,5 +1,5 @@
1
1
  import { h as DiscordError } from "./discord-BqYcwxvG.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BcwyaFd-.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-BbRDLOSB.js";
3
3
  import { t as chunkDiscordTextWithMode } from "./chunk-DYl-_5RL.js";
4
4
  import { i as normalizeDiscordOutboundTarget } from "./normalize-Cu94FOqy.js";
5
5
  import { t as createDiscordSendReceipt } from "./send.receipt-BAZw2Zsz.js";
@@ -87,7 +87,7 @@ function normalizeDiscordApprovalPayload(payload) {
87
87
  let discordComponentSendPromise;
88
88
  let discordSharedInteractivePromise;
89
89
  async function sendDiscordComponentMessageLazy(...args) {
90
- discordComponentSendPromise ??= import("./send.components-DxDqPJZQ.js").then((n) => n.i).then((module) => module.sendDiscordComponentMessage);
90
+ discordComponentSendPromise ??= import("./send.components-Cidmc-7C.js").then((n) => n.i).then((module) => module.sendDiscordComponentMessage);
91
91
  return await (await discordComponentSendPromise)(...args);
92
92
  }
93
93
  function loadDiscordSharedInteractive() {
@@ -126,7 +126,7 @@ async function resolveDiscordComponentSpec(payload) {
126
126
  //#region extensions/discord/src/outbound-send-context.ts
127
127
  let discordSendRuntimePromise;
128
128
  async function loadDiscordSendRuntime() {
129
- discordSendRuntimePromise ??= import("./send-DCFuSiBi.js").then((n) => n.t);
129
+ discordSendRuntimePromise ??= import("./send-DDM8s4P5.js").then((n) => n.t);
130
130
  return await discordSendRuntimePromise;
131
131
  }
132
132
  function resolveDiscordOutboundTarget(params) {
@@ -316,7 +316,7 @@ function stripDiscordInternalRuntimeScaffolding(text) {
316
316
  }
317
317
  let discordThreadBindingsPromise;
318
318
  function loadDiscordThreadBindings() {
319
- discordThreadBindingsPromise ??= import("./thread-bindings-B4of4OmR.js").then((n) => n.t);
319
+ discordThreadBindingsPromise ??= import("./thread-bindings-qSEjvnb4.js").then((n) => n.t);
320
320
  return discordThreadBindingsPromise;
321
321
  }
322
322
  function resolveDiscordWebhookIdentity(params) {
@@ -1,32 +1,32 @@
1
1
  import { C as Message, H as StringSelectMenu, K as BaseMessageInteractiveComponent, N as Container, O as Modal, S as Guild, U as TextDisplay, V as Separator, a as MessageReactionRemoveListener, b as Command, f as Client, g as RateLimitError, i as MessageReactionAddListener, j as Button, l as ThreadUpdateListener, n as InteractionCreateListener, o as PresenceUpdateListener, p as Plugin, r as MessageCreateListener, s as ReadyListener, t as discord_exports, w as User, x as CommandWithSubcommands, z as Row } from "./discord-BqYcwxvG.js";
2
2
  import { t as normalizeDiscordToken } from "./token-BZtonk7d.js";
3
- import { c as resolveDiscordAccountAllowFrom, d as resolveDiscordAccountDmPolicy, f as resolveDiscordMaxLinesPerMessage, s as resolveDiscordAccount } from "./accounts-BcwyaFd-.js";
4
- import { a as resolveDiscordComponentEntryWithPersistence, o as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-DxDqPJZQ.js";
3
+ import { c as resolveDiscordAccountAllowFrom, d as resolveDiscordAccountDmPolicy, f as resolveDiscordMaxLinesPerMessage, s as resolveDiscordAccount } from "./accounts-BbRDLOSB.js";
4
+ import { a as resolveDiscordComponentEntryWithPersistence, o as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-Cidmc-7C.js";
5
5
  import { c as setPresence, i as unregisterGateway, r as registerGateway } from "./gateway-registry-BKG4KIVC.js";
6
6
  import { t as chunkDiscordTextWithMode } from "./chunk-DYl-_5RL.js";
7
- import { F as DISCORD_REST_TIMEOUT_MS, I as validateDiscordProxyUrl, L as withValidatedDiscordProxy, j as createDiscordRestClient } from "./send.shared-Dza0jdso.js";
7
+ import { F as DISCORD_REST_TIMEOUT_MS, I as validateDiscordProxyUrl, L as withValidatedDiscordProxy, j as createDiscordRestClient } from "./send.shared-CnvqNVpX.js";
8
8
  import { a as summarizeDiscordResponseBody, i as isDiscordRateLimitResponseBody } from "./api-DzNBVTto.js";
9
9
  import { n as formatDiscordUserTag, t as formatDiscordReactionEmoji } from "./format-D8TsaXxW.js";
10
10
  import { _ as resolveGroupDmAllow, a as normalizeDiscordSlug, 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 } from "./allow-list-n8Ki-Rt3.js";
11
11
  import { t as formatMention } from "./mentions-BZoGn0ul.js";
12
12
  import { _ as parseDiscordModalCustomIdForInteraction, g as parseDiscordModalCustomId, h as parseDiscordComponentCustomIdForInteraction, m as parseDiscordComponentCustomId } from "./components-Dxq2mU57.js";
13
- import { i as isDiscordExecApprovalClientEnabled, n as getDiscordExecApprovalApprovers } from "./approval-shared-BFnWKSQD.js";
14
- import "./approval-native-Gtqpyfdj.js";
13
+ import { i as isDiscordExecApprovalClientEnabled, n as getDiscordExecApprovalApprovers } from "./approval-shared-DxKO7gfl.js";
14
+ import "./approval-native-DBBOuPzt.js";
15
15
  import { t as resolveDiscordConversationIdentity } from "./conversation-identity-CvIx6J7M.js";
16
16
  import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-JNt3Ak6P.js";
17
17
  import { t as resolveDiscordUserAllowlist } from "./resolve-users-CrjbUxrL.js";
18
- import { a as isThreadArchived, d as formatThreadBindingDurationLabel } from "./thread-bindings.discord-api-BAw15EQb.js";
18
+ import { a as isThreadArchived, d as formatThreadBindingDurationLabel } from "./thread-bindings.discord-api-BvPFybEu.js";
19
19
  import { i as resolveDiscordChannelParentIdSafe, n as resolveDiscordChannelInfoSafe, o as resolveDiscordChannelTopicSafe, r as resolveDiscordChannelNameSafe, t as resolveDiscordChannelIdSafe } from "./channel-access-BL-wemES.js";
20
20
  import { r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-BZtr8qle.js";
21
21
  import { o as raceWithTimeout, s as withAbortTimeout } from "./timeouts-C3FYXWJX.js";
22
- import { i as resolveDiscordEffectiveRoute, n as resolveDiscordBoundConversationRoute, o as handleDiscordDmCommandDecision, s as resolveDiscordDmCommandAccess } from "./route-resolution-BFfF9xmG.js";
23
- import { c as resolveDiscordChannelInfo } from "./message-utils-ByofKwPe.js";
24
- import { i as resolveDiscordThreadParentInfo } from "./threading-CLZ3v7-y.js";
22
+ import { i as resolveDiscordEffectiveRoute, n as resolveDiscordBoundConversationRoute, o as handleDiscordDmCommandDecision, s as resolveDiscordDmCommandAccess } from "./route-resolution-DxF6Qn7V.js";
23
+ import { c as resolveDiscordChannelInfo } from "./message-utils-m_Trzh54.js";
24
+ import { i as resolveDiscordThreadParentInfo } from "./threading-D9rX0JRU.js";
25
25
  import { t as resolveDiscordSenderIdentity } from "./sender-identity-w9rSI-nD.js";
26
26
  import { n as buildDiscordInboundAccessContext, t as buildDiscordGroupSystemPrompt } from "./inbound-context-jtKcY9on.js";
27
27
  import { n as resolveDiscordVoiceEnabled, t as authorizeDiscordVoiceIngress } from "./access-Dxmzr0ix.js";
28
- import { n as buildDirectLabel, r as buildGuildLabel, t as deliverDiscordReply } from "./reply-delivery-CUSK6SA_.js";
29
- import "./approval-handler.runtime-S-ircYcz.js";
28
+ import { n as buildDirectLabel, r as buildGuildLabel, t as deliverDiscordReply } from "./reply-delivery-DU6Dm1P4.js";
29
+ import "./approval-handler.runtime-CWW7pvnT.js";
30
30
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
31
31
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries, summarizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
32
32
  import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
@@ -7982,7 +7982,7 @@ function logDiscordStartupPhase(params) {
7982
7982
  });
7983
7983
  }
7984
7984
  async function loadDiscordVoiceRuntime() {
7985
- const promise = discordVoiceRuntimePromise ?? import("./manager.runtime-DqMGETqp.js");
7985
+ const promise = discordVoiceRuntimePromise ?? import("./manager.runtime-DWYmpG8O.js");
7986
7986
  discordVoiceRuntimePromise = promise;
7987
7987
  try {
7988
7988
  return await promise;
@@ -7992,7 +7992,7 @@ async function loadDiscordVoiceRuntime() {
7992
7992
  }
7993
7993
  }
7994
7994
  async function loadDiscordProviderSessionRuntime() {
7995
- const promise = discordProviderSessionRuntimePromise ?? import("./provider-session.runtime-BZyP90-i.js");
7995
+ const promise = discordProviderSessionRuntimePromise ?? import("./provider-session.runtime-DaeQ5NLC.js");
7996
7996
  discordProviderSessionRuntimePromise = promise;
7997
7997
  try {
7998
7998
  return await promise;
@@ -1,6 +1,6 @@
1
- import { a as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-B4of4OmR.js";
2
- import { n as createNoopThreadBindingManager, r as createThreadBindingManager } from "./thread-bindings.manager-DNFl10CA.js";
3
- import { t as createDiscordMessageHandler } from "./message-handler-DIsnboy2.js";
1
+ import { a as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-qSEjvnb4.js";
2
+ import { n as createNoopThreadBindingManager, r as createThreadBindingManager } from "./thread-bindings.manager-C-LpcekY.js";
3
+ import { t as createDiscordMessageHandler } from "./message-handler-Cg5wp_2Y.js";
4
4
  import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
5
5
  import { getAcpSessionManager, isAcpRuntimeError } from "openclaw/plugin-sdk/acp-runtime";
6
6
  export { createDiscordMessageHandler, createNoopThreadBindingManager, createThreadBindingManager, getAcpSessionManager, isAcpRuntimeError, reconcileAcpThreadBindingsOnStartup, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled };
@@ -0,0 +1,2 @@
1
+ import { t as monitorDiscordProvider } from "./provider-B28t_1YH.js";
2
+ export { monitorDiscordProvider };
@@ -1,6 +1,6 @@
1
1
  import { i as resolveTimestampMs } from "./format-D8TsaXxW.js";
2
- import { s as sendVoiceMessageDiscord } from "./send-DCFuSiBi.js";
3
- import { t as sendMessageDiscord } from "./send.outbound-PM0J0F60.js";
2
+ import { s as sendVoiceMessageDiscord } from "./send-DDM8s4P5.js";
3
+ import { t as sendMessageDiscord } from "./send.outbound-DsgxtI_N.js";
4
4
  import { t as resolveDiscordSenderIdentity } from "./sender-identity-w9rSI-nD.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
@@ -1,4 +1,4 @@
1
- import { w as canViewDiscordGuildChannel } from "./send.shared-Dza0jdso.js";
1
+ import { w as canViewDiscordGuildChannel } from "./send.shared-CnvqNVpX.js";
2
2
  import { r as normalizeDiscordAllowList } from "./allow-list-n8Ki-Rt3.js";
3
3
  import { deriveLastRoutePolicy, isAcpSessionKey, isSubagentSessionKey, parseAgentSessionKey, resolveAgentIdFromSessionKey, resolveAgentRoute } from "openclaw/plugin-sdk/routing";
4
4
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
@@ -1,12 +1,12 @@
1
- import { o as resolveDefaultDiscordAccountId, t as createDiscordActionGate } from "./accounts-BcwyaFd-.js";
1
+ import { o as resolveDefaultDiscordAccountId, t as createDiscordActionGate } from "./accounts-BbRDLOSB.js";
2
2
  import { n as resolveDiscordChannelId } from "./target-parsing-D-H7nnh2.js";
3
- import { c as jsonResult, d as readNumberParam, f as readReactionParams, g as withNormalizedTimestamp, h as resolvePollMaxSelections, l as parseAvailableTags, m as readStringParam, p as readStringArrayParam, r as sendDiscordComponentMessage, s as assertMediaNotDataUrl, u as readBooleanParam } from "./send.components-DxDqPJZQ.js";
3
+ import { c as jsonResult, d as readNumberParam, f as readReactionParams, g as withNormalizedTimestamp, h as resolvePollMaxSelections, l as parseAvailableTags, m as readStringParam, p as readStringArrayParam, r as sendDiscordComponentMessage, s as assertMediaNotDataUrl, u as readBooleanParam } from "./send.components-Cidmc-7C.js";
4
4
  import { n as getGateway, o as getPresence } from "./gateway-registry-BKG4KIVC.js";
5
- import { M as createDiscordRuntimeAccountContext, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord, d as resolveDiscordTargetChannelId } from "./send.shared-Dza0jdso.js";
6
- import { A as removeRoleDiscord, B as removeChannelPermissionDiscord, C as fetchChannelInfoDiscord, D as kickMemberDiscord, E as fetchVoiceStatusDiscord, F as uploadStickerDiscord, I as createChannelDiscord, L as deleteChannelDiscord, M as timeoutMemberDiscord, N as listGuildEmojisDiscord, O as listGuildChannelsDiscord, P as uploadEmojiDiscord, R as editChannelDiscord, S as createScheduledEventDiscord, T as fetchRoleInfoDiscord, V as setChannelPermissionDiscord, _ as readMessagesDiscord, a as removeReactionDiscord, b as addRoleDiscord, d as deleteMessageDiscord, f as editMessageDiscord, g as pinMessageDiscord, h as listThreadsDiscord, i as removeOwnReactionsDiscord, j as resolveEventCoverImage, k as listScheduledEventsDiscord, l as DiscordThreadInitialMessageError, m as listPinsDiscord, n as fetchReactionsDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, w as fetchMemberInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as moveChannelDiscord } from "./send-DCFuSiBi.js";
7
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-PM0J0F60.js";
5
+ import { M as createDiscordRuntimeAccountContext, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord, d as resolveDiscordTargetChannelId } from "./send.shared-CnvqNVpX.js";
6
+ import { A as removeRoleDiscord, B as removeChannelPermissionDiscord, C as fetchChannelInfoDiscord, D as kickMemberDiscord, E as fetchVoiceStatusDiscord, F as uploadStickerDiscord, I as createChannelDiscord, L as deleteChannelDiscord, M as timeoutMemberDiscord, N as listGuildEmojisDiscord, O as listGuildChannelsDiscord, P as uploadEmojiDiscord, R as editChannelDiscord, S as createScheduledEventDiscord, T as fetchRoleInfoDiscord, V as setChannelPermissionDiscord, _ as readMessagesDiscord, a as removeReactionDiscord, b as addRoleDiscord, d as deleteMessageDiscord, f as editMessageDiscord, g as pinMessageDiscord, h as listThreadsDiscord, i as removeOwnReactionsDiscord, j as resolveEventCoverImage, k as listScheduledEventsDiscord, l as DiscordThreadInitialMessageError, m as listPinsDiscord, n as fetchReactionsDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, w as fetchMemberInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as moveChannelDiscord } from "./send-DDM8s4P5.js";
7
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DsgxtI_N.js";
8
8
  import { c as readDiscordComponentSpec } from "./components-Dxq2mU57.js";
9
- import "./targets-DToZUkgV.js";
9
+ import "./targets-DkUzREzb.js";
10
10
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { PermissionFlagsBits } from "discord-api-types/v10";
12
12
  //#region extensions/discord/src/actions/runtime.shared.ts
@@ -1,3 +1,3 @@
1
- import { a as readDiscordChannelCreateParams, c as readDiscordParentIdParam, i as requiredGuildPermissionForModerationAction, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-CdnAT8R5.js";
2
- import { t as discordMessageActions } from "./channel-actions-Cn_K00Vy.js";
1
+ import { a as readDiscordChannelCreateParams, c as readDiscordParentIdParam, i as requiredGuildPermissionForModerationAction, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-C6dFeIPS.js";
2
+ import { t as discordMessageActions } from "./channel-actions-BfavEEmD.js";
3
3
  export { discordMessageActions, handleDiscordAction, isDiscordModerationAction, readDiscordChannelCreateParams, readDiscordChannelEditParams, readDiscordChannelMoveParams, readDiscordModerationCommand, readDiscordParentIdParam, requiredGuildPermissionForModerationAction };
@@ -1,31 +1,31 @@
1
1
  import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-BaJRt05p.js";
2
- import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-DxDqPJZQ.js";
2
+ import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-Cidmc-7C.js";
3
3
  import { a as clearPresences, c as setPresence, i as unregisterGateway, n as getGateway, o as getPresence, r as registerGateway, s as presenceCacheSize, t as clearGateways } from "./gateway-registry-BKG4KIVC.js";
4
- import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-Dza0jdso.js";
4
+ import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-CnvqNVpX.js";
5
5
  import { _ as resolveGroupDmAllow, a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, d as resolveDiscordGuildEntry, g as resolveDiscordShouldRequireMention, n as isDiscordGroupAllowedByPolicy, r as normalizeDiscordAllowList, s as resolveDiscordChannelConfig, t as allowListMatches, u as resolveDiscordCommandAuthorized, v as shouldEmitDiscordReactionNotification } from "./allow-list-n8Ki-Rt3.js";
6
- import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-ApUXOSj0.js";
7
- import { A as removeRoleDiscord, B as removeChannelPermissionDiscord, C as fetchChannelInfoDiscord, D as kickMemberDiscord, E as fetchVoiceStatusDiscord, F as uploadStickerDiscord, I as createChannelDiscord, L as deleteChannelDiscord, M as timeoutMemberDiscord, N as listGuildEmojisDiscord, O as listGuildChannelsDiscord, P as uploadEmojiDiscord, R as editChannelDiscord, S as createScheduledEventDiscord, T as fetchRoleInfoDiscord, V as setChannelPermissionDiscord, _ as readMessagesDiscord, a as removeReactionDiscord, b as addRoleDiscord, c as sendWebhookMessageDiscord, d as deleteMessageDiscord, f as editMessageDiscord, g as pinMessageDiscord, h as listThreadsDiscord, i as removeOwnReactionsDiscord, j as resolveEventCoverImage, k as listScheduledEventsDiscord, m as listPinsDiscord, n as fetchReactionsDiscord, o as sendTypingDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, w as fetchMemberInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as moveChannelDiscord } from "./send-DCFuSiBi.js";
8
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-PM0J0F60.js";
9
- import { a as readDiscordChannelCreateParams, c as readDiscordParentIdParam, i as requiredGuildPermissionForModerationAction, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-CdnAT8R5.js";
6
+ import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-CdCwhQYI.js";
7
+ import { A as removeRoleDiscord, B as removeChannelPermissionDiscord, C as fetchChannelInfoDiscord, D as kickMemberDiscord, E as fetchVoiceStatusDiscord, F as uploadStickerDiscord, I as createChannelDiscord, L as deleteChannelDiscord, M as timeoutMemberDiscord, N as listGuildEmojisDiscord, O as listGuildChannelsDiscord, P as uploadEmojiDiscord, R as editChannelDiscord, S as createScheduledEventDiscord, T as fetchRoleInfoDiscord, V as setChannelPermissionDiscord, _ as readMessagesDiscord, a as removeReactionDiscord, b as addRoleDiscord, c as sendWebhookMessageDiscord, d as deleteMessageDiscord, f as editMessageDiscord, g as pinMessageDiscord, h as listThreadsDiscord, i as removeOwnReactionsDiscord, j as resolveEventCoverImage, k as listScheduledEventsDiscord, m as listPinsDiscord, n as fetchReactionsDiscord, o as sendTypingDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, w as fetchMemberInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as moveChannelDiscord } from "./send-DDM8s4P5.js";
8
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DsgxtI_N.js";
9
+ import { a as readDiscordChannelCreateParams, c as readDiscordParentIdParam, i as requiredGuildPermissionForModerationAction, n as isDiscordModerationAction, o as readDiscordChannelEditParams, r as readDiscordModerationCommand, s as readDiscordChannelMoveParams, t as handleDiscordAction } from "./runtime-C6dFeIPS.js";
10
10
  import { r as setDiscordRuntime } from "./runtime-BqCoo-zp.js";
11
- import { t as discordMessageActions } from "./channel-actions-Cn_K00Vy.js";
11
+ import { t as discordMessageActions } from "./channel-actions-BfavEEmD.js";
12
12
  import { C as resolveThreadBindingMaxAgeMs, S as resolveThreadBindingMaxAgeExpiresAt, b as resolveThreadBindingIdleTimeoutMs, l as isRecentlyUnboundThreadWebhookMessage, x as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-SPlv6mh7.js";
13
13
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-D18cCLmN.js";
14
14
  import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-JNt3Ak6P.js";
15
15
  import { t as resolveDiscordUserAllowlist } from "./resolve-users-CrjbUxrL.js";
16
- import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BAw15EQb.js";
17
- import { a as reconcileAcpThreadBindingsOnStartup, c as resolveDiscordThreadBindingMaxAgeMs, i as listThreadBindingsForAccount, l as resolveThreadBindingsEnabled, n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey, s as resolveDiscordThreadBindingIdleTimeoutMs } from "./thread-bindings-B4of4OmR.js";
18
- import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-DNFl10CA.js";
16
+ import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BvPFybEu.js";
17
+ import { a as reconcileAcpThreadBindingsOnStartup, c as resolveDiscordThreadBindingMaxAgeMs, i as listThreadBindingsForAccount, l as resolveThreadBindingsEnabled, n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey, s as resolveDiscordThreadBindingIdleTimeoutMs } from "./thread-bindings-qSEjvnb4.js";
18
+ import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-C-LpcekY.js";
19
19
  import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-BZtr8qle.js";
20
20
  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-C3FYXWJX.js";
21
21
  import "./runtime-api.actions.js";
22
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-BliEqCEc.js";
22
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-CifMTQ4S.js";
23
23
  import "./runtime-api.lookup.js";
24
- import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-DABvNRT0.js";
25
- import { i as buildDiscordMediaPayload } from "./message-utils-ByofKwPe.js";
26
- import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-CLZ3v7-y.js";
27
- import { t as createDiscordMessageHandler } from "./message-handler-DIsnboy2.js";
28
- import "./runtime-api.monitor-W_dJ5EQu.js";
24
+ import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-B28t_1YH.js";
25
+ import { i as buildDiscordMediaPayload } from "./message-utils-m_Trzh54.js";
26
+ import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-D9rX0JRU.js";
27
+ import { t as createDiscordMessageHandler } from "./message-handler-Cg5wp_2Y.js";
28
+ import "./runtime-api.monitor-Ba1r1iSI.js";
29
29
  import "./runtime-api.send.js";
30
30
  import "./runtime-api.threads.js";
31
31
  export { DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, DiscordSendError, __testing, addRoleDiscord, allowListMatches, auditDiscordChannelPermissions, autoBindSpawnedDiscordSubagent, banMemberDiscord, buildDiscordMediaPayload, clearGateways, clearPresences, collectDiscordAuditChannelIds, createChannelDiscord, createDiscordGatewayPlugin, createDiscordMessageHandler, createDiscordNativeCommand, createNoopThreadBindingManager, createScheduledEventDiscord, createThreadBindingManager, createThreadDiscord, deleteChannelDiscord, deleteMessageDiscord, discordMessageActions, editChannelDiscord, editDiscordComponentMessage, editMessageDiscord, fetchChannelInfoDiscord, fetchChannelPermissionsDiscord, fetchDiscordApplicationId, fetchDiscordApplicationSummary, fetchMemberGuildPermissionsDiscord, fetchMemberInfoDiscord, fetchMessageDiscord, fetchReactionsDiscord, fetchRoleInfoDiscord, fetchVoiceStatusDiscord, formatThreadBindingDurationLabel, getGateway, getPresence, getThreadBindingManager, handleDiscordAction, hasAllGuildPermissionsDiscord, hasAnyGuildPermissionDiscord, isDiscordGroupAllowedByPolicy, isDiscordModerationAction, isRecentlyUnboundThreadWebhookMessage, kickMemberDiscord, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, listGuildChannelsDiscord, listGuildEmojisDiscord, listPinsDiscord, listScheduledEventsDiscord, listThreadBindingsBySessionKey, listThreadBindingsForAccount, listThreadsDiscord, mergeAbortSignals, monitorDiscordProvider, moveChannelDiscord, normalizeDiscordAllowList, normalizeDiscordSlug, parseApplicationIdFromToken, pinMessageDiscord, presenceCacheSize, probeDiscord, reactMessageDiscord, readDiscordChannelCreateParams, readDiscordChannelEditParams, readDiscordChannelMoveParams, readDiscordModerationCommand, readDiscordParentIdParam, readMessagesDiscord, reconcileAcpThreadBindingsOnStartup, registerBuiltDiscordComponentMessage, registerDiscordListener, registerGateway, removeChannelPermissionDiscord, removeOwnReactionsDiscord, removeReactionDiscord, removeRoleDiscord, requiredGuildPermissionForModerationAction, resolveDiscordChannelAllowlist, resolveDiscordChannelConfig, resolveDiscordChannelConfigWithFallback, resolveDiscordCommandAuthorized, resolveDiscordGatewayIntents, resolveDiscordGuildEntry, resolveDiscordOutboundSessionRoute, resolveDiscordPrivilegedIntentsFromFlags, resolveDiscordReplyTarget, resolveDiscordShouldRequireMention, resolveDiscordThreadBindingIdleTimeoutMs, resolveDiscordThreadBindingMaxAgeMs, resolveDiscordUserAllowlist, resolveEventCoverImage, resolveGroupDmAllow, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingInactivityExpiresAt, resolveThreadBindingIntroText, resolveThreadBindingMaxAgeExpiresAt, resolveThreadBindingMaxAgeMs, resolveThreadBindingPersona, resolveThreadBindingPersonaFromRecord, resolveThreadBindingThreadName, resolveThreadBindingsEnabled, sanitizeDiscordThreadName, searchMessagesDiscord, sendDiscordComponentMessage, sendMessageDiscord, sendPollDiscord, sendStickerDiscord, sendTypingDiscord, sendVoiceMessageDiscord, sendWebhookMessageDiscord, setChannelPermissionDiscord, setDiscordRuntime, setPresence, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, shouldEmitDiscordReactionNotification, timeoutMemberDiscord, unbindThreadBindingsBySessionKey, unpinMessageDiscord, unregisterGateway, uploadEmojiDiscord, uploadStickerDiscord, waitForDiscordGatewayPluginRegistration };
@@ -1,7 +1,7 @@
1
- import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-ApUXOSj0.js";
1
+ import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-CdCwhQYI.js";
2
2
  import { r as setDiscordRuntime } from "./runtime-BqCoo-zp.js";
3
3
  import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-JNt3Ak6P.js";
4
4
  import { t as resolveDiscordUserAllowlist } from "./resolve-users-CrjbUxrL.js";
5
5
  import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-BZtr8qle.js";
6
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-BliEqCEc.js";
6
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-CifMTQ4S.js";
7
7
  export { auditDiscordChannelPermissions, collectDiscordAuditChannelIds, fetchDiscordApplicationId, fetchDiscordApplicationSummary, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, parseApplicationIdFromToken, probeDiscord, resolveDiscordChannelAllowlist, resolveDiscordPrivilegedIntentsFromFlags, resolveDiscordUserAllowlist, setDiscordRuntime };
@@ -0,0 +1,6 @@
1
+ import "./allow-list-n8Ki-Rt3.js";
2
+ import "./provider-B28t_1YH.js";
3
+ import "./message-utils-m_Trzh54.js";
4
+ import "./threading-D9rX0JRU.js";
5
+ import "./message-handler-Cg5wp_2Y.js";
6
+ export {};
@@ -1,9 +1,9 @@
1
1
  import { a as clearPresences, c as setPresence, i as unregisterGateway, n as getGateway, o as getPresence, r as registerGateway, s as presenceCacheSize, t as clearGateways } from "./gateway-registry-BKG4KIVC.js";
2
2
  import { _ as resolveGroupDmAllow, a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, d as resolveDiscordGuildEntry, g as resolveDiscordShouldRequireMention, n as isDiscordGroupAllowedByPolicy, r as normalizeDiscordAllowList, s as resolveDiscordChannelConfig, t as allowListMatches, u as resolveDiscordCommandAuthorized, v as shouldEmitDiscordReactionNotification } from "./allow-list-n8Ki-Rt3.js";
3
3
  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-C3FYXWJX.js";
4
- import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-DABvNRT0.js";
5
- import { i as buildDiscordMediaPayload } from "./message-utils-ByofKwPe.js";
6
- import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-CLZ3v7-y.js";
7
- import { t as createDiscordMessageHandler } from "./message-handler-DIsnboy2.js";
8
- import "./runtime-api.monitor-W_dJ5EQu.js";
4
+ import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-B28t_1YH.js";
5
+ import { i as buildDiscordMediaPayload } from "./message-utils-m_Trzh54.js";
6
+ import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-D9rX0JRU.js";
7
+ import { t as createDiscordMessageHandler } from "./message-handler-Cg5wp_2Y.js";
8
+ import "./runtime-api.monitor-Ba1r1iSI.js";
9
9
  export { DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, allowListMatches, buildDiscordMediaPayload, clearGateways, clearPresences, createDiscordGatewayPlugin, createDiscordMessageHandler, createDiscordNativeCommand, getGateway, getPresence, isDiscordGroupAllowedByPolicy, mergeAbortSignals, monitorDiscordProvider, normalizeDiscordAllowList, normalizeDiscordSlug, presenceCacheSize, registerDiscordListener, registerGateway, resolveDiscordChannelConfig, resolveDiscordChannelConfigWithFallback, resolveDiscordCommandAuthorized, resolveDiscordGatewayIntents, resolveDiscordGuildEntry, resolveDiscordReplyTarget, resolveDiscordShouldRequireMention, resolveGroupDmAllow, sanitizeDiscordThreadName, setPresence, shouldEmitDiscordReactionNotification, unregisterGateway, waitForDiscordGatewayPluginRegistration };
@@ -1,6 +1,6 @@
1
1
  import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-BaJRt05p.js";
2
- import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-DxDqPJZQ.js";
3
- import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-Dza0jdso.js";
4
- import { A as removeRoleDiscord, B as removeChannelPermissionDiscord, C as fetchChannelInfoDiscord, D as kickMemberDiscord, E as fetchVoiceStatusDiscord, F as uploadStickerDiscord, I as createChannelDiscord, L as deleteChannelDiscord, M as timeoutMemberDiscord, N as listGuildEmojisDiscord, O as listGuildChannelsDiscord, P as uploadEmojiDiscord, R as editChannelDiscord, S as createScheduledEventDiscord, T as fetchRoleInfoDiscord, V as setChannelPermissionDiscord, _ as readMessagesDiscord, a as removeReactionDiscord, b as addRoleDiscord, c as sendWebhookMessageDiscord, d as deleteMessageDiscord, f as editMessageDiscord, g as pinMessageDiscord, h as listThreadsDiscord, i as removeOwnReactionsDiscord, j as resolveEventCoverImage, k as listScheduledEventsDiscord, m as listPinsDiscord, n as fetchReactionsDiscord, o as sendTypingDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, w as fetchMemberInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as moveChannelDiscord } from "./send-DCFuSiBi.js";
5
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-PM0J0F60.js";
2
+ import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-Cidmc-7C.js";
3
+ import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-CnvqNVpX.js";
4
+ import { A as removeRoleDiscord, B as removeChannelPermissionDiscord, C as fetchChannelInfoDiscord, D as kickMemberDiscord, E as fetchVoiceStatusDiscord, F as uploadStickerDiscord, I as createChannelDiscord, L as deleteChannelDiscord, M as timeoutMemberDiscord, N as listGuildEmojisDiscord, O as listGuildChannelsDiscord, P as uploadEmojiDiscord, R as editChannelDiscord, S as createScheduledEventDiscord, T as fetchRoleInfoDiscord, V as setChannelPermissionDiscord, _ as readMessagesDiscord, a as removeReactionDiscord, b as addRoleDiscord, c as sendWebhookMessageDiscord, d as deleteMessageDiscord, f as editMessageDiscord, g as pinMessageDiscord, h as listThreadsDiscord, i as removeOwnReactionsDiscord, j as resolveEventCoverImage, k as listScheduledEventsDiscord, m as listPinsDiscord, n as fetchReactionsDiscord, o as sendTypingDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, w as fetchMemberInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as moveChannelDiscord } from "./send-DDM8s4P5.js";
5
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DsgxtI_N.js";
6
6
  export { DiscordSendError, addRoleDiscord, banMemberDiscord, createChannelDiscord, createScheduledEventDiscord, createThreadDiscord, deleteChannelDiscord, deleteMessageDiscord, editChannelDiscord, editDiscordComponentMessage, editMessageDiscord, fetchChannelInfoDiscord, fetchChannelPermissionsDiscord, fetchMemberGuildPermissionsDiscord, fetchMemberInfoDiscord, fetchMessageDiscord, fetchReactionsDiscord, fetchRoleInfoDiscord, fetchVoiceStatusDiscord, hasAllGuildPermissionsDiscord, hasAnyGuildPermissionDiscord, kickMemberDiscord, listGuildChannelsDiscord, listGuildEmojisDiscord, listPinsDiscord, listScheduledEventsDiscord, listThreadsDiscord, moveChannelDiscord, pinMessageDiscord, reactMessageDiscord, readMessagesDiscord, registerBuiltDiscordComponentMessage, removeChannelPermissionDiscord, removeOwnReactionsDiscord, removeReactionDiscord, removeRoleDiscord, resolveDiscordOutboundSessionRoute, resolveEventCoverImage, searchMessagesDiscord, sendDiscordComponentMessage, sendMessageDiscord, sendPollDiscord, sendStickerDiscord, sendTypingDiscord, sendVoiceMessageDiscord, sendWebhookMessageDiscord, setChannelPermissionDiscord, timeoutMemberDiscord, unpinMessageDiscord, uploadEmojiDiscord, uploadStickerDiscord };
@@ -1,6 +1,6 @@
1
1
  import { C as resolveThreadBindingMaxAgeMs, S as resolveThreadBindingMaxAgeExpiresAt, b as resolveThreadBindingIdleTimeoutMs, l as isRecentlyUnboundThreadWebhookMessage, x as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-SPlv6mh7.js";
2
2
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-D18cCLmN.js";
3
- import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BAw15EQb.js";
4
- import { a as reconcileAcpThreadBindingsOnStartup, c as resolveDiscordThreadBindingMaxAgeMs, i as listThreadBindingsForAccount, l as resolveThreadBindingsEnabled, n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey, s as resolveDiscordThreadBindingIdleTimeoutMs } from "./thread-bindings-B4of4OmR.js";
5
- import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-DNFl10CA.js";
3
+ import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BvPFybEu.js";
4
+ import { a as reconcileAcpThreadBindingsOnStartup, c as resolveDiscordThreadBindingMaxAgeMs, i as listThreadBindingsForAccount, l as resolveThreadBindingsEnabled, n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey, s as resolveDiscordThreadBindingIdleTimeoutMs } from "./thread-bindings-qSEjvnb4.js";
5
+ import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-C-LpcekY.js";
6
6
  export { __testing, autoBindSpawnedDiscordSubagent, createNoopThreadBindingManager, createThreadBindingManager, formatThreadBindingDurationLabel, getThreadBindingManager, isRecentlyUnboundThreadWebhookMessage, listThreadBindingsBySessionKey, listThreadBindingsForAccount, reconcileAcpThreadBindingsOnStartup, resolveDiscordThreadBindingIdleTimeoutMs, resolveDiscordThreadBindingMaxAgeMs, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingInactivityExpiresAt, resolveThreadBindingIntroText, resolveThreadBindingMaxAgeExpiresAt, resolveThreadBindingMaxAgeMs, resolveThreadBindingPersona, resolveThreadBindingPersonaFromRecord, resolveThreadBindingThreadName, resolveThreadBindingsEnabled, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, unbindThreadBindingsBySessionKey };
@@ -1,9 +1,9 @@
1
1
  import { $ as listMessageReactionUsers, At as moveGuildChannels, Ct as getGuildMember, Dt as listGuildEmojis, Et as listGuildChannels, Ft as __exportAll, Mt as removeGuildMember, Nt as removeGuildMemberRole, Ot as listGuildRoles, Pt as timeoutGuildMember, Q as deleteOwnMessageReaction, Tt as listGuildActiveThreads, Z as createOwnMessageReaction, _ as readDiscordCode, _t as createGuildChannel, at as editChannelMessage, bt as createGuildSticker, ct as listChannelArchivedThreads, dt as pinChannelMessage, et as createChannelMessage, ft as searchGuildMessages, g as RateLimitError, gt as createGuildBan, h as DiscordError, ht as addGuildMemberRole, it as editChannel, jt as putChannelPermission, kt as listGuildScheduledEvents, lt as listChannelMessages, mt as unpinChannelMessage, nt as deleteChannel, ot as getChannel, pt as sendChannelTyping, rt as deleteChannelMessage, st as getChannelMessage, tt as createThread, ut as listChannelPins, v as readDiscordMessage, vt as createGuildEmoji, wt as getGuildVoiceState, xt as deleteChannelPermission, y as readRetryAfter, yt as createGuildScheduledEvent } from "./discord-BqYcwxvG.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BcwyaFd-.js";
3
- import { A as createDiscordClient, C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, N as resolveDiscordClientAccountContext, O as hasAnyGuildPermissionDiscord, P as resolveDiscordRest, S as DISCORD_MAX_STICKER_BYTES, T as fetchChannelPermissionsDiscord, b as DISCORD_MAX_EMOJI_BYTES, i as formatReactionEmoji, k as parseAndResolveRecipient, l as resolveChannelId, o as normalizeEmojiName, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, w as canViewDiscordGuildChannel, x as DISCORD_MAX_EVENT_COVER_BYTES } from "./send.shared-Dza0jdso.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-BbRDLOSB.js";
3
+ import { A as createDiscordClient, C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, N as resolveDiscordClientAccountContext, O as hasAnyGuildPermissionDiscord, P as resolveDiscordRest, S as DISCORD_MAX_STICKER_BYTES, T as fetchChannelPermissionsDiscord, b as DISCORD_MAX_EMOJI_BYTES, i as formatReactionEmoji, k as parseAndResolveRecipient, l as resolveChannelId, o as normalizeEmojiName, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, w as canViewDiscordGuildChannel, x as DISCORD_MAX_EVENT_COVER_BYTES } from "./send.shared-CnvqNVpX.js";
4
4
  import { n as rewriteDiscordKnownMentions } from "./mentions-BZoGn0ul.js";
5
5
  import { n as createDiscordSendResult } from "./send.receipt-BAZw2Zsz.js";
6
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-PM0J0F60.js";
6
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DsgxtI_N.js";
7
7
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { ChannelType } from "discord-api-types/v10";
9
9
  import crypto from "node:crypto";
@@ -1,11 +1,11 @@
1
1
  import { Ft as __exportAll, T as serializePayload, at as editChannelMessage, et as createChannelMessage } from "./discord-BqYcwxvG.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BcwyaFd-.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-BbRDLOSB.js";
3
3
  import "./config-api-CFZtoMaS.js";
4
4
  import "./channel-api-CTSWMrnD.js";
5
5
  import "./outbound-session-route-BaJRt05p.js";
6
- import { A as createDiscordClient, h as SUPPRESS_NOTIFICATIONS_FLAG, k as parseAndResolveRecipient, l as resolveChannelId, m as toDiscordFileBlob, t as buildDiscordSendError, u as resolveDiscordChannelType, y as stripUndefinedFields } from "./send.shared-Dza0jdso.js";
6
+ import { A as createDiscordClient, h as SUPPRESS_NOTIFICATIONS_FLAG, k as parseAndResolveRecipient, l as resolveChannelId, m as toDiscordFileBlob, t as buildDiscordSendError, u as resolveDiscordChannelType, y as stripUndefinedFields } from "./send.shared-CnvqNVpX.js";
7
7
  import { n as createDiscordSendResult } from "./send.receipt-BAZw2Zsz.js";
8
- import { t as sendMessageDiscord } from "./send.outbound-PM0J0F60.js";
8
+ import { t as sendMessageDiscord } from "./send.outbound-DsgxtI_N.js";
9
9
  import { a as buildDiscordComponentMessage, l as resolveDiscordComponentAttachmentName, o as buildDiscordComponentMessageFlags } from "./components-Dxq2mU57.js";
10
10
  import { n as getOptionalDiscordRuntime } from "./runtime-BqCoo-zp.js";
11
11
  import "openclaw/plugin-sdk/account-id";
@@ -1,6 +1,6 @@
1
1
  import { et as createChannelMessage, tt as createThread } from "./discord-BqYcwxvG.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BcwyaFd-.js";
3
- import { A as createDiscordClient, _ as resolveDiscordSendComponents, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, g as buildDiscordMessageRequest, h as SUPPRESS_NOTIFICATIONS_FLAG, k as parseAndResolveRecipient, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannelType, v as resolveDiscordSendEmbeds } from "./send.shared-Dza0jdso.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-BbRDLOSB.js";
3
+ import { A as createDiscordClient, _ as resolveDiscordSendComponents, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, g as buildDiscordMessageRequest, h as SUPPRESS_NOTIFICATIONS_FLAG, k as parseAndResolveRecipient, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannelType, v as resolveDiscordSendEmbeds } from "./send.shared-CnvqNVpX.js";
4
4
  import { n as rewriteDiscordKnownMentions } from "./mentions-BZoGn0ul.js";
5
5
  import { n as createDiscordSendResult } from "./send.receipt-BAZw2Zsz.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1,8 +1,8 @@
1
1
  import { Ct as getGuildMember, St as getGuild, T as serializePayload, X as getCurrentUser, Y as createUserDmChannel, d as Embed, et as createChannelMessage, g as RateLimitError, m as RequestClient, ot as getChannel } from "./discord-BqYcwxvG.js";
2
2
  import { t as normalizeDiscordToken } from "./token-BZtonk7d.js";
3
- import { a as mergeDiscordAccountConfig, s as resolveDiscordAccount } from "./accounts-BcwyaFd-.js";
3
+ import { a as mergeDiscordAccountConfig, s as resolveDiscordAccount } from "./accounts-BbRDLOSB.js";
4
4
  import { t as chunkDiscordTextWithMode } from "./chunk-DYl-_5RL.js";
5
- import { t as parseAndResolveDiscordTarget } from "./target-resolver-CgJei-kD.js";
5
+ import { t as parseAndResolveDiscordTarget } from "./target-resolver-DklxEM4N.js";
6
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
8
8
  import { ChannelType, PermissionFlagsBits } from "discord-api-types/v10";
@@ -1,2 +1,2 @@
1
- import { t as discordSetupPlugin } from "./channel.setup-DR-xVYso.js";
1
+ import { t as discordSetupPlugin } from "./channel.setup-7et6c1aZ.js";
2
2
  export { discordSetupPlugin };