@psnext/slingcli 3.1.20260904-1 → 3.3.20260914-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +5 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/util/hasOwn.js +3 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js +1 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/util/hasOwn.d.ts +4 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/util/index.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/hasOwn.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +1 -0
- package/node_modules/@aws-sdk/core/package.json +1 -1
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-websocket/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-PBNSMEG7.js → chunk-BRL3MDQL.js} +10 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js +79 -32
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Client.md +25 -8
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EventSource.md +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/readable.js +33 -43
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/connect.js +16 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/symbols.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/agent.js +7 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js +9 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h2.js +221 -12
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js +76 -30
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +37 -8
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +106 -22
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-handler.js +29 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/decorator-handler.js +7 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/redirect-handler.js +21 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/retry-handler.js +155 -32
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/cache.js +65 -9
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/decompress.js +115 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dump.js +10 -23
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js +13 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-utils.js +217 -27
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/cache.js +43 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/parse.js +150 -147
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/index.js +6 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/request.js +2 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/util.js +6 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/webidl/index.js +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/connection.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/websocket.js +22 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/package.json +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +4 -4
- package/node_modules/@earendil-works/pi-coding-agent/package.json +1 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/errors/index.js +20 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +11 -10
- package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +11 -10
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +25 -8
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -0
- package/node_modules/@smithy/core/dist-es/submodules/errors/errors.js +18 -0
- package/node_modules/@smithy/core/dist-es/submodules/errors/index.js +1 -0
- package/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js +11 -10
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js +2 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js +23 -8
- package/node_modules/@smithy/core/dist-types/submodules/errors/errors.d.ts +44 -0
- package/node_modules/@smithy/core/dist-types/submodules/errors/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/submodules/retry/service-error-classification/service-error-classification.d.ts +4 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/errors/errors.d.ts +44 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/errors/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/service-error-classification/service-error-classification.d.ts +4 -0
- package/node_modules/@smithy/core/errors.d.ts +5 -0
- package/node_modules/@smithy/core/errors.js +5 -0
- package/node_modules/@smithy/core/package.json +11 -2
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.d.ts +1 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
- package/node_modules/@types/node/http.d.ts +1 -1
- package/node_modules/@types/node/package.json +3 -3
- package/node_modules/@types/node/perf_hooks.d.ts +31 -19
- package/node_modules/@types/node/quic.d.ts +6 -4
- package/node_modules/@types/node/stream/web.d.ts +20 -0
- package/node_modules/@types/node/tls.d.ts +26 -15
- package/node_modules/@types/node/vfs.d.ts +7 -6
- package/node_modules/@types/node/web-globals/streams.d.ts +4 -0
- package/node_modules/@types/node/zlib.d.ts +17 -0
- package/node_modules/hono/dist/cjs/client/client.js +4 -4
- package/node_modules/hono/dist/cjs/hono-base.js +7 -6
- package/node_modules/hono/dist/cjs/jsx/base.js +18 -1
- package/node_modules/hono/dist/cjs/jsx/components.js +25 -26
- package/node_modules/hono/dist/cjs/jsx/context.js +5 -5
- package/node_modules/hono/dist/cjs/jsx/dom/server.js +5 -1
- package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +2 -2
- package/node_modules/hono/dist/cjs/jsx/streaming.js +4 -5
- package/node_modules/hono/dist/client/client.js +4 -4
- package/node_modules/hono/dist/hono-base.js +7 -6
- package/node_modules/hono/dist/jsx/base.js +15 -1
- package/node_modules/hono/dist/jsx/components.js +26 -27
- package/node_modules/hono/dist/jsx/context.js +6 -6
- package/node_modules/hono/dist/jsx/dom/server.js +5 -1
- package/node_modules/hono/dist/jsx/intrinsic-element/components.js +3 -3
- package/node_modules/hono/dist/jsx/streaming.js +5 -6
- package/node_modules/hono/dist/types/context.d.ts +2 -2
- package/node_modules/hono/dist/types/jsx/base.d.ts +3 -0
- package/node_modules/hono/package.json +2 -2
- package/node_modules/jose/dist/types/index.d.ts +1 -2
- package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +7 -11
- package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +13 -16
- package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +7 -11
- package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +16 -19
- package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +10 -16
- package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +18 -21
- package/node_modules/jose/dist/types/jwk/embedded.d.ts +3 -1
- package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +4 -6
- package/node_modules/jose/dist/types/jwks/local.d.ts +5 -4
- package/node_modules/jose/dist/types/jwks/remote.d.ts +20 -21
- package/node_modules/jose/dist/types/jws/compact/sign.d.ts +4 -4
- package/node_modules/jose/dist/types/jws/compact/verify.d.ts +8 -11
- package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +5 -5
- package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +8 -11
- package/node_modules/jose/dist/types/jws/general/sign.d.ts +10 -14
- package/node_modules/jose/dist/types/jws/general/verify.d.ts +11 -17
- package/node_modules/jose/dist/types/jwt/decrypt.d.ts +14 -11
- package/node_modules/jose/dist/types/jwt/encrypt.d.ts +24 -22
- package/node_modules/jose/dist/types/jwt/sign.d.ts +3 -7
- package/node_modules/jose/dist/types/jwt/unsecured.d.ts +2 -6
- package/node_modules/jose/dist/types/jwt/verify.d.ts +13 -6
- package/node_modules/jose/dist/types/key/export.d.ts +6 -6
- package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +9 -14
- package/node_modules/jose/dist/types/key/generate_secret.d.ts +10 -10
- package/node_modules/jose/dist/types/key/import.d.ts +19 -18
- package/node_modules/jose/dist/types/types.d.ts +152 -247
- package/node_modules/jose/dist/types/util/base64url.d.ts +7 -7
- package/node_modules/jose/dist/types/util/decode_jwt.d.ts +6 -1
- package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +4 -3
- package/node_modules/jose/dist/types/util/errors.d.ts +29 -40
- package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +1 -2
- package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +9 -26
- package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +3 -3
- package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +11 -30
- package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +6 -6
- package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +33 -57
- package/node_modules/jose/dist/webapi/jwk/embedded.js +3 -4
- package/node_modules/jose/dist/webapi/jwk/thumbprint.js +3 -6
- package/node_modules/jose/dist/webapi/jwks/local.js +16 -10
- package/node_modules/jose/dist/webapi/jwks/remote.js +2 -2
- package/node_modules/jose/dist/webapi/jws/compact/sign.js +2 -4
- package/node_modules/jose/dist/webapi/jws/compact/verify.js +2 -2
- package/node_modules/jose/dist/webapi/jws/flattened/sign.js +8 -15
- package/node_modules/jose/dist/webapi/jws/flattened/verify.js +4 -14
- package/node_modules/jose/dist/webapi/jws/general/sign.js +4 -11
- package/node_modules/jose/dist/webapi/jws/general/verify.js +5 -7
- package/node_modules/jose/dist/webapi/jwt/decrypt.js +2 -3
- package/node_modules/jose/dist/webapi/jwt/encrypt.js +11 -25
- package/node_modules/jose/dist/webapi/jwt/sign.js +1 -1
- package/node_modules/jose/dist/webapi/jwt/unsecured.js +1 -2
- package/node_modules/jose/dist/webapi/jwt/verify.js +4 -4
- package/node_modules/jose/dist/webapi/key/export.js +12 -16
- package/node_modules/jose/dist/webapi/key/generate_key_pair.js +4 -13
- package/node_modules/jose/dist/webapi/key/generate_secret.js +1 -1
- package/node_modules/jose/dist/webapi/key/import.js +5 -9
- package/node_modules/jose/dist/webapi/lib/asn1.js +2 -4
- package/node_modules/jose/dist/webapi/lib/buffer_utils.js +35 -0
- package/node_modules/jose/dist/webapi/lib/content_encryption.js +21 -29
- package/node_modules/jose/dist/webapi/lib/deflate.js +9 -19
- package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +0 -4
- package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +21 -54
- package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +26 -59
- package/node_modules/jose/dist/webapi/lib/jws_sign.js +29 -43
- package/node_modules/jose/dist/webapi/lib/jws_verify.js +37 -45
- package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +1 -1
- package/node_modules/jose/dist/webapi/lib/key.js +119 -59
- package/node_modules/jose/dist/webapi/lib/key_management.js +45 -80
- package/node_modules/jose/dist/webapi/lib/{options.js → validate.js} +64 -3
- package/node_modules/jose/dist/webapi/util/base64url.js +5 -19
- package/node_modules/jose/dist/webapi/util/decode_jwt.js +1 -1
- package/node_modules/jose/dist/webapi/util/decode_protected_header.js +1 -1
- package/node_modules/jose/package.json +1 -1
- package/node_modules/undici/lib/dispatcher/balanced-pool.js +4 -2
- package/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
- package/node_modules/undici/lib/dispatcher/client-h2.js +70 -14
- package/node_modules/undici/lib/dispatcher/client.js +6 -2
- package/node_modules/undici/lib/handler/cache-handler.js +21 -5
- package/node_modules/undici/lib/handler/retry-handler.js +42 -7
- package/node_modules/undici/lib/interceptor/cache.js +20 -1
- package/node_modules/undici/lib/interceptor/decompress.js +146 -14
- package/node_modules/undici/lib/interceptor/dump.js +10 -23
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +245 -150
- package/node_modules/undici/lib/web/websocket/connection.js +1 -1
- package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/interceptors.d.ts +2 -0
- package/node_modules/undici-types/client.d.ts +8 -3
- 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 +3 -3
- 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/handlers.d.ts +2 -0
- package/node_modules/undici-types/interceptors.d.ts +1 -1
- package/node_modules/undici-types/mock-interceptor.d.ts +5 -1
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/proxy-agent.d.ts +7 -0
- 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/package.json +2 -2
- package/slingshot/index.js +201 -198
- package/node_modules/jose/dist/webapi/lib/base64.js +0 -20
- package/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -27
- package/node_modules/jose/dist/webapi/lib/helpers.js +0 -45
- package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -12
- package/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -19
- package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +0 -19
- package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -10
- package/node_modules/jose/dist/webapi/lib/key_options.js +0 -8
- package/node_modules/jose/dist/webapi/lib/signing.js +0 -22
- package/node_modules/jose/dist/webapi/lib/type_checks.js +0 -30
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const diagnosticsChannel = require('node:diagnostics_channel')
|
|
4
4
|
const util = require('../core/util')
|
|
5
5
|
const DeduplicationHandler = require('../handler/deduplication-handler')
|
|
6
|
-
const { normalizeHeaders, makeCacheKey, makeDeduplicationKey } = require('../util/cache.js')
|
|
6
|
+
const { getInterceptorOrigin, normalizeHeaders, makeCacheKey, makeDeduplicationKey } = require('../util/cache.js')
|
|
7
7
|
|
|
8
8
|
const pendingRequestsChannel = diagnosticsChannel.channel('undici:request:pending-requests')
|
|
9
9
|
|
|
@@ -57,9 +57,10 @@ module.exports = (opts = {}) => {
|
|
|
57
57
|
*/
|
|
58
58
|
const pendingRequests = new Map()
|
|
59
59
|
|
|
60
|
-
return dispatch => {
|
|
60
|
+
return (dispatch, interceptorOrigin) => {
|
|
61
61
|
return (opts, handler) => {
|
|
62
|
-
|
|
62
|
+
const requestOrigin = getInterceptorOrigin(opts, interceptorOrigin)
|
|
63
|
+
if (!requestOrigin || opts.upgrade || methods.includes(opts.method) === false) {
|
|
63
64
|
return dispatch(opts, handler)
|
|
64
65
|
}
|
|
65
66
|
|
|
@@ -77,7 +78,7 @@ module.exports = (opts = {}) => {
|
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
const cacheKey = makeCacheKey(opts)
|
|
81
|
+
const cacheKey = makeCacheKey(opts, requestOrigin)
|
|
81
82
|
const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet)
|
|
82
83
|
|
|
83
84
|
// Check if there's already a pending request for this key
|
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js
CHANGED
|
@@ -3,6 +3,7 @@ const { isIP } = require('node:net')
|
|
|
3
3
|
const { lookup } = require('node:dns')
|
|
4
4
|
const DecoratorHandler = require('../handler/decorator-handler')
|
|
5
5
|
const { InvalidArgumentError, InformationalError } = require('../core/errors')
|
|
6
|
+
const { kRequestOrigin } = require('../core/symbols')
|
|
6
7
|
const maxInt = Math.pow(2, 31) - 1
|
|
7
8
|
|
|
8
9
|
function hasSafeIterator (headers) {
|
|
@@ -434,6 +435,9 @@ class DNSDispatchHandler extends DecoratorHandler {
|
|
|
434
435
|
origin: `${this.#origin.protocol}//${
|
|
435
436
|
ip.family === 6 ? `[${ip.address}]` : ip.address
|
|
436
437
|
}${port}`,
|
|
438
|
+
[kRequestOrigin]: this.#opts[kRequestOrigin] === undefined
|
|
439
|
+
? this.#origin
|
|
440
|
+
: this.#opts[kRequestOrigin],
|
|
437
441
|
headers: withHostHeader(this.#origin.host, this.#opts.headers)
|
|
438
442
|
}
|
|
439
443
|
this.#dispatch(dispatchOpts, this)
|
|
@@ -557,6 +561,9 @@ module.exports = interceptorOpts => {
|
|
|
557
561
|
...origDispatchOpts,
|
|
558
562
|
servername: origin.hostname, // For SNI on TLS
|
|
559
563
|
origin: newOrigin.origin,
|
|
564
|
+
[kRequestOrigin]: origDispatchOpts[kRequestOrigin] === undefined
|
|
565
|
+
? origin
|
|
566
|
+
: origDispatchOpts[kRequestOrigin],
|
|
560
567
|
headers: withHostHeader(origin.host, origDispatchOpts.headers)
|
|
561
568
|
}
|
|
562
569
|
|
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dump.js
CHANGED
|
@@ -7,7 +7,6 @@ class DumpHandler extends DecoratorHandler {
|
|
|
7
7
|
#maxSize = 1024 * 1024
|
|
8
8
|
#dumped = false
|
|
9
9
|
#size = 0
|
|
10
|
-
#controller = null
|
|
11
10
|
aborted = false
|
|
12
11
|
reason = false
|
|
13
12
|
|
|
@@ -29,7 +28,6 @@ class DumpHandler extends DecoratorHandler {
|
|
|
29
28
|
|
|
30
29
|
onRequestStart (controller, context) {
|
|
31
30
|
controller.abort = this.#abort.bind(this)
|
|
32
|
-
this.#controller = controller
|
|
33
31
|
|
|
34
32
|
return super.onRequestStart(controller, context)
|
|
35
33
|
}
|
|
@@ -53,43 +51,32 @@ class DumpHandler extends DecoratorHandler {
|
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
onResponseError (controller, err) {
|
|
56
|
-
|
|
57
|
-
return
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// On network errors before connect, controller will be null
|
|
61
|
-
err = this.#controller?.reason ?? err
|
|
62
|
-
|
|
63
|
-
super.onResponseError(controller, err)
|
|
54
|
+
super.onResponseError(controller, this.aborted === true ? this.reason : err)
|
|
64
55
|
}
|
|
65
56
|
|
|
66
57
|
onResponseData (controller, chunk) {
|
|
67
58
|
this.#size = this.#size + chunk.length
|
|
68
59
|
|
|
69
|
-
if (this.#size
|
|
70
|
-
|
|
60
|
+
if (this.#size > this.#maxSize) {
|
|
61
|
+
throw new RequestAbortedError(
|
|
62
|
+
`Response size (${this.#size}) larger than maxSize (${this.#maxSize})`
|
|
63
|
+
)
|
|
64
|
+
}
|
|
71
65
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
} else {
|
|
75
|
-
super.onResponseEnd(controller, {})
|
|
76
|
-
}
|
|
66
|
+
if (this.#size === this.#maxSize) {
|
|
67
|
+
this.#dumped = true
|
|
77
68
|
}
|
|
78
69
|
|
|
79
70
|
return true
|
|
80
71
|
}
|
|
81
72
|
|
|
82
73
|
onResponseEnd (controller, trailers) {
|
|
83
|
-
if (this
|
|
84
|
-
return
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (this.#controller.aborted === true) {
|
|
74
|
+
if (this.aborted === true) {
|
|
88
75
|
super.onResponseError(controller, this.reason)
|
|
89
76
|
return
|
|
90
77
|
}
|
|
91
78
|
|
|
92
|
-
super.onResponseEnd(controller, trailers)
|
|
79
|
+
super.onResponseEnd(controller, this.#dumped ? {} : trailers)
|
|
93
80
|
}
|
|
94
81
|
}
|
|
95
82
|
|
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js
CHANGED
|
@@ -73,7 +73,7 @@ class MockAgent extends Dispatcher {
|
|
|
73
73
|
opts.origin = normalizeOrigin(opts.origin)
|
|
74
74
|
|
|
75
75
|
// Call MockAgent.get to perform additional setup before dispatching as normal
|
|
76
|
-
this.get(opts.origin)
|
|
76
|
+
const mockDispatcher = this.get(opts.origin)
|
|
77
77
|
|
|
78
78
|
this[kMockAgentAddCallHistoryLog](opts)
|
|
79
79
|
|
|
@@ -81,6 +81,18 @@ class MockAgent extends Dispatcher {
|
|
|
81
81
|
|
|
82
82
|
const dispatchOpts = { ...opts }
|
|
83
83
|
|
|
84
|
+
// Agent keeps HTTP/1.1-only dispatchers under a separate key. Legacy
|
|
85
|
+
// global dispatcher consumers use that path, so mirror the mock dispatches
|
|
86
|
+
// before delegating to the internal Agent.
|
|
87
|
+
if (dispatchOpts.allowH2 === false) {
|
|
88
|
+
const http1OnlyKey = `${dispatchOpts.origin}#http1-only`
|
|
89
|
+
if (!this[kClients].has(http1OnlyKey)) {
|
|
90
|
+
const http1OnlyDispatcher = this[kFactory](dispatchOpts.origin)
|
|
91
|
+
http1OnlyDispatcher[kDispatches] = mockDispatcher[kDispatches]
|
|
92
|
+
this[kMockAgentSet](http1OnlyKey, http1OnlyDispatcher)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
84
96
|
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
|
|
85
97
|
const [path, searchParams] = dispatchOpts.path.split('?')
|
|
86
98
|
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters)
|
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-utils.js
CHANGED
|
@@ -17,6 +17,7 @@ const {
|
|
|
17
17
|
}
|
|
18
18
|
} = require('node:util')
|
|
19
19
|
const { InvalidArgumentError } = require('../core/errors')
|
|
20
|
+
const requestAborted = Symbol('request aborted')
|
|
20
21
|
|
|
21
22
|
function matchValue (match, value) {
|
|
22
23
|
if (typeof match === 'string') {
|
|
@@ -153,6 +154,11 @@ function getResponseData (data) {
|
|
|
153
154
|
return data
|
|
154
155
|
} else if (data instanceof ArrayBuffer) {
|
|
155
156
|
return data
|
|
157
|
+
} else if (ArrayBuffer.isView(data)) {
|
|
158
|
+
// A DataView, or any non-Uint8Array typed array, is a byte container
|
|
159
|
+
// rather than a plain object. Buffer.from() cannot read one directly, so
|
|
160
|
+
// expose the bytes it covers instead of letting it reach JSON.stringify.
|
|
161
|
+
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength)
|
|
156
162
|
} else if (typeof data === 'object') {
|
|
157
163
|
return JSON.stringify(data)
|
|
158
164
|
} else if (data) {
|
|
@@ -225,9 +231,15 @@ function deleteMockDispatch (mockDispatches, key) {
|
|
|
225
231
|
}
|
|
226
232
|
|
|
227
233
|
/**
|
|
228
|
-
* @param {string} path Path to remove trailing slash from
|
|
234
|
+
* @param {string|RegExp|Function} path Path, or path matcher, to remove trailing slash from
|
|
229
235
|
*/
|
|
230
236
|
function removeTrailingSlash (path) {
|
|
237
|
+
// Registered path matchers may be a RegExp or a function, which have no
|
|
238
|
+
// trailing slash to strip; hand those back for matchValue to apply.
|
|
239
|
+
if (typeof path !== 'string') {
|
|
240
|
+
return path
|
|
241
|
+
}
|
|
242
|
+
|
|
231
243
|
while (path.endsWith('/')) {
|
|
232
244
|
path = path.slice(0, -1)
|
|
233
245
|
}
|
|
@@ -302,9 +314,13 @@ function mockDispatch (opts, handler) {
|
|
|
302
314
|
mockDispatch.consumed = !mockDispatch.persist && timesInvoked >= times
|
|
303
315
|
mockDispatch.pending = timesInvoked < times
|
|
304
316
|
|
|
317
|
+
const hasBodyHooks = typeof handler.onBodySent === 'function' ||
|
|
318
|
+
typeof handler.onRequestSent === 'function'
|
|
319
|
+
|
|
305
320
|
// Here's where we resolve a callback if a callback is present for the dispatch data.
|
|
306
|
-
if (mockDispatch.data.callback) {
|
|
307
|
-
const
|
|
321
|
+
if (mockDispatch.data.callback && (!hasBodyHooks || opts.body == null)) {
|
|
322
|
+
const { callback, ...responseDefaults } = mockDispatch.data
|
|
323
|
+
const callbackResult = callback(opts)
|
|
308
324
|
|
|
309
325
|
// An asynchronous reply options callback resolves to the reply data, so
|
|
310
326
|
// the dispatch can only continue once the returned promise settles.
|
|
@@ -313,18 +329,24 @@ function mockDispatch (opts, handler) {
|
|
|
313
329
|
if (isPromise(callbackResult)) {
|
|
314
330
|
callbackResult.then(
|
|
315
331
|
(resolvedData) => {
|
|
316
|
-
|
|
317
|
-
|
|
332
|
+
if (resolvedData == null || typeof resolvedData !== 'object') {
|
|
333
|
+
handler.onResponseError(null, new InvalidArgumentError('reply options callback must return an object'))
|
|
334
|
+
return
|
|
335
|
+
}
|
|
336
|
+
dispatchMockReply(mockDispatches, mockDispatch, key, opts, handler, { ...responseDefaults, ...resolvedData })
|
|
318
337
|
},
|
|
319
338
|
(error) => {
|
|
320
|
-
deleteMockDispatch(mockDispatches, key)
|
|
321
339
|
handler.onResponseError(null, error)
|
|
322
340
|
}
|
|
323
341
|
)
|
|
324
342
|
return true
|
|
325
343
|
}
|
|
326
344
|
|
|
327
|
-
|
|
345
|
+
if (callbackResult == null || typeof callbackResult !== 'object') {
|
|
346
|
+
throw new InvalidArgumentError('reply options callback must return an object')
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
return dispatchMockReply(mockDispatches, mockDispatch, key, opts, handler, { ...responseDefaults, ...callbackResult })
|
|
328
350
|
}
|
|
329
351
|
|
|
330
352
|
return dispatchMockReply(mockDispatches, mockDispatch, key, opts, handler)
|
|
@@ -333,14 +355,18 @@ function mockDispatch (opts, handler) {
|
|
|
333
355
|
/**
|
|
334
356
|
* Replies to a request once the mock dispatch data is fully resolved
|
|
335
357
|
*/
|
|
336
|
-
function dispatchMockReply (mockDispatches, mockDispatch, key, opts, handler) {
|
|
337
|
-
// Parse mockDispatch data
|
|
338
|
-
|
|
358
|
+
function dispatchMockReply (mockDispatches, mockDispatch, key, opts, handler, resolvedResponse) {
|
|
359
|
+
// Parse mockDispatch data. When a reply callback has already been resolved
|
|
360
|
+
// in mockDispatch() (i.e. no body lifecycle hooks are involved), the resolved
|
|
361
|
+
// response is passed in here, leaving mockDispatch.data untouched so the
|
|
362
|
+
// callback can be re-invoked for persistent / times() replies.
|
|
363
|
+
const { data: responseData, delay } = mockDispatch
|
|
364
|
+
const response = resolvedResponse ?? responseData
|
|
339
365
|
|
|
340
366
|
// If specified, trigger dispatch error
|
|
341
|
-
if (error !== null) {
|
|
367
|
+
if (response.error !== null) {
|
|
342
368
|
deleteMockDispatch(mockDispatches, key)
|
|
343
|
-
handler.onResponseError(null, error)
|
|
369
|
+
handler.onResponseError(null, response.error)
|
|
344
370
|
return true
|
|
345
371
|
}
|
|
346
372
|
|
|
@@ -375,32 +401,105 @@ function dispatchMockReply (mockDispatches, mockDispatch, key, opts, handler) {
|
|
|
375
401
|
}
|
|
376
402
|
}
|
|
377
403
|
|
|
404
|
+
let replyOpts = opts
|
|
405
|
+
const dispatches = mockDispatches
|
|
406
|
+
|
|
378
407
|
// Call onRequestStart to allow the handler to receive the controller
|
|
379
408
|
handler.onRequestStart?.(controller, null)
|
|
380
409
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
410
|
+
if (aborted) {
|
|
411
|
+
return true
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
const requestBody = dispatchRequestBody(opts.body, handler, controller, () => aborted)
|
|
415
|
+
|
|
416
|
+
if (isPromise(requestBody)) {
|
|
417
|
+
requestBody.then((body) => {
|
|
418
|
+
if (body === requestAborted) {
|
|
419
|
+
return
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
if (body !== opts.body) {
|
|
423
|
+
replyOpts = { ...opts, body }
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
sendReply()
|
|
427
|
+
}, (error) => controller.abort(error))
|
|
428
|
+
return true
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
if (requestBody === requestAborted) {
|
|
432
|
+
return true
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
if (requestBody !== opts.body) {
|
|
436
|
+
replyOpts = { ...opts, body: requestBody }
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
sendReply()
|
|
440
|
+
|
|
441
|
+
function sendReply () {
|
|
442
|
+
if (response.callback) {
|
|
443
|
+
const { callback, ...responseDefaults } = response
|
|
444
|
+
let callbackResult
|
|
445
|
+
try {
|
|
446
|
+
callbackResult = callback(replyOpts)
|
|
447
|
+
} catch (err) {
|
|
448
|
+
deleteMockDispatch(mockDispatches, key)
|
|
449
|
+
handler.onResponseError(null, err)
|
|
450
|
+
return
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
if (isPromise(callbackResult)) {
|
|
454
|
+
callbackResult.then(
|
|
455
|
+
(resolvedData) => {
|
|
456
|
+
if (resolvedData == null || typeof resolvedData !== 'object') {
|
|
457
|
+
handler.onResponseError(null, new InvalidArgumentError('reply options callback must return an object'))
|
|
458
|
+
return
|
|
459
|
+
}
|
|
460
|
+
handleReply(dispatches, { ...responseDefaults, ...resolvedData })
|
|
461
|
+
},
|
|
462
|
+
(err) => {
|
|
463
|
+
handler.onResponseError(null, err)
|
|
464
|
+
}
|
|
465
|
+
)
|
|
466
|
+
return
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
if (callbackResult == null || typeof callbackResult !== 'object') {
|
|
470
|
+
throw new InvalidArgumentError('reply options callback must return an object')
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
handleReply(dispatches, { ...responseDefaults, ...callbackResult })
|
|
474
|
+
return
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
// Handle the request with a delay if necessary
|
|
478
|
+
if (typeof delay === 'number' && delay > 0) {
|
|
479
|
+
timer = setTimeout(() => {
|
|
480
|
+
timer = null
|
|
481
|
+
handleReply(dispatches)
|
|
482
|
+
}, delay)
|
|
483
|
+
} else {
|
|
484
|
+
handleReply(dispatches)
|
|
485
|
+
}
|
|
389
486
|
}
|
|
390
487
|
|
|
391
|
-
function handleReply (mockDispatches,
|
|
488
|
+
function handleReply (mockDispatches, _response = response) {
|
|
392
489
|
// Don't send response if the request was aborted
|
|
393
490
|
if (aborted) {
|
|
394
491
|
return
|
|
395
492
|
}
|
|
396
493
|
|
|
494
|
+
const { statusCode, data, headers, trailers } = _response
|
|
495
|
+
|
|
397
496
|
// fetch's HeadersList is a 1D string array
|
|
398
497
|
const optsHeaders = Array.isArray(opts.headers)
|
|
399
498
|
? buildHeadersFromArray(opts.headers)
|
|
400
499
|
: opts.headers
|
|
401
|
-
const body = typeof
|
|
402
|
-
?
|
|
403
|
-
:
|
|
500
|
+
const body = typeof data === 'function'
|
|
501
|
+
? data({ ...replyOpts, headers: optsHeaders })
|
|
502
|
+
: data
|
|
404
503
|
|
|
405
504
|
// util.types.isPromise is likely needed for jest.
|
|
406
505
|
if (isPromise(body)) {
|
|
@@ -409,7 +508,7 @@ function dispatchMockReply (mockDispatches, mockDispatch, key, opts, handler) {
|
|
|
409
508
|
// synchronously throw the error, which breaks some tests.
|
|
410
509
|
// Rather, we wait for the callback to resolve if it is a
|
|
411
510
|
// promise, and then re-run handleReply with the new body.
|
|
412
|
-
return body.then((newData) => handleReply(mockDispatches, newData))
|
|
511
|
+
return body.then((newData) => handleReply(mockDispatches, { ..._response, data: newData }))
|
|
413
512
|
}
|
|
414
513
|
|
|
415
514
|
// Check again if aborted after async body resolution
|
|
@@ -418,8 +517,8 @@ function dispatchMockReply (mockDispatches, mockDispatch, key, opts, handler) {
|
|
|
418
517
|
}
|
|
419
518
|
|
|
420
519
|
const responseData = getResponseData(body)
|
|
421
|
-
const responseHeaders = generateKeyValues(headers)
|
|
422
|
-
const responseTrailers = generateKeyValues(trailers)
|
|
520
|
+
const responseHeaders = generateKeyValues(headers ?? {})
|
|
521
|
+
const responseTrailers = generateKeyValues(trailers ?? {})
|
|
423
522
|
|
|
424
523
|
// Update the controller with response data
|
|
425
524
|
controller.rawHeaders = responseHeaders
|
|
@@ -434,6 +533,97 @@ function dispatchMockReply (mockDispatches, mockDispatch, key, opts, handler) {
|
|
|
434
533
|
return true
|
|
435
534
|
}
|
|
436
535
|
|
|
536
|
+
function dispatchRequestBody (body, handler, controller, isAborted) {
|
|
537
|
+
if (typeof handler.onBodySent !== 'function' && typeof handler.onRequestSent !== 'function') {
|
|
538
|
+
return body
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
if (body == null) {
|
|
542
|
+
return callOnRequestSent(handler, controller, isAborted) ? body : requestAborted
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
if (body && typeof body[Symbol.asyncIterator] === 'function') {
|
|
546
|
+
return dispatchAsyncIterableBody(body, handler, controller, isAborted)
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
if (isIterableBody(body)) {
|
|
550
|
+
const chunks = []
|
|
551
|
+
|
|
552
|
+
for (const chunk of body) {
|
|
553
|
+
if (isAborted()) {
|
|
554
|
+
return requestAborted
|
|
555
|
+
}
|
|
556
|
+
chunks.push(chunk)
|
|
557
|
+
if (!callOnBodySent(handler, controller, chunk) || isAborted()) {
|
|
558
|
+
return requestAborted
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
return callOnRequestSent(handler, controller, isAborted) ? chunks : requestAborted
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
if (isAborted()) {
|
|
566
|
+
return requestAborted
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
if (!callOnBodySent(handler, controller, body)) {
|
|
570
|
+
return requestAborted
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
return callOnRequestSent(handler, controller, isAborted) ? body : requestAborted
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
async function dispatchAsyncIterableBody (body, handler, controller, isAborted) {
|
|
577
|
+
const chunks = []
|
|
578
|
+
|
|
579
|
+
for await (const chunk of body) {
|
|
580
|
+
if (isAborted()) {
|
|
581
|
+
return requestAborted
|
|
582
|
+
}
|
|
583
|
+
chunks.push(chunk)
|
|
584
|
+
if (!callOnBodySent(handler, controller, chunk) || isAborted()) {
|
|
585
|
+
return requestAborted
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
if (!callOnRequestSent(handler, controller, isAborted)) {
|
|
590
|
+
return requestAborted
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
return {
|
|
594
|
+
async * [Symbol.asyncIterator] () {
|
|
595
|
+
yield * chunks
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
function callOnBodySent (handler, controller, chunk) {
|
|
601
|
+
try {
|
|
602
|
+
handler.onBodySent?.(chunk)
|
|
603
|
+
return true
|
|
604
|
+
} catch (error) {
|
|
605
|
+
controller.abort(error)
|
|
606
|
+
return false
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
function callOnRequestSent (handler, controller, isAborted) {
|
|
611
|
+
try {
|
|
612
|
+
handler.onRequestSent?.()
|
|
613
|
+
return !isAborted()
|
|
614
|
+
} catch (error) {
|
|
615
|
+
controller.abort(error)
|
|
616
|
+
return false
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
function isIterableBody (body) {
|
|
621
|
+
return typeof body !== 'string' &&
|
|
622
|
+
!Buffer.isBuffer(body) &&
|
|
623
|
+
!ArrayBuffer.isView(body) &&
|
|
624
|
+
typeof body[Symbol.iterator] === 'function'
|
|
625
|
+
}
|
|
626
|
+
|
|
437
627
|
function buildMockDispatch () {
|
|
438
628
|
const agent = this[kMockAgent]
|
|
439
629
|
const origin = this[kOrigin]
|
|
@@ -8,6 +8,7 @@ const {
|
|
|
8
8
|
} = require('../core/util')
|
|
9
9
|
|
|
10
10
|
const { serializePathWithQuery } = require('../core/util')
|
|
11
|
+
const { kRequestOrigin } = require('../core/symbols')
|
|
11
12
|
|
|
12
13
|
const MAX_DELTA_SECONDS = 2147483647
|
|
13
14
|
const RESTRICTIVE_DIRECTIVE_NAMES = ['no-store', 'private', 'no-cache']
|
|
@@ -147,8 +148,45 @@ function getMalformedRestrictiveDirectiveName (key) {
|
|
|
147
148
|
/**
|
|
148
149
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchOptions} opts
|
|
149
150
|
*/
|
|
150
|
-
function
|
|
151
|
-
|
|
151
|
+
function getRequestOrigin (opts) {
|
|
152
|
+
const origin = opts[kRequestOrigin] === undefined
|
|
153
|
+
? opts.origin
|
|
154
|
+
: opts[kRequestOrigin]
|
|
155
|
+
return typeof origin === 'string' || origin instanceof URL
|
|
156
|
+
? origin
|
|
157
|
+
: null
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @param {import('../../types/dispatcher.d.ts').default.DispatchOptions} opts
|
|
162
|
+
* @param {string|null|undefined} interceptorOrigin
|
|
163
|
+
*/
|
|
164
|
+
function getInterceptorOrigin (opts, interceptorOrigin) {
|
|
165
|
+
const requestOrigin = getRequestOrigin(opts)
|
|
166
|
+
if (interceptorOrigin === undefined) {
|
|
167
|
+
return requestOrigin
|
|
168
|
+
}
|
|
169
|
+
if (interceptorOrigin === null) {
|
|
170
|
+
return null
|
|
171
|
+
}
|
|
172
|
+
if (requestOrigin) {
|
|
173
|
+
try {
|
|
174
|
+
if (new URL(requestOrigin).origin !== interceptorOrigin) {
|
|
175
|
+
return null
|
|
176
|
+
}
|
|
177
|
+
} catch {
|
|
178
|
+
return interceptorOrigin
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return interceptorOrigin
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* @param {import('../../types/dispatcher.d.ts').default.DispatchOptions} opts
|
|
186
|
+
* @param {string|URL|null} [origin]
|
|
187
|
+
*/
|
|
188
|
+
function makeCacheKey (opts, origin = getRequestOrigin(opts)) {
|
|
189
|
+
if (!origin) {
|
|
152
190
|
throw new Error('opts.origin is undefined')
|
|
153
191
|
}
|
|
154
192
|
|
|
@@ -159,7 +197,7 @@ function makeCacheKey (opts) {
|
|
|
159
197
|
}
|
|
160
198
|
|
|
161
199
|
return {
|
|
162
|
-
origin:
|
|
200
|
+
origin: origin.toString(),
|
|
163
201
|
method: opts.method,
|
|
164
202
|
path: fullPath,
|
|
165
203
|
headers: opts.headers
|
|
@@ -702,6 +740,8 @@ function makeDeduplicationKey (cacheKey, excludeHeaders) {
|
|
|
702
740
|
}
|
|
703
741
|
|
|
704
742
|
module.exports = {
|
|
743
|
+
getInterceptorOrigin,
|
|
744
|
+
getRequestOrigin,
|
|
705
745
|
makeCacheKey,
|
|
706
746
|
normalizeHeaders,
|
|
707
747
|
assertCacheKey,
|