@openclaw/discord 2026.7.2-beta.2 → 2026.7.2-beta.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 (85) hide show
  1. package/dist/action-runtime-api.js +1 -1
  2. package/dist/{activities-api-D0D_87n3.js → activities-api-DS1L7KRY.js} +15 -42
  3. package/dist/activities-api.js +1 -1
  4. package/dist/{allow-list-B7qOH5xu.js → allow-list-DzKrtfah.js} +18 -7
  5. package/dist/{api-B88T4rFN.js → api-C43z8vUm.js} +3 -1
  6. package/dist/api.js +25 -16
  7. package/dist/{approval-handler.runtime-B7E1-x5q.js → approval-handler.runtime-BbkfPoGc.js} +5 -6
  8. package/dist/{conversation-identity-BPcbhCAH.js → approval-message-safety-DrLlgIPz.js} +48 -2
  9. package/dist/{audit-CjpnY1yb.js → audit-BC6bgPMX.js} +3 -3
  10. package/dist/{channel-BDfKr14H.js → channel-5MfaC2IE.js} +18 -18
  11. package/dist/{channel-actions-BQct-o4T.js → channel-actions-DicWTbYH.js} +2 -2
  12. package/dist/{channel-actions.runtime-CC4QwYVO.js → channel-actions.runtime-D9Qadn-l.js} +8 -8
  13. package/dist/channel-config-api.js +1 -1
  14. package/dist/channel-plugin-api.js +1 -1
  15. package/dist/{channel.setup-BS4gd8sc.js → channel.setup-CJXfFclP.js} +3 -3
  16. package/dist/{chunk-CHpY_lsO.js → chunk-CWzmeWf_.js} +9 -49
  17. package/dist/{config-schema-CoDck1GW.js → config-schema-BxrgfSMD.js} +4 -0
  18. package/dist/{directory-config-G1QwBIdi.js → directory-config-CmukHSms.js} +1 -1
  19. package/dist/directory-contract-api.js +1 -1
  20. package/dist/{directory-live-nfvekMil.js → directory-live-BYlCRO__.js} +3 -3
  21. package/dist/{doctor-Bq4pJAQk.js → doctor-Ci7USQAW.js} +1 -1
  22. package/dist/{handle-action.guild-admin-LYY75_Oa.js → handle-action.guild-admin-Bsk2YBPs.js} +2 -2
  23. package/dist/index.js +2 -2
  24. package/dist/{manager.runtime-w6VVYQMl.js → manager.runtime-Cc8vS-M7.js} +98 -145
  25. package/dist/message-handler-CWJ-mQvH.js +590 -0
  26. package/dist/{message-handler.preflight-DnAH04Ss.js → message-handler.preflight-DK46_qbS.js} +16 -15
  27. package/dist/{message-handler.process-ClgKz8I5.js → message-handler.process-BK0mjFJH.js} +37 -61
  28. package/dist/{message-utils-BU3gc01v.js → message-utils-Cfe6CZ6N.js} +1 -1
  29. package/dist/{outbound-adapter-ByoXsR-V.js → outbound-adapter-B2_oa-zV.js} +36 -5
  30. package/dist/{outbound-components-7wAolLuS.js → outbound-components-BGhk6HI3.js} +3 -3
  31. package/dist/{outbound-session-route-D4QqePZN.js → outbound-session-route-M2bEY9tI.js} +36 -6
  32. package/dist/{pluralkit-r4wiI2yy.js → pluralkit-CT0VRsZd.js} +1 -1
  33. package/dist/{probe-WKeTYyJX.js → probe-C3SCKyYU.js} +1 -1
  34. package/dist/{probe.runtime-CRY-qUke.js → probe.runtime-D55QqC9u.js} +1 -1
  35. package/dist/{provider-PRlF_lZm.js → provider-HW0G-2l6.js} +868 -794
  36. package/dist/{provider-session.runtime-BZPUZRjn.js → provider-session.runtime-cCfGMsF_.js} +3 -3
  37. package/dist/provider.runtime-BWCRsVoT.js +2 -0
  38. package/dist/{resolve-allowlist-common-QN7VMZaC.js → resolve-allowlist-common-CJlqw_nC.js} +2 -2
  39. package/dist/{resolve-channels-BO9NUPlS.js → resolve-channels-9KcG3mLg.js} +4 -4
  40. package/dist/{resolve-users-CU3oG5-m.js → resolve-users-GCGf3oV0.js} +3 -3
  41. package/dist/{runtime-CCf5nkV3.js → runtime-CD5MRZkD.js} +1 -2
  42. package/dist/{runtime-BsefAQ9q.js → runtime-Z2qkKakn.js} +9 -8
  43. package/dist/runtime-api.actions.js +2 -2
  44. package/dist/runtime-api.js +23 -22
  45. package/dist/runtime-api.lookup.js +5 -5
  46. package/dist/runtime-api.monitor-C3EDYJqk.js +6 -0
  47. package/dist/runtime-api.monitor.js +8 -8
  48. package/dist/runtime-api.send.js +6 -5
  49. package/dist/runtime-api.threads.js +3 -3
  50. package/dist/{secret-config-contract-BDNrRWvd.js → secret-config-contract-B1akrlyY.js} +1 -0
  51. package/dist/secret-contract-api.js +1 -1
  52. package/dist/security-audit-contract-api.js +1 -1
  53. package/dist/{security-audit.runtime-K0nkzjzJ.js → security-audit.runtime-DEEywczv.js} +1 -1
  54. package/dist/{send-JJzVo_sK.js → send-CSRxNNgq.js} +7 -86
  55. package/dist/{send.components-CCRW54gK.js → send.components-DLqzOEPJ.js} +5 -4
  56. package/dist/{send.outbound-Cvulb-k_.js → send.outbound-C1SfX20w.js} +4 -3
  57. package/dist/send.reactions-Cj4ugX3F.js +85 -0
  58. package/dist/send.receipt-CuwRrpFz.js +48 -0
  59. package/dist/{send.shared-XuOTO1dW.js → send.shared-Dber6X57.js} +2 -2
  60. package/dist/{sender-identity-C62lBe18.js → sender-identity-mG_zsdox.js} +1 -1
  61. package/dist/session-binding-contract-api.js +1 -1
  62. package/dist/setup-plugin-api.js +1 -1
  63. package/dist/{shared-Bngr0I-v.js → shared-BEhmAdMY.js} +5 -5
  64. package/dist/{subagent-hooks-mSxRv4AE.js → subagent-hooks-Wrk61DwY.js} +2 -2
  65. package/dist/subagent-hooks-api.js +10 -1
  66. package/dist/subagent-progress-B2fpHe3m.js +662 -0
  67. package/dist/{system-events-BANBRAe3.js → system-events-AhfcKRRb.js} +2 -2
  68. package/dist/{target-resolver-BaEmTxeK.js → target-resolver-vqLA450R.js} +2 -2
  69. package/dist/targets-BjEMIe8t.js +3 -0
  70. package/dist/{thread-bindings-4MV-u8vU.js → thread-bindings-CJQoXuWY.js} +4 -4
  71. package/dist/{thread-bindings.discord-api-DXfXsHGZ.js → thread-bindings.discord-api-mNCWlgvM.js} +4 -4
  72. package/dist/{thread-bindings.manager-DJ4cO5Eu.js → thread-bindings.manager-D1z8mK4b.js} +3 -3
  73. package/dist/{timeouts-D5lWili0.js → timeouts-B9cy6RvQ.js} +1 -6
  74. package/dist/{transcripts-source-TDZcMriu.js → transcripts-source-DjDbt14x.js} +1 -1
  75. package/dist/transcripts-source-api.js +1 -1
  76. package/dist/{typing-CKd2NMWG.js → typing-wxtm1NlF.js} +2 -2
  77. package/npm-shrinkwrap.json +3 -3
  78. package/openclaw.plugin.json +10 -0
  79. package/package.json +4 -4
  80. package/dist/approval-message-safety-C-8BL6Kv.js +0 -47
  81. package/dist/message-handler-DExaghWK.js +0 -331
  82. package/dist/provider.runtime-BX8GcCYx.js +0 -2
  83. package/dist/runtime-api.monitor-DCS_ETft.js +0 -6
  84. package/dist/targets-fjJt3PYG.js +0 -3
  85. package/dist/{security-audit-aLbWmUjl.js → security-audit-DtT0SIns.js} +1 -1
