@openclaw/discord 2026.5.3-beta.2 → 2026.5.3

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 (73) hide show
  1. package/dist/{account-inspect-C2UEUhbG.js → account-inspect-BcQAxhKY.js} +1 -1
  2. package/dist/account-inspect-api.js +1 -1
  3. package/dist/{accounts-BKnkNaoA.js → accounts-CaHGiVB4.js} +7 -5
  4. package/dist/action-runtime-api.js +1 -1
  5. package/dist/api.js +13 -13
  6. package/dist/{approval-handler.runtime-v8nzQHlT.js → approval-handler.runtime-AZort68o.js} +4 -4
  7. package/dist/{approval-native-DqWGp0bM.js → approval-native-oN9__F3M.js} +3 -3
  8. package/dist/{approval-shared-DKnwwjZM.js → approval-shared-GfJeMdLu.js} +1 -1
  9. package/dist/{audit-CJ92YD6J.js → audit-DEbWTFTt.js} +3 -3
  10. package/dist/{channel-B3aTtBj1.js → channel-Nf20xyAS.js} +16 -16
  11. package/dist/{channel-actions-TNih7k3w.js → channel-actions-ChsoeB3T.js} +3 -3
  12. package/dist/{channel-actions.runtime-CaPytiY4.js → channel-actions.runtime-BxNUYqD-.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-Dt4tIDrl.js → channel.setup-DHzAG9qO.js} +5 -5
  16. package/dist/{components-BapWDmDM.js → components-D5LnN7ZQ.js} +1 -1
  17. package/dist/{config-schema-DwFkL904.js → config-schema-BmGtnfiE.js} +18 -2
  18. package/dist/contract-api.js +3 -3
  19. package/dist/{directory-config-LyMP0sdv.js → directory-config-DElx_Gr4.js} +1 -1
  20. package/dist/directory-contract-api.js +1 -1
  21. package/dist/{directory-live-BQapdpkZ.js → directory-live-DJ0V5asB.js} +2 -2
  22. package/dist/{discord-D1kDh0X_.js → discord-eZlimVfW.js} +1 -1
  23. package/dist/{doctor-B2G7WqO0.js → doctor-Bgzf3Du2.js} +3 -3
  24. package/dist/{doctor-contract-D3pSutkb.js → doctor-contract-Dxq4VIkE.js} +1 -1
  25. package/dist/doctor-contract-api.js +1 -1
  26. package/dist/{handle-action.guild-admin-BuqsSVXu.js → handle-action.guild-admin-B2Zzo2HU.js} +1 -1
  27. package/dist/{manager.runtime-M2aAa7qA.js → manager.runtime-B0TEyget.js} +2 -2
  28. package/dist/{message-handler-D6JfFV3P.js → message-handler-TShaLWeQ.js} +4 -4
  29. package/dist/{message-handler.preflight-DqaF3vHm.js → message-handler.preflight-BsvNIDEw.js} +7 -7
  30. package/dist/{message-handler.process-tl3Nwnhr.js → message-handler.process-Be2HA9AV.js} +178 -78
  31. package/dist/{outbound-adapter-DJf9_sfH.js → outbound-adapter-B-mzejZP.js} +6 -6
  32. package/dist/preview-streaming-BzkA67Qa.js +7 -0
  33. package/dist/{probe-DcNEodPI.js → probe-DmHUl6wI.js} +1 -1
  34. package/dist/{probe.runtime-P-e4r1Hl.js → probe.runtime-ch3eJ1Ar.js} +1 -1
  35. package/dist/{provider-CMvXOp-3.js → provider-Cy1aml6b.js} +23 -56
  36. package/dist/{provider-session.runtime-JFemrDZT.js → provider-session.runtime-CD5RUyP3.js} +3 -3
  37. package/dist/provider.runtime-CbW_PYV-.js +2 -0
  38. package/dist/{reply-delivery-D9So77a6.js → reply-delivery-uCiWAyIt.js} +2 -2
  39. package/dist/{resolve-allowlist-common-DqqFY_qa.js → resolve-allowlist-common-Cl2N5YLW.js} +1 -1
  40. package/dist/{resolve-channels-CGPntufJ.js → resolve-channels-VAqom3Dn.js} +1 -1
  41. package/dist/{resolve-users-CDvSlW0V.js → resolve-users-DPJkRKx1.js} +1 -1
  42. package/dist/{route-resolution-BYiC-6Cc.js → route-resolution-Bx85WEpX.js} +1 -1
  43. package/dist/{runtime-n5xZHW55.js → runtime-SoSwefbS.js} +7 -7
  44. package/dist/runtime-api.actions.js +2 -2
  45. package/dist/runtime-api.js +18 -18
  46. package/dist/runtime-api.lookup.js +5 -5
  47. package/dist/runtime-api.monitor-srLSEVEX.js +6 -0
  48. package/dist/runtime-api.monitor.js +4 -4
  49. package/dist/runtime-api.send.js +4 -4
  50. package/dist/runtime-api.threads.js +3 -3
  51. package/dist/{send-B_frVn_Q.js → send-Dw6Da1m2.js} +4 -4
  52. package/dist/{send.components-B1EgHAds.js → send.components-CJ8gYK3s.js} +5 -5
  53. package/dist/{send.outbound-DlBAuW7y.js → send.outbound-6KbINW5h.js} +3 -3
  54. package/dist/{send.shared-Db0opnak.js → send.shared-e9Pd_Em0.js} +10 -5
  55. package/dist/setup-plugin-api.js +1 -1
  56. package/dist/{shared-CqlrJmSs.js → shared-C1EMtcxR.js} +9 -6
  57. package/dist/{subagent-hooks-mEK5ARfP.js → subagent-hooks-4TZ3SJrh.js} +2 -2
  58. package/dist/subagent-hooks-api.js +1 -1
  59. package/dist/{system-events-Bu9jmO4W.js → system-events-B-xNU7II.js} +1 -1
  60. package/dist/{targets-kKlbZ4ai.js → targets-B7OfGFt8.js} +1 -1
  61. package/dist/test-api.js +3 -3
  62. package/dist/{thread-bindings-Bj1R-6QH.js → thread-bindings-DLoian4S.js} +3 -3
  63. package/dist/{thread-bindings.discord-api-ClPMuIr8.js → thread-bindings.discord-api-BJF6acLK.js} +4 -4
  64. package/dist/{thread-bindings.manager-BaN0l4y8.js → thread-bindings.manager-CWG9Gd04.js} +4 -4
  65. package/dist/{threading-CWhdYHVx.js → threading-Bi95Nz8h.js} +1 -1
  66. package/dist/token-BZtonk7d.js +93 -0
  67. package/dist/{typing-CJiowRTZ.js → typing-BSi1dUHm.js} +1 -1
  68. package/openclaw.plugin.json +80 -2
  69. package/package.json +4 -4
  70. package/dist/preview-streaming-C0O92Qqz.js +0 -14
  71. package/dist/provider.runtime-BO007oR2.js +0 -2
  72. package/dist/runtime-api.monitor-BC-XN0tY.js +0 -6
  73. package/dist/token-D-w3Rigl.js +0 -42
