@openclaw/slack 2026.10.5-beta.4 → 2026.10.10-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/.setup/{account-inspect-D58VVDjk.mjs → account-inspect-CmkKiSb9.mjs} +1 -1
- package/dist/.setup/{accounts-BMg9YLIv.mjs → accounts-msihSF3-.mjs} +1 -1
- package/dist/.setup/{action-runtime-BiRZNsIG.mjs → action-runtime-CgYsBWl6.mjs} +5 -5
- package/dist/.setup/action-runtime.runtime-WS3mGjut.mjs +1 -0
- package/dist/.setup/{actions-KGKwTAKO.mjs → actions-CafoV8hS.mjs} +4 -4
- package/dist/.setup/{approval-handler.runtime-DYrsG2Ox.mjs → approval-handler.runtime-Pty8hAZ9.mjs} +8 -8
- package/dist/.setup/{approval-message-updates-CwdDew9i.mjs → approval-message-updates-DCnXFLf3.mjs} +1 -1
- package/dist/.setup/{channel-C7MY-Hhg.mjs → channel-B-jnk0Gl.mjs} +51 -55
- package/dist/.setup/{channel-type-NjX2SwvS.mjs → channel-type-BrbGGbzI.mjs} +3 -3
- package/dist/.setup/{channel.setup-BFpQowO3.mjs → channel.setup-u6QQdbTa.mjs} +4 -4
- package/dist/.setup/{config-schema-BH0K9-Um.mjs → config-schema-DNnh6bWU.mjs} +1 -1
- package/dist/.setup/{directory-config-BEDZPfDn.mjs → directory-config-Cjj0N8R0.mjs} +1 -1
- package/dist/.setup/{directory-live-FipfeCwt.mjs → directory-live-BIKD-5B_.mjs} +2 -2
- package/dist/.setup/http-C9sM-FXe.mjs +2 -0
- package/dist/.setup/{message-tool-api-C7im5ETh.mjs → message-tool-api-BS5ekEA_.mjs} +2 -2
- package/dist/.setup/{monitor-BnN2px0N.mjs → monitor-DmJ-Qbx4.mjs} +181 -145
- package/dist/.setup/{outbound-adapter-4HdGq-8r.mjs → outbound-adapter-BlN9vmT-.mjs} +4 -4
- package/dist/.setup/{pipeline.runtime-ByPbC6MN.mjs → pipeline.runtime-DOf1Ghcz.mjs} +66 -129
- package/dist/.setup/{plugin-routes-B8tooDLj.mjs → plugin-routes-D4qozHVn.mjs} +1 -1
- package/dist/.setup/{policy-BaY9_eh1.mjs → policy-D4eNyn8m.mjs} +2 -2
- package/dist/.setup/{probe-CyX52GtD.mjs → probe-IiHogLQN.mjs} +3 -9
- package/dist/.setup/{registry-CIbMfuf8.mjs → registry-DizWcnNp.mjs} +4 -11
- package/dist/.setup/{relay-source-CVfH-fBO.mjs → relay-source-CUVJNz6R.mjs} +2 -2
- package/dist/.setup/{replies-WmfwvQxc.mjs → replies-Cs9SqIIs.mjs} +4 -4
- package/dist/.setup/{reply-blocks-rqHQ_3pr.mjs → reply-blocks-CoZ_dGM_.mjs} +1 -1
- package/dist/.setup/{resolve-channels-B96cgprw.mjs → resolve-channels-DRRhElwz.mjs} +1 -1
- package/dist/.setup/{resolve-users-Xz9aPdns.mjs → resolve-users-Cz8e17ky.mjs} +1 -1
- package/dist/.setup/runtime-setter-api-Cx_PV-xu.mjs +2 -0
- package/dist/.setup/{scopes-aMcMHhXk.mjs → scopes-DfQVi8Jw.mjs} +1 -1
- package/dist/.setup/secret-contract-api-DB6CMdgc.mjs +2 -0
- package/dist/.setup/{send-CLmsR42r.mjs → send-pi6r24yv.mjs} +5 -5
- package/dist/.setup/{session-status-CcXe10zN.mjs → session-status-DQY4hZLd.mjs} +73 -29
- package/dist/.setup/setup-plugin-api-B18kDKtr.mjs +2 -0
- package/dist/.setup/{setup-surface-368jx6Uc.mjs → setup-surface-9WVQgYCT.mjs} +6 -6
- package/dist/.setup/{shared-CtprVh_G.mjs → shared-DpHCoKy2.mjs} +7 -6
- package/dist/.setup/{slash-dispatch.runtime-Dzwj6TPI.mjs → slash-dispatch.runtime-BlBuHX9x.mjs} +3 -2
- package/dist/account-inspect-api.js +1 -1
- package/dist/api.js +15 -14
- package/dist/channel-config-api.js +1 -2
- package/dist/channel-plugin-api.js +1 -2
- package/dist/directory-contract-api.js +1 -2
- package/dist/doctor-contract-api.js +1 -2
- package/dist/http-routes-api.js +1 -2
- package/dist/index.js +1 -1
- package/dist/message-tool-api.js +1 -2
- package/dist/runtime-api.js +11 -11
- package/dist/runtime-setter-api.js +1 -2
- package/dist/secret-contract-api.js +1 -2
- package/dist/security-contract-api.js +1 -2
- package/dist/setup-entry.js +3 -3
- package/dist/setup-plugin-api.js +1 -2
- package/node_modules/typebox/build/value/clean/from_object.mjs +1 -1
- package/node_modules/typebox/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +5 -5
- package/dist/.setup/action-runtime.runtime-C5xceJoS.mjs +0 -2
- package/dist/.setup/runtime-setter-api-CMFvhrAr.mjs +0 -3
- package/dist/.setup/secret-contract-api-DmUVxIRs.mjs +0 -3
- package/dist/.setup/setup-plugin-api-D92P5p51.mjs +0 -3
- package/dist/.setup/{security-audit-C1nOGzJa.mjs → security-audit-DFGiFLqd.mjs} +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as hasSlackAccountCredentials } from "./account-configured-zcR9TJJN.mjs";
|
|
2
|
-
import { a as mergeSlackAccountConfig, g as buildSlackAccountSurfaceFields, o as resolveDefaultSlackAccountId } from "./accounts-
|
|
2
|
+
import { a as mergeSlackAccountConfig, g as buildSlackAccountSurfaceFields, o as resolveDefaultSlackAccountId } from "./accounts-msihSF3-.mjs";
|
|
3
3
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
4
4
|
import { hasConfiguredSecretInput, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
5
5
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -29,7 +29,7 @@ function formatSlackBotTokenIdentityWarning(params) {
|
|
|
29
29
|
const botId = params.auth.bot_id?.trim();
|
|
30
30
|
if (!userId || botId) return;
|
|
31
31
|
const accountId = params.accountId?.trim() || "default";
|
|
32
|
-
return `Slack auth.test identified account "${accountId}" as user ${userId} without bot_id. ${accountId === "default" ? "channels.slack.botToken, channels.slack.accounts.default.botToken, or SLACK_BOT_TOKEN" : `channels.slack.accounts.${accountId}.botToken`} appears to contain a user token; replace it with a Bot User OAuth Token. Until replaced, explicit bot-mention detection is disabled and required-mention channels
|
|
32
|
+
return `Slack auth.test identified account "${accountId}" as user ${userId} without bot_id. ${accountId === "default" ? "channels.slack.botToken, channels.slack.accounts.default.botToken, or SLACK_BOT_TOKEN" : `channels.slack.accounts.${accountId}.botToken`} appears to contain a user token; replace it with a Bot User OAuth Token. Until replaced, explicit bot-mention detection is disabled and required-mention channels ignore messages.`;
|
|
33
33
|
}
|
|
34
34
|
function createSlackTokenResolver(defaultPath) {
|
|
35
35
|
return (raw, path = defaultPath) => normalizeResolvedSecretInputString({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as parseSlackTarget, n as formatSlackTarget, o as resolveSlackChannelId } from "./target-parsing-FFE26kOV.mjs";
|
|
2
2
|
import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
3
|
+
import { Ht as resolveSlackAutoThreadId, Vt as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, b as hasSlackNativeDataBlock, ht as parseSlackBlocksInput, jt as getSlackInstallationKind, m as assertSlackDetachedTargetAllowed, r as buildSlackChannelIdCandidates } from "./session-status-DQY4hZLd.mjs";
|
|
4
|
+
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-D4eNyn8m.mjs";
|
|
5
5
|
import { t as mergeSlackSendResults } from "./send-results-eeOu_HYm.mjs";
|
|
6
6
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
7
7
|
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -30,10 +30,10 @@ const SLACK_REACTION_RESULT_LIMIT = 100;
|
|
|
30
30
|
function readSlackResultLimit(params) {
|
|
31
31
|
return Math.min(readPositiveIntegerParam(params, "limit", { message: "limit must be a positive integer." }) ?? SLACK_REACTION_RESULT_LIMIT, SLACK_REACTION_RESULT_LIMIT);
|
|
32
32
|
}
|
|
33
|
-
const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions-
|
|
33
|
+
const loadSlackActionsRuntime = createLazyRuntimeModule(() => import("./actions-CafoV8hS.mjs").then((n) => n.t));
|
|
34
34
|
const bindSlackAction = createLazyRuntimeMethodBinder(loadSlackActionsRuntime);
|
|
35
|
-
const loadSlackAccountsRuntime = createLazyRuntimeModule(() => import("./accounts-
|
|
36
|
-
const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-
|
|
35
|
+
const loadSlackAccountsRuntime = createLazyRuntimeModule(() => import("./accounts-msihSF3-.mjs").then((n) => n.t));
|
|
36
|
+
const loadSlackChannelTypeRuntime = createLazyRuntimeModule(() => import("./channel-type-BrbGGbzI.mjs").then((n) => n.t));
|
|
37
37
|
const bindSlackChannelType = createLazyRuntimeMethodBinder(loadSlackChannelTypeRuntime);
|
|
38
38
|
const slackActionRuntime = {
|
|
39
39
|
deleteSlackMessage: bindSlackAction((runtime) => runtime.deleteSlackMessage),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as handleSlackAction } from "./action-runtime-CgYsBWl6.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
-
import { h as resolveSlackBotToken, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-
|
|
2
|
+
import { h as resolveSlackBotToken, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-msihSF3-.mjs";
|
|
3
3
|
import { n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { _ as getSlackWriteClient, h as createSlackWriteClient, u as createSlackLookupClient } from "./probe-
|
|
6
|
-
import { m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-
|
|
4
|
+
import { D as buildSlackCompleteBlocksFallbackText, E as buildSlackBlocksFallbackText, F as truncateSlackTextByUtf8Bytes, N as countSlackTextUtf8Bytes, O as renderSlackBlockFallbackText, Q as normalizeSlackOutboundText, T as stripSlackNativeDataBlocks, Vt as SLACK_PRIVATE_ACTION_DELIVERY_RESULT, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, g as appendSlackNativeDataFallbackText, gt as validateSlackBlocksArray, k as SLACK_EDIT_TEXT_MAX_BYTES, m as assertSlackDetachedTargetAllowed, st as escapeSlackMrkdwn, x as isSlackInvalidBlocksError } from "./session-status-DQY4hZLd.mjs";
|
|
5
|
+
import { _ as getSlackWriteClient, h as createSlackWriteClient, u as createSlackLookupClient } from "./probe-IiHogLQN.mjs";
|
|
6
|
+
import { m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-pi6r24yv.mjs";
|
|
7
7
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
8
8
|
import { asOptionalObjectRecord, asOptionalRecord, isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { createSubsystemLogger, logVerbose } from "openclaw/plugin-sdk/runtime-env";
|
package/dist/.setup/{approval-handler.runtime-DYrsG2Ox.mjs → approval-handler.runtime-Pty8hAZ9.mjs}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { g as getSlackListenerWriteClient } from "./probe-
|
|
4
|
-
import { s as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
5
|
-
import { t as sendMessageSlack } from "./send-
|
|
6
|
-
import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-
|
|
2
|
+
import { F as truncateSlackTextByUtf8Bytes, Lt as normalizeSlackApproverId, P as truncateSlackText, Tt as shouldHandleSlackNativeApprovalRequest, _t as isSlackAnyNativeApprovalClientEnabled, ct as SLACK_APPROVAL_HEADER_BLOCK_ID, k as SLACK_EDIT_TEXT_MAX_BYTES, n as setSlackSessionStatus } from "./session-status-DQY4hZLd.mjs";
|
|
3
|
+
import { g as getSlackListenerWriteClient } from "./probe-IiHogLQN.mjs";
|
|
4
|
+
import { s as resolveSlackReplyBlocks } from "./reply-blocks-CoZ_dGM_.mjs";
|
|
5
|
+
import { t as sendMessageSlack } from "./send-pi6r24yv.mjs";
|
|
6
|
+
import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-DCnXFLf3.mjs";
|
|
7
7
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
9
9
|
import { buildApprovalPresentationFromActionDescriptors } from "openclaw/plugin-sdk/approval-reply-runtime";
|
|
10
10
|
import { logError } from "openclaw/plugin-sdk/logging-core";
|
|
11
|
-
import {
|
|
11
|
+
import { createChannelApprovalNativeRuntimeAdapterAsync } from "openclaw/plugin-sdk/approval-handler-runtime";
|
|
12
12
|
import { formatChannelApprovalResolvedLabel } from "openclaw/plugin-sdk/approval-runtime";
|
|
13
13
|
//#region extensions/slack/src/approval-handler.runtime.ts
|
|
14
14
|
const SLACK_CONTEXT_ELEMENTS_MAX = 10;
|
|
@@ -124,7 +124,7 @@ async function updateMessage(client, accountId, { channelId, messageTs }, { text
|
|
|
124
124
|
logError(`slack approvals: failed to update message: ${String(err)}`);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
const slackApprovalNativeRuntime =
|
|
127
|
+
const slackApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapterAsync({
|
|
128
128
|
eventKinds: [
|
|
129
129
|
"exec",
|
|
130
130
|
"plugin",
|
|
@@ -138,7 +138,7 @@ const slackApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
|
|
|
138
138
|
accountId: resolved.accountId
|
|
139
139
|
}) : false;
|
|
140
140
|
},
|
|
141
|
-
shouldHandle: (params) => {
|
|
141
|
+
shouldHandle: async (params) => {
|
|
142
142
|
const resolved = resolveHandlerContext(params);
|
|
143
143
|
if (!resolved) return false;
|
|
144
144
|
return shouldHandleSlackNativeApprovalRequest({
|
package/dist/.setup/{approval-message-updates-CwdDew9i.mjs → approval-message-updates-DCnXFLf3.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { U as isSlackApprovalActionId, lt as decodeSlackApprovalAction } from "./session-status-DQY4hZLd.mjs";
|
|
2
2
|
import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
4
4
|
//#region extensions/slack/src/approval-message-updates.ts
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { r as isSlackPluginAccountConfigured } from "./account-configured-zcR9TJJN.mjs";
|
|
2
|
-
import { c as resolveSlackAccountAllowFrom, d as resolveSlackOperationToken, f as resolveSlackReplyToMode, i as listSlackAccountIds, n as hasImplicitDefaultSlackAccount, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-
|
|
2
|
+
import { c as resolveSlackAccountAllowFrom, d as resolveSlackOperationToken, f as resolveSlackReplyToMode, i as listSlackAccountIds, n as hasImplicitDefaultSlackAccount, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-msihSF3-.mjs";
|
|
3
3
|
import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, n as formatSlackTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId, t as canonicalizeSlackApiTargetId } from "./target-parsing-FFE26kOV.mjs";
|
|
4
4
|
import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { _ as getSlackWriteClient, c as collectSlackCursorPages, o as formatSlackError, u as createSlackLookupClient } from "./probe-
|
|
7
|
-
import { c as resolveSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, p as buildSlackPresentationBlocksIfComplete, r as normalizeSlackReplyPayload, s as resolveSlackReplyBlocks } from "./reply-blocks-
|
|
5
|
+
import { At as resolveSlackApprovalTeamId, Bt as resolvePluginApprovalSlackApprovers, Ct as resolveSlackFallbackOriginTarget, Dt as slackTargetsMatch, Et as shouldHandleSlackPluginViaForwardingSession, Ft as isSlackExecApprovalAuthorizedSender, Ht as resolveSlackAutoThreadId, It as isSlackExecApprovalClientEnabled, M as SLACK_TEXT_LIMIT, Mt as isSlackWorkspaceInstallation, N as countSlackTextUtf8Bytes, Ot as getSlackApprovalApproversForTeam, Pt as getSlackExecApprovalApprovers, Q as normalizeSlackOutboundText, Rt as resolveSlackExecApprovalTarget, St as resolveSlackApproverDmTargets, Tt as shouldHandleSlackNativeApprovalRequest, _t as isSlackAnyNativeApprovalClientEnabled, a as resolveSlackGroupRequireMention, bt as normalizeSlackOriginTarget, c as qualifySlackConversationId, d as normalizeSlackRouteBindingConfig, f as resolveSlackConversationBindingRoute, ft as SLACK_PRESENTATION_CAPABILITIES, jt as getSlackInstallationKind, k as SLACK_EDIT_TEXT_MAX_BYTES, kt as isSlackPluginApprovalAuthorizedSender, l as qualifySlackRoutePeerId, m as assertSlackDetachedTargetAllowed, n as setSlackSessionStatus, o as resolveSlackGroupToolPolicy, ot as renderSlackMessagePresentationFallbackText, vt as isSlackPluginApprovalRequest, wt as resolveTurnSourceSlackOriginTarget, xt as resolveSessionSlackOriginTarget, yt as normalizeSlackForwardTarget, zt as shouldSuppressLocalSlackExecApprovalPrompt } from "./session-status-DQY4hZLd.mjs";
|
|
6
|
+
import { _ as getSlackWriteClient, c as collectSlackCursorPages, o as formatSlackError, u as createSlackLookupClient } from "./probe-IiHogLQN.mjs";
|
|
7
|
+
import { c as resolveSlackReplyDeliveryMessages, o as resolveSlackReplyBlockResolution, p as buildSlackPresentationBlocksIfComplete, r as normalizeSlackReplyPayload, s as resolveSlackReplyBlocks } from "./reply-blocks-CoZ_dGM_.mjs";
|
|
8
8
|
import { n as resolveSlackReplyThreadTs, r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
|
|
9
|
-
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-
|
|
10
|
-
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-
|
|
9
|
+
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-BS5ekEA_.mjs";
|
|
10
|
+
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-BrbGGbzI.mjs";
|
|
11
11
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
12
|
-
import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-
|
|
13
|
-
import { i as SLACK_CHANNEL } from "./channel.setup-
|
|
12
|
+
import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-DpHCoKy2.mjs";
|
|
13
|
+
import { i as SLACK_CHANNEL } from "./channel.setup-u6QQdbTa.mjs";
|
|
14
14
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
15
15
|
import { normalizeAccountId as normalizeAccountId$1 } from "openclaw/plugin-sdk/account-resolution";
|
|
16
16
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -27,9 +27,9 @@ import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
|
|
|
27
27
|
import { createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
|
|
28
28
|
import { sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
|
|
29
29
|
import { escapeRegExp } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
30
|
+
import { createApproverRestrictedNativeApprovalCapabilityAsync } from "openclaw/plugin-sdk/approval-delivery-runtime";
|
|
31
|
+
import { createLazyChannelApprovalNativeRuntimeAdapterAsync } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
32
|
+
import { createChannelNativeOriginTargetResolverAsync, createNativeApprovalForwardingFallbackSuppressorAsync } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
33
33
|
import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
|
|
34
34
|
import { resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
|
|
35
35
|
import { normalizeLegacyInteractiveReply, normalizeMessagePresentation } from "openclaw/plugin-sdk/interactive-runtime";
|
|
@@ -44,7 +44,7 @@ function shouldConsiderSlackNativeForwardingSuppression(input) {
|
|
|
44
44
|
if (input.approvalKind === "plugin") return true;
|
|
45
45
|
return normalizeMessageChannel(input.request.request.turnSourceChannel) === "slack";
|
|
46
46
|
}
|
|
47
|
-
const resolveSlackOriginTarget =
|
|
47
|
+
const resolveSlackOriginTarget = createChannelNativeOriginTargetResolverAsync({
|
|
48
48
|
channel: "slack",
|
|
49
49
|
shouldHandleRequest: shouldHandleSlackNativeApprovalRequest,
|
|
50
50
|
resolveTurnSourceTarget: resolveTurnSourceSlackOriginTarget,
|
|
@@ -53,7 +53,7 @@ const resolveSlackOriginTarget = createChannelNativeOriginTargetResolver({
|
|
|
53
53
|
targetsMatch: slackTargetsMatch,
|
|
54
54
|
resolveFallbackTarget: resolveSlackFallbackOriginTarget
|
|
55
55
|
});
|
|
56
|
-
const shouldSuppressSlackForwardingFallback =
|
|
56
|
+
const shouldSuppressSlackForwardingFallback = createNativeApprovalForwardingFallbackSuppressorAsync({
|
|
57
57
|
channel: "slack",
|
|
58
58
|
normalizeForwardTarget: normalizeSlackForwardTarget,
|
|
59
59
|
resolveAccountId: resolveSlackNativeSuppressionAccountId,
|
|
@@ -63,7 +63,7 @@ const shouldSuppressSlackForwardingFallback = createNativeApprovalForwardingFall
|
|
|
63
63
|
resolveApproverDmTargets: resolveSlackApproverDmTargets,
|
|
64
64
|
targetsMatch: slackTargetsMatch
|
|
65
65
|
});
|
|
66
|
-
const baseSlackApprovalCapability =
|
|
66
|
+
const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabilityAsync({
|
|
67
67
|
channel: "slack",
|
|
68
68
|
channelLabel: "Slack",
|
|
69
69
|
describeExecApprovalSetup: ({ accountId }) => {
|
|
@@ -77,20 +77,20 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
|
|
|
77
77
|
accountId
|
|
78
78
|
}).length > 0,
|
|
79
79
|
isExecAuthorizedSender: isSlackExecApprovalAuthorizedSender,
|
|
80
|
-
isPluginAuthorizedSender: (params) => isSlackPluginApprovalAuthorizedSender(params) && (!params.request || resolvePluginApprovalSlackApprovers(params.cfg, params.request) === void 0 || shouldHandleSlackNativeApprovalRequest({
|
|
80
|
+
isPluginAuthorizedSender: async (params) => isSlackPluginApprovalAuthorizedSender(params) && (!params.request || resolvePluginApprovalSlackApprovers(params.cfg, params.request) === void 0 || await shouldHandleSlackNativeApprovalRequest({
|
|
81
81
|
cfg: params.cfg,
|
|
82
82
|
accountId: params.accountId,
|
|
83
83
|
approvalKind: "plugin",
|
|
84
84
|
request: params.request
|
|
85
85
|
})),
|
|
86
|
-
isNativeDeliveryEnabled: isSlackExecApprovalClientEnabled,
|
|
86
|
+
isNativeDeliveryEnabled: async (params) => isSlackExecApprovalClientEnabled(params),
|
|
87
87
|
resolveNativeDeliveryMode: resolveSlackExecApprovalTarget,
|
|
88
88
|
requireMatchingTurnSourceChannel: true,
|
|
89
89
|
resolveSuppressionAccountId: resolveSlackNativeSuppressionAccountId,
|
|
90
90
|
resolveOriginTarget: resolveSlackOriginTarget,
|
|
91
91
|
resolveApproverDmTargets: resolveSlackApproverDmTargets,
|
|
92
92
|
notifyOriginWhenDmOnly: true,
|
|
93
|
-
|
|
93
|
+
nativeRuntimeAsync: createLazyChannelApprovalNativeRuntimeAdapterAsync({
|
|
94
94
|
capabilityBoundary: true,
|
|
95
95
|
eventKinds: [
|
|
96
96
|
"exec",
|
|
@@ -99,10 +99,10 @@ const baseSlackApprovalCapability = createApproverRestrictedNativeApprovalCapabi
|
|
|
99
99
|
],
|
|
100
100
|
isConfigured: isSlackAnyNativeApprovalClientEnabled,
|
|
101
101
|
shouldHandle: shouldHandleSlackNativeApprovalRequest,
|
|
102
|
-
load: async () => (await import("./approval-handler.runtime-
|
|
102
|
+
load: async () => (await import("./approval-handler.runtime-Pty8hAZ9.mjs")).slackApprovalNativeRuntime
|
|
103
103
|
})
|
|
104
104
|
});
|
|
105
|
-
const baseSlackNativeAdapter = baseSlackApprovalCapability.
|
|
105
|
+
const baseSlackNativeAdapter = baseSlackApprovalCapability.nativeAsync;
|
|
106
106
|
const slackApprovalCapability = {
|
|
107
107
|
...baseSlackApprovalCapability,
|
|
108
108
|
supportsScopedPluginApprovalApprovers: true,
|
|
@@ -118,7 +118,7 @@ const slackApprovalCapability = {
|
|
|
118
118
|
return senderId ?? void 0;
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
-
|
|
121
|
+
getActionAvailabilityStateAsync: async (params) => params.approvalKind === "plugin" && params.cfg.approvals?.plugin?.slack && (!params.request || !isSlackPluginApprovalRequest(params.request) || resolvePluginApprovalSlackApprovers(params.cfg, params.request) !== void 0) ? { kind: params.request && !await shouldHandleSlackNativeApprovalRequest({
|
|
122
122
|
...params,
|
|
123
123
|
approvalKind: "plugin",
|
|
124
124
|
request: params.request
|
|
@@ -126,10 +126,10 @@ const slackApprovalCapability = {
|
|
|
126
126
|
delivery: {
|
|
127
127
|
...baseSlackApprovalCapability.delivery,
|
|
128
128
|
shouldBlockForwardingFallback: (input) => shouldConsiderSlackNativeForwardingSuppression(input) && input.approvalKind === "plugin" && isSlackPluginApprovalRequest(input.request) && resolvePluginApprovalSlackApprovers(input.cfg, input.request) !== void 0,
|
|
129
|
-
|
|
129
|
+
shouldSuppressForwardingFallbackAsync: async (input) => {
|
|
130
130
|
if (!shouldConsiderSlackNativeForwardingSuppression(input)) return false;
|
|
131
131
|
if (input.approvalKind === "plugin" && !isSlackPluginApprovalRequest(input.request)) return true;
|
|
132
|
-
const canHandleNative = shouldHandleSlackNativeApprovalRequest({
|
|
132
|
+
const canHandleNative = await shouldHandleSlackNativeApprovalRequest({
|
|
133
133
|
cfg: input.cfg,
|
|
134
134
|
accountId: resolveSlackNativeSuppressionAccountId(input),
|
|
135
135
|
approvalKind: input.approvalKind,
|
|
@@ -139,14 +139,14 @@ const slackApprovalCapability = {
|
|
|
139
139
|
return shouldSuppressSlackForwardingFallback(input);
|
|
140
140
|
}
|
|
141
141
|
},
|
|
142
|
-
|
|
142
|
+
nativeAsync: baseSlackNativeAdapter ? {
|
|
143
143
|
...baseSlackNativeAdapter,
|
|
144
|
-
describeDeliveryCapabilities: (params) => {
|
|
145
|
-
const capabilities = baseSlackNativeAdapter.describeDeliveryCapabilities(params);
|
|
144
|
+
describeDeliveryCapabilities: async (params) => {
|
|
145
|
+
const capabilities = await baseSlackNativeAdapter.describeDeliveryCapabilities(params);
|
|
146
146
|
const { request, approvalKind } = params;
|
|
147
147
|
const described = {
|
|
148
148
|
...capabilities,
|
|
149
|
-
enabled: shouldHandleSlackNativeApprovalRequest(params)
|
|
149
|
+
enabled: await shouldHandleSlackNativeApprovalRequest(params)
|
|
150
150
|
};
|
|
151
151
|
if (approvalKind !== "plugin" || !isSlackPluginApprovalRequest(request)) return described;
|
|
152
152
|
if (resolvePluginApprovalSlackApprovers(params.cfg, request) !== void 0) return {
|
|
@@ -154,7 +154,7 @@ const slackApprovalCapability = {
|
|
|
154
154
|
preferredSurface: "approver-dm",
|
|
155
155
|
supportsApproverDmSurface: true
|
|
156
156
|
};
|
|
157
|
-
if (!shouldHandleSlackPluginViaForwardingSession(params)) return described;
|
|
157
|
+
if (!await shouldHandleSlackPluginViaForwardingSession(params)) return described;
|
|
158
158
|
return {
|
|
159
159
|
...described,
|
|
160
160
|
preferredSurface: "origin",
|
|
@@ -378,7 +378,7 @@ const SLACK_TOOL_DELIVERY_ACTIONS = /* @__PURE__ */ new Set([
|
|
|
378
378
|
"unpinMessage",
|
|
379
379
|
"uploadFile"
|
|
380
380
|
]);
|
|
381
|
-
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
381
|
+
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-WS3mGjut.mjs"));
|
|
382
382
|
function resolveSlackActionContext(ctx, toolContext) {
|
|
383
383
|
if (!toolContext && !ctx.mediaAccess && !ctx.mediaLocalRoots && !ctx.mediaReadFile && !ctx.conversationReadOrigin && !ctx.requesterAccountId && !ctx.requesterSenderId && !ctx.assertDirectAdapterHandoff) return;
|
|
384
384
|
return {
|
|
@@ -431,10 +431,6 @@ function shouldUseWorkspaceAwareSlackActionSend(rawTarget, context) {
|
|
|
431
431
|
}
|
|
432
432
|
//#endregion
|
|
433
433
|
//#region extensions/slack/src/conversation-route-owner.ts
|
|
434
|
-
function inspectSlackConversationRouteOwner(params) {
|
|
435
|
-
const prepared = prepareSlackConversationRouteOwner(params);
|
|
436
|
-
return prepared.kind === "prepared" ? prepared.resolve() : prepared.owner;
|
|
437
|
-
}
|
|
438
434
|
function prepareSlackConversationRouteOwner(params) {
|
|
439
435
|
const accountId = normalizeAccountId(params.accountId);
|
|
440
436
|
const accountConfig = resolveAccountEntry(params.cfg.channels?.slack?.accounts, accountId);
|
|
@@ -520,9 +516,9 @@ function prepareSlackConversationRouteOwner(params) {
|
|
|
520
516
|
}
|
|
521
517
|
};
|
|
522
518
|
}
|
|
523
|
-
function
|
|
519
|
+
async function prepareSlackConversationRouteOwnersAsync(inputs, inspectBindings) {
|
|
524
520
|
const prepared = inputs.map(prepareSlackConversationRouteOwner);
|
|
525
|
-
const
|
|
521
|
+
const inspect = await inspectBindings(prepared.flatMap((item) => item.kind === "prepared" && item.route.bindingsEnabled ? [{
|
|
526
522
|
channel: "slack",
|
|
527
523
|
accountId: item.route.accountId,
|
|
528
524
|
conversationId: item.route.baseConversationId
|
|
@@ -534,27 +530,27 @@ function prepareSlackConversationRouteOwners(inputs, inspectBindings) {
|
|
|
534
530
|
}] : []] : []));
|
|
535
531
|
let index = 0;
|
|
536
532
|
const nextInspection = () => {
|
|
537
|
-
const
|
|
538
|
-
|
|
539
|
-
|
|
533
|
+
const position = index++;
|
|
534
|
+
return () => {
|
|
535
|
+
const inspection = inspect()[position];
|
|
536
|
+
if (!inspection) throw new Error("Slack binding owner returned an incomplete selection");
|
|
537
|
+
return inspection;
|
|
538
|
+
};
|
|
540
539
|
};
|
|
541
540
|
return prepared.map((item) => {
|
|
542
541
|
if (item.kind === "terminal") return () => item.owner;
|
|
543
|
-
const base = item.route.bindingsEnabled ? nextInspection() : {
|
|
542
|
+
const base = item.route.bindingsEnabled ? nextInspection() : () => ({
|
|
544
543
|
status: "available",
|
|
545
544
|
binding: null
|
|
546
|
-
};
|
|
545
|
+
});
|
|
547
546
|
const thread = item.route.bindingsEnabled && item.route.runtimeBindingThreadId ? nextInspection() : base;
|
|
548
547
|
return () => item.resolve({
|
|
549
|
-
base,
|
|
550
|
-
thread
|
|
548
|
+
base: base(),
|
|
549
|
+
thread: thread()
|
|
551
550
|
});
|
|
552
551
|
});
|
|
553
552
|
}
|
|
554
|
-
const slackConversationRouteOwners = {
|
|
555
|
-
resolveConversationRouteOwner: inspectSlackConversationRouteOwner,
|
|
556
|
-
prepareConversationRouteOwners: prepareSlackConversationRouteOwners
|
|
557
|
-
};
|
|
553
|
+
const slackConversationRouteOwners = { prepareConversationRouteOwnersAsync: prepareSlackConversationRouteOwnersAsync };
|
|
558
554
|
//#endregion
|
|
559
555
|
//#region extensions/slack/src/enterprise-user-route.ts
|
|
560
556
|
/** Resolve a workspace for a detached Enterprise DM without opening a conversation. */
|
|
@@ -616,20 +612,20 @@ function buildSlackThreadingToolContext(params) {
|
|
|
616
612
|
//#region extensions/slack/src/channel.ts
|
|
617
613
|
const loadExtensionSharedSdk = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/extension-shared"));
|
|
618
614
|
const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/target-resolver-runtime"));
|
|
619
|
-
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-
|
|
620
|
-
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-
|
|
615
|
+
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-DfQVi8Jw.mjs"));
|
|
616
|
+
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-BlN9vmT-.mjs"));
|
|
621
617
|
const bindSlackOutbound = createLazyRuntimeMethodBinder(loadSlackOutboundAdapterModule);
|
|
622
618
|
async function resolveSlackHandleAction() {
|
|
623
619
|
return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
|
|
624
620
|
}
|
|
625
|
-
const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-
|
|
626
|
-
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-
|
|
627
|
-
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-
|
|
628
|
-
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
629
|
-
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-
|
|
630
|
-
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-
|
|
631
|
-
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
632
|
-
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-
|
|
621
|
+
const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-Cjj0N8R0.mjs").then((n) => n.t));
|
|
622
|
+
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-DRRhElwz.mjs").then((n) => n.n));
|
|
623
|
+
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-Cz8e17ky.mjs").then((n) => n.n));
|
|
624
|
+
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-WS3mGjut.mjs"));
|
|
625
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-pi6r24yv.mjs").then((n) => n.n));
|
|
626
|
+
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-IiHogLQN.mjs").then((n) => n.n));
|
|
627
|
+
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-DmJ-Qbx4.mjs").then((n) => n.t));
|
|
628
|
+
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-BIKD-5B_.mjs").then((n) => n.t));
|
|
633
629
|
async function setSlackHeartbeatThreadStatus(params) {
|
|
634
630
|
const threadTs = resolveSlackThreadTsValue({ threadId: params.threadId });
|
|
635
631
|
const target = parseSlackTarget(params.to, { defaultKind: "channel" });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
-
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-
|
|
3
|
-
import {
|
|
4
|
-
import { d as createSlackReadClient, m as createSlackWebClient, y as readLruMapEntry } from "./probe-
|
|
2
|
+
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-msihSF3-.mjs";
|
|
3
|
+
import { m as assertSlackDetachedTargetAllowed } from "./session-status-DQY4hZLd.mjs";
|
|
4
|
+
import { d as createSlackReadClient, m as createSlackWebClient, y as readLruMapEntry } from "./probe-IiHogLQN.mjs";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { normalizeStringEntriesLower } from "openclaw/plugin-sdk/string-normalization-runtime";
|
|
7
7
|
import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as isSlackSetupAccountConfigured } from "./account-configured-zcR9TJJN.mjs";
|
|
2
|
-
import { i as listSlackAccountIds, o as resolveDefaultSlackAccountId, s as resolveSlackAccount, u as resolveSlackConfigAccessorAccount } from "./accounts-
|
|
3
|
-
import { t as inspectSlackAccount } from "./account-inspect-
|
|
2
|
+
import { i as listSlackAccountIds, o as resolveDefaultSlackAccountId, s as resolveSlackAccount, u as resolveSlackConfigAccessorAccount } from "./accounts-msihSF3-.mjs";
|
|
3
|
+
import { t as inspectSlackAccount } from "./account-inspect-CmkKiSb9.mjs";
|
|
4
4
|
import { t as DEFAULT_SLACK_SUGGESTED_PROMPTS } from "./channel-meta-C443t-lI.mjs";
|
|
5
|
-
import { t as SlackChannelConfigSchema } from "./config-schema-
|
|
5
|
+
import { t as SlackChannelConfigSchema } from "./config-schema-DNnh6bWU.mjs";
|
|
6
6
|
import { normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
7
7
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
@@ -550,7 +550,7 @@ const slackSetupPlugin = {
|
|
|
550
550
|
markdownCapable: true,
|
|
551
551
|
preferSessionLookupForAnnounceTarget: true
|
|
552
552
|
},
|
|
553
|
-
setupWizard: createSlackSetupWizardProxy(() => import("./setup-surface-
|
|
553
|
+
setupWizard: createSlackSetupWizardProxy(() => import("./setup-surface-9WVQgYCT.mjs")),
|
|
554
554
|
capabilities: {
|
|
555
555
|
chatTypes: [
|
|
556
556
|
"direct",
|
|
@@ -41,7 +41,7 @@ const slackChannelConfigUiHints = {
|
|
|
41
41
|
implicitMentions: true,
|
|
42
42
|
streaming: {
|
|
43
43
|
"": "Unified Slack stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\" (default). Legacy boolean/streamMode keys are auto-mapped.",
|
|
44
|
-
mode: "
|
|
44
|
+
mode: "Slack preview mode: \"off\" | \"partial\" | \"block\" | \"progress\" (default). Default progress outside reply threads uses only a temporary typing reaction. Any explicit streaming.progress setting opts top-level turns into a preview, except nativeTaskCards: true, which only affects threads.",
|
|
45
45
|
chunkMode: "Chunking mode for outbound Slack text delivery: \"length\" (default) or \"newline\".",
|
|
46
46
|
"block.enabled": "Enable chunked block-style Slack preview delivery when channels.slack.streaming.mode=\"block\".",
|
|
47
47
|
"block.coalesce": "Merge streamed Slack block replies before final delivery.",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
-
import { a as mergeSlackAccountConfig, c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-
|
|
2
|
+
import { a as mergeSlackAccountConfig, c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-msihSF3-.mjs";
|
|
3
3
|
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
4
4
|
import "./targets-C6LZQL1Q.mjs";
|
|
5
5
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
-
import { s as resolveSlackAccount } from "./accounts-
|
|
3
|
-
import { c as collectSlackCursorPages, l as fetchSlackChannelListPage, u as createSlackLookupClient } from "./probe-
|
|
2
|
+
import { s as resolveSlackAccount } from "./accounts-msihSF3-.mjs";
|
|
3
|
+
import { c as collectSlackCursorPages, l as fetchSlackChannelListPage, u as createSlackLookupClient } from "./probe-IiHogLQN.mjs";
|
|
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({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as listSlackAccountIds } from "./accounts-
|
|
2
|
-
import { t as inspectSlackAccount } from "./account-inspect-
|
|
1
|
+
import { i as listSlackAccountIds } from "./accounts-msihSF3-.mjs";
|
|
2
|
+
import { t as inspectSlackAccount } from "./account-inspect-CmkKiSb9.mjs";
|
|
3
3
|
import { r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
|
|
4
4
|
import { createActionGate } from "openclaw/plugin-sdk/channel-actions";
|
|
5
5
|
import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
|