@psnext/slingcli 3.5.20261007-2 → 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/bin/sling-startup-output.js +47 -0
- package/bin/sling.js +29 -2
- 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-JPNA2XH6.js → chunk-23QDZLZG.js} +22 -16
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-4RGLMKVY.js → chunk-QPFSTNX5.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{virtual-modules-SXTR3NIO.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/dist/modes/interactive/components/pi-logo.js +8 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +6 -3
- package/node_modules/@earendil-works/pi-coding-agent/docs/mcp.md +1 -0
- 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 +214 -214
- 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/@esbuild/linux-x64/README.md +0 -3
- package/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
- package/node_modules/@esbuild/linux-x64/package.json +0 -20
- package/node_modules/content-disposition/index.js +0 -536
- package/node_modules/esbuild/LICENSE.md +0 -21
- package/node_modules/esbuild/README.md +0 -3
- package/node_modules/esbuild/bin/esbuild +0 -0
- package/node_modules/esbuild/install.js +0 -300
- package/node_modules/esbuild/lib/main.d.ts +0 -720
- package/node_modules/esbuild/lib/main.js +0 -2536
- package/node_modules/esbuild/package.json +0 -74
- /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-h2.js
CHANGED
|
@@ -5,6 +5,7 @@ const { pipeline } = require('node:stream')
|
|
|
5
5
|
const util = require('../core/util.js')
|
|
6
6
|
const {
|
|
7
7
|
RequestContentLengthMismatchError,
|
|
8
|
+
ResponseContentLengthMismatchError,
|
|
8
9
|
RequestAbortedError,
|
|
9
10
|
SocketError,
|
|
10
11
|
InformationalError,
|
|
@@ -193,6 +194,11 @@ function canReplayRequest (request) {
|
|
|
193
194
|
return body == null || util.isBuffer(body) || util.isBlobLike(body)
|
|
194
195
|
}
|
|
195
196
|
|
|
197
|
+
function hasResponseStarted (request) {
|
|
198
|
+
const state = request[kRequestStream]?.[kRequestStreamState]
|
|
199
|
+
return state?.responseReceived === true
|
|
200
|
+
}
|
|
201
|
+
|
|
196
202
|
// Count a GOAWAY refusal against the request's replay budget. A peer that
|
|
197
203
|
// refuses every connection must eventually surface an error to the caller
|
|
198
204
|
// rather than being retried forever. Kept separate from canReplayRequest so
|
|
@@ -406,7 +412,8 @@ function resumeH2 (client) {
|
|
|
406
412
|
const session = client[kHTTP2Session]
|
|
407
413
|
|
|
408
414
|
if (socket?.destroyed === false) {
|
|
409
|
-
|
|
415
|
+
// After an upgrade the queue is empty but its stream is still in use, so never unref while a stream is open.
|
|
416
|
+
if (session[kOpenStreams] === 0 && client[kSize] === 0) {
|
|
410
417
|
unrefH2Session(session)
|
|
411
418
|
} else {
|
|
412
419
|
refH2Session(session)
|
|
@@ -541,8 +548,14 @@ function applyConnectionWindowSize (connectionWindowSize) {
|
|
|
541
548
|
}
|
|
542
549
|
|
|
543
550
|
function onHttp2RemoteSettings (settings) {
|
|
544
|
-
|
|
545
|
-
|
|
551
|
+
const client = this[kClient]
|
|
552
|
+
|
|
553
|
+
// The configured maxConcurrentStreams (default 100) is the client's own
|
|
554
|
+
// ceiling. The server's SETTINGS_MAX_CONCURRENT_STREAMS can lower it, but
|
|
555
|
+
// must not raise it: a default Node.js server advertises 2^32-1.
|
|
556
|
+
const localMaxConcurrentStreams = client[kHTTP2Options].maxConcurrentStreams
|
|
557
|
+
const remoteMaxConcurrentStreams = settings.maxConcurrentStreams ?? client[kMaxConcurrentStreams] ?? localMaxConcurrentStreams
|
|
558
|
+
client[kMaxConcurrentStreams] = Math.min(remoteMaxConcurrentStreams, localMaxConcurrentStreams)
|
|
546
559
|
/**
|
|
547
560
|
* From RFC-8441
|
|
548
561
|
* A sender MUST NOT send a SETTINGS_ENABLE_CONNECT_PROTOCOL parameter
|
|
@@ -587,8 +600,6 @@ function onHttp2SendPing (session) {
|
|
|
587
600
|
}
|
|
588
601
|
|
|
589
602
|
function onHttp2SessionError (err) {
|
|
590
|
-
assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')
|
|
591
|
-
|
|
592
603
|
this[kSocket][kError] = err
|
|
593
604
|
|
|
594
605
|
if (this[kReceivedGoAway]) {
|
|
@@ -640,9 +651,12 @@ function onHttp2SessionGoAway (errorCode, lastStreamID) {
|
|
|
640
651
|
const request = client[kQueue][i]
|
|
641
652
|
|
|
642
653
|
if (request != null) {
|
|
654
|
+
// Read before detaching, which drops the stream state.
|
|
655
|
+
const responseStarted = hasResponseStarted(request)
|
|
656
|
+
|
|
643
657
|
streamsToClose.push(detachRequestStreamForClose(request))
|
|
644
658
|
|
|
645
|
-
if (canReplayRequest(request) && registerGoAwayRefusal(request)) {
|
|
659
|
+
if (!responseStarted && canReplayRequest(request) && registerGoAwayRefusal(request)) {
|
|
646
660
|
retriableRequests.push(request)
|
|
647
661
|
} else {
|
|
648
662
|
util.errorRequest(client, request, err)
|
|
@@ -666,6 +680,10 @@ function onHttp2SessionGoAway (errorCode, lastStreamID) {
|
|
|
666
680
|
client[kHTTP2Session] = null
|
|
667
681
|
}
|
|
668
682
|
|
|
683
|
+
if (this[kOpenStreams] === 0) {
|
|
684
|
+
unrefH2Session(this)
|
|
685
|
+
}
|
|
686
|
+
|
|
669
687
|
clearHttp2IdleTimeout(this)
|
|
670
688
|
clearNoStreamsTimeout(this)
|
|
671
689
|
|
|
@@ -747,8 +765,6 @@ function onHttp2SocketClose () {
|
|
|
747
765
|
}
|
|
748
766
|
|
|
749
767
|
function onHttp2SocketError (err) {
|
|
750
|
-
assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')
|
|
751
|
-
|
|
752
768
|
this[kError] = err
|
|
753
769
|
|
|
754
770
|
if (this[kHTTP2Session]?.[kReceivedGoAway]) {
|
|
@@ -770,10 +786,12 @@ function noop () {}
|
|
|
770
786
|
|
|
771
787
|
function closeStreamSession (stream) {
|
|
772
788
|
const session = stream[kHTTP2Session]
|
|
789
|
+
const client = session[kClient]
|
|
773
790
|
|
|
774
791
|
stream[kHTTP2Session] = null
|
|
775
792
|
session[kOpenStreams] -= 1
|
|
776
|
-
|
|
793
|
+
// A session that received GOAWAY does not need to stay ref'd for queued requests.
|
|
794
|
+
if (session[kOpenStreams] === 0 && (client[kSize] === 0 || session[kReceivedGoAway])) {
|
|
777
795
|
unrefH2Session(session)
|
|
778
796
|
setHttp2IdleTimeout(session)
|
|
779
797
|
}
|
|
@@ -832,25 +850,27 @@ function buildRequestHeaders (reqHeaders) {
|
|
|
832
850
|
for (let n = 0; n < reqHeaders.length; n += 2) {
|
|
833
851
|
const key = reqHeaders[n + 0]
|
|
834
852
|
const val = reqHeaders[n + 1]
|
|
835
|
-
|
|
853
|
+
// Reading headers[key] directly resolves `__proto__` through the prototype
|
|
854
|
+
// chain instead of reporting the header as absent.
|
|
855
|
+
const current = Object.hasOwn(headers, key) ? headers[key] : undefined
|
|
836
856
|
|
|
837
857
|
if (key === 'cookie') {
|
|
838
858
|
if (current != null) {
|
|
839
|
-
headers
|
|
859
|
+
util.setHeader(headers, key, Array.isArray(current) ? (current.push(val), current) : [current, val])
|
|
840
860
|
} else {
|
|
841
|
-
headers
|
|
861
|
+
util.setHeader(headers, key, val)
|
|
842
862
|
}
|
|
843
863
|
|
|
844
864
|
continue
|
|
845
865
|
}
|
|
846
866
|
|
|
847
867
|
if (typeof val === 'string') {
|
|
848
|
-
headers
|
|
868
|
+
util.setHeader(headers, key, current ? `${current}, ${val}` : val)
|
|
849
869
|
continue
|
|
850
870
|
}
|
|
851
871
|
|
|
852
872
|
for (let i = 0; i < val.length; i++) {
|
|
853
|
-
headers
|
|
873
|
+
util.setHeader(headers, key, Object.hasOwn(headers, key) ? `${headers[key]}, ${val[i]}` : val[i])
|
|
854
874
|
}
|
|
855
875
|
}
|
|
856
876
|
|
|
@@ -931,9 +951,14 @@ function onUpgradeResponse (headers, _flags) {
|
|
|
931
951
|
const statusCode = headers[HTTP2_HEADER_STATUS]
|
|
932
952
|
delete headers[HTTP2_HEADER_STATUS]
|
|
933
953
|
|
|
934
|
-
|
|
954
|
+
try {
|
|
955
|
+
request.onRequestUpgrade(statusCode, headers, stream)
|
|
956
|
+
} catch (err) {
|
|
957
|
+
state.abort(err)
|
|
958
|
+
return
|
|
959
|
+
}
|
|
935
960
|
|
|
936
|
-
if (request.aborted
|
|
961
|
+
if (request.aborted) {
|
|
937
962
|
return
|
|
938
963
|
}
|
|
939
964
|
|
|
@@ -1033,6 +1058,7 @@ function writeH2 (client, request) {
|
|
|
1033
1058
|
headersTimeout,
|
|
1034
1059
|
bodyTimeout,
|
|
1035
1060
|
requestFinalized: false,
|
|
1061
|
+
responseContentLength: null,
|
|
1036
1062
|
responseReceived: false,
|
|
1037
1063
|
bodySent: false,
|
|
1038
1064
|
pendingEnd: false,
|
|
@@ -1328,12 +1354,17 @@ function onData (chunk) {
|
|
|
1328
1354
|
return
|
|
1329
1355
|
}
|
|
1330
1356
|
|
|
1331
|
-
const { request, maxResponseSize } = state
|
|
1357
|
+
const { request, maxResponseSize, responseContentLength } = state
|
|
1332
1358
|
|
|
1333
1359
|
if (request.aborted || request.completed) {
|
|
1334
1360
|
return
|
|
1335
1361
|
}
|
|
1336
1362
|
|
|
1363
|
+
if (responseContentLength != null && state.bytesRead + chunk.length > responseContentLength) {
|
|
1364
|
+
state.abort(new ResponseContentLengthMismatchError())
|
|
1365
|
+
return
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1337
1368
|
if (maxResponseSize > -1 && state.bytesRead + chunk.length > maxResponseSize) {
|
|
1338
1369
|
// Unlike HTTP/1.1, which destroys the socket because it cannot abandon one
|
|
1339
1370
|
// response without losing framing, resetting the offending stream leaves
|
|
@@ -1345,10 +1376,34 @@ function onData (chunk) {
|
|
|
1345
1376
|
state.bytesRead += chunk.length
|
|
1346
1377
|
|
|
1347
1378
|
if (request.onResponseData(chunk) === false) {
|
|
1348
|
-
stream
|
|
1379
|
+
pauseResponseStream(stream, state)
|
|
1349
1380
|
}
|
|
1350
1381
|
}
|
|
1351
1382
|
|
|
1383
|
+
// The body timeout measures how long the peer takes to send data. While the
|
|
1384
|
+
// consumer applies backpressure the peer can't send (it's out of flow-control
|
|
1385
|
+
// window), and Http2Stream's timer, which counts stream activity, would fire.
|
|
1386
|
+
// Stop it while paused and start a fresh one on resume, like HTTP/1.1, which
|
|
1387
|
+
// ignores the body timeout while its parser is paused.
|
|
1388
|
+
function pauseResponseStream (stream, state) {
|
|
1389
|
+
stream.pause()
|
|
1390
|
+
if (state.bodyTimeout) {
|
|
1391
|
+
stream.setTimeout(0)
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
// Passed to the handler as its resume callback, bound to the stream.
|
|
1396
|
+
function resumeResponseStream () {
|
|
1397
|
+
const stream = this
|
|
1398
|
+
const state = stream[kRequestStreamState]
|
|
1399
|
+
|
|
1400
|
+
if (state != null && state.bodyTimeout && stream.isPaused()) {
|
|
1401
|
+
stream.setTimeout(state.bodyTimeout)
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
stream.resume()
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1352
1407
|
function onInterimResponse (headers) {
|
|
1353
1408
|
const stream = this
|
|
1354
1409
|
const state = stream[kRequestStreamState]
|
|
@@ -1392,11 +1447,20 @@ function onResponse (headers) {
|
|
|
1392
1447
|
stream.end()
|
|
1393
1448
|
}
|
|
1394
1449
|
|
|
1395
|
-
const statusCode = headers[HTTP2_HEADER_STATUS]
|
|
1450
|
+
const statusCode = Number(headers[HTTP2_HEADER_STATUS])
|
|
1396
1451
|
delete headers[HTTP2_HEADER_STATUS]
|
|
1397
1452
|
request.onResponseStarted()
|
|
1398
1453
|
state.responseReceived = true
|
|
1399
1454
|
|
|
1455
|
+
// A Content-Length in HEAD and 304 responses describes the selected
|
|
1456
|
+
// representation rather than DATA on this stream. Successful CONNECT uses
|
|
1457
|
+
// the upgrade path above; all other final responses use Content-Length as
|
|
1458
|
+
// their DATA payload length.
|
|
1459
|
+
if (request.method !== 'HEAD' && statusCode !== 304) {
|
|
1460
|
+
const contentLength = headers[HTTP2_HEADER_CONTENT_LENGTH]
|
|
1461
|
+
state.responseContentLength = contentLength == null ? null : Number(contentLength)
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1400
1464
|
if (state.headersTimeout || state.bodyTimeout) {
|
|
1401
1465
|
stream.setTimeout(state.bodyTimeout)
|
|
1402
1466
|
}
|
|
@@ -1414,8 +1478,8 @@ function onResponse (headers) {
|
|
|
1414
1478
|
return
|
|
1415
1479
|
}
|
|
1416
1480
|
|
|
1417
|
-
if (request.onResponseStart(
|
|
1418
|
-
stream
|
|
1481
|
+
if (request.onResponseStart(statusCode, headers, resumeResponseStream.bind(stream), '') === false) {
|
|
1482
|
+
pauseResponseStream(stream, state)
|
|
1419
1483
|
}
|
|
1420
1484
|
|
|
1421
1485
|
stream.on('data', onData)
|
|
@@ -1437,6 +1501,11 @@ function onEnd () {
|
|
|
1437
1501
|
// trailers on the state by now, so completing here still delivers them.
|
|
1438
1502
|
if (state.responseReceived) {
|
|
1439
1503
|
if (!request.aborted && !request.completed) {
|
|
1504
|
+
if (state.responseContentLength != null && state.bytesRead !== state.responseContentLength) {
|
|
1505
|
+
state.abort(new ResponseContentLengthMismatchError())
|
|
1506
|
+
return
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1440
1509
|
state.pendingEnd = true
|
|
1441
1510
|
|
|
1442
1511
|
// Complete on 'end': a blocked event loop can keep the stream's 'close'
|
|
@@ -1493,6 +1562,13 @@ function onError (err) {
|
|
|
1493
1562
|
|
|
1494
1563
|
stream.off('error', onError)
|
|
1495
1564
|
|
|
1565
|
+
// Node's HTTP/2 implementation can turn an incomplete Content-Length body
|
|
1566
|
+
// into a protocol stream error instead of emitting 'end'. Prefer the
|
|
1567
|
+
// content-length mismatch error when the received byte count proves it.
|
|
1568
|
+
if (state.responseContentLength != null && state.bytesRead !== state.responseContentLength) {
|
|
1569
|
+
err = new ResponseContentLengthMismatchError()
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1496
1572
|
if (typeof stream.rstCode === 'number' && stream.rstCode !== NGHTTP2_NO_ERROR) {
|
|
1497
1573
|
err.http2ErrorCode = stream.rstCode
|
|
1498
1574
|
}
|
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js
CHANGED
|
@@ -54,7 +54,8 @@ const {
|
|
|
54
54
|
kMaxConcurrentStreams,
|
|
55
55
|
kHostAuthority,
|
|
56
56
|
kResume,
|
|
57
|
-
kHTTP2Options
|
|
57
|
+
kHTTP2Options,
|
|
58
|
+
kUseMilo
|
|
58
59
|
} = require('../core/symbols.js')
|
|
59
60
|
const connectH1 = require('./client-h1.js')
|
|
60
61
|
const connectH2 = require('./client-h2.js')
|
|
@@ -136,6 +137,7 @@ class Client extends DispatcherBase {
|
|
|
136
137
|
initialWindowSize,
|
|
137
138
|
connectionWindowSize,
|
|
138
139
|
pingInterval,
|
|
140
|
+
useMilo,
|
|
139
141
|
webSocket,
|
|
140
142
|
h2Options,
|
|
141
143
|
eventSource
|
|
@@ -238,7 +240,7 @@ class Client extends DispatcherBase {
|
|
|
238
240
|
throw new InvalidArgumentError('h2Options.settings.initialWindowSize must be a positive integer, greater than 0')
|
|
239
241
|
}
|
|
240
242
|
|
|
241
|
-
if (h2Options.maxConcurrentStreams != null && (!Number.isInteger(h2Options.
|
|
243
|
+
if (h2Options.maxConcurrentStreams != null && (!Number.isInteger(h2Options.maxConcurrentStreams) || h2Options.maxConcurrentStreams < 1)) {
|
|
242
244
|
throw new InvalidArgumentError('h2Options.maxConcurrentStreams must be a positive integer, greater than 0')
|
|
243
245
|
}
|
|
244
246
|
|
|
@@ -335,6 +337,7 @@ class Client extends DispatcherBase {
|
|
|
335
337
|
initialWindowSize: h2Options?.initialWindowSize ?? initialWindowSize ?? 262144
|
|
336
338
|
}
|
|
337
339
|
}
|
|
340
|
+
this[kUseMilo] = useMilo
|
|
338
341
|
|
|
339
342
|
// kQueue is built up of 3 sections separated by
|
|
340
343
|
// the kRunningIdx and kPendingIdx indices.
|
|
@@ -700,6 +703,11 @@ function _resume (client, sync) {
|
|
|
700
703
|
return
|
|
701
704
|
}
|
|
702
705
|
|
|
706
|
+
if (request.aborted) {
|
|
707
|
+
client[kQueue].splice(client[kPendingIdx], 1)
|
|
708
|
+
continue
|
|
709
|
+
}
|
|
710
|
+
|
|
703
711
|
if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) {
|
|
704
712
|
if (client[kRunning] > 0) {
|
|
705
713
|
return
|
|
@@ -8,6 +8,7 @@ const {
|
|
|
8
8
|
InvalidArgumentError
|
|
9
9
|
} = require('../core/errors')
|
|
10
10
|
const { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require('../core/symbols')
|
|
11
|
+
const { defaultWebSocketMaxFragments, defaultWebSocketMaxPayloadSize } = require('../core/constants')
|
|
11
12
|
|
|
12
13
|
const kOnDestroyed = Symbol('onDestroyed')
|
|
13
14
|
const kOnClosed = Symbol('onClosed')
|
|
@@ -41,8 +42,8 @@ class DispatcherBase extends Dispatcher {
|
|
|
41
42
|
*/
|
|
42
43
|
get webSocketOptions () {
|
|
43
44
|
return {
|
|
44
|
-
maxFragments: this[kWebSocketOptions].maxFragments ??
|
|
45
|
-
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ??
|
|
45
|
+
maxFragments: this[kWebSocketOptions].maxFragments ?? defaultWebSocketMaxFragments,
|
|
46
|
+
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? defaultWebSocketMaxPayloadSize
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
|
|
@@ -17,12 +17,16 @@ class LegacyHandlerWrapper {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
onRequestUpgrade (controller, statusCode, headers, socket) {
|
|
20
|
-
const rawHeaders = controller?.rawHeaders
|
|
20
|
+
const rawHeaders = Array.isArray(controller?.rawHeaders)
|
|
21
|
+
? controller.rawHeaders
|
|
22
|
+
: toRawHeaders(controller?.rawHeaders ?? headers ?? {})
|
|
21
23
|
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket)
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
onResponseStart (controller, statusCode, headers, statusMessage) {
|
|
25
|
-
const rawHeaders = controller?.rawHeaders
|
|
27
|
+
const rawHeaders = Array.isArray(controller?.rawHeaders)
|
|
28
|
+
? controller.rawHeaders
|
|
29
|
+
: toRawHeaders(controller?.rawHeaders ?? headers ?? {})
|
|
26
30
|
|
|
27
31
|
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
|
|
28
32
|
controller.pause()
|
|
@@ -36,7 +40,9 @@ class LegacyHandlerWrapper {
|
|
|
36
40
|
}
|
|
37
41
|
|
|
38
42
|
onResponseEnd (controller, trailers) {
|
|
39
|
-
const rawTrailers = controller?.rawTrailers
|
|
43
|
+
const rawTrailers = Array.isArray(controller?.rawTrailers)
|
|
44
|
+
? controller.rawTrailers
|
|
45
|
+
: toRawHeaders(controller?.rawTrailers ?? trailers ?? {})
|
|
40
46
|
this.#handler.onComplete?.(rawTrailers)
|
|
41
47
|
}
|
|
42
48
|
|
|
@@ -98,6 +104,17 @@ class Dispatcher1Wrapper extends Dispatcher {
|
|
|
98
104
|
return this.#dispatcher.dispatch(opts, Dispatcher1Wrapper.wrapHandler(handler))
|
|
99
105
|
}
|
|
100
106
|
|
|
107
|
+
// Older undici versions read WebSocket and EventSource receive limits from
|
|
108
|
+
// the (legacy) global dispatcher, which is this wrapper, so report the
|
|
109
|
+
// wrapped dispatcher's settings.
|
|
110
|
+
get webSocketOptions () {
|
|
111
|
+
return this.#dispatcher.webSocketOptions
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
get eventSourceOptions () {
|
|
115
|
+
return this.#dispatcher.eventSourceOptions
|
|
116
|
+
}
|
|
117
|
+
|
|
101
118
|
close (...args) {
|
|
102
119
|
return this.#dispatcher.close(...args)
|
|
103
120
|
}
|
|
@@ -94,17 +94,25 @@ class EnvHttpProxyAgent extends DispatcherBase {
|
|
|
94
94
|
if (this.#noProxyEntries.length === 0) {
|
|
95
95
|
return true // Always proxy if NO_PROXY is not set or empty.
|
|
96
96
|
}
|
|
97
|
-
if (this.#noProxyValue === '*') {
|
|
98
|
-
return false // Never proxy if wildcard is set.
|
|
99
|
-
}
|
|
100
97
|
|
|
101
98
|
for (let i = 0; i < this.#noProxyEntries.length; i++) {
|
|
102
99
|
const entry = this.#noProxyEntries[i]
|
|
100
|
+
// A bare `*` entry matches all hosts regardless of its position or the
|
|
101
|
+
// surrounding whitespace (e.g. ` * ` or `none.invalid,*`). If a port is
|
|
102
|
+
// attached (`*:80`) it only bypasses that port.
|
|
103
|
+
if (entry.hostname === '*') {
|
|
104
|
+
if (entry.port && entry.port !== port) {
|
|
105
|
+
continue
|
|
106
|
+
}
|
|
107
|
+
return false // Never proxy if a wildcard entry is present.
|
|
108
|
+
}
|
|
103
109
|
if (entry.port && entry.port !== port) {
|
|
104
110
|
continue // Skip if ports don't match.
|
|
105
111
|
}
|
|
106
|
-
// Don't proxy if the hostname is equal with the no_proxy host.
|
|
107
|
-
|
|
112
|
+
// Don't proxy if the hostname is equal with the no_proxy host. A
|
|
113
|
+
// `*.example.com` wildcard matches subdomains only, not the apex
|
|
114
|
+
// `example.com`, so exact matches are skipped for wildcard entries.
|
|
115
|
+
if (!entry.wildcard && hostname === entry.hostname) {
|
|
108
116
|
return false
|
|
109
117
|
}
|
|
110
118
|
// Don't proxy if the hostname is the subdomain of the no_proxy host.
|
|
@@ -149,10 +157,17 @@ class EnvHttpProxyAgent extends DispatcherBase {
|
|
|
149
157
|
port = parsed ? Number.parseInt(parsed[2], 10) : 0
|
|
150
158
|
}
|
|
151
159
|
|
|
160
|
+
// A leading `*` marks a subdomain wildcard (`*.example.com`), distinct
|
|
161
|
+
// from a plain or leading-dot suffix (`example.com` / `.example.com`)
|
|
162
|
+
// which also matches the apex. `*.example.com` must only match
|
|
163
|
+
// subdomains, never the apex `example.com` itself.
|
|
164
|
+
const wildcard = entry.charCodeAt(0) === 42 /* '*' */
|
|
165
|
+
|
|
152
166
|
noProxyEntries.push({
|
|
153
167
|
// strip leading dot or asterisk with dot, and any trailing dot
|
|
154
168
|
hostname: hostname.replace(/^\*?\./, '').replace(/^(.+)\.$/, '$1').toLowerCase(),
|
|
155
|
-
port
|
|
169
|
+
port,
|
|
170
|
+
wildcard
|
|
156
171
|
})
|
|
157
172
|
}
|
|
158
173
|
|