@signstack/cli 0.1.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 +458 -0
- package/bin/run.js +12 -0
- package/dist/apps/signstack-cli/schemas/asset.schema.json +220 -0
- package/dist/apps/signstack-cli/schemas/blueprint.schema.json +485 -0
- package/dist/apps/signstack-cli/schemas/jsonata-function.schema.json +185 -0
- package/dist/apps/signstack-cli/schemas/schema.schema.json +97 -0
- package/dist/apps/signstack-cli/schemas/template.schema.json +295 -0
- package/dist/apps/signstack-cli/src/commands/auth/login.d.ts +25 -0
- package/dist/apps/signstack-cli/src/commands/auth/login.js +229 -0
- package/dist/apps/signstack-cli/src/commands/auth/login.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/auth/logout.d.ts +10 -0
- package/dist/apps/signstack-cli/src/commands/auth/logout.js +59 -0
- package/dist/apps/signstack-cli/src/commands/auth/logout.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/auth/whoami.d.ts +9 -0
- package/dist/apps/signstack-cli/src/commands/auth/whoami.js +85 -0
- package/dist/apps/signstack-cli/src/commands/auth/whoami.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/generate.d.ts +51 -0
- package/dist/apps/signstack-cli/src/commands/generate.js +479 -0
- package/dist/apps/signstack-cli/src/commands/generate.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/preview.d.ts +24 -0
- package/dist/apps/signstack-cli/src/commands/preview.js +162 -0
- package/dist/apps/signstack-cli/src/commands/preview.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/pull.d.ts +28 -0
- package/dist/apps/signstack-cli/src/commands/pull.js +244 -0
- package/dist/apps/signstack-cli/src/commands/pull.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/push.d.ts +46 -0
- package/dist/apps/signstack-cli/src/commands/push.js +460 -0
- package/dist/apps/signstack-cli/src/commands/push.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/run.d.ts +22 -0
- package/dist/apps/signstack-cli/src/commands/run.js +126 -0
- package/dist/apps/signstack-cli/src/commands/run.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/test.d.ts +6 -0
- package/dist/apps/signstack-cli/src/commands/test.js +25 -0
- package/dist/apps/signstack-cli/src/commands/test.js.map +1 -0
- package/dist/apps/signstack-cli/src/commands/validate.d.ts +59 -0
- package/dist/apps/signstack-cli/src/commands/validate.js +558 -0
- package/dist/apps/signstack-cli/src/commands/validate.js.map +1 -0
- package/dist/apps/signstack-cli/src/index.d.ts +1 -0
- package/dist/apps/signstack-cli/src/index.js +2 -0
- package/dist/apps/signstack-cli/src/index.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/api-client.d.ts +77 -0
- package/dist/apps/signstack-cli/src/lib/api-client.js +269 -0
- package/dist/apps/signstack-cli/src/lib/api-client.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/base-command.d.ts +38 -0
- package/dist/apps/signstack-cli/src/lib/base-command.js +135 -0
- package/dist/apps/signstack-cli/src/lib/base-command.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/config.d.ts +47 -0
- package/dist/apps/signstack-cli/src/lib/config.js +106 -0
- package/dist/apps/signstack-cli/src/lib/config.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/entity-data-resolver.d.ts +31 -0
- package/dist/apps/signstack-cli/src/lib/entity-data-resolver.js +107 -0
- package/dist/apps/signstack-cli/src/lib/entity-data-resolver.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/local-resource-loader.d.ts +72 -0
- package/dist/apps/signstack-cli/src/lib/local-resource-loader.js +238 -0
- package/dist/apps/signstack-cli/src/lib/local-resource-loader.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/path-utils.d.ts +4 -0
- package/dist/apps/signstack-cli/src/lib/path-utils.js +7 -0
- package/dist/apps/signstack-cli/src/lib/path-utils.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/payload-builder.d.ts +127 -0
- package/dist/apps/signstack-cli/src/lib/payload-builder.js +545 -0
- package/dist/apps/signstack-cli/src/lib/payload-builder.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/preview-handler.d.ts +95 -0
- package/dist/apps/signstack-cli/src/lib/preview-handler.js +611 -0
- package/dist/apps/signstack-cli/src/lib/preview-handler.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/preview-output-formatter.d.ts +63 -0
- package/dist/apps/signstack-cli/src/lib/preview-output-formatter.js +198 -0
- package/dist/apps/signstack-cli/src/lib/preview-output-formatter.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/public-api-client.d.ts +13 -0
- package/dist/apps/signstack-cli/src/lib/public-api-client.js +39 -0
- package/dist/apps/signstack-cli/src/lib/public-api-client.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/resource-puller.d.ts +131 -0
- package/dist/apps/signstack-cli/src/lib/resource-puller.js +800 -0
- package/dist/apps/signstack-cli/src/lib/resource-puller.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/resource-pusher.d.ts +87 -0
- package/dist/apps/signstack-cli/src/lib/resource-pusher.js +361 -0
- package/dist/apps/signstack-cli/src/lib/resource-pusher.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/resource-scanner.d.ts +29 -0
- package/dist/apps/signstack-cli/src/lib/resource-scanner.js +101 -0
- package/dist/apps/signstack-cli/src/lib/resource-scanner.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/resource-validator.d.ts +44 -0
- package/dist/apps/signstack-cli/src/lib/resource-validator.js +158 -0
- package/dist/apps/signstack-cli/src/lib/resource-validator.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/run-handler.d.ts +47 -0
- package/dist/apps/signstack-cli/src/lib/run-handler.js +266 -0
- package/dist/apps/signstack-cli/src/lib/run-handler.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/safe-path.d.ts +28 -0
- package/dist/apps/signstack-cli/src/lib/safe-path.js +44 -0
- package/dist/apps/signstack-cli/src/lib/safe-path.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/scenario-file.d.ts +35 -0
- package/dist/apps/signstack-cli/src/lib/scenario-file.js +80 -0
- package/dist/apps/signstack-cli/src/lib/scenario-file.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/schema-validator.d.ts +8 -0
- package/dist/apps/signstack-cli/src/lib/schema-validator.js +39 -0
- package/dist/apps/signstack-cli/src/lib/schema-validator.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/url-validator.d.ts +17 -0
- package/dist/apps/signstack-cli/src/lib/url-validator.js +61 -0
- package/dist/apps/signstack-cli/src/lib/url-validator.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/yaml-document-parser.d.ts +25 -0
- package/dist/apps/signstack-cli/src/lib/yaml-document-parser.js +133 -0
- package/dist/apps/signstack-cli/src/lib/yaml-document-parser.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/yaml-transforms.d.ts +3 -0
- package/dist/apps/signstack-cli/src/lib/yaml-transforms.js +32 -0
- package/dist/apps/signstack-cli/src/lib/yaml-transforms.js.map +1 -0
- package/dist/apps/signstack-cli/src/lib/yaml-writer.d.ts +47 -0
- package/dist/apps/signstack-cli/src/lib/yaml-writer.js +160 -0
- package/dist/apps/signstack-cli/src/lib/yaml-writer.js.map +1 -0
- package/dist/apps/signstack-cli/src/types/auth.types.d.ts +48 -0
- package/dist/apps/signstack-cli/src/types/auth.types.js +31 -0
- package/dist/apps/signstack-cli/src/types/auth.types.js.map +1 -0
- package/dist/apps/signstack-cli/src/types/schema.types.d.ts +14 -0
- package/dist/apps/signstack-cli/src/types/schema.types.js +16 -0
- package/dist/apps/signstack-cli/src/types/schema.types.js.map +1 -0
- package/dist/apps/signstack-cli/src/types/yaml.types.d.ts +144 -0
- package/dist/apps/signstack-cli/src/types/yaml.types.js +2 -0
- package/dist/apps/signstack-cli/src/types/yaml.types.js.map +1 -0
- package/dist/libs/common/base/src/index.d.ts +14 -0
- package/dist/libs/common/base/src/index.js +44 -0
- package/dist/libs/common/base/src/index.js.map +1 -0
- package/dist/libs/common/base/src/lib/address.util.d.ts +12 -0
- package/dist/libs/common/base/src/lib/address.util.js +55 -0
- package/dist/libs/common/base/src/lib/address.util.js.map +1 -0
- package/dist/libs/common/base/src/lib/country-code-data.d.ts +5 -0
- package/dist/libs/common/base/src/lib/country-code-data.js +1256 -0
- package/dist/libs/common/base/src/lib/country-code-data.js.map +1 -0
- package/dist/libs/common/base/src/lib/date.util.d.ts +13 -0
- package/dist/libs/common/base/src/lib/date.util.js +135 -0
- package/dist/libs/common/base/src/lib/date.util.js.map +1 -0
- package/dist/libs/common/base/src/lib/headers.d.ts +1 -0
- package/dist/libs/common/base/src/lib/headers.js +5 -0
- package/dist/libs/common/base/src/lib/headers.js.map +1 -0
- package/dist/libs/common/base/src/lib/jsonata.service.d.ts +32 -0
- package/dist/libs/common/base/src/lib/jsonata.service.js +207 -0
- package/dist/libs/common/base/src/lib/jsonata.service.js.map +1 -0
- package/dist/libs/common/base/src/lib/key-validation.constants.d.ts +37 -0
- package/dist/libs/common/base/src/lib/key-validation.constants.js +144 -0
- package/dist/libs/common/base/src/lib/key-validation.constants.js.map +1 -0
- package/dist/libs/common/base/src/lib/phone-util.d.ts +16 -0
- package/dist/libs/common/base/src/lib/phone-util.js +61 -0
- package/dist/libs/common/base/src/lib/phone-util.js.map +1 -0
- package/dist/libs/common/base/src/lib/schema-validation.util.d.ts +24 -0
- package/dist/libs/common/base/src/lib/schema-validation.util.js +155 -0
- package/dist/libs/common/base/src/lib/schema-validation.util.js.map +1 -0
- package/dist/libs/common/base/src/lib/string-builder.d.ts +48 -0
- package/dist/libs/common/base/src/lib/string-builder.js +90 -0
- package/dist/libs/common/base/src/lib/string-builder.js.map +1 -0
- package/dist/libs/common/base/src/lib/util.d.ts +20 -0
- package/dist/libs/common/base/src/lib/util.js +110 -0
- package/dist/libs/common/base/src/lib/util.js.map +1 -0
- package/dist/libs/signstack/base/schemas/asset.schema.json +220 -0
- package/dist/libs/signstack/base/schemas/blueprint.schema.json +485 -0
- package/dist/libs/signstack/base/schemas/jsonata-function.schema.json +185 -0
- package/dist/libs/signstack/base/schemas/schema.schema.json +97 -0
- package/dist/libs/signstack/base/schemas/template.schema.json +295 -0
- package/dist/libs/signstack/base/src/index.d.ts +28 -0
- package/dist/libs/signstack/base/src/index.js +32 -0
- package/dist/libs/signstack/base/src/index.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/constants.d.ts +123 -0
- package/dist/libs/signstack/base/src/lib/constants.js +131 -0
- package/dist/libs/signstack/base/src/lib/constants.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/hash.util.d.ts +58 -0
- package/dist/libs/signstack/base/src/lib/hash.util.js +90 -0
- package/dist/libs/signstack/base/src/lib/hash.util.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/is-schema-renderable.util.d.ts +29 -0
- package/dist/libs/signstack/base/src/lib/is-schema-renderable.util.js +93 -0
- package/dist/libs/signstack/base/src/lib/is-schema-renderable.util.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/ai-chat.d.ts +41 -0
- package/dist/libs/signstack/base/src/lib/models/ai-chat.js +3 -0
- package/dist/libs/signstack/base/src/lib/models/ai-chat.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/api-key.d.ts +54 -0
- package/dist/libs/signstack/base/src/lib/models/api-key.js +18 -0
- package/dist/libs/signstack/base/src/lib/models/api-key.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/asset.d.ts +101 -0
- package/dist/libs/signstack/base/src/lib/models/asset.js +11 -0
- package/dist/libs/signstack/base/src/lib/models/asset.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/auth.d.ts +142 -0
- package/dist/libs/signstack/base/src/lib/models/auth.js +35 -0
- package/dist/libs/signstack/base/src/lib/models/auth.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/base.d.ts +134 -0
- package/dist/libs/signstack/base/src/lib/models/base.js +71 -0
- package/dist/libs/signstack/base/src/lib/models/base.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/blueprint.d.ts +311 -0
- package/dist/libs/signstack/base/src/lib/models/blueprint.js +9 -0
- package/dist/libs/signstack/base/src/lib/models/blueprint.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/file.d.ts +75 -0
- package/dist/libs/signstack/base/src/lib/models/file.js +9 -0
- package/dist/libs/signstack/base/src/lib/models/file.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/jsonata-function.d.ts +111 -0
- package/dist/libs/signstack/base/src/lib/models/jsonata-function.js +19 -0
- package/dist/libs/signstack/base/src/lib/models/jsonata-function.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/marketplace-listing.d.ts +132 -0
- package/dist/libs/signstack/base/src/lib/models/marketplace-listing.js +22 -0
- package/dist/libs/signstack/base/src/lib/models/marketplace-listing.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/membership.d.ts +127 -0
- package/dist/libs/signstack/base/src/lib/models/membership.js +22 -0
- package/dist/libs/signstack/base/src/lib/models/membership.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/namespace.d.ts +87 -0
- package/dist/libs/signstack/base/src/lib/models/namespace.js +57 -0
- package/dist/libs/signstack/base/src/lib/models/namespace.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/organization.d.ts +79 -0
- package/dist/libs/signstack/base/src/lib/models/organization.js +41 -0
- package/dist/libs/signstack/base/src/lib/models/organization.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/render-job.d.ts +88 -0
- package/dist/libs/signstack/base/src/lib/models/render-job.js +3 -0
- package/dist/libs/signstack/base/src/lib/models/render-job.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/resource-edge.d.ts +60 -0
- package/dist/libs/signstack/base/src/lib/models/resource-edge.js +202 -0
- package/dist/libs/signstack/base/src/lib/models/resource-edge.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/scenario.d.ts +138 -0
- package/dist/libs/signstack/base/src/lib/models/scenario.js +14 -0
- package/dist/libs/signstack/base/src/lib/models/scenario.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/schema.d.ts +131 -0
- package/dist/libs/signstack/base/src/lib/models/schema.js +44 -0
- package/dist/libs/signstack/base/src/lib/models/schema.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/shareable-link.d.ts +215 -0
- package/dist/libs/signstack/base/src/lib/models/shareable-link.js +27 -0
- package/dist/libs/signstack/base/src/lib/models/shareable-link.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/subscription.d.ts +279 -0
- package/dist/libs/signstack/base/src/lib/models/subscription.js +105 -0
- package/dist/libs/signstack/base/src/lib/models/subscription.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/template.d.ts +248 -0
- package/dist/libs/signstack/base/src/lib/models/template.js +32 -0
- package/dist/libs/signstack/base/src/lib/models/template.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/user.d.ts +30 -0
- package/dist/libs/signstack/base/src/lib/models/user.js +3 -0
- package/dist/libs/signstack/base/src/lib/models/user.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/webhook.d.ts +223 -0
- package/dist/libs/signstack/base/src/lib/models/webhook.js +62 -0
- package/dist/libs/signstack/base/src/lib/models/webhook.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/models/workflow.d.ts +917 -0
- package/dist/libs/signstack/base/src/lib/models/workflow.js +152 -0
- package/dist/libs/signstack/base/src/lib/models/workflow.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/util.d.ts +92 -0
- package/dist/libs/signstack/base/src/lib/util.js +406 -0
- package/dist/libs/signstack/base/src/lib/util.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/dependency-graph.d.ts +94 -0
- package/dist/libs/signstack/base/src/lib/validation/dependency-graph.js +446 -0
- package/dist/libs/signstack/base/src/lib/validation/dependency-graph.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/graph.types.d.ts +57 -0
- package/dist/libs/signstack/base/src/lib/validation/graph.types.js +8 -0
- package/dist/libs/signstack/base/src/lib/validation/graph.types.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/index.d.ts +9 -0
- package/dist/libs/signstack/base/src/lib/validation/index.js +23 -0
- package/dist/libs/signstack/base/src/lib/validation/index.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/resource-schemas.d.ts +3 -0
- package/dist/libs/signstack/base/src/lib/validation/resource-schemas.js +27 -0
- package/dist/libs/signstack/base/src/lib/validation/resource-schemas.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/schema-validation.types.d.ts +57 -0
- package/dist/libs/signstack/base/src/lib/validation/schema-validation.types.js +57 -0
- package/dist/libs/signstack/base/src/lib/validation/schema-validation.types.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/schema-validator.d.ts +38 -0
- package/dist/libs/signstack/base/src/lib/validation/schema-validator.js +146 -0
- package/dist/libs/signstack/base/src/lib/validation/schema-validator.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-dependencies.d.ts +22 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-dependencies.js +69 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-dependencies.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-resource-tree.d.ts +37 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-resource-tree.js +250 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-resource-tree.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-template-inputs.d.ts +24 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-template-inputs.js +98 -0
- package/dist/libs/signstack/base/src/lib/validation/validate-template-inputs.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/validation/yaml-document-utils.d.ts +12 -0
- package/dist/libs/signstack/base/src/lib/validation/yaml-document-utils.js +50 -0
- package/dist/libs/signstack/base/src/lib/validation/yaml-document-utils.js.map +1 -0
- package/dist/libs/signstack/base/src/lib/yaml-spec-converter.d.ts +101 -0
- package/dist/libs/signstack/base/src/lib/yaml-spec-converter.js +998 -0
- package/dist/libs/signstack/base/src/lib/yaml-spec-converter.js.map +1 -0
- package/oclif.manifest.json +822 -0
- package/package.json +101 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceKind = void 0;
|
|
4
|
+
exports.toResourceCascadeKey = toResourceCascadeKey;
|
|
5
|
+
exports.parseResourceCascadeKey = parseResourceCascadeKey;
|
|
6
|
+
exports.toResourceId = toResourceId;
|
|
7
|
+
exports.parseResourceId = parseResourceId;
|
|
8
|
+
exports.getTemplateDeps = getTemplateDeps;
|
|
9
|
+
exports.getAssetDeps = getAssetDeps;
|
|
10
|
+
exports.getFunctionDeps = getFunctionDeps;
|
|
11
|
+
exports.getBlueprintDeps = getBlueprintDeps;
|
|
12
|
+
exports.collectTransitiveDeps = collectTransitiveDeps;
|
|
13
|
+
var ResourceKind;
|
|
14
|
+
(function (ResourceKind) {
|
|
15
|
+
ResourceKind["Blueprint"] = "blueprint";
|
|
16
|
+
ResourceKind["Template"] = "template";
|
|
17
|
+
ResourceKind["Schema"] = "schema";
|
|
18
|
+
ResourceKind["Asset"] = "asset";
|
|
19
|
+
ResourceKind["JsonataFunction"] = "jsonata_function";
|
|
20
|
+
})(ResourceKind || (exports.ResourceKind = ResourceKind = {}));
|
|
21
|
+
function toResourceCascadeKey(kind, key) {
|
|
22
|
+
return `${kind}:${key}`;
|
|
23
|
+
}
|
|
24
|
+
function parseResourceCascadeKey(resourceCascadeKey) {
|
|
25
|
+
const colonIdx = resourceCascadeKey.indexOf(':');
|
|
26
|
+
if (colonIdx === -1) {
|
|
27
|
+
return { kind: '', key: resourceCascadeKey };
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
kind: resourceCascadeKey.substring(0, colonIdx),
|
|
31
|
+
key: resourceCascadeKey.substring(colonIdx + 1),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function toResourceId(kind, key, version) {
|
|
35
|
+
return `${toResourceCascadeKey(kind, key)}@${version}`;
|
|
36
|
+
}
|
|
37
|
+
function parseResourceId(resourceId) {
|
|
38
|
+
const atIdx = resourceId.lastIndexOf('@');
|
|
39
|
+
const cascadeKey = resourceId.substring(0, atIdx);
|
|
40
|
+
const parsedCascade = parseResourceCascadeKey(cascadeKey);
|
|
41
|
+
return {
|
|
42
|
+
kind: parsedCascade.kind,
|
|
43
|
+
key: parsedCascade.key,
|
|
44
|
+
version: resourceId.substring(atIdx + 1),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/** Template spec → direct deps: content asset, functions, input schemas. */
|
|
48
|
+
function getTemplateDeps(spec) {
|
|
49
|
+
const deps = [];
|
|
50
|
+
if (spec.contentKey && spec.contentVersion) {
|
|
51
|
+
deps.push({
|
|
52
|
+
kind: ResourceKind.Asset,
|
|
53
|
+
key: spec.contentKey,
|
|
54
|
+
version: spec.contentVersion,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
for (const dep of spec.functions ?? []) {
|
|
58
|
+
deps.push({
|
|
59
|
+
kind: ResourceKind.JsonataFunction,
|
|
60
|
+
key: dep.functionKey,
|
|
61
|
+
version: dep.functionVersion,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
for (const input of spec.inputs ?? []) {
|
|
65
|
+
if (input.schemaKey) {
|
|
66
|
+
deps.push({
|
|
67
|
+
kind: ResourceKind.Schema,
|
|
68
|
+
key: input.schemaKey,
|
|
69
|
+
version: input.schemaVersion,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const role of spec.roles ?? []) {
|
|
74
|
+
if (role.output) {
|
|
75
|
+
deps.push({ kind: ResourceKind.Schema, key: role.output.schemaKey, version: role.output.schemaVersion });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return deps;
|
|
79
|
+
}
|
|
80
|
+
/** Asset spec → direct deps: sub-assets (partials/images/styles), viewModelSchema. */
|
|
81
|
+
function getAssetDeps(spec) {
|
|
82
|
+
const deps = [];
|
|
83
|
+
const config = spec.htmlConfig;
|
|
84
|
+
if (!config)
|
|
85
|
+
return deps;
|
|
86
|
+
for (const ref of [
|
|
87
|
+
...(config.partials ?? []),
|
|
88
|
+
...(config.styles ?? []),
|
|
89
|
+
...(config.images ?? []),
|
|
90
|
+
]) {
|
|
91
|
+
deps.push({ kind: ResourceKind.Asset, key: ref.key, version: ref.version });
|
|
92
|
+
}
|
|
93
|
+
if (config.data?.schemaKey && config.data?.schemaVersion) {
|
|
94
|
+
deps.push({
|
|
95
|
+
kind: ResourceKind.Schema,
|
|
96
|
+
key: config.data.schemaKey,
|
|
97
|
+
version: config.data.schemaVersion,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return deps;
|
|
101
|
+
}
|
|
102
|
+
/** Function spec → direct deps: param schemas, returnType schema. */
|
|
103
|
+
function getFunctionDeps(spec) {
|
|
104
|
+
const deps = [];
|
|
105
|
+
for (const param of spec.params ?? []) {
|
|
106
|
+
if (param.schemaKey && param.schemaVersion) {
|
|
107
|
+
deps.push({
|
|
108
|
+
kind: ResourceKind.Schema,
|
|
109
|
+
key: param.schemaKey,
|
|
110
|
+
version: param.schemaVersion,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (spec.returnType?.schemaKey && spec.returnType?.schemaVersion) {
|
|
115
|
+
deps.push({
|
|
116
|
+
kind: ResourceKind.Schema,
|
|
117
|
+
key: spec.returnType.schemaKey,
|
|
118
|
+
version: spec.returnType.schemaVersion,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return deps;
|
|
122
|
+
}
|
|
123
|
+
/** Blueprint spec → direct deps: functions, input schemas, envelope templates. */
|
|
124
|
+
function getBlueprintDeps(spec) {
|
|
125
|
+
const deps = [];
|
|
126
|
+
for (const f of spec.functions ?? []) {
|
|
127
|
+
deps.push({
|
|
128
|
+
kind: ResourceKind.JsonataFunction,
|
|
129
|
+
key: f.functionKey,
|
|
130
|
+
version: f.functionVersion,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
for (const input of spec.inputs ?? []) {
|
|
134
|
+
if (input.schemaKey) {
|
|
135
|
+
deps.push({
|
|
136
|
+
kind: ResourceKind.Schema,
|
|
137
|
+
key: input.schemaKey,
|
|
138
|
+
version: input.schemaVersion,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
for (const envelope of spec.envelopes ?? []) {
|
|
143
|
+
for (const doc of envelope.documents ?? []) {
|
|
144
|
+
if (doc.templateKey && doc.templateVersion) {
|
|
145
|
+
deps.push({
|
|
146
|
+
kind: ResourceKind.Template,
|
|
147
|
+
key: doc.templateKey,
|
|
148
|
+
version: doc.templateVersion,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return deps;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Collect all transitive deps starting from a template spec.
|
|
157
|
+
* Walks: template → (assets, functions, schemas) → (sub-assets, function schemas) → ...
|
|
158
|
+
* Uses lookup functions to resolve specs for intermediate resources.
|
|
159
|
+
* Returns deduplicated flat array of all deps (direct + transitive).
|
|
160
|
+
*/
|
|
161
|
+
function collectTransitiveDeps(templateSpec, lookups) {
|
|
162
|
+
const visited = new Set();
|
|
163
|
+
const result = [];
|
|
164
|
+
const toId = (dep) => toResourceId(dep.kind, dep.key, dep.version);
|
|
165
|
+
const add = (dep) => {
|
|
166
|
+
const id = toId(dep);
|
|
167
|
+
if (visited.has(id))
|
|
168
|
+
return;
|
|
169
|
+
visited.add(id);
|
|
170
|
+
result.push(dep);
|
|
171
|
+
};
|
|
172
|
+
const walkAsset = (key, version) => {
|
|
173
|
+
const spec = lookups.getAssetSpec?.(key, version);
|
|
174
|
+
if (!spec)
|
|
175
|
+
return;
|
|
176
|
+
for (const dep of getAssetDeps(spec)) {
|
|
177
|
+
add(dep);
|
|
178
|
+
if (dep.kind === ResourceKind.Asset) {
|
|
179
|
+
walkAsset(dep.key, dep.version);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
const walkFunction = (key, version) => {
|
|
184
|
+
const spec = lookups.getFunctionSpec?.(key, version);
|
|
185
|
+
if (!spec)
|
|
186
|
+
return;
|
|
187
|
+
for (const dep of getFunctionDeps(spec)) {
|
|
188
|
+
add(dep);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
for (const dep of getTemplateDeps(templateSpec)) {
|
|
192
|
+
add(dep);
|
|
193
|
+
if (dep.kind === ResourceKind.Asset) {
|
|
194
|
+
walkAsset(dep.key, dep.version);
|
|
195
|
+
}
|
|
196
|
+
else if (dep.kind === ResourceKind.JsonataFunction) {
|
|
197
|
+
walkFunction(dep.key, dep.version);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return result;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=resource-edge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-edge.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/resource-edge.ts"],"names":[],"mappings":";;;AAcA,oDAKC;AAED,0DAYC;AAED,oCAMC;AAED,0CAYC;AA8BD,0CA+BC;AAGD,oCAmBC;AAGD,0CAmBC;AAGD,4CA8BC;AAQD,sDAoDC;AAxPD,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,oDAAoC,CAAA;AACtC,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAGD,SAAgB,oBAAoB,CAClC,IAA2B,EAC3B,GAAW;IAEX,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED,SAAgB,uBAAuB,CACrC,kBAA0B;IAE1B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,EAAkB,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAiB;QAC/D,GAAG,EAAE,kBAAkB,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAC1B,IAA2B,EAC3B,GAAW,EACX,OAAe;IAEf,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;AACzD,CAAC;AAED,SAAgB,eAAe,CAC7B,UAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC;AA6BD,4EAA4E;AAC5E,SAAgB,eAAe,CAAC,IAAkB;IAChD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,YAAY,CAAC,KAAK;YACxB,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,YAAY,CAAC,eAAe;YAClC,GAAG,EAAE,GAAG,CAAC,WAAW;YACpB,OAAO,EAAE,GAAG,CAAC,eAAe;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,YAAY,CAAC,MAAM;gBACzB,GAAG,EAAE,KAAK,CAAC,SAAS;gBACpB,OAAO,EAAE,KAAK,CAAC,aAAa;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,SAAgB,YAAY,CAAC,IAAe;IAC1C,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI;QAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;KACzB,EAAE,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,YAAY,CAAC,MAAM;YACzB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;YAC1B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,SAAgB,eAAe,CAAC,IAAyB;IACvD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,YAAY,CAAC,MAAM;gBACzB,GAAG,EAAE,KAAK,CAAC,SAAS;gBACpB,OAAO,EAAE,KAAK,CAAC,aAAa;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,YAAY,CAAC,MAAM;YACzB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YAC9B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;SACvC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,SAAgB,gBAAgB,CAAC,IAAmB;IAClD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,YAAY,CAAC,eAAe;YAClC,GAAG,EAAE,CAAC,CAAC,WAAW;YAClB,OAAO,EAAE,CAAC,CAAC,eAAe;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,YAAY,CAAC,MAAM;gBACzB,GAAG,EAAE,KAAK,CAAC,SAAS;gBACpB,OAAO,EAAE,KAAK,CAAC,aAAa;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,YAAY,CAAC,QAAQ;oBAC3B,GAAG,EAAE,GAAG,CAAC,WAAW;oBACpB,OAAO,EAAE,GAAG,CAAC,eAAe;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,YAA0B,EAC1B,OAMC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,CAAC,GAAgB,EAAE,EAAE,CAChC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAG,CAAC,GAAgB,EAAE,EAAE;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,CAAC;YACT,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBACpC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,GAAG,CAAC,CAAC;QACT,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,eAAe,EAAE,CAAC;YACrD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { PaginationDto, ResourceIdentity } from './base';
|
|
2
|
+
export interface ScenarioEntity {
|
|
3
|
+
key: string;
|
|
4
|
+
data: Record<string, any>;
|
|
5
|
+
}
|
|
6
|
+
export interface EntitySchemaIdentifier {
|
|
7
|
+
key: string;
|
|
8
|
+
schemaKey: string;
|
|
9
|
+
/** Optional inline schema definition — used when the schema is not yet saved to the database */
|
|
10
|
+
schemaDefinition?: Record<string, any>;
|
|
11
|
+
}
|
|
12
|
+
export interface ListScenariosReq {
|
|
13
|
+
search?: string;
|
|
14
|
+
limit?: number;
|
|
15
|
+
offset?: number;
|
|
16
|
+
labels?: Record<string, string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Identity fields for a scenario. Same shape as `ResourceIdentity` —
|
|
20
|
+
* scenarios share the universal identity surface (key, name, description,
|
|
21
|
+
* labels) but don't carry `version` since they have no draft/published
|
|
22
|
+
* lifecycle (see Resource Lifecycle docs for the carve-out rationale).
|
|
23
|
+
*/
|
|
24
|
+
export type ScenarioMetadata = ResourceIdentity;
|
|
25
|
+
export interface ScenarioSpec {
|
|
26
|
+
entities: ScenarioEntity[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Full scenario — returned by `GET /scenarios/{key}`, `POST /scenarios`,
|
|
30
|
+
* and `PUT /scenarios/{key}`. The optimistic-locking handle is in the
|
|
31
|
+
* `ETag` HTTP response header (RFC 7232) — pass it back as `If-Match` on
|
|
32
|
+
* subsequent `PUT` / `DELETE`.
|
|
33
|
+
*/
|
|
34
|
+
export interface ScenarioResp {
|
|
35
|
+
metadata: ScenarioMetadata;
|
|
36
|
+
spec: ScenarioSpec;
|
|
37
|
+
createdAt: Date;
|
|
38
|
+
updatedAt: Date;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Trimmed scenario summary returned by `GET /scenarios`. `spec` carries
|
|
42
|
+
* just the entity keys; the full per-entity `data` is omitted. Fetch
|
|
43
|
+
* `GET /scenarios/{key}` for the full `ScenarioResp` (and its `ETag`
|
|
44
|
+
* header) before any mutation.
|
|
45
|
+
*/
|
|
46
|
+
export interface ScenarioListItem {
|
|
47
|
+
metadata: ScenarioMetadata;
|
|
48
|
+
spec: {
|
|
49
|
+
/** Keys of every entity in this scenario. Fetch the scenario by key for the actual `data` payloads. */
|
|
50
|
+
entityKeys: string[];
|
|
51
|
+
};
|
|
52
|
+
createdAt: Date;
|
|
53
|
+
updatedAt: Date;
|
|
54
|
+
}
|
|
55
|
+
export interface ListScenariosResp {
|
|
56
|
+
data: ScenarioListItem[];
|
|
57
|
+
pagination: PaginationDto;
|
|
58
|
+
}
|
|
59
|
+
export interface CreateScenarioReq {
|
|
60
|
+
metadata: ScenarioMetadata;
|
|
61
|
+
spec: ScenarioSpec;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Update body for `PUT /scenarios/{key}`. Send the full `metadata` + `spec`
|
|
65
|
+
* envelope. The path `key` is the source of truth — `metadata.key` in the
|
|
66
|
+
* body is required for shape parity with create / other resources but
|
|
67
|
+
* ignored on the server. Matches the wire pattern used by every other
|
|
68
|
+
* resource update.
|
|
69
|
+
*/
|
|
70
|
+
export interface UpdateScenarioReq {
|
|
71
|
+
metadata: ScenarioMetadata;
|
|
72
|
+
spec: ScenarioSpec;
|
|
73
|
+
}
|
|
74
|
+
export interface AddMissingDataToScenarioReq {
|
|
75
|
+
entities?: EntitySchemaIdentifier[];
|
|
76
|
+
}
|
|
77
|
+
export interface AddMissingDataToScenarioResp {
|
|
78
|
+
key: string;
|
|
79
|
+
}
|
|
80
|
+
export declare enum ScenarioUseMode {
|
|
81
|
+
Existing = "existing",
|
|
82
|
+
Auto = "auto"
|
|
83
|
+
}
|
|
84
|
+
export declare enum ResourceAssociationType {
|
|
85
|
+
Template = "template",
|
|
86
|
+
Blueprint = "blueprint"
|
|
87
|
+
}
|
|
88
|
+
export interface AutoGenerateScenarioReq {
|
|
89
|
+
entities: {
|
|
90
|
+
key: string;
|
|
91
|
+
schemaKey: string;
|
|
92
|
+
/** Inline schema definition — used when the schema may not yet exist in the database */
|
|
93
|
+
schemaDefinition?: Record<string, any>;
|
|
94
|
+
}[];
|
|
95
|
+
persist?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface AutoGenerateScenarioResp {
|
|
98
|
+
key?: string;
|
|
99
|
+
name?: string;
|
|
100
|
+
description?: string;
|
|
101
|
+
entities?: ScenarioEntity[];
|
|
102
|
+
}
|
|
103
|
+
export interface ResourceScenarioLink {
|
|
104
|
+
resourceKey: string;
|
|
105
|
+
resourceVersion: string;
|
|
106
|
+
resourceType: ResourceAssociationType;
|
|
107
|
+
scenarioKey: string;
|
|
108
|
+
}
|
|
109
|
+
export interface LinkScenarioReq extends ResourceScenarioLink {
|
|
110
|
+
}
|
|
111
|
+
export interface UnlinkScenarioReq extends ResourceScenarioLink {
|
|
112
|
+
}
|
|
113
|
+
export interface ListLinkedScenariosReq {
|
|
114
|
+
resourceKey: string;
|
|
115
|
+
resourceVersion: string;
|
|
116
|
+
resourceType: ResourceAssociationType;
|
|
117
|
+
}
|
|
118
|
+
export interface ListLinkedScenariosResp {
|
|
119
|
+
/**
|
|
120
|
+
* Full scenarios — Studio's preview surface uses the entity data inline.
|
|
121
|
+
* Each item carries `eTag` in the body because list responses can't
|
|
122
|
+
* multiplex `ETag` headers per item; consumers can mutate the scenario
|
|
123
|
+
* directly from this list shape (one-click PATCH from a tree node).
|
|
124
|
+
*/
|
|
125
|
+
data: (ScenarioResp & {
|
|
126
|
+
eTag: string;
|
|
127
|
+
})[];
|
|
128
|
+
}
|
|
129
|
+
export interface ListLinkedResourcesReq {
|
|
130
|
+
scenarioKey: string;
|
|
131
|
+
}
|
|
132
|
+
export interface ListLinkedResourcesResp {
|
|
133
|
+
data: {
|
|
134
|
+
resourceKey: string;
|
|
135
|
+
resourceVersion: string;
|
|
136
|
+
resourceType: ResourceAssociationType;
|
|
137
|
+
}[];
|
|
138
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceAssociationType = exports.ScenarioUseMode = void 0;
|
|
4
|
+
var ScenarioUseMode;
|
|
5
|
+
(function (ScenarioUseMode) {
|
|
6
|
+
ScenarioUseMode["Existing"] = "existing";
|
|
7
|
+
ScenarioUseMode["Auto"] = "auto";
|
|
8
|
+
})(ScenarioUseMode || (exports.ScenarioUseMode = ScenarioUseMode = {}));
|
|
9
|
+
var ResourceAssociationType;
|
|
10
|
+
(function (ResourceAssociationType) {
|
|
11
|
+
ResourceAssociationType["Template"] = "template";
|
|
12
|
+
ResourceAssociationType["Blueprint"] = "blueprint";
|
|
13
|
+
})(ResourceAssociationType || (exports.ResourceAssociationType = ResourceAssociationType = {}));
|
|
14
|
+
//# sourceMappingURL=scenario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/scenario.ts"],"names":[],"mappings":";;;AA4FA,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,gCAAa,CAAA;AACf,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,gDAAqB,CAAA;IACrB,kDAAuB,CAAA;AACzB,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { JsonSchemaDraft } from '@common/base';
|
|
2
|
+
import { ActorRef, ListResp, ResourceListItemBase, ResourceMetadata, VersionType } from './base';
|
|
3
|
+
export { JsonSchemaDraft };
|
|
4
|
+
export interface SchemaResource {
|
|
5
|
+
metadata: ResourceMetadata;
|
|
6
|
+
spec: SchemaSpec;
|
|
7
|
+
}
|
|
8
|
+
export interface SchemaSpec {
|
|
9
|
+
jsonSchemaDraft: JsonSchemaDraft;
|
|
10
|
+
schemaDefinition: Record<string, any>;
|
|
11
|
+
}
|
|
12
|
+
export declare const JSON_SCHEMA_DRAFTS: {
|
|
13
|
+
value: string;
|
|
14
|
+
url: string;
|
|
15
|
+
label: string;
|
|
16
|
+
description: string;
|
|
17
|
+
}[];
|
|
18
|
+
export declare enum SchemaEventType {
|
|
19
|
+
StatusChanged = "status_changed",
|
|
20
|
+
DescriptionUpdated = "description_updated",
|
|
21
|
+
DefinitionUpdated = "definition_updated"
|
|
22
|
+
}
|
|
23
|
+
export interface ListSchemaReq {
|
|
24
|
+
offset?: number;
|
|
25
|
+
limit?: number;
|
|
26
|
+
skipDraft?: boolean;
|
|
27
|
+
search?: string;
|
|
28
|
+
labels?: Record<string, string>;
|
|
29
|
+
}
|
|
30
|
+
export type ListSchemasResp = ListResp<SchemaListItem>;
|
|
31
|
+
export type ListSchemaVersionsResp = ListResp<SchemaListItem>;
|
|
32
|
+
export interface SchemaListItem extends ResourceListItemBase {
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Full schema — returned by `GET /schemas/{key}`, `POST /schemas`,
|
|
36
|
+
* `PUT .../versions/draft`, and `POST .../versions/draft/publish`. The
|
|
37
|
+
* optimistic-locking handle is returned in the HTTP `ETag` response header
|
|
38
|
+
* (RFC 7232) — pass it back as `If-Match` on the next `PUT` / `DELETE`.
|
|
39
|
+
*/
|
|
40
|
+
export interface SchemaResp extends SchemaResource {
|
|
41
|
+
createdAt: Date;
|
|
42
|
+
updatedAt: Date;
|
|
43
|
+
createdBy: ActorRef;
|
|
44
|
+
publishedAt?: Date;
|
|
45
|
+
publishedBy?: ActorRef;
|
|
46
|
+
contentHash?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface BatchGetSchemasReq {
|
|
49
|
+
identifiers: {
|
|
50
|
+
key: string;
|
|
51
|
+
version?: string;
|
|
52
|
+
}[];
|
|
53
|
+
}
|
|
54
|
+
export interface BatchGetSchemaItem extends SchemaResp {
|
|
55
|
+
_eTag?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface BatchGetSchemasResp {
|
|
58
|
+
data: BatchGetSchemaItem[];
|
|
59
|
+
}
|
|
60
|
+
export interface CreateSchemaReq {
|
|
61
|
+
apiVersion?: string;
|
|
62
|
+
metadata: ResourceMetadata;
|
|
63
|
+
spec: SchemaSpec;
|
|
64
|
+
}
|
|
65
|
+
export interface UpdateSchemaReq {
|
|
66
|
+
metadata: ResourceMetadata;
|
|
67
|
+
spec: SchemaSpec;
|
|
68
|
+
}
|
|
69
|
+
export interface PublishSchemaReq {
|
|
70
|
+
versionType?: VersionType;
|
|
71
|
+
version?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface Entity {
|
|
74
|
+
key: string;
|
|
75
|
+
schemaKey: string;
|
|
76
|
+
version: string;
|
|
77
|
+
data: any;
|
|
78
|
+
}
|
|
79
|
+
export interface AddEntitiesResp {
|
|
80
|
+
entities: {
|
|
81
|
+
entityId: string;
|
|
82
|
+
entityType: string;
|
|
83
|
+
clientRefId?: string;
|
|
84
|
+
}[];
|
|
85
|
+
}
|
|
86
|
+
export interface GenerateSchemaExamplesReq {
|
|
87
|
+
schemaKeys: string[];
|
|
88
|
+
}
|
|
89
|
+
export interface GenerateSchemaExamplesResp {
|
|
90
|
+
schemaKey: string;
|
|
91
|
+
version: string;
|
|
92
|
+
schemaDefinition: Record<string, any>;
|
|
93
|
+
exampleData: Record<string, any>;
|
|
94
|
+
}
|
|
95
|
+
export interface GenerateSchemaFromSampleReq {
|
|
96
|
+
sampleJson: Record<string, any>;
|
|
97
|
+
jsonSchemaDraft: JsonSchemaDraft;
|
|
98
|
+
}
|
|
99
|
+
export interface GenerateSchemaFromSampleResp {
|
|
100
|
+
schemaDefinition: Record<string, any>;
|
|
101
|
+
}
|
|
102
|
+
export interface GenerateSchemaPlaceholdersReq {
|
|
103
|
+
schemaKeys: string[];
|
|
104
|
+
}
|
|
105
|
+
export interface GenerateSchemaPlaceholdersResp {
|
|
106
|
+
data: {
|
|
107
|
+
schemaKey: string;
|
|
108
|
+
placeholderData: Record<string, any>;
|
|
109
|
+
}[];
|
|
110
|
+
}
|
|
111
|
+
export interface GenerateScenariosInlineReq {
|
|
112
|
+
schemas: Array<{
|
|
113
|
+
key: string;
|
|
114
|
+
schemaDefinition: Record<string, any>;
|
|
115
|
+
}>;
|
|
116
|
+
context?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface GenerateScenariosInlineScenario {
|
|
119
|
+
name: string;
|
|
120
|
+
entities: Array<{
|
|
121
|
+
schemaKey: string;
|
|
122
|
+
exampleData: Record<string, any>;
|
|
123
|
+
}>;
|
|
124
|
+
}
|
|
125
|
+
export interface GenerateScenariosInlineResp {
|
|
126
|
+
scenarios: GenerateScenariosInlineScenario[];
|
|
127
|
+
}
|
|
128
|
+
export interface SchemaFormData {
|
|
129
|
+
jsonSchemaDraft: JsonSchemaDraft;
|
|
130
|
+
schemaDefinition: string;
|
|
131
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SchemaEventType = exports.JSON_SCHEMA_DRAFTS = exports.JsonSchemaDraft = void 0;
|
|
4
|
+
const base_1 = require("@common/base");
|
|
5
|
+
Object.defineProperty(exports, "JsonSchemaDraft", { enumerable: true, get: function () { return base_1.JsonSchemaDraft; } });
|
|
6
|
+
exports.JSON_SCHEMA_DRAFTS = [
|
|
7
|
+
{
|
|
8
|
+
value: '2020-12',
|
|
9
|
+
url: 'https://json-schema.org/draft/2020-12/schema',
|
|
10
|
+
label: 'Draft 2020-12 (Latest)',
|
|
11
|
+
description: 'Latest specification with enhanced features',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
value: '2019-09',
|
|
15
|
+
url: 'https://json-schema.org/draft/2019-09/schema',
|
|
16
|
+
label: 'Draft 2019-09',
|
|
17
|
+
description: 'Multi-specification approach with vocabulary system',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
value: 'draft-07',
|
|
21
|
+
url: 'https://json-schema.org/draft-07/schema#',
|
|
22
|
+
label: 'Draft 7',
|
|
23
|
+
description: 'Widely supported with if/then/else validation',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
value: 'draft-06',
|
|
27
|
+
url: 'https://json-schema.org/draft-06/schema#',
|
|
28
|
+
label: 'Draft 6',
|
|
29
|
+
description: 'Added const and contains keywords',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
value: 'draft-04',
|
|
33
|
+
url: 'https://json-schema.org/draft-04/schema#',
|
|
34
|
+
label: 'Draft 4',
|
|
35
|
+
description: 'Legacy support - widely compatible',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
var SchemaEventType;
|
|
39
|
+
(function (SchemaEventType) {
|
|
40
|
+
SchemaEventType["StatusChanged"] = "status_changed";
|
|
41
|
+
SchemaEventType["DescriptionUpdated"] = "description_updated";
|
|
42
|
+
SchemaEventType["DefinitionUpdated"] = "definition_updated";
|
|
43
|
+
})(SchemaEventType || (exports.SchemaEventType = SchemaEventType = {}));
|
|
44
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/schema.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAStC,gGATA,sBAAe,OASA;AAYX,QAAA,kBAAkB,GAAG;IAChC;QACE,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,8CAA8C;QACnD,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,8CAA8C;QACnD,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,0CAA0C;QAC/C,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,0CAA0C;QAC/C,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,0CAA0C;QAC/C,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,oCAAoC;KAClD;CACF,CAAC;AAEF,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,mDAAgC,CAAA;IAChC,6DAA0C,CAAA;IAC1C,2DAAwC,CAAA;AAC1C,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B"}
|