@psnext/slingcli 3.5.20261007-3 → 3.5.20261019-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/httpAuthSchemes/index.js +12 -3
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +94 -1589
- package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +12 -3
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +1 -7
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -3
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +1 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +2 -8
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsRestJsonProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +10 -10
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsRestJsonProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-http/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-node/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +37 -19
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +37 -19
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
- package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-websocket/package.json +4 -4
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +11 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +6 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +6 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +13 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +9 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/models/CognitoIdentityServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/models/errors.js +9 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/SSOServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/errors.js +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js +11 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js +7 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/models/CognitoIdentityServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/models/errors.d.ts +9 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/SigninServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/models/SSOServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/models/SSOOIDCServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/models/errors.d.ts +11 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/STSServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/errors.d.ts +7 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/models/CognitoIdentityServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/models/errors.d.ts +9 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/SigninServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/models/SSOServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/models/SSOOIDCServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/models/errors.d.ts +11 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/STSServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/errors.d.ts +7 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +4 -4
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js +2 -0
- package/node_modules/@earendil-works/pi-codemode/dist/runtime/host.js +21 -86
- package/node_modules/@earendil-works/pi-codemode/dist/runtime/prelude-source.js +3 -103
- package/node_modules/@earendil-works/pi-codemode/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-TFS67BSI.js → chunk-23QDZLZG.js} +20 -14
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-IB6ONE3U.js → chunk-QPFSTNX5.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{virtual-modules-P5ROWYIG.js → virtual-modules-GRXGP6ZA.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli-runtime.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/node_modules/undici/docs/docs/api/Agent.md +8 -8
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Client.md +11 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Dispatcher.md +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Errors.md +101 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Fetch.md +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Interceptors.md +17 -9
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Pool.md +5 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/index.md +22 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/type-map.json +66 -66
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/readable.js +1 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/constants.js +12 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/errors.js +38 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/request.js +39 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/util.js +26 -40
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js +127 -84
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h2.js +97 -21
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js +10 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool-base.js +117 -19
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool.js +99 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/proxy-agent.js +34 -11
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-handler.js +153 -15
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/deduplication-handler.js +126 -52
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/redirect-handler.js +31 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/retry-handler.js +116 -24
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/cache.js +15 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/decompress.js +253 -73
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js +11 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/response-error.js +72 -28
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/milo/LICENSE.md +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/milo/no-simd.js +1002 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/milo/simd.js +1002 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js +11 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/cache.js +11 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/cache.js +17 -8
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/index.js +19 -7
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource.js +50 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/body.js +69 -53
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/data-url.js +6 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/formdata.js +30 -36
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/headers.js +36 -33
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/index.js +54 -29
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/request.js +74 -79
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/response.js +43 -44
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/util.js +7 -7
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/infra/index.js +16 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/webidl/index.js +2 -14
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/connection.js +33 -12
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/events.js +43 -26
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/receiver.js +27 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketstream.js +19 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/websocket.js +44 -41
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/package.json +7 -5
- package/node_modules/@earendil-works/pi-coding-agent/package.json +2 -2
- package/node_modules/@hono/node-server/README.md +2 -0
- package/node_modules/@hono/node-server/dist/index.cjs +1 -1
- package/node_modules/@hono/node-server/dist/index.mjs +1 -1
- package/node_modules/@hono/node-server/dist/serve-static.cjs +2 -1
- package/node_modules/@hono/node-server/dist/serve-static.mjs +2 -1
- package/node_modules/@hono/node-server/package.json +2 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +2 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +2 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +1695 -3
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/cache/EndpointCache.js +2 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js +6 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/UnionSerde.js +26 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/common.js +3 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +8 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js +102 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js +8 -1
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js +8 -1
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js +13 -2
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +11 -1
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/parseJsonBody.js +16 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/writeKey.js +3 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/ConfigurableSerdeContext.d.ts +8 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/UnionSerde.d.ts +24 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/common.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +9 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/json/JsonSettings.d.ts +13 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +28 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +16 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/writeKey.d.ts +4 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/ConfigurableSerdeContext.d.ts +8 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/UnionSerde.d.ts +24 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/common.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +9 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/JsonSettings.d.ts +13 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +28 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonCodec.d.ts +15 -11
- package/node_modules/{@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json → @smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v1}/JsonSettings.d.ts +7 -4
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +14 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +29 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +51 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +13 -9
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +30 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +60 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/ts3.4/submodules/protocols/json/detectBufferParsing.d.ts +1 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +21 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +15 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +11 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +38 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/writeKey.d.ts +4 -0
- package/node_modules/@smithy/core/package.json +2 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/util.d.ts +6 -3
- package/node_modules/content-disposition/README.md +105 -35
- package/node_modules/content-disposition/dist/index.d.ts +72 -0
- package/node_modules/content-disposition/dist/index.js +388 -0
- package/node_modules/content-disposition/dist/index.js.map +1 -0
- package/node_modules/content-disposition/package.json +31 -19
- package/node_modules/express/Readme.md +15 -9
- package/node_modules/express/lib/application.js +2 -2
- package/node_modules/express/lib/request.js +32 -19
- package/node_modules/express/lib/response.js +27 -30
- package/node_modules/express/node_modules/content-type/LICENSE +22 -0
- package/node_modules/express/node_modules/content-type/README.md +71 -0
- package/node_modules/express/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/express/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/express/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/express/node_modules/content-type/package.json +52 -0
- package/node_modules/express/package.json +10 -10
- package/node_modules/fast-uri/.github/workflows/release.yml +35 -0
- package/node_modules/fast-uri/README.md +8 -0
- package/node_modules/fast-uri/index.js +98 -18
- package/node_modules/fast-uri/lib/utils.js +52 -0
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/host-delimiter-security.test.js +94 -0
- package/node_modules/fast-uri/test/relative-normalization-security.test.js +156 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +32 -4
- package/node_modules/fast-uri/test/scheme-validation.test.js +53 -14
- package/node_modules/ip-address/README.md +70 -70
- package/node_modules/ip-address/dist/ipv6.js +7 -4
- package/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/ip-address/dist/v6/constants.d.ts +3 -0
- package/node_modules/ip-address/dist/v6/constants.js +3 -0
- package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/ip-address/package.json +2 -1
- package/node_modules/jose/README.md +2 -2
- package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +5 -4
- package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +4 -4
- package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +5 -4
- package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +5 -5
- package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +5 -4
- package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +5 -5
- package/node_modules/jose/dist/types/jws/compact/sign.d.ts +5 -4
- package/node_modules/jose/dist/types/jws/compact/verify.d.ts +5 -5
- package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +5 -4
- package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +6 -5
- package/node_modules/jose/dist/types/jws/general/sign.d.ts +9 -6
- package/node_modules/jose/dist/types/jws/general/verify.d.ts +7 -5
- package/node_modules/jose/dist/types/jwt/decrypt.d.ts +7 -6
- package/node_modules/jose/dist/types/jwt/encrypt.d.ts +1 -1
- package/node_modules/jose/dist/types/jwt/sign.d.ts +1 -1
- package/node_modules/jose/dist/types/jwt/unsecured.d.ts +1 -1
- package/node_modules/jose/dist/types/jwt/verify.d.ts +3 -5
- package/node_modules/jose/dist/types/key/export.d.ts +1 -1
- package/node_modules/jose/dist/types/key/generate_secret.d.ts +1 -1
- package/node_modules/jose/dist/types/key/import.d.ts +2 -2
- package/node_modules/jose/dist/types/types.d.ts +165 -107
- package/node_modules/jose/dist/types/util/decode_jwt.d.ts +2 -2
- package/node_modules/jose/dist/types/util/errors.d.ts +1 -1
- package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +3 -3
- package/node_modules/jose/dist/webapi/jwk/thumbprint.js +8 -8
- package/node_modules/jose/dist/webapi/jwks/local.js +2 -1
- package/node_modules/jose/dist/webapi/jwks/remote.js +4 -4
- package/node_modules/jose/dist/webapi/jws/general/sign.js +3 -3
- package/node_modules/jose/dist/webapi/jws/general/verify.js +3 -3
- package/node_modules/jose/dist/webapi/jwt/encrypt.js +2 -2
- package/node_modules/jose/dist/webapi/jwt/sign.js +2 -2
- package/node_modules/jose/dist/webapi/jwt/unsecured.js +3 -3
- package/node_modules/jose/dist/webapi/key/generate_secret.js +4 -4
- package/node_modules/jose/dist/webapi/lib/asn1.js +2 -2
- package/node_modules/jose/dist/webapi/lib/buffer_utils.js +4 -4
- package/node_modules/jose/dist/webapi/lib/content_encryption.js +8 -8
- package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +14 -14
- package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +3 -3
- package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +2 -2
- package/node_modules/jose/dist/webapi/lib/jws_sign.js +11 -11
- package/node_modules/jose/dist/webapi/lib/jws_verify.js +19 -16
- package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +44 -43
- package/node_modules/jose/dist/webapi/lib/key.js +4 -4
- package/node_modules/jose/dist/webapi/lib/key_management.js +17 -17
- package/node_modules/jose/dist/webapi/lib/validate.js +10 -10
- package/node_modules/jose/dist/webapi/util/decode_jwt.js +12 -12
- package/node_modules/jose/dist/webapi/util/decode_protected_header.js +5 -5
- package/node_modules/jose/package.json +1 -1
- package/node_modules/qs/.github/THREAT_MODEL.md +4 -2
- package/node_modules/qs/CHANGELOG.md +38 -14
- package/node_modules/qs/README.md +31 -3
- package/node_modules/qs/dist/qs.js +20 -20
- package/node_modules/qs/lib/parse.js +94 -4
- package/node_modules/qs/lib/stringify.js +4 -4
- package/node_modules/qs/lib/utils.js +130 -6
- package/node_modules/qs/package.json +4 -4
- package/node_modules/qs/test/parse.js +174 -0
- package/node_modules/qs/test/stringify.js +263 -33
- package/node_modules/qs/test/utils.js +184 -0
- package/node_modules/undici/docs/docs/api/Client.md +2 -0
- package/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/undici/lib/core/symbols.js +1 -0
- package/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
- package/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
- package/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
- package/node_modules/undici/lib/handler/cache-handler.js +48 -0
- package/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
- package/node_modules/undici/lib/handler/redirect-handler.js +8 -1
- package/node_modules/undici/lib/interceptor/decompress.js +15 -5
- package/node_modules/undici/lib/web/cookies/index.js +3 -1
- package/node_modules/undici/lib/web/cookies/parse.js +138 -137
- package/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
- package/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
- package/node_modules/undici/lib/web/fetch/index.js +3 -3
- package/node_modules/undici/lib/web/infra/index.js +14 -0
- package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/undici/lib/web/websocket/receiver.js +13 -0
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/client.d.ts +14 -0
- package/node_modules/zod/package.json +1 -1
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +6 -0
- package/node_modules/zod/src/v4/core/compile.ts +9 -0
- package/node_modules/zod/src/v4/core/schemas.ts +35 -1
- package/node_modules/zod/src/v4/core/util.ts +13 -0
- package/node_modules/zod/src/v4/core/versions.ts +1 -1
- package/node_modules/zod/v4/core/compile.cjs +8 -0
- package/node_modules/zod/v4/core/compile.js +8 -0
- package/node_modules/zod/v4/core/schemas.cjs +30 -0
- package/node_modules/zod/v4/core/schemas.d.cts +3 -1
- package/node_modules/zod/v4/core/schemas.d.ts +3 -1
- package/node_modules/zod/v4/core/schemas.js +30 -0
- package/node_modules/zod/v4/core/util.cjs +15 -0
- package/node_modules/zod/v4/core/util.d.cts +2 -0
- package/node_modules/zod/v4/core/util.d.ts +2 -0
- package/node_modules/zod/v4/core/util.js +14 -0
- package/node_modules/zod/v4/core/versions.cjs +1 -1
- package/node_modules/zod/v4/core/versions.js +1 -1
- package/package.json +5 -4
- package/slingshot/index.js +124 -124
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonSettings.d.ts +0 -7
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonSettings.d.ts +0 -4
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +0 -13
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +0 -18
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +0 -27
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +0 -15
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +0 -39
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +0 -7
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +0 -7
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +0 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +0 -14
- package/node_modules/content-disposition/index.js +0 -536
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/JsonSettings.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonSettings.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/detectBufferParsing.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/jsonReplacer.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/jsonReviver.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/needsReviver.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v1/JsonCodec.d.ts +0 -0
- /package/node_modules/{@aws-sdk/core/dist-types/submodules/protocols/json → @smithy/core/dist-types/submodules/protocols/json/codec-v1}/JsonSettings.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/detectBufferParsing.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/jsonReplacer.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/jsonReviver.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/needsReviver.d.ts +0 -0
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js
CHANGED
|
@@ -17,6 +17,7 @@ const {
|
|
|
17
17
|
InformationalError,
|
|
18
18
|
BodyTimeoutError,
|
|
19
19
|
HTTPParserError,
|
|
20
|
+
WebAssemblyNotSupportedError,
|
|
20
21
|
ResponseExceededMaxSizeError
|
|
21
22
|
} = require('../core/errors.js')
|
|
22
23
|
const {
|
|
@@ -51,10 +52,15 @@ const {
|
|
|
51
52
|
kOnError,
|
|
52
53
|
kResume,
|
|
53
54
|
kHTTPContext,
|
|
54
|
-
kClosed
|
|
55
|
+
kClosed,
|
|
56
|
+
kUseMilo
|
|
55
57
|
} = require('../core/symbols.js')
|
|
56
58
|
|
|
57
59
|
const constants = require('../llhttp/constants.js')
|
|
60
|
+
// Node.js core bundles only llhttp; experimental Milo remains available in npm builds.
|
|
61
|
+
const { H1Parser, getMiloEnabled } = typeof esbuildDetection === 'undefined'
|
|
62
|
+
? require('./parser-h1.js')
|
|
63
|
+
: {}
|
|
58
64
|
const EMPTY_BUF = Buffer.alloc(0)
|
|
59
65
|
const FastBuffer = Buffer[Symbol.species]
|
|
60
66
|
const removeAllListeners = util.removeAllListeners
|
|
@@ -66,12 +72,23 @@ const kTypeOfService = Symbol('kTypeOfService')
|
|
|
66
72
|
let extractBody
|
|
67
73
|
|
|
68
74
|
function lazyllhttp () {
|
|
75
|
+
// Check only when HTTP/1 needs the parser, so other APIs remain usable without WASM.
|
|
76
|
+
if (typeof WebAssembly === 'undefined') {
|
|
77
|
+
throw new WebAssemblyNotSupportedError()
|
|
78
|
+
}
|
|
79
|
+
|
|
69
80
|
const llhttpWasmData = process.env.JEST_WORKER_ID ? require('../llhttp/llhttp-wasm.js') : undefined
|
|
70
81
|
|
|
71
82
|
let mod
|
|
72
83
|
|
|
73
|
-
// We disable wasm SIMD on
|
|
74
|
-
let useWasmSIMD =
|
|
84
|
+
// We disable wasm SIMD on older versions of Node.js on ppc64 that are broken on Power >=9 architectures.
|
|
85
|
+
let useWasmSIMD = true
|
|
86
|
+
if (process.arch === 'ppc64') {
|
|
87
|
+
const [major, minor] = process.versions.node.split('.').map(n => parseInt(n, 10))
|
|
88
|
+
if (major < 24 || (major === 24 && minor < 12)) {
|
|
89
|
+
useWasmSIMD = false
|
|
90
|
+
}
|
|
91
|
+
}
|
|
75
92
|
// The Env Variable UNDICI_NO_WASM_SIMD allows explicitly overriding the default behavior
|
|
76
93
|
if (process.env.UNDICI_NO_WASM_SIMD === '1') {
|
|
77
94
|
useWasmSIMD = false
|
|
@@ -82,8 +99,7 @@ function lazyllhttp () {
|
|
|
82
99
|
if (useWasmSIMD) {
|
|
83
100
|
try {
|
|
84
101
|
mod = new WebAssembly.Module(require('../llhttp/llhttp_simd-wasm.js'))
|
|
85
|
-
} catch {
|
|
86
|
-
}
|
|
102
|
+
} catch {}
|
|
87
103
|
}
|
|
88
104
|
|
|
89
105
|
if (!mod) {
|
|
@@ -120,7 +136,7 @@ function lazyllhttp () {
|
|
|
120
136
|
* @param {number} p
|
|
121
137
|
* @returns {number}
|
|
122
138
|
*/
|
|
123
|
-
wasm_on_message_begin:
|
|
139
|
+
wasm_on_message_begin: p => {
|
|
124
140
|
assert(currentParser.ptr === p)
|
|
125
141
|
return currentParser.onMessageBegin()
|
|
126
142
|
},
|
|
@@ -172,11 +188,10 @@ function lazyllhttp () {
|
|
|
172
188
|
* @param {number} p
|
|
173
189
|
* @returns {number}
|
|
174
190
|
*/
|
|
175
|
-
wasm_on_message_complete:
|
|
191
|
+
wasm_on_message_complete: p => {
|
|
176
192
|
assert(currentParser.ptr === p)
|
|
177
193
|
return currentParser.onMessageComplete()
|
|
178
194
|
}
|
|
179
|
-
|
|
180
195
|
}
|
|
181
196
|
})
|
|
182
197
|
}
|
|
@@ -209,10 +224,10 @@ const TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER
|
|
|
209
224
|
|
|
210
225
|
class Parser {
|
|
211
226
|
/**
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
227
|
+
* @param {import('./client.js')} client
|
|
228
|
+
* @param {import('net').Socket} socket
|
|
229
|
+
* @param {*} llhttp
|
|
230
|
+
*/
|
|
216
231
|
constructor (client, socket, { exports }) {
|
|
217
232
|
this.llhttp = exports
|
|
218
233
|
this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)
|
|
@@ -239,7 +254,8 @@ class Parser {
|
|
|
239
254
|
|
|
240
255
|
this.keepAlive = ''
|
|
241
256
|
this.contentLength = -1
|
|
242
|
-
this.
|
|
257
|
+
this.hasTransferEncoding = false
|
|
258
|
+
this.connection = ''
|
|
243
259
|
this.maxResponseSize = client[kMaxResponseSize]
|
|
244
260
|
}
|
|
245
261
|
|
|
@@ -247,10 +263,7 @@ class Parser {
|
|
|
247
263
|
// If the existing timer and the new timer are of different timer type
|
|
248
264
|
// (fast or native) or have different delay, we need to clear the existing
|
|
249
265
|
// timer and set a new one.
|
|
250
|
-
if (
|
|
251
|
-
delay !== this.timeoutValue ||
|
|
252
|
-
(type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)
|
|
253
|
-
) {
|
|
266
|
+
if (delay !== this.timeoutValue || (type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)) {
|
|
254
267
|
// If a timeout is already set, clear it with clearTimeout of the fast
|
|
255
268
|
// timer implementation, as it can clear fast and native timers.
|
|
256
269
|
if (this.timeout) {
|
|
@@ -435,9 +448,7 @@ class Parser {
|
|
|
435
448
|
if (ptr) {
|
|
436
449
|
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)
|
|
437
450
|
message =
|
|
438
|
-
'Response does not match the HTTP/1.1 protocol (' +
|
|
439
|
-
Buffer.from(llhttp.memory.buffer, ptr, len).toString() +
|
|
440
|
-
')'
|
|
451
|
+
'Response does not match the HTTP/1.1 protocol (' + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ')'
|
|
441
452
|
}
|
|
442
453
|
|
|
443
454
|
return new HTTPParserError(message, constants.ERROR[ret], data)
|
|
@@ -515,6 +526,7 @@ class Parser {
|
|
|
515
526
|
*/
|
|
516
527
|
onHeaderValue (buf) {
|
|
517
528
|
let len = this.headers.length
|
|
529
|
+
const isContinuation = (len & 1) === 0
|
|
518
530
|
|
|
519
531
|
if ((len & 1) === 1) {
|
|
520
532
|
this.headers.push(buf)
|
|
@@ -527,19 +539,19 @@ class Parser {
|
|
|
527
539
|
if (key.length === 10) {
|
|
528
540
|
const headerName = util.bufferToLowerCasedHeaderName(key)
|
|
529
541
|
if (headerName === 'keep-alive') {
|
|
530
|
-
this.keepAlive += buf.toString()
|
|
542
|
+
this.keepAlive += (isContinuation || this.keepAlive.length === 0 ? '' : ',') + buf.toString()
|
|
531
543
|
} else if (headerName === 'connection') {
|
|
532
|
-
this.
|
|
533
|
-
this.headers[len - 1].length === 10 &&
|
|
534
|
-
util.bufferToLowerCasedHeaderName(this.headers[len - 1]) === 'keep-alive'
|
|
544
|
+
this.connection += (isContinuation || this.connection.length === 0 ? '' : ',') + buf.toString()
|
|
535
545
|
}
|
|
536
546
|
} else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === 'content-length') {
|
|
537
547
|
if (this.contentLength === -1) {
|
|
538
548
|
this.contentLength = 0
|
|
539
549
|
}
|
|
540
550
|
for (let i = 0; i < buf.length; i++) {
|
|
541
|
-
this.contentLength =
|
|
551
|
+
this.contentLength = this.contentLength * 10 + (buf[i] - 0x30)
|
|
542
552
|
}
|
|
553
|
+
} else if (key.length === 17 && util.bufferToLowerCasedHeaderName(key) === 'transfer-encoding') {
|
|
554
|
+
this.hasTransferEncoding = true
|
|
543
555
|
}
|
|
544
556
|
|
|
545
557
|
this.trackHeader(buf.length)
|
|
@@ -561,7 +573,7 @@ class Parser {
|
|
|
561
573
|
* @param {Buffer} head
|
|
562
574
|
*/
|
|
563
575
|
onUpgrade (head) {
|
|
564
|
-
const { upgrade, client, socket, headers, statusCode } = this
|
|
576
|
+
const { upgrade, client, socket, headers, statusCode, statusText } = this
|
|
565
577
|
|
|
566
578
|
assert(upgrade)
|
|
567
579
|
assert(client[kSocket] === socket)
|
|
@@ -596,8 +608,9 @@ class Parser {
|
|
|
596
608
|
client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))
|
|
597
609
|
|
|
598
610
|
try {
|
|
599
|
-
request.onRequestUpgrade(statusCode, headers, socket)
|
|
611
|
+
request.onRequestUpgrade(statusCode, headers, socket, statusText)
|
|
600
612
|
} catch (err) {
|
|
613
|
+
util.errorRequest(client, request, err)
|
|
601
614
|
util.destroy(socket, err)
|
|
602
615
|
}
|
|
603
616
|
|
|
@@ -645,16 +658,27 @@ class Parser {
|
|
|
645
658
|
assert(this.timeoutType === TIMEOUT_HEADERS)
|
|
646
659
|
|
|
647
660
|
this.statusCode = statusCode
|
|
648
|
-
this.shouldKeepAlive =
|
|
661
|
+
this.shouldKeepAlive =
|
|
649
662
|
shouldKeepAlive ||
|
|
650
663
|
// Override llhttp value which does not allow keepAlive for HEAD.
|
|
651
|
-
(request.method === 'HEAD' && !socket[kReset] &&
|
|
652
|
-
|
|
664
|
+
(request.method === 'HEAD' && !socket[kReset] &&
|
|
665
|
+
/(?:^|,)[\t ]*keep-alive[\t ]*(?:,|$)/i.test(this.connection) &&
|
|
666
|
+
!/(?:^|,)[\t ]*close[\t ]*(?:,|$)/i.test(this.connection))
|
|
667
|
+
|
|
668
|
+
// Responses to HEAD and 204/304 responses never carry content
|
|
669
|
+
if (request.method === 'HEAD' || statusCode === 204 || statusCode === 304) {
|
|
670
|
+
// A non-zero Content-Length or Transfer-Encoding on a 204/304 means the
|
|
671
|
+
// server may also have sent content inappropriately, which would then be
|
|
672
|
+
// parsed as the next response on this connection. Accept it, but do not
|
|
673
|
+
// reuse the connection. HEAD requests are fine tho.
|
|
674
|
+
if (request.method !== 'HEAD' && (this.contentLength > 0 || this.hasTransferEncoding)) {
|
|
675
|
+
this.shouldKeepAlive = false
|
|
676
|
+
}
|
|
677
|
+
this.contentLength = -1
|
|
678
|
+
}
|
|
653
679
|
|
|
654
680
|
if (this.statusCode >= 200) {
|
|
655
|
-
const bodyTimeout = request.bodyTimeout != null
|
|
656
|
-
? request.bodyTimeout
|
|
657
|
-
: client[kBodyTimeout]
|
|
681
|
+
const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]
|
|
658
682
|
this.setTimeout(bodyTimeout, TIMEOUT_BODY)
|
|
659
683
|
} else if (this.timeout) {
|
|
660
684
|
if (this.timeout.refresh) {
|
|
@@ -682,10 +706,7 @@ class Parser {
|
|
|
682
706
|
const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null
|
|
683
707
|
|
|
684
708
|
if (keepAliveTimeout != null) {
|
|
685
|
-
const timeout = Math.min(
|
|
686
|
-
keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
|
|
687
|
-
client[kKeepAliveMaxTimeout]
|
|
688
|
-
)
|
|
709
|
+
const timeout = Math.min(keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout])
|
|
689
710
|
if (timeout <= 0) {
|
|
690
711
|
socket[kReset] = true
|
|
691
712
|
} else {
|
|
@@ -782,8 +803,9 @@ class Parser {
|
|
|
782
803
|
this.statusText = ''
|
|
783
804
|
this.bytesRead = 0
|
|
784
805
|
this.contentLength = -1
|
|
806
|
+
this.hasTransferEncoding = false
|
|
785
807
|
this.keepAlive = ''
|
|
786
|
-
this.
|
|
808
|
+
this.connection = ''
|
|
787
809
|
|
|
788
810
|
this.headers = []
|
|
789
811
|
this.headersSize = 0
|
|
@@ -792,7 +814,7 @@ class Parser {
|
|
|
792
814
|
return 0
|
|
793
815
|
}
|
|
794
816
|
|
|
795
|
-
if (
|
|
817
|
+
if (contentLength !== -1 && bytesRead !== contentLength) {
|
|
796
818
|
util.destroy(socket, new ResponseContentLengthMismatchError())
|
|
797
819
|
return -1
|
|
798
820
|
}
|
|
@@ -880,7 +902,9 @@ function connectH1 (client, socket) {
|
|
|
880
902
|
socket[kIdleSocketValidation] = 0
|
|
881
903
|
socket[kIdleSocketValidationTimeout] = null
|
|
882
904
|
socket[kSocketUsed] = false
|
|
883
|
-
socket[kParser] =
|
|
905
|
+
socket[kParser] = typeof esbuildDetection === 'undefined' && (client[kUseMilo] ?? getMiloEnabled())
|
|
906
|
+
? new H1Parser(client, socket)
|
|
907
|
+
: new Parser(client, socket, llhttpInstance)
|
|
884
908
|
|
|
885
909
|
util.addListener(socket, 'error', onHttpSocketError)
|
|
886
910
|
util.addListener(socket, 'readable', onHttpSocketReadable)
|
|
@@ -941,8 +965,11 @@ function connectH1 (client, socket) {
|
|
|
941
965
|
return true
|
|
942
966
|
}
|
|
943
967
|
|
|
944
|
-
if (
|
|
945
|
-
|
|
968
|
+
if (
|
|
969
|
+
client[kRunning] > 0 &&
|
|
970
|
+
util.bodyLength(request.body) !== 0 &&
|
|
971
|
+
(util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(request.body))
|
|
972
|
+
) {
|
|
946
973
|
// Request with stream or iterator body can error while other requests
|
|
947
974
|
// are inflight and indirectly error those as well.
|
|
948
975
|
// Ensure this doesn't happen by waiting for inflight
|
|
@@ -961,8 +988,6 @@ function connectH1 (client, socket) {
|
|
|
961
988
|
}
|
|
962
989
|
|
|
963
990
|
function onHttpSocketError (err) {
|
|
964
|
-
assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')
|
|
965
|
-
|
|
966
991
|
const parser = this[kParser]
|
|
967
992
|
|
|
968
993
|
// On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded
|
|
@@ -1130,9 +1155,7 @@ function resumeH1 (client) {
|
|
|
1130
1155
|
} else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
|
|
1131
1156
|
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
|
|
1132
1157
|
const request = client[kQueue][client[kRunningIdx]]
|
|
1133
|
-
const headersTimeout = request.headersTimeout != null
|
|
1134
|
-
? request.headersTimeout
|
|
1135
|
-
: client[kHeadersTimeout]
|
|
1158
|
+
const headersTimeout = request.headersTimeout != null ? request.headersTimeout : client[kHeadersTimeout]
|
|
1136
1159
|
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)
|
|
1137
1160
|
}
|
|
1138
1161
|
}
|
|
@@ -1189,14 +1212,13 @@ function writeH1 (client, request) {
|
|
|
1189
1212
|
// servers and corrupt connection state. Do not
|
|
1190
1213
|
// re-use the connection for further requests.
|
|
1191
1214
|
|
|
1192
|
-
const expectsPayload =
|
|
1215
|
+
const expectsPayload =
|
|
1193
1216
|
method === 'PUT' ||
|
|
1194
1217
|
method === 'POST' ||
|
|
1195
1218
|
method === 'PATCH' ||
|
|
1196
1219
|
method === 'QUERY' ||
|
|
1197
1220
|
method === 'PROPFIND' ||
|
|
1198
1221
|
method === 'PROPPATCH'
|
|
1199
|
-
)
|
|
1200
1222
|
|
|
1201
1223
|
if (util.isFormDataLike(body)) {
|
|
1202
1224
|
if (!extractBody) {
|
|
@@ -1245,7 +1267,12 @@ function writeH1 (client, request) {
|
|
|
1245
1267
|
|
|
1246
1268
|
// https://github.com/nodejs/undici/issues/2046
|
|
1247
1269
|
// A user agent may send a Content-Length header with 0 value, this should be allowed.
|
|
1248
|
-
if (
|
|
1270
|
+
if (
|
|
1271
|
+
shouldSendContentLength(method) &&
|
|
1272
|
+
contentLength > 0 &&
|
|
1273
|
+
request.contentLength !== null &&
|
|
1274
|
+
request.contentLength !== contentLength
|
|
1275
|
+
) {
|
|
1249
1276
|
if (client[kStrictContentLength]) {
|
|
1250
1277
|
util.errorRequest(client, request, new RequestContentLengthMismatchError())
|
|
1251
1278
|
return false
|
|
@@ -1261,7 +1288,7 @@ function writeH1 (client, request) {
|
|
|
1261
1288
|
* @param {Error} [err]
|
|
1262
1289
|
* @returns {void}
|
|
1263
1290
|
*/
|
|
1264
|
-
const abort =
|
|
1291
|
+
const abort = err => {
|
|
1265
1292
|
if (request.aborted || request.completed) {
|
|
1266
1293
|
return
|
|
1267
1294
|
}
|
|
@@ -1446,14 +1473,9 @@ function writeStream (abort, body, client, request, socket, contentLength, heade
|
|
|
1446
1473
|
|
|
1447
1474
|
assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))
|
|
1448
1475
|
|
|
1449
|
-
socket
|
|
1450
|
-
.off('drain', onDrain)
|
|
1451
|
-
.off('error', onFinished)
|
|
1476
|
+
socket.off('drain', onDrain).off('error', onFinished)
|
|
1452
1477
|
|
|
1453
|
-
body
|
|
1454
|
-
.removeListener('data', onData)
|
|
1455
|
-
.removeListener('end', onFinished)
|
|
1456
|
-
.removeListener('close', onClose)
|
|
1478
|
+
body.removeListener('data', onData).removeListener('end', onFinished).removeListener('close', onClose)
|
|
1457
1479
|
|
|
1458
1480
|
if (!err) {
|
|
1459
1481
|
try {
|
|
@@ -1472,19 +1494,13 @@ function writeStream (abort, body, client, request, socket, contentLength, heade
|
|
|
1472
1494
|
}
|
|
1473
1495
|
}
|
|
1474
1496
|
|
|
1475
|
-
body
|
|
1476
|
-
.on('data', onData)
|
|
1477
|
-
.on('end', onFinished)
|
|
1478
|
-
.on('error', onFinished)
|
|
1479
|
-
.on('close', onClose)
|
|
1497
|
+
body.on('data', onData).on('end', onFinished).on('error', onFinished).on('close', onClose)
|
|
1480
1498
|
|
|
1481
1499
|
if (body.resume) {
|
|
1482
1500
|
body.resume()
|
|
1483
1501
|
}
|
|
1484
1502
|
|
|
1485
|
-
socket
|
|
1486
|
-
.on('drain', onDrain)
|
|
1487
|
-
.on('error', onFinished)
|
|
1503
|
+
socket.on('drain', onDrain).on('error', onFinished)
|
|
1488
1504
|
|
|
1489
1505
|
if (body.errorEmitted ?? body.errored) {
|
|
1490
1506
|
setImmediate(onFinished, body.errored)
|
|
@@ -1605,19 +1621,18 @@ async function writeIterable (abort, body, client, request, socket, contentLengt
|
|
|
1605
1621
|
}
|
|
1606
1622
|
}
|
|
1607
1623
|
|
|
1608
|
-
const waitForDrain = () =>
|
|
1609
|
-
|
|
1624
|
+
const waitForDrain = () =>
|
|
1625
|
+
new Promise((resolve, reject) => {
|
|
1626
|
+
assert(callback === null)
|
|
1610
1627
|
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1628
|
+
if (socket[kError]) {
|
|
1629
|
+
reject(socket[kError])
|
|
1630
|
+
} else {
|
|
1631
|
+
callback = resolve
|
|
1632
|
+
}
|
|
1633
|
+
})
|
|
1617
1634
|
|
|
1618
|
-
socket
|
|
1619
|
-
.on('close', onDrain)
|
|
1620
|
-
.on('drain', onDrain)
|
|
1635
|
+
socket.on('close', onDrain).on('drain', onDrain)
|
|
1621
1636
|
|
|
1622
1637
|
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header })
|
|
1623
1638
|
try {
|
|
@@ -1636,9 +1651,7 @@ async function writeIterable (abort, body, client, request, socket, contentLengt
|
|
|
1636
1651
|
} catch (err) {
|
|
1637
1652
|
writer.destroy(err)
|
|
1638
1653
|
} finally {
|
|
1639
|
-
socket
|
|
1640
|
-
.off('close', onDrain)
|
|
1641
|
-
.off('drain', onDrain)
|
|
1654
|
+
socket.off('close', onDrain).off('drain', onDrain)
|
|
1642
1655
|
}
|
|
1643
1656
|
}
|
|
1644
1657
|
|
|
@@ -1663,10 +1676,27 @@ class AsyncWriter {
|
|
|
1663
1676
|
this.expectsPayload = expectsPayload
|
|
1664
1677
|
this.header = header
|
|
1665
1678
|
this.abort = abort
|
|
1679
|
+
this.lengthMismatch = false
|
|
1666
1680
|
|
|
1667
1681
|
socket[kWriting] = true
|
|
1668
1682
|
}
|
|
1669
1683
|
|
|
1684
|
+
/**
|
|
1685
|
+
* The body doesn't match the declared content-length and strictContentLength
|
|
1686
|
+
* is off. Warn once, and mark the socket so it isn't reused: on the wire this
|
|
1687
|
+
* request's body no longer ends where the server expects, so anything sent
|
|
1688
|
+
* after it on the same connection would be misread.
|
|
1689
|
+
* @returns {void}
|
|
1690
|
+
*/
|
|
1691
|
+
onLengthMismatch () {
|
|
1692
|
+
this.socket[kReset] = true
|
|
1693
|
+
|
|
1694
|
+
if (!this.lengthMismatch) {
|
|
1695
|
+
this.lengthMismatch = true
|
|
1696
|
+
process.emitWarning(new RequestContentLengthMismatchError())
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1670
1700
|
/**
|
|
1671
1701
|
* @param {string|Uint8Array} chunk
|
|
1672
1702
|
* @returns
|
|
@@ -1682,7 +1712,7 @@ class AsyncWriter {
|
|
|
1682
1712
|
return false
|
|
1683
1713
|
}
|
|
1684
1714
|
|
|
1685
|
-
|
|
1715
|
+
let len = chunk instanceof Uint8Array ? chunk.byteLength : Buffer.byteLength(chunk)
|
|
1686
1716
|
if (!len) {
|
|
1687
1717
|
return true
|
|
1688
1718
|
}
|
|
@@ -1693,7 +1723,17 @@ class AsyncWriter {
|
|
|
1693
1723
|
throw new RequestContentLengthMismatchError()
|
|
1694
1724
|
}
|
|
1695
1725
|
|
|
1696
|
-
|
|
1726
|
+
this.onLengthMismatch()
|
|
1727
|
+
|
|
1728
|
+
// Never write past the declared content-length. The server treats any
|
|
1729
|
+
// extra bytes as the start of the next request, so a body could inject
|
|
1730
|
+
// a request of its own (request smuggling).
|
|
1731
|
+
const remaining = contentLength - bytesWritten
|
|
1732
|
+
if (remaining === 0) {
|
|
1733
|
+
return true
|
|
1734
|
+
}
|
|
1735
|
+
chunk = (typeof chunk === 'string' ? Buffer.from(chunk) : chunk).subarray(0, remaining)
|
|
1736
|
+
len = remaining
|
|
1697
1737
|
}
|
|
1698
1738
|
|
|
1699
1739
|
socket.cork()
|
|
@@ -1768,9 +1808,12 @@ class AsyncWriter {
|
|
|
1768
1808
|
if (contentLength !== null && bytesWritten !== contentLength) {
|
|
1769
1809
|
if (client[kStrictContentLength]) {
|
|
1770
1810
|
throw new RequestContentLengthMismatchError()
|
|
1771
|
-
} else {
|
|
1772
|
-
process.emitWarning(new RequestContentLengthMismatchError())
|
|
1773
1811
|
}
|
|
1812
|
+
|
|
1813
|
+
// The body is shorter than declared, so the server is still waiting for
|
|
1814
|
+
// the rest. Don't let the next request's bytes on this connection be
|
|
1815
|
+
// read as the missing part of this body.
|
|
1816
|
+
this.onLengthMismatch()
|
|
1774
1817
|
}
|
|
1775
1818
|
|
|
1776
1819
|
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
|