@openclaw/slack 2026.10.5-beta.3 → 2026.10.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.
Files changed (38) hide show
  1. package/dist/.setup/{action-runtime-BiRZNsIG.mjs → action-runtime-DtOIVezL.mjs} +4 -4
  2. package/dist/.setup/action-runtime.runtime-DdFvX309.mjs +1 -0
  3. package/dist/.setup/{actions-KGKwTAKO.mjs → actions-Ch4O8XbW.mjs} +2 -2
  4. package/dist/.setup/{approval-handler.runtime-DYrsG2Ox.mjs → approval-handler.runtime-DqAUYttU.mjs} +4 -4
  5. package/dist/.setup/{approval-message-updates-CwdDew9i.mjs → approval-message-updates-BZohzbfY.mjs} +1 -1
  6. package/dist/.setup/{channel-C7MY-Hhg.mjs → channel-C6Y0ZA9K.mjs} +9 -9
  7. package/dist/.setup/{channel-type-NjX2SwvS.mjs → channel-type-DFD9jUWJ.mjs} +1 -1
  8. package/dist/.setup/{monitor-BnN2px0N.mjs → monitor-CNECe8FK.mjs} +9 -9
  9. package/dist/.setup/{outbound-adapter-4HdGq-8r.mjs → outbound-adapter-CEh2K9pB.mjs} +3 -3
  10. package/dist/.setup/{pipeline.runtime-ByPbC6MN.mjs → pipeline.runtime-q5AyVl22.mjs} +9 -9
  11. package/dist/.setup/{policy-BaY9_eh1.mjs → policy-DhgXcV3u.mjs} +1 -1
  12. package/dist/.setup/{relay-source-CVfH-fBO.mjs → relay-source-DYuDAF94.mjs} +1 -1
  13. package/dist/.setup/{replies-WmfwvQxc.mjs → replies-BNr7i3d0.mjs} +4 -4
  14. package/dist/.setup/{reply-blocks-rqHQ_3pr.mjs → reply-blocks-DrQW0Z9h.mjs} +1 -1
  15. package/dist/.setup/runtime-setter-api-Cx_PV-xu.mjs +2 -0
  16. package/dist/.setup/secret-contract-api-DB6CMdgc.mjs +2 -0
  17. package/dist/.setup/{send-CLmsR42r.mjs → send-CyRH2z7u.mjs} +1 -1
  18. package/dist/.setup/{session-status-CcXe10zN.mjs → session-status-Cl6oyyg7.mjs} +1 -1
  19. package/dist/.setup/setup-plugin-api-D7rHLiNk.mjs +2 -0
  20. package/dist/.setup/{slash-dispatch.runtime-Dzwj6TPI.mjs → slash-dispatch.runtime-243ZiiBP.mjs} +1 -1
  21. package/dist/api.js +6 -6
  22. package/dist/channel-config-api.js +1 -2
  23. package/dist/channel-plugin-api.js +1 -2
  24. package/dist/directory-contract-api.js +1 -2
  25. package/dist/doctor-contract-api.js +1 -2
  26. package/dist/http-routes-api.js +1 -2
  27. package/dist/message-tool-api.js +1 -2
  28. package/dist/runtime-api.js +5 -5
  29. package/dist/runtime-setter-api.js +1 -2
  30. package/dist/secret-contract-api.js +1 -2
  31. package/dist/security-contract-api.js +1 -2
  32. package/dist/setup-entry.js +3 -3
  33. package/dist/setup-plugin-api.js +1 -2
  34. package/package.json +4 -4
  35. package/dist/.setup/action-runtime.runtime-C5xceJoS.mjs +0 -2
  36. package/dist/.setup/runtime-setter-api-CMFvhrAr.mjs +0 -3
  37. package/dist/.setup/secret-contract-api-DmUVxIRs.mjs +0 -3
  38. package/dist/.setup/setup-plugin-api-D92P5p51.mjs +0 -3
@@ -1,7 +1,7 @@
1
1
  import { a as parseSlackTarget, n as formatSlackTarget, o as resolveSlackChannelId } from "./target-parsing-FFE26kOV.mjs";
2
2
  import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
3
- import { Bt as resolveSlackAutoThreadId, f as assertSlackDetachedTargetAllowed, kt as getSlackInstallationKind, pt as parseSlackBlocksInput, r as buildSlackChannelIdCandidates, v as hasSlackNativeDataBlock, zt as SLACK_PRIVATE_ACTION_DELIVERY_RESULT } from "./session-status-CcXe10zN.mjs";
4
- import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-BaY9_eh1.mjs";
3
+ import { Bt as resolveSlackAutoThreadId, f as assertSlackDetachedTargetAllowed, kt as getSlackInstallationKind, pt as parseSlackBlocksInput, r as buildSlackChannelIdCandidates, v as hasSlackNativeDataBlock, zt as SLACK_PRIVATE_ACTION_DELIVERY_RESULT } from "./session-status-Cl6oyyg7.mjs";
4
+ import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-DhgXcV3u.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";
@@ -30,10 +30,10 @@ const SLACK_REACTION_RESULT_LIMIT = 100;
30
30
  function readSlackResultLimit(params) {
31
31
  return Math.min(readPositiveIntegerParam(params, "limit", { message: "limit must be a positive integer." }) ?? SLACK_REACTION_RESULT_LIMIT, SLACK_REACTION_RESULT_LIMIT);
32
32
  }
33
- const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions-KGKwTAKO.mjs").then((n) => n.t));
33
+ const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions-Ch4O8XbW.mjs").then((n) => n.t));
34
34
  const bindSlackAction = createLazyRuntimeMethodBinder(loadSlackActionsRuntime);
35
35
  const loadSlackAccountsRuntime = createLazyRuntimeModule(() => import("./accounts-BMg9YLIv.mjs").then((n) => n.t));
36
- const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-NjX2SwvS.mjs").then((n) => n.t));
36
+ const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-DFD9jUWJ.mjs").then((n) => n.t));
37
37
  const bindSlackChannelType = createLazyRuntimeMethodBinder(loadSlackChannelTypeRuntime);
