@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,28 +1,29 @@
|
|
|
1
1
|
import { n as registerSlackHttpHandler, r as normalizeSlackWebhookPath } from "./registry-bbjH7IHX.js";
|
|
2
2
|
import { a as resolveSlackAccount, d as resolveSlackBotToken, o as resolveSlackAccountAllowFrom, s as resolveSlackAccountDmPolicy, u as resolveSlackAppToken } from "./accounts-BPCiCe8y.js";
|
|
3
|
-
import { F as isSlackExecApprovalAuthorizedSender, N as isSlackApprovalAuthorizedSender, S as isSlackAnyNativeApprovalClientEnabled, a as SLACK_TEXT_LIMIT, c as allowListMatches, d as normalizeSlackAllowOwnerEntry, f as normalizeSlackSlug, l as normalizeAllowList, p as resolveSlackAllowListMatch, u as normalizeAllowListLower, v as truncateSlackText } from "./reply-blocks-
|
|
3
|
+
import { F as isSlackExecApprovalAuthorizedSender, N as isSlackApprovalAuthorizedSender, S as isSlackAnyNativeApprovalClientEnabled, a as SLACK_TEXT_LIMIT, c as allowListMatches, d as normalizeSlackAllowOwnerEntry, f as normalizeSlackSlug, l as normalizeAllowList, p as resolveSlackAllowListMatch, u as normalizeAllowListLower, v as truncateSlackText } from "./reply-blocks-CfJqf7eq.js";
|
|
4
4
|
import { n as isSlackInteractiveRepliesEnabled, t as compileSlackInteractiveReplies } from "./interactive-replies-D-22gTp3.js";
|
|
5
|
-
import { c as resolveSlackWebClientOptions } from "./client-
|
|
5
|
+
import { c as resolveSlackWebClientOptions } from "./client-DG9cyk55.js";
|
|
6
6
|
import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
|
|
7
|
-
import { n as setSlackDefaultSendIdentity } from "./send-
|
|
7
|
+
import { n as setSlackDefaultSendIdentity } from "./send-Dg6U9K7_.js";
|
|
8
8
|
import { t as formatSlackError } from "./errors-CZtmv-h0.js";
|
|
9
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
10
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
11
|
-
import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
9
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-eniB45fy.js";
|
|
10
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-DDKzl37a.js";
|
|
11
|
+
import { n as resolveSlackChannelConfig, r as resolveSlackChannelLabel, t as isSlackChannelAllowedByPolicy } from "./policy-DAE6BTN3.js";
|
|
12
12
|
import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
13
13
|
import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeStringEntries, normalizeStringEntriesLower, normalizeUniqueTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
14
14
|
import { normalizeAccountId, normalizeMainKey, resolveAgentRoute, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
15
15
|
import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-outbound";
|
|
16
16
|
import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
|
|
17
|
+
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
18
|
+
import { chunkItems } from "openclaw/plugin-sdk/text-chunking";
|
|
17
19
|
import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
18
20
|
import { parseExecApprovalCommandText } from "openclaw/plugin-sdk/approval-reply-runtime";
|
|
19
21
|
import { addAllowlistUserEntriesFromConfigEntry, buildAllowlistResolutionSummary, formatAllowlistMatchMeta, mergeAllowlist, patchAllowlistUsersInConfigEntries, summarizeMapping } from "openclaw/plugin-sdk/allow-from";
|
|
20
22
|
import { computeBackoff, createNonExitingRuntime, createSubsystemLogger, danger, getChildLogger, logVerbose, shouldLogVerbose, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
|
|
21
|
-
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
23
|
+
import { collectErrorGraphCandidates, formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
22
24
|
import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
|
|
23
25
|
import { asDateTimestampMs, parseFiniteNumber, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs, timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
|
|
24
26
|
import { resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
|
|
25
|
-
import { chunkItems } from "openclaw/plugin-sdk/text-chunking";
|
|
26
27
|
import { createDedupeCache, resolveGlobalDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
|
|
27
28
|
import { buildPluginBindingResolvedText, parsePluginBindingApprovalCustomId, recordInboundSession, resolveConversationLabel as resolveConversationLabel$1, resolvePluginConversationBindingApproval, resolveRuntimeConversationBindingRoute, upsertChannelPairingRequest } from "openclaw/plugin-sdk/conversation-runtime";
|
|
28
29
|
import { resolveNativeCommandsEnabled, resolveNativeSkillsEnabled } from "openclaw/plugin-sdk/native-command-config-runtime";
|
|
@@ -31,7 +32,7 @@ import { DEFAULT_GROUP_HISTORY_LIMIT } from "openclaw/plugin-sdk/reply-history";
|
|
|
31
32
|
import { installRequestBodyLimitGuard } from "openclaw/plugin-sdk/webhook-request-guards";
|
|
32
33
|
import { getRuntimeConfig, getRuntimeConfig as getRuntimeConfig$1, getRuntimeConfigSnapshot } from "openclaw/plugin-sdk/runtime-config-snapshot";
|
|
33
34
|
import { isDangerousNameMatchingEnabled } from "openclaw/plugin-sdk/dangerous-name-runtime";
|
|
34
|
-
import {
|
|
35
|
+
import { getSessionEntry, readSessionUpdatedAt, resolveChannelResetConfig, resolveSessionKey, resolveStorePath, resolveStorePath as resolveStorePath$1, updateLastRoute } from "openclaw/plugin-sdk/session-store-runtime";
|
|
35
36
|
import { resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
|
|
36
37
|
import { resolveDefaultGroupPolicy, resolveOpenProviderRuntimeGroupPolicy as resolveOpenProviderRuntimeGroupPolicy$1, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
37
38
|
import { loadModelCatalog, resolveDefaultAgentId, resolveDefaultModelForAgent } from "openclaw/plugin-sdk/agent-runtime";
|
|
@@ -374,6 +375,7 @@ function createSlackMonitorContext(params) {
|
|
|
374
375
|
botToken: params.botToken,
|
|
375
376
|
app: params.app,
|
|
376
377
|
runtime: params.runtime,
|
|
378
|
+
channelRuntime: params.channelRuntime,
|
|
377
379
|
botUserId: params.botUserId,
|
|
378
380
|
botId: params.botId,
|
|
379
381
|
teamId: params.teamId,
|
|
@@ -1178,7 +1180,7 @@ function summarizeRichTextPreview(value) {
|
|
|
1178
1180
|
const joined = fragments.join(" ").replace(/\s+/g, " ").trim();
|
|
1179
1181
|
if (!joined) return;
|
|
1180
1182
|
const max = 120;
|
|
1181
|
-
return joined.length <= max ? joined :
|
|
1183
|
+
return joined.length <= max ? joined : truncateSlackText(joined, max);
|
|
1182
1184
|
}
|
|
1183
1185
|
function readInteractionAction(raw) {
|
|
1184
1186
|
if (!raw || typeof raw !== "object" || Array.isArray(raw)) return;
|
|
@@ -2819,11 +2821,7 @@ function createSlackThreadTsResolver(params) {
|
|
|
2819
2821
|
}
|
|
2820
2822
|
//#endregion
|
|
2821
2823
|
//#region extensions/slack/src/monitor/message-handler.ts
|
|
2822
|
-
|
|
2823
|
-
function loadSlackMessagePipeline() {
|
|
2824
|
-
slackMessagePipelinePromise ??= import("./pipeline.runtime-5R4HgM_7.js");
|
|
2825
|
-
return slackMessagePipelinePromise;
|
|
2826
|
-
}
|
|
2824
|
+
const loadSlackMessagePipeline = createLazyRuntimeModule(() => import("./pipeline.runtime-cxw6Zihc.js"));
|
|
2827
2825
|
function createSlackDispatchCompletion() {
|
|
2828
2826
|
let resolve;
|
|
2829
2827
|
let reject;
|
|
@@ -2837,12 +2835,19 @@ function createSlackDispatchCompletion() {
|
|
|
2837
2835
|
};
|
|
2838
2836
|
}
|
|
2839
2837
|
const APP_MENTION_RETRY_TTL_MS = 6e4;
|
|
2838
|
+
const RETRYABLE_FLUSH_MAX_ATTEMPTS = 3;
|
|
2839
|
+
const RETRYABLE_FLUSH_RETRY_DELAY_MS = 1e3;
|
|
2840
|
+
const REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE = /reply session initialization conflicted for \S+/u;
|
|
2840
2841
|
var SlackRetryableInboundError = class extends Error {
|
|
2841
2842
|
constructor(message, options) {
|
|
2842
2843
|
super(message, options);
|
|
2843
2844
|
this.name = "SlackRetryableInboundError";
|
|
2844
2845
|
}
|
|
2845
2846
|
};
|
|
2847
|
+
function isRetryableSlackInboundError(error) {
|
|
2848
|
+
if (error instanceof SlackRetryableInboundError) return true;
|
|
2849
|
+
return collectErrorGraphCandidates(error, (current) => [current.cause, current.error]).some((candidate) => REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE.test(formatErrorMessage(candidate)));
|
|
2850
|
+
}
|
|
2846
2851
|
function shouldDebounceSlackMessage(message, cfg) {
|
|
2847
2852
|
return shouldDebounceTextInbound({
|
|
2848
2853
|
text: stripSlackMentionsForCommandDetection(message.text ?? ""),
|
|
@@ -2862,6 +2867,29 @@ function createSlackMessageHandler(params) {
|
|
|
2862
2867
|
buildKey: (entry) => buildSlackDebounceKey(entry.message, ctx.accountId),
|
|
2863
2868
|
shouldDebounce: (entry) => shouldDebounceSlackMessage(entry.message, ctx.cfg),
|
|
2864
2869
|
onFlush: async (entries) => {
|
|
2870
|
+
const retryEntries = (sourceError) => {
|
|
2871
|
+
if (!isRetryableSlackInboundError(sourceError)) return false;
|
|
2872
|
+
const nextEntries = entries.map((entry) => {
|
|
2873
|
+
if (entry.opts.dispatchCompletion) return null;
|
|
2874
|
+
const retryAttempt = entry.opts.retryAttempt ?? 0;
|
|
2875
|
+
if (retryAttempt >= RETRYABLE_FLUSH_MAX_ATTEMPTS) return null;
|
|
2876
|
+
const { dispatchCompletion: _dispatchCompletion, ...retryOpts } = entry.opts;
|
|
2877
|
+
return {
|
|
2878
|
+
...entry,
|
|
2879
|
+
opts: {
|
|
2880
|
+
...retryOpts,
|
|
2881
|
+
retryAttempt: retryAttempt + 1
|
|
2882
|
+
}
|
|
2883
|
+
};
|
|
2884
|
+
}).filter((entry) => entry !== null);
|
|
2885
|
+
if (nextEntries.length === 0) return false;
|
|
2886
|
+
setTimeout(() => {
|
|
2887
|
+
for (const entry of nextEntries) enqueueSlackMessage(entry.message, entry.opts).catch((err) => {
|
|
2888
|
+
ctx.runtime.error?.(`slack inbound retry enqueue failed: ${formatErrorMessage(err)}`);
|
|
2889
|
+
});
|
|
2890
|
+
}, RETRYABLE_FLUSH_RETRY_DELAY_MS).unref?.();
|
|
2891
|
+
return true;
|
|
2892
|
+
};
|
|
2865
2893
|
const completions = entries.map((entry) => entry.opts.dispatchCompletion).filter((completion) => completion !== void 0);
|
|
2866
2894
|
try {
|
|
2867
2895
|
await (async () => {
|
|
@@ -2921,22 +2949,24 @@ function createSlackMessageHandler(params) {
|
|
|
2921
2949
|
messages: entries.map((entry) => entry.message)
|
|
2922
2950
|
});
|
|
2923
2951
|
} catch (error) {
|
|
2924
|
-
if (!(error
|
|
2952
|
+
if (!isRetryableSlackInboundError(error)) await recordSlackInboundMessageDeliveries({
|
|
2925
2953
|
accountId: ctx.accountId,
|
|
2926
2954
|
messages: entries.map((entry) => entry.message)
|
|
2927
2955
|
});
|
|
2928
2956
|
throw error;
|
|
2929
2957
|
}
|
|
2930
2958
|
} catch (error) {
|
|
2931
|
-
if (error
|
|
2932
|
-
|
|
2933
|
-
|
|
2959
|
+
if (isRetryableSlackInboundError(error)) for (const entry of entries) {
|
|
2960
|
+
const entrySeenKey = buildSeenMessageKey(entry.message.channel, entry.message.ts);
|
|
2961
|
+
if (entrySeenKey) appMentionDispatchedKeys.delete(entrySeenKey);
|
|
2962
|
+
ctx.releaseSeenMessage(entry.message.channel, entry.message.ts);
|
|
2934
2963
|
}
|
|
2935
2964
|
throw error;
|
|
2936
2965
|
}
|
|
2937
2966
|
})();
|
|
2938
2967
|
for (const completion of completions) completion.resolve();
|
|
2939
2968
|
} catch (error) {
|
|
2969
|
+
retryEntries(error);
|
|
2940
2970
|
for (const completion of completions) completion.reject(error);
|
|
2941
2971
|
throw error;
|
|
2942
2972
|
}
|
|
@@ -2975,7 +3005,7 @@ function createSlackMessageHandler(params) {
|
|
|
2975
3005
|
appMentionRetryKeys.delete(key);
|
|
2976
3006
|
return true;
|
|
2977
3007
|
};
|
|
2978
|
-
|
|
3008
|
+
async function enqueueSlackMessage(message, opts) {
|
|
2979
3009
|
if (opts.source === "message" && message.type !== "message") return;
|
|
2980
3010
|
if (opts.source === "message" && message.subtype && message.subtype !== "file_share" && message.subtype !== "bot_message" && message.subtype !== "thread_broadcast") return;
|
|
2981
3011
|
const seenMessageKey = buildSeenMessageKey(message.channel, message.ts);
|
|
@@ -3020,7 +3050,10 @@ function createSlackMessageHandler(params) {
|
|
|
3020
3050
|
} } : {}
|
|
3021
3051
|
}
|
|
3022
3052
|
});
|
|
3023
|
-
|
|
3053
|
+
return dispatchCompletion;
|
|
3054
|
+
}
|
|
3055
|
+
return async (message, opts) => {
|
|
3056
|
+
await (await enqueueSlackMessage(message, opts))?.promise;
|
|
3024
3057
|
};
|
|
3025
3058
|
}
|
|
3026
3059
|
//#endregion
|
|
@@ -3493,26 +3526,10 @@ const SLACK_COMMAND_ARG_BUTTON_VALUE_MAX = 2e3;
|
|
|
3493
3526
|
const SLACK_COMMAND_ARG_CONFIRM_TEXT_MAX = 300;
|
|
3494
3527
|
const SLACK_HEADER_TEXT_MAX = 150;
|
|
3495
3528
|
const SLACK_COMMAND_ARG_ACTION_BLOCKS_MAX = 47;
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
function loadSlashCommandsRuntime() {
|
|
3501
|
-
slashCommandsRuntimePromise ??= import("./slash-commands.runtime-BTTMlmwy.js");
|
|
3502
|
-
return slashCommandsRuntimePromise;
|
|
3503
|
-
}
|
|
3504
|
-
function loadSlashDispatchRuntime() {
|
|
3505
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-D1qKAWNN.js");
|
|
3506
|
-
return slashDispatchRuntimePromise;
|
|
3507
|
-
}
|
|
3508
|
-
function loadSlackPluginCommandsRuntime() {
|
|
3509
|
-
slackPluginCommandsRuntimePromise ??= import("./slash-plugin-commands.runtime-Dosfcx3X.js");
|
|
3510
|
-
return slackPluginCommandsRuntimePromise;
|
|
3511
|
-
}
|
|
3512
|
-
function loadSlashSkillCommandsRuntime() {
|
|
3513
|
-
slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-CD1J2ODY.js");
|
|
3514
|
-
return slashSkillCommandsRuntimePromise;
|
|
3515
|
-
}
|
|
3529
|
+
const loadSlashCommandsRuntime = createLazyRuntimeModule(() => import("./slash-commands.runtime-BTTMlmwy.js"));
|
|
3530
|
+
const loadSlashDispatchRuntime = createLazyRuntimeModule(() => import("./slash-dispatch.runtime-DVhs_fpQ.js"));
|
|
3531
|
+
const loadSlackPluginCommandsRuntime = createLazyRuntimeModule(() => import("./slash-plugin-commands.runtime-Dosfcx3X.js"));
|
|
3532
|
+
const loadSlashSkillCommandsRuntime = createLazyRuntimeModule(() => import("./slash-skill-commands.runtime-CD1J2ODY.js"));
|
|
3516
3533
|
function resolveSlackCommandMenuModelContext(params) {
|
|
3517
3534
|
if (!params.sessionKey.trim()) return {};
|
|
3518
3535
|
try {
|
|
@@ -3520,15 +3537,21 @@ function resolveSlackCommandMenuModelContext(params) {
|
|
|
3520
3537
|
cfg: params.cfg,
|
|
3521
3538
|
agentId: params.agentId
|
|
3522
3539
|
});
|
|
3523
|
-
const
|
|
3524
|
-
const entry =
|
|
3540
|
+
const storePath = resolveStorePath(params.cfg.session?.store, { agentId: params.agentId });
|
|
3541
|
+
const entry = getSessionEntry({
|
|
3542
|
+
storePath,
|
|
3543
|
+
sessionKey: params.sessionKey
|
|
3544
|
+
});
|
|
3525
3545
|
if (entry?.modelOverrideSource === "auto" && normalizeOptionalString(entry.modelOverride)) return {
|
|
3526
3546
|
provider: defaultModel.provider,
|
|
3527
3547
|
model: defaultModel.model
|
|
3528
3548
|
};
|
|
3529
3549
|
const override = resolveStoredModelOverride({
|
|
3530
3550
|
sessionEntry: entry,
|
|
3531
|
-
|
|
3551
|
+
loadSessionEntry: (sessionKey) => getSessionEntry({
|
|
3552
|
+
storePath,
|
|
3553
|
+
sessionKey
|
|
3554
|
+
}),
|
|
3532
3555
|
sessionKey: params.sessionKey,
|
|
3533
3556
|
defaultProvider: defaultModel.provider
|
|
3534
3557
|
});
|
|
@@ -4127,7 +4150,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
4127
4150
|
await ack({ options: entry.choices.filter((choice) => !query || normalizeLowercaseStringOrEmpty(choice.label).includes(query)).slice(0, SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX).map((choice) => ({
|
|
4128
4151
|
text: {
|
|
4129
4152
|
type: "plain_text",
|
|
4130
|
-
text: choice.label
|
|
4153
|
+
text: truncateSlackText(choice.label, SLACK_COMMAND_ARG_SELECT_OPTION_TEXT_MAX)
|
|
4131
4154
|
},
|
|
4132
4155
|
value: choice.value
|
|
4133
4156
|
})) });
|
|
@@ -4203,7 +4226,6 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
4203
4226
|
//#endregion
|
|
4204
4227
|
//#region extensions/slack/src/monitor/provider.ts
|
|
4205
4228
|
let slackBoltInterop;
|
|
4206
|
-
let slackRelaySourcePromise;
|
|
4207
4229
|
async function getSlackBoltInterop() {
|
|
4208
4230
|
if (!slackBoltInterop) {
|
|
4209
4231
|
const slackBoltModule = await import("@slack/bolt");
|
|
@@ -4214,10 +4236,7 @@ async function getSlackBoltInterop() {
|
|
|
4214
4236
|
}
|
|
4215
4237
|
return slackBoltInterop;
|
|
4216
4238
|
}
|
|
4217
|
-
|
|
4218
|
-
slackRelaySourcePromise ??= import("./relay-source-42fP7Ktr.js");
|
|
4219
|
-
return slackRelaySourcePromise;
|
|
4220
|
-
}
|
|
4239
|
+
const loadSlackRelaySource = createLazyRuntimeModule(() => import("./relay-source-OcqQzKfX.js"));
|
|
4221
4240
|
const SLACK_WEBHOOK_MAX_BODY_BYTES = 1024 * 1024;
|
|
4222
4241
|
const SLACK_WEBHOOK_BODY_TIMEOUT_MS = 3e4;
|
|
4223
4242
|
function resolveStableSlackUserIdEntry(raw) {
|
|
@@ -4408,6 +4427,7 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
4408
4427
|
botToken,
|
|
4409
4428
|
app,
|
|
4410
4429
|
runtime,
|
|
4430
|
+
channelRuntime: opts.channelRuntime,
|
|
4411
4431
|
botUserId,
|
|
4412
4432
|
botId,
|
|
4413
4433
|
teamId,
|
|
@@ -4661,4 +4681,4 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
4661
4681
|
}
|
|
4662
4682
|
const resolveSlackRuntimeGroupPolicy = resolveOpenProviderRuntimeGroupPolicy$1;
|
|
4663
4683
|
//#endregion
|
|
4664
|
-
export { stripSlackMentionsForCommandDetection as S, readSessionUpdatedAt as _, SLACK_SOCKET_RECONNECT_POLICY as a,
|
|
4684
|
+
export { stripSlackMentionsForCommandDetection as C, buildSlackSlashCommandMatcher as S, readSessionUpdatedAt as _, SLACK_SOCKET_RECONNECT_POLICY as a, resolveStorePath$1 as b, recordInboundSession as c, resolveSlackCommandIngress as d, resolveSlackEffectiveAllowFrom as f, resolveSlackChatType as g, normalizeSlackChannelType as h, authorizeSlackDirectMessage as i, resolveConversationLabel$1 as l, parseSlackAssistantThreadMetadata as m, resolveSlackRuntimeGroupPolicy as n, formatUnknownError as o, buildSlackAssistantThreadMetadata as p, resolveSlackRoomContextHints as r, escapeSlackMrkdwn as s, monitorSlackProvider as t, authorizeSlackBotRoomMessage as u, resolveChannelContextVisibilityMode as v, updateLastRoute as x, resolveChannelResetConfig as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as SLACK_SOCKET_RECONNECT_POLICY, o as formatUnknownError } from "./provider-
|
|
1
|
+
import { a as SLACK_SOCKET_RECONNECT_POLICY, o as formatUnknownError } from "./provider-BdoeWKr8.js";
|
|
2
2
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { computeBackoff, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
|
|
4
4
|
import { Buffer } from "node:buffer";
|
|
@@ -206,9 +206,19 @@ function isLocalRelayHost(hostname) {
|
|
|
206
206
|
if (host === "localhost" || host === "::1") return true;
|
|
207
207
|
return isIP(host) === 4 && host.startsWith("127.");
|
|
208
208
|
}
|
|
209
|
+
var SlackRelayMalformedFrameError = class extends Error {
|
|
210
|
+
constructor(message, options) {
|
|
211
|
+
super(message, options);
|
|
212
|
+
this.name = "SlackRelayMalformedFrameError";
|
|
213
|
+
}
|
|
214
|
+
};
|
|
209
215
|
function parseRelayFrame(data) {
|
|
210
216
|
const text = rawDataToString(data);
|
|
211
|
-
|
|
217
|
+
try {
|
|
218
|
+
return JSON.parse(text);
|
|
219
|
+
} catch (cause) {
|
|
220
|
+
throw new SlackRelayMalformedFrameError("Slack relay received malformed JSON frame", { cause });
|
|
221
|
+
}
|
|
212
222
|
}
|
|
213
223
|
function rawDataToString(data) {
|
|
214
224
|
if (typeof data === "string") return data;
|
|
@@ -275,4 +285,4 @@ function stringValue(value) {
|
|
|
275
285
|
return typeof value === "string" ? value : void 0;
|
|
276
286
|
}
|
|
277
287
|
//#endregion
|
|
278
|
-
export { SLACK_RELAY_MAX_PAYLOAD_BYTES, buildRelayWebSocketOptions, buildRelayWebSocketUrl, monitorSlackRelaySource };
|
|
288
|
+
export { SLACK_RELAY_MAX_PAYLOAD_BYTES, SlackRelayMalformedFrameError, buildRelayWebSocketOptions, buildRelayWebSocketUrl, monitorSlackRelaySource, parseRelayFrame };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as SLACK_TEXT_LIMIT, t as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
2
|
-
import { s as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-
|
|
3
|
-
import "./provider-
|
|
1
|
+
import { a as SLACK_TEXT_LIMIT, t as resolveSlackReplyBlocks } from "./reply-blocks-CfJqf7eq.js";
|
|
2
|
+
import { s as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Dg6U9K7_.js";
|
|
3
|
+
import "./provider-BdoeWKr8.js";
|
|
4
4
|
import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
|
|
5
5
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
6
6
|
import { SILENT_REPLY_TOKEN, chunkMarkdownTextWithMode, isSilentReplyText } from "openclaw/plugin-sdk/reply-chunking";
|
|
@@ -11,6 +11,7 @@ import { createChannelExecApprovalProfile, isChannelExecApprovalClientEnabledFro
|
|
|
11
11
|
import { channelRouteTargetsMatchExact, stringifyRouteThreadId } from "openclaw/plugin-sdk/channel-route";
|
|
12
12
|
import { reduceInteractiveReply, resolveMessagePresentationControlValue } from "openclaw/plugin-sdk/interactive-runtime";
|
|
13
13
|
import { parseExecApprovalCommandText } from "openclaw/plugin-sdk/approval-reply-runtime";
|
|
14
|
+
import { sliceUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
14
15
|
import { compileAllowlist, resolveCompiledAllowlistMatch } from "openclaw/plugin-sdk/allow-from";
|
|
15
16
|
import { normalizeHyphenSlug, normalizeStringEntries as normalizeStringEntries$1, normalizeStringEntriesLower as normalizeStringEntriesLower$1 } from "openclaw/plugin-sdk/string-normalization-runtime";
|
|
16
17
|
import { resolveToolsBySender } from "openclaw/plugin-sdk/channel-policy";
|
|
@@ -316,8 +317,8 @@ const SLACK_REPLY_SELECT_ACTION_ID = "openclaw:reply_select";
|
|
|
316
317
|
function truncateSlackText(value, max) {
|
|
317
318
|
const trimmed = value.trim();
|
|
318
319
|
if (trimmed.length <= max) return trimmed;
|
|
319
|
-
if (max <= 1) return trimmed
|
|
320
|
-
return `${trimmed
|
|
320
|
+
if (max <= 1) return sliceUtf16Safe(trimmed, 0, max);
|
|
321
|
+
return `${sliceUtf16Safe(trimmed, 0, max - 1)}…`;
|
|
321
322
|
}
|
|
322
323
|
//#endregion
|
|
323
324
|
//#region extensions/slack/src/blocks-render.ts
|
|
@@ -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 { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-CP8SH0Zf.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/slack/src/resolve-channels.ts
|
|
@@ -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 { n as resolveSlackAllowlistEntries, t as collectSlackCursorItems } from "./resolve-allowlist-common-CP8SH0Zf.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/slack/src/resolve-users.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./target-parsing-3jYH8LfB.js";
|
|
2
|
-
import "./client-
|
|
2
|
+
import "./client-DG9cyk55.js";
|
|
3
3
|
import "./config-api-DnT9ohtE.js";
|
|
4
4
|
import "openclaw/plugin-sdk/account-id";
|
|
5
5
|
import { createActionGate as createActionGate$1, imageResultFromFile, jsonResult, readPositiveIntegerParam, readReactionParams, readStringParam, withNormalizedTimestamp } from "openclaw/plugin-sdk/channel-actions";
|
package/dist/runtime-api.js
CHANGED
|
@@ -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-BPCiCe8y.js";
|
|
3
|
-
import { o as resolveSlackGroupRequireMention, s as resolveSlackGroupToolPolicy } from "./reply-blocks-
|
|
3
|
+
import { o as resolveSlackGroupRequireMention, s as resolveSlackGroupToolPolicy } from "./reply-blocks-CfJqf7eq.js";
|
|
4
4
|
import { n as setSlackRuntime } from "./runtime-BOk7xkOl.js";
|
|
5
|
-
import { t as sendMessageSlack } from "./send-
|
|
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
|
-
import { t as probeSlack } from "./probe-
|
|
8
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
9
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
10
|
-
import { t as monitorSlackProvider } from "./provider-
|
|
11
|
-
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-
|
|
12
|
-
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-
|
|
13
|
-
import "./monitor-
|
|
5
|
+
import { t as sendMessageSlack } from "./send-Dg6U9K7_.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-CqRHPciJ.js";
|
|
7
|
+
import { t as probeSlack } from "./probe-DFKt9Ute.js";
|
|
8
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-eniB45fy.js";
|
|
9
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-DDKzl37a.js";
|
|
10
|
+
import { t as monitorSlackProvider } from "./provider-BdoeWKr8.js";
|
|
11
|
+
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-E9QZMf0z.js";
|
|
12
|
+
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-DC-YA5SQ.js";
|
|
13
|
+
import "./monitor-BQ7P93ll.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-
|
|
1
|
+
import { r as createSlackWebClient } from "./client-DG9cyk55.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,13 +1,14 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, d as resolveSlackBotToken } 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, i as validateSlackBlocksArray, v as truncateSlackText } from "./reply-blocks-
|
|
4
|
+
import { a as SLACK_TEXT_LIMIT, i as validateSlackBlocksArray, v as truncateSlackText } from "./reply-blocks-CfJqf7eq.js";
|
|
5
5
|
import { t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.js";
|
|
6
|
-
import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-
|
|
6
|
+
import { a as getSlackWriteClient, n as createSlackTokenCacheKey } from "./client-DG9cyk55.js";
|
|
7
7
|
import { t as getOptionalSlackRuntime } from "./runtime-BOk7xkOl.js";
|
|
8
|
-
import { i as loadOutboundMediaFromUrl } from "./runtime-api-
|
|
8
|
+
import { i as loadOutboundMediaFromUrl } from "./runtime-api-DHJ8ntLr.js";
|
|
9
9
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
10
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
11
|
+
import { markdownToIR, renderMarkdownIRChunksWithinLimit, renderMarkdownWithMarkers } from "openclaw/plugin-sdk/text-chunking";
|
|
11
12
|
import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
|
|
12
13
|
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
13
14
|
import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
|
|
@@ -15,7 +16,6 @@ import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-run
|
|
|
15
16
|
import { chunkMarkdownTextWithMode, isSilentReplyText, resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
|
|
16
17
|
import { resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
|
|
17
18
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
18
|
-
import { markdownToIR, renderMarkdownIRChunksWithinLimit, renderMarkdownWithMarkers } from "openclaw/plugin-sdk/text-chunking";
|
|
19
19
|
import { resolveGlobalDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
|
|
20
20
|
//#region extensions/slack/src/blocks-fallback.ts
|
|
21
21
|
function cleanCandidate(value) {
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as slackSetupPlugin } from "./channel.setup-
|
|
1
|
+
import { t as slackSetupPlugin } from "./channel.setup-CDOZ8V3p.js";
|
|
2
2
|
export { slackSetupPlugin };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-BPCiCe8y.js";
|
|
2
|
-
import "./shared-
|
|
2
|
+
import "./shared-iMaNxOIL.js";
|
|
3
3
|
import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-BCGzyZhx.js";
|
|
4
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
5
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
4
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-eniB45fy.js";
|
|
5
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-DDKzl37a.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";
|
|
@@ -2,7 +2,7 @@ import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as
|
|
|
2
2
|
import { t as inspectSlackAccount } from "./account-inspect-DOtQbKkB.js";
|
|
3
3
|
import { t as isSlackPluginAccountConfigured } from "./account-configured-DzC407uv.js";
|
|
4
4
|
import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-D-22gTp3.js";
|
|
5
|
-
import { f as getChatChannelMeta } from "./client-
|
|
5
|
+
import { f as getChatChannelMeta } from "./client-DG9cyk55.js";
|
|
6
6
|
import { i as SLACK_CHANNEL } from "./setup-core-BCGzyZhx.js";
|
|
7
7
|
import { t as SlackChannelConfigSchema } from "./config-schema-BzqzFW__.js";
|
|
8
8
|
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-XL6HeNCb.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as deliverSlackSlashReplies$1 } from "./replies-
|
|
1
|
+
import { r as deliverSlackSlashReplies$1 } from "./replies-D_G-EPr8.js";
|
|
2
2
|
import { resolveAgentRoute as resolveAgentRoute$1 } from "openclaw/plugin-sdk/routing";
|
|
3
3
|
import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
4
4
|
import { recordInboundSessionMetaSafe as recordInboundSessionMetaSafe$1, resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Microsoft Corporation.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
> `npm install --save @types/node`
|
|
3
|
+
|
|
4
|
+
# Summary
|
|
5
|
+
This package contains type definitions for node (https://nodejs.org/).
|
|
6
|
+
|
|
7
|
+
# Details
|
|
8
|
+
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
|
9
|
+
|
|
10
|
+
### Additional Details
|
|
11
|
+
* Last updated: Tue, 19 May 2026 17:48:56 GMT
|
|
12
|
+
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
|
13
|
+
|
|
14
|
+
# Credits
|
|
15
|
+
These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [David Junger](https://github.com/touffy), [Mohsen Azimi](https://github.com/mohsen1), [Nikita Galkin](https://github.com/galkin), [Sebastian Silbermann](https://github.com/eps1lon), [Wilco Bakker](https://github.com/WilcoBakker), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), [Dmitry Semigradsky](https://github.com/Semigradsky), [René](https://github.com/Renegade334), and [Yagiz Nizipli](https://github.com/anonrig).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
declare module "node:assert/strict" {
|
|
2
|
+
import {
|
|
3
|
+
Assert,
|
|
4
|
+
AssertionError,
|
|
5
|
+
AssertionErrorOptions,
|
|
6
|
+
AssertOptions,
|
|
7
|
+
AssertPredicate,
|
|
8
|
+
AssertStrict,
|
|
9
|
+
deepStrictEqual,
|
|
10
|
+
doesNotMatch,
|
|
11
|
+
doesNotReject,
|
|
12
|
+
doesNotThrow,
|
|
13
|
+
fail,
|
|
14
|
+
ifError,
|
|
15
|
+
match,
|
|
16
|
+
notDeepStrictEqual,
|
|
17
|
+
notStrictEqual,
|
|
18
|
+
ok,
|
|
19
|
+
partialDeepStrictEqual,
|
|
20
|
+
rejects,
|
|
21
|
+
strictEqual,
|
|
22
|
+
throws,
|
|
23
|
+
} from "node:assert";
|
|
24
|
+
function strict(value: unknown, message?: string | Error): asserts value;
|
|
25
|
+
namespace strict {
|
|
26
|
+
export {
|
|
27
|
+
Assert,
|
|
28
|
+
AssertionError,
|
|
29
|
+
AssertionErrorOptions,
|
|
30
|
+
AssertOptions,
|
|
31
|
+
AssertPredicate,
|
|
32
|
+
AssertStrict,
|
|
33
|
+
deepStrictEqual,
|
|
34
|
+
deepStrictEqual as deepEqual,
|
|
35
|
+
doesNotMatch,
|
|
36
|
+
doesNotReject,
|
|
37
|
+
doesNotThrow,
|
|
38
|
+
fail,
|
|
39
|
+
ifError,
|
|
40
|
+
match,
|
|
41
|
+
notDeepStrictEqual,
|
|
42
|
+
notDeepStrictEqual as notDeepEqual,
|
|
43
|
+
notStrictEqual,
|
|
44
|
+
notStrictEqual as notEqual,
|
|
45
|
+
ok,
|
|
46
|
+
partialDeepStrictEqual,
|
|
47
|
+
rejects,
|
|
48
|
+
strict,
|
|
49
|
+
strictEqual,
|
|
50
|
+
strictEqual as equal,
|
|
51
|
+
throws,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export = strict;
|
|
55
|
+
}
|
|
56
|
+
declare module "assert/strict" {
|
|
57
|
+
import strict = require("node:assert/strict");
|
|
58
|
+
export = strict;
|
|
59
|
+
}
|