@openclaw/slack 2026.6.8 → 2026.6.9

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 (44) hide show
  1. package/dist/{action-runtime-CgrHdqkC.js → action-runtime-CkD5nTPl.js} +10 -20
  2. package/dist/action-runtime.runtime-CJyuCUxj.js +2 -0
  3. package/dist/{actions-YkhEE5f1.js → actions-B2w2hCZ2.js} +7 -3
  4. package/dist/{actions.runtime-DyVzqzLc.js → actions.runtime-B56qRt06.js} +1 -1
  5. package/dist/api.js +12 -12
  6. package/dist/{approval-handler.runtime-KWkR1mEG.js → approval-handler.runtime-BS6xpR-X.js} +2 -2
  7. package/dist/{channel-BxD37X5Y.js → channel-CwSI6hhC.js} +51 -39
  8. package/dist/channel-plugin-api.js +1 -1
  9. package/dist/{channel.setup-W5YnieWd.js → channel.setup-WLGVcaSf.js} +1 -1
  10. package/dist/{client-Cn2WwpcA.js → client-DhaHONzg.js} +1 -1
  11. package/dist/{directory-config-8UPAEyNg.js → directory-config-Dmhi8ECy.js} +2 -2
  12. package/dist/directory-contract-api.js +1 -1
  13. package/dist/{directory-live-C1acgXKJ.js → directory-live-D_pIXtL1.js} +1 -1
  14. package/dist/{message-tool-api-B9M0zzlQ.js → message-tool-api-NLAYFat2.js} +18 -1
  15. package/dist/message-tool-api.js +1 -1
  16. package/dist/{monitor-DwDmBYfl.js → monitor-CAdKQeRW.js} +3 -3
  17. package/dist/{outbound-adapter-DvXnHfDP.js → outbound-adapter-CBFfXlOI.js} +3 -2
  18. package/dist/{pipeline.runtime-1FYOQOt_.js → pipeline.runtime-DQBGMhhW.js} +38 -31
  19. package/dist/{policy-DT3mRh58.js → policy-Dfbxkneh.js} +1 -1
  20. package/dist/{probe-BTKzLT2u.js → probe-C3PL00Ms.js} +1 -1
  21. package/dist/{provider-ChhYGpXx.js → provider-DbHhtmBz.js} +146 -32
  22. package/dist/{replies-Bt4nWmSd.js → replies-CH4Dmgbr.js} +2 -2
  23. package/dist/{thread-ts-Cffag8e2.js → reply-blocks-DSfujQlj.js} +4 -15
  24. package/dist/{resolve-channels-DX2GSx9c.js → resolve-channels-DNiE0Z0_.js} +1 -1
  25. package/dist/{resolve-users-DOULgUwy.js → resolve-users-D_TmaIfG.js} +1 -1
  26. package/dist/{runtime-api-DudG6lbf.js → runtime-api-DYg05-Op.js} +2 -2
  27. package/dist/runtime-api.js +10 -10
  28. package/dist/{scopes-CErQL0td.js → scopes-CR4oXiXN.js} +1 -1
  29. package/dist/{send-rekB-Xjp.js → send-EpqsWCGd.js} +20 -8
  30. package/dist/send.runtime-CbeGF-al.js +2 -0
  31. package/dist/setup-plugin-api.js +1 -1
  32. package/dist/{setup-surface-NNMjGpXc.js → setup-surface-BHsOhTJd.js} +3 -3
  33. package/dist/{shared-Bkkmro6q.js → shared-BxzdaqOc.js} +1 -1
  34. package/dist/{slash-dispatch.runtime-Dvvs747S.js → slash-dispatch.runtime-BOl9Cbn9.js} +1 -1
  35. package/dist/{target-parsing-C7eeWg7M.js → target-parsing-3jYH8LfB.js} +6 -1
  36. package/dist/targets-Dll4NJgs.js +13 -0
  37. package/dist/thread-ts-DUGhaYKq.js +13 -0
  38. package/node_modules/semver/classes/range.js +11 -2
  39. package/node_modules/semver/package.json +2 -2
  40. package/npm-shrinkwrap.json +6 -6
  41. package/package.json +4 -4
  42. package/dist/action-runtime.runtime-D05xDf1s.js +0 -2
  43. package/dist/send.runtime-DGyqPLWj.js +0 -2
  44. package/dist/targets-nUqxHGgg.js +0 -2
