@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,84 +1,212 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* **keepAliveMaxTimeout** `number | null` (optional) - Default: `600e3` - The maximum allowed `keepAliveTimeout`, in milliseconds, when overridden by *keep-alive* hints from the server. Defaults to 10 minutes.
|
|
23
|
-
* **keepAliveTimeout** `number | null` (optional) - Default: `4e3` - The timeout, in milliseconds, after which a socket without active requests will time out. Monitors time between activity on a connected socket. This value may be overridden by *keep-alive* hints from the server. See [MDN: HTTP - Headers - Keep-Alive directives](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Keep-Alive#directives) for more details. Defaults to 4 seconds.
|
|
24
|
-
* **keepAliveTimeoutThreshold** `number | null` (optional) - Default: `2e3` - A number of milliseconds subtracted from server *keep-alive* hints when overriding `keepAliveTimeout` to account for timing inaccuracies caused by e.g. transport latency. Defaults to 2 seconds.
|
|
25
|
-
* **maxHeaderSize** `number | null` (optional) - Default: `--max-http-header-size` or `16384` - The maximum length of request headers in bytes. Defaults to Node.js' --max-http-header-size or 16KiB.
|
|
26
|
-
* **maxResponseSize** `number | null` (optional) - Default: `-1` - The maximum length of response body in bytes. Set to `-1` to disable.
|
|
27
|
-
* **webSocket** `WebSocketOptions` (optional) - WebSocket-specific configuration options.
|
|
28
|
-
* **maxFragments** `number` (optional) - Default: `131072` - Maximum number of fragments in a message. Set to 0 to disable the limit.
|
|
29
|
-
* **maxPayloadSize** `number` (optional) - Default: `134217728` (128 MB) - Maximum allowed payload size in bytes for WebSocket messages. Applied to uncompressed messages, compressed frame payloads, and decompressed (permessage-deflate) messages. Set to 0 to disable the limit.
|
|
30
|
-
* **pipelining** `number | null` (optional) - Default: `1` - The amount of concurrent requests to be sent over the single TCP/TLS connection according to [RFC7230](https://tools.ietf.org/html/rfc7230#section-6.3.2). Carefully consider your workload and environment before enabling concurrent requests as pipelining may reduce performance if used incorrectly. Pipelining is sensitive to network stack settings as well as head of line blocking caused by e.g. long running requests. Set to `0` to disable keep-alive connections.
|
|
31
|
-
* **connect** `ConnectOptions | Function | null` (optional) - Default: `null`.
|
|
32
|
-
* **strictContentLength** `Boolean` (optional) - Default: `true` - Whether to treat request content length mismatches as errors. If true, an error is thrown when the request content-length header doesn't match the length of the request body. **Security Warning:** Disabling this option can expose your application to HTTP Request Smuggling attacks, where mismatched content-length headers cause servers and proxies to interpret request boundaries differently. This can lead to cache poisoning, credential hijacking, and bypassing security controls. Only disable this in controlled environments where you fully trust the request source.
|
|
33
|
-
* **autoSelectFamily**: `boolean` (optional) - Default: depends on local Node version, on Node 18.13.0 and above is `false`. Enables a family autodetection algorithm that loosely implements section 5 of [RFC 8305](https://tools.ietf.org/html/rfc8305#section-5). See [here](https://nodejs.org/api/net.html#socketconnectoptions-connectlistener) for more details. This option is ignored if not supported by the current Node version.
|
|
34
|
-
* **autoSelectFamilyAttemptTimeout**: `number` - Default: depends on local Node version, on Node 18.13.0 and above is `250`. The amount of time in milliseconds to wait for a connection attempt to finish before trying the next address when using the `autoSelectFamily` option. See [here](https://nodejs.org/api/net.html#socketconnectoptions-connectlistener) for more details.
|
|
35
|
-
* **allowH2**: `boolean` - Default: `false`. Enables support for H2 if the server has assigned bigger priority to it through ALPN negotiation.
|
|
36
|
-
* **useH2c**: `boolean` - Default: `false`. Enforces h2c for non-https connections.
|
|
37
|
-
* **maxConcurrentStreams**: `number` - Default: `100`. Dictates the maximum number of concurrent streams for a single H2 session. It can be overridden by a SETTINGS remote frame.
|
|
38
|
-
* **initialWindowSize**: `number` (optional) - Default: `262144` (256KB). Sets the HTTP/2 stream-level flow-control window size (SETTINGS_INITIAL_WINDOW_SIZE). Must be a positive integer greater than 0. This default is higher than Node.js core's default (65535 bytes) to improve throughput, Node's choice is very conservative for current high-bandwith networks. See [RFC 7540 Section 6.9.2](https://datatracker.ietf.org/doc/html/rfc7540#section-6.9.2) for more details.
|
|
39
|
-
* **connectionWindowSize**: `number` (optional) - Default `524288` (512KB). Sets the HTTP/2 connection-level flow-control window size using `ClientHttp2Session.setLocalWindowSize()`. Must be a positive integer greater than 0. This provides better flow control for the entire connection across multiple streams. See [Node.js HTTP/2 documentation](https://nodejs.org/api/http2.html#clienthttp2sessionsetlocalwindowsize) for more details.
|
|
40
|
-
* **pingInterval**: `number` - Default: `60e3`. The time interval in milliseconds between PING frames sent to the server. Set to `0` to disable PING frames. This is only applicable for HTTP/2 connections. This will emit a `ping` event on the client with the duration of the ping in milliseconds.
|
|
41
|
-
|
|
42
|
-
> **Notes about HTTP/2**
|
|
43
|
-
> - It only works under TLS connections. h2c is not supported.
|
|
44
|
-
> - The server must support HTTP/2 and choose it as the protocol during the ALPN negotiation.
|
|
45
|
-
> - The server must not have a bigger priority for HTTP/1.1 than HTTP/2.
|
|
46
|
-
> - Pseudo headers are automatically attached to the request. If you try to set them, they will be overwritten.
|
|
47
|
-
> - The `:path` header is automatically set to the request path.
|
|
48
|
-
> - The `:method` header is automatically set to the request method.
|
|
49
|
-
> - The `:scheme` header is automatically set to the request scheme.
|
|
50
|
-
> - The `:authority` header is automatically set to the request `host[:port]`.
|
|
51
|
-
> - `PUSH` frames are yet not supported.
|
|
52
|
-
|
|
53
|
-
#### Parameter: `ConnectOptions`
|
|
54
|
-
|
|
55
|
-
Every Tls option, see [here](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback).
|
|
56
|
-
Furthermore, the following options can be passed:
|
|
57
|
-
|
|
58
|
-
* **socketPath** `string | null` (optional) - Default: `null` - An IPC endpoint, either Unix domain socket or Windows named pipe.
|
|
59
|
-
* **maxCachedSessions** `number | null` (optional) - Default: `100` - Maximum number of TLS cached sessions. Use 0 to disable TLS session caching. Default: 100.
|
|
60
|
-
* **timeout** `number | null` (optional) - In milliseconds, Default `10e3`.
|
|
61
|
-
* **servername** `string | null` (optional)
|
|
62
|
-
* **keepAlive** `boolean | null` (optional) - Default: `true` - TCP keep-alive enabled
|
|
63
|
-
* **keepAliveInitialDelay** `number | null` (optional) - Default: `60000` - TCP keep-alive interval for the socket in milliseconds
|
|
64
|
-
|
|
65
|
-
### Example - Basic Client instantiation
|
|
66
|
-
|
|
67
|
-
This will instantiate the undici Client, but it will not connect to the origin until something is queued. Consider using `client.connect` to prematurely connect to the origin, or just call `client.request`.
|
|
68
|
-
|
|
69
|
-
```js
|
|
70
|
-
'use strict'
|
|
1
|
+
# Client
|
|
2
|
+
|
|
3
|
+
<!--introduced_in=v1.0.0-->
|
|
4
|
+
|
|
5
|
+
<!--type=module-->
|
|
6
|
+
|
|
7
|
+
<!-- source_link=lib/dispatcher/client.js -->
|
|
8
|
+
|
|
9
|
+
> Stability: 2 - Stable
|
|
10
|
+
|
|
11
|
+
A basic HTTP/1.1 client mapped on top of a single TCP/TLS connection. When the
|
|
12
|
+
server supports HTTP/2 and selects it during ALPN negotiation, the same
|
|
13
|
+
connection is used for HTTP/2. Pipelining is disabled by default.
|
|
14
|
+
|
|
15
|
+
`Client` extends [`Dispatcher`][] and is the lowest-level dispatcher in undici:
|
|
16
|
+
it manages exactly one origin over one connection. For pooling across multiple
|
|
17
|
+
connections use [`Pool`][], and for routing across multiple origins use
|
|
18
|
+
[`Agent`][]. Requests are not guaranteed to be dispatched in the order in which
|
|
19
|
+
they are invoked.
|
|
20
|
+
|
|
21
|
+
```mjs
|
|
71
22
|
import { Client } from 'undici'
|
|
72
23
|
|
|
73
24
|
const client = new Client('http://localhost:3000')
|
|
25
|
+
const { statusCode, body } = await client.request({ path: '/', method: 'GET' })
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Class: `Client`
|
|
29
|
+
|
|
30
|
+
<!-- YAML
|
|
31
|
+
added: v1.0.0
|
|
32
|
+
-->
|
|
33
|
+
|
|
34
|
+
* Extends: {Dispatcher}
|
|
35
|
+
|
|
36
|
+
### `new Client(url[, options])`
|
|
37
|
+
|
|
38
|
+
<!-- YAML
|
|
39
|
+
added: v1.0.0
|
|
40
|
+
-->
|
|
41
|
+
|
|
42
|
+
* `url` {URL|string} The origin to connect to. Only the protocol, hostname, and
|
|
43
|
+
port are used.
|
|
44
|
+
* `options` {Object} (optional)
|
|
45
|
+
* `bodyTimeout` {number|null} The timeout, in milliseconds, after which a
|
|
46
|
+
request times out while receiving body data. Monitors the time between
|
|
47
|
+
consecutive body chunks. Use `0` to disable it entirely. **Default:**
|
|
48
|
+
`300e3`.
|
|
49
|
+
* `headersTimeout` {number|null} The timeout, in milliseconds, the parser
|
|
50
|
+
waits to receive the complete HTTP headers before the request times out. Use
|
|
51
|
+
`0` to disable it entirely. **Default:** `300e3`.
|
|
52
|
+
HTTP/1.1 headers/body parser timeouts are not guaranteed to fire with exact
|
|
53
|
+
millisecond precision: delays up to 1000ms use native timers, while larger
|
|
54
|
+
delays use undici's lower-overhead fast timers with a target resolution
|
|
55
|
+
around 500ms.
|
|
56
|
+
* `connectTimeout` {number|null} The timeout, in milliseconds, for
|
|
57
|
+
establishing a socket connection. Use `0` to disable it entirely.
|
|
58
|
+
**Default:** `10e3`.
|
|
59
|
+
* `keepAliveTimeout` {number|null} The timeout, in milliseconds, after which a
|
|
60
|
+
socket with no active requests times out. Monitors the time between activity
|
|
61
|
+
on a connected socket. This value may be overridden by *keep-alive* hints
|
|
62
|
+
from the server. **Default:** `4e3`.
|
|
63
|
+
* `keepAliveMaxTimeout` {number|null} The maximum allowed `keepAliveTimeout`,
|
|
64
|
+
in milliseconds, when overridden by *keep-alive* hints from the server.
|
|
65
|
+
**Default:** `600e3`.
|
|
66
|
+
* `keepAliveTimeoutThreshold` {number|null} A number of milliseconds
|
|
67
|
+
subtracted from server *keep-alive* hints when overriding `keepAliveTimeout`,
|
|
68
|
+
to account for timing inaccuracies caused by e.g. transport latency.
|
|
69
|
+
**Default:** `2e3`.
|
|
70
|
+
* `maxHeaderSize` {number|null} The maximum length of request headers, in
|
|
71
|
+
bytes. **Default:** the value of Node.js' `--max-http-header-size` or
|
|
72
|
+
`16384` (16 KiB).
|
|
73
|
+
* `maxResponseSize` {number|null} The maximum length of a response body, in
|
|
74
|
+
bytes. Set to `-1` to disable it. **Default:** `-1`.
|
|
75
|
+
* `maxRequestsPerClient` {number|null} The maximum number of requests to send
|
|
76
|
+
over a single connection before the socket is reset. Use `0` to disable this
|
|
77
|
+
limit. **Default:** `null`.
|
|
78
|
+
* `localAddress` {string|null} The local IP address the socket should connect
|
|
79
|
+
from. **Default:** `null`.
|
|
80
|
+
* `pipelining` {number|null} The number of concurrent requests sent over the
|
|
81
|
+
single connection, per [RFC 7230, section 6.3.2][]. Only enable values
|
|
82
|
+
greater than `1` when the remote server is trusted. Set to `0` to disable
|
|
83
|
+
keep-alive connections. Has no effect once HTTP/2 is negotiated; see
|
|
84
|
+
`maxConcurrentStreams` for the HTTP/2 dispatch ceiling. **Default:** `1`.
|
|
85
|
+
* `connect` {Object|Function|null} Configures how connections are established.
|
|
86
|
+
Either a `ConnectOptions` object passed to the built-in
|
|
87
|
+
[`buildConnector`][] (every [`tls.connect()`][] option is accepted, plus the
|
|
88
|
+
fields below), or a custom connector function with the signature
|
|
89
|
+
`(options, callback)`. **Default:** `null`.
|
|
90
|
+
* `socketPath` {string|null} An IPC endpoint, either a Unix domain socket or
|
|
91
|
+
a Windows named pipe. **Default:** `null`.
|
|
92
|
+
* `maxCachedSessions` {number|null} The maximum number of cached TLS
|
|
93
|
+
sessions. Use `0` to disable TLS session caching. **Default:** `100`.
|
|
94
|
+
* `timeout` {number|null} The connection timeout, in milliseconds.
|
|
95
|
+
**Default:** `10e3`.
|
|
96
|
+
* `servername` {string|null} The TLS server name used for SNI.
|
|
97
|
+
* `keepAlive` {boolean|null} Whether TCP keep-alive is enabled on the socket.
|
|
98
|
+
**Default:** `true`.
|
|
99
|
+
* `keepAliveInitialDelay` {number|null} The TCP keep-alive interval for the
|
|
100
|
+
socket, in milliseconds. **Default:** `60000`.
|
|
101
|
+
* `strictContentLength` {boolean} Whether to throw when the request
|
|
102
|
+
`content-length` header does not match the length of the request body.
|
|
103
|
+
Disabling this exposes the application to HTTP request smuggling; only do so
|
|
104
|
+
in controlled environments where the request source is fully trusted.
|
|
105
|
+
**Default:** `true`.
|
|
106
|
+
* `autoSelectFamily` {boolean} Enables a family autodetection algorithm that
|
|
107
|
+
loosely implements section 5 of [RFC 8305][]. Ignored if unsupported by the
|
|
108
|
+
current Node.js version. **Default:** `false`.
|
|
109
|
+
* `autoSelectFamilyAttemptTimeout` {number} The time, in milliseconds, to wait
|
|
110
|
+
for a connection attempt to finish before trying the next address when
|
|
111
|
+
`autoSelectFamily` is enabled. **Default:** `250`.
|
|
112
|
+
* `allowH2` {boolean} Enables HTTP/2 support when the server assigns it a
|
|
113
|
+
higher priority through ALPN negotiation. **Default:** `true`.
|
|
114
|
+
* `useH2c` {boolean} _Deprecated: use h2Options.useH2c instead_ Enforces h2c (HTTP/2 cleartext) for non-HTTPS
|
|
115
|
+
connections. **Default:** `false`.
|
|
116
|
+
* `maxConcurrentStreams` {number} _Deprecated: use h2Options.useH2c instead_ The maximum number of concurrent HTTP/2
|
|
117
|
+
streams for a single session. Once h2 is negotiated this — not `pipelining`,
|
|
118
|
+
which is HTTP/1.1 only — is the ceiling used to dispatch in-flight requests.
|
|
119
|
+
It may be overridden by the server's `SETTINGS_MAX_CONCURRENT_STREAMS`
|
|
120
|
+
frame. **Default:** `100`.
|
|
121
|
+
* `connectionWindowSize` {number} _Deprecated: use h2Options.connectionWindowSize instead_ The HTTP/2 connection-level flow-control
|
|
122
|
+
window size set via `ClientHttp2Session.setLocalWindowSize()`. Must be a
|
|
123
|
+
positive integer. **Default:** `524288`.
|
|
124
|
+
* `pingInterval` {number} _Deprecated: use h2Options.pingInterval instead_ The time interval, in milliseconds, between HTTP/2
|
|
125
|
+
PING frames. Set to `0` to disable PING frames. Applies only to HTTP/2
|
|
126
|
+
connections and emits a `ping` event on the client. **Default:** `60e3`.
|
|
127
|
+
* `h2Options` {object} Set of options for HTTP/2 sessions
|
|
128
|
+
* `useH2c` {boolean} Enforces h2c (HTTP/2 cleartext) for non-HTTPS
|
|
129
|
+
connections. **Default:** `false`.
|
|
130
|
+
* `maxConcurrentStreams` {number} The maximum number of concurrent HTTP/2
|
|
131
|
+
streams for a single session. Once h2 is negotiated this — not `pipelining`,
|
|
132
|
+
which is HTTP/1.1 only — is the ceiling used to dispatch in-flight requests.
|
|
133
|
+
It may be overridden by the server's `SETTINGS_MAX_CONCURRENT_STREAMS`
|
|
134
|
+
frame. **Default:** `100`.
|
|
135
|
+
* `connectionWindowSize` {number} The HTTP/2 connection-level flow-control
|
|
136
|
+
window size set via `ClientHttp2Session.setLocalWindowSize()`. Must be a
|
|
137
|
+
positive integer. **Default:** `524288`.
|
|
138
|
+
* `pingInterval` {number} The time interval, in milliseconds, between HTTP/2
|
|
139
|
+
PING frames. Set to `0` to disable PING frames. Applies only to HTTP/2
|
|
140
|
+
connections and emits a `ping` event on the client. **Default:** `60e3`.
|
|
141
|
+
* `settings` {object} `SETTINGS` frame options. For full reference, take a
|
|
142
|
+
look to [HTTP/2#Settings Object](https://nodejs.org/api/http2.html#settings-object)
|
|
143
|
+
* `webSocket` {Object} (optional) WebSocket-specific configuration.
|
|
144
|
+
* `maxFragments` {number} The maximum number of fragments in a message. Set
|
|
145
|
+
to `0` to disable the limit. **Default:** `131072`.
|
|
146
|
+
* `maxPayloadSize` {number} The maximum allowed payload size, in bytes, for
|
|
147
|
+
WebSocket messages. Applied to uncompressed messages, compressed frame
|
|
148
|
+
payloads, and decompressed (`permessage-deflate`) messages. Set to `0` to
|
|
149
|
+
disable the limit. **Default:** `134217728`.
|
|
150
|
+
* `eventSource` {Object} (optional) EventSource-specific configuration.
|
|
151
|
+
* `maxEventSize` {number} The maximum allowed event size, in bytes, for
|
|
152
|
+
EventSource messages. Set to `0` to disable the limit.
|
|
153
|
+
**Default:** `buffer.kStringMaxLength`.
|
|
154
|
+
* Returns: {Client}
|
|
155
|
+
|
|
156
|
+
Instantiating a `Client` does not open a connection; the connection is
|
|
157
|
+
established lazily once a request is queued. Call `client.connect()` to connect
|
|
158
|
+
eagerly.
|
|
159
|
+
|
|
160
|
+
> Notes about HTTP/2:
|
|
161
|
+
>
|
|
162
|
+
> * Pseudo headers (`:path`, `:method`, `:scheme`, `:authority`) are attached
|
|
163
|
+
> automatically and overwrite any user-provided values.
|
|
164
|
+
> * The server must support HTTP/2 and select it during ALPN negotiation, and
|
|
165
|
+
> must not give HTTP/1.1 a higher priority than HTTP/2.
|
|
166
|
+
> * `PUSH` frames are not supported.
|
|
167
|
+
|
|
168
|
+
```mjs displayName="Basic instantiation"
|
|
169
|
+
import { Client } from 'undici'
|
|
170
|
+
|
|
171
|
+
const client = new Client('http://localhost:3000')
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
```mjs displayName="TLS options (object connector)"
|
|
175
|
+
import { Client } from 'undici'
|
|
176
|
+
import { readFileSync } from 'node:fs'
|
|
177
|
+
|
|
178
|
+
const client = new Client('https://localhost:3000', {
|
|
179
|
+
connect: {
|
|
180
|
+
rejectUnauthorized: false,
|
|
181
|
+
ca: readFileSync('./ca-cert.pem')
|
|
182
|
+
}
|
|
183
|
+
})
|
|
74
184
|
```
|
|
75
185
|
|
|
76
|
-
|
|
186
|
+
```mjs displayName="Unix domain socket"
|
|
187
|
+
import { Client } from 'undici'
|
|
77
188
|
|
|
78
|
-
|
|
189
|
+
const client = new Client('http://localhost:3000', {
|
|
190
|
+
connect: {
|
|
191
|
+
socketPath: '/var/run/docker.sock'
|
|
192
|
+
}
|
|
193
|
+
})
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
```mjs displayName="Custom DNS lookup"
|
|
197
|
+
import { Client } from 'undici'
|
|
198
|
+
import dns from 'node:dns'
|
|
79
199
|
|
|
80
|
-
|
|
81
|
-
|
|
200
|
+
const client = new Client('https://example.com', {
|
|
201
|
+
connect: {
|
|
202
|
+
lookup (hostname, options, callback) {
|
|
203
|
+
dns.lookup(hostname, { ...options, family: 4 }, callback)
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
})
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
```mjs displayName="Custom connector (function)"
|
|
82
210
|
import { Client, buildConnector } from 'undici'
|
|
83
211
|
|
|
84
212
|
const connector = buildConnector({ rejectUnauthorized: false })
|
|
@@ -87,9 +215,6 @@ const client = new Client('https://localhost:3000', {
|
|
|
87
215
|
connector(opts, (err, socket) => {
|
|
88
216
|
if (err) {
|
|
89
217
|
cb(err)
|
|
90
|
-
} else if (/* assertion */) {
|
|
91
|
-
socket.destroy()
|
|
92
|
-
cb(new Error('kaboom'))
|
|
93
218
|
} else {
|
|
94
219
|
cb(null, socket)
|
|
95
220
|
}
|
|
@@ -98,81 +223,180 @@ const client = new Client('https://localhost:3000', {
|
|
|
98
223
|
})
|
|
99
224
|
```
|
|
100
225
|
|
|
101
|
-
|
|
226
|
+
When a connector function is provided, undici wraps it to automatically inject
|
|
227
|
+
`socketPath` and `allowH2` into the `options` argument when those values are set
|
|
228
|
+
on the client. See [`Connector`][] for details on building custom connectors.
|
|
229
|
+
|
|
230
|
+
### `client.close([callback])`
|
|
231
|
+
|
|
232
|
+
<!-- YAML
|
|
233
|
+
added: v1.0.0
|
|
234
|
+
-->
|
|
235
|
+
|
|
236
|
+
Implements [`dispatcher.close([callback])`][]. Closes the client gracefully,
|
|
237
|
+
waiting for enqueued requests to complete before resolving.
|
|
238
|
+
|
|
239
|
+
### `client.destroy([error[, callback]])`
|
|
240
|
+
|
|
241
|
+
<!-- YAML
|
|
242
|
+
added: v1.0.0
|
|
243
|
+
-->
|
|
102
244
|
|
|
103
|
-
|
|
245
|
+
Implements [`dispatcher.destroy([error[, callback]])`][]. Destroys the client
|
|
246
|
+
abruptly, aborting all pending and running requests, and waits until the socket
|
|
247
|
+
is closed before invoking `callback` (or resolving the returned promise).
|
|
104
248
|
|
|
105
|
-
|
|
249
|
+
### `client.connect(options[, callback])`
|
|
106
250
|
|
|
107
|
-
|
|
251
|
+
<!-- YAML
|
|
252
|
+
added: v1.0.0
|
|
253
|
+
-->
|
|
108
254
|
|
|
109
|
-
|
|
255
|
+
* `options` {Object} The connect options, identical to
|
|
256
|
+
[`dispatcher.connect()`][] except that `origin` is omitted because the client
|
|
257
|
+
is bound to a single origin.
|
|
258
|
+
* `callback` {Function} (optional)
|
|
259
|
+
* Returns: {Promise|void} A promise when `callback` is not provided.
|
|
110
260
|
|
|
111
|
-
|
|
261
|
+
Starts a connection to the client's origin and tunnels a connection through it,
|
|
262
|
+
as defined by [`dispatcher.connect()`][].
|
|
112
263
|
|
|
113
|
-
### `
|
|
264
|
+
### `client.dispatch(options, handlers)`
|
|
114
265
|
|
|
115
|
-
|
|
266
|
+
<!-- YAML
|
|
267
|
+
added: v1.0.0
|
|
268
|
+
-->
|
|
116
269
|
|
|
117
|
-
|
|
270
|
+
Implements [`dispatcher.dispatch(options, handler)`][]. This is the lowest-level
|
|
271
|
+
API used by all other request methods; prefer `client.request()` for most use
|
|
272
|
+
cases.
|
|
118
273
|
|
|
119
|
-
|
|
274
|
+
### `client.pipeline(options, handler)`
|
|
120
275
|
|
|
121
|
-
|
|
276
|
+
<!-- YAML
|
|
277
|
+
added: v1.0.0
|
|
278
|
+
-->
|
|
122
279
|
|
|
123
|
-
See [`
|
|
280
|
+
See [`dispatcher.pipeline(options, handler)`][]. Sends a request and returns a
|
|
281
|
+
{Duplex} stream that the request body is written to and the response body is
|
|
282
|
+
read from.
|
|
124
283
|
|
|
125
|
-
### `
|
|
284
|
+
### `client.request(options[, callback])`
|
|
126
285
|
|
|
127
|
-
|
|
286
|
+
<!-- YAML
|
|
287
|
+
added: v1.0.0
|
|
288
|
+
-->
|
|
128
289
|
|
|
129
|
-
|
|
290
|
+
* `options` {Object}
|
|
291
|
+
* `callback` {Function} (optional)
|
|
292
|
+
* Returns: {Promise|void} A promise resolving to the response data when
|
|
293
|
+
`callback` is not provided.
|
|
130
294
|
|
|
131
|
-
See [`
|
|
295
|
+
See [`dispatcher.request(options[, callback])`][]. Performs an HTTP request and
|
|
296
|
+
returns its status code, headers, trailers, and a readable body stream.
|
|
132
297
|
|
|
133
|
-
|
|
298
|
+
```mjs
|
|
299
|
+
import { Client } from 'undici'
|
|
300
|
+
|
|
301
|
+
const client = new Client('http://localhost:3000')
|
|
302
|
+
const { statusCode, headers, body } = await client.request({
|
|
303
|
+
path: '/',
|
|
304
|
+
method: 'GET'
|
|
305
|
+
})
|
|
306
|
+
|
|
307
|
+
console.log(statusCode)
|
|
308
|
+
for await (const chunk of body) {
|
|
309
|
+
console.log(chunk.toString())
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### `client.stream(options, factory[, callback])`
|
|
314
|
+
|
|
315
|
+
<!-- YAML
|
|
316
|
+
added: v1.0.0
|
|
317
|
+
-->
|
|
134
318
|
|
|
135
|
-
|
|
319
|
+
* `options` {Object}
|
|
320
|
+
* `factory` {Function} Returns a {Writable} the response body is piped into.
|
|
321
|
+
* `callback` {Function} (optional)
|
|
322
|
+
* Returns: {Promise|void} A promise when `callback` is not provided.
|
|
136
323
|
|
|
137
|
-
|
|
324
|
+
See [`dispatcher.stream(options, factory[, callback])`][]. A faster alternative
|
|
325
|
+
to `client.request()` when the destination of the response body is known in
|
|
326
|
+
advance.
|
|
138
327
|
|
|
139
|
-
### `
|
|
328
|
+
### `client.upgrade(options[, callback])`
|
|
140
329
|
|
|
141
|
-
|
|
330
|
+
<!-- YAML
|
|
331
|
+
added: v1.0.0
|
|
332
|
+
-->
|
|
333
|
+
|
|
334
|
+
* `options` {Object}
|
|
335
|
+
* `callback` {Function} (optional)
|
|
336
|
+
* Returns: {Promise|void} A promise when `callback` is not provided.
|
|
337
|
+
|
|
338
|
+
See [`dispatcher.upgrade(options[, callback])`][]. Upgrades a connection to a
|
|
339
|
+
different protocol, such as for WebSocket or HTTP `CONNECT`.
|
|
340
|
+
|
|
341
|
+
### `client.closed`
|
|
342
|
+
|
|
343
|
+
<!-- YAML
|
|
344
|
+
added: v1.0.0
|
|
345
|
+
-->
|
|
346
|
+
|
|
347
|
+
* Type: {boolean}
|
|
142
348
|
|
|
143
349
|
`true` after `client.close()` has been called.
|
|
144
350
|
|
|
145
|
-
### `
|
|
351
|
+
### `client.destroyed`
|
|
146
352
|
|
|
147
|
-
|
|
353
|
+
<!-- YAML
|
|
354
|
+
added: v1.0.0
|
|
355
|
+
-->
|
|
148
356
|
|
|
149
|
-
|
|
357
|
+
* Type: {boolean}
|
|
150
358
|
|
|
151
|
-
|
|
359
|
+
`true` after `client.destroy()` has been called, or after `client.close()` has
|
|
360
|
+
been called and the client shutdown has completed.
|
|
152
361
|
|
|
153
|
-
|
|
362
|
+
### `client.pipelining`
|
|
154
363
|
|
|
155
|
-
|
|
364
|
+
<!-- YAML
|
|
365
|
+
added: v1.0.0
|
|
366
|
+
-->
|
|
156
367
|
|
|
157
|
-
|
|
368
|
+
* Type: {number}
|
|
158
369
|
|
|
159
|
-
|
|
370
|
+
The pipelining factor. This property can be read and written to adjust the
|
|
371
|
+
number of concurrent requests sent over the connection. Only enable pipelining
|
|
372
|
+
with trusted remote servers.
|
|
373
|
+
|
|
374
|
+
### `client.stats`
|
|
375
|
+
|
|
376
|
+
<!-- YAML
|
|
377
|
+
added: v7.9.0
|
|
378
|
+
-->
|
|
160
379
|
|
|
161
|
-
|
|
380
|
+
* Type: {ClientStats}
|
|
162
381
|
|
|
163
|
-
|
|
382
|
+
Aggregate statistics for the client. See [`ClientStats`][].
|
|
164
383
|
|
|
165
|
-
|
|
166
|
-
|
|
384
|
+
### Event: `'connect'`
|
|
385
|
+
|
|
386
|
+
<!-- YAML
|
|
387
|
+
added: v1.0.0
|
|
388
|
+
-->
|
|
167
389
|
|
|
168
|
-
|
|
390
|
+
* `origin` {URL}
|
|
391
|
+
* `targets` {Array<Dispatcher>}
|
|
169
392
|
|
|
170
|
-
|
|
393
|
+
Emitted when a socket has been created and connected. The client connects once
|
|
394
|
+
`client.size > 0`. See [`Dispatcher` Event: `'connect'`][].
|
|
171
395
|
|
|
172
|
-
```
|
|
173
|
-
import { createServer } from 'http'
|
|
396
|
+
```mjs
|
|
397
|
+
import { createServer } from 'node:http'
|
|
174
398
|
import { Client } from 'undici'
|
|
175
|
-
import { once } from 'events'
|
|
399
|
+
import { once } from 'node:events'
|
|
176
400
|
|
|
177
401
|
const server = createServer((request, response) => {
|
|
178
402
|
response.end('Hello, World!')
|
|
@@ -183,43 +407,40 @@ await once(server, 'listening')
|
|
|
183
407
|
const client = new Client(`http://localhost:${server.address().port}`)
|
|
184
408
|
|
|
185
409
|
client.on('connect', (origin) => {
|
|
186
|
-
console.log(`Connected to ${origin}`)
|
|
410
|
+
console.log(`Connected to ${origin}`)
|
|
187
411
|
})
|
|
188
412
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
body.on('data', console.log)
|
|
196
|
-
client.close()
|
|
197
|
-
server.close()
|
|
198
|
-
} catch (error) {
|
|
199
|
-
console.error(error)
|
|
200
|
-
client.close()
|
|
201
|
-
server.close()
|
|
202
|
-
}
|
|
413
|
+
const { body } = await client.request({ path: '/', method: 'GET' })
|
|
414
|
+
body.setEncoding('utf8')
|
|
415
|
+
body.on('data', console.log)
|
|
416
|
+
|
|
417
|
+
client.close()
|
|
418
|
+
server.close()
|
|
203
419
|
```
|
|
204
420
|
|
|
205
421
|
### Event: `'disconnect'`
|
|
206
422
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
423
|
+
<!-- YAML
|
|
424
|
+
added: v1.0.0
|
|
425
|
+
changes:
|
|
426
|
+
- version: v4.0.0
|
|
427
|
+
pr-url: https://github.com/nodejs/undici/pull/771
|
|
428
|
+
description: The event is only emitted if the client had previously
|
|
429
|
+
connected.
|
|
430
|
+
-->
|
|
431
|
+
|
|
432
|
+
* `origin` {URL}
|
|
433
|
+
* `targets` {Array<Dispatcher>}
|
|
434
|
+
* `error` {Error}
|
|
435
|
+
|
|
436
|
+
Emitted when a socket has disconnected. The `error` argument is the error that
|
|
437
|
+
caused the disconnection. The client reconnects if or once `client.size > 0`.
|
|
438
|
+
See [`Dispatcher` Event: `'disconnect'`][].
|
|
439
|
+
|
|
440
|
+
```mjs
|
|
441
|
+
import { createServer } from 'node:http'
|
|
221
442
|
import { Client } from 'undici'
|
|
222
|
-
import { once } from 'events'
|
|
443
|
+
import { once } from 'node:events'
|
|
223
444
|
|
|
224
445
|
const server = createServer((request, response) => {
|
|
225
446
|
response.destroy()
|
|
@@ -234,12 +455,10 @@ client.on('disconnect', (origin) => {
|
|
|
234
455
|
})
|
|
235
456
|
|
|
236
457
|
try {
|
|
237
|
-
await client.request({
|
|
238
|
-
path: '/',
|
|
239
|
-
method: 'GET'
|
|
240
|
-
})
|
|
458
|
+
await client.request({ path: '/', method: 'GET' })
|
|
241
459
|
} catch (error) {
|
|
242
460
|
console.error(error.message)
|
|
461
|
+
} finally {
|
|
243
462
|
client.close()
|
|
244
463
|
server.close()
|
|
245
464
|
}
|
|
@@ -247,16 +466,19 @@ try {
|
|
|
247
466
|
|
|
248
467
|
### Event: `'drain'`
|
|
249
468
|
|
|
250
|
-
|
|
469
|
+
<!-- YAML
|
|
470
|
+
added: v1.0.0
|
|
471
|
+
-->
|
|
251
472
|
|
|
252
|
-
|
|
473
|
+
* `origin` {URL}
|
|
253
474
|
|
|
254
|
-
|
|
475
|
+
Emitted when the pipeline is no longer busy. See
|
|
476
|
+
[`Dispatcher` Event: `'drain'`][].
|
|
255
477
|
|
|
256
|
-
```
|
|
257
|
-
import { createServer } from 'http'
|
|
478
|
+
```mjs
|
|
479
|
+
import { createServer } from 'node:http'
|
|
258
480
|
import { Client } from 'undici'
|
|
259
|
-
import { once } from 'events'
|
|
481
|
+
import { once } from 'node:events'
|
|
260
482
|
|
|
261
483
|
const server = createServer((request, response) => {
|
|
262
484
|
response.end('Hello, World!')
|
|
@@ -272,17 +494,40 @@ client.on('drain', () => {
|
|
|
272
494
|
server.close()
|
|
273
495
|
})
|
|
274
496
|
|
|
275
|
-
|
|
497
|
+
await Promise.all([
|
|
276
498
|
client.request({ path: '/', method: 'GET' }),
|
|
277
499
|
client.request({ path: '/', method: 'GET' }),
|
|
278
500
|
client.request({ path: '/', method: 'GET' })
|
|
279
|
-
]
|
|
280
|
-
|
|
281
|
-
await Promise.all(requests)
|
|
282
|
-
|
|
283
|
-
console.log('requests completed')
|
|
501
|
+
])
|
|
284
502
|
```
|
|
285
503
|
|
|
286
504
|
### Event: `'error'`
|
|
287
505
|
|
|
288
|
-
|
|
506
|
+
<!-- YAML
|
|
507
|
+
added: v1.0.0
|
|
508
|
+
-->
|
|
509
|
+
|
|
510
|
+
* `error` {Error}
|
|
511
|
+
|
|
512
|
+
Emitted for user errors, such as throwing inside an `onResponseError` handler.
|
|
513
|
+
|
|
514
|
+
[RFC 7230, section 6.3.2]: https://tools.ietf.org/html/rfc7230#section-6.3.2
|
|
515
|
+
[RFC 8305]: https://tools.ietf.org/html/rfc8305#section-5
|
|
516
|
+
[`Agent`]: Agent.md#class-agent
|
|
517
|
+
[`ClientStats`]: ClientStats.md
|
|
518
|
+
[`Connector`]: Connector.md
|
|
519
|
+
[`Dispatcher` Event: `'connect'`]: Dispatcher.md#event-connect
|
|
520
|
+
[`Dispatcher` Event: `'disconnect'`]: Dispatcher.md#event-disconnect
|
|
521
|
+
[`Dispatcher` Event: `'drain'`]: Dispatcher.md#event-drain
|
|
522
|
+
[`Dispatcher`]: Dispatcher.md#class-dispatcher
|
|
523
|
+
[`Pool`]: Pool.md#class-pool
|
|
524
|
+
[`buildConnector`]: Connector.md
|
|
525
|
+
[`dispatcher.close([callback])`]: Dispatcher.md#dispatcherclosecallback
|
|
526
|
+
[`dispatcher.connect()`]: Dispatcher.md#dispatcherconnectoptions-callback
|
|
527
|
+
[`dispatcher.destroy([error[, callback]])`]: Dispatcher.md#dispatcherdestroyerror-callback
|
|
528
|
+
[`dispatcher.dispatch(options, handler)`]: Dispatcher.md#dispatcherdispatchoptions-handler
|
|
529
|
+
[`dispatcher.pipeline(options, handler)`]: Dispatcher.md#dispatcherpipelineoptions-handler
|
|
530
|
+
[`dispatcher.request(options[, callback])`]: Dispatcher.md#dispatcherrequestoptions-callback
|
|
531
|
+
[`dispatcher.stream(options, factory[, callback])`]: Dispatcher.md#dispatcherstreamoptions-factory-callback
|
|
532
|
+
[`dispatcher.upgrade(options[, callback])`]: Dispatcher.md#dispatcherupgradeoptions-callback
|
|
533
|
+
[`tls.connect()`]: https://nodejs.org/api/tls.html#tlsconnectoptions-callback
|