@openclaw/slack 2026.11.1 → 2026.11.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-configured-35y0-Hso.mjs → account-configured-zcR9TJJN.mjs} +2 -1
- package/dist/.setup/{account-inspect-Bc7TVU8F.mjs → account-inspect-CmkKiSb9.mjs} +4 -3
- package/dist/.setup/{accounts-CEgdyqoW.mjs → accounts-msihSF3-.mjs} +10 -6
- package/dist/.setup/{action-runtime-DPoxYao5.mjs → action-runtime-ChRfnnBu.mjs} +10 -9
- package/dist/.setup/action-runtime.runtime-vLxx_7s2.mjs +2 -0
- package/dist/.setup/{actions-PF2cP6to.mjs → actions-By7tvpvv.mjs} +22 -14
- package/dist/.setup/{approval-handler.runtime-BtRklemy.mjs → approval-handler.runtime-D8ArtDQt.mjs} +8 -7
- package/dist/.setup/{approval-message-updates-CpwbsEj6.mjs → approval-message-updates-DT7XBPbV.mjs} +3 -2
- package/dist/.setup/{channel-BzPa5LRe.mjs → channel-DLFiMJm2.mjs} +39 -32
- package/dist/.setup/{channel-meta-C5vsCo3a.mjs → channel-meta-C443t-lI.mjs} +2 -1
- package/dist/.setup/{channel-type-Dh4vwh1Y.mjs → channel-type-BEFP2ORi.mjs} +6 -5
- package/dist/.setup/{channel.setup-Cc6oaNPS.mjs → channel.setup-CzFw73mU.mjs} +14 -10
- package/dist/.setup/{config-schema-Cz3uId-c.mjs → config-schema-DNnh6bWU.mjs} +4 -2
- package/dist/.setup/{directory-config-BEPra1E2.mjs → directory-config-Cjj0N8R0.mjs} +6 -5
- package/dist/.setup/{directory-live-BkUwPrS0.mjs → directory-live-BIKD-5B_.mjs} +5 -4
- package/dist/.setup/{doctor-contract-HK8aedwU.mjs → doctor-contract-Cd4-VzIM.mjs} +13 -7
- package/dist/.setup/http-C9sM-FXe.mjs +2 -0
- package/dist/.setup/{message-tool-api-DeiQJoRV.mjs → message-tool-api-BS5ekEA_.mjs} +7 -5
- package/dist/.setup/{monitor-BSKi0nx-.mjs → monitor-CV6Z6FKP.mjs} +137 -78
- package/dist/.setup/{outbound-adapter-C0R5jz6S.mjs → outbound-adapter-9dbnYtL1.mjs} +9 -8
- package/dist/.setup/{pipeline.runtime-zTQpztym.mjs → pipeline.runtime-DLIQf1Bo.mjs} +68 -41
- package/dist/.setup/{plugin-routes-lXsy_bNV.mjs → plugin-routes-D4qozHVn.mjs} +3 -2
- package/dist/.setup/{policy-Bp1FvE6m.mjs → policy-yhn48xf5.mjs} +6 -4
- package/dist/.setup/{probe-C5VWf3sz.mjs → probe-IiHogLQN.mjs} +19 -11
- package/dist/.setup/{registry-1G0f1zuZ.mjs → registry-DizWcnNp.mjs} +4 -2
- package/dist/.setup/{relay-source-D1NGf3d2.mjs → relay-source-CxDcrn16.mjs} +4 -3
- package/dist/.setup/{replies-BY9G1WZH.mjs → replies-MRkrg3rC.mjs} +9 -7
- package/dist/.setup/{reply-blocks-DOjiDr44.mjs → reply-blocks-Ca-raz2z.mjs} +7 -4
- package/dist/.setup/{resolve-channels-BNQ1KZXh.mjs → resolve-channels-DRRhElwz.mjs} +5 -4
- package/dist/.setup/{resolve-users-C4dC8Z7D.mjs → resolve-users-Cz8e17ky.mjs} +5 -4
- package/dist/.setup/{rolldown-runtime-nwUcYXjP.mjs → rolldown-runtime-B4FMCO8f.mjs} +2 -1
- package/dist/.setup/{runtime-C6HKn7Av.mjs → runtime-JSVZSWAj.mjs} +2 -1
- package/dist/.setup/runtime-setter-api-CMFvhrAr.mjs +3 -0
- package/dist/.setup/{scopes-C1aeCBa6.mjs → scopes-DfQVi8Jw.mjs} +3 -2
- package/dist/.setup/secret-contract-api-DK9gZldc.mjs +3 -0
- package/dist/.setup/{secret-contract-BH1ergYo.mjs → secret-contract-vVRMoE1D.mjs} +3 -2
- package/dist/.setup/{security-audit-C3hXCfDt.mjs → security-audit-DFGiFLqd.mjs} +3 -2
- package/dist/.setup/{send-C5uXkmZV.mjs → send-C-8wY0lK.mjs} +21 -14
- package/dist/.setup/{send-results-D-o6PgtS.mjs → send-results-eeOu_HYm.mjs} +2 -1
- package/dist/.setup/{session-status-CHkEn3HM.mjs → session-status-Dv8wNBEt.mjs} +57 -31
- package/dist/.setup/setup-plugin-api-BGD1TYnK.mjs +3 -0
- package/dist/.setup/{setup-surface-b9gluDhT.mjs → setup-surface--n8VsDvV.mjs} +8 -7
- package/dist/.setup/{shared-DbdvOUXo.mjs → shared-BhJHIZs1.mjs} +18 -14
- package/dist/.setup/{slash-dispatch.runtime-Bf0r7kf2.mjs → slash-dispatch.runtime-D3Wq45ER.mjs} +1 -1
- package/dist/.setup/{target-parsing-0pRZtahO.mjs → target-parsing-FFE26kOV.mjs} +2 -1
- package/dist/.setup/{targets-BqXz7CpG.mjs → targets-C6LZQL1Q.mjs} +3 -2
- package/dist/.setup/{thread-ts-47Au2-Yn.mjs → thread-ts-Cvt7WD6B.mjs} +2 -1
- package/dist/account-inspect-api.js +3 -2
- package/dist/api.js +17 -17
- package/dist/channel-config-api.js +2 -1
- package/dist/channel-entry.js +2 -1
- package/dist/channel-plugin-api.js +2 -1
- package/dist/configured-state.js +3 -2
- package/dist/directory-contract-api.js +2 -1
- package/dist/doctor-contract-api.js +2 -1
- package/dist/http-routes-api.js +2 -1
- package/dist/index.js +3 -2
- package/dist/message-tool-api.js +2 -1
- package/dist/runtime-api.js +12 -12
- package/dist/runtime-setter-api.js +2 -1
- package/dist/secret-contract-api.js +2 -1
- package/dist/security-contract-api.js +2 -1
- package/dist/setup-entry.js +5 -4
- package/dist/setup-plugin-api.js +2 -1
- package/package.json +4 -4
- package/dist/.setup/action-runtime.runtime-DWKWaKgC.mjs +0 -1
- package/dist/.setup/http-GpAVKwSX.mjs +0 -2
- package/dist/.setup/runtime-setter-api-DrXr965r.mjs +0 -2
- package/dist/.setup/secret-contract-api-BdG3j9lT.mjs +0 -2
- package/dist/.setup/setup-plugin-api-9mACIIlc.mjs +0 -2
- package/dist/.source-module-urls/562d694877afe9d9dcbb3b32a8883c16974738f2aa892c48d45572cdc9a62529.json +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { hasConfiguredAccountValue } from "openclaw/plugin-sdk/account-resolution";
|
|
2
2
|
import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input";
|
|
3
|
-
|
|
3
|
+
//#region extensions/slack/src/account-configured.ts
|
|
4
4
|
function hasSlackAccountCredentials(params) {
|
|
5
5
|
if (!params.identityTokenConfigured) return false;
|
|
6
6
|
const mode = params.config.mode ?? "socket";
|
|
@@ -31,4 +31,5 @@ function createSlackAccountConfiguredChecker(allowSecretRefs) {
|
|
|
31
31
|
}
|
|
32
32
|
const isSlackPluginAccountConfigured = createSlackAccountConfiguredChecker(false);
|
|
33
33
|
const isSlackSetupAccountConfigured = createSlackAccountConfiguredChecker(true);
|
|
34
|
+
//#endregion
|
|
34
35
|
export { isSlackSetupAccountConfigured as i, hasSlackAccountCredentialsFromConfig as n, isSlackPluginAccountConfigured as r, hasSlackAccountCredentials as t };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as hasSlackAccountCredentials } from "./account-configured-
|
|
2
|
-
import { a as mergeSlackAccountConfig, g as buildSlackAccountSurfaceFields, o as resolveDefaultSlackAccountId } from "./accounts-
|
|
1
|
+
import { t as hasSlackAccountCredentials } from "./account-configured-zcR9TJJN.mjs";
|
|
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";
|
|
6
|
-
|
|
6
|
+
//#region extensions/slack/src/account-inspect.ts
|
|
7
7
|
function inspectSlackToken(value, envToken) {
|
|
8
8
|
const token = normalizeSecretInputString(value);
|
|
9
9
|
if (token || hasConfiguredSecretInput(value)) return {
|
|
@@ -63,4 +63,5 @@ function inspectSlackAccount(params) {
|
|
|
63
63
|
...buildSlackAccountSurfaceFields(merged)
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
+
//#endregion
|
|
66
67
|
export { inspectSlackAccount as t };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-
|
|
2
|
-
import { n as hasSlackAccountCredentialsFromConfig } from "./account-configured-
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { n as hasSlackAccountCredentialsFromConfig } from "./account-configured-zcR9TJJN.mjs";
|
|
3
3
|
import { DEFAULT_ACCOUNT_ID, createAccountListHelpers, normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
4
4
|
import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
5
5
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { mapAllowFromEntries, normalizeChannelDmPolicy } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
7
7
|
import { resolveAccountEntry } from "openclaw/plugin-sdk/routing";
|
|
8
8
|
import { normalizeChatType } from "openclaw/plugin-sdk/account-core";
|
|
9
|
-
|
|
9
|
+
//#region extensions/slack/src/account-surface-fields.ts
|
|
10
10
|
function buildSlackAccountSurfaceFields(config) {
|
|
11
11
|
return {
|
|
12
12
|
groupPolicy: config.groupPolicy,
|
|
@@ -22,7 +22,8 @@ function buildSlackAccountSurfaceFields(config) {
|
|
|
22
22
|
channels: config.channels
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region extensions/slack/src/token.ts
|
|
26
27
|
function formatSlackBotTokenIdentityWarning(params) {
|
|
27
28
|
const userId = params.auth.user_id?.trim();
|
|
28
29
|
const botId = params.auth.bot_id?.trim();
|
|
@@ -39,13 +40,15 @@ function createSlackTokenResolver(defaultPath) {
|
|
|
39
40
|
const resolveSlackBotToken = createSlackTokenResolver("channels.slack.botToken");
|
|
40
41
|
const resolveSlackAppToken = createSlackTokenResolver("channels.slack.appToken");
|
|
41
42
|
const resolveSlackUserToken = createSlackTokenResolver("channels.slack.userToken");
|
|
42
|
-
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region extensions/slack/src/account-reply-mode.ts
|
|
43
45
|
function resolveSlackReplyToMode(account, chatType) {
|
|
44
46
|
const normalized = normalizeChatType(chatType ?? void 0);
|
|
45
47
|
if (normalized && account.replyToModeByChatType?.[normalized] !== void 0) return account.replyToModeByChatType[normalized] ?? "off";
|
|
46
48
|
return account.replyToMode ?? "off";
|
|
47
49
|
}
|
|
48
|
-
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region extensions/slack/src/accounts.ts
|
|
49
52
|
var accounts_exports = /* @__PURE__ */ __exportAll({
|
|
50
53
|
hasImplicitDefaultSlackAccount: () => hasImplicitDefaultSlackAccount,
|
|
51
54
|
listEnabledSlackAccounts: () => listEnabledSlackAccounts,
|
|
@@ -182,4 +185,5 @@ function listEnabledSlackAccounts(cfg) {
|
|
|
182
185
|
accountId
|
|
183
186
|
})).filter((account) => account.enabled);
|
|
184
187
|
}
|
|
188
|
+
//#endregion
|
|
185
189
|
export { mergeSlackAccountConfig as a, resolveSlackAccountAllowFrom as c, resolveSlackOperationToken as d, resolveSlackReplyToMode as f, buildSlackAccountSurfaceFields as g, resolveSlackBotToken as h, listSlackAccountIds as i, resolveSlackAccountDmPolicy as l, resolveSlackAppToken as m, hasImplicitDefaultSlackAccount as n, resolveDefaultSlackAccountId as o, formatSlackBotTokenIdentityWarning as p, listEnabledSlackAccounts as r, resolveSlackAccount as s, accounts_exports as t, resolveSlackConfigAccessorAccount as u };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as parseSlackTarget, n as formatSlackTarget, o as resolveSlackChannelId } from "./target-parsing-
|
|
2
|
-
import { t as slackContextTargetsMatch } from "./targets-
|
|
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-
|
|
4
|
-
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-
|
|
5
|
-
import { t as mergeSlackSendResults } from "./send-results-
|
|
1
|
+
import { a as parseSlackTarget, n as formatSlackTarget, o as resolveSlackChannelId } from "./target-parsing-FFE26kOV.mjs";
|
|
2
|
+
import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
|
|
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-Dv8wNBEt.mjs";
|
|
4
|
+
import { n as resolveSlackChannelConfig, t as isSlackChannelAllowedByPolicy } from "./policy-yhn48xf5.mjs";
|
|
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";
|
|
8
8
|
import { createLazyRuntimeMethodBinder, createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
@@ -10,7 +10,7 @@ import { isSingleUseReplyToMode } from "openclaw/plugin-sdk/reply-reference";
|
|
|
10
10
|
import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
|
|
11
11
|
import { createActionGate, imageResultFromFile, jsonResult, readPositiveIntegerParam, readReactionParams, readStringParam, withNormalizedTimestamp } from "openclaw/plugin-sdk/channel-actions";
|
|
12
12
|
import { resolveOpenProviderRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
13
|
-
|
|
13
|
+
//#region extensions/slack/src/action-runtime.ts
|
|
14
14
|
const messagingActions = /* @__PURE__ */ new Set([
|
|
15
15
|
"openConversation",
|
|
16
16
|
"sendMessage",
|
|
@@ -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-By7tvpvv.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-BEFP2ORi.mjs").then((n) => n.t));
|
|
37
37
|
const bindSlackChannelType = createLazyRuntimeMethodBinder(loadSlackChannelTypeRuntime);
|
|
38
38
|
const slackActionRuntime = {
|
|
39
39
|
deleteSlackMessage: bindSlackAction((runtime) => runtime.deleteSlackMessage),
|
|
@@ -620,4 +620,5 @@ async function handleSlackAction(params, cfg, context) {
|
|
|
620
620
|
}
|
|
621
621
|
throw new Error(`Unknown action: ${action}`);
|
|
622
622
|
}
|
|
623
|
+
//#endregion
|
|
623
624
|
export { slackActionRuntime as n, handleSlackAction as t };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-
|
|
2
|
-
import { h as resolveSlackBotToken, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-
|
|
3
|
-
import { n as formatSlackTarget } from "./target-parsing-
|
|
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-
|
|
5
|
-
import { _ as getSlackWriteClient, h as createSlackWriteClient, u as createSlackLookupClient } from "./probe-
|
|
6
|
-
import { m as buildSlackNativeDataDeliveryPlan, t as sendMessageSlack } from "./send-
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { h as resolveSlackBotToken, o as resolveDefaultSlackAccountId, s as resolveSlackAccount } from "./accounts-msihSF3-.mjs";
|
|
3
|
+
import { n as formatSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
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-Dv8wNBEt.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-C-8wY0lK.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";
|
|
@@ -20,7 +20,7 @@ import { normalizeHostname } from "openclaw/plugin-sdk/host-runtime";
|
|
|
20
20
|
import { resolveRequestUrl } from "openclaw/plugin-sdk/request-url";
|
|
21
21
|
import { raceWithTimeout } from "openclaw/plugin-sdk/time-runtime";
|
|
22
22
|
import { saveRemoteMedia, unlinkIfExists } from "openclaw/plugin-sdk/media-runtime";
|
|
23
|
-
|
|
23
|
+
//#region extensions/slack/src/conversation-open.ts
|
|
24
24
|
function parseSlackConversationOpenInput(userIds, teamId) {
|
|
25
25
|
const users = z.array(z.string().trim().regex(/^[UW][A-Z0-9]+$/)).min(1).max(8).parse(userIds);
|
|
26
26
|
if (new Set(users).size !== users.length) throw new Error("Slack conversation-open requires distinct userIds.");
|
|
@@ -42,7 +42,8 @@ async function openSlackConversationWithClient(client, input) {
|
|
|
42
42
|
})
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region extensions/slack/src/edit-text.ts
|
|
46
47
|
function buildSlackEditTextPayload(content, blocks) {
|
|
47
48
|
const trimmedContent = content.trim();
|
|
48
49
|
const blockText = blocks?.length ? buildSlackCompleteBlocksFallbackText(blocks).trim() : "";
|
|
@@ -55,7 +56,8 @@ function buildSlackEditTextPayload(content, blocks) {
|
|
|
55
56
|
if (blockText) return truncateSlackTextByUtf8Bytes(blockText, SLACK_EDIT_TEXT_MAX_BYTES);
|
|
56
57
|
return " ";
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region extensions/slack/src/monitor/block-text.ts
|
|
59
61
|
function hasSlackTableBlock(blocks) {
|
|
60
62
|
return blocks?.some((block) => asOptionalRecord(block)?.type === "table") ?? false;
|
|
61
63
|
}
|
|
@@ -130,7 +132,8 @@ function chooseSlackPrimaryText(params) {
|
|
|
130
132
|
if (blocksText.hasRichText && blocksText.text.length > messageText.length) return blocksText.text;
|
|
131
133
|
return blocksText.text.length > messageText.length && blocksText.text.startsWith(messageText) ? blocksText.text : messageText;
|
|
132
134
|
}
|
|
133
|
-
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region extensions/slack/src/file-reference.ts
|
|
134
137
|
function formatSlackFileReference(file) {
|
|
135
138
|
const name = normalizeOptionalString(file?.name) ?? "file";
|
|
136
139
|
const mimetype = normalizeOptionalString(file?.mimetype);
|
|
@@ -147,15 +150,18 @@ function formatSlackFileReferenceList(files) {
|
|
|
147
150
|
if (!files?.length) return "file";
|
|
148
151
|
return files.map((file) => formatSlackFileReference(file)).join(", ");
|
|
149
152
|
}
|
|
150
|
-
|
|
153
|
+
//#endregion
|
|
154
|
+
//#region extensions/slack/src/monitor/media.runtime.ts
|
|
151
155
|
const slackMediaLog = createSubsystemLogger("gateway/channels/slack").child("media");
|
|
152
|
-
|
|
156
|
+
//#endregion
|
|
157
|
+
//#region extensions/slack/src/monitor/slack-client-kind.ts
|
|
153
158
|
/** Detects the isolated GovSlack API plane without consulting mutable config. */
|
|
154
159
|
function isGovSlackClient(client) {
|
|
155
160
|
const apiUrl = client?.slackApiUrl ? URL.parse(client.slackApiUrl) : null;
|
|
156
161
|
return apiUrl?.protocol === "https:" && !apiUrl.port && normalizeHostname(apiUrl.hostname) === "slack-gov.com";
|
|
157
162
|
}
|
|
158
|
-
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region extensions/slack/src/monitor/media.ts
|
|
159
165
|
var media_exports = /* @__PURE__ */ __exportAll({
|
|
160
166
|
SLACK_MEDIA_READ_IDLE_TIMEOUT_MS: () => SLACK_MEDIA_READ_IDLE_TIMEOUT_MS,
|
|
161
167
|
resolveSlackAttachmentContent: () => resolveSlackAttachmentContent,
|
|
@@ -488,7 +494,8 @@ async function resolveSlackAttachmentContent(params) {
|
|
|
488
494
|
...unavailableFiles.length > 0 ? { files: unavailableFiles } : {}
|
|
489
495
|
};
|
|
490
496
|
}
|
|
491
|
-
|
|
497
|
+
//#endregion
|
|
498
|
+
//#region extensions/slack/src/actions.ts
|
|
492
499
|
var actions_exports = /* @__PURE__ */ __exportAll({
|
|
493
500
|
deleteSlackMessage: () => deleteSlackMessage,
|
|
494
501
|
downloadSlackFile: () => downloadSlackFile,
|
|
@@ -840,4 +847,5 @@ async function downloadSlackFile(fileId, opts) {
|
|
|
840
847
|
maxBytes: opts.maxBytes
|
|
841
848
|
}))?.[0] ?? null;
|
|
842
849
|
}
|
|
850
|
+
//#endregion
|
|
843
851
|
export { hasSlackTableBlock as C, buildSlackEditTextPayload as D, resolveSlackMessageText as E, hasSlackMessageTableBlock as S, resolveSlackBlocksText as T, media_exports as _, editSlackRenderedMessage as a, formatSlackFileReference as b, listSlackPins as c, reactSlackMessage as d, readSlackMessages as f, unpinSlackMessage as g, sendSlackMessage as h, editSlackMessage as i, listSlackReactions as l, removeSlackReaction as m, deleteSlackMessage as n, getSlackMemberInfo as o, removeOwnSlackReactions as p, downloadSlackFile as r, listSlackEmojis as s, actions_exports as t, pinSlackMessage as u, isGovSlackClient as v, isSlackUnfurlAttachment as w, formatSlackFileReferenceList as x, saveRemoteMedia as y };
|
package/dist/.setup/{approval-handler.runtime-BtRklemy.mjs → approval-handler.runtime-D8ArtDQt.mjs}
RENAMED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { a as parseSlackTarget } from "./target-parsing-
|
|
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-
|
|
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-
|
|
1
|
+
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
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-Dv8wNBEt.mjs";
|
|
3
|
+
import { g as getSlackListenerWriteClient } from "./probe-IiHogLQN.mjs";
|
|
4
|
+
import { s as resolveSlackReplyBlocks } from "./reply-blocks-Ca-raz2z.mjs";
|
|
5
|
+
import { t as sendMessageSlack } from "./send-C-8wY0lK.mjs";
|
|
6
|
+
import { n as runSlackApprovalMessageUpdate } from "./approval-message-updates-DT7XBPbV.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
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;
|
|
15
15
|
const SLACK_TEXT_OBJECT_MAX = 3e3;
|
|
16
16
|
function resolveHandlerContext(params) {
|
|
@@ -265,4 +265,5 @@ async function resolveApprovalChannel(client, target, teamId) {
|
|
|
265
265
|
if (!channelId) throw new Error("Slack approval DM did not return a channel id");
|
|
266
266
|
return `channel:${channelId}`;
|
|
267
267
|
}
|
|
268
|
+
//#endregion
|
|
268
269
|
export { slackApprovalNativeRuntime };
|
package/dist/.setup/{approval-message-updates-CpwbsEj6.mjs → approval-message-updates-DT7XBPbV.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { U as isSlackApprovalActionId, lt as decodeSlackApprovalAction } from "./session-status-
|
|
1
|
+
import { U as isSlackApprovalActionId, lt as decodeSlackApprovalAction } from "./session-status-Dv8wNBEt.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
|
|
5
5
|
const updates = new KeyedAsyncQueue();
|
|
6
6
|
function runSlackApprovalMessageUpdate(target, update) {
|
|
7
7
|
return updates.enqueue(JSON.stringify([
|
|
@@ -22,4 +22,5 @@ function hasSlackApprovalControl(blocks, approval) {
|
|
|
22
22
|
});
|
|
23
23
|
}) ?? false;
|
|
24
24
|
}
|
|
25
|
+
//#endregion
|
|
25
26
|
export { runSlackApprovalMessageUpdate as n, hasSlackApprovalControl as t };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { r as isSlackPluginAccountConfigured } from "./account-configured-
|
|
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-
|
|
3
|
-
import { a as parseSlackTarget, i as normalizeSlackMessagingTarget, n as formatSlackTarget, o as resolveSlackChannelId, r as looksLikeSlackTargetId, t as canonicalizeSlackApiTargetId } from "./target-parsing-
|
|
4
|
-
import { t as slackContextTargetsMatch } from "./targets-
|
|
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-
|
|
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-
|
|
8
|
-
import { n as resolveSlackReplyThreadTs, r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-
|
|
9
|
-
import { n as extractSlackToolSend, t as describeSlackMessageTool } from "./message-tool-api-
|
|
10
|
-
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-
|
|
11
|
-
import { t as getOptionalSlackRuntime } from "./runtime-
|
|
12
|
-
import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-
|
|
13
|
-
import { i as SLACK_CHANNEL } from "./channel.setup-
|
|
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-msihSF3-.mjs";
|
|
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
|
+
import { t as slackContextTargetsMatch } from "./targets-C6LZQL1Q.mjs";
|
|
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-Dv8wNBEt.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-Ca-raz2z.mjs";
|
|
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-BS5ekEA_.mjs";
|
|
10
|
+
import { n as resolveSlackChannelType, r as resolveSlackConversationInfo } from "./channel-type-BEFP2ORi.mjs";
|
|
11
|
+
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
12
|
+
import { n as slackPluginBase, r as slackSecurityAdapter, t as slackConfigAdapter } from "./shared-BhJHIZs1.mjs";
|
|
13
|
+
import { i as SLACK_CHANNEL } from "./channel.setup-CzFw73mU.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";
|
|
@@ -35,7 +35,7 @@ import { resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
|
|
|
35
35
|
import { normalizeLegacyInteractiveReply, normalizeMessagePresentation } from "openclaw/plugin-sdk/interactive-runtime";
|
|
36
36
|
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
37
37
|
import { readPositiveIntegerParam as readPositiveIntegerParam$1, readStringParam as readStringParam$1 } from "openclaw/plugin-sdk/param-readers";
|
|
38
|
-
|
|
38
|
+
//#region extensions/slack/src/approval-native.ts
|
|
39
39
|
function resolveSlackNativeSuppressionAccountId({ target, request }) {
|
|
40
40
|
return normalizeOptionalString(target.accountId) ?? normalizeOptionalString(request.request.turnSourceAccountId);
|
|
41
41
|
}
|
|
@@ -99,7 +99,7 @@ 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-D8ArtDQt.mjs")).slackApprovalNativeRuntime
|
|
103
103
|
})
|
|
104
104
|
});
|
|
105
105
|
const baseSlackNativeAdapter = baseSlackApprovalCapability.nativeAsync;
|
|
@@ -167,7 +167,8 @@ const slackApprovalCapability = {
|
|
|
167
167
|
}
|
|
168
168
|
} : void 0
|
|
169
169
|
};
|
|
170
|
-
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region extensions/slack/src/message-action-dispatch.ts
|
|
171
172
|
const SLACK_MESSAGE_ACTIONS = /* @__PURE__ */ new Map([
|
|
172
173
|
["reactions", "reactions"],
|
|
173
174
|
["delete", "deleteMessage"],
|
|
@@ -366,7 +367,8 @@ async function handleSlackMessageAction(params) {
|
|
|
366
367
|
}
|
|
367
368
|
throw new Error(`Action ${action} is not supported for provider ${providerId}.`);
|
|
368
369
|
}
|
|
369
|
-
|
|
370
|
+
//#endregion
|
|
371
|
+
//#region extensions/slack/src/channel-actions.ts
|
|
370
372
|
const SLACK_TOOL_DELIVERY_ACTIONS = /* @__PURE__ */ new Set([
|
|
371
373
|
"deleteMessage",
|
|
372
374
|
"editMessage",
|
|
@@ -376,7 +378,7 @@ const SLACK_TOOL_DELIVERY_ACTIONS = /* @__PURE__ */ new Set([
|
|
|
376
378
|
"unpinMessage",
|
|
377
379
|
"uploadFile"
|
|
378
380
|
]);
|
|
379
|
-
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
381
|
+
const loadSlackActionRuntime$1 = createLazyRuntimeModule(() => import("./action-runtime.runtime-vLxx_7s2.mjs"));
|
|
380
382
|
function resolveSlackActionContext(ctx, toolContext) {
|
|
381
383
|
if (!toolContext && !ctx.mediaAccess && !ctx.mediaLocalRoots && !ctx.mediaReadFile && !ctx.conversationReadOrigin && !ctx.requesterAccountId && !ctx.requesterSenderId && !ctx.assertDirectAdapterHandoff) return;
|
|
382
384
|
return {
|
|
@@ -427,7 +429,8 @@ function shouldUseWorkspaceAwareSlackActionSend(rawTarget, context) {
|
|
|
427
429
|
}
|
|
428
430
|
return false;
|
|
429
431
|
}
|
|
430
|
-
|
|
432
|
+
//#endregion
|
|
433
|
+
//#region extensions/slack/src/conversation-route-owner.ts
|
|
431
434
|
function prepareSlackConversationRouteOwner(params) {
|
|
432
435
|
const accountId = normalizeAccountId(params.accountId);
|
|
433
436
|
const accountConfig = resolveAccountEntry(params.cfg.channels?.slack?.accounts, accountId);
|
|
@@ -548,7 +551,8 @@ async function prepareSlackConversationRouteOwnersAsync(inputs, inspectBindings)
|
|
|
548
551
|
});
|
|
549
552
|
}
|
|
550
553
|
const slackConversationRouteOwners = { prepareConversationRouteOwnersAsync: prepareSlackConversationRouteOwnersAsync };
|
|
551
|
-
|
|
554
|
+
//#endregion
|
|
555
|
+
//#region extensions/slack/src/enterprise-user-route.ts
|
|
552
556
|
/** Resolve a workspace for a detached Enterprise DM without opening a conversation. */
|
|
553
557
|
async function resolveSlackEnterpriseUserTeamId(params) {
|
|
554
558
|
const account = resolveSlackAccount(params);
|
|
@@ -573,7 +577,8 @@ async function resolveSlackEnterpriseUserTeamId(params) {
|
|
|
573
577
|
if (!teamId) throw new Error("unsupported_enterprise_slack_delivery: recipient shares no verified installed workspace");
|
|
574
578
|
return teamId;
|
|
575
579
|
}
|
|
576
|
-
|
|
580
|
+
//#endregion
|
|
581
|
+
//#region extensions/slack/src/threading-tool-context.ts
|
|
577
582
|
function buildSlackThreadingToolContext(params) {
|
|
578
583
|
const account = resolveSlackAccount({
|
|
579
584
|
cfg: params.cfg,
|
|
@@ -603,23 +608,24 @@ function buildSlackThreadingToolContext(params) {
|
|
|
603
608
|
sameChannelThreadRequired: hasExplicitThreadTarget
|
|
604
609
|
};
|
|
605
610
|
}
|
|
606
|
-
|
|
611
|
+
//#endregion
|
|
612
|
+
//#region extensions/slack/src/channel.ts
|
|
607
613
|
const loadExtensionSharedSdk = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/extension-shared"));
|
|
608
614
|
const loadTargetResolverRuntimeSdk = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/target-resolver-runtime"));
|
|
609
|
-
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-
|
|
610
|
-
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-
|
|
615
|
+
const loadSlackScopesModule = createLazyRuntimeModule(() => import("./scopes-DfQVi8Jw.mjs"));
|
|
616
|
+
const loadSlackOutboundAdapterModule = createLazyRuntimeModule(() => import("./outbound-adapter-9dbnYtL1.mjs"));
|
|
611
617
|
const bindSlackOutbound = createLazyRuntimeMethodBinder(loadSlackOutboundAdapterModule);
|
|
612
618
|
async function resolveSlackHandleAction() {
|
|
613
619
|
return getOptionalSlackRuntime()?.channel?.slack?.handleSlackAction ?? (await loadSlackActionRuntime()).handleSlackAction;
|
|
614
620
|
}
|
|
615
|
-
const loadSlackDirectoryConfigModule = createLazyRuntimeModule(() => import("./directory-config-
|
|
616
|
-
const loadSlackResolveChannelsModule = createLazyRuntimeModule(() => import("./resolve-channels-
|
|
617
|
-
const loadSlackResolveUsersModule = createLazyRuntimeModule(() => import("./resolve-users-
|
|
618
|
-
const loadSlackActionRuntime = createLazyRuntimeModule(() => import("./action-runtime.runtime-
|
|
619
|
-
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-
|
|
620
|
-
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-
|
|
621
|
-
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-
|
|
622
|
-
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-vLxx_7s2.mjs"));
|
|
625
|
+
const loadSlackSendRuntime = createLazyRuntimeModule(() => import("./send-C-8wY0lK.mjs").then((n) => n.n));
|
|
626
|
+
const loadSlackProbeModule = createLazyRuntimeModule(() => import("./probe-IiHogLQN.mjs").then((n) => n.n));
|
|
627
|
+
const loadSlackMonitorModule = createLazyRuntimeModule(() => import("./monitor-CV6Z6FKP.mjs").then((n) => n.t));
|
|
628
|
+
const loadSlackDirectoryLiveModule = createLazyRuntimeModule(() => import("./directory-live-BIKD-5B_.mjs").then((n) => n.t));
|
|
623
629
|
async function setSlackHeartbeatThreadStatus(params) {
|
|
624
630
|
const threadTs = resolveSlackThreadTsValue({ threadId: params.threadId });
|
|
625
631
|
const target = parseSlackTarget(params.to, { defaultKind: "channel" });
|
|
@@ -1155,4 +1161,5 @@ const slackPlugin = createChatChannelPlugin({
|
|
|
1155
1161
|
},
|
|
1156
1162
|
outbound: slackChannelOutbound
|
|
1157
1163
|
});
|
|
1164
|
+
//#endregion
|
|
1158
1165
|
export { buildSlackThreadingToolContext as n, slackPlugin as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
//#region extensions/slack/src/channel-meta.ts
|
|
2
2
|
const SLACK_CHANNEL_META = {
|
|
3
3
|
id: "slack",
|
|
4
4
|
label: "Slack",
|
|
@@ -23,4 +23,5 @@ const DEFAULT_SLACK_SUGGESTED_PROMPTS = [
|
|
|
23
23
|
message: "Help me draft a reply."
|
|
24
24
|
}
|
|
25
25
|
];
|
|
26
|
+
//#endregion
|
|
26
27
|
export { SLACK_CHANNEL_META as n, DEFAULT_SLACK_SUGGESTED_PROMPTS as t };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-
|
|
2
|
-
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-
|
|
3
|
-
import { m as assertSlackDetachedTargetAllowed } from "./session-status-
|
|
4
|
-
import { d as createSlackReadClient, m as createSlackWebClient, y as readLruMapEntry } from "./probe-
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-msihSF3-.mjs";
|
|
3
|
+
import { m as assertSlackDetachedTargetAllowed } from "./session-status-Dv8wNBEt.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";
|
|
8
8
|
import { createHash } from "node:crypto";
|
|
9
|
-
|
|
9
|
+
//#region extensions/slack/src/channel-type.ts
|
|
10
10
|
var channel_type_exports = /* @__PURE__ */ __exportAll({
|
|
11
11
|
resolveSlackChannelType: () => resolveSlackChannelType,
|
|
12
12
|
resolveSlackConversationInfo: () => resolveSlackConversationInfo
|
|
@@ -94,4 +94,5 @@ async function resolveSlackConversationInfo(params) {
|
|
|
94
94
|
async function resolveSlackChannelType(params) {
|
|
95
95
|
return (await resolveSlackConversationInfo(params)).type;
|
|
96
96
|
}
|
|
97
|
+
//#endregion
|
|
97
98
|
export { resolveSlackChannelType as n, resolveSlackConversationInfo as r, channel_type_exports as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as isSlackSetupAccountConfigured } from "./account-configured-
|
|
2
|
-
import { i as listSlackAccountIds, o as resolveDefaultSlackAccountId, s as resolveSlackAccount, u as resolveSlackConfigAccessorAccount } from "./accounts-
|
|
3
|
-
import { t as inspectSlackAccount } from "./account-inspect-
|
|
4
|
-
import { t as DEFAULT_SLACK_SUGGESTED_PROMPTS } from "./channel-meta-
|
|
5
|
-
import { t as SlackChannelConfigSchema } from "./config-schema-
|
|
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-msihSF3-.mjs";
|
|
3
|
+
import { t as inspectSlackAccount } from "./account-inspect-CmkKiSb9.mjs";
|
|
4
|
+
import { t as DEFAULT_SLACK_SUGGESTED_PROMPTS } from "./channel-meta-C443t-lI.mjs";
|
|
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";
|
|
@@ -13,7 +13,7 @@ import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
|
|
|
13
13
|
import { createChannelDmPolicy } from "openclaw/plugin-sdk/channel-dm-policy";
|
|
14
14
|
import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
|
|
15
15
|
import { patchTopLevelChannelConfigSection } from "openclaw/plugin-sdk/setup";
|
|
16
|
-
|
|
16
|
+
//#region extensions/slack/src/setup-shared.ts
|
|
17
17
|
const SLACK_CHANNEL = "slack";
|
|
18
18
|
function buildSlackAllowFromPrompt() {
|
|
19
19
|
const t = createSetupTranslator();
|
|
@@ -150,7 +150,8 @@ function describeSlackSetupAccount(account) {
|
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
|
-
|
|
153
|
+
//#endregion
|
|
154
|
+
//#region extensions/slack/src/config-adapter.ts
|
|
154
155
|
const slackBaseConfigAdapter = createScopedChannelConfigAdapter({
|
|
155
156
|
sectionKey: SLACK_CHANNEL,
|
|
156
157
|
listAccountIds: listSlackAccountIds,
|
|
@@ -168,7 +169,8 @@ const slackBaseConfigAdapter = createScopedChannelConfigAdapter({
|
|
|
168
169
|
formatAllowFrom: (allowFrom) => formatAllowFromLowercase({ allowFrom }),
|
|
169
170
|
resolveDefaultTo: (account) => account.defaultTo
|
|
170
171
|
});
|
|
171
|
-
|
|
172
|
+
//#endregion
|
|
173
|
+
//#region extensions/slack/src/setup-core.ts
|
|
172
174
|
const t = createSetupTranslator();
|
|
173
175
|
function enableSlackAccount(cfg, accountId) {
|
|
174
176
|
return patchChannelConfigForAccount({
|
|
@@ -532,7 +534,8 @@ function createSlackSetupWizardProxy(loadWizard) {
|
|
|
532
534
|
fallbackResolvedGroupAllowlist: (entries) => entries
|
|
533
535
|
});
|
|
534
536
|
}
|
|
535
|
-
|
|
537
|
+
//#endregion
|
|
538
|
+
//#region extensions/slack/src/channel.setup.ts
|
|
536
539
|
const slackSetupPlugin = {
|
|
537
540
|
id: SLACK_CHANNEL,
|
|
538
541
|
meta: {
|
|
@@ -547,7 +550,7 @@ const slackSetupPlugin = {
|
|
|
547
550
|
markdownCapable: true,
|
|
548
551
|
preferSessionLookupForAnnounceTarget: true
|
|
549
552
|
},
|
|
550
|
-
setupWizard: createSlackSetupWizardProxy(() => import("./setup-surface
|
|
553
|
+
setupWizard: createSlackSetupWizardProxy(() => import("./setup-surface--n8VsDvV.mjs")),
|
|
551
554
|
capabilities: {
|
|
552
555
|
chatTypes: [
|
|
553
556
|
"direct",
|
|
@@ -625,4 +628,5 @@ const slackSetupPlugin = {
|
|
|
625
628
|
},
|
|
626
629
|
setupContract: slackSetupContract
|
|
627
630
|
};
|
|
631
|
+
//#endregion
|
|
628
632
|
export { buildSlackAllowFromPrompt as a, SLACK_CHANNEL as i, createSlackSetupWizardBase as n, slackBaseConfigAdapter as r, slackSetupPlugin as t };
|
|
@@ -2,7 +2,7 @@ import { buildSecretInputSchema, hasConfiguredSecretInput } from "openclaw/plugi
|
|
|
2
2
|
import { createChannelConfigUiHints } from "openclaw/plugin-sdk/channel-core";
|
|
3
3
|
import { ChannelBotLoopProtectionSchema, ChannelDangerouslyAllowNameMatchingSchema, ChannelImplicitMentionsSchema, ChannelPreviewStreamingConfigSchema, ChannelStreamingProgressSchema, ProviderCommandsSchema, ReplyToModeSchema, buildChannelAccountSchemaParts, buildChannelAllowBotsSchema, buildChannelConfigSchema, buildChannelExecApprovalsSchema, buildChannelReactionShape, buildGroupEntrySchema, refineChannelDmPolicy } from "openclaw/plugin-sdk/channel-config-schema";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
-
|
|
5
|
+
//#region extensions/slack/src/config-ui-hints.ts
|
|
6
6
|
const observedGroupHistoryHint = { help: "Automatic observed-message context uses a default of 50 and a maximum of 200 messages; 0 disables automatic injection. The JSON integer maximum selects the 50-message default. Session transcript trimming separately counts user turns, where 0 means no trimming. The observed-message cap does not rewrite saved values." };
|
|
7
7
|
const observedDmHistoryHint = { help: "Automatic observed-DM context uses a default of 0 and a maximum of 200 messages; 0 disables that extra context. The JSON integer maximum selects the 0-message default. Session transcript trimming separately counts user turns, where 0 means no trimming. The observed-message cap does not rewrite saved values." };
|
|
8
8
|
const botThreadMentionHint = {
|
|
@@ -174,7 +174,8 @@ const slackChannelConfigUiHints = {
|
|
|
174
174
|
help: "Maximum number of existing Slack thread messages to fetch when starting a new thread session (default: 20, set to 0 to disable)."
|
|
175
175
|
}
|
|
176
176
|
};
|
|
177
|
-
|
|
177
|
+
//#endregion
|
|
178
|
+
//#region extensions/slack/src/config-schema.ts
|
|
178
179
|
const SecretInputSchema = buildSecretInputSchema();
|
|
179
180
|
const SLACK_PRESENCE_EVENT_PROMPT_MAX_CHARS = 2e4;
|
|
180
181
|
const SlackStreamingProgressSchema = ChannelStreamingProgressSchema.extend({
|
|
@@ -373,4 +374,5 @@ const SlackConfigSchema = SlackAccountSchema.safeExtend({
|
|
|
373
374
|
validateSlackSigningSecretRequirements(value, ctx);
|
|
374
375
|
});
|
|
375
376
|
const SlackChannelConfigSchema = buildChannelConfigSchema(SlackConfigSchema, { uiHints: slackChannelConfigUiHints });
|
|
377
|
+
//#endregion
|
|
376
378
|
export { SlackChannelConfigSchema as t };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-
|
|
2
|
-
import { a as mergeSlackAccountConfig, c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-
|
|
3
|
-
import { a as parseSlackTarget } from "./target-parsing-
|
|
4
|
-
import "./targets-
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { a as mergeSlackAccountConfig, c as resolveSlackAccountAllowFrom, o as resolveDefaultSlackAccountId } from "./accounts-msihSF3-.mjs";
|
|
3
|
+
import { a as parseSlackTarget } from "./target-parsing-FFE26kOV.mjs";
|
|
4
|
+
import "./targets-C6LZQL1Q.mjs";
|
|
5
5
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
6
6
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
7
|
import { createResolvedDirectoryEntriesLister } from "openclaw/plugin-sdk/directory-config-runtime";
|
|
8
|
-
|
|
8
|
+
//#region extensions/slack/src/directory-config.ts
|
|
9
9
|
var directory_config_exports = /* @__PURE__ */ __exportAll({
|
|
10
10
|
listSlackDirectoryGroupsFromConfig: () => listSlackDirectoryGroupsFromConfig,
|
|
11
11
|
listSlackDirectoryPeersFromConfig: () => listSlackDirectoryPeersFromConfig
|
|
@@ -48,4 +48,5 @@ const listSlackDirectoryGroupsFromConfig = createResolvedDirectoryEntriesLister(
|
|
|
48
48
|
return normalized?.kind === "channel" ? `channel:${normalizeLowercaseStringOrEmpty(normalized.id)}` : null;
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
+
//#endregion
|
|
51
52
|
export { listSlackDirectoryGroupsFromConfig as n, listSlackDirectoryPeersFromConfig as r, directory_config_exports as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-
|
|
2
|
-
import { s as resolveSlackAccount } from "./accounts-
|
|
3
|
-
import { c as collectSlackCursorPages, l as fetchSlackChannelListPage, u as createSlackLookupClient } from "./probe-
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
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({
|
|
7
7
|
getSlackDirectorySelfLive: () => getSlackDirectorySelfLive,
|
|
8
8
|
listSlackDirectoryGroupsLive: () => listSlackDirectoryGroupsLive,
|
|
@@ -97,4 +97,5 @@ const listSlackDirectoryGroupsLive = createSlackDirectoryLister({
|
|
|
97
97
|
} : null;
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
|
+
//#endregion
|
|
100
101
|
export { listSlackDirectoryGroupsLive as n, listSlackDirectoryPeersLive as r, directory_live_exports as t };
|