@openclaw/slack 2026.5.31-beta.3 → 2026.5.31-beta.4

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 (28) hide show
  1. package/dist/{action-runtime-CSrP2K6r.js → action-runtime-Cg2tZbNu.js} +1 -1
  2. package/dist/action-runtime.runtime-Cy2yYwZP.js +2 -0
  3. package/dist/{actions-7_NdPFE4.js → actions-CkiDNtJN.js} +1 -1
  4. package/dist/{actions.runtime-BXIGDEE2.js → actions.runtime-BCrYXk_p.js} +1 -1
  5. package/dist/api.js +5 -5
  6. package/dist/{approval-handler.runtime-BSVUJCOX.js → approval-handler.runtime-D89odl0s.js} +1 -1
  7. package/dist/{channel-BphCnwhM.js → channel-C3A408fP.js} +8 -8
  8. package/dist/channel-plugin-api.js +1 -1
  9. package/dist/{channel.setup-DvU_3G7a.js → channel.setup-Bwe4Z6kB.js} +1 -1
  10. package/dist/contract-api.js +1 -1
  11. package/dist/{doctor-contract-DpGLNqS3.js → doctor-contract-XL6HeNCb.js} +2 -2
  12. package/dist/doctor-contract-api.js +1 -1
  13. package/dist/{monitor-uZMv2kXU.js → monitor-NFID7817.js} +2 -2
  14. package/dist/{outbound-adapter-DgPiw1qt.js → outbound-adapter-C0WSWc70.js} +1 -1
  15. package/dist/{pipeline.runtime-Bwgko4H6.js → pipeline.runtime-DikPOwwv.js} +15 -8
  16. package/dist/{provider-9lXc1Ecr.js → provider-B4QaoPTL.js} +17 -7
  17. package/dist/{replies-DJglavBP.js → replies-BPnv9QT6.js} +1 -1
  18. package/dist/runtime-api.js +5 -5
  19. package/dist/{send-ZSA5yuA_.js → send-DzphzfbK.js} +5 -2
  20. package/dist/send.runtime-2BUc6y7a.js +2 -0
  21. package/dist/setup-plugin-api.js +1 -1
  22. package/dist/{setup-surface-95xI4u2U.js → setup-surface-CMNvy84L.js} +1 -1
  23. package/dist/{shared-D5tOdKwQ.js → shared-VMk8NGYC.js} +1 -1
  24. package/dist/{slash-dispatch.runtime-DAgcv0YS.js → slash-dispatch.runtime-Dr5g7nrJ.js} +1 -1
  25. package/npm-shrinkwrap.json +3 -3
  26. package/package.json +4 -4
  27. package/dist/action-runtime.runtime-rrYgVSQD.js +0 -2
  28. package/dist/send.runtime-CpSPovh6.js +0 -2