@@ -1,4 +1,4 @@
1
- import { w as canViewDiscordGuildChannel } from "./send.shared-Db0opnak.js";
1
+ import { w as canViewDiscordGuildChannel } from "./send.shared-e9Pd_Em0.js";
2
2
  import { o as resolveDiscordAllowListMatch, r as normalizeDiscordAllowList } from "./allow-list-ek-1hMKN.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-BKnkNaoA.js";
1
+ import { o as resolveDefaultDiscordAccountId, t as createDiscordActionGate } from "./accounts-CaHGiVB4.js";
2
2
  import { s as resolveDiscordChannelId } from "./normalize-B-ktw-T_.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-B1EgHAds.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-CJ8gYK3s.js";
4
4
  import { n as getGateway, o as getPresence } from "./gateway-registry-BKG4KIVC.js";
5
- import { O as hasAnyGuildPermissionDiscord, P as createDiscordRuntimeAccountContext, T as fetchChannelPermissionsDiscord, d as resolveDiscordTargetChannelId } from "./send.shared-Db0opnak.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-B_frVn_Q.js";
7
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DlBAuW7y.js";
8
- import { c as readDiscordComponentSpec } from "./components-BapWDmDM.js";
9
- import "./targets-kKlbZ4ai.js";
5
+ import { O as hasAnyGuildPermissionDiscord, P as createDiscordRuntimeAccountContext, T as fetchChannelPermissionsDiscord, d as resolveDiscordTargetChannelId } from "./send.shared-e9Pd_Em0.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-Dw6Da1m2.js";
7
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-6KbINW5h.js";
8
+ import { c as readDiscordComponentSpec } from "./components-D5LnN7ZQ.js";
9
+ import "./targets-B7OfGFt8.js";
10
10
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/text-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-n5xZHW55.js";
2
- import { t as discordMessageActions } from "./channel-actions-TNih7k3w.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-SoSwefbS.js";
2
+ import { t as discordMessageActions } from "./channel-actions-ChsoeB3T.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-uHGLDP-Y.js";
2
- import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-B1EgHAds.js";
2
+ import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-CJ8gYK3s.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-Db0opnak.js";
4
+ import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-e9Pd_Em0.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-ek-1hMKN.js";
6
- import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-BQapdpkZ.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-B_frVn_Q.js";
8
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DlBAuW7y.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-n5xZHW55.js";
6
+ import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-DJ0V5asB.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-Dw6Da1m2.js";
8
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-6KbINW5h.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-SoSwefbS.js";
10
10
  import { r as setDiscordRuntime } from "./runtime-K9RT6Egn.js";