@@ -1,14 +1,14 @@
1
1
  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
- import { c as resolveSlackGroupRequireMention, l as resolveSlackGroupToolPolicy } from "./thread-ts-Cffag8e2.js";
3
+ import { o as resolveSlackGroupRequireMention, s as resolveSlackGroupToolPolicy } from "./reply-blocks-DSfujQlj.js";
4
4
  import { n as setSlackRuntime } from "./runtime-BOk7xkOl.js";
5
- import { t as sendMessageSlack } from "./send-rekB-Xjp.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-YkhEE5f1.js";
7
- import { t as probeSlack } from "./probe-BTKzLT2u.js";
8
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DX2GSx9c.js";
9
- import { t as resolveSlackUserAllowlist } from "./resolve-users-DOULgUwy.js";
10
- import { t as monitorSlackProvider } from "./provider-ChhYGpXx.js";
11
- import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-CgrHdqkC.js";
12
- import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-C1acgXKJ.js";
13
- import "./monitor-DwDmBYfl.js";
5
+ import { t as sendMessageSlack } from "./send-EpqsWCGd.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-B2w2hCZ2.js";
7
+ import { t as probeSlack } from "./probe-C3PL00Ms.js";
8
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DNiE0Z0_.js";
9
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-D_TmaIfG.js";
10
+ import { t as monitorSlackProvider } from "./provider-DbHhtmBz.js";
11
+ import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-CkD5nTPl.js";
12
+ import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-D_pIXtL1.js";
13
+ import "./monitor-CAdKQeRW.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,4 +1,4 @@
1
- import { r as createSlackWebClient } from "./client-Cn2WwpcA.js";
1
+ import { r as createSlackWebClient } from "./client-DhaHONzg.js";
2
2
  import { t as formatSlackError } from "./errors-CZtmv-h0.js";
