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