@openclaw/slack 2026.5.26 → 2026.5.27

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.
Files changed (37) hide show
  1. package/dist/{action-runtime-aNlZUC5X.js → action-runtime-JVb7KyQs.js} +1 -1
  2. package/dist/action-runtime.runtime-BZa5VDjs.js +2 -0
  3. package/dist/{actions-DZqQvsrH.js → actions-1o9nMIY8.js} +1 -1
  4. package/dist/{actions.runtime-BnyePHn6.js → actions.runtime-qQtdNww-.js} +1 -1
  5. package/dist/api.js +5 -5
  6. package/dist/{approval-handler.runtime-XWqmvXQj.js → approval-handler.runtime-Ba8nwnYi.js} +67 -11
  7. package/dist/{channel-CxtT6zWb.js → channel-Bd7eept6.js} +9 -10
  8. package/dist/channel-plugin-api.js +1 -1
  9. package/dist/{channel.setup-BVEey2Ge.js → channel.setup-WNNVmCm0.js} +1 -1
  10. package/dist/contract-api.js +1 -1
  11. package/dist/{doctor-contract-BVvVoRt-.js → doctor-contract-DIMUXDHO.js} +1 -1
  12. package/dist/doctor-contract-api.js +1 -1
  13. package/dist/inbound-contract-test-api.js +1 -1
  14. package/dist/{monitor-CWa6zIBH.js → monitor-Cn7LUDFL.js} +2 -2
  15. package/dist/{outbound-adapter-C3lEsGEd.js → outbound-adapter-ChuR4_0v.js} +2 -2
  16. package/dist/outbound-payload-test-api.js +1 -1
  17. package/dist/{outbound-payload.test-harness-C57ipELl.js → outbound-payload.test-harness-8MnHFgR1.js} +1 -1
  18. package/dist/{pipeline.runtime-_isT5Hxs.js → pipeline.runtime-BVK8yXw_.js} +248 -247
  19. package/dist/{prepare-fzBRqJsc.js → prepare-Bl5WcC3f.js} +10 -24
  20. package/dist/{provider-HjdBmwDx.js → provider-Bccng2Wp.js} +3 -3
  21. package/dist/{replies-C6KAYDBW.js → replies-jiEDV6lH.js} +2 -2
  22. package/dist/runtime-api.js +5 -5
  23. package/dist/{send-CXGjjgpT.js → send-DvfE8LVm.js} +1 -1
  24. package/dist/send.runtime-Dv6ajTGK.js +2 -0
  25. package/dist/send.runtime-v3TSw9xY.js +2 -0
  26. package/dist/setup-plugin-api.js +1 -1
  27. package/dist/{setup-surface-DZAXKCKa.js → setup-surface-gjRthuZA.js} +1 -1
  28. package/dist/{shared-CqkL-uuZ.js → shared-D8A7iVVH.js} +1 -1
  29. package/dist/{slash-dispatch.runtime-CANn5muk.js → slash-dispatch.runtime-BBhdJHb8.js} +1 -1
  30. package/dist/{streaming-compat-gDv83t5m.js → streaming-compat-DjlgH-Be.js} +1 -1
  31. package/dist/test-api.js +5 -5
  32. package/npm-shrinkwrap.json +3 -3
  33. package/openclaw.plugin.json +2 -0
  34. package/package.json +5 -5
  35. package/dist/action-runtime.runtime-CLBURvAS.js +0 -2
  36. package/dist/send.runtime-B0Gg0Ncx.js +0 -2
  37. package/dist/send.runtime-BbMOcD7_.js +0 -2