@@ -1,6 +1,6 @@
1
- import { a as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-4MV-u8vU.js";
2
- import { n as createThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-DJ4cO5Eu.js";
3
- import { t as createDiscordMessageHandler } from "./message-handler-DExaghWK.js";
1
+ import { a as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-CJQoXuWY.js";
2
+ import { n as createThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-D1z8mK4b.js";
3
+ import { t as createDiscordMessageHandler } from "./message-handler-CWJ-mQvH.js";
4
4
  import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
5
5
  import { getAcpSessionManager, isAcpRuntimeError } from "openclaw/plugin-sdk/acp-runtime";
6
6
  export { createDiscordMessageHandler, createNoopThreadBindingManager, createThreadBindingManager, getAcpSessionManager, isAcpRuntimeError, reconcileAcpThreadBindingsOnStartup, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled };
@@ -0,0 +1,2 @@
1
+ import { t as monitorDiscordProvider } from "./provider-HW0G-2l6.js";
2
+ export { monitorDiscordProvider };
@@ -1,6 +1,6 @@
1
1
  import { p as normalizeDiscordToken } from "./accounts-CMd4nzLB.js";
2
- import { a as normalizeDiscordSlug } from "./allow-list-B7qOH5xu.js";
3
- import { r as fetchDiscord } from "./api-B88T4rFN.js";
2
+ import { r as fetchDiscord } from "./api-C43z8vUm.js";
3
+ import { a as normalizeDiscordSlug } from "./allow-list-DzKrtfah.js";
4
4
  //#region extensions/discord/src/guilds.ts
5
5
  async function listGuilds(token, fetcher, options) {
6
6
  return (await fetchDiscord("/users/@me/guilds", token, fetcher, options)).filter((guild) => typeof guild.id === "string" && typeof guild.name === "string").map((guild) => ({
@@ -1,7 +1,7 @@
1
- import { Zt as __exportAll } from "./chunk-CHpY_lsO.js";
2
- import { a as normalizeDiscordSlug } from "./allow-list-B7qOH5xu.js";
3
- import { n as DiscordApiError, r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-B88T4rFN.js";
4
- import { i as listGuilds, n as filterDiscordGuilds, r as resolveDiscordAllowlistToken, t as buildDiscordUnresolvedResults } from "./resolve-allowlist-common-QN7VMZaC.js";
1
+ import { Yt as __exportAll } from "./chunk-CWzmeWf_.js";
2
+ import { n as DiscordApiError, r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-C43z8vUm.js";
3
+ import { a as normalizeDiscordSlug } from "./allow-list-DzKrtfah.js";
4
+ import { i as listGuilds, n as filterDiscordGuilds, r as resolveDiscordAllowlistToken, t as buildDiscordUnresolvedResults } from "./resolve-allowlist-common-CJlqw_nC.js";
5
5
  //#region extensions/discord/src/resolve-channels.ts
6
6
  var resolve_channels_exports = /* @__PURE__ */ __exportAll({ resolveDiscordChannelAllowlist: () => resolveDiscordChannelAllowlist });
7
7
  function parseDiscordChannelInput(raw) {
@@ -1,6 +1,6 @@
1
- import { Zt as __exportAll } from "./chunk-CHpY_lsO.js";
2
- import { r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-B88T4rFN.js";
3
- import { i as listGuilds, n as filterDiscordGuilds, r as resolveDiscordAllowlistToken, t as buildDiscordUnresolvedResults } from "./resolve-allowlist-common-QN7VMZaC.js";
1
+ import { Yt as __exportAll } from "./chunk-CWzmeWf_.js";
2
+ import { r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-C43z8vUm.js";
3
+ import { i as listGuilds, n as filterDiscordGuilds, r as resolveDiscordAllowlistToken, t as buildDiscordUnresolvedResults } from "./resolve-allowlist-common-CJlqw_nC.js";
4
4
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  //#region extensions/discord/src/resolve-users.ts
6
6
  var resolve_users_exports = /* @__PURE__ */ __exportAll({ resolveDiscordUserAllowlist: () => resolveDiscordUserAllowlist });
@@ -1,5 +1,5 @@
1
1
  import { n as isDiscordAccountEnabledForRuntime, r as listDiscordAccountIds, s as resolveDiscordAccount } from "./accounts-CMd4nzLB.js";
2
- import { G as resolveDiscordProxyFetchForAccount } from "./send.shared-XuOTO1dW.js";
2
+ import { G as resolveDiscordProxyFetchForAccount } from "./send.shared-Dber6X57.js";
3
3
  //#region extensions/discord/src/activities/config.ts
4
4
  function readNonEmpty(value) {
5
5
  return value?.trim() || void 0;
@@ -55,7 +55,6 @@ var DiscordActivitiesRuntime = class {
55
55
  applicationId,
56
56
  botAuth: bot,
57
57
  clientSecret,
58
- config: account.config,
59
58
  proxyFetch: resolveDiscordProxyFetchForAccount(account, cfg)
60
59
  };
61
60
  }
@@ -1,13 +1,14 @@
1
- import { f as resolveDiscordChannelId, i as createReusableDiscordReplyReference } from "./chunk-CHpY_lsO.js";
1
+ import { n as createReusableDiscordReplyReference, u as resolveDiscordChannelId } from "./chunk-CWzmeWf_.js";
2
2
  import { a as mergeDiscordAccountConfig, o as resolveDefaultDiscordAccountId, t as createDiscordActionGate } from "./accounts-CMd4nzLB.js";
3
- import { m as readDiscordComponentSpec } from "./outbound-session-route-D4QqePZN.js";
4
- import { a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, n as isDiscordGroupAllowedByPolicy, v as resolveGroupDmAllow } from "./allow-list-B7qOH5xu.js";
5
- import { E as canManageGuildRoleDiscord, I as createDiscordRuntimeAccountContext, M as hasAnyGuildPermissionDiscord, N as isThreadChannelType$1, O as fetchChannelPermissionsDiscord, T as canManageGuildMemberRoleDiscord, V as getGateway, d as resolveDiscordTargetChannelId, j as hasAnyChannelPermissionDiscord } from "./send.shared-XuOTO1dW.js";
6
- import { a as assertMediaNotDataUrl, c as readBooleanParam, d as readReactionParams, f as readStringArrayParam, h as withNormalizedTimestamp, l as readNonNegativeIntegerParam, m as resolvePollMaxSelections, o as jsonResult, p as readStringParam, r as sendDiscordComponentMessage, s as parseAvailableTags, u as readPositiveIntegerParam } from "./send.components-CCRW54gK.js";
7
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-Cvulb-k_.js";
3
+ import { h as readDiscordComponentSpec } from "./outbound-session-route-M2bEY9tI.js";
4
+ import { E as canManageGuildRoleDiscord, I as createDiscordRuntimeAccountContext, M as hasAnyGuildPermissionDiscord, N as isThreadChannelType$1, O as fetchChannelPermissionsDiscord, T as canManageGuildMemberRoleDiscord, V as getGateway, d as resolveDiscordTargetChannelId, j as hasAnyChannelPermissionDiscord } from "./send.shared-Dber6X57.js";
5
+ import { a as assertMediaNotDataUrl, c as readBooleanParam, d as readReactionParams, f as readStringArrayParam, h as withNormalizedTimestamp, l as readNonNegativeIntegerParam, m as resolvePollMaxSelections, o as jsonResult, p as readStringParam, r as sendDiscordComponentMessage, s as parseAvailableTags, u as readPositiveIntegerParam } from "./send.components-DLqzOEPJ.js";
6
+ import { a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, n as isDiscordGroupAllowedByPolicy, v as resolveGroupDmAllow } from "./allow-list-DzKrtfah.js";
7
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-C1SfX20w.js";
8
8
  import { n as getPresence } from "./presence-cache-z1N8MbJ3.js";
9
- import { A as listScheduledEventsDiscord, B as moveChannelDiscord, C as fetchChannelInfoDiscord, D as fetchVoiceStatusDiscord, E as fetchRoleInfoDiscord, F as uploadEmojiDiscord, H as setChannelPermissionDiscord, I as uploadStickerDiscord, L as createChannelDiscord, M as resolveEventCoverImage, N as timeoutMemberDiscord, O as kickMemberDiscord, P as listGuildEmojisDiscord, R as deleteChannelDiscord, S as createScheduledEventDiscord, T as fetchMemberInfoDiscord, V as removeChannelPermissionDiscord, _ 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 removeRoleDiscord, k as listGuildChannelsDiscord, 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 fetchGuildInfoDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as editChannelDiscord } from "./send-JJzVo_sK.js";
10
- import "./targets-fjJt3PYG.js";
9
+ import { A as uploadEmojiDiscord, C as kickMemberDiscord, D as resolveEventCoverImage, E as removeRoleDiscord, F as moveChannelDiscord, I as removeChannelPermissionDiscord, L as setChannelPermissionDiscord, M as createChannelDiscord, N as deleteChannelDiscord, O as timeoutMemberDiscord, P as editChannelDiscord, S as fetchVoiceStatusDiscord, T as listScheduledEventsDiscord, _ as createScheduledEventDiscord, a as createThreadDiscord, b as fetchMemberInfoDiscord, c as fetchMessageDiscord, d as pinMessageDiscord, f as readMessagesDiscord, g as banMemberDiscord, h as addRoleDiscord, i as DiscordThreadInitialMessageError, j as uploadStickerDiscord, k as listGuildEmojisDiscord, l as listPinsDiscord, m as unpinMessageDiscord, n as sendVoiceMessageDiscord, o as deleteMessageDiscord, p as searchMessagesDiscord, s as editMessageDiscord, u as listThreadsDiscord, v as fetchChannelInfoDiscord, w as listGuildChannelsDiscord, x as fetchRoleInfoDiscord, y as fetchGuildInfoDiscord } from "./send-CSRxNNgq.js";
10
+ import { i as removeReactionDiscord, n as reactMessageDiscord, r as removeOwnReactionsDiscord, t as fetchReactionsDiscord } from "./send.reactions-Cj4ugX3F.js";
11
+ import "./targets-BjEMIe8t.js";
11
12
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
12
13
  import { ChannelType, PermissionFlagsBits } from "discord-api-types/v10";
13
14
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
@@ -1,3 +1,3 @@
1
- import { c as readDiscordChannelMoveParams, i as requiredGuildPermissionForModerationAction, l as readDiscordParentIdParam, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-BsefAQ9q.js";
2
- import { t as discordMessageActions } from "./channel-actions-BQct-o4T.js";
1
+ import { c as readDiscordChannelMoveParams, i as requiredGuildPermissionForModerationAction, l as readDiscordParentIdParam, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-Z2qkKakn.js";
2
+ import { t as discordMessageActions } from "./channel-actions-DicWTbYH.js";
3
3
  export { discordMessageActions, handleDiscordAction, isDiscordModerationAction, readDiscordChannelCreateParams, readDiscordChannelEditParams, readDiscordChannelMoveParams, readDiscordModerationCommand, readDiscordParentIdParam, requiredGuildPermissionForModerationAction };
@@ -1,30 +1,31 @@
1
- import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-D4QqePZN.js";
2
- import { _ as resolveDiscordShouldRequireMention, a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, f as resolveDiscordGuildEntry, n as isDiscordGroupAllowedByPolicy, r as normalizeDiscordAllowList, s as resolveDiscordChannelConfig, t as allowListMatches, u as resolveDiscordCommandAuthorized, v as resolveGroupDmAllow, y as shouldEmitDiscordReactionNotification } from "./allow-list-B7qOH5xu.js";
3
- import { A as hasAllGuildPermissionsDiscord, B as clearGateways, H as registerGateway, M as hasAnyGuildPermissionDiscord, O as fetchChannelPermissionsDiscord, U as unregisterGateway, V as getGateway, k as fetchMemberGuildPermissionsDiscord, w as DiscordSendError } from "./send.shared-XuOTO1dW.js";
4
- import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-CCRW54gK.js";
1
+ import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-M2bEY9tI.js";
2
+ import { A as hasAllGuildPermissionsDiscord, B as clearGateways, H as registerGateway, M as hasAnyGuildPermissionDiscord, O as fetchChannelPermissionsDiscord, U as unregisterGateway, V as getGateway, k as fetchMemberGuildPermissionsDiscord, w as DiscordSendError } from "./send.shared-Dber6X57.js";
3
+ import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-DLqzOEPJ.js";
5
4
  import { r as setDiscordRuntime } from "./runtime-DgnVQ7zW.js";
6
- import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-nfvekMil.js";
7
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-Cvulb-k_.js";
5
+ import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-BYlCRO__.js";
6
+ import { _ as resolveDiscordShouldRequireMention, a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, f as resolveDiscordGuildEntry, n as isDiscordGroupAllowedByPolicy, r as normalizeDiscordAllowList, s as resolveDiscordChannelConfig, t as allowListMatches, u as resolveDiscordCommandAuthorized, v as resolveGroupDmAllow, y as shouldEmitDiscordReactionNotification } from "./allow-list-DzKrtfah.js";
7
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-C1SfX20w.js";
8
8
  import { i as setPresence, n as getPresence, r as presenceCacheSize, t as clearPresences } from "./presence-cache-z1N8MbJ3.js";
9
- import { A as listScheduledEventsDiscord, B as moveChannelDiscord, C as fetchChannelInfoDiscord, D as fetchVoiceStatusDiscord, E as fetchRoleInfoDiscord, F as uploadEmojiDiscord, H as setChannelPermissionDiscord, I as uploadStickerDiscord, L as createChannelDiscord, M as resolveEventCoverImage, N as timeoutMemberDiscord, O as kickMemberDiscord, P as listGuildEmojisDiscord, R as deleteChannelDiscord, S as createScheduledEventDiscord, T as fetchMemberInfoDiscord, V as removeChannelPermissionDiscord, _ 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 removeRoleDiscord, k as listGuildChannelsDiscord, m as listPinsDiscord, n as fetchReactionsDiscord, o as sendTypingDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as editChannelDiscord } from "./send-JJzVo_sK.js";
10
- import { a as isAbortError, c as normalizeDiscordListenerTimeoutMs, i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, o as mergeAbortSignals, r as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, s as normalizeDiscordInboundWorkerTimeoutMs, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, u as runDiscordTaskWithTimeout } from "./timeouts-D5lWili0.js";
11
- import { c as readDiscordChannelMoveParams, i as requiredGuildPermissionForModerationAction, l as readDiscordParentIdParam, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-BsefAQ9q.js";
12
- import { t as discordMessageActions } from "./channel-actions-BQct-o4T.js";
9
+ import { A as uploadEmojiDiscord, C as kickMemberDiscord, D as resolveEventCoverImage, E as removeRoleDiscord, F as moveChannelDiscord, I as removeChannelPermissionDiscord, L as setChannelPermissionDiscord, M as createChannelDiscord, N as deleteChannelDiscord, O as timeoutMemberDiscord, P as editChannelDiscord, S as fetchVoiceStatusDiscord, T as listScheduledEventsDiscord, _ as createScheduledEventDiscord, a as createThreadDiscord, b as fetchMemberInfoDiscord, c as fetchMessageDiscord, d as pinMessageDiscord, f as readMessagesDiscord, g as banMemberDiscord, h as addRoleDiscord, j as uploadStickerDiscord, k as listGuildEmojisDiscord, l as listPinsDiscord, m as unpinMessageDiscord, n as sendVoiceMessageDiscord, o as deleteMessageDiscord, p as searchMessagesDiscord, r as sendWebhookMessageDiscord, s as editMessageDiscord, u as listThreadsDiscord, v as fetchChannelInfoDiscord, w as listGuildChannelsDiscord, x as fetchRoleInfoDiscord } from "./send-CSRxNNgq.js";
10
+ import { a as isAbortError, i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, l as runDiscordTaskWithTimeout, n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, o as normalizeDiscordInboundWorkerTimeoutMs, r as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, s as normalizeDiscordListenerTimeoutMs, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-B9cy6RvQ.js";
11
+ import { a as sendTypingDiscord, i as removeReactionDiscord, n as reactMessageDiscord, r as removeOwnReactionsDiscord, t as fetchReactionsDiscord } from "./send.reactions-Cj4ugX3F.js";
12
+ import { c as readDiscordChannelMoveParams, i as requiredGuildPermissionForModerationAction, l as readDiscordParentIdParam, n as isDiscordModerationAction, o as readDiscordChannelCreateParams, r as readDiscordModerationCommand, s as readDiscordChannelEditParams, t as handleDiscordAction } from "./runtime-Z2qkKakn.js";
13
+ import { t as discordMessageActions } from "./channel-actions-DicWTbYH.js";
13
14
  import { C as resolveThreadBindingIdleTimeoutMs, E as resolveThreadBindingMaxAgeMs, T as resolveThreadBindingMaxAgeExpiresAt, d as isRecentlyUnboundThreadWebhookMessage, w as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-C5afR9TD.js";
14
15
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-DnTpkroM.js";
15
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-BO9NUPlS.js";
16
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-CU3oG5-m.js";
17
- import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-DXfXsHGZ.js";
18
- 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-4MV-u8vU.js";
19
- import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-DJ4cO5Eu.js";
20
- import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-WKeTYyJX.js";
16
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-9KcG3mLg.js";
17
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-GCGf3oV0.js";
18
+ import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-mNCWlgvM.js";
19
+ 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-CJQoXuWY.js";
20
+ import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-D1z8mK4b.js";
21
+ import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-C3SCKyYU.js";
21
22
  import "./runtime-api.actions.js";
22
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-CjpnY1yb.js";
23
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-BC6bgPMX.js";
23
24
  import "./runtime-api.lookup.js";
24
- import { C as registerDiscordListener, E as resolveDiscordReplyTarget, O as sanitizeDiscordThreadName, d as resolveDiscordGatewayIntents, f as waitForDiscordGatewayPluginRegistration, m as createDiscordNativeCommand, t as monitorDiscordProvider, u as createDiscordGatewayPlugin } from "./provider-PRlF_lZm.js";
25
- import { i as buildDiscordMediaPayload } from "./message-utils-BU3gc01v.js";
26
- import { t as createDiscordMessageHandler } from "./message-handler-DExaghWK.js";
27
- import "./runtime-api.monitor-DCS_ETft.js";
25
+ import { D as resolveDiscordReplyTarget, d as resolveDiscordGatewayIntents, f as waitForDiscordGatewayPluginRegistration, k as sanitizeDiscordThreadName, m as createDiscordNativeCommand, t as monitorDiscordProvider, u as createDiscordGatewayPlugin, w as registerDiscordListener } from "./provider-HW0G-2l6.js";
26
+ import { i as buildDiscordMediaPayload } from "./message-utils-Cfe6CZ6N.js";
27
+ import { t as createDiscordMessageHandler } from "./message-handler-CWJ-mQvH.js";
28
+ import "./runtime-api.monitor-C3EDYJqk.js";
28
29
  import "./runtime-api.send.js";
29
30
  import "./runtime-api.threads.js";
30
- export { DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, DiscordSendError, testing as __testing, 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, isAbortError, isDiscordGroupAllowedByPolicy, isDiscordModerationAction, isRecentlyUnboundThreadWebhookMessage, kickMemberDiscord, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, listGuildChannelsDiscord, listGuildEmojisDiscord, listPinsDiscord, listScheduledEventsDiscord, listThreadBindingsBySessionKey, listThreadBindingsForAccount, listThreadsDiscord, mergeAbortSignals, monitorDiscordProvider, moveChannelDiscord, normalizeDiscordAllowList, normalizeDiscordInboundWorkerTimeoutMs, normalizeDiscordListenerTimeoutMs, 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, runDiscordTaskWithTimeout, sanitizeDiscordThreadName, searchMessagesDiscord, sendDiscordComponentMessage, sendMessageDiscord, sendPollDiscord, sendStickerDiscord, sendTypingDiscord, sendVoiceMessageDiscord, sendWebhookMessageDiscord, setChannelPermissionDiscord, setDiscordRuntime, setPresence, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, shouldEmitDiscordReactionNotification, timeoutMemberDiscord, unbindThreadBindingsBySessionKey, unpinMessageDiscord, unregisterGateway, uploadEmojiDiscord, uploadStickerDiscord, waitForDiscordGatewayPluginRegistration };
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 as __testing, 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, isAbortError, isDiscordGroupAllowedByPolicy, isDiscordModerationAction, isRecentlyUnboundThreadWebhookMessage, kickMemberDiscord, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, listGuildChannelsDiscord, listGuildEmojisDiscord, listPinsDiscord, listScheduledEventsDiscord, listThreadBindingsBySessionKey, listThreadBindingsForAccount, listThreadsDiscord, monitorDiscordProvider, moveChannelDiscord, normalizeDiscordAllowList, normalizeDiscordInboundWorkerTimeoutMs, normalizeDiscordListenerTimeoutMs, 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, runDiscordTaskWithTimeout, 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
1
  import { r as setDiscordRuntime } from "./runtime-DgnVQ7zW.js";
2
- import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-nfvekMil.js";
3
- import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-BO9NUPlS.js";
4
- import { t as resolveDiscordUserAllowlist } from "./resolve-users-CU3oG5-m.js";
5
- import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-WKeTYyJX.js";
6
- import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-CjpnY1yb.js";
2
+ import { n as listDiscordDirectoryGroupsLive, r as listDiscordDirectoryPeersLive } from "./directory-live-BYlCRO__.js";
3
+ import { t as resolveDiscordChannelAllowlist } from "./resolve-channels-9KcG3mLg.js";
4
+ import { t as resolveDiscordUserAllowlist } from "./resolve-users-GCGf3oV0.js";
5
+ import { a as resolveDiscordPrivilegedIntentsFromFlags, i as probeDiscord, n as fetchDiscordApplicationSummary, r as parseApplicationIdFromToken, t as fetchDiscordApplicationId } from "./probe-C3SCKyYU.js";
6
+ import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-BC6bgPMX.js";
7
7
  export { auditDiscordChannelPermissions, collectDiscordAuditChannelIds, fetchDiscordApplicationId, fetchDiscordApplicationSummary, listDiscordDirectoryGroupsLive, listDiscordDirectoryPeersLive, parseApplicationIdFromToken, probeDiscord, resolveDiscordChannelAllowlist, resolveDiscordPrivilegedIntentsFromFlags, resolveDiscordUserAllowlist, setDiscordRuntime };
@@ -0,0 +1,6 @@
1
+ import "./allow-list-DzKrtfah.js";
2
+ import "./timeouts-B9cy6RvQ.js";
3
+ import "./provider-HW0G-2l6.js";
4
+ import "./message-utils-Cfe6CZ6N.js";
5
+ import "./message-handler-CWJ-mQvH.js";
6
+ export {};
@@ -1,9 +1,9 @@
1
- import { _ as resolveDiscordShouldRequireMention, a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, f as resolveDiscordGuildEntry, n as isDiscordGroupAllowedByPolicy, r as normalizeDiscordAllowList, s as resolveDiscordChannelConfig, t as allowListMatches, u as resolveDiscordCommandAuthorized, v as resolveGroupDmAllow, y as shouldEmitDiscordReactionNotification } from "./allow-list-B7qOH5xu.js";
2
- import { B as clearGateways, H as registerGateway, U as unregisterGateway, V as getGateway } from "./send.shared-XuOTO1dW.js";
1
+ import { B as clearGateways, H as registerGateway, U as unregisterGateway, V as getGateway } from "./send.shared-Dber6X57.js";
2
+ import { _ as resolveDiscordShouldRequireMention, a as normalizeDiscordSlug, c as resolveDiscordChannelConfigWithFallback, f as resolveDiscordGuildEntry, n as isDiscordGroupAllowedByPolicy, r as normalizeDiscordAllowList, s as resolveDiscordChannelConfig, t as allowListMatches, u as resolveDiscordCommandAuthorized, v as resolveGroupDmAllow, y as shouldEmitDiscordReactionNotification } from "./allow-list-DzKrtfah.js";
3
3
  import { i as setPresence, n as getPresence, r as presenceCacheSize, t as clearPresences } from "./presence-cache-z1N8MbJ3.js";
4
- import { a as isAbortError, c as normalizeDiscordListenerTimeoutMs, i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, o as mergeAbortSignals, r as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, s as normalizeDiscordInboundWorkerTimeoutMs, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS, u as runDiscordTaskWithTimeout } from "./timeouts-D5lWili0.js";
5
- import { C as registerDiscordListener, E as resolveDiscordReplyTarget, O as sanitizeDiscordThreadName, d as resolveDiscordGatewayIntents, f as waitForDiscordGatewayPluginRegistration, m as createDiscordNativeCommand, t as monitorDiscordProvider, u as createDiscordGatewayPlugin } from "./provider-PRlF_lZm.js";
6
- import { i as buildDiscordMediaPayload } from "./message-utils-BU3gc01v.js";
7
- import { t as createDiscordMessageHandler } from "./message-handler-DExaghWK.js";
8
- import "./runtime-api.monitor-DCS_ETft.js";
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, isAbortError, isDiscordGroupAllowedByPolicy, mergeAbortSignals, monitorDiscordProvider, normalizeDiscordAllowList, normalizeDiscordInboundWorkerTimeoutMs, normalizeDiscordListenerTimeoutMs, normalizeDiscordSlug, presenceCacheSize, registerDiscordListener, registerGateway, resolveDiscordChannelConfig, resolveDiscordChannelConfigWithFallback, resolveDiscordCommandAuthorized, resolveDiscordGatewayIntents, resolveDiscordGuildEntry, resolveDiscordReplyTarget, resolveDiscordShouldRequireMention, resolveGroupDmAllow, runDiscordTaskWithTimeout, sanitizeDiscordThreadName, setPresence, shouldEmitDiscordReactionNotification, unregisterGateway, waitForDiscordGatewayPluginRegistration };
4
+ import { a as isAbortError, i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, l as runDiscordTaskWithTimeout, n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, o as normalizeDiscordInboundWorkerTimeoutMs, r as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, s as normalizeDiscordListenerTimeoutMs, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-B9cy6RvQ.js";
5
+ import { D as resolveDiscordReplyTarget, d as resolveDiscordGatewayIntents, f as waitForDiscordGatewayPluginRegistration, k as sanitizeDiscordThreadName, m as createDiscordNativeCommand, t as monitorDiscordProvider, u as createDiscordGatewayPlugin, w as registerDiscordListener } from "./provider-HW0G-2l6.js";
6
+ import { i as buildDiscordMediaPayload } from "./message-utils-Cfe6CZ6N.js";
7
+ import { t as createDiscordMessageHandler } from "./message-handler-CWJ-mQvH.js";
8
+ import "./runtime-api.monitor-C3EDYJqk.js";
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, isAbortError, isDiscordGroupAllowedByPolicy, monitorDiscordProvider, normalizeDiscordAllowList, normalizeDiscordInboundWorkerTimeoutMs, normalizeDiscordListenerTimeoutMs, normalizeDiscordSlug, presenceCacheSize, registerDiscordListener, registerGateway, resolveDiscordChannelConfig, resolveDiscordChannelConfigWithFallback, resolveDiscordCommandAuthorized, resolveDiscordGatewayIntents, resolveDiscordGuildEntry, resolveDiscordReplyTarget, resolveDiscordShouldRequireMention, resolveGroupDmAllow, runDiscordTaskWithTimeout, sanitizeDiscordThreadName, setPresence, shouldEmitDiscordReactionNotification, unregisterGateway, waitForDiscordGatewayPluginRegistration };
@@ -1,6 +1,7 @@
1
- import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-D4QqePZN.js";
2
- import { A as hasAllGuildPermissionsDiscord, M as hasAnyGuildPermissionDiscord, O as fetchChannelPermissionsDiscord, k as fetchMemberGuildPermissionsDiscord, w as DiscordSendError } from "./send.shared-XuOTO1dW.js";
3
- import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-CCRW54gK.js";
4
- import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-Cvulb-k_.js";
5
- import { A as listScheduledEventsDiscord, B as moveChannelDiscord, C as fetchChannelInfoDiscord, D as fetchVoiceStatusDiscord, E as fetchRoleInfoDiscord, F as uploadEmojiDiscord, H as setChannelPermissionDiscord, I as uploadStickerDiscord, L as createChannelDiscord, M as resolveEventCoverImage, N as timeoutMemberDiscord, O as kickMemberDiscord, P as listGuildEmojisDiscord, R as deleteChannelDiscord, S as createScheduledEventDiscord, T as fetchMemberInfoDiscord, V as removeChannelPermissionDiscord, _ 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 removeRoleDiscord, k as listGuildChannelsDiscord, m as listPinsDiscord, n as fetchReactionsDiscord, o as sendTypingDiscord, p as fetchMessageDiscord, r as reactMessageDiscord, s as sendVoiceMessageDiscord, u as createThreadDiscord, v as searchMessagesDiscord, x as banMemberDiscord, y as unpinMessageDiscord, z as editChannelDiscord } from "./send-JJzVo_sK.js";
1
+ import { t as resolveDiscordOutboundSessionRoute } from "./outbound-session-route-M2bEY9tI.js";
2
+ import { A as hasAllGuildPermissionsDiscord, M as hasAnyGuildPermissionDiscord, O as fetchChannelPermissionsDiscord, k as fetchMemberGuildPermissionsDiscord, w as DiscordSendError } from "./send.shared-Dber6X57.js";
3
+ import { n as registerBuiltDiscordComponentMessage, r as sendDiscordComponentMessage, t as editDiscordComponentMessage } from "./send.components-DLqzOEPJ.js";
4
+ import { n as sendPollDiscord, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-C1SfX20w.js";
5
+ import { A as uploadEmojiDiscord, C as kickMemberDiscord, D as resolveEventCoverImage, E as removeRoleDiscord, F as moveChannelDiscord, I as removeChannelPermissionDiscord, L as setChannelPermissionDiscord, M as createChannelDiscord, N as deleteChannelDiscord, O as timeoutMemberDiscord, P as editChannelDiscord, S as fetchVoiceStatusDiscord, T as listScheduledEventsDiscord, _ as createScheduledEventDiscord, a as createThreadDiscord, b as fetchMemberInfoDiscord, c as fetchMessageDiscord, d as pinMessageDiscord, f as readMessagesDiscord, g as banMemberDiscord, h as addRoleDiscord, j as uploadStickerDiscord, k as listGuildEmojisDiscord, l as listPinsDiscord, m as unpinMessageDiscord, n as sendVoiceMessageDiscord, o as deleteMessageDiscord, p as searchMessagesDiscord, r as sendWebhookMessageDiscord, s as editMessageDiscord, u as listThreadsDiscord, v as fetchChannelInfoDiscord, w as listGuildChannelsDiscord, x as fetchRoleInfoDiscord } from "./send-CSRxNNgq.js";
6
+ import { a as sendTypingDiscord, i as removeReactionDiscord, n as reactMessageDiscord, r as removeOwnReactionsDiscord, t as fetchReactionsDiscord } from "./send.reactions-Cj4ugX3F.js";
6
7
  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 resolveThreadBindingIdleTimeoutMs, E as resolveThreadBindingMaxAgeMs, T as resolveThreadBindingMaxAgeExpiresAt, d as isRecentlyUnboundThreadWebhookMessage, w as resolveThreadBindingInactivityExpiresAt } from "./thread-bindings.state-C5afR9TD.js";
2
2
  import { n as setThreadBindingMaxAgeBySessionKey, t as setThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings.session-updates-DnTpkroM.js";
3
- import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-DXfXsHGZ.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-4MV-u8vU.js";
5
- import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-DJ4cO5Eu.js";
3
+ import { _ as formatThreadBindingDurationLabel, b as resolveThreadBindingThreadName, g as resolveThreadBindingPersonaFromRecord, h as resolveThreadBindingPersona, y as resolveThreadBindingIntroText } from "./thread-bindings.discord-api-mNCWlgvM.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-CJQoXuWY.js";
5
+ import { i as testing, n as createThreadBindingManager, r as getThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-D1z8mK4b.js";
6
6
  export { autoBindSpawnedDiscordSubagent, createNoopThreadBindingManager, createThreadBindingManager, formatThreadBindingDurationLabel, getThreadBindingManager, isRecentlyUnboundThreadWebhookMessage, listThreadBindingsBySessionKey, listThreadBindingsForAccount, reconcileAcpThreadBindingsOnStartup, resolveDiscordThreadBindingIdleTimeoutMs, resolveDiscordThreadBindingMaxAgeMs, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingInactivityExpiresAt, resolveThreadBindingIntroText, resolveThreadBindingMaxAgeExpiresAt, resolveThreadBindingMaxAgeMs, resolveThreadBindingPersona, resolveThreadBindingPersonaFromRecord, resolveThreadBindingThreadName, resolveThreadBindingsEnabled, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, testing, unbindThreadBindingsBySessionKey };
@@ -99,6 +99,7 @@ function collectRuntimeConfigAssignments(params) {
99
99
  defaults: params.defaults,
100
100
  context: params.context,
101
101
  topLevelActive: isBaseFieldActiveForChannelSurface(surface, "pluralkit") && isRecord(discord.pluralkit) && isEnabledFlag(discord.pluralkit),
102
+ topLevelInheritedAccountActive: ({ account, enabled }) => enabled && !Object.hasOwn(account, "pluralkit") && isEnabledFlag(discord.pluralkit),
102
103
  topInactiveReason: "no enabled Discord surface inherits this top-level PluralKit config or PluralKit is disabled.",
103
104
  accountActive: ({ account, enabled }) => enabled && isRecord(account.pluralkit) && isEnabledFlag(account.pluralkit),
104
105
  accountInactiveReason: "Discord account is disabled or PluralKit is disabled for this account."
@@ -1,2 +1,2 @@
1
- import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-BDNrRWvd.js";
1
+ import { n as secretTargetRegistryEntries, t as collectRuntimeConfigAssignments } from "./secret-config-contract-B1akrlyY.js";
2
2
  export { collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,2 +1,2 @@
1
- import { t as collectDiscordSecurityAuditFindings } from "./security-audit-aLbWmUjl.js";
1
+ import { t as collectDiscordSecurityAuditFindings } from "./security-audit-DtT0SIns.js";
2
2
  export { collectDiscordSecurityAuditFindings };
@@ -1,2 +1,2 @@
1
- import { t as collectDiscordSecurityAuditFindings } from "./security-audit-aLbWmUjl.js";
1
+ import { t as collectDiscordSecurityAuditFindings } from "./security-audit-DtT0SIns.js";
2
2
  export { collectDiscordSecurityAuditFindings };
@@ -1,8 +1,10 @@
1
- import { A as isUnknownDiscordVoiceStateError, At as unpinChannelMessage, Bt as getGuildVoiceState, Dt as pinChannelMessage, Et as listChannelPins, Ft as createGuildScheduledEvent, Gt as listGuildScheduledEvents, Ht as listGuildChannels, It as createGuildSticker, Jt as removeGuildMember, Kt as moveGuildChannels, Lt as deleteChannelPermission, M as readDiscordMessage, Mt as createGuildBan, N as readRetryAfter, Nt as createGuildChannel, O as DiscordError, Ot as searchGuildMessages, Pt as createGuildEmoji, Rt as getGuild, St as getChannelMessage, Tt as listChannelMessages, Ut as listGuildEmojis, Vt as listGuildActiveThreads, Wt as listGuildRoles, Xt as timeoutGuildMember, Yt as removeGuildMemberRole, Zt as __exportAll, _t as deleteChannel, bt as editChannelMessage, ft as createOwnMessageReaction, gt as createThread, ht as createChannelMessage, j as readDiscordCode, jt as addGuildMemberRole, k as RateLimitError, kt as sendChannelTyping, mt as listMessageReactionUsers, pt as deleteOwnMessageReaction, qt as putChannelPermission, r as createDiscordSendResult, vt as deleteChannelMessage, wt as listChannelArchivedThreads, xt as getChannel, yt as editChannel, zt as getGuildMember } from "./chunk-CHpY_lsO.js";
1
+ import { A as readDiscordMessage, At as createGuildBan, Bt as listGuildChannels, Ct as listChannelMessages, D as RateLimitError, E as DiscordError, Et as searchGuildMessages, Ft as deleteChannelPermission, Gt as putChannelPermission, Ht as listGuildRoles, It as getGuild, Jt as timeoutGuildMember, Kt as removeGuildMember, Lt as getGuildMember, Mt as createGuildEmoji, Nt as createGuildScheduledEvent, O as isUnknownDiscordVoiceStateError, Ot as unpinChannelMessage, Pt as createGuildSticker, Rt as getGuildVoiceState, St as listChannelArchivedThreads, Tt as pinChannelMessage, Ut as listGuildScheduledEvents, Vt as listGuildEmojis, Wt as moveGuildChannels, Yt as __exportAll, _t as editChannel, bt as getChannelMessage, gt as deleteChannelMessage, ht as deleteChannel, j as readRetryAfter, jt as createGuildChannel, k as readDiscordCode, kt as addGuildMemberRole, mt as createThread, pt as createChannelMessage, qt as removeGuildMemberRole, vt as editChannelMessage, wt as listChannelPins, yt as getChannel, zt as listGuildActiveThreads } from "./chunk-CWzmeWf_.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-CMd4nzLB.js";
3
- import { A as hasAllGuildPermissionsDiscord, C as DISCORD_MAX_STICKER_BYTES, D as canViewDiscordGuildChannel, E as canManageGuildRoleDiscord, L as resolveDiscordClientAccountContext, M as hasAnyGuildPermissionDiscord, O as fetchChannelPermissionsDiscord, P as createDiscordClient, R as resolveDiscordRest, S as DISCORD_MAX_EVENT_COVER_BYTES, T as canManageGuildMemberRoleDiscord, W as parseAndResolveChannelRecipient, g as createDiscordMessageNonce, i as formatReactionEmoji, j as hasAnyChannelPermissionDiscord, k as fetchMemberGuildPermissionsDiscord, l as resolveChannelId, o as normalizeEmojiName, r as buildReactionIdentifier, s as normalizeReactionEmoji, t as buildDiscordSendError, w as DiscordSendError, x as DISCORD_MAX_EMOJI_BYTES } from "./send.shared-XuOTO1dW.js";
4
- import { n as sendPollDiscord, o as rewriteDiscordKnownMentions, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-Cvulb-k_.js";
5
- import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS } from "./timeouts-D5lWili0.js";
3
+ import { A as hasAllGuildPermissionsDiscord, C as DISCORD_MAX_STICKER_BYTES, D as canViewDiscordGuildChannel, E as canManageGuildRoleDiscord, L as resolveDiscordClientAccountContext, M as hasAnyGuildPermissionDiscord, O as fetchChannelPermissionsDiscord, P as createDiscordClient, R as resolveDiscordRest, S as DISCORD_MAX_EVENT_COVER_BYTES, T as canManageGuildMemberRoleDiscord, W as parseAndResolveChannelRecipient, g as createDiscordMessageNonce, j as hasAnyChannelPermissionDiscord, k as fetchMemberGuildPermissionsDiscord, l as resolveChannelId, o as normalizeEmojiName, t as buildDiscordSendError, w as DiscordSendError, x as DISCORD_MAX_EMOJI_BYTES } from "./send.shared-Dber6X57.js";
4
+ import { n as sendPollDiscord, o as rewriteDiscordKnownMentions, r as sendStickerDiscord, t as sendMessageDiscord } from "./send.outbound-C1SfX20w.js";
5
+ import { n as createDiscordSendResult } from "./send.receipt-CuwRrpFz.js";
6
+ import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS } from "./timeouts-B9cy6RvQ.js";
7
+ import { a as sendTypingDiscord, i as removeReactionDiscord, n as reactMessageDiscord, r as removeOwnReactionsDiscord, t as fetchReactionsDiscord } from "./send.reactions-Cj4ugX3F.js";
6
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
7
9
  import fs from "node:fs/promises";
8
10
  import { ChannelType } from "discord-api-types/v10";
@@ -778,87 +780,6 @@ async function sendVoiceMessageDiscord(to, audioPath, opts) {
778
780
  }
779
781
  }
780
782
  //#endregion
781
- //#region extensions/discord/src/send.typing.ts
782
- async function sendTypingDiscord(channelId, opts) {
783
- await sendChannelTyping(resolveDiscordRest(opts), channelId);
784
- return {
785
- ok: true,
786
- channelId
787
- };
788
- }
789
- //#endregion
790
- //#region extensions/discord/src/send.reactions.ts
791
- function createDiscordReactionRuntimeClient(opts) {
792
- return createDiscordClient(opts);
793
- }
794
- function resolveDiscordReactionClient(opts) {
795
- if (!opts.cfg) throw new Error("Discord reactions requires a resolved runtime config. Load and resolve config at the command or gateway boundary, then pass cfg through the runtime path.");
796
- const cfg = requireRuntimeConfig(opts.cfg, "Discord reactions");
797
- return createDiscordClient({
798
- ...opts,
799
- cfg
800
- });
801
- }
802
- function isDiscordReactionRuntimeContext(opts) {
803
- return Boolean(opts.rest && opts.cfg && opts.accountId);
804
- }
805
- async function reactMessageDiscord(channelId, messageId, emoji, opts) {
806
- const { rest, request } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
807
- const encoded = normalizeReactionEmoji(emoji);
808
- await request(() => createOwnMessageReaction(rest, channelId, messageId, encoded), "react");
809
- return { ok: true };
810
- }
811
- async function removeReactionDiscord(channelId, messageId, emoji, opts) {
812
- const { rest } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
813
- await deleteOwnMessageReaction(rest, channelId, messageId, normalizeReactionEmoji(emoji));
814
- return { ok: true };
815
- }
816
- async function removeOwnReactionsDiscord(channelId, messageId, opts) {
817
- const { rest } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
818
- const message = await getChannelMessage(rest, channelId, messageId);
819
- const identifiers = /* @__PURE__ */ new Set();
820
- for (const reaction of message.reactions ?? []) {
821
- const identifier = buildReactionIdentifier(reaction.emoji);
822
- if (identifier) identifiers.add(identifier);
823
- }
824
- if (identifiers.size === 0) return {
825
- ok: true,
826
- removed: []
827
- };
828
- const removed = Array.from(identifiers);
829
- await Promise.all(removed.map((identifier) => deleteOwnMessageReaction(rest, channelId, messageId, normalizeReactionEmoji(identifier))));
830
- return {
831
- ok: true,
832
- removed
833
- };
834
- }
835
- async function fetchReactionsDiscord(channelId, messageId, opts) {
836
- const { rest } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
837
- const reactions = (await getChannelMessage(rest, channelId, messageId)).reactions ?? [];
838
- if (reactions.length === 0) return [];
839
- const limit = typeof opts.limit === "number" && Number.isFinite(opts.limit) ? Math.min(Math.max(Math.floor(opts.limit), 1), 100) : 100;
840
- const summaries = [];
841
- for (const reaction of reactions) {
842
- const identifier = buildReactionIdentifier(reaction.emoji);
843
- if (!identifier) continue;
844
- const users = await listMessageReactionUsers(rest, channelId, messageId, encodeURIComponent(identifier), { limit });
845
- summaries.push({
846
- emoji: {
847
- id: reaction.emoji.id ?? null,
848
- name: reaction.emoji.name ?? null,
849
- raw: formatReactionEmoji(reaction.emoji)
850
- },
851
- count: reaction.count,
852
- users: users.map((user) => ({
853
- id: user.id,
854
- username: user.username,
855
- tag: user.username && user.discriminator ? `${user.username}#${user.discriminator}` : user.username
856
- }))
857
- });
858
- }
859
- return summaries;
860
- }
861
- //#endregion
862
783
  //#region extensions/discord/src/send.ts
863
784
  var send_exports = /* @__PURE__ */ __exportAll({
864
785
  DiscordSendError: () => DiscordSendError,
@@ -916,4 +837,4 @@ var send_exports = /* @__PURE__ */ __exportAll({
916
837
  uploadStickerDiscord: () => uploadStickerDiscord
917
838
  });
918
839
  //#endregion
919
- export { listScheduledEventsDiscord as A, moveChannelDiscord as B, fetchChannelInfoDiscord as C, fetchVoiceStatusDiscord as D, fetchRoleInfoDiscord as E, uploadEmojiDiscord as F, setChannelPermissionDiscord as H, uploadStickerDiscord as I, createChannelDiscord as L, resolveEventCoverImage as M, timeoutMemberDiscord as N, kickMemberDiscord as O, listGuildEmojisDiscord as P, deleteChannelDiscord as R, createScheduledEventDiscord as S, fetchMemberInfoDiscord as T, removeChannelPermissionDiscord as V, readMessagesDiscord as _, removeReactionDiscord as a, addRoleDiscord as b, sendWebhookMessageDiscord as c, deleteMessageDiscord as d, editMessageDiscord as f, pinMessageDiscord as g, listThreadsDiscord as h, removeOwnReactionsDiscord as i, removeRoleDiscord as j, listGuildChannelsDiscord as k, DiscordThreadInitialMessageError as l, listPinsDiscord as m, fetchReactionsDiscord as n, sendTypingDiscord as o, fetchMessageDiscord as p, reactMessageDiscord as r, sendVoiceMessageDiscord as s, send_exports as t, createThreadDiscord as u, searchMessagesDiscord as v, fetchGuildInfoDiscord as w, banMemberDiscord as x, unpinMessageDiscord as y, editChannelDiscord as z };
840
+ export { uploadEmojiDiscord as A, kickMemberDiscord as C, resolveEventCoverImage as D, removeRoleDiscord as E, moveChannelDiscord as F, removeChannelPermissionDiscord as I, setChannelPermissionDiscord as L, createChannelDiscord as M, deleteChannelDiscord as N, timeoutMemberDiscord as O, editChannelDiscord as P, fetchVoiceStatusDiscord as S, listScheduledEventsDiscord as T, createScheduledEventDiscord as _, createThreadDiscord as a, fetchMemberInfoDiscord as b, fetchMessageDiscord as c, pinMessageDiscord as d, readMessagesDiscord as f, banMemberDiscord as g, addRoleDiscord as h, DiscordThreadInitialMessageError as i, uploadStickerDiscord as j, listGuildEmojisDiscord as k, listPinsDiscord as l, unpinMessageDiscord as m, sendVoiceMessageDiscord as n, deleteMessageDiscord as o, searchMessagesDiscord as p, sendWebhookMessageDiscord as r, editMessageDiscord as s, send_exports as t, listThreadsDiscord as u, fetchChannelInfoDiscord as v, listGuildChannelsDiscord as w, fetchRoleInfoDiscord as x, fetchGuildInfoDiscord as y };
@@ -1,11 +1,12 @@
1
- import { Zt as __exportAll, bt as editChannelMessage, ht as createChannelMessage, r as createDiscordSendResult, z as serializePayload } from "./chunk-CHpY_lsO.js";
1
+ import { L as serializePayload, Yt as __exportAll, pt as createChannelMessage, vt as editChannelMessage } from "./chunk-CWzmeWf_.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-CMd4nzLB.js";
3
- import { d as buildDiscordComponentMessage, f as buildDiscordComponentMessageFlags, h as resolveDiscordComponentAttachmentName } from "./outbound-session-route-D4QqePZN.js";
4
- import { P as createDiscordClient, W as parseAndResolveChannelRecipient, b as stripUndefinedFields, g as createDiscordMessageNonce, l as resolveChannelId, m as SUPPRESS_NOTIFICATIONS_FLAG, t as buildDiscordSendError, u as resolveDiscordChannel } from "./send.shared-XuOTO1dW.js";
3
+ import { f as buildDiscordComponentMessage, g as resolveDiscordComponentAttachmentName, p as buildDiscordComponentMessageFlags } from "./outbound-session-route-M2bEY9tI.js";
4
+ import { P as createDiscordClient, W as parseAndResolveChannelRecipient, b as stripUndefinedFields, g as createDiscordMessageNonce, l as resolveChannelId, m as SUPPRESS_NOTIFICATIONS_FLAG, t as buildDiscordSendError, u as resolveDiscordChannel } from "./send.shared-Dber6X57.js";
5
5
  import { n as getOptionalDiscordRuntime } from "./runtime-DgnVQ7zW.js";
6
6
  import "./config-api-B18fR8M5.js";
7
7
  import "./channel-api-CAJ0wMoV.js";
8
- import { t as sendMessageDiscord } from "./send.outbound-Cvulb-k_.js";
8
+ import { t as sendMessageDiscord } from "./send.outbound-C1SfX20w.js";
9
+ import { n as createDiscordSendResult } from "./send.receipt-CuwRrpFz.js";
9
10
  import "openclaw/plugin-sdk/account-helpers";
10
11
  import "openclaw/plugin-sdk/account-id";
11
12
  import "openclaw/plugin-sdk/channel-config-helpers";
@@ -1,7 +1,8 @@
1
- import { gt as createThread, ht as createChannelMessage, i as createReusableDiscordReplyReference, r as createDiscordSendResult } from "./chunk-CHpY_lsO.js";
1
+ import { mt as createThread, n as createReusableDiscordReplyReference, pt as createChannelMessage } from "./chunk-CWzmeWf_.js";
2
2
  import { s as resolveDiscordAccount } from "./accounts-CMd4nzLB.js";
3
- import { P as createDiscordClient, W as parseAndResolveChannelRecipient, _ as resolveDiscordMessageFlags, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, g as createDiscordMessageNonce, h as buildDiscordMessageRequest, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannel, v as resolveDiscordSendComponents, y as resolveDiscordSendEmbeds } from "./send.shared-XuOTO1dW.js";
4
- import { a as resolveDiscordDirectoryUserId } from "./directory-live-nfvekMil.js";
3
+ import { P as createDiscordClient, W as parseAndResolveChannelRecipient, _ as resolveDiscordMessageFlags, a as normalizeDiscordPollInput, c as normalizeStickerIds, f as sendDiscordMedia, g as createDiscordMessageNonce, h as buildDiscordMessageRequest, l as resolveChannelId, n as buildDiscordTextChunks, p as sendDiscordText, t as buildDiscordSendError, u as resolveDiscordChannel, v as resolveDiscordSendComponents, y as resolveDiscordSendEmbeds } from "./send.shared-Dber6X57.js";
4
+ import { a as resolveDiscordDirectoryUserId } from "./directory-live-BYlCRO__.js";
5
+ import { n as createDiscordSendResult } from "./send.receipt-CuwRrpFz.js";
5
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
6
7
  import { ChannelType } from "discord-api-types/v10";
7
8
  import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
@@ -0,0 +1,85 @@
1
+ import { Dt as sendChannelTyping, bt as getChannelMessage, dt as deleteOwnMessageReaction, ft as listMessageReactionUsers, ut as createOwnMessageReaction } from "./chunk-CWzmeWf_.js";
2
+ import { P as createDiscordClient, R as resolveDiscordRest, i as formatReactionEmoji, r as buildReactionIdentifier, s as normalizeReactionEmoji } from "./send.shared-Dber6X57.js";
3
+ import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
4
+ //#region extensions/discord/src/send.typing.ts
5
+ async function sendTypingDiscord(channelId, opts) {
6
+ await sendChannelTyping(resolveDiscordRest(opts), channelId);
7
+ return {
8
+ ok: true,
9
+ channelId
10
+ };
11
+ }
12
+ //#endregion
13
+ //#region extensions/discord/src/send.reactions.ts
14
+ function createDiscordReactionRuntimeClient(opts) {
15
+ return createDiscordClient(opts);
16
+ }
17
+ function resolveDiscordReactionClient(opts) {
18
+ if (!opts.cfg) throw new Error("Discord reactions requires a resolved runtime config. Load and resolve config at the command or gateway boundary, then pass cfg through the runtime path.");
19
+ const cfg = requireRuntimeConfig(opts.cfg, "Discord reactions");
20
+ return createDiscordClient({
21
+ ...opts,
22
+ cfg
23
+ });
24
+ }
25
+ function isDiscordReactionRuntimeContext(opts) {
26
+ return Boolean(opts.rest && opts.cfg && opts.accountId);
27
+ }
28
+ async function reactMessageDiscord(channelId, messageId, emoji, opts) {
29
+ const { rest, request } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
30
+ const encoded = normalizeReactionEmoji(emoji);
31
+ await request(() => createOwnMessageReaction(rest, channelId, messageId, encoded), "react");
32
+ return { ok: true };
33
+ }
34
+ async function removeReactionDiscord(channelId, messageId, emoji, opts) {
35
+ const { rest } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
36
+ await deleteOwnMessageReaction(rest, channelId, messageId, normalizeReactionEmoji(emoji));
37
+ return { ok: true };
38
+ }
39
+ async function removeOwnReactionsDiscord(channelId, messageId, opts) {
40
+ const { rest } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
41
+ const message = await getChannelMessage(rest, channelId, messageId);
42
+ const identifiers = /* @__PURE__ */ new Set();
43
+ for (const reaction of message.reactions ?? []) {
44
+ const identifier = buildReactionIdentifier(reaction.emoji);
45
+ if (identifier) identifiers.add(identifier);
46
+ }
47
+ if (identifiers.size === 0) return {
48
+ ok: true,
49
+ removed: []
50
+ };
51
+ const removed = Array.from(identifiers);
52
+ await Promise.all(removed.map((identifier) => deleteOwnMessageReaction(rest, channelId, messageId, normalizeReactionEmoji(identifier))));
53
+ return {
54
+ ok: true,
55
+ removed
56
+ };
57
+ }
58
+ async function fetchReactionsDiscord(channelId, messageId, opts) {
59
+ const { rest } = isDiscordReactionRuntimeContext(opts) ? createDiscordReactionRuntimeClient(opts) : resolveDiscordReactionClient(opts);
60
+ const reactions = (await getChannelMessage(rest, channelId, messageId)).reactions ?? [];
61
+ if (reactions.length === 0) return [];
62
+ const limit = typeof opts.limit === "number" && Number.isFinite(opts.limit) ? Math.min(Math.max(Math.floor(opts.limit), 1), 100) : 100;
63
+ const summaries = [];
64
+ for (const reaction of reactions) {
65
+ const identifier = buildReactionIdentifier(reaction.emoji);
66
+ if (!identifier) continue;
67
+ const users = await listMessageReactionUsers(rest, channelId, messageId, encodeURIComponent(identifier), { limit });
68
+ summaries.push({
69
+ emoji: {
70
+ id: reaction.emoji.id ?? null,
71
+ name: reaction.emoji.name ?? null,
72
+ raw: formatReactionEmoji(reaction.emoji)
73
+ },
74
+ count: reaction.count,
75
+ users: users.map((user) => ({
76
+ id: user.id,
77
+ username: user.username,
78
+ tag: user.username && user.discriminator ? `${user.username}#${user.discriminator}` : user.username
79
+ }))
80
+ });
81
+ }
82
+ return summaries;
83
+ }
84
+ //#endregion
85
+ export { sendTypingDiscord as a, removeReactionDiscord as i, reactMessageDiscord as n, removeOwnReactionsDiscord as r, fetchReactionsDiscord as t };