@openclaw/slack 2026.5.14-beta.1 → 2026.5.14-beta.2

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 (83) hide show
  1. package/dist/{action-runtime-gtC-RM3r.js → action-runtime-CyE2jfW-.js} +4 -4
  2. package/dist/action-runtime.runtime-DLhfKw4B.js +2 -0
  3. package/dist/{media-B-nNpS2G.js → actions-BibhOXpJ.js} +307 -2
  4. package/dist/{actions.runtime-DD6hfFCA.js → actions.runtime-B9XQG6X4.js} +1 -1
  5. package/dist/api.js +16 -16
  6. package/dist/{approval-handler.runtime-DeYBuIaU.js → approval-handler.runtime-BjzVRaXN.js} +3 -4
  7. package/dist/{blocks-render-BdLueE_v.js → blocks-render-BAVfd6r0.js} +1 -1
  8. package/dist/{channel-CC04F-xs.js → channel-Dh07mU_K.js} +23 -27
  9. package/dist/channel-config-api.js +1 -1
  10. package/dist/channel-plugin-api.js +1 -1
  11. package/dist/{channel.setup-jzYjY634.js → channel.setup-CmG37S2W.js} +3 -3
  12. package/dist/{client-8r7r7aZ3.js → client-C_IaJbi5.js} +20 -1
  13. package/dist/{config-schema-Bueih4yH.js → config-schema-CNRousxw.js} +1 -1
  14. package/dist/contract-api.js +4 -4
  15. package/dist/directory-contract-api.js +1 -1
  16. package/dist/{directory-live-CuaWaGnM.js → directory-live-CZPzpQZF.js} +1 -1
  17. package/dist/{doctor-contract-DCkS8eNN.js → doctor-contract-B8QIWMs1.js} +1 -1
  18. package/dist/doctor-contract-api.js +1 -1
  19. package/dist/http-routes-api.js +1 -1
  20. package/dist/inbound-contract-test-api.js +2 -2
  21. package/dist/interactive-replies-api.js +1 -1
  22. package/dist/{message-tool-api-B_bKUmP0.js → message-tool-api-C7gc7goF.js} +1 -1
  23. package/dist/message-tool-api.js +1 -1
  24. package/dist/{monitor-B3QB1ysK.js → monitor-DDE5AI2O.js} +3 -3
  25. package/dist/{outbound-adapter-DsAvCwpZ.js → outbound-adapter-BluPNDNi.js} +4 -5
  26. package/dist/outbound-payload-test-api.js +1 -1
  27. package/dist/{outbound-payload.test-harness-DM9ZdY2f.js → outbound-payload.test-harness-BNxnP6MC.js} +2 -2
  28. package/dist/{pipeline.runtime-D-YJZZaI.js → pipeline.runtime-Dft2-QU4.js} +11 -12
  29. package/dist/{plugin-routes-Dt_jh9W8.js → plugin-routes-CRnfsTTX.js} +1 -1
  30. package/dist/{prepare-CXI8nHbJ.js → prepare-D0tMg4dt.js} +8 -9
  31. package/dist/{prepare.test-helpers-BhFHtbz3.js → prepare.test-helpers-CU1qB54Q.js} +1 -1
  32. package/dist/{probe-D1wYA05H.js → probe-FL4sUJsH.js} +2 -2
  33. package/dist/{provider-Ut7IF0Mn.js → provider-C6WxaFFf.js} +21 -19
  34. package/dist/{replies-CzfjCaLG.js → replies-D0QXXSPP.js} +4 -4
  35. package/dist/reply-blocks-BFaJ_ejG.js +134 -0
  36. package/dist/{resolve-channels-BiVxSLVm.js → resolve-channels-B_eKaOkE.js} +2 -2
  37. package/dist/{resolve-users-CcpSlYw-.js → resolve-users-BzBAJwvq.js} +2 -2
  38. package/dist/{room-context-D0hGOp8m.js → room-context-Cd8jFpS-.js} +2 -2
  39. package/dist/{runtime-api-D8wiG9BS.js → runtime-api-B5HGOzX3.js} +2 -2
  40. package/dist/runtime-api.js +12 -12
  41. package/dist/runtime-setter-api.js +1 -1
  42. package/dist/{scopes-BTkB8PPE.js → scopes-Bvg_ZzqZ.js} +2 -2
  43. package/dist/secret-contract-api.js +1 -1
  44. package/dist/security-contract-api.js +1 -1
  45. package/dist/{send-ioky2Xpy.js → send-Dg9zcyYT.js} +4 -5
  46. package/dist/send.runtime-CjjQ9StM.js +2 -0
  47. package/dist/send.runtime-E47jGN-2.js +2 -0
  48. package/dist/setup-plugin-api.js +1 -1
  49. package/dist/{setup-surface-B6w9gtds.js → setup-surface-BLoTgna4.js} +4 -4
  50. package/dist/{shared-CSiHkaVO.js → shared-GoB-OuUq.js} +7 -7
  51. package/dist/{slash-dispatch.runtime-DNr1EDON.js → slash-dispatch.runtime-Bz_OkRcR.js} +1 -1
  52. package/dist/test-api.js +7 -7
  53. package/dist/thread-ts-As_dcNbD.js +52 -0
  54. package/package.json +5 -5
  55. package/dist/action-runtime.runtime-DbVd7_Na.js +0 -2
  56. package/dist/actions-Cqyj7oRr.js +0 -309
  57. package/dist/approval-auth-D3xf0sS6.js +0 -28
  58. package/dist/blocks-input-BJZ8vv03.js +0 -29
  59. package/dist/channel-api-BfBK89IN.js +0 -20
  60. package/dist/exec-approvals-BLn4Zx7V.js +0 -58
  61. package/dist/group-policy-utF2iWnE.js +0 -41
  62. package/dist/mrkdwn-18IzcEAY.js +0 -6
  63. package/dist/reply-blocks-DWoZrUll.js +0 -14
  64. package/dist/send.runtime-5Kl3Wzbf.js +0 -2
  65. package/dist/send.runtime-DoifekaA.js +0 -2
  66. package/dist/thread-ts-o-QBwB3k.js +0 -24
  67. /package/dist/{accounts.runtime-CkfFIisb.js → accounts.runtime-BhbEu1ZK.js} +0 -0
  68. /package/dist/{allow-list-T7ZDpUsF.js → allow-list-nwXs_eCP.js} +0 -0
  69. /package/dist/{config-api-B48Z4H47.js → config-api-CmgE_ORg.js} +0 -0
  70. /package/dist/{directory-config-BKKNBkCq.js → directory-config-CMvFiswf.js} +0 -0
  71. /package/dist/{errors-BrtayXHa.js → errors-C_sW0Zgl.js} +0 -0
  72. /package/dist/{interactive-replies-CawNPL-h.js → interactive-replies-BSg5hXhj.js} +0 -0
  73. /package/dist/{magic-string.es-BLAi6qQC.js → magic-string.es-9lw4MGoF.js} +0 -0
  74. /package/dist/{registry-BdfKYina.js → registry-D2cWOLZV.js} +0 -0
  75. /package/dist/{resolve-allowlist-common-rhfyDyWi.js → resolve-allowlist-common-DLub2I2i.js} +0 -0
  76. /package/dist/{runtime--VlVtTPu.js → runtime-DQxkf7k2.js} +0 -0
  77. /package/dist/{secret-contract-BurGIyhv.js → secret-contract-0TL3L5Kb.js} +0 -0
  78. /package/dist/{security-audit-DvOpSaZM.js → security-audit-BJzADAw3.js} +0 -0
  79. /package/dist/{setup-core-DgLJ7dQY.js → setup-core-WWQl-cE9.js} +0 -0
  80. /package/dist/{slash-commands.runtime-DRkNgIQ2.js → slash-commands.runtime-bcDwsGnu.js} +0 -0
  81. /package/dist/{slash-plugin-commands.runtime-Dj5h8hmv.js → slash-plugin-commands.runtime-DBHGUSj2.js} +0 -0
  82. /package/dist/{slash-skill-commands.runtime-B-_KAk0C.js → slash-skill-commands.runtime-rrY2hXvN.js} +0 -0
  83. /package/dist/{streaming-compat-C6rySwiD.js → streaming-compat-eu5Rj5gj.js} +0 -0
