@wirebench/engine 2.2.1 → 3.1.0-rc.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/README.md +134 -1
- package/dist/account/schema.d.ts +34 -0
- package/dist/account/schema.js +29 -0
- package/dist/assert/callback.d.ts +76 -0
- package/dist/assert/callback.js +320 -0
- package/dist/assert/capture-source.d.ts +50 -0
- package/dist/assert/capture-source.js +89 -0
- package/dist/assert/check.d.ts +8 -0
- package/dist/assert/check.js +18 -0
- package/dist/assert/header.d.ts +5 -0
- package/dist/assert/header.js +48 -0
- package/dist/assert/index.d.ts +2 -2
- package/dist/assert/index.js +12 -0
- package/dist/assert/match.d.ts +6 -0
- package/dist/assert/match.js +13 -4
- package/dist/assert/model.d.ts +110 -3
- package/dist/assert/model.js +16 -1
- package/dist/assert/schema.d.ts +194 -1
- package/dist/assert/schema.js +154 -12
- package/dist/assert/status-names.d.ts +9 -0
- package/dist/assert/status-names.js +27 -0
- package/dist/assert/status.d.ts +4 -1
- package/dist/assert/status.js +27 -3
- package/dist/asyncapi/browser.d.ts +7 -0
- package/dist/asyncapi/browser.js +6 -0
- package/dist/asyncapi/frame-check-worker-host.d.ts +44 -0
- package/dist/asyncapi/frame-check-worker-host.js +175 -0
- package/dist/asyncapi/frame-check-worker.d.ts +12 -0
- package/dist/asyncapi/frame-check-worker.js +25 -0
- package/dist/asyncapi/frame-check.d.ts +25 -0
- package/dist/asyncapi/frame-check.js +78 -0
- package/dist/asyncapi/import.d.ts +25 -0
- package/dist/asyncapi/import.js +34 -0
- package/dist/asyncapi/map.d.ts +40 -0
- package/dist/asyncapi/map.js +230 -0
- package/dist/asyncapi/model.d.ts +84 -0
- package/dist/asyncapi/model.js +7 -0
- package/dist/asyncapi/normalise-2.d.ts +13 -0
- package/dist/asyncapi/normalise-2.js +113 -0
- package/dist/asyncapi/normalise-3.d.ts +14 -0
- package/dist/asyncapi/normalise-3.js +133 -0
- package/dist/asyncapi/parse.d.ts +31 -0
- package/dist/asyncapi/parse.js +85 -0
- package/dist/asyncapi/read.d.ts +35 -0
- package/dist/asyncapi/read.js +186 -0
- package/dist/asyncapi/security.d.ts +14 -0
- package/dist/asyncapi/security.js +55 -0
- package/dist/asyncapi/update.d.ts +53 -0
- package/dist/asyncapi/update.js +220 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +22 -0
- package/dist/grpc/events.d.ts +22 -0
- package/dist/grpc/events.js +1 -0
- package/dist/grpc/expand.d.ts +1 -1
- package/dist/grpc/expand.js +15 -5
- package/dist/grpc/files.d.ts +271 -0
- package/dist/grpc/files.js +62 -0
- package/dist/grpc/model.d.ts +11 -1
- package/dist/grpc/module.d.ts +2 -0
- package/dist/grpc/module.js +13 -0
- package/dist/grpc/run.d.ts +73 -0
- package/dist/grpc/run.js +407 -0
- package/dist/grpc/script-types.d.ts +8 -0
- package/dist/grpc/script-types.js +149 -0
- package/dist/grpc/scripting.d.ts +34 -0
- package/dist/grpc/scripting.js +147 -0
- package/dist/grpc/send-input.d.ts +46 -0
- package/dist/grpc/send-input.js +42 -0
- package/dist/grpc/send.d.ts +2 -2
- package/dist/grpc/status.d.ts +9 -2
- package/dist/grpc/status.js +11 -24
- package/dist/grpc/storage.d.ts +9 -0
- package/dist/grpc/storage.js +167 -0
- package/dist/{rest/auth.d.ts → http/auth/apply-auth.d.ts} +4 -4
- package/dist/{rest/auth.js → http/auth/apply-auth.js} +1 -1
- package/dist/http/auth/apply.d.ts +1 -1
- package/dist/{rest → http/auth}/oauth2.d.ts +2 -2
- package/dist/{rest → http/auth}/oauth2.js +1 -1
- package/dist/http/auth/send-auth.d.ts +57 -0
- package/dist/http/auth/send-auth.js +7 -0
- package/dist/http/client.js +150 -8
- package/dist/http/cookies.d.ts +79 -0
- package/dist/http/cookies.js +81 -0
- package/dist/http/curl.d.ts +4 -14
- package/dist/http/curl.js +4 -154
- package/dist/http/decompress.d.ts +7 -0
- package/dist/http/decompress.js +23 -1
- package/dist/http/document-fetch.d.ts +42 -0
- package/dist/http/document-fetch.js +207 -0
- package/dist/http/entries.d.ts +27 -0
- package/dist/http/entries.js +16 -0
- package/dist/http/escape.d.ts +18 -0
- package/dist/http/escape.js +30 -0
- package/dist/http/fetch-document.d.ts +28 -0
- package/dist/{wsdl/fetch.js → http/fetch-document.js} +8 -16
- package/dist/http/media-type.d.ts +9 -0
- package/dist/http/media-type.js +12 -0
- package/dist/http/transcript-cap.d.ts +26 -0
- package/dist/http/transcript-cap.js +36 -0
- package/dist/http/types.d.ts +59 -0
- package/dist/http/webhook-signature.d.ts +81 -0
- package/dist/http/webhook-signature.js +227 -0
- package/dist/import-detect.d.ts +2 -2
- package/dist/import-detect.js +10 -1
- package/dist/index.d.ts +207 -55
- package/dist/index.js +129 -32
- package/dist/json/cursor.d.ts +2 -0
- package/dist/json/cursor.js +1 -0
- package/dist/json/pointer-range.d.ts +18 -0
- package/dist/json/pointer-range.js +157 -0
- package/dist/json/schema/model.d.ts +59 -0
- package/dist/json/schema/model.js +8 -0
- package/dist/json/schema/parse-text.d.ts +16 -0
- package/dist/json/schema/parse-text.js +37 -0
- package/dist/{rest/openapi → json/schema}/refs.d.ts +2 -2
- package/dist/{rest/openapi → json/schema}/refs.js +3 -3
- package/dist/{rest/openapi → json/schema}/sample.d.ts +4 -0
- package/dist/{rest/openapi → json/schema}/sample.js +2 -2
- package/dist/json/schema/source.d.ts +21 -0
- package/dist/json/schema/source.js +8 -0
- package/dist/json/schema-validate.d.ts +49 -0
- package/dist/json/schema-validate.js +557 -0
- package/dist/{wss/keystore → keystore}/index.js +1 -1
- package/dist/{wss/keystore → keystore}/pem.js +1 -1
- package/dist/{wss/keystore → keystore}/pkcs12.js +1 -1
- package/dist/project/attachments-cache.d.ts +3 -1
- package/dist/{wsdl → project}/cache-naming.js +1 -1
- package/dist/project/endpoints.d.ts +18 -8
- package/dist/project/endpoints.js +21 -6
- package/dist/project/environments.d.ts +7 -5
- package/dist/project/history.d.ts +105 -9
- package/dist/project/history.js +195 -23
- package/dist/project/inherit.d.ts +7 -0
- package/dist/project/inherit.js +9 -0
- package/dist/project/keystores.d.ts +1 -1
- package/dist/project/load-helpers.d.ts +89 -0
- package/dist/project/load-helpers.js +177 -0
- package/dist/project/load.d.ts +30 -4
- package/dist/project/load.js +168 -545
- package/dist/project/managed-files.d.ts +36 -0
- package/dist/project/managed-files.js +97 -0
- package/dist/project/migrate.d.ts +2 -2
- package/dist/project/migrate.js +2 -2
- package/dist/project/model.d.ts +92 -14
- package/dist/project/model.js +50 -4
- package/dist/project/paths.d.ts +10 -1
- package/dist/project/paths.js +10 -1
- package/dist/project/preferences.d.ts +11 -2
- package/dist/project/preferences.js +5 -1
- package/dist/project/properties.d.ts +31 -17
- package/dist/project/properties.js +89 -70
- package/dist/project/request-location.d.ts +20 -0
- package/dist/project/request-location.js +62 -0
- package/dist/project/save.d.ts +12 -2
- package/dist/project/save.js +186 -141
- package/dist/project/schema-parts.d.ts +337 -0
- package/dist/project/schema-parts.js +248 -0
- package/dist/project/schema.d.ts +72 -928
- package/dist/project/schema.js +17 -466
- package/dist/project/sequence-guards.d.ts +43 -0
- package/dist/project/sequence-guards.js +109 -0
- package/dist/project/serialize-helpers.d.ts +60 -0
- package/dist/project/serialize-helpers.js +108 -0
- package/dist/project/serialize.d.ts +7 -8
- package/dist/project/serialize.js +34 -293
- package/dist/protocol/features.d.ts +51 -0
- package/dist/protocol/features.js +64 -0
- package/dist/protocol/index.d.ts +7 -0
- package/dist/protocol/index.js +4 -0
- package/dist/protocol/module.d.ts +247 -0
- package/dist/protocol/module.js +48 -0
- package/dist/protocol/registry.d.ts +42 -0
- package/dist/protocol/registry.js +47 -0
- package/dist/protocols.d.ts +77 -0
- package/dist/protocols.js +40 -0
- package/dist/redact/index.d.ts +12 -1
- package/dist/redact/index.js +55 -7
- package/dist/redact/literal.d.ts +10 -0
- package/dist/redact/literal.js +110 -12
- package/dist/rest/body.d.ts +2 -10
- package/dist/rest/body.js +3 -25
- package/dist/rest/browser.d.ts +4 -0
- package/dist/rest/browser.js +5 -0
- package/dist/rest/contract-check-worker-host.d.ts +36 -0
- package/dist/rest/contract-check-worker-host.js +158 -0
- package/dist/rest/contract-check-worker.d.ts +7 -0
- package/dist/rest/contract-check-worker.js +28 -0
- package/dist/rest/contract-check.d.ts +43 -0
- package/dist/rest/contract-check.js +217 -0
- package/dist/rest/cookie-jar.d.ts +62 -0
- package/dist/rest/cookie-jar.js +262 -0
- package/dist/rest/cookies.d.ts +6 -22
- package/dist/rest/cookies.js +6 -42
- package/dist/rest/curl.js +5 -1
- package/dist/rest/events.d.ts +12 -0
- package/dist/rest/events.js +1 -0
- package/dist/rest/expand.d.ts +6 -1
- package/dist/rest/expand.js +29 -11
- package/dist/rest/files.d.ts +439 -0
- package/dist/rest/files.js +107 -0
- package/dist/rest/json-form.d.ts +97 -0
- package/dist/rest/json-form.js +396 -0
- package/dist/rest/model.d.ts +35 -24
- package/dist/rest/model.js +6 -9
- package/dist/rest/module.d.ts +2 -0
- package/dist/rest/module.js +13 -0
- package/dist/rest/openapi/cache.d.ts +7 -2
- package/dist/rest/openapi/cache.js +2 -2
- package/dist/rest/openapi/import.d.ts +11 -16
- package/dist/rest/openapi/import.js +6 -2
- package/dist/rest/openapi/map.d.ts +38 -1
- package/dist/rest/openapi/map.js +151 -41
- package/dist/rest/openapi/match.d.ts +20 -0
- package/dist/rest/openapi/match.js +117 -0
- package/dist/rest/openapi/model.d.ts +33 -45
- package/dist/rest/openapi/parse.d.ts +3 -12
- package/dist/rest/openapi/parse.js +138 -67
- package/dist/rest/openapi/responses.d.ts +23 -0
- package/dist/rest/openapi/responses.js +59 -0
- package/dist/rest/openapi/runtime-expression.d.ts +69 -0
- package/dist/rest/openapi/runtime-expression.js +213 -0
- package/dist/rest/openapi/update.d.ts +116 -0
- package/dist/rest/openapi/update.js +456 -0
- package/dist/rest/postman/map.d.ts +1 -0
- package/dist/rest/postman/map.js +66 -4
- package/dist/rest/postman/model.d.ts +9 -0
- package/dist/rest/postman/parse.js +33 -10
- package/dist/rest/response.d.ts +2 -23
- package/dist/rest/response.js +3 -75
- package/dist/rest/run.d.ts +56 -0
- package/dist/rest/run.js +395 -0
- package/dist/rest/script-types.d.ts +7 -0
- package/dist/rest/script-types.js +83 -0
- package/dist/rest/scripting.d.ts +38 -0
- package/dist/rest/scripting.js +282 -0
- package/dist/rest/send-input.d.ts +54 -0
- package/dist/rest/send-input.js +73 -0
- package/dist/rest/send.d.ts +77 -4
- package/dist/rest/send.js +128 -7
- package/dist/rest/sse-transcript.d.ts +25 -0
- package/dist/rest/sse-transcript.js +95 -0
- package/dist/rest/sse.d.ts +43 -0
- package/dist/rest/sse.js +195 -0
- package/dist/rest/storage.d.ts +26 -0
- package/dist/rest/storage.js +262 -0
- package/dist/rest/url.d.ts +10 -4
- package/dist/rest/url.js +38 -5
- package/dist/run/baseline-update.d.ts +35 -0
- package/dist/run/baseline-update.js +97 -0
- package/dist/run/baseline.d.ts +42 -0
- package/dist/run/baseline.js +93 -0
- package/dist/run/context.d.ts +86 -0
- package/dist/run/context.js +31 -0
- package/dist/run/current-values.d.ts +32 -0
- package/dist/run/current-values.js +43 -0
- package/dist/run/event-queue.d.ts +14 -0
- package/dist/run/event-queue.js +46 -0
- package/dist/run/exchange.d.ts +62 -0
- package/dist/run/exchange.js +65 -0
- package/dist/run/host.d.ts +89 -0
- package/dist/run/host.js +1 -0
- package/dist/run/index.d.ts +20 -7
- package/dist/run/index.js +12 -4
- package/dist/run/oauth2-token.d.ts +42 -0
- package/dist/run/oauth2-token.js +92 -0
- package/dist/run/open.d.ts +12 -0
- package/dist/run/open.js +16 -0
- package/dist/run/run.d.ts +124 -4
- package/dist/run/run.js +293 -134
- package/dist/run/scope.d.ts +11 -0
- package/dist/run/scope.js +26 -0
- package/dist/run/script-support.d.ts +53 -0
- package/dist/run/script-support.js +68 -0
- package/dist/run/secret-needs.d.ts +11 -4
- package/dist/run/secret-needs.js +48 -96
- package/dist/run/select.d.ts +34 -25
- package/dist/run/select.js +45 -54
- package/dist/run/send-helpers.d.ts +93 -0
- package/dist/run/send-helpers.js +255 -0
- package/dist/run/tree.d.ts +50 -0
- package/dist/run/tree.js +54 -0
- package/dist/script/api/postman.d.ts +10 -0
- package/dist/script/api/postman.js +264 -0
- package/dist/script/api/prelude.d.ts +20 -0
- package/dist/script/api/prelude.js +215 -0
- package/dist/script/apply.d.ts +44 -0
- package/dist/script/apply.js +120 -0
- package/dist/script/check/host.d.ts +41 -0
- package/dist/script/check/host.js +143 -0
- package/dist/script/check/service.d.ts +52 -0
- package/dist/script/check/service.js +195 -0
- package/dist/script/check/worker.d.ts +1 -0
- package/dist/script/check/worker.js +40 -0
- package/dist/script/index.d.ts +16 -0
- package/dist/script/index.js +10 -0
- package/dist/script/lookup.d.ts +10 -0
- package/dist/script/lookup.js +23 -0
- package/dist/script/model.d.ts +82 -0
- package/dist/script/model.js +18 -0
- package/dist/script/props.d.ts +8 -0
- package/dist/script/props.js +28 -0
- package/dist/script/request-scripts.d.ts +83 -0
- package/dist/script/request-scripts.js +160 -0
- package/dist/script/run.d.ts +47 -0
- package/dist/script/run.js +146 -0
- package/dist/script/sandbox/execute.d.ts +26 -0
- package/dist/script/sandbox/execute.js +212 -0
- package/dist/script/sandbox/host-api.d.ts +27 -0
- package/dist/script/sandbox/host-api.js +101 -0
- package/dist/script/sandbox/host.d.ts +18 -0
- package/dist/script/sandbox/host.js +172 -0
- package/dist/script/sandbox/model.d.ts +69 -0
- package/dist/script/sandbox/model.js +24 -0
- package/dist/script/sandbox/worker.d.ts +1 -0
- package/dist/script/sandbox/worker.js +20 -0
- package/dist/script/send.d.ts +27 -0
- package/dist/script/send.js +76 -0
- package/dist/script/strip.d.ts +5 -0
- package/dist/script/strip.js +43 -0
- package/dist/script/types/api.d.ts +38 -0
- package/dist/script/types/api.js +113 -0
- package/dist/script/types/json-schema.d.ts +26 -0
- package/dist/script/types/json-schema.js +206 -0
- package/dist/secrets/env-names.d.ts +9 -1
- package/dist/secrets/env-names.js +17 -1
- package/dist/secrets/resolve.d.ts +44 -4
- package/dist/secrets/resolve.js +58 -1
- package/dist/secrets/scan/apply.d.ts +36 -0
- package/dist/secrets/scan/apply.js +194 -0
- package/dist/secrets/scan/rules.d.ts +32 -0
- package/dist/secrets/scan/rules.js +346 -0
- package/dist/secrets/scan/scan.d.ts +6 -0
- package/dist/secrets/scan/scan.js +57 -0
- package/dist/secrets/scan/walk.d.ts +70 -0
- package/dist/secrets/scan/walk.js +156 -0
- package/dist/secrets/secret-refs.d.ts +8 -0
- package/dist/secrets/secret-refs.js +25 -0
- package/dist/secrets/secret-token.d.ts +17 -0
- package/dist/secrets/secret-token.js +25 -0
- package/dist/sequence/file.d.ts +169 -0
- package/dist/sequence/file.js +237 -0
- package/dist/sequence/index.d.ts +7 -0
- package/dist/sequence/index.js +5 -0
- package/dist/sequence/load.d.ts +32 -0
- package/dist/sequence/load.js +56 -0
- package/dist/sequence/model.d.ts +115 -0
- package/dist/sequence/model.js +53 -0
- package/dist/sequence/run.d.ts +131 -0
- package/dist/sequence/run.js +191 -0
- package/dist/sequence/transfer.d.ts +24 -0
- package/dist/sequence/transfer.js +75 -0
- package/dist/server-api/audit.d.ts +455 -0
- package/dist/server-api/audit.js +186 -0
- package/dist/server-api/ci-tokens.d.ts +50 -0
- package/dist/server-api/ci-tokens.js +35 -0
- package/dist/server-api/hooks.d.ts +337 -0
- package/dist/server-api/hooks.js +152 -0
- package/dist/server-api/identity.d.ts +210 -0
- package/dist/server-api/identity.js +115 -0
- package/dist/server-api/licensing.d.ts +80 -0
- package/dist/server-api/licensing.js +53 -0
- package/dist/server-api/live.d.ts +132 -0
- package/dist/server-api/live.js +102 -0
- package/dist/server-api/meta.d.ts +31 -0
- package/dist/server-api/meta.js +21 -0
- package/dist/server-api/sync.d.ts +179 -0
- package/dist/server-api/sync.js +124 -0
- package/dist/server-api/teams.d.ts +306 -0
- package/dist/server-api/teams.js +113 -0
- package/dist/snapshot/diff.d.ts +30 -0
- package/dist/snapshot/diff.js +75 -0
- package/dist/snapshot/format.d.ts +17 -0
- package/dist/snapshot/format.js +40 -0
- package/dist/snapshot/golden-file.d.ts +45 -0
- package/dist/snapshot/golden-file.js +173 -0
- package/dist/snapshot/ignore.d.ts +14 -0
- package/dist/snapshot/ignore.js +79 -0
- package/dist/snapshot/index.d.ts +9 -0
- package/dist/snapshot/index.js +9 -0
- package/dist/snapshot/json-diff.d.ts +3 -0
- package/dist/snapshot/json-diff.js +93 -0
- package/dist/snapshot/xml-diff.d.ts +10 -0
- package/dist/snapshot/xml-diff.js +194 -0
- package/dist/soap/auth.d.ts +26 -0
- package/dist/soap/auth.js +54 -0
- package/dist/soap/curl.d.ts +20 -0
- package/dist/soap/curl.js +161 -0
- package/dist/soap/expand.d.ts +24 -0
- package/dist/soap/expand.js +95 -0
- package/dist/soap/files.d.ts +384 -0
- package/dist/soap/files.js +114 -0
- package/dist/soap/form-request.d.ts +13 -0
- package/dist/soap/form-request.js +2 -2
- package/dist/soap/generate.d.ts +12 -0
- package/dist/{generate.js → soap/generate.js} +4 -4
- package/dist/{import.d.ts → soap/import.d.ts} +4 -4
- package/dist/{import.js → soap/import.js} +13 -13
- package/dist/soap/json-operation.d.ts +35 -0
- package/dist/soap/json-operation.js +225 -0
- package/dist/soap/legacy-project/env-refs.d.ts +19 -0
- package/dist/soap/legacy-project/env-refs.js +105 -0
- package/dist/soap/legacy-project/map.d.ts +2 -2
- package/dist/soap/legacy-project/map.js +6 -0
- package/dist/soap/mime/multipart.d.ts +2 -2
- package/dist/soap/mime/multipart.js +2 -5
- package/dist/soap/mime/send-pipeline.d.ts +1 -1
- package/dist/soap/mime/send-pipeline.js +1 -1
- package/dist/soap/mime/types.d.ts +1 -3
- package/dist/soap/module.d.ts +2 -0
- package/dist/soap/module.js +13 -0
- package/dist/soap/namespace-scope.js +1 -1
- package/dist/soap/operations.d.ts +12 -0
- package/dist/{operations.js → soap/operations.js} +4 -4
- package/dist/soap/run.d.ts +70 -0
- package/dist/soap/run.js +549 -0
- package/dist/soap/script-types.d.ts +65 -0
- package/dist/soap/script-types.js +379 -0
- package/dist/soap/scripting.d.ts +45 -0
- package/dist/soap/scripting.js +221 -0
- package/dist/soap/send-input.d.ts +61 -0
- package/dist/{send-options.js → soap/send-input.js} +5 -109
- package/dist/{send.d.ts → soap/send.d.ts} +1 -1
- package/dist/{send.js → soap/send.js} +28 -12
- package/dist/soap/storage.d.ts +9 -0
- package/dist/soap/storage.js +237 -0
- package/dist/soap/transforms.d.ts +3 -12
- package/dist/soap/transforms.js +3 -14
- package/dist/{types.d.ts → soap/types.d.ts} +34 -84
- package/dist/sync/git-cli.d.ts +202 -0
- package/dist/sync/git-cli.js +684 -0
- package/dist/sync/three-way-merge.d.ts +41 -0
- package/dist/sync/three-way-merge.js +85 -0
- package/dist/sync/tree-paths.d.ts +34 -0
- package/dist/sync/tree-paths.js +131 -0
- package/dist/team-secrets/envelope.d.ts +10 -0
- package/dist/team-secrets/envelope.js +121 -0
- package/dist/team-secrets/errors.d.ts +26 -0
- package/dist/team-secrets/errors.js +27 -0
- package/dist/team-secrets/index.d.ts +14 -0
- package/dist/team-secrets/index.js +8 -0
- package/dist/team-secrets/keys.d.ts +52 -0
- package/dist/team-secrets/keys.js +158 -0
- package/dist/team-secrets/log.d.ts +48 -0
- package/dist/team-secrets/log.js +175 -0
- package/dist/team-secrets/resolve-conflict.d.ts +7 -0
- package/dist/team-secrets/resolve-conflict.js +14 -0
- package/dist/team-secrets/schema.d.ts +97 -0
- package/dist/team-secrets/schema.js +157 -0
- package/dist/team-secrets/sign.d.ts +24 -0
- package/dist/team-secrets/sign.js +71 -0
- package/dist/team-secrets/vault.d.ts +49 -0
- package/dist/team-secrets/vault.js +148 -0
- package/dist/validate/wsi/run-message.d.ts +2 -2
- package/dist/validate/wsi/run-message.js +1 -1
- package/dist/validate/wsi/run-wsdl.d.ts +2 -2
- package/dist/validate/wsi/run-wsdl.js +1 -1
- package/dist/validate/wsi/types.d.ts +1 -1
- package/dist/webhooks/model.d.ts +138 -0
- package/dist/webhooks/model.js +150 -0
- package/dist/workspace/commit-message.d.ts +1 -1
- package/dist/workspace/commit-message.js +6 -1
- package/dist/workspace/environments.d.ts +11 -4
- package/dist/workspace/environments.js +12 -0
- package/dist/workspace/index.d.ts +3 -3
- package/dist/workspace/index.js +2 -2
- package/dist/workspace/paths.d.ts +5 -2
- package/dist/workspace/paths.js +5 -2
- package/dist/workspace/schema.d.ts +7 -3
- package/dist/workspace/schema.js +24 -3
- package/dist/workspace/share.d.ts +30 -11
- package/dist/workspace/share.js +32 -6
- package/dist/ws/call.d.ts +1 -1
- package/dist/ws/call.js +2 -2
- package/dist/ws/connect.d.ts +60 -0
- package/dist/ws/connect.js +131 -0
- package/dist/ws/events.d.ts +17 -0
- package/dist/ws/events.js +1 -0
- package/dist/ws/expand.d.ts +1 -1
- package/dist/ws/expand.js +1 -1
- package/dist/ws/files.d.ts +284 -0
- package/dist/ws/files.js +71 -0
- package/dist/ws/history-entry.d.ts +44 -0
- package/dist/ws/history-entry.js +93 -0
- package/dist/ws/model.d.ts +44 -3
- package/dist/ws/model.js +3 -0
- package/dist/ws/module.d.ts +2 -0
- package/dist/ws/module.js +11 -0
- package/dist/ws/run.d.ts +63 -0
- package/dist/ws/run.js +470 -0
- package/dist/ws/session.d.ts +18 -0
- package/dist/ws/session.js +52 -25
- package/dist/ws/storage.d.ts +9 -0
- package/dist/ws/storage.js +176 -0
- package/dist/ws/transcript.d.ts +3 -4
- package/dist/ws/transcript.js +26 -17
- package/dist/ws/url.d.ts +1 -1
- package/dist/wsdl/cache.js +1 -1
- package/dist/wsdl/docs-generator.d.ts +3 -3
- package/dist/wsdl/docs-generator.js +1 -1
- package/dist/wsdl/export-definition.js +1 -1
- package/dist/wsdl/qname.d.ts +2 -5
- package/dist/wsdl/resolver.d.ts +4 -11
- package/dist/wsdl/resolver.js +3 -3
- package/dist/wsdl/update-definition.d.ts +5 -5
- package/dist/wsdl/update-definition.js +6 -6
- package/dist/wss/apply.js +1 -1
- package/dist/{project/wss-configs.d.ts → wss/configs.d.ts} +2 -2
- package/dist/{project/wss-configs.js → wss/configs.js} +2 -2
- package/dist/wss/incoming/decrypt.d.ts +1 -1
- package/dist/wss/incoming/index.js +1 -1
- package/dist/wss/incoming/verify.d.ts +1 -1
- package/dist/wss/incoming/verify.js +1 -1
- package/dist/wss/key-identifiers.js +1 -1
- package/dist/wss/model.d.ts +1 -1
- package/dist/wss/outgoing/encryption.d.ts +1 -1
- package/dist/wss/outgoing/signature.d.ts +1 -1
- package/dist/xml/decode.d.ts +15 -0
- package/dist/xml/decode.js +22 -0
- package/dist/xml/entitize.d.ts +17 -0
- package/dist/xml/entitize.js +19 -0
- package/dist/xml/index.d.ts +1 -1
- package/dist/xml/index.js +1 -1
- package/dist/xml/locate.d.ts +39 -0
- package/dist/xml/locate.js +117 -0
- package/dist/xml/qname.d.ts +12 -0
- package/dist/xml/qname.js +8 -0
- package/dist/xpath/evaluate-async.d.ts +19 -0
- package/dist/xpath/evaluate-async.js +31 -11
- package/dist/xpath/evaluate.d.ts +1 -1
- package/dist/xpath/namespaces.js +1 -1
- package/dist/xpath/worker.d.ts +11 -5
- package/dist/xpath/worker.js +24 -7
- package/dist/xsd/form-model.d.ts +19 -2
- package/dist/xsd/form-model.js +14 -2
- package/dist/xsd/json-bridge.d.ts +152 -0
- package/dist/xsd/json-bridge.js +1213 -0
- package/dist/xsd/locate.d.ts +2 -30
- package/dist/xsd/locate.js +1 -109
- package/dist/xsd/xml-scan.d.ts +2 -0
- package/dist/xsd/xml-scan.js +1 -1
- package/dist/xsd/xml-writer.d.ts +2 -0
- package/dist/xsd/xml-writer.js +4 -0
- package/package.json +12 -1
- package/dist/generate.d.ts +0 -12
- package/dist/operations.d.ts +0 -12
- package/dist/run/effective-auth.d.ts +0 -10
- package/dist/run/effective-auth.js +0 -19
- package/dist/run/prepare.d.ts +0 -43
- package/dist/run/prepare.js +0 -280
- package/dist/send-options.d.ts +0 -141
- package/dist/wsdl/fetch.d.ts +0 -13
- /package/dist/{soap → http}/charset.d.ts +0 -0
- /package/dist/{soap → http}/charset.js +0 -0
- /package/dist/{wsdl → http}/ref-policy.d.ts +0 -0
- /package/dist/{wsdl → http}/ref-policy.js +0 -0
- /package/dist/{wss/keystore → keystore}/certificate.d.ts +0 -0
- /package/dist/{wss/keystore → keystore}/certificate.js +0 -0
- /package/dist/{wss/keystore → keystore}/index.d.ts +0 -0
- /package/dist/{wss/keystore → keystore}/model.d.ts +0 -0
- /package/dist/{wss/keystore → keystore}/model.js +0 -0
- /package/dist/{wss/keystore → keystore}/pem.d.ts +0 -0
- /package/dist/{wss/keystore → keystore}/pkcs12.d.ts +0 -0
- /package/dist/{wsdl → project}/cache-naming.d.ts +0 -0
- /package/dist/{types.js → soap/types.js} +0 -0
- /package/dist/{soap → xml}/prefixes.d.ts +0 -0
- /package/dist/{soap → xml}/prefixes.js +0 -0
package/dist/index.js
CHANGED
|
@@ -1,22 +1,57 @@
|
|
|
1
1
|
export { evaluateAssertions } from './assert/index.js';
|
|
2
|
-
export {
|
|
2
|
+
export { checkRequestAssertions } from './assert/check.js';
|
|
3
|
+
export { CALLBACK_LIMITS, callbackLabel } from './assert/model.js';
|
|
4
|
+
export { assertionsSchema, callbackAssertionSchema, stepAssertionsSchema, toCallbackAssertion, } from './assert/schema.js';
|
|
5
|
+
export { FIRST_CAPTURE_CURSOR, captureDetailView, captureSourceOver, captureSummaryView, unavailableCaptureSource, } from './assert/capture-source.js';
|
|
6
|
+
export { NO_CAPTURE_SOURCE_MESSAGE, awaitCallbacks, expandCallback, isCallbackAssertion, prepareCallbacks, realCallbackClock, seconds, sendAwaitingCallbacks, waitingOf, } from './assert/callback.js';
|
|
3
7
|
export * from './run/index.js';
|
|
4
|
-
|
|
8
|
+
// Protocol modules, the registry and features (ADR-0017). Exported for the engine's own hosts and
|
|
9
|
+
// tagged `@internal` where they are declared: they are not yet a plugin API.
|
|
10
|
+
export { createFeatureSet } from './protocol/features.js';
|
|
11
|
+
export { defineProtocol } from './protocol/module.js';
|
|
12
|
+
export { createProtocolRegistry } from './protocol/registry.js';
|
|
13
|
+
export { BUILTIN_PROTOCOLS, createBuiltinRegistry } from './protocols.js';
|
|
14
|
+
export { extraContainersOf, unsupportedOf } from './project/model.js';
|
|
15
|
+
// What three core files re-exported until 3.0, from the module that declares it.
|
|
16
|
+
export { soapResponseSubject } from './soap/run.js';
|
|
17
|
+
// The SOAP run facet's item and its effective credentials, for a host that sends one SOAP item itself.
|
|
18
|
+
export { soapEffectiveAuth, soapItemFor } from './soap/run.js';
|
|
19
|
+
export { restSubject } from './rest/run.js';
|
|
20
|
+
// The REST run facet and its effective credentials, for a host that sends one REST item itself.
|
|
21
|
+
export { restEffectiveAuth, restItemFor, restRun } from './rest/run.js';
|
|
22
|
+
export { grpcSubject } from './grpc/run.js';
|
|
23
|
+
// The gRPC run facet's item and its effective credentials, for a host that sends one gRPC item itself.
|
|
24
|
+
export { grpcEffectiveAuth, grpcItemFor } from './grpc/run.js';
|
|
25
|
+
// The WebSocket run facet's item and its effective credentials, for a host that opens one itself.
|
|
26
|
+
export { wsEffectiveAuth, wsItemFor, wsSubject } from './ws/run.js';
|
|
27
|
+
// One WebSocket session as History records it, for every host that writes History.
|
|
28
|
+
export { buildWsHistoryEntry, redactWsExchange } from './ws/history-entry.js';
|
|
29
|
+
export { applySoapSnapshot, soapRequestSnapshot, soapResponseSnapshot } from './soap/scripting.js';
|
|
30
|
+
export { projectSoapBody, qnameFromClark, replaceSoapBody, soapOperationElements, soapScriptTypes, } from './soap/script-types.js';
|
|
31
|
+
export { applyRestSnapshot, restRequestSnapshot, restResponseSnapshot } from './rest/scripting.js';
|
|
32
|
+
export { restOperationFor, restScriptTypes } from './rest/script-types.js';
|
|
33
|
+
export { applyGrpcSnapshot, grpcRequestSnapshot, grpcResponseSnapshot } from './grpc/scripting.js';
|
|
34
|
+
export { grpcMessageTypes, grpcScriptTypes } from './grpc/script-types.js';
|
|
35
|
+
export { interfaceFileSchema, requestFileSchema } from './soap/files.js';
|
|
36
|
+
export { apiFileSchema, restBodySchema, restRequestFileSchema } from './rest/files.js';
|
|
37
|
+
export { grpcApiFileSchema, grpcMethodKindSchema, grpcRequestFileSchema } from './grpc/files.js';
|
|
38
|
+
export { WirebenchError, WsdlParseError, SchemaError, HttpError, WsaError, WssError, ProjectError, ValidationError, SequenceError, WorkspaceError, OpenApiError, AsyncApiError, PostmanError, LegacyProjectError, ProtoError, GrpcError, WsError, isWirebenchError, } from './errors.js';
|
|
5
39
|
export { parseXml, parseXmlDetailed, getPosition, classifyParseEvent } from './xml/parse.js';
|
|
6
40
|
export { serializeXml } from './xml/serialize.js';
|
|
7
41
|
export { NS, PREFIX } from './xml/namespaces.js';
|
|
8
42
|
export { LineIndex } from './xml/positions.js';
|
|
9
43
|
export { evaluate, evaluateJson } from './xpath/evaluate.js';
|
|
10
44
|
export { evaluateJsonPath } from './xpath/jsonpath.js';
|
|
11
|
-
export { evaluateWithTimeout } from './xpath/evaluate-async.js';
|
|
45
|
+
export { evaluateWithTimeout, matchRegexWithTimeout } from './xpath/evaluate-async.js';
|
|
12
46
|
export { collectNamespaces, suggestPrefixes } from './xpath/namespaces.js';
|
|
13
47
|
export { parseQName, qnameEquals, qnameToString } from './wsdl/qname.js';
|
|
14
48
|
export { findBinding, findMessage, findPortType, findService } from './wsdl/model.js';
|
|
15
49
|
export { parseWsdl, parseWsdlDocument } from './wsdl/parse-wsdl.js';
|
|
16
50
|
export { parseWsdlBundle } from './wsdl/merge.js';
|
|
17
51
|
export { resolveDefinition } from './wsdl/resolver.js';
|
|
18
|
-
export { createDefaultFetchDocument } from './
|
|
19
|
-
export {
|
|
52
|
+
export { createDefaultFetchDocument } from './http/fetch-document.js';
|
|
53
|
+
export { createHttpFetchDocument } from './http/document-fetch.js';
|
|
54
|
+
export { assignFileNames } from './project/cache-naming.js';
|
|
20
55
|
export { createCachedFetchDocument, readDefinitionCache, writeDefinitionCache } from './wsdl/cache.js';
|
|
21
56
|
export { exportDefinition } from './wsdl/export-definition.js';
|
|
22
57
|
export { generateDocs } from './wsdl/docs-generator.js';
|
|
@@ -29,15 +64,18 @@ export { PLACEHOLDER, facetsOf, sampleValueFor, typeCommentFor } from './xsd/sam
|
|
|
29
64
|
export { scanXml } from './xsd/xml-scan.js';
|
|
30
65
|
export { applyForm, buildForm, buildFormForType } from './xsd/form-model.js';
|
|
31
66
|
export { applyFormEdit } from './xsd/form-edits.js';
|
|
67
|
+
export { createJsonSchemaWriter, jsonFromXml, jsonSchemaOf, lexical, MAX_FILL_ROUNDS, MAX_PROPERTY_DESCRIPTION, xmlFromJson, } from './xsd/json-bridge.js';
|
|
32
68
|
export { createEnvelope, detectEnvelopeVersion, envelopeNamespace, SOAP_ENVELOPE_PREFIX } from './soap/envelope.js';
|
|
33
|
-
export { prefixForNamespace, RESERVED_PREFIXES } from './
|
|
69
|
+
export { prefixForNamespace, RESERVED_PREFIXES } from './xml/prefixes.js';
|
|
34
70
|
export { NamespaceScope } from './soap/namespace-scope.js';
|
|
35
71
|
export { soapActionHeaders } from './soap/soap-action.js';
|
|
36
72
|
export { buildEmptyRequest, buildSampleRequest } from './soap/request-builder.js';
|
|
37
73
|
export { buildRequestForm } from './soap/form-request.js';
|
|
74
|
+
export { envelopeFromJson, faultDetailJson, jsonFromEnvelope, operationJsonSchema } from './soap/json-operation.js';
|
|
38
75
|
export { isSoapFault, parseFault } from './soap/fault.js';
|
|
39
76
|
export { recreateRequest } from './soap/recreate.js';
|
|
40
|
-
export {
|
|
77
|
+
export { toCurl } from './http/curl.js';
|
|
78
|
+
export { fromCurl, soapToCurl } from './soap/curl.js';
|
|
41
79
|
export { parseSoapResponse } from './soap/response-parser.js';
|
|
42
80
|
export { DEFAULT_ROOT_CONTENT_ID, buildMultipartRelated, mediaTypeOf, mimeParameter, parseMultipartRelated, stripContentId, } from './soap/mime/multipart.js';
|
|
43
81
|
export { XOP_NS, expandMtomResponse, prepareMtomRequest, xopContentType } from './soap/mime/mtom.js';
|
|
@@ -53,51 +91,80 @@ export { FAILED_REQUEST_BODY_CAP_BYTES, failedRequestOf } from './http/failed-re
|
|
|
53
91
|
export { buildRawRequest, buildRawResponse } from './http/raw-capture.js';
|
|
54
92
|
export { isExcluded, parseSystemProxy, resolveProxyFor } from './http/proxy.js';
|
|
55
93
|
export { captureSslInfo, splitPemBundle } from './http/tls.js';
|
|
56
|
-
export {
|
|
57
|
-
export { sendSoapRequest } from './send.js';
|
|
58
|
-
export {
|
|
59
|
-
export {
|
|
60
|
-
export { DEFAULT_OAUTH2_AUTH, DEFAULT_PROJECT_SETTINGS, DEFAULT_REQUEST_PROPERTIES, FORMAT_VERSION, createInterface, createProject, createRequest, defaultContentId, generateId, } from './project/model.js';
|
|
94
|
+
export { importWsdl } from './soap/import.js';
|
|
95
|
+
export { sendSoapRequest } from './soap/send.js';
|
|
96
|
+
export { generateEmptySoapRequest, generateSoapRequest } from './soap/generate.js';
|
|
97
|
+
export { summarizeSoapOperations } from './soap/operations.js';
|
|
98
|
+
export { DEFAULT_OAUTH2_AUTH, DEFAULT_PROJECT_SETTINGS, DEFAULT_REQUEST_PROPERTIES, FORMAT_VERSION, createInterface, createProject, createRequest, defaultContentId, generateId, takenContainerSlugs, } from './project/model.js';
|
|
61
99
|
export { COMMON_METHODS, NO_BODY, RAW_LANGUAGE_CONTENT_TYPES, RAW_LANGUAGE_EXTENSIONS, apiFolders, apiRequests, createApi, createFolder, createRestRequest, entry, folderRequests, } from './rest/model.js';
|
|
100
|
+
export { DEFAULT_WEBHOOK_TARGET, WEBHOOKS_COLLECTION_PREFIX, WEBHOOK_TARGET_PROPERTY, assertWebhookTarget, createWebhookCollection, createWebhookFolder, effectiveSigning, effectiveTarget, findWebhookRequest, hookKey, signingAlong, signingSecretMissing, signingSecretRef, signingSourceLabel, webhookFolders, webhookPath, webhookRequests, } from './webhooks/model.js';
|
|
101
|
+
export { DEFAULT_SIGNATURE_TOLERANCE_SEC, SIGNATURE_FAILURES, isCanonicalBase64, signWebhook, signatureHeaderNames, signatureSchemeSchema, toSignatureScheme, verifyWebhook, } from './http/webhook-signature.js';
|
|
62
102
|
export { bodyLanguage, encodeFormFields, encodeRestBody, escapeForLanguage, rawContentType } from './rest/body.js';
|
|
63
|
-
export { applyAuth, missingSecretRef, resolveAuthChain, resolveAuthChainIndex } from './
|
|
64
|
-
export {
|
|
103
|
+
export { applyAuth, missingSecretRef, resolveAuthChain, resolveAuthChainIndex } from './http/auth/apply-auth.js';
|
|
104
|
+
export { applySoapAuth } from './soap/auth.js';
|
|
105
|
+
export { cookieHeader, defaultPath, domainMatches, isExpired, pathMatches } from './rest/cookies.js';
|
|
106
|
+
export { CookieJar, cookiesToSend, jarCookieHost, MAX_COOKIE_BYTES, MAX_COOKIES, MAX_COOKIES_PER_DOMAIN, mergeCookieHeader, } from './rest/cookie-jar.js';
|
|
65
107
|
export { decodeResponseText, detectLanguage, parseSetCookie, prettyBody } from './rest/response.js';
|
|
66
|
-
export { TOKEN_REFRESH_MARGIN_MS, authorizationUrl, buildTokenRequest, needsRefresh, newState, parseTokenResponse, pkce, } from './
|
|
108
|
+
export { TOKEN_REFRESH_MARGIN_MS, authorizationUrl, buildTokenRequest, needsRefresh, newState, parseTokenResponse, pkce, } from './http/auth/oauth2.js';
|
|
67
109
|
export { fromRestCurl, restToCurl, CURL_REDACTED } from './rest/curl.js';
|
|
68
110
|
export { expandRestSendInput } from './rest/expand.js';
|
|
69
111
|
export { decodeRestResponse, sendRest } from './rest/send.js';
|
|
112
|
+
export { createSseParser, eventStreamDocument, isEventStream, serializeEventStream } from './rest/sse.js';
|
|
113
|
+
export { capSseRows, createSseRowStore, SSE_HISTORY_LIMITS, SSE_SUMMARY_LIMITS } from './rest/sse-transcript.js';
|
|
70
114
|
export { composeUrl, encodeValue, joinBase, joinQuery, parseUrlParams, splitQuery } from './rest/url.js';
|
|
71
115
|
// OpenAPI: reading a description into the model an import maps onto an API.
|
|
116
|
+
export { parseAsyncApi } from './asyncapi/parse.js';
|
|
117
|
+
export { mapAsyncApi } from './asyncapi/map.js';
|
|
118
|
+
export { authFromScheme as asyncApiAuthFromScheme } from './asyncapi/security.js';
|
|
119
|
+
export { importAsyncApi } from './asyncapi/import.js';
|
|
120
|
+
export { applyAsyncApiUpdate, planAsyncApiUpdate } from './asyncapi/update.js';
|
|
121
|
+
export { channelMessages as asyncApiChannelMessages, checkFrame as checkAsyncApiFrame, createFrameChecker, DEFAULT_FRAME_CHECK_BUDGET_MS, MAX_CHECKED_FRAME_BYTES, } from './asyncapi/frame-check.js';
|
|
122
|
+
export { createWorkerFrameChecker, DEFAULT_FRAME_CHECK_DEADLINE_MS, DEFAULT_FRAME_CHECK_QUEUE, DEFAULT_FRAME_CHECK_QUEUE_BYTES, } from './asyncapi/frame-check-worker-host.js';
|
|
72
123
|
export { importOpenApi, parseOpenApi } from './rest/openapi/import.js';
|
|
73
|
-
export {
|
|
124
|
+
export { loadOpenApiDocument } from './rest/script-types.js';
|
|
125
|
+
export { apiFromDocument, authFromScheme, mapScheme, webhookItemsOf, webhookSourcesOf, webhooksFromDocument, } from './rest/openapi/map.js';
|
|
74
126
|
export { createCachedApiFetch, readApiDefinitionCache, writeApiDefinitionCache } from './rest/openapi/cache.js';
|
|
75
127
|
export { parseDocumentText, parseOpenApiDocument, parseSchema, versionOf } from './rest/openapi/parse.js';
|
|
76
|
-
export {
|
|
77
|
-
export {
|
|
128
|
+
export { selectResponse } from './rest/openapi/responses.js';
|
|
129
|
+
export { applyRestUpdate, applyWebhookUpdate, planRestUpdate, planWebhookUpdate, sameStructure, } from './rest/openapi/update.js';
|
|
130
|
+
export { matchOperation } from './rest/openapi/match.js';
|
|
131
|
+
export { evaluateRuntimeTemplate, parseRuntimeExpression, parseRuntimeTemplate, resolveJsonPointer, } from './rest/openapi/runtime-expression.js';
|
|
132
|
+
export { checkRestResponse, DEFAULT_REST_CHECK_BUDGET_MS, MAX_CHECKED_BODY_BYTES, MAX_CONTRACT_MESSAGE_LENGTH, MAX_CONTRACT_PROBLEMS, } from './rest/contract-check.js';
|
|
133
|
+
export { createRestContractChecker, DEFAULT_REST_CHECK_DEADLINE_MS, DEFAULT_REST_CHECK_QUEUE, } from './rest/contract-check-worker-host.js';
|
|
134
|
+
export { pointerRange } from './json/pointer-range.js';
|
|
135
|
+
export { resolvePointer, resolveRefs, unescapePointerToken, MAX_REF_DEPTH } from './json/schema/refs.js';
|
|
136
|
+
export { sampleFromSchema, sampleXml, MAX_SAMPLE_DEPTH } from './json/schema/sample.js';
|
|
137
|
+
export { validateJsonSchema } from './json/schema-validate.js';
|
|
138
|
+
export { applyJsonFormEdit, buildJsonForm, toWireSchema } from './rest/json-form.js';
|
|
78
139
|
export { serverUrl, HTTP_METHODS } from './rest/openapi/model.js';
|
|
79
140
|
// Postman: importing Postman Collection v2.0 and v2.1 exports into REST APIs.
|
|
80
141
|
export { apiFromPostmanCollection, importPostmanCollection, isPostmanCollection, normalizePostmanPath, parsePostmanCollection, parsePostmanCollectionText, translatePostmanVariables, } from './rest/postman/index.js';
|
|
81
142
|
// Legacy SOAP projects: reading the single-XML project files of older SOAP workbenches.
|
|
82
143
|
export { definitionRootOf, fetchDocumentFromCache, formatLegacyImportReport, IMPORTED_SCRIPTS_DIR, looksLikeLegacyProject, mapLegacyProject, MAX_LEGACY_PROJECT_BYTES, parseLegacyProject, readLegacySoapProject, resolvedOperationsOf, } from './soap/legacy-project/index.js';
|
|
83
|
-
export { API_FILE, APIS_DIR, ATTACHMENTS_DIR, ENVIRONMENTS_DIR, FOLDER_FILE, INTERFACES_DIR, MAX_FOLDER_DEPTH, OPERATIONS_DIR, REQUEST_SUFFIX, REQUESTS_DIR, WSS_DIR, apiDefinitionDir, apiDir, apiFile, definitionCacheDir, definitionDir, environmentFile, interfaceDir, interfaceFile, keystoresFile, manifestFile, operationDir, requestFiles, restBodyFileName, restFolderDir, restFolderFile, restRequestFile, slugify, uniqueSlug, wssFile, } from './project/paths.js';
|
|
84
|
-
export {
|
|
144
|
+
export { API_FILE, APIS_DIR, ATTACHMENTS_DIR, ENVIRONMENTS_DIR, FOLDER_FILE, INTERFACES_DIR, MAX_FOLDER_DEPTH, OPERATIONS_DIR, REQUEST_SUFFIX, REQUESTS_DIR, WSS_DIR, apiDefinitionDir, apiDir, apiFile, definitionCacheDir, definitionDir, environmentFile, interfaceDir, interfaceFile, keystoresFile, manifestFile, operationDir, requestFiles, restBodyFileName, restFolderDir, restFolderFile, restRequestFile, slugify, uniqueSlug, WEBHOOKS_DIR, WEBHOOKS_FILE, wssFile, } from './project/paths.js';
|
|
145
|
+
export { attachmentSourceSchema, authConfigSchema, definitionAuthSchema, definitionCacheManifestSchema, environmentFileSchema, keyValueEntrySchema, soapOwnerAuthSchema, keystoreEntrySchema, keystoresFileSchema, manifestSchema, parseFile, apiDefinitionCacheManifestSchema, restFolderFileSchema, protoDefinitionCacheManifestSchema, hookLinkSchema, webhookFolderFileSchema, webhooksFileSchema, wssIncomingFileSchema, wssEntrySchema, wssOutgoingFileSchema, } from './project/schema.js';
|
|
85
146
|
export { DEFAULT_PREFERENCES, LOG_SIZE_MAX, LOG_SIZE_MIN, mergePreferences, preferencesSchema, resetPreferences, } from './project/preferences.js';
|
|
86
|
-
export {
|
|
147
|
+
export { toSoapSendInput } from './soap/send-input.js';
|
|
148
|
+
export { toRestSendInput } from './rest/send-input.js';
|
|
149
|
+
export { toGrpcSendInput } from './grpc/send-input.js';
|
|
87
150
|
export { entitizeValue, prettyPrint, removeEmptyContent, stripWhitespaces } from './soap/transforms.js';
|
|
88
151
|
export { jsonCompletionContextAt } from './json/cursor.js';
|
|
89
152
|
export { formatXml } from './xml/pretty.js';
|
|
90
153
|
export { migrate } from './project/migrate.js';
|
|
91
154
|
export { KEYSTORES_PATH, MANIFEST_PATH, authDocument, projectFiles } from './project/serialize.js';
|
|
155
|
+
export { requestFileLocation } from './project/request-location.js';
|
|
156
|
+
export { BASELINE_MAX_BYTES, checkBaseline } from './run/baseline.js';
|
|
157
|
+
export { readGoldenFile, writeGoldenFile } from './snapshot/golden-file.js';
|
|
92
158
|
export { loadProject } from './project/load.js';
|
|
93
159
|
export { saveProject } from './project/save.js';
|
|
94
160
|
export { attachmentFile, attachmentsDir, attachmentsIndexFile, createFileAttachmentResolver, listAttachments, pruneAttachments, putAttachment, readAttachment, } from './project/attachments-cache.js';
|
|
95
161
|
export { nodeFs, writeFileAtomic } from './project/fs.js';
|
|
96
|
-
export { appendHistory, generateHistoryId, historyWsOf, normalizeHistoryEntry, openHistory, } from './project/history.js';
|
|
97
|
-
export { enabledProperties, expand,
|
|
98
|
-
export {
|
|
162
|
+
export { appendHistory, generateHistoryId, historyContractOf, historySseOf, historyWsOf, normalizeHistoryEntry, openHistory, } from './project/history.js';
|
|
163
|
+
export { enabledProperties, expand, hasExpansions, secretNamesIn } from './project/properties.js';
|
|
164
|
+
export { expandSendInput } from './soap/expand.js';
|
|
165
|
+
export { effectiveAuth, isEndpointAuth } from './project/endpoints.js';
|
|
99
166
|
export { toKeystoreDef, toKeystoreRef } from './project/keystores.js';
|
|
100
|
-
export { toWssIncomingConfig, toWssIncomingRef, toWssOutgoingConfig, toWssOutgoingRef } from './
|
|
167
|
+
export { toWssIncomingConfig, toWssIncomingRef, toWssOutgoingConfig, toWssOutgoingRef } from './wss/configs.js';
|
|
101
168
|
// ---------------------------------------------------------------------------
|
|
102
169
|
// WS-Addressing (Task 41)
|
|
103
170
|
// ---------------------------------------------------------------------------
|
|
@@ -114,17 +181,17 @@ export { decryptIncoming } from './wss/incoming/decrypt.js';
|
|
|
114
181
|
export { verifyIncoming } from './wss/incoming/verify.js';
|
|
115
182
|
export { decryptEnvelope, encryptEnvelope } from './wss/outgoing/encryption.js';
|
|
116
183
|
export { buildKeyIdentifier, certificateBase64, certificateDer, issuerDnRfc2253, pkiPathBase64, serialNumberDecimal, subjectKeyIdentifierBase64, thumbprintSha1Base64, WSS_TOKEN_TYPES, } from './wss/key-identifiers.js';
|
|
117
|
-
export { keystoreTypeForPath, loadKeystore, loadPem, loadPkcs12, selectAlias, toTlsClientIdentity, } from './
|
|
184
|
+
export { keystoreTypeForPath, loadKeystore, loadPem, loadPkcs12, selectAlias, toTlsClientIdentity, } from './keystore/index.js';
|
|
118
185
|
export { findEnvironment, removeEnvironment, resolveApiBaseUrl, resolveAuthEndpoint, resolveEndpoint, resolveScopes, upsertEnvironment, } from './project/environments.js';
|
|
119
186
|
// Workspace
|
|
120
|
-
export { WORKSPACE_FORMAT_VERSION, assertPathSegment, WORKSPACES_DIR, WORKSPACE_ENVIRONMENTS_DIR, WORKSPACE_MANIFEST, WORKSPACE_PROJECTS_DIR, WORKSPACE_STATE_FILE, WORKSPACE_TREE_DIR, WORKSPACE_JOINING_DIR, GIT_ATTRIBUTES_FILE, GIT_ATTRIBUTES, WORKSPACE_LOCAL_FILE, EMPTY_LOCAL_STATE, WORKSPACE_SHARE_FILE, DEFAULT_GIT_SHARE_SETTINGS, commitMessage, createWorkspace, createWorkspaceEnvironment, deleteShare, describeTreePath, linkedEnvironment, loadLocalState, loadShare, loadWorkspace, migrateWorkspace, parseWorkspaceFile, reidentifyProject, resolveWorkspaceApiBaseUrl, resolveWorkspaceEndpoint, resolveWorkspaceScopes, saveLocalState, saveShare, saveWorkspace, workspaceDir, workspaceEnvironmentFile, workspaceEnvironmentFileSchema, workspaceFiles, workspaceLocalStateSchema, workspaceManifestFile, workspaceManifestSchema, workspaceProjectDir, workspaceProjectRefSchema, workspaceShareSchema, workspaceTreeDir, } from './workspace/index.js';
|
|
187
|
+
export { WORKSPACE_FORMAT_VERSION, assertPathSegment, WORKSPACES_DIR, WORKSPACE_ENVIRONMENTS_DIR, WORKSPACE_MANIFEST, WORKSPACE_PROJECTS_DIR, WORKSPACE_STATE_FILE, WORKSPACE_TREE_DIR, WORKSPACE_JOINING_DIR, GIT_ATTRIBUTES_FILE, GIT_ATTRIBUTES, TEAM_SECRETS_DIR, WORKSPACE_LOCAL_FILE, EMPTY_LOCAL_STATE, WORKSPACE_SHARE_FILE, DEFAULT_GIT_SHARE_SETTINGS, DEFAULT_SYNC_SETTINGS, commitMessage, createWorkspace, createWorkspaceEnvironment, deleteShare, describeTreePath, linkedEnvironment, loadLocalState, loadShare, loadWorkspace, migrateWorkspace, parseWorkspaceFile, reidentifyProject, resolveWorkspaceApiBaseUrl, resolveWorkspaceEndpoint, resolveWorkspaceScopes, saveLocalState, saveShare, saveWorkspace, shareSyncSettings, workspaceDir, workspaceEnvironmentFile, workspaceEnvironmentFileSchema, workspaceFiles, workspaceLocalStateSchema, workspaceManifestFile, workspaceManifestSchema, workspaceProjectDir, workspaceProjectRefSchema, workspaceShareSchema, workspaceTreeDir, } from './workspace/index.js';
|
|
121
188
|
export { bindingContextFor, checkSoapStructure, validateAgainstSchemaSet, validateMessage, DEFAULT_VALIDATION_TIMEOUT_MS, } from './validate/index.js';
|
|
122
189
|
export { WSI_WSDL_ASSERTIONS, WSI_MESSAGE_ASSERTIONS, messageBindingFor, runMessageAssertions, wsiMessageContext, renderWsiReportHtml, escapeHtml, runWsdlAssertions, wsiWsdlContext, wsiProblems, NOT_APPLICABLE, isNotApplicable, } from './validate/wsi/index.js';
|
|
123
190
|
export { renderWsiAssertionsMarkdown, WSI_PLANNED_ASSERTIONS } from './validate/wsi/index.js';
|
|
124
191
|
export { detectImportFormat } from './import-detect.js';
|
|
125
192
|
// gRPC: the third protocol, a sibling container to a SOAP interface and a REST API (ADR-0007).
|
|
126
193
|
export { clientStreams, GRPC_REFLECTION_VERSIONS, createGrpcApi, createGrpcFolder, createGrpcRequest, defaultTlsFor, grpcApiFolders, grpcApiRequests, grpcFolderRequests, grpcMethodPath, serverStreams, } from './grpc/model.js';
|
|
127
|
-
export { GRPC_STATUS_NAMES, decodeGrpcMessage, encodeGrpcMessage, formatGrpcTimeout, grpcStatusName, } from './grpc/status.js';
|
|
194
|
+
export { GRPC_STATUS_NAMES, decodeGrpcMessage, encodeGrpcMessage, formatGrpcTimeout, grpcStatusName, grpcStatusNames, } from './grpc/status.js';
|
|
128
195
|
export { encodeGrpcFrame, GrpcFrameParser } from './grpc/framing.js';
|
|
129
196
|
export { loadProtoSet } from './grpc/proto/load.js';
|
|
130
197
|
export { describeMessage, describeMessageAt, describeMethod, describeServices, lookupMessageType, lookupMethod, qualifiedName, } from './grpc/proto/describe.js';
|
|
@@ -141,17 +208,47 @@ export { DESCRIPTOR_HEADER_TYPE, DESCRIPTOR_SET_HEADER_TYPE, REFLECTION_METHOD,
|
|
|
141
208
|
export { descriptorHeader, descriptorSetBytes, descriptorSetHeaders, encodeFileDescriptorSet, orderDescriptors, protoSetFromDescriptorSet, protoSetFromDescriptors, } from './grpc/reflection/descriptors.js';
|
|
142
209
|
export { isReflectionService, reflectProtoSet, reflectServices } from './grpc/reflection/client.js';
|
|
143
210
|
export { GRPC_COMMAND_REDACTED, grpcToCommand } from './grpc/command.js';
|
|
144
|
-
export { resolveAuthConfig, resolveEndpointAuth, secretMissingMessage, toSendAuth } from './secrets/resolve.js';
|
|
145
|
-
export { envVariablesFor, secretNeedsOfAuth, SECRET_ENV_PREFIX } from './secrets/env-names.js';
|
|
146
|
-
export {
|
|
147
|
-
export {
|
|
211
|
+
export { resolveAuthConfig, resolveEndpointAuth, resolveSecretTokens, resolveSoapAuth, secretMissingMessage, secretTokenMissingMessage, toSendAuth, } from './secrets/resolve.js';
|
|
212
|
+
export { envVariablesFor, secretNeedsOfAuth, SECRET_ENV_PREFIX, SIGNING_PSEUDO_REF_PREFIX, } from './secrets/env-names.js';
|
|
213
|
+
export { SECRET_NAME_PATTERN, secretEnvName, secretPseudoRef, secretToken, parseSecretPseudoRef, } from './secrets/secret-token.js';
|
|
214
|
+
export { detectInText, SECRET_TEXT_SCAN_LIMIT } from './secrets/scan/rules.js';
|
|
215
|
+
export { maskedPreview, scanProjectForSecrets } from './secrets/scan/scan.js';
|
|
216
|
+
export { applySecretMoves, proposeSecretName } from './secrets/scan/apply.js';
|
|
217
|
+
export { SECRET_REF_PATTERN, secretRefsInValue } from './secrets/secret-refs.js';
|
|
218
|
+
// ---------------------------------------------------------------------------
|
|
219
|
+
// Team secrets: machine keys, the access log and the vault (team-secrets spec §4, §5.2)
|
|
220
|
+
// ---------------------------------------------------------------------------
|
|
221
|
+
export { ACCESS_ACTIONS, accessEntryFileSchema, accessEntryPath, approvedRecipients, base32, base64url, buildVaultEntry, canonicalJson, decryptValue, encryptValue, encryptionPrivateKey, encryptionPublicKey, fingerprintOf, fromBase64url, generateMachineKeys, healVaultEntry, isTeamSecretsPath, isVaultEntryPath, KEY_ID_PATTERN, keyIdOf, keyIdSchema, keyRequestFileSchema, keyRequestPath, newDataKey, nextAccessEntryId, openVaultEntry, parseMachineKeys, parseTeamSecretsFile, readTeamSecretsFiles, replayAccessLog, rotateMarks, rotateMarksFor, sameSecret, sealVaultEntry, secretKeySchema, serializeMachineKeys, signDocument, signingPrivateKey, signingPublicKey, TEAM_SECRETS_ACCESS_DIR, TEAM_SECRETS_FORMAT_VERSION, TEAM_SECRETS_KEYS_DIR, TEAM_SECRETS_MESSAGES, TEAM_SECRETS_VALUES_DIR, teamSecretsError, teamSecretsFileText, ULID_PATTERN, unwrapDataKey, vaultConflictWinner, vaultEntryFileSchema, vaultEntryId, vaultEntryIdOfPath, vaultEntryPath, verifiedKeys, verifyDocument, verifyVaultEntry, withoutSignature, WRAP_INFO, wrapDataKey, wrapsUnapprovedKey, } from './team-secrets/index.js';
|
|
222
|
+
export { REDACTED_MARKER, SECRET_BODY_KEYS, containsRedaction, isSensitiveHeaderName, isSensitiveQueryParam, redactHeaderPairs, redactHeaders, redactRawHttp, redactResponseAttachments, redactStructuredBody, redactUrl, redactXml, } from './redact/index.js';
|
|
223
|
+
export { createSecretBytesMasker, createSecretMasker } from './redact/literal.js';
|
|
148
224
|
// WebSocket: the fourth protocol, a sibling container to a SOAP interface, a REST API and a gRPC
|
|
149
225
|
// API (ADR-0007).
|
|
150
226
|
export { createWsApi, createWsFolder, createWsRequest, createWsSavedMessage, wsApiFolders, wsApiRequests, wsFolderRequests, wsMessageFileName, } from './ws/model.js';
|
|
151
227
|
export { resolveWsUrl } from './ws/url.js';
|
|
152
228
|
export { prettyFrameText } from './ws/pretty.js';
|
|
153
229
|
export { openWsSession } from './ws/session.js';
|
|
230
|
+
export { connectWebSocket } from './ws/connect.js';
|
|
154
231
|
export { capFrames, WS_HISTORY_HEAD, WS_HISTORY_MAX_BYTES, WS_HISTORY_TAIL } from './ws/transcript.js';
|
|
155
232
|
export { expandWsInput, expandWsMessage } from './ws/expand.js';
|
|
156
233
|
export { toWsSessionOptions } from './ws/call.js';
|
|
157
234
|
export { wsToCommand } from './ws/command.js';
|
|
235
|
+
export { GIT_CALL_ENV, GIT_PLUMBING_SUBCOMMANDS, GIT_SUBCOMMANDS, GitCli, assertBranchName, assertRemoteUrl, assertSafeLocalConfig, findGit, parseGitVersion, refusedLocalConfigKeys, } from './sync/git-cli.js';
|
|
236
|
+
export { mergeFiles } from './sync/three-way-merge.js';
|
|
237
|
+
export { MACHINE_LOCAL_PATHS, MAX_TREE_PATH_LENGTH, TREE_ITEMS, assertTreePath, isSafeTreeSegment, isTreePath, } from './sync/tree-paths.js';
|
|
238
|
+
// ---------------------------------------------------------------------------
|
|
239
|
+
// Wirebench Server API: wire schemas shared by packages/server and the desktop client
|
|
240
|
+
// ---------------------------------------------------------------------------
|
|
241
|
+
export { SERVER_API_VERSION, SERVER_NAME, metaResponseSchema } from './server-api/meta.js';
|
|
242
|
+
export { DEVICE_TOKEN_PATTERN, MAX_DEVICE_NAME_LENGTH, MAX_DISPLAY_NAME_LENGTH, MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH, PKCE_VERIFIER_PATTERN, SECRET_PATTERN, deviceSchema, devicesResponseSchema, deviceSummarySchema, emailSchema, identityIdParamsSchema, identityIdSchema, invitationAcceptRequestSchema, invitationCreatedSchema, invitationCreateRequestSchema, invitationLookupQuerySchema, invitationLookupResponseSchema, invitationsResponseSchema, invitationSummarySchema, localSignInRequestSchema, meResponseSchema, oidcCallbackQuerySchema, oidcCompleteRequestSchema, oidcStartRequestSchema, oidcStartResponseSchema, passwordChangeRequestSchema, passwordResetCreatedSchema, passwordSchema, serverUserSchema, signInMethodsSchema, signInResponseSchema, userPatchRequestSchema, usersResponseSchema, userSummarySchema, } from './server-api/identity.js';
|
|
243
|
+
export { MAX_TEAMS_NAME_LENGTH, TEAMS_ID_PATTERN, accessEntrySchema, accessParamsSchema, accessResponseSchema, defaultRoleSchema, effectiveRoleSchema, memberAddRequestSchema, memberParamsSchema, memberRoleRequestSchema, roleSourceSchema, setAccessRequestSchema, teamInvitationCreatedSchema, teamInvitationCreateRequestSchema, teamInvitationParamsSchema, teamInvitationSchema, teamInvitationsResponseSchema, teamMemberSchema, teamMembersResponseSchema, teamNameRequestSchema, teamParamsSchema, teamRoleSchema, teamSchema, teamsIdSchema, teamsNameSchema, teamsResponseSchema, teamWorkspaceCreateRequestSchema, teamWorkspaceParamsSchema, teamWorkspaceSchema, teamWorkspacesResponseSchema, teamWorkspaceUpdateRequestSchema, workspaceRoleSchema, } from './server-api/teams.js';
|
|
244
|
+
export { MAX_SYNC_FILE_BYTES, MAX_SYNC_LOG_LIMIT, MAX_SYNC_SUBJECT_LENGTH, SYNC_COMMIT_ID_PATTERN, syncChangeSchema, syncChangesQuerySchema, syncChangesResponseSchema, syncCommitIdSchema, syncEncodingSchema, syncFileSchema, syncHeadQuerySchema, syncHeadResponseSchema, syncLogEntrySchema, syncLogQuerySchema, syncLogResponseSchema, syncPushCommitSchema, syncPushRequestSchema, syncPushResponseSchema, syncSnapshotQuerySchema, syncSnapshotResponseSchema, TEAM_SECRETS_KEY_REQUEST_MAX_BYTES, teamSecretsKeyRequestSchema, teamSecretsKeyRequestResponseSchema, } from './server-api/sync.js';
|
|
245
|
+
export { LIVE_CAPABILITY, LIVE_CLOSE, LIVE_LIMITS, LIVE_PATH, LIVE_REFUSED_CODES, liveClientMessageSchema, livePresenceUserSchema, liveServerMessageSchema, } from './server-api/live.js';
|
|
246
|
+
export { CATCH_CONTENT_TYPE_PATTERN, CATCH_SECRET_PATTERN, CATCH_URL_DEFAULT_RESPONSE, CATCH_URL_PATH_PREFIX, captureParamsSchema, captureSchema, capturesQuerySchema, capturesResponseSchema, captureSignatureSchema, captureSummarySchema, catchUrlCreateRequestSchema, catchUrlParamsSchema, catchUrlResponseSchema, catchUrlSchema, catchUrlSignatureSchema, catchUrlsResponseSchema, catchUrlUpdateRequestSchema, HOOKS_LIMITS, hooksMetaSchema, SIGNATURE_SECRET_MAX_LENGTH, } from './server-api/hooks.js';
|
|
247
|
+
export { CI_TOKEN_NAME_MAX_LENGTH, ciTokenCreatedSchema, ciTokenParamsSchema, ciTokenSummarySchema, ciTokensResponseSchema, ciWhoamiResponseSchema, } from './server-api/ci-tokens.js';
|
|
248
|
+
export { COMMUNITY_SEATS, EDITIONS, FEATURES, GRACE_DAYS, LICENSE_FORMAT, LICENSE_STATUSES, LICENSE_TEXT_MAX_LENGTH, LICENSE_TEXT_PATTERN, editionSchema, featureSchema, licenseInstallRequestSchema, licensePayloadSchema, licenseStateSchema, } from './server-api/licensing.js';
|
|
249
|
+
export { AUDIT_ACTION_GROUPS, AUDIT_ACTIONS, AUDIT_ACTOR_KINDS, AUDIT_LIMITS, AUDIT_TARGET_KINDS, DESKTOP_AUDIT_LIMITS, auditActionSchema, auditActorSchema, auditDetailsSchema, auditEventSchema, auditExportQuerySchema, auditPageSchema, auditQuerySchema, desktopAuditBatchSchema, desktopAuditEventSchema, desktopRequestSentDetailsSchema, desktopRunFinishedDetailsSchema, } from './server-api/audit.js';
|
|
250
|
+
export { ACCOUNTS_FILE_VERSION, accountsFileSchema, parseAccountsFile, serverAccountSchema } from './account/schema.js';
|
|
251
|
+
export * from './sequence/index.js';
|
|
252
|
+
export * from './script/index.js';
|
|
253
|
+
export { readSequences } from './sequence/load.js';
|
|
254
|
+
export { assertNoControlCharacters, assertOriginIndependent, expandWithSequenceEscaped, hasSequenceValues, urlOrigin, } from './project/sequence-guards.js';
|
package/dist/json/cursor.d.ts
CHANGED
|
@@ -41,3 +41,5 @@ export interface JsonCompletionContext {
|
|
|
41
41
|
* level outside any object, or anywhere a key would not be the next thing written.
|
|
42
42
|
*/
|
|
43
43
|
export declare function jsonCompletionContextAt(text: string, offset: number): JsonCompletionContext | undefined;
|
|
44
|
+
export { pointerRange } from './pointer-range.js';
|
|
45
|
+
export type { PointerTextRange } from './pointer-range.js';
|
package/dist/json/cursor.js
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a JSON Pointer's value sits in a JSON text, so a problem found on the parsed value can be
|
|
3
|
+
* marked in the text the user sees — pretty-printed or exactly as received.
|
|
4
|
+
*
|
|
5
|
+
* One forward scan: at each container it walks every member, descending into the ones on the
|
|
6
|
+
* pointer's path and skipping the rest, so no character is read twice. A scalar is located as its whole token; an object or array
|
|
7
|
+
* as its opening bracket only, which is also where a missing required property belongs (the
|
|
8
|
+
* validator reports that at the parent). Pure and dependency-free, so the renderer can use it.
|
|
9
|
+
*/
|
|
10
|
+
/** A 1-based range, Monaco style: `endColumn` is one past the last character. */
|
|
11
|
+
export interface PointerTextRange {
|
|
12
|
+
readonly line: number;
|
|
13
|
+
readonly column: number;
|
|
14
|
+
readonly endLine: number;
|
|
15
|
+
readonly endColumn: number;
|
|
16
|
+
}
|
|
17
|
+
/** The range of the value `pointer` names in `text`, or `undefined` when it cannot be located. */
|
|
18
|
+
export declare function pointerRange(text: string, pointer: string): PointerTextRange | undefined;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a JSON Pointer's value sits in a JSON text, so a problem found on the parsed value can be
|
|
3
|
+
* marked in the text the user sees — pretty-printed or exactly as received.
|
|
4
|
+
*
|
|
5
|
+
* One forward scan: at each container it walks every member, descending into the ones on the
|
|
6
|
+
* pointer's path and skipping the rest, so no character is read twice. A scalar is located as its whole token; an object or array
|
|
7
|
+
* as its opening bracket only, which is also where a missing required property belongs (the
|
|
8
|
+
* validator reports that at the parent). Pure and dependency-free, so the renderer can use it.
|
|
9
|
+
*/
|
|
10
|
+
function skipWs(text, i) {
|
|
11
|
+
while (i < text.length) {
|
|
12
|
+
const c = text.charCodeAt(i);
|
|
13
|
+
if (c !== 0x20 && c !== 0x0a && c !== 0x0d && c !== 0x09)
|
|
14
|
+
break;
|
|
15
|
+
i++;
|
|
16
|
+
}
|
|
17
|
+
return i;
|
|
18
|
+
}
|
|
19
|
+
/** Index just past the string that opens at `i`, or -1 when it never closes. */
|
|
20
|
+
function endOfString(text, i) {
|
|
21
|
+
for (let j = i + 1; j < text.length; j++) {
|
|
22
|
+
const c = text[j];
|
|
23
|
+
if (c === '\\')
|
|
24
|
+
j++;
|
|
25
|
+
else if (c === '"')
|
|
26
|
+
return j + 1;
|
|
27
|
+
}
|
|
28
|
+
return -1;
|
|
29
|
+
}
|
|
30
|
+
/** Index just past the value starting at `i` (whitespace already skipped), or -1. */
|
|
31
|
+
function endOfValue(text, i) {
|
|
32
|
+
const c = text[i];
|
|
33
|
+
if (c === '"')
|
|
34
|
+
return endOfString(text, i);
|
|
35
|
+
if (c === '{' || c === '[') {
|
|
36
|
+
let depth = 0;
|
|
37
|
+
for (let j = i; j < text.length; j++) {
|
|
38
|
+
const d = text[j];
|
|
39
|
+
if (d === '"') {
|
|
40
|
+
const end = endOfString(text, j);
|
|
41
|
+
if (end < 0)
|
|
42
|
+
return -1;
|
|
43
|
+
j = end - 1;
|
|
44
|
+
}
|
|
45
|
+
else if (d === '{' || d === '[')
|
|
46
|
+
depth++;
|
|
47
|
+
else if (d === '}' || d === ']') {
|
|
48
|
+
depth--;
|
|
49
|
+
if (depth === 0)
|
|
50
|
+
return j + 1;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return -1;
|
|
54
|
+
}
|
|
55
|
+
let j = i;
|
|
56
|
+
while (j < text.length && !/[\s,:\]}]/.test(text[j]))
|
|
57
|
+
j++;
|
|
58
|
+
return j > i ? j : -1;
|
|
59
|
+
}
|
|
60
|
+
function decodeKey(raw) {
|
|
61
|
+
try {
|
|
62
|
+
const decoded = JSON.parse(raw);
|
|
63
|
+
return typeof decoded === 'string' ? decoded : undefined;
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Locates `segments[k..]` inside the value starting at `i`, and also returns where that value
|
|
71
|
+
* ends, so the caller carries on scanning from there: every character is read once. An object may
|
|
72
|
+
* repeat a key; `JSON.parse` keeps the last, so a later match replaces an earlier one.
|
|
73
|
+
*/
|
|
74
|
+
function locate(text, i, segments, k) {
|
|
75
|
+
if (k === segments.length) {
|
|
76
|
+
const container = text[i] === '{' || text[i] === '[';
|
|
77
|
+
const end = endOfValue(text, i);
|
|
78
|
+
return { target: container || end >= 0 ? i : -1, end };
|
|
79
|
+
}
|
|
80
|
+
if (text[i] !== '{' && text[i] !== '[')
|
|
81
|
+
return { target: -1, end: endOfValue(text, i) };
|
|
82
|
+
const isArray = text[i] === '[';
|
|
83
|
+
const close = isArray ? ']' : '}';
|
|
84
|
+
const segment = segments[k];
|
|
85
|
+
const wanted = isArray && /^(0|[1-9]\d*)$/.test(segment) ? Number(segment) : -1;
|
|
86
|
+
let target = -1;
|
|
87
|
+
let j = skipWs(text, i + 1);
|
|
88
|
+
if (text[j] === close)
|
|
89
|
+
return { target, end: j + 1 };
|
|
90
|
+
for (let index = 0;; index++) {
|
|
91
|
+
let matched;
|
|
92
|
+
if (isArray) {
|
|
93
|
+
matched = index === wanted;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if (text[j] !== '"')
|
|
97
|
+
return { target, end: -1 };
|
|
98
|
+
const keyEnd = endOfString(text, j);
|
|
99
|
+
if (keyEnd < 0)
|
|
100
|
+
return { target, end: -1 };
|
|
101
|
+
matched = decodeKey(text.slice(j, keyEnd)) === segment;
|
|
102
|
+
j = skipWs(text, keyEnd);
|
|
103
|
+
if (text[j] !== ':')
|
|
104
|
+
return { target, end: -1 };
|
|
105
|
+
j = skipWs(text, j + 1);
|
|
106
|
+
}
|
|
107
|
+
let end;
|
|
108
|
+
if (matched) {
|
|
109
|
+
const inner = locate(text, j, segments, k + 1);
|
|
110
|
+
target = inner.target;
|
|
111
|
+
end = inner.end;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
end = endOfValue(text, j);
|
|
115
|
+
}
|
|
116
|
+
if (end < 0)
|
|
117
|
+
return { target, end: -1 };
|
|
118
|
+
j = skipWs(text, end);
|
|
119
|
+
if (text[j] === close)
|
|
120
|
+
return { target, end: j + 1 };
|
|
121
|
+
if (text[j] !== ',')
|
|
122
|
+
return { target, end: -1 };
|
|
123
|
+
j = skipWs(text, j + 1);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function position(text, offset) {
|
|
127
|
+
let line = 1;
|
|
128
|
+
let lineStart = 0;
|
|
129
|
+
for (let k = text.indexOf('\n'); k >= 0 && k < offset; k = text.indexOf('\n', k + 1)) {
|
|
130
|
+
line++;
|
|
131
|
+
lineStart = k + 1;
|
|
132
|
+
}
|
|
133
|
+
return { line, column: offset - lineStart + 1 };
|
|
134
|
+
}
|
|
135
|
+
/** The range of the value `pointer` names in `text`, or `undefined` when it cannot be located. */
|
|
136
|
+
export function pointerRange(text, pointer) {
|
|
137
|
+
if (pointer !== '' && !pointer.startsWith('/'))
|
|
138
|
+
return undefined;
|
|
139
|
+
const segments = pointer === ''
|
|
140
|
+
? []
|
|
141
|
+
: pointer
|
|
142
|
+
.slice(1)
|
|
143
|
+
.split('/')
|
|
144
|
+
.map((s) => s.replace(/~1/g, '/').replace(/~0/g, '~'));
|
|
145
|
+
const at = skipWs(text, 0);
|
|
146
|
+
if (at >= text.length)
|
|
147
|
+
return undefined;
|
|
148
|
+
const found = locate(text, at, segments, 0).target;
|
|
149
|
+
if (found < 0)
|
|
150
|
+
return undefined;
|
|
151
|
+
const container = text[found] === '{' || text[found] === '[';
|
|
152
|
+
const end = container ? found + 1 : endOfValue(text, found);
|
|
153
|
+
if (end < 0)
|
|
154
|
+
return undefined;
|
|
155
|
+
const start = position(text, found);
|
|
156
|
+
return { line: start.line, column: start.column, endLine: start.line, endColumn: start.column + (end - found) };
|
|
157
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A JSON value and the JSON Schema subset the engine reads.
|
|
3
|
+
*
|
|
4
|
+
* In `json/schema/` because an OpenAPI description, an AsyncAPI description and a script's generated
|
|
5
|
+
* types all read the same schemas, and no protocol folder imports another (protocol modules spec
|
|
6
|
+
* §7.2). `rest/openapi/model.ts` re-exports the four names.
|
|
7
|
+
*/
|
|
8
|
+
/** A JSON value, as a document literally contains it (an `example`, a `default`, an `enum` member). */
|
|
9
|
+
export type JsonValue = string | number | boolean | null | readonly JsonValue[] | {
|
|
10
|
+
readonly [key: string]: JsonValue;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The JSON Schema subset the sample generator reads — Draft 2020-12 as 3.1 uses it, and 3.0's own
|
|
14
|
+
* dialect, which differs in the two ways noted on the fields.
|
|
15
|
+
*/
|
|
16
|
+
export interface JsonSchema {
|
|
17
|
+
/** 3.0 allows one type; 3.1 allows a list, which is how it spells "nullable". */
|
|
18
|
+
readonly type?: string | readonly string[];
|
|
19
|
+
readonly format?: string;
|
|
20
|
+
readonly title?: string;
|
|
21
|
+
readonly description?: string;
|
|
22
|
+
readonly default?: JsonValue;
|
|
23
|
+
readonly example?: JsonValue;
|
|
24
|
+
/** 3.1 spelling; 3.0 uses `example`. Both are read. */
|
|
25
|
+
readonly examples?: readonly JsonValue[];
|
|
26
|
+
readonly enum?: readonly JsonValue[];
|
|
27
|
+
readonly const?: JsonValue;
|
|
28
|
+
readonly properties?: Readonly<Record<string, JsonSchema>>;
|
|
29
|
+
readonly required?: readonly string[];
|
|
30
|
+
readonly items?: JsonSchema;
|
|
31
|
+
readonly additionalProperties?: boolean | JsonSchema;
|
|
32
|
+
readonly allOf?: readonly JsonSchema[];
|
|
33
|
+
readonly oneOf?: readonly JsonSchema[];
|
|
34
|
+
readonly anyOf?: readonly JsonSchema[];
|
|
35
|
+
/** Names the property whose value says which `oneOf`/`anyOf` branch an object is. */
|
|
36
|
+
readonly discriminator?: OpenApiDiscriminator;
|
|
37
|
+
/** 3.0 only: 3.1 spells this as a `type` list including `'null'`. */
|
|
38
|
+
readonly nullable?: boolean;
|
|
39
|
+
readonly deprecated?: boolean;
|
|
40
|
+
readonly readOnly?: boolean;
|
|
41
|
+
readonly writeOnly?: boolean;
|
|
42
|
+
/** The `xml` object an XML body's shape honours. */
|
|
43
|
+
readonly xml?: OpenApiXml;
|
|
44
|
+
/** Left in place when a reference could not be resolved, so a sample can say so rather than guess. */
|
|
45
|
+
readonly $ref?: string;
|
|
46
|
+
}
|
|
47
|
+
/** The `discriminator` object. `mapping` values are references, kept as the document spells them. */
|
|
48
|
+
export interface OpenApiDiscriminator {
|
|
49
|
+
readonly propertyName: string;
|
|
50
|
+
readonly mapping?: Readonly<Record<string, string>>;
|
|
51
|
+
}
|
|
52
|
+
/** The `xml` object: how a schema's value is spelled as XML. */
|
|
53
|
+
export interface OpenApiXml {
|
|
54
|
+
readonly name?: string;
|
|
55
|
+
readonly namespace?: string;
|
|
56
|
+
readonly prefix?: string;
|
|
57
|
+
readonly attribute?: boolean;
|
|
58
|
+
readonly wrapped?: boolean;
|
|
59
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A JSON value and the JSON Schema subset the engine reads.
|
|
3
|
+
*
|
|
4
|
+
* In `json/schema/` because an OpenAPI description, an AsyncAPI description and a script's generated
|
|
5
|
+
* types all read the same schemas, and no protocol folder imports another (protocol modules spec
|
|
6
|
+
* §7.2). `rest/openapi/model.ts` re-exports the four names.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading the text of a description, JSON or YAML, into a value.
|
|
3
|
+
*
|
|
4
|
+
* In `json/schema/` because the OpenAPI and the AsyncAPI imports both start here, and no protocol
|
|
5
|
+
* folder imports another (protocol modules spec §7.2). `rest/openapi/parse.ts` re-exports
|
|
6
|
+
* {@link parseDocumentText}.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Parses text as JSON when it looks like JSON, and as YAML otherwise.
|
|
10
|
+
*
|
|
11
|
+
* JSON is a subset of YAML, so one parser would do — but a JSON document with a syntax error gets a
|
|
12
|
+
* far better message from `JSON.parse`, and that message is what the user has to act on.
|
|
13
|
+
*
|
|
14
|
+
* @throws OpenApiError `openapi-malformed` when the text parses as neither.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseDocumentText(text: string, where?: string): unknown;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading the text of a description, JSON or YAML, into a value.
|
|
3
|
+
*
|
|
4
|
+
* In `json/schema/` because the OpenAPI and the AsyncAPI imports both start here, and no protocol
|
|
5
|
+
* folder imports another (protocol modules spec §7.2). `rest/openapi/parse.ts` re-exports
|
|
6
|
+
* {@link parseDocumentText}.
|
|
7
|
+
*/
|
|
8
|
+
import { parse as parseYamlDocument } from 'yaml';
|
|
9
|
+
import { OpenApiError } from '../../errors.js';
|
|
10
|
+
/**
|
|
11
|
+
* Parses text as JSON when it looks like JSON, and as YAML otherwise.
|
|
12
|
+
*
|
|
13
|
+
* JSON is a subset of YAML, so one parser would do — but a JSON document with a syntax error gets a
|
|
14
|
+
* far better message from `JSON.parse`, and that message is what the user has to act on.
|
|
15
|
+
*
|
|
16
|
+
* @throws OpenApiError `openapi-malformed` when the text parses as neither.
|
|
17
|
+
*/
|
|
18
|
+
export function parseDocumentText(text, where = 'the document') {
|
|
19
|
+
const trimmed = text.replace(/^/, '').trimStart();
|
|
20
|
+
if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
|
|
21
|
+
try {
|
|
22
|
+
return JSON.parse(trimmed);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw new OpenApiError('openapi-malformed', `${where} is not valid JSON: ${messageOf(error)}`, { cause: error });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
return parseYamlDocument(trimmed);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
throw new OpenApiError('openapi-malformed', `${where} is not valid YAML: ${messageOf(error)}`, { cause: error });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function messageOf(error) {
|
|
36
|
+
return error instanceof Error ? error.message : String(error);
|
|
37
|
+
}
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* lets the definition be exported byte-exact later.
|
|
7
7
|
*
|
|
8
8
|
* Two rules keep this from being a file-read primitive handed to whoever wrote the document. The
|
|
9
|
-
* *reference policy* is the one WSDL import already uses (`
|
|
9
|
+
* *reference policy* is the one WSDL import already uses (`http/ref-policy.ts`): a `file:` root may
|
|
10
10
|
* only reference files inside its own folder tree, an `http(s):` root may never reach a local file.
|
|
11
11
|
* And the walk is bounded — a visited set per pointer, a depth cap, and a document cap — because a
|
|
12
12
|
* cyclic or fan-out document must end in a diagnostic, not a hang.
|
|
13
13
|
*/
|
|
14
|
-
import type { FetchDocument } from '../../
|
|
14
|
+
import type { FetchDocument } from '../../http/fetch-document.js';
|
|
15
15
|
/** How deep a chain of `$ref`s may nest before the graph is treated as runaway. */
|
|
16
16
|
export declare const MAX_REF_DEPTH = 32;
|
|
17
17
|
/** One document the resolution pulled in, kept for the definition cache. */
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
* lets the definition be exported byte-exact later.
|
|
7
7
|
*
|
|
8
8
|
* Two rules keep this from being a file-read primitive handed to whoever wrote the document. The
|
|
9
|
-
* *reference policy* is the one WSDL import already uses (`
|
|
9
|
+
* *reference policy* is the one WSDL import already uses (`http/ref-policy.ts`): a `file:` root may
|
|
10
10
|
* only reference files inside its own folder tree, an `http(s):` root may never reach a local file.
|
|
11
11
|
* And the walk is bounded — a visited set per pointer, a depth cap, and a document cap — because a
|
|
12
12
|
* cyclic or fan-out document must end in a diagnostic, not a hang.
|
|
13
13
|
*/
|
|
14
14
|
import { OpenApiError } from '../../errors.js';
|
|
15
|
-
import { referencePolicyFor, MAX_IMPORT_DEPTH, MAX_IMPORT_DOCUMENTS } from '../../
|
|
16
|
-
import { parseDocumentText } from './parse.js';
|
|
15
|
+
import { referencePolicyFor, MAX_IMPORT_DEPTH, MAX_IMPORT_DOCUMENTS } from '../../http/ref-policy.js';
|
|
16
|
+
import { parseDocumentText } from './parse-text.js';
|
|
17
17
|
/** How deep a chain of `$ref`s may nest before the graph is treated as runaway. */
|
|
18
18
|
export const MAX_REF_DEPTH = MAX_IMPORT_DEPTH;
|
|
19
19
|
/** Unescapes one JSON pointer token per RFC 6901: `~1` is `/`, `~0` is `~`, in that order. */
|