@openclaw/slack 2026.5.16-beta.4 → 2026.5.16-beta.5
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/account-inspect-api.js +1 -1
- package/dist/{account-inspect-BJyQLSkN.js → account-inspect-uMPQ6wIu.js} +1 -1
- package/dist/{accounts-yk5K3wQU.js → accounts-Cbw3i3Sa.js} +7 -2
- package/dist/accounts.runtime-z3fshUeC.js +2 -0
- package/dist/{action-runtime-0RLkDKyA.js → action-runtime-DgzkekLM.js} +3 -3
- package/dist/action-runtime.runtime-CGEyxfMu.js +2 -0
- package/dist/{actions-Chs6DbrP.js → actions-vFq9T_Kd.js} +3 -3
- package/dist/{actions.runtime-BsbIDsmT.js → actions.runtime-3XZA8-ot.js} +1 -1
- package/dist/api.js +14 -14
- package/dist/{approval-handler.runtime-BmCbRrbT.js → approval-handler.runtime-C_hfvcRd.js} +4 -4
- package/dist/{blocks-render-BAVfd6r0.js → blocks-render-ziYgM0qF.js} +74 -3
- package/dist/{channel-DUS8ZO45.js → channel-D9Wzqu3W.js} +21 -21
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.setup-qGOC05UK.js → channel.setup-C2_IZ9It.js} +4 -4
- package/dist/{client-C_IaJbi5.js → client-Dr7pteMR.js} +4 -2
- package/dist/{config-schema-CNRousxw.js → config-schema-C8tW0Db0.js} +4 -0
- package/dist/contract-api.js +1 -1
- package/dist/{directory-config-CMvFiswf.js → directory-config-qDXRTCcs.js} +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/{directory-live-CZPzpQZF.js → directory-live-BnN4Zawp.js} +2 -2
- package/dist/http-routes-api.js +1 -1
- package/dist/inbound-contract-test-api.js +1 -1
- package/dist/{interactive-replies-BSg5hXhj.js → interactive-replies-B1wwXeVn.js} +10 -1
- package/dist/interactive-replies-api.js +1 -1
- package/dist/{message-tool-api-C7gc7goF.js → message-tool-api-DRSTJhP8.js} +2 -2
- package/dist/message-tool-api.js +1 -1
- package/dist/{monitor-BhEzWuv0.js → monitor-beou_Rl6.js} +2 -2
- package/dist/{outbound-adapter-BoDXPksS.js → outbound-adapter-Dcy9jZv1.js} +26 -6
- package/dist/outbound-payload-test-api.js +1 -1
- package/dist/{outbound-payload.test-harness-C7Izm95Q.js → outbound-payload.test-harness-B8N8U_AA.js} +1 -1
- package/dist/{pipeline.runtime-Bq754VH8.js → pipeline.runtime-COwSmZG5.js} +96 -26
- package/dist/{plugin-routes-CRnfsTTX.js → plugin-routes-hrKOqBIn.js} +1 -1
- package/dist/{prepare-BcznR9ok.js → prepare-BjlcuiLr.js} +12 -11
- package/dist/{probe-FL4sUJsH.js → probe-DDef8MfR.js} +1 -1
- package/dist/{provider-BFnE2bgI.js → provider-C7uiI7hL.js} +8 -8
- package/dist/{replies-2ve_YcHy.js → replies-ClYRn89v.js} +3 -3
- package/dist/{reply-blocks-BFaJ_ejG.js → reply-blocks-DgUdywKU.js} +9 -4
- package/dist/{resolve-channels-B_eKaOkE.js → resolve-channels-gx65A1PR.js} +1 -1
- package/dist/{resolve-users-BzBAJwvq.js → resolve-users-OknHaiRY.js} +1 -1
- package/dist/{runtime-api-B5HGOzX3.js → runtime-api-D3pvtood.js} +1 -1
- package/dist/runtime-api.js +12 -12
- package/dist/{scopes-Bvg_ZzqZ.js → scopes-vRHcdO0m.js} +1 -1
- package/dist/{send-C5PzphgC.js → send-Br_H5f6H.js} +3 -3
- package/dist/send.runtime-Cj0cqt6C.js +2 -0
- package/dist/send.runtime-CjgsYARn.js +2 -0
- package/dist/{setup-core-az0LCrNr.js → setup-core-BRD65LS_.js} +2 -2
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-Cdq_mfjx.js → setup-surface-DpNyddrJ.js} +5 -5
- package/dist/{shared-BuNoOmas.js → shared-DdgQfBV9.js} +6 -6
- package/dist/{slash-dispatch.runtime-CcbE1HtP.js → slash-dispatch.runtime-DYm6lWN8.js} +1 -1
- package/dist/test-api.js +5 -5
- package/openclaw.plugin.json +14 -0
- package/package.json +4 -4
- package/dist/accounts.runtime-BhbEu1ZK.js +0 -2
- package/dist/action-runtime.runtime-DpzOXqtk.js +0 -2
- package/dist/send.runtime-Bgf0P22e.js +0 -2
- package/dist/send.runtime-DsEXD6MR.js +0 -2
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { o as SLACK_TEXT_LIMIT, s as truncateSlackText } from "./thread-ts-As_dcNbD.js";
|
|
2
|
-
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-
|
|
2
|
+
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-B1wwXeVn.js";
|
|
3
3
|
import { i as normalizeSlackAllowOwnerEntry } from "./allow-list-nwXs_eCP.js";
|
|
4
4
|
import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode, t as mapStreamingModeToSlackLegacyDraftStreamMode } from "./streaming-compat-eu5Rj5gj.js";
|
|
5
|
-
import { a as recordSlackThreadParticipation, s as normalizeSlackOutboundText, t as sendMessageSlack } from "./send-
|
|
6
|
-
import { b as buildSlackEditTextPayload, f as removeSlackReaction, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage } from "./actions-
|
|
5
|
+
import { a as recordSlackThreadParticipation, s as normalizeSlackOutboundText, t as sendMessageSlack } from "./send-Br_H5f6H.js";
|
|
6
|
+
import { b as buildSlackEditTextPayload, f as removeSlackReaction, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage } from "./actions-vFq9T_Kd.js";
|
|
7
7
|
import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
|
|
8
8
|
import { D as updateLastRoute, E as resolveStorePath, a as recordInboundSession } from "./room-context-BI26wVBb.js";
|
|
9
|
-
import { r as escapeSlackMrkdwn } from "./provider-
|
|
10
|
-
import { n as resolveSlackThreadTargets, t as prepareSlackMessage } from "./prepare-
|
|
11
|
-
import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
9
|
+
import { r as escapeSlackMrkdwn } from "./provider-C7uiI7hL.js";
|
|
10
|
+
import { n as resolveSlackThreadTargets, t as prepareSlackMessage } from "./prepare-BjlcuiLr.js";
|
|
11
|
+
import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, t as createSlackReplyDeliveryPlan } from "./replies-ClYRn89v.js";
|
|
12
12
|
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
13
13
|
import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
|
|
14
14
|
import { createChannelMessageReplyPipeline, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, resolveChannelMessageSourceReplyDeliveryMode } from "openclaw/plugin-sdk/channel-message";
|
|
15
|
-
import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelProgressDraftGate, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, mergeChannelProgressDraftLine, resolveChannelProgressDraftLabel, resolveChannelProgressDraftMaxLines, resolveChannelProgressDraftRender, resolveChannelStreamingBlockEnabled, resolveChannelStreamingNativeTransport, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-streaming";
|
|
15
|
+
import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelProgressDraftGate, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, mergeChannelProgressDraftLine, resolveChannelProgressDraftLabel, resolveChannelProgressDraftMaxLineChars, resolveChannelProgressDraftMaxLines, resolveChannelProgressDraftRender, resolveChannelStreamingBlockEnabled, resolveChannelStreamingNativeTransport, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-streaming";
|
|
16
16
|
import { danger, logVerbose, shouldLogVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
17
17
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
18
|
-
import { resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
18
|
+
import { buildTtsSupplementMediaPayload, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
19
19
|
import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
|
|
20
20
|
import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
|
|
21
21
|
import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
|
|
@@ -142,7 +142,7 @@ function createSlackDraftStream(params) {
|
|
|
142
142
|
//#endregion
|
|
143
143
|
//#region extensions/slack/src/progress-blocks.ts
|
|
144
144
|
const SLACK_PROGRESS_FIELD_MAX = 1800;
|
|
145
|
-
const
|
|
145
|
+
const DEFAULT_SLACK_PROGRESS_DETAIL_MAX_CHARS = 120;
|
|
146
146
|
function field(text) {
|
|
147
147
|
return {
|
|
148
148
|
type: "mrkdwn",
|
|
@@ -152,26 +152,28 @@ function field(text) {
|
|
|
152
152
|
function lineTitle(line) {
|
|
153
153
|
return `${line.icon ?? "•"} *${escapeSlackMrkdwn(line.label)}*`;
|
|
154
154
|
}
|
|
155
|
-
function compactDetail(value) {
|
|
155
|
+
function compactDetail(value, maxChars) {
|
|
156
156
|
const normalized = value.replace(/\s+/g, " ").trim();
|
|
157
157
|
const chars = Array.from(normalized);
|
|
158
|
-
if (chars.length <=
|
|
159
|
-
|
|
160
|
-
const
|
|
158
|
+
if (chars.length <= maxChars) return normalized;
|
|
159
|
+
if (maxChars <= 1) return "…";
|
|
160
|
+
const keepStart = Math.max(1, Math.ceil((maxChars - 1) * .45));
|
|
161
|
+
const keepEnd = Math.max(1, maxChars - keepStart - 1);
|
|
161
162
|
return `${chars.slice(0, keepStart).join("").trimEnd()}…${chars.slice(-keepEnd).join("").trimStart()}`;
|
|
162
163
|
}
|
|
163
|
-
function lineDetail(line) {
|
|
164
|
+
function lineDetail(line, maxChars) {
|
|
164
165
|
const parts = [line.detail, line.status && !line.detail?.includes(line.status) ? line.status : void 0].map((part) => part?.trim()).filter((part) => Boolean(part));
|
|
165
|
-
return parts.length ? escapeSlackMrkdwn(compactDetail(parts.join(" · "))) : " ";
|
|
166
|
+
return parts.length ? escapeSlackMrkdwn(compactDetail(parts.join(" · "), maxChars)) : " ";
|
|
166
167
|
}
|
|
167
168
|
function buildSlackProgressDraftBlocks(params) {
|
|
168
169
|
const label = params.label?.trim();
|
|
170
|
+
const maxLineChars = params.maxLineChars && params.maxLineChars > 0 ? Math.floor(params.maxLineChars) : DEFAULT_SLACK_PROGRESS_DETAIL_MAX_CHARS;
|
|
169
171
|
const blocks = [...label ? [{
|
|
170
172
|
type: "section",
|
|
171
173
|
text: field(`*${escapeSlackMrkdwn(label)}*`)
|
|
172
174
|
}] : [], ...params.lines.map((line) => ({
|
|
173
175
|
type: "section",
|
|
174
|
-
fields: [field(lineTitle(line)), field(lineDetail(line))]
|
|
176
|
+
fields: [field(lineTitle(line)), field(lineDetail(line, maxLineChars))]
|
|
175
177
|
}))].slice(-50);
|
|
176
178
|
return blocks.length ? blocks : void 0;
|
|
177
179
|
}
|
|
@@ -620,13 +622,14 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
620
622
|
normalizeEntry: normalizeSlackAllowOwnerEntry
|
|
621
623
|
});
|
|
622
624
|
const senderRecipient = normalizeOptionalLowercaseString(message.user);
|
|
623
|
-
|
|
625
|
+
const inboundLastRouteSessionKey = resolveInboundLastRouteSessionKey({
|
|
626
|
+
route,
|
|
627
|
+
sessionKey: prepared.ctxPayload.SessionKey ?? route.sessionKey
|
|
628
|
+
});
|
|
629
|
+
if (inboundLastRouteSessionKey === route.mainSessionKey && pinnedMainDmOwner && senderRecipient && normalizeOptionalLowercaseString(pinnedMainDmOwner) !== senderRecipient) logVerbose(`slack: skip main-session last route for ${senderRecipient} (pinned owner ${pinnedMainDmOwner})`);
|
|
624
630
|
else await updateLastRoute({
|
|
625
631
|
storePath,
|
|
626
|
-
sessionKey:
|
|
627
|
-
route,
|
|
628
|
-
sessionKey: prepared.ctxPayload.SessionKey ?? route.sessionKey
|
|
629
|
-
}),
|
|
632
|
+
sessionKey: inboundLastRouteSessionKey,
|
|
630
633
|
deliveryContext: {
|
|
631
634
|
channel: "slack",
|
|
632
635
|
to: `user:${message.user}`,
|
|
@@ -1011,7 +1014,62 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1011
1014
|
}
|
|
1012
1015
|
const reply = resolveSendableOutboundReplyParts(payload);
|
|
1013
1016
|
const slackBlocks = readSlackReplyBlocks(payload);
|
|
1014
|
-
const
|
|
1017
|
+
const ttsSupplement = getReplyPayloadTtsSupplement(payload);
|
|
1018
|
+
const trimmedFinalText = (payload.text ?? ttsSupplement?.spokenText ?? "").trim();
|
|
1019
|
+
const shouldRestoreTtsSupplementTextForPreviewFallback = Boolean(ttsSupplement) && ttsSupplement?.visibleTextAlreadyDelivered !== true && Boolean(draftStream) && !draftPreviewCommitted && previewStreamingEnabled && !payload.text?.trim();
|
|
1020
|
+
if (info.kind === "final" && ttsSupplement && draftStream && !draftPreviewCommitted && previewStreamingEnabled && !payload.isError && trimmedFinalText.length > 0) {
|
|
1021
|
+
const channelId = draftStream.channelId();
|
|
1022
|
+
const messageId = draftStream.messageId();
|
|
1023
|
+
if (channelId && messageId) {
|
|
1024
|
+
const finalThreadTs = usedReplyThreadTs ?? statusThreadTs;
|
|
1025
|
+
await draftStream.flush();
|
|
1026
|
+
await draftStream.seal();
|
|
1027
|
+
try {
|
|
1028
|
+
await finalizeSlackPreviewEdit({
|
|
1029
|
+
client: ctx.app.client,
|
|
1030
|
+
token: ctx.botToken,
|
|
1031
|
+
accountId: account.accountId,
|
|
1032
|
+
channelId,
|
|
1033
|
+
messageId,
|
|
1034
|
+
text: normalizeSlackOutboundText(trimmedFinalText),
|
|
1035
|
+
...slackBlocks?.length ? { blocks: slackBlocks } : {},
|
|
1036
|
+
threadTs: finalThreadTs
|
|
1037
|
+
});
|
|
1038
|
+
} catch (err) {
|
|
1039
|
+
logVerbose(`slack: preview final edit failed; falling back to standard send (${formatSlackError(err)})`);
|
|
1040
|
+
await draftStream.discardPending();
|
|
1041
|
+
let delivered = false;
|
|
1042
|
+
try {
|
|
1043
|
+
await deliverNormally({
|
|
1044
|
+
payload: payload.text?.trim() ? payload : {
|
|
1045
|
+
...payload,
|
|
1046
|
+
text: trimmedFinalText
|
|
1047
|
+
},
|
|
1048
|
+
kind: info.kind,
|
|
1049
|
+
forcedThreadTs: finalThreadTs
|
|
1050
|
+
});
|
|
1051
|
+
delivered = true;
|
|
1052
|
+
} finally {
|
|
1053
|
+
if (delivered) await draftStream.clear();
|
|
1054
|
+
}
|
|
1055
|
+
return;
|
|
1056
|
+
}
|
|
1057
|
+
draftPreviewCommitted = true;
|
|
1058
|
+
observedReplyDelivery = true;
|
|
1059
|
+
replyPlan.markSent();
|
|
1060
|
+
await deliverNormally({
|
|
1061
|
+
payload: buildTtsSupplementMediaPayload(payload),
|
|
1062
|
+
kind: info.kind,
|
|
1063
|
+
forcedThreadTs: finalThreadTs
|
|
1064
|
+
});
|
|
1065
|
+
deliveryTracker.markDelivered({
|
|
1066
|
+
kind: info.kind,
|
|
1067
|
+
payload,
|
|
1068
|
+
threadTs: finalThreadTs
|
|
1069
|
+
});
|
|
1070
|
+
return;
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1015
1073
|
if ((await deliverWithFinalizableLivePreviewAdapter({
|
|
1016
1074
|
kind: info.kind,
|
|
1017
1075
|
payload,
|
|
@@ -1031,7 +1089,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1031
1089
|
}
|
|
1032
1090
|
} : void 0,
|
|
1033
1091
|
buildFinalEdit: () => {
|
|
1034
|
-
if (!previewStreamingEnabled || reply.hasMedia || payload.isError || trimmedFinalText.length === 0 && !slackBlocks?.length) return;
|
|
1092
|
+
if (!previewStreamingEnabled || reply.hasMedia && !ttsSupplement || payload.isError || trimmedFinalText.length === 0 && !slackBlocks?.length) return;
|
|
1035
1093
|
return {
|
|
1036
1094
|
text: normalizeSlackOutboundText(trimmedFinalText),
|
|
1037
1095
|
blocks: slackBlocks,
|
|
@@ -1054,6 +1112,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1054
1112
|
...edit.blocks?.length ? { blocks: edit.blocks } : {},
|
|
1055
1113
|
threadTs: edit.threadTs
|
|
1056
1114
|
});
|
|
1115
|
+
draftPreviewCommitted = true;
|
|
1057
1116
|
},
|
|
1058
1117
|
onPreviewFinalized: (_preview) => {
|
|
1059
1118
|
draftPreviewCommitted = true;
|
|
@@ -1066,13 +1125,23 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1066
1125
|
threadTs: finalThreadTs
|
|
1067
1126
|
});
|
|
1068
1127
|
},
|
|
1128
|
+
buildSupplementalPayload: () => ttsSupplement ? buildTtsSupplementMediaPayload(payload) : void 0,
|
|
1129
|
+
deliverSupplemental: async (supplementalPayload) => {
|
|
1130
|
+
await deliverNormally({
|
|
1131
|
+
payload: supplementalPayload,
|
|
1132
|
+
kind: info.kind
|
|
1133
|
+
});
|
|
1134
|
+
},
|
|
1069
1135
|
logPreviewEditFailure: (err) => {
|
|
1070
1136
|
logVerbose(`slack: preview final edit failed; falling back to standard send (${formatSlackError(err)})`);
|
|
1071
1137
|
}
|
|
1072
1138
|
}),
|
|
1073
1139
|
deliverNormally: async () => {
|
|
1074
1140
|
await deliverNormally({
|
|
1075
|
-
payload
|
|
1141
|
+
payload: shouldRestoreTtsSupplementTextForPreviewFallback ? {
|
|
1142
|
+
...payload,
|
|
1143
|
+
text: ttsSupplement?.spokenText
|
|
1144
|
+
} : payload,
|
|
1076
1145
|
kind: info.kind
|
|
1077
1146
|
});
|
|
1078
1147
|
}
|
|
@@ -1130,7 +1199,8 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1130
1199
|
entry: account.config,
|
|
1131
1200
|
seed: progressSeed
|
|
1132
1201
|
}),
|
|
1133
|
-
lines: previewToolProgressLines
|
|
1202
|
+
lines: previewToolProgressLines,
|
|
1203
|
+
maxLineChars: resolveChannelProgressDraftMaxLineChars(account.config)
|
|
1134
1204
|
})
|
|
1135
1205
|
} : previewText);
|
|
1136
1206
|
hasStreamedMessage = true;
|
|
@@ -1367,7 +1437,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
1367
1437
|
if (dispatchError) throw dispatchError;
|
|
1368
1438
|
const participationThreadTs = usedReplyThreadTs ?? statusThreadTs;
|
|
1369
1439
|
if (anyReplyDelivered && participationThreadTs) recordSlackThreadParticipation(account.accountId, message.channel, participationThreadTs, { agentId: route.agentId });
|
|
1370
|
-
if (!anyReplyDelivered) {
|
|
1440
|
+
if (!anyReplyDelivered && !draftPreviewCommitted) {
|
|
1371
1441
|
await draftStream?.clear();
|
|
1372
1442
|
return;
|
|
1373
1443
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as listSlackAccountIds, r as mergeSlackAccountConfig } from "./accounts-
|
|
1
|
+
import { n as listSlackAccountIds, r as mergeSlackAccountConfig } from "./accounts-Cbw3i3Sa.js";
|
|
2
2
|
import { r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./registry-D2cWOLZV.js";
|
|
3
3
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
4
4
|
//#region extensions/slack/src/http/plugin-routes.ts
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { l as resolveSlackReplyToMode } from "./accounts-
|
|
1
|
+
import { l as resolveSlackReplyToMode } from "./accounts-Cbw3i3Sa.js";
|
|
2
2
|
import { r as parseSlackTarget } from "./target-parsing-CQmv-iSm.js";
|
|
3
3
|
import "./targets-B1tYCAr6.js";
|
|
4
4
|
import { i as normalizeSlackAllowOwnerEntry, o as resolveSlackAllowListMatch, r as normalizeAllowListLower } from "./allow-list-nwXs_eCP.js";
|
|
5
|
-
import { i as hasSlackThreadParticipationWithPersistence, t as sendMessageSlack } from "./send-
|
|
6
|
-
import { _ as resolveSlackThreadStarter, g as resolveSlackThreadHistory, l as reactSlackMessage, y as formatSlackFileReference } from "./actions-
|
|
5
|
+
import { i as hasSlackThreadParticipationWithPersistence, t as sendMessageSlack } from "./send-Br_H5f6H.js";
|
|
6
|
+
import { _ as resolveSlackThreadStarter, g as resolveSlackThreadHistory, l as reactSlackMessage, y as formatSlackFileReference } from "./actions-vFq9T_Kd.js";
|
|
7
7
|
import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
|
|
8
8
|
import { C as resolveChannelContextVisibilityMode, E as resolveStorePath, S as readSessionUpdatedAt, _ as resolveSlackChatType, c as authorizeSlackBotRoomMessage, d as resolveSlackEffectiveAllowFrom, f as buildSlackAssistantThreadMetadata, g as normalizeSlackChannelType, j as stripSlackMentionsForCommandDetection, m as parseSlackAssistantThreadMetadata, n as authorizeSlackDirectMessage, o as resolveConversationLabel$1, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, v as resolveSlackChannelConfig } from "./room-context-BI26wVBb.js";
|
|
9
|
-
import "./send.runtime-
|
|
9
|
+
import "./send.runtime-CjgsYARn.js";
|
|
10
10
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
11
11
|
import { resolveAgentRoute, resolveInboundLastRouteSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
12
12
|
import { resolveChannelMessageSourceReplyDeliveryMode } from "openclaw/plugin-sdk/channel-message";
|
|
@@ -30,7 +30,7 @@ const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
|
|
|
30
30
|
const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
|
|
31
31
|
let slackMediaModulePromise$1;
|
|
32
32
|
function loadSlackMediaModule$1() {
|
|
33
|
-
slackMediaModulePromise$1 ??= import("./actions-
|
|
33
|
+
slackMediaModulePromise$1 ??= import("./actions-vFq9T_Kd.js").then((n) => n.h);
|
|
34
34
|
return slackMediaModulePromise$1;
|
|
35
35
|
}
|
|
36
36
|
function collectUniqueSlackMentionIds$1(texts) {
|
|
@@ -578,7 +578,7 @@ function formatSlackBotStarterThreadLabel(params) {
|
|
|
578
578
|
//#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
|
|
579
579
|
let slackMediaModulePromise;
|
|
580
580
|
function loadSlackMediaModule() {
|
|
581
|
-
slackMediaModulePromise ??= import("./actions-
|
|
581
|
+
slackMediaModulePromise ??= import("./actions-vFq9T_Kd.js").then((n) => n.h);
|
|
582
582
|
return slackMediaModulePromise;
|
|
583
583
|
}
|
|
584
584
|
const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
|
|
@@ -1672,6 +1672,10 @@ async function prepareSlackMessage(params) {
|
|
|
1672
1672
|
const replyTarget = isDirectMessage ? `channel:${message.channel}` : ctxPayload.To ?? void 0;
|
|
1673
1673
|
if (!replyTarget) return null;
|
|
1674
1674
|
if (shouldLogVerbose()) logVerbose(`slack inbound: channel=${message.channel} from=${slackFrom} preview="${preview}"`);
|
|
1675
|
+
const updateLastRouteSessionKey = resolveInboundLastRouteSessionKey({
|
|
1676
|
+
route,
|
|
1677
|
+
sessionKey
|
|
1678
|
+
});
|
|
1675
1679
|
return {
|
|
1676
1680
|
ctx,
|
|
1677
1681
|
account,
|
|
@@ -1684,15 +1688,12 @@ async function prepareSlackMessage(params) {
|
|
|
1684
1688
|
storePath,
|
|
1685
1689
|
record: {
|
|
1686
1690
|
updateLastRoute: isDirectMessage ? {
|
|
1687
|
-
sessionKey:
|
|
1688
|
-
route,
|
|
1689
|
-
sessionKey
|
|
1690
|
-
}),
|
|
1691
|
+
sessionKey: updateLastRouteSessionKey,
|
|
1691
1692
|
channel: "slack",
|
|
1692
1693
|
to: `user:${message.user}`,
|
|
1693
1694
|
accountId: route.accountId,
|
|
1694
1695
|
threadId: effectiveMessageThreadId,
|
|
1695
|
-
mainDmOwnerPin: pinnedMainDmOwner && message.user ? {
|
|
1696
|
+
mainDmOwnerPin: updateLastRouteSessionKey === route.mainSessionKey && pinnedMainDmOwner && message.user ? {
|
|
1696
1697
|
ownerRecipient: pinnedMainDmOwner,
|
|
1697
1698
|
senderRecipient: normalizeLowercaseStringOrEmpty(message.user),
|
|
1698
1699
|
onSkip: ({ ownerRecipient, senderRecipient }) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
|
|
2
|
-
import { r as createSlackWebClient } from "./client-
|
|
2
|
+
import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
|
|
3
3
|
import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
|
|
4
4
|
import { withTimeout } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
5
5
|
//#region extensions/slack/src/probe.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, d as resolveSlackBotToken, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as resolveSlackAppToken } from "./accounts-
|
|
2
|
-
import { i as isSlackApprovalAuthorizedSender, o as isSlackExecApprovalAuthorizedSender, s as isSlackExecApprovalClientEnabled } from "./reply-blocks-
|
|
3
|
-
import "./blocks-render-
|
|
1
|
+
import { a as resolveSlackAccount, d as resolveSlackBotToken, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as resolveSlackAppToken } from "./accounts-Cbw3i3Sa.js";
|
|
2
|
+
import { i as isSlackApprovalAuthorizedSender, o as isSlackExecApprovalAuthorizedSender, s as isSlackExecApprovalClientEnabled } from "./reply-blocks-DgUdywKU.js";
|
|
3
|
+
import "./blocks-render-ziYgM0qF.js";
|
|
4
4
|
import { o as SLACK_TEXT_LIMIT, s as truncateSlackText } from "./thread-ts-As_dcNbD.js";
|
|
5
|
-
import { c as resolveSlackWebClientOptions } from "./client-
|
|
5
|
+
import { c as resolveSlackWebClientOptions } from "./client-Dr7pteMR.js";
|
|
6
6
|
import { n as normalizeAllowList, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-nwXs_eCP.js";
|
|
7
7
|
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-D2cWOLZV.js";
|
|
8
8
|
import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
|
|
9
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
10
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
9
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-gx65A1PR.js";
|
|
10
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-OknHaiRY.js";
|
|
11
11
|
import { A as resolveSlackSlashCommandConfig, O as warnMissingProviderGroupPolicyFallbackOnce, T as resolveOpenProviderRuntimeGroupPolicy, _ as resolveSlackChatType, b as getRuntimeConfig$1, d as resolveSlackEffectiveAllowFrom, f as buildSlackAssistantThreadMetadata, g as normalizeSlackChannelType, h as isSlackChannelAllowedByPolicy, i as parsePluginBindingApprovalCustomId, j as stripSlackMentionsForCommandDetection, k as buildSlackSlashCommandMatcher, l as authorizeSlackSystemEventSender, n as authorizeSlackDirectMessage, p as createSlackMonitorContext, r as buildPluginBindingResolvedText, s as resolvePluginConversationBindingApproval, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, v as resolveSlackChannelConfig, w as resolveDefaultGroupPolicy, x as isDangerousNameMatchingEnabled, y as resolveSlackChannelLabel } from "./room-context-BI26wVBb.js";
|
|
12
12
|
import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
13
13
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -1875,7 +1875,7 @@ function createSlackThreadTsResolver(params) {
|
|
|
1875
1875
|
//#region extensions/slack/src/monitor/message-handler.ts
|
|
1876
1876
|
let slackMessagePipelinePromise;
|
|
1877
1877
|
function loadSlackMessagePipeline() {
|
|
1878
|
-
slackMessagePipelinePromise ??= import("./pipeline.runtime-
|
|
1878
|
+
slackMessagePipelinePromise ??= import("./pipeline.runtime-COwSmZG5.js");
|
|
1879
1879
|
return slackMessagePipelinePromise;
|
|
1880
1880
|
}
|
|
1881
1881
|
const APP_MENTION_RETRY_TTL_MS = 6e4;
|
|
@@ -2417,7 +2417,7 @@ function loadSlashCommandsRuntime() {
|
|
|
2417
2417
|
return slashCommandsRuntimePromise;
|
|
2418
2418
|
}
|
|
2419
2419
|
function loadSlashDispatchRuntime() {
|
|
2420
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-
|
|
2420
|
+
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DYm6lWN8.js");
|
|
2421
2421
|
return slashDispatchRuntimePromise;
|
|
2422
2422
|
}
|
|
2423
2423
|
function loadSlackPluginCommandsRuntime() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
1
|
+
import { t as resolveSlackReplyBlocks } from "./reply-blocks-DgUdywKU.js";
|
|
2
2
|
import { o as SLACK_TEXT_LIMIT } from "./thread-ts-As_dcNbD.js";
|
|
3
|
-
import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-
|
|
4
|
-
import "./send.runtime-
|
|
3
|
+
import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Br_H5f6H.js";
|
|
4
|
+
import "./send.runtime-CjgsYARn.js";
|
|
5
5
|
import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
|
|
6
6
|
import { SILENT_REPLY_TOKEN, chunkMarkdownTextWithMode, isSilentReplyText } from "openclaw/plugin-sdk/reply-chunking";
|
|
7
7
|
import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig } from "./accounts-
|
|
2
|
-
import { t as buildSlackInteractiveBlocks } from "./blocks-render-
|
|
1
|
+
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig } from "./accounts-Cbw3i3Sa.js";
|
|
2
|
+
import { n as buildSlackPresentationBlocks, r as resolveSlackInteractiveBlockOffsets, t as buildSlackInteractiveBlocks } from "./blocks-render-ziYgM0qF.js";
|
|
3
3
|
import { i as parseSlackBlocksInput } from "./thread-ts-As_dcNbD.js";
|
|
4
4
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
5
5
|
import { normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -123,10 +123,15 @@ function resolveSlackGroupToolPolicy(params) {
|
|
|
123
123
|
//#region extensions/slack/src/reply-blocks.ts
|
|
124
124
|
function resolveSlackReplyBlocks(payload) {
|
|
125
125
|
const slackData = payload.channelData?.slack;
|
|
126
|
-
const interactiveBlocks = buildSlackInteractiveBlocks(payload.interactive);
|
|
127
126
|
let channelBlocks = [];
|
|
128
127
|
if (slackData && typeof slackData === "object" && !Array.isArray(slackData)) channelBlocks = parseSlackBlocksInput(slackData.blocks) ?? [];
|
|
129
|
-
const
|
|
128
|
+
const presentationBlocks = buildSlackPresentationBlocks(payload.presentation, resolveSlackInteractiveBlockOffsets(channelBlocks));
|
|
129
|
+
const interactiveBlocks = buildSlackInteractiveBlocks(payload.interactive, resolveSlackInteractiveBlockOffsets([...channelBlocks, ...presentationBlocks]));
|
|
130
|
+
const blocks = [
|
|
131
|
+
...channelBlocks,
|
|
132
|
+
...presentationBlocks,
|
|
133
|
+
...interactiveBlocks
|
|
134
|
+
];
|
|
130
135
|
if (blocks.length > 50) throw new Error(`Slack blocks cannot exceed 50 items after interactive render`);
|
|
131
136
|
return blocks.length > 0 ? blocks : void 0;
|
|
132
137
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
|
|
2
|
-
import { r as createSlackWebClient } from "./client-
|
|
2
|
+
import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
|
|
3
3
|
import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-DLub2I2i.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/slack/src/resolve-channels.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
|
|
2
|
-
import { r as createSlackWebClient } from "./client-
|
|
2
|
+
import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
|
|
3
3
|
import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-DLub2I2i.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/slack/src/resolve-users.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./target-parsing-CQmv-iSm.js";
|
|
2
|
-
import "./client-
|
|
2
|
+
import "./client-Dr7pteMR.js";
|
|
3
3
|
import "./config-api-CmgE_ORg.js";
|
|
4
4
|
import { createActionGate as createActionGate$1, imageResultFromFile, jsonResult, readNumberParam, readReactionParams, readStringParam, withNormalizedTimestamp } from "openclaw/plugin-sdk/channel-actions";
|
|
5
5
|
import "openclaw/plugin-sdk/account-id";
|
package/dist/runtime-api.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-
|
|
2
|
-
import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-
|
|
1
|
+
import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-Cbw3i3Sa.js";
|
|
2
|
+
import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-DgUdywKU.js";
|
|
3
3
|
import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
|
|
4
|
-
import { t as sendMessageSlack } from "./send-
|
|
5
|
-
import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-
|
|
6
|
-
import { t as probeSlack } from "./probe-
|
|
7
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
8
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
9
|
-
import { t as monitorSlackProvider } from "./provider-
|
|
10
|
-
import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-
|
|
11
|
-
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-
|
|
12
|
-
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-
|
|
13
|
-
import "./monitor-
|
|
4
|
+
import { t as sendMessageSlack } from "./send-Br_H5f6H.js";
|
|
5
|
+
import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-vFq9T_Kd.js";
|
|
6
|
+
import { t as probeSlack } from "./probe-DDef8MfR.js";
|
|
7
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-gx65A1PR.js";
|
|
8
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-OknHaiRY.js";
|
|
9
|
+
import { t as monitorSlackProvider } from "./provider-C7uiI7hL.js";
|
|
10
|
+
import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-hrKOqBIn.js";
|
|
11
|
+
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-DgzkekLM.js";
|
|
12
|
+
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-BnN4Zawp.js";
|
|
13
|
+
import "./monitor-beou_Rl6.js";
|
|
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 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as createSlackWebClient } from "./client-
|
|
1
|
+
import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
|
|
2
2
|
import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
|
|
3
3
|
import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
//#region extensions/slack/src/scopes.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-
|
|
1
|
+
import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-Cbw3i3Sa.js";
|
|
2
2
|
import { r as parseSlackTarget } from "./target-parsing-CQmv-iSm.js";
|
|
3
3
|
import "./targets-B1tYCAr6.js";
|
|
4
4
|
import { a as validateSlackBlocksArray, o as SLACK_TEXT_LIMIT, s as truncateSlackText, t as normalizeSlackThreadTsCandidate } from "./thread-ts-As_dcNbD.js";
|
|
5
|
-
import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-
|
|
5
|
+
import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-Dr7pteMR.js";
|
|
6
6
|
import { t as getOptionalSlackRuntime } from "./runtime-DQxkf7k2.js";
|
|
7
|
-
import { i as loadOutboundMediaFromUrl } from "./runtime-api-
|
|
7
|
+
import { i as loadOutboundMediaFromUrl } from "./runtime-api-D3pvtood.js";
|
|
8
8
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
|
|
10
10
|
import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as resolveSlackAccount } from "./accounts-
|
|
2
|
-
import { t as inspectSlackAccount } from "./account-inspect-
|
|
1
|
+
import { a as resolveSlackAccount } from "./accounts-Cbw3i3Sa.js";
|
|
2
|
+
import { t as inspectSlackAccount } from "./account-inspect-uMPQ6wIu.js";
|
|
3
3
|
import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { DEFAULT_ACCOUNT_ID, createAccountScopedAllowFromSection, createAccountScopedGroupAccessSection, createAllowlistSetupWizardProxy, createEnvPatchedAccountSetupAdapter, createLegacyCompatChannelDmPolicy, createSetupTranslator, createStandardChannelSetupStatus, parseMentionOrPrefixedId, patchChannelConfigForAccount, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup-runtime";
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as slackSetupPlugin } from "./channel.setup-
|
|
1
|
+
import { t as slackSetupPlugin } from "./channel.setup-C2_IZ9It.js";
|
|
2
2
|
export { slackSetupPlugin };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-
|
|
2
|
-
import "./shared-
|
|
3
|
-
import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-
|
|
4
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
5
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
1
|
+
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-Cbw3i3Sa.js";
|
|
2
|
+
import "./shared-DdgQfBV9.js";
|
|
3
|
+
import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-BRD65LS_.js";
|
|
4
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-gx65A1PR.js";
|
|
5
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-OknHaiRY.js";
|
|
6
6
|
import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
7
7
|
import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken } from "openclaw/plugin-sdk/setup-runtime";
|
|
8
8
|
import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy } from "./accounts-
|
|
2
|
-
import { t as inspectSlackAccount } from "./account-inspect-
|
|
3
|
-
import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-
|
|
4
|
-
import { f as getChatChannelMeta } from "./client-
|
|
5
|
-
import { i as SLACK_CHANNEL } from "./setup-core-
|
|
6
|
-
import { t as SlackChannelConfigSchema } from "./config-schema-
|
|
1
|
+
import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy } from "./accounts-Cbw3i3Sa.js";
|
|
2
|
+
import { t as inspectSlackAccount } from "./account-inspect-uMPQ6wIu.js";
|
|
3
|
+
import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-B1wwXeVn.js";
|
|
4
|
+
import { f as getChatChannelMeta } from "./client-Dr7pteMR.js";
|
|
5
|
+
import { i as SLACK_CHANNEL } from "./setup-core-BRD65LS_.js";
|
|
6
|
+
import { t as SlackChannelConfigSchema } from "./config-schema-C8tW0Db0.js";
|
|
7
7
|
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-B8QIWMs1.js";
|
|
8
8
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-0TL3L5Kb.js";
|
|
9
9
|
import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as deliverSlackSlashReplies$1 } from "./replies-
|
|
1
|
+
import { r as deliverSlackSlashReplies$1 } from "./replies-ClYRn89v.js";
|
|
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 { recordInboundSessionMetaSafe as recordInboundSessionMetaSafe$1, resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
|
package/dist/test-api.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as createSlackActions, t as slackPlugin } from "./channel-
|
|
1
|
+
import { a as createSlackActions, t as slackPlugin } from "./channel-D9Wzqu3W.js";
|
|
2
2
|
import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
|
|
3
|
-
import { t as sendMessageSlack } from "./send-
|
|
4
|
-
import { t as prepareSlackMessage } from "./prepare-
|
|
3
|
+
import { t as sendMessageSlack } from "./send-Br_H5f6H.js";
|
|
4
|
+
import { t as prepareSlackMessage } from "./prepare-BjlcuiLr.js";
|
|
5
5
|
import { t as createInboundSlackTestContext } from "./prepare.test-helpers-D807wdul.js";
|
|
6
|
-
import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-
|
|
7
|
-
import { n as slackOutbound } from "./outbound-adapter-
|
|
6
|
+
import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-B8N8U_AA.js";
|
|
7
|
+
import { n as slackOutbound } from "./outbound-adapter-Dcy9jZv1.js";
|
|
8
8
|
export { createInboundSlackTestContext, createSlackActions, createSlackOutboundPayloadHarness, prepareSlackMessage, sendMessageSlack, setSlackRuntime, slackOutbound, slackPlugin };
|
package/openclaw.plugin.json
CHANGED
|
@@ -672,6 +672,11 @@
|
|
|
672
672
|
"exclusiveMinimum": 0,
|
|
673
673
|
"maximum": 9007199254740991
|
|
674
674
|
},
|
|
675
|
+
"maxLineChars": {
|
|
676
|
+
"type": "integer",
|
|
677
|
+
"exclusiveMinimum": 0,
|
|
678
|
+
"maximum": 9007199254740991
|
|
679
|
+
},
|
|
675
680
|
"render": {
|
|
676
681
|
"type": "string",
|
|
677
682
|
"enum": [
|
|
@@ -1819,6 +1824,11 @@
|
|
|
1819
1824
|
"exclusiveMinimum": 0,
|
|
1820
1825
|
"maximum": 9007199254740991
|
|
1821
1826
|
},
|
|
1827
|
+
"maxLineChars": {
|
|
1828
|
+
"type": "integer",
|
|
1829
|
+
"exclusiveMinimum": 0,
|
|
1830
|
+
"maximum": 9007199254740991
|
|
1831
|
+
},
|
|
1822
1832
|
"render": {
|
|
1823
1833
|
"type": "string",
|
|
1824
1834
|
"enum": [
|
|
@@ -2487,6 +2497,10 @@
|
|
|
2487
2497
|
"label": "Slack Progress Max Lines",
|
|
2488
2498
|
"help": "Maximum number of compact progress lines to keep below the draft label (default: 8)."
|
|
2489
2499
|
},
|
|
2500
|
+
"streaming.progress.maxLineChars": {
|
|
2501
|
+
"label": "Slack Progress Max Line Chars",
|
|
2502
|
+
"help": "Maximum characters per compact progress line before truncation (default: 120). Prose cuts at word boundaries; commands and paths keep useful suffixes."
|
|
2503
|
+
},
|
|
2490
2504
|
"streaming.progress.render": {
|
|
2491
2505
|
"label": "Slack Progress Renderer",
|
|
2492
2506
|
"help": "Progress draft renderer: \"text\" uses one portable text body; \"rich\" renders structured Slack Block Kit fields with the same text fallback."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/slack",
|
|
3
|
-
"version": "2026.5.16-beta.
|
|
3
|
+
"version": "2026.5.16-beta.5",
|
|
4
4
|
"description": "OpenClaw Slack channel plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"openclaw": "workspace:*"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"openclaw": ">=2026.5.16-beta.
|
|
23
|
+
"openclaw": ">=2026.5.16-beta.5"
|
|
24
24
|
},
|
|
25
25
|
"peerDependenciesMeta": {
|
|
26
26
|
"openclaw": {
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"allowInvalidConfigRecovery": true
|
|
66
66
|
},
|
|
67
67
|
"compat": {
|
|
68
|
-
"pluginApi": ">=2026.5.16-beta.
|
|
68
|
+
"pluginApi": ">=2026.5.16-beta.5"
|
|
69
69
|
},
|
|
70
70
|
"build": {
|
|
71
|
-
"openclawVersion": "2026.5.16-beta.
|
|
71
|
+
"openclawVersion": "2026.5.16-beta.5",
|
|
72
72
|
"bundledDist": false
|
|
73
73
|
},
|
|
74
74
|
"release": {
|