@openclaw/slack 2026.9.33 → 2026.9.35
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/{action-runtime-DfWvuiZd.mjs → action-runtime-DrJGFq6u.mjs} +4 -4
- package/dist/.setup/action-runtime.runtime-BhXBcznI.mjs +1 -0
- package/dist/.setup/{actions-Df0CzcDl.mjs → actions-B-E1iXQh.mjs} +2 -2
- package/dist/.setup/{approval-handler.runtime-Ed6Sw5VK.mjs → approval-handler.runtime-B4zv4Cy-.mjs} +4 -4
- package/dist/.setup/{approval-message-updates-BadvtA7R.mjs → approval-message-updates-Psy357ys.mjs} +1 -1
- package/dist/.setup/{channel-C7bgPSTE.mjs → channel-CLZVpPR0.mjs} +9 -9
- package/dist/.setup/{channel-type-ClOttrZ5.mjs → channel-type-DdNW4_3Y.mjs} +1 -1
- package/dist/.setup/{monitor-BPVfkumU.mjs → monitor-CX8JFutk.mjs} +52 -24
- package/dist/.setup/{outbound-adapter-Bv48XUjq.mjs → outbound-adapter-BGeEF1Tb.mjs} +3 -3
- package/dist/.setup/{pipeline.runtime-B1H63Frf.mjs → pipeline.runtime-DpcyomUm.mjs} +9 -9
- package/dist/.setup/{policy-D-jfM174.mjs → policy-D7nmaTmD.mjs} +1 -1
- package/dist/.setup/{relay-source-BpKdjsll.mjs → relay-source-D89S2hfg.mjs} +7 -2
- package/dist/.setup/{replies-BAnUtr2f.mjs → replies-DsANnslp.mjs} +4 -4
- package/dist/.setup/{reply-blocks-SE1kTE3I.mjs → reply-blocks-BntCJ7mr.mjs} +1 -1
- package/dist/.setup/runtime-setter-api-Cx_PV-xu.mjs +2 -0
- package/dist/.setup/secret-contract-api-3duiGw0K.mjs +2 -0
- package/dist/.setup/{send-BOVLQi3n.mjs → send-BSQKD4nx.mjs} +1 -1
- package/dist/.setup/{session-status-DscajIsd.mjs → session-status-CPWDBkOb.mjs} +1 -1
- package/dist/.setup/setup-plugin-api-BVR4tSwT.mjs +2 -0
- package/dist/.setup/{slash-dispatch.runtime--AEzLVBF.mjs → slash-dispatch.runtime-B_jVFfTv.mjs} +1 -1
- package/dist/.source-module-urls/562d694877afe9d9dcbb3b32a8883c16974738f2aa892c48d45572cdc9a62529.json +1 -0
- package/dist/api.js +6 -6
- package/dist/channel-config-api.js +1 -2
- package/dist/channel-plugin-api.js +1 -2
- package/dist/directory-contract-api.js +1 -2
- package/dist/doctor-contract-api.js +1 -2
- package/dist/http-routes-api.js +1 -2
- package/dist/message-tool-api.js +1 -2
- package/dist/runtime-api.js +5 -5
- package/dist/runtime-setter-api.js +1 -2
- package/dist/secret-contract-api.js +1 -2
- package/dist/security-contract-api.js +1 -2
- package/dist/setup-entry.js +3 -3
- package/dist/setup-plugin-api.js +1 -2
- package/node_modules/@slack/bolt/node_modules/body-parser/README.md +17 -13
- package/node_modules/@slack/bolt/node_modules/body-parser/lib/read.js +74 -57
- package/node_modules/@slack/bolt/node_modules/body-parser/lib/types/json.js +11 -11
- package/node_modules/@slack/bolt/node_modules/body-parser/lib/types/urlencoded.js +5 -5
- package/node_modules/@slack/bolt/node_modules/body-parser/lib/utils.js +0 -15
- package/node_modules/@slack/bolt/node_modules/body-parser/package.json +7 -12
- package/node_modules/zod/package.json +1 -1
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +6 -0
- package/node_modules/zod/src/v4/core/compile.ts +9 -0
- package/node_modules/zod/src/v4/core/schemas.ts +35 -1
- package/node_modules/zod/src/v4/core/util.ts +13 -0
- package/node_modules/zod/src/v4/core/versions.ts +1 -1
- package/node_modules/zod/v4/core/compile.cjs +8 -0
- package/node_modules/zod/v4/core/compile.js +8 -0
- package/node_modules/zod/v4/core/schemas.cjs +30 -0
- package/node_modules/zod/v4/core/schemas.d.cts +3 -1
- package/node_modules/zod/v4/core/schemas.d.ts +3 -1
- package/node_modules/zod/v4/core/schemas.js +30 -0
- package/node_modules/zod/v4/core/util.cjs +15 -0
- package/node_modules/zod/v4/core/util.d.cts +2 -0
- package/node_modules/zod/v4/core/util.d.ts +2 -0
- package/node_modules/zod/v4/core/util.js +14 -0
- package/node_modules/zod/v4/core/versions.cjs +1 -1
- package/node_modules/zod/v4/core/versions.js +1 -1
- package/package.json +5 -5
- package/dist/.setup/action-runtime.runtime-Ck4bAWOX.mjs +0 -2
- package/dist/.setup/runtime-setter-api-CMFvhrAr.mjs +0 -3
- package/dist/.setup/secret-contract-api-Dp6290Vg.mjs +0 -3
- package/dist/.setup/setup-plugin-api-DTtbTKNk.mjs +0 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as parseSlackTarget, n as formatSlackTarget, o as resolveSlackChannelId } from "./target-parsing-FFE26kOV.mjs";
|
|
2
2
|
import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
|
|
3
|
-
import { Nt as getSlackInstallationKind, Ut as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, Wt as resolveSlackAutoThreadId, _t as parseSlackBlocksInput, f as assertSlackDetachedTargetAllowed, r as buildSlackChannelIdCandidates, v as hasSlackNativeDataBlock } from "./session-status-
|
|
4
|
-
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
3
|
+
import { Nt as getSlackInstallationKind, Ut as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, Wt as resolveSlackAutoThreadId, _t as parseSlackBlocksInput, f as assertSlackDetachedTargetAllowed, r as buildSlackChannelIdCandidates, v as hasSlackNativeDataBlock } from "./session-status-CPWDBkOb.mjs";
|
|
4
|
+
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-D7nmaTmD.mjs";
|
|
5
5
|
import { t as mergeSlackSendResults } from "./send-results-eeOu_HYm.mjs";
|
|
6
6
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
7
7
|
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -27,10 +27,10 @@ const pinActions = /* @__PURE__ */ new Set([
|
|
|
27
27
|
"listPins"
|
|
28
28
|
]);
|
|
29
29
|
const SLACK_REACTION_RESULT_LIMIT = 100;
|
|
30
|
-
const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions-
|
|
30
|
+
const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions-B-E1iXQh.mjs").then((n) => n.t));
|
|
31
31
|
const bindSlackAction = createLazyRuntimeMethodBinder(loadSlackActionsRuntime);
|
|
32
32
|
const loadSlackAccountsRuntime = createLazyRuntimeModule(() => import("./accounts-D_N9IqNA.mjs").then((n) => n.t));
|
|
33
|
-
const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-
|
|
33
|
+
const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-DdNW4_3Y.mjs").then((n) => n.t));
|
|
34
34
|
const bindSlackChannelType = createLazyRuntimeMethodBinder(loadSlackChannelTypeRuntime);
|
|
35
35
|
const slackActionRuntime = {
|
|
36
36
|
deleteSlackMessage: bindSlackAction((runtime) => runtime.deleteSlackMessage),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as handleSlackAction } from "./action-runtime-DrJGFq6u.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as __exportAll } from "./streaming-compat-C5Wut626.mjs";
|
|
2
2
|
import { h as resolveSlackBotToken, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
3
3
|
import { n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
4
|
-
import { A as countSlackTextUtf8Bytes, C as buildSlackBlocksFallbackText, E as SLACK_EDIT_TEXT_MAX_BYTES, M as truncateSlackTextByUtf8Bytes, Q as normalizeSlackOutboundText, S as stripSlackNativeDataBlocks, T as renderSlackBlockFallbackText, Ut as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, f as assertSlackDetachedTargetAllowed, h as appendSlackNativeDataPlainTextFallback, lt as escapeSlackMrkdwn, m as appendSlackNativeDataFallbackText, v as hasSlackNativeDataBlock, vt as validateSlackBlocksArray, w as buildSlackCompleteBlocksFallbackText, y as isSlackInvalidBlocksError } from "./session-status-
|
|
4
|
+
import { A as countSlackTextUtf8Bytes, C as buildSlackBlocksFallbackText, E as SLACK_EDIT_TEXT_MAX_BYTES, M as truncateSlackTextByUtf8Bytes, Q as normalizeSlackOutboundText, S as stripSlackNativeDataBlocks, T as renderSlackBlockFallbackText, Ut as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, f as assertSlackDetachedTargetAllowed, h as appendSlackNativeDataPlainTextFallback, lt as escapeSlackMrkdwn, m as appendSlackNativeDataFallbackText, v as hasSlackNativeDataBlock, vt as validateSlackBlocksArray, w as buildSlackCompleteBlocksFallbackText, y as isSlackInvalidBlocksError } from "./session-status-CPWDBkOb.mjs";
|
|
5
5
|
import { _ as getSlackWriteClient, h as createSlackWriteClient, u as createSlackLookupClient } from "./probe-B2Y9qc_z.mjs";
|
|
6
|
-
import { p as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-
|
|
6
|
+
import { p as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-BSQKD4nx.mjs";
|
|
7
7
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
8
8
|
import { asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { createSubsystemLogger, logVerbose } from "openclaw/plugin-sdk/runtime-env";
|
package/dist/.setup/{approval-handler.runtime-Ed6Sw5VK.mjs → approval-handler.runtime-B4zv4Cy-.mjs}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
2
|
-
import { Dt as shouldHandleSlackNativeApprovalRequest, E as SLACK_EDIT_TEXT_MAX_BYTES, M as truncateSlackTextByUtf8Bytes, n as setSlackSessionStatus, ut as SLACK_APPROVAL_HEADER_BLOCK_ID, yt as isSlackAnyNativeApprovalClientEnabled, zt as normalizeSlackApproverId } from "./session-status-
|
|
2
|
+
import { Dt as shouldHandleSlackNativeApprovalRequest, E as SLACK_EDIT_TEXT_MAX_BYTES, M as truncateSlackTextByUtf8Bytes, n as setSlackSessionStatus, ut as SLACK_APPROVAL_HEADER_BLOCK_ID, yt as isSlackAnyNativeApprovalClientEnabled, zt as normalizeSlackApproverId } from "./session-status-CPWDBkOb.mjs";
|
|
3
3
|
import { g as getSlackListenerWriteClient } from "./probe-B2Y9qc_z.mjs";
|
|
4
|
-
import { s as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
5
|
-
import { t as sendMessageSlack } from "./send-
|
|
6
|
-
import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-
|
|
4
|
+
import { s as resolveSlackReplyBlocks } from "./reply-blocks-BntCJ7mr.mjs";
|
|
5
|
+
import { t as sendMessageSlack } from "./send-BSQKD4nx.mjs";
|
|
6
|
+
import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-Psy357ys.mjs";
|
|
7
7
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
9
9
|
import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
|
package/dist/.setup/{approval-message-updates-BadvtA7R.mjs → approval-message-updates-Psy357ys.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as isSlackApprovalActionId, dt as decodeSlackApprovalAction } from "./session-status-
|
|
1
|
+
import { U as isSlackApprovalActionId, dt as decodeSlackApprovalAction } from "./session-status-CPWDBkOb.mjs";
|
|
2
2
|
import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
4
4
|
//#region extensions/slack/src/approval-message-updates.ts
|
|
@@ -2,12 +2,12 @@ import { n as isSlackPluginAccountConfigured } from "./account-configured-sUohAx
|
|
|
2
2
|
import { c as resolveSlackAccountAllowFrom, d as resolveSlackOperationToken, f as resolveSlackReplyToMode, i as listSlackAccountIds, n as hasImplicitDefaultSlackAccount, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
3
3
|
import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, n as formatSlackTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId, t as canonicalizeSlackApiTargetId } from "./target-parsing-FFE26kOV.mjs";
|
|
4
4
|
import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
|
|
5
|
-
import { A as countSlackTextUtf8Bytes, At as getSlackApprovalApproversForTeam, Bt as resolveSlackExecApprovalTarget, Ct as resolveSessionSlackOriginTarget, Dt as shouldHandleSlackNativeApprovalRequest, E as SLACK_EDIT_TEXT_MAX_BYTES, Et as resolveTurnSourceSlackOriginTarget, Ht as resolvePluginApprovalSlackApprovers, It as getSlackExecApprovalApprovers, Lt as isSlackExecApprovalAuthorizedSender, Mt as resolveSlackApprovalTeamId, Nt as getSlackInstallationKind, Ot as shouldHandleSlackPluginViaForwardingSession, Pt as isSlackWorkspaceInstallation, Q as normalizeSlackOutboundText, Rt as isSlackExecApprovalClientEnabled, St as normalizeSlackOriginTarget, Tt as resolveSlackFallbackOriginTarget, Vt as shouldSuppressLocalSlackExecApprovalPrompt, Wt as resolveSlackAutoThreadId, a as resolveSlackGroupRequireMention, bt as isSlackPluginApprovalRequest, c as qualifySlackRoutePeerId, ct as renderSlackMessagePresentationFallbackText, d as resolveSlackConversationBindingRoute, f as assertSlackDetachedTargetAllowed, jt as isSlackPluginApprovalAuthorizedSender, k as SLACK_TEXT_LIMIT, kt as slackTargetsMatch, mt as SLACK_PRESENTATION_CAPABILITIES, n as setSlackSessionStatus, o as resolveSlackGroupToolPolicy, s as qualifySlackConversationId, u as normalizeSlackRouteBindingConfig, wt as resolveSlackApproverDmTargets, xt as normalizeSlackForwardTarget, yt as isSlackAnyNativeApprovalClientEnabled } from "./session-status-
|
|
5
|
+
import { A as countSlackTextUtf8Bytes, At as getSlackApprovalApproversForTeam, Bt as resolveSlackExecApprovalTarget, Ct as resolveSessionSlackOriginTarget, Dt as shouldHandleSlackNativeApprovalRequest, E as SLACK_EDIT_TEXT_MAX_BYTES, Et as resolveTurnSourceSlackOriginTarget, Ht as resolvePluginApprovalSlackApprovers, It as getSlackExecApprovalApprovers, Lt as isSlackExecApprovalAuthorizedSender, Mt as resolveSlackApprovalTeamId, Nt as getSlackInstallationKind, Ot as shouldHandleSlackPluginViaForwardingSession, Pt as isSlackWorkspaceInstallation, Q as normalizeSlackOutboundText, Rt as isSlackExecApprovalClientEnabled, St as normalizeSlackOriginTarget, Tt as resolveSlackFallbackOriginTarget, Vt as shouldSuppressLocalSlackExecApprovalPrompt, Wt as resolveSlackAutoThreadId, a as resolveSlackGroupRequireMention, bt as isSlackPluginApprovalRequest, c as qualifySlackRoutePeerId, ct as renderSlackMessagePresentationFallbackText, d as resolveSlackConversationBindingRoute, f as assertSlackDetachedTargetAllowed, jt as isSlackPluginApprovalAuthorizedSender, k as SLACK_TEXT_LIMIT, kt as slackTargetsMatch, mt as SLACK_PRESENTATION_CAPABILITIES, n as setSlackSessionStatus, o as resolveSlackGroupToolPolicy, s as qualifySlackConversationId, u as normalizeSlackRouteBindingConfig, wt as resolveSlackApproverDmTargets, xt as normalizeSlackForwardTarget, yt as isSlackAnyNativeApprovalClientEnabled } from "./session-status-CPWDBkOb.mjs";
|
|
6
6
|
import { _ as getSlackWriteClient, c as collectSlackCursorPages, o as formatSlackError, u as createSlackLookupClient } from "./probe-B2Y9qc_z.mjs";
|
|
7
|
-
import { c as resolveSlackReplyDeliveryMessages, f as buildSlackPresentationBlocks, o as resolveSlackReplyBlockResolution, p as canRenderSlackPresentation, r as normalizeSlackReplyPayload, s as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
7
|
+
import { c as resolveSlackReplyDeliveryMessages, f as buildSlackPresentationBlocks, o as resolveSlackReplyBlockResolution, p as canRenderSlackPresentation, r as normalizeSlackReplyPayload, s as resolveSlackReplyBlocks } from "./reply-blocks-BntCJ7mr.mjs";
|
|
8
8
|
import { n as resolveSlackReplyThreadTs, r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
|
|
9
9
|
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-Cu4lwlGy.mjs";
|
|
10
|
-
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-
|
|
10
|
+
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-DdNW4_3Y.mjs";
|
|
11
11
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
12
12
|
import { n as slackConfigAdapter, r as slackSecurityAdapter, t as createSlackPluginBase } from "./shared-qau-uDGl.mjs";
|
|
13
13
|
import { a as slackSetupContract, i as createSlackSetupWizardProxy, o as SLACK_CHANNEL } from "./channel.setup-Dh2jzAjN.mjs";
|
|
@@ -99,7 +99,7 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
|
|
|
99
99
|
],
|
|
100
100
|
isConfigured: isSlackAnyNativeApprovalClientEnabled,
|
|
101
101
|
shouldHandle: shouldHandleSlackNativeApprovalRequest,
|
|
102
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
102
|
+
load: async () => (await import("./approval-handler.runtime-B4zv4Cy-.mjs")).slackApprovalNativeRuntime
|
|
103
103
|
})
|
|
104
104
|
});
|
|
105
105
|
const baseSlackNativeAdapter = baseSlackApprovalCapability.native;
|
|
@@ -403,7 +403,7 @@ const SLACK_TOOL_DELIVERY_ACTIONS = /* @__PURE__ */ new Set([
|
|
|
403
403
|
"unpinMessage",
|
|
404
404
|
"uploadFile"
|
|
405
405
|
]);
|
|
406
|
-
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
406
|
+
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-BhXBcznI.mjs"));
|
|
407
407
|
function resolveSlackActionContext(ctx, toolContext) {
|
|
408
408
|
if (!toolContext && !ctx.mediaAccess && !ctx.mediaLocalRoots && !ctx.mediaReadFile && !ctx.conversationReadOrigin && !ctx.requesterAccountId && !ctx.requesterSenderId && !ctx.assertDirectAdapterHandoff) return;
|
|
409
409
|
return {
|
|
@@ -575,7 +575,7 @@ const loadExtensionSharedSdk = createLazyRuntimeModule(() => import(EXTENSION_SH
|
|
|
575
575
|
const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import(TARGET_RESOLVER_RUNTIME_MODULE_ID));
|
|
576
576
|
const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-Dn7QgWRE.mjs"));
|
|
577
577
|
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-CasuDvaa.mjs"));
|
|
578
|
-
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-
|
|
578
|
+
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-BGeEF1Tb.mjs"));
|
|
579
579
|
const bindSlackOutbound = createLazyRuntimeMethodBinder(loadSlackOutboundAdapterModule);
|
|
580
580
|
async function resolveSlackHandleAction() {
|
|
581
581
|
return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
|
|
@@ -583,10 +583,10 @@ async function resolveSlackHandleAction() {
|
|
|
583
583
|
const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-BOUWH3hR.mjs").then((n) => n.t));
|
|
584
584
|
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-XXBn8UU_.mjs").then((n) => n.n));
|
|
585
585
|
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-DW0ngD03.mjs").then((n) => n.n));
|
|
586
|
-
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
587
|
-
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-
|
|
586
|
+
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-BhXBcznI.mjs"));
|
|
587
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-BSQKD4nx.mjs").then((n) => n.n));
|
|
588
588
|
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-B2Y9qc_z.mjs").then((n) => n.n));
|
|
589
|
-
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
589
|
+
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-CX8JFutk.mjs").then((n) => n.t));
|
|
590
590
|
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-B2O4B_Ho.mjs").then((n) => n.t));
|
|
591
591
|
async function setSlackHeartbeatThreadStatus(params) {
|
|
592
592
|
const threadTs = resolveSlackThreadTsValue({ threadId: params.threadId });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as __exportAll } from "./streaming-compat-C5Wut626.mjs";
|
|
2
2
|
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
3
|
-
import { f as assertSlackDetachedTargetAllowed } from "./session-status-
|
|
3
|
+
import { f as assertSlackDetachedTargetAllowed } from "./session-status-CPWDBkOb.mjs";
|
|
4
4
|
import { d as createSlackReadClient, m as createSlackWebClient, v as readLruMapEntry } from "./probe-B2Y9qc_z.mjs";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { normalizeStringEntriesLower } from "openclaw/plugin-sdk/string-normalization-runtime";
|
|
@@ -2,16 +2,16 @@ import { r as __exportAll } from "./streaming-compat-C5Wut626.mjs";
|
|
|
2
2
|
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-CIbMfuf8.mjs";
|
|
3
3
|
import { a as mergeSlackAccountConfig, c as resolveSlackAccountAllowFrom, f as resolveSlackReplyToMode, h as resolveSlackBotToken, l as resolveSlackAccountDmPolicy, m as resolveSlackAppToken, o as resolveDefaultSlackAccountId, p as formatSlackBotTokenIdentityWarning, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
4
4
|
import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
5
|
-
import { Ft as registerSlackInstallationState, G as isSlackQuestionActionId, Lt as isSlackExecApprovalAuthorizedSender, U as isSlackApprovalActionId, W as isSlackCallbackActionId, Y as resolveSlackQuestionAction, c as qualifySlackRoutePeerId, d as resolveSlackConversationBindingRoute, dt as decodeSlackApprovalAction, j as truncateSlackText, jt as isSlackPluginApprovalAuthorizedSender, k as SLACK_TEXT_LIMIT, l as resolveSlackEnterpriseMainDmSessionKey, lt as escapeSlackMrkdwn, n as setSlackSessionStatus, q as decodeSlackQuestionAction, r as buildSlackChannelIdCandidates, s as qualifySlackConversationId, t as renameSlackSession, u as normalizeSlackRouteBindingConfig, yt as isSlackAnyNativeApprovalClientEnabled } from "./session-status-
|
|
5
|
+
import { Ft as registerSlackInstallationState, G as isSlackQuestionActionId, Lt as isSlackExecApprovalAuthorizedSender, U as isSlackApprovalActionId, W as isSlackCallbackActionId, Y as resolveSlackQuestionAction, c as qualifySlackRoutePeerId, d as resolveSlackConversationBindingRoute, dt as decodeSlackApprovalAction, j as truncateSlackText, jt as isSlackPluginApprovalAuthorizedSender, k as SLACK_TEXT_LIMIT, l as resolveSlackEnterpriseMainDmSessionKey, lt as escapeSlackMrkdwn, n as setSlackSessionStatus, q as decodeSlackQuestionAction, r as buildSlackChannelIdCandidates, s as qualifySlackConversationId, t as renameSlackSession, u as normalizeSlackRouteBindingConfig, yt as isSlackAnyNativeApprovalClientEnabled } from "./session-status-CPWDBkOb.mjs";
|
|
6
6
|
import { A as resolveSlackUserAllowListForTeam, C as resolveSlackMonitorDispatchers, D as normalizeSlackAllowOwnerEntry, E as allowListMatches, O as normalizeSlackSlug, S as resolveSlackLookupClientOptions, a as slackIngressIdentity, c as collectSlackCursorPages, f as createSlackStartupAuthClient, g as getSlackListenerWriteClient, i as createSlackIngressSubject, k as resolveSlackAllowListMatch, m as createSlackWebClient, o as formatSlackError, v as readLruMapEntry, w as resolveSlackWebClientOptions, y as writeLruMapEntry } from "./probe-B2Y9qc_z.mjs";
|
|
7
7
|
import { n as getSlackRuntime, t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
8
8
|
import { t as DEFAULT_SLACK_SUGGESTED_PROMPTS } from "./channel-meta-C443t-lI.mjs";
|
|
9
|
-
import { S as hasSlackMessageTableBlock, f as readSlackMessages, v as isGovSlackClient, y as saveRemoteMedia } from "./actions-
|
|
10
|
-
import { d as requireSlackPostMessageTimestamp, f as buildSlackMessageIdentityPayload, r as setSlackDefaultSendIdentity } from "./send-
|
|
11
|
-
import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
9
|
+
import { S as hasSlackMessageTableBlock, f as readSlackMessages, v as isGovSlackClient, y as saveRemoteMedia } from "./actions-B-E1iXQh.mjs";
|
|
10
|
+
import { d as requireSlackPostMessageTimestamp, f as buildSlackMessageIdentityPayload, r as setSlackDefaultSendIdentity } from "./send-BSQKD4nx.mjs";
|
|
11
|
+
import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-D7nmaTmD.mjs";
|
|
12
12
|
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-XXBn8UU_.mjs";
|
|
13
13
|
import { t as resolveSlackUserAllowlist } from "./resolve-users-DW0ngD03.mjs";
|
|
14
|
-
import { n as runSlackApprovalMessageUpdate, t as hasSlackApprovalControl } from "./approval-message-updates-
|
|
14
|
+
import { n as runSlackApprovalMessageUpdate, t as hasSlackApprovalControl } from "./approval-message-updates-Psy357ys.mjs";
|
|
15
15
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
16
16
|
import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
17
17
|
import { asNonArrayRecord, asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries, normalizeUniqueTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -491,6 +491,9 @@ function resolveSlackIdentityHealth(params) {
|
|
|
491
491
|
//#endregion
|
|
492
492
|
//#region extensions/slack/src/monitor/reconnect-policy.ts
|
|
493
493
|
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;
|
|
494
|
+
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;
|
|
495
|
+
/** Consecutive isolated invalid_auth failures before the channel turns terminal. */
|
|
496
|
+
const SLACK_ISOLATED_INVALID_AUTH_TERMINAL_LIMIT = 3;
|
|
494
497
|
const SLACK_SOCKET_RECONNECT_POLICY = {
|
|
495
498
|
initialMs: 2e3,
|
|
496
499
|
maxMs: 3e4,
|
|
@@ -584,6 +587,28 @@ function waitForSlackSocketDisconnect(app, abortSignal) {
|
|
|
584
587
|
function isNonRecoverableSlackAuthError(error) {
|
|
585
588
|
return SLACK_AUTH_ERROR_RE.test(formatSlackError(error, ""));
|
|
586
589
|
}
|
|
590
|
+
/** Terminal, retryable-isolated, or undefined (not auth-shaped) for this failure. */
|
|
591
|
+
function nextSlackAuthFailureState(error, consecutiveInvalidAuth) {
|
|
592
|
+
if (error && isIsolatedInvalidAuthSlackError(error)) {
|
|
593
|
+
const next = consecutiveInvalidAuth + 1;
|
|
594
|
+
return next >= SLACK_ISOLATED_INVALID_AUTH_TERMINAL_LIMIT ? {
|
|
595
|
+
decision: "terminal",
|
|
596
|
+
consecutiveInvalidAuth: next
|
|
597
|
+
} : {
|
|
598
|
+
decision: "retry-isolated",
|
|
599
|
+
consecutiveInvalidAuth: next
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
return {
|
|
603
|
+
decision: error && isNonRecoverableSlackAuthError(error) ? "terminal" : void 0,
|
|
604
|
+
consecutiveInvalidAuth
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
/** Isolated invalid_auth: auth-shaped, but not a definitive credential verdict. */
|
|
608
|
+
function isIsolatedInvalidAuthSlackError(error) {
|
|
609
|
+
const text = formatSlackError(error, "");
|
|
610
|
+
return /invalid_auth/i.test(text) && !SLACK_DEFINITIVE_AUTH_ERROR_RE.test(text);
|
|
611
|
+
}
|
|
587
612
|
//#endregion
|
|
588
613
|
//#region extensions/slack/src/monitor/socket-mode-envelope.ts
|
|
589
614
|
function installSlackSocketModeEnvelopeGuard(client, acknowledge, logger) {
|
|
@@ -612,8 +637,8 @@ function installSlackSocketModeEnvelopeGuard(client, acknowledge, logger) {
|
|
|
612
637
|
//#endregion
|
|
613
638
|
//#region extensions/slack/src/monitor/provider-support.ts
|
|
614
639
|
const OPENCLAW_SLACK_CLIENT_PING_TIMEOUT_MS = 15e3;
|
|
615
|
-
const
|
|
616
|
-
const
|
|
640
|
+
const SLACK_SOCKET_START_FAILED_EVENT = "unable_to_socket_mode_start";
|
|
641
|
+
const SLACK_NATIVE_RECONNECT_OBSERVER_KEY = "__openclawNativeReconnectFailureObserver";
|
|
617
642
|
const SLACK_SOCKET_PONG_TIMEOUT_WARNING_PREFIX = "A pong wasn't received from the server";
|
|
618
643
|
const SLACK_SOCKET_PING_TIMEOUT_WARNING_PREFIX = "A ping wasn't received from the server";
|
|
619
644
|
const SLACK_SOCKET_LOG_LEVEL_IGNORED_WARNING_RE = /^The logLevel given to .+ was ignored as you also gave logger$/;
|
|
@@ -624,11 +649,11 @@ function installSlackNativeReconnectFailureObserver(receiver) {
|
|
|
624
649
|
if (!receiver || typeof receiver !== "object") return;
|
|
625
650
|
const client = Reflect.get(receiver, "client");
|
|
626
651
|
if (!client || typeof client !== "object") return;
|
|
627
|
-
if (Reflect.get(client,
|
|
652
|
+
if (Reflect.get(client, SLACK_NATIVE_RECONNECT_OBSERVER_KEY)) return;
|
|
628
653
|
const delayReconnectAttempt = Reflect.get(client, "delayReconnectAttempt");
|
|
629
654
|
const emit = Reflect.get(client, "emit");
|
|
630
655
|
if (typeof delayReconnectAttempt !== "function" || typeof emit !== "function") return;
|
|
631
|
-
Reflect.set(client,
|
|
656
|
+
Reflect.set(client, SLACK_NATIVE_RECONNECT_OBSERVER_KEY, true);
|
|
632
657
|
Reflect.set(client, "delayReconnectAttempt", function patchedDelayReconnectAttempt(callback) {
|
|
633
658
|
if (typeof callback !== "function") return delayReconnectAttempt.call(this, callback);
|
|
634
659
|
const nextFailureCount = Number(Reflect.get(this, "numOfConsecutiveReconnectionFailures") ?? 0) + 1;
|
|
@@ -649,7 +674,7 @@ function installSlackNativeReconnectFailureObserver(receiver) {
|
|
|
649
674
|
emit.call(this, "reconnecting");
|
|
650
675
|
Promise.resolve(callback.call(this)).then(resolve, (error) => {
|
|
651
676
|
if (callback === Reflect.get(this, "start")) {
|
|
652
|
-
emit.call(this,
|
|
677
|
+
emit.call(this, SLACK_SOCKET_START_FAILED_EVENT, error);
|
|
653
678
|
resolve(void 0);
|
|
654
679
|
return;
|
|
655
680
|
}
|
|
@@ -705,6 +730,14 @@ function publishSlackConnectedStatus(setStatus, identityHealth = {
|
|
|
705
730
|
lastConnectedAt
|
|
706
731
|
}) : channelReadyPatch({ lastConnectedAt }));
|
|
707
732
|
}
|
|
733
|
+
function trackSlackAuthFailure(failure, phase, setStatus, logError, state) {
|
|
734
|
+
const auth = nextSlackAuthFailureState(failure, state.consecutiveInvalidAuth);
|
|
735
|
+
state.consecutiveInvalidAuth = auth.consecutiveInvalidAuth;
|
|
736
|
+
if (auth.decision !== "terminal") return;
|
|
737
|
+
publishSlackBlockedStatus(setStatus, failure);
|
|
738
|
+
logError(`slack ${phase} (${formatSlackError(failure)})`);
|
|
739
|
+
throw failure instanceof Error ? failure : new Error(formatSlackError(failure));
|
|
740
|
+
}
|
|
708
741
|
function publishSlackBlockedStatus(setStatus, error) {
|
|
709
742
|
if (!setStatus) return;
|
|
710
743
|
setStatus(channelBlockedPatch(formatSlackError(error), { connected: false }));
|
|
@@ -2898,7 +2931,7 @@ const SLACK_COMMAND_ARG_CONFIRM_TEXT_MAX = 300;
|
|
|
2898
2931
|
const SLACK_HEADER_TEXT_MAX = 150;
|
|
2899
2932
|
const SLACK_COMMAND_ARG_ACTION_BLOCKS_MAX = 47;
|
|
2900
2933
|
const loadSlashCommandsRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/command-auth-native"));
|
|
2901
|
-
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime
|
|
2934
|
+
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-B_jVFfTv.mjs"));
|
|
2902
2935
|
const loadPluginCommandRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/plugin-command-runtime"));
|
|
2903
2936
|
function resolveSlackCommandMenuModelContext(params) {
|
|
2904
2937
|
if (!params.sessionKey.trim()) return {};
|
|
@@ -4525,7 +4558,7 @@ async function handleSlackApprovalInteraction(params) {
|
|
|
4525
4558
|
channelId,
|
|
4526
4559
|
messageTs
|
|
4527
4560
|
}, async () => {
|
|
4528
|
-
const { readSlackMessages } = await import("./actions-
|
|
4561
|
+
const { readSlackMessages } = await import("./actions-B-E1iXQh.mjs").then((n) => n.t);
|
|
4529
4562
|
const { messages } = await readSlackMessages(channelId, {
|
|
4530
4563
|
client: params.eventScope?.client ?? params.ctx.app.client,
|
|
4531
4564
|
messageId: messageTs,
|
|
@@ -6092,7 +6125,7 @@ function buildSlackDebounceKey(message, accountId, teamId) {
|
|
|
6092
6125
|
}
|
|
6093
6126
|
//#endregion
|
|
6094
6127
|
//#region extensions/slack/src/monitor/message-handler.ts
|
|
6095
|
-
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-
|
|
6128
|
+
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-DpcyomUm.mjs"));
|
|
6096
6129
|
const RETRYABLE_FLUSH_MAX_ATTEMPTS = 3;
|
|
6097
6130
|
const RETRYABLE_FLUSH_RETRY_DELAY_MS = 1e3;
|
|
6098
6131
|
const REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE = /reply session initialization conflicted for \S+/u;
|
|
@@ -6653,7 +6686,7 @@ async function getSlackBoltInterop() {
|
|
|
6653
6686
|
}
|
|
6654
6687
|
return slackBoltInterop;
|
|
6655
6688
|
}
|
|
6656
|
-
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-
|
|
6689
|
+
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-D89S2hfg.mjs"));
|
|
6657
6690
|
function resolveSlackRuntimeIdentity(params) {
|
|
6658
6691
|
const botUserId = normalizeOptionalString(params.botUserId);
|
|
6659
6692
|
const botId = normalizeOptionalString(params.botId);
|
|
@@ -7055,6 +7088,8 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
7055
7088
|
}
|
|
7056
7089
|
if (slackMode === "socket") {
|
|
7057
7090
|
let reconnectAttempts = 0;
|
|
7091
|
+
const authState = { consecutiveInvalidAuth: 0 };
|
|
7092
|
+
const logError = (message) => runtime.error?.(message);
|
|
7058
7093
|
let hasLoggedSocketConnected = false;
|
|
7059
7094
|
while (!opts.abortSignal?.aborted) try {
|
|
7060
7095
|
const disconnect = await startSlackSocketAndWaitForDisconnect({
|
|
@@ -7062,6 +7097,7 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
7062
7097
|
abortSignal: opts.abortSignal,
|
|
7063
7098
|
onStarted: async () => {
|
|
7064
7099
|
reconnectAttempts = 0;
|
|
7100
|
+
authState.consecutiveInvalidAuth = 0;
|
|
7065
7101
|
await recoverSlackIdentity();
|
|
7066
7102
|
publishSlackConnectedStatus(opts.setStatus, ctx.identityHealth);
|
|
7067
7103
|
if (!hasLoggedSocketConnected) {
|
|
@@ -7073,11 +7109,7 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
7073
7109
|
if (!disconnect) break;
|
|
7074
7110
|
if (opts.abortSignal?.aborted) break;
|
|
7075
7111
|
publishSlackDisconnectedStatus(opts.setStatus, disconnect.error);
|
|
7076
|
-
|
|
7077
|
-
publishSlackBlockedStatus(opts.setStatus, disconnect.error);
|
|
7078
|
-
runtime.error?.(`slack socket mode disconnected due to non-recoverable auth error — skipping channel (${formatSlackError(disconnect.error)})`);
|
|
7079
|
-
throw disconnect.error instanceof Error ? disconnect.error : new Error(formatSlackError(disconnect.error));
|
|
7080
|
-
}
|
|
7112
|
+
trackSlackAuthFailure(disconnect.error, "auth: disconnected, skipping channel", opts.setStatus, logError, authState);
|
|
7081
7113
|
reconnectAttempts += 1;
|
|
7082
7114
|
const delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
|
|
7083
7115
|
runtime.log?.(warn(formatSlackSocketReconnectMessage({
|
|
@@ -7093,11 +7125,7 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
7093
7125
|
break;
|
|
7094
7126
|
}
|
|
7095
7127
|
} catch (err) {
|
|
7096
|
-
|
|
7097
|
-
publishSlackBlockedStatus(opts.setStatus, err);
|
|
7098
|
-
runtime.error?.(`slack socket mode failed to start due to non-recoverable auth error — skipping channel (${formatSlackError(err)})`);
|
|
7099
|
-
throw err;
|
|
7100
|
-
}
|
|
7128
|
+
trackSlackAuthFailure(err, "auth: start failed, skipping channel", opts.setStatus, logError, authState);
|
|
7101
7129
|
publishSlackDisconnectedStatus(opts.setStatus, err);
|
|
7102
7130
|
reconnectAttempts += 1;
|
|
7103
7131
|
const delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
2
2
|
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
3
|
-
import { K as resolveSlackQuestionActionIds, R as SLACK_QUESTION_FINALIZATION_BLOCKS, f as assertSlackDetachedTargetAllowed, k as SLACK_TEXT_LIMIT, lt as escapeSlackMrkdwn, mt as SLACK_PRESENTATION_CAPABILITIES } from "./session-status-
|
|
4
|
-
import { c as resolveSlackReplyDeliveryMessages, i as parseSlackReplyBlockSegments, o as resolveSlackReplyBlockResolution, r as normalizeSlackReplyPayload, u as resolveSlackAuthoredTextPlacement } from "./reply-blocks-
|
|
3
|
+
import { K as resolveSlackQuestionActionIds, R as SLACK_QUESTION_FINALIZATION_BLOCKS, f as assertSlackDetachedTargetAllowed, k as SLACK_TEXT_LIMIT, lt as escapeSlackMrkdwn, mt as SLACK_PRESENTATION_CAPABILITIES } from "./session-status-CPWDBkOb.mjs";
|
|
4
|
+
import { c as resolveSlackReplyDeliveryMessages, i as parseSlackReplyBlockSegments, o as resolveSlackReplyBlockResolution, r as normalizeSlackReplyPayload, u as resolveSlackAuthoredTextPlacement } from "./reply-blocks-BntCJ7mr.mjs";
|
|
5
5
|
import { r as resolveSlackThreadTsValue } from "./thread-ts-Cvt7WD6B.mjs";
|
|
6
6
|
import { t as mergeSlackSendResults } from "./send-results-eeOu_HYm.mjs";
|
|
7
7
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -44,7 +44,7 @@ function readSlackRenderedPresentation(slackData) {
|
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-
|
|
47
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-BSQKD4nx.mjs").then((n) => n.n));
|
|
48
48
|
function resolveSlackSendIdentity(identity) {
|
|
49
49
|
if (!identity) return;
|
|
50
50
|
const username = normalizeOptionalString(identity.name);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { i as __reExport, n as resolveSlackStreamingMode, r as __exportAll, t as resolveSlackNativeStreaming } from "./streaming-compat-C5Wut626.mjs";
|
|
2
2
|
import { f as resolveSlackReplyToMode } from "./accounts-D_N9IqNA.mjs";
|
|
3
3
|
import { n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
4
|
-
import { A as countSlackTextUtf8Bytes, C as buildSlackBlocksFallbackText, E as SLACK_EDIT_TEXT_MAX_BYTES, H as SLACK_SESSION_LINK_ACTION_ID, M as truncateSlackTextByUtf8Bytes, Q as normalizeSlackOutboundText, c as qualifySlackRoutePeerId, j as truncateSlackText, k as SLACK_TEXT_LIMIT, lt as escapeSlackMrkdwn, v as hasSlackNativeDataBlock, w as buildSlackCompleteBlocksFallbackText } from "./session-status-
|
|
4
|
+
import { A as countSlackTextUtf8Bytes, C as buildSlackBlocksFallbackText, E as SLACK_EDIT_TEXT_MAX_BYTES, H as SLACK_SESSION_LINK_ACTION_ID, M as truncateSlackTextByUtf8Bytes, Q as normalizeSlackOutboundText, c as qualifySlackRoutePeerId, j as truncateSlackText, k as SLACK_TEXT_LIMIT, lt as escapeSlackMrkdwn, v as hasSlackNativeDataBlock, w as buildSlackCompleteBlocksFallbackText } from "./session-status-CPWDBkOb.mjs";
|
|
5
5
|
import { D as normalizeSlackAllowOwnerEntry, j as resolveSlackUserAllowed, o as formatSlackError, v as readLruMapEntry, y as writeLruMapEntry } from "./probe-B2Y9qc_z.mjs";
|
|
6
|
-
import { a as prepareSlackReply, l as resolveSlackReplyRenderPlan, s as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
6
|
+
import { a as prepareSlackReply, l as resolveSlackReplyRenderPlan, s as resolveSlackReplyBlocks } from "./reply-blocks-BntCJ7mr.mjs";
|
|
7
7
|
import { n as resolveSlackReplyThreadTs } from "./thread-ts-Cvt7WD6B.mjs";
|
|
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-
|
|
9
|
-
import { c as hasSlackThreadParticipationWithPersistence, i as clearSlackThreadFailureNotice, l as recordSlackThreadFailureNotice, o as hasSlackThreadFailureNotice, p as buildSlackNativeDataDeliveryPlan, s as hasSlackThreadParticipation, t as sendMessageSlack, u as recordSlackThreadParticipation } from "./send-
|
|
10
|
-
import { n as resolveSlackChannelConfig } from "./policy-
|
|
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-
|
|
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-B-E1iXQh.mjs";
|
|
9
|
+
import { c as hasSlackThreadParticipationWithPersistence, i as clearSlackThreadFailureNotice, l as recordSlackThreadFailureNotice, o as hasSlackThreadFailureNotice, p as buildSlackNativeDataDeliveryPlan, s as hasSlackThreadParticipation, t as sendMessageSlack, u as recordSlackThreadParticipation } from "./send-BSQKD4nx.mjs";
|
|
10
|
+
import { n as resolveSlackChannelConfig } from "./policy-D7nmaTmD.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-CX8JFutk.mjs";
|
|
12
|
+
import { a as emitSlackMessageSentHooks, i as sanitizeSlackMonitorReplyPayload, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-DsANnslp.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, createChannelMessageReplyPipeline, createChannelProgressDraftCompositor, createChannelProgressWorkCounter, createDraftStreamLoop, createFinalizableDraftLifecycle, createLivePreviewLifecycle, createMessageReceiptFromOutboundResults, formatChannelProgressDraftDiffStat, formatPlanChecklistLines, resolveAgentOutboundIdentity, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelProgressDraftConfig, resolveChannelProgressDraftMaxLineChars, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-outbound";
|
|
@@ -2786,7 +2786,7 @@ const SLACK_MENTION_RESOLUTION_CONCURRENCY = 4;
|
|
|
2786
2786
|
const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
|
|
2787
2787
|
const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
|
|
2788
2788
|
const MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS = 2e3;
|
|
2789
|
-
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-
|
|
2789
|
+
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-B-E1iXQh.mjs").then((n) => n._));
|
|
2790
2790
|
function formatSlackUnavailableMedia(params) {
|
|
2791
2791
|
let fileReferences = params.files?.map((file) => `${formatSlackFileReference(file)} unavailable (${file.reason})`).join(", ");
|
|
2792
2792
|
if (fileReferences && fileReferences.length > MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS) fileReferences = `${truncateUtf16Safe(fileReferences, MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS)}; … (file references truncated)`;
|
|
@@ -3140,7 +3140,7 @@ async function resolveSlackHistoryMedia(params) {
|
|
|
3140
3140
|
}
|
|
3141
3141
|
//#endregion
|
|
3142
3142
|
//#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
|
|
3143
|
-
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-
|
|
3143
|
+
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-B-E1iXQh.mjs").then((n) => n._));
|
|
3144
3144
|
const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
|
|
3145
3145
|
function formatSlackThreadLabelSnippet(text) {
|
|
3146
3146
|
return truncateUtf16Safe(text.replace(/\s+/g, " "), 80);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as buildSlackChannelPolicyScope, r as buildSlackChannelIdCandidates } from "./session-status-
|
|
1
|
+
import { i as buildSlackChannelPolicyScope, r as buildSlackChannelIdCandidates } from "./session-status-CPWDBkOb.mjs";
|
|
2
2
|
import { A as resolveSlackUserAllowListForTeam, O as normalizeSlackSlug } from "./probe-B2Y9qc_z.mjs";
|
|
3
3
|
import { applyChannelMatchMeta, buildChannelKeyCandidates } from "openclaw/plugin-sdk/channel-targets";
|
|
4
4
|
import { firstDefined } from "openclaw/plugin-sdk/allow-from";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { o as formatSlackError } from "./probe-B2Y9qc_z.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-CX8JFutk.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);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { C as buildSlackBlocksFallbackText, Z as markdownToSlackMrkdwnChunks, b as isSlackInvalidBlocksResponse, g as buildSlackNativeDataAccessibilityText, k as SLACK_TEXT_LIMIT, v as hasSlackNativeDataBlock, x as isSlackNativeResponseUrlRejection } from "./session-status-
|
|
2
|
-
import { n as iterateSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, t as hasSlackReplyStructuredContent } from "./reply-blocks-
|
|
1
|
+
import { C as buildSlackBlocksFallbackText, Z as markdownToSlackMrkdwnChunks, b as isSlackInvalidBlocksResponse, g as buildSlackNativeDataAccessibilityText, k as SLACK_TEXT_LIMIT, v as hasSlackNativeDataBlock, x as isSlackNativeResponseUrlRejection } from "./session-status-CPWDBkOb.mjs";
|
|
2
|
+
import { n as iterateSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, t as hasSlackReplyStructuredContent } from "./reply-blocks-BntCJ7mr.mjs";
|
|
3
3
|
import { n as resolveSlackReplyThreadTs } from "./thread-ts-Cvt7WD6B.mjs";
|
|
4
|
-
import { m as chunkSlackTextAtHardLimit, p as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-
|
|
5
|
-
import { a as SlackResponseAlreadyReportedError, o as createSlackResponseUrlBudget } from "./monitor-
|
|
4
|
+
import { m as chunkSlackTextAtHardLimit, p as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-BSQKD4nx.mjs";
|
|
5
|
+
import { a as SlackResponseAlreadyReportedError, o as createSlackResponseUrlBudget } from "./monitor-CX8JFutk.mjs";
|
|
6
6
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
7
7
|
import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
8
8
|
import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as buildSlackDataVisualizationBlock, B as SLACK_REPLY_LINK_ACTION_ID, C as buildSlackBlocksFallbackText, F as SLACK_CALLBACK_BUTTON_ACTION_ID, I as SLACK_CALLBACK_SELECT_ACTION_ID, J as encodeSlackQuestionAction, L as SLACK_QUESTION_BUTTON_ACTION_ID, N as SLACK_APPROVAL_BUTTON_ACTION_ID, P as SLACK_APPROVAL_SELECT_ACTION_ID, T as renderSlackBlockFallbackText, V as SLACK_REPLY_SELECT_ACTION_ID, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _t as parseSlackBlocksInput, at as countSlackDataTableCellCharacters, et as canRenderSlackDataVisualization, ft as encodeSlackApprovalAction, g as buildSlackNativeDataAccessibilityText, ht as SLACK_SECTION_TEXT_MAX, it as countSlackDataTableBlocksCellCharacters, j as truncateSlackText, m as appendSlackNativeDataFallbackText, ot as resolveSlackDataTableCellCharacterCount, rt as buildSlackDataTableBlock, st as renderSlackMessagePresentationChartFallbackText, tt as hasSlackDataVisualizationBlock, v as hasSlackNativeDataBlock, w as buildSlackCompleteBlocksFallbackText, z as SLACK_REPLY_BUTTON_ACTION_ID } from "./session-status-
|
|
1
|
+
import { $ as buildSlackDataVisualizationBlock, B as SLACK_REPLY_LINK_ACTION_ID, C as buildSlackBlocksFallbackText, F as SLACK_CALLBACK_BUTTON_ACTION_ID, I as SLACK_CALLBACK_SELECT_ACTION_ID, J as encodeSlackQuestionAction, L as SLACK_QUESTION_BUTTON_ACTION_ID, N as SLACK_APPROVAL_BUTTON_ACTION_ID, P as SLACK_APPROVAL_SELECT_ACTION_ID, T as renderSlackBlockFallbackText, V as SLACK_REPLY_SELECT_ACTION_ID, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _t as parseSlackBlocksInput, at as countSlackDataTableCellCharacters, et as canRenderSlackDataVisualization, ft as encodeSlackApprovalAction, g as buildSlackNativeDataAccessibilityText, ht as SLACK_SECTION_TEXT_MAX, it as countSlackDataTableBlocksCellCharacters, j as truncateSlackText, m as appendSlackNativeDataFallbackText, ot as resolveSlackDataTableCellCharacterCount, rt as buildSlackDataTableBlock, st as renderSlackMessagePresentationChartFallbackText, tt as hasSlackDataVisualizationBlock, v as hasSlackNativeDataBlock, w as buildSlackCompleteBlocksFallbackText, z as SLACK_REPLY_BUTTON_ACTION_ID } from "./session-status-CPWDBkOb.mjs";
|
|
2
2
|
import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
4
4
|
import { legacyInteractiveReplyToPresentation, normalizeMessagePresentation, renderMessagePresentationFallbackText, resolveMessagePresentationButtonAction, resolveMessagePresentationOptionAction } from "openclaw/plugin-sdk/interactive-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as __exportAll } from "./streaming-compat-C5Wut626.mjs";
|
|
2
2
|
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
3
3
|
import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-FFE26kOV.mjs";
|
|
4
|
-
import { D as SLACK_MESSAGE_TEXT_HARD_LIMIT, E as SLACK_EDIT_TEXT_MAX_BYTES, K as resolveSlackQuestionActionIds, M as truncateSlackTextByUtf8Bytes, O as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, R as SLACK_QUESTION_FINALIZATION_BLOCKS, S as stripSlackNativeDataBlocks, T as renderSlackBlockFallbackText, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as createSlackNativeDataBaseTextConsumer, f as assertSlackDetachedTargetAllowed, g as buildSlackNativeDataAccessibilityText, h as appendSlackNativeDataPlainTextFallback, j as truncateSlackText, k as SLACK_TEXT_LIMIT, v as hasSlackNativeDataBlock, vt as validateSlackBlocksArray, w as buildSlackCompleteBlocksFallbackText, y as isSlackInvalidBlocksError } from "./session-status-
|
|
4
|
+
import { D as SLACK_MESSAGE_TEXT_HARD_LIMIT, E as SLACK_EDIT_TEXT_MAX_BYTES, K as resolveSlackQuestionActionIds, M as truncateSlackTextByUtf8Bytes, O as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, R as SLACK_QUESTION_FINALIZATION_BLOCKS, S as stripSlackNativeDataBlocks, T as renderSlackBlockFallbackText, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as createSlackNativeDataBaseTextConsumer, f as assertSlackDetachedTargetAllowed, g as buildSlackNativeDataAccessibilityText, h as appendSlackNativeDataPlainTextFallback, j as truncateSlackText, k as SLACK_TEXT_LIMIT, v as hasSlackNativeDataBlock, vt as validateSlackBlocksArray, w as buildSlackCompleteBlocksFallbackText, y as isSlackInvalidBlocksError } from "./session-status-CPWDBkOb.mjs";
|
|
5
5
|
import { _ as getSlackWriteClient, d as createSlackReadClient, h as createSlackWriteClient, o as formatSlackError, p as createSlackTokenCacheKey, s as getSlackWebApiErrorData } from "./probe-B2Y9qc_z.mjs";
|
|
6
6
|
import { r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
|
|
7
7
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
@@ -68,7 +68,7 @@ function normalizeSlackApproverTarget(value) {
|
|
|
68
68
|
const trimmed = normalizeStringifiedOptionalString(value);
|
|
69
69
|
if (!trimmed) return;
|
|
70
70
|
try {
|
|
71
|
-
const target = parseSlackTarget(trimmed, { defaultKind: "user" });
|
|
71
|
+
const target = parseSlackTarget(trimmed.replace(/^slack:/i, ""), { defaultKind: "user" });
|
|
72
72
|
const id = target?.kind === "user" ? normalizeSlackUserLikeId(target.id) : void 0;
|
|
73
73
|
return target?.teamId && id ? formatSlackTarget({
|
|
74
74
|
kind: "user",
|
package/dist/.setup/{slash-dispatch.runtime--AEzLVBF.mjs → slash-dispatch.runtime-B_jVFfTv.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-DsANnslp.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-sUohAxZr.mjs","sha256":"82fcabfb7b188ada842e8d3ce4cdb58919c010a37ce05edf88033ac332198ffe","facadeSource":null,"sources":["extensions/slack/src/account-configured.ts"]},{"output":".setup/account-inspect-DWBXpER6.mjs","sha256":"ab057df3481a5e7e4d618756e61b5a4ef6a6bbbcdef7b4d77bea2b46d1c20838","facadeSource":null,"sources":["extensions/slack/src/account-inspect.ts"]},{"output":".setup/accounts-D_N9IqNA.mjs","sha256":"16fd7747f988f365337ee760fa9c00541b66a72f1cfa758255d195e80333c333","facadeSource":null,"sources":["extensions/slack/src/account-reply-mode.ts","extensions/slack/src/accounts.ts","extensions/slack/src/token.ts"]},{"output":".setup/action-runtime-DrJGFq6u.mjs","sha256":"d88e1d22cc6e1c775539ec4b0f6f66745a84aa8863def7124c6b5bf4505cd4bc","facadeSource":null,"sources":["extensions/slack/src/action-runtime.ts"]},{"output":".setup/action-runtime.runtime-BhXBcznI.mjs","sha256":"2c8291809facf90ae23f7c38eba08e192843be9fd4fceb07f6f9a94b9ef2d7e2","facadeSource":"extensions/slack/src/action-runtime.runtime.ts","sources":[]},{"output":".setup/actions-B-E1iXQh.mjs","sha256":"8bd427bc0f2fa1013702bedeb14e35a9b4171adcb12ee5fda8ee1c8a69159def","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-B4zv4Cy-.mjs","sha256":"d9f6f74f9a90e4a9e9b4e1c5ee0aeb8a154e3d6cecdb0fe1c0cd96ca78d36580","facadeSource":"extensions/slack/src/approval-handler.runtime.ts","sources":["extensions/slack/src/approval-handler.runtime.ts"]},{"output":".setup/approval-message-updates-Psy357ys.mjs","sha256":"e512c51e8574de2c5ac5e6aefd666aa66766916fc9105d5bc047b37063ca0f37","facadeSource":null,"sources":["extensions/slack/src/approval-message-updates.ts"]},{"output":".setup/channel-CLZVpPR0.mjs","sha256":"a8652af83e064d6e325d1fc5317bcd8304e5f80dd50bf5606e4b2538564050e1","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-DdNW4_3Y.mjs","sha256":"0535b73da829ca76b67b0030b57ef568123f121ea933163e47e1a18128077cbb","facadeSource":null,"sources":["extensions/slack/src/channel-type.ts"]},{"output":".setup/channel.setup-Dh2jzAjN.mjs","sha256":"b5f1ed7eb81c50286316e253738683f3c109e94d17950ba28aacb4bf070d4538","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-BZCxmHKG.mjs","sha256":"5c76e3a84299f218857440091c54a7aaa9b3c6cb751b66647fecbe47af7e1850","facadeSource":null,"sources":["extensions/slack/src/config-schema.ts","extensions/slack/src/config-ui-hints.ts"]},{"output":".setup/directory-config-BOUWH3hR.mjs","sha256":"79a1f38c13d61173b8093faeb3f879fbc44416ac186f0fec4c4a9afa51bc7757","facadeSource":null,"sources":["extensions/slack/src/directory-config.ts"]},{"output":".setup/directory-live-B2O4B_Ho.mjs","sha256":"4db7e91f5a2a6f3c458f448d80bcd4205f3c31ea87e84812aa2c89419213f9ae","facadeSource":null,"sources":["extensions/slack/src/directory-live.ts"]},{"output":".setup/doctor-contract-CRN1Z_c7.mjs","sha256":"5717c9afd8aeb5d758d4e8949ef73a817db900184e8d7a5b290046fe1d5a14fa","facadeSource":null,"sources":["extensions/slack/src/doctor-contract.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-Cu4lwlGy.mjs","sha256":"5c8459024c265cec8a0efd77efe9b0063e8e15369b46cea1d4fa17d7b88450b0","facadeSource":null,"sources":["extensions/slack/src/message-actions.ts","extensions/slack/src/message-tool-api.ts"]},{"output":".setup/monitor-CX8JFutk.mjs","sha256":"67bf9d2bd8821f1e02935d540446a26d760270fe96573fc4b5f4e2e3ccb7631c","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/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-BGeEF1Tb.mjs","sha256":"bc96be64567ae188f482fd46ae6ef3783b999360c4dc4625fdc610cba0b25d58","facadeSource":"extensions/slack/src/outbound-adapter.ts","sources":["extensions/slack/src/outbound-adapter.ts"]},{"output":".setup/pipeline.runtime-DpcyomUm.mjs","sha256":"d29246dbb1025c1de7e0abc3bf5c67abf0d3c77222b319cc953a25fe8b3453e9","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-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-D7nmaTmD.mjs","sha256":"0ae67b64d5a7b076a762a91f44713af0f5e85d9efbd29feeab5f3f69b2a5feb6","facadeSource":null,"sources":["extensions/slack/src/monitor/channel-config.ts","extensions/slack/src/monitor/policy.ts"]},{"output":".setup/probe-B2Y9qc_z.mjs","sha256":"57867725eb23ff26972b8ff7fd2268312bfd7cf68b924e9ada5dc7dafe83eade","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-D89S2hfg.mjs","sha256":"cfba198d3d1f4a426ff248b123efb33e47a8dfeb215d03d69d4293b65be6edbb","facadeSource":"extensions/slack/src/monitor/relay-source.ts","sources":["extensions/slack/src/monitor/relay-source.ts"]},{"output":".setup/replies-DsANnslp.mjs","sha256":"c65588cf8f0f586a3f54ebcf3620d47f242bc043d2147ae796ed9474f557eca5","facadeSource":null,"sources":["extensions/slack/src/message-sent-hook.ts","extensions/slack/src/monitor/replies.ts"]},{"output":".setup/reply-blocks-BntCJ7mr.mjs","sha256":"0798f5abf3dcb0ae0086e9e8c21257b372d6d68fd7989ce36dcb487cd64c0746","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-XXBn8UU_.mjs","sha256":"057aa5d458bc8be81c79243b809c463e31a709659ad49a76e44783f814f840ee","facadeSource":null,"sources":["extensions/slack/src/resolve-channels.ts"]},{"output":".setup/resolve-users-DW0ngD03.mjs","sha256":"f1b6a740261eeb78aec1393f4e6677468d3cb5b04636c412ed8173cbb3c90a8b","facadeSource":null,"sources":["extensions/slack/src/resolve-users.ts"]},{"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-CasuDvaa.mjs","sha256":"cc1e11dc2dd3f64c4f2457d83a1e4be2d2dad79f69d65f2a554f31343c36d9ba","facadeSource":"extensions/slack/src/scopes.ts","sources":["extensions/slack/src/scopes.ts"]},{"output":".setup/secret-contract-api-3duiGw0K.mjs","sha256":"c90976fd133e65fdda4e034977b72cda25f23d511eee441b153f73c45f65f973","facadeSource":"extensions/slack/secret-contract-api.ts","sources":[]},{"output":".setup/secret-contract-BaZcu6P_.mjs","sha256":"83cc90575775dae77a143edeb6e685b9abe35fc8766661e1b376016ea97a5d44","facadeSource":null,"sources":["extensions/slack/src/secret-contract.ts"]},{"output":".setup/security-audit-BqDc-6VL.mjs","sha256":"f18115e43f8bc00d6331d74737562839ad44e9c6ec5b86de7277b1cdb60f228f","facadeSource":null,"sources":["extensions/slack/src/security-audit.ts"]},{"output":".setup/send-BSQKD4nx.mjs","sha256":"c4614e7a35aa9817743343475b7eb9b80dfab30858071702bf8d559bab20d9f9","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-CPWDBkOb.mjs","sha256":"044bc65cabbc8b87cb652dca422ca305e86a80b199b99bba1387aa9a71222d10","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-BVR4tSwT.mjs","sha256":"c05bcb204a8854467b186a1216f39cab852b25c036ea7c665f40f197785b97ba","facadeSource":"extensions/slack/setup-plugin-api.ts","sources":[]},{"output":".setup/setup-surface-Dn7QgWRE.mjs","sha256":"1fe1ba32ab519b8e265913ca6ff8e548ab8e967ba22b29eb03f9e341cd1c6d70","facadeSource":"extensions/slack/src/setup-surface.ts","sources":["extensions/slack/src/setup-surface.ts"]},{"output":".setup/shared-qau-uDGl.mjs","sha256":"a0cb391ff94ca29b8a53853ec9e4fd2cfcf8cbae3ea99e7ba8a7e7e334afb670","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-B_jVFfTv.mjs","sha256":"77117eb099b410dd1aa0966ad51b13753ddd0837e2e731a30cc75251f73c25e9","facadeSource":"extensions/slack/src/monitor/slash-dispatch.runtime.ts","sources":[]},{"output":".setup/streaming-compat-C5Wut626.mjs","sha256":"8ed0c454f5c42b31b8d94c1bccd4abdeea750877df7f704446a6657a68973d49","facadeSource":null,"sources":["extensions/slack/src/streaming-compat.ts"]},{"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":"bb26e61bc575b68715fe10c2e3e267769c3132766e76a4a44bcc8f22938f03de","facadeSource":"extensions/slack/account-inspect-api.ts","sources":["extensions/slack/account-inspect-api.ts"]},{"output":"api.js","sha256":"1613f64ba1ed08b7345f0155c4c520b15ebcf545665641828375f729f64268b5","facadeSource":"extensions/slack/api.ts","sources":[]},{"output":"channel-config-api.js","sha256":"1ede360d5135be4029418addb752e6e5a03a3b1325ed090d3a58f3745cbeab3d","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":"c834bcbceadc0f9c1f1eff58ab086a91494f2a8cee72f09a74f5a9a651f1084c","facadeSource":"extensions/slack/channel-plugin-api.ts","sources":[]},{"output":"configured-state.js","sha256":"62886bc2fe28e2ceb5541a6d41287bdbb1fbbb253bfef8df87f8f4c9735bbc5a","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":"1ecd6452c405398578551007f334498fc34251825167ab9601febe8a4860153c","facadeSource":"extensions/slack/directory-contract-api.ts","sources":[]},{"output":"doctor-contract-api.js","sha256":"37ac50eaf2ad7f3fe5961d0473830768e38d8c0a34c1ba2668a1092a693a31e2","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":"50819b53ed1bfebdae1418950374c11e9364049ed6b40f2d70db21d346bf5228","facadeSource":"extensions/slack/message-tool-api.ts","sources":[]},{"output":"runtime-api.js","sha256":"81fdf517215231f355278674a19ff3151b89964aca5bbd3eb90183e06f3f653d","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":"8d72c3223d225222b4dabfdc0ff33cc624e3c5bb9ddc719f40d8fe71d81ce622","facadeSource":"extensions/slack/secret-contract-api.ts","sources":[]},{"output":"security-contract-api.js","sha256":"b79eae03969176010a7d9d823a3d6b54f623077fbc561e178a3c3a0f0718f269","facadeSource":"extensions/slack/security-contract-api.ts","sources":[]},{"output":"setup-entry.js","sha256":"2e97418f8dd112060ca2084dd93428310902e44322a88551bf7239d77f6098f8","facadeSource":"extensions/slack/setup-entry.ts","sources":["extensions/slack/setup-entry.ts"]},{"output":"setup-plugin-api.js","sha256":"4c31378b0430ef257d01909c2b8a19dbc95cea124a768784dae0543f09bcdcf0","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"]}
|