@openclaw/discord 2026.5.26-beta.1 → 2026.5.26-beta.2
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.
- package/dist/api.js +1 -1
- package/dist/{channel-BbDUsfl7.js → channel-XYTSE8wN.js} +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{manager.runtime-BfJrOq-W.js → manager.runtime-Bs0ngLSw.js} +11 -4
- package/dist/{message-handler-YNyW4rsC.js → message-handler-B9n5CtIS.js} +2 -2
- package/dist/{message-handler.preflight-Dpfm3M4j.js → message-handler.preflight-Cu8cFBgW.js} +2 -2
- package/dist/{message-handler.process-CDxJ-gh_.js → message-handler.process-DO17vBlT.js} +1 -1
- package/dist/{provider-B1wc40FG.js → provider-D3RwHRhI.js} +16 -7
- package/dist/{provider-session.runtime-Dk2Y1FGD.js → provider-session.runtime-DbNYskMy.js} +1 -1
- package/dist/provider.runtime-rUg1sHKP.js +2 -0
- package/dist/runtime-api.js +3 -3
- package/dist/{runtime-api.monitor-BJCRxbKe.js → runtime-api.monitor-CUn-x5uG.js} +2 -2
- package/dist/runtime-api.monitor.js +3 -3
- package/dist/test-api.js +1 -1
- package/npm-shrinkwrap.json +3 -3
- package/package.json +4 -4
- package/dist/provider.runtime-DN-gyQYd.js +0 -2
package/dist/api.js
CHANGED
|
@@ -6,7 +6,7 @@ import { n as fetchDiscord, r as requestDiscord, t as DiscordApiError } from "./
|
|
|
6
6
|
import { i as parseDiscordSendTarget, n as resolveDiscordTarget } from "./target-resolver-CVgOsap6.js";
|
|
7
7
|
import "./targets-CNDNKpqQ.js";
|
|
8
8
|
import { a as getDiscordExecApprovalApprovers, c as shouldSuppressLocalDiscordExecApprovalPrompt, o as isDiscordExecApprovalApprover, s as isDiscordExecApprovalClientEnabled } from "./conversation-identity-Be5JQPP9.js";
|
|
9
|
-
import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-
|
|
9
|
+
import { i as resolveDiscordGroupToolPolicy, n as collectDiscordStatusIssues, r as resolveDiscordGroupRequireMention, t as discordPlugin } from "./channel-XYTSE8wN.js";
|
|
10
10
|
import { t as normalizeExplicitDiscordSessionKey } from "./session-key-normalization-wJgsKPNF.js";
|
|
11
11
|
import { t as discordSetupPlugin } from "./channel.setup-JaozRxYz.js";
|
|
12
12
|
import { n as handleDiscordSubagentEnded, r as handleDiscordSubagentSpawning, t as handleDiscordSubagentDeliveryTarget } from "./subagent-hooks-DHA_1pBI.js";
|
|
@@ -120,7 +120,7 @@ const loadDiscordResolveUsersModule = createLazyRuntimeModule(() => import("./re
|
|
|
120
120
|
const loadDiscordThreadBindingsManagerModule = createLazyRuntimeModule(() => import("./thread-bindings.manager-UJ5FvZfO.js").then((n) => n.a));
|
|
121
121
|
const loadDiscordTargetResolverModule = createLazyRuntimeModule(() => import("./target-resolver-CVgOsap6.js").then((n) => n.r));
|
|
122
122
|
async function loadDiscordProviderRuntime() {
|
|
123
|
-
discordProviderRuntimePromise ??= import("./provider.runtime-
|
|
123
|
+
discordProviderRuntimePromise ??= import("./provider.runtime-rUg1sHKP.js");
|
|
124
124
|
return await discordProviderRuntimePromise;
|
|
125
125
|
}
|
|
126
126
|
async function loadDiscordProbeRuntime() {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as discordPlugin } from "./channel-
|
|
1
|
+
import { t as discordPlugin } from "./channel-XYTSE8wN.js";
|
|
2
2
|
export { discordPlugin };
|
|
@@ -3,7 +3,7 @@ import { c as resolveDiscordAccountAllowFrom } from "./accounts-dXTfmnSZ.js";
|
|
|
3
3
|
import { a as normalizeDiscordSlug, b as formatDiscordUserTag, m as resolveDiscordOwnerAccess } from "./allow-list-BnkWtVpA.js";
|
|
4
4
|
import { i as formatMention } from "./send.outbound-BHQPWbwU.js";
|
|
5
5
|
import { t as getDiscordRuntime } from "./runtime-DgnVQ7zW.js";
|
|
6
|
-
import { o as authorizeDiscordVoiceIngress, u as resolveDiscordVoiceEnabled } from "./provider-
|
|
6
|
+
import { o as authorizeDiscordVoiceIngress, u as resolveDiscordVoiceEnabled } from "./provider-D3RwHRhI.js";
|
|
7
7
|
import { t as buildDiscordGroupSystemPrompt } from "./inbound-context-B5EsqsSr.js";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import { asBoolean, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -1986,6 +1986,13 @@ const DISCORD_VOICE_FATAL_AUTOJOIN_ERROR_PATTERNS = [
|
|
|
1986
1986
|
"permission denied",
|
|
1987
1987
|
"forbidden"
|
|
1988
1988
|
];
|
|
1989
|
+
function logFollowUserReconcileVerbose(reason, message) {
|
|
1990
|
+
if (reason === "interval") {
|
|
1991
|
+
logger.trace(`discord voice: ${message}`);
|
|
1992
|
+
return;
|
|
1993
|
+
}
|
|
1994
|
+
logVoiceVerbose(message);
|
|
1995
|
+
}
|
|
1989
1996
|
function formatVoiceLogPreview(text) {
|
|
1990
1997
|
const oneLine = text.replace(/\s+/g, " ").trim();
|
|
1991
1998
|
if (oneLine.length <= VOICE_LOG_PREVIEW_CHARS) return oneLine;
|
|
@@ -2761,7 +2768,7 @@ var DiscordVoiceManager$1 = class {
|
|
|
2761
2768
|
logVoiceVerbose(`follow user reconcile skipped reason=${reason}: no Discord guild ids are configured`);
|
|
2762
2769
|
return;
|
|
2763
2770
|
}
|
|
2764
|
-
|
|
2771
|
+
logFollowUserReconcileVerbose(reason, `follow user reconcile reason=${reason}: ${this.followUserIds.size} users across ${guildIds.length} guilds`);
|
|
2765
2772
|
const plans = this.selectFollowUserReconcilePlans(guildIds, reason);
|
|
2766
2773
|
for (const plan of plans) {
|
|
2767
2774
|
for (const userId of plan.userIds) {
|
|
@@ -2770,7 +2777,7 @@ var DiscordVoiceManager$1 = class {
|
|
|
2770
2777
|
logger.warn(`discord voice: follow user reconcile skipped transient voice state error guild=${plan.guildId} user=${userId} reason=${reason}: ${formatErrorMessage(err)}`);
|
|
2771
2778
|
return "transient-error";
|
|
2772
2779
|
}
|
|
2773
|
-
|
|
2780
|
+
logFollowUserReconcileVerbose(reason, `follow user reconcile reason=${reason}: no voice state guild ${plan.guildId} user ${userId}: ${formatErrorMessage(err)}`);
|
|
2774
2781
|
});
|
|
2775
2782
|
if (this.destroyed) return;
|
|
2776
2783
|
if (voiceState === "transient-error") continue;
|
|
@@ -2904,7 +2911,7 @@ var DiscordVoiceManager$1 = class {
|
|
|
2904
2911
|
logger.warn(`discord voice: follow reconcile skipped transient bot voice state error guild=${guildId} reason=${reason}: ${formatErrorMessage(err)}`);
|
|
2905
2912
|
return "transient-error";
|
|
2906
2913
|
}
|
|
2907
|
-
|
|
2914
|
+
logFollowUserReconcileVerbose(reason, `follow user reconcile reason=${reason}: no bot voice state guild ${guildId}: ${formatErrorMessage(err)}`);
|
|
2908
2915
|
});
|
|
2909
2916
|
if (this.destroyed || botVoiceState === "transient-error") return;
|
|
2910
2917
|
const botChannelId = botVoiceState?.channel_id?.trim();
|
|
@@ -121,7 +121,7 @@ function applyImplicitReplyBatchGate(ctx, replyToMode, isBatched) {
|
|
|
121
121
|
//#region extensions/discord/src/monitor/message-run-queue.ts
|
|
122
122
|
let messageProcessRuntimePromise;
|
|
123
123
|
async function loadMessageProcessRuntime() {
|
|
124
|
-
messageProcessRuntimePromise ??= import("./message-handler.process-
|
|
124
|
+
messageProcessRuntimePromise ??= import("./message-handler.process-DO17vBlT.js");
|
|
125
125
|
return await messageProcessRuntimePromise;
|
|
126
126
|
}
|
|
127
127
|
async function processDiscordQueuedMessage(params) {
|
|
@@ -173,7 +173,7 @@ function createDiscordMessageRunQueue(params) {
|
|
|
173
173
|
//#region extensions/discord/src/monitor/message-handler.ts
|
|
174
174
|
let messagePreflightRuntimePromise;
|
|
175
175
|
async function loadMessagePreflightRuntime() {
|
|
176
|
-
messagePreflightRuntimePromise ??= import("./message-handler.preflight-
|
|
176
|
+
messagePreflightRuntimePromise ??= import("./message-handler.preflight-Cu8cFBgW.js");
|
|
177
177
|
return await messagePreflightRuntimePromise;
|
|
178
178
|
}
|
|
179
179
|
function isNonEmptyString(value) {
|
package/dist/{message-handler.preflight-Dpfm3M4j.js → message-handler.preflight-Cu8cFBgW.js}
RENAMED
|
@@ -5,7 +5,7 @@ import { t as resolveDiscordConversationIdentity } from "./conversation-identity
|
|
|
5
5
|
import { l as isRecentlyUnboundThreadWebhookMessage } from "./thread-bindings.state-BsOnj5NX.js";
|
|
6
6
|
import { d as resolveDiscordChannelNameSafe, u as resolveDiscordChannelInfoSafe } from "./thread-bindings.discord-api-xCfun-pQ.js";
|
|
7
7
|
import "./thread-bindings-Dw4wcHWn.js";
|
|
8
|
-
import { C as resolveDiscordDmCommandAccess, f as buildDiscordRoutePeer, g as handleDiscordDmCommandDecision, h as shouldIgnoreStaleDiscordRouteBinding, m as resolveDiscordEffectiveRoute, p as resolveDiscordConversationRoute, w as resolveDiscordTextCommandAccess } from "./provider-
|
|
8
|
+
import { C as resolveDiscordDmCommandAccess, f as buildDiscordRoutePeer, g as handleDiscordDmCommandDecision, h as shouldIgnoreStaleDiscordRouteBinding, m as resolveDiscordEffectiveRoute, p as resolveDiscordConversationRoute, w as resolveDiscordTextCommandAccess } from "./provider-D3RwHRhI.js";
|
|
9
9
|
import { d as resolveDiscordMessageChannelId, l as resolveDiscordMessageStickers, o as resolveMediaList, r as resolveDiscordMessageText, u as resolveDiscordChannelInfo } from "./message-utils-DxHZcpPf.js";
|
|
10
10
|
import { n as resolveDiscordWebhookId, t as resolveDiscordSenderIdentity } from "./sender-identity-BFp5w0F8.js";
|
|
11
11
|
import { normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -436,7 +436,7 @@ async function loadSystemEventsRuntime() {
|
|
|
436
436
|
return await systemEventsRuntimePromise;
|
|
437
437
|
}
|
|
438
438
|
async function loadDiscordThreadingRuntime() {
|
|
439
|
-
discordThreadingRuntimePromise ??= import("./provider-
|
|
439
|
+
discordThreadingRuntimePromise ??= import("./provider-D3RwHRhI.js").then((n) => n.v);
|
|
440
440
|
return await discordThreadingRuntimePromise;
|
|
441
441
|
}
|
|
442
442
|
function isPreflightAborted(abortSignal) {
|
|
@@ -9,7 +9,7 @@ import { t as beginDiscordInboundEventDeliveryCorrelation } from "./inbound-even
|
|
|
9
9
|
import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-C8lzfSt6.js";
|
|
10
10
|
import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-CQ7PsV9J.js";
|
|
11
11
|
import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-l_PsHQvX.js";
|
|
12
|
-
import { a as resolveReplyContext, i as buildGuildLabel, n as deliverDiscordReply, r as buildDirectLabel, x as resolveDiscordThreadStarter, y as resolveDiscordAutoThreadReplyPlan } from "./provider-
|
|
12
|
+
import { a as resolveReplyContext, i as buildGuildLabel, n as deliverDiscordReply, r as buildDirectLabel, x as resolveDiscordThreadStarter, y as resolveDiscordAutoThreadReplyPlan } from "./provider-D3RwHRhI.js";
|
|
13
13
|
import { a as resolveForwardedMediaList, o as resolveMediaList, r as resolveDiscordMessageText, s as resolveReferencedReplyMediaList } from "./message-utils-DxHZcpPf.js";
|
|
14
14
|
import { t as sendTyping } from "./typing-BhIpRSfR.js";
|
|
15
15
|
import { n as buildDiscordInboundAccessContext, r as createDiscordSupplementalContextAccessChecker } from "./inbound-context-B5EsqsSr.js";
|
|
@@ -58,7 +58,7 @@ import { createChannelIngressResolver, defineStableChannelIngressIdentity, readC
|
|
|
58
58
|
import { applyModelOverrideToSessionEntry, resolveChannelModelOverride } from "openclaw/plugin-sdk/model-session-runtime";
|
|
59
59
|
import { completeWithPreparedSimpleCompletionModel, extractAssistantText, prepareSimpleCompletionModelForAgent } from "openclaw/plugin-sdk/simple-completion-runtime";
|
|
60
60
|
import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
|
|
61
|
-
import { loadSessionStore, readSessionUpdatedAt as readSessionUpdatedAt$1, resolveStorePath, resolveStorePath as resolveStorePath$1, updateSessionStore } from "openclaw/plugin-sdk/session-store-runtime";
|
|
61
|
+
import { getSessionEntry, loadSessionStore, readSessionUpdatedAt as readSessionUpdatedAt$1, resolveStorePath, resolveStorePath as resolveStorePath$1, updateSessionStore } from "openclaw/plugin-sdk/session-store-runtime";
|
|
62
62
|
import { formatInboundEnvelope, resolveEnvelopeFormatOptions } from "openclaw/plugin-sdk/channel-inbound";
|
|
63
63
|
import { buildCommandTextFromArgs, findCommandByNativeName, formatCommandArgMenuTitle, listChatCommands, listNativeCommandSpecsForConfig, listSkillCommandsForAgents, resolveCommandAuthorizedFromAuthorizers, resolveNativeCommandSessionTargets, resolveStoredModelOverride, serializeCommandArgs } from "openclaw/plugin-sdk/command-auth-native";
|
|
64
64
|
import { buildCommandTextFromArgs as buildCommandTextFromArgs$1, findCommandByNativeName as findCommandByNativeName$1, parseCommandArgs, resolveCommandArgChoices, resolveCommandArgMenu, serializeCommandArgs as serializeCommandArgs$1 } from "openclaw/plugin-sdk/native-command-registry";
|
|
@@ -1560,7 +1560,8 @@ const nativeCommandRuntime = {
|
|
|
1560
1560
|
executePluginCommand: pluginRuntime.executePluginCommand,
|
|
1561
1561
|
dispatchReplyWithDispatcher,
|
|
1562
1562
|
resolveDirectStatusReplyForSession,
|
|
1563
|
-
resolveDiscordNativeInteractionRouteState
|
|
1563
|
+
resolveDiscordNativeInteractionRouteState,
|
|
1564
|
+
getSessionEntry
|
|
1564
1565
|
};
|
|
1565
1566
|
//#endregion
|
|
1566
1567
|
//#region extensions/discord/src/monitor/native-command-agent-reply.ts
|
|
@@ -4464,7 +4465,13 @@ async function dispatchDiscordCommandInteraction(params) {
|
|
|
4464
4465
|
if (suppressReplies) return { accepted: true };
|
|
4465
4466
|
const messageThreadId = !isDirectMessage && isThreadChannel ? channelId : void 0;
|
|
4466
4467
|
const pluginThreadParentId = !isDirectMessage && isThreadChannel ? threadParentId : void 0;
|
|
4467
|
-
const
|
|
4468
|
+
const routeState = await getNativeRouteState();
|
|
4469
|
+
const { effectiveRoute } = routeState;
|
|
4470
|
+
const pluginCommandAgentId = (isThreadChannel ? threadBindings.getByThreadId(rawChannelId)?.agentId : void 0) || routeState.configuredBinding?.statefulTarget.agentId || effectiveRoute.agentId;
|
|
4471
|
+
const targetSessionEntry = nativeCommandRuntime.getSessionEntry({
|
|
4472
|
+
agentId: pluginCommandAgentId,
|
|
4473
|
+
sessionKey: effectiveRoute.sessionKey
|
|
4474
|
+
});
|
|
4468
4475
|
const pluginReply = await nativeCommandRuntime.executePluginCommand({
|
|
4469
4476
|
command: pluginMatch.command,
|
|
4470
4477
|
args: pluginMatch.args,
|
|
@@ -4473,7 +4480,9 @@ async function dispatchDiscordCommandInteraction(params) {
|
|
|
4473
4480
|
channelId,
|
|
4474
4481
|
isAuthorizedSender: commandAuthorized,
|
|
4475
4482
|
senderIsOwner: senderIsCommandOwner,
|
|
4483
|
+
agentId: pluginCommandAgentId,
|
|
4476
4484
|
sessionKey: effectiveRoute.sessionKey,
|
|
4485
|
+
authProfileId: targetSessionEntry?.authProfileOverride,
|
|
4477
4486
|
commandBody: prompt,
|
|
4478
4487
|
config: cfg,
|
|
4479
4488
|
from: isDirectMessage ? `discord:${user.id}` : isGroupDm ? `discord:group:${channelId}` : `discord:channel:${channelId}`,
|
|
@@ -8828,9 +8837,9 @@ var ExecApprovalButton = class extends Button {
|
|
|
8828
8837
|
await interaction.acknowledge();
|
|
8829
8838
|
} catch {}
|
|
8830
8839
|
const result = await this.ctx.resolveApproval(parsed.approvalId, parsed.action);
|
|
8831
|
-
if (!result.ok
|
|
8840
|
+
if (!result.ok) try {
|
|
8832
8841
|
await interaction.followUp({
|
|
8833
|
-
content: `Failed to submit approval decision for **${decisionLabel}**. The request may have expired or already been resolved.`,
|
|
8842
|
+
content: result.reason === "not-found" ? `That approval request is no longer pending. It may have expired or already been resolved.` : `Failed to submit approval decision for **${decisionLabel}**. The request may have expired or already been resolved.`,
|
|
8834
8843
|
ephemeral: true
|
|
8835
8844
|
});
|
|
8836
8845
|
} catch {}
|
|
@@ -9686,7 +9695,7 @@ function logDiscordStartupPhase(params) {
|
|
|
9686
9695
|
});
|
|
9687
9696
|
}
|
|
9688
9697
|
async function loadDiscordVoiceRuntime() {
|
|
9689
|
-
const promise = discordVoiceRuntimePromise ?? import("./manager.runtime-
|
|
9698
|
+
const promise = discordVoiceRuntimePromise ?? import("./manager.runtime-Bs0ngLSw.js");
|
|
9690
9699
|
discordVoiceRuntimePromise = promise;
|
|
9691
9700
|
try {
|
|
9692
9701
|
return await promise;
|
|
@@ -9696,7 +9705,7 @@ async function loadDiscordVoiceRuntime() {
|
|
|
9696
9705
|
}
|
|
9697
9706
|
}
|
|
9698
9707
|
async function loadDiscordProviderSessionRuntime() {
|
|
9699
|
-
const promise = discordProviderSessionRuntimePromise ?? import("./provider-session.runtime-
|
|
9708
|
+
const promise = discordProviderSessionRuntimePromise ?? import("./provider-session.runtime-DbNYskMy.js");
|
|
9700
9709
|
discordProviderSessionRuntimePromise = promise;
|
|
9701
9710
|
try {
|
|
9702
9711
|
return await promise;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-Dw4wcHWn.js";
|
|
2
2
|
import { n as createThreadBindingManager, t as createNoopThreadBindingManager } from "./thread-bindings.manager-UJ5FvZfO.js";
|
|
3
|
-
import { t as createDiscordMessageHandler } from "./message-handler-
|
|
3
|
+
import { t as createDiscordMessageHandler } from "./message-handler-B9n5CtIS.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 };
|
package/dist/runtime-api.js
CHANGED
|
@@ -21,10 +21,10 @@ import { a as mergeAbortSignals, i as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, n as
|
|
|
21
21
|
import "./runtime-api.actions.js";
|
|
22
22
|
import { r as collectDiscordAuditChannelIds, t as auditDiscordChannelPermissions } from "./audit-DE8lNdMv.js";
|
|
23
23
|
import "./runtime-api.lookup.js";
|
|
24
|
-
import { S as sanitizeDiscordThreadName, _ as registerDiscordListener, b as resolveDiscordReplyTarget, c as resolveDiscordGatewayIntents, d as createDiscordNativeCommand, l as waitForDiscordGatewayPluginRegistration, s as createDiscordGatewayPlugin, t as monitorDiscordProvider } from "./provider-
|
|
24
|
+
import { S as sanitizeDiscordThreadName, _ as registerDiscordListener, b as resolveDiscordReplyTarget, c as resolveDiscordGatewayIntents, d as createDiscordNativeCommand, l as waitForDiscordGatewayPluginRegistration, s as createDiscordGatewayPlugin, t as monitorDiscordProvider } from "./provider-D3RwHRhI.js";
|
|
25
25
|
import { i as buildDiscordMediaPayload } from "./message-utils-DxHZcpPf.js";
|
|
26
|
-
import { t as createDiscordMessageHandler } from "./message-handler-
|
|
27
|
-
import "./runtime-api.monitor-
|
|
26
|
+
import { t as createDiscordMessageHandler } from "./message-handler-B9n5CtIS.js";
|
|
27
|
+
import "./runtime-api.monitor-CUn-x5uG.js";
|
|
28
28
|
import "./runtime-api.send.js";
|
|
29
29
|
import "./runtime-api.threads.js";
|
|
30
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, 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,8 +1,8 @@
|
|
|
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-DPxmW0Db.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-BnkWtVpA.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-l_PsHQvX.js";
|
|
4
|
-
import { S as sanitizeDiscordThreadName, _ as registerDiscordListener, b as resolveDiscordReplyTarget, c as resolveDiscordGatewayIntents, d as createDiscordNativeCommand, l as waitForDiscordGatewayPluginRegistration, s as createDiscordGatewayPlugin, t as monitorDiscordProvider } from "./provider-
|
|
4
|
+
import { S as sanitizeDiscordThreadName, _ as registerDiscordListener, b as resolveDiscordReplyTarget, c as resolveDiscordGatewayIntents, d as createDiscordNativeCommand, l as waitForDiscordGatewayPluginRegistration, s as createDiscordGatewayPlugin, t as monitorDiscordProvider } from "./provider-D3RwHRhI.js";
|
|
5
5
|
import { i as buildDiscordMediaPayload } from "./message-utils-DxHZcpPf.js";
|
|
6
|
-
import { t as createDiscordMessageHandler } from "./message-handler-
|
|
7
|
-
import "./runtime-api.monitor-
|
|
6
|
+
import { t as createDiscordMessageHandler } from "./message-handler-B9n5CtIS.js";
|
|
7
|
+
import "./runtime-api.monitor-CUn-x5uG.js";
|
|
8
8
|
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 };
|
package/dist/test-api.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as discordPlugin } from "./channel-
|
|
1
|
+
import { t as discordPlugin } from "./channel-XYTSE8wN.js";
|
|
2
2
|
import { n as discordOutbound } from "./outbound-adapter-C8lzfSt6.js";
|
|
3
3
|
import { i as testing } from "./thread-bindings.manager-UJ5FvZfO.js";
|
|
4
4
|
import { n as buildDiscordInboundAccessContext } from "./inbound-context-B5EsqsSr.js";
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/discord",
|
|
3
|
-
"version": "2026.5.26-beta.
|
|
3
|
+
"version": "2026.5.26-beta.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/discord",
|
|
9
|
-
"version": "2026.5.26-beta.
|
|
9
|
+
"version": "2026.5.26-beta.2",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@discordjs/voice": "0.19.2",
|
|
12
12
|
"discord-api-types": "0.38.48",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"ws": "8.21.0"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"openclaw": ">=2026.5.26-beta.
|
|
20
|
+
"openclaw": ">=2026.5.26-beta.2"
|
|
21
21
|
},
|
|
22
22
|
"peerDependenciesMeta": {
|
|
23
23
|
"openclaw": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/discord",
|
|
3
|
-
"version": "2026.5.26-beta.
|
|
3
|
+
"version": "2026.5.26-beta.2",
|
|
4
4
|
"description": "OpenClaw Discord channel plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"ws": "8.21.0"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"openclaw": ">=2026.5.26-beta.
|
|
20
|
+
"openclaw": ">=2026.5.26-beta.2"
|
|
21
21
|
},
|
|
22
22
|
"peerDependenciesMeta": {
|
|
23
23
|
"openclaw": {
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"allowInvalidConfigRecovery": true
|
|
62
62
|
},
|
|
63
63
|
"compat": {
|
|
64
|
-
"pluginApi": ">=2026.5.26-beta.
|
|
64
|
+
"pluginApi": ">=2026.5.26-beta.2"
|
|
65
65
|
},
|
|
66
66
|
"build": {
|
|
67
|
-
"openclawVersion": "2026.5.26-beta.
|
|
67
|
+
"openclawVersion": "2026.5.26-beta.2"
|
|
68
68
|
},
|
|
69
69
|
"release": {
|
|
70
70
|
"publishToClawHub": true,
|