@openclaw/slack 2026.8.1-beta.3 → 2026.8.1
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/account-configured-sUohAxZr.js +33 -0
- package/dist/account-inspect-CN2hBsim.js +87 -0
- package/dist/account-inspect-api.js +1 -1
- package/dist/{accounts-BlzxuYle.js → accounts-Dm_H77gH.js} +7 -10
- package/dist/{accounts.runtime-CbabBL8x.js → accounts.runtime-DRuEK6mL.js} +1 -1
- package/dist/{action-runtime-D6jg2CQd.js → action-runtime-044ldvNL.js} +53 -48
- package/dist/action-runtime.runtime-BL3KzX13.js +2 -0
- package/dist/{actions-DFk0ANVB.js → actions-BI7JkfVm.js} +266 -96
- package/dist/api.js +12 -12
- package/dist/{approval-handler.runtime-BNvAoKdK.js → approval-handler.runtime-DYv0UIZS.js} +53 -176
- package/dist/{channel-CA5w7qDF.js → channel-1vIJOzPx.js} +77 -142
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel-type-CZWv55Wu.js → channel-type-DlFSKeIZ.js} +3 -3
- package/dist/{channel.setup-CpyYsEXH.js → channel.setup-ofDi3_Pu.js} +34 -49
- package/dist/{config-schema-CN3XZRX5.js → config-schema-BVIMyiDN.js} +19 -12
- package/dist/configured-state.js +34 -0
- package/dist/{directory-config-BGYyuzWh.js → directory-config-DqfQ42OV.js} +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/{directory-live-DjUJQLbq.js → directory-live-BPaNHjmP.js} +2 -2
- package/dist/{group-policy-DyfB_ZIE.js → group-policy-BdwszjYn.js} +581 -743
- package/dist/{message-tool-api-CqMr5Rmc.js → message-tool-api-CJ0kjcg5.js} +23 -5
- package/dist/message-tool-api.js +1 -1
- package/dist/{monitor-Chrecrb9.js → monitor-Dq5Cmrvp.js} +3 -3
- package/dist/{outbound-adapter-DuRqAQXK.js → outbound-adapter-DYaI8ThX.js} +93 -68
- package/dist/{pipeline.runtime-Bbfd5VFW.js → pipeline.runtime-Bd22U0ga.js} +128 -160
- package/dist/{policy-BKXSxrIS.js → policy-CtQVbde1.js} +2 -1
- package/dist/{probe-BVA65leh.js → probe-0usmAb0i.js} +209 -22
- package/dist/{provider-CUUiwsg2.js → provider-CN_8hFv2.js} +243 -146
- package/dist/{relay-source-mhpMMRG-.js → relay-source-BNGpsdwV.js} +1 -1
- package/dist/{replies-SnWyXcsL.js → replies-BSiRQOJ1.js} +15 -5
- package/dist/{resolve-channels-BSpqC8jU.js → resolve-channels-Czheznc8.js} +1 -1
- package/dist/{resolve-users-Dvz9pDe0.js → resolve-users-BAOlNimr.js} +1 -1
- package/dist/runtime-api.js +11 -11
- package/dist/{scopes-BSk4GZvZ.js → scopes-COSlmhnH.js} +1 -1
- package/dist/{send-CtnOxKCc.js → send-DS9ICrBI.js} +39 -31
- package/dist/send-results-eeOu_HYm.js +23 -0
- package/dist/{send.runtime-kYctMHSd.js → send.runtime-D_Bb6IuH.js} +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-BPFfp6So.js → setup-surface-BGnd2pSe.js} +6 -6
- package/dist/{shared-DJBaslN7.js → shared-D5B-5hBg.js} +26 -6
- package/dist/{slash-dispatch.runtime-Cf2FTrnf.js → slash-dispatch.runtime-CilDmI0c.js} +3 -3
- package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/child_process.d.ts +0 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +6 -6
- package/node_modules/@slack/bolt/node_modules/@types/node/dns/promises.d.ts +5 -5
- package/node_modules/@slack/bolt/node_modules/@types/node/dns.d.ts +5 -5
- package/node_modules/@slack/bolt/node_modules/@types/node/fs.d.ts +7 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/http.d.ts +30 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/http2.d.ts +4 -4
- package/node_modules/@slack/bolt/node_modules/@types/node/os.d.ts +30 -30
- package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/bolt/node_modules/@types/node/perf_hooks.d.ts +2 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/process.d.ts +42 -43
- package/node_modules/@slack/bolt/node_modules/@types/node/quic.d.ts +1049 -84
- package/node_modules/@slack/bolt/node_modules/@types/node/sqlite.d.ts +14 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/stream/iter.d.ts +3 -2
- package/node_modules/@slack/bolt/node_modules/@types/node/test.d.ts +61 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/v8.d.ts +20 -23
- package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/README.md +2 -0
- package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +20 -0
- package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/dist/index.js +20 -14
- package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -1
- package/node_modules/@slack/bolt/node_modules/body-parser/node_modules/content-type/package.json +1 -1
- package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/README.md +2 -0
- package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.d.ts +20 -0
- package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js +20 -14
- package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -1
- package/node_modules/@slack/bolt/node_modules/type-is/node_modules/content-type/package.json +1 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/child_process.d.ts +0 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/crypto.d.ts +6 -6
- package/node_modules/@slack/socket-mode/node_modules/@types/node/dns/promises.d.ts +5 -5
- package/node_modules/@slack/socket-mode/node_modules/@types/node/dns.d.ts +5 -5
- package/node_modules/@slack/socket-mode/node_modules/@types/node/fs.d.ts +7 -0
- package/node_modules/@slack/socket-mode/node_modules/@types/node/http.d.ts +30 -0
- package/node_modules/@slack/socket-mode/node_modules/@types/node/http2.d.ts +4 -4
- package/node_modules/@slack/socket-mode/node_modules/@types/node/os.d.ts +30 -30
- package/node_modules/@slack/socket-mode/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/socket-mode/node_modules/@types/node/perf_hooks.d.ts +2 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/process.d.ts +42 -43
- package/node_modules/@slack/socket-mode/node_modules/@types/node/quic.d.ts +1049 -84
- package/node_modules/@slack/socket-mode/node_modules/@types/node/sqlite.d.ts +14 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/stream/iter.d.ts +3 -2
- package/node_modules/@slack/socket-mode/node_modules/@types/node/test.d.ts +61 -0
- package/node_modules/@slack/socket-mode/node_modules/@types/node/v8.d.ts +20 -23
- package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/child_process.d.ts +0 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +6 -6
- package/node_modules/@slack/web-api/node_modules/@types/node/dns/promises.d.ts +5 -5
- package/node_modules/@slack/web-api/node_modules/@types/node/dns.d.ts +5 -5
- package/node_modules/@slack/web-api/node_modules/@types/node/fs.d.ts +7 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/http.d.ts +30 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +4 -4
- package/node_modules/@slack/web-api/node_modules/@types/node/os.d.ts +30 -30
- package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/perf_hooks.d.ts +2 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +42 -43
- package/node_modules/@slack/web-api/node_modules/@types/node/quic.d.ts +1049 -84
- package/node_modules/@slack/web-api/node_modules/@types/node/sqlite.d.ts +14 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/stream/iter.d.ts +3 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +61 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/v8.d.ts +20 -23
- package/node_modules/typebox/build/format/date.d.mts +1 -1
- package/node_modules/typebox/build/format/date.mjs +1 -1
- package/node_modules/typebox/build/format/date_time.d.mts +2 -2
- package/node_modules/typebox/build/format/date_time.mjs +3 -3
- package/node_modules/typebox/build/format/email.d.mts +1 -1
- package/node_modules/typebox/build/format/email.mjs +2 -2
- package/node_modules/typebox/build/format/hostname.mjs +2 -10
- package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
- package/node_modules/typebox/build/format/idn_email.mjs +3 -3
- package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
- package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
- package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
- package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
- package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
- package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
- package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
- package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
- package/node_modules/typebox/build/format/idna/index.mjs +2 -0
- package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
- package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
- package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
- package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
- package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
- package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
- package/node_modules/typebox/build/format/ipv4.mjs +2 -32
- package/node_modules/typebox/build/format/ipv6.mjs +2 -61
- package/node_modules/typebox/build/format/iri.d.mts +2 -2
- package/node_modules/typebox/build/format/iri.mjs +26 -8
- package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
- package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
- package/node_modules/typebox/build/format/regex.d.mts +1 -2
- package/node_modules/typebox/build/format/regex.mjs +2 -6
- package/node_modules/typebox/build/format/time.d.mts +2 -2
- package/node_modules/typebox/build/format/time.mjs +19 -14
- package/node_modules/typebox/build/format/uri.d.mts +1 -1
- package/node_modules/typebox/build/format/uri.mjs +3 -130
- package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
- package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
- package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
- package/node_modules/typebox/build/format/uri_template.mjs +4 -5
- package/node_modules/typebox/build/format/url.d.mts +3 -3
- package/node_modules/typebox/build/format/url.mjs +4 -5
- package/node_modules/typebox/build/guard/emit.d.mts +3 -1
- package/node_modules/typebox/build/guard/emit.mjs +12 -5
- package/node_modules/typebox/build/guard/guard.d.mts +8 -2
- package/node_modules/typebox/build/guard/guard.mjs +25 -4
- package/node_modules/typebox/build/guard/string.d.mts +2 -2
- package/node_modules/typebox/build/guard/string.mjs +7 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
- package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
- package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
- package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
- package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
- package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
- package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
- package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
- package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
- package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
- package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
- package/node_modules/typebox/build/schema/types/index.mjs +0 -2
- package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
- package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
- package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
- package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
- package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
- package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
- package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
- package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
- package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
- package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
- package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
- package/node_modules/typebox/build/type/script/parser.mjs +27 -23
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
- package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
- package/node_modules/typebox/package.json +27 -27
- package/node_modules/typebox/readme.md +79 -82
- package/node_modules/ws/lib/permessage-deflate.js +3 -1
- package/node_modules/ws/package.json +1 -1
- package/openclaw.plugin.json +14 -6
- package/package.json +9 -7
- package/dist/account-configured-BwfXBo_F.js +0 -14
- package/dist/account-inspect-YJvFBbCR.js +0 -89
- package/dist/action-runtime.runtime-JtoOK9l5.js +0 -2
- package/dist/actions.runtime-CYLsYRai.js +0 -2
- package/dist/runtime-api-DBi7xc_g.js +0 -10
- package/dist/slack-client-kind-BXyOOICI.js +0 -94
- package/node_modules/typebox/build/format/_idna.d.mts +0 -2
- package/node_modules/typebox/build/format/_idna.mjs +0 -246
- package/node_modules/typebox/build/format/_puny.d.mts +0 -1
- package/node_modules/typebox/build/format/_puny.mjs +0 -77
- package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
- package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
- package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
- package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
- package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
- package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
2
|
import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-BnMD2ZqZ.js";
|
|
3
|
-
import {
|
|
3
|
+
import { h as createSlackLookupClient } from "./probe-0usmAb0i.js";
|
|
4
4
|
import { t as collectSlackCursorPages } from "./cursor-pages-eX7p8Wwt.js";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { resolveDirectoryAllowlistEntries } from "openclaw/plugin-sdk/directory-runtime";
|
package/dist/runtime-api.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-CLp4obpN.js";
|
|
2
|
-
import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./accounts-
|
|
3
|
-
import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./group-policy-
|
|
4
|
-
import { t as probeSlack } from "./probe-
|
|
2
|
+
import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./accounts-Dm_H77gH.js";
|
|
3
|
+
import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./group-policy-BdwszjYn.js";
|
|
4
|
+
import { t as probeSlack } from "./probe-0usmAb0i.js";
|
|
5
5
|
import { r as setSlackRuntime } from "./runtime-JSVZSWAj.js";
|
|
6
|
-
import {
|
|
7
|
-
import { r as sendMessageSlack } from "./send-
|
|
8
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
9
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
10
|
-
import { t as monitorSlackProvider } from "./provider-
|
|
11
|
-
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-
|
|
12
|
-
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-
|
|
13
|
-
import "./monitor-
|
|
6
|
+
import { c as listSlackPins, d as reactSlackMessage, f as readSlackMessages, g as unpinSlackMessage, h as sendSlackMessage, i as editSlackMessage, l as listSlackReactions, m as removeSlackReaction, n as deleteSlackMessage, o as getSlackMemberInfo, p as removeOwnSlackReactions, s as listSlackEmojis, u as pinSlackMessage } from "./actions-BI7JkfVm.js";
|
|
7
|
+
import { r as sendMessageSlack } from "./send-DS9ICrBI.js";
|
|
8
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-Czheznc8.js";
|
|
9
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-BAOlNimr.js";
|
|
10
|
+
import { t as monitorSlackProvider } from "./provider-CN_8hFv2.js";
|
|
11
|
+
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-044ldvNL.js";
|
|
12
|
+
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-BPaNHjmP.js";
|
|
13
|
+
import "./monitor-Dq5Cmrvp.js";
|
|
14
14
|
export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, registerSlackPluginHttpRoutes, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as createSlackReadClient, o as formatSlackError } from "./probe-0usmAb0i.js";
|
|
2
2
|
import { isRecord, normalizeOptionalString, normalizeStringEntries, sortUniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
//#region extensions/slack/src/scopes.ts
|
|
4
4
|
function collectScopes(value, into) {
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-
|
|
1
|
+
import { a as resolveSlackAccount, l as resolveSlackOperationToken } from "./accounts-Dm_H77gH.js";
|
|
2
2
|
import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-BnMD2ZqZ.js";
|
|
3
|
-
import {
|
|
3
|
+
import { A as SLACK_MESSAGE_TEXT_HARD_LIMIT, D as renderSlackBlockFallbackText, E as buildSlackCompleteBlocksFallbackText, L as truncateSlackText, M as SLACK_TEXT_LIMIT, R as truncateSlackTextByUtf8Bytes, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as appendSlackNativeDataPlainTextFallback, b as hasSlackNativeDataBlock, c as assertSlackDetachedTargetAllowed, j as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, k as SLACK_EDIT_TEXT_MAX_BYTES, q as resolveSlackQuestionActionIds, st as validateSlackBlocksArray, v as buildSlackNativeDataAccessibilityText, w as stripSlackNativeDataBlocks, x as isSlackInvalidBlocksError, y as createSlackNativeDataBaseTextConsumer, z as SLACK_QUESTION_FINALIZATION_BLOCKS } from "./group-policy-BdwszjYn.js";
|
|
4
4
|
import { n as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-DUGhaYKq.js";
|
|
5
|
-
import {
|
|
5
|
+
import { S as getSlackWriteClient, g as createSlackReadClient, o as formatSlackError, v as createSlackTokenCacheKey } from "./probe-0usmAb0i.js";
|
|
6
6
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.js";
|
|
7
|
-
import {
|
|
8
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
|
+
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
8
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
10
9
|
import { logVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
|
|
11
10
|
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
12
11
|
import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
|
|
12
|
+
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
13
|
+
import { resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
|
|
13
14
|
import { sliceUtf16Safe, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
14
15
|
import { createHash, createHmac } from "node:crypto";
|
|
15
16
|
import { withTrustedEnvProxyGuardedFetchMode } from "openclaw/plugin-sdk/fetch-runtime";
|
|
16
17
|
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
17
18
|
import { PlatformMessageNotDispatchedError, extractErrorCode, readErrorName } from "openclaw/plugin-sdk/error-runtime";
|
|
18
19
|
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
19
|
-
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
20
20
|
import { chunkMarkdownTextWithMode, resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
|
|
21
|
-
import { resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
|
|
22
21
|
import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
|
|
23
22
|
import { buildTimeoutAbortSignal } from "openclaw/plugin-sdk/extension-shared";
|
|
24
23
|
import { extensionForMime } from "openclaw/plugin-sdk/media-mime";
|
|
24
|
+
import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
|
|
25
25
|
import { retryAsync } from "openclaw/plugin-sdk/retry-runtime";
|
|
26
26
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
27
27
|
import { createPersistentDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
|
|
@@ -231,6 +231,16 @@ const SLACK_DNS_RETRY_CODES = /* @__PURE__ */ new Set([
|
|
|
231
231
|
]);
|
|
232
232
|
const SLACK_DNS_RETRY_ATTEMPTS = 2;
|
|
233
233
|
const SLACK_DNS_RETRY_BASE_DELAY_MS = 250;
|
|
234
|
+
function rethrowSlackPermanentOutboundApiRejection(err) {
|
|
235
|
+
const rawData = isRecord(err) && err.code === "slack_webapi_platform_error" ? err.data : void 0;
|
|
236
|
+
const data = isRecord(rawData) ? rawData : void 0;
|
|
237
|
+
const code = data?.error;
|
|
238
|
+
if (data?.ok === false && (code === "messages_tab_disabled" || code === "account_inactive")) throw new PlatformMessageNotDispatchedError(`Slack outbound delivery rejected: ${code}`, {
|
|
239
|
+
cause: err,
|
|
240
|
+
retryable: false
|
|
241
|
+
});
|
|
242
|
+
throw err;
|
|
243
|
+
}
|
|
234
244
|
function readSlackRequestErrorCode(value) {
|
|
235
245
|
if (!value || typeof value !== "object") return;
|
|
236
246
|
const code = value.code;
|
|
@@ -348,7 +358,7 @@ async function postSlackMessageBestEffort(params) {
|
|
|
348
358
|
const basePayload = buildSlackPostMessagePayload(params);
|
|
349
359
|
const postChatMessage = params.client.chat.postMessage.bind(params.client.chat);
|
|
350
360
|
const post = async (payload, identity) => ({
|
|
351
|
-
response: await withSlackDnsRequestRetry("chat.postMessage", () => postChatMessage(payload)),
|
|
361
|
+
response: await withSlackDnsRequestRetry("chat.postMessage", () => postChatMessage(payload)).catch(rethrowSlackPermanentOutboundApiRejection),
|
|
352
362
|
identity
|
|
353
363
|
});
|
|
354
364
|
const posted = await postSlackMessageWithIdentityFallback({
|
|
@@ -378,7 +388,7 @@ async function uploadSlackFile(params) {
|
|
|
378
388
|
const uploadUrlResp = await withSlackDnsRequestRetry("files.getUploadURLExternal", () => params.client.files.getUploadURLExternal({
|
|
379
389
|
filename: uploadFileName,
|
|
380
390
|
length: buffer.length
|
|
381
|
-
}));
|
|
391
|
+
})).catch(rethrowSlackPermanentOutboundApiRejection);
|
|
382
392
|
if (!uploadUrlResp.ok || !uploadUrlResp.upload_url || !uploadUrlResp.file_id) throw new Error(`Failed to get upload URL: ${uploadUrlResp.error ?? "unknown error"}`);
|
|
383
393
|
const uploadFileId = uploadUrlResp.file_id;
|
|
384
394
|
const uploadTransport = resolveSlackUploadTransportPolicy({
|
|
@@ -620,6 +630,18 @@ function createSlackSendReceipt(params) {
|
|
|
620
630
|
threadId: params.threadTs
|
|
621
631
|
});
|
|
622
632
|
}
|
|
633
|
+
function createSlackSendReceiptFromResults(results, threadTs) {
|
|
634
|
+
const receipt = createMessageReceiptFromOutboundResults({
|
|
635
|
+
results,
|
|
636
|
+
threadId: threadTs
|
|
637
|
+
});
|
|
638
|
+
const thread = threadTs ? { threadId: threadTs } : {};
|
|
639
|
+
for (const [index, part] of receipt.parts.entries()) Object.assign(part, {
|
|
640
|
+
index,
|
|
641
|
+
...thread
|
|
642
|
+
});
|
|
643
|
+
return Object.assign(receipt, thread);
|
|
644
|
+
}
|
|
623
645
|
function resolveToken(params) {
|
|
624
646
|
const explicit = normalizeOptionalString(params.explicit);
|
|
625
647
|
if (explicit) return explicit;
|
|
@@ -766,7 +788,7 @@ async function resolveChannelId(client, recipient, params) {
|
|
|
766
788
|
isDm: true,
|
|
767
789
|
cacheHit: true
|
|
768
790
|
};
|
|
769
|
-
const channelId = (await withSlackDnsRequestRetry("conversations.open", () => client.conversations.open({ users: recipient.id }))).channel?.id;
|
|
791
|
+
const channelId = (await withSlackDnsRequestRetry("conversations.open", () => client.conversations.open({ users: recipient.id })).catch(rethrowSlackPermanentOutboundApiRejection)).channel?.id;
|
|
770
792
|
if (!channelId) throw new Error("Failed to open Slack DM channel");
|
|
771
793
|
setSlackDmChannelCache(cache, cacheKey, channelId);
|
|
772
794
|
return {
|
|
@@ -1101,6 +1123,7 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1101
1123
|
accountId: account.accountId,
|
|
1102
1124
|
token: delivery.credential
|
|
1103
1125
|
});
|
|
1126
|
+
const deliveredResults = [];
|
|
1104
1127
|
const reportDelivery = async (result, deliveredBlocks) => {
|
|
1105
1128
|
const slackQuestionActionIds = resolveSlackQuestionActionIds(deliveredBlocks);
|
|
1106
1129
|
const deliveryResult = slackQuestionActionIds.length ? {
|
|
@@ -1111,6 +1134,7 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1111
1134
|
[SLACK_QUESTION_FINALIZATION_BLOCKS]: deliveredBlocks.filter((block) => block.type !== "actions")
|
|
1112
1135
|
}
|
|
1113
1136
|
} : result;
|
|
1137
|
+
deliveredResults.push(deliveryResult);
|
|
1114
1138
|
await opts.onDeliveryResult?.(deliveryResult);
|
|
1115
1139
|
return deliveryResult;
|
|
1116
1140
|
};
|
|
@@ -1140,7 +1164,6 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1140
1164
|
const rawBlockAccessibilityText = trimmedMessage ? [trimmedMessage, ...completeBlockFallbackText.includes(trimmedMessage) ? [] : [completeBlockFallbackText]].join("\n\n") : completeBlockFallbackText;
|
|
1141
1165
|
const blockAccessibilityText = blocks ? orderedBlockAccessibilityText ?? rawBlockAccessibilityText : void 0;
|
|
1142
1166
|
let pendingBlockFallback = (hasNativeData || opts.authoredTextPlacement !== void 0) && orderedBlockDeliveryPlan?.skipOriginalBlocks ? orderedBlockDeliveryPlan : void 0;
|
|
1143
|
-
const sentMessageIds = [];
|
|
1144
1167
|
let lastMessageId = "";
|
|
1145
1168
|
let deliveredChannelId = channelId;
|
|
1146
1169
|
let canonicalDeliveredThreadTs;
|
|
@@ -1220,7 +1243,6 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1220
1243
|
lastMessageId = response.ts;
|
|
1221
1244
|
deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
|
|
1222
1245
|
canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
|
|
1223
|
-
sentMessageIds.push(response.ts);
|
|
1224
1246
|
const deliveredThreadTs = resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
1225
1247
|
const fallbackDelivery = await reportDelivery({
|
|
1226
1248
|
messageId: response.ts,
|
|
@@ -1235,22 +1257,16 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1235
1257
|
}, fallback.blocks);
|
|
1236
1258
|
if (fallbackDelivery.meta?.slackQuestionActionIds.length) questionDelivery = fallbackDelivery;
|
|
1237
1259
|
}
|
|
1238
|
-
const messageId = lastMessageId;
|
|
1239
1260
|
const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
1240
1261
|
return {
|
|
1241
|
-
messageId,
|
|
1262
|
+
messageId: lastMessageId,
|
|
1242
1263
|
channelId: deliveredChannelId,
|
|
1243
1264
|
threadTs: deliveredThreadTs,
|
|
1244
1265
|
...questionDelivery?.meta ? { meta: {
|
|
1245
1266
|
...questionDelivery.meta,
|
|
1246
1267
|
slackQuestionMessageId: questionDelivery.messageId
|
|
1247
1268
|
} } : {},
|
|
1248
|
-
receipt:
|
|
1249
|
-
platformMessageIds: sentMessageIds,
|
|
1250
|
-
channelId: deliveredChannelId,
|
|
1251
|
-
kind: fallbackMessages.some((message) => message.blocks) ? "card" : "text",
|
|
1252
|
-
threadTs: deliveredThreadTs
|
|
1253
|
-
})
|
|
1269
|
+
receipt: createSlackSendReceiptFromResults(deliveredResults, deliveredThreadTs)
|
|
1254
1270
|
};
|
|
1255
1271
|
}
|
|
1256
1272
|
}
|
|
@@ -1283,7 +1299,6 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1283
1299
|
onPlatformSendDispatch: dispatchOnce,
|
|
1284
1300
|
...delivery.upload ? { auditContext: delivery.upload.auditContext } : {}
|
|
1285
1301
|
});
|
|
1286
|
-
sentMessageIds.push(lastMessageId);
|
|
1287
1302
|
await reportDelivery({
|
|
1288
1303
|
messageId: lastMessageId,
|
|
1289
1304
|
channelId,
|
|
@@ -1298,7 +1313,7 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1298
1313
|
chunksToPost = rest;
|
|
1299
1314
|
} else chunksToPost = resolvedChunks.length ? resolvedChunks : [""];
|
|
1300
1315
|
for (const [partIndex, chunk] of chunksToPost.entries()) {
|
|
1301
|
-
const carriesPrimaryMessageOptions = partIndex === 0 && !opts.mediaUrl
|
|
1316
|
+
const carriesPrimaryMessageOptions = partIndex === 0 && !opts.mediaUrl;
|
|
1302
1317
|
const baseMetadata = carriesPrimaryMessageOptions ? opts.metadata : void 0;
|
|
1303
1318
|
const metadata = opts.mediaUrl ? baseMetadata : withSlackDeliveryMetadata(baseMetadata, {
|
|
1304
1319
|
queueId: opts.deliveryQueueId,
|
|
@@ -1324,7 +1339,6 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1324
1339
|
lastMessageId = response.ts;
|
|
1325
1340
|
deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
|
|
1326
1341
|
canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
|
|
1327
|
-
sentMessageIds.push(response.ts);
|
|
1328
1342
|
await reportDelivery({
|
|
1329
1343
|
messageId: response.ts,
|
|
1330
1344
|
channelId: deliveredChannelId,
|
|
@@ -1337,18 +1351,12 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1337
1351
|
})
|
|
1338
1352
|
});
|
|
1339
1353
|
}
|
|
1340
|
-
const messageId = lastMessageId;
|
|
1341
1354
|
const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
1342
1355
|
return {
|
|
1343
|
-
messageId,
|
|
1356
|
+
messageId: lastMessageId,
|
|
1344
1357
|
channelId: deliveredChannelId,
|
|
1345
1358
|
threadTs: deliveredThreadTs,
|
|
1346
|
-
receipt:
|
|
1347
|
-
platformMessageIds: sentMessageIds,
|
|
1348
|
-
channelId: deliveredChannelId,
|
|
1349
|
-
kind: opts.mediaUrl ? "media" : "text",
|
|
1350
|
-
threadTs: deliveredThreadTs
|
|
1351
|
-
})
|
|
1359
|
+
receipt: createSlackSendReceiptFromResults(deliveredResults, deliveredThreadTs)
|
|
1352
1360
|
};
|
|
1353
1361
|
}
|
|
1354
1362
|
//#endregion
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
2
|
+
//#region extensions/slack/src/send-results.ts
|
|
3
|
+
function mergeSlackSendResults(results) {
|
|
4
|
+
const lastResult = results.at(-1);
|
|
5
|
+
if (!lastResult) throw new Error("Slack send plan produced no delivery.");
|
|
6
|
+
if (results.length === 1) return lastResult;
|
|
7
|
+
const receipt = createMessageReceiptFromOutboundResults({ results });
|
|
8
|
+
receipt.parts = receipt.parts.map((part, index) => ({
|
|
9
|
+
...part,
|
|
10
|
+
index
|
|
11
|
+
}));
|
|
12
|
+
const questionResult = results.find((result) => result.meta?.slackQuestionActionIds.length);
|
|
13
|
+
return {
|
|
14
|
+
...lastResult,
|
|
15
|
+
receipt,
|
|
16
|
+
...questionResult?.meta ? { meta: {
|
|
17
|
+
...questionResult.meta,
|
|
18
|
+
slackQuestionMessageId: questionResult.meta.slackQuestionMessageId ?? questionResult.messageId
|
|
19
|
+
} } : {}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { mergeSlackSendResults as t };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as updateMessageSlack, n as resolveSlackDmChannelId, r as sendMessageSlack, t as reconcileSlackUnknownSend } from "./send-
|
|
1
|
+
import { a as updateMessageSlack, n as resolveSlackDmChannelId, r as sendMessageSlack, t as reconcileSlackUnknownSend } from "./send-DS9ICrBI.js";
|
|
2
2
|
export { reconcileSlackUnknownSend, resolveSlackDmChannelId, sendMessageSlack, updateMessageSlack };
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as slackSetupPlugin } from "./channel.setup-
|
|
1
|
+
import { t as slackSetupPlugin } from "./channel.setup-ofDi3_Pu.js";
|
|
2
2
|
export { slackSetupPlugin };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-
|
|
2
|
-
import { t as inspectSlackAccount } from "./account-inspect-
|
|
3
|
-
import "./shared-
|
|
4
|
-
import { o as SLACK_CHANNEL, r as createSlackSetupWizardBase } from "./channel.setup-
|
|
5
|
-
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-
|
|
6
|
-
import { t as resolveSlackUserAllowlist } from "./resolve-users-
|
|
1
|
+
import { i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-Dm_H77gH.js";
|
|
2
|
+
import { t as inspectSlackAccount } from "./account-inspect-CN2hBsim.js";
|
|
3
|
+
import "./shared-D5B-5hBg.js";
|
|
4
|
+
import { o as SLACK_CHANNEL, r as createSlackSetupWizardBase } from "./channel.setup-ofDi3_Pu.js";
|
|
5
|
+
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-Czheznc8.js";
|
|
6
|
+
import { t as resolveSlackUserAllowlist } from "./resolve-users-BAOlNimr.js";
|
|
7
7
|
import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { resolveBasicAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
|
|
9
9
|
import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, patchChannelConfigForAccount, promptResolvedAllowFrom, resolveEntriesWithOptionalToken, resolveSetupAccountId, splitSetupEntries } from "openclaw/plugin-sdk/setup-runtime";
|
|
@@ -1,16 +1,35 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
import {
|
|
1
|
+
import { n as isSlackPluginAccountConfigured } from "./account-configured-sUohAxZr.js";
|
|
2
|
+
import { n as listSlackAccountIds, o as resolveSlackAccountAllowFrom, r as mergeSlackAccountConfig, s as resolveSlackAccountDmPolicy } from "./accounts-Dm_H77gH.js";
|
|
3
|
+
import { t as inspectSlackAccount } from "./account-inspect-CN2hBsim.js";
|
|
3
4
|
import { a as parseSlackTarget } from "./target-parsing-BnMD2ZqZ.js";
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
import { n as slackBaseConfigAdapter, t as slackSetupPlugin } from "./channel.setup-CpyYsEXH.js";
|
|
5
|
+
import { a as slackIngressIdentity, t as probeSlack } from "./probe-0usmAb0i.js";
|
|
6
|
+
import { n as slackBaseConfigAdapter, t as slackSetupPlugin } from "./channel.setup-ofDi3_Pu.js";
|
|
7
7
|
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-BAy7-EUQ.js";
|
|
8
8
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DxmvbxBF.js";
|
|
9
|
+
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
|
|
9
10
|
import { adaptScopedAccountAccessor, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
10
11
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
12
|
+
import { PAIRING_APPROVED_MESSAGE, projectCredentialSnapshotFields, resolveConfiguredFromRequiredCredentialStatuses } from "openclaw/plugin-sdk/channel-status";
|
|
11
13
|
import { buildMutableAllowEntryDetector, collectStandardAllowlistLists, createConditionalWarningCollector, createDangerousNameMatchingMutableAllowlistWarningCollector, createOpenProviderConfiguredRouteWarningCollector } from "openclaw/plugin-sdk/channel-policy";
|
|
14
|
+
import { identityEntryAuthenticationClassifier } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
12
15
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
13
16
|
import { asObjectRecord } from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
|
17
|
+
//#region extensions/slack/src/channel-api.ts
|
|
18
|
+
const SLACK_CHANNEL_META = {
|
|
19
|
+
id: "slack",
|
|
20
|
+
label: "Slack",
|
|
21
|
+
selectionLabel: "Slack",
|
|
22
|
+
docsPath: "/channels/slack",
|
|
23
|
+
docsLabel: "slack",
|
|
24
|
+
blurb: "supports bot + app tokens, channels, threads, and interactive replies.",
|
|
25
|
+
systemImage: "number.square",
|
|
26
|
+
markdownCapable: true
|
|
27
|
+
};
|
|
28
|
+
function getChatChannelMeta(id) {
|
|
29
|
+
if (id !== SLACK_CHANNEL_META.id) throw new Error(`Unsupported Slack channel meta lookup: ${id}`);
|
|
30
|
+
return SLACK_CHANNEL_META;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
14
33
|
//#region extensions/slack/src/security.ts
|
|
15
34
|
const resolveSlackDmPolicy = createScopedDmSecurityResolver({
|
|
16
35
|
channelKey: "slack",
|
|
@@ -27,6 +46,7 @@ const resolveSlackDmPolicy = createScopedDmSecurityResolver({
|
|
|
27
46
|
})
|
|
28
47
|
}),
|
|
29
48
|
policyPathSuffix: "dmPolicy",
|
|
49
|
+
classifyEntryAuthentication: identityEntryAuthenticationClassifier(slackIngressIdentity),
|
|
30
50
|
normalizeEntry: (raw) => raw.trim().replace(/^(slack|user):/i, "").trim()
|
|
31
51
|
});
|
|
32
52
|
const collectSlackSecurityWarnings = createOpenProviderConfiguredRouteWarningCollector({
|
|
@@ -265,4 +285,4 @@ function createSlackPluginBase(params) {
|
|
|
265
285
|
};
|
|
266
286
|
}
|
|
267
287
|
//#endregion
|
|
268
|
-
export { slackConfigAdapter as n, slackSecurityAdapter as r, createSlackPluginBase as t };
|
|
288
|
+
export { PAIRING_APPROVED_MESSAGE as a, DEFAULT_ACCOUNT_ID$1 as i, slackConfigAdapter as n, projectCredentialSnapshotFields as o, slackSecurityAdapter as r, resolveConfiguredFromRequiredCredentialStatuses as s, createSlackPluginBase as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as deliverSlackSlashReplies$1 } from "./replies-
|
|
1
|
+
import { r as deliverSlackSlashReplies$1, s as sanitizeSlackMonitorReplyPayload } from "./replies-BSiRQOJ1.js";
|
|
2
2
|
import { resolveAgentRoute as resolveAgentRoute$1 } from "openclaw/plugin-sdk/routing";
|
|
3
|
-
import { resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
|
|
4
3
|
import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
4
|
+
import { resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
|
|
5
5
|
import { dispatchChannelInboundTurn as dispatchChannelInboundTurn$1, isChannelPartialDeliveryError as isChannelPartialDeliveryError$1 } from "openclaw/plugin-sdk/channel-inbound";
|
|
6
6
|
import { finalizeInboundContext as finalizeInboundContext$1, resolveChunkMode as resolveChunkMode$1 } from "openclaw/plugin-sdk/reply-runtime";
|
|
7
7
|
//#region extensions/slack/src/monitor/slash-dispatch.runtime.ts
|
|
@@ -30,4 +30,4 @@ function deliverSlackSlashReplies(...args) {
|
|
|
30
30
|
return deliverSlackSlashReplies$1(...args);
|
|
31
31
|
}
|
|
32
32
|
//#endregion
|
|
33
|
-
export { deliverSlackSlashReplies, dispatchChannelInboundTurn, finalizeInboundContext, isChannelPartialDeliveryError, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode };
|
|
33
|
+
export { deliverSlackSlashReplies, dispatchChannelInboundTurn, finalizeInboundContext, isChannelPartialDeliveryError, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode, sanitizeSlackMonitorReplyPayload };
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated:
|
|
11
|
+
* Last updated: Fri, 07 Aug 2026 17:46:44 GMT
|
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
|
13
13
|
|
|
14
14
|
# Credits
|
|
@@ -2698,12 +2698,12 @@ declare module "node:crypto" {
|
|
|
2698
2698
|
*/
|
|
2699
2699
|
function sign(
|
|
2700
2700
|
algorithm: string | null | undefined,
|
|
2701
|
-
data:
|
|
2701
|
+
data: BinaryLike,
|
|
2702
2702
|
key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
|
|
2703
2703
|
): NonSharedBuffer;
|
|
2704
2704
|
function sign(
|
|
2705
2705
|
algorithm: string | null | undefined,
|
|
2706
|
-
data:
|
|
2706
|
+
data: BinaryLike,
|
|
2707
2707
|
key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput,
|
|
2708
2708
|
callback: (error: Error | null, data: NonSharedBuffer) => void,
|
|
2709
2709
|
): void;
|
|
@@ -2729,15 +2729,15 @@ declare module "node:crypto" {
|
|
|
2729
2729
|
*/
|
|
2730
2730
|
function verify(
|
|
2731
2731
|
algorithm: string | null | undefined,
|
|
2732
|
-
data:
|
|
2732
|
+
data: BinaryLike,
|
|
2733
2733
|
key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
|
|
2734
|
-
signature:
|
|
2734
|
+
signature: BinaryLike,
|
|
2735
2735
|
): boolean;
|
|
2736
2736
|
function verify(
|
|
2737
2737
|
algorithm: string | null | undefined,
|
|
2738
|
-
data:
|
|
2738
|
+
data: BinaryLike,
|
|
2739
2739
|
key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput,
|
|
2740
|
-
signature:
|
|
2740
|
+
signature: BinaryLike,
|
|
2741
2741
|
callback: (error: Error | null, result: boolean) => void,
|
|
2742
2742
|
): void;
|
|
2743
2743
|
/**
|
|
@@ -183,7 +183,7 @@ declare module "node:dns/promises" {
|
|
|
183
183
|
* refresh: 900,
|
|
184
184
|
* retry: 900,
|
|
185
185
|
* expire: 1800,
|
|
186
|
-
* minttl: 60 } ]
|
|
186
|
+
* minttl: 60 } ];
|
|
187
187
|
* ```
|
|
188
188
|
* @since v10.6.0
|
|
189
189
|
*/
|
|
@@ -226,7 +226,7 @@ declare module "node:dns/promises" {
|
|
|
226
226
|
* regexp: '',
|
|
227
227
|
* replacement: '_sip._udp.example.com',
|
|
228
228
|
* order: 30,
|
|
229
|
-
* preference: 100
|
|
229
|
+
* preference: 100,
|
|
230
230
|
* }
|
|
231
231
|
* ```
|
|
232
232
|
* @since v10.6.0
|
|
@@ -265,7 +265,7 @@ declare module "node:dns/promises" {
|
|
|
265
265
|
* refresh: 10000,
|
|
266
266
|
* retry: 2400,
|
|
267
267
|
* expire: 604800,
|
|
268
|
-
* minttl: 3600
|
|
268
|
+
* minttl: 3600,
|
|
269
269
|
* }
|
|
270
270
|
* ```
|
|
271
271
|
* @since v10.6.0
|
|
@@ -285,7 +285,7 @@ declare module "node:dns/promises" {
|
|
|
285
285
|
* priority: 10,
|
|
286
286
|
* weight: 5,
|
|
287
287
|
* port: 21223,
|
|
288
|
-
* name: 'service.example.com'
|
|
288
|
+
* name: 'service.example.com',
|
|
289
289
|
* }
|
|
290
290
|
* ```
|
|
291
291
|
* @since v10.6.0
|
|
@@ -306,7 +306,7 @@ declare module "node:dns/promises" {
|
|
|
306
306
|
* certUsage: 3,
|
|
307
307
|
* selector: 1,
|
|
308
308
|
* match: 1,
|
|
309
|
-
* data: [ArrayBuffer]
|
|
309
|
+
* data: [ArrayBuffer],
|
|
310
310
|
* }
|
|
311
311
|
* ```
|
|
312
312
|
* @since v23.9.0, v22.15.0
|
|
@@ -490,7 +490,7 @@ declare module "node:dns" {
|
|
|
490
490
|
* regexp: '',
|
|
491
491
|
* replacement: '_sip._udp.example.com',
|
|
492
492
|
* order: 30,
|
|
493
|
-
* preference: 100
|
|
493
|
+
* preference: 100,
|
|
494
494
|
* }
|
|
495
495
|
* ```
|
|
496
496
|
* @since v0.9.12
|
|
@@ -547,7 +547,7 @@ declare module "node:dns" {
|
|
|
547
547
|
* refresh: 10000,
|
|
548
548
|
* retry: 2400,
|
|
549
549
|
* expire: 604800,
|
|
550
|
-
* minttl: 3600
|
|
550
|
+
* minttl: 3600,
|
|
551
551
|
* }
|
|
552
552
|
* ```
|
|
553
553
|
* @since v0.11.10
|
|
@@ -573,7 +573,7 @@ declare module "node:dns" {
|
|
|
573
573
|
* priority: 10,
|
|
574
574
|
* weight: 5,
|
|
575
575
|
* port: 21223,
|
|
576
|
-
* name: 'service.example.com'
|
|
576
|
+
* name: 'service.example.com',
|
|
577
577
|
* }
|
|
578
578
|
* ```
|
|
579
579
|
* @since v0.1.27
|
|
@@ -600,7 +600,7 @@ declare module "node:dns" {
|
|
|
600
600
|
* certUsage: 3,
|
|
601
601
|
* selector: 1,
|
|
602
602
|
* match: 1,
|
|
603
|
-
* data: [ArrayBuffer]
|
|
603
|
+
* data: [ArrayBuffer],
|
|
604
604
|
* }
|
|
605
605
|
* ```
|
|
606
606
|
* @since v23.9.0, v22.15.0
|
|
@@ -650,7 +650,7 @@ declare module "node:dns" {
|
|
|
650
650
|
* refresh: 900,
|
|
651
651
|
* retry: 900,
|
|
652
652
|
* expire: 1800,
|
|
653
|
-
* minttl: 60 } ]
|
|
653
|
+
* minttl: 60 } ];
|
|
654
654
|
* ```
|
|
655
655
|
*
|
|
656
656
|
* DNS server operators may choose not to respond to `ANY` queries. It may be better to call individual methods like {@link resolve4}, {@link resolveMx}, and so on. For more details, see
|
|
@@ -48,6 +48,13 @@ declare module "node:fs" {
|
|
|
48
48
|
mtime: Date;
|
|
49
49
|
ctime: Date;
|
|
50
50
|
birthtime: Date;
|
|
51
|
+
// Deliberately not defining a type alias here... it'd be exported, and something in the ecosystem would inevitably start using it.
|
|
52
|
+
// TODO: replace with Temporal builtins once @types/node no longer supports TS <6.0.
|
|
53
|
+
atimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T : unknown;
|
|
54
|
+
mtimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T : unknown;
|
|
55
|
+
ctimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T : unknown;
|
|
56
|
+
birthtimeInstant: typeof globalThis extends { Temporal: { Instant: new(...args: any[]) => infer T } } ? T
|
|
57
|
+
: unknown;
|
|
51
58
|
}
|
|
52
59
|
interface Stats extends StatsBase<number> {}
|
|
53
60
|
/**
|
|
@@ -922,6 +922,36 @@ declare module "node:http" {
|
|
|
922
922
|
headers?: OutgoingHttpHeaders | OutgoingHttpHeader[],
|
|
923
923
|
): this;
|
|
924
924
|
writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
|
|
925
|
+
/**
|
|
926
|
+
* Sends an arbitrary HTTP/1.1 1xx informational response to the client. This
|
|
927
|
+
* is a generic equivalent of `response.writeContinue()`,
|
|
928
|
+
* `response.writeProcessing()` and `response.writeEarlyHints()`, and
|
|
929
|
+
* can be called multiple times before the final response. After the final
|
|
930
|
+
* response headers have been sent (via `response.writeHead()` or an
|
|
931
|
+
* implicit header), calling this method throws `ERR_HTTP_HEADERS_SENT`.
|
|
932
|
+
*
|
|
933
|
+
* Clients receive these responses via the [`'information'`](https://nodejs.org/docs/latest-v26.x/api/http.html#event-information)
|
|
934
|
+
* event on `http.ClientRequest`.
|
|
935
|
+
*
|
|
936
|
+
* ```js
|
|
937
|
+
* response.writeInformation(110, { 'X-Progress': '50%' });
|
|
938
|
+
* ```
|
|
939
|
+
* @since v26.2.0
|
|
940
|
+
* @param statusCode An HTTP 1xx informational status code, between `100`
|
|
941
|
+
* and `199` inclusive, excluding `101` (Switching Protocols) which is only
|
|
942
|
+
* available through the [`'upgrade'`](https://nodejs.org/docs/latest-v26.x/api/http.html#event-upgrade) event.
|
|
943
|
+
* @param headers An optional set of headers to send with the
|
|
944
|
+
* informational response. Accepts the same shapes as
|
|
945
|
+
* `response.writeHead()`.
|
|
946
|
+
* @param callback Optional, called once the message has been written
|
|
947
|
+
* to the socket.
|
|
948
|
+
*/
|
|
949
|
+
writeInformation(
|
|
950
|
+
statusCode: number,
|
|
951
|
+
headers?: OutgoingHttpHeaders | readonly string[],
|
|
952
|
+
callback?: () => void,
|
|
953
|
+
): void;
|
|
954
|
+
writeInformation(statusCode: number, callback: () => void): void;
|
|
925
955
|
/**
|
|
926
956
|
* Sends a HTTP/1.1 102 Processing message to the client, indicating that
|
|
927
957
|
* the request body should be sent.
|
|
@@ -59,7 +59,7 @@ declare module "node:http2" {
|
|
|
59
59
|
"ready": [];
|
|
60
60
|
"streamClosed": [code: number];
|
|
61
61
|
"timeout": [];
|
|
62
|
-
"trailers": [
|
|
62
|
+
"trailers": [headers: IncomingHttpHeaders, flags: number, rawHeaders: string[]];
|
|
63
63
|
"wantTrailers": [];
|
|
64
64
|
}
|
|
65
65
|
interface Http2Stream extends stream.Duplex {
|
|
@@ -245,7 +245,7 @@ declare module "node:http2" {
|
|
|
245
245
|
interface ClientHttp2StreamEventMap extends Http2StreamEventMap {
|
|
246
246
|
"continue": [];
|
|
247
247
|
"headers": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]];
|
|
248
|
-
"push": [headers: IncomingHttpHeaders, flags: number];
|
|
248
|
+
"push": [headers: IncomingHttpHeaders, flags: number, rawHeaders: string[]];
|
|
249
249
|
"response": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]];
|
|
250
250
|
}
|
|
251
251
|
interface ClientHttp2Stream extends Http2Stream {
|
|
@@ -1644,8 +1644,8 @@ declare module "node:http2" {
|
|
|
1644
1644
|
*
|
|
1645
1645
|
* Then `request.url` will be:
|
|
1646
1646
|
*
|
|
1647
|
-
* ```
|
|
1648
|
-
*
|
|
1647
|
+
* ```json
|
|
1648
|
+
* "/status?name=ryan"
|
|
1649
1649
|
* ```
|
|
1650
1650
|
*
|
|
1651
1651
|
* To parse the url into its parts, `new URL()` can be used:
|