@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,275 +1,256 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Socks5ProxyAgent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!--introduced_in=v7.23.0-->
|
|
4
|
+
<!--type=module-->
|
|
5
|
+
<!-- source_link=lib/dispatcher/socks5-proxy-agent.js -->
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
> Stability: 1 - Experimental
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
A [`Dispatcher`][] implementation that routes requests through a [SOCKS5][]
|
|
10
|
+
proxy server. It tunnels both HTTP and HTTPS traffic over the proxy, supports
|
|
11
|
+
optional username/password authentication, and pools connections per origin so
|
|
12
|
+
that subsequent requests to the same host reuse the established tunnel.
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
DNS resolution is delegated to the proxy: target host names are sent to the
|
|
15
|
+
proxy as domain names rather than being resolved locally. For HTTPS targets the
|
|
16
|
+
TLS session is negotiated end-to-end through the tunnel, so the proxy only sees
|
|
17
|
+
encrypted bytes.
|
|
10
18
|
|
|
11
|
-
|
|
12
|
-
* **options** `Socks5ProxyAgent.Options` (optional) - Additional configuration options.
|
|
19
|
+
Import it from `'undici'`:
|
|
13
20
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Extends: [`PoolOptions`](/docs/docs/api/Pool.md#parameter-pooloptions)
|
|
21
|
+
```mjs
|
|
22
|
+
import { Socks5ProxyAgent } from 'undici'
|
|
23
|
+
```
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
Constructing the agent emits a one-time `ExperimentalWarning`, reflecting the
|
|
26
|
+
experimental status of SOCKS5 support.
|
|
27
|
+
|
|
28
|
+
## Class: `Socks5ProxyAgent`
|
|
29
|
+
|
|
30
|
+
<!-- YAML
|
|
31
|
+
added: v7.23.0
|
|
32
|
+
-->
|
|
33
|
+
|
|
34
|
+
> Stability: 1 - Experimental
|
|
35
|
+
|
|
36
|
+
* Extends: {Dispatcher}
|
|
37
|
+
|
|
38
|
+
Routes dispatched requests through a SOCKS5 proxy. Register an instance as the
|
|
39
|
+
global dispatcher with [`setGlobalDispatcher()`][], or pass it per request via
|
|
40
|
+
the `dispatcher` option.
|
|
41
|
+
|
|
42
|
+
### `new Socks5ProxyAgent(proxyUrl[, options])`
|
|
43
|
+
|
|
44
|
+
<!-- YAML
|
|
45
|
+
added: v7.23.0
|
|
46
|
+
-->
|
|
47
|
+
|
|
48
|
+
> Stability: 1 - Experimental
|
|
49
|
+
|
|
50
|
+
* `proxyUrl` {string|URL} The SOCKS5 proxy server URL. Must use the `socks5:` or
|
|
51
|
+
`socks:` protocol. Credentials may be embedded in the URL userinfo (for
|
|
52
|
+
example `socks5://user:pass@host:1080`).
|
|
53
|
+
* `options` {Object} (optional) Extends {PoolOptions}; the pool options are
|
|
54
|
+
applied to the per-origin pools created behind the tunnel.
|
|
55
|
+
* `headers` {Object} Additional headers to send with the proxy connection.
|
|
56
|
+
**Default:** `{}`.
|
|
57
|
+
* `username` {string} Username for SOCKS5 authentication. Takes precedence over
|
|
58
|
+
a username embedded in `proxyUrl`. **Default:** the URL username, if any.
|
|
59
|
+
* `password` {string} Password for SOCKS5 authentication. Takes precedence over
|
|
60
|
+
a password embedded in `proxyUrl`. **Default:** the URL password, if any.
|
|
61
|
+
* `connect` {Function} Custom connector used to open the socket to the proxy.
|
|
62
|
+
**Default:** a connector built from `proxyTls`.
|
|
63
|
+
* `connectTimeout` {number} Maximum time in milliseconds for each proxy
|
|
64
|
+
connection, SOCKS5 negotiation, and target TLS negotiation stage. A value of
|
|
65
|
+
`0` disables these stage timeouts. `proxyTls.timeout` and
|
|
66
|
+
`requestTls.timeout` override it for their respective TLS stages.
|
|
67
|
+
**Default:** `5000`.
|
|
68
|
+
* `proxyTls` {BuildOptions} TLS options for the connection to the proxy itself
|
|
69
|
+
(SOCKS5 over TLS). When set, the proxy connection is established over TLS and
|
|
70
|
+
`servername` defaults to the proxy host name.
|
|
71
|
+
* `requestTls` {BuildOptions} TLS options applied to the end-to-end connection
|
|
72
|
+
to an HTTPS target through the tunnel, such as `ca`, `cert`, `key`,
|
|
73
|
+
`rejectUnauthorized`, and `servername`. `servername` defaults to the target
|
|
74
|
+
host name.
|
|
75
|
+
|
|
76
|
+
Throws an `InvalidArgumentError` if `proxyUrl` is missing or does not use the
|
|
77
|
+
`socks5:` or `socks:` protocol, or if `connectTimeout`, `proxyTls.timeout`, or
|
|
78
|
+
`requestTls.timeout` is not a finite, non-negative number.
|
|
79
|
+
|
|
80
|
+
```mjs
|
|
81
|
+
import { Socks5ProxyAgent } from 'undici'
|
|
26
82
|
|
|
27
|
-
|
|
83
|
+
// Without authentication.
|
|
84
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
28
85
|
|
|
29
|
-
|
|
30
|
-
|
|
86
|
+
// With credentials in the URL.
|
|
87
|
+
const authAgent = new Socks5ProxyAgent('socks5://user:pass@localhost:1080')
|
|
31
88
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const socks5ProxyWithAuth = new Socks5ProxyAgent('socks5://user:pass@localhost:1080')
|
|
35
|
-
// or with options
|
|
36
|
-
const socks5ProxyWithOptions = new Socks5ProxyAgent('socks5://localhost:1080', {
|
|
89
|
+
// With credentials and pool options.
|
|
90
|
+
const configuredAgent = new Socks5ProxyAgent('socks5://localhost:1080', {
|
|
37
91
|
username: 'user',
|
|
38
92
|
password: 'pass',
|
|
39
93
|
connections: 10
|
|
40
94
|
})
|
|
41
95
|
```
|
|
42
96
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
This will instantiate the Socks5ProxyAgent. It will not do anything until registered as the dispatcher to use with requests.
|
|
46
|
-
|
|
47
|
-
```js
|
|
48
|
-
import { Socks5ProxyAgent } from 'undici'
|
|
49
|
-
|
|
50
|
-
const socks5Proxy = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
#### Example - Basic SOCKS5 Proxy Request with global dispatcher
|
|
54
|
-
|
|
55
|
-
```js
|
|
56
|
-
import { setGlobalDispatcher, request, Socks5ProxyAgent } from 'undici'
|
|
57
|
-
|
|
58
|
-
const socks5Proxy = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
59
|
-
setGlobalDispatcher(socks5Proxy)
|
|
60
|
-
|
|
61
|
-
const { statusCode, body } = await request('http://localhost:3000/foo')
|
|
62
|
-
|
|
63
|
-
console.log('response received', statusCode) // response received 200
|
|
64
|
-
|
|
65
|
-
for await (const data of body) {
|
|
66
|
-
console.log('data', data.toString('utf8')) // data foo
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
#### Example - Basic SOCKS5 Proxy Request with local dispatcher
|
|
71
|
-
|
|
72
|
-
```js
|
|
73
|
-
import { Socks5ProxyAgent, request } from 'undici'
|
|
74
|
-
|
|
75
|
-
const socks5Proxy = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
76
|
-
|
|
77
|
-
const {
|
|
78
|
-
statusCode,
|
|
79
|
-
body
|
|
80
|
-
} = await request('http://localhost:3000/foo', { dispatcher: socks5Proxy })
|
|
81
|
-
|
|
82
|
-
console.log('response received', statusCode) // response received 200
|
|
83
|
-
|
|
84
|
-
for await (const data of body) {
|
|
85
|
-
console.log('data', data.toString('utf8')) // data foo
|
|
86
|
-
}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
#### Example - SOCKS5 Proxy Request with authentication
|
|
97
|
+
Using the agent as the global dispatcher:
|
|
90
98
|
|
|
91
|
-
```
|
|
99
|
+
```mjs
|
|
92
100
|
import { setGlobalDispatcher, request, Socks5ProxyAgent } from 'undici'
|
|
93
101
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// Or authentication via options
|
|
98
|
-
// const socks5Proxy = new Socks5ProxyAgent('socks5://localhost:1080', {
|
|
99
|
-
// username: 'username',
|
|
100
|
-
// password: 'password'
|
|
101
|
-
// })
|
|
102
|
-
|
|
103
|
-
setGlobalDispatcher(socks5Proxy)
|
|
102
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
103
|
+
setGlobalDispatcher(agent)
|
|
104
104
|
|
|
105
105
|
const { statusCode, body } = await request('http://localhost:3000/foo')
|
|
106
|
-
|
|
107
|
-
console.log('response received', statusCode) // response received 200
|
|
106
|
+
console.log('response received', statusCode)
|
|
108
107
|
|
|
109
108
|
for await (const data of body) {
|
|
110
|
-
console.log('data', data.toString('utf8'))
|
|
109
|
+
console.log('data', data.toString('utf8'))
|
|
111
110
|
}
|
|
112
111
|
```
|
|
113
112
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
SOCKS5 proxy supports both HTTP and HTTPS requests through tunneling:
|
|
113
|
+
Using the agent per request:
|
|
117
114
|
|
|
118
|
-
```
|
|
119
|
-
import {
|
|
115
|
+
```mjs
|
|
116
|
+
import { request, Socks5ProxyAgent } from 'undici'
|
|
120
117
|
|
|
121
|
-
const
|
|
118
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
122
119
|
|
|
123
|
-
const
|
|
124
|
-
dispatcher:
|
|
125
|
-
method: 'GET'
|
|
120
|
+
const { statusCode, body } = await request('http://localhost:3000/foo', {
|
|
121
|
+
dispatcher: agent
|
|
126
122
|
})
|
|
127
123
|
|
|
128
|
-
console.log('
|
|
129
|
-
console.log('Response data:', await response.body.json())
|
|
124
|
+
console.log('response received', statusCode)
|
|
130
125
|
```
|
|
131
126
|
|
|
132
|
-
|
|
127
|
+
HTTPS targets are tunnelled and encrypted end-to-end:
|
|
133
128
|
|
|
134
|
-
```
|
|
135
|
-
import {
|
|
129
|
+
```mjs
|
|
130
|
+
import { request, Socks5ProxyAgent } from 'undici'
|
|
136
131
|
|
|
137
|
-
const
|
|
132
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
138
133
|
|
|
139
|
-
const
|
|
140
|
-
dispatcher:
|
|
141
|
-
method: 'GET'
|
|
134
|
+
const { statusCode, body } = await request('https://api.example.com/data', {
|
|
135
|
+
dispatcher: agent
|
|
142
136
|
})
|
|
143
137
|
|
|
144
|
-
console.log('Response status:',
|
|
145
|
-
console.log('Response data:', await
|
|
138
|
+
console.log('Response status:', statusCode)
|
|
139
|
+
console.log('Response data:', await body.json())
|
|
146
140
|
```
|
|
147
141
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
SOCKS5ProxyWrapper automatically manages connection pooling for better performance:
|
|
151
|
-
|
|
152
|
-
```js
|
|
153
|
-
import { Socks5ProxyAgent, request } from 'undici'
|
|
154
|
-
|
|
155
|
-
const socks5Proxy = new Socks5ProxyAgent('socks5://localhost:1080', {
|
|
156
|
-
connections: 10, // Allow up to 10 concurrent connections
|
|
157
|
-
pipelining: 1 // Enable HTTP/1.1 pipelining
|
|
158
|
-
})
|
|
159
|
-
|
|
160
|
-
// Multiple requests will reuse connections through the SOCKS5 tunnel
|
|
161
|
-
const responses = await Promise.all([
|
|
162
|
-
request('http://api.example.com/endpoint1', { dispatcher: socks5Proxy }),
|
|
163
|
-
request('http://api.example.com/endpoint2', { dispatcher: socks5Proxy }),
|
|
164
|
-
request('http://api.example.com/endpoint3', { dispatcher: socks5Proxy })
|
|
165
|
-
])
|
|
166
|
-
|
|
167
|
-
console.log('All requests completed through the same SOCKS5 proxy')
|
|
168
|
-
```
|
|
142
|
+
### `socks5ProxyAgent.close()`
|
|
169
143
|
|
|
170
|
-
|
|
144
|
+
<!-- YAML
|
|
145
|
+
added: v7.23.0
|
|
146
|
+
-->
|
|
171
147
|
|
|
172
|
-
|
|
148
|
+
> Stability: 1 - Experimental
|
|
173
149
|
|
|
174
|
-
Returns:
|
|
150
|
+
* Returns: {Promise<void>} Resolves once every per-origin pool has been closed.
|
|
175
151
|
|
|
176
|
-
|
|
152
|
+
Gracefully closes the agent, waiting for all underlying pools and their
|
|
153
|
+
connections to drain and close before resolving.
|
|
177
154
|
|
|
178
|
-
```
|
|
179
|
-
import {
|
|
155
|
+
```mjs
|
|
156
|
+
import { setGlobalDispatcher, Socks5ProxyAgent } from 'undici'
|
|
180
157
|
|
|
181
|
-
const
|
|
182
|
-
setGlobalDispatcher(
|
|
158
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
159
|
+
setGlobalDispatcher(agent)
|
|
183
160
|
|
|
184
|
-
// ... make requests
|
|
161
|
+
// ... make requests ...
|
|
185
162
|
|
|
186
|
-
await
|
|
163
|
+
await agent.close()
|
|
187
164
|
```
|
|
188
165
|
|
|
189
|
-
### `
|
|
166
|
+
### `socks5ProxyAgent.destroy([err])`
|
|
190
167
|
|
|
191
|
-
|
|
168
|
+
<!-- YAML
|
|
169
|
+
added: v7.23.0
|
|
170
|
+
-->
|
|
192
171
|
|
|
193
|
-
|
|
194
|
-
* **err** `Error` (optional) - The error that caused the destruction.
|
|
172
|
+
> Stability: 1 - Experimental
|
|
195
173
|
|
|
196
|
-
|
|
174
|
+
* `err` {Error} (optional) The error to reject in-flight requests with.
|
|
175
|
+
* Returns: {Promise<void>} Resolves once every per-origin pool has been
|
|
176
|
+
destroyed.
|
|
197
177
|
|
|
198
|
-
|
|
178
|
+
Forcibly destroys the agent and all underlying connections immediately, without
|
|
179
|
+
waiting for in-flight requests to complete.
|
|
199
180
|
|
|
200
|
-
```
|
|
181
|
+
```mjs
|
|
201
182
|
import { Socks5ProxyAgent } from 'undici'
|
|
202
183
|
|
|
203
|
-
const
|
|
184
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
204
185
|
|
|
205
|
-
|
|
206
|
-
await socks5Proxy.destroy()
|
|
186
|
+
await agent.destroy()
|
|
207
187
|
```
|
|
208
188
|
|
|
209
|
-
### `
|
|
210
|
-
|
|
211
|
-
Implements [`Dispatcher.dispatch(options, handlers)`](/docs/docs/api/Dispatcher.md#dispatcherdispatchoptions-handlers).
|
|
212
|
-
|
|
213
|
-
### `Socks5ProxyAgent.request(options[, callback])`
|
|
214
|
-
|
|
215
|
-
See [`Dispatcher.request(options [, callback])`](/docs/docs/api/Dispatcher.md#dispatcherrequestoptions-callback).
|
|
189
|
+
### `socks5ProxyAgent.dispatch(options, handlers)`
|
|
216
190
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
```sh
|
|
222
|
-
NODE_DEBUG=undici:socks5 node script.js
|
|
223
|
-
```
|
|
191
|
+
<!-- YAML
|
|
192
|
+
added: v7.23.0
|
|
193
|
+
-->
|
|
224
194
|
|
|
225
|
-
|
|
195
|
+
> Stability: 1 - Experimental
|
|
226
196
|
|
|
227
|
-
|
|
197
|
+
* `options` {DispatchOptions}
|
|
198
|
+
* `handlers` {DispatchHandler}
|
|
199
|
+
* Returns: {boolean} `false` if the dispatcher is busy and the request should be
|
|
200
|
+
retried later, otherwise `true`.
|
|
228
201
|
|
|
229
|
-
|
|
202
|
+
Routes a request through the SOCKS5 tunnel. The agent maintains a [`Pool`][] per
|
|
203
|
+
target origin; the first request to a given origin establishes the tunnel and
|
|
204
|
+
upgrades to TLS when the target is HTTPS, and later requests reuse the pool.
|
|
230
205
|
|
|
231
|
-
|
|
206
|
+
This is the lower-level entry point implementing
|
|
207
|
+
[`Dispatcher.dispatch(options, handlers)`][]. Prefer
|
|
208
|
+
[`socks5ProxyAgent.request()`][] for most use cases.
|
|
232
209
|
|
|
233
|
-
|
|
234
|
-
- **Username/Password** (`0x02`) - RFC 1929 authentication
|
|
210
|
+
### `socks5ProxyAgent.request(options[, callback])`
|
|
235
211
|
|
|
236
|
-
|
|
212
|
+
<!-- YAML
|
|
213
|
+
added: v7.23.0
|
|
214
|
+
-->
|
|
237
215
|
|
|
238
|
-
|
|
239
|
-
- **Domain Name** (`0x03`) - Domain names (recommended for flexibility)
|
|
240
|
-
- **IPv6** (`0x04`) - IPv6 addresses (full support for standard and compressed notation)
|
|
216
|
+
> Stability: 1 - Experimental
|
|
241
217
|
|
|
242
|
-
|
|
218
|
+
* `options` {DispatchOptions}
|
|
219
|
+
* `callback` {Function} (optional)
|
|
220
|
+
* Returns: {Promise|void} A promise resolving to the response when `callback` is
|
|
221
|
+
omitted.
|
|
243
222
|
|
|
244
|
-
|
|
223
|
+
Performs a request through the SOCKS5 proxy. Inherited from
|
|
224
|
+
[`Dispatcher.request(options[, callback])`][]; see that method for the full set
|
|
225
|
+
of options and the shape of the resolved response.
|
|
245
226
|
|
|
246
|
-
|
|
227
|
+
```mjs
|
|
228
|
+
import { fetch, Socks5ProxyAgent } from 'undici'
|
|
247
229
|
|
|
248
|
-
|
|
230
|
+
const agent = new Socks5ProxyAgent('socks5://localhost:1080')
|
|
249
231
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
- Host unreachable
|
|
254
|
-
- Unsupported address types or commands
|
|
232
|
+
const response = await fetch('http://localhost:3000/api/users', {
|
|
233
|
+
dispatcher: agent
|
|
234
|
+
})
|
|
255
235
|
|
|
256
|
-
|
|
236
|
+
console.log('Response status:', response.status)
|
|
237
|
+
console.log('Response data:', await response.text())
|
|
238
|
+
```
|
|
257
239
|
|
|
258
|
-
|
|
259
|
-
- **HTTP/1.1 Pipelining**: Supports pipelining when enabled
|
|
260
|
-
- **DNS Resolution**: Domain names are resolved by the SOCKS5 proxy, reducing local DNS queries
|
|
261
|
-
- **TLS Termination**: HTTPS connections are encrypted end-to-end, with the SOCKS5 proxy only handling the TCP tunnel
|
|
240
|
+
## Debugging
|
|
262
241
|
|
|
263
|
-
|
|
242
|
+
SOCKS5 proxy activity can be traced with the `undici:socks5-proxy` debug scope:
|
|
264
243
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
4. **Connection Security**: Consider using authenticated proxies and secure networks
|
|
244
|
+
```bash
|
|
245
|
+
NODE_DEBUG=undici:socks5-proxy node script.js
|
|
246
|
+
```
|
|
269
247
|
|
|
270
|
-
|
|
248
|
+
This logs the SOCKS5 handshake, authentication, and tunnel establishment steps.
|
|
271
249
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
250
|
+
[SOCKS5]: https://www.rfc-editor.org/rfc/rfc1928
|
|
251
|
+
[`Dispatcher.dispatch(options, handlers)`]: Dispatcher.md#dispatcherdispatchoptions-handler
|
|
252
|
+
[`Dispatcher.request(options[, callback])`]: Dispatcher.md#dispatcherrequestoptions-callback
|
|
253
|
+
[`Dispatcher`]: Dispatcher.md#class-dispatcher
|
|
254
|
+
[`Pool`]: Pool.md#class-pool
|
|
255
|
+
[`setGlobalDispatcher()`]: Dispatcher.md#setglobaldispatcherdispatcher
|
|
256
|
+
[`socks5ProxyAgent.request()`]: #socks5proxyagentrequestoptions-callback
|
|
@@ -1,25 +1,82 @@
|
|
|
1
1
|
# Util
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!--introduced_in=v1.2.0-->
|
|
4
|
+
<!--type=module-->
|
|
5
|
+
<!-- source_link=lib/core/util.js -->
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
> Stability: 2 - Stable
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
A small set of utility helpers exposed for third-party implementations of the
|
|
10
|
+
[`Dispatcher`][] API. They cover the header-handling primitives undici uses
|
|
11
|
+
internally, so that custom dispatchers and handlers can normalize header names
|
|
12
|
+
and parse raw header lists exactly the way undici does.
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
```mjs
|
|
15
|
+
import { util } from 'undici'
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
const { parseHeaders, headerNameToString } = util
|
|
18
|
+
```
|
|
12
19
|
|
|
13
|
-
|
|
20
|
+
```cjs
|
|
21
|
+
const { util } = require('undici')
|
|
14
22
|
|
|
15
|
-
|
|
23
|
+
const { parseHeaders, headerNameToString } = util
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## `parseHeaders(headers[, obj])`
|
|
27
|
+
|
|
28
|
+
<!-- YAML
|
|
29
|
+
added: v1.2.0
|
|
30
|
+
changes:
|
|
31
|
+
- version: v6.1.0
|
|
32
|
+
pr-url: https://github.com/nodejs/undici/pull/2501
|
|
33
|
+
description: Header names supplied as a `Buffer` are accepted and normalized.
|
|
34
|
+
-->
|
|
35
|
+
|
|
36
|
+
* `headers` {Array} A flat list of raw header entries where even indices are
|
|
37
|
+
header names and odd indices are the corresponding values. Each entry is a
|
|
38
|
+
{string}, {Buffer}, or an array of {string}/{Buffer}.
|
|
39
|
+
* `obj` {Record<string, string|string[]>} An object to assign the parsed values
|
|
40
|
+
to. When omitted, a new object is created. **Default:** `{}`.
|
|
41
|
+
* Returns: {Record<string, string|string[]>} The object the parsed headers were
|
|
42
|
+
assigned to. When `obj` is provided, the same reference is returned.
|
|
43
|
+
|
|
44
|
+
Receives a flat list of raw header name/value pairs and returns them as an
|
|
45
|
+
object keyed by lowercased header name. Header names are normalized with
|
|
46
|
+
[`headerNameToString()`][], and `Buffer` values are decoded as `latin1`. When a
|
|
47
|
+
header name appears more than once, its values are collected into an array.
|
|
48
|
+
|
|
49
|
+
```mjs
|
|
50
|
+
import { util } from 'undici'
|
|
51
|
+
|
|
52
|
+
const raw = ['Content-Type', 'text/plain', 'Set-Cookie', 'a=1', 'Set-Cookie', 'b=2']
|
|
53
|
+
|
|
54
|
+
console.log(util.parseHeaders(raw))
|
|
55
|
+
// { 'content-type': 'text/plain', 'set-cookie': [ 'a=1', 'b=2' ] }
|
|
56
|
+
```
|
|
16
57
|
|
|
17
58
|
## `headerNameToString(value)`
|
|
18
59
|
|
|
19
|
-
|
|
60
|
+
<!-- YAML
|
|
61
|
+
added: v6.1.0
|
|
62
|
+
-->
|
|
63
|
+
|
|
64
|
+
* `value` {string|Buffer} The header name to normalize.
|
|
65
|
+
* Returns: {string} The lowercased header name.
|
|
66
|
+
|
|
67
|
+
Returns the lowercased form of a header name. The `value` may be provided as a
|
|
68
|
+
{string} or as a {Buffer}, in which case it is decoded as `latin1`. Common
|
|
69
|
+
header names are resolved through an internal lookup table for performance.
|
|
70
|
+
|
|
71
|
+
```mjs
|
|
72
|
+
import { util } from 'undici'
|
|
20
73
|
|
|
21
|
-
|
|
74
|
+
console.log(util.headerNameToString('Content-Type'))
|
|
75
|
+
// 'content-type'
|
|
22
76
|
|
|
23
|
-
|
|
77
|
+
console.log(util.headerNameToString(Buffer.from('X-Custom-Header')))
|
|
78
|
+
// 'x-custom-header'
|
|
79
|
+
```
|
|
24
80
|
|
|
25
|
-
|
|
81
|
+
[`Dispatcher`]: Dispatcher.md#class-dispatcher
|
|
82
|
+
[`headerNameToString()`]: #headernametostringvalue
|