@openclaw/discord 2026.10.1-beta.2 → 2026.10.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 (72) hide show
  1. package/dist/.setup/{account-inspect-CjKqkDnH.mjs → account-inspect-DsER5ILV.mjs} +2 -2
  2. package/dist/.setup/{channel-type-D1_b5UhU.mjs → allow-list-vxkG9_JD.mjs} +6 -6
  3. package/dist/.setup/{api-_oznjffB.mjs → api-DlNUkDqj.mjs} +3 -3
  4. package/dist/.setup/{approval-handler.runtime-BilYSrRF.mjs → approval-handler.runtime-DmnEa54W.mjs} +8 -8
  5. package/dist/.setup/{approval-message-updates-CgRwc2_Q.mjs → approval-message-updates-B0jdSqOj.mjs} +2 -2
  6. package/dist/.setup/{audit-DtvzxONM.mjs → audit-BpikUwN_.mjs} +4 -4
  7. package/dist/.setup/{channel-z5lQMS_9.mjs → channel-Dr-AUnGt.mjs} +23 -23
  8. package/dist/.setup/{channel.setup-DBJtugJO.mjs → channel.setup-BmNvkidb.mjs} +5 -5
  9. package/dist/.setup/{components-CzXLR3QH.mjs → components-DLJR0xU-.mjs} +2 -2
  10. package/dist/.setup/{conversation-binding-route-Bi62ApSt.mjs → conversation-binding-route-DicJC1Lj.mjs} +1 -1
  11. package/dist/.setup/{directory-config-BH1LA-gi.mjs → directory-config-gqsdcplU.mjs} +1 -1
  12. package/dist/.setup/{directory-live-C9xz7IPm.mjs → directory-live-Bipr0eUJ.mjs} +3 -3
  13. package/dist/.setup/{discord-J7aRzq2Q.mjs → discord-9gysrhzp.mjs} +10 -10
  14. package/dist/.setup/{doctor-DxSAngJq.mjs → doctor-B2bskDcF.mjs} +4 -4
  15. package/dist/.setup/{handle-action-DlmFX-_G.mjs → handle-action-UmkjXBfo.mjs} +8 -8
  16. package/dist/.setup/{handle-action.guild-admin-BnyqTczR.mjs → handle-action.guild-admin-CB4sc9VV.mjs} +2 -2
  17. package/dist/.setup/{live-policy-config-emmPNyh4.mjs → live-policy-config-VxexfRKo.mjs} +1 -1
  18. package/dist/.setup/{message-handler-BNToPZrx.mjs → message-handler-BK69A-NB.mjs} +13 -13
  19. package/dist/.setup/{message-handler.preflight-D0BcCyI7.mjs → message-handler.preflight-DFpsh90H.mjs} +17 -17
  20. package/dist/.setup/{message-handler.preflight-pluralkit-D1g3eq0B.mjs → message-handler.preflight-pluralkit-BXGGVmpe.mjs} +7 -7
  21. package/dist/.setup/{message-handler.process-CThRmCWK.mjs → message-handler.process-TKoqcqIP.mjs} +21 -21
  22. package/dist/.setup/{outbound-adapter-BPq0c2wY.mjs → outbound-adapter-D4wRAb5S.mjs} +9 -9
  23. package/dist/.setup/{outbound-session-route-DGPPKA0z.mjs → outbound-session-route-BvBH4LC6.mjs} +13 -13
  24. package/dist/.setup/{probe-DIRY8vh7.mjs → probe-BwSKpnZf.mjs} +4 -4
  25. package/dist/.setup/{provider-D2OKMo0f.mjs → provider-YP8gN9_o.mjs} +74 -74
  26. package/dist/.setup/{provider-session.runtime-BupCTZQv.mjs → provider-session.runtime-D1gkPxHT.mjs} +3 -3
  27. package/dist/.setup/provider.runtime-CZ51OIgD.mjs +2 -0
  28. package/dist/.setup/{realtime-session.runtime-D5RSC8Mm.mjs → realtime-session.runtime-BKUQBy1u.mjs} +19 -19
  29. package/dist/.setup/{resolve-allowlist-common-DUYRrrVB.mjs → resolve-allowlist-common-BUyU3C-T.mjs} +3 -3
  30. package/dist/.setup/{resolve-channels--MUatisx.mjs → resolve-channels-DA6QlhZN.mjs} +3 -3
  31. package/dist/.setup/{resolve-users-CxLcDmM0.mjs → resolve-users-DNrwvunm.mjs} +2 -2
  32. package/dist/.setup/{runtime-CwUA0RLr.mjs → runtime-CESTexGn.mjs} +12 -12
  33. package/dist/.setup/{runtime-CerRBfaa.mjs → runtime-DPcmPST9.mjs} +2 -2
  34. package/dist/.setup/{send-2X7m2Zmw.mjs → send-CJk3VP5q.mjs} +16 -16
  35. package/dist/.setup/{send.components-RqvgmCs3.mjs → send.components-dPljuV24.mjs} +7 -7
  36. package/dist/.setup/{send.outbound-B4QHSEzm.mjs → send.outbound-rOboMO_6.mjs} +8 -8
  37. package/dist/.setup/{retry-BKzO25k4.mjs → send.receipt-DVOg2Oaw.mjs} +203 -203
  38. package/dist/.setup/{send.shared-BQIUh6Vn.mjs → send.shared-C4CN24D9.mjs} +40 -40
  39. package/dist/.setup/{sender-identity-CooeYfAn.mjs → sender-identity-AHpUNr72.mjs} +1 -1
  40. package/dist/.setup/setup-plugin-api-BVlCz3fm.mjs +3 -0
  41. package/dist/.setup/{shared-CIJn6AEC.mjs → shared-BoBnM5kM.mjs} +7 -7
  42. package/dist/.setup/{subagent-hooks-BYlVnxzy.mjs → subagent-hooks-HH8Uy9cx.mjs} +2 -2
  43. package/dist/.setup/{system-events-CQ3if_pS.mjs → system-events-Cwxaww8i.mjs} +2 -2
  44. package/dist/.setup/{target-resolver-Dzxf80Y3.mjs → target-resolver-CSFoPQ12.mjs} +3 -3
  45. package/dist/.setup/targets-bqXQENmX.mjs +3 -0
  46. package/dist/.setup/{thread-bindings-yNNlcUWE.mjs → thread-bindings-DjQCkmsd.mjs} +4 -4
  47. package/dist/.setup/{thread-bindings.manager-plk0zJAW.mjs → thread-bindings.manager-D2-GYZ5s.mjs} +10 -10
  48. package/dist/.setup/{transcripts-source-CNWswry-.mjs → transcripts-source-CaZQnGRH.mjs} +18 -18
  49. package/dist/.setup/{voice-runtime-Bc75quiH.mjs → voice-runtime-DDymtIw8.mjs} +46 -46
  50. package/dist/account-inspect-api.js +1 -1
  51. package/dist/action-runtime-api.js +1 -1
  52. package/dist/activities-api.js +788 -1
  53. package/dist/api.js +15 -15
  54. package/dist/channel-config-api.js +1 -1
  55. package/dist/channel-plugin-api.js +1 -1
  56. package/dist/directory-contract-api.js +1 -1
  57. package/dist/index.js +9 -5
  58. package/dist/runtime-api.js +20 -20
  59. package/dist/setup-entry.js +1 -1
  60. package/dist/setup-plugin-api.js +1 -1
  61. package/dist/src/voice/audio-worker.runtime.js +3 -3
  62. package/dist/subagent-hooks-api.js +1 -1
  63. package/dist/transcripts-source-api.js +1 -1
  64. package/package.json +4 -4
  65. package/dist/.setup/activities-api-BL_hJ0JQ.mjs +0 -789
  66. package/dist/.setup/provider.runtime-BaW_JnfU.mjs +0 -2
  67. package/dist/.setup/setup-plugin-api-nn_giXvZ.mjs +0 -3
  68. package/dist/.setup/targets-Lf8D55w-.mjs +0 -3
  69. package/dist/.setup/{accounts-DXHCL8Zm.mjs → accounts-HE9-mj1L.mjs} +2 -2
  70. package/dist/.setup/{config-schema-CsemBDpS.mjs → config-schema-BQWfnSCx.mjs} +1 -1
  71. package/dist/.setup/{receive-recovery-GqF2PUN_.mjs → receive-recovery-DgkX7Qvi.mjs} +2 -2
  72. package/dist/.setup/{thread-bindings.session-updates-C9aKtVs6.mjs → thread-bindings.session-updates-Bu_CGr_O.mjs} +2 -2