@@ -30,7 +30,7 @@ function sameSlackChannelTarget(targetChannel, currentChannelId) {
30
30
  let slackActionsRuntimePromise;
31
31
  let slackAccountsRuntimePromise;
32
32
  function loadSlackActionsRuntime() {
33
- slackActionsRuntimePromise ??= import("./actions.runtime-BXIGDEE2.js");
33
+ slackActionsRuntimePromise ??= import("./actions.runtime-BCrYXk_p.js");
34
34
  return slackActionsRuntimePromise;
35
35
  }
36
36
  function loadSlackAccountsRuntime() {
@@ -0,0 +1,2 @@
1
+ import { t as handleSlackAction } from "./action-runtime-Cg2tZbNu.js";
2
+ export { handleSlackAction };
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
2
  import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-f6Xcv9Vi.js";
3
3
  import { b as truncateSlackText, o as validateSlackBlocksArray, s as SLACK_TEXT_LIMIT } from "./thread-ts-CzxxhSE5.js";
4
4
  import { a as getSlackWriteClient, r as createSlackWebClient } from "./client-qvqS9fQM.js";
5
- import { c as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-ZSA5yuA_.js";
5
+ import { c as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-DzphzfbK.js";
6
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
8
8
  import { logVerbose, logVerbose as logVerbose$1 } from "openclaw/plugin-sdk/runtime-env";
@@ -1,2 +1,2 @@
1
- import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-7_NdPFE4.js";
1
+ import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-CkiDNtJN.js";
2
2
  export { deleteSlackMessage, downloadSlackFile, editSlackMessage, getSlackMemberInfo, listSlackEmojis, listSlackPins, listSlackReactions, pinSlackMessage, reactSlackMessage, readSlackMessages, removeOwnSlackReactions, removeSlackReaction, sendSlackMessage, unpinSlackMessage };
package/dist/api.js CHANGED
@@ -3,16 +3,16 @@ import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, l as resol
3
3
  import { t as inspectSlackAccount } from "./account-inspect-CdGk6R7l.js";
4
4
  import { i as resolveSlackChannelId, n as normalizeSlackMessagingTarget, r as parseSlackTarget, t as looksLikeSlackTargetId } from "./target-parsing-C7eeWg7M.js";
5
5
  import "./targets-nUqxHGgg.js";
6
- import { a as resolveSlackAutoThreadId, i as resolveSlackChannelType, n as buildSlackThreadingToolContext, r as resetSlackChannelTypeCacheForTest, t as slackPlugin } from "./channel-BphCnwhM.js";
6
+ import { a as resolveSlackAutoThreadId, i as resolveSlackChannelType, n as buildSlackThreadingToolContext, r as resetSlackChannelTypeCacheForTest, t as slackPlugin } from "./channel-C3A408fP.js";
7
7
  import { _ as buildSlackInteractiveBlocks, a as parseSlackBlocksInput, c as resolveSlackGroupRequireMention, d as normalizeAllowList, f as normalizeAllowListLower, g as resolveSlackUserAllowed, h as resolveSlackAllowListMatch, i as SLACK_MAX_BLOCKS, l as resolveSlackGroupToolPolicy, m as normalizeSlackSlug, o as validateSlackBlocksArray, p as normalizeSlackAllowOwnerEntry, u as allowListMatches, v as buildSlackPresentationBlocks } from "./thread-ts-CzxxhSE5.js";
8
8
  import { n as extractSlackToolSend, r as listSlackMessageActions } from "./message-tool-api-B9M0zzlQ.js";
9
9
  import { n as isSlackInteractiveRepliesEnabled, r as parseSlackOptionsLine, t as compileSlackInteractiveReplies } from "./interactive-replies-DrBq4Mld.js";
10
10
  import { a as getSlackWriteClient, c as resolveSlackWebClientOptions, i as createSlackWriteClient, l as resolveSlackWriteClientOptions, n as createSlackTokenCacheKey, o as SLACK_DEFAULT_RETRY_OPTIONS, r as createSlackWebClient, s as SLACK_WRITE_RETRY_OPTIONS, t as clearSlackWriteClientCacheForTest } from "./client-qvqS9fQM.js";
11
- import { t as slackSetupPlugin } from "./channel.setup-DvU_3G7a.js";
12
- import { a as recordSlackThreadParticipation, n as clearSlackThreadParticipationCache, r as hasSlackThreadParticipation } from "./send-ZSA5yuA_.js";
13
- import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-7_NdPFE4.js";
11
+ import { t as slackSetupPlugin } from "./channel.setup-Bwe4Z6kB.js";
12
+ import { a as recordSlackThreadParticipation, n as clearSlackThreadParticipationCache, r as hasSlackThreadParticipation } from "./send-DzphzfbK.js";
13
+ import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, n as downloadSlackFile, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-CkiDNtJN.js";
14
14
  import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./directory-config-8UPAEyNg.js";
15
15
  import { t as probeSlack } from "./probe-DczaQTdi.js";
16
16
  import { t as collectSlackSecurityAuditFindings } from "./security-audit-CikQhBUY.js";
17
- import { n as resolveSlackRuntimeGroupPolicy } from "./provider-9lXc1Ecr.js";
17
+ import { n as resolveSlackRuntimeGroupPolicy } from "./provider-B4QaoPTL.js";
18
18
  export { SLACK_DEFAULT_RETRY_OPTIONS, SLACK_MAX_BLOCKS, SLACK_WRITE_RETRY_OPTIONS, resetSlackChannelTypeCacheForTest as __resetSlackChannelTypeCacheForTest, resetSlackChannelTypeCacheForTest, allowListMatches, buildSlackInteractiveBlocks, buildSlackPresentationBlocks, buildSlackThreadingToolContext, clearSlackThreadParticipationCache, clearSlackWriteClientCacheForTest, collectSlackSecurityAuditFindings, compileSlackInteractiveReplies, createSlackTokenCacheKey, createSlackWebClient, createSlackWriteClient, deleteSlackMessage, downloadSlackFile, editSlackMessage, extractSlackToolSend, getSlackMemberInfo, getSlackWriteClient, handleSlackHttpRequest, hasSlackThreadParticipation, inspectSlackAccount, isSlackInteractiveRepliesEnabled, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, listSlackEmojis, listSlackMessageActions, listSlackPins, listSlackReactions, looksLikeSlackTargetId, mergeSlackAccountConfig, normalizeAllowList, normalizeAllowListLower, normalizeSlackAllowOwnerEntry, normalizeSlackMessagingTarget, normalizeSlackSlug, normalizeSlackWebhookPath, parseSlackBlocksInput, parseSlackOptionsLine, parseSlackTarget, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, recordSlackThreadParticipation, registerSlackHttpHandler, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAllowListMatch, resolveSlackAutoThreadId, resolveSlackChannelId, resolveSlackChannelType, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackReplyToMode, resolveSlackRuntimeGroupPolicy, resolveSlackUserAllowed, resolveSlackWebClientOptions, resolveSlackWriteClientOptions, sendSlackMessage, slackPlugin, slackSetupPlugin, unpinSlackMessage, validateSlackBlocksArray };
@@ -1,5 +1,5 @@
1
1
  import { C as isSlackAnyNativeApprovalClientEnabled, T as shouldHandleSlackNativeApprovalRequest, b as truncateSlackText, j as normalizeSlackApproverId, r as resolveSlackReplyBlocks, w as resolveSlackApprovalKind } from "./thread-ts-CzxxhSE5.js";
2
- import { t as sendMessageSlack } from "./send-ZSA5yuA_.js";
2
+ import { t as sendMessageSlack } from "./send-DzphzfbK.js";
3
3
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
5
5
  import { buildApprovalPresentationFromActionDescriptors } from "openclaw/plugin-sdk/approval-reply-runtime";
@@ -6,7 +6,7 @@ import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./mess
6
6
  import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-DrBq4Mld.js";
7
7
  import { d as PAIRING_APPROVED_MESSAGE, m as resolveConfiguredFromRequiredCredentialStatuses, p as projectCredentialSnapshotFields, r as createSlackWebClient, u as DEFAULT_ACCOUNT_ID } from "./client-qvqS9fQM.js";
8
8
  import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
9
- import { i as slackSecurityAdapter, n as isSlackPluginAccountConfigured, r as slackConfigAdapter, t as createSlackPluginBase } from "./shared-D5tOdKwQ.js";
9
+ import { i as slackSecurityAdapter, n as isSlackPluginAccountConfigured, r as slackConfigAdapter, t as createSlackPluginBase } from "./shared-VMk8NGYC.js";
10
10
  import { i as SLACK_CHANNEL, n as createSlackSetupWizardProxy, r as slackSetupAdapter } from "./setup-core-POfI_bgP.js";
11
11
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
@@ -231,7 +231,7 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
231
231
  approvalKind: resolveSlackApprovalKind(request),
232
232
  request
233
233
  }),
234
- load: async () => (await import("./approval-handler.runtime-BSVUJCOX.js")).slackApprovalNativeRuntime
234
+ load: async () => (await import("./approval-handler.runtime-D89odl0s.js")).slackApprovalNativeRuntime
235
235
  })