@@ -1,2 +1,2 @@
1
- import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-Dt_jh9W8.js";
1
+ import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-CRnfsTTX.js";
2
2
  export { registerSlackPluginHttpRoutes };
@@ -1,3 +1,3 @@
1
- import { t as prepareSlackMessage } from "./prepare-CXI8nHbJ.js";
2
- import { t as createInboundSlackTestContext } from "./prepare.test-helpers-BhFHtbz3.js";
1
+ import { t as prepareSlackMessage } from "./prepare-D0tMg4dt.js";
2
+ import { t as createInboundSlackTestContext } from "./prepare.test-helpers-CU1qB54Q.js";
3
3
  export { createInboundSlackTestContext, prepareSlackMessage };
@@ -1,2 +1,2 @@
1
- import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-CawNPL-h.js";
1
+ import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-BSg5hXhj.js";
2
2
  export { compileSlackInteractiveReplies, isSlackInteractiveRepliesEnabled };
@@ -1,5 +1,5 @@
1
1
  import { a as resolveSlackAccount, t as listEnabledSlackAccounts } from "./accounts-yk5K3wQU.js";
2
- import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-CawNPL-h.js";
2
+ import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-BSg5hXhj.js";
3
3
  import { createActionGate } from "openclaw/plugin-sdk/channel-actions";
4
4
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
5
5
  import { Type } from "typebox";
@@ -1,2 +1,2 @@
1
- import { t as describeSlackMessageTool } from "./message-tool-api-B_bKUmP0.js";
1
+ import { t as describeSlackMessageTool } from "./message-tool-api-C7gc7goF.js";
2
2
  export { describeSlackMessageTool as describeMessageTool };
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { D as buildSlackSlashCommandMatcher, p as isSlackChannelAllowedByPolicy } from "./room-context-D0hGOp8m.js";
3
- import { t as monitorSlackProvider } from "./provider-Ut7IF0Mn.js";
4
- import { o as resolveSlackThreadTs } from "./replies-CzfjCaLG.js";
2
+ import { D as buildSlackSlashCommandMatcher, p as isSlackChannelAllowedByPolicy } from "./room-context-Cd8jFpS-.js";
3
+ import { t as monitorSlackProvider } from "./provider-C6WxaFFf.js";
4
+ import { o as resolveSlackThreadTs } from "./replies-D0QXXSPP.js";
5
5
  //#region extensions/slack/src/monitor.ts