@@ -1,40 +1,40 @@
1
- import { C as withDiscordRequestAuthority, D as Message, _t as getGuildMember, lt as deleteChannelMessage, t as discord_exports, ut as editChannelMessage } from "./discord-J7aRzq2Q.mjs";
2
- import { T as resolveTimestampMs, a as normalizeDiscordAllowList, s as normalizeDiscordSlug } from "./channel-type-D1_b5UhU.mjs";
3
- import { p as resolveDiscordMaxLinesPerMessage } from "./accounts-DXHCL8Zm.mjs";
4
- import { o as chunkDiscordTextWithMode, x as resolveDiscordChannelId } from "./retry-BKzO25k4.mjs";
5
- import { N as createDiscordRestClient, O as resolveDiscordMessageFlags, P as createDiscordRuntimeAccountContext, u as resolveDiscordTargetChannelId } from "./send.shared-BQIUh6Vn.mjs";
6
- import { a as discordTextHasBroadcastMention } from "./send.outbound-B4QHSEzm.mjs";
7
- import { C as resolveReferencedReplyMediaList, E as resolveDiscordMessageStickers, O as resolveDiscordReferencedReplyMessageId, _ as resolveDiscordMessageHistoryText, b as formatDiscordMediaText, f as resolveDiscordAutoThreadReplyPlan, m as resolveDiscordThreadStarter, y as resolveDiscordMessageText } from "./transcripts-source-CNWswry-.mjs";
1
+ import { p as resolveDiscordMaxLinesPerMessage } from "./accounts-HE9-mj1L.mjs";
2
+ import { i as normalizeDiscordAllowList, o as normalizeDiscordSlug, w as resolveTimestampMs } from "./allow-list-vxkG9_JD.mjs";
3
+ import { F as createDiscordRuntimeAccountContext, O as resolveDiscordMessageFlags, P as createDiscordRestClient, u as resolveDiscordTargetChannelId } from "./send.shared-C4CN24D9.mjs";
4
+ import { C as withDiscordRequestAuthority, D as Message, ct as deleteChannelMessage, gt as getGuildMember, lt as editChannelMessage, t as discord_exports } from "./discord-9gysrhzp.mjs";
5
+ import { b as chunkDiscordTextWithMode, m as resolveDiscordChannelId } from "./send.receipt-DVOg2Oaw.mjs";
6
+ import { a as removeReactionDiscord, r as reactMessageDiscord } from "./send-CJk3VP5q.mjs";
7
+ import { a as discordTextHasBroadcastMention } from "./send.outbound-rOboMO_6.mjs";
8
8
  import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-pun7VJ02.mjs";
9
- import { a as removeReactionDiscord, r as reactMessageDiscord } from "./send-2X7m2Zmw.mjs";
10
- import "./targets-Lf8D55w-.mjs";
11
- import { b as discordInboundEventDelivery, h as resolveDiscordConversationIdentity, u as buildDiscordRoutePeer } from "./outbound-session-route-DGPPKA0z.mjs";
12
- import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-BPq0c2wY.mjs";
13
- import { T as createDiscordSupplementalContextAccessChecker, a as formatDiscordReplySkip, c as buildGuildLabel, i as formatDiscordReplyDeliveryFailure, l as resolveReplyContext, o as sanitizeDiscordFrontChannelReplyPayloads, r as deliverDiscordReply, s as buildDirectLabel, w as buildDiscordInboundAccessContext } from "./provider-D2OKMo0f.mjs";
14
- import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-CooeYfAn.mjs";
9
+ import "./targets-bqXQENmX.mjs";
10
+ import { b as discordInboundEventDelivery, h as resolveDiscordConversationIdentity, u as buildDiscordRoutePeer } from "./outbound-session-route-BvBH4LC6.mjs";
11
+ import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-D4wRAb5S.mjs";
12
+ import { T as createDiscordSupplementalContextAccessChecker, a as formatDiscordReplySkip, c as buildGuildLabel, i as formatDiscordReplyDeliveryFailure, l as resolveReplyContext, o as sanitizeDiscordFrontChannelReplyPayloads, r as deliverDiscordReply, s as buildDirectLabel, w as buildDiscordInboundAccessContext } from "./provider-YP8gN9_o.mjs";
13
+ import { C as resolveReferencedReplyMediaList, E as resolveDiscordMessageStickers, O as resolveDiscordReferencedReplyMessageId, _ as resolveDiscordMessageHistoryText, b as formatDiscordMediaText, f as resolveDiscordAutoThreadReplyPlan, m as resolveDiscordThreadStarter, y as resolveDiscordMessageText } from "./transcripts-source-CaZQnGRH.mjs";
14
+ import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-AHpUNr72.mjs";
15
15
  import { t as beginDiscordActiveTurnThreadRoute } from "./active-turn-thread-route-C4tp9noA.mjs";
16
- import { a as createDiscordHistorySenderProvenance, l as isBoundThreadBotSystemMessage, m as shouldIgnoreBoundThreadWebhookMessage, o as filterDiscordHistoryEntriesForContext, s as resolveDiscordHistoryMediaIds, t as resolveDiscordPreflightPluralKitInfo } from "./message-handler.preflight-pluralkit-D1g3eq0B.mjs";
16
+ import { a as createDiscordHistorySenderProvenance, l as isBoundThreadBotSystemMessage, m as shouldIgnoreBoundThreadWebhookMessage, o as filterDiscordHistoryEntriesForContext, s as resolveDiscordHistoryMediaIds, t as resolveDiscordPreflightPluralKitInfo } from "./message-handler.preflight-pluralkit-BXGGVmpe.mjs";
17
17
  import { t as sendTyping } from "./typing-CNlSKY5S.mjs";