236
236
  });
237
237
  const baseSlackNativeAdapter = baseSlackApprovalCapability.native;
@@ -430,7 +430,7 @@ async function handleSlackMessageAction(params) {
430
430
  //#region extensions/slack/src/channel-actions.ts
431
431
  let slackActionRuntimePromise$1;
432
432
  async function loadSlackActionRuntime$1() {
433
- slackActionRuntimePromise$1 ??= import("./action-runtime.runtime-rrYgVSQD.js");
433
+ slackActionRuntimePromise$1 ??= import("./action-runtime.runtime-Cy2yYwZP.js");
434
434
  return await slackActionRuntimePromise$1;
435
435
  }
436
436
  function resolveSlackActionContext(params) {
@@ -560,9 +560,9 @@ const EXTENSION_SHARED_MODULE_ID = "openclaw/plugin-sdk/extension-shared";
560
560
  const TARGET_RESOLVER_RUNTIME_MODULE_ID = "openclaw/plugin-sdk/target-resolver-runtime";
561
561
  const loadExtensionSharedSdk = createLazyRuntimeModule(() => import(EXTENSION_SHARED_MODULE_ID));
562
562
  const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import(TARGET_RESOLVER_RUNTIME_MODULE_ID));
563
- const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-95xI4u2U.js"));
563
+ const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-CMNvy84L.js"));
564
564
  const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-Q1VjNpWb.js"));
565
- const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-DgPiw1qt.js"));
565
+ const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-C0WSWc70.js"));
566
566
  async function resolveSlackHandleAction() {
567
567
  return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
568
568
  }
@@ -586,11 +586,11 @@ const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./d
586
586
  const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-DIxJRl0F.js").then((n) => n.n));
587
587
  const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-B3vczJHE.js").then((n) => n.n));
588
588
  async function loadSlackActionRuntime() {
589
- slackActionRuntimePromise ??= import("./action-runtime.runtime-rrYgVSQD.js");
589
+ slackActionRuntimePromise ??= import("./action-runtime.runtime-Cy2yYwZP.js");
590
590
  return await slackActionRuntimePromise;
591
591
  }
592
592
  async function loadSlackSendRuntime() {
593
- slackSendRuntimePromise ??= import("./send.runtime-CpSPovh6.js");
593
+ slackSendRuntimePromise ??= import("./send.runtime-2BUc6y7a.js");
594
594
  return await slackSendRuntimePromise;
595
595
  }
596
596
  async function loadSlackProbeModule() {
@@ -598,7 +598,7 @@ async function loadSlackProbeModule() {
598
598
  return await slackProbeModulePromise;
599
599
  }
600
600
  async function loadSlackMonitorModule() {
601
- slackMonitorModulePromise ??= import("./monitor-uZMv2kXU.js").then((n) => n.t);
601
+ slackMonitorModulePromise ??= import("./monitor-NFID7817.js").then((n) => n.t);
602
602
  return await slackMonitorModulePromise;
603
603
  }
604
604
  async function loadSlackDirectoryLiveModule() {
@@ -1,2 +1,2 @@
1
- import { t as slackPlugin } from "./channel-BphCnwhM.js";
1
+ import { t as slackPlugin } from "./channel-C3A408fP.js";
2
2
  export { slackPlugin };
@@ -4,7 +4,7 @@ import { t as SlackChannelConfigSchema } from "./config-schema-BjAjs8_6.js";
4
4
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
5
5
  import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
6
6
  //#region extensions/slack/src/channel.setup.ts
7
- const slackSetupWizard = createSlackSetupWizardProxy(async () => ({ slackSetupWizard: (await import("./setup-surface-95xI4u2U.js")).slackSetupWizard }));
7
+ const slackSetupWizard = createSlackSetupWizardProxy(async () => ({ slackSetupWizard: (await import("./setup-surface-CMNvy84L.js")).slackSetupWizard }));
8
8
  const slackSetupConfigAdapter = createScopedChannelConfigAdapter({
9
9
  sectionKey: SLACK_CHANNEL,
10
10
  listAccountIds: listSlackAccountIds,
@@ -1,4 +1,4 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DpGLNqS3.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-XL6HeNCb.js";
2
2
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-g_PPWuoD.js";
3
3
  import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./directory-config-8UPAEyNg.js";
4
4
  import { t as collectSlackSecurityAuditFindings } from "./security-audit-CikQhBUY.js";
@@ -70,8 +70,8 @@ function normalizeCompatibilityConfig({ cfg }) {
70
70
  changes: []
71
71
  };
72
72
  const changes = [];
73
- let updated = rawEntry;
74
- let changed = false;
73
+ let updated;
74
+ let changed;
75
75
  const aliases = normalizeLegacyChannelAliases({
76
76
  entry: rawEntry,
77
77
  pathPrefix: "channels.slack",
@@ -1,2 +1,2 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DpGLNqS3.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-XL6HeNCb.js";
2
2
  export { legacyConfigRules, normalizeCompatibilityConfig };
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { t as monitorSlackProvider, y as buildSlackSlashCommandMatcher } from "./provider-9lXc1Ecr.js";
2
+ import { t as monitorSlackProvider, y as buildSlackSlashCommandMatcher } from "./provider-B4QaoPTL.js";
3
3
  import { t as isSlackChannelAllowedByPolicy } from "./policy-Bb46UkJW.js";
4
- import { o as resolveSlackThreadTs } from "./replies-DJglavBP.js";
4
+ import { o as resolveSlackThreadTs } from "./replies-BPnv9QT6.js";
5
5
  //#region extensions/slack/src/monitor.ts
6
6
  var monitor_exports = /* @__PURE__ */ __exportAll({
7
7
  buildSlackSlashCommandMatcher: () => buildSlackSlashCommandMatcher,
@@ -9,7 +9,7 @@ import { resolvePayloadMediaUrls, sendPayloadMediaSequenceAndFinalize, sendTextM
9
9
  const SLACK_MAX_BLOCKS = 50;
10
10
  let slackSendRuntimePromise;
11
11
  async function loadSlackSendRuntime() {
12
- slackSendRuntimePromise ??= import("./send.runtime-CpSPovh6.js");
12
+ slackSendRuntimePromise ??= import("./send.runtime-2BUc6y7a.js");
13
13
  return await slackSendRuntimePromise;
14
14
  }
15
15
  function resolveRenderedInteractiveBlocks(interactive, previousBlocks) {
@@ -4,12 +4,12 @@ import "./targets-nUqxHGgg.js";
4
4
  import { b as truncateSlackText, f as normalizeAllowListLower, h as resolveSlackAllowListMatch, p as normalizeSlackAllowOwnerEntry, s as SLACK_TEXT_LIMIT } from "./thread-ts-CzxxhSE5.js";
5
5
  import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-DrBq4Mld.js";
6
6
  import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode, t as mapStreamingModeToSlackLegacyDraftStreamMode } from "./streaming-compat-DjlgH-Be.js";
7
- import { a as recordSlackThreadParticipation, i as hasSlackThreadParticipationWithPersistence, s as normalizeSlackOutboundText, t as sendMessageSlack } from "./send-ZSA5yuA_.js";
8
- import { _ as resolveSlackThreadStarter, b as buildSlackEditTextPayload, f as removeSlackReaction, g as resolveSlackThreadHistory, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage, y as formatSlackFileReference } from "./actions-7_NdPFE4.js";
7
+ import { a as recordSlackThreadParticipation, i as hasSlackThreadParticipationWithPersistence, s as normalizeSlackOutboundText, t as sendMessageSlack } from "./send-DzphzfbK.js";
8
+ import { _ as resolveSlackThreadStarter, b as buildSlackEditTextPayload, f as removeSlackReaction, g as resolveSlackThreadHistory, l as reactSlackMessage, r as editSlackMessage, t as deleteSlackMessage, y as formatSlackFileReference } from "./actions-CkiDNtJN.js";
9
9
  import { t as formatSlackError } from "./errors-CZtmv-h0.js";
10
- import { _ as resolveStorePath, a as escapeSlackMrkdwn, b as stripSlackMentionsForCommandDetection, c as authorizeSlackBotRoomMessage, d as buildSlackAssistantThreadMetadata, f as parseSlackAssistantThreadMetadata, g as resolveChannelContextVisibilityMode, h as readSessionUpdatedAt, i as authorizeSlackDirectMessage, l as resolveSlackCommandIngress, m as resolveSlackChatType, o as recordInboundSession, p as normalizeSlackChannelType, r as resolveSlackRoomContextHints, s as resolveConversationLabel$1, u as resolveSlackEffectiveAllowFrom, v as updateLastRoute } from "./provider-9lXc1Ecr.js";
10
+ import { _ as resolveStorePath, a as escapeSlackMrkdwn, b as stripSlackMentionsForCommandDetection, c as authorizeSlackBotRoomMessage, d as buildSlackAssistantThreadMetadata, f as parseSlackAssistantThreadMetadata, g as resolveChannelContextVisibilityMode, h as readSessionUpdatedAt, i as authorizeSlackDirectMessage, l as resolveSlackCommandIngress, m as resolveSlackChatType, o as recordInboundSession, p as normalizeSlackChannelType, r as resolveSlackRoomContextHints, s as resolveConversationLabel$1, u as resolveSlackEffectiveAllowFrom, v as updateLastRoute } from "./provider-B4QaoPTL.js";
11
11
  import { n as resolveSlackChannelConfig } from "./policy-Bb46UkJW.js";
12
- import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, t as createSlackReplyDeliveryPlan } from "./replies-DJglavBP.js";
12
+ import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, t as createSlackReplyDeliveryPlan } from "./replies-BPnv9QT6.js";
13
13
  import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
14
14
  import { resolveAgentRoute, resolveInboundLastRouteSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
15
15
  import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, createChannelMessageReplyPipeline, createChannelProgressDraftGate, createDraftStreamLoop, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, formatChannelProgressDraftText, isChannelProgressDraftWorkToolName, mergeChannelProgressDraftLine, resolveAgentOutboundIdentity, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelProgressDraftConfig, resolveChannelProgressDraftMaxLineChars, resolveChannelProgressDraftMaxLines, resolveChannelProgressDraftRender, resolveChannelStreamingBlockEnabled, resolveChannelStreamingNativeTransport, resolveChannelStreamingPreviewToolProgress, resolveChannelStreamingSuppressDefaultToolProgressMessages } from "openclaw/plugin-sdk/channel-outbound";
@@ -1516,7 +1516,7 @@ async function dispatchPreparedSlackMessage(prepared) {
1516
1516
  return session;
1517
1517
  })();
1518
1518
  nativeProgressStreamStartPromise = startPromise;
1519
- let startedSession = null;
1519
+ let startedSession;
1520
1520
  try {
1521
1521
  startedSession = await startPromise;
1522
1522
  } finally {
@@ -1822,7 +1822,7 @@ async function dispatchPreparedSlackMessage(prepared) {
1822
1822
  })();
1823
1823
  else statusReactions.restoreInitial();
1824
1824
  } else await statusReactions.restoreInitial();
1825
- if (dispatchError) throw dispatchError;
1825
+ if (dispatchError) throw toLintErrorObject(dispatchError, "Slack dispatch failed");
1826
1826
  const participationThreadTs = usedReplyThreadTs ?? statusThreadTs;
1827
1827
  if (anyReplyDelivered && participationThreadTs) recordSlackThreadParticipation(account.accountId, message.channel, participationThreadTs, { agentId: route.agentId });
1828
1828
  if (!anyReplyDelivered && !draftPreviewCommitted) {
@@ -1851,6 +1851,13 @@ async function dispatchPreparedSlackMessage(prepared) {
1851
1851
  }
1852
1852
  });
1853
1853
  }
1854
+ function toLintErrorObject(value, fallbackMessage) {
1855
+ if (value instanceof Error) return value;
1856
+ if (typeof value === "string") return new Error(value);
1857
+ const error = new Error(fallbackMessage, { cause: value });
1858
+ if (typeof value === "object" && value !== null || typeof value === "function") Object.assign(error, value);
1859
+ return error;
1860
+ }
1854
1861
  //#endregion
1855
1862
  //#region extensions/slack/src/monitor/message-handler/prepare-content.ts
1856
1863
  const SLACK_MENTION_RESOLUTION_CONCURRENCY = 4;
@@ -1858,7 +1865,7 @@ const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
1858
1865
  const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
1859
1866
  let slackMediaModulePromise$1;
1860
1867
  function loadSlackMediaModule$1() {
1861
- slackMediaModulePromise$1 ??= import("./actions-7_NdPFE4.js").then((n) => n.h);
1868
+ slackMediaModulePromise$1 ??= import("./actions-CkiDNtJN.js").then((n) => n.h);
1862
1869
  return slackMediaModulePromise$1;
1863
1870
  }
1864
1871
  function collectUniqueSlackMentionIds$1(texts) {
@@ -2372,7 +2379,7 @@ function formatSlackBotStarterThreadLabel(params) {
2372
2379
  //#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
2373
2380
  let slackMediaModulePromise;
2374
2381
  function loadSlackMediaModule() {
2375
- slackMediaModulePromise ??= import("./actions-7_NdPFE4.js").then((n) => n.h);
2382
+ slackMediaModulePromise ??= import("./actions-CkiDNtJN.js").then((n) => n.h);
2376
2383
  return slackMediaModulePromise;
2377
2384
  }
2378
2385
  const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
@@ -874,7 +874,7 @@ function buildBaseAllowFrom(ctx) {
874
874
  async function resolveSlackEffectiveAllowFrom(ctx, options) {
875
875
  const base = buildBaseAllowFrom(ctx);
876
876
  if (options?.includePairingStore !== true) return base;
877
- let storeAllowFrom = [];
877
+ let storeAllowFrom;
878
878
  try {
879
879
  const resolved = await readChannelIngressStoreAllowFromForDmPolicy({
880
880
  provider: "slack",
@@ -2699,7 +2699,7 @@ function createSlackThreadTsResolver(params) {
2699
2699
  //#region extensions/slack/src/monitor/message-handler.ts
2700
2700
  let slackMessagePipelinePromise;
2701
2701
  function loadSlackMessagePipeline() {
2702
- slackMessagePipelinePromise ??= import("./pipeline.runtime-Bwgko4H6.js");
2702
+ slackMessagePipelinePromise ??= import("./pipeline.runtime-DikPOwwv.js");
2703
2703
  return slackMessagePipelinePromise;
2704
2704
  }
2705
2705
  const APP_MENTION_RETRY_TTL_MS = 6e4;
@@ -2981,7 +2981,7 @@ function installSlackNativeReconnectFailureObserver(receiver) {
2981
2981
  resolve(void 0);
2982
2982
  return;
2983
2983
  }
2984
- reject(error);
2984
+ reject(toLintErrorObject(error, "Non-Error rejection"));
2985
2985
  });
2986
2986
  }, delayMs);
2987
2987
  });
@@ -3156,14 +3156,17 @@ async function startSlackSocketAndWaitForDisconnect(params) {
3156
3156
  await Promise.resolve();
3157
3157
  const disconnect = disconnectWaiter.getLatest();
3158
3158
  disconnectWaiter.cancel();
3159
- if ((err === void 0 || err === null || err === "") && disconnect?.error !== void 0) throw disconnect.error;
3160
- if (err === void 0 || err === null || err === "") {
3159
+ if (isMissingSocketStartErrorDetail(err) && disconnect?.error !== void 0) throw toLintErrorObject(disconnect.error, "Non-Error thrown");
3160
+ if (isMissingSocketStartErrorDetail(err)) {
3161
3161
  const suffix = disconnect ? ` after ${disconnect.event}` : "";
3162
3162
  throw new Error(`Slack Socket Mode start failed${suffix} without error detail`, { cause: err });
3163
3163
  }
3164
3164
  throw err;
3165
3165
  }
3166
3166
  }
3167
+ function isMissingSocketStartErrorDetail(err) {
3168
+ return err === void 0 || err === null || err === "" || err instanceof Error && err.message === "";
3169
+ }
3167
3170
  function resolveSlackSocketShutdownClient(app) {
3168
3171
  if (!app || typeof app !== "object") return;
3169
3172
  const receiver = Reflect.get(app, "receiver");
@@ -3200,6 +3203,13 @@ function formatSlackUserResolved(entry) {
3200
3203
  extra: entry.note ? [entry.note] : []
3201
3204
  });
3202
3205
  }
3206
+ function toLintErrorObject(value, fallbackMessage) {
3207
+ if (value instanceof Error) return value;
3208
+ if (typeof value === "string") return new Error(value);
3209
+ const error = new Error(fallbackMessage, { cause: value });
3210
+ if (typeof value === "object" && value !== null || typeof value === "function") Object.assign(error, value);
3211
+ return error;
3212
+ }
3203
3213
  //#endregion
3204
3214
  //#region extensions/slack/src/monitor/dm-auth.ts
3205
3215
  async function authorizeSlackDirectMessage(params) {
@@ -3261,7 +3271,7 @@ function pruneSlackExternalArgMenuStore(store, rawNow) {
3261
3271
  for (const [token, entry] of store.entries()) if (asDateTimestampMs(entry.expiresAt) === void 0 || entry.expiresAt <= now) store.delete(token);
3262
3272
  }
3263
3273
  function createSlackExternalArgMenuToken(store) {
3264
- let token = "";
3274
+ let token;
3265
3275
  do
3266
3276
  token = generateSecureToken(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES);
3267
3277
  while (store.has(token));
@@ -3331,7 +3341,7 @@ function loadSlashCommandsRuntime() {
3331
3341
  return slashCommandsRuntimePromise;
3332
3342
  }
3333
3343
  function loadSlashDispatchRuntime() {
3334
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DAgcv0YS.js");
3344
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-Dr5g7nrJ.js");
3335
3345
  return slashDispatchRuntimePromise;
3336
3346
  }
3337
3347
  function loadSlackPluginCommandsRuntime() {
@@ -1,5 +1,5 @@
1
1
  import { r as resolveSlackReplyBlocks, s as SLACK_TEXT_LIMIT } from "./thread-ts-CzxxhSE5.js";
2
- import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-ZSA5yuA_.js";
2
+ import { o as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-DzphzfbK.js";
3
3
  import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
4
4
  import { SILENT_REPLY_TOKEN, chunkMarkdownTextWithMode, isSilentReplyText } from "openclaw/plugin-sdk/reply-chunking";
5
5
  import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
@@ -2,13 +2,13 @@ import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-B9PvcDQJ.js"
2
2
  import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-f6Xcv9Vi.js";
3
3
  import { c as resolveSlackGroupRequireMention, l as resolveSlackGroupToolPolicy } from "./thread-ts-CzxxhSE5.js";
4
4
  import { n as setSlackRuntime } from "./runtime-BOk7xkOl.js";
5
- import { t as sendMessageSlack } from "./send-ZSA5yuA_.js";
6
- 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-7_NdPFE4.js";
5
+ import { t as sendMessageSlack } from "./send-DzphzfbK.js";
6
+ 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-CkiDNtJN.js";
7
7
  import { t as probeSlack } from "./probe-DczaQTdi.js";
8
8
  import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DIxJRl0F.js";
9
9
  import { t as resolveSlackUserAllowlist } from "./resolve-users-B3vczJHE.js";
10
- import { t as monitorSlackProvider } from "./provider-9lXc1Ecr.js";
11
- import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-CSrP2K6r.js";
10
+ import { t as monitorSlackProvider } from "./provider-B4QaoPTL.js";
11
+ import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-Cg2tZbNu.js";
12
12
  import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-WZwhRYe2.js";
13
- import "./monitor-uZMv2kXU.js";
13
+ import "./monitor-NFID7817.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 };
@@ -380,16 +380,19 @@ function hasSlackDnsRequestSignal(err) {
380
380
  return false;
381
381
  }
382
382
  function delaySlackDnsRetry(attempt) {
383
- return new Promise((resolve) => setTimeout(resolve, SLACK_DNS_RETRY_BASE_DELAY_MS * Math.max(1, attempt)));
383
+ return new Promise((resolve) => {
384
+ setTimeout(resolve, SLACK_DNS_RETRY_BASE_DELAY_MS * Math.max(1, attempt));
385
+ });
384
386
  }
385
387
  async function withSlackDnsRequestRetry(operation, fn) {
386
- for (let attempt = 0;; attempt += 1) try {
388
+ for (const attempt of Array.from({ length: 3 }, (_, index) => index)) try {
387
389
  return await fn();
388
390
  } catch (err) {
389
391
  if (attempt >= SLACK_DNS_RETRY_ATTEMPTS || !hasSlackDnsRequestSignal(err)) throw err;
390
392
  logVerbose(`slack send: retrying ${operation} after transient DNS request error (${attempt + 1}/${SLACK_DNS_RETRY_ATTEMPTS})`);
391
393
  await delaySlackDnsRetry(attempt + 1);
392
394
  }
395
+ throw new Error("unreachable Slack DNS retry loop exit");
393
396
  }
394
397
  function isSlackCustomizeScopeError(err) {
395
398
  const data = getSlackWebApiErrorData(err);
@@ -0,0 +1,2 @@
1
+ import { t as sendMessageSlack } from "./send-DzphzfbK.js";
2
+ export { sendMessageSlack };
@@ -1,2 +1,2 @@
1
- import { t as slackSetupPlugin } from "./channel.setup-DvU_3G7a.js";
1
+ import { t as slackSetupPlugin } from "./channel.setup-Bwe4Z6kB.js";
2
2
  export { slackSetupPlugin };
@@ -1,5 +1,5 @@
1
1
  import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-f6Xcv9Vi.js";
2
- import "./shared-D5tOdKwQ.js";
2
+ import "./shared-VMk8NGYC.js";
3
3
  import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-POfI_bgP.js";
4
4
  import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DIxJRl0F.js";
5
5
  import { t as resolveSlackUserAllowlist } from "./resolve-users-B3vczJHE.js";
@@ -4,7 +4,7 @@ import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-DrB
4
4
  import { f as getChatChannelMeta } from "./client-qvqS9fQM.js";
5
5
  import { i as SLACK_CHANNEL } from "./setup-core-POfI_bgP.js";
6
6
  import { t as SlackChannelConfigSchema } from "./config-schema-BjAjs8_6.js";
7
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-DpGLNqS3.js";
7
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-XL6HeNCb.js";
8
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";
@@ -1,4 +1,4 @@
1
- import { r as deliverSlackSlashReplies$1 } from "./replies-DJglavBP.js";
1
+ import { r as deliverSlackSlashReplies$1 } from "./replies-BPnv9QT6.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";
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/slack",
3
- "version": "2026.5.31-beta.3",
3
+ "version": "2026.5.31-beta.4",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/slack",
9
- "version": "2026.5.31-beta.3",
9
+ "version": "2026.5.31-beta.4",
10
10
  "dependencies": {
11
11
  "@slack/bolt": "4.7.3",
12
12
  "@slack/types": "2.21.1",
@@ -15,7 +15,7 @@
15
15
  "zod": "4.4.3"
16
16
  },
17
17
  "peerDependencies": {
18
- "openclaw": ">=2026.5.31-beta.3"
18
+ "openclaw": ">=2026.5.31-beta.4"
19
19
  },
20
20
  "peerDependenciesMeta": {
21
21
  "openclaw": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/slack",
3
- "version": "2026.5.31-beta.3",
3
+ "version": "2026.5.31-beta.4",
4
4
  "description": "OpenClaw Slack channel plugin for channels, DMs, commands, and app events.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,7 @@
15
15
  "zod": "4.4.3"
16
16
  },
17
17
  "peerDependencies": {
18
- "openclaw": ">=2026.5.31-beta.3"
18
+ "openclaw": ">=2026.5.31-beta.4"
19
19
  },
20
20
  "peerDependenciesMeta": {
21
21
  "openclaw": {
@@ -60,13 +60,13 @@
60
60
  "allowInvalidConfigRecovery": true
61
61
  },
62
62
  "compat": {
63
- "pluginApi": ">=2026.5.31-beta.3"
63
+ "pluginApi": ">=2026.5.31-beta.4"
64
64
  },
65
65
  "startup": {
66
66
  "deferConfiguredChannelFullLoadUntilAfterListen": true
67
67
  },
68
68
  "build": {
69
- "openclawVersion": "2026.5.31-beta.3",
69
+ "openclawVersion": "2026.5.31-beta.4",
70
70
  "bundledDist": false
71
71
  },
72
72
  "release": {
@@ -1,2 +0,0 @@
1
- import { t as handleSlackAction } from "./action-runtime-CSrP2K6r.js";
2
- export { handleSlackAction };
@@ -1,2 +0,0 @@
1
- import { t as sendMessageSlack } from "./send-ZSA5yuA_.js";
2
- export { sendMessageSlack };