11
- import { t as discordMessageActions } from "./channel-actions-TNih7k3w.js";
11
+ import { t as discordMessageActions } from "./channel-actions-ChsoeB3T.js";
12
12
  import { C as resolveThreadBindingMaxAgeMs, S as resolveThreadBindingMaxAgeExpiresAt, b as resolveThreadBindingIdleTimeoutMs, l as isRecentlyUnboundThreadWebhookMessage, x as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-Dzu1gCE7.js";
13
13
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-TTP020qQ.js";
14
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-CGPntufJ.js";
15
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-CDvSlW0V.js";
16
- import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-ClPMuIr8.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-Bj1R-6QH.js";
18
- import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-BaN0l4y8.js";
19
- import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-DcNEodPI.js";
14
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-VAqom3Dn.js";
15
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-DPJkRKx1.js";
16
+ import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BJF6acLK.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-DLoian4S.js";
18
+ import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-CWG9Gd04.js";
19
+ import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-DmHUl6wI.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-C7jeTtGs.js";
21
21
  import "./runtime-api.actions.js";
22
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-CJ92YD6J.js";
22
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-DEbWTFTt.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-CMvXOp-3.js";
24
+ import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-Cy1aml6b.js";
25
25
  import { i as buildDiscordMediaPayload } from "./message-utils-Dmgu-7fC.js";
26
- import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-CWhdYHVx.js";
27
- import { t as createDiscordMessageHandler } from "./message-handler-D6JfFV3P.js";
28
- import "./runtime-api.monitor-BC-XN0tY.js";
26
+ import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-Bi95Nz8h.js";
27
+ import { t as createDiscordMessageHandler } from "./message-handler-TShaLWeQ.js";
28
+ import "./runtime-api.monitor-srLSEVEX.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-BQapdpkZ.js";
1
+ import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-DJ0V5asB.js";
2
2
  import { r as setDiscordRuntime } from "./runtime-K9RT6Egn.js";
3
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-CGPntufJ.js";
4
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-CDvSlW0V.js";
5
- import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-DcNEodPI.js";
6
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-CJ92YD6J.js";
3
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-VAqom3Dn.js";
4
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-DPJkRKx1.js";
5
+ import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-DmHUl6wI.js";
6
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-DEbWTFTt.js";
7
7
  export { auditDiscordChannelPermissions, collectDiscordAuditChannelIds, fetchDiscordApplicationId, fetchDiscordApplicationSummary, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, parseApplicationIdFromToken, probeDiscord, resolveDiscordChannelAllowlist, resolveDiscordPrivilegedIntentsFromFlags, resolveDiscordUserAllowlist, setDiscordRuntime };
@@ -0,0 +1,6 @@
1
+ import "./allow-list-ek-1hMKN.js";
2
+ import "./provider-Cy1aml6b.js";
3
+ import "./message-utils-Dmgu-7fC.js";
4
+ import "./threading-Bi95Nz8h.js";
5
+ import "./message-handler-TShaLWeQ.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-ek-1hMKN.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-C7jeTtGs.js";
4
- import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-CMvXOp-3.js";
4
+ import { a as createDiscordNativeCommand, i as waitForDiscordGatewayPluginRegistration, n as createDiscordGatewayPlugin, o as registerDiscordListener, r as resolveDiscordGatewayIntents, t as monitorDiscordProvider } from "./provider-Cy1aml6b.js";
5
5
  import { i as buildDiscordMediaPayload } from "./message-utils-Dmgu-7fC.js";
6
- import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-CWhdYHVx.js";
7
- import { t as createDiscordMessageHandler } from "./message-handler-D6JfFV3P.js";
8
- import "./runtime-api.monitor-BC-XN0tY.js";
6
+ import { o as sanitizeDiscordThreadName, r as resolveDiscordReplyTarget } from "./threading-Bi95Nz8h.js";
7
+ import { t as createDiscordMessageHandler } from "./message-handler-TShaLWeQ.js";
8
+ import "./runtime-api.monitor-srLSEVEX.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-uHGLDP-Y.js";
2
- import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-B1EgHAds.js";
3
- import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-Db0opnak.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-B_frVn_Q.js";
5
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DlBAuW7y.js";
2
+ import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-CJ8gYK3s.js";
3
+ import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, O as hasAnyGuildPermissionDiscord, T as fetchChannelPermissionsDiscord } from "./send.shared-e9Pd_Em0.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-Dw6Da1m2.js";
5
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-6KbINW5h.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-Dzu1gCE7.js";
2
2
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-TTP020qQ.js";
3
- import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-ClPMuIr8.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-Bj1R-6QH.js";
5
- import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-BaN0l4y8.js";
3
+ import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BJF6acLK.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-DLoian4S.js";
5
+ import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-CWG9Gd04.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 { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BKnkNaoA.js";
3
- import { $ as createChannelMessage, At as putChannelPermission, Ct as getGuildVoiceState, Dt as listGuildRoles, Et as listGuildEmojis, Mt as removeGuildMemberRole, Nt as timeoutGuildMember, Ot as listGuildScheduledEvents, Q as listMessageReactionUsers, St as getGuildMember, Tt as listGuildChannels, X as createOwnMessageReaction, Z as deleteOwnMessageReaction, _ as readDiscordMessage, _t as createGuildEmoji, at as getChannel, bt as deleteChannelPermission, ct as listChannelMessages, dt as searchGuildMessages, et as createThread, ft as sendChannelTyping, g as readDiscordCode, gt as createGuildChannel, h as RateLimitError, ht as createGuildBan, it as editChannelMessage, jt as removeGuildMember, kt as moveGuildChannels, lt as listChannelPins, m as DiscordError, mt as addGuildMemberRole, nt as deleteChannelMessage, ot as getChannelMessage, pt as unpinChannelMessage, rt as editChannel, st as listChannelArchivedThreads, tt as deleteChannel, ut as pinChannelMessage, v as readRetryAfter, vt as createGuildScheduledEvent, wt as listGuildActiveThreads, yt as createGuildSticker } from "./discord-D1kDh0X_.js";
4
- import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, F as resolveDiscordClientAccountContext, I as resolveDiscordRest, M as createDiscordClient, O as hasAnyGuildPermissionDiscord, 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-Db0opnak.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
3
+ import { $ as createChannelMessage, At as putChannelPermission, Ct as getGuildVoiceState, Dt as listGuildRoles, Et as listGuildEmojis, Mt as removeGuildMemberRole, Nt as timeoutGuildMember, Ot as listGuildScheduledEvents, Q as listMessageReactionUsers, St as getGuildMember, Tt as listGuildChannels, X as createOwnMessageReaction, Z as deleteOwnMessageReaction, _ as readDiscordMessage, _t as createGuildEmoji, at as getChannel, bt as deleteChannelPermission, ct as listChannelMessages, dt as searchGuildMessages, et as createThread, ft as sendChannelTyping, g as readDiscordCode, gt as createGuildChannel, h as RateLimitError, ht as createGuildBan, it as editChannelMessage, jt as removeGuildMember, kt as moveGuildChannels, lt as listChannelPins, m as DiscordError, mt as addGuildMemberRole, nt as deleteChannelMessage, ot as getChannelMessage, pt as unpinChannelMessage, rt as editChannel, st as listChannelArchivedThreads, tt as deleteChannel, ut as pinChannelMessage, v as readRetryAfter, vt as createGuildScheduledEvent, wt as listGuildActiveThreads, yt as createGuildSticker } from "./discord-eZlimVfW.js";
4
+ import { C as DiscordSendError, D as hasAllGuildPermissionsDiscord, E as fetchMemberGuildPermissionsDiscord, F as resolveDiscordClientAccountContext, I as resolveDiscordRest, M as createDiscordClient, O as hasAnyGuildPermissionDiscord, 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-e9Pd_Em0.js";
5
5
  import { n as rewriteDiscordKnownMentions } from "./mentions-BPZUaFk7.js";
6
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-DlBAuW7y.js";
6
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-6KbINW5h.js";
7
7
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
8
8
  import { ChannelType } from "discord-api-types/v10";
9
9
  import crypto from "node:crypto";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BKnkNaoA.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
3
3
  import "./config-api-CFZtoMaS.js";
4
4
  import "./channel-api-CTSWMrnD.js";
5
5
  import "./outbound-session-route-uHGLDP-Y.js";
6
- import { $ as createChannelMessage, it as editChannelMessage, w as serializePayload } from "./discord-D1kDh0X_.js";
7
- import { M 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-Db0opnak.js";
8
- import { t as sendMessageDiscord } from "./send.outbound-DlBAuW7y.js";
9
- import { a as buildDiscordComponentMessage, l as resolveDiscordComponentAttachmentName, o as buildDiscordComponentMessageFlags } from "./components-BapWDmDM.js";
6
+ import { $ as createChannelMessage, it as editChannelMessage, w as serializePayload } from "./discord-eZlimVfW.js";
7
+ import { M 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-e9Pd_Em0.js";
8
+ import { t as sendMessageDiscord } from "./send.outbound-6KbINW5h.js";
9
+ import { a as buildDiscordComponentMessage, l as resolveDiscordComponentAttachmentName, o as buildDiscordComponentMessageFlags } from "./components-D5LnN7ZQ.js";
10
10
  import { n as getOptionalDiscordRuntime } from "./runtime-K9RT6Egn.js";
11
11
  import "openclaw/plugin-sdk/account-id";
12
12
  import "openclaw/plugin-sdk/secret-input";
@@ -1,6 +1,6 @@
1
- import { s as resolveDiscordAccount } from "./accounts-BKnkNaoA.js";
2
- import { $ as createChannelMessage, et as createThread } from "./discord-D1kDh0X_.js";
3
- import { M 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-Db0opnak.js";
1
+ import { s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
2
+ import { $ as createChannelMessage, et as createThread } from "./discord-eZlimVfW.js";
3
+ import { M 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-e9Pd_Em0.js";
4
4
  import { n as rewriteDiscordKnownMentions } from "./mentions-BPZUaFk7.js";
5
5
  import { convertMarkdownTables, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
6
6
  import { ChannelType } from "discord-api-types/v10";
@@ -1,9 +1,9 @@
1
- import { t as normalizeDiscordToken } from "./token-D-w3Rigl.js";
2
- import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, s as resolveDiscordAccount } from "./accounts-BKnkNaoA.js";
1
+ import { t as normalizeDiscordToken } from "./token-BZtonk7d.js";
2
+ import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
3
3
  import { a as chunkDiscordTextWithMode, o as parseDiscordTarget, t as allowFromContainsDiscordUserId } from "./normalize-B-ktw-T_.js";
4
- import { $ as createChannelMessage, J as createUserDmChannel, St as getGuildMember, Y as getCurrentUser, at as getChannel, h as RateLimitError, p as RequestClient, u as Embed, w as serializePayload, xt as getGuild } from "./discord-D1kDh0X_.js";
4
+ import { $ as createChannelMessage, J as createUserDmChannel, St as getGuildMember, Y as getCurrentUser, at as getChannel, h as RateLimitError, p as RequestClient, u as Embed, w as serializePayload, xt as getGuild } from "./discord-eZlimVfW.js";
5
5
  import { t as rememberDiscordDirectoryUser } from "./directory-cache-D93eSrpB.js";
6
- import { r as listDiscordDirectoryPeersLive } from "./directory-live-BQapdpkZ.js";
6
+ import { r as listDiscordDirectoryPeersLive } from "./directory-live-DJ0V5asB.js";
7
7
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
8
8
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
9
9
  import { buildMessagingTarget } from "openclaw/plugin-sdk/messaging-targets";
@@ -149,7 +149,10 @@ function resolveDiscordClientAccountContext(opts, runtime) {
149
149
  }
150
150
  function resolveToken(params) {
151
151
  const fallback = normalizeDiscordToken(params.fallbackToken, "channels.discord.token");
152
- if (!fallback) throw new Error(`Discord bot token missing for account "${params.accountId}" (set discord.accounts.${params.accountId}.token or DISCORD_BOT_TOKEN for default).`);
152
+ if (!fallback) {
153
+ if (params.account.tokenStatus === "configured_unavailable") throw new Error(`Discord bot token configured for account "${params.accountId}" is unavailable; resolve SecretRefs against the active runtime snapshot before using this account.`);
154
+ throw new Error(`Discord bot token missing for account "${params.accountId}" (set discord.accounts.${params.accountId}.token or DISCORD_BOT_TOKEN for default).`);
155
+ }
153
156
  return fallback;
154
157
  }
155
158
  function resolveRest(token, account, cfg, rest, proxyFetch) {
@@ -168,6 +171,7 @@ function resolveAccountWithoutToken(params) {
168
171
  name: normalizeOptionalString(merged.name),
169
172
  token: "",
170
173
  tokenSource: "none",
174
+ tokenStatus: "missing",
171
175
  config: merged
172
176
  };
173
177
  }
@@ -180,6 +184,7 @@ function createDiscordRestClient(opts) {
180
184
  accountId: opts.accountId
181
185
  });
182
186
  const token = explicitToken ?? resolveToken({
187
+ account,
183
188
  accountId: account.accountId,
184
189
  fallbackToken: account.token
185
190
  });
@@ -1,2 +1,2 @@
1
- import { t as discordSetupPlugin } from "./channel.setup-Dt4tIDrl.js";
1
+ import { t as discordSetupPlugin } from "./channel.setup-DHzAG9qO.js";
2
2
  export { discordSetupPlugin };
@@ -1,8 +1,8 @@
1
- import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, d as resolveDiscordAccountDmPolicy, n as isDiscordAccountEnabledForRuntime, o as resolveDefaultDiscordAccountId, r as listDiscordAccountIds, s as resolveDiscordAccount, u as resolveDiscordAccountDisabledReason } from "./accounts-BKnkNaoA.js";
2
- import { t as inspectDiscordAccount } from "./account-inspect-C2UEUhbG.js";
1
+ import { a as mergeDiscordAccountConfig, c as resolveDiscordAccountAllowFrom, d as resolveDiscordAccountDmPolicy, n as isDiscordAccountEnabledForRuntime, o as resolveDefaultDiscordAccountId, r as listDiscordAccountIds, s as resolveDiscordAccount, u as resolveDiscordAccountDisabledReason } from "./accounts-CaHGiVB4.js";
2
+ import { t as inspectDiscordAccount } from "./account-inspect-BcQAxhKY.js";
3
3
  import { i as getChatChannelMeta } from "./channel-api-CTSWMrnD.js";
4
- import { t as DiscordChannelConfigSchema } from "./config-schema-DwFkL904.js";
5
- import { n as normalizeCompatibilityConfig } from "./doctor-contract-D3pSutkb.js";
4
+ import { t as DiscordChannelConfigSchema } from "./config-schema-BmGtnfiE.js";
5
+ import { n as normalizeCompatibilityConfig } from "./doctor-contract-Dxq4VIkE.js";
6
6
  import { t as DISCORD_LEGACY_CONFIG_RULES } from "./doctor-shared-DU8RcnF5.js";
7
7
  import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-CoGryS5c.js";
8
8
  import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-ei3Mz8Sa.js";
@@ -69,7 +69,7 @@ const discordSetupAdapter = createEnvPatchedAccountSetupAdapter({
69
69
  const DISCORD_CHANNEL = "discord";
70
70
  let discordDoctorModulePromise;
71
71
  async function loadDiscordDoctorModule() {
72
- discordDoctorModulePromise ??= import("./doctor-B2G7WqO0.js");
72
+ discordDoctorModulePromise ??= import("./doctor-Bgzf3Du2.js");
73
73
  return await discordDoctorModulePromise;
74
74
  }
75
75
  const discordDoctor = {
@@ -148,7 +148,10 @@ function createDiscordPluginBase(params) {
148
148
  describeAccount: (account) => describeAccountSnapshot({
149
149
  account,
150
150
  configured: Boolean(account.token?.trim()),
151
- extra: { tokenSource: account.tokenSource }
151
+ extra: {
152
+ tokenSource: account.tokenSource,
153
+ tokenStatus: account.tokenStatus
154
+ }
152
155
  })
153
156
  },
154
157
  messaging: { deriveLegacySessionChatType },
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
- import { s as resolveDiscordAccount } from "./accounts-BKnkNaoA.js";
3
- import { n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey } from "./thread-bindings-Bj1R-6QH.js";
2
+ import { s as resolveDiscordAccount } from "./accounts-CaHGiVB4.js";
3
+ import { n as autoBindSpawnedDiscordSubagent, o as unbindThreadBindingsBySessionKey, r as listThreadBindingsBySessionKey } from "./thread-bindings-DLoian4S.js";
4
4
  import { normalizeOptionalLowercaseString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/text-runtime";
5
5
  import { formatThreadBindingDisabledError, formatThreadBindingSpawnDisabledError, resolveThreadBindingSpawnPolicy } from "openclaw/plugin-sdk/conversation-runtime";
6
6
  //#region extensions/discord/src/subagent-hooks.ts
@@ -1,7 +1,7 @@
1
1
  //#region extensions/discord/subagent-hooks-api.ts
2
2
  let discordSubagentHooksPromise = null;
3
3
  function loadDiscordSubagentHooksModule() {
4
- discordSubagentHooksPromise ??= import("./subagent-hooks-mEK5ARfP.js").then((n) => n.i);
4
+ discordSubagentHooksPromise ??= import("./subagent-hooks-4TZ3SJrh.js").then((n) => n.i);
5
5
  return discordSubagentHooksPromise;
6
6
  }
7
7
  function registerDiscordSubagentHooks(api) {
@@ -1,4 +1,4 @@
1
- import { t as discord_exports } from "./discord-D1kDh0X_.js";
1
+ import { t as discord_exports } from "./discord-eZlimVfW.js";
2
2
  import { n as formatDiscordUserTag } from "./format-D8TsaXxW.js";
3
3
  //#region extensions/discord/src/monitor/system-events.ts
4
4
  function resolveDiscordSystemEvent(message, location) {
@@ -1,3 +1,3 @@
1
1
  import "./normalize-B-ktw-T_.js";
2
- import "./send.shared-Db0opnak.js";
2
+ import "./send.shared-e9Pd_Em0.js";
3
3
  export {};
package/dist/test-api.js CHANGED
@@ -1,6 +1,6 @@
1
- import { t as discordPlugin } from "./channel-B3aTtBj1.js";
2
- import { n as discordOutbound } from "./outbound-adapter-DJf9_sfH.js";
3
- import { t as __testing } from "./thread-bindings.manager-BaN0l4y8.js";
1
+ import { t as discordPlugin } from "./channel-Nf20xyAS.js";
2
+ import { n as discordOutbound } from "./outbound-adapter-B-mzejZP.js";
3
+ import { t as __testing } from "./thread-bindings.manager-CWG9Gd04.js";
4
4
  import { n as buildDiscordInboundAccessContext } from "./inbound-context-e_oBBJtF.js";
5
5
  import { finalizeInboundContext } from "openclaw/plugin-sdk/reply-dispatch-runtime";
6
6
  //#region extensions/discord/src/monitor/inbound-context.test-helpers.ts
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
2
  import { o as parseDiscordTarget } from "./normalize-B-ktw-T_.js";
3
- import "./targets-kKlbZ4ai.js";
3
+ import "./targets-B7OfGFt8.js";
4
4
  import { C as resolveThreadBindingMaxAgeMs$1, O as shouldPersistBindingMutations, S as resolveThreadBindingMaxAgeExpiresAt, T as saveBindingsToDisk, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingToken, f as normalizeThreadId, g as removeBindingRecord, l as isRecentlyUnboundThreadWebhookMessage, n as MANAGERS_BY_ACCOUNT_ID, p as rememberRecentUnboundWebhookEcho, t as BINDINGS_BY_THREAD_ID, x as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-Dzu1gCE7.js";
5
5
  import { n as setThreadBindingMaxAgeBySessionKey, r as resolveBindingIdsForTargetSession, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-TTP020qQ.js";
6
- import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, s as resolveChannelIdForBinding, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-ClPMuIr8.js";
7
- import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-BaN0l4y8.js";
6
+ import { d as formatThreadBindingDurationLabel, l as resolveThreadBindingPersona, m as resolveThreadBindingThreadName, p as resolveThreadBindingIntroText, s as resolveChannelIdForBinding, u as resolveThreadBindingPersonaFromRecord } from "./thread-bindings.discord-api-BJF6acLK.js";
7
+ import { i as getThreadBindingManager, n as createNoopThreadBindingManager, r as createThreadBindingManager, t as __testing } from "./thread-bindings.manager-CWG9Gd04.js";
8
8
  import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
9
9
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
10
10
  import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
@@ -1,8 +1,8 @@
1
1
  import { s as resolveDiscordChannelId } from "./normalize-B-ktw-T_.js";
2
- import { at as getChannel, q as createChannelWebhook } from "./discord-D1kDh0X_.js";
3
- import { N as createDiscordRestClient } from "./send.shared-Db0opnak.js";
4
- import { c as sendWebhookMessageDiscord, u as createThreadDiscord } from "./send-B_frVn_Q.js";
5
- import { t as sendMessageDiscord } from "./send.outbound-DlBAuW7y.js";
2
+ import { at as getChannel, q as createChannelWebhook } from "./discord-eZlimVfW.js";
3
+ import { N as createDiscordRestClient } from "./send.shared-e9Pd_Em0.js";
4
+ import { c as sendWebhookMessageDiscord, u as createThreadDiscord } from "./send-Dw6Da1m2.js";
5
+ import { t as sendMessageDiscord } from "./send.outbound-6KbINW5h.js";
6
6
  import { i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, k as toReusableWebhookKey, m as rememberReusableWebhook, t as BINDINGS_BY_THREAD_ID } from "./thread-bindings.state-Dzu1gCE7.js";
7
7
  import { n as resolveDiscordChannelInfoSafe, t as resolveDiscordChannelIdSafe } from "./channel-access-ewDxhd9q.js";
8
8
  import { SYSTEM_MARK, normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
2
  import { s as resolveDiscordChannelId } from "./normalize-B-ktw-T_.js";
3
- import { at as getChannel } from "./discord-D1kDh0X_.js";
4
- import { N as createDiscordRestClient } from "./send.shared-Db0opnak.js";
3
+ import { at as getChannel } from "./discord-eZlimVfW.js";
4
+ import { N as createDiscordRestClient } from "./send.shared-e9Pd_Em0.js";
5
5
  import { A as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, C as resolveThreadBindingMaxAgeMs$1, D as shouldDefaultPersist, E as setBindingRecord, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, S as resolveThreadBindingMaxAgeExpiresAt, T as saveBindingsToDisk, _ as resetThreadBindingsForTests, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingToken, d as normalizeThreadBindingDurationMs, f as normalizeThreadId, g as removeBindingRecord, h as rememberThreadBindingToken, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as rememberRecentUnboundWebhookEcho, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, u as normalizeTargetKind, v as resolveBindingIdsForSession, w as resolveThreadBindingsPath, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-Dzu1gCE7.js";
6
- import { a as isThreadArchived, c as summarizeDiscordError, f as resolveThreadBindingFarewellText, i as isDiscordThreadGoneError, m as resolveThreadBindingThreadName, n as createWebhookForChannel, o as maybeSendBindingMessage, r as findReusableWebhook, s as resolveChannelIdForBinding, t as createThreadForBinding } from "./thread-bindings.discord-api-ClPMuIr8.js";
6
+ import { a as isThreadArchived, c as summarizeDiscordError, f as resolveThreadBindingFarewellText, i as isDiscordThreadGoneError, m as resolveThreadBindingThreadName, n as createWebhookForChannel, o as maybeSendBindingMessage, r as findReusableWebhook, s as resolveChannelIdForBinding, t as createThreadForBinding } from "./thread-bindings.discord-api-BJF6acLK.js";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/text-runtime";
8
8
  import { normalizeAccountId, resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing";
9
+ import { getRuntimeConfigSnapshot } from "openclaw/plugin-sdk/runtime-config-snapshot";
9
10
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
10
11
  import { registerSessionBindingAdapter, resolveThreadBindingConversationIdFromBindingId, unregisterSessionBindingAdapter } from "openclaw/plugin-sdk/conversation-runtime";
11
- import { getRuntimeConfigSnapshot } from "openclaw/plugin-sdk/runtime-config-snapshot";
12
12
  //#region extensions/discord/src/monitor/thread-bindings.session-adapter.ts
13
13
  function normalizeChildBindingParentChannelId(raw) {
14
14
  const trimmed = normalizeOptionalString(raw) ?? "";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
- import { et as createThread, ot as getChannelMessage, rt as editChannel, t as discord_exports } from "./discord-D1kDh0X_.js";
2
+ import { et as createThread, ot as getChannelMessage, rt as editChannel, t as discord_exports } from "./discord-eZlimVfW.js";
3
3
  import { a as resolveDiscordChannelParentSafe, i as resolveDiscordChannelParentIdSafe, r as resolveDiscordChannelNameSafe, t as resolveDiscordChannelIdSafe } from "./channel-access-ewDxhd9q.js";
4
4
  import { s as withAbortTimeout } from "./timeouts-C7jeTtGs.js";
5
5
  import { c as resolveDiscordChannelInfo, l as resolveDiscordMessageChannelId, n as resolveDiscordForwardedMessagesTextFromSnapshots, t as resolveDiscordEmbedText } from "./message-utils-Dmgu-7fC.js";
@@ -0,0 +1,93 @@
1
+ import { normalizeResolvedSecretInputString, resolveSecretInputString } from "openclaw/plugin-sdk/secret-input";
2
+ import { DEFAULT_ACCOUNT_ID, normalizeAccountId, resolveAccountEntry } from "openclaw/plugin-sdk/routing";
3
+ import { getRuntimeConfigSnapshot, getRuntimeConfigSourceSnapshot, selectApplicableRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
4
+ //#region extensions/discord/src/runtime-config.ts
5
+ function selectDiscordRuntimeConfig(inputConfig) {
6
+ return selectApplicableRuntimeConfig({
7
+ inputConfig,
8
+ runtimeConfig: getRuntimeConfigSnapshot(),
9
+ runtimeSourceConfig: getRuntimeConfigSourceSnapshot()
10
+ }) ?? inputConfig;
11
+ }
12
+ //#endregion
13
+ //#region extensions/discord/src/token.ts
14
+ function stripDiscordBotPrefix(token) {
15
+ return token.replace(/^Bot\s+/i, "");
16
+ }
17
+ function normalizeDiscordToken(raw, path) {
18
+ const trimmed = normalizeResolvedSecretInputString({
19
+ value: raw,
20
+ path
21
+ });
22
+ if (!trimmed) return;
23
+ return stripDiscordBotPrefix(trimmed);
24
+ }
25
+ function resolveDiscordTokenValue(params) {
26
+ const resolved = resolveSecretInputString({
27
+ value: params.value,
28
+ path: params.path,
29
+ defaults: params.cfg.secrets?.defaults,
30
+ mode: "inspect"
31
+ });
32
+ if (resolved.status === "available") return {
33
+ status: "available",
34
+ value: stripDiscordBotPrefix(resolved.value)
35
+ };
36
+ if (resolved.status === "configured_unavailable") return { status: "configured_unavailable" };
37
+ return { status: "missing" };
38
+ }
39
+ function resolveDiscordToken(cfg, opts = {}) {
40
+ const selectedCfg = selectDiscordRuntimeConfig(cfg);
41
+ const accountId = normalizeAccountId(opts.accountId);
42
+ const discordCfg = selectedCfg?.channels?.discord;
43
+ const accountCfg = resolveAccountEntry(discordCfg?.accounts, accountId);
44
+ const hasAccountToken = Boolean(accountCfg && Object.prototype.hasOwnProperty.call(accountCfg, "token"));
45
+ const accountToken = resolveDiscordTokenValue({
46
+ cfg: selectedCfg,
47
+ value: accountCfg?.token,
48
+ path: `channels.discord.accounts.${accountId}.token`
49
+ });
50
+ if (accountToken.status === "available" && accountToken.value) return {
51
+ token: accountToken.value,
52
+ source: "config",
53
+ tokenStatus: "available"
54
+ };
55
+ if (accountToken.status === "configured_unavailable") return {
56
+ token: "",
57
+ source: "config",
58
+ tokenStatus: "configured_unavailable"
59
+ };
60
+ if (hasAccountToken) return {
61
+ token: "",
62
+ source: "none",
63
+ tokenStatus: "missing"
64
+ };
65
+ const configToken = resolveDiscordTokenValue({
66
+ cfg: selectedCfg,
67
+ value: discordCfg?.token,
68
+ path: "channels.discord.token"
69
+ });
70
+ if (configToken.status === "available" && configToken.value) return {
71
+ token: configToken.value,
72
+ source: "config",
73
+ tokenStatus: "available"
74
+ };
75
+ if (configToken.status === "configured_unavailable") return {
76
+ token: "",
77
+ source: "config",
78
+ tokenStatus: "configured_unavailable"
79
+ };
80
+ const envToken = accountId === DEFAULT_ACCOUNT_ID ? normalizeDiscordToken(opts.envToken ?? process.env.DISCORD_BOT_TOKEN, "DISCORD_BOT_TOKEN") : void 0;
81
+ if (envToken) return {
82
+ token: envToken,
83
+ source: "env",
84
+ tokenStatus: "available"
85
+ };
86
+ return {
87
+ token: "",
88
+ source: "none",
89
+ tokenStatus: "missing"
90
+ };
91
+ }
92
+ //#endregion
93
+ export { resolveDiscordToken as n, selectDiscordRuntimeConfig as r, normalizeDiscordToken as t };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-C3SqQTfK.js";
2
- import { ft as sendChannelTyping } from "./discord-D1kDh0X_.js";
2
+ import { ft as sendChannelTyping } from "./discord-eZlimVfW.js";
3
3
  import { o as raceWithTimeout } from "./timeouts-C7jeTtGs.js";
4
4
  //#region extensions/discord/src/monitor/typing.ts
5
5
  var typing_exports = /* @__PURE__ */ __exportAll({ sendTyping: () => sendTyping });