3
3
  import { isRecord, normalizeOptionalString, normalizeStringEntries, sortUniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  //#region extensions/slack/src/scopes.ts
@@ -1,10 +1,11 @@
1
1
  import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-f6Xcv9Vi.js";
2
- import { r as parseSlackTarget } from "./target-parsing-C7eeWg7M.js";
3
- import "./targets-nUqxHGgg.js";
4
- import { b as truncateSlackText, o as validateSlackBlocksArray, s as SLACK_TEXT_LIMIT, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cffag8e2.js";
5
- import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-Cn2WwpcA.js";
2
+ import { r as parseSlackTarget } from "./target-parsing-3jYH8LfB.js";
3
+ import "./targets-Dll4NJgs.js";
4
+ import { a as SLACK_TEXT_LIMIT, i as validateSlackBlocksArray, v as truncateSlackText } from "./reply-blocks-DSfujQlj.js";
5
+ import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-DhaHONzg.js";
6
+ import { t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.js";
6
7
  import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
7
- import { i as loadOutboundMediaFromUrl } from "./runtime-api-DudG6lbf.js";
8
+ import { i as loadOutboundMediaFromUrl } from "./runtime-api-DYg05-Op.js";
8
9
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
10
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
10
11
  import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
@@ -425,6 +426,10 @@ async function postSlackMessageBestEffort(params) {
425
426
  return withSlackDnsRequestRetry("chat.postMessage", () => postChatMessage(basePayload));
426
427
  }
427
428
  }
429
+ function resolvePostedMessageThreadTs(response) {
430
+ const threadTs = response.message?.thread_ts;
431
+ return typeof threadTs === "string" ? normalizeSlackThreadTsCandidate(threadTs) : void 0;
432
+ }
428
433
  function createSlackSendReceipt(params) {
429
434
  return createMessageReceiptFromOutboundResults({
430
435
  results: params.platformMessageIds.map((messageId) => messageId.trim()).filter((messageId) => messageId && messageId !== "unknown" && messageId !== "suppressed").map((messageId) => {
@@ -604,7 +609,7 @@ async function sendMessageSlack(to, message, opts) {
604
609
  recipient,
605
610
  blocks
606
611
  }));
607
- const threadTs = normalizeSlackThreadTsCandidate(opts.threadTs);
612
+ const threadTs = result.threadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
608
613
  if (threadTs && result.channelId && account.accountId) recordSlackThreadParticipation(account.accountId, result.channelId, threadTs);
609
614
  return result;
610
615
  }
@@ -647,14 +652,16 @@ async function sendMessageSlackQueuedInner(params) {
647
652
  });
648
653
  const messageId = response.ts ?? "unknown";
649
654
  const deliveredChannelId = resolvePostedMessageChannelId(response, channelId);
655
+ const deliveredThreadTs = resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs);
650
656
  return {
651
657
  messageId,
652
658
  channelId: deliveredChannelId,
659
+ threadTs: deliveredThreadTs,
653
660
  receipt: createSlackSendReceipt({
654
661
  platformMessageIds: [messageId],
655
662
  channelId: deliveredChannelId,
656
663
  kind: "card",
657
- threadTs: opts.threadTs
664
+ threadTs: deliveredThreadTs
658
665
  })
659
666
  };
660
667
  }
@@ -671,6 +678,7 @@ async function sendMessageSlackQueuedInner(params) {
671
678
  const sentMessageIds = [];
672
679
  let lastMessageId = "";
673
680
  let deliveredChannelId = channelId;
681
+ let canonicalDeliveredThreadTs;
674
682
  if (opts.mediaUrl) {
675
683
  const [firstChunk, ...rest] = resolvedChunks;
676
684
  lastMessageId = await uploadSlackFile({
@@ -700,6 +708,7 @@ async function sendMessageSlackQueuedInner(params) {
700
708
  });
701
709
  lastMessageId = response.ts ?? lastMessageId;
702
710
  deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
711
+ canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
703
712
  if (response.ts) sentMessageIds.push(response.ts);
704
713
  }
705
714
  } else for (const chunk of resolvedChunks.length ? resolvedChunks : [""]) {
@@ -715,17 +724,20 @@ async function sendMessageSlackQueuedInner(params) {
715
724
  });
716
725
  lastMessageId = response.ts ?? lastMessageId;
717
726
  deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
727
+ canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
718
728
  if (response.ts) sentMessageIds.push(response.ts);
719
729
  }
720
730
  const messageId = lastMessageId || "unknown";
731
+ const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
721
732
  return {
722
733
  messageId,
723
734
  channelId: deliveredChannelId,
735
+ threadTs: deliveredThreadTs,
724
736
  receipt: createSlackSendReceipt({
725
737
  platformMessageIds: sentMessageIds.length ? sentMessageIds : [messageId],
726
738
  channelId: deliveredChannelId,
727
739
  kind: opts.mediaUrl ? "media" : "text",
728
- threadTs: opts.threadTs
740
+ threadTs: deliveredThreadTs
729
741
  })
730
742
  };
731
743
  }
@@ -0,0 +1,2 @@
1
+ import { t as sendMessageSlack } from "./send-EpqsWCGd.js";
2
+ export { sendMessageSlack };
@@ -1,2 +1,2 @@
1
- import { t as slackSetupPlugin } from "./channel.setup-W5YnieWd.js";
1
+ import { t as slackSetupPlugin } from "./channel.setup-WLGVcaSf.js";
2
2
  export { slackSetupPlugin };
@@ -1,8 +1,8 @@
1
1
  import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-f6Xcv9Vi.js";
2
- import "./shared-Bkkmro6q.js";
2
+ import "./shared-BxzdaqOc.js";
3
3
  import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-POfI_bgP.js";
4
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DX2GSx9c.js";
5
- import { t as resolveSlackUserAllowlist } from "./resolve-users-DOULgUwy.js";
4
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-DNiE0Z0_.js";
5
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-D_TmaIfG.js";
6
6
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
8
8
  import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken } from "openclaw/plugin-sdk/setup-runtime";
