@openclaw/slack 2026.8.33 → 2026.8.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-C_G4J1MV.mjs → action-runtime-Ddpb2CZS.mjs} +4 -4
- package/dist/.setup/action-runtime.runtime-Beq7Am11.mjs +2 -0
- package/dist/.setup/{actions-8uuOLGDR.mjs → actions-DV3J6OB-.mjs} +2 -2
- package/dist/.setup/{approval-handler.runtime-Bj-Kl-Ak.mjs → approval-handler.runtime-rEYfeaG_.mjs} +13 -8
- package/dist/.setup/{channel-Dmbj_FF6.mjs → channel-Bpv8aTo8.mjs} +13 -9
- package/dist/.setup/{channel-type-CncPqtvr.mjs → channel-type-CrwjkeJT.mjs} +1 -1
- package/dist/.setup/{group-policy-9pMyFFRP.mjs → group-policy-5epvX6Dt.mjs} +1 -1
- package/dist/.setup/{monitor-t4yqSbLZ.mjs → monitor-BnckzNnh.mjs} +3 -3
- package/dist/.setup/{outbound-adapter-CIO-lnfQ.mjs → outbound-adapter-Ic_fTJof.mjs} +2 -2
- package/dist/.setup/{pipeline.runtime-xjOJ8ltM.mjs → pipeline.runtime-D4MRWgXI.mjs} +8 -8
- package/dist/.setup/{plugin-routes-C3X0eVaK.mjs → plugin-routes-B8tooDLj.mjs} +1 -1
- package/dist/.setup/{policy-CpLMTEad.mjs → policy-BxGXCr2q.mjs} +1 -1
- package/dist/.setup/{provider-1mRMBuV5.mjs → provider-DGNYrXQN.mjs} +8 -8
- package/dist/.setup/{registry-bbjH7IHX.mjs → registry-CIbMfuf8.mjs} +6 -2
- package/dist/.setup/{relay-source-DiUZ6ltP.mjs → relay-source-BgJo9sZ_.mjs} +1 -1
- package/dist/.setup/{replies-Cpng2F6w.mjs → replies-BRmyMlAE.mjs} +3 -3
- package/dist/.setup/{send-CBfhmYDj.mjs → send-DN8vdkyi.mjs} +1 -1
- package/dist/.setup/{send.runtime-BTyALMiN.mjs → send.runtime-CtIhzzZU.mjs} +1 -1
- package/dist/.setup/{slash-dispatch.runtime-D5WAai-5.mjs → slash-dispatch.runtime-CZZBmmE3.mjs} +1 -1
- package/dist/api.js +7 -7
- package/dist/channel-plugin-api.js +1 -1
- package/dist/http-routes-api.js +1 -1
- package/dist/index.js +1 -1
- package/dist/runtime-api.js +7 -7
- package/package.json +4 -4
- package/dist/.setup/action-runtime.runtime-DldZIYpL.mjs +0 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as parseSlackTarget, n as formatSlackTarget, o as resolveSlackChannelId } from "./target-parsing-PbxGDbr9.mjs";
|
|
2
2
|
import { t as slackContextTargetsMatch } from "./targets-BlQcnjPc.mjs";
|
|
3
|
-
import { At as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, jt as resolveSlackAutoThreadId, ot as parseSlackBlocksInput, t as buildSlackChannelIdCandidates, yt as getSlackInstallationKind } from "./group-policy-
|
|
4
|
-
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
3
|
+
import { At as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, jt as resolveSlackAutoThreadId, ot as parseSlackBlocksInput, t as buildSlackChannelIdCandidates, yt as getSlackInstallationKind } from "./group-policy-5epvX6Dt.mjs";
|
|
4
|
+
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-BxGXCr2q.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,9 +27,9 @@ 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-DV3J6OB-.mjs").then((n) => n.t));
|
|
31
31
|
const loadSlackAccountsRuntime = createLazyRuntimeModule(() => import("./accounts.runtime-BpWv-6-2.mjs"));
|
|
32
|
-
const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-
|
|
32
|
+
const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-CrwjkeJT.mjs").then((n) => n.t));
|
|
33
33
|
function createLazySlackAction(key) {
|
|
34
34
|
return (async (...args) => {
|
|
35
35
|
const action = (await loadSlackActionsRuntime())[key];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
|
|
2
2
|
import { a as resolveSlackAccount, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId } from "./accounts-C1FspRF-.mjs";
|
|
3
3
|
import { n as formatSlackTarget } from "./target-parsing-PbxGDbr9.mjs";
|
|
4
|
-
import { At as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, D as renderSlackBlockFallbackText, E as buildSlackCompleteBlocksFallbackText, I as countSlackTextUtf8Bytes, Q as normalizeSlackOutboundText, R as truncateSlackTextByUtf8Bytes, T as buildSlackBlocksFallbackText, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, et as escapeSlackMrkdwn, g as appendSlackNativeDataFallbackText, k as SLACK_EDIT_TEXT_MAX_BYTES, st as validateSlackBlocksArray, w as stripSlackNativeDataBlocks, x as isSlackInvalidBlocksError } from "./group-policy-
|
|
4
|
+
import { At as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, D as renderSlackBlockFallbackText, E as buildSlackCompleteBlocksFallbackText, I as countSlackTextUtf8Bytes, Q as normalizeSlackOutboundText, R as truncateSlackTextByUtf8Bytes, T as buildSlackBlocksFallbackText, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, et as escapeSlackMrkdwn, g as appendSlackNativeDataFallbackText, k as SLACK_EDIT_TEXT_MAX_BYTES, st as validateSlackBlocksArray, w as stripSlackNativeDataBlocks, x as isSlackInvalidBlocksError } from "./group-policy-5epvX6Dt.mjs";
|
|
5
5
|
import { m as getSlackWriteClient, s as createSlackLookupClient } from "./probe-DnWN6oBa.mjs";
|
|
6
|
-
import { m as buildSlackNativeDataDeliveryPlan, r as sendMessageSlack } from "./send-
|
|
6
|
+
import { m as buildSlackNativeDataDeliveryPlan, r as sendMessageSlack } from "./send-DN8vdkyi.mjs";
|
|
7
7
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
8
8
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { createSubsystemLogger, logVerbose, logVerbose as logVerbose$1 } from "openclaw/plugin-sdk/runtime-env";
|
package/dist/.setup/{approval-handler.runtime-Bj-Kl-Ak.mjs → approval-handler.runtime-rEYfeaG_.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as parseSlackTarget } from "./target-parsing-PbxGDbr9.mjs";
|
|
2
|
-
import { Dt as normalizeSlackApproverId, R as truncateSlackTextByUtf8Bytes, f as resolveSlackReplyBlocks, gt as shouldHandleSlackNativeApprovalRequest, k as SLACK_EDIT_TEXT_MAX_BYTES, lt as isSlackAnyNativeApprovalClientEnabled, tt as SLACK_APPROVAL_HEADER_BLOCK_ID } from "./group-policy-
|
|
3
|
-
import { r as sendMessageSlack } from "./send-
|
|
2
|
+
import { Dt as normalizeSlackApproverId, R as truncateSlackTextByUtf8Bytes, f as resolveSlackReplyBlocks, gt as shouldHandleSlackNativeApprovalRequest, k as SLACK_EDIT_TEXT_MAX_BYTES, lt as isSlackAnyNativeApprovalClientEnabled, tt as SLACK_APPROVAL_HEADER_BLOCK_ID } from "./group-policy-5epvX6Dt.mjs";
|
|
3
|
+
import { r as sendMessageSlack } from "./send-DN8vdkyi.mjs";
|
|
4
4
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
6
6
|
import { buildApprovalPresentationFromActionDescriptors } from "openclaw/plugin-sdk/approval-reply-runtime";
|
|
@@ -93,14 +93,15 @@ function buildSlackPluginRequestBlocks(view) {
|
|
|
93
93
|
function buildSlackApprovalPayload(input) {
|
|
94
94
|
const { phase, view } = input;
|
|
95
95
|
const isPlugin = view.approvalKind === "plugin";
|
|
96
|
-
const
|
|
96
|
+
const isSystemAgent = view.approvalKind === "system-agent";
|
|
97
|
+
const approvalName = isPlugin ? "Plugin" : isSystemAgent ? "OpenClaw change" : "Exec";
|
|
97
98
|
let heading;
|
|
98
99
|
let description;
|
|
99
100
|
if (phase === "pending") {
|
|
100
101
|
heading = `*${approvalName} approval required*`;
|
|
101
|
-
description = view.approvalKind === "plugin" ? resolveSlackPluginDescription(view) : "A command needs your approval.";
|
|
102
|
+
description = view.approvalKind === "plugin" ? resolveSlackPluginDescription(view) : isSystemAgent ? "An OpenClaw change needs your approval." : "A command needs your approval.";
|
|
102
103
|
} else if (phase === "resolved") {
|
|
103
|
-
heading = `*${approvalName} approval: ${resolveSlackApprovalDecisionLabel(view.decision)}*`;
|
|
104
|
+
heading = `*${approvalName} approval: ${isSystemAgent && view.terminalStatus === "cancelled" ? "Cancelled" : isSystemAgent && view.applicationStatus === "applied" ? "Applied" : isSystemAgent && view.applicationStatus === "not-applied" ? "Not applied" : resolveSlackApprovalDecisionLabel(view.decision)}*`;
|
|
104
105
|
const resolvedBy = formatSlackApprover(view.resolvedBy);
|
|
105
106
|
description = resolvedBy ? `Resolved by ${resolvedBy}.` : "Resolved.";
|
|
106
107
|
} else {
|
|
@@ -108,7 +109,7 @@ function buildSlackApprovalPayload(input) {
|
|
|
108
109
|
description = "This approval request expired before it was resolved.";
|
|
109
110
|
}
|
|
110
111
|
const metadata = isPlugin ? buildSlackPluginMetadata(view) : view.metadata;
|
|
111
|
-
const bodyLabel = isPlugin ? "*Request*" : "*Command*";
|
|
112
|
+
const bodyLabel = isPlugin ? "*Request*" : isSystemAgent ? "*Change*" : "*Command*";
|
|
112
113
|
const bodyText = isPlugin ? view.title : buildSlackCodeBlock(view.commandText);
|
|
113
114
|
const text = [
|
|
114
115
|
heading,
|
|
@@ -130,7 +131,7 @@ function buildSlackApprovalPayload(input) {
|
|
|
130
131
|
type: "section",
|
|
131
132
|
text: {
|
|
132
133
|
type: "mrkdwn",
|
|
133
|
-
text:
|
|
134
|
+
text: `${bodyLabel}\n${buildSlackCodeBlock(truncateSlackMrkdwn(view.commandText, 2600))}`
|
|
134
135
|
}
|
|
135
136
|
}, ...phase === "pending" ? buildSlackMetadataContextBlocks(view.metadata) : []]];
|
|
136
137
|
if (phase === "pending") blocks.push(...resolveSlackReplyBlocks({
|
|
@@ -155,7 +156,11 @@ async function updateMessage(params) {
|
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
const slackApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
158
|
-
eventKinds: [
|
|
159
|
+
eventKinds: [
|
|
160
|
+
"exec",
|
|
161
|
+
"plugin",
|
|
162
|
+
"system-agent"
|
|
163
|
+
],
|
|
159
164
|
availability: {
|
|
160
165
|
isConfigured: (params) => {
|
|
161
166
|
const resolved = resolveHandlerContext(params);
|
|
@@ -3,12 +3,12 @@ import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, l as resol
|
|
|
3
3
|
import { n as resolveSlackConversationBindingRoute, r as resolveSlackReplyToMode, t as normalizeSlackRouteBindingConfig } from "./conversation-binding-route-shed4O6L.mjs";
|
|
4
4
|
import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, n as formatSlackTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId, t as canonicalizeSlackApiTargetId } from "./target-parsing-PbxGDbr9.mjs";
|
|
5
5
|
import { t as slackContextTargetsMatch } from "./targets-BlQcnjPc.mjs";
|
|
6
|
-
import { $ as renderSlackMessagePresentationFallbackText, Ct as isSlackApprovalAuthorizedSender, Et as isSlackExecApprovalClientEnabled, F as canRenderSlackPresentation, I as countSlackTextUtf8Bytes, M as SLACK_TEXT_LIMIT, Ot as resolveSlackExecApprovalTarget, P as buildSlackPresentationBlocks, Q as normalizeSlackOutboundText, St as getSlackApprovalApproversForTeam, Tt as isSlackExecApprovalAuthorizedSender, _t as shouldHandleSlackPluginViaForwardingSession, a as qualifySlackConversationId, bt as isSlackWorkspaceInstallation, c as assertSlackDetachedTargetAllowed, ct as hasSlackPluginApprovers, d as resolveSlackReplyBlockResolution, dt as normalizeSlackOriginTarget, f as resolveSlackReplyBlocks, ft as resolveEnterpriseApprovalTeamId, gt as shouldHandleSlackNativeApprovalRequest, ht as resolveTurnSourceSlackOriginTarget, i as resolveSlackGroupToolPolicy, jt as resolveSlackAutoThreadId, k as SLACK_EDIT_TEXT_MAX_BYTES, kt as shouldSuppressLocalSlackExecApprovalPrompt, lt as isSlackAnyNativeApprovalClientEnabled, mt as resolveSlackFallbackOriginTarget, o as qualifySlackRoutePeerId, p as resolveSlackReplyDeliveryMessages, pt as resolveSessionSlackOriginTarget, r as resolveSlackGroupRequireMention, rt as SLACK_PRESENTATION_CAPABILITIES, ut as normalizeSlackForwardTarget, vt as slackTargetsMatch, wt as getSlackExecApprovalApprovers, yt as getSlackInstallationKind } from "./group-policy-
|
|
6
|
+
import { $ as renderSlackMessagePresentationFallbackText, Ct as isSlackApprovalAuthorizedSender, Et as isSlackExecApprovalClientEnabled, F as canRenderSlackPresentation, I as countSlackTextUtf8Bytes, M as SLACK_TEXT_LIMIT, Ot as resolveSlackExecApprovalTarget, P as buildSlackPresentationBlocks, Q as normalizeSlackOutboundText, St as getSlackApprovalApproversForTeam, Tt as isSlackExecApprovalAuthorizedSender, _t as shouldHandleSlackPluginViaForwardingSession, a as qualifySlackConversationId, bt as isSlackWorkspaceInstallation, c as assertSlackDetachedTargetAllowed, ct as hasSlackPluginApprovers, d as resolveSlackReplyBlockResolution, dt as normalizeSlackOriginTarget, f as resolveSlackReplyBlocks, ft as resolveEnterpriseApprovalTeamId, gt as shouldHandleSlackNativeApprovalRequest, ht as resolveTurnSourceSlackOriginTarget, i as resolveSlackGroupToolPolicy, jt as resolveSlackAutoThreadId, k as SLACK_EDIT_TEXT_MAX_BYTES, kt as shouldSuppressLocalSlackExecApprovalPrompt, lt as isSlackAnyNativeApprovalClientEnabled, mt as resolveSlackFallbackOriginTarget, o as qualifySlackRoutePeerId, p as resolveSlackReplyDeliveryMessages, pt as resolveSessionSlackOriginTarget, r as resolveSlackGroupRequireMention, rt as SLACK_PRESENTATION_CAPABILITIES, ut as normalizeSlackForwardTarget, vt as slackTargetsMatch, wt as getSlackExecApprovalApprovers, yt as getSlackInstallationKind } from "./group-policy-5epvX6Dt.mjs";
|
|
7
7
|
import { m as getSlackWriteClient, o as formatSlackError } from "./probe-DnWN6oBa.mjs";
|
|
8
8
|
import { n as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.mjs";
|
|
9
9
|
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-CBtuGn2d.mjs";
|
|
10
10
|
import { a as PAIRING_APPROVED_MESSAGE, i as DEFAULT_ACCOUNT_ID$1, n as slackConfigAdapter, o as projectCredentialSnapshotFields, r as slackSecurityAdapter, s as resolveConfiguredFromRequiredCredentialStatuses, t as createSlackPluginBase } from "./shared-DWQcLrb8.mjs";
|
|
11
|
-
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-
|
|
11
|
+
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-CrwjkeJT.mjs";
|
|
12
12
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
13
13
|
import { a as slackSetupContract, i as createSlackSetupWizardProxy, o as SLACK_CHANNEL } from "./channel.setup-CTV8N2nI.mjs";
|
|
14
14
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
@@ -126,7 +126,11 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
|
|
|
126
126
|
resolveApproverDmTargets: resolveSlackApproverDmTargets,
|
|
127
127
|
notifyOriginWhenDmOnly: true,
|
|
128
128
|
nativeRuntime: createLazyChannelApprovalNativeRuntimeAdapter({
|
|
129
|
-
eventKinds: [
|
|
129
|
+
eventKinds: [
|
|
130
|
+
"exec",
|
|
131
|
+
"plugin",
|
|
132
|
+
"system-agent"
|
|
133
|
+
],
|
|
130
134
|
isConfigured: ({ cfg, accountId }) => isSlackAnyNativeApprovalClientEnabled({
|
|
131
135
|
cfg,
|
|
132
136
|
accountId
|
|
@@ -137,7 +141,7 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
|
|
|
137
141
|
approvalKind,
|
|
138
142
|
request
|
|
139
143
|
}),
|
|
140
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
144
|
+
load: async () => (await import("./approval-handler.runtime-rEYfeaG_.mjs")).slackApprovalNativeRuntime
|
|
141
145
|
})
|
|
142
146
|
});
|
|
143
147
|
const baseSlackNativeAdapter = baseSlackApprovalCapability.native;
|
|
@@ -421,7 +425,7 @@ const SLACK_TOOL_DELIVERY_ACTIONS = /* @__PURE__ */ new Set([
|
|
|
421
425
|
"unpinMessage",
|
|
422
426
|
"uploadFile"
|
|
423
427
|
]);
|
|
424
|
-
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
428
|
+
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-Beq7Am11.mjs"));
|
|
425
429
|
function resolveSlackActionContext(ctx, toolContext) {
|
|
426
430
|
if (!toolContext && !ctx.mediaAccess && !ctx.mediaLocalRoots && !ctx.mediaReadFile && !ctx.conversationReadOrigin && !ctx.requesterAccountId && !ctx.requesterSenderId) return;
|
|
427
431
|
return {
|
|
@@ -565,7 +569,7 @@ const loadExtensionSharedSdk = createLazyRuntimeModule(() => import(EXTENSION_SH
|
|
|
565
569
|
const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import(TARGET_RESOLVER_RUNTIME_MODULE_ID));
|
|
566
570
|
const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-BcIT0kDT.mjs"));
|
|
567
571
|
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-Dcgl9Nme.mjs"));
|
|
568
|
-
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-
|
|
572
|
+
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-Ic_fTJof.mjs"));
|
|
569
573
|
async function resolveSlackHandleAction() {
|
|
570
574
|
return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
|
|
571
575
|
}
|
|
@@ -575,10 +579,10 @@ function shouldTreatSlackDeliveredTextAsVisible(params) {
|
|
|
575
579
|
const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-CW4ICy0y.mjs").then((n) => n.t));
|
|
576
580
|
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-Dpv7OyKO.mjs").then((n) => n.n));
|
|
577
581
|
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-DmyA3D_2.mjs").then((n) => n.n));
|
|
578
|
-
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
579
|
-
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send.runtime-
|
|
582
|
+
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-Beq7Am11.mjs"));
|
|
583
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send.runtime-CtIhzzZU.mjs"));
|
|
580
584
|
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-DnWN6oBa.mjs").then((n) => n.n));
|
|
581
|
-
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
585
|
+
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-BnckzNnh.mjs").then((n) => n.t));
|
|
582
586
|
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-C2hI1rq1.mjs").then((n) => n.t));
|
|
583
587
|
async function setSlackHeartbeatThreadStatus(params) {
|
|
584
588
|
const threadTs = resolveSlackThreadTsValue({ threadId: params.threadId });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
|
|
2
2
|
import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-C1FspRF-.mjs";
|
|
3
|
-
import { c as assertSlackDetachedTargetAllowed } from "./group-policy-
|
|
3
|
+
import { c as assertSlackDetachedTargetAllowed } from "./group-policy-5epvX6Dt.mjs";
|
|
4
4
|
import { C as normalizeAllowListLower, c as createSlackReadClient, d as createSlackWebClient } from "./probe-DnWN6oBa.mjs";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
@@ -493,7 +493,7 @@ function decodeSlackApprovalAction(value) {
|
|
|
493
493
|
const decoded = JSON.parse(value.slice(21));
|
|
494
494
|
if (!decoded || typeof decoded !== "object" || Array.isArray(decoded)) return null;
|
|
495
495
|
const record = decoded;
|
|
496
|
-
if (Object.keys(record).length !== 3 || typeof record.approvalId !== "string" || record.approvalId.length === 0 || record.approvalKind !== "exec" && record.approvalKind !== "plugin" || !isApprovalDecision(record.decision)) return null;
|
|
496
|
+
if (Object.keys(record).length !== 3 || typeof record.approvalId !== "string" || record.approvalId.length === 0 || record.approvalKind !== "exec" && record.approvalKind !== "plugin" && record.approvalKind !== "system-agent" || !isApprovalDecision(record.decision)) return null;
|
|
497
497
|
return {
|
|
498
498
|
type: "approval",
|
|
499
499
|
approvalId: record.approvalId,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
|
|
2
|
-
import { T as buildSlackSlashCommandMatcher, t as monitorSlackProvider } from "./provider-
|
|
3
|
-
import { t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
4
|
-
import { o as resolveSlackThreadTs } from "./replies-
|
|
2
|
+
import { T as buildSlackSlashCommandMatcher, t as monitorSlackProvider } from "./provider-DGNYrXQN.mjs";
|
|
3
|
+
import { t as isSlackChannelAllowedByPolicy } from "./policy-BxGXCr2q.mjs";
|
|
4
|
+
import { o as resolveSlackThreadTs } from "./replies-BRmyMlAE.mjs";
|
|
5
5
|
//#region extensions/slack/src/monitor.ts
|
|
6
6
|
var monitor_exports = /* @__PURE__ */ __exportAll({
|
|
7
7
|
buildSlackSlashCommandMatcher: () => buildSlackSlashCommandMatcher,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-C1FspRF-.mjs";
|
|
2
2
|
import { a as parseSlackTarget } from "./target-parsing-PbxGDbr9.mjs";
|
|
3
|
-
import { M as SLACK_TEXT_LIMIT, O as resolveSlackAuthoredTextPlacement, c as assertSlackDetachedTargetAllowed, d as resolveSlackReplyBlockResolution, et as escapeSlackMrkdwn, p as resolveSlackReplyDeliveryMessages, q as resolveSlackQuestionActionIds, rt as SLACK_PRESENTATION_CAPABILITIES, u as parseSlackReplyBlockSegments, z as SLACK_QUESTION_FINALIZATION_BLOCKS } from "./group-policy-
|
|
3
|
+
import { M as SLACK_TEXT_LIMIT, O as resolveSlackAuthoredTextPlacement, c as assertSlackDetachedTargetAllowed, d as resolveSlackReplyBlockResolution, et as escapeSlackMrkdwn, p as resolveSlackReplyDeliveryMessages, q as resolveSlackQuestionActionIds, rt as SLACK_PRESENTATION_CAPABILITIES, u as parseSlackReplyBlockSegments, z as SLACK_QUESTION_FINALIZATION_BLOCKS } from "./group-policy-5epvX6Dt.mjs";
|
|
4
4
|
import { n as resolveSlackThreadTsValue } from "./thread-ts-DUGhaYKq.mjs";
|
|
5
5
|
import { t as mergeSlackSendResults } from "./send-results-eeOu_HYm.mjs";
|
|
6
6
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -51,7 +51,7 @@ function readSlackRenderedPresentation(slackData) {
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send.runtime-
|
|
54
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send.runtime-CtIhzzZU.mjs"));
|
|
55
55
|
function resolveSlackSendIdentity(identity) {
|
|
56
56
|
if (!identity) return;
|
|
57
57
|
const username = normalizeOptionalString(identity.name);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { n as resolveSlackConversationBindingRoute, r as resolveSlackReplyToMode, t as normalizeSlackRouteBindingConfig } from "./conversation-binding-route-shed4O6L.mjs";
|
|
2
2
|
import { n as formatSlackTarget } from "./target-parsing-PbxGDbr9.mjs";
|
|
3
|
-
import { I as countSlackTextUtf8Bytes, L as truncateSlackText, M as SLACK_TEXT_LIMIT, Q as normalizeSlackOutboundText, R as truncateSlackTextByUtf8Bytes, T as buildSlackBlocksFallbackText, U as SLACK_SESSION_LINK_ACTION_ID, a as qualifySlackConversationId, b as hasSlackNativeDataBlock, et as escapeSlackMrkdwn, k as SLACK_EDIT_TEXT_MAX_BYTES, m as resolveSlackReplyRenderPlan, o as qualifySlackRoutePeerId, s as resolveSlackEnterpriseMainDmSessionKey } from "./group-policy-
|
|
3
|
+
import { I as countSlackTextUtf8Bytes, L as truncateSlackText, M as SLACK_TEXT_LIMIT, Q as normalizeSlackOutboundText, R as truncateSlackTextByUtf8Bytes, T as buildSlackBlocksFallbackText, U as SLACK_SESSION_LINK_ACTION_ID, a as qualifySlackConversationId, b as hasSlackNativeDataBlock, et as escapeSlackMrkdwn, k as SLACK_EDIT_TEXT_MAX_BYTES, m as resolveSlackReplyRenderPlan, o as qualifySlackRoutePeerId, s as resolveSlackEnterpriseMainDmSessionKey } from "./group-policy-5epvX6Dt.mjs";
|
|
4
4
|
import { C as normalizeAllowListLower, E as resolveSlackAllowListMatch, o as formatSlackError, w as normalizeSlackAllowOwnerEntry } from "./probe-DnWN6oBa.mjs";
|
|
5
5
|
import { n as resolveSlackStreamingMode, t as resolveSlackNativeStreaming } from "./streaming-compat-B-e0mqM0.mjs";
|
|
6
|
-
import { D as resolveSlackMessageText$1, E as resolveSlackBlocksText, O as buildSlackEditTextPayload, S as formatSlackFileReferenceList, T as isSlackUnfurlAttachment, a as editSlackRenderedMessage, d as reactSlackMessage, i as editSlackMessage, m as removeSlackReaction, n as deleteSlackMessage, v as logVerbose$1, w as hasSlackTableBlock, x as formatSlackFileReference } from "./actions-
|
|
7
|
-
import { c as hasSlackThreadFailureNotice, d as recordSlackThreadFailureNotice, f as recordSlackThreadParticipation, l as hasSlackThreadParticipation, m as buildSlackNativeDataDeliveryPlan, o as clearSlackThreadFailureNotice, r as sendMessageSlack, u as hasSlackThreadParticipationWithPersistence } from "./send-
|
|
8
|
-
import { C as resolveStorePath, E as stripSlackMentionsForCommandDetection, S as resolveChannelResetConfig, _ as resolveSlackChatType, b as readSessionUpdatedAt, c as resolveSlackThreadTargets, d as authorizeSlackBotRoomMessage, f as resolveSlackCommandIngress, g as normalizeSlackChannelType, l as trackSlackDraftMessage, o as authorizeSlackDirectMessage, p as resolveSlackEffectiveAllowFrom, r as resolveSlackRoomContextHints, s as resolveSlackThreadContext, u as resolveConversationLabel$1, v as buildSlackAssistantThreadMetadata, w as updateLastRoute, x as resolveChannelContextVisibilityMode, y as parseSlackAssistantThreadMetadata } from "./provider-
|
|
9
|
-
import { n as resolveSlackChannelConfig } from "./policy-
|
|
10
|
-
import { a as resolveDeliveredSlackReplyThreadTs, c as emitSlackMessageSentHooks, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, s as sanitizeSlackMonitorReplyPayload, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
6
|
+
import { D as resolveSlackMessageText$1, E as resolveSlackBlocksText, O as buildSlackEditTextPayload, S as formatSlackFileReferenceList, T as isSlackUnfurlAttachment, a as editSlackRenderedMessage, d as reactSlackMessage, i as editSlackMessage, m as removeSlackReaction, n as deleteSlackMessage, v as logVerbose$1, w as hasSlackTableBlock, x as formatSlackFileReference } from "./actions-DV3J6OB-.mjs";
|
|
7
|
+
import { c as hasSlackThreadFailureNotice, d as recordSlackThreadFailureNotice, f as recordSlackThreadParticipation, l as hasSlackThreadParticipation, m as buildSlackNativeDataDeliveryPlan, o as clearSlackThreadFailureNotice, r as sendMessageSlack, u as hasSlackThreadParticipationWithPersistence } from "./send-DN8vdkyi.mjs";
|
|
8
|
+
import { C as resolveStorePath, E as stripSlackMentionsForCommandDetection, S as resolveChannelResetConfig, _ as resolveSlackChatType, b as readSessionUpdatedAt, c as resolveSlackThreadTargets, d as authorizeSlackBotRoomMessage, f as resolveSlackCommandIngress, g as normalizeSlackChannelType, l as trackSlackDraftMessage, o as authorizeSlackDirectMessage, p as resolveSlackEffectiveAllowFrom, r as resolveSlackRoomContextHints, s as resolveSlackThreadContext, u as resolveConversationLabel$1, v as buildSlackAssistantThreadMetadata, w as updateLastRoute, x as resolveChannelContextVisibilityMode, y as parseSlackAssistantThreadMetadata } from "./provider-DGNYrXQN.mjs";
|
|
9
|
+
import { n as resolveSlackChannelConfig } from "./policy-BxGXCr2q.mjs";
|
|
10
|
+
import { a as resolveDeliveredSlackReplyThreadTs, c as emitSlackMessageSentHooks, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, s as sanitizeSlackMonitorReplyPayload, t as createSlackReplyDeliveryPlan } from "./replies-BRmyMlAE.mjs";
|
|
11
11
|
import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
12
12
|
import { resolveAgentRoute, resolveInboundLastRouteSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
13
13
|
import { createChannelMessageReplyPipeline, createChannelProgressDraftCompositor, createDraftStreamLoop, createFinalizableDraftStreamControlsForState, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, resolveAgentOutboundIdentity, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelProgressDraftConfig, resolveChannelProgressDraftMaxLineChars, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-outbound";
|
|
@@ -2807,7 +2807,7 @@ const SLACK_MENTION_RESOLUTION_CONCURRENCY = 4;
|
|
|
2807
2807
|
const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
|
|
2808
2808
|
const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
|
|
2809
2809
|
const MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS = 2e3;
|
|
2810
|
-
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-
|
|
2810
|
+
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-DV3J6OB-.mjs").then((n) => n._));
|
|
2811
2811
|
function formatSlackUnavailableMedia(params) {
|
|
2812
2812
|
let fileReferences = params.files?.map((file) => `${formatSlackFileReference(file)} unavailable (${file.reason})`).join(", ");
|
|
2813
2813
|
if (fileReferences && fileReferences.length > MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS) fileReferences = `${truncateUtf16Safe(fileReferences, MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS)}; … (file references truncated)`;
|
|
@@ -3153,7 +3153,7 @@ function formatSlackThreadLabelSnippet(text) {
|
|
|
3153
3153
|
}
|
|
3154
3154
|
//#endregion
|
|
3155
3155
|
//#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
|
|
3156
|
-
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-
|
|
3156
|
+
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-DV3J6OB-.mjs").then((n) => n._));
|
|
3157
3157
|
const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
|
|
3158
3158
|
function resolveSlackThreadSessionFreshness(params) {
|
|
3159
3159
|
return params.ctx.channelRuntime?.session?.resolveEntryResetFreshness?.({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./registry-
|
|
1
|
+
import { r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./registry-CIbMfuf8.mjs";
|
|
2
2
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
3
3
|
//#region extensions/slack/src/http/plugin-routes.ts
|
|
4
4
|
function resolveSlackWebhookPaths(config) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as buildSlackChannelPolicyScope, t as buildSlackChannelIdCandidates } from "./group-policy-
|
|
1
|
+
import { n as buildSlackChannelPolicyScope, t as buildSlackChannelIdCandidates } from "./group-policy-5epvX6Dt.mjs";
|
|
2
2
|
import { D as resolveSlackUserAllowListForTeam, T as normalizeSlackSlug } from "./probe-DnWN6oBa.mjs";
|
|
3
3
|
import { applyChannelMatchMeta, buildChannelKeyCandidates } from "openclaw/plugin-sdk/channel-targets";
|
|
4
4
|
import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-
|
|
1
|
+
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-CIbMfuf8.mjs";
|
|
2
2
|
import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as formatSlackBotTokenIdentityWarning } from "./accounts-C1FspRF-.mjs";
|
|
3
3
|
import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-PbxGDbr9.mjs";
|
|
4
|
-
import { Ct as isSlackApprovalAuthorizedSender, G as isSlackCallbackActionId, J as decodeSlackQuestionAction, K as isSlackQuestionActionId, L as truncateSlackText, M as SLACK_TEXT_LIMIT, Tt as isSlackExecApprovalAuthorizedSender, W as isSlackApprovalActionId, Y as resolveSlackQuestionAction, a as qualifySlackConversationId, et as escapeSlackMrkdwn, lt as isSlackAnyNativeApprovalClientEnabled, nt as decodeSlackApprovalAction, o as qualifySlackRoutePeerId, s as resolveSlackEnterpriseMainDmSessionKey, t as buildSlackChannelIdCandidates, xt as registerSlackInstallationState } from "./group-policy-
|
|
4
|
+
import { Ct as isSlackApprovalAuthorizedSender, G as isSlackCallbackActionId, J as decodeSlackQuestionAction, K as isSlackQuestionActionId, L as truncateSlackText, M as SLACK_TEXT_LIMIT, Tt as isSlackExecApprovalAuthorizedSender, W as isSlackApprovalActionId, Y as resolveSlackQuestionAction, a as qualifySlackConversationId, et as escapeSlackMrkdwn, lt as isSlackAnyNativeApprovalClientEnabled, nt as decodeSlackApprovalAction, o as qualifySlackRoutePeerId, s as resolveSlackEnterpriseMainDmSessionKey, t as buildSlackChannelIdCandidates, xt as registerSlackInstallationState } from "./group-policy-5epvX6Dt.mjs";
|
|
5
5
|
import { C as normalizeAllowListLower, D as resolveSlackUserAllowListForTeam, E as resolveSlackAllowListMatch, S as normalizeAllowList, T as normalizeSlackSlug, _ as resolveSlackLookupClientOptions, a as slackIngressIdentity, d as createSlackWebClient, i as createSlackIngressSubject, l as createSlackStartupAuthClient, o as formatSlackError, p as getSlackListenerUploadCompletionClient, v as resolveSlackProxyDispatcher, w as normalizeSlackAllowOwnerEntry, x as allowListMatches, y as resolveSlackWebClientOptions } from "./probe-DnWN6oBa.mjs";
|
|
6
6
|
import { n as getSlackRuntime, t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
7
|
-
import { C as hasSlackMessageTableBlock, b as saveRemoteMedia, f as readSlackMessages, y as isGovSlackClient } from "./actions-
|
|
8
|
-
import { i as setSlackDefaultSendIdentity, p as requireSlackPostMessageTimestamp } from "./send-
|
|
7
|
+
import { C as hasSlackMessageTableBlock, b as saveRemoteMedia, f as readSlackMessages, y as isGovSlackClient } from "./actions-DV3J6OB-.mjs";
|
|
8
|
+
import { i as setSlackDefaultSendIdentity, p as requireSlackPostMessageTimestamp } from "./send-DN8vdkyi.mjs";
|
|
9
9
|
import { t as collectSlackCursorPages } from "./cursor-pages-eX7p8Wwt.mjs";
|
|
10
10
|
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-Dpv7OyKO.mjs";
|
|
11
11
|
import { t as resolveSlackUserAllowlist } from "./resolve-users-DmyA3D_2.mjs";
|
|
12
|
-
import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
12
|
+
import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-BxGXCr2q.mjs";
|
|
13
13
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
14
14
|
import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
15
15
|
import { asNonArrayRecord, asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries, normalizeUniqueTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -4283,7 +4283,7 @@ function buildSlackDebounceKey(message, accountId, teamId) {
|
|
|
4283
4283
|
}
|
|
4284
4284
|
//#endregion
|
|
4285
4285
|
//#region extensions/slack/src/monitor/message-handler.ts
|
|
4286
|
-
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-
|
|
4286
|
+
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-D4MRWgXI.mjs"));
|
|
4287
4287
|
const RETRYABLE_FLUSH_MAX_ATTEMPTS = 3;
|
|
4288
4288
|
const RETRYABLE_FLUSH_RETRY_DELAY_MS = 1e3;
|
|
4289
4289
|
const REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE = /reply session initialization conflicted for \S+/u;
|
|
@@ -5256,7 +5256,7 @@ const SLACK_COMMAND_ARG_CONFIRM_TEXT_MAX = 300;
|
|
|
5256
5256
|
const SLACK_HEADER_TEXT_MAX = 150;
|
|
5257
5257
|
const SLACK_COMMAND_ARG_ACTION_BLOCKS_MAX = 47;
|
|
5258
5258
|
const loadSlashCommandsRuntime = createLazyRuntimeModule(() => import("./slash-commands.runtime-BTTMlmwy.mjs"));
|
|
5259
|
-
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-
|
|
5259
|
+
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-CZZBmmE3.mjs"));
|
|
5260
5260
|
const loadSlashSkillCommandsRuntime = createLazyRuntimeModule(() => import("./slash-skill-commands.runtime-CD1J2ODY.mjs"));
|
|
5261
5261
|
const loadPluginCommandRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/plugin-command-runtime"));
|
|
5262
5262
|
function resolveSlackCommandMenuModelContext(params) {
|
|
@@ -6155,7 +6155,7 @@ async function getSlackBoltInterop() {
|
|
|
6155
6155
|
}
|
|
6156
6156
|
return slackBoltInterop;
|
|
6157
6157
|
}
|
|
6158
|
-
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-
|
|
6158
|
+
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-BgJo9sZ_.mjs"));
|
|
6159
6159
|
const SLACK_WEBHOOK_MAX_BODY_BYTES = 1048576;
|
|
6160
6160
|
const SLACK_WEBHOOK_BODY_TIMEOUT_MS = 3e4;
|
|
6161
6161
|
function resolveSlackRuntimeIdentity(params) {
|
|
@@ -23,9 +23,13 @@ function registerSlackHttpHandler(params) {
|
|
|
23
23
|
params.log?.(`slack: webhook path ${normalizedPath} already registered${suffix}`);
|
|
24
24
|
return () => {};
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
const handler = params.handler;
|
|
27
|
+
routes.set(normalizedPath, handler);
|
|
28
|
+
let registered = true;
|
|
27
29
|
return () => {
|
|
28
|
-
|
|
30
|
+
if (!registered) return;
|
|
31
|
+
registered = false;
|
|
32
|
+
if (routes.get(normalizedPath) === handler) routes.delete(normalizedPath);
|
|
29
33
|
};
|
|
30
34
|
}
|
|
31
35
|
async function handleSlackHttpRequest(req, res) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as formatUnknownError, m as SLACK_SOCKET_RECONNECT_POLICY } from "./provider-
|
|
1
|
+
import { h as formatUnknownError, m as SLACK_SOCKET_RECONNECT_POLICY } from "./provider-DGNYrXQN.mjs";
|
|
2
2
|
import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { computeBackoff, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
|
|
4
4
|
import { isIP } from "node:net";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as isSlackNativeResponseUrlRejection, M as SLACK_TEXT_LIMIT, S as isSlackInvalidBlocksResponse, T as buildSlackBlocksFallbackText, Z as markdownToSlackMrkdwnChunks, b as hasSlackNativeDataBlock, d as resolveSlackReplyBlockResolution, f as resolveSlackReplyBlocks, l as hasSlackReplyStructuredContent, v as buildSlackNativeDataAccessibilityText } from "./group-policy-
|
|
2
|
-
import { h as chunkSlackTextAtHardLimit, m as buildSlackNativeDataDeliveryPlan, r as sendMessageSlack } from "./send-
|
|
3
|
-
import { a as createSlackResponseUrlBudget, i as SlackResponseAlreadyReportedError } from "./provider-
|
|
1
|
+
import { C as isSlackNativeResponseUrlRejection, M as SLACK_TEXT_LIMIT, S as isSlackInvalidBlocksResponse, T as buildSlackBlocksFallbackText, Z as markdownToSlackMrkdwnChunks, b as hasSlackNativeDataBlock, d as resolveSlackReplyBlockResolution, f as resolveSlackReplyBlocks, l as hasSlackReplyStructuredContent, v as buildSlackNativeDataAccessibilityText } from "./group-policy-5epvX6Dt.mjs";
|
|
2
|
+
import { h as chunkSlackTextAtHardLimit, m as buildSlackNativeDataDeliveryPlan, r as sendMessageSlack } from "./send-DN8vdkyi.mjs";
|
|
3
|
+
import { a as createSlackResponseUrlBudget, i as SlackResponseAlreadyReportedError } from "./provider-DGNYrXQN.mjs";
|
|
4
4
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
5
5
|
import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
6
6
|
import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-C1FspRF-.mjs";
|
|
2
2
|
import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-PbxGDbr9.mjs";
|
|
3
|
-
import { A as SLACK_MESSAGE_TEXT_HARD_LIMIT, D as renderSlackBlockFallbackText, E as buildSlackCompleteBlocksFallbackText, L as truncateSlackText, M as SLACK_TEXT_LIMIT, R as truncateSlackTextByUtf8Bytes, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, j as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, k as SLACK_EDIT_TEXT_MAX_BYTES, q as resolveSlackQuestionActionIds, st as validateSlackBlocksArray, v as buildSlackNativeDataAccessibilityText, w as stripSlackNativeDataBlocks, x as isSlackInvalidBlocksError, y as createSlackNativeDataBaseTextConsumer, z as SLACK_QUESTION_FINALIZATION_BLOCKS } from "./group-policy-
|
|
3
|
+
import { A as SLACK_MESSAGE_TEXT_HARD_LIMIT, D as renderSlackBlockFallbackText, E as buildSlackCompleteBlocksFallbackText, L as truncateSlackText, M as SLACK_TEXT_LIMIT, R as truncateSlackTextByUtf8Bytes, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, j as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, k as SLACK_EDIT_TEXT_MAX_BYTES, q as resolveSlackQuestionActionIds, st as validateSlackBlocksArray, v as buildSlackNativeDataAccessibilityText, w as stripSlackNativeDataBlocks, x as isSlackInvalidBlocksError, y as createSlackNativeDataBaseTextConsumer, z as SLACK_QUESTION_FINALIZATION_BLOCKS } from "./group-policy-5epvX6Dt.mjs";
|
|
4
4
|
import { c as createSlackReadClient, m as getSlackWriteClient, o as formatSlackError, u as createSlackTokenCacheKey } from "./probe-DnWN6oBa.mjs";
|
|
5
5
|
import { n as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.mjs";
|
|
6
6
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as updateMessageSlack, n as resolveSlackDmChannelId, r as sendMessageSlack, t as reconcileSlackUnknownSend } from "./send-
|
|
1
|
+
import { a as updateMessageSlack, n as resolveSlackDmChannelId, r as sendMessageSlack, t as reconcileSlackUnknownSend } from "./send-DN8vdkyi.mjs";
|
|
2
2
|
export { reconcileSlackUnknownSend, resolveSlackDmChannelId, sendMessageSlack, updateMessageSlack };
|
package/dist/.setup/{slash-dispatch.runtime-D5WAai-5.mjs → slash-dispatch.runtime-CZZBmmE3.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as deliverSlackSlashReplies$1, s as sanitizeSlackMonitorReplyPayload } from "./replies-
|
|
1
|
+
import { r as deliverSlackSlashReplies$1, s as sanitizeSlackMonitorReplyPayload } from "./replies-BRmyMlAE.mjs";
|
|
2
2
|
import { resolveAgentRoute as resolveAgentRoute$1 } from "openclaw/plugin-sdk/routing";
|
|
3
3
|
import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
4
4
|
import { resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
|
package/dist/api.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./.setup/registry-
|
|
1
|
+
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./.setup/registry-CIbMfuf8.mjs";
|
|
2
2
|
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, r as mergeSlackAccountConfig, t as listEnabledSlackAccounts } from "./.setup/accounts-C1FspRF-.mjs";
|
|
3
3
|
import { r as resolveSlackReplyToMode } from "./.setup/conversation-binding-route-shed4O6L.mjs";
|
|
4
4
|
import { t as inspectSlackAccount } from "./.setup/account-inspect-B86OaUEt.mjs";
|
|
5
5
|
import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId } from "./.setup/target-parsing-PbxGDbr9.mjs";
|
|
6
6
|
import "./.setup/targets-BlQcnjPc.mjs";
|
|
7
|
-
import { N as buildSlackInteractiveBlocks, P as buildSlackPresentationBlocks, at as SLACK_MAX_BLOCKS, i as resolveSlackGroupToolPolicy, jt as resolveSlackAutoThreadId, ot as parseSlackBlocksInput, r as resolveSlackGroupRequireMention, st as validateSlackBlocksArray } from "./.setup/group-policy-
|
|
7
|
+
import { N as buildSlackInteractiveBlocks, P as buildSlackPresentationBlocks, at as SLACK_MAX_BLOCKS, i as resolveSlackGroupToolPolicy, jt as resolveSlackAutoThreadId, ot as parseSlackBlocksInput, r as resolveSlackGroupRequireMention, st as validateSlackBlocksArray } from "./.setup/group-policy-5epvX6Dt.mjs";
|
|
8
8
|
import { C as normalizeAllowListLower, E as resolveSlackAllowListMatch, O as resolveSlackUserAllowed, S as normalizeAllowList, T as normalizeSlackSlug, b as resolveSlackWriteClientOptions, d as createSlackWebClient, f as createSlackWriteClient, g as SLACK_WRITE_RETRY_OPTIONS, h as SLACK_DEFAULT_RETRY_OPTIONS, m as getSlackWriteClient, t as probeSlack, u as createSlackTokenCacheKey, w as normalizeSlackAllowOwnerEntry, x as allowListMatches, y as resolveSlackWebClientOptions } from "./.setup/probe-DnWN6oBa.mjs";
|
|
9
|
-
import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-
|
|
9
|
+
import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-Bpv8aTo8.mjs";
|
|
10
10
|
import { n as extractSlackToolSend, r as listSlackMessageActions } from "./.setup/message-tool-api-CBtuGn2d.mjs";
|
|
11
|
-
import { n as resolveSlackChannelType } from "./.setup/channel-type-
|
|
11
|
+
import { n as resolveSlackChannelType } from "./.setup/channel-type-CrwjkeJT.mjs";
|
|
12
12
|
import { t as slackSetupPlugin } from "./.setup/channel.setup-CTV8N2nI.mjs";
|
|
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-
|
|
14
|
-
import { f as recordSlackThreadParticipation, l as hasSlackThreadParticipation, s as clearSlackThreadParticipationCache } from "./.setup/send-
|
|
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-DV3J6OB-.mjs";
|
|
14
|
+
import { f as recordSlackThreadParticipation, l as hasSlackThreadParticipation, s as clearSlackThreadParticipationCache } from "./.setup/send-DN8vdkyi.mjs";
|
|
15
15
|
import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-CW4ICy0y.mjs";
|
|
16
16
|
import { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-tCbGyCfU.mjs";
|
|
17
|
-
import { n as resolveSlackRuntimeGroupPolicy } from "./.setup/provider-
|
|
17
|
+
import { n as resolveSlackRuntimeGroupPolicy } from "./.setup/provider-DGNYrXQN.mjs";
|
|
18
18
|
export { SLACK_DEFAULT_RETRY_OPTIONS, SLACK_MAX_BLOCKS, SLACK_WRITE_RETRY_OPTIONS, allowListMatches, buildSlackInteractiveBlocks, buildSlackPresentationBlocks, buildSlackThreadingToolContext, clearSlackThreadParticipationCache, collectSlackSecurityAuditFindings, createSlackTokenCacheKey, createSlackWebClient, createSlackWriteClient, deleteSlackMessage, downloadSlackFile, editSlackMessage, extractSlackToolSend, getSlackMemberInfo, getSlackWriteClient, handleSlackHttpRequest, hasSlackThreadParticipation, inspectSlackAccount, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, listSlackEmojis, listSlackMessageActions, listSlackPins, listSlackReactions, looksLikeSlackTargetId, mergeSlackAccountConfig, normalizeAllowList, normalizeAllowListLower, normalizeSlackAllowOwnerEntry, normalizeSlackMessagingTarget, normalizeSlackSlug, normalizeSlackWebhookPath, parseSlackBlocksInput, parseSlackTarget, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, recordSlackThreadParticipation, registerSlackHttpHandler, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAllowListMatch, resolveSlackAutoThreadId, resolveSlackChannelId, resolveSlackChannelType, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackReplyToMode, resolveSlackRuntimeGroupPolicy, resolveSlackUserAllowed, resolveSlackWebClientOptions, resolveSlackWriteClientOptions, sendSlackMessage, slackPlugin, slackSetupPlugin, unpinSlackMessage, validateSlackBlocksArray };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as slackPlugin } from "./.setup/channel-
|
|
1
|
+
import { t as slackPlugin } from "./.setup/channel-Bpv8aTo8.mjs";
|
|
2
2
|
export { slackPlugin };
|
package/dist/http-routes-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-
|
|
1
|
+
import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-B8tooDLj.mjs";
|
|
2
2
|
export { registerSlackPluginHttpRoutes };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-
|
|
1
|
+
import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-B8tooDLj.mjs";
|
|
2
2
|
import "./http-routes-api.js";
|
|
3
3
|
import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
|
|
4
4
|
//#region extensions/slack/index.ts
|
package/dist/runtime-api.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-
|
|
1
|
+
import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-B8tooDLj.mjs";
|
|
2
2
|
import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./.setup/accounts-C1FspRF-.mjs";
|
|
3
|
-
import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./.setup/group-policy-
|
|
3
|
+
import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./.setup/group-policy-5epvX6Dt.mjs";
|
|
4
4
|
import { t as probeSlack } from "./.setup/probe-DnWN6oBa.mjs";
|
|
5
5
|
import { r as setSlackRuntime } from "./.setup/runtime-JSVZSWAj.mjs";
|
|
6
|
-
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, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-
|
|
7
|
-
import { r as sendMessageSlack } from "./.setup/send-
|
|
6
|
+
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, s as listSlackEmojis, u as pinSlackMessage } from "./.setup/actions-DV3J6OB-.mjs";
|
|
7
|
+
import { r as sendMessageSlack } from "./.setup/send-DN8vdkyi.mjs";
|
|
8
8
|
import { t as resolveSlackChannelAllowlist } from "./.setup/resolve-channels-Dpv7OyKO.mjs";
|
|
9
9
|
import { t as resolveSlackUserAllowlist } from "./.setup/resolve-users-DmyA3D_2.mjs";
|
|
10
|
-
import { t as monitorSlackProvider } from "./.setup/provider-
|
|
11
|
-
import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-
|
|
10
|
+
import { t as monitorSlackProvider } from "./.setup/provider-DGNYrXQN.mjs";
|
|
11
|
+
import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-Ddpb2CZS.mjs";
|
|
12
12
|
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./.setup/directory-live-C2hI1rq1.mjs";
|
|
13
|
-
import "./.setup/monitor-
|
|
13
|
+
import "./.setup/monitor-BnckzNnh.mjs";
|
|
14
14
|
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 };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/slack",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.35",
|
|
4
4
|
"description": "OpenClaw Slack channel plugin for channels, DMs, commands, and app events.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"zod": "4.4.3"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"openclaw": ">=2026.8.
|
|
22
|
+
"openclaw": ">=2026.8.35"
|
|
23
23
|
},
|
|
24
24
|
"peerDependenciesMeta": {
|
|
25
25
|
"openclaw": {
|
|
@@ -151,10 +151,10 @@
|
|
|
151
151
|
"allowInvalidConfigRecovery": true
|
|
152
152
|
},
|
|
153
153
|
"compat": {
|
|
154
|
-
"pluginApi": ">=2026.8.
|
|
154
|
+
"pluginApi": ">=2026.8.35"
|
|
155
155
|
},
|
|
156
156
|
"build": {
|
|
157
|
-
"openclawVersion": "2026.8.
|
|
157
|
+
"openclawVersion": "2026.8.35",
|
|
158
158
|
"bundledDist": false
|
|
159
159
|
},
|
|
160
160
|
"release": {
|