@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/pool-base.js
CHANGED
|
@@ -13,10 +13,32 @@ const kOnDrain = Symbol('onDrain')
|
|
|
13
13
|
const kOnConnect = Symbol('onConnect')
|
|
14
14
|
const kOnDisconnect = Symbol('onDisconnect')
|
|
15
15
|
const kOnConnectionError = Symbol('onConnectionError')
|
|
16
|
+
const kOnClientBusy = Symbol('on client busy')
|
|
17
|
+
const kOnClientDrain = Symbol('on client drain')
|
|
18
|
+
const kDrainQueue = Symbol('drain queue')
|
|
16
19
|
const kGetDispatcher = Symbol('get dispatcher')
|
|
17
20
|
const kHasDispatcher = Symbol('has dispatcher')
|
|
18
21
|
const kAddClient = Symbol('add client')
|
|
19
22
|
const kRemoveClient = Symbol('remove client')
|
|
23
|
+
const kRetireClient = Symbol('retire client')
|
|
24
|
+
const kRetiring = Symbol('retiring clients')
|
|
25
|
+
|
|
26
|
+
// Closes every live client, including clients that have been
|
|
27
|
+
// taken out of rotation but are still finishing their own
|
|
28
|
+
// requests.
|
|
29
|
+
function closeClients (pool) {
|
|
30
|
+
const closeAll = []
|
|
31
|
+
for (let i = 0; i < pool[kClients].length; i++) {
|
|
32
|
+
const client = pool[kClients][i]
|
|
33
|
+
if (!client.destroyed) {
|
|
34
|
+
closeAll.push(client.close())
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
for (const closed of pool[kRetiring].values()) {
|
|
38
|
+
closeAll.push(closed)
|
|
39
|
+
}
|
|
40
|
+
return Promise.all(closeAll)
|
|
41
|
+
}
|
|
20
42
|
|
|
21
43
|
class PoolBase extends DispatcherBase {
|
|
22
44
|
[kQueue] = new FixedQueue();
|
|
@@ -25,13 +47,22 @@ class PoolBase extends DispatcherBase {
|
|
|
25
47
|
|
|
26
48
|
[kClients] = [];
|
|
27
49
|
|
|
50
|
+
// Clients removed from kClients that have not finished closing,
|
|
51
|
+
// mapped to a promise that settles once they have.
|
|
52
|
+
[kRetiring] = new Map();
|
|
53
|
+
|
|
28
54
|
[kNeedDrain] = false;
|
|
29
55
|
|
|
30
56
|
[kOnDrain] (client, origin, targets) {
|
|
31
|
-
|
|
57
|
+
if (client.closed || client.destroyed) {
|
|
58
|
+
return
|
|
59
|
+
}
|
|
32
60
|
|
|
61
|
+
const queue = this[kQueue]
|
|
33
62
|
let needDrain = false
|
|
34
63
|
|
|
64
|
+
this[kOnClientDrain](client)
|
|
65
|
+
|
|
35
66
|
while (!needDrain) {
|
|
36
67
|
const item = queue.shift()
|
|
37
68
|
if (!item) {
|
|
@@ -42,6 +73,18 @@ class PoolBase extends DispatcherBase {
|
|
|
42
73
|
}
|
|
43
74
|
|
|
44
75
|
client[kNeedDrain] = needDrain
|
|
76
|
+
if (needDrain) {
|
|
77
|
+
this[kOnClientBusy](client)
|
|
78
|
+
|
|
79
|
+
// This client is full but requests are still queued, e.g. an h2
|
|
80
|
+
// client that has just released everything queued while ALPN was
|
|
81
|
+
// negotiated and hit maxConcurrentStreams. Hand the rest to other
|
|
82
|
+
// clients, creating new ones up to the connection limit, instead of
|
|
83
|
+
// leaving them for this client to drain one batch at a time.
|
|
84
|
+
if (!queue.isEmpty()) {
|
|
85
|
+
return this[kDrainQueue](origin, targets)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
45
88
|
|
|
46
89
|
if (!needDrain && this[kNeedDrain]) {
|
|
47
90
|
this[kNeedDrain] = false
|
|
@@ -49,15 +92,45 @@ class PoolBase extends DispatcherBase {
|
|
|
49
92
|
}
|
|
50
93
|
|
|
51
94
|
if (this[kClosedResolve] && queue.isEmpty()) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
95
|
+
return closeClients(this).then(this[kClosedResolve])
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
[kOnClientBusy] () {}
|
|
100
|
+
|
|
101
|
+
[kOnClientDrain] () {}
|
|
102
|
+
|
|
103
|
+
[kDrainQueue] (origin, targets) {
|
|
104
|
+
const queue = this[kQueue]
|
|
105
|
+
let hasDispatcher = true
|
|
106
|
+
|
|
107
|
+
while (!queue.isEmpty()) {
|
|
108
|
+
const dispatcher = this[kGetDispatcher]()
|
|
109
|
+
if (!dispatcher) {
|
|
110
|
+
hasDispatcher = false
|
|
111
|
+
break
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const item = queue.shift()
|
|
115
|
+
this[kQueued]--
|
|
116
|
+
|
|
117
|
+
if (!dispatcher.dispatch(item.opts, item.handler)) {
|
|
118
|
+
dispatcher[kNeedDrain] = true
|
|
119
|
+
this[kOnClientBusy](dispatcher)
|
|
120
|
+
hasDispatcher = this[kHasDispatcher]()
|
|
121
|
+
if (!hasDispatcher) {
|
|
122
|
+
break
|
|
57
123
|
}
|
|
58
124
|
}
|
|
59
|
-
|
|
60
|
-
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (hasDispatcher && this[kNeedDrain]) {
|
|
128
|
+
this[kNeedDrain] = false
|
|
129
|
+
this.emit('drain', origin, [this, ...targets])
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (this[kClosedResolve] && queue.isEmpty()) {
|
|
133
|
+
return closeClients(this).then(this[kClosedResolve])
|
|
61
134
|
}
|
|
62
135
|
}
|
|
63
136
|
|
|
@@ -123,14 +196,7 @@ class PoolBase extends DispatcherBase {
|
|
|
123
196
|
|
|
124
197
|
[kClose] () {
|
|
125
198
|
if (this[kQueue].isEmpty()) {
|
|
126
|
-
|
|
127
|
-
for (let i = 0; i < this[kClients].length; i++) {
|
|
128
|
-
const client = this[kClients][i]
|
|
129
|
-
if (!client.destroyed) {
|
|
130
|
-
closeAll.push(client.close())
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return Promise.all(closeAll)
|
|
199
|
+
return closeClients(this)
|
|
134
200
|
} else {
|
|
135
201
|
return new Promise((resolve) => {
|
|
136
202
|
this[kClosedResolve] = resolve
|
|
@@ -151,6 +217,9 @@ class PoolBase extends DispatcherBase {
|
|
|
151
217
|
for (let i = 0; i < this[kClients].length; i++) {
|
|
152
218
|
destroyAll[i] = this[kClients][i].destroy(err)
|
|
153
219
|
}
|
|
220
|
+
for (const client of this[kRetiring].keys()) {
|
|
221
|
+
destroyAll.push(client.destroy(err))
|
|
222
|
+
}
|
|
154
223
|
return Promise.all(destroyAll)
|
|
155
224
|
}
|
|
156
225
|
|
|
@@ -163,6 +232,7 @@ class PoolBase extends DispatcherBase {
|
|
|
163
232
|
this[kQueued]++
|
|
164
233
|
} else if (!dispatcher.dispatch(opts, handler)) {
|
|
165
234
|
dispatcher[kNeedDrain] = true
|
|
235
|
+
this[kOnClientBusy](dispatcher)
|
|
166
236
|
this[kNeedDrain] = !this[kHasDispatcher]()
|
|
167
237
|
}
|
|
168
238
|
|
|
@@ -196,7 +266,7 @@ class PoolBase extends DispatcherBase {
|
|
|
196
266
|
|
|
197
267
|
if (this[kNeedDrain]) {
|
|
198
268
|
queueMicrotask(() => {
|
|
199
|
-
if (this[kNeedDrain]) {
|
|
269
|
+
if (this[kNeedDrain] && !client[kNeedDrain]) {
|
|
200
270
|
this[kOnDrain](client, client[kUrl], [client, this])
|
|
201
271
|
}
|
|
202
272
|
})
|
|
@@ -205,13 +275,37 @@ class PoolBase extends DispatcherBase {
|
|
|
205
275
|
return this
|
|
206
276
|
}
|
|
207
277
|
|
|
208
|
-
|
|
278
|
+
// Takes a client out of rotation. A closed client no longer takes requests
|
|
279
|
+
// from the pool queue (see kOnDrain), but it finishes the requests it
|
|
280
|
+
// already has. Until it has, pool.close() waits for it and pool.destroy()
|
|
281
|
+
// destroys it.
|
|
282
|
+
[kRetireClient] (client) {
|
|
209
283
|
const idx = this[kClients].indexOf(client)
|
|
210
284
|
if (idx !== -1) {
|
|
211
285
|
this[kClients].splice(idx, 1)
|
|
212
286
|
}
|
|
213
287
|
|
|
214
|
-
client.
|
|
288
|
+
if (client.destroyed || this[kRetiring].has(client)) {
|
|
289
|
+
return
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Use the callback form: custom dispatchers from `factory` are not
|
|
293
|
+
// required to return a promise, and may call back synchronously.
|
|
294
|
+
let done = false
|
|
295
|
+
let resolveClosed
|
|
296
|
+
const closed = new Promise((resolve) => { resolveClosed = resolve })
|
|
297
|
+
this[kRetiring].set(client, closed)
|
|
298
|
+
client.close(() => {
|
|
299
|
+
if (!done) {
|
|
300
|
+
done = true
|
|
301
|
+
this[kRetiring].delete(client)
|
|
302
|
+
resolveClosed()
|
|
303
|
+
}
|
|
304
|
+
})
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
[kRemoveClient] (client) {
|
|
308
|
+
this[kRetireClient](client)
|
|
215
309
|
|
|
216
310
|
this[kNeedDrain] = !this[kClients].some(dispatcher => (
|
|
217
311
|
!dispatcher[kNeedDrain] &&
|
|
@@ -227,6 +321,10 @@ module.exports = {
|
|
|
227
321
|
kNeedDrain,
|
|
228
322
|
kAddClient,
|
|
229
323
|
kRemoveClient,
|
|
324
|
+
kRetireClient,
|
|
325
|
+
kDrainQueue,
|
|
326
|
+
kOnClientBusy,
|
|
327
|
+
kOnClientDrain,
|
|
230
328
|
kGetDispatcher,
|
|
231
329
|
kHasDispatcher
|
|
232
330
|
}
|
package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool.js
CHANGED
|
@@ -5,26 +5,54 @@ const {
|
|
|
5
5
|
kClients,
|
|
6
6
|
kNeedDrain,
|
|
7
7
|
kAddClient,
|
|
8
|
+
kDrainQueue,
|
|
9
|
+
kOnClientBusy,
|
|
10
|
+
kOnClientDrain,
|
|
8
11
|
kGetDispatcher,
|
|
9
12
|
kHasDispatcher,
|
|
10
|
-
kRemoveClient
|
|
13
|
+
kRemoveClient,
|
|
14
|
+
kRetireClient
|
|
11
15
|
} = require('./pool-base')
|
|
12
16
|
const Client = require('./client')
|
|
13
17
|
const {
|
|
14
18
|
InvalidArgumentError
|
|
15
19
|
} = require('../core/errors')
|
|
16
20
|
const util = require('../core/util')
|
|
17
|
-
const { kUrl } = require('../core/symbols')
|
|
21
|
+
const { kConnecting, kHTTPContext, kUrl, kQueued } = require('../core/symbols')
|
|
18
22
|
const buildConnector = require('../core/connect')
|
|
19
23
|
|
|
20
24
|
const kOptions = Symbol('options')
|
|
21
25
|
const kConnections = Symbol('connections')
|
|
22
26
|
const kFactory = Symbol('factory')
|
|
27
|
+
const kProtocol = Symbol('protocol')
|
|
28
|
+
const kProtocolProbe = Symbol('protocol probe')
|
|
23
29
|
|
|
24
30
|
function defaultFactory (origin, opts) {
|
|
25
31
|
return new Client(origin, opts)
|
|
26
32
|
}
|
|
27
33
|
|
|
34
|
+
function shouldCreateProtocolProbe (pool, dispatcher) {
|
|
35
|
+
return dispatcher instanceof Client &&
|
|
36
|
+
pool[kProtocol] !== 'h1' &&
|
|
37
|
+
(pool[kOptions].useH2c === true || (pool[kUrl].protocol === 'https:' && pool[kOptions].allowH2 !== false))
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function createClient (pool) {
|
|
41
|
+
const dispatcher = pool[kFactory](pool[kUrl], pool[kOptions])
|
|
42
|
+
|
|
43
|
+
// HTTPS does not reveal whether the peer selected h1 or h2 until ALPN
|
|
44
|
+
// completes. While h2 is still possible, let one Client probe the protocol
|
|
45
|
+
// and keep later requests in the Pool queue instead of opening one TLS
|
|
46
|
+
// connection per request. A confirmed h1 connection disables this gate and
|
|
47
|
+
// restores the usual Pool fan-out.
|
|
48
|
+
if (shouldCreateProtocolProbe(pool, dispatcher)) {
|
|
49
|
+
pool[kProtocolProbe] = dispatcher
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
pool[kAddClient](dispatcher)
|
|
53
|
+
return dispatcher
|
|
54
|
+
}
|
|
55
|
+
|
|
28
56
|
class Pool extends PoolBase {
|
|
29
57
|
constructor (origin, {
|
|
30
58
|
connections,
|
|
@@ -72,6 +100,8 @@ class Pool extends PoolBase {
|
|
|
72
100
|
this[kUrl] = util.parseOrigin(origin)
|
|
73
101
|
this[kOptions] = { ...util.deepClone(options), connect, allowH2, useH2c, clientTtl, socketPath }
|
|
74
102
|
this[kFactory] = factory
|
|
103
|
+
this[kProtocol] = null
|
|
104
|
+
this[kProtocolProbe] = null
|
|
75
105
|
|
|
76
106
|
this.on('connect', (origin, targets) => {
|
|
77
107
|
if (clientTtl != null && clientTtl > 0) {
|
|
@@ -79,23 +109,74 @@ class Pool extends PoolBase {
|
|
|
79
109
|
Object.assign(target, { ttl: Date.now() })
|
|
80
110
|
}
|
|
81
111
|
}
|
|
112
|
+
|
|
113
|
+
const client = targets[targets.length - 1]
|
|
114
|
+
if (client instanceof Client) {
|
|
115
|
+
this[kProtocol] = client[kHTTPContext]?.version
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (client === this[kProtocolProbe]) {
|
|
119
|
+
// An h2 Client's drain event releases the requests accumulated during
|
|
120
|
+
// negotiation onto that Client. If ALPN selected h1, release the probe
|
|
121
|
+
// immediately and restore normal Pool fan-out instead.
|
|
122
|
+
if (this[kProtocol] !== 'h2') {
|
|
123
|
+
this[kProtocolProbe] = null
|
|
124
|
+
this[kDrainQueue](origin, targets.slice(1))
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
|
|
129
|
+
this.on('disconnect', (origin, targets) => {
|
|
130
|
+
if (targets.includes(this[kProtocolProbe])) {
|
|
131
|
+
this[kProtocolProbe] = null
|
|
132
|
+
this[kDrainQueue](origin, targets.slice(1))
|
|
133
|
+
}
|
|
82
134
|
})
|
|
83
135
|
|
|
84
|
-
this.on('connectionError', (origin, targets
|
|
136
|
+
this.on('connectionError', (origin, targets) => {
|
|
137
|
+
let resumeQueued = false
|
|
138
|
+
|
|
85
139
|
// If a connection error occurs, we remove the client from the pool,
|
|
86
140
|
// and emit a connectionError event. They will not be re-used.
|
|
87
141
|
// Fixes https://github.com/nodejs/undici/issues/3895
|
|
88
142
|
for (const target of targets) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
143
|
+
if (target === this[kProtocolProbe]) {
|
|
144
|
+
this[kProtocolProbe] = null
|
|
145
|
+
resumeQueued = true
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Retire (close) the client rather than only dropping it from
|
|
149
|
+
// kClients: otherwise its drain listener keeps pulling requests from
|
|
150
|
+
// the pool queue onto a client that pool.destroy() can't reach.
|
|
151
|
+
if (this[kClients].includes(target)) {
|
|
152
|
+
this[kRetireClient](target)
|
|
94
153
|
}
|
|
95
154
|
}
|
|
155
|
+
|
|
156
|
+
// The retired client no longer drains the pool queue, so hand any
|
|
157
|
+
// queued requests to another (possibly new) client.
|
|
158
|
+
if (resumeQueued || this[kQueued] > 0) {
|
|
159
|
+
this[kDrainQueue](origin, targets.slice(1))
|
|
160
|
+
}
|
|
96
161
|
})
|
|
97
162
|
}
|
|
98
163
|
|
|
164
|
+
[kOnClientBusy] (client) {
|
|
165
|
+
if (
|
|
166
|
+
this[kProtocolProbe] === null &&
|
|
167
|
+
client[kConnecting] &&
|
|
168
|
+
shouldCreateProtocolProbe(this, client)
|
|
169
|
+
) {
|
|
170
|
+
this[kProtocolProbe] = client
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
[kOnClientDrain] (client) {
|
|
175
|
+
if (client === this[kProtocolProbe]) {
|
|
176
|
+
this[kProtocolProbe] = null
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
99
180
|
[kGetDispatcher] () {
|
|
100
181
|
const clientTtlOption = this[kOptions].clientTtl
|
|
101
182
|
for (let i = 0; i < this[kClients].length; i++) {
|
|
@@ -110,10 +191,12 @@ class Pool extends PoolBase {
|
|
|
110
191
|
}
|
|
111
192
|
}
|
|
112
193
|
|
|
194
|
+
if (this[kProtocolProbe] !== null) {
|
|
195
|
+
return
|
|
196
|
+
}
|
|
197
|
+
|
|
113
198
|
if (!this[kConnections] || this[kClients].length < this[kConnections]) {
|
|
114
|
-
|
|
115
|
-
this[kAddClient](dispatcher)
|
|
116
|
-
return dispatcher
|
|
199
|
+
return createClient(this)
|
|
117
200
|
}
|
|
118
201
|
}
|
|
119
202
|
|
|
@@ -130,9 +213,12 @@ class Pool extends PoolBase {
|
|
|
130
213
|
}
|
|
131
214
|
}
|
|
132
215
|
|
|
216
|
+
if (this[kProtocolProbe] !== null) {
|
|
217
|
+
return false
|
|
218
|
+
}
|
|
219
|
+
|
|
133
220
|
if (!this[kConnections] || this[kClients].length < this[kConnections]) {
|
|
134
|
-
|
|
135
|
-
this[kAddClient](dispatcher)
|
|
221
|
+
createClient(this)
|
|
136
222
|
return true
|
|
137
223
|
}
|
|
138
224
|
|
|
@@ -83,11 +83,10 @@ class Http1ProxyWrapper extends DispatcherBase {
|
|
|
83
83
|
|
|
84
84
|
opts.path = origin + path
|
|
85
85
|
|
|
86
|
-
if (!('host' in headers) && !('Host' in headers)) {
|
|
87
|
-
const { host } = new URL(origin)
|
|
88
|
-
headers.host = host
|
|
89
|
-
}
|
|
90
86
|
opts.headers = { ...this[kProxyHeaders], ...headers }
|
|
87
|
+
if (!hasHostHeader(headers)) {
|
|
88
|
+
opts.headers.host = new URL(origin).host
|
|
89
|
+
}
|
|
91
90
|
|
|
92
91
|
// Pin the SNI/cert hostname to the proxy. Without this the underlying
|
|
93
92
|
// Client would derive it from the (rewritten) Host header, which points
|
|
@@ -276,12 +275,14 @@ class ProxyAgent extends DispatcherBase {
|
|
|
276
275
|
}
|
|
277
276
|
|
|
278
277
|
dispatch (opts, handler) {
|
|
279
|
-
|
|
278
|
+
let headers = buildHeaders(opts.headers)
|
|
280
279
|
throwIfProxyAuthIsSent(headers)
|
|
281
280
|
|
|
282
|
-
if (headers && !(
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
if (headers && !hasHostHeader(headers)) {
|
|
282
|
+
if (headers === opts.headers) {
|
|
283
|
+
headers = { ...headers }
|
|
284
|
+
}
|
|
285
|
+
headers.host = new URL(opts.origin).host
|
|
285
286
|
}
|
|
286
287
|
|
|
287
288
|
return this[kAgent].dispatch(
|
|
@@ -325,8 +326,8 @@ class ProxyAgent extends DispatcherBase {
|
|
|
325
326
|
}
|
|
326
327
|
|
|
327
328
|
/**
|
|
328
|
-
* @param {string[] | Record<string, string>} headers
|
|
329
|
-
* @returns {Record<string, string>}
|
|
329
|
+
* @param {string[] | Record<string, string> | Iterable<[string, string | string[] | undefined]>} headers
|
|
330
|
+
* @returns {Record<string, string | string[] | undefined>}
|
|
330
331
|
*/
|
|
331
332
|
function buildHeaders (headers) {
|
|
332
333
|
// When using undici.fetch, the headers list is stored
|
|
@@ -355,7 +356,20 @@ function buildHeaders (headers) {
|
|
|
355
356
|
const headersPair = {}
|
|
356
357
|
|
|
357
358
|
for (const [key, value] of headers) {
|
|
358
|
-
headersPair
|
|
359
|
+
if (!Object.hasOwn(headersPair, key)) {
|
|
360
|
+
headersPair[key] = value
|
|
361
|
+
continue
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
const previous = headersPair[key]
|
|
365
|
+
const values = []
|
|
366
|
+
if (previous !== undefined) {
|
|
367
|
+
values.push(...(Array.isArray(previous) ? previous : [previous]))
|
|
368
|
+
}
|
|
369
|
+
if (value !== undefined) {
|
|
370
|
+
values.push(...(Array.isArray(value) ? value : [value]))
|
|
371
|
+
}
|
|
372
|
+
headersPair[key] = values.length > 1 ? values : values[0]
|
|
359
373
|
}
|
|
360
374
|
|
|
361
375
|
return headersPair
|
|
@@ -388,6 +402,15 @@ function isProxyAuthorizationHeader (key) {
|
|
|
388
402
|
return key.length === proxyAuthorization.length && key.toLowerCase() === proxyAuthorization
|
|
389
403
|
}
|
|
390
404
|
|
|
405
|
+
function hasHostHeader (headers) {
|
|
406
|
+
for (const key in headers) {
|
|
407
|
+
if (key.length === 4 && key.toLowerCase() === 'host') {
|
|
408
|
+
return true
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
return false
|
|
412
|
+
}
|
|
413
|
+
|
|
391
414
|
function throwProxyAuthError () {
|
|
392
415
|
throw new InvalidArgumentError('Proxy-Authorization should be sent in ProxyAgent constructor')
|
|
393
416
|
}
|
|
@@ -26,6 +26,16 @@ class RetryAgent extends Dispatcher {
|
|
|
26
26
|
return this.#agent.dispatch(opts, retry)
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
// WebSocket and EventSource read their receive limits from the dispatcher
|
|
30
|
+
// they are given, so report the wrapped agent's settings rather than none.
|
|
31
|
+
get webSocketOptions () {
|
|
32
|
+
return this.#agent.webSocketOptions
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
get eventSourceOptions () {
|
|
36
|
+
return this.#agent.eventSourceOptions
|
|
37
|
+
}
|
|
38
|
+
|
|
29
39
|
close () {
|
|
30
40
|
return this.#agent.close()
|
|
31
41
|
}
|
|
@@ -7,14 +7,16 @@ const {
|
|
|
7
7
|
kAddClient,
|
|
8
8
|
kGetDispatcher,
|
|
9
9
|
kHasDispatcher,
|
|
10
|
-
kRemoveClient
|
|
10
|
+
kRemoveClient,
|
|
11
|
+
kRetireClient,
|
|
12
|
+
kDrainQueue
|
|
11
13
|
} = require('./pool-base')
|
|
12
14
|
const Client = require('./client')
|
|
13
15
|
const {
|
|
14
16
|
InvalidArgumentError
|
|
15
17
|
} = require('../core/errors')
|
|
16
18
|
const util = require('../core/util')
|
|
17
|
-
const { kUrl } = require('../core/symbols')
|
|
19
|
+
const { kUrl, kQueued } = require('../core/symbols')
|
|
18
20
|
const buildConnector = require('../core/connect')
|
|
19
21
|
|
|
20
22
|
const kOptions = Symbol('options')
|
|
@@ -82,12 +84,20 @@ class RoundRobinPool extends PoolBase {
|
|
|
82
84
|
})
|
|
83
85
|
|
|
84
86
|
this.on('connectionError', (origin, targets, error) => {
|
|
87
|
+
// Retire (close) the client rather than only dropping it from
|
|
88
|
+
// kClients: otherwise its drain listener keeps pulling requests from
|
|
89
|
+
// the pool queue onto a client that pool.destroy() can't reach.
|
|
85
90
|
for (const target of targets) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
this[kClients].splice(idx, 1)
|
|
91
|
+
if (this[kClients].includes(target)) {
|
|
92
|
+
this[kRetireClient](target)
|
|
89
93
|
}
|
|
90
94
|
}
|
|
95
|
+
|
|
96
|
+
// The retired client no longer drains the pool queue, so hand any
|
|
97
|
+
// queued requests to another (possibly new) client.
|
|
98
|
+
if (this[kQueued] > 0) {
|
|
99
|
+
this[kDrainQueue](origin, targets.slice(1))
|
|
100
|
+
}
|
|
91
101
|
})
|
|
92
102
|
}
|
|
93
103
|
|