38
38
  const slackActionRuntime = {
39
39
  deleteSlackMessage: bindSlackAction((runtime) => runtime.deleteSlackMessage),
@@ -0,0 +1 @@
1
+ export { t as handleSlackAction } from "./action-runtime-DtOIVezL.mjs";
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { h as resolveSlackBotToken, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-BMg9YLIv.mjs";
3
3
  import { n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
4
- import { C as stripSlackNativeDataBlocks, D as SLACK_EDIT_TEXT_MAX_BYTES, E as renderSlackBlockFallbackText, N as truncateSlackTextByUtf8Bytes, T as buildSlackCompleteBlocksFallbackText, X as normalizeSlackOutboundText, at as escapeSlackMrkdwn, f as assertSlackDetachedTargetAllowed, h as appendSlackNativeDataPlainTextFallback, j as countSlackTextUtf8Bytes, m as appendSlackNativeDataFallbackText, mt as validateSlackBlocksArray, v as hasSlackNativeDataBlock, w as buildSlackBlocksFallbackText, y as isSlackInvalidBlocksError, zt as SLACK_PRIVATE_ACTION_DELIVERY_RESULT } from "./session-status-CcXe10zN.mjs";
4
+ import { C as stripSlackNativeDataBlocks, D as SLACK_EDIT_TEXT_MAX_BYTES, E as renderSlackBlockFallbackText, N as truncateSlackTextByUtf8Bytes, T as buildSlackCompleteBlocksFallbackText, X as normalizeSlackOutboundText, at as escapeSlackMrkdwn, f as assertSlackDetachedTargetAllowed, h as appendSlackNativeDataPlainTextFallback, j as countSlackTextUtf8Bytes, m as appendSlackNativeDataFallbackText, mt as validateSlackBlocksArray, v as hasSlackNativeDataBlock, w as buildSlackBlocksFallbackText, y as isSlackInvalidBlocksError, zt as SLACK_PRIVATE_ACTION_DELIVERY_RESULT } from "./session-status-Cl6oyyg7.mjs";
5
5
  import { _ as getSlackWriteClient, h as createSlackWriteClient, u as createSlackLookupClient } from "./probe-CyX52GtD.mjs";
6
- import { m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-CLmsR42r.mjs";
6
+ import { m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-CyRH2z7u.mjs";
7
7
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
8
8
  import { asOptionalObjectRecord, asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { createSubsystemLogger, logVerbose } from "openclaw/plugin-sdk/runtime-env";
@@ -1,9 +1,9 @@
1
1
  import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
2
- import { Ct as shouldHandleSlackNativeApprovalRequest, D as SLACK_EDIT_TEXT_MAX_BYTES, Ft as normalizeSlackApproverId, M as truncateSlackText, N as truncateSlackTextByUtf8Bytes, ht as isSlackAnyNativeApprovalClientEnabled, n as setSlackSessionStatus, ot as SLACK_APPROVAL_HEADER_BLOCK_ID } from "./session-status-CcXe10zN.mjs";
2
+ import { Ct as shouldHandleSlackNativeApprovalRequest, D as SLACK_EDIT_TEXT_MAX_BYTES, Ft as normalizeSlackApproverId, M as truncateSlackText, N as truncateSlackTextByUtf8Bytes, ht as isSlackAnyNativeApprovalClientEnabled, n as setSlackSessionStatus, ot as SLACK_APPROVAL_HEADER_BLOCK_ID } from "./session-status-Cl6oyyg7.mjs";
3
3
  import { g as getSlackListenerWriteClient } from "./probe-CyX52GtD.mjs";
4
- import { s as resolveSlackReplyBlocks } from "./reply-blocks-rqHQ_3pr.mjs";
5
- import { t as sendMessageSlack } from "./send-CLmsR42r.mjs";
6
- import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-CwdDew9i.mjs";
4
+ import { s as resolveSlackReplyBlocks } from "./reply-blocks-DrQW0Z9h.mjs";
5
+ import { t as sendMessageSlack } from "./send-CyRH2z7u.mjs";
6
+ import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-BZohzbfY.mjs";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
9
9
  import { buildApprovalPresentationFromActionDescriptors } from "openclaw/plugin-sdk/approval-reply-runtime";
@@ -1,4 +1,4 @@
1
- import { V as isSlackApprovalActionId, st as decodeSlackApprovalAction } from "./session-status-CcXe10zN.mjs";
1
+ import { V as isSlackApprovalActionId, st as decodeSlackApprovalAction } from "./session-status-Cl6oyyg7.mjs";
2
2
  import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
4
4
  //#region extensions/slack/src/approval-message-updates.ts
@@ -2,12 +2,12 @@ import { r as isSlackPluginAccountConfigured } from "./account-configured-zcR9TJ
2
2
  import { c as resolveSlackAccountAllowFrom, d as resolveSlackOperationToken, f as resolveSlackReplyToMode, i as listSlackAccountIds, n as hasImplicitDefaultSlackAccount, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-BMg9YLIv.mjs";
3
3
  import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, n as formatSlackTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId, t as canonicalizeSlackApiTargetId } from "./target-parsing-FFE26kOV.mjs";
4
4
  import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
5
- import { A as SLACK_TEXT_LIMIT, At as isSlackWorkspaceInstallation, Bt as resolveSlackAutoThreadId, Ct as shouldHandleSlackNativeApprovalRequest, D as SLACK_EDIT_TEXT_MAX_BYTES, Dt as isSlackPluginApprovalAuthorizedSender, Et as getSlackApprovalApproversForTeam, It as resolveSlackExecApprovalTarget, Lt as shouldSuppressLocalSlackExecApprovalPrompt, Mt as getSlackExecApprovalApprovers, Nt as isSlackExecApprovalAuthorizedSender, Ot as resolveSlackApprovalTeamId, Pt as isSlackExecApprovalClientEnabled, Rt as resolvePluginApprovalSlackApprovers, St as resolveTurnSourceSlackOriginTarget, Tt as slackTargetsMatch, X as normalizeSlackOutboundText, _t as normalizeSlackForwardTarget, a as resolveSlackGroupRequireMention, bt as resolveSlackApproverDmTargets, c as qualifySlackRoutePeerId, d as resolveSlackConversationBindingRoute, f as assertSlackDetachedTargetAllowed, gt as isSlackPluginApprovalRequest, ht as isSlackAnyNativeApprovalClientEnabled, it as renderSlackMessagePresentationFallbackText, j as countSlackTextUtf8Bytes, kt as getSlackInstallationKind, n as setSlackSessionStatus, o as resolveSlackGroupToolPolicy, s as qualifySlackConversationId, u as normalizeSlackRouteBindingConfig, ut as SLACK_PRESENTATION_CAPABILITIES, vt as normalizeSlackOriginTarget, wt as shouldHandleSlackPluginViaForwardingSession, xt as resolveSlackFallbackOriginTarget, yt as resolveSessionSlackOriginTarget } from "./session-status-CcXe10zN.mjs";
5
+ import { A as SLACK_TEXT_LIMIT, At as isSlackWorkspaceInstallation, Bt as resolveSlackAutoThreadId, Ct as shouldHandleSlackNativeApprovalRequest, D as SLACK_EDIT_TEXT_MAX_BYTES, Dt as isSlackPluginApprovalAuthorizedSender, Et as getSlackApprovalApproversForTeam, It as resolveSlackExecApprovalTarget, Lt as shouldSuppressLocalSlackExecApprovalPrompt, Mt as getSlackExecApprovalApprovers, Nt as isSlackExecApprovalAuthorizedSender, Ot as resolveSlackApprovalTeamId, Pt as isSlackExecApprovalClientEnabled, Rt as resolvePluginApprovalSlackApprovers, St as resolveTurnSourceSlackOriginTarget, Tt as slackTargetsMatch, X as normalizeSlackOutboundText, _t as normalizeSlackForwardTarget, a as resolveSlackGroupRequireMention, bt as resolveSlackApproverDmTargets, c as qualifySlackRoutePeerId, d as resolveSlackConversationBindingRoute, f as assertSlackDetachedTargetAllowed, gt as isSlackPluginApprovalRequest, ht as isSlackAnyNativeApprovalClientEnabled, it as renderSlackMessagePresentationFallbackText, j as countSlackTextUtf8Bytes, kt as getSlackInstallationKind, n as setSlackSessionStatus, o as resolveSlackGroupToolPolicy, s as qualifySlackConversationId, u as normalizeSlackRouteBindingConfig, ut as SLACK_PRESENTATION_CAPABILITIES, vt as normalizeSlackOriginTarget, wt as shouldHandleSlackPluginViaForwardingSession, xt as resolveSlackFallbackOriginTarget, yt as resolveSessionSlackOriginTarget } from "./session-status-Cl6oyyg7.mjs";
6
6
  import { _ as getSlackWriteClient, c as collectSlackCursorPages, o as formatSlackError, u as createSlackLookupClient } from "./probe-CyX52GtD.mjs";
7
- import { c as resolveSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, p as buildSlackPresentationBlocksIfComplete, r as normalizeSlackReplyPayload, s as resolveSlackReplyBlocks } from "./reply-blocks-rqHQ_3pr.mjs";
7
+ import { c as resolveSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, p as buildSlackPresentationBlocksIfComplete, r as normalizeSlackReplyPayload, s as resolveSlackReplyBlocks } from "./reply-blocks-DrQW0Z9h.mjs";
8
8
  import { n as resolveSlackReplyThreadTs, r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
9
9
  import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-C7im5ETh.mjs";
10
- import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-NjX2SwvS.mjs";
10
+ import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-DFD9jUWJ.mjs";
11
11
  import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
12
12
  import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-CtprVh_G.mjs";
13
13
  import { i as SLACK_CHANNEL } from "./channel.setup-BFpQowO3.mjs";
@@ -99,7 +99,7 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
99
99
  ],
100
100
  isConfigured: isSlackAnyNativeApprovalClientEnabled,
101
101
  shouldHandle: shouldHandleSlackNativeApprovalRequest,
102
- load: async () => (await import("./approval-handler.runtime-DYrsG2Ox.mjs")).slackApprovalNativeRuntime
102
+ load: async () => (await import("./approval-handler.runtime-DqAUYttU.mjs")).slackApprovalNativeRuntime
103
103
  })
104
104
  });
105
105
  const baseSlackNativeAdapter = baseSlackApprovalCapability.native;
@@ -378,7 +378,7 @@ const SLACK_TOOL_DELIVERY_ACTIONS = /* @__PURE__ */ new Set([
378
378
  "unpinMessage",
379
379
  "uploadFile"
380
380
  ]);
381
- const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-C5xceJoS.mjs"));
381
+ const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-DdFvX309.mjs"));
382
382
  function resolveSlackActionContext(ctx, toolContext) {
383
383
  if (!toolContext && !ctx.mediaAccess && !ctx.mediaLocalRoots && !ctx.mediaReadFile && !ctx.conversationReadOrigin && !ctx.requesterAccountId && !ctx.requesterSenderId && !ctx.assertDirectAdapterHandoff) return;
384
384
  return {
@@ -617,7 +617,7 @@ function buildSlackThreadingToolContext(params) {
617
617
  const loadExtensionSharedSdk = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/extension-shared"));
618
618
  const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/target-resolver-runtime"));
619
619
  const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-aMcMHhXk.mjs"));
620
- const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-4HdGq-8r.mjs"));
620
+ const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-CEh2K9pB.mjs"));
621
621
  const bindSlackOutbound = createLazyRuntimeMethodBinder(loadSlackOutboundAdapterModule);
622
622
  async function resolveSlackHandleAction() {
623
623
  return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
@@ -625,10 +625,10 @@ async function resolveSlackHandleAction() {
625
625
  const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-BEDZPfDn.mjs").then((n) => n.t));
626
626
  const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-B96cgprw.mjs").then((n) => n.n));
627
627
  const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-Xz9aPdns.mjs").then((n) => n.n));
628
- const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-C5xceJoS.mjs"));
629
- const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-CLmsR42r.mjs").then((n) => n.n));
628
+ const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-DdFvX309.mjs"));
629
+ const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-CyRH2z7u.mjs").then((n) => n.n));
630
630
  const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-CyX52GtD.mjs").then((n) => n.n));
631
- const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-BnN2px0N.mjs").then((n) => n.t));
631
+ const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-CNECe8FK.mjs").then((n) => n.t));
632
632
  const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-FipfeCwt.mjs").then((n) => n.t));
633
633
  async function setSlackHeartbeatThreadStatus(params) {
634
634
  const threadTs = resolveSlackThreadTsValue({ threadId: params.threadId });
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-BMg9YLIv.mjs";
3
- import { f as assertSlackDetachedTargetAllowed } from "./session-status-CcXe10zN.mjs";
3
+ import { f as assertSlackDetachedTargetAllowed } from "./session-status-Cl6oyyg7.mjs";
4
4
  import { d as createSlackReadClient, m as createSlackWebClient, y as readLruMapEntry } from "./probe-CyX52GtD.mjs";
5
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { normalizeStringEntriesLower } from "openclaw/plugin-sdk/string-normalization-runtime";
@@ -2,16 +2,16 @@ import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-CIbMfuf8.mjs";
3
3
  import { a as mergeSlackAccountConfig, c as resolveSlackAccountAllowFrom, f as resolveSlackReplyToMode, h as resolveSlackBotToken, l as resolveSlackAccountDmPolicy, m as resolveSlackAppToken, o as resolveDefaultSlackAccountId, p as formatSlackBotTokenIdentityWarning, s as resolveSlackAccount } from "./accounts-BMg9YLIv.mjs";
4
4
  import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
5
- import { A as SLACK_TEXT_LIMIT, Dt as isSlackPluginApprovalAuthorizedSender, G as decodeSlackQuestionAction, H as isSlackCallbackActionId, M as truncateSlackText, Nt as isSlackExecApprovalAuthorizedSender, U as isSlackQuestionActionId, V as isSlackApprovalActionId, at as escapeSlackMrkdwn, c as qualifySlackRoutePeerId, d as resolveSlackConversationBindingRoute, ht as isSlackAnyNativeApprovalClientEnabled, jt as registerSlackInstallationState, l as resolveSlackAgentRoute, n as setSlackSessionStatus, q as resolveSlackQuestionAction, r as buildSlackChannelIdCandidates, s as qualifySlackConversationId, st as decodeSlackApprovalAction, t as renameSlackSession, u as normalizeSlackRouteBindingConfig } from "./session-status-CcXe10zN.mjs";
5
+ import { A as SLACK_TEXT_LIMIT, Dt as isSlackPluginApprovalAuthorizedSender, G as decodeSlackQuestionAction, H as isSlackCallbackActionId, M as truncateSlackText, Nt as isSlackExecApprovalAuthorizedSender, U as isSlackQuestionActionId, V as isSlackApprovalActionId, at as escapeSlackMrkdwn, c as qualifySlackRoutePeerId, d as resolveSlackConversationBindingRoute, ht as isSlackAnyNativeApprovalClientEnabled, jt as registerSlackInstallationState, l as resolveSlackAgentRoute, n as setSlackSessionStatus, q as resolveSlackQuestionAction, r as buildSlackChannelIdCandidates, s as qualifySlackConversationId, st as decodeSlackApprovalAction, t as renameSlackSession, u as normalizeSlackRouteBindingConfig } from "./session-status-Cl6oyyg7.mjs";
6
6
  import { A as resolveSlackAllowListMatch, C as resolveSlackLookupClientOptions, D as allowListMatches, O as normalizeSlackAllowOwnerEntry, T as resolveSlackWebClientOptions, a as slackIngressIdentity, b as writeLruMapEntry, c as collectSlackCursorPages, f as createSlackStartupAuthClient, g as getSlackListenerWriteClient, i as createSlackIngressSubject, j as resolveSlackUserAllowListForTeam, k as normalizeSlackSlug, m as createSlackWebClient, o as formatSlackError, v as pruneExpiredMapEntries, w as resolveSlackMonitorDispatchers, y as readLruMapEntry } from "./probe-CyX52GtD.mjs";
7
7
  import { n as getSlackRuntime, t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
8
8
  import { t as DEFAULT_SLACK_SUGGESTED_PROMPTS } from "./channel-meta-C443t-lI.mjs";
9
- import { S as hasSlackMessageTableBlock, f as readSlackMessages, v as isGovSlackClient, y as saveRemoteMedia } from "./actions-KGKwTAKO.mjs";
10
- import { d as requireSlackPostMessageTimestamp, f as buildSlackMessageIdentityPayload, r as setSlackDefaultSendIdentity } from "./send-CLmsR42r.mjs";
11
- import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-BaY9_eh1.mjs";
9
+ import { S as hasSlackMessageTableBlock, f as readSlackMessages, v as isGovSlackClient, y as saveRemoteMedia } from "./actions-Ch4O8XbW.mjs";
10
+ import { d as requireSlackPostMessageTimestamp, f as buildSlackMessageIdentityPayload, r as setSlackDefaultSendIdentity } from "./send-CyRH2z7u.mjs";
11
+ import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-DhgXcV3u.mjs";
12
12
  import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B96cgprw.mjs";
13
13
  import { t as resolveSlackUserAllowlist } from "./resolve-users-Xz9aPdns.mjs";
14
- import { n as runSlackApprovalMessageUpdate, t as hasSlackApprovalControl } from "./approval-message-updates-CwdDew9i.mjs";
14
+ import { n as runSlackApprovalMessageUpdate, t as hasSlackApprovalControl } from "./approval-message-updates-BZohzbfY.mjs";
15
15
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
16
16
  import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
17
17
  import { asNonArrayRecord, asOptionalObjectRecord, asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries, normalizeUniqueTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -2830,7 +2830,7 @@ const SLACK_COMMAND_ARG_BUTTON_VALUE_MAX = 2e3;
2830
2830
  const SLACK_COMMAND_ARG_CONFIRM_TEXT_MAX = 300;
2831
2831
  const SLACK_HEADER_TEXT_MAX = 150;
2832
2832
  const SLACK_COMMAND_ARG_ACTION_BLOCKS_MAX = 47;
2833
- const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-Dzwj6TPI.mjs"));
2833
+ const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-243ZiiBP.mjs"));
2834
2834
  const loadPluginCommandRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/plugin-command-runtime"));
2835
2835
  function resolveSlackCommandMenuModelContext(params) {
2836
2836
  if (!params.sessionKey.trim()) return {};
@@ -4461,7 +4461,7 @@ async function handleSlackApprovalInteraction(params) {
4461
4461
  channelId,
4462
4462
  messageTs
4463
4463
  }, async () => {
4464
- const { readSlackMessages } = await import("./actions-KGKwTAKO.mjs").then((n) => n.t);
4464
+ const { readSlackMessages } = await import("./actions-Ch4O8XbW.mjs").then((n) => n.t);
4465
4465
  const { messages } = await readSlackMessages(channelId, {
4466
4466
  client: params.eventScope?.client ?? params.ctx.app.client,
4467
4467
  messageId: messageTs,
@@ -5800,7 +5800,7 @@ function buildSlackDebounceKey(message, accountId, teamId) {
5800
5800
  }
5801
5801
  //#endregion
5802
5802
  //#region extensions/slack/src/monitor/message-handler.ts
5803
- const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-ByPbC6MN.mjs"));
5803
+ const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-q5AyVl22.mjs"));
5804
5804
  const RETRYABLE_FLUSH_MAX_ATTEMPTS = 3;
5805
5805
  const RETRYABLE_FLUSH_RETRY_DELAY_MS = 1e3;
5806
5806
  const REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE = /reply session initialization conflicted for \S+/u;
@@ -6345,7 +6345,7 @@ async function getSlackBoltInterop() {
6345
6345
  }
6346
6346
  return slackBoltInterop;
6347
6347
  }
6348
- const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-CVfH-fBO.mjs"));
6348
+ const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-DYuDAF94.mjs"));
6349
6349
  function resolveSlackRuntimeIdentity(params) {
6350
6350
  const botUserId = normalizeOptionalString(params.botUserId);
6351
6351
  const botId = normalizeOptionalString(params.botId);
@@ -1,7 +1,7 @@
1
1
  import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-BMg9YLIv.mjs";
2
2
  import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
3
- import { A as SLACK_TEXT_LIMIT, F as SLACK_QUESTION_FINALIZATION_BLOCKS, W as resolveSlackQuestionActionIds, at as escapeSlackMrkdwn, f as assertSlackDetachedTargetAllowed, ut as SLACK_PRESENTATION_CAPABILITIES } from "./session-status-CcXe10zN.mjs";
4
- import { c as resolveSlackReplyDeliveryMessages, i as parseSlackReplyBlockSegments, o as resolveSlackReplyBlockResolution, r as normalizeSlackReplyPayload, u as resolveSlackAuthoredTextPlacement } from "./reply-blocks-rqHQ_3pr.mjs";
3
+ import { A as SLACK_TEXT_LIMIT, F as SLACK_QUESTION_FINALIZATION_BLOCKS, W as resolveSlackQuestionActionIds, at as escapeSlackMrkdwn, f as assertSlackDetachedTargetAllowed, ut as SLACK_PRESENTATION_CAPABILITIES } from "./session-status-Cl6oyyg7.mjs";
4
+ import { c as resolveSlackReplyDeliveryMessages, i as parseSlackReplyBlockSegments, o as resolveSlackReplyBlockResolution, r as normalizeSlackReplyPayload, u as resolveSlackAuthoredTextPlacement } from "./reply-blocks-DrQW0Z9h.mjs";
5
5
  import { r as resolveSlackThreadTsValue } from "./thread-ts-Cvt7WD6B.mjs";
6
6
  import { t as mergeSlackSendResults } from "./send-results-eeOu_HYm.mjs";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -44,7 +44,7 @@ function readSlackRenderedPresentation(slackData) {
44
44
  return;
45
45
  }
46
46
  }
47
- const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-CLmsR42r.mjs").then((n) => n.n));
47
+ const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-CyRH2z7u.mjs").then((n) => n.n));
48
48
  function resolveSlackSendIdentity(identity) {
49
49
  if (!identity) return;
50
50
  const username = normalizeOptionalString(identity.name);
@@ -1,15 +1,15 @@
1
1
  import { n as __reExport, t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { f as resolveSlackReplyToMode } from "./accounts-BMg9YLIv.mjs";
3
3
  import { n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
4
- import { A as SLACK_TEXT_LIMIT, B as SLACK_SESSION_LINK_ACTION_ID, D as SLACK_EDIT_TEXT_MAX_BYTES, M as truncateSlackText, N as truncateSlackTextByUtf8Bytes, T as buildSlackCompleteBlocksFallbackText, X as normalizeSlackOutboundText, at as escapeSlackMrkdwn, c as qualifySlackRoutePeerId, j as countSlackTextUtf8Bytes, v as hasSlackNativeDataBlock, w as buildSlackBlocksFallbackText } from "./session-status-CcXe10zN.mjs";
4
+ import { A as SLACK_TEXT_LIMIT, B as SLACK_SESSION_LINK_ACTION_ID, D as SLACK_EDIT_TEXT_MAX_BYTES, M as truncateSlackText, N as truncateSlackTextByUtf8Bytes, T as buildSlackCompleteBlocksFallbackText, X as normalizeSlackOutboundText, at as escapeSlackMrkdwn, c as qualifySlackRoutePeerId, j as countSlackTextUtf8Bytes, v as hasSlackNativeDataBlock, w as buildSlackBlocksFallbackText } from "./session-status-Cl6oyyg7.mjs";
5
5
  import { M as resolveSlackUserAllowed, O as normalizeSlackAllowOwnerEntry, b as writeLruMapEntry, o as formatSlackError, v as pruneExpiredMapEntries, y as readLruMapEntry } from "./probe-CyX52GtD.mjs";
6
- import { a as prepareSlackReply, l as resolveSlackReplyRenderPlan, s as resolveSlackReplyBlocks } from "./reply-blocks-rqHQ_3pr.mjs";
6
+ import { a as prepareSlackReply, l as resolveSlackReplyRenderPlan, s as resolveSlackReplyBlocks } from "./reply-blocks-DrQW0Z9h.mjs";
7
7
  import { n as resolveSlackReplyThreadTs } from "./thread-ts-Cvt7WD6B.mjs";
8
- import { C as hasSlackTableBlock, D as buildSlackEditTextPayload, E as resolveSlackMessageText$1, T as resolveSlackBlocksText, a as editSlackRenderedMessage, b as formatSlackFileReference, d as reactSlackMessage, i as editSlackMessage, m as removeSlackReaction, n as deleteSlackMessage, w as isSlackUnfurlAttachment, x as formatSlackFileReferenceList } from "./actions-KGKwTAKO.mjs";
9
- import { c as hasSlackThreadParticipationWithPersistence, i as clearSlackThreadFailureNotice, l as recordSlackThreadFailureNotice, m as buildSlackNativeDataDeliveryPlan, o as hasSlackThreadFailureNotice, p as hasSlackMessageIdentity, s as hasSlackThreadParticipation, t as sendMessageSlack, u as recordSlackThreadParticipation } from "./send-CLmsR42r.mjs";
10
- import { n as resolveSlackChannelConfig } from "./policy-BaY9_eh1.mjs";
11
- import { C as resolveSlackChatType, E as stripSlackMentionsForCommandDetection, S as normalizeSlackChannelType, T as readSlackAssistantThreadContext, _ as appendSlackStream, b as stopSlackStream, c as resolveSlackRoutingContext, g as SlackStreamNotDeliveredError, h as resolveSlackEffectiveAllowFrom, i as resolveSlackRoomContextHints, l as registerSlackSessionRun, m as resolveSlackCommandIngress, p as authorizeSlackBotRoomMessage, r as trackSlackDraftMessage, s as authorizeSlackDirectMessage, u as resolveSlackThreadContext, v as markSlackStreamFallbackDelivered, w as buildSlackAssistantThreadMetadata, y as startSlackStream } from "./monitor-BnN2px0N.mjs";
12
- import { a as emitSlackMessageSentHooks, i as sanitizeSlackMonitorReplyPayload, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-WmfwvQxc.mjs";
8
+ import { C as hasSlackTableBlock, D as buildSlackEditTextPayload, E as resolveSlackMessageText$1, T as resolveSlackBlocksText, a as editSlackRenderedMessage, b as formatSlackFileReference, d as reactSlackMessage, i as editSlackMessage, m as removeSlackReaction, n as deleteSlackMessage, w as isSlackUnfurlAttachment, x as formatSlackFileReferenceList } from "./actions-Ch4O8XbW.mjs";
9
+ import { c as hasSlackThreadParticipationWithPersistence, i as clearSlackThreadFailureNotice, l as recordSlackThreadFailureNotice, m as buildSlackNativeDataDeliveryPlan, o as hasSlackThreadFailureNotice, p as hasSlackMessageIdentity, s as hasSlackThreadParticipation, t as sendMessageSlack, u as recordSlackThreadParticipation } from "./send-CyRH2z7u.mjs";
10
+ import { n as resolveSlackChannelConfig } from "./policy-DhgXcV3u.mjs";
11
+ import { C as resolveSlackChatType, E as stripSlackMentionsForCommandDetection, S as normalizeSlackChannelType, T as readSlackAssistantThreadContext, _ as appendSlackStream, b as stopSlackStream, c as resolveSlackRoutingContext, g as SlackStreamNotDeliveredError, h as resolveSlackEffectiveAllowFrom, i as resolveSlackRoomContextHints, l as registerSlackSessionRun, m as resolveSlackCommandIngress, p as authorizeSlackBotRoomMessage, r as trackSlackDraftMessage, s as authorizeSlackDirectMessage, u as resolveSlackThreadContext, v as markSlackStreamFallbackDelivered, w as buildSlackAssistantThreadMetadata, y as startSlackStream } from "./monitor-CNECe8FK.mjs";
12
+ import { a as emitSlackMessageSentHooks, i as sanitizeSlackMonitorReplyPayload, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-BNr7i3d0.mjs";
13
13
  import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
14
14
  import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
15
15
  import { buildChannelProgressDraftLine, compactChannelProgressDraftLine, createChannelMessageReplyPipeline, createChannelProgressDraftCompositor, createChannelProgressWorkCounter, createDraftStreamLoop, createFinalizableDraftLifecycle, createLivePreviewLifecycle, createMessageReceiptFromOutboundResults, resolveAgentOutboundIdentity, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelProgressDraftConfig, resolveChannelProgressDraftMaxLineChars, resolveChannelStreamingBlockEnabled, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages, selectPlanChecklistSteps } from "openclaw/plugin-sdk/channel-outbound";
@@ -2771,7 +2771,7 @@ const SLACK_MENTION_RESOLUTION_CONCURRENCY = 4;
2771
2771
  const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
2772
2772
  const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
2773
2773
  const MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS = 2e3;
2774
- const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-KGKwTAKO.mjs").then((n) => n._));
2774
+ const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-Ch4O8XbW.mjs").then((n) => n._));
2775
2775
  function formatSlackUnavailableMedia(params) {
2776
2776
  let fileReferences = params.files?.map((file) => `${formatSlackFileReference(file)} unavailable (${file.reason})`).join(", ");
2777
2777
  if (fileReferences && fileReferences.length > MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS) fileReferences = `${truncateUtf16Safe(fileReferences, MAX_SLACK_UNAVAILABLE_FILE_TEXT_CHARS)}; … (file references truncated)`;
@@ -3127,7 +3127,7 @@ function resolveSlackGroupSessionSubject(params) {
3127
3127
  }
3128
3128
  //#endregion
3129
3129
  //#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
3130
- const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-KGKwTAKO.mjs").then((n) => n._));
3130
+ const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-Ch4O8XbW.mjs").then((n) => n._));
3131
3131
  const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
3132
3132
  function formatSlackThreadLabelSnippet(text) {
3133
3133
  return truncateUtf16Safe(text.replace(/\s+/g, " "), 80);
@@ -1,4 +1,4 @@
1
- import { i as buildSlackChannelPolicyScope, r as buildSlackChannelIdCandidates } from "./session-status-CcXe10zN.mjs";
1
+ import { i as buildSlackChannelPolicyScope, r as buildSlackChannelIdCandidates } from "./session-status-Cl6oyyg7.mjs";
2
2
  import { j as resolveSlackUserAllowListForTeam, k as normalizeSlackSlug } from "./probe-CyX52GtD.mjs";
3
3
  import { applyChannelMatchMeta, buildChannelKeyCandidates } from "openclaw/plugin-sdk/channel-targets";
4
4
  import { firstDefined } from "openclaw/plugin-sdk/allow-from";
@@ -1,5 +1,5 @@
1
1
  import { o as formatSlackError } from "./probe-CyX52GtD.mjs";
2
- import { d as parseSlackMessageEvent, f as requireSlackMessageEvent, x as SLACK_SOCKET_RECONNECT_POLICY } from "./monitor-BnN2px0N.mjs";
2
+ import { d as parseSlackMessageEvent, f as requireSlackMessageEvent, x as SLACK_SOCKET_RECONNECT_POLICY } from "./monitor-CNECe8FK.mjs";
3
3
  import { asOptionalRecord, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { computeBackoff, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
5
5
  import { createNodeProxyAgent } from "openclaw/plugin-sdk/fetch-runtime";
@@ -1,8 +1,8 @@
1
- import { A as SLACK_TEXT_LIMIT, Y as markdownToSlackMrkdwnChunks, b as isSlackInvalidBlocksResponse, v as hasSlackNativeDataBlock, x as isSlackNativeResponseUrlRejection } from "./session-status-CcXe10zN.mjs";
2
- import { n as iterateSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, t as hasSlackReplyStructuredContent } from "./reply-blocks-rqHQ_3pr.mjs";
1
+ import { A as SLACK_TEXT_LIMIT, Y as markdownToSlackMrkdwnChunks, b as isSlackInvalidBlocksResponse, v as hasSlackNativeDataBlock, x as isSlackNativeResponseUrlRejection } from "./session-status-Cl6oyyg7.mjs";
2
+ import { n as iterateSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, t as hasSlackReplyStructuredContent } from "./reply-blocks-DrQW0Z9h.mjs";
3
3
  import { n as resolveSlackReplyThreadTs } from "./thread-ts-Cvt7WD6B.mjs";
4
- import { h as chunkSlackTextAtHardLimit, m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-CLmsR42r.mjs";
5
- import { a as SlackResponseAlreadyReportedError, o as createSlackResponseUrlBudget } from "./monitor-BnN2px0N.mjs";
4
+ import { h as chunkSlackTextAtHardLimit, m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-CyRH2z7u.mjs";
5
+ import { a as SlackResponseAlreadyReportedError, o as createSlackResponseUrlBudget } from "./monitor-CNECe8FK.mjs";
6
6
  import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
7
7
  import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
8
8
  import { deliverTextOrMediaReply, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
@@ -1,4 +1,4 @@
1
- import { E as renderSlackBlockFallbackText, J as chunkSlackMrkdwnText, K as encodeSlackQuestionAction, M as truncateSlackText, P as SLACK_BUTTON_ACTION_IDS, Q as hasSlackDataVisualizationBlock, T as buildSlackCompleteBlocksFallbackText, Y as markdownToSlackMrkdwnChunks, Z as buildSlackDataVisualizationBlock, ct as encodeSlackApprovalAction, dt as SLACK_SECTION_TEXT_MAX, et as buildSlackDataTableBlock, g as buildSlackNativeDataAccessibilityText, m as appendSlackNativeDataFallbackText, nt as countSlackDataTableCellCharacters, pt as parseSlackBlocksInput, rt as renderSlackMessagePresentationChartFallbackText, tt as countSlackDataTableBlocksCellCharacters, v as hasSlackNativeDataBlock, w as buildSlackBlocksFallbackText, z as SLACK_SELECT_ACTION_IDS } from "./session-status-CcXe10zN.mjs";
1
+ import { E as renderSlackBlockFallbackText, J as chunkSlackMrkdwnText, K as encodeSlackQuestionAction, M as truncateSlackText, P as SLACK_BUTTON_ACTION_IDS, Q as hasSlackDataVisualizationBlock, T as buildSlackCompleteBlocksFallbackText, Y as markdownToSlackMrkdwnChunks, Z as buildSlackDataVisualizationBlock, ct as encodeSlackApprovalAction, dt as SLACK_SECTION_TEXT_MAX, et as buildSlackDataTableBlock, g as buildSlackNativeDataAccessibilityText, m as appendSlackNativeDataFallbackText, nt as countSlackDataTableCellCharacters, pt as parseSlackBlocksInput, rt as renderSlackMessagePresentationChartFallbackText, tt as countSlackDataTableBlocksCellCharacters, v as hasSlackNativeDataBlock, w as buildSlackBlocksFallbackText, z as SLACK_SELECT_ACTION_IDS } from "./session-status-Cl6oyyg7.mjs";
2
2
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
4
4
  import { legacyInteractiveReplyToPresentation, normalizeMessagePresentation, renderMessagePresentationFallbackText, resolveMessagePresentationButtonAction, resolveMessagePresentationOptionAction } from "openclaw/plugin-sdk/interactive-runtime";
@@ -0,0 +1,2 @@
1
+ export { r as setSlackRuntime } from "./runtime-JSVZSWAj.mjs";
2
+ import "../runtime-setter-api.js";
@@ -0,0 +1,2 @@
1
+ export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-B-Qm6aQQ.mjs";
2
+ import "../secret-contract-api.js";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
2
2
  import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-BMg9YLIv.mjs";
3
3
  import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-FFE26kOV.mjs";
4
- import { A as SLACK_TEXT_LIMIT, C as stripSlackNativeDataBlocks, D as SLACK_EDIT_TEXT_MAX_BYTES, E as renderSlackBlockFallbackText, F as SLACK_QUESTION_FINALIZATION_BLOCKS, J as chunkSlackMrkdwnText, M as truncateSlackText, N as truncateSlackTextByUtf8Bytes, O as SLACK_MESSAGE_TEXT_HARD_LIMIT, S as renderSlackNativeDataPlainTextBlock, T as buildSlackCompleteBlocksFallbackText, W as resolveSlackQuestionActionIds, Y as markdownToSlackMrkdwnChunks, _ as createSlackNativeDataBaseTextConsumer, f as assertSlackDetachedTargetAllowed, g as buildSlackNativeDataAccessibilityText, k as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, mt as validateSlackBlocksArray, v as hasSlackNativeDataBlock, y as isSlackInvalidBlocksError } from "./session-status-CcXe10zN.mjs";
4
+ import { A as SLACK_TEXT_LIMIT, C as stripSlackNativeDataBlocks, D as SLACK_EDIT_TEXT_MAX_BYTES, E as renderSlackBlockFallbackText, F as SLACK_QUESTION_FINALIZATION_BLOCKS, J as chunkSlackMrkdwnText, M as truncateSlackText, N as truncateSlackTextByUtf8Bytes, O as SLACK_MESSAGE_TEXT_HARD_LIMIT, S as renderSlackNativeDataPlainTextBlock, T as buildSlackCompleteBlocksFallbackText, W as resolveSlackQuestionActionIds, Y as markdownToSlackMrkdwnChunks, _ as createSlackNativeDataBaseTextConsumer, f as assertSlackDetachedTargetAllowed, g as buildSlackNativeDataAccessibilityText, k as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, mt as validateSlackBlocksArray, v as hasSlackNativeDataBlock, y as isSlackInvalidBlocksError } from "./session-status-Cl6oyyg7.mjs";
5
5
  import { _ as getSlackWriteClient, b as writeLruMapEntry, d as createSlackReadClient, h as createSlackWriteClient, o as formatSlackError, p as createSlackTokenCacheKey, s as getSlackWebApiErrorData } from "./probe-CyX52GtD.mjs";
6
6
  import { r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
7
7
  import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
@@ -68,7 +68,7 @@ function normalizeSlackApproverTarget(value) {
68
68
  const trimmed = normalizeStringifiedOptionalString(value);
69
69
  if (!trimmed) return;
70
70
  try {
71
- const target = parseSlackTarget(trimmed, { defaultKind: "user" });
71
+ const target = parseSlackTarget(trimmed.replace(/^slack:/i, ""), { defaultKind: "user" });
72
72
  const id = target?.kind === "user" ? normalizeSlackUserLikeId(target.id) : void 0;
73
73
  return target?.teamId && id ? formatSlackTarget({
74
74
  kind: "user",
@@ -0,0 +1,2 @@
1
+ export { t as slackSetupPlugin } from "./channel.setup-BFpQowO3.mjs";
2
+ import "../setup-plugin-api.js";
@@ -1,4 +1,4 @@
1
- import { i as sanitizeSlackMonitorReplyPayload, r as deliverSlackSlashReplies } from "./replies-WmfwvQxc.mjs";
1
+ import { i as sanitizeSlackMonitorReplyPayload, r as deliverSlackSlashReplies } from "./replies-BNr7i3d0.mjs";
2
2
  import { resolveAgentRoute } from "openclaw/plugin-sdk/routing";
3
3
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
4
4
  import { resolveConversationLabel } from "openclaw/plugin-sdk/conversation-runtime";
package/dist/api.js CHANGED
@@ -3,15 +3,15 @@ import { a as mergeSlackAccountConfig, f as resolveSlackReplyToMode, i as listSl
3
3
  import { t as inspectSlackAccount } from "./.setup/account-inspect-D58VVDjk.mjs";
4
4
  import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId } from "./.setup/target-parsing-FFE26kOV.mjs";
5
5
  import "./.setup/targets-C6LZQL1Q.mjs";
6
- import { Bt as resolveSlackAutoThreadId, a as resolveSlackGroupRequireMention, ft as SLACK_MAX_BLOCKS, mt as validateSlackBlocksArray, o as resolveSlackGroupToolPolicy, pt as parseSlackBlocksInput } from "./.setup/session-status-CcXe10zN.mjs";
6
+ import { Bt as resolveSlackAutoThreadId, a as resolveSlackGroupRequireMention, ft as SLACK_MAX_BLOCKS, mt as validateSlackBlocksArray, o as resolveSlackGroupToolPolicy, pt as parseSlackBlocksInput } from "./.setup/session-status-Cl6oyyg7.mjs";
7
7
  import { A as resolveSlackAllowListMatch, D as allowListMatches, E as resolveSlackWriteClientOptions, M as resolveSlackUserAllowed, O as normalizeSlackAllowOwnerEntry, S as SLACK_WRITE_RETRY_OPTIONS, T as resolveSlackWebClientOptions, _ as getSlackWriteClient, h as createSlackWriteClient, k as normalizeSlackSlug, m as createSlackWebClient, p as createSlackTokenCacheKey, t as probeSlack, x as SLACK_DEFAULT_RETRY_OPTIONS } from "./.setup/probe-CyX52GtD.mjs";
8
- import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-C7MY-Hhg.mjs";
9
- import { d as buildSlackInteractiveBlocks, f as buildSlackPresentationBlocks } from "./.setup/reply-blocks-rqHQ_3pr.mjs";
8
+ import { n as buildSlackThreadingToolContext, t as slackPlugin } from "./.setup/channel-C6Y0ZA9K.mjs";
9
+ import { d as buildSlackInteractiveBlocks, f as buildSlackPresentationBlocks } from "./.setup/reply-blocks-DrQW0Z9h.mjs";
10
10
  import { n as extractSlackToolSend, r as listSlackMessageActions } from "./.setup/message-tool-api-C7im5ETh.mjs";
11
- import { n as resolveSlackChannelType } from "./.setup/channel-type-NjX2SwvS.mjs";
11
+ import { n as resolveSlackChannelType } from "./.setup/channel-type-DFD9jUWJ.mjs";
12
12
  import { t as slackSetupPlugin } from "./.setup/channel.setup-BFpQowO3.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-KGKwTAKO.mjs";
14
- import { a as clearSlackThreadParticipationCache, s as hasSlackThreadParticipation, u as recordSlackThreadParticipation } from "./.setup/send-CLmsR42r.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-Ch4O8XbW.mjs";
14
+ import { a as clearSlackThreadParticipationCache, s as hasSlackThreadParticipation, u as recordSlackThreadParticipation } from "./.setup/send-CyRH2z7u.mjs";
15
15
  import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-BEDZPfDn.mjs";
16
16
  import { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-C1nOGzJa.mjs";
17
17
  import { normalizeStringEntries as normalizeAllowList, normalizeStringEntriesLower as normalizeAllowListLower } from "openclaw/plugin-sdk/string-normalization-runtime";
@@ -1,2 +1 @@
1
- import { t as SlackChannelConfigSchema } from "./.setup/config-schema-BH0K9-Um.mjs";
2
- export { SlackChannelConfigSchema };
1
+ export { t as SlackChannelConfigSchema } from "./.setup/config-schema-BH0K9-Um.mjs";
@@ -1,2 +1 @@
1
- import { t as slackPlugin } from "./.setup/channel-C7MY-Hhg.mjs";
2
- export { slackPlugin };
1
+ export { t as slackPlugin } from "./.setup/channel-C6Y0ZA9K.mjs";
@@ -1,2 +1 @@
1
- import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-BEDZPfDn.mjs";
2
- export { listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig };
1
+ export { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./.setup/directory-config-BEDZPfDn.mjs";
@@ -1,2 +1 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./.setup/doctor-contract-Cd4-VzIM.mjs";
2
- export { legacyConfigRules, normalizeCompatibilityConfig };
1
+ export { t as legacyConfigRules, n as normalizeCompatibilityConfig } from "./.setup/doctor-contract-Cd4-VzIM.mjs";
@@ -1,2 +1 @@
1
- import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-B8tooDLj.mjs";
2
- export { registerSlackPluginHttpRoutes };
1
+ export { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-B8tooDLj.mjs";
@@ -1,2 +1 @@
1
- import { t as describeSlackMessageTool } from "./.setup/message-tool-api-C7im5ETh.mjs";
2
- export { describeSlackMessageTool as describeMessageTool };
1
+ export { t as describeMessageTool } from "./.setup/message-tool-api-C7im5ETh.mjs";
@@ -1,13 +1,13 @@
1
1
  import { t as registerSlackPluginHttpRoutes } from "./.setup/plugin-routes-B8tooDLj.mjs";
2
2
  import { h as resolveSlackBotToken, i as listSlackAccountIds, m as resolveSlackAppToken, o as resolveDefaultSlackAccountId, r as listEnabledSlackAccounts, s as resolveSlackAccount } from "./.setup/accounts-BMg9YLIv.mjs";
3
- import { a as resolveSlackGroupRequireMention, o as resolveSlackGroupToolPolicy } from "./.setup/session-status-CcXe10zN.mjs";
3
+ import { a as resolveSlackGroupRequireMention, o as resolveSlackGroupToolPolicy } from "./.setup/session-status-Cl6oyyg7.mjs";
4
4
  import { t as probeSlack } from "./.setup/probe-CyX52GtD.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-KGKwTAKO.mjs";
7
- import { t as sendMessageSlack } from "./.setup/send-CLmsR42r.mjs";
8
- import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-BiRZNsIG.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-Ch4O8XbW.mjs";
7
+ import { t as sendMessageSlack } from "./.setup/send-CyRH2z7u.mjs";
8
+ import { n as slackActionRuntime, t as handleSlackAction } from "./.setup/action-runtime-DtOIVezL.mjs";
9
9
  import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./.setup/directory-live-FipfeCwt.mjs";
10
- import { n as monitorSlackProvider } from "./.setup/monitor-BnN2px0N.mjs";
10
+ import { n as monitorSlackProvider } from "./.setup/monitor-CNECe8FK.mjs";
11
11
  import { t as resolveSlackChannelAllowlist } from "./.setup/resolve-channels-B96cgprw.mjs";
12
12
  import { t as resolveSlackUserAllowlist } from "./.setup/resolve-users-Xz9aPdns.mjs";
13
13
  export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, registerSlackPluginHttpRoutes, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
@@ -1,2 +1 @@
1
- import { r as setSlackRuntime } from "./.setup/runtime-JSVZSWAj.mjs";
2
- export { setSlackRuntime };
1
+ export { r as setSlackRuntime } from "./.setup/runtime-JSVZSWAj.mjs";
@@ -1,2 +1 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./.setup/secret-contract-B-Qm6aQQ.mjs";
2
- export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
1
+ export { t as channelSecrets, n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./.setup/secret-contract-B-Qm6aQQ.mjs";
@@ -1,2 +1 @@
1
- import { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-C1nOGzJa.mjs";
2
- export { collectSlackSecurityAuditFindings };
1
+ export { t as collectSlackSecurityAuditFindings } from "./.setup/security-audit-C1nOGzJa.mjs";
@@ -4,15 +4,15 @@ import { fileURLToPath } from "node:url";
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/setup-plugin-api-D92P5p51.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/setup-plugin-api-D7rHLiNk.mjs", import.meta.url).href),
8
8
  exportName: "slackSetupPlugin"
9
9
  },
10
10
  secrets: {
11
- specifier: fileURLToPath(new URL(".setup/secret-contract-api-DmUVxIRs.mjs", import.meta.url).href),
11
+ specifier: fileURLToPath(new URL(".setup/secret-contract-api-DB6CMdgc.mjs", import.meta.url).href),
12
12
  exportName: "channelSecrets"
13
13
  },
14
14
  runtime: {
15
- specifier: fileURLToPath(new URL(".setup/runtime-setter-api-CMFvhrAr.mjs", import.meta.url).href),
15
+ specifier: fileURLToPath(new URL(".setup/runtime-setter-api-Cx_PV-xu.mjs", import.meta.url).href),
16
16
  exportName: "setSlackRuntime"
17
17
  }
18
18
  });
@@ -1,2 +1 @@
1
- import { t as slackSetupPlugin } from "./.setup/channel.setup-BFpQowO3.mjs";
2
- export { slackSetupPlugin };
1
+ export { t as slackSetupPlugin } from "./.setup/channel.setup-BFpQowO3.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/slack",
3
- "version": "2026.10.5-beta.3",
3
+ "version": "2026.10.5",
4
4
  "description": "OpenClaw Slack channel plugin for channels, DMs, commands, and app events.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "zod": "4.6.5"
18
18
  },
19
19
  "peerDependencies": {
20
- "openclaw": ">=2026.10.5-beta.3"
20
+ "openclaw": ">=2026.10.5"
21
21
  },
22
22
  "peerDependenciesMeta": {
23
23
  "openclaw": {
@@ -150,10 +150,10 @@
150
150
  "allowInvalidConfigRecovery": true
151
151
  },
152
152
  "compat": {
153
- "pluginApi": ">=2026.10.5-beta.3"
153
+ "pluginApi": ">=2026.10.5"
154
154
  },
155
155
  "build": {
156
- "openclawVersion": "2026.10.5-beta.3",
156
+ "openclawVersion": "2026.10.5",
157
157
  "bundledDist": false
158
158
  },
159
159
  "release": {
@@ -1,2 +0,0 @@
1
- import { t as handleSlackAction } from "./action-runtime-BiRZNsIG.mjs";
2
- export { handleSlackAction };
@@ -1,3 +0,0 @@
1
- import { r as setSlackRuntime } from "./runtime-JSVZSWAj.mjs";
2
- import "../runtime-setter-api.js";
3
- export { setSlackRuntime };
@@ -1,3 +0,0 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-B-Qm6aQQ.mjs";
2
- import "../secret-contract-api.js";
3
- export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,3 +0,0 @@
1
- import { t as slackSetupPlugin } from "./channel.setup-BFpQowO3.mjs";
2
- import "../setup-plugin-api.js";
3
- export { slackSetupPlugin };