6
6
  var monitor_exports = /* @__PURE__ */ __exportAll({
7
7
  buildSlackSlashCommandMatcher: () => buildSlackSlashCommandMatcher,
@@ -1,8 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { n as buildSlackPresentationBlocks, r as resolveSlackInteractiveBlockOffsets, t as buildSlackInteractiveBlocks } from "./blocks-render-BdLueE_v.js";
3
- import { n as resolveSlackThreadTsValue, r as SLACK_TEXT_LIMIT } from "./thread-ts-o-QBwB3k.js";
4
- import { t as compileSlackInteractiveReplies } from "./interactive-replies-CawNPL-h.js";
5
- import { n as parseSlackBlocksInput } from "./blocks-input-BJZ8vv03.js";
2
+ import { n as buildSlackPresentationBlocks, r as resolveSlackInteractiveBlockOffsets, t as buildSlackInteractiveBlocks } from "./blocks-render-BAVfd6r0.js";
3
+ import { i as parseSlackBlocksInput, n as resolveSlackThreadTsValue, o as SLACK_TEXT_LIMIT } from "./thread-ts-As_dcNbD.js";
4
+ import { t as compileSlackInteractiveReplies } from "./interactive-replies-BSg5hXhj.js";
6
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
6
  import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
8
7
  import { resolveOutboundSendDep } from "openclaw/plugin-sdk/outbound-send-deps";
@@ -13,7 +12,7 @@ var outbound_adapter_exports = /* @__PURE__ */ __exportAll({ slackOutbound: () =
13
12
  const SLACK_MAX_BLOCKS = 50;
14
13
  let slackSendRuntimePromise;
15
14
  async function loadSlackSendRuntime() {
16
- slackSendRuntimePromise ??= import("./send.runtime-5Kl3Wzbf.js");
15
+ slackSendRuntimePromise ??= import("./send.runtime-E47jGN-2.js");
17
16
  return await slackSendRuntimePromise;
18
17
  }
19
18
  function resolveRenderedInteractiveBlocks(interactive, previousBlocks) {
@@ -1,2 +1,2 @@
1
- import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-DM9ZdY2f.js";
1
+ import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-BNxnP6MC.js";
2
2
  export { createSlackOutboundPayloadHarness };
@@ -1,4 +1,4 @@
1
- import { n as slackOutbound } from "./outbound-adapter-DsAvCwpZ.js";
1
+ import { n as slackOutbound } from "./outbound-adapter-BluPNDNi.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 = {
@@ -10147,7 +10147,7 @@ function memo(fn) {
10147
10147
  };
10148
10148
  }
10149
10149
  async function saveInlineSnapshots(environment, snapshots) {
10150
- const MagicString = (await import("./magic-string.es-BLAi6qQC.js")).default;
10150
+ const MagicString = (await import("./magic-string.es-9lw4MGoF.js")).default;
10151
10151
  const files = new Set(snapshots.map((i) => i.file));
10152
10152
  await Promise.all(Array.from(files).map(async (file) => {
10153
10153
  const snaps = snapshots.filter((i) => i.file === file);
@@ -1,15 +1,14 @@
1
- import { i as truncateSlackText, r as SLACK_TEXT_LIMIT } from "./thread-ts-o-QBwB3k.js";
2
- import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-CawNPL-h.js";
3
- import { i as normalizeSlackAllowOwnerEntry } from "./allow-list-T7ZDpUsF.js";
4
- import "./blocks-input-BJZ8vv03.js";
5
- import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode, t as mapStreamingModeToSlackLegacyDraftStreamMode } from "./streaming-compat-C6rySwiD.js";
6
- import { a as recordSlackThreadParticipation, s as normalizeSlackOutboundText, t as sendMessageSlack } from "./send-ioky2Xpy.js";
7
- import { f as removeSlackReaction, h as buildSlackEditTextPayload, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage } from "./actions-Cqyj7oRr.js";
8
- import { t as formatSlackError } from "./errors-BrtayXHa.js";
9
- import { T as updateLastRoute, a as recordInboundSession, w as resolveStorePath } from "./room-context-D0hGOp8m.js";
10
- import { t as escapeSlackMrkdwn } from "./mrkdwn-18IzcEAY.js";
11
- import { n as resolveSlackThreadTargets, t as prepareSlackMessage } from "./prepare-CXI8nHbJ.js";
12
- import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, t as createSlackReplyDeliveryPlan } from "./replies-CzfjCaLG.js";
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-BSg5hXhj.js";
3
+ import { i as normalizeSlackAllowOwnerEntry } from "./allow-list-nwXs_eCP.js";
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-Dg9zcyYT.js";
6
+ import { b as buildSlackEditTextPayload, f as removeSlackReaction, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage } from "./actions-BibhOXpJ.js";
7
+ import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
8
+ import { T as updateLastRoute, a as recordInboundSession, w as resolveStorePath } from "./room-context-Cd8jFpS-.js";
9
+ import { r as escapeSlackMrkdwn } from "./provider-C6WxaFFf.js";
10
+ import { n as resolveSlackThreadTargets, t as prepareSlackMessage } from "./prepare-D0tMg4dt.js";
11
+ import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, t as createSlackReplyDeliveryPlan } from "./replies-D0QXXSPP.js";
13
12
  import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
14
13
  import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
15
14
  import { createChannelMessageReplyPipeline, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, resolveChannelMessageSourceReplyDeliveryMode } from "openclaw/plugin-sdk/channel-message";
@@ -1,5 +1,5 @@
1
1
  import { n as listSlackAccountIds, r as mergeSlackAccountConfig } from "./accounts-yk5K3wQU.js";
2
- import { r as normalizeSlackWebhookPath, t as handleSlackHttpRequest } from "./registry-BdfKYina.js";
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
5
5
  function registerSlackPluginHttpRoutes(api) {
@@ -1,13 +1,12 @@
1
1
  import { l as resolveSlackReplyToMode } from "./accounts-yk5K3wQU.js";
2
2
  import { r as parseSlackTarget } from "./target-parsing-CQmv-iSm.js";
3
3
  import "./targets-B1tYCAr6.js";
4
- import { i as normalizeSlackAllowOwnerEntry, o as resolveSlackAllowListMatch, r as normalizeAllowListLower } from "./allow-list-T7ZDpUsF.js";
5
- import { i as hasSlackThreadParticipationWithPersistence, t as sendMessageSlack } from "./send-ioky2Xpy.js";
6
- import { l as reactSlackMessage } from "./actions-Cqyj7oRr.js";
7
- import { i as resolveSlackThreadStarter, o as formatSlackFileReference, r as resolveSlackThreadHistory } from "./media-B-nNpS2G.js";
8
- import { t as formatSlackError } from "./errors-BrtayXHa.js";
9
- import { b as readSessionUpdatedAt, c as authorizeSlackBotRoomMessage, d as resolveSlackEffectiveAllowFrom, g as resolveSlackChannelConfig, h as resolveSlackChatType, k as stripSlackMentionsForCommandDetection, m as normalizeSlackChannelType, n as authorizeSlackDirectMessage, o as resolveConversationLabel$1, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, w as resolveStorePath, x as resolveChannelContextVisibilityMode } from "./room-context-D0hGOp8m.js";
10
- import "./send.runtime-DoifekaA.js";
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-Dg9zcyYT.js";
6
+ import { _ as resolveSlackThreadStarter, g as resolveSlackThreadHistory, l as reactSlackMessage, y as formatSlackFileReference } from "./actions-BibhOXpJ.js";
7
+ import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
8
+ import { b as readSessionUpdatedAt, c as authorizeSlackBotRoomMessage, d as resolveSlackEffectiveAllowFrom, g as resolveSlackChannelConfig, h as resolveSlackChatType, k as stripSlackMentionsForCommandDetection, m as normalizeSlackChannelType, n as authorizeSlackDirectMessage, o as resolveConversationLabel$1, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, w as resolveStorePath, x as resolveChannelContextVisibilityMode } from "./room-context-Cd8jFpS-.js";
9
+ import "./send.runtime-CjjQ9StM.js";
11
10
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
12
11
  import { resolveAgentRoute, resolveInboundLastRouteSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
13
12
  import { resolveChannelMessageSourceReplyDeliveryMode } from "openclaw/plugin-sdk/channel-message";
@@ -29,7 +28,7 @@ const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
29
28
  const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
30
29
  let slackMediaModulePromise$1;
31
30
  function loadSlackMediaModule$1() {
32
- slackMediaModulePromise$1 ??= import("./media-B-nNpS2G.js").then((n) => n.t);
31
+ slackMediaModulePromise$1 ??= import("./actions-BibhOXpJ.js").then((n) => n.h);
33
32
  return slackMediaModulePromise$1;
34
33
  }
35
34
  function collectUniqueSlackMentionIds$1(texts) {
@@ -570,7 +569,7 @@ function formatSlackBotStarterThreadLabel(params) {
570
569
  //#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
571
570
  let slackMediaModulePromise;
572
571
  function loadSlackMediaModule() {
573
- slackMediaModulePromise ??= import("./media-B-nNpS2G.js").then((n) => n.t);
572
+ slackMediaModulePromise ??= import("./actions-BibhOXpJ.js").then((n) => n.h);
574
573
  return slackMediaModulePromise;
575
574
  }
576
575
  const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
@@ -1,4 +1,4 @@
1
- import { f as createSlackMonitorContext } from "./room-context-D0hGOp8m.js";
1
+ import { f as createSlackMonitorContext } from "./room-context-Cd8jFpS-.js";
2
2
  import "openclaw/plugin-sdk/temp-path";
3
3
  //#region extensions/slack/src/monitor/message-handler/prepare.test-helpers.ts
4
4
  function createInboundSlackTestContext(params) {
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { r as createSlackWebClient } from "./client-8r7r7aZ3.js";
3
- import { t as formatSlackError } from "./errors-BrtayXHa.js";
2
+ import { r as createSlackWebClient } from "./client-C_IaJbi5.js";
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
6
6
  var probe_exports = /* @__PURE__ */ __exportAll({ probeSlack: () => probeSlack });
@@ -1,17 +1,14 @@
1
1
  import { a as resolveSlackAccount, d as resolveSlackBotToken, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as resolveSlackAppToken } from "./accounts-yk5K3wQU.js";
2
- import { n as isSlackExecApprovalAuthorizedSender, r as isSlackExecApprovalClientEnabled } from "./exec-approvals-BLn4Zx7V.js";
3
- import { t as isSlackApprovalAuthorizedSender } from "./approval-auth-D3xf0sS6.js";
4
- import "./blocks-render-BdLueE_v.js";
5
- import { i as truncateSlackText, r as SLACK_TEXT_LIMIT } from "./thread-ts-o-QBwB3k.js";
6
- import { c as resolveSlackWebClientOptions } from "./client-8r7r7aZ3.js";
7
- import { n as normalizeAllowList, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-T7ZDpUsF.js";
8
- import "./blocks-input-BJZ8vv03.js";
9
- import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-BdfKYina.js";
10
- import { t as formatSlackError } from "./errors-BrtayXHa.js";
11
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-BiVxSLVm.js";
12
- import { t as resolveSlackUserAllowlist } from "./resolve-users-CcpSlYw-.js";
13
- import { C as resolveOpenProviderRuntimeGroupPolicy, D as buildSlackSlashCommandMatcher, E as warnMissingProviderGroupPolicyFallbackOnce, O as resolveSlackSlashCommandConfig, S as resolveDefaultGroupPolicy, _ as resolveSlackChannelLabel, d as resolveSlackEffectiveAllowFrom, f as createSlackMonitorContext, g as resolveSlackChannelConfig, h as resolveSlackChatType, i as parsePluginBindingApprovalCustomId, k as stripSlackMentionsForCommandDetection, l as authorizeSlackSystemEventSender, m as normalizeSlackChannelType, n as authorizeSlackDirectMessage, p as isSlackChannelAllowedByPolicy, r as buildPluginBindingResolvedText, s as resolvePluginConversationBindingApproval, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, v as getRuntimeConfig$1, y as isDangerousNameMatchingEnabled } from "./room-context-D0hGOp8m.js";
14
- import { t as escapeSlackMrkdwn } from "./mrkdwn-18IzcEAY.js";
2
+ import { i as isSlackApprovalAuthorizedSender, o as isSlackExecApprovalAuthorizedSender, s as isSlackExecApprovalClientEnabled } from "./reply-blocks-BFaJ_ejG.js";
3
+ import "./blocks-render-BAVfd6r0.js";
4
+ import { o as SLACK_TEXT_LIMIT, s as truncateSlackText } from "./thread-ts-As_dcNbD.js";
5
+ import { c as resolveSlackWebClientOptions } from "./client-C_IaJbi5.js";
6
+ import { n as normalizeAllowList, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-nwXs_eCP.js";
7
+ import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-D2cWOLZV.js";
8
+ import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
9
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B_eKaOkE.js";
10
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BzBAJwvq.js";
11
+ import { C as resolveOpenProviderRuntimeGroupPolicy, D as buildSlackSlashCommandMatcher, E as warnMissingProviderGroupPolicyFallbackOnce, O as resolveSlackSlashCommandConfig, S as resolveDefaultGroupPolicy, _ as resolveSlackChannelLabel, d as resolveSlackEffectiveAllowFrom, f as createSlackMonitorContext, g as resolveSlackChannelConfig, h as resolveSlackChatType, i as parsePluginBindingApprovalCustomId, k as stripSlackMentionsForCommandDetection, l as authorizeSlackSystemEventSender, m as normalizeSlackChannelType, n as authorizeSlackDirectMessage, p as isSlackChannelAllowedByPolicy, r as buildPluginBindingResolvedText, s as resolvePluginConversationBindingApproval, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, v as getRuntimeConfig$1, y as isDangerousNameMatchingEnabled } from "./room-context-Cd8jFpS-.js";
15
12
  import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
16
13
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
17
14
  import { normalizeAccountId, normalizeMainKey } from "openclaw/plugin-sdk/routing";
@@ -293,6 +290,11 @@ async function dispatchSlackPluginInteractiveHandler(params) {
293
290
  });
294
291
  }
295
292
  //#endregion
293
+ //#region extensions/slack/src/monitor/mrkdwn.ts
294
+ function escapeSlackMrkdwn(value) {
295
+ return value.replaceAll("\\", "\\\\").replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replace(/([*_`~])/g, "\\$1");
296
+ }
297
+ //#endregion
296
298
  //#region extensions/slack/src/monitor/events/interactions.block-actions.ts
297
299
  function readOptionValues(options) {
298
300
  if (!Array.isArray(options)) return;
@@ -1627,7 +1629,7 @@ function createSlackThreadTsResolver(params) {
1627
1629
  //#region extensions/slack/src/monitor/message-handler.ts
1628
1630
  let slackMessagePipelinePromise;
1629
1631
  function loadSlackMessagePipeline() {
1630
- slackMessagePipelinePromise ??= import("./pipeline.runtime-D-YJZZaI.js");
1632
+ slackMessagePipelinePromise ??= import("./pipeline.runtime-Dft2-QU4.js");
1631
1633
  return slackMessagePipelinePromise;
1632
1634
  }
1633
1635
  const APP_MENTION_RETRY_TTL_MS = 6e4;
@@ -2165,19 +2167,19 @@ let slashDispatchRuntimePromise = null;
2165
2167
  let slackPluginCommandsRuntimePromise = null;
2166
2168
  let slashSkillCommandsRuntimePromise = null;
2167
2169
  function loadSlashCommandsRuntime() {
2168
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-DRkNgIQ2.js");
2170
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-bcDwsGnu.js");
2169
2171
  return slashCommandsRuntimePromise;
2170
2172
  }
2171
2173
  function loadSlashDispatchRuntime() {
2172
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DNr1EDON.js");
2174
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-Bz_OkRcR.js");
2173
2175
  return slashDispatchRuntimePromise;
2174
2176
  }
2175
2177
  function loadSlackPluginCommandsRuntime() {
2176
- slackPluginCommandsRuntimePromise ??= import("./slash-plugin-commands.runtime-Dj5h8hmv.js");
2178
+ slackPluginCommandsRuntimePromise ??= import("./slash-plugin-commands.runtime-DBHGUSj2.js");
2177
2179
  return slackPluginCommandsRuntimePromise;
2178
2180
  }
2179
2181
  function loadSlashSkillCommandsRuntime() {
2180
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-B-_KAk0C.js");
2182
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-rrY2hXvN.js");
2181
2183
  return slashSkillCommandsRuntimePromise;
2182
2184
  }
2183
2185
  function resolveSlackCommandMenuModelContext(params) {
@@ -3269,4 +3271,4 @@ async function monitorSlackProvider(opts = {}) {
3269
3271
  }
3270
3272
  const resolveSlackRuntimeGroupPolicy = resolveOpenProviderRuntimeGroupPolicy;
3271
3273
  //#endregion
3272
- export { resolveSlackRuntimeGroupPolicy as n, monitorSlackProvider as t };
3274
+ export { resolveSlackRuntimeGroupPolicy as n, escapeSlackMrkdwn as r, monitorSlackProvider as t };
@@ -1,7 +1,7 @@
1
- import { r as SLACK_TEXT_LIMIT } from "./thread-ts-o-QBwB3k.js";
2
- import { t as resolveSlackReplyBlocks } from "./reply-blocks-DWoZrUll.js";
3
- import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-ioky2Xpy.js";
4
- import "./send.runtime-DoifekaA.js";
1
+ import { t as resolveSlackReplyBlocks } from "./reply-blocks-BFaJ_ejG.js";
2
+ import { o as SLACK_TEXT_LIMIT } from "./thread-ts-As_dcNbD.js";
3
+ import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Dg9zcyYT.js";
4
+ import "./send.runtime-CjjQ9StM.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";
@@ -0,0 +1,134 @@
1
+ import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig } from "./accounts-yk5K3wQU.js";
2
+ import { t as buildSlackInteractiveBlocks } from "./blocks-render-BAVfd6r0.js";
3
+ import { i as parseSlackBlocksInput } from "./thread-ts-As_dcNbD.js";
4
+ import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
5
+ import { normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
+ import { doesApprovalRequestMatchChannelAccount } from "openclaw/plugin-sdk/approval-native-runtime";
7
+ import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
8
+ import { createChannelExecApprovalProfile, isChannelExecApprovalTargetRecipient } from "openclaw/plugin-sdk/approval-client-runtime";
9
+ import { normalizeHyphenSlug } from "openclaw/plugin-sdk/string-normalization-runtime";
10
+ import { resolveToolsBySender } from "openclaw/plugin-sdk/channel-policy";
11
+ //#region extensions/slack/src/exec-approvals.ts
12
+ function normalizeSlackApproverId(value) {
13
+ const trimmed = normalizeStringifiedOptionalString(value);
14
+ if (!trimmed) return;
15
+ const prefixed = trimmed.match(/^(?:slack|user):([A-Z0-9]+)$/i);
16
+ if (prefixed?.[1]) return prefixed[1];
17
+ const mention = trimmed.match(/^<@([A-Z0-9]+)>$/i);
18
+ if (mention?.[1]) return mention[1];
19
+ return /^[UW][A-Z0-9]+$/i.test(trimmed) ? trimmed : void 0;
20
+ }
21
+ function resolveSlackOwnerApprovers(cfg) {
22
+ const ownerAllowFrom = cfg.commands?.ownerAllowFrom;
23
+ if (!Array.isArray(ownerAllowFrom) || ownerAllowFrom.length === 0) return [];
24
+ return resolveApprovalApprovers({
25
+ explicit: ownerAllowFrom,
26
+ normalizeApprover: normalizeSlackApproverId
27
+ });
28
+ }
29
+ function getSlackExecApprovalApprovers(params) {
30
+ const account = resolveSlackAccount(params).config;
31
+ return resolveApprovalApprovers({
32
+ explicit: account.execApprovals?.approvers ?? resolveSlackOwnerApprovers(params.cfg),
33
+ normalizeApprover: normalizeSlackApproverId
34
+ });
35
+ }
36
+ function isSlackExecApprovalTargetRecipient(params) {
37
+ return isChannelExecApprovalTargetRecipient({
38
+ ...params,
39
+ channel: "slack",
40
+ normalizeSenderId: normalizeSlackApproverId,
41
+ matchTarget: ({ target, normalizedSenderId }) => normalizeSlackApproverId(target.to) === normalizedSenderId
42
+ });
43
+ }
44
+ const slackExecApprovalProfile = createChannelExecApprovalProfile({
45
+ resolveConfig: (params) => resolveSlackAccount(params).config.execApprovals,
46
+ resolveApprovers: getSlackExecApprovalApprovers,
47
+ normalizeSenderId: normalizeSlackApproverId,
48
+ isTargetRecipient: isSlackExecApprovalTargetRecipient,
49
+ matchesRequestAccount: (params) => doesApprovalRequestMatchChannelAccount({
50
+ cfg: params.cfg,
51
+ request: params.request,
52
+ channel: "slack",
53
+ accountId: params.accountId
54
+ })
55
+ });
56
+ const isSlackExecApprovalClientEnabled = slackExecApprovalProfile.isClientEnabled;
57
+ slackExecApprovalProfile.isApprover;
58
+ const isSlackExecApprovalAuthorizedSender = slackExecApprovalProfile.isAuthorizedSender;
59
+ const resolveSlackExecApprovalTarget = slackExecApprovalProfile.resolveTarget;
60
+ const shouldHandleSlackExecApprovalRequest = slackExecApprovalProfile.shouldHandleRequest;
61
+ const shouldSuppressLocalSlackExecApprovalPrompt = slackExecApprovalProfile.shouldSuppressLocalPrompt;
62
+ //#endregion
63
+ //#region extensions/slack/src/approval-auth.ts
64
+ function getSlackApprovalApprovers(params) {
65
+ const account = resolveSlackAccount(params).config;
66
+ return resolveApprovalApprovers({
67
+ allowFrom: resolveSlackAccountAllowFrom(params),
68
+ defaultTo: account.defaultTo,
69
+ normalizeApprover: normalizeSlackApproverId,
70
+ normalizeDefaultTo: normalizeSlackApproverId
71
+ });
72
+ }
73
+ function isSlackApprovalAuthorizedSender(params) {
74
+ const senderId = params.senderId ? normalizeSlackApproverId(params.senderId) : void 0;
75
+ if (!senderId) return false;
76
+ return getSlackApprovalApprovers(params).includes(senderId);
77
+ }
78
+ createResolvedApproverActionAuthAdapter({
79
+ channelLabel: "Slack",
80
+ resolveApprovers: ({ cfg, accountId }) => getSlackApprovalApprovers({
81
+ cfg,
82
+ accountId
83
+ }),
84
+ normalizeSenderId: (value) => normalizeSlackApproverId(value)
85
+ });
86
+ //#endregion
87
+ //#region extensions/slack/src/group-policy.ts
88
+ function resolveSlackChannelPolicyEntry(params) {
89
+ const accountId = normalizeAccountId(params.accountId ?? resolveDefaultSlackAccountId(params.cfg));
90
+ const channelMap = mergeSlackAccountConfig(params.cfg, accountId).channels ?? {};
91
+ if (Object.keys(channelMap).length === 0) return;
92
+ const channelId = params.groupId?.trim();
93
+ const channelName = params.groupChannel?.replace(/^#/, "");
94
+ const normalizedName = normalizeHyphenSlug(channelName);
95
+ const candidates = [
96
+ channelId ?? "",
97
+ channelName ? `#${channelName}` : "",
98
+ channelName ?? "",
99
+ normalizedName
100
+ ].filter(Boolean);
101
+ for (const candidate of candidates) if (candidate && channelMap[candidate]) return channelMap[candidate];
102
+ return channelMap["*"];
103
+ }
104
+ function resolveSenderToolsEntry(entry, params) {
105
+ if (!entry) return;
106
+ return resolveToolsBySender({
107
+ toolsBySender: entry.toolsBySender,
108
+ senderId: params.senderId,
109
+ senderName: params.senderName,
110
+ senderUsername: params.senderUsername,
111
+ senderE164: params.senderE164
112
+ }) ?? entry.tools;
113
+ }
114
+ function resolveSlackGroupRequireMention(params) {
115
+ const resolved = resolveSlackChannelPolicyEntry(params);
116
+ if (typeof resolved?.requireMention === "boolean") return resolved.requireMention;
117
+ return true;
118
+ }
119
+ function resolveSlackGroupToolPolicy(params) {
120
+ return resolveSenderToolsEntry(resolveSlackChannelPolicyEntry(params), params);
121
+ }
122
+ //#endregion
123
+ //#region extensions/slack/src/reply-blocks.ts
124
+ function resolveSlackReplyBlocks(payload) {
125
+ const slackData = payload.channelData?.slack;
126
+ const interactiveBlocks = buildSlackInteractiveBlocks(payload.interactive);
127
+ let channelBlocks = [];
128
+ if (slackData && typeof slackData === "object" && !Array.isArray(slackData)) channelBlocks = parseSlackBlocksInput(slackData.blocks) ?? [];
129
+ const blocks = [...channelBlocks, ...interactiveBlocks];
130
+ if (blocks.length > 50) throw new Error(`Slack blocks cannot exceed 50 items after interactive render`);
131
+ return blocks.length > 0 ? blocks : void 0;
132
+ }
133
+ //#endregion
134
+ export { getSlackExecApprovalApprovers as a, normalizeSlackApproverId as c, shouldSuppressLocalSlackExecApprovalPrompt as d, isSlackApprovalAuthorizedSender as i, resolveSlackExecApprovalTarget as l, resolveSlackGroupRequireMention as n, isSlackExecApprovalAuthorizedSender as o, resolveSlackGroupToolPolicy as r, isSlackExecApprovalClientEnabled as s, resolveSlackReplyBlocks as t, shouldHandleSlackExecApprovalRequest as u };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { r as createSlackWebClient } from "./client-8r7r7aZ3.js";
3
- import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-rhfyDyWi.js";
2
+ import { r as createSlackWebClient } from "./client-C_IaJbi5.js";
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
6
6
  var resolve_channels_exports = /* @__PURE__ */ __exportAll({ resolveSlackChannelAllowlist: () => resolveSlackChannelAllowlist });
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { r as createSlackWebClient } from "./client-8r7r7aZ3.js";
3
- import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-rhfyDyWi.js";
2
+ import { r as createSlackWebClient } from "./client-C_IaJbi5.js";
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
6
6
  var resolve_users_exports = /* @__PURE__ */ __exportAll({ resolveSlackUserAllowlist: () => resolveSlackUserAllowlist });
@@ -1,5 +1,5 @@
1
- import { a as normalizeSlackSlug, i as normalizeSlackAllowOwnerEntry, n as normalizeAllowList, o as resolveSlackAllowListMatch, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-T7ZDpUsF.js";
2
- import { t as formatSlackError } from "./errors-BrtayXHa.js";
1
+ import { a as normalizeSlackSlug, i as normalizeSlackAllowOwnerEntry, n as normalizeAllowList, o as resolveSlackAllowListMatch, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-nwXs_eCP.js";
2
+ import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { resolveAgentRoute, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
5
5
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
@@ -1,6 +1,6 @@
1
1
  import "./target-parsing-CQmv-iSm.js";
2
- import "./channel-api-BfBK89IN.js";
3
- import "./config-api-B48Z4H47.js";
2
+ import "./client-C_IaJbi5.js";
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";
6
6
  import "openclaw/plugin-sdk/channel-status";
@@ -1,14 +1,14 @@
1
1
  import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-yk5K3wQU.js";
2
- import { n as resolveSlackGroupToolPolicy, t as resolveSlackGroupRequireMention } from "./group-policy-utF2iWnE.js";
3
- import { n as setSlackRuntime } from "./runtime--VlVtTPu.js";
4
- import { t as sendMessageSlack } from "./send-ioky2Xpy.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-Cqyj7oRr.js";
6
- import { t as probeSlack } from "./probe-D1wYA05H.js";
7
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-BiVxSLVm.js";
8
- import { t as resolveSlackUserAllowlist } from "./resolve-users-CcpSlYw-.js";
9
- import { t as monitorSlackProvider } from "./provider-Ut7IF0Mn.js";
10
- import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-Dt_jh9W8.js";
11
- import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-gtC-RM3r.js";
12
- import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-CuaWaGnM.js";
13
- import "./monitor-B3QB1ysK.js";
2
+ import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-BFaJ_ejG.js";
3
+ import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
4
+ import { t as sendMessageSlack } from "./send-Dg9zcyYT.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-BibhOXpJ.js";
6
+ import { t as probeSlack } from "./probe-FL4sUJsH.js";
7
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B_eKaOkE.js";
8
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BzBAJwvq.js";
9
+ import { t as monitorSlackProvider } from "./provider-C6WxaFFf.js";
10
+ import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-CRnfsTTX.js";
11
+ import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-CyE2jfW-.js";
12
+ import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-CZPzpQZF.js";
13
+ import "./monitor-DDE5AI2O.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,2 +1,2 @@
1
- import { n as setSlackRuntime } from "./runtime--VlVtTPu.js";
1
+ import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
2
2
  export { setSlackRuntime };
@@ -1,5 +1,5 @@
1
- import { r as createSlackWebClient } from "./client-8r7r7aZ3.js";
2
- import { t as formatSlackError } from "./errors-BrtayXHa.js";
1
+ import { r as createSlackWebClient } from "./client-C_IaJbi5.js";
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
5
5
  function collectScopes(value, into) {
@@ -1,2 +1,2 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-BurGIyhv.js";
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-0TL3L5Kb.js";
2
2
  export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,2 +1,2 @@
1
- import { t as collectSlackSecurityAuditFindings } from "./security-audit-DvOpSaZM.js";
1
+ import { t as collectSlackSecurityAuditFindings } from "./security-audit-BJzADAw3.js";
2
2
  export { collectSlackSecurityAuditFindings };
@@ -1,11 +1,10 @@
1
1
  import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-yk5K3wQU.js";
2
2
  import { r as parseSlackTarget } from "./target-parsing-CQmv-iSm.js";
3
3
  import "./targets-B1tYCAr6.js";
4
- import { i as truncateSlackText, r as SLACK_TEXT_LIMIT, t as normalizeSlackThreadTsCandidate } from "./thread-ts-o-QBwB3k.js";
5
- import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-8r7r7aZ3.js";
6
- import { r as validateSlackBlocksArray } from "./blocks-input-BJZ8vv03.js";
7
- import { t as getOptionalSlackRuntime } from "./runtime--VlVtTPu.js";
8
- import { i as loadOutboundMediaFromUrl } from "./runtime-api-D8wiG9BS.js";
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-C_IaJbi5.js";
6
+ import { t as getOptionalSlackRuntime } from "./runtime-DQxkf7k2.js";
7
+ import { i as loadOutboundMediaFromUrl } from "./runtime-api-B5HGOzX3.js";
9
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
10
9
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
11
10
  import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
@@ -0,0 +1,2 @@
1
+ import "./send-Dg9zcyYT.js";
2
+ export {};
@@ -0,0 +1,2 @@
1
+ import { t as sendMessageSlack } from "./send-Dg9zcyYT.js";
2
+ export { sendMessageSlack };
@@ -1,2 +1,2 @@
1
- import { t as slackSetupPlugin } from "./channel.setup-jzYjY634.js";
1
+ import { t as slackSetupPlugin } from "./channel.setup-CmG37S2W.js";
2
2
  export { slackSetupPlugin };
@@ -1,8 +1,8 @@
1
1
  import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-yk5K3wQU.js";
2
- import "./shared-CSiHkaVO.js";
3
- import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-DgLJ7dQY.js";
4
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-BiVxSLVm.js";
5
- import { t as resolveSlackUserAllowlist } from "./resolve-users-CcpSlYw-.js";
2
+ import "./shared-GoB-OuUq.js";
3
+ import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-WWQl-cE9.js";
4
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B_eKaOkE.js";
5
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BzBAJwvq.js";
6
6
  import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
7
7
  import { noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken } from "openclaw/plugin-sdk/setup-runtime";
8
8
  import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
@@ -1,11 +1,11 @@
1
1
  import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy } from "./accounts-yk5K3wQU.js";
2
2
  import { t as inspectSlackAccount } from "./account-inspect-BJyQLSkN.js";
3
- import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-CawNPL-h.js";
4
- import { r as getChatChannelMeta } from "./channel-api-BfBK89IN.js";
5
- import { i as SLACK_CHANNEL } from "./setup-core-DgLJ7dQY.js";
6
- import { t as SlackChannelConfigSchema } from "./config-schema-Bueih4yH.js";
7
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DCkS8eNN.js";
8
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-BurGIyhv.js";
3
+ import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-BSg5hXhj.js";
4
+ import { f as getChatChannelMeta } from "./client-C_IaJbi5.js";
5
+ import { i as SLACK_CHANNEL } from "./setup-core-WWQl-cE9.js";
6
+ import { t as SlackChannelConfigSchema } from "./config-schema-CNRousxw.js";
7
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-B8QIWMs1.js";
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";
10
10
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
11
11
  import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
@@ -45,7 +45,7 @@ const collectSlackSecurityWarnings = createOpenProviderConfiguredRouteWarningCol
45
45
  remediation: "Set channels.slack.groupPolicy=\"allowlist\" and configure channels.slack.channels"
46
46
  }
47
47
  });
48
- const loadSlackSecurityAuditModule = createLazyRuntimeModule(() => import("./security-audit-DvOpSaZM.js").then((n) => n.n));
48
+ const loadSlackSecurityAuditModule = createLazyRuntimeModule(() => import("./security-audit-BJzADAw3.js").then((n) => n.n));
49
49
  const slackSecurityAdapter = {
50
50
  resolveDmPolicy: resolveSlackDmPolicy,
51
51
  collectWarnings: collectSlackSecurityWarnings,
@@ -1,4 +1,4 @@
1
- import { r as deliverSlackSlashReplies$1 } from "./replies-CzfjCaLG.js";
1
+ import { r as deliverSlackSlashReplies$1 } from "./replies-D0QXXSPP.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";