@openclaw/slack 2026.9.5 → 2026.9.7
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/assets/icon.png +0 -0
- package/dist/.setup/{account-inspect-B86OaUEt.mjs → account-inspect-DWBXpER6.mjs} +1 -1
- package/dist/.setup/{accounts-C1FspRF-.mjs → accounts-D_N9IqNA.mjs} +33 -10
- package/dist/.setup/{action-runtime-Aa-h24Fq.mjs → action-runtime-DfWvuiZd.mjs} +46 -65
- package/dist/.setup/action-runtime.runtime-Ck4bAWOX.mjs +2 -0
- package/dist/.setup/{actions-BvGUGk3w.mjs → actions-Df0CzcDl.mjs} +148 -204
- package/dist/.setup/{approval-handler.runtime-BcZNF-VP.mjs → approval-handler.runtime-Ed6Sw5VK.mjs} +37 -47
- package/dist/.setup/{approval-message-updates-Cy1cxfBn.mjs → approval-message-updates-BadvtA7R.mjs} +1 -2
- package/dist/.setup/{channel-DrBm0NFw.mjs → channel-C7bgPSTE.mjs} +192 -280
- package/dist/.setup/channel-meta-C443t-lI.mjs +27 -0
- package/dist/.setup/{channel-type-osC0XOES.mjs → channel-type-ClOttrZ5.mjs} +13 -21
- package/dist/.setup/{channel.setup-BSY5hzVz.mjs → channel.setup-Dh2jzAjN.mjs} +35 -42
- package/dist/.setup/{config-schema-DrY3S7Ee.mjs → config-schema-BZCxmHKG.mjs} +32 -21
- package/dist/.setup/{directory-config-CTs7YyuU.mjs → directory-config-BOUWH3hR.mjs} +7 -10
- package/dist/.setup/{directory-live-Btq0063Q.mjs → directory-live-B2O4B_Ho.mjs} +9 -21
- package/dist/.setup/doctor-contract-CRN1Z_c7.mjs +342 -0
- package/dist/.setup/{message-tool-api-DRnDCVdY.mjs → message-tool-api-Cu4lwlGy.mjs} +34 -48
- package/dist/.setup/{provider-w36VTgZ3.mjs → monitor-BPVfkumU.mjs} +2191 -2704
- package/dist/.setup/{outbound-adapter-K3Ek1iSR.mjs → outbound-adapter-Bv48XUjq.mjs} +10 -21
- package/dist/.setup/{pipeline.runtime-BZqGcbfi.mjs → pipeline.runtime-B1H63Frf.mjs} +901 -892
- package/dist/.setup/{plugin-routes-C3X0eVaK.mjs → plugin-routes-B8tooDLj.mjs} +1 -1
- package/dist/.setup/{policy-Db_QWCZZ.mjs → policy-D-jfM174.mjs} +5 -5
- package/dist/.setup/{probe-64C6k3_Q.mjs → probe-B2Y9qc_z.mjs} +101 -39
- package/dist/.setup/{registry-bbjH7IHX.mjs → registry-CIbMfuf8.mjs} +6 -2
- package/dist/.setup/{relay-source-CDqY76Vp.mjs → relay-source-BpKdjsll.mjs} +10 -12
- package/dist/.setup/{replies-CWFhjS9S.mjs → replies-BAnUtr2f.mjs} +16 -76
- package/dist/.setup/{reply-blocks-9uCeAJts.mjs → reply-blocks-SE1kTE3I.mjs} +27 -154
- package/dist/.setup/{resolve-channels-x8fX1SEt.mjs → resolve-channels-XXBn8UU_.mjs} +4 -5
- package/dist/.setup/{resolve-users-B8BpBnH2.mjs → resolve-users-DW0ngD03.mjs} +20 -22
- package/dist/.setup/{scopes-CJ-6l4v4.mjs → scopes-CasuDvaa.mjs} +6 -17
- package/dist/.setup/{secret-contract-DxmvbxBF.mjs → secret-contract-BaZcu6P_.mjs} +15 -20
- package/dist/.setup/{secret-contract-api-D9UfYujm.mjs → secret-contract-api-Dp6290Vg.mjs} +1 -1
- package/dist/.setup/{security-audit-BypHqcq5.mjs → security-audit-BqDc-6VL.mjs} +1 -1
- package/dist/.setup/{send-6GCb3lBP.mjs → send-BOVLQi3n.mjs} +102 -199
- package/dist/.setup/{session-status-BhG6pdiH.mjs → session-status-DscajIsd.mjs} +323 -250
- package/dist/.setup/{setup-plugin-api-DtCEByQB.mjs → setup-plugin-api-DTtbTKNk.mjs} +1 -1
- package/dist/.setup/{setup-surface-DsE0hsYY.mjs → setup-surface-Dn7QgWRE.mjs} +24 -56
- package/dist/.setup/{shared-BNmqCPgQ.mjs → shared-qau-uDGl.mjs} +30 -56
- package/dist/.setup/{slash-dispatch.runtime-Io4ASZsY.mjs → slash-dispatch.runtime--AEzLVBF.mjs} +1 -1
- package/dist/.setup/{streaming-compat-B-e0mqM0.mjs → streaming-compat-C5Wut626.mjs} +31 -8
- package/dist/.setup/{target-parsing-DEsPjngB.mjs → target-parsing-FFE26kOV.mjs} +1 -7
- package/dist/.setup/{targets-Cku2KCvg.mjs → targets-C6LZQL1Q.mjs} +1 -1
- package/dist/.setup/{thread-ts-CukseRVL.mjs → thread-ts-Cvt7WD6B.mjs} +0 -1
- package/dist/account-inspect-api.js +1 -1
- package/dist/api.js +18 -17
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/doctor-contract-api.js +1 -1
- package/dist/http-routes-api.js +1 -1
- package/dist/index.js +1 -1
- package/dist/message-tool-api.js +1 -1
- package/dist/runtime-api.js +11 -12
- package/dist/secret-contract-api.js +1 -1
- package/dist/security-contract-api.js +1 -1
- package/dist/setup-entry.js +2 -2
- package/dist/setup-plugin-api.js +1 -1
- 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 +1 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +20 -8
- package/node_modules/@slack/bolt/node_modules/@types/node/ffi.d.ts +14 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/http2.d.ts +3 -2
- package/node_modules/@slack/bolt/node_modules/@types/node/net.d.ts +16 -4
- package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/bolt/node_modules/@types/node/process.d.ts +1 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/quic.d.ts +39 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/stream/iter.d.ts +9 -12
- package/node_modules/@slack/bolt/node_modules/@types/node/test/reporters.d.ts +1 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/test.d.ts +72 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/tls.d.ts +14 -10
- package/node_modules/@slack/bolt/node_modules/@types/node/vm.d.ts +2 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/web-globals/streams.d.ts +4 -0
- package/node_modules/@slack/bolt/node_modules/@types/node/worker_threads.d.ts +4 -1
- 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 +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +20 -8
- package/node_modules/@slack/web-api/node_modules/@types/node/ffi.d.ts +14 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +3 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/net.d.ts +16 -4
- package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +1 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/quic.d.ts +39 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/stream/iter.d.ts +9 -12
- package/node_modules/@slack/web-api/node_modules/@types/node/test/reporters.d.ts +1 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +72 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/tls.d.ts +14 -10
- package/node_modules/@slack/web-api/node_modules/@types/node/vm.d.ts +2 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/web-globals/streams.d.ts +4 -0
- package/node_modules/@slack/web-api/node_modules/@types/node/worker_threads.d.ts +4 -1
- package/node_modules/get-east-asian-width/index.js +8 -3
- package/node_modules/get-east-asian-width/lookup-data.js +1 -1
- package/node_modules/get-east-asian-width/lookup.js +4 -4
- package/node_modules/get-east-asian-width/package.json +1 -1
- package/node_modules/typebox/build/compile/code.mjs +1 -2
- package/node_modules/typebox/build/compile/validator.mjs +5 -1
- package/node_modules/typebox/build/format/iri.mjs +16 -9
- package/node_modules/typebox/build/guard/emit.mjs +2 -2
- package/node_modules/typebox/build/guard/guard.d.mts +7 -5
- package/node_modules/typebox/build/guard/guard.mjs +14 -9
- package/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
- package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
- package/node_modules/typebox/build/schema/build.mjs +2 -3
- package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
- package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
- package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
- package/node_modules/typebox/build/schema/parse.mjs +3 -0
- package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
- package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
- package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
- package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
- package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
- package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
- package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
- package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
- package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
- package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +3 -1
- package/node_modules/undici/README.md +81 -25
- package/node_modules/undici/docs/docs/api/Agent.md +249 -42
- package/node_modules/undici/docs/docs/api/BalancedPool.md +246 -48
- package/node_modules/undici/docs/docs/api/CacheStorage.md +171 -13
- package/node_modules/undici/docs/docs/api/CacheStore.md +294 -98
- package/node_modules/undici/docs/docs/api/Client.md +407 -162
- package/node_modules/undici/docs/docs/api/ClientStats.md +80 -14
- package/node_modules/undici/docs/docs/api/Connector.md +118 -35
- package/node_modules/undici/docs/docs/api/ContentType.md +65 -25
- package/node_modules/undici/docs/docs/api/Cookies.md +122 -71
- package/node_modules/undici/docs/docs/api/Debug.md +34 -18
- package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +364 -164
- package/node_modules/undici/docs/docs/api/Dispatcher.md +490 -1055
- package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +105 -93
- package/node_modules/undici/docs/docs/api/Errors.md +503 -28
- package/node_modules/undici/docs/docs/api/EventSource.md +326 -13
- package/node_modules/undici/docs/docs/api/Fetch.md +681 -30
- package/node_modules/undici/docs/docs/api/GlobalInstallation.md +78 -96
- package/node_modules/undici/docs/docs/api/H2CClient.md +298 -176
- package/node_modules/undici/docs/docs/api/Interceptors.md +418 -0
- package/node_modules/undici/docs/docs/api/MockAgent.md +333 -314
- package/node_modules/undici/docs/docs/api/MockCallHistory.md +272 -98
- package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +189 -26
- package/node_modules/undici/docs/docs/api/MockClient.md +151 -33
- package/node_modules/undici/docs/docs/api/MockErrors.md +56 -5
- package/node_modules/undici/docs/docs/api/MockPool.md +321 -258
- package/node_modules/undici/docs/docs/api/Pool.md +236 -41
- package/node_modules/undici/docs/docs/api/PoolStats.md +119 -13
- package/node_modules/undici/docs/docs/api/ProxyAgent.md +179 -160
- package/node_modules/undici/docs/docs/api/RedirectHandler.md +238 -55
- package/node_modules/undici/docs/docs/api/RetryAgent.md +113 -27
- package/node_modules/undici/docs/docs/api/RetryHandler.md +161 -79
- package/node_modules/undici/docs/docs/api/RoundRobinPool.md +166 -72
- package/node_modules/undici/docs/docs/api/SnapshotAgent.md +262 -517
- package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +177 -196
- package/node_modules/undici/docs/docs/api/Util.md +68 -11
- package/node_modules/undici/docs/docs/api/WebSocket.md +475 -80
- package/node_modules/undici/docs/docs/api/api-lifecycle.md +100 -32
- package/node_modules/undici/docs/docs/best-practices/client-certificate.md +2 -0
- package/node_modules/undici/docs/docs/best-practices/crawling.md +3 -1
- package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +233 -0
- package/node_modules/undici/docs/docs/best-practices/mocking-request.md +9 -7
- package/node_modules/undici/docs/docs/best-practices/proxy.md +3 -1
- package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +10 -8
- package/node_modules/undici/docs/docs/best-practices/writing-tests.md +2 -0
- package/node_modules/undici/docs/docs/getting-started.md +281 -0
- package/node_modules/undici/docs/docs/index.md +784 -0
- package/node_modules/undici/docs/docs/site.json +125 -0
- package/node_modules/undici/docs/docs/type-map.json +79 -0
- package/node_modules/undici/index.js +4 -2
- package/node_modules/undici/lib/api/api-connect.js +13 -11
- package/node_modules/undici/lib/api/api-pipeline.js +26 -13
- package/node_modules/undici/lib/api/api-request.js +51 -21
- package/node_modules/undici/lib/api/api-stream.js +81 -20
- package/node_modules/undici/lib/api/api-upgrade.js +21 -11
- package/node_modules/undici/lib/api/readable.js +45 -9
- package/node_modules/undici/lib/cache/memory-cache-store.js +3 -3
- package/node_modules/undici/lib/cache/sqlite-cache-store.js +3 -1
- package/node_modules/undici/lib/core/connect.js +46 -7
- package/node_modules/undici/lib/core/constants.js +1 -24
- package/node_modules/undici/lib/core/errors.js +22 -2
- package/node_modules/undici/lib/core/request.js +100 -18
- package/node_modules/undici/lib/core/symbols.js +4 -0
- package/node_modules/undici/lib/core/util.js +105 -48
- package/node_modules/undici/lib/dispatcher/agent.js +51 -32
- package/node_modules/undici/lib/dispatcher/balanced-pool.js +23 -27
- package/node_modules/undici/lib/dispatcher/client-h1.js +86 -24
- package/node_modules/undici/lib/dispatcher/client-h2.js +1091 -361
- package/node_modules/undici/lib/dispatcher/client.js +109 -36
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +19 -6
- package/node_modules/undici/lib/dispatcher/dispatcher.js +15 -5
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +110 -0
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +37 -8
- package/node_modules/undici/lib/dispatcher/h2c-client.js +4 -4
- package/node_modules/undici/lib/dispatcher/pool-base.js +28 -10
- package/node_modules/undici/lib/dispatcher/pool.js +30 -5
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +95 -19
- package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
- package/node_modules/undici/lib/dispatcher/round-robin-pool.js +32 -10
- package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +153 -63
- package/node_modules/undici/lib/global.js +37 -14
- package/node_modules/undici/lib/handler/cache-handler.js +49 -7
- package/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
- package/node_modules/undici/lib/handler/decorator-handler.js +8 -3
- package/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
- package/node_modules/undici/lib/handler/redirect-handler.js +66 -66
- package/node_modules/undici/lib/handler/retry-handler.js +191 -50
- package/node_modules/undici/lib/interceptor/cache.js +75 -25
- package/node_modules/undici/lib/interceptor/decompress.js +5 -2
- package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
- package/node_modules/undici/lib/interceptor/dns.js +12 -1
- package/node_modules/undici/lib/interceptor/redirect.js +3 -3
- package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -1
- package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -1
- package/node_modules/undici/lib/mock/mock-agent.js +21 -9
- package/node_modules/undici/lib/mock/mock-call-history.js +1 -1
- package/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
- package/node_modules/undici/lib/mock/mock-utils.js +281 -47
- package/node_modules/undici/lib/mock/snapshot-agent.js +25 -7
- package/node_modules/undici/lib/mock/snapshot-recorder.js +38 -3
- package/node_modules/undici/lib/util/cache.js +92 -10
- package/node_modules/undici/lib/util/runtime-features.js +3 -34
- package/node_modules/undici/lib/web/cache/cache.js +6 -8
- package/node_modules/undici/lib/web/cookies/parse.js +150 -146
- package/node_modules/undici/lib/web/cookies/util.js +1 -1
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
- package/node_modules/undici/lib/web/eventsource/eventsource.js +20 -21
- package/node_modules/undici/lib/web/eventsource/util.js +32 -1
- package/node_modules/undici/lib/web/fetch/body.js +48 -10
- package/node_modules/undici/lib/web/fetch/constants.js +1 -1
- package/node_modules/undici/lib/web/fetch/formdata.js +21 -2
- package/node_modules/undici/lib/web/fetch/index.js +242 -223
- package/node_modules/undici/lib/web/fetch/request.js +35 -6
- package/node_modules/undici/lib/web/fetch/response.js +1 -3
- package/node_modules/undici/lib/web/fetch/util.js +10 -2
- package/node_modules/undici/lib/web/webidl/index.js +5 -7
- package/node_modules/undici/lib/web/websocket/frame.js +1 -7
- package/node_modules/undici/lib/web/websocket/receiver.js +1 -1
- package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +10 -10
- package/node_modules/undici/lib/web/websocket/websocket.js +25 -3
- package/node_modules/undici/package.json +10 -10
- package/node_modules/undici/types/agent.d.ts +0 -2
- package/node_modules/undici/types/client.d.ts +69 -24
- package/node_modules/undici/types/connector.d.ts +1 -0
- package/node_modules/undici/types/cookies.d.ts +1 -1
- package/node_modules/undici/types/dispatcher.d.ts +8 -30
- package/node_modules/undici/types/dispatcher1-wrapper.d.ts +7 -0
- package/node_modules/undici/types/errors.d.ts +10 -0
- package/node_modules/undici/types/fetch.d.ts +5 -1
- package/node_modules/undici/types/formdata.d.ts +0 -6
- package/node_modules/undici/types/h2c-client.d.ts +6 -6
- package/node_modules/undici/types/handlers.d.ts +2 -0
- package/node_modules/undici/types/header.d.ts +5 -0
- package/node_modules/undici/types/index.d.ts +3 -1
- package/node_modules/undici/types/interceptors.d.ts +1 -1
- package/node_modules/undici/types/mock-agent.d.ts +11 -10
- package/node_modules/undici/types/mock-interceptor.d.ts +5 -1
- package/node_modules/undici/types/pool.d.ts +0 -2
- package/node_modules/undici/types/proxy-agent.d.ts +9 -2
- package/node_modules/undici/types/round-robin-pool.d.ts +0 -2
- package/node_modules/undici/types/snapshot-agent.d.ts +4 -0
- package/node_modules/undici/types/socks5-proxy-agent.d.ts +4 -2
- package/node_modules/undici/types/webidl.d.ts +0 -1
- package/node_modules/zod/README.md +2 -2
- package/node_modules/zod/compile.cjs +19 -0
- package/node_modules/zod/index.cjs +19 -0
- package/node_modules/zod/locales/index.cjs +19 -0
- package/node_modules/zod/mini/index.cjs +19 -0
- package/node_modules/zod/package.json +8 -7
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
- package/node_modules/zod/src/v4/classic/external.ts +2 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
- package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
- package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
- package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
- package/node_modules/zod/src/v4/core/api.ts +44 -28
- package/node_modules/zod/src/v4/core/checks.ts +62 -102
- package/node_modules/zod/src/v4/core/compile.ts +218 -93
- package/node_modules/zod/src/v4/core/core.ts +1 -3
- package/node_modules/zod/src/v4/core/doc.ts +6 -2
- package/node_modules/zod/src/v4/core/errors.ts +3 -6
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
- package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
- package/node_modules/zod/src/v4/core/parse.ts +37 -16
- package/node_modules/zod/src/v4/core/regexes.ts +14 -4
- package/node_modules/zod/src/v4/core/schemas.ts +296 -132
- package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
- package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
- package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
- package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
- package/node_modules/zod/src/v4/core/util.ts +218 -147
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/locales/ar.ts +2 -0
- package/node_modules/zod/src/v4/locales/az.ts +2 -0
- package/node_modules/zod/src/v4/locales/be.ts +2 -0
- package/node_modules/zod/src/v4/locales/bg.ts +2 -0
- package/node_modules/zod/src/v4/locales/bn.ts +2 -0
- package/node_modules/zod/src/v4/locales/ca.ts +2 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
- package/node_modules/zod/src/v4/locales/cs.ts +2 -0
- package/node_modules/zod/src/v4/locales/da.ts +2 -0
- package/node_modules/zod/src/v4/locales/de.ts +2 -0
- package/node_modules/zod/src/v4/locales/el.ts +2 -0
- package/node_modules/zod/src/v4/locales/en.ts +2 -0
- package/node_modules/zod/src/v4/locales/eo.ts +2 -0
- package/node_modules/zod/src/v4/locales/es.ts +2 -0
- package/node_modules/zod/src/v4/locales/fa.ts +2 -0
- package/node_modules/zod/src/v4/locales/fi.ts +2 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
- package/node_modules/zod/src/v4/locales/fr.ts +2 -0
- package/node_modules/zod/src/v4/locales/gu.ts +2 -0
- package/node_modules/zod/src/v4/locales/he.ts +2 -0
- package/node_modules/zod/src/v4/locales/hi.ts +2 -0
- package/node_modules/zod/src/v4/locales/hr.ts +2 -0
- package/node_modules/zod/src/v4/locales/hu.ts +2 -0
- package/node_modules/zod/src/v4/locales/hy.ts +2 -0
- package/node_modules/zod/src/v4/locales/id.ts +2 -0
- package/node_modules/zod/src/v4/locales/index.ts +1 -0
- package/node_modules/zod/src/v4/locales/is.ts +2 -0
- package/node_modules/zod/src/v4/locales/it.ts +2 -0
- package/node_modules/zod/src/v4/locales/ja.ts +2 -0
- package/node_modules/zod/src/v4/locales/ka.ts +2 -0
- package/node_modules/zod/src/v4/locales/km.ts +2 -0
- package/node_modules/zod/src/v4/locales/kn.ts +2 -0
- package/node_modules/zod/src/v4/locales/ko.ts +2 -0
- package/node_modules/zod/src/v4/locales/lt.ts +2 -0
- package/node_modules/zod/src/v4/locales/mk.ts +2 -0
- package/node_modules/zod/src/v4/locales/ms.ts +2 -0
- package/node_modules/zod/src/v4/locales/ne.ts +2 -0
- package/node_modules/zod/src/v4/locales/nl.ts +2 -0
- package/node_modules/zod/src/v4/locales/nn.ts +2 -0
- package/node_modules/zod/src/v4/locales/no.ts +2 -0
- package/node_modules/zod/src/v4/locales/ota.ts +2 -0
- package/node_modules/zod/src/v4/locales/pl.ts +2 -0
- package/node_modules/zod/src/v4/locales/ps.ts +2 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
- package/node_modules/zod/src/v4/locales/pt.ts +2 -0
- package/node_modules/zod/src/v4/locales/ro.ts +2 -0
- package/node_modules/zod/src/v4/locales/ru.ts +2 -0
- package/node_modules/zod/src/v4/locales/sk.ts +2 -0
- package/node_modules/zod/src/v4/locales/sl.ts +2 -0
- package/node_modules/zod/src/v4/locales/sv.ts +2 -0
- package/node_modules/zod/src/v4/locales/ta.ts +2 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +2 -0
- package/node_modules/zod/src/v4/locales/tk.ts +2 -0
- package/node_modules/zod/src/v4/locales/tr.ts +2 -0
- package/node_modules/zod/src/v4/locales/uk.ts +2 -0
- package/node_modules/zod/src/v4/locales/ur.ts +2 -0
- package/node_modules/zod/src/v4/locales/uz.ts +2 -0
- package/node_modules/zod/src/v4/locales/vi.ts +2 -0
- package/node_modules/zod/src/v4/locales/yo.ts +2 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
- package/node_modules/zod/src/v4/mini/external.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
- package/node_modules/zod/v3/ZodError.cjs +19 -0
- package/node_modules/zod/v3/errors.cjs +19 -0
- package/node_modules/zod/v3/external.cjs +19 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
- package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
- package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
- package/node_modules/zod/v3/helpers/util.cjs +19 -0
- package/node_modules/zod/v3/index.cjs +19 -0
- package/node_modules/zod/v3/standard-schema.cjs +19 -0
- package/node_modules/zod/v3/types.cjs +19 -0
- package/node_modules/zod/v4/classic/checks.cjs +19 -0
- package/node_modules/zod/v4/classic/coerce.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.cjs +19 -0
- package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
- package/node_modules/zod/v4/classic/errors.cjs +19 -0
- package/node_modules/zod/v4/classic/external.cjs +22 -1
- package/node_modules/zod/v4/classic/external.d.cts +1 -1
- package/node_modules/zod/v4/classic/external.d.ts +1 -1
- package/node_modules/zod/v4/classic/external.js +1 -1
- package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
- package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
- package/node_modules/zod/v4/classic/in-out.cjs +19 -0
- package/node_modules/zod/v4/classic/index.cjs +19 -0
- package/node_modules/zod/v4/classic/iso.cjs +19 -0
- package/node_modules/zod/v4/classic/parse.cjs +19 -0
- package/node_modules/zod/v4/classic/schemas.cjs +100 -35
- package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
- package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
- package/node_modules/zod/v4/classic/schemas.js +77 -33
- package/node_modules/zod/v4/core/api.cjs +45 -22
- package/node_modules/zod/v4/core/api.d.cts +12 -6
- package/node_modules/zod/v4/core/api.d.ts +12 -6
- package/node_modules/zod/v4/core/api.js +25 -22
- package/node_modules/zod/v4/core/checks.cjs +51 -97
- package/node_modules/zod/v4/core/checks.d.cts +17 -1
- package/node_modules/zod/v4/core/checks.d.ts +17 -1
- package/node_modules/zod/v4/core/checks.js +31 -96
- package/node_modules/zod/v4/core/compile.cjs +173 -78
- package/node_modules/zod/v4/core/compile.d.cts +18 -4
- package/node_modules/zod/v4/core/compile.d.ts +18 -4
- package/node_modules/zod/v4/core/compile.js +154 -79
- package/node_modules/zod/v4/core/core.cjs +20 -1
- package/node_modules/zod/v4/core/core.js +1 -1
- package/node_modules/zod/v4/core/doc.cjs +26 -2
- package/node_modules/zod/v4/core/doc.js +7 -2
- package/node_modules/zod/v4/core/errors.cjs +21 -5
- package/node_modules/zod/v4/core/errors.js +2 -5
- package/node_modules/zod/v4/core/index.cjs +19 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
- package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
- package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
- package/node_modules/zod/v4/core/json-schema.cjs +19 -0
- package/node_modules/zod/v4/core/memoizer.cjs +111 -23
- package/node_modules/zod/v4/core/memoizer.js +69 -23
- package/node_modules/zod/v4/core/parse.cjs +56 -16
- package/node_modules/zod/v4/core/parse.js +37 -16
- package/node_modules/zod/v4/core/regexes.cjs +31 -6
- package/node_modules/zod/v4/core/regexes.d.cts +3 -0
- package/node_modules/zod/v4/core/regexes.d.ts +3 -0
- package/node_modules/zod/v4/core/regexes.js +10 -4
- package/node_modules/zod/v4/core/registries.cjs +19 -0
- package/node_modules/zod/v4/core/schemas.cjs +302 -114
- package/node_modules/zod/v4/core/schemas.d.cts +28 -8
- package/node_modules/zod/v4/core/schemas.d.ts +28 -8
- package/node_modules/zod/v4/core/schemas.js +279 -113
- package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
- package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
- package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
- package/node_modules/zod/v4/core/to-json-schema.js +7 -6
- package/node_modules/zod/v4/core/util.cjs +177 -143
- package/node_modules/zod/v4/core/util.d.cts +25 -4
- package/node_modules/zod/v4/core/util.d.ts +25 -4
- package/node_modules/zod/v4/core/util.js +156 -143
- package/node_modules/zod/v4/core/versions.cjs +21 -2
- package/node_modules/zod/v4/core/versions.d.cts +1 -1
- package/node_modules/zod/v4/core/versions.d.ts +1 -1
- package/node_modules/zod/v4/core/versions.js +2 -2
- package/node_modules/zod/v4/core/visit.cjs +19 -0
- package/node_modules/zod/v4/index.cjs +19 -0
- package/node_modules/zod/v4/locales/ar.cjs +2 -0
- package/node_modules/zod/v4/locales/ar.js +2 -0
- package/node_modules/zod/v4/locales/az.cjs +2 -0
- package/node_modules/zod/v4/locales/az.js +2 -0
- package/node_modules/zod/v4/locales/be.cjs +2 -0
- package/node_modules/zod/v4/locales/be.js +2 -0
- package/node_modules/zod/v4/locales/bg.cjs +2 -0
- package/node_modules/zod/v4/locales/bg.js +2 -0
- package/node_modules/zod/v4/locales/bn.cjs +2 -0
- package/node_modules/zod/v4/locales/bn.js +2 -0
- package/node_modules/zod/v4/locales/ca.cjs +2 -0
- package/node_modules/zod/v4/locales/ca.js +2 -0
- package/node_modules/zod/v4/locales/ckb.cjs +2 -0
- package/node_modules/zod/v4/locales/ckb.js +2 -0
- package/node_modules/zod/v4/locales/cs.cjs +2 -0
- package/node_modules/zod/v4/locales/cs.js +2 -0
- package/node_modules/zod/v4/locales/da.cjs +2 -0
- package/node_modules/zod/v4/locales/da.js +2 -0
- package/node_modules/zod/v4/locales/de.cjs +2 -0
- package/node_modules/zod/v4/locales/de.js +2 -0
- package/node_modules/zod/v4/locales/el.cjs +2 -0
- package/node_modules/zod/v4/locales/el.js +2 -0
- package/node_modules/zod/v4/locales/en.cjs +2 -0
- package/node_modules/zod/v4/locales/en.js +2 -0
- package/node_modules/zod/v4/locales/eo.cjs +2 -0
- package/node_modules/zod/v4/locales/eo.js +2 -0
- package/node_modules/zod/v4/locales/es.cjs +2 -0
- package/node_modules/zod/v4/locales/es.js +2 -0
- package/node_modules/zod/v4/locales/fa.cjs +2 -0
- package/node_modules/zod/v4/locales/fa.js +2 -0
- package/node_modules/zod/v4/locales/fi.cjs +2 -0
- package/node_modules/zod/v4/locales/fi.js +2 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
- package/node_modules/zod/v4/locales/fr-CA.js +2 -0
- package/node_modules/zod/v4/locales/fr.cjs +2 -0
- package/node_modules/zod/v4/locales/fr.js +2 -0
- package/node_modules/zod/v4/locales/gu.cjs +2 -0
- package/node_modules/zod/v4/locales/gu.js +2 -0
- package/node_modules/zod/v4/locales/he.cjs +2 -0
- package/node_modules/zod/v4/locales/he.js +2 -0
- package/node_modules/zod/v4/locales/hi.cjs +2 -0
- package/node_modules/zod/v4/locales/hi.js +2 -0
- package/node_modules/zod/v4/locales/hr.cjs +2 -0
- package/node_modules/zod/v4/locales/hr.js +2 -0
- package/node_modules/zod/v4/locales/hu.cjs +2 -0
- package/node_modules/zod/v4/locales/hu.js +2 -0
- package/node_modules/zod/v4/locales/hy.cjs +2 -0
- package/node_modules/zod/v4/locales/hy.js +2 -0
- package/node_modules/zod/v4/locales/id.cjs +2 -0
- package/node_modules/zod/v4/locales/id.js +2 -0
- package/node_modules/zod/v4/locales/index.cjs +22 -1
- package/node_modules/zod/v4/locales/index.d.cts +1 -0
- package/node_modules/zod/v4/locales/index.d.ts +1 -0
- package/node_modules/zod/v4/locales/index.js +1 -0
- package/node_modules/zod/v4/locales/is.cjs +2 -0
- package/node_modules/zod/v4/locales/is.js +2 -0
- package/node_modules/zod/v4/locales/it.cjs +2 -0
- package/node_modules/zod/v4/locales/it.js +2 -0
- package/node_modules/zod/v4/locales/ja.cjs +2 -0
- package/node_modules/zod/v4/locales/ja.js +2 -0
- package/node_modules/zod/v4/locales/ka.cjs +2 -0
- package/node_modules/zod/v4/locales/ka.js +2 -0
- package/node_modules/zod/v4/locales/km.cjs +2 -0
- package/node_modules/zod/v4/locales/km.js +2 -0
- package/node_modules/zod/v4/locales/kn.cjs +2 -0
- package/node_modules/zod/v4/locales/kn.js +2 -0
- package/node_modules/zod/v4/locales/ko.cjs +2 -0
- package/node_modules/zod/v4/locales/ko.js +2 -0
- package/node_modules/zod/v4/locales/lt.cjs +2 -0
- package/node_modules/zod/v4/locales/lt.js +2 -0
- package/node_modules/zod/v4/locales/mk.cjs +2 -0
- package/node_modules/zod/v4/locales/mk.js +2 -0
- package/node_modules/zod/v4/locales/ms.cjs +2 -0
- package/node_modules/zod/v4/locales/ms.js +2 -0
- package/node_modules/zod/v4/locales/ne.cjs +2 -0
- package/node_modules/zod/v4/locales/ne.js +2 -0
- package/node_modules/zod/v4/locales/nl.cjs +2 -0
- package/node_modules/zod/v4/locales/nl.js +2 -0
- package/node_modules/zod/v4/locales/nn.cjs +2 -0
- package/node_modules/zod/v4/locales/nn.js +2 -0
- package/node_modules/zod/v4/locales/no.cjs +2 -0
- package/node_modules/zod/v4/locales/no.js +2 -0
- package/node_modules/zod/v4/locales/ota.cjs +2 -0
- package/node_modules/zod/v4/locales/ota.js +2 -0
- package/node_modules/zod/v4/locales/pl.cjs +2 -0
- package/node_modules/zod/v4/locales/pl.js +2 -0
- package/node_modules/zod/v4/locales/ps.cjs +2 -0
- package/node_modules/zod/v4/locales/ps.js +2 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
- package/node_modules/zod/v4/locales/pt-BR.js +2 -0
- package/node_modules/zod/v4/locales/pt.cjs +2 -0
- package/node_modules/zod/v4/locales/pt.js +2 -0
- package/node_modules/zod/v4/locales/ro.cjs +2 -0
- package/node_modules/zod/v4/locales/ro.js +2 -0
- package/node_modules/zod/v4/locales/ru.cjs +2 -0
- package/node_modules/zod/v4/locales/ru.js +2 -0
- package/node_modules/zod/v4/locales/sk.cjs +2 -0
- package/node_modules/zod/v4/locales/sk.js +2 -0
- package/node_modules/zod/v4/locales/sl.cjs +2 -0
- package/node_modules/zod/v4/locales/sl.js +2 -0
- package/node_modules/zod/v4/locales/sv.cjs +2 -0
- package/node_modules/zod/v4/locales/sv.js +2 -0
- package/node_modules/zod/v4/locales/ta.cjs +2 -0
- package/node_modules/zod/v4/locales/ta.js +2 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +2 -0
- package/node_modules/zod/v4/locales/th.js +2 -0
- package/node_modules/zod/v4/locales/tk.cjs +2 -0
- package/node_modules/zod/v4/locales/tk.js +2 -0
- package/node_modules/zod/v4/locales/tr.cjs +2 -0
- package/node_modules/zod/v4/locales/tr.js +2 -0
- package/node_modules/zod/v4/locales/uk.cjs +2 -0
- package/node_modules/zod/v4/locales/uk.js +2 -0
- package/node_modules/zod/v4/locales/ur.cjs +2 -0
- package/node_modules/zod/v4/locales/ur.js +2 -0
- package/node_modules/zod/v4/locales/uz.cjs +2 -0
- package/node_modules/zod/v4/locales/uz.js +2 -0
- package/node_modules/zod/v4/locales/vi.cjs +2 -0
- package/node_modules/zod/v4/locales/vi.js +2 -0
- package/node_modules/zod/v4/locales/yo.cjs +2 -0
- package/node_modules/zod/v4/locales/yo.js +2 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
- package/node_modules/zod/v4/locales/zh-CN.js +2 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
- package/node_modules/zod/v4/locales/zh-TW.js +2 -0
- package/node_modules/zod/v4/mini/checks.cjs +19 -0
- package/node_modules/zod/v4/mini/coerce.cjs +19 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
- package/node_modules/zod/v4/mini/external.cjs +22 -1
- package/node_modules/zod/v4/mini/external.d.cts +1 -1
- package/node_modules/zod/v4/mini/external.d.ts +1 -1
- package/node_modules/zod/v4/mini/external.js +1 -1
- package/node_modules/zod/v4/mini/in-out.cjs +19 -0
- package/node_modules/zod/v4/mini/index.cjs +19 -0
- package/node_modules/zod/v4/mini/iso.cjs +19 -0
- package/node_modules/zod/v4/mini/parse.cjs +19 -0
- package/node_modules/zod/v4/mini/schemas.cjs +44 -8
- package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
- package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
- package/node_modules/zod/v4/mini/schemas.js +21 -6
- package/node_modules/zod/v4-mini/index.cjs +19 -0
- package/openclaw.plugin.json +49 -3
- package/package.json +8 -8
- package/dist/.setup/accounts.runtime-BpWv-6-2.mjs +0 -2
- package/dist/.setup/action-runtime.runtime-DwH3NdpT.mjs +0 -2
- package/dist/.setup/doctor-contract-CtMUqjvk.mjs +0 -186
- package/dist/.setup/monitor-Dw5uuKWM.mjs +0 -13
- package/dist/.setup/rolldown-runtime-D7D4PA-g.mjs +0 -13
- package/dist/.setup/send.runtime-BmqRP-WG.mjs +0 -2
- package/dist/.setup/slash-commands.runtime-BpSH0b3q.mjs +0 -2
- package/dist/.setup/slash-skill-commands.runtime-Bi1JWZHY.mjs +0 -2
- package/node_modules/undici/lib/handler/unwrap-handler.js +0 -106
- package/node_modules/undici/lib/handler/wrap-handler.js +0 -105
- package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
- package/node_modules/undici/lib/util/promise.js +0 -28
- /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-
|
|
4
|
-
import { f as
|
|
5
|
-
import {
|
|
1
|
+
import { r as __exportAll } from "./streaming-compat-C5Wut626.mjs";
|
|
2
|
+
import { d as resolveSlackOperationToken, s as resolveSlackAccount } from "./accounts-D_N9IqNA.mjs";
|
|
3
|
+
import { a as parseSlackTarget, t as canonicalizeSlackApiTargetId } from "./target-parsing-FFE26kOV.mjs";
|
|
4
|
+
import { D as SLACK_MESSAGE_TEXT_HARD_LIMIT, E as SLACK_EDIT_TEXT_MAX_BYTES, K as resolveSlackQuestionActionIds, M as truncateSlackTextByUtf8Bytes, O as SLACK_MESSAGE_TEXT_RECOMMENDED_LIMIT, R as SLACK_QUESTION_FINALIZATION_BLOCKS, S as stripSlackNativeDataBlocks, T as renderSlackBlockFallbackText, X as chunkSlackMrkdwnText, Z as markdownToSlackMrkdwnChunks, _ as createSlackNativeDataBaseTextConsumer, f as assertSlackDetachedTargetAllowed, g as buildSlackNativeDataAccessibilityText, h as appendSlackNativeDataPlainTextFallback, j as truncateSlackText, k as SLACK_TEXT_LIMIT, v as hasSlackNativeDataBlock, vt as validateSlackBlocksArray, w as buildSlackCompleteBlocksFallbackText, y as isSlackInvalidBlocksError } from "./session-status-DscajIsd.mjs";
|
|
5
|
+
import { _ as getSlackWriteClient, d as createSlackReadClient, h as createSlackWriteClient, o as formatSlackError, p as createSlackTokenCacheKey, s as getSlackWebApiErrorData } from "./probe-B2Y9qc_z.mjs";
|
|
6
|
+
import { r as resolveSlackThreadTsValue, t as normalizeSlackThreadTsCandidate } from "./thread-ts-Cvt7WD6B.mjs";
|
|
6
7
|
import { t as getOptionalSlackRuntime } from "./runtime-JSVZSWAj.mjs";
|
|
7
8
|
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
9
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
9
10
|
import { logVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
|
|
10
11
|
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
11
|
-
import { sliceUtf16Safe, truncateCodePoints } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
12
12
|
import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
|
|
13
|
+
import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
|
|
13
14
|
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
14
15
|
import { resolveTextChunksWithFallback } from "openclaw/plugin-sdk/reply-payload";
|
|
15
16
|
import { createHash, createHmac } from "node:crypto";
|
|
@@ -122,20 +123,21 @@ function buildSlackNativeDataDeliveryPlan(params) {
|
|
|
122
123
|
}
|
|
123
124
|
//#endregion
|
|
124
125
|
//#region extensions/slack/src/post-message-identity.ts
|
|
125
|
-
function
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
function buildSlackMessageIdentityPayload(identity) {
|
|
127
|
+
return {
|
|
128
|
+
...identity?.username ? { username: identity.username } : {},
|
|
129
|
+
...identity?.iconUrl ? { icon_url: identity.iconUrl } : identity?.iconEmoji ? { icon_emoji: identity.iconEmoji } : {}
|
|
130
|
+
};
|
|
129
131
|
}
|
|
130
132
|
function isSlackCustomizeScopeError(err) {
|
|
131
|
-
const data = getSlackWebApiErrorData
|
|
133
|
+
const data = getSlackWebApiErrorData(err);
|
|
132
134
|
if (normalizeLowercaseStringOrEmpty(normalizeOptionalString(data?.error)) !== "missing_scope") return false;
|
|
133
135
|
if (normalizeLowercaseStringOrEmpty(normalizeOptionalString(data?.needed)).includes("chat:write.customize")) return true;
|
|
134
136
|
return [...normalizeTrimmedStringList(data?.response_metadata?.scopes), ...normalizeTrimmedStringList(data?.response_metadata?.acceptedScopes)].map((scope) => normalizeLowercaseStringOrEmpty(scope)).includes("chat:write.customize");
|
|
135
137
|
}
|
|
136
138
|
function isSlackCustomIdentityRejectedError(err) {
|
|
137
139
|
if (isSlackCustomizeScopeError(err)) return true;
|
|
138
|
-
const data = getSlackWebApiErrorData
|
|
140
|
+
const data = getSlackWebApiErrorData(err);
|
|
139
141
|
const code = normalizeLowercaseStringOrEmpty(normalizeOptionalString(data?.error));
|
|
140
142
|
return code === "invalid_arguments" || code === "invalid_arg_name";
|
|
141
143
|
}
|
|
@@ -147,19 +149,9 @@ async function postSlackMessageWithIdentityFallback(params) {
|
|
|
147
149
|
const { basePayload, identity, post } = params;
|
|
148
150
|
try {
|
|
149
151
|
if (!identity) return await post(basePayload);
|
|
150
|
-
if (identity?.iconUrl) return await post({
|
|
151
|
-
...basePayload,
|
|
152
|
-
...identity.username ? { username: identity.username } : {},
|
|
153
|
-
icon_url: identity.iconUrl
|
|
154
|
-
}, identity);
|
|
155
|
-
if (identity?.iconEmoji) return await post({
|
|
156
|
-
...basePayload,
|
|
157
|
-
...identity.username ? { username: identity.username } : {},
|
|
158
|
-
icon_emoji: identity.iconEmoji
|
|
159
|
-
}, identity);
|
|
160
152
|
return await post({
|
|
161
153
|
...basePayload,
|
|
162
|
-
...identity
|
|
154
|
+
...buildSlackMessageIdentityPayload(identity)
|
|
163
155
|
}, identity);
|
|
164
156
|
} catch (err) {
|
|
165
157
|
if (!identity || !hasCustomIdentity$1(identity) || !isSlackCustomIdentityRejectedError(err)) throw err;
|
|
@@ -192,18 +184,10 @@ function buildSlackPostMessagePayload(params) {
|
|
|
192
184
|
reply_broadcast: true
|
|
193
185
|
} : params.threadTs ? { thread_ts: params.threadTs } : {};
|
|
194
186
|
const unfurlPayload = buildSlackUnfurlPayload(params.unfurl);
|
|
195
|
-
if (params.blocks?.length) return {
|
|
196
|
-
channel: params.channelId,
|
|
197
|
-
text: params.text,
|
|
198
|
-
blocks: params.blocks,
|
|
199
|
-
...params.metadata ? { metadata: params.metadata } : {},
|
|
200
|
-
...typeof params.mrkdwn === "boolean" ? { mrkdwn: params.mrkdwn } : {},
|
|
201
|
-
...threadPayload,
|
|
202
|
-
...unfurlPayload
|
|
203
|
-
};
|
|
204
187
|
return {
|
|
205
188
|
channel: params.channelId,
|
|
206
189
|
text: params.text,
|
|
190
|
+
...params.blocks?.length ? { blocks: params.blocks } : {},
|
|
207
191
|
...params.metadata ? { metadata: params.metadata } : {},
|
|
208
192
|
...typeof params.mrkdwn === "boolean" ? { mrkdwn: params.mrkdwn } : {},
|
|
209
193
|
...threadPayload,
|
|
@@ -509,10 +493,7 @@ function recordSlackThreadFailureNotice(params) {
|
|
|
509
493
|
if (threadFailureNotices.get(key) === fingerprint) return false;
|
|
510
494
|
threadFailureNotices.delete(key);
|
|
511
495
|
threadFailureNotices.set(key, fingerprint);
|
|
512
|
-
|
|
513
|
-
const oldestKey = threadFailureNotices.keys().next().value;
|
|
514
|
-
if (oldestKey !== void 0) threadFailureNotices.delete(oldestKey);
|
|
515
|
-
}
|
|
496
|
+
pruneMapToMaxSize(threadFailureNotices, MAX_FAILURE_NOTICES);
|
|
516
497
|
return true;
|
|
517
498
|
}
|
|
518
499
|
/** Clears a thread or channel outage notice after a healthy model turn completes. */
|
|
@@ -545,15 +526,19 @@ function readCachedSlackDmChannelId(params) {
|
|
|
545
526
|
function cacheSlackDmChannelId(params, channelId) {
|
|
546
527
|
const cache = getSlackDmChannelCache(params.cacheOwner);
|
|
547
528
|
const key = createSlackDmCacheKey(params);
|
|
548
|
-
|
|
549
|
-
else if (cache.size >= SLACK_DM_CHANNEL_CACHE_MAX) {
|
|
550
|
-
const oldest = cache.keys().next().value;
|
|
551
|
-
if (oldest) cache.delete(oldest);
|
|
552
|
-
}
|
|
529
|
+
cache.delete(key);
|
|
553
530
|
cache.set(key, channelId);
|
|
531
|
+
pruneMapToMaxSize(cache, SLACK_DM_CHANNEL_CACHE_MAX);
|
|
554
532
|
}
|
|
555
533
|
//#endregion
|
|
556
534
|
//#region extensions/slack/src/send.ts
|
|
535
|
+
var send_exports = /* @__PURE__ */ __exportAll({
|
|
536
|
+
reconcileSlackUnknownSend: () => reconcileSlackUnknownSend,
|
|
537
|
+
resolveSlackDmChannelId: () => resolveSlackDmChannelId,
|
|
538
|
+
sendMessageSlack: () => sendMessageSlack,
|
|
539
|
+
setSlackDefaultSendIdentity: () => setSlackDefaultSendIdentity,
|
|
540
|
+
updateMessageSlack: () => updateMessageSlack
|
|
541
|
+
});
|
|
557
542
|
const SLACK_DELIVERY_METADATA_EVENT = "openclaw_delivery";
|
|
558
543
|
const SLACK_DELIVERY_METADATA_KEY = "openclaw_delivery_id";
|
|
559
544
|
const SLACK_DELIVERY_METADATA_PART_INDEX_KEY = "openclaw_delivery_part_index";
|
|
@@ -594,12 +579,6 @@ function getSlackDefaultSendIdentity(accountId) {
|
|
|
594
579
|
function resolveSlackSendIdentity(params) {
|
|
595
580
|
return normalizeSlackSendIdentity(params.explicit) ?? getSlackDefaultSendIdentity(params.accountId);
|
|
596
581
|
}
|
|
597
|
-
function getSlackWebApiErrorData(err) {
|
|
598
|
-
if (!(err instanceof Error)) return;
|
|
599
|
-
const data = err.data;
|
|
600
|
-
if (!data || typeof data !== "object") return;
|
|
601
|
-
return data;
|
|
602
|
-
}
|
|
603
582
|
function formatSlackWebApiErrorMessage(err) {
|
|
604
583
|
if (!(err instanceof Error)) return;
|
|
605
584
|
const data = getSlackWebApiErrorData(err);
|
|
@@ -673,6 +652,19 @@ function createSlackSendReceiptFromResults(results, threadTs) {
|
|
|
673
652
|
});
|
|
674
653
|
return Object.assign(receipt, thread);
|
|
675
654
|
}
|
|
655
|
+
function createSlackSendResult(messageId, channelId, kind, threadTs) {
|
|
656
|
+
return {
|
|
657
|
+
messageId,
|
|
658
|
+
channelId,
|
|
659
|
+
threadTs,
|
|
660
|
+
receipt: createSlackSendReceipt({
|
|
661
|
+
platformMessageIds: [messageId],
|
|
662
|
+
channelId,
|
|
663
|
+
kind,
|
|
664
|
+
threadTs
|
|
665
|
+
})
|
|
666
|
+
};
|
|
667
|
+
}
|
|
676
668
|
function resolveToken(params) {
|
|
677
669
|
const explicit = normalizeOptionalString(params.explicit);
|
|
678
670
|
if (explicit) return explicit;
|
|
@@ -700,8 +692,7 @@ function parseEnterpriseEventRecipient(raw) {
|
|
|
700
692
|
id: canonicalizeSlackApiTargetId("channel", match[1])
|
|
701
693
|
};
|
|
702
694
|
}
|
|
703
|
-
function resolveSlackSendEventScope(
|
|
704
|
-
const scope = params.opts.eventScope;
|
|
695
|
+
function resolveSlackSendEventScope(scope) {
|
|
705
696
|
if (!scope) return;
|
|
706
697
|
if (!/^T[A-Z0-9]+$/i.test(scope.teamId) || !scope.client) throw new Error("invalid_enterprise_slack_listener_scope");
|
|
707
698
|
return scope;
|
|
@@ -746,53 +737,20 @@ function resolveSlackDelivery(params) {
|
|
|
746
737
|
}
|
|
747
738
|
});
|
|
748
739
|
}
|
|
749
|
-
function resolveSlackTextChunkLimit(params) {
|
|
750
|
-
const configuredLimit = params.textLimit ?? resolveTextChunkLimit(params.cfg, "slack", params.accountId, { fallbackLimit: 8e3 });
|
|
751
|
-
return Math.min(configuredLimit, SLACK_TEXT_LIMIT);
|
|
752
|
-
}
|
|
753
|
-
function resolveSlackTextChunks(params) {
|
|
754
|
-
const text = params.preservePlainText ? params.text : params.text.trim();
|
|
755
|
-
const chunkLimit = resolveSlackTextChunkLimit(params);
|
|
756
|
-
if (params.preservePlainText) {
|
|
757
|
-
const chunks = [];
|
|
758
|
-
let remaining = text;
|
|
759
|
-
while (remaining) {
|
|
760
|
-
const chunk = sliceUtf16Safe(remaining, 0, chunkLimit) || truncateCodePoints(remaining, 1);
|
|
761
|
-
chunks.push(chunk);
|
|
762
|
-
remaining = remaining.slice(chunk.length);
|
|
763
|
-
}
|
|
764
|
-
return chunks;
|
|
765
|
-
}
|
|
766
|
-
if (params.textIsSlackMrkdwn) return resolveTextChunksWithFallback(text, chunkSlackMrkdwnText(text, chunkLimit));
|
|
767
|
-
const tableMode = resolveMarkdownTableMode({
|
|
768
|
-
cfg: params.cfg,
|
|
769
|
-
channel: "slack",
|
|
770
|
-
...params.accountId ? { accountId: params.accountId } : {}
|
|
771
|
-
});
|
|
772
|
-
const chunkMode = resolveChunkMode(params.cfg, "slack", params.accountId);
|
|
773
|
-
const chunks = (chunkMode === "newline" ? chunkMarkdownTextWithMode(text, chunkLimit, chunkMode) : [text]).flatMap((markdown) => markdownToSlackMrkdwnChunks(markdown, chunkLimit, { tableMode }));
|
|
774
|
-
return resolveTextChunksWithFallback(text, chunks);
|
|
775
|
-
}
|
|
776
740
|
function createSlackSendQueueKey(params) {
|
|
777
741
|
const recipientKey = `${params.recipient.kind}:${params.recipient.id}`;
|
|
778
742
|
const workspaceScope = params.teamId ? `:${params.teamId}` : "";
|
|
779
743
|
return `${params.accountId}:${createSlackTokenCacheKey(params.token)}${workspaceScope}:${recipientKey}:${params.threadTs ?? ""}`;
|
|
780
744
|
}
|
|
781
|
-
async function runQueuedSlackSend(key, task) {
|
|
782
|
-
return await slackSendQueue.enqueue(key, task);
|
|
783
|
-
}
|
|
784
|
-
function isSlackUserRecipient(recipient) {
|
|
785
|
-
return recipient.kind === "user";
|
|
786
|
-
}
|
|
787
745
|
function resolveDirectUserPostChannelId(params) {
|
|
788
|
-
if (
|
|
746
|
+
if (params.recipient.kind !== "user" || params.hasMedia || params.threadTs) return;
|
|
789
747
|
return params.recipient.id;
|
|
790
748
|
}
|
|
791
749
|
function resolvePostedMessageChannelId(response, fallback) {
|
|
792
750
|
return (typeof response.channel === "string" ? normalizeOptionalString(response.channel) : null) ?? fallback;
|
|
793
751
|
}
|
|
794
752
|
async function resolveChannelId(client, recipient, params) {
|
|
795
|
-
if (
|
|
753
|
+
if (recipient.kind !== "user") return { channelId: recipient.id };
|
|
796
754
|
const cacheParams = {
|
|
797
755
|
cacheOwner: params.dmCacheOwner ?? client,
|
|
798
756
|
accountId: params.accountId,
|
|
@@ -814,6 +772,24 @@ async function resolveChannelId(client, recipient, params) {
|
|
|
814
772
|
cacheHit: false
|
|
815
773
|
};
|
|
816
774
|
}
|
|
775
|
+
function resolveSlackTextChunkLimit(params) {
|
|
776
|
+
const configuredLimit = params.textLimit ?? resolveTextChunkLimit(params.cfg, "slack", params.accountId, { fallbackLimit: 8e3 });
|
|
777
|
+
return Math.min(configuredLimit, SLACK_TEXT_LIMIT);
|
|
778
|
+
}
|
|
779
|
+
function resolveSlackTextChunks(params) {
|
|
780
|
+
const text = params.preservePlainText ? params.text : params.text.trim();
|
|
781
|
+
const chunkLimit = resolveSlackTextChunkLimit(params);
|
|
782
|
+
if (params.preservePlainText) return text ? chunkTextForOutbound(text, chunkLimit, { preserveWhitespace: true }) : [];
|
|
783
|
+
if (params.textIsSlackMrkdwn) return resolveTextChunksWithFallback(text, chunkSlackMrkdwnText(text, chunkLimit));
|
|
784
|
+
const tableMode = resolveMarkdownTableMode({
|
|
785
|
+
cfg: params.cfg,
|
|
786
|
+
channel: "slack",
|
|
787
|
+
...params.accountId ? { accountId: params.accountId } : {}
|
|
788
|
+
});
|
|
789
|
+
const chunkMode = resolveChunkMode(params.cfg, "slack", params.accountId);
|
|
790
|
+
const chunks = (chunkMode === "newline" ? chunkMarkdownTextWithMode(text, chunkLimit, chunkMode) : [text]).flatMap((markdown) => markdownToSlackMrkdwnChunks(markdown, chunkLimit, { tableMode }));
|
|
791
|
+
return resolveTextChunksWithFallback(text, chunks);
|
|
792
|
+
}
|
|
817
793
|
async function resolveSlackDmChannelId(params) {
|
|
818
794
|
return (await resolveChannelId(params.client, {
|
|
819
795
|
kind: "user",
|
|
@@ -915,22 +891,18 @@ async function scanSlackConversationForDelivery(params) {
|
|
|
915
891
|
let expectedPartCount;
|
|
916
892
|
const deliveryParts = /* @__PURE__ */ new Map();
|
|
917
893
|
for (let page = 0; page < SLACK_RECONCILE_MAX_PAGES; page += 1) {
|
|
918
|
-
const
|
|
919
|
-
channel: params.channelId,
|
|
920
|
-
ts: threadTs,
|
|
921
|
-
oldest: params.oldest,
|
|
922
|
-
latest: params.latest,
|
|
923
|
-
include_all_metadata: true,
|
|
924
|
-
limit: SLACK_RECONCILE_LIMIT,
|
|
925
|
-
...cursor ? { cursor } : {}
|
|
926
|
-
})) : await withSlackDnsRequestRetry("conversations.history", () => params.client.conversations.history({
|
|
894
|
+
const query = {
|
|
927
895
|
channel: params.channelId,
|
|
928
896
|
oldest: params.oldest,
|
|
929
897
|
latest: params.latest,
|
|
930
898
|
include_all_metadata: true,
|
|
931
899
|
limit: SLACK_RECONCILE_LIMIT,
|
|
932
900
|
...cursor ? { cursor } : {}
|
|
933
|
-
}
|
|
901
|
+
};
|
|
902
|
+
const response = threadTs ? await withSlackDnsRequestRetry("conversations.replies", () => params.client.conversations.replies({
|
|
903
|
+
...query,
|
|
904
|
+
ts: threadTs
|
|
905
|
+
})) : await withSlackDnsRequestRetry("conversations.history", () => params.client.conversations.history(query));
|
|
934
906
|
const matches = findSlackConversationDeliveryParts({
|
|
935
907
|
messages: asSlackConversationMessages(response),
|
|
936
908
|
queueId: params.queueId,
|
|
@@ -952,16 +924,7 @@ async function scanSlackConversationForDelivery(params) {
|
|
|
952
924
|
deliveryParts.set(match.partIndex, match);
|
|
953
925
|
}
|
|
954
926
|
if (expectedPartCount !== void 0 && deliveryParts.size === expectedPartCount) {
|
|
955
|
-
const
|
|
956
|
-
if (orderedParts.some((part) => !part)) return {
|
|
957
|
-
reconciliation: {
|
|
958
|
-
status: "unresolved",
|
|
959
|
-
error: "Slack history contains an invalid durable delivery marker set",
|
|
960
|
-
retryable: false
|
|
961
|
-
},
|
|
962
|
-
evidence: "conflict"
|
|
963
|
-
};
|
|
964
|
-
const completeParts = orderedParts;
|
|
927
|
+
const completeParts = [...deliveryParts.values()].toSorted((a, b) => a.partIndex - b.partIndex);
|
|
965
928
|
const reconciledThreadTs = completeParts[0]?.threadTs ?? params.threadTs;
|
|
966
929
|
const platformMessageIds = completeParts.map((part) => part.messageId);
|
|
967
930
|
return {
|
|
@@ -1029,7 +992,7 @@ async function reconcileSlackUnknownSend(ctx) {
|
|
|
1029
992
|
error: `Slack read token missing for account "${account.accountId}"`,
|
|
1030
993
|
retryable: false
|
|
1031
994
|
};
|
|
1032
|
-
const userRecipient =
|
|
995
|
+
const userRecipient = recipient.kind === "user";
|
|
1033
996
|
const writeToken = resolveSlackOperationToken(account, "write");
|
|
1034
997
|
if (userRecipient && !writeToken) return {
|
|
1035
998
|
status: "unresolved",
|
|
@@ -1092,7 +1055,7 @@ async function sendMessageSlack(to, message, opts) {
|
|
|
1092
1055
|
cfg,
|
|
1093
1056
|
accountId: opts.accountId
|
|
1094
1057
|
});
|
|
1095
|
-
const eventScope = resolveSlackSendEventScope(
|
|
1058
|
+
const eventScope = resolveSlackSendEventScope(opts.eventScope);
|
|
1096
1059
|
const recipient = eventScope ? parseEnterpriseEventRecipient(to) : parseRecipient(to);
|
|
1097
1060
|
if (!eventScope) assertSlackDetachedTargetAllowed(account.accountId, recipient.teamId);
|
|
1098
1061
|
const blocks = opts.blocks == null ? void 0 : validateSlackBlocksArray(opts.blocks);
|
|
@@ -1104,32 +1067,28 @@ async function sendMessageSlack(to, message, opts) {
|
|
|
1104
1067
|
opts: queuedOpts,
|
|
1105
1068
|
recipient
|
|
1106
1069
|
});
|
|
1107
|
-
const
|
|
1070
|
+
const queueKey = createSlackSendQueueKey({
|
|
1108
1071
|
accountId: account.accountId,
|
|
1109
1072
|
token: delivery.credential,
|
|
1110
1073
|
recipient: delivery.recipient,
|
|
1111
1074
|
threadTs: opts.threadTs,
|
|
1112
1075
|
teamId: delivery.teamId
|
|
1113
|
-
})
|
|
1076
|
+
});
|
|
1077
|
+
const result = await slackSendQueue.enqueue(queueKey, () => sendMessageSlackQueued({
|
|
1114
1078
|
trimmedMessage,
|
|
1115
1079
|
opts: queuedOpts,
|
|
1116
1080
|
cfg,
|
|
1117
1081
|
account,
|
|
1118
1082
|
blocks,
|
|
1119
1083
|
delivery
|
|
1084
|
+
}).catch((err) => {
|
|
1085
|
+
throw enrichSlackWebApiError(err);
|
|
1120
1086
|
}));
|
|
1121
1087
|
const threadTs = result.threadTs ?? normalizeSlackThreadTsCandidate(queuedOpts.threadTs);
|
|
1122
1088
|
if (threadTs && result.channelId && account.accountId) recordSlackThreadParticipation(account.accountId, result.channelId, threadTs, { teamId: delivery.teamId });
|
|
1123
1089
|
return result;
|
|
1124
1090
|
}
|
|
1125
1091
|
async function sendMessageSlackQueued(params) {
|
|
1126
|
-
try {
|
|
1127
|
-
return await sendMessageSlackQueuedInner(params);
|
|
1128
|
-
} catch (err) {
|
|
1129
|
-
throw enrichSlackWebApiError(err);
|
|
1130
|
-
}
|
|
1131
|
-
}
|
|
1132
|
-
async function sendMessageSlackQueuedInner(params) {
|
|
1133
1092
|
const { opts, cfg, account, blocks, trimmedMessage, delivery } = params;
|
|
1134
1093
|
const { client, identity, recipient, unfurl } = delivery;
|
|
1135
1094
|
if (opts.replyBroadcast && opts.mediaUrl) throw new Error("Slack replyBroadcast is only supported for text or block thread replies.");
|
|
@@ -1179,20 +1138,36 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1179
1138
|
blocks,
|
|
1180
1139
|
textLimit: textChunkLimit
|
|
1181
1140
|
}) : void 0;
|
|
1182
|
-
const orderedBlockAccessibilityText = blocks && usesOrderedBlockAccessibility ? orderedBlockDeliveryPlan?.accessibilityText ?? (buildSlackNativeDataAccessibilityText(nativeDataFallbackBase, blocks) || "Slack could not render this Block Kit message.") : void 0;
|
|
1183
1141
|
const completeBlockFallbackText = blocks ? buildSlackCompleteBlocksFallbackText(blocks) : "";
|
|
1184
1142
|
const rawBlockAccessibilityText = trimmedMessage ? [trimmedMessage, ...completeBlockFallbackText.includes(trimmedMessage) ? [] : [completeBlockFallbackText]].join("\n\n") : completeBlockFallbackText;
|
|
1185
|
-
const blockAccessibilityText = blocks ?
|
|
1186
|
-
let pendingBlockFallback =
|
|
1143
|
+
const blockAccessibilityText = blocks ? orderedBlockDeliveryPlan?.accessibilityText ?? rawBlockAccessibilityText : void 0;
|
|
1144
|
+
let pendingBlockFallback = orderedBlockDeliveryPlan?.skipOriginalBlocks ? orderedBlockDeliveryPlan : void 0;
|
|
1187
1145
|
let lastMessageId = "";
|
|
1188
1146
|
let deliveredChannelId = channelId;
|
|
1189
1147
|
let canonicalDeliveredThreadTs;
|
|
1190
1148
|
let sendIdentity = identity;
|
|
1149
|
+
const postPart = async (part) => {
|
|
1150
|
+
const posted = await postSlackMessageBestEffort({
|
|
1151
|
+
client,
|
|
1152
|
+
channelId,
|
|
1153
|
+
threadTs: opts.threadTs,
|
|
1154
|
+
identity: sendIdentity,
|
|
1155
|
+
unfurl,
|
|
1156
|
+
...part
|
|
1157
|
+
});
|
|
1158
|
+
const { response } = posted;
|
|
1159
|
+
sendIdentity = posted.identity;
|
|
1160
|
+
lastMessageId = response.ts;
|
|
1161
|
+
deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
|
|
1162
|
+
const responseThreadTs = resolvePostedMessageThreadTs(response);
|
|
1163
|
+
canonicalDeliveredThreadTs ??= responseThreadTs;
|
|
1164
|
+
return await reportDelivery(createSlackSendResult(response.ts, deliveredChannelId, part.blocks ? "card" : "text", responseThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs)), part.blocks);
|
|
1165
|
+
};
|
|
1191
1166
|
if (blocks && opts.mediaUrl) throw new Error("Slack send does not support blocks with mediaUrl");
|
|
1192
1167
|
if (blocks) {
|
|
1193
1168
|
if (pendingBlockFallback) logVerbose("slack send: native data accessibility exceeds hard limit, using text fallback");
|
|
1194
1169
|
else {
|
|
1195
|
-
const accessibilityText =
|
|
1170
|
+
const accessibilityText = usesOrderedBlockAccessibility ? blockAccessibilityText ?? "Slack could not render this Block Kit message." : truncateSlackText(blockAccessibilityText ?? "", SLACK_TEXT_LIMIT);
|
|
1196
1171
|
const initialBlockMetadata = withSlackDeliveryMetadata(opts.metadata, {
|
|
1197
1172
|
queueId: opts.deliveryQueueId,
|
|
1198
1173
|
channelId,
|
|
@@ -1202,32 +1177,13 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1202
1177
|
});
|
|
1203
1178
|
await dispatchOnce();
|
|
1204
1179
|
try {
|
|
1205
|
-
|
|
1206
|
-
client,
|
|
1207
|
-
channelId,
|
|
1180
|
+
return await postPart({
|
|
1208
1181
|
text: accessibilityText,
|
|
1209
|
-
threadTs: opts.threadTs,
|
|
1210
1182
|
replyBroadcast: opts.replyBroadcast,
|
|
1211
|
-
identity,
|
|
1212
1183
|
blocks,
|
|
1213
1184
|
metadata: initialBlockMetadata,
|
|
1214
|
-
...usesOrderedBlockAccessibility ? { mrkdwn: false } : {}
|
|
1215
|
-
unfurl
|
|
1185
|
+
...usesOrderedBlockAccessibility ? { mrkdwn: false } : {}
|
|
1216
1186
|
});
|
|
1217
|
-
const messageId = response.ts;
|
|
1218
|
-
deliveredChannelId = resolvePostedMessageChannelId(response, channelId);
|
|
1219
|
-
const deliveredThreadTs = resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
1220
|
-
return await reportDelivery({
|
|
1221
|
-
messageId,
|
|
1222
|
-
channelId: deliveredChannelId,
|
|
1223
|
-
threadTs: deliveredThreadTs,
|
|
1224
|
-
receipt: createSlackSendReceipt({
|
|
1225
|
-
platformMessageIds: [messageId],
|
|
1226
|
-
channelId: deliveredChannelId,
|
|
1227
|
-
kind: "card",
|
|
1228
|
-
threadTs: deliveredThreadTs
|
|
1229
|
-
})
|
|
1230
|
-
}, blocks);
|
|
1231
1187
|
} catch (error) {
|
|
1232
1188
|
if (!hasNativeData || !isSlackInvalidBlocksError(error)) throw error;
|
|
1233
1189
|
logVerbose("slack send: native data rejected, delivering complete text fallback");
|
|
@@ -1246,35 +1202,13 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1246
1202
|
partCount: fallbackMessages.length
|
|
1247
1203
|
});
|
|
1248
1204
|
if (partIndex === 0) await dispatchOnce();
|
|
1249
|
-
const
|
|
1250
|
-
client,
|
|
1251
|
-
channelId,
|
|
1205
|
+
const fallbackDelivery = await postPart({
|
|
1252
1206
|
text: fallback.text,
|
|
1253
|
-
threadTs: opts.threadTs,
|
|
1254
1207
|
replyBroadcast: partIndex === 0 ? opts.replyBroadcast : void 0,
|
|
1255
|
-
identity: sendIdentity,
|
|
1256
1208
|
...fallback.blocks ? { blocks: fallback.blocks } : {},
|
|
1257
1209
|
metadata,
|
|
1258
|
-
mrkdwn: false
|
|
1259
|
-
unfurl
|
|
1210
|
+
mrkdwn: false
|
|
1260
1211
|
});
|
|
1261
|
-
const response = posted.response;
|
|
1262
|
-
sendIdentity = posted.identity;
|
|
1263
|
-
lastMessageId = response.ts;
|
|
1264
|
-
deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
|
|
1265
|
-
canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
|
|
1266
|
-
const deliveredThreadTs = resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
1267
|
-
const fallbackDelivery = await reportDelivery({
|
|
1268
|
-
messageId: response.ts,
|
|
1269
|
-
channelId: deliveredChannelId,
|
|
1270
|
-
threadTs: deliveredThreadTs,
|
|
1271
|
-
receipt: createSlackSendReceipt({
|
|
1272
|
-
platformMessageIds: [response.ts],
|
|
1273
|
-
channelId: deliveredChannelId,
|
|
1274
|
-
kind: fallback.blocks ? "card" : "text",
|
|
1275
|
-
threadTs: deliveredThreadTs
|
|
1276
|
-
})
|
|
1277
|
-
}, fallback.blocks);
|
|
1278
1212
|
if (fallbackDelivery.meta?.slackQuestionActionIds.length) questionDelivery = fallbackDelivery;
|
|
1279
1213
|
}
|
|
1280
1214
|
const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
@@ -1320,17 +1254,7 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1320
1254
|
assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff,
|
|
1321
1255
|
...delivery.upload ? { auditContext: delivery.upload.auditContext } : {}
|
|
1322
1256
|
});
|
|
1323
|
-
await reportDelivery(
|
|
1324
|
-
messageId: lastMessageId,
|
|
1325
|
-
channelId,
|
|
1326
|
-
threadTs: normalizeSlackThreadTsCandidate(opts.threadTs),
|
|
1327
|
-
receipt: createSlackSendReceipt({
|
|
1328
|
-
platformMessageIds: [lastMessageId],
|
|
1329
|
-
channelId,
|
|
1330
|
-
kind: "media",
|
|
1331
|
-
threadTs: normalizeSlackThreadTsCandidate(opts.threadTs)
|
|
1332
|
-
})
|
|
1333
|
-
});
|
|
1257
|
+
await reportDelivery(createSlackSendResult(lastMessageId, channelId, "media", normalizeSlackThreadTsCandidate(opts.threadTs)));
|
|
1334
1258
|
chunksToPost = rest;
|
|
1335
1259
|
} else chunksToPost = resolvedChunks.length ? resolvedChunks : [""];
|
|
1336
1260
|
for (const [partIndex, chunk] of chunksToPost.entries()) {
|
|
@@ -1344,32 +1268,11 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1344
1268
|
partCount: chunksToPost.length
|
|
1345
1269
|
});
|
|
1346
1270
|
if (partIndex === 0 && !opts.mediaUrl) await dispatchOnce();
|
|
1347
|
-
|
|
1348
|
-
client,
|
|
1349
|
-
channelId,
|
|
1271
|
+
await postPart({
|
|
1350
1272
|
text: chunk,
|
|
1351
|
-
threadTs: opts.threadTs,
|
|
1352
1273
|
replyBroadcast: carriesPrimaryMessageOptions ? opts.replyBroadcast : void 0,
|
|
1353
|
-
identity: sendIdentity,
|
|
1354
1274
|
metadata,
|
|
1355
|
-
...opts.textIsSlackPlainText ? { mrkdwn: false } : {}
|
|
1356
|
-
unfurl
|
|
1357
|
-
});
|
|
1358
|
-
const response = posted.response;
|
|
1359
|
-
sendIdentity = posted.identity;
|
|
1360
|
-
lastMessageId = response.ts;
|
|
1361
|
-
deliveredChannelId = resolvePostedMessageChannelId(response, deliveredChannelId);
|
|
1362
|
-
canonicalDeliveredThreadTs ??= resolvePostedMessageThreadTs(response);
|
|
1363
|
-
await reportDelivery({
|
|
1364
|
-
messageId: response.ts,
|
|
1365
|
-
channelId: deliveredChannelId,
|
|
1366
|
-
threadTs: resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs),
|
|
1367
|
-
receipt: createSlackSendReceipt({
|
|
1368
|
-
platformMessageIds: [response.ts],
|
|
1369
|
-
channelId: deliveredChannelId,
|
|
1370
|
-
kind: "text",
|
|
1371
|
-
threadTs: resolvePostedMessageThreadTs(response) ?? normalizeSlackThreadTsCandidate(opts.threadTs)
|
|
1372
|
-
})
|
|
1275
|
+
...opts.textIsSlackPlainText ? { mrkdwn: false } : {}
|
|
1373
1276
|
});
|
|
1374
1277
|
}
|
|
1375
1278
|
const deliveredThreadTs = canonicalDeliveredThreadTs ?? normalizeSlackThreadTsCandidate(opts.threadTs);
|
|
@@ -1381,4 +1284,4 @@ async function sendMessageSlackQueuedInner(params) {
|
|
|
1381
1284
|
};
|
|
1382
1285
|
}
|
|
1383
1286
|
//#endregion
|
|
1384
|
-
export {
|
|
1287
|
+
export { clearSlackThreadParticipationCache as a, hasSlackThreadParticipationWithPersistence as c, requireSlackPostMessageTimestamp as d, buildSlackMessageIdentityPayload as f, clearSlackThreadFailureNotice as i, recordSlackThreadFailureNotice as l, chunkSlackTextAtHardLimit as m, send_exports as n, hasSlackThreadFailureNotice as o, buildSlackNativeDataDeliveryPlan as p, setSlackDefaultSendIdentity as r, hasSlackThreadParticipation as s, sendMessageSlack as t, recordSlackThreadParticipation as u };
|