18
- import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
19
- import { Routes } from "discord-api-types/v10";
20
18
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
19
+ import { danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
20
+ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
21
21
  import { buildAgentSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
22
+ import { Routes } from "discord-api-types/v10";
23
+ import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
22
24
  import { getReplyPayloadTtsSupplement, isReplyPayloadNonTerminalToolErrorWarning, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
23
- import { danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
24
- import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
25
25
  import { resolveChunkMode } from "openclaw/plugin-sdk/reply-chunking";
26
- import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
27
26
  import { stripInlineDirectiveTagsForDelivery, stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
27
+ import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
28
28
  import { resolveBatchedReplyThreadingPolicy } from "openclaw/plugin-sdk/reply-reference";
29
+ import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
29
30
  import { bindIngressLifecycleToReplyOptions, createChannelMessageReplyPipeline, createChannelProgressDraftCompositor, createFinalizableDraftLifecycle, createLivePreviewLifecycle, createTypingCallbacks, isRecentOutboundMessageIdentity, resolveChannelDraftStreamingChunking, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelPreviewStreamMode, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewCommandText, resolveChannelStreamingProgressNarration, resolveTranscriptBackedChannelFinalText } from "openclaw/plugin-sdk/channel-outbound";
30
- import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
31
- import { buildChannelInboundEventContext, createCommandTurnContext, dispatchChannelInboundTurn, formatInboundEnvelope, formatInboundMediaUnavailableText, getGroupThreadDeliverySession, hasFinalInboundReplyDispatch, readAgentRunTerminalOutcome, resolveEnvelopeFormatOptions, toHistoryMediaEntries, toInboundMediaFactsWithMetadata } from "openclaw/plugin-sdk/channel-inbound";
32
31
  import { evaluateSupplementalContextVisibility } from "openclaw/plugin-sdk/security-runtime";
33
32
  import { resolvePinnedMainDmOwnerFromAllowlist as resolvePinnedMainDmOwnerFromAllowlist$1 } from "openclaw/plugin-sdk/conversation-runtime";
34
33
  import { resolveAgentConfig } from "openclaw/plugin-sdk/agent-scope-runtime";
35
34
  import { isDangerousNameMatchingEnabled } from "openclaw/plugin-sdk/dangerous-name-runtime";
36
35
  import { EmbeddedBlockChunker, resolveAckReaction, resolveAgentConfig as resolveAgentConfig$1, resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
37
36
  import { getSessionEntry, readSessionUpdatedAt, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
37
+ import { buildChannelInboundEventContext, createCommandTurnContext, dispatchChannelInboundTurn, formatInboundEnvelope, formatInboundMediaUnavailableText, getGroupThreadDeliverySession, hasFinalInboundReplyDispatch, readAgentRunTerminalOutcome, resolveEnvelopeFormatOptions, toHistoryMediaEntries, toInboundMediaFactsWithMetadata } from "openclaw/plugin-sdk/channel-inbound";
38
38
  import { getGlobalHookRunner } from "openclaw/plugin-sdk/plugin-runtime";
39
39
  import { buildHistoryContextFromEntries, buildInboundHistoryFromEntries, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
40
40
  import { resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
@@ -1,14 +1,14 @@
1
- import { t as createDiscordActionGate } from "./accounts-DXHCL8Zm.mjs";
2
- import { b as parseDiscordTarget, c as createDiscordSendReceipt, d as toDiscordOutboundDeliveryResult, i as hasDiscordMessageCreateAmbiguity, l as createDiscordSendReceiptFromResults, m as resolveDiscordReplyReference, o as chunkDiscordTextWithMode, t as canFallbackDiscordWebhookSend, v as normalizeDiscordMessagingTarget, y as normalizeDiscordOutboundTarget } from "./retry-BKzO25k4.mjs";
3
- import { a as resolveDiscordComponentSpec, b as discordInboundEventDelivery, c as formatDiscordApprovalDisplayValue, g as resolveDiscordCurrentConversationIdentity, n as DISCORD_PRESENTATION_CAPABILITIES, o as sendDiscordComponentMessageLazy, r as buildDiscordPresentationPayload, x as notifyDiscordInboundEventOutboundPayloadSuccess } from "./outbound-session-route-DGPPKA0z.mjs";
1
+ import { t as createDiscordActionGate } from "./accounts-HE9-mj1L.mjs";
2
+ import { b as chunkDiscordTextWithMode, d as normalizeDiscordMessagingTarget, f as normalizeDiscordOutboundTarget, h as canFallbackDiscordWebhookSend, i as toDiscordOutboundDeliveryResult, n as createDiscordSendReceiptFromResults, p as parseDiscordTarget, s as resolveDiscordReplyReference, t as createDiscordSendReceipt, v as hasDiscordMessageCreateAmbiguity } from "./send.receipt-DVOg2Oaw.mjs";
3
+ import { a as resolveDiscordComponentSpec, b as discordInboundEventDelivery, c as formatDiscordApprovalDisplayValue, g as resolveDiscordCurrentConversationIdentity, n as DISCORD_PRESENTATION_CAPABILITIES, o as sendDiscordComponentMessageLazy, r as buildDiscordPresentationPayload, x as notifyDiscordInboundEventOutboundPayloadSuccess } from "./outbound-session-route-BvBH4LC6.mjs";
4
+ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
5
+ import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
4
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
5
7
  import { getReplyPayloadTtsSupplement, resolvePayloadMediaUrls, sendPayloadMediaSequenceOrFallback, sendTextMediaPayload } from "openclaw/plugin-sdk/reply-payload";
6
- import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
7
- import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
8
8
  import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
9
+ import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
9
10
  import { createReplyToFanout, resolveOutboundSendDep } from "openclaw/plugin-sdk/channel-outbound";
10
11
  import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
11
- import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
12
12
  import { questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
13
13
  //#region extensions/discord/src/channel.conversation.ts
14
14
  function resolveDiscordAttachedOutboundTarget(params) {
@@ -150,7 +150,7 @@ function normalizeDiscordApprovalPayload(payload) {
150
150
  }
151
151
  //#endregion
152
152
  //#region extensions/discord/src/outbound-send-context.ts
153
- const loadDiscordSendRuntime = createLazyRuntimeModule(() => import("./send-2X7m2Zmw.mjs").then((n) => n.t));
153
+ const loadDiscordSendRuntime = createLazyRuntimeModule(() => import("./send-CJk3VP5q.mjs").then((n) => n.t));
154
154
  function resolveDiscordFormattingOptions(ctx) {
155
155
  const formatting = ctx.formatting;
156
156
  return {
@@ -365,8 +365,8 @@ async function sendDiscordOutboundPayload(params) {
365
365
  const DISCORD_TEXT_CHUNK_LIMIT = 2e3;
366
366
  const DISCORD_PRECHUNK_MAX_LINES = Number.MAX_SAFE_INTEGER;
367
367
  const log = createSubsystemLogger("discord/outbound");
368
- const loadDiscordThreadBindings = createLazyRuntimeModule(() => import("./thread-bindings-yNNlcUWE.mjs").then((n) => n.i));
369
- const loadDiscordComponentSendRuntime = createLazyRuntimeModule(() => import("./send.components-RqvgmCs3.mjs").then((n) => n.i));
368
+ const loadDiscordThreadBindings = createLazyRuntimeModule(() => import("./thread-bindings-DjQCkmsd.mjs").then((n) => n.i));
369
+ const loadDiscordComponentSendRuntime = createLazyRuntimeModule(() => import("./send.components-dPljuV24.mjs").then((n) => n.i));
370
370
  function resolveDiscordDeliveryOptions(params) {
371
371
  return {
372
372
  onPlatformSendDispatch: params.onPlatformSendDispatch,
@@ -1,17 +1,17 @@
1
- import { h as readDiscordComponentSpec, m as coerceDiscordComponentParam } from "./components-CzXLR3QH.mjs";
2
- import { t as isDiscordThreadChannelType } from "./channel-type-D1_b5UhU.mjs";
3
- import { c as resolveDiscordAccount, r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-DXHCL8Zm.mjs";
4
- import { _ as matchesDiscordToolContextTarget, b as parseDiscordTarget, v as normalizeDiscordMessagingTarget } from "./retry-BKzO25k4.mjs";
1
+ import { c as resolveDiscordAccount, r as listDiscordAccountIds, t as createDiscordActionGate } from "./accounts-HE9-mj1L.mjs";
2
+ import { t as inspectDiscordAccount } from "./account-inspect-DsER5ILV.mjs";
3
+ import { A as isDiscordThreadChannelType } from "./allow-list-vxkG9_JD.mjs";
4
+ import { d as normalizeDiscordMessagingTarget, p as parseDiscordTarget, u as matchesDiscordToolContextTarget } from "./send.receipt-DVOg2Oaw.mjs";
5
+ import { h as readDiscordComponentSpec, m as coerceDiscordComponentParam } from "./components-DLJR0xU-.mjs";
5
6
  import { n as resolveDiscordCommandOwnerEntries } from "./command-owners-D78sAoOz.mjs";
6
- import { t as inspectDiscordAccount } from "./account-inspect-CjKqkDnH.mjs";
7
- import { asOptionalRecord, isRecord, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
- import { ChannelType } from "discord-api-types/v10";
9
- import { Type } from "typebox";
7
+ import { createLazyRuntimeMethod, createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
10
8
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
9
+ import { asOptionalRecord, isRecord, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
11
10
  import { buildOutboundBaseSessionKey, deriveLastRoutePolicy, isAcpSessionKey, isSubagentSessionKey, parseAgentSessionKey, resolveAgentIdFromSessionKey, resolveAgentRoute } from "openclaw/plugin-sdk/routing";
12
- import { resolveAskUserQuestionOptionIndices } from "openclaw/plugin-sdk/reply-payload";
13
- import { createLazyRuntimeMethod, createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
14
11
  import { createUnionActionGate } from "openclaw/plugin-sdk/channel-actions";
12
+ import { ChannelType } from "discord-api-types/v10";
13
+ import { resolveAskUserQuestionOptionIndices } from "openclaw/plugin-sdk/reply-payload";
14
+ import { Type } from "typebox";
15
15
  import { buildThreadAwareOutboundSessionRoute } from "openclaw/plugin-sdk/channel-core";
16
16
  import { getExecApprovalReplyMetadata, isChannelExecApprovalClientEnabledFromConfig, matchesApprovalRequestFilters } from "openclaw/plugin-sdk/approval-client-runtime";
17
17
  import { resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
@@ -256,7 +256,7 @@ function resolveDiscordThreadReplyTarget(args) {
256
256
  const target = threadId !== void 0 ? `channel:${threadId}` : normalizeOptionalString(args.channelId) ?? normalizeOptionalString(args.to) ?? normalizeOptionalString(args.target);
257
257
  return target ? normalizeDiscordMessagingTarget(target) : void 0;
258
258
  }
259
- const loadDiscordChannelActionsRuntime = createLazyRuntimeModule(() => import("./handle-action-DlmFX-_G.mjs"));
259
+ const loadDiscordChannelActionsRuntime = createLazyRuntimeModule(() => import("./handle-action-UmkjXBfo.mjs"));
260
260
  const discordActionGroups = [
261
261
  {
262
262
  gate: "polls",
@@ -691,8 +691,8 @@ const DISCORD_PRESENTATION_CAPABILITIES = {
691
691
  }
692
692
  }
693
693
  };
694
- const sendDiscordComponentMessageLazy = createLazyRuntimeMethod(createLazyRuntimeModule(() => import("./send.components-RqvgmCs3.mjs").then((n) => n.i)), (runtime) => runtime.sendDiscordComponentMessage);
695
- const loadDiscordSharedInteractive = createLazyRuntimeModule(() => import("./components-CzXLR3QH.mjs").then((n) => n.a));
694
+ const sendDiscordComponentMessageLazy = createLazyRuntimeMethod(createLazyRuntimeModule(() => import("./send.components-dPljuV24.mjs").then((n) => n.i)), (runtime) => runtime.sendDiscordComponentMessage);
695
+ const loadDiscordSharedInteractive = createLazyRuntimeModule(() => import("./components-DLJR0xU-.mjs").then((n) => n.a));
696
696
  function addPayloadTextFallback(spec, payload) {
697
697
  return spec.text ? spec : {
698
698
  ...spec,
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
- import { O as getDiscordEndpointRuntime } from "./channel-type-D1_b5UhU.mjs";
3
- import { m as normalizeDiscordToken } from "./accounts-DXHCL8Zm.mjs";
4
- import { n as DiscordApiError, r as fetchDiscord } from "./api-_oznjffB.mjs";
2
+ import { m as normalizeDiscordToken } from "./accounts-HE9-mj1L.mjs";
3
+ import { D as getDiscordEndpointRuntime } from "./allow-list-vxkG9_JD.mjs";
4
+ import { n as DiscordApiError, r as fetchDiscord } from "./api-DlNUkDqj.mjs";
5
+ import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
5
6
  import { resolveFetch } from "openclaw/plugin-sdk/fetch-runtime";
6
7
  import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
7
- import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
8
8
  import { fetchWithTimeout, runChannelProbe } from "openclaw/plugin-sdk/text-utility-runtime";
9
9
  //#region extensions/discord/src/probe.ts
10
10
  var probe_exports = /* @__PURE__ */ __exportAll({
@@ -1,65 +1,63 @@
1
- import { C as parseDiscordActivityCustomIdForInteraction, D as parseDiscordModalCustomIdForInteraction, E as parseDiscordModalCustomId, O as decodeCustomIdComponent, T as parseDiscordComponentCustomIdForInteraction, c as parseExecApprovalData, d as buildDiscordComponentMessage, k as encodeCustomIdComponent, o as parseDiscordQuestionData, w as parseDiscordComponentCustomId, y as buildDiscordActivityCustomId } from "./components-CzXLR3QH.mjs";
2
- import { $ as BaseMessageInteractiveComponent, B as Container, D as Message, E as Guild, J as Separator, K as Row, O as User, P as Modal, R as Button, T as CommandWithSubcommands, X as TextDisplay, Y as StringSelectMenu, a as MessageCreateListener, c as PresenceUpdateListener, d as ThreadDeleteListener, f as ThreadUpdateListener, h as Plugin, i as InteractionCreateListener, k as hasDiscordV2Components, l as ReadyListener, m as Client, n as GuildCreateListener, o as MessageReactionAddListener, r as GuildDeleteListener, s as MessageReactionRemoveListener, t as discord_exports, v as RateLimitError, w as Command } from "./discord-J7aRzq2Q.mjs";
3
- import { C as formatDiscordUserTag, D as assertDiscordEndpointGatewayUrl, O as getDiscordEndpointRuntime, S as formatDiscordReactionEmoji, T as resolveTimestampMs, _ as resolveDiscordOwnerAccess, a as normalizeDiscordAllowList, b as resolveGroupDmAllow, c as resolveDiscordAllowListMatch, d as resolveDiscordChannelPolicyCommandAuthorizer, h as resolveDiscordMemberAllowed, i as isDiscordGroupAllowedByPolicy, l as resolveDiscordChannelConfig, m as resolveDiscordMemberAccessState, o as normalizeDiscordDisplaySlug, p as resolveDiscordGuildEntry, r as hasConfiguredDiscordChannels, s as normalizeDiscordSlug, t as isDiscordThreadChannelType, u as resolveDiscordChannelConfigWithFallback, v as resolveDiscordOwnerAllowFrom, x as shouldEmitDiscordReactionNotification } from "./channel-type-D1_b5UhU.mjs";
4
- import { c as resolveDiscordAccount, f as resolveDiscordAccountDmPolicy, h as resolveDiscordToken, l as resolveDiscordAccountAllowFrom, m as normalizeDiscordToken, o as mergeDiscordAccountConfig, p as resolveDiscordMaxLinesPerMessage } from "./accounts-DXHCL8Zm.mjs";
5
- import { a as registerDiscordComponentEntries, o as resolveDiscordComponentEntryWithPersistence, s as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-RqvgmCs3.mjs";
1
+ import { c as resolveDiscordAccount, f as resolveDiscordAccountDmPolicy, h as resolveDiscordToken, l as resolveDiscordAccountAllowFrom, m as normalizeDiscordToken, o as mergeDiscordAccountConfig, p as resolveDiscordMaxLinesPerMessage } from "./accounts-HE9-mj1L.mjs";
2
+ import { A as isDiscordThreadChannelType, D as getDiscordEndpointRuntime, E as assertDiscordEndpointGatewayUrl, S as formatDiscordUserTag, _ as resolveDiscordOwnerAllowFrom, a as normalizeDiscordDisplaySlug, b as shouldEmitDiscordReactionNotification, c as resolveDiscordChannelConfig, f as resolveDiscordGuildEntry, g as resolveDiscordOwnerAccess, i as normalizeDiscordAllowList, l as resolveDiscordChannelConfigWithFallback, m as resolveDiscordMemberAllowed, n as hasConfiguredDiscordChannels, o as normalizeDiscordSlug, p as resolveDiscordMemberAccessState, r as isDiscordGroupAllowedByPolicy, s as resolveDiscordAllowListMatch, u as resolveDiscordChannelPolicyCommandAuthorizer, w as resolveTimestampMs, x as formatDiscordReactionEmoji, y as resolveGroupDmAllow } from "./allow-list-vxkG9_JD.mjs";
3
+ import { B as validateDiscordProxyUrl, C as hasAnyChannelPermissionDiscord, G as unregisterGateway, P as createDiscordRestClient, R as DISCORD_REST_TIMEOUT_MS, V as withValidatedDiscordProxy, W as registerGateway, y as canViewDiscordGuildChannel } from "./send.shared-C4CN24D9.mjs";
4
+ import { i as setPresence, t as clearPresences } from "./presence-cache-Dg3_dADn.mjs";
5
+ import { $ as BaseMessageInteractiveComponent, B as Container, D as Message, E as Guild, J as Separator, K as Row, O as User, P as Modal, R as Button, T as CommandWithSubcommands, X as TextDisplay, Y as StringSelectMenu, a as MessageCreateListener, c as PresenceUpdateListener, d as ThreadDeleteListener, f as ThreadUpdateListener, h as Plugin, i as InteractionCreateListener, k as hasDiscordV2Components, l as ReadyListener, m as Client, n as GuildCreateListener, o as MessageReactionAddListener, r as GuildDeleteListener, s as MessageReactionRemoveListener, t as discord_exports, v as RateLimitError, w as Command } from "./discord-9gysrhzp.mjs";
6
+ import { b as chunkDiscordTextWithMode } from "./send.receipt-DVOg2Oaw.mjs";
7
+ import { a as isDiscordRateLimitResponseBody, s as summarizeDiscordResponseBody } from "./api-DlNUkDqj.mjs";
8
+ import { _ as readMessagesDiscord, s as sendVoiceMessageDiscord } from "./send-CJk3VP5q.mjs";
9
+ import { o as formatMention, t as sendMessageDiscord } from "./send.outbound-rOboMO_6.mjs";
10
+ import { l as withAbortTimeout } from "./timeouts-pun7VJ02.mjs";
11
+ import { C as parseDiscordActivityCustomIdForInteraction, D as parseDiscordModalCustomIdForInteraction, E as parseDiscordModalCustomId, O as decodeCustomIdComponent, T as parseDiscordComponentCustomIdForInteraction, c as parseExecApprovalData, d as buildDiscordComponentMessage, k as encodeCustomIdComponent, o as parseDiscordQuestionData, w as parseDiscordComponentCustomId, y as buildDiscordActivityCustomId } from "./components-DLJR0xU-.mjs";
12
+ import { a as registerDiscordComponentEntries, o as resolveDiscordComponentEntryWithPersistence, s as resolveDiscordModalEntryWithPersistence, t as editDiscordComponentMessage } from "./send.components-dPljuV24.mjs";
6
13
  import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.mjs";
7
- import { a as isDiscordRateLimitResponseBody, s as summarizeDiscordResponseBody } from "./api-_oznjffB.mjs";
8
- import { o as chunkDiscordTextWithMode } from "./retry-BKzO25k4.mjs";
9
- import { B as withValidatedDiscordProxy, C as hasAnyChannelPermissionDiscord, L as DISCORD_REST_TIMEOUT_MS, N as createDiscordRestClient, U as registerGateway, W as unregisterGateway, y as canViewDiscordGuildChannel, z as validateDiscordProxyUrl } from "./send.shared-BQIUh6Vn.mjs";
10
- import { o as formatMention, t as sendMessageDiscord } from "./send.outbound-B4QHSEzm.mjs";
11
- import { n as getDiscordActivitiesRuntime } from "./runtime-CerRBfaa.mjs";
14
+ import { n as getDiscordActivitiesRuntime } from "./runtime-DPcmPST9.mjs";
12
15
  import { t as resolveDiscordCommandOwnerAllowFrom } from "./command-owners-D78sAoOz.mjs";
16
+ import { D as isDiscordExecApprovalClientEnabled, T as getDiscordExecApprovalApprovers, a as resolveDiscordComponentSpec, c as formatDiscordApprovalDisplayValue, d as resolveDiscordBoundConversationRoute, h as resolveDiscordConversationIdentity, l as buildDiscordConversationRouteContext, n as DISCORD_PRESENTATION_CAPABILITIES, p as resolveDiscordEffectiveRoute, r as buildDiscordPresentationPayload, s as DISCORD_APPROVAL_ALLOWED_MENTIONS, u as buildDiscordRoutePeer } from "./outbound-session-route-BvBH4LC6.mjs";
17
+ import { n as discordIngressIdentity, t as selectDiscordLivePolicyConfig } from "./live-policy-config-VxexfRKo.mjs";
18
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-DA6QlhZN.mjs";
19
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-DNrwvunm.mjs";
20
+ import { a as isThreadArchived, n as getThreadBindingManager } from "./thread-bindings.manager-D2-GYZ5s.mjs";
13
21
  import { n as resolveDiscordChannelInfoSafe, o as resolveDiscordChannelTopicSafe, r as resolveDiscordChannelNameSafe } from "./channel-access-BRp3Y-rF.mjs";
14
- import { D as resolveDiscordReferencedReplyMessage, O as resolveDiscordReferencedReplyMessageId, a as resolveDiscordVoiceEnabled, i as setDiscordTranscriptsVoiceManager, l as resolveDiscordThreadLikeChannelContext, o as authorizeDiscordVoiceIngress, s as resolveDiscordVoiceAccess, u as resolveFetchedDiscordThreadLikeChannelContext } from "./transcripts-source-CNWswry-.mjs";
15
- import { l as withAbortTimeout } from "./timeouts-pun7VJ02.mjs";
16
- import { i as setPresence, t as clearPresences } from "./presence-cache-Dg3_dADn.mjs";
17
- import { _ as readMessagesDiscord, s as sendVoiceMessageDiscord } from "./send-2X7m2Zmw.mjs";
18
- import { D as isDiscordExecApprovalClientEnabled, T as getDiscordExecApprovalApprovers, a as resolveDiscordComponentSpec, c as formatDiscordApprovalDisplayValue, d as resolveDiscordBoundConversationRoute, h as resolveDiscordConversationIdentity, l as buildDiscordConversationRouteContext, n as DISCORD_PRESENTATION_CAPABILITIES, p as resolveDiscordEffectiveRoute, r as buildDiscordPresentationPayload, s as DISCORD_APPROVAL_ALLOWED_MENTIONS, u as buildDiscordRoutePeer } from "./outbound-session-route-DGPPKA0z.mjs";
19
- import { n as discordIngressIdentity, t as selectDiscordLivePolicyConfig } from "./live-policy-config-emmPNyh4.mjs";
20
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels--MUatisx.mjs";
21
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-CxLcDmM0.mjs";
22
- import { a as isThreadArchived, n as getThreadBindingManager } from "./thread-bindings.manager-plk0zJAW.mjs";
23
- import { a as probeDiscordApplicationId, r as parseApplicationIdFromToken } from "./probe-DIRY8vh7.mjs";
24
- import { t as resolveDiscordSenderIdentity } from "./sender-identity-CooeYfAn.mjs";
25
- import { n as hasDiscordApprovalControl, t as discordApprovalMessageUpdates } from "./approval-message-updates-CgRwc2_Q.mjs";
22
+ import { a as probeDiscordApplicationId, r as parseApplicationIdFromToken } from "./probe-BwSKpnZf.mjs";
23
+ import { D as resolveDiscordReferencedReplyMessage, O as resolveDiscordReferencedReplyMessageId, a as authorizeDiscordVoiceIngress, c as resolveDiscordVoiceEnabled, i as setDiscordTranscriptsVoiceManager, l as resolveDiscordThreadLikeChannelContext, o as resolveDiscordVoiceAccess, u as resolveFetchedDiscordThreadLikeChannelContext } from "./transcripts-source-CaZQnGRH.mjs";
24
+ import { t as resolveDiscordSenderIdentity } from "./sender-identity-AHpUNr72.mjs";
25
+ import { n as hasDiscordApprovalControl, t as discordApprovalMessageUpdates } from "./approval-message-updates-B0jdSqOj.mjs";
26
26
  import { createRequire } from "node:module";
27
- import { logDebug, logError } from "openclaw/plugin-sdk/logging-core";
27
+ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
28
+ import { PlatformMessageNotDispatchedError, formatErrorMessage, toErrorObject } from "openclaw/plugin-sdk/error-runtime";
29
+ import { createNonExitingRuntime, createSubsystemLogger, danger, formatDurationSeconds, isVerbose, logVerbose, shouldLogVerbose, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
30
+ import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
28
31
  import { asFiniteNumber, asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries, parseFiniteNumber, parseStrictNonNegativeInteger, readNonBlankString, summarizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
32
+ import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
33
+ import { createRuntimeConfigReader, getRuntimeConfig, getRuntimeConfigSnapshot } from "openclaw/plugin-sdk/runtime-config-snapshot";
29
34
  import { ApplicationCommandOptionType, ButtonStyle, ChannelType, ComponentType, GatewayCloseCodes, GatewayCloseCodes as GatewayCloseCodes$1, GatewayDispatchEvents, GatewayIntentBits, GatewayOpcodes, PermissionFlagsBits } from "discord-api-types/v10";
35
+ import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
36
+ import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
37
+ import { hasOutboundReplyContent, resolveSendableOutboundReplyParts, resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
38
+ import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
39
+ import { MAX_DATE_TIMESTAMP_MS, MAX_TIMER_TIMEOUT_MS, asDateTimestampMs, asSafeIntegerInRange, parseFiniteNumber as parseFiniteNumber$1, parseStrictInteger, parseStrictPositiveInteger, resolveDateTimestampMs, resolvePromptHistoryLimit, resolveTimestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
40
+ import { resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
41
+ import { chunkItems, findCodeRegions, sanitizeAssistantVisibleText, sanitizeAssistantVisibleTextWithProfile } from "openclaw/plugin-sdk/text-chunking";
30
42
  import { Type } from "typebox";
31
43
  import { Check, Errors } from "typebox/value";
32
44
  import { createHash, randomUUID } from "node:crypto";
33
- import { MAX_DATE_TIMESTAMP_MS, MAX_TIMER_TIMEOUT_MS, asDateTimestampMs, asSafeIntegerInRange, parseFiniteNumber as parseFiniteNumber$1, parseStrictInteger, parseStrictPositiveInteger, resolveDateTimestampMs, resolvePromptHistoryLimit, resolveTimestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
34
45
  import { raceWithTimeout } from "openclaw/plugin-sdk/time-runtime";
35
46
  import { inspect } from "node:util";
36
47
  import * as fetchRuntimeSdk from "openclaw/plugin-sdk/fetch-runtime";
37
48
  import { createHttp1EnvHttpProxyAgent, createHttp1ProxyAgent, createNodeProxyAgent, resolveEnvHttpProxyAgentOptions, wrapFetchWithAbortSignal } from "openclaw/plugin-sdk/fetch-runtime";
38
49
  import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
39
- import { fetchWithSsrFGuard, formatErrorMessage, resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
40
- import { PlatformMessageNotDispatchedError, formatErrorMessage as formatErrorMessage$1, toErrorObject } from "openclaw/plugin-sdk/error-runtime";
41
- import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
42
- import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
43
- import { createRuntimeConfigReader, getRuntimeConfig, getRuntimeConfigSnapshot } from "openclaw/plugin-sdk/runtime-config-snapshot";
44
- import { renderPresentationForDelivery } from "openclaw/plugin-sdk/interactive-runtime";
45
- import { hasOutboundReplyContent, resolveSendableOutboundReplyParts, resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
46
- import { createNonExitingRuntime, createSubsystemLogger, danger, formatDurationSeconds, isVerbose, logVerbose, shouldLogVerbose, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
50
+ import { fetchWithSsrFGuard, formatErrorMessage as formatErrorMessage$1, resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
51
+ import { logDebug, logError } from "openclaw/plugin-sdk/logging-core";
47
52
  import { sliceUtf16Safe, truncateCodePoints, truncateUtf16Safe, withTimeout } from "openclaw/plugin-sdk/text-utility-runtime";
48
53
  import { addAllowlistUserEntriesFromConfigEntry, buildAllowlistResolutionSummary, canonicalizeAllowlistWithResolvedIds, patchAllowlistUsersInConfigEntries, summarizeMapping } from "openclaw/plugin-sdk/allow-from";
49
- import { resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
50
- import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
54
+ import { loadWebMedia } from "openclaw/plugin-sdk/web-media";
51
55
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
52
- import { chunkItems, findCodeRegions, sanitizeAssistantVisibleText, sanitizeAssistantVisibleTextWithProfile } from "openclaw/plugin-sdk/text-chunking";
53
56
  import { buildOutboundSessionContext, listMessageReceiptPlatformIds, resolveChannelStreamingBlockEnabled, sendDurableMessageBatch } from "openclaw/plugin-sdk/channel-outbound";
54
- import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
55
- import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
56
- import { buildCommandTextFromArgs, findCommandByNativeName, formatCommandArgMenuTitle, listChatCommands, listNativeCommandSpecsForConfig, listSkillCommandsForAgents, resolveCommandAuthorization, resolveCommandAuthorizedFromAuthorizers, resolveEffectiveAgentRuntime, resolveNativeCommandSessionTargets, resolveStoredModelOverride, serializeCommandArgs } from "openclaw/plugin-sdk/command-auth-native";
57
- import { GROUP_POLICY_BLOCKED_LABEL, resolveDefaultGroupPolicy, resolveOpenProviderRuntimeGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
58
- import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
59
- import { buildChannelInboundEventContext, createChannelPartialDeliveryError, createCommandTurnContext, dispatchChannelInboundTurn, formatInboundEnvelope, hasVisibleInboundReplyDispatch, isChannelPartialDeliveryError, resolveEnvelopeFormatOptions, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent } from "openclaw/plugin-sdk/channel-inbound";
60
- import { loadWebMedia } from "openclaw/plugin-sdk/web-media";
61
57
  import path from "node:path";
62
58
  import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
59
+ import { GROUP_POLICY_BLOCKED_LABEL, resolveDefaultGroupPolicy, resolveOpenProviderRuntimeGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
60
+ import { renderPresentationForDelivery } from "openclaw/plugin-sdk/interactive-runtime";
63
61
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
64
62
  import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
65
63
  import { buildPairingReply, formatThreadBindingDurationLabel, upsertChannelPairingRequest } from "openclaw/plugin-sdk/conversation-runtime";
@@ -72,14 +70,16 @@ import { requestHeartbeat } from "openclaw/plugin-sdk/heartbeat-runtime";
72
70
  import { enqueueRoutedSystemEvent } from "openclaw/plugin-sdk/system-event-runtime";
73
71
  import { clearExpiredCooldowns, ensureAuthProfileStore, formatReasoningMessage, getPreparedModelCatalogSnapshot, isProfileInCooldown, listAgentIds, loadPreparedModelCatalog, resolveAgentAvatar, resolveAgentDir, resolveDefaultModelForAgent, resolveHumanDelayConfig, resolveProfilesUnavailableReason } from "openclaw/plugin-sdk/agent-runtime";
74
72
  import { deleteSessionEntry, getSessionEntry, listSessionEntries, readSessionUpdatedAt, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
73
+ import { buildChannelInboundEventContext, createChannelPartialDeliveryError, createCommandTurnContext, dispatchChannelInboundTurn, formatInboundEnvelope, hasVisibleInboundReplyDispatch, isChannelPartialDeliveryError, resolveEnvelopeFormatOptions, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent } from "openclaw/plugin-sdk/channel-inbound";
75
74
  import * as proxyCaptureSdk from "openclaw/plugin-sdk/proxy-capture";
76
75
  import { resolveDebugProxySettings, resolveEffectiveDebugProxyUrl } from "openclaw/plugin-sdk/proxy-capture";
77
76
  import { resolveRequestUrl } from "openclaw/plugin-sdk/request-url";
78
77
  import { fetchWithRuntimeDispatcher } from "openclaw/plugin-sdk/runtime-fetch";
79
78
  import * as dns from "node:dns";
80
- import { buildCommandTextFromArgs as buildCommandTextFromArgs$1, findCommandByNativeName as findCommandByNativeName$1, mergeNativeCommandSpecs, parseCommandArgs, resolveCommandArgChoices, resolveCommandArgMenu, serializeCommandArgs as serializeCommandArgs$1 } from "openclaw/plugin-sdk/native-command-registry";
79
+ import { buildCommandTextFromArgs, findCommandByNativeName, mergeNativeCommandSpecs, parseCommandArgs, resolveCommandArgChoices, resolveCommandArgMenu, serializeCommandArgs } from "openclaw/plugin-sdk/native-command-registry";
81
80
  import { PLUGIN_COMMAND_DISPATCH } from "openclaw/plugin-sdk/plugin-command-runtime";
82
81
  import { resolveDirectStatusReplyForSession } from "openclaw/plugin-sdk/command-status-runtime";
82
+ import { buildCommandTextFromArgs as buildCommandTextFromArgs$1, findCommandByNativeName as findCommandByNativeName$1, formatCommandArgMenuTitle, listChatCommands, listNativeCommandSpecsForConfig, listSkillCommandsForAgents, resolveCommandAuthorization, resolveCommandAuthorizedFromAuthorizers, resolveEffectiveAgentRuntime, resolveNativeCommandSessionTargets, resolveStoredModelOverride, serializeCommandArgs as serializeCommandArgs$1 } from "openclaw/plugin-sdk/command-auth-native";
83
83
  import { normalizeProviderId } from "openclaw/plugin-sdk/model-ref-parse";
84
84
  import * as modelsProviderRuntime from "openclaw/plugin-sdk/models-provider-runtime";
85
85
  import { normalizeProviderId as normalizeProviderId$1 } from "openclaw/plugin-sdk/provider-model-shared";
@@ -1360,7 +1360,7 @@ async function resolveGuildEntriesByChannelAllowlist(params) {
1360
1360
  summarizeMapping("discord channels", mapping, unresolved, params.runtime);
1361
1361
  return nextGuilds;
1362
1362
  } catch (err) {
1363
- params.runtime.log?.(`discord channel resolve failed; using config entries. ${formatErrorMessage(err)}`);
1363
+ params.runtime.log?.(`discord channel resolve failed; using config entries. ${formatErrorMessage$1(err)}`);
1364
1364
  return params.guildEntries;
1365
1365
  }
1366
1366
  }
@@ -1384,7 +1384,7 @@ async function resolveAllowFromByUserAllowlist(params) {
1384
1384
  summarizeMapping("discord users", mapping, unresolved, params.runtime);
1385
1385
  return allowFrom;
1386
1386
  } catch (err) {
1387
- params.runtime.log?.(`discord user resolve failed; using config entries. ${formatErrorMessage(err)}`);
1387
+ params.runtime.log?.(`discord user resolve failed; using config entries. ${formatErrorMessage$1(err)}`);
1388
1388
  return params.allowFrom;
1389
1389
  }
1390
1390
  }
@@ -1427,7 +1427,7 @@ async function resolveGuildEntriesByUserAllowlist(params) {
1427
1427
  summarizeMapping("discord channel users", mapping, unresolved, params.runtime);
1428
1428
  return nextGuilds;
1429
1429
  } catch (err) {
1430
- params.runtime.log?.(`discord channel user resolve failed; using config entries. ${formatErrorMessage(err)}`);
1430
+ params.runtime.log?.(`discord channel user resolve failed; using config entries. ${formatErrorMessage$1(err)}`);
1431
1431
  return params.guildEntries;
1432
1432
  }
1433
1433
  }
@@ -1538,7 +1538,7 @@ function createEnvProxyDiscordRestDispatcher(runtime) {
1538
1538
  connect: { lookup: discordDnsLookup$1 }
1539
1539
  });
1540
1540
  } catch (err) {
1541
- runtime.error?.(danger(`discord: env proxy unavailable for REST fetch; using direct dispatcher: ${formatErrorMessage$1(err)}`));
1541
+ runtime.error?.(danger(`discord: env proxy unavailable for REST fetch; using direct dispatcher: ${formatErrorMessage(err)}`));
1542
1542
  return;
1543
1543
  }
1544
1544
  }
@@ -2006,7 +2006,7 @@ async function handleDiscordCommandArgInteraction(params) {
2006
2006
  await params.safeInteractionCall("command arg ack", () => interaction.acknowledge());
2007
2007
  return;
2008
2008
  }
2009
- const commandDefinition = findCommandByNativeName(parsed.command, "discord") ?? listChatCommands().find((entry) => entry.key === parsed.command);
2009
+ const commandDefinition = findCommandByNativeName$1(parsed.command, "discord") ?? listChatCommands().find((entry) => entry.key === parsed.command);
2010
2010
  if (!commandDefinition) {
2011
2011
  await clearWithMessage("Sorry, that command is no longer available.");
2012
2012
  return;
@@ -2015,9 +2015,9 @@ async function handleDiscordCommandArgInteraction(params) {
2015
2015
  const commandArgs = { values: { [parsed.arg]: parsed.value } };
2016
2016
  const commandArgsWithRaw = {
2017
2017
  ...commandArgs,
2018
- raw: serializeCommandArgs(commandDefinition, commandArgs)
2018
+ raw: serializeCommandArgs$1(commandDefinition, commandArgs)
2019
2019
  };
2020
- const prompt = buildCommandTextFromArgs(commandDefinition, commandArgsWithRaw);
2020
+ const prompt = buildCommandTextFromArgs$1(commandDefinition, commandArgsWithRaw);
2021
2021
  await params.dispatchCommandInteraction({
2022
2022
  ...ctx,
2023
2023
  interaction,
@@ -3578,7 +3578,7 @@ async function applyDiscordModelPickerSelection(params) {
3578
3578
  function shouldOpenDiscordModelPickerFromCommand(params) {
3579
3579
  const context = normalizeLowercaseStringOrEmpty(params.command.nativeName ?? params.command.key);
3580
3580
  if (context !== "model" && context !== "models") return null;
3581
- const serializedArgs = normalizeOptionalString(serializeCommandArgs(params.command, params.commandArgs)) ?? "";
3581
+ const serializedArgs = normalizeOptionalString(serializeCommandArgs$1(params.command, params.commandArgs)) ?? "";
3582
3582
  if (context === "model") return !normalizeOptionalString(params.commandArgs?.values?.model) && !serializedArgs ? context : null;
3583
3583
  return serializedArgs ? null : context;
3584
3584
  }
@@ -3821,7 +3821,7 @@ function resolveSubmittedModelRef(params) {
3821
3821
  return provider && selectedModel ? `${provider}/${selectedModel}` : null;
3822
3822
  }
3823
3823
  function buildDiscordModelPickerSelectionCommand(params) {
3824
- const commandDefinition = findCommandByNativeName("model", "discord") ?? listChatCommands().find((entry) => entry.key === "model");
3824
+ const commandDefinition = findCommandByNativeName$1("model", "discord") ?? listChatCommands().find((entry) => entry.key === "model");
3825
3825
  if (!commandDefinition) return null;
3826
3826
  const commandArgs = {
3827
3827
  values: { model: params.modelRef },
@@ -3830,7 +3830,7 @@ function buildDiscordModelPickerSelectionCommand(params) {
3830
3830
  return {
3831
3831
  command: commandDefinition,
3832
3832
  args: commandArgs,
3833
- prompt: buildCommandTextFromArgs(commandDefinition, commandArgs)
3833
+ prompt: buildCommandTextFromArgs$1(commandDefinition, commandArgs)
3834
3834
  };
3835
3835
  }
3836
3836
  function listDiscordModelPickerProviderModels(data, provider) {
@@ -4389,7 +4389,7 @@ function createDiscordNativeCommand(params) {
4389
4389
  const { command, cfg, discordConfig, accountId, sessionPrefix, ephemeralDefault, threadBindings, buildContext, dispatchReplyFromConfig } = params;
4390
4390
  const fallbackCommandDefinition = createNativeCommandDefinition(command);
4391
4391
  const pluginCommandCandidate = "prepareDispatch" in command ? command : void 0;
4392
- const commandDefinition = pluginCommandCandidate ? fallbackCommandDefinition : findCommandByNativeName$1(command.name, "discord", { includeBundledChannelFallback: false }) ?? fallbackCommandDefinition;
4392
+ const commandDefinition = pluginCommandCandidate ? fallbackCommandDefinition : findCommandByNativeName(command.name, "discord", { includeBundledChannelFallback: false }) ?? fallbackCommandDefinition;
4393
4393
  const argDefinitions = commandDefinition.args ?? ("args" in command ? command.args : void 0);
4394
4394
  const resolveCurrentConfig = () => getRuntimeConfigSnapshot() ?? cfg;
4395
4395
  const readPolicy = resolveDiscordNativePolicyReader(params);
@@ -4445,9 +4445,9 @@ function createDiscordNativeCommand(params) {
4445
4445
  const commandArgs = argDefinitions?.length ? readDiscordCommandArgs(interaction, argDefinitions) : command.acceptsArgs ? parseCommandArgs(commandDefinition, interaction.options.getString("input") ?? "") : void 0;
4446
4446
  const commandArgsWithRaw = commandArgs ? {
4447
4447
  ...commandArgs,
4448
- raw: serializeCommandArgs$1(commandDefinition, commandArgs) ?? commandArgs.raw
4448
+ raw: serializeCommandArgs(commandDefinition, commandArgs) ?? commandArgs.raw
4449
4449
  } : void 0;
4450
- const prompt = buildCommandTextFromArgs$1(commandDefinition, commandArgsWithRaw);
4450
+ const prompt = buildCommandTextFromArgs(commandDefinition, commandArgsWithRaw);
4451
4451
  const preparedPluginCommand = pluginCommandCandidate?.prepareDispatch(commandArgsWithRaw?.raw);
4452
4452
  await dispatchDiscordCommandInteraction({
4453
4453
  readPolicy,
@@ -5745,7 +5745,7 @@ async function fetchDiscordGatewayInfo(params) {
5745
5745
  body = await response.text();
5746
5746
  } catch (error) {
5747
5747
  throw createGatewayMetadataError({
5748
- detail: formatErrorMessage$1(error),
5748
+ detail: formatErrorMessage(error),
5749
5749
  transient: true,
5750
5750
  cause: error
5751
5751
  });
@@ -5760,7 +5760,7 @@ async function fetchDiscordGatewayInfo(params) {
5760
5760
  return parseDiscordGatewayInfoBody(body);
5761
5761
  } catch (error) {
5762
5762
  throw createGatewayMetadataError({
5763
- detail: `Discord API /gateway/bot returned invalid metadata: ${formatErrorMessage$1(error)} (${summary})`,
5763
+ detail: `Discord API /gateway/bot returned invalid metadata: ${formatErrorMessage(error)} (${summary})`,
5764
5764
  transient,
5765
5765
  cause: error
5766
5766
  });
@@ -5788,7 +5788,7 @@ async function fetchDiscordGatewayInfoWithTimeout(params) {
5788
5788
  }
5789
5789
  function resolveGatewayInfoWithFallback(params) {
5790
5790
  if (!isTransientGatewayMetadataError(params.error)) throw params.error;
5791
- const message = formatErrorMessage$1(params.error);
5791
+ const message = formatErrorMessage(params.error);
5792
5792
  const now = Date.now();
5793
5793
  if (params.runtime) {
5794
5794
  const previous = gatewayMetadataFallbackLogLastAt.get(params.runtime);
@@ -6124,12 +6124,12 @@ function readFirstStackFrame(err) {
6124
6124
  return frame ? frame.replace(/^at\s+/, "") : void 0;
6125
6125
  }
6126
6126
  function formatDiscordGatewayErrorMessage(err) {
6127
- if (!(err instanceof Error)) return formatErrorMessage(err);
6127
+ if (!(err instanceof Error)) return formatErrorMessage$1(err);
6128
6128
  if (err.message) {
6129
- const detail = formatErrorMessage(err);
6129
+ const detail = formatErrorMessage$1(err);
6130
6130
  return err.name ? `${err.name}: ${detail}` : detail;
6131
6131
  }
6132
- const detail = formatErrorMessage(err);
6132
+ const detail = formatErrorMessage$1(err);
6133
6133
  const firstFrame = readFirstStackFrame(err);
6134
6134
  if (firstFrame && detail === (err.name || "Error")) return `${detail} @ ${firstFrame}`;
6135
6135
  return detail;
@@ -6618,7 +6618,7 @@ async function runDiscordGatewayLifecycle(params) {
6618
6618
  });
6619
6619
  try {
6620
6620
  if (drainPendingGatewayErrors() === "stop") return;
6621
- if (gatewayReadyAtLifecycleStart && params.voiceManager) params.voiceManager.autoJoin().catch((err) => params.runtime.error?.(danger(`discord voice: autoJoin failed: ${formatErrorMessage(err)}`)));
6621
+ if (gatewayReadyAtLifecycleStart && params.voiceManager) params.voiceManager.autoJoin().catch((err) => params.runtime.error?.(danger(`discord voice: autoJoin failed: ${formatErrorMessage$1(err)}`)));
6622
6622
  await waitForGatewayReady({
6623
6623
  gateway,
6624
6624
  abortSignal: params.abortSignal,
@@ -6663,11 +6663,11 @@ async function runDiscordGatewayLifecycle(params) {
6663
6663
  }
6664
6664
  //#endregion
6665
6665
  //#region extensions/discord/src/monitor/provider-runtime.ts
6666
- const discordVoiceRuntime = createLazyRuntimeModule(() => import("./voice-runtime-Bc75quiH.mjs").then((n) => n.t).catch((error) => {
6666
+ const discordVoiceRuntime = createLazyRuntimeModule(() => import("./voice-runtime-DDymtIw8.mjs").then((n) => n.t).catch((error) => {
6667
6667
  discordVoiceRuntime.clear();
6668
6668
  throw error;
6669
6669
  }));
6670
- const discordProviderSessionRuntime = createLazyRuntimeModule(() => import("./provider-session.runtime-BupCTZQv.mjs").catch((error) => {
6670
+ const discordProviderSessionRuntime = createLazyRuntimeModule(() => import("./provider-session.runtime-D1gkPxHT.mjs").catch((error) => {
6671
6671
  discordProviderSessionRuntime.clear();
6672
6672
  throw error;
6673
6673
  }));
@@ -6696,13 +6696,13 @@ function isLegacyMissingSessionError(message) {
6696
6696
  function classifyAcpStatusProbeError(params) {
6697
6697
  if (params.isAcpRuntimeError(params.error) && ["SESSION_OWNER_MIGRATION_REQUIRED", "SESSION_OWNER_UNSUPPORTED"].includes(params.error.detailCode ?? "")) return {
6698
6698
  status: "uncertain",
6699
- reason: formatErrorMessage(params.error)
6699
+ reason: formatErrorMessage$1(params.error)
6700
6700
  };
6701
6701
  if (params.isAcpRuntimeError(params.error) && params.error.code === "ACP_SESSION_INIT_FAILED") return {
6702
6702
  status: "stale",
6703
6703
  reason: "session-init-failed"
6704
6704
  };
6705
- if (isLegacyMissingSessionError(formatErrorMessage(params.error))) return {
6705
+ if (isLegacyMissingSessionError(formatErrorMessage$1(params.error))) return {
6706
6706
  status: "stale",
6707
6707
  reason: "session-missing"
6708
6708
  };
@@ -7108,7 +7108,7 @@ function readDiscordDeployObjectField(value, field) {
7108
7108
  function isAbortLikeError(err) {
7109
7109
  if (!err || typeof err !== "object") return false;
7110
7110
  const name = "name" in err && typeof err.name === "string" ? err.name : void 0;
7111
- const message = formatErrorMessage(err);
7111
+ const message = formatErrorMessage$1(err);
7112
7112
  return name === "AbortError" || message === "This operation was aborted" || message === "The operation was aborted" || /\boperation was aborted\b/i.test(message);
7113
7113
  }
7114
7114
  function formatDiscordDeployRestOperation(err) {
@@ -7118,7 +7118,7 @@ function formatDiscordDeployRestOperation(err) {
7118
7118
  return method ?? path ?? "request";
7119
7119
  }
7120
7120
  function formatDiscordDeployErrorMessage(err) {
7121
- if (!isAbortLikeError(err)) return formatErrorMessage(err);
7121
+ if (!isAbortLikeError(err)) return formatErrorMessage$1(err);
7122
7122
  const deployErr = err && typeof err === "object" ? err : {};
7123
7123
  const requestMs = parseFiniteNumber(deployErr.deployRequestMs);
7124
7124
  const timeoutMs = parseFiniteNumber(deployErr.deployTimeoutMs);
@@ -7224,7 +7224,7 @@ function isDiscordDeployDailyCreateLimit(err) {
7224
7224
  const deployErr = err;
7225
7225
  const discordCode = parseStrictNonNegativeInteger(deployErr.discordCode);
7226
7226
  const rawCode = parseStrictNonNegativeInteger(readDiscordDeployObjectField(deployErr.rawBody, "code"));
7227
- return (discordCode === 30034 || rawCode === 30034) && /daily application command creates/i.test(formatErrorMessage(err));
7227
+ return (discordCode === 30034 || rawCode === 30034) && /daily application command creates/i.test(formatErrorMessage$1(err));
7228
7228
  }
7229
7229
  //#endregion
7230
7230
  //#region extensions/discord/src/monitor/provider.startup-log.ts
@@ -7355,7 +7355,7 @@ function runDiscordCommandDeployInBackground(params) {
7355
7355
  isVerbose: params.isVerbose
7356
7356
  });
7357
7357
  }).catch((err) => {
7358
- params.runtime.log?.(warn(`[${params.accountId}] slash command deploy failed in background (message send/receive unaffected): ${formatErrorMessage(err)}`));
7358
+ params.runtime.log?.(warn(`[${params.accountId}] slash command deploy failed in background (message send/receive unaffected): ${formatErrorMessage$1(err)}`));
7359
7359
  });
7360
7360
  }
7361
7361
  //#endregion
@@ -8587,7 +8587,7 @@ async function dispatchPluginDiscordInteractiveEvent(params) {
8587
8587
  }
8588
8588
  //#endregion
8589
8589
  //#region extensions/discord/src/monitor/agent-components.handlers.ts
8590
- const loadComponentsRuntime = createLazyRuntimeModule(() => import("./components-CzXLR3QH.mjs").then((n) => n.t));
8590
+ const loadComponentsRuntime = createLazyRuntimeModule(() => import("./components-DLJR0xU-.mjs").then((n) => n.t));
8591
8591
  async function handleDiscordComponentEvent(params) {
8592
8592
  const parsed = parseDiscordComponentData(params.data, resolveInteractionCustomId(params.interaction));
8593
8593
  if (!parsed) {
@@ -9703,7 +9703,7 @@ function formatThreadBindingDurationForConfigLabel(durationMs) {
9703
9703
  }
9704
9704
  function isDiscordDisallowedIntentsError(err) {
9705
9705
  if (!err) return false;
9706
- return formatErrorMessage(err).includes(String(DISCORD_DISALLOWED_INTENTS_CODE));
9706
+ return formatErrorMessage$1(err).includes(String(DISCORD_DISALLOWED_INTENTS_CODE));
9707
9707
  }
9708
9708
  async function monitorDiscordProvider(opts) {
9709
9709
  const { scheduler } = opts;
@@ -9842,7 +9842,7 @@ async function monitorDiscordProvider(opts) {
9842
9842
  if (applicationIdProbe.kind !== "resolved") {
9843
9843
  const at = Date.now();
9844
9844
  const terminal = applicationIdProbe.kind === "rejected";
9845
- const probeError = formatErrorMessage(applicationIdProbe.error);
9845
+ const probeError = formatErrorMessage$1(applicationIdProbe.error);
9846
9846
  const message = `Failed to resolve Discord application id: ${probeError}`;
9847
9847
  opts.setStatus?.({
9848
9848
  connected: false,
@@ -1,6 +1,6 @@
1
- import { i as createNoopThreadBindingManager, t as createThreadBindingManager } from "./thread-bindings.manager-plk0zJAW.mjs";
2
- import { c as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-yNNlcUWE.mjs";
3
- import { t as createDiscordMessageHandler } from "./message-handler-BNToPZrx.mjs";
1
+ import { i as createNoopThreadBindingManager, t as createThreadBindingManager } from "./thread-bindings.manager-D2-GYZ5s.mjs";
2
+ import { c as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-DjQCkmsd.mjs";
3
+ import { t as createDiscordMessageHandler } from "./message-handler-BK69A-NB.mjs";
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-YP8gN9_o.mjs";
2
+ export { monitorDiscordProvider };