@openclaw/slack 2026.5.19-beta.2 → 2026.5.20-beta.1

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/account-inspect-api.js +1 -1
  2. package/dist/{account-inspect-uMPQ6wIu.js → account-inspect-vVg3pT03.js} +1 -1
  3. package/dist/accounts.runtime-BVdtQeuq.js +2 -0
  4. package/dist/{action-runtime-JEAXQ9qf.js → action-runtime-CiDDL5q5.js} +6 -6
  5. package/dist/action-runtime.runtime-CkVUUEjQ.js +2 -0
  6. package/dist/{actions-v0fGE-kg.js → actions-S6WfIXe6.js} +5 -5
  7. package/dist/{actions.runtime-B0Aj3qGe.js → actions.runtime-L_gt-mA4.js} +1 -1
  8. package/dist/api.js +20 -20
  9. package/dist/{approval-handler.runtime-C_hfvcRd.js → approval-handler.runtime-Dlwy_Uvq.js} +3 -3
  10. package/dist/{blocks-render-ziYgM0qF.js → blocks-render-CNC4vQnd.js} +1 -1
  11. package/dist/{channel-B24T-HNy.js → channel-Drmb6mnS.js} +26 -26
  12. package/dist/channel-config-api.js +1 -1
  13. package/dist/channel-plugin-api.js +1 -1
  14. package/dist/{channel.setup-C2_IZ9It.js → channel.setup-DlFY3IsY.js} +4 -4
  15. package/dist/{client-Dr7pteMR.js → client-BY0ZhGHl.js} +1 -1
  16. package/dist/{config-schema-C8tW0Db0.js → config-schema-CUiDK8HV.js} +1 -1
  17. package/dist/contract-api.js +4 -4
  18. package/dist/{directory-config-qDXRTCcs.js → directory-config-BYH5Y8si.js} +4 -4
  19. package/dist/directory-contract-api.js +1 -1
  20. package/dist/{directory-live-BnN4Zawp.js → directory-live-COvr0w-z.js} +3 -3
  21. package/dist/{doctor-contract-B8QIWMs1.js → doctor-contract-BVvVoRt-.js} +1 -1
  22. package/dist/doctor-contract-api.js +1 -1
  23. package/dist/http-routes-api.js +1 -1
  24. package/dist/inbound-contract-test-api.js +2 -2
  25. package/dist/{interactive-replies-B1wwXeVn.js → interactive-replies-9v8OYeGV.js} +1 -1
  26. package/dist/interactive-replies-api.js +1 -1
  27. package/dist/{message-tool-api-DRSTJhP8.js → message-tool-api-BXEWUFiV.js} +2 -2
  28. package/dist/message-tool-api.js +1 -1
  29. package/dist/{monitor-VZvVe0AD.js → monitor-B9Ka9cWt.js} +4 -4
  30. package/dist/{outbound-adapter-Dcy9jZv1.js → outbound-adapter-CrkqCWtg.js} +5 -5
  31. package/dist/outbound-payload-test-api.js +1 -1
  32. package/dist/{outbound-payload.test-harness-B8N8U_AA.js → outbound-payload.test-harness-CCyuhlnK.js} +5 -12
  33. package/dist/{pipeline.runtime-fkqlk8kV.js → pipeline.runtime-oxXFPiWU.js} +11 -11
  34. package/dist/{plugin-routes-hrKOqBIn.js → plugin-routes-DRR3ijKM.js} +2 -2
  35. package/dist/{prepare-MN66ygug.js → prepare--dY1BAh5.js} +11 -11
  36. package/dist/{prepare.test-helpers-D807wdul.js → prepare.test-helpers-DkdsBfN8.js} +1 -1
  37. package/dist/{probe-DDef8MfR.js → probe-DTCmOwpe.js} +3 -3
  38. package/dist/{provider-D4PYUrak.js → provider-CrKP-JyL.js} +18 -19
  39. package/dist/{replies-ClYRn89v.js → replies-D7fiGAki.js} +4 -4
  40. package/dist/{reply-blocks-DgUdywKU.js → reply-blocks-B_x2Hzez.js} +10 -6
  41. package/dist/{resolve-channels-gx65A1PR.js → resolve-channels-CXV6oSKF.js} +3 -3
  42. package/dist/{resolve-users-OknHaiRY.js → resolve-users-BCBZwBB5.js} +3 -3
  43. package/dist/{room-context-BI26wVBb.js → room-context-pG80xzA4.js} +2 -2
  44. package/dist/{runtime-api-D3pvtood.js → runtime-api-erJbVGdt.js} +3 -3
  45. package/dist/runtime-api.js +13 -13
  46. package/dist/runtime-setter-api.js +1 -1
  47. package/dist/{scopes-vRHcdO0m.js → scopes-CWwLQOAw.js} +2 -2
  48. package/dist/secret-contract-api.js +1 -1
  49. package/dist/{security-audit-BJzADAw3.js → security-audit-CikQhBUY.js} +1 -1
  50. package/dist/security-contract-api.js +1 -1
  51. package/dist/{send-Br_H5f6H.js → send-ag0Lnpod.js} +7 -7
  52. package/dist/send.runtime-CTJCRHtj.js +2 -0
  53. package/dist/send.runtime-DQ-e-DkU.js +2 -0
  54. package/dist/{setup-core-BRD65LS_.js → setup-core-CJxjcOda.js} +2 -2
  55. package/dist/setup-plugin-api.js +1 -1
  56. package/dist/{setup-surface-DpNyddrJ.js → setup-surface-BO6IU00P.js} +5 -5
  57. package/dist/{shared-DdgQfBV9.js → shared-C9qcXNm_.js} +9 -9
  58. package/dist/{slash-dispatch.runtime-DYm6lWN8.js → slash-dispatch.runtime-DWq9YKkN.js} +1 -1
  59. package/dist/targets-C5NeqQJr.js +2 -0
  60. package/dist/test-api.js +7 -7
  61. package/openclaw.plugin.json +18 -2
  62. package/package.json +4 -4
  63. package/dist/accounts.runtime-z3fshUeC.js +0 -2
  64. package/dist/action-runtime.runtime-DNspDL64.js +0 -2
  65. package/dist/send.runtime-Cj0cqt6C.js +0 -2
  66. package/dist/send.runtime-CjgsYARn.js +0 -2
  67. package/dist/targets-B1tYCAr6.js +0 -2
  68. /package/dist/{accounts-Cbw3i3Sa.js → accounts-BnLQ3fe2.js} +0 -0
  69. /package/dist/{allow-list-nwXs_eCP.js → allow-list-ChDz7vQO.js} +0 -0
  70. /package/dist/{config-api-CmgE_ORg.js → config-api-DnT9ohtE.js} +0 -0
  71. /package/dist/{errors-C_sW0Zgl.js → errors-co-Fg3Ll.js} +0 -0
  72. /package/dist/{magic-string.es-9lw4MGoF.js → magic-string.es-BPXBBMwL.js} +0 -0
  73. /package/dist/{registry-D2cWOLZV.js → registry-bbjH7IHX.js} +0 -0
  74. /package/dist/{resolve-allowlist-common-DLub2I2i.js → resolve-allowlist-common-CP8SH0Zf.js} +0 -0
  75. /package/dist/{rolldown-runtime-CiIaOW0V.js → rolldown-runtime-D7D4PA-g.js} +0 -0
  76. /package/dist/{runtime-DQxkf7k2.js → runtime-BOk7xkOl.js} +0 -0
  77. /package/dist/{secret-contract-0TL3L5Kb.js → secret-contract-g_PPWuoD.js} +0 -0
  78. /package/dist/{slash-commands.runtime-bcDwsGnu.js → slash-commands.runtime-BTTMlmwy.js} +0 -0
  79. /package/dist/{slash-plugin-commands.runtime-DBHGUSj2.js → slash-plugin-commands.runtime-Dosfcx3X.js} +0 -0
  80. /package/dist/{slash-skill-commands.runtime-rrY2hXvN.js → slash-skill-commands.runtime-CD1J2ODY.js} +0 -0
  81. /package/dist/{streaming-compat-eu5Rj5gj.js → streaming-compat-gDv83t5m.js} +0 -0
  82. /package/dist/{target-parsing-CQmv-iSm.js → target-parsing-CugsYhBQ.js} +0 -0
  83. /package/dist/{thread-ts-As_dcNbD.js → thread-ts-ks-O8cEG.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
3
- import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { r as createSlackWebClient } from "./client-BY0ZhGHl.js";
3
+ import { t as formatSlackError } from "./errors-co-Fg3Ll.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,15 +1,15 @@
1
- import { a as resolveSlackAccount, d as resolveSlackBotToken, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as resolveSlackAppToken } from "./accounts-Cbw3i3Sa.js";
2
- import { i as isSlackApprovalAuthorizedSender, o as isSlackExecApprovalAuthorizedSender, s as isSlackExecApprovalClientEnabled } from "./reply-blocks-DgUdywKU.js";
3
- import "./blocks-render-ziYgM0qF.js";
4
- import { o as SLACK_TEXT_LIMIT, s as truncateSlackText } from "./thread-ts-As_dcNbD.js";
5
- import { c as resolveSlackWebClientOptions } from "./client-Dr7pteMR.js";
6
- import { n as normalizeAllowList, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-nwXs_eCP.js";
7
- import { t as getOptionalSlackRuntime } from "./runtime-DQxkf7k2.js";
8
- import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-D2cWOLZV.js";
9
- import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
10
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-gx65A1PR.js";
11
- import { t as resolveSlackUserAllowlist } from "./resolve-users-OknHaiRY.js";
12
- import { A as resolveSlackSlashCommandConfig, O as warnMissingProviderGroupPolicyFallbackOnce, T as resolveOpenProviderRuntimeGroupPolicy, _ as resolveSlackChatType, b as getRuntimeConfig$1, d as resolveSlackEffectiveAllowFrom, f as buildSlackAssistantThreadMetadata, g as normalizeSlackChannelType, h as isSlackChannelAllowedByPolicy, i as parsePluginBindingApprovalCustomId, j as stripSlackMentionsForCommandDetection, k as buildSlackSlashCommandMatcher, l as authorizeSlackSystemEventSender, n as authorizeSlackDirectMessage, p as createSlackMonitorContext, r as buildPluginBindingResolvedText, s as resolvePluginConversationBindingApproval, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, v as resolveSlackChannelConfig, w as resolveDefaultGroupPolicy, x as isDangerousNameMatchingEnabled, y as resolveSlackChannelLabel } from "./room-context-BI26wVBb.js";
1
+ import { a as resolveSlackAccount, d as resolveSlackBotToken, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as resolveSlackAppToken } from "./accounts-BnLQ3fe2.js";
2
+ import { i as isSlackApprovalAuthorizedSender, o as isSlackExecApprovalAuthorizedSender, s as isSlackExecApprovalClientEnabled } from "./reply-blocks-B_x2Hzez.js";
3
+ import "./blocks-render-CNC4vQnd.js";
4
+ import { o as SLACK_TEXT_LIMIT, s as truncateSlackText } from "./thread-ts-ks-O8cEG.js";
5
+ import { c as resolveSlackWebClientOptions } from "./client-BY0ZhGHl.js";
6
+ import { n as normalizeAllowList, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-ChDz7vQO.js";
7
+ import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
8
+ import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-bbjH7IHX.js";
9
+ import { t as formatSlackError } from "./errors-co-Fg3Ll.js";
10
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-CXV6oSKF.js";
11
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BCBZwBB5.js";
12
+ import { A as resolveSlackSlashCommandConfig, O as warnMissingProviderGroupPolicyFallbackOnce, T as resolveOpenProviderRuntimeGroupPolicy, _ as resolveSlackChatType, b as getRuntimeConfig$1, d as resolveSlackEffectiveAllowFrom, f as buildSlackAssistantThreadMetadata, g as normalizeSlackChannelType, h as isSlackChannelAllowedByPolicy, i as parsePluginBindingApprovalCustomId, j as stripSlackMentionsForCommandDetection, k as buildSlackSlashCommandMatcher, l as authorizeSlackSystemEventSender, n as authorizeSlackDirectMessage, p as createSlackMonitorContext, r as buildPluginBindingResolvedText, s as resolvePluginConversationBindingApproval, t as resolveSlackRoomContextHints, u as resolveSlackCommandIngress, v as resolveSlackChannelConfig, w as resolveDefaultGroupPolicy, x as isDangerousNameMatchingEnabled, y as resolveSlackChannelLabel } from "./room-context-pG80xzA4.js";
13
13
  import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
14
14
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
15
15
  import { normalizeAccountId, normalizeMainKey } from "openclaw/plugin-sdk/routing";
@@ -1961,7 +1961,7 @@ function createSlackThreadTsResolver(params) {
1961
1961
  //#region extensions/slack/src/monitor/message-handler.ts
1962
1962
  let slackMessagePipelinePromise;
1963
1963
  function loadSlackMessagePipeline() {
1964
- slackMessagePipelinePromise ??= import("./pipeline.runtime-fkqlk8kV.js");
1964
+ slackMessagePipelinePromise ??= import("./pipeline.runtime-oxXFPiWU.js");
1965
1965
  return slackMessagePipelinePromise;
1966
1966
  }
1967
1967
  const APP_MENTION_RETRY_TTL_MS = 6e4;
@@ -2457,8 +2457,7 @@ function formatSlackUserResolved(entry) {
2457
2457
  //#endregion
2458
2458
  //#region extensions/slack/src/monitor/external-arg-menu-store.ts
2459
2459
  const SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES = 18;
2460
- const SLACK_EXTERNAL_ARG_MENU_TOKEN_LENGTH = Math.ceil(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES * 8 / 6);
2461
- const SLACK_EXTERNAL_ARG_MENU_TOKEN_PATTERN = new RegExp(`^[A-Za-z0-9_-]{${SLACK_EXTERNAL_ARG_MENU_TOKEN_LENGTH}}$`);
2460
+ const SLACK_EXTERNAL_ARG_MENU_TOKEN_PATTERN = new RegExp(`^[A-Za-z0-9_-]{${Math.ceil(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES * 8 / 6)}}$`);
2462
2461
  const SLACK_EXTERNAL_ARG_MENU_TTL_MS = 600 * 1e3;
2463
2462
  const SLACK_EXTERNAL_ARG_MENU_PREFIX = "openclaw_cmdarg_ext:";
2464
2463
  function pruneSlackExternalArgMenuStore(store, now) {
@@ -2516,19 +2515,19 @@ let slashDispatchRuntimePromise = null;
2516
2515
  let slackPluginCommandsRuntimePromise = null;
2517
2516
  let slashSkillCommandsRuntimePromise = null;
2518
2517
  function loadSlashCommandsRuntime() {
2519
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-bcDwsGnu.js");
2518
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-BTTMlmwy.js");
2520
2519
  return slashCommandsRuntimePromise;
2521
2520
  }
2522
2521
  function loadSlashDispatchRuntime() {
2523
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DYm6lWN8.js");
2522
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DWq9YKkN.js");
2524
2523
  return slashDispatchRuntimePromise;
2525
2524
  }
2526
2525
  function loadSlackPluginCommandsRuntime() {
2527
- slackPluginCommandsRuntimePromise ??= import("./slash-plugin-commands.runtime-DBHGUSj2.js");
2526
+ slackPluginCommandsRuntimePromise ??= import("./slash-plugin-commands.runtime-Dosfcx3X.js");
2528
2527
  return slackPluginCommandsRuntimePromise;
2529
2528
  }
2530
2529
  function loadSlashSkillCommandsRuntime() {
2531
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-rrY2hXvN.js");
2530
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-CD1J2ODY.js");
2532
2531
  return slashSkillCommandsRuntimePromise;
2533
2532
  }
2534
2533
  function resolveSlackCommandMenuModelContext(params) {
@@ -1,7 +1,7 @@
1
- import { t as resolveSlackReplyBlocks } from "./reply-blocks-DgUdywKU.js";
2
- import { o as SLACK_TEXT_LIMIT } from "./thread-ts-As_dcNbD.js";
3
- import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Br_H5f6H.js";
4
- import "./send.runtime-CjgsYARn.js";
1
+ import { t as resolveSlackReplyBlocks } from "./reply-blocks-B_x2Hzez.js";
2
+ import { o as SLACK_TEXT_LIMIT } from "./thread-ts-ks-O8cEG.js";
3
+ import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-ag0Lnpod.js";
4
+ import "./send.runtime-DQ-e-DkU.js";
5
5
  import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
6
6
  import { SILENT_REPLY_TOKEN, chunkMarkdownTextWithMode, isSilentReplyText } from "openclaw/plugin-sdk/reply-chunking";
7
7
  import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
@@ -1,6 +1,6 @@
1
- import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig } from "./accounts-Cbw3i3Sa.js";
2
- import { n as buildSlackPresentationBlocks, r as resolveSlackInteractiveBlockOffsets, t as buildSlackInteractiveBlocks } from "./blocks-render-ziYgM0qF.js";
3
- import { i as parseSlackBlocksInput } from "./thread-ts-As_dcNbD.js";
1
+ import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig } from "./accounts-BnLQ3fe2.js";
2
+ import { n as buildSlackPresentationBlocks, r as resolveSlackInteractiveBlockOffsets, t as buildSlackInteractiveBlocks } from "./blocks-render-CNC4vQnd.js";
3
+ import { i as parseSlackBlocksInput } from "./thread-ts-ks-O8cEG.js";
4
4
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
5
5
  import { normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { doesApprovalRequestMatchChannelAccount } from "openclaw/plugin-sdk/approval-native-runtime";
@@ -9,14 +9,18 @@ import { createChannelExecApprovalProfile, isChannelExecApprovalTargetRecipient
9
9
  import { normalizeHyphenSlug } from "openclaw/plugin-sdk/string-normalization-runtime";
10
10
  import { resolveToolsBySender } from "openclaw/plugin-sdk/channel-policy";
11
11
  //#region extensions/slack/src/exec-approvals.ts
12
+ function normalizeSlackUserLikeId(value) {
13
+ const upper = value.toUpperCase();
14
+ return /^[UW][A-Z0-9]+$/.test(upper) ? upper : void 0;
15
+ }
12
16
  function normalizeSlackApproverId(value) {
13
17
  const trimmed = normalizeStringifiedOptionalString(value);
14
18
  if (!trimmed) return;
15
19
  const prefixed = trimmed.match(/^(?:slack|user):([A-Z0-9]+)$/i);
16
- if (prefixed?.[1]) return prefixed[1];
20
+ if (prefixed?.[1]) return normalizeSlackUserLikeId(prefixed[1]);
17
21
  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;
22
+ if (mention?.[1]) return normalizeSlackUserLikeId(mention[1]);
23
+ return normalizeSlackUserLikeId(trimmed);
20
24
  }
21
25
  function resolveSlackOwnerApprovers(cfg) {
22
26
  const ownerAllowFrom = cfg.commands?.ownerAllowFrom;
@@ -1,6 +1,6 @@
1
- import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
3
- import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-DLub2I2i.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { r as createSlackWebClient } from "./client-BY0ZhGHl.js";
3
+ import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-CP8SH0Zf.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
- import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
- import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
3
- import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-DLub2I2i.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { r as createSlackWebClient } from "./client-BY0ZhGHl.js";
3
+ import { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-CP8SH0Zf.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-nwXs_eCP.js";
2
- import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
1
+ import { a as normalizeSlackSlug, i as normalizeSlackAllowOwnerEntry, n as normalizeAllowList, o as resolveSlackAllowListMatch, r as normalizeAllowListLower, t as allowListMatches } from "./allow-list-ChDz7vQO.js";
2
+ import { t as formatSlackError } from "./errors-co-Fg3Ll.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
- import "./target-parsing-CQmv-iSm.js";
2
- import "./client-Dr7pteMR.js";
3
- import "./config-api-CmgE_ORg.js";
1
+ import "./target-parsing-CugsYhBQ.js";
2
+ import "./client-BY0ZhGHl.js";
3
+ import "./config-api-DnT9ohtE.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
- import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-Cbw3i3Sa.js";
2
- import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-DgUdywKU.js";
3
- import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
4
- import { t as sendMessageSlack } from "./send-Br_H5f6H.js";
5
- import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-v0fGE-kg.js";
6
- import { t as probeSlack } from "./probe-DDef8MfR.js";
7
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-gx65A1PR.js";
8
- import { t as resolveSlackUserAllowlist } from "./resolve-users-OknHaiRY.js";
9
- import { t as monitorSlackProvider } from "./provider-D4PYUrak.js";
10
- import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-hrKOqBIn.js";
11
- import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-JEAXQ9qf.js";
12
- import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-BnN4Zawp.js";
13
- import "./monitor-VZvVe0AD.js";
1
+ import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-BnLQ3fe2.js";
2
+ import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-B_x2Hzez.js";
3
+ import { n as setSlackRuntime } from "./runtime-BOk7xkOl.js";
4
+ import { t as sendMessageSlack } from "./send-ag0Lnpod.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-S6WfIXe6.js";
6
+ import { t as probeSlack } from "./probe-DTCmOwpe.js";
7
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-CXV6oSKF.js";
8
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BCBZwBB5.js";
9
+ import { t as monitorSlackProvider } from "./provider-CrKP-JyL.js";
10
+ import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-DRR3ijKM.js";
11
+ import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-CiDDL5q5.js";
12
+ import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-COvr0w-z.js";
13
+ import "./monitor-B9Ka9cWt.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-DQxkf7k2.js";
1
+ import { n as setSlackRuntime } from "./runtime-BOk7xkOl.js";
2
2
  export { setSlackRuntime };
@@ -1,5 +1,5 @@
1
- import { r as createSlackWebClient } from "./client-Dr7pteMR.js";
2
- import { t as formatSlackError } from "./errors-C_sW0Zgl.js";
1
+ import { r as createSlackWebClient } from "./client-BY0ZhGHl.js";
2
+ import { t as formatSlackError } from "./errors-co-Fg3Ll.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-0TL3L5Kb.js";
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-g_PPWuoD.js";
2
2
  export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
2
  import { coerceNativeSetting, normalizeAllowFromList } from "openclaw/plugin-sdk/channel-policy";
3
3
  import { readChannelAllowFromStore } from "openclaw/plugin-sdk/conversation-runtime";
4
4
  import { resolveNativeCommandsEnabled, resolveNativeSkillsEnabled } from "openclaw/plugin-sdk/native-command-config-runtime";
@@ -1,2 +1,2 @@
1
- import { t as collectSlackSecurityAuditFindings } from "./security-audit-BJzADAw3.js";
1
+ import { t as collectSlackSecurityAuditFindings } from "./security-audit-CikQhBUY.js";
2
2
  export { collectSlackSecurityAuditFindings };
@@ -1,10 +1,10 @@
1
- import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-Cbw3i3Sa.js";
2
- import { r as parseSlackTarget } from "./target-parsing-CQmv-iSm.js";
3
- import "./targets-B1tYCAr6.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-Dr7pteMR.js";
6
- import { t as getOptionalSlackRuntime } from "./runtime-DQxkf7k2.js";
7
- import { i as loadOutboundMediaFromUrl } from "./runtime-api-D3pvtood.js";
1
+ import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-BnLQ3fe2.js";
2
+ import { r as parseSlackTarget } from "./target-parsing-CugsYhBQ.js";
3
+ import "./targets-C5NeqQJr.js";
4
+ import { a as validateSlackBlocksArray, o as SLACK_TEXT_LIMIT, s as truncateSlackText, t as normalizeSlackThreadTsCandidate } from "./thread-ts-ks-O8cEG.js";
5
+ import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-BY0ZhGHl.js";
6
+ import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
7
+ import { i as loadOutboundMediaFromUrl } from "./runtime-api-erJbVGdt.js";
8
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
10
10
  import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
@@ -0,0 +1,2 @@
1
+ import { t as sendMessageSlack } from "./send-ag0Lnpod.js";
2
+ export { sendMessageSlack };
@@ -0,0 +1,2 @@
1
+ import "./send-ag0Lnpod.js";
2
+ export {};
@@ -1,5 +1,5 @@
1
- import { a as resolveSlackAccount } from "./accounts-Cbw3i3Sa.js";
2
- import { t as inspectSlackAccount } from "./account-inspect-uMPQ6wIu.js";
1
+ import { a as resolveSlackAccount } from "./accounts-BnLQ3fe2.js";
2
+ import { t as inspectSlackAccount } from "./account-inspect-vVg3pT03.js";
3
3
  import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input";
4
4
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { DEFAULT_ACCOUNT_ID, createAccountScopedAllowFromSection, createAccountScopedGroupAccessSection, createAllowlistSetupWizardProxy, createEnvPatchedAccountSetupAdapter, createLegacyCompatChannelDmPolicy, createSetupTranslator, createStandardChannelSetupStatus, parseMentionOrPrefixedId, patchChannelConfigForAccount, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup-runtime";
@@ -1,2 +1,2 @@
1
- import { t as slackSetupPlugin } from "./channel.setup-C2_IZ9It.js";
1
+ import { t as slackSetupPlugin } from "./channel.setup-DlFY3IsY.js";
2
2
  export { slackSetupPlugin };
@@ -1,8 +1,8 @@
1
- import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-Cbw3i3Sa.js";
2
- import "./shared-DdgQfBV9.js";
3
- import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-BRD65LS_.js";
4
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-gx65A1PR.js";
5
- import { t as resolveSlackUserAllowlist } from "./resolve-users-OknHaiRY.js";
1
+ import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-BnLQ3fe2.js";
2
+ import "./shared-C9qcXNm_.js";
3
+ import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-CJxjcOda.js";
4
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-CXV6oSKF.js";
5
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-BCBZwBB5.js";
6
6
  import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
7
7
  import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken } from "openclaw/plugin-sdk/setup-runtime";
8
8
  import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
@@ -1,11 +1,11 @@
1
- import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy } from "./accounts-Cbw3i3Sa.js";
2
- import { t as inspectSlackAccount } from "./account-inspect-uMPQ6wIu.js";
3
- import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-B1wwXeVn.js";
4
- import { f as getChatChannelMeta } from "./client-Dr7pteMR.js";
5
- import { i as SLACK_CHANNEL } from "./setup-core-BRD65LS_.js";
6
- import { t as SlackChannelConfigSchema } from "./config-schema-C8tW0Db0.js";
7
- 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";
1
+ import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy } from "./accounts-BnLQ3fe2.js";
2
+ import { t as inspectSlackAccount } from "./account-inspect-vVg3pT03.js";
3
+ import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-9v8OYeGV.js";
4
+ import { f as getChatChannelMeta } from "./client-BY0ZhGHl.js";
5
+ import { i as SLACK_CHANNEL } from "./setup-core-CJxjcOda.js";
6
+ import { t as SlackChannelConfigSchema } from "./config-schema-CUiDK8HV.js";
7
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BVvVoRt-.js";
8
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-g_PPWuoD.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-BJzADAw3.js").then((n) => n.n));
48
+ const loadSlackSecurityAuditModule = createLazyRuntimeModule(() => import("./security-audit-CikQhBUY.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-ClYRn89v.js";
1
+ import { r as deliverSlackSlashReplies$1 } from "./replies-D7fiGAki.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";
@@ -0,0 +1,2 @@
1
+ import "./target-parsing-CugsYhBQ.js";
2
+ export {};
package/dist/test-api.js CHANGED
@@ -1,8 +1,8 @@
1
- import { a as createSlackActions, t as slackPlugin } from "./channel-B24T-HNy.js";
2
- import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
3
- import { t as sendMessageSlack } from "./send-Br_H5f6H.js";
4
- import { t as prepareSlackMessage } from "./prepare-MN66ygug.js";
5
- import { t as createInboundSlackTestContext } from "./prepare.test-helpers-D807wdul.js";
6
- import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-B8N8U_AA.js";
7
- import { n as slackOutbound } from "./outbound-adapter-Dcy9jZv1.js";
1
+ import { a as createSlackActions, t as slackPlugin } from "./channel-Drmb6mnS.js";
2
+ import { n as setSlackRuntime } from "./runtime-BOk7xkOl.js";
3
+ import { t as sendMessageSlack } from "./send-ag0Lnpod.js";
4
+ import { t as prepareSlackMessage } from "./prepare--dY1BAh5.js";
5
+ import { t as createInboundSlackTestContext } from "./prepare.test-helpers-DkdsBfN8.js";
6
+ import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-CCyuhlnK.js";
7
+ import { n as slackOutbound } from "./outbound-adapter-CrkqCWtg.js";
8
8
  export { createInboundSlackTestContext, createSlackActions, createSlackOutboundPayloadHarness, prepareSlackMessage, sendMessageSlack, setSlackRuntime, slackOutbound, slackPlugin };
@@ -159,7 +159,15 @@
159
159
  "type": "object",
160
160
  "properties": {
161
161
  "enabled": {
162
- "type": "boolean"
162
+ "anyOf": [
163
+ {
164
+ "type": "boolean"
165
+ },
166
+ {
167
+ "type": "string",
168
+ "const": "auto"
169
+ }
170
+ ]
163
171
  },
164
172
  "approvers": {
165
173
  "type": "array",
@@ -1312,7 +1320,15 @@
1312
1320
  "type": "object",
1313
1321
  "properties": {
1314
1322
  "enabled": {
1315
- "type": "boolean"
1323
+ "anyOf": [
1324
+ {
1325
+ "type": "boolean"
1326
+ },
1327
+ {
1328
+ "type": "string",
1329
+ "const": "auto"
1330
+ }
1331
+ ]
1316
1332
  },
1317
1333
  "approvers": {
1318
1334
  "type": "array",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/slack",
3
- "version": "2026.5.19-beta.2",
3
+ "version": "2026.5.20-beta.1",
4
4
  "description": "OpenClaw Slack channel plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "openclaw": "workspace:*"
21
21
  },
22
22
  "peerDependencies": {
23
- "openclaw": ">=2026.5.19-beta.2"
23
+ "openclaw": ">=2026.5.20-beta.1"
24
24
  },
25
25
  "peerDependenciesMeta": {
26
26
  "openclaw": {
@@ -65,10 +65,10 @@
65
65
  "allowInvalidConfigRecovery": true
66
66
  },
67
67
  "compat": {
68
- "pluginApi": ">=2026.5.19-beta.2"
68
+ "pluginApi": ">=2026.5.20-beta.1"
69
69
  },
70
70
  "build": {
71
- "openclawVersion": "2026.5.19-beta.2",
71
+ "openclawVersion": "2026.5.20-beta.1",
72
72
  "bundledDist": false
73
73
  },
74
74
  "release": {
@@ -1,2 +0,0 @@
1
- import { a as resolveSlackAccount } from "./accounts-Cbw3i3Sa.js";
2
- export { resolveSlackAccount };
@@ -1,2 +0,0 @@
1
- import { t as handleSlackAction } from "./action-runtime-JEAXQ9qf.js";
2
- export { handleSlackAction };
@@ -1,2 +0,0 @@
1
- import { t as sendMessageSlack } from "./send-Br_H5f6H.js";
2
- export { sendMessageSlack };
@@ -1,2 +0,0 @@
1
- import "./send-Br_H5f6H.js";
2
- export {};
@@ -1,2 +0,0 @@
1
- import "./target-parsing-CQmv-iSm.js";
2
- export {};
File without changes