@detent/sdk 0.1.0
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/.devcontainer/devcontainer.json +45 -0
- package/FUNCTIONS.md +87 -0
- package/README.md +413 -0
- package/RUNTIMES.md +48 -0
- package/_speakeasy/.github/action-inputs-config.json +53 -0
- package/_speakeasy/.github/action-security-config.json +88 -0
- package/dist/commonjs/core.d.ts +10 -0
- package/dist/commonjs/core.d.ts.map +1 -0
- package/dist/commonjs/core.js +17 -0
- package/dist/commonjs/core.js.map +1 -0
- package/dist/commonjs/funcs/diagnostics-create.d.ts +24 -0
- package/dist/commonjs/funcs/diagnostics-create.d.ts.map +1 -0
- package/dist/commonjs/funcs/diagnostics-create.js +120 -0
- package/dist/commonjs/funcs/diagnostics-create.js.map +1 -0
- package/dist/commonjs/hooks/hooks.d.ts +25 -0
- package/dist/commonjs/hooks/hooks.d.ts.map +1 -0
- package/dist/commonjs/hooks/hooks.js +86 -0
- package/dist/commonjs/hooks/hooks.js.map +1 -0
- package/dist/commonjs/hooks/index.d.ts +3 -0
- package/dist/commonjs/hooks/index.d.ts.map +1 -0
- package/dist/commonjs/hooks/index.js +22 -0
- package/dist/commonjs/hooks/index.js.map +1 -0
- package/dist/commonjs/hooks/registration.d.ts +3 -0
- package/dist/commonjs/hooks/registration.d.ts.map +1 -0
- package/dist/commonjs/hooks/registration.js +15 -0
- package/dist/commonjs/hooks/registration.js.map +1 -0
- package/dist/commonjs/hooks/types.d.ts +76 -0
- package/dist/commonjs/hooks/types.d.ts.map +1 -0
- package/dist/commonjs/hooks/types.js +6 -0
- package/dist/commonjs/hooks/types.js.map +1 -0
- package/dist/commonjs/index.d.ts +6 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +48 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/lib/base64.d.ts +10 -0
- package/dist/commonjs/lib/base64.d.ts.map +1 -0
- package/dist/commonjs/lib/base64.js +73 -0
- package/dist/commonjs/lib/base64.js.map +1 -0
- package/dist/commonjs/lib/config.d.ts +37 -0
- package/dist/commonjs/lib/config.d.ts.map +1 -0
- package/dist/commonjs/lib/config.js +42 -0
- package/dist/commonjs/lib/config.js.map +1 -0
- package/dist/commonjs/lib/dlv.d.ts +14 -0
- package/dist/commonjs/lib/dlv.d.ts.map +1 -0
- package/dist/commonjs/lib/dlv.js +49 -0
- package/dist/commonjs/lib/dlv.js.map +1 -0
- package/dist/commonjs/lib/encodings.d.ts +53 -0
- package/dist/commonjs/lib/encodings.d.ts.map +1 -0
- package/dist/commonjs/lib/encodings.js +384 -0
- package/dist/commonjs/lib/encodings.js.map +1 -0
- package/dist/commonjs/lib/env.d.ts +14 -0
- package/dist/commonjs/lib/env.d.ts.map +1 -0
- package/dist/commonjs/lib/env.js +81 -0
- package/dist/commonjs/lib/env.js.map +1 -0
- package/dist/commonjs/lib/files.d.ts +13 -0
- package/dist/commonjs/lib/files.d.ts.map +1 -0
- package/dist/commonjs/lib/files.js +77 -0
- package/dist/commonjs/lib/files.js.map +1 -0
- package/dist/commonjs/lib/http.d.ts +67 -0
- package/dist/commonjs/lib/http.d.ts.map +1 -0
- package/dist/commonjs/lib/http.js +217 -0
- package/dist/commonjs/lib/http.js.map +1 -0
- package/dist/commonjs/lib/is-plain-object.d.ts +2 -0
- package/dist/commonjs/lib/is-plain-object.d.ts.map +1 -0
- package/dist/commonjs/lib/is-plain-object.js +41 -0
- package/dist/commonjs/lib/is-plain-object.js.map +1 -0
- package/dist/commonjs/lib/logger.d.ts +6 -0
- package/dist/commonjs/lib/logger.d.ts.map +1 -0
- package/dist/commonjs/lib/logger.js +6 -0
- package/dist/commonjs/lib/logger.js.map +1 -0
- package/dist/commonjs/lib/matchers.d.ts +59 -0
- package/dist/commonjs/lib/matchers.d.ts.map +1 -0
- package/dist/commonjs/lib/matchers.js +222 -0
- package/dist/commonjs/lib/matchers.js.map +1 -0
- package/dist/commonjs/lib/primitives.d.ts +26 -0
- package/dist/commonjs/lib/primitives.d.ts.map +1 -0
- package/dist/commonjs/lib/primitives.js +111 -0
- package/dist/commonjs/lib/primitives.js.map +1 -0
- package/dist/commonjs/lib/retries.d.ts +38 -0
- package/dist/commonjs/lib/retries.d.ts.map +1 -0
- package/dist/commonjs/lib/retries.js +153 -0
- package/dist/commonjs/lib/retries.js.map +1 -0
- package/dist/commonjs/lib/schemas.d.ts +21 -0
- package/dist/commonjs/lib/schemas.d.ts.map +1 -0
- package/dist/commonjs/lib/schemas.js +95 -0
- package/dist/commonjs/lib/schemas.js.map +1 -0
- package/dist/commonjs/lib/sdks.d.ts +63 -0
- package/dist/commonjs/lib/sdks.d.ts.map +1 -0
- package/dist/commonjs/lib/sdks.js +273 -0
- package/dist/commonjs/lib/sdks.js.map +1 -0
- package/dist/commonjs/lib/security.d.ts +80 -0
- package/dist/commonjs/lib/security.d.ts.map +1 -0
- package/dist/commonjs/lib/security.js +126 -0
- package/dist/commonjs/lib/security.js.map +1 -0
- package/dist/commonjs/lib/url.d.ts +5 -0
- package/dist/commonjs/lib/url.d.ts.map +1 -0
- package/dist/commonjs/lib/url.js +25 -0
- package/dist/commonjs/lib/url.js.map +1 -0
- package/dist/commonjs/models/detected-tool.d.ts +19 -0
- package/dist/commonjs/models/detected-tool.d.ts.map +1 -0
- package/dist/commonjs/models/detected-tool.js +54 -0
- package/dist/commonjs/models/detected-tool.js.map +1 -0
- package/dist/commonjs/models/diagnostic-lite.d.ts +25 -0
- package/dist/commonjs/models/diagnostic-lite.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostic-lite.js +59 -0
- package/dist/commonjs/models/diagnostic-lite.js.map +1 -0
- package/dist/commonjs/models/diagnostic-summary.d.ts +24 -0
- package/dist/commonjs/models/diagnostic-summary.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostic-summary.js +53 -0
- package/dist/commonjs/models/diagnostic-summary.js.map +1 -0
- package/dist/commonjs/models/diagnostic.d.ts +46 -0
- package/dist/commonjs/models/diagnostic.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostic.js +68 -0
- package/dist/commonjs/models/diagnostic.js.map +1 -0
- package/dist/commonjs/models/diagnostics-request.d.ts +27 -0
- package/dist/commonjs/models/diagnostics-request.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostics-request.js +53 -0
- package/dist/commonjs/models/diagnostics-request.js.map +1 -0
- package/dist/commonjs/models/diagnostics-response-full.d.ts +31 -0
- package/dist/commonjs/models/diagnostics-response-full.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostics-response-full.js +62 -0
- package/dist/commonjs/models/diagnostics-response-full.js.map +1 -0
- package/dist/commonjs/models/diagnostics-response-lite.d.ts +26 -0
- package/dist/commonjs/models/diagnostics-response-lite.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostics-response-lite.js +60 -0
- package/dist/commonjs/models/diagnostics-response-lite.js.map +1 -0
- package/dist/commonjs/models/diagnostics-response.d.ts +11 -0
- package/dist/commonjs/models/diagnostics-response.d.ts.map +1 -0
- package/dist/commonjs/models/diagnostics-response.js +20 -0
- package/dist/commonjs/models/diagnostics-response.js.map +1 -0
- package/dist/commonjs/models/errors/detent-sdk-default-error.d.ts +10 -0
- package/dist/commonjs/models/errors/detent-sdk-default-error.d.ts.map +1 -0
- package/dist/commonjs/models/errors/detent-sdk-default-error.js +34 -0
- package/dist/commonjs/models/errors/detent-sdk-default-error.js.map +1 -0
- package/dist/commonjs/models/errors/detent-sdk-error.d.ts +19 -0
- package/dist/commonjs/models/errors/detent-sdk-error.d.ts.map +1 -0
- package/dist/commonjs/models/errors/detent-sdk-error.js +20 -0
- package/dist/commonjs/models/errors/detent-sdk-error.js.map +1 -0
- package/dist/commonjs/models/errors/error-response.d.ts +24 -0
- package/dist/commonjs/models/errors/error-response.d.ts.map +1 -0
- package/dist/commonjs/models/errors/error-response.js +68 -0
- package/dist/commonjs/models/errors/error-response.js.map +1 -0
- package/dist/commonjs/models/errors/http-client-errors.d.ts +44 -0
- package/dist/commonjs/models/errors/http-client-errors.d.ts.map +1 -0
- package/dist/commonjs/models/errors/http-client-errors.js +78 -0
- package/dist/commonjs/models/errors/http-client-errors.js.map +1 -0
- package/dist/commonjs/models/errors/index.d.ts +8 -0
- package/dist/commonjs/models/errors/index.d.ts.map +1 -0
- package/dist/commonjs/models/errors/index.js +27 -0
- package/dist/commonjs/models/errors/index.js.map +1 -0
- package/dist/commonjs/models/errors/rate-limit-error.d.ts +32 -0
- package/dist/commonjs/models/errors/rate-limit-error.d.ts.map +1 -0
- package/dist/commonjs/models/errors/rate-limit-error.js +70 -0
- package/dist/commonjs/models/errors/rate-limit-error.js.map +1 -0
- package/dist/commonjs/models/errors/response-validation-error.d.ts +26 -0
- package/dist/commonjs/models/errors/response-validation-error.d.ts.map +1 -0
- package/dist/commonjs/models/errors/response-validation-error.js +66 -0
- package/dist/commonjs/models/errors/response-validation-error.js.map +1 -0
- package/dist/commonjs/models/errors/sdk-validation-error.d.ts +21 -0
- package/dist/commonjs/models/errors/sdk-validation-error.d.ts.map +1 -0
- package/dist/commonjs/models/errors/sdk-validation-error.js +82 -0
- package/dist/commonjs/models/errors/sdk-validation-error.js.map +1 -0
- package/dist/commonjs/models/index.d.ts +11 -0
- package/dist/commonjs/models/index.d.ts.map +1 -0
- package/dist/commonjs/models/index.js +30 -0
- package/dist/commonjs/models/index.js.map +1 -0
- package/dist/commonjs/models/mode-enum.d.ts +16 -0
- package/dist/commonjs/models/mode-enum.d.ts.map +1 -0
- package/dist/commonjs/models/mode-enum.js +50 -0
- package/dist/commonjs/models/mode-enum.js.map +1 -0
- package/dist/commonjs/models/severity.d.ts +16 -0
- package/dist/commonjs/models/severity.d.ts.map +1 -0
- package/dist/commonjs/models/severity.js +50 -0
- package/dist/commonjs/models/severity.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/sdk/diagnostics.d.ts +18 -0
- package/dist/commonjs/sdk/diagnostics.d.ts.map +1 -0
- package/dist/commonjs/sdk/diagnostics.js +28 -0
- package/dist/commonjs/sdk/diagnostics.js.map +1 -0
- package/dist/commonjs/sdk/index.d.ts +2 -0
- package/dist/commonjs/sdk/index.d.ts.map +1 -0
- package/dist/commonjs/sdk/index.js +21 -0
- package/dist/commonjs/sdk/index.js.map +1 -0
- package/dist/commonjs/sdk/sdk.d.ts +7 -0
- package/dist/commonjs/sdk/sdk.d.ts.map +1 -0
- package/dist/commonjs/sdk/sdk.js +15 -0
- package/dist/commonjs/sdk/sdk.js.map +1 -0
- package/dist/commonjs/types/async.d.ts +23 -0
- package/dist/commonjs/types/async.d.ts.map +1 -0
- package/dist/commonjs/types/async.js +44 -0
- package/dist/commonjs/types/async.js.map +1 -0
- package/dist/commonjs/types/blobs.d.ts +4 -0
- package/dist/commonjs/types/blobs.d.ts.map +1 -0
- package/dist/commonjs/types/blobs.js +62 -0
- package/dist/commonjs/types/blobs.js.map +1 -0
- package/dist/commonjs/types/const-date-time.d.ts +3 -0
- package/dist/commonjs/types/const-date-time.d.ts.map +1 -0
- package/dist/commonjs/types/const-date-time.js +46 -0
- package/dist/commonjs/types/const-date-time.js.map +1 -0
- package/dist/commonjs/types/default-to-zero-value.d.ts +12 -0
- package/dist/commonjs/types/default-to-zero-value.d.ts.map +1 -0
- package/dist/commonjs/types/default-to-zero-value.js +35 -0
- package/dist/commonjs/types/default-to-zero-value.js.map +1 -0
- package/dist/commonjs/types/discriminated-union.d.ts +25 -0
- package/dist/commonjs/types/discriminated-union.d.ts.map +1 -0
- package/dist/commonjs/types/discriminated-union.js +98 -0
- package/dist/commonjs/types/discriminated-union.js.map +1 -0
- package/dist/commonjs/types/enums.d.ts +9 -0
- package/dist/commonjs/types/enums.d.ts.map +1 -0
- package/dist/commonjs/types/enums.js +66 -0
- package/dist/commonjs/types/enums.js.map +1 -0
- package/dist/commonjs/types/fp.d.ts +31 -0
- package/dist/commonjs/types/fp.d.ts.map +1 -0
- package/dist/commonjs/types/fp.js +37 -0
- package/dist/commonjs/types/fp.js.map +1 -0
- package/dist/commonjs/types/index.d.ts +10 -0
- package/dist/commonjs/types/index.d.ts.map +1 -0
- package/dist/commonjs/types/index.js +31 -0
- package/dist/commonjs/types/index.js.map +1 -0
- package/dist/commonjs/types/operations.d.ts +27 -0
- package/dist/commonjs/types/operations.d.ts.map +1 -0
- package/dist/commonjs/types/operations.js +83 -0
- package/dist/commonjs/types/operations.js.map +1 -0
- package/dist/commonjs/types/primitives.d.ts +11 -0
- package/dist/commonjs/types/primitives.d.ts.map +1 -0
- package/dist/commonjs/types/primitives.js +176 -0
- package/dist/commonjs/types/primitives.js.map +1 -0
- package/dist/commonjs/types/rfcdate.d.ts +21 -0
- package/dist/commonjs/types/rfcdate.d.ts.map +1 -0
- package/dist/commonjs/types/rfcdate.js +46 -0
- package/dist/commonjs/types/rfcdate.js.map +1 -0
- package/dist/commonjs/types/smart-union.d.ts +7 -0
- package/dist/commonjs/types/smart-union.d.ts.map +1 -0
- package/dist/commonjs/types/smart-union.js +147 -0
- package/dist/commonjs/types/smart-union.js.map +1 -0
- package/dist/commonjs/types/streams.d.ts +2 -0
- package/dist/commonjs/types/streams.d.ts.map +1 -0
- package/dist/commonjs/types/streams.js +18 -0
- package/dist/commonjs/types/streams.js.map +1 -0
- package/dist/commonjs/types/unrecognized.d.ts +16 -0
- package/dist/commonjs/types/unrecognized.d.ts.map +1 -0
- package/dist/commonjs/types/unrecognized.js +34 -0
- package/dist/commonjs/types/unrecognized.js.map +1 -0
- package/dist/esm/core.d.ts +10 -0
- package/dist/esm/core.d.ts.map +1 -0
- package/dist/esm/core.js +13 -0
- package/dist/esm/core.js.map +1 -0
- package/dist/esm/funcs/diagnostics-create.d.ts +24 -0
- package/dist/esm/funcs/diagnostics-create.d.ts.map +1 -0
- package/dist/esm/funcs/diagnostics-create.js +84 -0
- package/dist/esm/funcs/diagnostics-create.js.map +1 -0
- package/dist/esm/hooks/hooks.d.ts +25 -0
- package/dist/esm/hooks/hooks.d.ts.map +1 -0
- package/dist/esm/hooks/hooks.js +82 -0
- package/dist/esm/hooks/hooks.js.map +1 -0
- package/dist/esm/hooks/index.d.ts +3 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +6 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/registration.d.ts +3 -0
- package/dist/esm/hooks/registration.d.ts.map +1 -0
- package/dist/esm/hooks/registration.js +12 -0
- package/dist/esm/hooks/registration.js.map +1 -0
- package/dist/esm/hooks/types.d.ts +76 -0
- package/dist/esm/hooks/types.d.ts.map +1 -0
- package/dist/esm/hooks/types.js +5 -0
- package/dist/esm/hooks/types.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/base64.d.ts +10 -0
- package/dist/esm/lib/base64.d.ts.map +1 -0
- package/dist/esm/lib/base64.js +31 -0
- package/dist/esm/lib/base64.js.map +1 -0
- package/dist/esm/lib/config.d.ts +37 -0
- package/dist/esm/lib/config.d.ts.map +1 -0
- package/dist/esm/lib/config.js +38 -0
- package/dist/esm/lib/config.js.map +1 -0
- package/dist/esm/lib/dlv.d.ts +14 -0
- package/dist/esm/lib/dlv.d.ts.map +1 -0
- package/dist/esm/lib/dlv.js +46 -0
- package/dist/esm/lib/dlv.js.map +1 -0
- package/dist/esm/lib/encodings.d.ts +53 -0
- package/dist/esm/lib/encodings.d.ts.map +1 -0
- package/dist/esm/lib/encodings.js +370 -0
- package/dist/esm/lib/encodings.js.map +1 -0
- package/dist/esm/lib/env.d.ts +14 -0
- package/dist/esm/lib/env.d.ts.map +1 -0
- package/dist/esm/lib/env.js +43 -0
- package/dist/esm/lib/env.js.map +1 -0
- package/dist/esm/lib/files.d.ts +13 -0
- package/dist/esm/lib/files.d.ts.map +1 -0
- package/dist/esm/lib/files.js +73 -0
- package/dist/esm/lib/files.js.map +1 -0
- package/dist/esm/lib/http.d.ts +67 -0
- package/dist/esm/lib/http.d.ts.map +1 -0
- package/dist/esm/lib/http.js +207 -0
- package/dist/esm/lib/http.js.map +1 -0
- package/dist/esm/lib/is-plain-object.d.ts +2 -0
- package/dist/esm/lib/is-plain-object.d.ts.map +1 -0
- package/dist/esm/lib/is-plain-object.js +38 -0
- package/dist/esm/lib/is-plain-object.js.map +1 -0
- package/dist/esm/lib/logger.d.ts +6 -0
- package/dist/esm/lib/logger.d.ts.map +1 -0
- package/dist/esm/lib/logger.js +5 -0
- package/dist/esm/lib/logger.js.map +1 -0
- package/dist/esm/lib/matchers.d.ts +59 -0
- package/dist/esm/lib/matchers.d.ts.map +1 -0
- package/dist/esm/lib/matchers.js +203 -0
- package/dist/esm/lib/matchers.js.map +1 -0
- package/dist/esm/lib/primitives.d.ts +26 -0
- package/dist/esm/lib/primitives.d.ts.map +1 -0
- package/dist/esm/lib/primitives.js +103 -0
- package/dist/esm/lib/primitives.js.map +1 -0
- package/dist/esm/lib/retries.d.ts +38 -0
- package/dist/esm/lib/retries.d.ts.map +1 -0
- package/dist/esm/lib/retries.js +147 -0
- package/dist/esm/lib/retries.js.map +1 -0
- package/dist/esm/lib/schemas.d.ts +21 -0
- package/dist/esm/lib/schemas.d.ts.map +1 -0
- package/dist/esm/lib/schemas.js +57 -0
- package/dist/esm/lib/schemas.js.map +1 -0
- package/dist/esm/lib/sdks.d.ts +63 -0
- package/dist/esm/lib/sdks.d.ts.map +1 -0
- package/dist/esm/lib/sdks.js +269 -0
- package/dist/esm/lib/sdks.js.map +1 -0
- package/dist/esm/lib/security.d.ts +80 -0
- package/dist/esm/lib/security.d.ts.map +1 -0
- package/dist/esm/lib/security.js +121 -0
- package/dist/esm/lib/security.js.map +1 -0
- package/dist/esm/lib/url.d.ts +5 -0
- package/dist/esm/lib/url.d.ts.map +1 -0
- package/dist/esm/lib/url.js +22 -0
- package/dist/esm/lib/url.js.map +1 -0
- package/dist/esm/models/detected-tool.d.ts +19 -0
- package/dist/esm/models/detected-tool.d.ts.map +1 -0
- package/dist/esm/models/detected-tool.js +18 -0
- package/dist/esm/models/detected-tool.js.map +1 -0
- package/dist/esm/models/diagnostic-lite.d.ts +25 -0
- package/dist/esm/models/diagnostic-lite.d.ts.map +1 -0
- package/dist/esm/models/diagnostic-lite.js +22 -0
- package/dist/esm/models/diagnostic-lite.js.map +1 -0
- package/dist/esm/models/diagnostic-summary.d.ts +24 -0
- package/dist/esm/models/diagnostic-summary.d.ts.map +1 -0
- package/dist/esm/models/diagnostic-summary.js +16 -0
- package/dist/esm/models/diagnostic-summary.js.map +1 -0
- package/dist/esm/models/diagnostic.d.ts +46 -0
- package/dist/esm/models/diagnostic.d.ts.map +1 -0
- package/dist/esm/models/diagnostic.js +31 -0
- package/dist/esm/models/diagnostic.js.map +1 -0
- package/dist/esm/models/diagnostics-request.d.ts +27 -0
- package/dist/esm/models/diagnostics-request.d.ts.map +1 -0
- package/dist/esm/models/diagnostics-request.js +16 -0
- package/dist/esm/models/diagnostics-request.js.map +1 -0
- package/dist/esm/models/diagnostics-response-full.d.ts +31 -0
- package/dist/esm/models/diagnostics-response-full.d.ts.map +1 -0
- package/dist/esm/models/diagnostics-response-full.js +25 -0
- package/dist/esm/models/diagnostics-response-full.js.map +1 -0
- package/dist/esm/models/diagnostics-response-lite.d.ts +26 -0
- package/dist/esm/models/diagnostics-response-lite.d.ts.map +1 -0
- package/dist/esm/models/diagnostics-response-lite.js +23 -0
- package/dist/esm/models/diagnostics-response-lite.js.map +1 -0
- package/dist/esm/models/diagnostics-response.d.ts +11 -0
- package/dist/esm/models/diagnostics-response.d.ts.map +1 -0
- package/dist/esm/models/diagnostics-response.js +16 -0
- package/dist/esm/models/diagnostics-response.js.map +1 -0
- package/dist/esm/models/errors/detent-sdk-default-error.d.ts +10 -0
- package/dist/esm/models/errors/detent-sdk-default-error.d.ts.map +1 -0
- package/dist/esm/models/errors/detent-sdk-default-error.js +30 -0
- package/dist/esm/models/errors/detent-sdk-default-error.js.map +1 -0
- package/dist/esm/models/errors/detent-sdk-error.d.ts +19 -0
- package/dist/esm/models/errors/detent-sdk-error.d.ts.map +1 -0
- package/dist/esm/models/errors/detent-sdk-error.js +16 -0
- package/dist/esm/models/errors/detent-sdk-error.js.map +1 -0
- package/dist/esm/models/errors/error-response.d.ts +24 -0
- package/dist/esm/models/errors/error-response.d.ts.map +1 -0
- package/dist/esm/models/errors/error-response.js +31 -0
- package/dist/esm/models/errors/error-response.js.map +1 -0
- package/dist/esm/models/errors/http-client-errors.d.ts +44 -0
- package/dist/esm/models/errors/http-client-errors.d.ts.map +1 -0
- package/dist/esm/models/errors/http-client-errors.js +69 -0
- package/dist/esm/models/errors/http-client-errors.js.map +1 -0
- package/dist/esm/models/errors/index.d.ts +8 -0
- package/dist/esm/models/errors/index.d.ts.map +1 -0
- package/dist/esm/models/errors/index.js +11 -0
- package/dist/esm/models/errors/index.js.map +1 -0
- package/dist/esm/models/errors/rate-limit-error.d.ts +32 -0
- package/dist/esm/models/errors/rate-limit-error.d.ts.map +1 -0
- package/dist/esm/models/errors/rate-limit-error.js +33 -0
- package/dist/esm/models/errors/rate-limit-error.js.map +1 -0
- package/dist/esm/models/errors/response-validation-error.d.ts +26 -0
- package/dist/esm/models/errors/response-validation-error.d.ts.map +1 -0
- package/dist/esm/models/errors/response-validation-error.js +29 -0
- package/dist/esm/models/errors/response-validation-error.js.map +1 -0
- package/dist/esm/models/errors/sdk-validation-error.d.ts +21 -0
- package/dist/esm/models/errors/sdk-validation-error.d.ts.map +1 -0
- package/dist/esm/models/errors/sdk-validation-error.js +44 -0
- package/dist/esm/models/errors/sdk-validation-error.js.map +1 -0
- package/dist/esm/models/index.d.ts +11 -0
- package/dist/esm/models/index.d.ts.map +1 -0
- package/dist/esm/models/index.js +14 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/models/mode-enum.d.ts +16 -0
- package/dist/esm/models/mode-enum.d.ts.map +1 -0
- package/dist/esm/models/mode-enum.js +14 -0
- package/dist/esm/models/mode-enum.js.map +1 -0
- package/dist/esm/models/severity.d.ts +16 -0
- package/dist/esm/models/severity.d.ts.map +1 -0
- package/dist/esm/models/severity.js +14 -0
- package/dist/esm/models/severity.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/sdk/diagnostics.d.ts +18 -0
- package/dist/esm/sdk/diagnostics.d.ts.map +1 -0
- package/dist/esm/sdk/diagnostics.js +24 -0
- package/dist/esm/sdk/diagnostics.js.map +1 -0
- package/dist/esm/sdk/index.d.ts +2 -0
- package/dist/esm/sdk/index.d.ts.map +1 -0
- package/dist/esm/sdk/index.js +5 -0
- package/dist/esm/sdk/index.js.map +1 -0
- package/dist/esm/sdk/sdk.d.ts +7 -0
- package/dist/esm/sdk/sdk.d.ts.map +1 -0
- package/dist/esm/sdk/sdk.js +11 -0
- package/dist/esm/sdk/sdk.js.map +1 -0
- package/dist/esm/types/async.d.ts +23 -0
- package/dist/esm/types/async.d.ts.map +1 -0
- package/dist/esm/types/async.js +40 -0
- package/dist/esm/types/async.js.map +1 -0
- package/dist/esm/types/blobs.d.ts +4 -0
- package/dist/esm/types/blobs.d.ts.map +1 -0
- package/dist/esm/types/blobs.js +25 -0
- package/dist/esm/types/blobs.js.map +1 -0
- package/dist/esm/types/const-date-time.d.ts +3 -0
- package/dist/esm/types/const-date-time.d.ts.map +1 -0
- package/dist/esm/types/const-date-time.js +10 -0
- package/dist/esm/types/const-date-time.js.map +1 -0
- package/dist/esm/types/default-to-zero-value.d.ts +12 -0
- package/dist/esm/types/default-to-zero-value.d.ts.map +1 -0
- package/dist/esm/types/default-to-zero-value.js +31 -0
- package/dist/esm/types/default-to-zero-value.js.map +1 -0
- package/dist/esm/types/discriminated-union.d.ts +25 -0
- package/dist/esm/types/discriminated-union.d.ts.map +1 -0
- package/dist/esm/types/discriminated-union.js +61 -0
- package/dist/esm/types/discriminated-union.js.map +1 -0
- package/dist/esm/types/enums.d.ts +9 -0
- package/dist/esm/types/enums.d.ts.map +1 -0
- package/dist/esm/types/enums.js +27 -0
- package/dist/esm/types/enums.js.map +1 -0
- package/dist/esm/types/fp.d.ts +31 -0
- package/dist/esm/types/fp.d.ts.map +1 -0
- package/dist/esm/types/fp.js +31 -0
- package/dist/esm/types/fp.js.map +1 -0
- package/dist/esm/types/index.d.ts +10 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +10 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/operations.d.ts +27 -0
- package/dist/esm/types/operations.d.ts.map +1 -0
- package/dist/esm/types/operations.js +77 -0
- package/dist/esm/types/operations.js.map +1 -0
- package/dist/esm/types/primitives.d.ts +11 -0
- package/dist/esm/types/primitives.d.ts.map +1 -0
- package/dist/esm/types/primitives.js +132 -0
- package/dist/esm/types/primitives.js.map +1 -0
- package/dist/esm/types/rfcdate.d.ts +21 -0
- package/dist/esm/types/rfcdate.d.ts.map +1 -0
- package/dist/esm/types/rfcdate.js +42 -0
- package/dist/esm/types/rfcdate.js.map +1 -0
- package/dist/esm/types/smart-union.d.ts +7 -0
- package/dist/esm/types/smart-union.d.ts.map +1 -0
- package/dist/esm/types/smart-union.js +111 -0
- package/dist/esm/types/smart-union.js.map +1 -0
- package/dist/esm/types/streams.d.ts +2 -0
- package/dist/esm/types/streams.d.ts.map +1 -0
- package/dist/esm/types/streams.js +15 -0
- package/dist/esm/types/streams.js.map +1 -0
- package/dist/esm/types/unrecognized.d.ts +16 -0
- package/dist/esm/types/unrecognized.d.ts.map +1 -0
- package/dist/esm/types/unrecognized.js +31 -0
- package/dist/esm/types/unrecognized.js.map +1 -0
- package/examples/diagnosticsCreate.example.ts +26 -0
- package/examples/package-lock.json +611 -0
- package/examples/package.json +18 -0
- package/jsr.json +27 -0
- package/package.json +114 -0
- package/src/core.ts +13 -0
- package/src/funcs/diagnostics-create.ts +174 -0
- package/src/hooks/hooks.ts +132 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/registration.ts +14 -0
- package/src/hooks/types.ts +107 -0
- package/src/index.ts +9 -0
- package/src/lib/base64.ts +39 -0
- package/src/lib/config.ts +69 -0
- package/src/lib/dlv.ts +53 -0
- package/src/lib/encodings.ts +501 -0
- package/src/lib/env.ts +53 -0
- package/src/lib/files.ts +82 -0
- package/src/lib/http.ts +323 -0
- package/src/lib/is-plain-object.ts +43 -0
- package/src/lib/logger.ts +9 -0
- package/src/lib/matchers.ts +352 -0
- package/src/lib/primitives.ts +150 -0
- package/src/lib/retries.ts +218 -0
- package/src/lib/schemas.ts +94 -0
- package/src/lib/sdks.ts +406 -0
- package/src/lib/security.ts +237 -0
- package/src/lib/url.ts +33 -0
- package/src/models/detected-tool.ts +25 -0
- package/src/models/diagnostic-lite.ts +57 -0
- package/src/models/diagnostic-summary.ts +47 -0
- package/src/models/diagnostic.ts +83 -0
- package/src/models/diagnostics-request.ts +47 -0
- package/src/models/diagnostics-response-full.ts +67 -0
- package/src/models/diagnostics-response-lite.ts +61 -0
- package/src/models/diagnostics-response.ts +42 -0
- package/src/models/errors/detent-sdk-default-error.ts +40 -0
- package/src/models/errors/detent-sdk-error.ts +35 -0
- package/src/models/errors/error-response.ts +58 -0
- package/src/models/errors/http-client-errors.ts +62 -0
- package/src/models/errors/index.ts +11 -0
- package/src/models/errors/rate-limit-error.ts +68 -0
- package/src/models/errors/response-validation-error.ts +50 -0
- package/src/models/errors/sdk-validation-error.ts +54 -0
- package/src/models/index.ts +14 -0
- package/src/models/mode-enum.ts +23 -0
- package/src/models/severity.ts +23 -0
- package/src/sdk/diagnostics.ts +33 -0
- package/src/sdk/index.ts +5 -0
- package/src/sdk/sdk.ts +13 -0
- package/src/types/async.ts +68 -0
- package/src/types/blobs.ts +33 -0
- package/src/types/const-date-time.ts +15 -0
- package/src/types/default-to-zero-value.ts +33 -0
- package/src/types/discriminated-union.ts +101 -0
- package/src/types/enums.ts +45 -0
- package/src/types/fp.ts +50 -0
- package/src/types/index.ts +13 -0
- package/src/types/operations.ts +105 -0
- package/src/types/primitives.ts +168 -0
- package/src/types/rfcdate.ts +54 -0
- package/src/types/smart-union.ts +146 -0
- package/src/types/streams.ts +21 -0
- package/src/types/unrecognized.ts +35 -0
- package/tsconfig.json +40 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { startCountingDefaultToZeroValue } from "./default-to-zero-value.js";
|
|
7
|
+
import { startCountingUnrecognized } from "./unrecognized.js";
|
|
8
|
+
|
|
9
|
+
const UNKNOWN = Symbol("UNKNOWN");
|
|
10
|
+
|
|
11
|
+
export type Unknown<Discriminator extends string, UnknownValue = "UNKNOWN"> =
|
|
12
|
+
& {
|
|
13
|
+
[K in Discriminator]: UnknownValue;
|
|
14
|
+
}
|
|
15
|
+
& {
|
|
16
|
+
raw: unknown;
|
|
17
|
+
isUnknown: true;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export function isUnknown<Discriminator extends string>(
|
|
21
|
+
value: unknown,
|
|
22
|
+
): value is Unknown<Discriminator> {
|
|
23
|
+
return typeof value === "object" && value !== null && UNKNOWN in value;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Forward-compatible discriminated union parser.
|
|
28
|
+
*
|
|
29
|
+
* If the input does not match one of the predefined options, it will be
|
|
30
|
+
* captured and available as `{ raw: <original input>, [discriminator]: "UNKNOWN", isUnknown: true }`.
|
|
31
|
+
*
|
|
32
|
+
* @param inputPropertyName - The discriminator property name in the input payload
|
|
33
|
+
* @param options - Map of discriminator values to their corresponding schemas
|
|
34
|
+
* @param opts - Optional configuration object
|
|
35
|
+
* @param opts.unknownValue - The value to use for the discriminator when the input is unknown (default: "UNKNOWN")
|
|
36
|
+
* @param opts.outputPropertyName - Output property name if the sanitized (camelCase) property name differs from inputPropertyName
|
|
37
|
+
*/
|
|
38
|
+
export function discriminatedUnion<
|
|
39
|
+
InputDiscriminator extends string,
|
|
40
|
+
TOptions extends Readonly<Record<string, z.ZodMiniType>>,
|
|
41
|
+
UnknownValue extends string = "UNKNOWN",
|
|
42
|
+
OutputDiscriminator extends string = InputDiscriminator,
|
|
43
|
+
>(
|
|
44
|
+
inputPropertyName: InputDiscriminator,
|
|
45
|
+
options: TOptions,
|
|
46
|
+
opts: {
|
|
47
|
+
unknownValue?: UnknownValue;
|
|
48
|
+
outputPropertyName?: OutputDiscriminator;
|
|
49
|
+
} = {},
|
|
50
|
+
): z.ZodMiniType<
|
|
51
|
+
| z.output<TOptions[keyof TOptions]>
|
|
52
|
+
| Unknown<OutputDiscriminator, UnknownValue>,
|
|
53
|
+
unknown
|
|
54
|
+
> {
|
|
55
|
+
const { unknownValue = "UNKNOWN" as UnknownValue, outputPropertyName } = opts;
|
|
56
|
+
return z.pipe(
|
|
57
|
+
z.unknown(),
|
|
58
|
+
z.transform((input) => {
|
|
59
|
+
const fallback = Object.defineProperties(
|
|
60
|
+
{
|
|
61
|
+
raw: input,
|
|
62
|
+
[outputPropertyName ?? inputPropertyName]: unknownValue,
|
|
63
|
+
isUnknown: true as const,
|
|
64
|
+
},
|
|
65
|
+
{ [UNKNOWN]: { value: true, enumerable: false, configurable: false } },
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
const isObject = typeof input === "object" && input !== null;
|
|
69
|
+
if (!isObject) return fallback;
|
|
70
|
+
|
|
71
|
+
const discriminator = input[inputPropertyName as keyof typeof input];
|
|
72
|
+
if (typeof discriminator !== "string") return fallback;
|
|
73
|
+
if (!(discriminator in options)) return fallback;
|
|
74
|
+
|
|
75
|
+
const schema = options[discriminator];
|
|
76
|
+
if (!schema) return fallback;
|
|
77
|
+
|
|
78
|
+
// Start counters before parsing to track nested unrecognized/zeroDefault values
|
|
79
|
+
const unrecognizedCtr = startCountingUnrecognized();
|
|
80
|
+
const zeroDefaultCtr = startCountingDefaultToZeroValue();
|
|
81
|
+
|
|
82
|
+
const result = z.safeParse(schema, input);
|
|
83
|
+
if (!result.success) {
|
|
84
|
+
// Parse failed - don't propagate any counts from the failed attempt
|
|
85
|
+
unrecognizedCtr.end(0);
|
|
86
|
+
zeroDefaultCtr.end(0);
|
|
87
|
+
return fallback;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Parse succeeded - propagate the actual counts
|
|
91
|
+
unrecognizedCtr.end();
|
|
92
|
+
zeroDefaultCtr.end();
|
|
93
|
+
|
|
94
|
+
if (outputPropertyName) {
|
|
95
|
+
(result.data as any)[outputPropertyName] = discriminator;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return result.data;
|
|
99
|
+
}),
|
|
100
|
+
) as any;
|
|
101
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { Unrecognized, unrecognized } from "./unrecognized.js";
|
|
7
|
+
|
|
8
|
+
export type ClosedEnum<T extends Readonly<Record<string, string | number>>> =
|
|
9
|
+
T[keyof T];
|
|
10
|
+
export type OpenEnum<T extends Readonly<Record<string, string | number>>> =
|
|
11
|
+
| T[keyof T]
|
|
12
|
+
| Unrecognized<T[keyof T] extends number ? number : string>;
|
|
13
|
+
|
|
14
|
+
export function inboundSchema<T extends Record<string, string>>(
|
|
15
|
+
enumObj: T,
|
|
16
|
+
): z.ZodMiniType<OpenEnum<T>, unknown> {
|
|
17
|
+
const options = Object.values(enumObj);
|
|
18
|
+
return z.union([
|
|
19
|
+
...options.map(x => z.literal(x)),
|
|
20
|
+
z.pipe(z.string(), z.transform(x => unrecognized(x))),
|
|
21
|
+
] as any);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function inboundSchemaInt<T extends Record<string, number | string>>(
|
|
25
|
+
enumObj: T,
|
|
26
|
+
): z.ZodMiniType<OpenEnum<T>, unknown> {
|
|
27
|
+
// For numeric enums, Object.values returns both numbers and string keys
|
|
28
|
+
const options = Object.values(enumObj).filter(v => typeof v === "number");
|
|
29
|
+
return z.union([
|
|
30
|
+
...options.map(x => z.literal(x)),
|
|
31
|
+
z.pipe(z.int(), z.transform(x => unrecognized(x))),
|
|
32
|
+
] as any);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function outboundSchema<T extends Record<string, string>>(
|
|
36
|
+
_: T,
|
|
37
|
+
): z.ZodMiniType<string, OpenEnum<T>> {
|
|
38
|
+
return z.string() as any;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function outboundSchemaInt<T extends Record<string, number | string>>(
|
|
42
|
+
_: T,
|
|
43
|
+
): z.ZodMiniType<number, OpenEnum<T>> {
|
|
44
|
+
return z.int() as any;
|
|
45
|
+
}
|
package/src/types/fp.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A monad that captures the result of a function call or an error if it was not
|
|
7
|
+
* successful. Railway programming, enabled by this type, can be a nicer
|
|
8
|
+
* alternative to traditional exception throwing because it allows functions to
|
|
9
|
+
* declare all _known_ errors with static types and then check for them
|
|
10
|
+
* exhaustively in application code. Thrown exception have a type of `unknown`
|
|
11
|
+
* and break out of regular control flow of programs making them harder to
|
|
12
|
+
* inspect and more verbose work with due to try-catch blocks.
|
|
13
|
+
*/
|
|
14
|
+
export type Result<T, E = unknown> =
|
|
15
|
+
| { ok: true; value: T; error?: never }
|
|
16
|
+
| { ok: false; value?: never; error: E };
|
|
17
|
+
|
|
18
|
+
export function OK<V>(value: V): Result<V, never> {
|
|
19
|
+
return { ok: true, value };
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function ERR<E>(error: E): Result<never, E> {
|
|
23
|
+
return { ok: false, error };
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* unwrap is a convenience function for extracting a value from a result or
|
|
28
|
+
* throwing if there was an error.
|
|
29
|
+
*/
|
|
30
|
+
export function unwrap<T>(r: Result<T, unknown>): T {
|
|
31
|
+
if (!r.ok) {
|
|
32
|
+
throw r.error;
|
|
33
|
+
}
|
|
34
|
+
return r.value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* unwrapAsync is a convenience function for resolving a value from a Promise
|
|
39
|
+
* of a result or rejecting if an error occurred.
|
|
40
|
+
*/
|
|
41
|
+
export async function unwrapAsync<T>(
|
|
42
|
+
pr: Promise<Result<T, unknown>>,
|
|
43
|
+
): Promise<T> {
|
|
44
|
+
const r = await pr;
|
|
45
|
+
if (!r.ok) {
|
|
46
|
+
throw r.error;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return r.value;
|
|
50
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export { blobLikeSchema, isBlobLike } from "./blobs.js";
|
|
6
|
+
export * from "./default-to-zero-value.js";
|
|
7
|
+
export type { ClosedEnum, OpenEnum } from "./enums.js";
|
|
8
|
+
export type { Result } from "./fp.js";
|
|
9
|
+
export type { PageIterator, Paginator } from "./operations.js";
|
|
10
|
+
export { createPageIterator } from "./operations.js";
|
|
11
|
+
export * from "./primitives.js";
|
|
12
|
+
export { RFCDate } from "./rfcdate.js";
|
|
13
|
+
export * from "./unrecognized.js";
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Result } from "./fp.js";
|
|
6
|
+
|
|
7
|
+
export type Paginator<V> = () => Promise<V & { next: Paginator<V> }> | null;
|
|
8
|
+
|
|
9
|
+
export type PageIterator<V, PageState = unknown> = V & {
|
|
10
|
+
next: Paginator<V>;
|
|
11
|
+
[Symbol.asyncIterator]: () => AsyncIterableIterator<V>;
|
|
12
|
+
"~next"?: PageState | undefined;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export function createPageIterator<V>(
|
|
16
|
+
page: V & { next: Paginator<V> },
|
|
17
|
+
halt: (v: V) => boolean,
|
|
18
|
+
): {
|
|
19
|
+
[Symbol.asyncIterator]: () => AsyncIterableIterator<V>;
|
|
20
|
+
} {
|
|
21
|
+
return {
|
|
22
|
+
[Symbol.asyncIterator]: async function* paginator() {
|
|
23
|
+
yield page;
|
|
24
|
+
if (halt(page)) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let p: typeof page | null = page;
|
|
29
|
+
for (p = await p.next(); p != null; p = await p.next()) {
|
|
30
|
+
yield p;
|
|
31
|
+
if (halt(p)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* This utility create a special iterator that yields a single value and
|
|
41
|
+
* terminates. It is useful in paginated SDK functions that have early return
|
|
42
|
+
* paths when things go wrong.
|
|
43
|
+
*/
|
|
44
|
+
export function haltIterator<V extends object>(
|
|
45
|
+
v: V,
|
|
46
|
+
): PageIterator<V, undefined> {
|
|
47
|
+
return {
|
|
48
|
+
...v,
|
|
49
|
+
next: () => null,
|
|
50
|
+
[Symbol.asyncIterator]: async function* paginator() {
|
|
51
|
+
yield v;
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Converts an async iterator of `Result<V, E>` into an async iterator of `V`.
|
|
58
|
+
* When error results occur, the underlying error value is thrown.
|
|
59
|
+
*/
|
|
60
|
+
export async function unwrapResultIterator<V, PageState>(
|
|
61
|
+
iteratorPromise: Promise<PageIterator<Result<V, unknown>, PageState>>,
|
|
62
|
+
): Promise<PageIterator<V, PageState>> {
|
|
63
|
+
const resultIter = await iteratorPromise;
|
|
64
|
+
|
|
65
|
+
if (!resultIter.ok) {
|
|
66
|
+
throw resultIter.error;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
...resultIter.value,
|
|
71
|
+
next: unwrapPaginator(resultIter.next),
|
|
72
|
+
"~next": resultIter["~next"],
|
|
73
|
+
[Symbol.asyncIterator]: async function* paginator() {
|
|
74
|
+
for await (const page of resultIter) {
|
|
75
|
+
if (!page.ok) {
|
|
76
|
+
throw page.error;
|
|
77
|
+
}
|
|
78
|
+
yield page.value;
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function unwrapPaginator<V>(
|
|
85
|
+
paginator: Paginator<Result<V, unknown>>,
|
|
86
|
+
): Paginator<V> {
|
|
87
|
+
return () => {
|
|
88
|
+
const nextResult = paginator();
|
|
89
|
+
if (nextResult == null) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return nextResult.then((res) => {
|
|
93
|
+
if (!res.ok) {
|
|
94
|
+
throw res.error;
|
|
95
|
+
}
|
|
96
|
+
const out = {
|
|
97
|
+
...res.value,
|
|
98
|
+
next: unwrapPaginator(res.next),
|
|
99
|
+
};
|
|
100
|
+
return out;
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export const URL_OVERRIDE = Symbol("URL_OVERRIDE");
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { defaultToZeroValue } from "./default-to-zero-value.js";
|
|
7
|
+
import { unrecognized } from "./unrecognized.js";
|
|
8
|
+
|
|
9
|
+
export function string(): z.ZodMiniType<string> {
|
|
10
|
+
return z.union([
|
|
11
|
+
z.string(),
|
|
12
|
+
|
|
13
|
+
// Null or undefined -> ""
|
|
14
|
+
zodDefaultToZeroValue(""),
|
|
15
|
+
|
|
16
|
+
// Any other value -> String(x)
|
|
17
|
+
z.pipe(z.any(), z.transform((x) => unrecognized(JSON.stringify(x)))),
|
|
18
|
+
]);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function boolean(): z.ZodMiniType<boolean> {
|
|
22
|
+
return z.union([
|
|
23
|
+
z.boolean(),
|
|
24
|
+
|
|
25
|
+
// String "true" (case insensitive) -> true, "false" -> false
|
|
26
|
+
z.pipe(
|
|
27
|
+
z.string(),
|
|
28
|
+
z.transform((x, ctx) => {
|
|
29
|
+
const lower = x.toLowerCase();
|
|
30
|
+
if (lower === "true") return unrecognized(true);
|
|
31
|
+
if (lower === "false") return unrecognized(false);
|
|
32
|
+
ctx.issues.push({
|
|
33
|
+
input: x,
|
|
34
|
+
code: "invalid_type",
|
|
35
|
+
expected: "boolean",
|
|
36
|
+
received: "string",
|
|
37
|
+
});
|
|
38
|
+
return z.NEVER;
|
|
39
|
+
}),
|
|
40
|
+
),
|
|
41
|
+
|
|
42
|
+
zodDefaultToZeroValue(false),
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function number(): z.ZodMiniType<number> {
|
|
47
|
+
return z.union([
|
|
48
|
+
z.number(),
|
|
49
|
+
|
|
50
|
+
// String -> Number
|
|
51
|
+
z.pipe(
|
|
52
|
+
z.string(),
|
|
53
|
+
z.transform((x, ctx) => {
|
|
54
|
+
const num = Number(x);
|
|
55
|
+
if (isNaN(num)) {
|
|
56
|
+
ctx.issues.push({
|
|
57
|
+
input: x,
|
|
58
|
+
code: "invalid_type",
|
|
59
|
+
expected: "number",
|
|
60
|
+
received: "string",
|
|
61
|
+
});
|
|
62
|
+
return z.NEVER;
|
|
63
|
+
}
|
|
64
|
+
return unrecognized(num);
|
|
65
|
+
}),
|
|
66
|
+
),
|
|
67
|
+
|
|
68
|
+
// Null or undefined -> 0
|
|
69
|
+
zodDefaultToZeroValue(0),
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function bigint(): z.ZodMiniType<bigint> {
|
|
74
|
+
return z.union([
|
|
75
|
+
z.pipe(
|
|
76
|
+
z.string(),
|
|
77
|
+
z.transform((x, ctx) => {
|
|
78
|
+
try {
|
|
79
|
+
return BigInt(x);
|
|
80
|
+
} catch (error) {
|
|
81
|
+
ctx.issues.push({
|
|
82
|
+
input: x,
|
|
83
|
+
code: "invalid_type",
|
|
84
|
+
expected: "bigint",
|
|
85
|
+
received: "string",
|
|
86
|
+
});
|
|
87
|
+
return z.NEVER;
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
),
|
|
91
|
+
zodDefaultToZeroValue(0n),
|
|
92
|
+
]);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function date(): z.ZodMiniType<Date> {
|
|
96
|
+
return z.union([
|
|
97
|
+
z.pipe(
|
|
98
|
+
z.pipe(
|
|
99
|
+
z.union([z.string(), zodDefaultToZeroValue(0)]),
|
|
100
|
+
z.transform((x) => new Date(x)),
|
|
101
|
+
),
|
|
102
|
+
z.date(),
|
|
103
|
+
),
|
|
104
|
+
z.pipe(
|
|
105
|
+
z.number(),
|
|
106
|
+
z.transform((x, ctx) => {
|
|
107
|
+
const date = new Date(x);
|
|
108
|
+
if (isNaN(date.getTime())) {
|
|
109
|
+
ctx.issues.push({
|
|
110
|
+
input: x,
|
|
111
|
+
code: "invalid_type",
|
|
112
|
+
expected: "date",
|
|
113
|
+
received: "number",
|
|
114
|
+
});
|
|
115
|
+
return z.NEVER;
|
|
116
|
+
}
|
|
117
|
+
return unrecognized(date);
|
|
118
|
+
}),
|
|
119
|
+
),
|
|
120
|
+
]);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function literal<T extends string | number | boolean>(
|
|
124
|
+
value: T,
|
|
125
|
+
): z.ZodMiniType<T> {
|
|
126
|
+
return z.union([z.literal(value), zodDefaultToZeroValue(value)]);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export function literalBigInt<T extends bigint>(value: T): z.ZodMiniType<T> {
|
|
130
|
+
return z.pipe(z.literal(String(value)), z.transform((x) => BigInt(x))) as any;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export function optional<T extends z.ZodMiniType>(t: T) {
|
|
134
|
+
return z.union([
|
|
135
|
+
z.undefined(),
|
|
136
|
+
|
|
137
|
+
// Null -> undefined
|
|
138
|
+
z.pipe(z.null(), z.transform(() => unrecognized(undefined))),
|
|
139
|
+
t,
|
|
140
|
+
]);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export function nullable<T extends z.ZodMiniType>(t: T) {
|
|
144
|
+
return z.union([
|
|
145
|
+
z.null(),
|
|
146
|
+
|
|
147
|
+
// Undefined -> null
|
|
148
|
+
z.pipe(z.undefined(), z.transform(() => defaultToZeroValue(null))),
|
|
149
|
+
t,
|
|
150
|
+
]);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function zodDefaultToZeroValue<T>(value: T): z.ZodMiniType<T> {
|
|
154
|
+
return z.pipe(
|
|
155
|
+
z.any(),
|
|
156
|
+
z.transform((input, ctx) => {
|
|
157
|
+
if (input === undefined) return defaultToZeroValue(value);
|
|
158
|
+
if (input === null) return defaultToZeroValue(value);
|
|
159
|
+
ctx.issues.push({
|
|
160
|
+
input: input,
|
|
161
|
+
code: "invalid_type",
|
|
162
|
+
expected: "undefined",
|
|
163
|
+
received: "unknown",
|
|
164
|
+
});
|
|
165
|
+
return z.NEVER;
|
|
166
|
+
}),
|
|
167
|
+
);
|
|
168
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
const dateRE = /^\d{4}-\d{2}-\d{2}$/;
|
|
6
|
+
|
|
7
|
+
export class RFCDate {
|
|
8
|
+
private serialized: string;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new RFCDate instance using today's date.
|
|
12
|
+
*/
|
|
13
|
+
static today(): RFCDate {
|
|
14
|
+
return new RFCDate(new Date());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new RFCDate instance using the provided input.
|
|
19
|
+
* If a string is used then in must be in the format YYYY-MM-DD.
|
|
20
|
+
*
|
|
21
|
+
* @param date A Date object or a date string in YYYY-MM-DD format
|
|
22
|
+
* @example
|
|
23
|
+
* new RFCDate("2022-01-01")
|
|
24
|
+
* @example
|
|
25
|
+
* new RFCDate(new Date())
|
|
26
|
+
*/
|
|
27
|
+
constructor(date: Date | string) {
|
|
28
|
+
if (typeof date === "string" && !dateRE.test(date)) {
|
|
29
|
+
throw new RangeError(
|
|
30
|
+
"RFCDate: date strings must be in the format YYYY-MM-DD: " + date,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const value = new Date(date);
|
|
35
|
+
if (isNaN(+value)) {
|
|
36
|
+
throw new RangeError("RFCDate: invalid date provided: " + date);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
this.serialized = value.toISOString().slice(0, "YYYY-MM-DD".length);
|
|
40
|
+
if (!dateRE.test(this.serialized)) {
|
|
41
|
+
throw new TypeError(
|
|
42
|
+
`RFCDate: failed to build valid date with given value: ${date} serialized to ${this.serialized}`,
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
toJSON(): string {
|
|
48
|
+
return this.toString();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
toString(): string {
|
|
52
|
+
return this.serialized;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// Not needed if lax mode
|
|
6
|
+
import * as z from "zod/v4-mini";
|
|
7
|
+
import { startCountingDefaultToZeroValue } from "./default-to-zero-value.js";
|
|
8
|
+
import { isUnknown as isDiscriminatedUnionUnknown } from "./discriminated-union.js";
|
|
9
|
+
import { RFCDate } from "./rfcdate.js";
|
|
10
|
+
import { startCountingUnrecognized } from "./unrecognized.js";
|
|
11
|
+
|
|
12
|
+
interface Candidate {
|
|
13
|
+
data: unknown;
|
|
14
|
+
/** Total number of fields in the parsed data */
|
|
15
|
+
fieldCount: number;
|
|
16
|
+
/** Number of fields which only matched due to lax parsing */
|
|
17
|
+
inexactCount: number;
|
|
18
|
+
/** Number of fields which defaulted to zero values */
|
|
19
|
+
zeroDefaultCount: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Smart union parser that tries all schemas and returns the best match
|
|
24
|
+
* based on the number of populated fields.
|
|
25
|
+
*/
|
|
26
|
+
export function smartUnion<
|
|
27
|
+
Options extends readonly [z.ZodMiniType, z.ZodMiniType, ...z.ZodMiniType[]],
|
|
28
|
+
>(
|
|
29
|
+
options: Options,
|
|
30
|
+
): z.ZodMiniType<z.output<Options[number]>, z.input<Options[number]>> {
|
|
31
|
+
return z.pipe(
|
|
32
|
+
z.unknown(),
|
|
33
|
+
z.transform((input, ctx) => {
|
|
34
|
+
const candidates: Candidate[] = [];
|
|
35
|
+
const errors: z.core.$ZodIssue[][] = options.map(() => []);
|
|
36
|
+
|
|
37
|
+
const parentUnrecognizedCtr = startCountingUnrecognized();
|
|
38
|
+
const parentZeroDefaultCtr = startCountingDefaultToZeroValue();
|
|
39
|
+
|
|
40
|
+
// Filter out invalid options
|
|
41
|
+
for (const [i, option] of options.entries()) {
|
|
42
|
+
const unrecognizedCtr = startCountingUnrecognized();
|
|
43
|
+
const zeroDefaultCtr = startCountingDefaultToZeroValue();
|
|
44
|
+
const result = option.safeParse(input);
|
|
45
|
+
const inexactCount = unrecognizedCtr.end();
|
|
46
|
+
const zeroDefaultCount = zeroDefaultCtr.end();
|
|
47
|
+
if (result.success) {
|
|
48
|
+
candidates.push({
|
|
49
|
+
data: result.data,
|
|
50
|
+
inexactCount,
|
|
51
|
+
zeroDefaultCount,
|
|
52
|
+
fieldCount: -1, // We'll count this later if needed
|
|
53
|
+
});
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
errors[i]!.push(...result.error.issues);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// No valid options
|
|
60
|
+
if (candidates.length === 0) {
|
|
61
|
+
parentUnrecognizedCtr.end(0);
|
|
62
|
+
parentZeroDefaultCtr.end(0);
|
|
63
|
+
ctx.issues.push({
|
|
64
|
+
input: input,
|
|
65
|
+
code: "invalid_union",
|
|
66
|
+
errors: errors,
|
|
67
|
+
});
|
|
68
|
+
return z.NEVER;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
let best = candidates[0]!;
|
|
72
|
+
|
|
73
|
+
// Find the best option
|
|
74
|
+
for (const candidate of candidates) {
|
|
75
|
+
// Minor optimization to avoid counting fields if there's only one candidate
|
|
76
|
+
if (candidates.length > 1) {
|
|
77
|
+
candidate.fieldCount = countFieldsRecursive(candidate.data);
|
|
78
|
+
}
|
|
79
|
+
best = better(candidate, best);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// The cost of this union should be the cost of the best candidate not all the candidates
|
|
83
|
+
parentUnrecognizedCtr.end(best.inexactCount);
|
|
84
|
+
parentZeroDefaultCtr.end(best.zeroDefaultCount);
|
|
85
|
+
|
|
86
|
+
return best.data;
|
|
87
|
+
}),
|
|
88
|
+
) as any;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function better(a: Candidate, b: Candidate): Candidate {
|
|
92
|
+
const actualFieldCountA = a.fieldCount - a.zeroDefaultCount;
|
|
93
|
+
const actualFieldCountB = b.fieldCount - b.zeroDefaultCount;
|
|
94
|
+
if (actualFieldCountA !== actualFieldCountB) {
|
|
95
|
+
return actualFieldCountA > actualFieldCountB ? a : b;
|
|
96
|
+
}
|
|
97
|
+
return a.inexactCount < b.inexactCount ? a : b;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Counts the number of fields in a parsed value recursively.
|
|
102
|
+
* @param `parsed` assumed to *not* contain cycles
|
|
103
|
+
* fieldCount: total number of fields found
|
|
104
|
+
* inexactCount: number of primitive values that are not unrecognized enum values
|
|
105
|
+
*/
|
|
106
|
+
function countFieldsRecursive(parsed: unknown): number {
|
|
107
|
+
let fieldCount = 0;
|
|
108
|
+
|
|
109
|
+
const queue: unknown[] = [parsed];
|
|
110
|
+
let index = 0;
|
|
111
|
+
|
|
112
|
+
while (index < queue.length) {
|
|
113
|
+
const value = queue[index++];
|
|
114
|
+
if (value === undefined || isDiscriminatedUnionUnknown(value)) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Check if it's a primitive value
|
|
119
|
+
const type = typeof value;
|
|
120
|
+
if (
|
|
121
|
+
value === null
|
|
122
|
+
|| type === "number"
|
|
123
|
+
|| type === "string"
|
|
124
|
+
|| type === "boolean"
|
|
125
|
+
|| type === "bigint"
|
|
126
|
+
|| value instanceof Date
|
|
127
|
+
|| value instanceof RFCDate
|
|
128
|
+
) {
|
|
129
|
+
fieldCount++;
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Handle arrays
|
|
134
|
+
if (Array.isArray(value)) {
|
|
135
|
+
queue.push(...value);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Handle objects
|
|
140
|
+
if (type === "object") {
|
|
141
|
+
queue.push(...Object.values(value));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return fieldCount;
|
|
146
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export function isReadableStream<T = Uint8Array>(
|
|
6
|
+
val: unknown,
|
|
7
|
+
): val is ReadableStream<T> {
|
|
8
|
+
if (typeof val !== "object" || val === null) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Check for the presence of methods specific to ReadableStream
|
|
13
|
+
const stream = val as ReadableStream<Uint8Array>;
|
|
14
|
+
|
|
15
|
+
// ReadableStream has methods like getReader, cancel, and tee
|
|
16
|
+
return (
|
|
17
|
+
typeof stream.getReader === "function" &&
|
|
18
|
+
typeof stream.cancel === "function" &&
|
|
19
|
+
typeof stream.tee === "function"
|
|
20
|
+
);
|
|
21
|
+
}
|