@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
|
@@ -7,10 +7,15 @@
|
|
|
7
7
|
* unresolved expressions are left verbatim in the output and reported via
|
|
8
8
|
* `unresolved`.
|
|
9
9
|
*
|
|
10
|
+
* `${#Sequence#name}` is the exception: its values come from responses, so
|
|
11
|
+
* they are never expanded again, never reached by the shorthand, and never
|
|
12
|
+
* allowed to form another reference's name (ADR-0015).
|
|
13
|
+
*
|
|
10
14
|
* Pure module: no I/O beyond reading the `scopes.system` map the caller
|
|
11
15
|
* passes in (default `process.env`).
|
|
12
16
|
*/
|
|
13
|
-
import { entitizeValue } from '../
|
|
17
|
+
import { entitizeValue } from '../xml/entitize.js';
|
|
18
|
+
import { SECRET_NAME_PATTERN } from '../secrets/secret-token.js';
|
|
14
19
|
/**
|
|
15
20
|
* Filters `map` down to the entries not listed in `disabled`, preserving the map's key order.
|
|
16
21
|
* Used to make property resolution treat a disabled property as absent (its value stays on disk,
|
|
@@ -30,7 +35,7 @@ export function enabledProperties(map, disabled) {
|
|
|
30
35
|
return result;
|
|
31
36
|
}
|
|
32
37
|
const DEFAULT_MAX_DEPTH = 8;
|
|
33
|
-
const SCOPE_NAMES = new Set(['Project', 'Env', 'Workspace', 'Global', 'System']);
|
|
38
|
+
const SCOPE_NAMES = new Set(['Project', 'Env', 'Workspace', 'Global', 'System', 'Sequence']);
|
|
34
39
|
/** Parses the inside of `${...}` (without the delimiters) into a scope + name. */
|
|
35
40
|
function parseExpr(inner) {
|
|
36
41
|
if (inner.startsWith('#')) {
|
|
@@ -43,6 +48,9 @@ function parseExpr(inner) {
|
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
}
|
|
51
|
+
if (inner.startsWith('secret:')) {
|
|
52
|
+
return { scope: 'Secret', name: inner.slice('secret:'.length) };
|
|
53
|
+
}
|
|
46
54
|
return { scope: undefined, name: inner };
|
|
47
55
|
}
|
|
48
56
|
function lookupInScope(scope, name, scopes) {
|
|
@@ -57,6 +65,10 @@ function lookupInScope(scope, name, scopes) {
|
|
|
57
65
|
return scopes.global[name];
|
|
58
66
|
case 'System':
|
|
59
67
|
return (scopes.system ?? process.env)[name];
|
|
68
|
+
case 'Sequence':
|
|
69
|
+
return scopes.sequence !== undefined && Object.hasOwn(scopes.sequence, name) ? scopes.sequence[name] : undefined;
|
|
70
|
+
case 'Secret':
|
|
71
|
+
return SECRET_NAME_PATTERN.test(name) ? scopes.secrets?.[name] : undefined;
|
|
60
72
|
default:
|
|
61
73
|
return undefined;
|
|
62
74
|
}
|
|
@@ -149,10 +161,12 @@ function pushUnresolved(ctx, outer, via, entry) {
|
|
|
149
161
|
/**
|
|
150
162
|
* The text a resolved reference contributes to the output. When entitizing is on, the value is
|
|
151
163
|
* XML-escaped — but only at the outermost reference (`outer === undefined`), so a property whose
|
|
152
|
-
* value itself expands another property is escaped once rather than once per nesting level.
|
|
164
|
+
* value itself expands another property is escaped once rather than once per nesting level. A
|
|
165
|
+
* `${secret:name}` token (`scope` `Secret`) is never escaped itself: its value goes out exactly as
|
|
166
|
+
* it was stored, which for one moved out of an envelope is XML text already.
|
|
153
167
|
*/
|
|
154
|
-
function substituted(ctx, outer, value) {
|
|
155
|
-
return ctx.entitize && outer === undefined ? entitizeValue(value) : value;
|
|
168
|
+
function substituted(ctx, outer, value, scope) {
|
|
169
|
+
return ctx.entitize && outer === undefined && scope !== 'Secret' ? entitizeValue(value) : value;
|
|
156
170
|
}
|
|
157
171
|
/**
|
|
158
172
|
* Expands all `${...}` expressions in `text` at `depth`, tracking an active-resolution stack for
|
|
@@ -182,7 +196,19 @@ function expandAt(text, depth, stack, ctx, outer, via) {
|
|
|
182
196
|
// The span/chain to attribute anything found from here on down (this token's own span, unless already nested).
|
|
183
197
|
const effectiveOuter = outer ?? { start: token.start, end: token.end };
|
|
184
198
|
// The inner text of the expression may itself contain expressions (nesting); expand those first.
|
|
199
|
+
const usedBefore = ctx.used.length;
|
|
185
200
|
const resolvedInner = expandAt(token.inner, depth + 1, stack, ctx, effectiveOuter, via);
|
|
201
|
+
if (ctx.used.slice(usedBefore).some((entry) => entry.scope === 'Sequence')) {
|
|
202
|
+
// `${${#Sequence#n}}`: a response value would pick the reference, `secret:…` included.
|
|
203
|
+
pushUnresolved(ctx, outer, via, {
|
|
204
|
+
expr: token.raw,
|
|
205
|
+
code: 'name-from-response',
|
|
206
|
+
start: token.start,
|
|
207
|
+
end: token.end,
|
|
208
|
+
});
|
|
209
|
+
out += token.raw;
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
186
212
|
const { scope, name } = parseExpr(resolvedInner);
|
|
187
213
|
if (scope !== undefined) {
|
|
188
214
|
const key = `${scope}#${name}`;
|
|
@@ -212,7 +238,13 @@ function expandAt(text, depth, stack, ctx, outer, via) {
|
|
|
212
238
|
continue;
|
|
213
239
|
}
|
|
214
240
|
ctx.used.push({ scope, name });
|
|
215
|
-
|
|
241
|
+
if (scope === 'Sequence') {
|
|
242
|
+
// Literal: the value came from a response, and expanding it would let a server name any
|
|
243
|
+
// property or secret for the next request to carry back (ADR-0015).
|
|
244
|
+
out += substituted(ctx, outer, value, scope);
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
out += substituted(ctx, outer, expandAt(value, depth + 1, [...stack, key], ctx, effectiveOuter, [...via, key]), scope);
|
|
216
248
|
continue;
|
|
217
249
|
}
|
|
218
250
|
// Shorthand: check it's not referencing an unknown explicit scope form like `${#Foo#x}`.
|
|
@@ -277,6 +309,57 @@ export function expand(text, scopes, options) {
|
|
|
277
309
|
});
|
|
278
310
|
return { text: out, unresolved: ctx.unresolved, used };
|
|
279
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* The `secret:name` values reached from `text`: every `${secret:name}` token found directly, plus
|
|
314
|
+
* any reached by following `${name}` and `${#Scope#name}` property references whose stored value
|
|
315
|
+
* itself expands (or is) a secret token. Reuses the same tokenizer/lookup helpers as {@link expand},
|
|
316
|
+
* and is cycle-safe the same way (a visited `scope#name` is never revisited on a given path).
|
|
317
|
+
* `scopes` is optional — with none given, only literal `${secret:name}` tokens in `text` are found.
|
|
318
|
+
*/
|
|
319
|
+
export function secretNamesIn(text, scopes) {
|
|
320
|
+
const found = new Set();
|
|
321
|
+
function visit(current, stack, depth) {
|
|
322
|
+
if (depth > DEFAULT_MAX_DEPTH) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
for (const token of tokenize(current)) {
|
|
326
|
+
if (token.kind !== 'expr') {
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
const { scope, name } = parseExpr(token.inner);
|
|
330
|
+
if (scope === 'Secret') {
|
|
331
|
+
if (SECRET_NAME_PATTERN.test(name)) {
|
|
332
|
+
found.add(name);
|
|
333
|
+
}
|
|
334
|
+
continue;
|
|
335
|
+
}
|
|
336
|
+
// A Sequence value is substituted literally, so a `${secret:…}` inside one is never resolved.
|
|
337
|
+
if (scopes === undefined || scope === 'Sequence') {
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
let value;
|
|
341
|
+
let key;
|
|
342
|
+
if (scope !== undefined) {
|
|
343
|
+
value = lookupInScope(scope, name, scopes);
|
|
344
|
+
key = `${scope}#${name}`;
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
const shorthand = lookupShorthand(name, scopes);
|
|
348
|
+
if (shorthand === undefined) {
|
|
349
|
+
continue;
|
|
350
|
+
}
|
|
351
|
+
value = shorthand.value;
|
|
352
|
+
key = `${shorthand.scope}#${name}`;
|
|
353
|
+
}
|
|
354
|
+
if (value === undefined || stack.includes(key)) {
|
|
355
|
+
continue;
|
|
356
|
+
}
|
|
357
|
+
visit(value, [...stack, key], depth + 1);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
visit(text, [], 0);
|
|
361
|
+
return [...found];
|
|
362
|
+
}
|
|
280
363
|
/** True when `text` contains at least one (non-escaped) `${` sequence. */
|
|
281
364
|
export function hasExpansions(text) {
|
|
282
365
|
for (let i = 0; i < text.length; i++) {
|
|
@@ -290,67 +373,3 @@ export function hasExpansions(text) {
|
|
|
290
373
|
}
|
|
291
374
|
return false;
|
|
292
375
|
}
|
|
293
|
-
/**
|
|
294
|
-
* Expands the endpoint, envelope, soap action, and every header name/value of a
|
|
295
|
-
* {@link SoapSendInput}. Header *names* are expanded too, so two headers whose names expand to
|
|
296
|
-
* the same string collapse into one entry (last-write-wins, per `Object.entries` insertion
|
|
297
|
-
* order — same as any other JS object key collision).
|
|
298
|
-
*
|
|
299
|
-
* Attachments are expanded as well, in the two places a property can reasonably appear: the
|
|
300
|
-
* display/file name that ends up in `Content-Disposition`, and the path of a file-backed
|
|
301
|
-
* attachment. Content-IDs are left alone — they are generated, not authored.
|
|
302
|
-
*/
|
|
303
|
-
export function expandSendInput(input, scopes, options) {
|
|
304
|
-
const unresolved = [];
|
|
305
|
-
function run(text, entitize = false) {
|
|
306
|
-
const result = expand(text, scopes, { ...options, entitize });
|
|
307
|
-
unresolved.push(...result.unresolved);
|
|
308
|
-
return result.text;
|
|
309
|
-
}
|
|
310
|
-
const endpoint = run(input.endpoint);
|
|
311
|
-
// Only the envelope is entitized: escaping a header value or an endpoint would corrupt it.
|
|
312
|
-
const envelopeXml = run(input.envelopeXml, options?.entitize ?? input.entitize ?? false);
|
|
313
|
-
const soapAction = input.soapAction !== undefined ? run(input.soapAction) : undefined;
|
|
314
|
-
let headers;
|
|
315
|
-
if (input.headers !== undefined) {
|
|
316
|
-
headers = {};
|
|
317
|
-
for (const [name, value] of Object.entries(input.headers)) {
|
|
318
|
-
headers[run(name)] = run(value);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
const attachments = input.attachments?.map((attachment) => ({
|
|
322
|
-
...attachment,
|
|
323
|
-
name: run(attachment.name),
|
|
324
|
-
source: attachment.source.kind === 'path'
|
|
325
|
-
? { kind: 'path', path: run(attachment.source.path) }
|
|
326
|
-
: attachment.source,
|
|
327
|
-
}));
|
|
328
|
-
// The explicit WS-Addressing fields are user-typed strings just like the endpoint or a
|
|
329
|
-
// header value, and may carry the same `${#Env#…}`/`${#Global#…}` references — so they go
|
|
330
|
-
// through the same scopes rather than reaching the wire verbatim.
|
|
331
|
-
const wsa = input.wsa !== undefined
|
|
332
|
-
? {
|
|
333
|
-
...input.wsa,
|
|
334
|
-
config: {
|
|
335
|
-
...input.wsa.config,
|
|
336
|
-
...(input.wsa.config.to !== undefined ? { to: run(input.wsa.config.to) } : {}),
|
|
337
|
-
...(input.wsa.config.action !== undefined ? { action: run(input.wsa.config.action) } : {}),
|
|
338
|
-
...(input.wsa.config.replyTo !== undefined ? { replyTo: run(input.wsa.config.replyTo) } : {}),
|
|
339
|
-
...(input.wsa.config.from !== undefined ? { from: run(input.wsa.config.from) } : {}),
|
|
340
|
-
...(input.wsa.config.faultTo !== undefined ? { faultTo: run(input.wsa.config.faultTo) } : {}),
|
|
341
|
-
},
|
|
342
|
-
}
|
|
343
|
-
: undefined;
|
|
344
|
-
return {
|
|
345
|
-
input: {
|
|
346
|
-
...input,
|
|
347
|
-
endpoint,
|
|
348
|
-
envelopeXml,
|
|
349
|
-
...(soapAction !== undefined ? { soapAction } : {}),
|
|
350
|
-
...(headers !== undefined ? { headers } : {}),
|
|
351
|
-
...(attachments !== undefined ? { attachments } : {}),
|
|
352
|
-
...(wsa !== undefined ? { wsa } : {}),
|
|
353
|
-
},
|
|
354
|
-
unresolved,
|
|
355
|
-
};
|
|
356
|
-
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds where a request's files live on disk, so a caller (the desktop main process, for a
|
|
3
|
+
* `<slug>.golden.yaml` snapshot sidecar) can place a file beside them without re-deriving the
|
|
4
|
+
* layout `serialize.ts` already owns.
|
|
5
|
+
*/
|
|
6
|
+
import type { Project } from './model.js';
|
|
7
|
+
/** Where a request's files live: `dir` and `slug` such that `${dir}/${slug}.request.yaml` is a project file. */
|
|
8
|
+
export interface RequestFileLocation {
|
|
9
|
+
/** POSIX path, relative to the project root. */
|
|
10
|
+
readonly dir: string;
|
|
11
|
+
readonly slug: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Locates the request identified by `requestId`: the folder it lives under and its file slug.
|
|
15
|
+
*
|
|
16
|
+
* Only SOAP, REST and webhook requests have file locations today — a gRPC or WebSocket request, or
|
|
17
|
+
* an unknown id, returns `undefined`. `dir` and `slug` are derived the same way `serialize.ts`
|
|
18
|
+
* builds its keys, so `${dir}/${slug}.request.yaml` is always a key of `projectFiles(project)`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function requestFileLocation(project: Project, requestId: string): RequestFileLocation | undefined;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds where a request's files live on disk, so a caller (the desktop main process, for a
|
|
3
|
+
* `<slug>.golden.yaml` snapshot sidecar) can place a file beside them without re-deriving the
|
|
4
|
+
* layout `serialize.ts` already owns.
|
|
5
|
+
*/
|
|
6
|
+
import { APIS_DIR, INTERFACES_DIR, OPERATIONS_DIR, REQUESTS_DIR, WEBHOOKS_DIR } from './paths.js';
|
|
7
|
+
/** Depth-first search of a REST API's folder tree for the request with `requestId`. */
|
|
8
|
+
function findInFolders(folders, dir, requestId) {
|
|
9
|
+
for (const folder of folders) {
|
|
10
|
+
const childDir = `${dir}/${folder.slug}`;
|
|
11
|
+
for (const request of folder.requests) {
|
|
12
|
+
if (request.id === requestId) {
|
|
13
|
+
return { dir: childDir, slug: request.slug };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const found = findInFolders(folder.folders, childDir, requestId);
|
|
17
|
+
if (found !== undefined) {
|
|
18
|
+
return found;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Locates the request identified by `requestId`: the folder it lives under and its file slug.
|
|
25
|
+
*
|
|
26
|
+
* Only SOAP, REST and webhook requests have file locations today — a gRPC or WebSocket request, or
|
|
27
|
+
* an unknown id, returns `undefined`. `dir` and `slug` are derived the same way `serialize.ts`
|
|
28
|
+
* builds its keys, so `${dir}/${slug}.request.yaml` is always a key of `projectFiles(project)`.
|
|
29
|
+
*/
|
|
30
|
+
export function requestFileLocation(project, requestId) {
|
|
31
|
+
for (const iface of project.interfaces) {
|
|
32
|
+
for (const operation of iface.operations) {
|
|
33
|
+
for (const request of operation.requests) {
|
|
34
|
+
if (request.id === requestId) {
|
|
35
|
+
return { dir: `${INTERFACES_DIR}/${iface.slug}/${OPERATIONS_DIR}/${operation.slug}`, slug: request.slug };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
for (const api of project.apis) {
|
|
41
|
+
const base = `${APIS_DIR}/${api.slug}/${REQUESTS_DIR}`;
|
|
42
|
+
for (const request of api.requests) {
|
|
43
|
+
if (request.id === requestId) {
|
|
44
|
+
return { dir: base, slug: request.slug };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const found = findInFolders(api.folders, base, requestId);
|
|
48
|
+
if (found !== undefined) {
|
|
49
|
+
return found;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (project.webhooks !== undefined) {
|
|
53
|
+
const base = `${WEBHOOKS_DIR}/${REQUESTS_DIR}`;
|
|
54
|
+
const root = project.webhooks.requests.find((request) => request.id === requestId);
|
|
55
|
+
if (root !== undefined)
|
|
56
|
+
return { dir: base, slug: root.slug };
|
|
57
|
+
const found = findInFolders(project.webhooks.folders, base, requestId);
|
|
58
|
+
if (found !== undefined)
|
|
59
|
+
return found;
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
package/dist/project/save.d.ts
CHANGED
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* rewritten (so an autosave produces a one-file git diff, and file watchers
|
|
6
6
|
* stay quiet), and every write goes through a temp file plus `rename`.
|
|
7
7
|
*
|
|
8
|
-
* Only Wirebench's own subtrees are managed
|
|
8
|
+
* Only Wirebench's own subtrees are managed: core lists its own files, and each
|
|
9
|
+
* protocol module lists those of its containers. The definition cache
|
|
9
10
|
* (`interfaces/<slug>/definition/`) and `attachments/` belong to other
|
|
10
11
|
* components and are never read or removed here — except when their owning
|
|
11
12
|
* interface is deleted, in which case the whole interface folder goes.
|
|
12
13
|
*/
|
|
13
|
-
import type {
|
|
14
|
+
import type { ProtocolRegistry } from '../protocol/registry.js';
|
|
14
15
|
import type { FsLike } from './fs.js';
|
|
16
|
+
import type { Project } from './model.js';
|
|
15
17
|
import type { ProjectFiles } from './serialize.js';
|
|
16
18
|
/** What a {@link saveProject} call did, as relative `/`-separated paths. */
|
|
17
19
|
export interface SaveResult {
|
|
@@ -39,6 +41,12 @@ export interface SaveProjectOptions {
|
|
|
39
41
|
readonly fs?: FsLike;
|
|
40
42
|
/** Recorded in the manifest as `writtenBy`. Defaults to `'wirebench'`. */
|
|
41
43
|
readonly writer?: string;
|
|
44
|
+
/**
|
|
45
|
+
* The protocols this save can write: their containers are what is written, and their files what
|
|
46
|
+
* is managed. A container the project holds whose kind has no enabled module here is left on
|
|
47
|
+
* disk exactly as it is, as a placeholder is. Defaults to the built-in ones, all switched on.
|
|
48
|
+
*/
|
|
49
|
+
readonly registry?: ProtocolRegistry;
|
|
42
50
|
/**
|
|
43
51
|
* Relative `<slug>.xml.bak` paths naming the requests to back up before this save overwrites
|
|
44
52
|
* their `<slug>.xml`, as produced by `wsdl/update-definition.ts`'s `applyUpdate`. The bytes
|
|
@@ -61,5 +69,7 @@ export interface SaveProjectOptions {
|
|
|
61
69
|
* Saves `project` into the directory `root`, creating it if needed.
|
|
62
70
|
*
|
|
63
71
|
* @returns which files were written, removed and left untouched.
|
|
72
|
+
* @throws ProjectError `container-slug-conflict` when a container has the slug of a placeholder in
|
|
73
|
+
* its directory; `sequence-file-conflict`; what {@link projectFiles} throws
|
|
64
74
|
*/
|
|
65
75
|
export declare function saveProject(project: Project, root: string, options?: SaveProjectOptions): Promise<SaveResult>;
|