@@ -1,6 +1,6 @@
1
1
  import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig, s as resolveSlackAccountDmPolicy } from "./accounts-f6Xcv9Vi.js";
2
2
  import { t as inspectSlackAccount } from "./account-inspect-CdGk6R7l.js";
3
- import { f as getChatChannelMeta, h as isSlackPluginAccountConfigured } from "./client-Cn2WwpcA.js";
3
+ import { f as getChatChannelMeta, h as isSlackPluginAccountConfigured } from "./client-DhaHONzg.js";
4
4
  import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-DrBq4Mld.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";
@@ -1,4 +1,4 @@
1
- import { r as deliverSlackSlashReplies$1 } from "./replies-Bt4nWmSd.js";
1
+ import { r as deliverSlackSlashReplies$1 } from "./replies-CH4Dmgbr.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";
@@ -42,6 +42,11 @@ function resolveSlackChannelId(raw) {
42
42
  function normalizeSlackMessagingTarget(raw) {
43
43
  return parseSlackTarget(raw, { defaultKind: "channel" })?.normalized;
44
44
  }
45
+ function slackTargetsMatch(left, right) {
46
+ const leftTarget = normalizeSlackMessagingTarget(left);
47
+ const rightTarget = normalizeSlackMessagingTarget(right);
48
+ return Boolean(leftTarget && rightTarget && leftTarget === rightTarget);
49
+ }
45
50
  function looksLikeSlackTargetId(raw) {
46
51
  const trimmed = raw.trim();
47
52
  if (!trimmed) return false;
@@ -52,4 +57,4 @@ function looksLikeSlackTargetId(raw) {
52
57
  return /^[CUWGD][A-Z0-9]{8,}$/i.test(trimmed);
53
58
  }
54
59
  //#endregion
55
- export { resolveSlackChannelId as i, normalizeSlackMessagingTarget as n, parseSlackTarget as r, looksLikeSlackTargetId as t };
60
+ export { slackTargetsMatch as a, resolveSlackChannelId as i, normalizeSlackMessagingTarget as n, parseSlackTarget as r, looksLikeSlackTargetId as t };
@@ -0,0 +1,13 @@
1
+ import { a as slackTargetsMatch, r as parseSlackTarget } from "./target-parsing-3jYH8LfB.js";
2
+ //#region extensions/slack/src/targets.ts
3
+ function matchesResolvedUserTarget(target, currentMessagingTarget) {
4
+ const resolvedId = target.trim();
5
+ if (!/^[UW][A-Z0-9]+$/i.test(resolvedId)) return false;
6
+ const currentTarget = parseSlackTarget(currentMessagingTarget);
7
+ return currentTarget?.kind === "user" && currentTarget.id.toLowerCase() === resolvedId.toLowerCase();
8
+ }
9
+ function slackContextTargetsMatch(target, context) {
10
+ return Boolean(context.currentMessagingTarget && (slackTargetsMatch(target, context.currentMessagingTarget) || matchesResolvedUserTarget(target, context.currentMessagingTarget)) || context.currentChannelId && slackTargetsMatch(target, context.currentChannelId));
11
+ }
12
+ //#endregion
13
+ export { slackContextTargetsMatch as t };
@@ -0,0 +1,13 @@
1
+ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ //#region extensions/slack/src/thread-ts.ts
3
+ const SLACK_THREAD_TS_PATTERN = /^\d+\.\d+$/;
4
+ function normalizeSlackThreadTsCandidate(value) {
5
+ if (typeof value !== "string") return;
6
+ const normalized = normalizeOptionalString(value);
7
+ return normalized && SLACK_THREAD_TS_PATTERN.test(normalized) ? normalized : void 0;
8
+ }
9
+ function resolveSlackThreadTsValue(params) {
10
+ return normalizeSlackThreadTsCandidate(params.replyToId) ?? normalizeSlackThreadTsCandidate(params.threadId);
11
+ }
12
+ //#endregion
13
+ export { resolveSlackThreadTsValue as n, normalizeSlackThreadTsCandidate as t };
@@ -277,6 +277,11 @@ const parseComparator = (comp, options) => {
277
277
 
278
278
  const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
279
279
 
280
+ const invalidXRangeOrder = (M, m, p) => (
281
+ (isX(M) && !isX(m)) ||
282
+ (isX(m) && p && !isX(p))
283
+ )
284
+
280
285
  // ~, ~> --> * (any, kinda silly)
281
286
  // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
282
287
  // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
@@ -373,10 +378,10 @@ const replaceCaret = (comp, options) => {
373
378
  if (M === '0') {
374
379
  if (m === '0') {
375
380
  ret = `>=${M}.${m}.${p
376
- }${z} <${M}.${m}.${+p + 1}-0`
381
+ } <${M}.${m}.${+p + 1}-0`
377
382
  } else {
378
383
  ret = `>=${M}.${m}.${p
379
- }${z} <${M}.${+m + 1}.0-0`
384
+ } <${M}.${+m + 1}.0-0`
380
385
  }
381
386
  } else {
382
387
  ret = `>=${M}.${m}.${p
@@ -402,6 +407,10 @@ const replaceXRange = (comp, options) => {
402
407
  const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
403
408
  return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
404
409
  debug('xRange', comp, ret, gtlt, M, m, p, pr)
410
+ if (invalidXRangeOrder(M, m, p)) {
411
+ return comp
412
+ }
413
+
405
414
  const xM = isX(M)
406
415
  const xm = xM || isX(m)
407
416
  const xp = xm || isX(p)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semver",
3
- "version": "7.8.2",
3
+ "version": "7.8.4",
4
4
  "description": "The semantic version parser used by npm.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
15
15
  },
16
16
  "devDependencies": {
17
- "@npmcli/eslint-config": "^6.0.0",
17
+ "@npmcli/eslint-config": "^7.0.0",
18
18
  "@npmcli/template-oss": "5.0.0",
19
19
  "benchmark": "^2.1.4",
20
20
  "tap": "^16.0.0"
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/slack",
3
- "version": "2026.6.8",
3
+ "version": "2026.6.9",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/slack",
9
- "version": "2026.6.8",
9
+ "version": "2026.6.9",
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.6.8"
18
+ "openclaw": ">=2026.6.9"
19
19
  },
20
20
  "peerDependenciesMeta": {
21
21
  "openclaw": {
@@ -1156,9 +1156,9 @@
1156
1156
  "license": "MIT"
1157
1157
  },
1158
1158
  "node_modules/semver": {
1159
- "version": "7.8.2",
1160
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz",
1161
- "integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==",
1159
+ "version": "7.8.4",
1160
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
1161
+ "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
1162
1162
  "license": "ISC",
1163
1163
  "bin": {
1164
1164
  "semver": "bin/semver.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/slack",
3
- "version": "2026.6.8",
3
+ "version": "2026.6.9",
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.6.8"
18
+ "openclaw": ">=2026.6.9"
19
19
  },
20
20
  "peerDependenciesMeta": {
21
21
  "openclaw": {
@@ -60,13 +60,13 @@
60
60
  "allowInvalidConfigRecovery": true
61
61
  },
62
62
  "compat": {
63
- "pluginApi": ">=2026.6.8"
63
+ "pluginApi": ">=2026.6.9"
64
64
  },
65
65
  "startup": {
66
66
  "deferConfiguredChannelFullLoadUntilAfterListen": true
67
67
  },
68
68
  "build": {
69
- "openclawVersion": "2026.6.8",
69
+ "openclawVersion": "2026.6.9",
70
70
  "bundledDist": false
71
71
  },
72
72
  "release": {
@@ -1,2 +0,0 @@
1
- import { t as handleSlackAction } from "./action-runtime-CgrHdqkC.js";
2
- export { handleSlackAction };
@@ -1,2 +0,0 @@
1
- import { t as sendMessageSlack } from "./send-rekB-Xjp.js";
2
- export { sendMessageSlack };
@@ -1,2 +0,0 @@
1
- import "./target-parsing-C7eeWg7M.js";
2
- export {};