@@ -30,7 +30,7 @@ function sameSlackChannelTarget(targetChannel, currentChannelId) {
30
30
  let slackActionsRuntimePromise;
31
31
  let slackAccountsRuntimePromise;
32
32
  function loadSlackActionsRuntime() {
33
- slackActionsRuntimePromise ??= import("./actions.runtime-BnyePHn6.js");
33
+ slackActionsRuntimePromise ??= import("./actions.runtime-qQtdNww-.js");
34
34
  return slackActionsRuntimePromise;
35
35
  }
36
36
  function loadSlackAccountsRuntime() {
@@ -0,0 +1,2 @@
1
+ import { t as handleSlackAction } from "./action-runtime-JVb7KyQs.js";
2
+ export { handleSlackAction };
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
2
  import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-BnLQ3fe2.js";
3
3
  import { a as validateSlackBlocksArray, o as SLACK_TEXT_LIMIT, s as truncateSlackText } from "./thread-ts-ks-O8cEG.js";
4
4
  import { a as getSlackWriteClient, r as createSlackWebClient } from "./client-Dc2Ji2YN.js";
5
- import { c as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-CXGjjgpT.js";
5
+ import { c as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-DvfE8LVm.js";
6
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
8
8
  import { logVerbose, logVerbose as logVerbose$1 } from "openclaw/plugin-sdk/runtime-env";
@@ -1,2 +1,2 @@
1
- import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-DZqQvsrH.js";
1
+ import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-1o9nMIY8.js";
2
2
  export { deleteSlackMessage, downloadSlackFile, editSlackMessage, getSlackMemberInfo, listSlackEmojis, listSlackPins, listSlackReactions, pinSlackMessage, reactSlackMessage, readSlackMessages, removeOwnSlackReactions, removeSlackReaction, sendSlackMessage, unpinSlackMessage };
package/dist/api.js CHANGED
@@ -2,7 +2,7 @@ import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, l as resol
2
2
  import { t as inspectSlackAccount } from "./account-inspect-vVg3pT03.js";
3
3
  import { i as resolveSlackChannelId, n as normalizeSlackMessagingTarget, r as parseSlackTarget, t as looksLikeSlackTargetId } from "./target-parsing-C7eeWg7M.js";
4
4
  import "./targets-nUqxHGgg.js";
5
- import { i as resolveSlackChannelType, n as buildSlackThreadingToolContext, o as resolveSlackAutoThreadId, r as resetSlackChannelTypeCacheForTest, t as slackPlugin } from "./channel-CxtT6zWb.js";
5
+ import { i as resolveSlackChannelType, n as buildSlackThreadingToolContext, o as resolveSlackAutoThreadId, r as resetSlackChannelTypeCacheForTest, t as slackPlugin } from "./channel-Bd7eept6.js";
6
6
  import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-BlOURkUm.js";
7
7
  import { n as buildSlackPresentationBlocks, t as buildSlackInteractiveBlocks } from "./blocks-render-CNC4vQnd.js";
8
8
  import { a as validateSlackBlocksArray, i as parseSlackBlocksInput, r as SLACK_MAX_BLOCKS } from "./thread-ts-ks-O8cEG.js";
@@ -10,12 +10,12 @@ import { n as extractSlackToolSend, r as listSlackMessageActions } from "./messa
10
10
  import { n as isSlackInteractiveRepliesEnabled, r as parseSlackOptionsLine, t as compileSlackInteractiveReplies } from "./interactive-replies-DtYu4Sf5.js";
11
11
  import { a as getSlackWriteClient, c as resolveSlackWebClientOptions, i as createSlackWriteClient, l as resolveSlackWriteClientOptions, n as createSlackTokenCacheKey, o as SLACK_DEFAULT_RETRY_OPTIONS, r as createSlackWebClient, s as SLACK_WRITE_RETRY_OPTIONS, t as clearSlackWriteClientCacheForTest } from "./client-Dc2Ji2YN.js";
12
12
  import { a as normalizeSlackSlug, i as normalizeSlackAllowOwnerEntry, n as normalizeAllowList, o as resolveSlackAllowListMatch, r as normalizeAllowListLower, s as resolveSlackUserAllowed, t as allowListMatches } from "./allow-list-B1lkGjwl.js";
13
- import { t as slackSetupPlugin } from "./channel.setup-BVEey2Ge.js";
14
- import { a as recordSlackThreadParticipation, n as clearSlackThreadParticipationCache, r as hasSlackThreadParticipation } from "./send-CXGjjgpT.js";
15
- import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-DZqQvsrH.js";
13
+ import { t as slackSetupPlugin } from "./channel.setup-WNNVmCm0.js";
14
+ import { a as recordSlackThreadParticipation, n as clearSlackThreadParticipationCache, r as hasSlackThreadParticipation } from "./send-DvfE8LVm.js";
15
+ import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-1o9nMIY8.js";
16
16
  import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./directory-config-9_djLTOK.js";
17
17
  import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./registry-bbjH7IHX.js";
18
18
  import { t as probeSlack } from "./probe-cBVPhCKZ.js";
19
19
  import { t as collectSlackSecurityAuditFindings } from "./security-audit-CikQhBUY.js";
20
- import { n as resolveSlackRuntimeGroupPolicy } from "./provider-HjdBmwDx.js";
20
+ import { n as resolveSlackRuntimeGroupPolicy } from "./provider-Bccng2Wp.js";
21
21
  export { SLACK_DEFAULT_RETRY_OPTIONS, SLACK_MAX_BLOCKS, SLACK_WRITE_RETRY_OPTIONS, resetSlackChannelTypeCacheForTest as __resetSlackChannelTypeCacheForTest, resetSlackChannelTypeCacheForTest, allowListMatches, buildSlackInteractiveBlocks, buildSlackPresentationBlocks, buildSlackThreadingToolContext, clearSlackThreadParticipationCache, clearSlackWriteClientCacheForTest, collectSlackSecurityAuditFindings, compileSlackInteractiveReplies, createSlackTokenCacheKey, createSlackWebClient, createSlackWriteClient, deleteSlackMessage, downloadSlackFile, editSlackMessage, extractSlackToolSend, getSlackMemberInfo, getSlackWriteClient, handleSlackHttpRequest, hasSlackThreadParticipation, inspectSlackAccount, isSlackInteractiveRepliesEnabled, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, listSlackEmojis, listSlackMessageActions, listSlackPins, listSlackReactions, looksLikeSlackTargetId, mergeSlackAccountConfig, normalizeAllowList, normalizeAllowListLower, normalizeSlackAllowOwnerEntry, normalizeSlackMessagingTarget, normalizeSlackSlug, normalizeSlackWebhookPath, parseSlackBlocksInput, parseSlackOptionsLine, 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,6 +1,6 @@
1
1
  import { a as resolveSlackApprovalKind, f as normalizeSlackApproverId, i as isSlackAnyNativeApprovalClientEnabled, o as shouldHandleSlackNativeApprovalRequest, t as resolveSlackReplyBlocks } from "./reply-blocks-BlOURkUm.js";
2
2
  import { s as truncateSlackText } from "./thread-ts-ks-O8cEG.js";
3
- import { t as sendMessageSlack } from "./send-CXGjjgpT.js";
3
+ import { t as sendMessageSlack } from "./send-DvfE8LVm.js";
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 { logError } from "openclaw/plugin-sdk/logging-core";
@@ -59,6 +59,62 @@ function buildSlackMetadataContextElements(metadata) {
59
59
  });
60
60
  return elements;
61
61
  }
62
+ function isSlackApprovalDecision(value) {
63
+ return value === "allow-once" || value === "allow-always" || value === "deny";
64
+ }
65
+ function isSlackCommandApprovalAction(action) {
66
+ return action.kind === "command" && action.command.trim().length > 0;
67
+ }
68
+ function buildSlackApprovalCommandText(params) {
69
+ return `/approve ${params.approvalCommandId} ${params.decision}`;
70
+ }
71
+ function listSlackDecisionApprovalActions(approvalId, actions) {
72
+ const decisionActions = [];
73
+ for (const action of actions) {
74
+ const raw = action;
75
+ if ((raw.kind === "command" ? "command" : "decision") !== "decision" || !isSlackApprovalDecision(raw.decision)) continue;
76
+ if (typeof raw.label !== "string" || typeof raw.command !== "string" || raw.style !== "primary" && raw.style !== "secondary" && raw.style !== "success" && raw.style !== "danger") continue;
77
+ decisionActions.push({
78
+ kind: "decision",
79
+ decision: raw.decision,
80
+ label: raw.label,
81
+ command: buildSlackApprovalCommandText({
82
+ approvalCommandId: approvalId,
83
+ decision: raw.decision
84
+ }),
85
+ style: raw.style
86
+ });
87
+ }
88
+ return decisionActions;
89
+ }
90
+ function buildSlackDecisionActionBlocks(view) {
91
+ return resolveSlackReplyBlocks({
92
+ text: "",
93
+ presentation: buildApprovalPresentationFromActionDescriptors(listSlackDecisionApprovalActions(view.approvalId, view.actions))
94
+ }) ?? [];
95
+ }
96
+ function buildSlackCommandActionTextLines(actions) {
97
+ const commandActions = actions.filter(isSlackCommandApprovalAction);
98
+ if (commandActions.length === 0) return [];
99
+ return [
100
+ "",
101
+ "*Command actions*",
102
+ ...commandActions.flatMap((action) => [truncateSlackMrkdwn(action.label, 120), buildSlackCodeBlock(action.command.trim())])
103
+ ];
104
+ }
105
+ function buildSlackCommandActionBlocks(actions) {
106
+ return actions.filter(isSlackCommandApprovalAction).map((action, index) => {
107
+ const label = truncateSlackMrkdwn(action.label, 120);
108
+ const command = truncateSlackMrkdwn(action.command.trim(), 2600);
109
+ return {
110
+ type: "section",
111
+ text: {
112
+ type: "mrkdwn",
113
+ text: `${index === 0 ? "*Command actions*\n" : ""}${label}\n${buildSlackCodeBlock(command)}`
114
+ }
115
+ };
116
+ });
117
+ }
62
118
  function resolveSlackApprovalDecisionLabel(decision) {
63
119
  return decision === "allow-once" ? "Allowed once" : decision === "allow-always" ? "Allowed always" : "Denied";
64
120
  }
@@ -79,7 +135,8 @@ function buildSlackExecPendingApprovalText(view) {
79
135
  "",
80
136
  "*Command*",
81
137
  buildSlackCodeBlock(view.commandText),
82
- ...metadataLines
138
+ ...metadataLines,
139
+ ...buildSlackCommandActionTextLines(view.actions)
83
140
  ].join("\n");
84
141
  }
85
142
  function buildSlackPluginPendingApprovalText(view) {
@@ -90,7 +147,8 @@ function buildSlackPluginPendingApprovalText(view) {
90
147
  "",
91
148
  "*Request*",
92
149
  view.title,
93
- ...metadataLines
150
+ ...metadataLines,
151
+ ...buildSlackCommandActionTextLines(view.actions)
94
152
  ].join("\n");
95
153
  }
96
154
  function buildSlackPendingApprovalText(view) {
@@ -98,10 +156,8 @@ function buildSlackPendingApprovalText(view) {
98
156
  }
99
157
  function buildSlackExecPendingApprovalBlocks(view) {
100
158
  const metadataElements = buildSlackMetadataContextElements(view.metadata);
101
- const interactiveBlocks = resolveSlackReplyBlocks({
102
- text: "",
103
- presentation: buildApprovalPresentationFromActionDescriptors(view.actions)
104
- }) ?? [];
159
+ const commandActionBlocks = buildSlackCommandActionBlocks(view.actions);
160
+ const interactiveBlocks = buildSlackDecisionActionBlocks(view);
105
161
  return [
106
162
  {
107
163
  type: "section",
@@ -121,15 +177,14 @@ function buildSlackExecPendingApprovalBlocks(view) {
121
177
  type: "context",
122
178
  elements: metadataElements
123
179
  }] : [],
180
+ ...commandActionBlocks,
124
181
  ...interactiveBlocks
125
182
  ];
126
183
  }
127
184
  function buildSlackPluginPendingApprovalBlocks(view) {
128
185
  const metadataElements = buildSlackMetadataContextElements(buildSlackPluginMetadata(view));
129
- const interactiveBlocks = resolveSlackReplyBlocks({
130
- text: "",
131
- presentation: buildApprovalPresentationFromActionDescriptors(view.actions)
132
- }) ?? [];
186
+ const commandActionBlocks = buildSlackCommandActionBlocks(view.actions);
187
+ const interactiveBlocks = buildSlackDecisionActionBlocks(view);
133
188
  return [
134
189
  {
135
190
  type: "section",
@@ -149,6 +204,7 @@ function buildSlackPluginPendingApprovalBlocks(view) {
149
204
  type: "context",
150
205
  elements: metadataElements
151
206
  }] : [],
207
+ ...commandActionBlocks,
152
208
  ...interactiveBlocks
153
209
  ];
154
210
  }
@@ -10,19 +10,18 @@ import { a as resolveConfiguredFromRequiredCredentialStatuses, i as projectCrede
10
10
  import { r as createSlackWebClient } from "./client-Dc2Ji2YN.js";
11
11
  import { r as normalizeAllowListLower } from "./allow-list-B1lkGjwl.js";
12
12
  import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
13
- import { i as slackSecurityAdapter, n as isSlackPluginAccountConfigured, r as slackConfigAdapter, t as createSlackPluginBase } from "./shared-CqkL-uuZ.js";
13
+ import { i as slackSecurityAdapter, n as isSlackPluginAccountConfigured, r as slackConfigAdapter, t as createSlackPluginBase } from "./shared-D8A7iVVH.js";
14
14
  import { i as SLACK_CHANNEL, n as createSlackSetupWizardProxy, r as slackSetupAdapter } from "./setup-core-DKe7Ug3V.js";
15
15
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
16
16
  import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
17
17
  import { buildOutboundBaseSessionKey, normalizeMessageChannel } from "openclaw/plugin-sdk/routing";
18
18
  import { buildLegacyDmAccountAllowlistAdapter, createAccountScopedAllowlistNameResolver, createFlatAllowlistOverrideResolver } from "openclaw/plugin-sdk/allowlist-config-edit";
19
19
  import { buildThreadAwareOutboundSessionRoute, createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
20
- import { createChannelMessageAdapterFromOutbound } from "openclaw/plugin-sdk/channel-message";
20
+ import { createChannelMessageAdapterFromOutbound, resolveOutboundSendDep } from "openclaw/plugin-sdk/channel-outbound";
21
21
  import { createPairingPrefixStripper } from "openclaw/plugin-sdk/channel-pairing";
22
22
  import { createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
23
23
  import { createChannelDirectoryAdapter, createRuntimeDirectoryLiveAdapter } from "openclaw/plugin-sdk/directory-runtime";
24
24
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
25
- import { resolveOutboundSendDep } from "openclaw/plugin-sdk/outbound-send-deps";
26
25
  import { createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
27
26
  import { isSingleUseReplyToMode } from "openclaw/plugin-sdk/reply-reference";
28
27
  import { createApproverRestrictedNativeApprovalCapability, splitChannelApprovalCapability } from "openclaw/plugin-sdk/approval-delivery-runtime";
@@ -236,7 +235,7 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
236
235
  approvalKind: resolveSlackApprovalKind(request),
237
236
  request
238
237
  }),
239
- load: async () => (await import("./approval-handler.runtime-XWqmvXQj.js")).slackApprovalNativeRuntime
238
+ load: async () => (await import("./approval-handler.runtime-Ba8nwnYi.js")).slackApprovalNativeRuntime
240
239
  })
241
240
  });
242
241
  const baseSlackNativeAdapter = baseSlackApprovalCapability.native;
@@ -435,7 +434,7 @@ async function handleSlackMessageAction(params) {
435
434
  //#region extensions/slack/src/channel-actions.ts
436
435
  let slackActionRuntimePromise$1;
437
436
  async function loadSlackActionRuntime$1() {
438
- slackActionRuntimePromise$1 ??= import("./action-runtime.runtime-CLBURvAS.js");
437
+ slackActionRuntimePromise$1 ??= import("./action-runtime.runtime-BZa5VDjs.js");
439
438
  return await slackActionRuntimePromise$1;
440
439
  }
441
440
  function resolveSlackActionContext(params) {
@@ -565,9 +564,9 @@ const EXTENSION_SHARED_MODULE_ID = "openclaw/plugin-sdk/extension-shared";
565
564
  const TARGET_RESOLVER_RUNTIME_MODULE_ID = "openclaw/plugin-sdk/target-resolver-runtime";
566
565
  const loadExtensionSharedSdk = createLazyRuntimeModule(() => import(EXTENSION_SHARED_MODULE_ID));
567
566
  const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import(TARGET_RESOLVER_RUNTIME_MODULE_ID));
568
- const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-DZAXKCKa.js"));
567
+ const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-gjRthuZA.js"));
569
568
  const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-CnyhLIPT.js"));
570
- const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-C3lEsGEd.js").then((n) => n.t));
569
+ const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-ChuR4_0v.js").then((n) => n.t));
571
570
  async function resolveSlackHandleAction() {
572
571
  return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
573
572
  }
@@ -591,11 +590,11 @@ const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./d
591
590
  const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-CT4oiz_9.js").then((n) => n.n));
592
591
  const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-o5S-Ijks.js").then((n) => n.n));
593
592
  async function loadSlackActionRuntime() {
594
- slackActionRuntimePromise ??= import("./action-runtime.runtime-CLBURvAS.js");
593
+ slackActionRuntimePromise ??= import("./action-runtime.runtime-BZa5VDjs.js");
595
594
  return await slackActionRuntimePromise;
596
595
  }
597
596
  async function loadSlackSendRuntime() {
598
- slackSendRuntimePromise ??= import("./send.runtime-B0Gg0Ncx.js");
597
+ slackSendRuntimePromise ??= import("./send.runtime-v3TSw9xY.js");
599
598
  return await slackSendRuntimePromise;
600
599
  }
601
600
  async function loadSlackProbeModule() {
@@ -603,7 +602,7 @@ async function loadSlackProbeModule() {
603
602
  return await slackProbeModulePromise;
604
603
  }
605
604
  async function loadSlackMonitorModule() {
606
- slackMonitorModulePromise ??= import("./monitor-CWa6zIBH.js").then((n) => n.t);
605
+ slackMonitorModulePromise ??= import("./monitor-Cn7LUDFL.js").then((n) => n.t);
607
606
  return await slackMonitorModulePromise;
608
607
  }
609
608
  async function loadSlackDirectoryLiveModule() {
@@ -1,2 +1,2 @@
1
- import { t as slackPlugin } from "./channel-CxtT6zWb.js";
1
+ import { t as slackPlugin } from "./channel-Bd7eept6.js";
2
2
  export { slackPlugin };
@@ -5,7 +5,7 @@ import { t as SlackChannelConfigSchema } from "./config-schema-CUiDK8HV.js";
5
5
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
6
6
  import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
7
7
  //#region extensions/slack/src/channel.setup.ts
8
- const slackSetupWizard = createSlackSetupWizardProxy(async () => ({ slackSetupWizard: (await import("./setup-surface-DZAXKCKa.js")).slackSetupWizard }));
8
+ const slackSetupWizard = createSlackSetupWizardProxy(async () => ({ slackSetupWizard: (await import("./setup-surface-gjRthuZA.js")).slackSetupWizard }));
9
9
  const slackSetupConfigAdapter = createScopedChannelConfigAdapter({
10
10
  sectionKey: SLACK_CHANNEL,
11
11
  listAccountIds: listSlackAccountIds,
@@ -1,4 +1,4 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BVvVoRt-.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DIMUXDHO.js";
2
2
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-g_PPWuoD.js";
3
3
  import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./directory-config-9_djLTOK.js";
4
4
  import { t as collectSlackSecurityAuditFindings } from "./security-audit-CikQhBUY.js";
@@ -1,4 +1,4 @@
1
- import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode } from "./streaming-compat-gDv83t5m.js";
1
+ import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode } from "./streaming-compat-DjlgH-Be.js";
2
2
  import { asObjectRecord, hasLegacyAccountStreamingAliases, hasLegacyStreamingAliases, normalizeLegacyChannelAliases } from "openclaw/plugin-sdk/runtime-doctor";
3
3
  //#region extensions/slack/src/doctor-contract.ts
4
4
  function hasLegacySlackStreamingAliases(value) {
@@ -1,2 +1,2 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BVvVoRt-.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DIMUXDHO.js";
2
2
  export { legacyConfigRules, normalizeCompatibilityConfig };
@@ -1,3 +1,3 @@
1
- import { t as prepareSlackMessage } from "./prepare-fzBRqJsc.js";
1
+ import { t as prepareSlackMessage } from "./prepare-Bl5WcC3f.js";
2
2
  import { t as createInboundSlackTestContext } from "./prepare.test-helpers-BcAo4KMw.js";
3
3
  export { createInboundSlackTestContext, prepareSlackMessage };
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
2
  import { E as buildSlackSlashCommandMatcher } from "./room-context-BmNTBiw5.js";
3
3
  import { t as isSlackChannelAllowedByPolicy } from "./policy-pu8tsF8_.js";
4
- import { t as monitorSlackProvider } from "./provider-HjdBmwDx.js";
5
- import { o as resolveSlackThreadTs } from "./replies-C6KAYDBW.js";
4
+ import { t as monitorSlackProvider } from "./provider-Bccng2Wp.js";
5
+ import { o as resolveSlackThreadTs } from "./replies-jiEDV6lH.js";
6
6
  //#region extensions/slack/src/monitor.ts
7
7
  var monitor_exports = /* @__PURE__ */ __exportAll({
8
8
  buildSlackSlashCommandMatcher: () => buildSlackSlashCommandMatcher,
@@ -3,8 +3,8 @@ import { n as buildSlackPresentationBlocks, r as resolveSlackInteractiveBlockOff
3
3
  import { i as parseSlackBlocksInput, n as resolveSlackThreadTsValue, o as SLACK_TEXT_LIMIT } from "./thread-ts-ks-O8cEG.js";
4
4
  import { t as compileSlackInteractiveReplies } from "./interactive-replies-DtYu4Sf5.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
+ import { resolveOutboundSendDep } from "openclaw/plugin-sdk/channel-outbound";
6
7
  import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
7
- import { resolveOutboundSendDep } from "openclaw/plugin-sdk/outbound-send-deps";
8
8
  import { resolveInteractiveTextFallback } from "openclaw/plugin-sdk/interactive-runtime";
9
9
  import { resolvePayloadMediaUrls, sendPayloadMediaSequenceAndFinalize, sendTextMediaPayload } from "openclaw/plugin-sdk/reply-payload";
10
10
  //#region extensions/slack/src/outbound-adapter.ts
@@ -12,7 +12,7 @@ var outbound_adapter_exports = /* @__PURE__ */ __exportAll({ slackOutbound: () =
12
12
  const SLACK_MAX_BLOCKS = 50;
13
13
  let slackSendRuntimePromise;
14
14
  async function loadSlackSendRuntime() {
15
- slackSendRuntimePromise ??= import("./send.runtime-B0Gg0Ncx.js");
15
+ slackSendRuntimePromise ??= import("./send.runtime-v3TSw9xY.js");
16
16
  return await slackSendRuntimePromise;
17
17
  }
18
18
  function resolveRenderedInteractiveBlocks(interactive, previousBlocks) {
@@ -1,2 +1,2 @@
1
- import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-C57ipELl.js";
1
+ import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-8MnHFgR1.js";
2
2
  export { createSlackOutboundPayloadHarness };
@@ -1,4 +1,4 @@
1
- import { n as slackOutbound } from "./outbound-adapter-C3lEsGEd.js";
1
+ import { n as slackOutbound } from "./outbound-adapter-ChuR4_0v.js";
2
2
  import { primeChannelOutboundSendMock } from "openclaw/plugin-sdk/channel-contract-testing";
3
3
  //#region node_modules/tinyrainbow/dist/index.js
4
4
  var b = {