@openclaw/slack 2026.10.7 → 2026.10.9
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/{channel-ChScqMJw.mjs → channel-BP1i40Jz.mjs} +3 -3
- package/dist/.setup/{channel.setup-BFpQowO3.mjs → channel.setup-DCR4c-Ju.mjs} +1 -1
- package/dist/.setup/{monitor-CsMog7BO.mjs → monitor-BuZrGeHk.mjs} +41 -13
- package/dist/.setup/{pipeline.runtime-aazZmSGt.mjs → pipeline.runtime-BquJCXGZ.mjs} +2 -2
- package/dist/.setup/{relay-source-DYsxgCR_.mjs → relay-source-BvsVNO2y.mjs} +7 -2
- package/dist/.setup/{replies-C5da48Bd.mjs → replies-XX4mv15E.mjs} +1 -1
- package/dist/.setup/{secret-contract-api-DB6CMdgc.mjs → secret-contract-api-CQNCC4ux.mjs} +1 -1
- package/dist/.setup/{secret-contract-B-Qm6aQQ.mjs → secret-contract-vVRMoE1D.mjs} +2 -0
- package/dist/.setup/setup-plugin-api-XPY6h-pH.mjs +2 -0
- package/dist/.setup/{setup-surface-368jx6Uc.mjs → setup-surface-DEVI3LNZ.mjs} +2 -2
- package/dist/.setup/{shared-CtprVh_G.mjs → shared-BDNmTlkh.mjs} +2 -2
- package/dist/.setup/{slash-dispatch.runtime-DIk3742D.mjs → slash-dispatch.runtime-DzB9z0Xl.mjs} +1 -1
- package/dist/.source-module-urls/562d694877afe9d9dcbb3b32a8883c16974738f2aa892c48d45572cdc9a62529.json +1 -0
- package/dist/api.js +2 -2
- package/dist/channel-plugin-api.js +1 -1
- package/dist/runtime-api.js +1 -1
- package/dist/secret-contract-api.js +1 -1
- package/dist/setup-entry.js +2 -2
- package/dist/setup-plugin-api.js +1 -1
- package/package.json +4 -4
- package/dist/.setup/setup-plugin-api-D7rHLiNk.mjs +0 -2
|
@@ -9,8 +9,8 @@ import { n as resolveSlackReplyThreadTs, r as resolveSlackThreadTsValue, t as no
|
|
|
9
9
|
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-C7im5ETh.mjs";
|
|
10
10
|
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-DjOFlEWC.mjs";
|
|
11
11
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
12
|
-
import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-
|
|
13
|
-
import { i as SLACK_CHANNEL } from "./channel.setup-
|
|
12
|
+
import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-BDNmTlkh.mjs";
|
|
13
|
+
import { i as SLACK_CHANNEL } from "./channel.setup-DCR4c-Ju.mjs";
|
|
14
14
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
15
15
|
import { normalizeAccountId as normalizeAccountId$1 } from "openclaw/plugin-sdk/account-resolution";
|
|
16
16
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -628,7 +628,7 @@ const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./reso
|
|
|
628
628
|
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-9GVSH-nB.mjs"));
|
|
629
629
|
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-DfRHvECF.mjs").then((n) => n.n));
|
|
630
630
|
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-CyX52GtD.mjs").then((n) => n.n));
|
|
631
|
-
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
631
|
+
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-BuZrGeHk.mjs").then((n) => n.t));
|
|
632
632
|
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-FipfeCwt.mjs").then((n) => n.t));
|
|
633
633
|
async function setSlackHeartbeatThreadStatus(params) {
|
|
634
634
|
const threadTs = resolveSlackThreadTsValue({ threadId: params.threadId });
|
|
@@ -550,7 +550,7 @@ const slackSetupPlugin = {
|
|
|
550
550
|
markdownCapable: true,
|
|
551
551
|
preferSessionLookupForAnnounceTarget: true
|
|
552
552
|
},
|
|
553
|
-
setupWizard: createSlackSetupWizardProxy(() => import("./setup-surface-
|
|
553
|
+
setupWizard: createSlackSetupWizardProxy(() => import("./setup-surface-DEVI3LNZ.mjs")),
|
|
554
554
|
capabilities: {
|
|
555
555
|
chatTypes: [
|
|
556
556
|
"direct",
|
|
@@ -483,6 +483,9 @@ function resolveSlackIdentityHealth(params) {
|
|
|
483
483
|
//#endregion
|
|
484
484
|
//#region extensions/slack/src/monitor/reconnect-policy.ts
|
|
485
485
|
const SLACK_AUTH_ERROR_RE = /account_inactive|invalid_auth|token_revoked|token_expired|not_authed|org_login_required|team_access_not_granted|user_removed_from_team|team_disabled|missing_scope|cannot_find_service|invalid_token/i;
|
|
486
|
+
const SLACK_DEFINITIVE_AUTH_ERROR_RE = /account_inactive|token_revoked|token_expired|not_authed|org_login_required|team_access_not_granted|user_removed_from_team|team_disabled|missing_scope|cannot_find_service|invalid_token/i;
|
|
487
|
+
/** Consecutive isolated invalid_auth failures before the channel turns terminal. */
|
|
488
|
+
const SLACK_ISOLATED_INVALID_AUTH_TERMINAL_LIMIT = 3;
|
|
486
489
|
const SLACK_SOCKET_RECONNECT_POLICY = {
|
|
487
490
|
initialMs: 2e3,
|
|
488
491
|
maxMs: 3e4,
|
|
@@ -576,6 +579,28 @@ function waitForSlackSocketDisconnect(app, abortSignal) {
|
|
|
576
579
|
function isNonRecoverableSlackAuthError(error) {
|
|
577
580
|
return SLACK_AUTH_ERROR_RE.test(formatSlackError(error, ""));
|
|
578
581
|
}
|
|
582
|
+
/** Terminal, retryable-isolated, or undefined (not auth-shaped) for this failure. */
|
|
583
|
+
function nextSlackAuthFailureState(error, consecutiveInvalidAuth) {
|
|
584
|
+
if (error && isIsolatedInvalidAuthSlackError(error)) {
|
|
585
|
+
const next = consecutiveInvalidAuth + 1;
|
|
586
|
+
return next >= SLACK_ISOLATED_INVALID_AUTH_TERMINAL_LIMIT ? {
|
|
587
|
+
decision: "terminal",
|
|
588
|
+
consecutiveInvalidAuth: next
|
|
589
|
+
} : {
|
|
590
|
+
decision: "retry-isolated",
|
|
591
|
+
consecutiveInvalidAuth: next
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
return {
|
|
595
|
+
decision: error && isNonRecoverableSlackAuthError(error) ? "terminal" : void 0,
|
|
596
|
+
consecutiveInvalidAuth
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
/** Isolated invalid_auth: auth-shaped, but not a definitive credential verdict. */
|
|
600
|
+
function isIsolatedInvalidAuthSlackError(error) {
|
|
601
|
+
const text = formatSlackError(error, "");
|
|
602
|
+
return /invalid_auth/i.test(text) && !SLACK_DEFINITIVE_AUTH_ERROR_RE.test(text);
|
|
603
|
+
}
|
|
579
604
|
//#endregion
|
|
580
605
|
//#region extensions/slack/src/monitor/socket-mode-envelope.ts
|
|
581
606
|
function installSlackSocketModeEnvelopeGuard(client, acknowledge, logger) {
|
|
@@ -698,6 +723,14 @@ function publishSlackConnectedStatus(setStatus, identityHealth = {
|
|
|
698
723
|
lastConnectedAt
|
|
699
724
|
}) : channelReadyPatch({ lastConnectedAt }));
|
|
700
725
|
}
|
|
726
|
+
function trackSlackAuthFailure(failure, phase, setStatus, logError, state) {
|
|
727
|
+
const auth = nextSlackAuthFailureState(failure, state.consecutiveInvalidAuth);
|
|
728
|
+
state.consecutiveInvalidAuth = auth.consecutiveInvalidAuth;
|
|
729
|
+
if (auth.decision !== "terminal") return;
|
|
730
|
+
publishSlackBlockedStatus(setStatus, failure);
|
|
731
|
+
logError(`slack ${phase} (${formatSlackError(failure)})`);
|
|
732
|
+
throw failure instanceof Error ? failure : new Error(formatSlackError(failure));
|
|
733
|
+
}
|
|
701
734
|
function publishSlackBlockedStatus(setStatus, error) {
|
|
702
735
|
if (!setStatus) return;
|
|
703
736
|
setStatus(channelBlockedPatch(formatSlackError(error), { connected: false }));
|
|
@@ -2830,7 +2863,7 @@ const SLACK_COMMAND_ARG_BUTTON_VALUE_MAX = 2e3;
|
|
|
2830
2863
|
const SLACK_COMMAND_ARG_CONFIRM_TEXT_MAX = 300;
|
|
2831
2864
|
const SLACK_HEADER_TEXT_MAX = 150;
|
|
2832
2865
|
const SLACK_COMMAND_ARG_ACTION_BLOCKS_MAX = 47;
|
|
2833
|
-
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-
|
|
2866
|
+
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-DzB9z0Xl.mjs"));
|
|
2834
2867
|
const loadPluginCommandRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/plugin-command-runtime"));
|
|
2835
2868
|
function resolveSlackCommandMenuModelContext(params) {
|
|
2836
2869
|
if (!params.sessionKey.trim()) return {};
|
|
@@ -5800,7 +5833,7 @@ function buildSlackDebounceKey(message, accountId, teamId) {
|
|
|
5800
5833
|
}
|
|
5801
5834
|
//#endregion
|
|
5802
5835
|
//#region extensions/slack/src/monitor/message-handler.ts
|
|
5803
|
-
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-
|
|
5836
|
+
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-BquJCXGZ.mjs"));
|
|
5804
5837
|
const RETRYABLE_FLUSH_MAX_ATTEMPTS = 3;
|
|
5805
5838
|
const RETRYABLE_FLUSH_RETRY_DELAY_MS = 1e3;
|
|
5806
5839
|
const REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE = /reply session initialization conflicted for \S+/u;
|
|
@@ -6345,7 +6378,7 @@ async function getSlackBoltInterop() {
|
|
|
6345
6378
|
}
|
|
6346
6379
|
return slackBoltInterop;
|
|
6347
6380
|
}
|
|
6348
|
-
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-
|
|
6381
|
+
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-BvsVNO2y.mjs"));
|
|
6349
6382
|
function resolveSlackRuntimeIdentity(params) {
|
|
6350
6383
|
const botUserId = normalizeOptionalString(params.botUserId);
|
|
6351
6384
|
const botId = normalizeOptionalString(params.botId);
|
|
@@ -6742,6 +6775,8 @@ async function monitorSlackProvider(opts) {
|
|
|
6742
6775
|
}
|
|
6743
6776
|
if (slackMode === "socket") {
|
|
6744
6777
|
let reconnectAttempts = 0;
|
|
6778
|
+
const authState = { consecutiveInvalidAuth: 0 };
|
|
6779
|
+
const logError = (message) => runtime.error?.(message);
|
|
6745
6780
|
let hasLoggedSocketConnected = false;
|
|
6746
6781
|
while (!opts.abortSignal?.aborted) {
|
|
6747
6782
|
let delayMs;
|
|
@@ -6751,6 +6786,7 @@ async function monitorSlackProvider(opts) {
|
|
|
6751
6786
|
abortSignal: opts.abortSignal,
|
|
6752
6787
|
onStarted: async () => {
|
|
6753
6788
|
reconnectAttempts = 0;
|
|
6789
|
+
authState.consecutiveInvalidAuth = 0;
|
|
6754
6790
|
await recoverSlackIdentity();
|
|
6755
6791
|
publishSlackConnectedStatus(opts.setStatus, ctx.identityHealth);
|
|
6756
6792
|
if (!hasLoggedSocketConnected) {
|
|
@@ -6762,11 +6798,7 @@ async function monitorSlackProvider(opts) {
|
|
|
6762
6798
|
if (!disconnect) break;
|
|
6763
6799
|
if (opts.abortSignal?.aborted) break;
|
|
6764
6800
|
publishSlackDisconnectedStatus(opts.setStatus, disconnect.error);
|
|
6765
|
-
|
|
6766
|
-
publishSlackBlockedStatus(opts.setStatus, disconnect.error);
|
|
6767
|
-
runtime.error?.(`slack socket mode disconnected due to non-recoverable auth error — skipping channel (${formatSlackError(disconnect.error)})`);
|
|
6768
|
-
throw disconnect.error instanceof Error ? disconnect.error : new Error(formatSlackError(disconnect.error));
|
|
6769
|
-
}
|
|
6801
|
+
trackSlackAuthFailure(disconnect.error, "auth: disconnected, skipping channel", opts.setStatus, logError, authState);
|
|
6770
6802
|
reconnectAttempts += 1;
|
|
6771
6803
|
delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
|
|
6772
6804
|
runtime.log?.(warn(formatSlackSocketReconnectMessage({
|
|
@@ -6777,11 +6809,7 @@ async function monitorSlackProvider(opts) {
|
|
|
6777
6809
|
})));
|
|
6778
6810
|
await gracefulStopSlackApp(app);
|
|
6779
6811
|
} catch (err) {
|
|
6780
|
-
|
|
6781
|
-
publishSlackBlockedStatus(opts.setStatus, err);
|
|
6782
|
-
runtime.error?.(`slack socket mode failed to start due to non-recoverable auth error — skipping channel (${formatSlackError(err)})`);
|
|
6783
|
-
throw err;
|
|
6784
|
-
}
|
|
6812
|
+
trackSlackAuthFailure(err, "auth: start failed, skipping channel", opts.setStatus, logError, authState);
|
|
6785
6813
|
publishSlackDisconnectedStatus(opts.setStatus, err);
|
|
6786
6814
|
reconnectAttempts += 1;
|
|
6787
6815
|
delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
|
|
@@ -8,8 +8,8 @@ import { n as resolveSlackReplyThreadTs } from "./thread-ts-Cvt7WD6B.mjs";
|
|
|
8
8
|
import { C as hasSlackTableBlock, D as buildSlackEditTextPayload, E as resolveSlackMessageText$1, T as resolveSlackBlocksText, a as editSlackRenderedMessage, b as formatSlackFileReference, d as reactSlackMessage, i as editSlackMessage, m as removeSlackReaction, n as deleteSlackMessage, w as isSlackUnfurlAttachment, x as formatSlackFileReferenceList } from "./actions-DH287DuD.mjs";
|
|
9
9
|
import { c as hasSlackThreadParticipationWithPersistence, i as clearSlackThreadFailureNotice, l as recordSlackThreadFailureNotice, m as buildSlackNativeDataDeliveryPlan, o as hasSlackThreadFailureNotice, p as hasSlackMessageIdentity, s as hasSlackThreadParticipation, t as sendMessageSlack, u as recordSlackThreadParticipation } from "./send-DfRHvECF.mjs";
|
|
10
10
|
import { n as resolveSlackChannelConfig } from "./policy-CVFgJHQ1.mjs";
|
|
11
|
-
import { C as resolveSlackChatType, E as stripSlackMentionsForCommandDetection, S as normalizeSlackChannelType, T as readSlackAssistantThreadContext, _ as appendSlackStream, b as stopSlackStream, c as resolveSlackRoutingContext, g as SlackStreamNotDeliveredError, h as resolveSlackEffectiveAllowFrom, i as resolveSlackRoomContextHints, l as registerSlackSessionRun, m as resolveSlackCommandIngress, p as authorizeSlackBotRoomMessage, r as trackSlackDraftMessage, s as authorizeSlackDirectMessage, u as resolveSlackThreadContext, v as markSlackStreamFallbackDelivered, w as buildSlackAssistantThreadMetadata, y as startSlackStream } from "./monitor-
|
|
12
|
-
import { a as emitSlackMessageSentHooks, i as sanitizeSlackMonitorReplyPayload, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
11
|
+
import { C as resolveSlackChatType, E as stripSlackMentionsForCommandDetection, S as normalizeSlackChannelType, T as readSlackAssistantThreadContext, _ as appendSlackStream, b as stopSlackStream, c as resolveSlackRoutingContext, g as SlackStreamNotDeliveredError, h as resolveSlackEffectiveAllowFrom, i as resolveSlackRoomContextHints, l as registerSlackSessionRun, m as resolveSlackCommandIngress, p as authorizeSlackBotRoomMessage, r as trackSlackDraftMessage, s as authorizeSlackDirectMessage, u as resolveSlackThreadContext, v as markSlackStreamFallbackDelivered, w as buildSlackAssistantThreadMetadata, y as startSlackStream } from "./monitor-BuZrGeHk.mjs";
|
|
12
|
+
import { a as emitSlackMessageSentHooks, i as sanitizeSlackMonitorReplyPayload, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-XX4mv15E.mjs";
|
|
13
13
|
import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
14
14
|
import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
|
|
15
15
|
import { buildChannelProgressDraftLine, compactChannelProgressDraftLine, createChannelMessageReplyPipeline, createChannelProgressDraftCompositor, createChannelProgressWorkCounter, createDraftStreamLoop, createFinalizableDraftLifecycle, createLivePreviewLifecycle, createMessageReceiptFromOutboundResults, resolveAgentOutboundIdentity, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelProgressDraftConfig, resolveChannelProgressDraftMaxLineChars, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages, selectPlanChecklistSteps } from "openclaw/plugin-sdk/channel-outbound";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as formatSlackError } from "./probe-CyX52GtD.mjs";
|
|
2
|
-
import { d as parseSlackMessageEvent, f as requireSlackMessageEvent, x as SLACK_SOCKET_RECONNECT_POLICY } from "./monitor-
|
|
2
|
+
import { d as parseSlackMessageEvent, f as requireSlackMessageEvent, x as SLACK_SOCKET_RECONNECT_POLICY } from "./monitor-BuZrGeHk.mjs";
|
|
3
3
|
import { asOptionalRecord, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { computeBackoff, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
|
|
5
5
|
import { createNodeProxyAgent } from "openclaw/plugin-sdk/fetch-runtime";
|
|
6
6
|
import { isIP } from "node:net";
|
|
7
7
|
import { rawDataToString } from "openclaw/plugin-sdk/webhook-ingress";
|
|
8
|
-
import { WebSocket } from "openclaw/plugin-sdk/websocket-runtime";
|
|
8
|
+
import { WebSocket, startWebSocketKeepalive } from "openclaw/plugin-sdk/websocket-runtime";
|
|
9
9
|
//#region extensions/slack/src/monitor/relay-source.ts
|
|
10
10
|
const SLACK_RELAY_ROUTE_KINDS = /* @__PURE__ */ new Set([
|
|
11
11
|
"user_group",
|
|
@@ -93,7 +93,12 @@ function runRelayWebSocket(params) {
|
|
|
93
93
|
const ws = params.connection;
|
|
94
94
|
let pending = Promise.resolve();
|
|
95
95
|
return new Promise((resolve, reject) => {
|
|
96
|
+
const stopKeepalive = startWebSocketKeepalive(ws, () => {
|
|
97
|
+
ws.terminate();
|
|
98
|
+
settleReject(/* @__PURE__ */ new Error("Slack relay websocket heartbeat timed out"));
|
|
99
|
+
});
|
|
96
100
|
const cleanup = () => {
|
|
101
|
+
stopKeepalive();
|
|
97
102
|
ws.off("message", onMessage);
|
|
98
103
|
ws.off("error", onError);
|
|
99
104
|
ws.off("close", onClose);
|
|
@@ -2,7 +2,7 @@ import { A as SLACK_TEXT_LIMIT, Y as markdownToSlackMrkdwnChunks, b as isSlackIn
|
|
|
2
2
|
import { n as iterateSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, t as hasSlackReplyStructuredContent } from "./reply-blocks-DyvlYyy7.mjs";
|
|
3
3
|
import { n as resolveSlackReplyThreadTs } from "./thread-ts-Cvt7WD6B.mjs";
|
|
4
4
|
import { h as chunkSlackTextAtHardLimit, m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-DfRHvECF.mjs";
|
|
5
|
-
import { a as SlackResponseAlreadyReportedError, o as createSlackResponseUrlBudget } from "./monitor-
|
|
5
|
+
import { a as SlackResponseAlreadyReportedError, o as createSlackResponseUrlBudget } from "./monitor-BuZrGeHk.mjs";
|
|
6
6
|
import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
7
7
|
import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
|
|
8
8
|
import { deliverTextOrMediaReply, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-
|
|
1
|
+
export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-vVRMoE1D.mjs";
|
|
2
2
|
import "../secret-contract-api.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { n as hasSlackAccountCredentialsFromConfig } from "./account-configured-zcR9TJJN.mjs";
|
|
1
2
|
import { collectConditionalChannelFieldAssignments, collectNestedChannelFieldAssignments, collectSimpleChannelFieldAssignments, createChannelSecretContract, hasOwnProperty } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
|
|
2
3
|
//#region extensions/slack/src/secret-contract.ts
|
|
3
4
|
const channelSecrets = createChannelSecretContract({
|
|
@@ -16,6 +17,7 @@ const channelSecrets = createChannelSecretContract({
|
|
|
16
17
|
"signingSecret",
|
|
17
18
|
"userToken"
|
|
18
19
|
],
|
|
20
|
+
hasImplicitDefaultAccount: ({ context }) => hasSlackAccountCredentialsFromConfig(context.sourceConfig.channels?.slack, context.env),
|
|
19
21
|
collect(params) {
|
|
20
22
|
const { channel: slack, surface } = params;
|
|
21
23
|
const resolveMode = (value) => value === "http" || value === "socket" || value === "relay" ? value : void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-BMg9YLIv.mjs";
|
|
2
2
|
import { t as inspectSlackAccount } from "./account-inspect-D58VVDjk.mjs";
|
|
3
|
-
import "./shared-
|
|
4
|
-
import { a as buildSlackAllowFromPrompt, i as SLACK_CHANNEL, n as createSlackSetupWizardBase } from "./channel.setup-
|
|
3
|
+
import "./shared-BDNmTlkh.mjs";
|
|
4
|
+
import { a as buildSlackAllowFromPrompt, i as SLACK_CHANNEL, n as createSlackSetupWizardBase } from "./channel.setup-DCR4c-Ju.mjs";
|
|
5
5
|
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B96cgprw.mjs";
|
|
6
6
|
import { t as resolveSlackUserAllowlist } from "./resolve-users-Xz9aPdns.mjs";
|
|
7
7
|
import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -4,9 +4,9 @@ import { t as inspectSlackAccount } from "./account-inspect-D58VVDjk.mjs";
|
|
|
4
4
|
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
5
5
|
import { a as slackIngressIdentity, t as probeSlack } from "./probe-CyX52GtD.mjs";
|
|
6
6
|
import { n as SLACK_CHANNEL_META } from "./channel-meta-C443t-lI.mjs";
|
|
7
|
-
import { r as slackBaseConfigAdapter, t as slackSetupPlugin } from "./channel.setup-
|
|
7
|
+
import { r as slackBaseConfigAdapter, t as slackSetupPlugin } from "./channel.setup-DCR4c-Ju.mjs";
|
|
8
8
|
import { n as normalizeCompatibilityConfig, r as runtime_doctor_migrations_exports, t as legacyConfigRules } from "./doctor-contract-Cd4-VzIM.mjs";
|
|
9
|
-
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-
|
|
9
|
+
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-vVRMoE1D.mjs";
|
|
10
10
|
import { adaptScopedAccountAccessor, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
11
11
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
12
12
|
import { buildMutableAllowEntryDetector, collectStandardAllowlistLists, createConditionalWarningCollector, createDangerousNameMatchingMutableAllowlistWarningCollector, createOpenProviderConfiguredRouteWarningCollector } from "openclaw/plugin-sdk/channel-policy";
|
package/dist/.setup/{slash-dispatch.runtime-DIk3742D.mjs → slash-dispatch.runtime-DzB9z0Xl.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as sanitizeSlackMonitorReplyPayload, r as deliverSlackSlashReplies } from "./replies-
|
|
1
|
+
import { i as sanitizeSlackMonitorReplyPayload, r as deliverSlackSlashReplies } from "./replies-XX4mv15E.mjs";
|
|
2
2
|
import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
|
|
3
3
|
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
4
4
|
import { resolveConversationLabel } from "openclaw/plugin-sdk/conversation-runtime";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"entries":[{"output":"account-inspect-api.js","source":"extensions/slack/account-inspect-api.ts"},{"output":"api.js","source":"extensions/slack/api.ts"},{"output":"channel-config-api.js","source":"extensions/slack/channel-config-api.ts"},{"output":"channel-entry.js","source":"extensions/slack/channel-entry.ts"},{"output":"channel-plugin-api.js","source":"extensions/slack/channel-plugin-api.ts"},{"output":"configured-state.js","source":"extensions/slack/configured-state.ts"},{"output":"contract-api.js","source":"extensions/slack/contract-api.ts"},{"output":"directory-contract-api.js","source":"extensions/slack/directory-contract-api.ts"},{"output":"doctor-contract-api.js","source":"extensions/slack/doctor-contract-api.ts"},{"output":"http-routes-api.js","source":"extensions/slack/http-routes-api.ts"},{"output":"index.js","source":"extensions/slack/index.ts"},{"output":"message-tool-api.js","source":"extensions/slack/message-tool-api.ts"},{"output":"runtime-api.js","source":"extensions/slack/runtime-api.ts"},{"output":"runtime-setter-api.js","source":"extensions/slack/runtime-setter-api.ts"},{"output":"secret-contract-api.js","source":"extensions/slack/secret-contract-api.ts"},{"output":"security-contract-api.js","source":"extensions/slack/security-contract-api.ts"},{"output":"setup-entry.js","source":"extensions/slack/setup-entry.ts"},{"output":"setup-plugin-api.js","source":"extensions/slack/setup-plugin-api.ts"}],"chunks":[{"output":".setup/account-configured-zcR9TJJN.mjs","sha256":"51dab8a8d80e33310313d3ae5f3244a30c5d343d55da630a1dbbf6da192d25b5","facadeSource":null,"sources":["extensions/slack/src/account-configured.ts"]},{"output":".setup/account-inspect-D58VVDjk.mjs","sha256":"3480614c2ddecc8baeb41ca4441b86cca65f709eead388ef183c84b204d32c5f","facadeSource":null,"sources":["extensions/slack/src/account-inspect.ts"]},{"output":".setup/accounts-BMg9YLIv.mjs","sha256":"984c79aeba194c2af97ed92f2e41462703166b9edd16a2f7e4d2279298c2cded","facadeSource":null,"sources":["extensions/slack/src/account-reply-mode.ts","extensions/slack/src/account-surface-fields.ts","extensions/slack/src/accounts.ts","extensions/slack/src/token.ts"]},{"output":".setup/action-runtime-DP76Xs8B.mjs","sha256":"e0fc40b480339eee921ddb2b138f361e30e37e83dff3f43fe7f40f7e712d4150","facadeSource":null,"sources":["extensions/slack/src/action-runtime.ts"]},{"output":".setup/action-runtime.runtime-9GVSH-nB.mjs","sha256":"313437840a5b45c47ba251906b4f9d77b168b34ef37f67ec598a4100bbbf2a30","facadeSource":"extensions/slack/src/action-runtime.runtime.ts","sources":[]},{"output":".setup/actions-DH287DuD.mjs","sha256":"cd11b38740b099d6e72bb66c0779c2e6252a5e1d5e14da4e27aeb2160b2aca1c","facadeSource":null,"sources":["extensions/slack/src/actions.ts","extensions/slack/src/conversation-open.ts","extensions/slack/src/edit-text.ts","extensions/slack/src/file-reference.ts","extensions/slack/src/monitor/block-text.ts","extensions/slack/src/monitor/media.runtime.ts","extensions/slack/src/monitor/media.ts","extensions/slack/src/monitor/slack-client-kind.ts"]},{"output":".setup/approval-handler.runtime-Cz4AcwuF.mjs","sha256":"c124983bf56a403fc9e901399a4c70ae44db4378ceab650ffd11db450e55b014","facadeSource":"extensions/slack/src/approval-handler.runtime.ts","sources":["extensions/slack/src/approval-handler.runtime.ts"]},{"output":".setup/approval-message-updates-CDf5hnhO.mjs","sha256":"e3559821300f5fe90c1424bc174dfed98ed314bfb1a865cb46464f864aab993a","facadeSource":null,"sources":["extensions/slack/src/approval-message-updates.ts"]},{"output":".setup/channel-BP1i40Jz.mjs","sha256":"8d4543a829e64b4856c2c9d187e040a5eca2d7cb69c5717a68fcddad19bfafe4","facadeSource":null,"sources":["extensions/slack/src/approval-native.ts","extensions/slack/src/channel-actions.ts","extensions/slack/src/channel.ts","extensions/slack/src/conversation-route-owner.ts","extensions/slack/src/enterprise-user-route.ts","extensions/slack/src/message-action-dispatch.ts","extensions/slack/src/threading-tool-context.ts"]},{"output":".setup/channel-meta-C443t-lI.mjs","sha256":"9c2859245e7b4af118b9e83309cfa1199171e136cee1722317d28e0d31a87180","facadeSource":null,"sources":["extensions/slack/src/channel-meta.ts"]},{"output":".setup/channel-type-DjOFlEWC.mjs","sha256":"6705acf5e21bd80a99b1fbe35d694b226eea081c553cfe549d36ac1a6684ef6d","facadeSource":null,"sources":["extensions/slack/src/channel-type.ts"]},{"output":".setup/channel.setup-DCR4c-Ju.mjs","sha256":"52816d2d44c00a6bf2665cb19b9de35ff3f59a28d6a87e78939e1226b6014fb5","facadeSource":null,"sources":["extensions/slack/src/channel.setup.ts","extensions/slack/src/config-adapter.ts","extensions/slack/src/setup-core.ts","extensions/slack/src/setup-shared.ts"]},{"output":".setup/config-schema-BH0K9-Um.mjs","sha256":"9e61d040fa0b62fd28f30d10cc0e8b214036d84f1bb41ad66d46460ba0ffa94d","facadeSource":null,"sources":["extensions/slack/src/config-schema.ts","extensions/slack/src/config-ui-hints.ts"]},{"output":".setup/directory-config-BEDZPfDn.mjs","sha256":"1c679f56b42aeda6a37e7f75a3bc6a02c222748b4babee9eadb23cb42ab9074d","facadeSource":null,"sources":["extensions/slack/src/directory-config.ts"]},{"output":".setup/directory-live-FipfeCwt.mjs","sha256":"da0cb680a1a8561a95b3b39cfbf9b7d8d8d1e356ab0ab21a7287e64dd9b6a213","facadeSource":null,"sources":["extensions/slack/src/directory-live.ts"]},{"output":".setup/doctor-contract-Cd4-VzIM.mjs","sha256":"b49d6223ab4fd59425141a9172be434537905dd9d9a4d1f77503d9d629a67151","facadeSource":null,"sources":["extensions/slack/src/doctor-contract.ts","extensions/slack/src/streaming-compat.ts","packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":".setup/message-tool-api-C7im5ETh.mjs","sha256":"0015ebc4937b425f341e3a4f19ed44039c019d4a1d4df16d53e18d325c0dacb1","facadeSource":null,"sources":["extensions/slack/src/message-actions.ts","extensions/slack/src/message-tool-api.ts"]},{"output":".setup/monitor-BuZrGeHk.mjs","sha256":"d1c7303d4192e120b39c7c62df75f12faabd575135fce2d44d7e9ac16add2ab0","facadeSource":null,"sources":["extensions/slack/src/channel-migration.ts","extensions/slack/src/draft-message-boundaries.ts","extensions/slack/src/interactive-dispatch.ts","extensions/slack/src/modal-metadata.ts","extensions/slack/src/monitor.ts","extensions/slack/src/monitor/agent-view-state.ts","extensions/slack/src/monitor/approval-runtime-context.ts","extensions/slack/src/monitor/assistant-thread-context.ts","extensions/slack/src/monitor/auth.ts","extensions/slack/src/monitor/channel-type.ts","extensions/slack/src/monitor/commands.ts","extensions/slack/src/monitor/context.ts","extensions/slack/src/monitor/deferred-action-routing.ts","extensions/slack/src/monitor/dm-auth.ts","extensions/slack/src/monitor/enterprise-install.ts","extensions/slack/src/monitor/event-scope.ts","extensions/slack/src/monitor/events.ts","extensions/slack/src/monitor/events/agent.ts","extensions/slack/src/monitor/events/assistant.ts","extensions/slack/src/monitor/events/channels.ts","extensions/slack/src/monitor/events/home.ts","extensions/slack/src/monitor/events/interaction-event.ts","extensions/slack/src/monitor/events/interactions.approval-sender.ts","extensions/slack/src/monitor/events/interactions.block-actions.ts","extensions/slack/src/monitor/events/interactions.modal.ts","extensions/slack/src/monitor/events/interactions.shortcuts.ts","extensions/slack/src/monitor/events/interactions.ts","extensions/slack/src/monitor/events/members.ts","extensions/slack/src/monitor/events/message-subtype-handlers.ts","extensions/slack/src/monitor/events/messages.ts","extensions/slack/src/monitor/events/modal-input-summary.ts","extensions/slack/src/monitor/events/pins.ts","extensions/slack/src/monitor/events/reactions.ts","extensions/slack/src/monitor/events/system-event-context.ts","extensions/slack/src/monitor/external-arg-menu-store.ts","extensions/slack/src/monitor/http-handler.ts","extensions/slack/src/monitor/ingress.ts","extensions/slack/src/monitor/message-dispatch-dedupe.ts","extensions/slack/src/monitor/message-handler.ts","extensions/slack/src/monitor/message-handler/debounce-key.ts","extensions/slack/src/monitor/message-handler/prepare-routing.ts","extensions/slack/src/monitor/presence-cooldown-store.ts","extensions/slack/src/monitor/presence-monitor.ts","extensions/slack/src/monitor/provider-support.ts","extensions/slack/src/monitor/provider.ts","extensions/slack/src/monitor/reconnect-policy.ts","extensions/slack/src/monitor/response-url-budget.ts","extensions/slack/src/monitor/room-context.ts","extensions/slack/src/monitor/runtime-policy.ts","extensions/slack/src/monitor/session-run-targets.ts","extensions/slack/src/monitor/slash.ts","extensions/slack/src/monitor/socket-mode-envelope.ts","extensions/slack/src/monitor/suggested-prompts.ts","extensions/slack/src/monitor/system-event-session.ts","extensions/slack/src/monitor/thread-resolution.ts","extensions/slack/src/streaming.ts","extensions/slack/src/threading.ts","extensions/slack/src/types.ts"]},{"output":".setup/outbound-adapter-BxfxyNoZ.mjs","sha256":"0ec2f66423a289e88856e595f30be3dbf75844f9bf180cc66cbbd8c65b52a67d","facadeSource":"extensions/slack/src/outbound-adapter.ts","sources":["extensions/slack/src/outbound-adapter.ts"]},{"output":".setup/pipeline.runtime-BquJCXGZ.mjs","sha256":"a4be2456e6f60c502dda4fc84a41bc17442b9ae1439237dd1a38065032380945","facadeSource":"extensions/slack/src/monitor/message-handler/pipeline.runtime.ts","sources":["extensions/slack/src/agent-context.ts","extensions/slack/src/draft-stream.ts","extensions/slack/src/monitor/message-handler/dispatch-helpers.ts","extensions/slack/src/monitor/message-handler/dispatch-progress-card.ts","extensions/slack/src/monitor/message-handler/dispatch-progress-native.ts","extensions/slack/src/monitor/message-handler/dispatch-progress-render.ts","extensions/slack/src/monitor/message-handler/dispatch-progress.ts","extensions/slack/src/monitor/message-handler/dispatch-setup.ts","extensions/slack/src/monitor/message-handler/dispatch-streaming.ts","extensions/slack/src/monitor/message-handler/dispatch.ts","extensions/slack/src/monitor/message-handler/preflight-audio.ts","extensions/slack/src/monitor/message-handler/prepare-content.ts","extensions/slack/src/monitor/message-handler/prepare-dm-history.ts","extensions/slack/src/monitor/message-handler/prepare-room-history.ts","extensions/slack/src/monitor/message-handler/prepare-session-presentation.ts","extensions/slack/src/monitor/message-handler/prepare-thread-context-root.ts","extensions/slack/src/monitor/message-handler/prepare-thread-context.ts","extensions/slack/src/monitor/message-handler/prepare-thread-mentions.ts","extensions/slack/src/monitor/message-handler/prepare.ts","extensions/slack/src/monitor/message-handler/preview-finalize.ts","extensions/slack/src/monitor/message-handler/subteam-mentions.ts","extensions/slack/src/monitor/message-handler/timestamp.ts","extensions/slack/src/monitor/thread.ts","extensions/slack/src/progress-blocks.ts","extensions/slack/src/stream-mode.ts","src/channels/mention-gating.ts"]},{"output":".setup/plugin-routes-B8tooDLj.mjs","sha256":"6807fcf3ddadca56e7c5fb24618aa0fb4a90fd8122019c6a419a8c1d101ae4b9","facadeSource":null,"sources":["extensions/slack/src/http/plugin-routes.ts"]},{"output":".setup/policy-CVFgJHQ1.mjs","sha256":"d6c2fb711fbe1d6b6cb05a4f5565c8a938d28b921a86ebc5d190c9903551bca1","facadeSource":null,"sources":["extensions/slack/src/monitor/channel-config.ts","extensions/slack/src/monitor/policy.ts"]},{"output":".setup/probe-CyX52GtD.mjs","sha256":"892a012fe40b6f8517fac140d8542b45d4812195d74538aa6e843e1c83543a57","facadeSource":null,"sources":["extensions/slack/src/client-options.ts","extensions/slack/src/client.ts","extensions/slack/src/cursor-pages.ts","extensions/slack/src/errors.ts","extensions/slack/src/monitor/allow-list.ts","extensions/slack/src/monitor/ingress-identity.ts","extensions/slack/src/monitor/lru-map-cache.ts","extensions/slack/src/probe.ts"]},{"output":".setup/registry-CIbMfuf8.mjs","sha256":"cd6833f1c991f545bbff77c95b64b743e01a1a51c8e89cc332f3cec3dcf4b4ac","facadeSource":null,"sources":["extensions/slack/src/http/paths.ts","extensions/slack/src/http/registry.ts"]},{"output":".setup/relay-source-BvsVNO2y.mjs","sha256":"7d3e2b27a11c41b958ad3f4f4e4b439a28495f9e129d36164366cd5290f9cfc1","facadeSource":"extensions/slack/src/monitor/relay-source.ts","sources":["extensions/slack/src/monitor/relay-source.ts"]},{"output":".setup/replies-XX4mv15E.mjs","sha256":"47f0853d9cb5cbaf40f7631f539656b991d0ca5dd65e0cdf8312a4dc765e5e5d","facadeSource":null,"sources":["extensions/slack/src/message-sent-hook.ts","extensions/slack/src/monitor/replies.ts"]},{"output":".setup/reply-blocks-DyvlYyy7.mjs","sha256":"12cba2f23dc6197ea1c2591f3abc40d4855b00b6de564678c802dec7d56d3d93","facadeSource":null,"sources":["extensions/slack/src/authored-text.ts","extensions/slack/src/blocks-render.ts","extensions/slack/src/reply-blocks.ts"]},{"output":".setup/resolve-channels-B96cgprw.mjs","sha256":"7e16e05d971bda1452b57c37644bd6ee10d042939a5879261efabc66683aecf0","facadeSource":null,"sources":["extensions/slack/src/resolve-channels.ts"]},{"output":".setup/resolve-users-Xz9aPdns.mjs","sha256":"db45099b06f9825c2621834fba8dc43e48e6c29690d47da0d3980c8669d62106","facadeSource":null,"sources":["extensions/slack/src/resolve-users.ts"]},{"output":".setup/rolldown-runtime-B4FMCO8f.mjs","sha256":"fcbee43c448920f8fe98ecc6ec974d3d100a0d6d19a223f5a135bfb261512c97","facadeSource":null,"sources":[]},{"output":".setup/runtime-JSVZSWAj.mjs","sha256":"bdc12ab895b35efc1ea3abeac2b050dbd7223c3accca9aad94baa9aaadb9123a","facadeSource":null,"sources":["extensions/slack/src/runtime.ts"]},{"output":".setup/runtime-setter-api-Cx_PV-xu.mjs","sha256":"459d6d1bc508399dbbfe2e5f654387d549a61897e2758c2f3b7537751aa847d8","facadeSource":"extensions/slack/runtime-setter-api.ts","sources":[]},{"output":".setup/scopes-aMcMHhXk.mjs","sha256":"d716ecd4eaa73b8352f3871dfa2dd311c931b1d6e509bcd4ad209c536c6a7078","facadeSource":"extensions/slack/src/scopes.ts","sources":["extensions/slack/src/scopes.ts"]},{"output":".setup/secret-contract-api-CQNCC4ux.mjs","sha256":"0596b32b828803810ae28584f5d993a21b8a9a459608536a8acaf927f9a26532","facadeSource":"extensions/slack/secret-contract-api.ts","sources":[]},{"output":".setup/secret-contract-vVRMoE1D.mjs","sha256":"0c6bc0f1d39e4be6c2d3bee72f0342167530ad32853892bfaf98828a2c890c01","facadeSource":null,"sources":["extensions/slack/src/secret-contract.ts"]},{"output":".setup/security-audit-C1nOGzJa.mjs","sha256":"73fe8957e43ee69a8a3bc780f0a519cc2fc9e5d18a5eb3acda178dc6bc221d39","facadeSource":null,"sources":["extensions/slack/src/security-audit.ts"]},{"output":".setup/send-DfRHvECF.mjs","sha256":"121dad5591113894bc47df657e9e3ac4c01b3033dac0e6c21c073c4a4ece6557","facadeSource":null,"sources":["extensions/slack/src/client-delivery.ts","extensions/slack/src/native-data-fallback.ts","extensions/slack/src/post-message-identity.ts","extensions/slack/src/post-message-payload.ts","extensions/slack/src/send.ts","extensions/slack/src/sent-thread-cache.ts","extensions/slack/src/slack-dm-channel-cache.ts"]},{"output":".setup/send-results-eeOu_HYm.mjs","sha256":"537adf38bb52b98f8693b8904c1bb0161f5a61c08ced67cd8ffa95ecc44b8778","facadeSource":null,"sources":["extensions/slack/src/send-results.ts"]},{"output":".setup/session-status-D_THGrJl.mjs","sha256":"c677dbde22d03d2c2654d431d0f9e3801ac4c2aa6bcd26465d99bb2cbf29afed","facadeSource":null,"sources":["extensions/slack/src/action-threading.ts","extensions/slack/src/approval-actions.ts","extensions/slack/src/approval-auth.ts","extensions/slack/src/approval-native-gates.ts","extensions/slack/src/approval-plugin-policy.ts","extensions/slack/src/blocks-fallback.ts","extensions/slack/src/blocks-input.ts","extensions/slack/src/conversation-binding-route.ts","extensions/slack/src/data-table.ts","extensions/slack/src/data-visualization.ts","extensions/slack/src/detached-target-admission.ts","extensions/slack/src/exec-approvals.ts","extensions/slack/src/format.ts","extensions/slack/src/group-policy.ts","extensions/slack/src/installation-identity-state.ts","extensions/slack/src/limits.ts","extensions/slack/src/monitor/mrkdwn.ts","extensions/slack/src/monitor/workspace-routing.ts","extensions/slack/src/native-data-blocks.ts","extensions/slack/src/presentation-fallback.ts","extensions/slack/src/presentation.ts","extensions/slack/src/question-actions.ts","extensions/slack/src/reply-action-ids.ts","extensions/slack/src/rich-text.ts","extensions/slack/src/session-status.ts","extensions/slack/src/truncate.ts"]},{"output":".setup/setup-plugin-api-XPY6h-pH.mjs","sha256":"10ebfab62073b49be8ae46f255a417031b0be89840e63436aee80c2987fd984c","facadeSource":"extensions/slack/setup-plugin-api.ts","sources":[]},{"output":".setup/setup-surface-DEVI3LNZ.mjs","sha256":"8344ec1738b335de16974982ffa3ae0967a78aba9b804788ece71b656e55302b","facadeSource":"extensions/slack/src/setup-surface.ts","sources":["extensions/slack/src/setup-surface.ts"]},{"output":".setup/shared-BDNmTlkh.mjs","sha256":"109e2348f76943576b4a1300da11a647c75e29e4dd7e33f4cab64eb7f08eb102","facadeSource":null,"sources":["extensions/slack/src/doctor.ts","extensions/slack/src/security-doctor.ts","extensions/slack/src/security.ts","extensions/slack/src/shared.ts"]},{"output":".setup/slash-dispatch.runtime-DzB9z0Xl.mjs","sha256":"d5020692361cabd9d238474b925277a5253f409b5bfee5c6119af6666629082d","facadeSource":"extensions/slack/src/monitor/slash-dispatch.runtime.ts","sources":[]},{"output":".setup/target-parsing-FFE26kOV.mjs","sha256":"89456e9a292d400c036b295073e5c95655912c002a655dac7b9cd6b53df0d4b8","facadeSource":null,"sources":["extensions/slack/src/target-parsing.ts"]},{"output":".setup/targets-C6LZQL1Q.mjs","sha256":"e977c787d9c4f44bc2eea643e072e7f98af6814125dc1a96d25266264e2017a8","facadeSource":null,"sources":["extensions/slack/src/targets.ts"]},{"output":".setup/thread-ts-Cvt7WD6B.mjs","sha256":"00e816eefbf22d06ca8a285a83b40fea4a2bfbb9d0561e3c80a9ef08b161fa41","facadeSource":null,"sources":["extensions/slack/src/thread-ts.ts"]},{"output":"account-inspect-api.js","sha256":"03b12ad51290de7b9a8b001325017186454a59890a532165a7a46138272012cf","facadeSource":"extensions/slack/account-inspect-api.ts","sources":["extensions/slack/account-inspect-api.ts"]},{"output":"api.js","sha256":"face4cc87980f18910fad3908f445cff7cb74842059fcca81fa6d14c76719f34","facadeSource":"extensions/slack/api.ts","sources":[]},{"output":"channel-config-api.js","sha256":"bb4decfd77bf97f5618f26125e025276d7081020b89978207f8ead126f668298","facadeSource":"extensions/slack/channel-config-api.ts","sources":[]},{"output":"channel-entry.js","sha256":"db4699f8ffe20a62ca6011814b4a20f3fcf49c905f9864c97cb41fabef0e0ba4","facadeSource":"extensions/slack/channel-entry.ts","sources":["extensions/slack/channel-entry.ts"]},{"output":"channel-plugin-api.js","sha256":"88f72ae3433cd8033e601f6d5f5cf9cd7b3d5843b80724fa06d43b1cd251395c","facadeSource":"extensions/slack/channel-plugin-api.ts","sources":[]},{"output":"configured-state.js","sha256":"e3269def4c411a8feeb67f01b26a54719792a3feea118a1280ef5a975bcc8e67","facadeSource":"extensions/slack/configured-state.ts","sources":["extensions/slack/configured-state.ts"]},{"output":"contract-api.js","sha256":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","facadeSource":"extensions/slack/contract-api.ts","sources":[]},{"output":"directory-contract-api.js","sha256":"4aad99a86be619e1306f6e01b55777ee409191b5ad8ab7dd349b5d02b76fed7d","facadeSource":"extensions/slack/directory-contract-api.ts","sources":[]},{"output":"doctor-contract-api.js","sha256":"9e7afbb04ac8ce8e4ca6a801bb43533ae879c4f781245156d38bfa4afb12d994","facadeSource":"extensions/slack/doctor-contract-api.ts","sources":[]},{"output":"http-routes-api.js","sha256":"7e25eac01bd5146f5583bac6bf60ec777576e3de83bc9a9b2d017801a16e9ce7","facadeSource":"extensions/slack/http-routes-api.ts","sources":[]},{"output":"index.js","sha256":"063c52dcf87a3efe50e04cb33b9da12d20ea57bc5acc065dcb213fde2ff6a2a3","facadeSource":"extensions/slack/index.ts","sources":["extensions/slack/index.ts"]},{"output":"message-tool-api.js","sha256":"2e240812db2aba3bb3fb60e63f7c29c44f577d1f0c259945e3fdca9817e19458","facadeSource":"extensions/slack/message-tool-api.ts","sources":[]},{"output":"runtime-api.js","sha256":"b1bcfc34f110f441a7c9b7f2b5ef4e8670d0e98e9c9c687ca2005db60ab7175a","facadeSource":"extensions/slack/runtime-api.ts","sources":[]},{"output":"runtime-setter-api.js","sha256":"922b8e00df9d5b8ec92d98bda060404d5abd7644b3b5184db64a58077dbe0b5b","facadeSource":"extensions/slack/runtime-setter-api.ts","sources":[]},{"output":"secret-contract-api.js","sha256":"7c23ae80d2da44504d8bc04914233a70afbeac6f44ca75549fd39e4d99bb85b4","facadeSource":"extensions/slack/secret-contract-api.ts","sources":[]},{"output":"security-contract-api.js","sha256":"5b67bbe12d3cf69bd4b563a93659a719eec92900d95a10098db5aac15573f76d","facadeSource":"extensions/slack/security-contract-api.ts","sources":[]},{"output":"setup-entry.js","sha256":"9b2f434c1f74495156d3ff91851eb5da41d670cf6591837e77c03e6f591e7236","facadeSource":"extensions/slack/setup-entry.ts","sources":["extensions/slack/setup-entry.ts"]},{"output":"setup-plugin-api.js","sha256":"29d57ab4029b6d87d459ab712961fde0456e695f62d95e156a09314b249a03bd","facadeSource":"extensions/slack/setup-plugin-api.ts","sources":[]}],"unrenderedSources":["extensions/slack/api.ts","extensions/slack/channel-config-api.ts","extensions/slack/channel-plugin-api.ts","extensions/slack/config-doctor-api.ts","extensions/slack/contract-api.ts","extensions/slack/directory-contract-api.ts","extensions/slack/doctor-contract-api.ts","extensions/slack/http-routes-api.ts","extensions/slack/message-tool-api.ts","extensions/slack/runtime-api.ts","extensions/slack/runtime-setter-api.ts","extensions/slack/secret-contract-api.ts","extensions/slack/security-contract-api.ts","extensions/slack/setup-plugin-api.ts","extensions/slack/src/action-runtime.runtime.ts","extensions/slack/src/http/index.ts","extensions/slack/src/monitor/media-types.ts","extensions/slack/src/monitor/message-handler/pipeline.runtime.ts","extensions/slack/src/monitor/slash-dispatch.runtime.ts"]}
|
package/dist/api.js
CHANGED
|
@@ -5,11 +5,11 @@ import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, o as resolve
|
|
|
5
5
|
import "./.setup/targets-C6LZQL1Q.mjs";
|
|
6
6
|
import { Bt as resolveSlackAutoThreadId, a as resolveSlackGroupRequireMention, ft as SLACK_MAX_BLOCKS, mt as validateSlackBlocksArray, o as resolveSlackGroupToolPolicy, pt as parseSlackBlocksInput } from "./.setup/session-status-D_THGrJl.mjs";
|
|
7
7
|
import { A as resolveSlackAllowListMatch, D as allowListMatches, E as resolveSlackWriteClientOptions, M as resolveSlackUserAllowed, O as normalizeSlackAllowOwnerEntry, S as SLACK_WRITE_RETRY_OPTIONS, T as resolveSlackWebClientOptions, _ as getSlackWriteClient, h as createSlackWriteClient, k as normalizeSlackSlug, m as createSlackWebClient, p as createSlackTokenCacheKey, t as probeSlack, x as SLACK_DEFAULT_RETRY_OPTIONS } from "./.setup/probe-CyX52GtD.mjs";
|
|
8
|
-
import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-
|
|
8
|
+
import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-BP1i40Jz.mjs";
|
|
9
9
|
import { d as buildSlackInteractiveBlocks, f as buildSlackPresentationBlocks } from "./.setup/reply-blocks-DyvlYyy7.mjs";
|
|
10
10
|
import { n as extractSlackToolSend, r as listSlackMessageActions } from "./.setup/message-tool-api-C7im5ETh.mjs";
|
|
11
11
|
import { n as resolveSlackChannelType } from "./.setup/channel-type-DjOFlEWC.mjs";
|
|
12
|
-
import { t as slackSetupPlugin } from "./.setup/channel.setup-
|
|
12
|
+
import { t as slackSetupPlugin } from "./.setup/channel.setup-DCR4c-Ju.mjs";
|
|
13
13
|
import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, r as downloadSlackFile, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-DH287DuD.mjs";
|
|
14
14
|
import { a as clearSlackThreadParticipationCache, s as hasSlackThreadParticipation, u as recordSlackThreadParticipation } from "./.setup/send-DfRHvECF.mjs";
|
|
15
15
|
import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-BEDZPfDn.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as slackPlugin } from "./.setup/channel-
|
|
1
|
+
export { t as slackPlugin } from "./.setup/channel-BP1i40Jz.mjs";
|
package/dist/runtime-api.js
CHANGED
|
@@ -7,7 +7,7 @@ import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g a
|
|
|
7
7
|
import { t as sendMessageSlack } from "./.setup/send-DfRHvECF.mjs";
|
|
8
8
|
import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-DP76Xs8B.mjs";
|
|
9
9
|
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./.setup/directory-live-FipfeCwt.mjs";
|
|
10
|
-
import { n as monitorSlackProvider } from "./.setup/monitor-
|
|
10
|
+
import { n as monitorSlackProvider } from "./.setup/monitor-BuZrGeHk.mjs";
|
|
11
11
|
import { t as resolveSlackChannelAllowlist } from "./.setup/resolve-channels-B96cgprw.mjs";
|
|
12
12
|
import { t as resolveSlackUserAllowlist } from "./.setup/resolve-users-Xz9aPdns.mjs";
|
|
13
13
|
export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, registerSlackPluginHttpRoutes, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./.setup/secret-contract-
|
|
1
|
+
export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./.setup/secret-contract-vVRMoE1D.mjs";
|
package/dist/setup-entry.js
CHANGED
|
@@ -4,11 +4,11 @@ import { fileURLToPath } from "node:url";
|
|
|
4
4
|
var setup_entry_default = defineBundledChannelSetupEntry({
|
|
5
5
|
importMetaUrl: import.meta.url,
|
|
6
6
|
plugin: {
|
|
7
|
-
specifier: fileURLToPath(new URL(".setup/setup-plugin-api-
|
|
7
|
+
specifier: fileURLToPath(new URL(".setup/setup-plugin-api-XPY6h-pH.mjs", import.meta.url).href),
|
|
8
8
|
exportName: "slackSetupPlugin"
|
|
9
9
|
},
|
|
10
10
|
secrets: {
|
|
11
|
-
specifier: fileURLToPath(new URL(".setup/secret-contract-api-
|
|
11
|
+
specifier: fileURLToPath(new URL(".setup/secret-contract-api-CQNCC4ux.mjs", import.meta.url).href),
|
|
12
12
|
exportName: "channelSecrets"
|
|
13
13
|
},
|
|
14
14
|
runtime: {
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as slackSetupPlugin } from "./.setup/channel.setup-
|
|
1
|
+
export { t as slackSetupPlugin } from "./.setup/channel.setup-DCR4c-Ju.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/slack",
|
|
3
|
-
"version": "2026.10.
|
|
3
|
+
"version": "2026.10.9",
|
|
4
4
|
"description": "OpenClaw Slack channel plugin for channels, DMs, commands, and app events.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"zod": "4.6.5"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"openclaw": ">=2026.10.
|
|
20
|
+
"openclaw": ">=2026.10.9"
|
|
21
21
|
},
|
|
22
22
|
"peerDependenciesMeta": {
|
|
23
23
|
"openclaw": {
|
|
@@ -150,10 +150,10 @@
|
|
|
150
150
|
"allowInvalidConfigRecovery": true
|
|
151
151
|
},
|
|
152
152
|
"compat": {
|
|
153
|
-
"pluginApi": ">=2026.10.
|
|
153
|
+
"pluginApi": ">=2026.10.9"
|
|
154
154
|
},
|
|
155
155
|
"build": {
|
|
156
|
-
"openclawVersion": "2026.10.
|
|
156
|
+
"openclawVersion": "2026.10.9",
|
|
157
157
|
"bundledDist": false
|
|
158
158
|
},
|
|
159
159
|
"release": {
|