@openclaw/slack 2026.6.11 → 2026.7.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{action-runtime-DfJK7zS0.js → action-runtime-E9QZMf0z.js} +6 -13
- package/dist/action-runtime.runtime-BQrVgSOq.js +2 -0
- package/dist/{actions-OhnDIN4l.js → actions-CqRHPciJ.js} +3 -3
- package/dist/{actions.runtime-DkFXr3-k.js → actions.runtime-Dl6AfO_g.js} +1 -1
- package/dist/api.js +8 -8
- package/dist/{approval-handler.runtime-CsFrthnF.js → approval-handler.runtime-BqNO_HC_.js} +7 -3
- package/dist/{channel-COCbJwom.js → channel-jO8Jdkge.js} +22 -42
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.setup-DYQGnKPK.js → channel.setup-CDOZ8V3p.js} +1 -1
- package/dist/{client-km2ba2l3.js → client-DG9cyk55.js} +27 -16
- package/dist/{directory-live-DzOkmJVV.js → directory-live-DC-YA5SQ.js} +10 -12
- package/dist/{monitor-Cy-0xYgF.js → monitor-BQ7P93ll.js} +3 -3
- package/dist/{outbound-adapter-CzX4D5K_.js → outbound-adapter-BHUtpXz0.js} +3 -6
- package/dist/{pipeline.runtime-5R4HgM_7.js → pipeline.runtime-cxw6Zihc.js} +39 -26
- package/dist/{policy-Bi92bs5t.js → policy-DAE6BTN3.js} +1 -1
- package/dist/{probe-BRsYAcGR.js → probe-DFKt9Ute.js} +1 -1
- package/dist/{provider-7YKru1TZ.js → provider-BdoeWKr8.js} +71 -51
- package/dist/{relay-source-42fP7Ktr.js → relay-source-OcqQzKfX.js} +13 -3
- package/dist/{replies-Dlxge48k.js → replies-D_G-EPr8.js} +3 -3
- package/dist/{reply-blocks-BT_sNsDQ.js → reply-blocks-CfJqf7eq.js} +3 -2
- package/dist/{resolve-channels-CtUOIX8D.js → resolve-channels-eniB45fy.js} +1 -1
- package/dist/{resolve-users-DfFN2BcP.js → resolve-users-DDKzl37a.js} +1 -1
- package/dist/{runtime-api-ClM1_yX2.js → runtime-api-DHJ8ntLr.js} +1 -1
- package/dist/runtime-api.js +10 -10
- package/dist/{scopes-CNKZU1t1.js → scopes-BdVdJxFf.js} +1 -1
- package/dist/{send-CRoD-UQw.js → send-Dg6U9K7_.js} +4 -4
- package/dist/send.runtime-a-O4PP2B.js +2 -0
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-D4GE34e2.js → setup-surface-D7xdZLxB.js} +3 -3
- package/dist/{shared-BtJS2bUx.js → shared-iMaNxOIL.js} +1 -1
- package/dist/{slash-dispatch.runtime-D1qKAWNN.js → slash-dispatch.runtime-DVhs_fpQ.js} +1 -1
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/assert/strict.d.ts +59 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/assert.d.ts +950 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/async_hooks.d.ts +711 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/buffer.d.ts +1765 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/child_process.d.ts +1366 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/cluster.d.ts +432 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/console.d.ts +93 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/constants.d.ts +14 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/crypto.d.ts +4058 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/dgram.d.ts +537 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/dns/promises.d.ts +497 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/dns.d.ts +876 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/domain.d.ts +150 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/events.d.ts +1008 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/fs/promises.d.ts +1468 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/fs.d.ts +4780 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/globals.d.ts +150 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/http.d.ts +2147 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/http2.d.ts +2485 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/https.d.ts +400 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/index.d.ts +117 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector/promises.d.ts +35 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector.d.ts +264 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/module.d.ts +755 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/net.d.ts +970 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/os.d.ts +498 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/package.json +155 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/path/posix.d.ts +8 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/path/win32.d.ts +8 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/path.d.ts +178 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/perf_hooks.d.ts +612 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/process.d.ts +2204 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/punycode.d.ts +89 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/querystring.d.ts +139 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/quic.d.ts +897 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/readline/promises.d.ts +158 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/readline.d.ts +507 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/repl.d.ts +420 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/sea.d.ts +47 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/sqlite.d.ts +1068 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/consumers.d.ts +114 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/iter.d.ts +301 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream/web.d.ts +300 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/stream.d.ts +1774 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/string_decoder.d.ts +27 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/test/reporters.d.ts +59 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/test.d.ts +2279 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/timers.d.ts +149 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/tls.d.ts +1193 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/trace_events.d.ts +103 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.6/index.d.ts +119 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/ts5.7/index.d.ts +119 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/tty.d.ts +225 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/url.d.ts +556 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/util/types.d.ts +558 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/util.d.ts +1677 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/v8.d.ts +980 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/vm.d.ts +1136 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/wasi.d.ts +131 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/worker_threads.d.ts +671 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/node_modules/@types/jsonwebtoken/node_modules/@types/node/zlib.d.ts +589 -0
- package/npm-shrinkwrap.json +12 -3
- package/package.json +4 -4
- package/dist/action-runtime.runtime-CIYPRrNy.js +0 -2
- package/dist/send.runtime-C_y65BU0.js +0 -2
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { i as resolveSlackChannelId } from "./target-parsing-3jYH8LfB.js";
|
|
2
2
|
import { t as slackContextTargetsMatch } from "./targets-Dll4NJgs.js";
|
|
3
|
-
import { r as parseSlackBlocksInput } from "./reply-blocks-
|
|
4
|
-
import { a as readPositiveIntegerParam, c as withNormalizedTimestamp, n as imageResultFromFile, o as readReactionParams, r as jsonResult, s as readStringParam, t as createActionGate } from "./runtime-api-
|
|
5
|
-
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
3
|
+
import { r as parseSlackBlocksInput } from "./reply-blocks-CfJqf7eq.js";
|
|
4
|
+
import { a as readPositiveIntegerParam, c as withNormalizedTimestamp, n as imageResultFromFile, o as readReactionParams, r as jsonResult, s as readStringParam, t as createActionGate } from "./runtime-api-DHJ8ntLr.js";
|
|
5
|
+
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-DAE6BTN3.js";
|
|
6
|
+
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
6
7
|
import { isSingleUseReplyToMode } from "openclaw/plugin-sdk/reply-reference";
|
|
7
8
|
import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
|
|
8
9
|
import { resolveOpenProviderRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
@@ -21,16 +22,8 @@ const pinActions = new Set([
|
|
|
21
22
|
"unpinMessage",
|
|
22
23
|
"listPins"
|
|
23
24
|
]);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
function loadSlackActionsRuntime() {
|
|
27
|
-
slackActionsRuntimePromise ??= import("./actions.runtime-DkFXr3-k.js");
|
|
28
|
-
return slackActionsRuntimePromise;
|
|
29
|
-
}
|
|
30
|
-
function loadSlackAccountsRuntime() {
|
|
31
|
-
slackAccountsRuntimePromise ??= import("./accounts.runtime-CgWgzjLX.js");
|
|
32
|
-
return slackAccountsRuntimePromise;
|
|
33
|
-
}
|
|
25
|
+
const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions.runtime-Dl6AfO_g.js"));
|
|
26
|
+
const loadSlackAccountsRuntime = createLazyRuntimeModule(() => import("./accounts.runtime-CgWgzjLX.js"));
|
|
34
27
|
function createLazySlackAction(key) {
|
|
35
28
|
return (async (...args) => {
|
|
36
29
|
const action = (await loadSlackActionsRuntime())[key];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
2
|
import { a as resolveSlackAccount, d as resolveSlackBotToken } from "./accounts-BPCiCe8y.js";
|
|
3
|
-
import { a as SLACK_TEXT_LIMIT, i as validateSlackBlocksArray, v as truncateSlackText } from "./reply-blocks-
|
|
4
|
-
import { a as getSlackWriteClient, r as createSlackWebClient } from "./client-
|
|
5
|
-
import { l as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-
|
|
3
|
+
import { a as SLACK_TEXT_LIMIT, i as validateSlackBlocksArray, v as truncateSlackText } from "./reply-blocks-CfJqf7eq.js";
|
|
4
|
+
import { a as getSlackWriteClient, r as createSlackWebClient } from "./client-DG9cyk55.js";
|
|
5
|
+
import { l as buildSlackBlocksFallbackText, t as sendMessageSlack } from "./send-Dg6U9K7_.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-
|
|
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-CqRHPciJ.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-DOtQbKkB.js";
|
|
4
4
|
import { i as resolveSlackChannelId, n as normalizeSlackMessagingTarget, r as parseSlackTarget, t as looksLikeSlackTargetId } from "./target-parsing-3jYH8LfB.js";
|
|
5
5
|
import "./targets-Dll4NJgs.js";
|
|
6
|
-
import { a as resolveSlackAutoThreadId, i as resolveSlackChannelType, n as buildSlackThreadingToolContext, r as resetSlackChannelTypeCacheForTest, t as slackPlugin } from "./channel-
|
|
7
|
-
import { c as allowListMatches, d as normalizeSlackAllowOwnerEntry, f as normalizeSlackSlug, g as buildSlackPresentationBlocks, h as buildSlackInteractiveBlocks, i as validateSlackBlocksArray, l as normalizeAllowList, m as resolveSlackUserAllowed, n as SLACK_MAX_BLOCKS, o as resolveSlackGroupRequireMention, p as resolveSlackAllowListMatch, r as parseSlackBlocksInput, s as resolveSlackGroupToolPolicy, u as normalizeAllowListLower } from "./reply-blocks-
|
|
6
|
+
import { a as resolveSlackAutoThreadId, i as resolveSlackChannelType, n as buildSlackThreadingToolContext, r as resetSlackChannelTypeCacheForTest, t as slackPlugin } from "./channel-jO8Jdkge.js";
|
|
7
|
+
import { c as allowListMatches, d as normalizeSlackAllowOwnerEntry, f as normalizeSlackSlug, g as buildSlackPresentationBlocks, h as buildSlackInteractiveBlocks, i as validateSlackBlocksArray, l as normalizeAllowList, m as resolveSlackUserAllowed, n as SLACK_MAX_BLOCKS, o as resolveSlackGroupRequireMention, p as resolveSlackAllowListMatch, r as parseSlackBlocksInput, s as resolveSlackGroupToolPolicy, u as normalizeAllowListLower } from "./reply-blocks-CfJqf7eq.js";
|
|
8
8
|
import { n as extractSlackToolSend, r as listSlackMessageActions } from "./message-tool-api--zYyTqrR.js";
|
|
9
9
|
import { n as isSlackInteractiveRepliesEnabled, r as parseSlackOptionsLine, t as compileSlackInteractiveReplies } from "./interactive-replies-D-22gTp3.js";
|
|
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-
|
|
11
|
-
import { t as slackSetupPlugin } from "./channel.setup-
|
|
12
|
-
import { i as hasSlackThreadParticipation, o as recordSlackThreadParticipation, r as clearSlackThreadParticipationCache } from "./send-
|
|
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-
|
|
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-DG9cyk55.js";
|
|
11
|
+
import { t as slackSetupPlugin } from "./channel.setup-CDOZ8V3p.js";
|
|
12
|
+
import { i as hasSlackThreadParticipation, o as recordSlackThreadParticipation, r as clearSlackThreadParticipationCache } from "./send-Dg6U9K7_.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-CqRHPciJ.js";
|
|
14
14
|
import { n as listSlackDirectoryGroupsFromConfig, r as listSlackDirectoryPeersFromConfig } from "./directory-config-DDVHDmrN.js";
|
|
15
|
-
import { t as probeSlack } from "./probe-
|
|
15
|
+
import { t as probeSlack } from "./probe-DFKt9Ute.js";
|
|
16
16
|
import { t as collectSlackSecurityAuditFindings } from "./security-audit-CikQhBUY.js";
|
|
17
|
-
import { n as resolveSlackRuntimeGroupPolicy } from "./provider-
|
|
17
|
+
import { n as resolveSlackRuntimeGroupPolicy } from "./provider-BdoeWKr8.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,8 +1,9 @@
|
|
|
1
|
-
import { E as resolveSlackApprovalKind, L as normalizeSlackApproverId, S as isSlackAnyNativeApprovalClientEnabled, k as shouldHandleSlackNativeApprovalRequest, t as resolveSlackReplyBlocks, v as truncateSlackText } from "./reply-blocks-
|
|
2
|
-
import { t as sendMessageSlack } from "./send-
|
|
1
|
+
import { E as resolveSlackApprovalKind, L as normalizeSlackApproverId, S as isSlackAnyNativeApprovalClientEnabled, k as shouldHandleSlackNativeApprovalRequest, t as resolveSlackReplyBlocks, v as truncateSlackText } from "./reply-blocks-CfJqf7eq.js";
|
|
2
|
+
import { t as sendMessageSlack } from "./send-Dg6U9K7_.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
|
+
import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
6
7
|
import { logError } from "openclaw/plugin-sdk/logging-core";
|
|
7
8
|
import { createChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-runtime";
|
|
8
9
|
//#region extensions/slack/src/approval-handler.runtime.ts
|
|
@@ -19,7 +20,10 @@ function resolveHandlerContext(params) {
|
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
22
|
function truncateSlackMrkdwn(text, maxChars) {
|
|
22
|
-
|
|
23
|
+
const limit = Math.max(0, Math.floor(maxChars));
|
|
24
|
+
if (text.length <= limit) return text;
|
|
25
|
+
if (limit <= 1) return truncateUtf16Safe(text, limit);
|
|
26
|
+
return `${truncateUtf16Safe(text, limit - 1)}…`;
|
|
23
27
|
}
|
|
24
28
|
function buildSlackCodeBlock(text) {
|
|
25
29
|
let fence = "```";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, l as resolveSlackReplyToMode, n as listSlackAccountIds, o as resolveSlackAccountAllowFrom } from "./accounts-BPCiCe8y.js";
|
|
2
2
|
import { i as resolveSlackChannelId, n as normalizeSlackMessagingTarget, r as parseSlackTarget, t as looksLikeSlackTargetId } from "./target-parsing-3jYH8LfB.js";
|
|
3
3
|
import { t as slackContextTargetsMatch } from "./targets-Dll4NJgs.js";
|
|
4
|
-
import { A as shouldHandleSlackPluginViaForwardingSession, C as normalizeSlackForwardTarget, D as resolveSlackFallbackOriginTarget, E as resolveSlackApprovalKind, F as isSlackExecApprovalAuthorizedSender, I as isSlackExecApprovalClientEnabled, M as getSlackApprovalApprovers, N as isSlackApprovalAuthorizedSender, O as resolveTurnSourceSlackOriginTarget, P as getSlackExecApprovalApprovers, R as resolveSlackExecApprovalTarget, S as isSlackAnyNativeApprovalClientEnabled, T as resolveSessionSlackOriginTarget, _ as resolveSlackInteractiveBlockOffsets, a as SLACK_TEXT_LIMIT, g as buildSlackPresentationBlocks, h as buildSlackInteractiveBlocks, j as slackTargetsMatch, k as shouldHandleSlackNativeApprovalRequest, o as resolveSlackGroupRequireMention, s as resolveSlackGroupToolPolicy, t as resolveSlackReplyBlocks, u as normalizeAllowListLower, w as normalizeSlackOriginTarget, x as hasSlackPluginApprovers, z as shouldSuppressLocalSlackExecApprovalPrompt } from "./reply-blocks-
|
|
4
|
+
import { A as shouldHandleSlackPluginViaForwardingSession, C as normalizeSlackForwardTarget, D as resolveSlackFallbackOriginTarget, E as resolveSlackApprovalKind, F as isSlackExecApprovalAuthorizedSender, I as isSlackExecApprovalClientEnabled, M as getSlackApprovalApprovers, N as isSlackApprovalAuthorizedSender, O as resolveTurnSourceSlackOriginTarget, P as getSlackExecApprovalApprovers, R as resolveSlackExecApprovalTarget, S as isSlackAnyNativeApprovalClientEnabled, T as resolveSessionSlackOriginTarget, _ as resolveSlackInteractiveBlockOffsets, a as SLACK_TEXT_LIMIT, g as buildSlackPresentationBlocks, h as buildSlackInteractiveBlocks, j as slackTargetsMatch, k as shouldHandleSlackNativeApprovalRequest, o as resolveSlackGroupRequireMention, s as resolveSlackGroupToolPolicy, t as resolveSlackReplyBlocks, u as normalizeAllowListLower, w as normalizeSlackOriginTarget, x as hasSlackPluginApprovers, z as shouldSuppressLocalSlackExecApprovalPrompt } from "./reply-blocks-CfJqf7eq.js";
|
|
5
5
|
import { t as isSlackPluginAccountConfigured } from "./account-configured-DzC407uv.js";
|
|
6
6
|
import { n as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.js";
|
|
7
7
|
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api--zYyTqrR.js";
|
|
8
8
|
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-D-22gTp3.js";
|
|
9
|
-
import { d as PAIRING_APPROVED_MESSAGE, m as resolveConfiguredFromRequiredCredentialStatuses, p as projectCredentialSnapshotFields, r as createSlackWebClient, u as DEFAULT_ACCOUNT_ID$1 } from "./client-
|
|
9
|
+
import { d as PAIRING_APPROVED_MESSAGE, m as resolveConfiguredFromRequiredCredentialStatuses, p as projectCredentialSnapshotFields, r as createSlackWebClient, u as DEFAULT_ACCOUNT_ID$1 } from "./client-DG9cyk55.js";
|
|
10
10
|
import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
|
|
11
|
-
import { n as slackConfigAdapter, r as slackSecurityAdapter, t as createSlackPluginBase } from "./shared-
|
|
11
|
+
import { n as slackConfigAdapter, r as slackSecurityAdapter, t as createSlackPluginBase } from "./shared-iMaNxOIL.js";
|
|
12
12
|
import { i as SLACK_CHANNEL, n as createSlackSetupWizardProxy, r as slackSetupAdapter } from "./setup-core-BCGzyZhx.js";
|
|
13
13
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
14
14
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -22,6 +22,7 @@ import { createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-
|
|
|
22
22
|
import { createChannelDirectoryAdapter, createRuntimeDirectoryLiveAdapter } from "openclaw/plugin-sdk/directory-runtime";
|
|
23
23
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
24
24
|
import { createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
|
|
25
|
+
import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
25
26
|
import { isSingleUseReplyToMode } from "openclaw/plugin-sdk/reply-reference";
|
|
26
27
|
import { createApproverRestrictedNativeApprovalCapability } from "openclaw/plugin-sdk/approval-delivery-runtime";
|
|
27
28
|
import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
@@ -134,7 +135,7 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
|
|
|
134
135
|
approvalKind: resolveSlackApprovalKind(request),
|
|
135
136
|
request
|
|
136
137
|
}),
|
|
137
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
138
|
+
load: async () => (await import("./approval-handler.runtime-BqNO_HC_.js")).slackApprovalNativeRuntime
|
|
138
139
|
})
|
|
139
140
|
});
|
|
140
141
|
const baseSlackNativeAdapter = baseSlackApprovalCapability.native;
|
|
@@ -351,7 +352,6 @@ async function handleSlackMessageAction(params) {
|
|
|
351
352
|
}
|
|
352
353
|
//#endregion
|
|
353
354
|
//#region extensions/slack/src/channel-actions.ts
|
|
354
|
-
let slackActionRuntimePromise$1;
|
|
355
355
|
const SLACK_TOOL_DELIVERY_ACTIONS = new Set([
|
|
356
356
|
"deleteMessage",
|
|
357
357
|
"editMessage",
|
|
@@ -361,10 +361,7 @@ const SLACK_TOOL_DELIVERY_ACTIONS = new Set([
|
|
|
361
361
|
"unpinMessage",
|
|
362
362
|
"uploadFile"
|
|
363
363
|
]);
|
|
364
|
-
|
|
365
|
-
slackActionRuntimePromise$1 ??= import("./action-runtime.runtime-CIYPRrNy.js");
|
|
366
|
-
return await slackActionRuntimePromise$1;
|
|
367
|
-
}
|
|
364
|
+
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-BQrVgSOq.js"));
|
|
368
365
|
function resolveSlackActionContext(params) {
|
|
369
366
|
if (!params.toolContext && !params.mediaLocalRoots && !params.mediaReadFile) return;
|
|
370
367
|
return {
|
|
@@ -495,9 +492,9 @@ const EXTENSION_SHARED_MODULE_ID = "openclaw/plugin-sdk/extension-shared";
|
|
|
495
492
|
const TARGET_RESOLVER_RUNTIME_MODULE_ID = "openclaw/plugin-sdk/target-resolver-runtime";
|
|
496
493
|
const loadExtensionSharedSdk = createLazyRuntimeModule(() => import(EXTENSION_SHARED_MODULE_ID));
|
|
497
494
|
const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import(TARGET_RESOLVER_RUNTIME_MODULE_ID));
|
|
498
|
-
const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-
|
|
499
|
-
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-
|
|
500
|
-
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-
|
|
495
|
+
const loadSlackSetupSurfaceModule = createLazyRuntimeModule(() => import("./setup-surface-D7xdZLxB.js"));
|
|
496
|
+
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-BdVdJxFf.js"));
|
|
497
|
+
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-BHUtpXz0.js"));
|
|
501
498
|
async function resolveSlackHandleAction() {
|
|
502
499
|
return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
|
|
503
500
|
}
|
|
@@ -512,34 +509,14 @@ function getTokenForOperation(account, operation) {
|
|
|
512
509
|
if (!allowUserWrites) return botToken;
|
|
513
510
|
return botToken ?? userToken;
|
|
514
511
|
}
|
|
515
|
-
let slackActionRuntimePromise;
|
|
516
|
-
let slackSendRuntimePromise;
|
|
517
|
-
let slackProbeModulePromise;
|
|
518
|
-
let slackMonitorModulePromise;
|
|
519
|
-
let slackDirectoryLiveModulePromise;
|
|
520
512
|
const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-DDVHDmrN.js").then((n) => n.t));
|
|
521
|
-
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-
|
|
522
|
-
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
slackSendRuntimePromise ??= import("./send.runtime-C_y65BU0.js");
|
|
529
|
-
return await slackSendRuntimePromise;
|
|
530
|
-
}
|
|
531
|
-
async function loadSlackProbeModule() {
|
|
532
|
-
slackProbeModulePromise ??= import("./probe-BRsYAcGR.js").then((n) => n.n);
|
|
533
|
-
return await slackProbeModulePromise;
|
|
534
|
-
}
|
|
535
|
-
async function loadSlackMonitorModule() {
|
|
536
|
-
slackMonitorModulePromise ??= import("./monitor-Cy-0xYgF.js").then((n) => n.t);
|
|
537
|
-
return await slackMonitorModulePromise;
|
|
538
|
-
}
|
|
539
|
-
async function loadSlackDirectoryLiveModule() {
|
|
540
|
-
slackDirectoryLiveModulePromise ??= import("./directory-live-DzOkmJVV.js").then((n) => n.t);
|
|
541
|
-
return await slackDirectoryLiveModulePromise;
|
|
542
|
-
}
|
|
513
|
+
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-eniB45fy.js").then((n) => n.n));
|
|
514
|
+
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-DDKzl37a.js").then((n) => n.n));
|
|
515
|
+
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-BQrVgSOq.js"));
|
|
516
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send.runtime-a-O4PP2B.js"));
|
|
517
|
+
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-DFKt9Ute.js").then((n) => n.n));
|
|
518
|
+
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-BQ7P93ll.js").then((n) => n.t));
|
|
519
|
+
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-DC-YA5SQ.js").then((n) => n.t));
|
|
543
520
|
async function resolveSlackSendContext(params) {
|
|
544
521
|
const send = resolveOutboundSendDep(params.deps, "slack") ?? (await loadSlackSendRuntime()).sendMessageSlack;
|
|
545
522
|
const account = resolveSlackAccount({
|
|
@@ -672,6 +649,7 @@ const slackChannelOutbound = {
|
|
|
672
649
|
deliveryMode: "direct",
|
|
673
650
|
chunker: null,
|
|
674
651
|
textChunkLimit: SLACK_TEXT_LIMIT,
|
|
652
|
+
sanitizeText: ({ text }) => sanitizeAssistantVisibleText(text),
|
|
675
653
|
normalizePayload: ({ payload, cfg, accountId }) => isSlackInteractiveRepliesEnabled({
|
|
676
654
|
cfg,
|
|
677
655
|
accountId
|
|
@@ -1010,10 +988,12 @@ const slackPlugin = createChatChannelPlugin({
|
|
|
1010
988
|
to,
|
|
1011
989
|
toolContext
|
|
1012
990
|
})),
|
|
1013
|
-
resolveReplyTransport: ({ threadId, replyToId, replyDelivery }) => {
|
|
991
|
+
resolveReplyTransport: ({ threadId, replyToId, replyToIsExplicit, replyDelivery }) => {
|
|
992
|
+
const allowedReplyToId = replyDelivery?.replyToMode === "off" ? void 0 : replyToId;
|
|
993
|
+
const preferThreadId = replyToIsExplicit === false;
|
|
1014
994
|
const resolvedReplyToId = resolveSlackThreadTsValue({
|
|
1015
|
-
replyToId:
|
|
1016
|
-
threadId
|
|
995
|
+
replyToId: preferThreadId ? threadId : allowedReplyToId,
|
|
996
|
+
threadId: preferThreadId ? allowedReplyToId : threadId
|
|
1017
997
|
});
|
|
1018
998
|
return {
|
|
1019
999
|
replyToId: replyDelivery?.replyToMode === "off" && !resolvedReplyToId ? null : resolvedReplyToId,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as slackPlugin } from "./channel-
|
|
1
|
+
import { t as slackPlugin } from "./channel-jO8Jdkge.js";
|
|
2
2
|
export { slackPlugin };
|
|
@@ -4,7 +4,7 @@ import { t as SlackChannelConfigSchema } from "./config-schema-BzqzFW__.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-
|
|
7
|
+
const slackSetupWizard = createSlackSetupWizardProxy(async () => ({ slackSetupWizard: (await import("./setup-surface-D7xdZLxB.js")).slackSetupWizard }));
|
|
8
8
|
const slackSetupConfigAdapter = createScopedChannelConfigAdapter({
|
|
9
9
|
sectionKey: SLACK_CHANNEL,
|
|
10
10
|
listAccountIds: listSlackAccountIds,
|
|
@@ -44,31 +44,37 @@ const SLACK_WRITE_RETRY_OPTIONS = { retries: 0 };
|
|
|
44
44
|
* Returns `undefined` when no proxy env var is configured or when Slack hosts
|
|
45
45
|
* are excluded by `NO_PROXY`.
|
|
46
46
|
*/
|
|
47
|
-
function resolveSlackProxyAgent() {
|
|
47
|
+
function resolveSlackProxyAgent(targetUrl) {
|
|
48
48
|
try {
|
|
49
49
|
return createNodeProxyAgent({
|
|
50
50
|
mode: "env",
|
|
51
|
-
targetUrl
|
|
52
|
-
protocol: "https"
|
|
51
|
+
targetUrl
|
|
53
52
|
});
|
|
54
53
|
} catch {
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
57
56
|
}
|
|
57
|
+
function resolveSlackApiUrlFromEnv() {
|
|
58
|
+
return process.env.SLACK_API_URL?.trim() || void 0;
|
|
59
|
+
}
|
|
60
|
+
function applySlackApiUrlAndProxyOptions(options) {
|
|
61
|
+
const slackApiUrl = options.slackApiUrl ?? resolveSlackApiUrlFromEnv();
|
|
62
|
+
options.agent ??= resolveSlackProxyAgent(slackApiUrl ?? "https://slack.com/");
|
|
63
|
+
if (slackApiUrl !== void 0) options.slackApiUrl = slackApiUrl;
|
|
64
|
+
else delete options.slackApiUrl;
|
|
65
|
+
}
|
|
58
66
|
function resolveSlackWebClientOptions(options = {}) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
};
|
|
67
|
+
const resolved = Object.assign({}, options);
|
|
68
|
+
applySlackApiUrlAndProxyOptions(resolved);
|
|
69
|
+
resolved.retryConfig ??= SLACK_DEFAULT_RETRY_OPTIONS;
|
|
70
|
+
return resolved;
|
|
64
71
|
}
|
|
65
72
|
function resolveSlackWriteClientOptions(options = {}) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
};
|
|
73
|
+
const resolved = Object.assign({}, options);
|
|
74
|
+
applySlackApiUrlAndProxyOptions(resolved);
|
|
75
|
+
resolved.retryConfig ??= SLACK_WRITE_RETRY_OPTIONS;
|
|
76
|
+
resolved.maxRequestConcurrency ??= 1;
|
|
77
|
+
return resolved;
|
|
72
78
|
}
|
|
73
79
|
//#endregion
|
|
74
80
|
//#region extensions/slack/src/client.ts
|
|
@@ -83,15 +89,20 @@ function createSlackWriteClient(token, options = {}) {
|
|
|
83
89
|
function createSlackTokenCacheKey(token) {
|
|
84
90
|
return `sha256:${createHash("sha256").update(token).digest("base64url")}`;
|
|
85
91
|
}
|
|
86
|
-
function
|
|
92
|
+
function slackWriteClientCacheKey(token, options) {
|
|
87
93
|
const tokenKey = createSlackTokenCacheKey(token);
|
|
94
|
+
return options.slackApiUrl ? `${tokenKey}:api:${options.slackApiUrl}` : tokenKey;
|
|
95
|
+
}
|
|
96
|
+
function getSlackWriteClient(token, options = {}) {
|
|
97
|
+
const resolvedOptions = resolveSlackWriteClientOptions(options);
|
|
98
|
+
const tokenKey = slackWriteClientCacheKey(token, resolvedOptions);
|
|
88
99
|
const cached = slackWriteClientCache.get(tokenKey);
|
|
89
100
|
if (cached) {
|
|
90
101
|
slackWriteClientCache.delete(tokenKey);
|
|
91
102
|
slackWriteClientCache.set(tokenKey, cached);
|
|
92
103
|
return cached;
|
|
93
104
|
}
|
|
94
|
-
const client =
|
|
105
|
+
const client = new WebClient(token, resolvedOptions);
|
|
95
106
|
if (slackWriteClientCache.size >= SLACK_WRITE_CLIENT_CACHE_MAX) {
|
|
96
107
|
const oldestTokenKey = slackWriteClientCache.keys().next().value;
|
|
97
108
|
if (oldestTokenKey) slackWriteClientCache.delete(oldestTokenKey);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
2
|
import { a as resolveSlackAccount } from "./accounts-BPCiCe8y.js";
|
|
3
|
-
import { r as createSlackWebClient } from "./client-
|
|
3
|
+
import { r as createSlackWebClient } from "./client-DG9cyk55.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/slack/src/directory-live.ts
|
|
6
6
|
var directory_live_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -8,12 +8,13 @@ var directory_live_exports = /* @__PURE__ */ __exportAll({
|
|
|
8
8
|
listSlackDirectoryGroupsLive: () => listSlackDirectoryGroupsLive,
|
|
9
9
|
listSlackDirectoryPeersLive: () => listSlackDirectoryPeersLive
|
|
10
10
|
});
|
|
11
|
-
function
|
|
11
|
+
function createSlackDirectoryClient(params) {
|
|
12
12
|
const account = resolveSlackAccount({
|
|
13
13
|
cfg: params.cfg,
|
|
14
14
|
accountId: params.accountId
|
|
15
15
|
});
|
|
16
|
-
|
|
16
|
+
const token = account.userToken ?? account.botToken?.trim();
|
|
17
|
+
return token ? createSlackWebClient(token) : null;
|
|
17
18
|
}
|
|
18
19
|
function normalizeQuery(value) {
|
|
19
20
|
return normalizeLowercaseStringOrEmpty(value);
|
|
@@ -42,9 +43,8 @@ function slackUserToDirectoryEntry(user, fallback) {
|
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
async function getSlackDirectorySelfLive(params) {
|
|
45
|
-
const
|
|
46
|
-
if (!
|
|
47
|
-
const client = createSlackWebClient(token);
|
|
46
|
+
const client = createSlackDirectoryClient(params);
|
|
47
|
+
if (!client) return null;
|
|
48
48
|
const auth = await client.auth.test();
|
|
49
49
|
const userId = normalizeOptionalString(auth.user_id);
|
|
50
50
|
if (!userId) return null;
|
|
@@ -64,9 +64,8 @@ async function getSlackDirectorySelfLive(params) {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
async function listSlackDirectoryPeersLive(params) {
|
|
67
|
-
const
|
|
68
|
-
if (!
|
|
69
|
-
const client = createSlackWebClient(token);
|
|
67
|
+
const client = createSlackDirectoryClient(params);
|
|
68
|
+
if (!client) return [];
|
|
70
69
|
const query = normalizeQuery(params.query);
|
|
71
70
|
const members = [];
|
|
72
71
|
let cursor;
|
|
@@ -92,9 +91,8 @@ async function listSlackDirectoryPeersLive(params) {
|
|
|
92
91
|
return rows;
|
|
93
92
|
}
|
|
94
93
|
async function listSlackDirectoryGroupsLive(params) {
|
|
95
|
-
const
|
|
96
|
-
if (!
|
|
97
|
-
const client = createSlackWebClient(token);
|
|
94
|
+
const client = createSlackDirectoryClient(params);
|
|
95
|
+
if (!client) return [];
|
|
98
96
|
const query = normalizeQuery(params.query);
|
|
99
97
|
const channels = [];
|
|
100
98
|
let cursor;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
4
|
-
import { o as resolveSlackThreadTs } from "./replies-
|
|
2
|
+
import { S as buildSlackSlashCommandMatcher, t as monitorSlackProvider } from "./provider-BdoeWKr8.js";
|
|
3
|
+
import { t as isSlackChannelAllowedByPolicy } from "./policy-DAE6BTN3.js";
|
|
4
|
+
import { o as resolveSlackThreadTs } from "./replies-D_G-EPr8.js";
|
|
5
5
|
//#region extensions/slack/src/monitor.ts
|
|
6
6
|
var monitor_exports = /* @__PURE__ */ __exportAll({
|
|
7
7
|
buildSlackSlashCommandMatcher: () => buildSlackSlashCommandMatcher,
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import { _ as resolveSlackInteractiveBlockOffsets, a as SLACK_TEXT_LIMIT, g as buildSlackPresentationBlocks, h as buildSlackInteractiveBlocks, r as parseSlackBlocksInput } from "./reply-blocks-
|
|
1
|
+
import { _ as resolveSlackInteractiveBlockOffsets, a as SLACK_TEXT_LIMIT, g as buildSlackPresentationBlocks, h as buildSlackInteractiveBlocks, r as parseSlackBlocksInput } from "./reply-blocks-CfJqf7eq.js";
|
|
2
2
|
import { n as resolveSlackThreadTsValue } from "./thread-ts-DUGhaYKq.js";
|
|
3
3
|
import { t as compileSlackInteractiveReplies } from "./interactive-replies-D-22gTp3.js";
|
|
4
4
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { resolveOutboundSendDep } from "openclaw/plugin-sdk/channel-outbound";
|
|
6
6
|
import { attachChannelToResult, createAttachedChannelResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
|
|
7
|
+
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
7
8
|
import { resolveInteractiveTextFallback } from "openclaw/plugin-sdk/interactive-runtime";
|
|
8
9
|
import { resolvePayloadMediaUrls, sendPayloadMediaSequenceAndFinalize, sendTextMediaPayload } from "openclaw/plugin-sdk/reply-payload";
|
|
9
10
|
//#region extensions/slack/src/outbound-adapter.ts
|
|
10
11
|
const SLACK_MAX_BLOCKS = 50;
|
|
11
|
-
|
|
12
|
-
async function loadSlackSendRuntime() {
|
|
13
|
-
slackSendRuntimePromise ??= import("./send.runtime-C_y65BU0.js");
|
|
14
|
-
return await slackSendRuntimePromise;
|
|
15
|
-
}
|
|
12
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send.runtime-a-O4PP2B.js"));
|
|
16
13
|
function resolveRenderedInteractiveBlocks(interactive, previousBlocks) {
|
|
17
14
|
if (!interactive) return;
|
|
18
15
|
const blocks = buildSlackInteractiveBlocks(interactive, resolveSlackInteractiveBlockOffsets(previousBlocks));
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { l as resolveSlackReplyToMode } from "./accounts-BPCiCe8y.js";
|
|
2
2
|
import { r as parseSlackTarget } from "./target-parsing-3jYH8LfB.js";
|
|
3
3
|
import "./targets-Dll4NJgs.js";
|
|
4
|
-
import { a as SLACK_TEXT_LIMIT, d as normalizeSlackAllowOwnerEntry, p as resolveSlackAllowListMatch, u as normalizeAllowListLower, v as truncateSlackText } from "./reply-blocks-
|
|
4
|
+
import { a as SLACK_TEXT_LIMIT, d as normalizeSlackAllowOwnerEntry, p as resolveSlackAllowListMatch, u as normalizeAllowListLower, v as truncateSlackText } from "./reply-blocks-CfJqf7eq.js";
|
|
5
5
|
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-D-22gTp3.js";
|
|
6
6
|
import { n as resolveSlackNativeStreaming, r as resolveSlackStreamingMode, t as mapStreamingModeToSlackLegacyDraftStreamMode } from "./streaming-compat-DjlgH-Be.js";
|
|
7
|
-
import { a as hasSlackThreadParticipationWithPersistence, c as normalizeSlackOutboundText, o as recordSlackThreadParticipation, t as sendMessageSlack } from "./send-
|
|
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
|
+
import { a as hasSlackThreadParticipationWithPersistence, c as normalizeSlackOutboundText, o as recordSlackThreadParticipation, t as sendMessageSlack } from "./send-Dg6U9K7_.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-CqRHPciJ.js";
|
|
9
9
|
import { t as formatSlackError } from "./errors-CZtmv-h0.js";
|
|
10
|
-
import {
|
|
11
|
-
import { n as resolveSlackChannelConfig } from "./policy-
|
|
12
|
-
import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, s as emitSlackMessageSentHooks, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
10
|
+
import { C as stripSlackMentionsForCommandDetection, _ as readSessionUpdatedAt, b as resolveStorePath, c as recordInboundSession, d as resolveSlackCommandIngress, f as resolveSlackEffectiveAllowFrom, g as resolveSlackChatType, h as normalizeSlackChannelType, i as authorizeSlackDirectMessage, l as resolveConversationLabel$1, m as parseSlackAssistantThreadMetadata, p as buildSlackAssistantThreadMetadata, r as resolveSlackRoomContextHints, s as escapeSlackMrkdwn, u as authorizeSlackBotRoomMessage, v as resolveChannelContextVisibilityMode, x as updateLastRoute, y as resolveChannelResetConfig } from "./provider-BdoeWKr8.js";
|
|
11
|
+
import { n as resolveSlackChannelConfig } from "./policy-DAE6BTN3.js";
|
|
12
|
+
import { a as resolveDeliveredSlackReplyThreadTs, i as readSlackReplyBlocks, n as deliverReplies, o as resolveSlackThreadTs, s as emitSlackMessageSentHooks, t as createSlackReplyDeliveryPlan } from "./replies-D_G-EPr8.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";
|
|
16
|
+
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
17
|
+
import { stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
|
|
16
18
|
import { createHash } from "node:crypto";
|
|
17
19
|
import { danger, logVerbose, shouldLogVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
18
20
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
19
21
|
import { asDateTimestampMs, asFiniteNumberInRange, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
|
|
20
22
|
import { buildTtsSupplementMediaPayload, getReplyPayloadTtsSupplement, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
21
|
-
import { stripReasoningTagsFromText } from "openclaw/plugin-sdk/text-chunking";
|
|
22
23
|
import { ensureConfiguredBindingRouteReady, resolveConfiguredBindingRoute, resolveRuntimeConversationBindingRoute } from "openclaw/plugin-sdk/conversation-runtime";
|
|
23
24
|
import { createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
|
|
24
25
|
import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
|
|
@@ -2030,11 +2031,7 @@ function toLintErrorObject(value, fallbackMessage) {
|
|
|
2030
2031
|
const SLACK_MENTION_RESOLUTION_CONCURRENCY = 4;
|
|
2031
2032
|
const SLACK_MENTION_RESOLUTION_MAX_LOOKUPS_PER_MESSAGE = 20;
|
|
2032
2033
|
const SLACK_USER_MENTION_RE$1 = /<@([A-Z0-9]+)(?:\|[^>]+)?>/gi;
|
|
2033
|
-
|
|
2034
|
-
function loadSlackMediaModule$1() {
|
|
2035
|
-
slackMediaModulePromise$1 ??= import("./actions-OhnDIN4l.js").then((n) => n.h);
|
|
2036
|
-
return slackMediaModulePromise$1;
|
|
2037
|
-
}
|
|
2034
|
+
const loadSlackMediaModule$1 = createLazyRuntimeModule(() => import("./actions-CqRHPciJ.js").then((n) => n.h));
|
|
2038
2035
|
function collectUniqueSlackMentionIds$1(texts) {
|
|
2039
2036
|
const seen = /* @__PURE__ */ new Set();
|
|
2040
2037
|
const mentionIds = [];
|
|
@@ -2544,12 +2541,20 @@ function formatSlackBotStarterThreadLabel(params) {
|
|
|
2544
2541
|
}
|
|
2545
2542
|
//#endregion
|
|
2546
2543
|
//#region extensions/slack/src/monitor/message-handler/prepare-thread-context.ts
|
|
2547
|
-
|
|
2548
|
-
function loadSlackMediaModule() {
|
|
2549
|
-
slackMediaModulePromise ??= import("./actions-OhnDIN4l.js").then((n) => n.h);
|
|
2550
|
-
return slackMediaModulePromise;
|
|
2551
|
-
}
|
|
2544
|
+
const loadSlackMediaModule = createLazyRuntimeModule(() => import("./actions-CqRHPciJ.js").then((n) => n.h));
|
|
2552
2545
|
const SLACK_THREAD_CONTEXT_USER_LOOKUP_CONCURRENCY = 4;
|
|
2546
|
+
function resolveSlackThreadSessionFreshness(params) {
|
|
2547
|
+
return params.ctx.channelRuntime?.session?.resolveEntryResetFreshness?.({
|
|
2548
|
+
storePath: params.storePath,
|
|
2549
|
+
sessionKey: params.sessionKey,
|
|
2550
|
+
sessionCfg: params.ctx.cfg.session,
|
|
2551
|
+
resetType: "thread",
|
|
2552
|
+
resetOverride: resolveChannelResetConfig({
|
|
2553
|
+
sessionCfg: params.ctx.cfg.session,
|
|
2554
|
+
channel: "slack"
|
|
2555
|
+
})
|
|
2556
|
+
});
|
|
2557
|
+
}
|
|
2553
2558
|
function isSlackThreadContextSenderAllowed(params) {
|
|
2554
2559
|
if (params.allowFromLower.length === 0 || params.botId) return true;
|
|
2555
2560
|
if (!params.userId) return false;
|
|
@@ -2596,14 +2601,21 @@ async function resolveSlackThreadContextData(params) {
|
|
|
2596
2601
|
let threadHistoryBody;
|
|
2597
2602
|
let threadLabel;
|
|
2598
2603
|
let threadStarterMedia = null;
|
|
2599
|
-
const
|
|
2604
|
+
const threadSessionFreshness = params.isThreadReply && params.threadTs ? resolveSlackThreadSessionFreshness({
|
|
2605
|
+
ctx: params.ctx,
|
|
2606
|
+
storePath: params.storePath,
|
|
2607
|
+
sessionKey: params.sessionKey
|
|
2608
|
+
}) : void 0;
|
|
2609
|
+
const threadSessionPreviousTimestamp = params.isThreadReply && params.threadTs && !threadSessionFreshness ? readSessionUpdatedAt({
|
|
2600
2610
|
storePath: params.storePath,
|
|
2601
2611
|
sessionKey: params.sessionKey
|
|
2602
2612
|
}) : void 0;
|
|
2613
|
+
const shouldSeedInitialThreadContext = Boolean(params.isThreadReply && params.threadTs && (threadSessionFreshness ? threadSessionFreshness.state !== "fresh" : threadSessionPreviousTimestamp === void 0));
|
|
2614
|
+
const shouldLoadInitialThreadHistory = shouldSeedInitialThreadContext || params.forceInitialHistory === true;
|
|
2603
2615
|
if (!params.isThreadReply || !params.threadTs) return {
|
|
2604
2616
|
threadStarterBody,
|
|
2605
2617
|
threadHistoryBody,
|
|
2606
|
-
|
|
2618
|
+
shouldSeedInitialThreadContext,
|
|
2607
2619
|
threadLabel,
|
|
2608
2620
|
threadStarterMedia
|
|
2609
2621
|
};
|
|
@@ -2642,7 +2654,7 @@ async function resolveSlackThreadContextData(params) {
|
|
|
2642
2654
|
} else threadLabel = `Slack thread ${params.roomLabel}`;
|
|
2643
2655
|
const includeBotStarterAsRootContext = shouldIncludeBotThreadStarterContext({
|
|
2644
2656
|
starterIsCurrentBot,
|
|
2645
|
-
isNewThreadSession:
|
|
2657
|
+
isNewThreadSession: shouldSeedInitialThreadContext,
|
|
2646
2658
|
hasStarterText: Boolean(starter?.text)
|
|
2647
2659
|
});
|
|
2648
2660
|
if (starter?.text && starterIsCurrentBot && !includeBotStarterAsRootContext) logVerbose("slack: omitted current-bot thread starter from context");
|
|
@@ -2655,7 +2667,7 @@ async function resolveSlackThreadContextData(params) {
|
|
|
2655
2667
|
logVerbose("slack: retained current-bot thread starter as assistant root context");
|
|
2656
2668
|
}
|
|
2657
2669
|
const threadInitialHistoryLimit = params.account.config?.thread?.initialHistoryLimit ?? 20;
|
|
2658
|
-
if (threadInitialHistoryLimit > 0 &&
|
|
2670
|
+
if (threadInitialHistoryLimit > 0 && shouldLoadInitialThreadHistory) {
|
|
2659
2671
|
const currentBotRootTs = starter?.ts ?? params.threadTs;
|
|
2660
2672
|
const threadHistoryWithBotRoot = ensureSlackThreadHistoryHasBotRoot({
|
|
2661
2673
|
history: await resolveSlackThreadHistory({
|
|
@@ -2740,7 +2752,7 @@ async function resolveSlackThreadContextData(params) {
|
|
|
2740
2752
|
return {
|
|
2741
2753
|
threadStarterBody,
|
|
2742
2754
|
threadHistoryBody,
|
|
2743
|
-
|
|
2755
|
+
shouldSeedInitialThreadContext,
|
|
2744
2756
|
threadLabel,
|
|
2745
2757
|
threadStarterMedia
|
|
2746
2758
|
};
|
|
@@ -3517,7 +3529,7 @@ async function prepareSlackMessage(params) {
|
|
|
3517
3529
|
channelInfo,
|
|
3518
3530
|
channelConfig
|
|
3519
3531
|
});
|
|
3520
|
-
const { threadStarterBody, threadHistoryBody,
|
|
3532
|
+
const { threadStarterBody, threadHistoryBody, shouldSeedInitialThreadContext, threadLabel, threadStarterMedia } = await resolveSlackThreadContextData({
|
|
3521
3533
|
ctx,
|
|
3522
3534
|
account,
|
|
3523
3535
|
message,
|
|
@@ -3551,7 +3563,8 @@ async function prepareSlackMessage(params) {
|
|
|
3551
3563
|
sender: {
|
|
3552
3564
|
id: senderId,
|
|
3553
3565
|
name: senderName,
|
|
3554
|
-
displayLabel: senderName
|
|
3566
|
+
displayLabel: senderName,
|
|
3567
|
+
isBot: isBotMessage || void 0
|
|
3555
3568
|
},
|
|
3556
3569
|
conversation: {
|
|
3557
3570
|
kind: chatType,
|
|
@@ -3595,7 +3608,7 @@ async function prepareSlackMessage(params) {
|
|
|
3595
3608
|
media: toInboundMediaFacts(effectiveMedia),
|
|
3596
3609
|
supplemental: {
|
|
3597
3610
|
thread: {
|
|
3598
|
-
starterBody: !directThreadRoutedToDmSession &&
|
|
3611
|
+
starterBody: !directThreadRoutedToDmSession && shouldSeedInitialThreadContext ? threadStarterBody : void 0,
|
|
3599
3612
|
historyBody: supplementalThreadHistoryBody,
|
|
3600
3613
|
label: directThreadRoutedToDmSession ? void 0 : threadLabel
|
|
3601
3614
|
},
|
|
@@ -3609,7 +3622,7 @@ async function prepareSlackMessage(params) {
|
|
|
3609
3622
|
SlackAssistantThreadContextChannelId: assistantThreadContext?.channelId,
|
|
3610
3623
|
SlackAssistantThreadContextTeamId: assistantThreadContext?.teamId,
|
|
3611
3624
|
SlackAssistantThreadContextEnterpriseId: assistantThreadContext?.enterpriseId ?? void 0,
|
|
3612
|
-
IsFirstThreadTurn: isThreadReply && threadTs && !directThreadRoutedToDmSession &&
|
|
3625
|
+
IsFirstThreadTurn: isThreadReply && threadTs && !directThreadRoutedToDmSession && shouldSeedInitialThreadContext ? true : void 0,
|
|
3613
3626
|
...buildSlackMentionContextPayload({
|
|
3614
3627
|
isRoomish,
|
|
3615
3628
|
effectiveWasMentioned,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as normalizeSlackSlug } from "./reply-blocks-
|
|
1
|
+
import { f as normalizeSlackSlug } from "./reply-blocks-CfJqf7eq.js";
|
|
2
2
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { applyChannelMatchMeta, buildChannelKeyCandidates, resolveChannelEntryMatchWithFallback } from "openclaw/plugin-sdk/channel-targets";
|
|
4
4
|
import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import { r as createSlackWebClient } from "./client-
|
|
2
|
+
import { r as createSlackWebClient } from "./client-DG9cyk55.js";
|
|
3
3
|
import { t as formatSlackError } from "./errors-CZtmv-h0.js";
|
|
4
4
|
import { withTimeout } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
5
5
|
//#region extensions/slack/src/probe.ts
|