@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,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListingPreviewsStatus = exports.MarketplaceListingScope = void 0;
|
|
4
|
+
var MarketplaceListingScope;
|
|
5
|
+
(function (MarketplaceListingScope) {
|
|
6
|
+
MarketplaceListingScope["Public"] = "public";
|
|
7
|
+
MarketplaceListingScope["Org"] = "org";
|
|
8
|
+
})(MarketplaceListingScope || (exports.MarketplaceListingScope = MarketplaceListingScope = {}));
|
|
9
|
+
/**
|
|
10
|
+
* Generation state of a listing's scenario previews. Publishing returns
|
|
11
|
+
* immediately (202) with `pending`; per-scenario renders run as background
|
|
12
|
+
* jobs and the state flips to `ready` once all previews + hero image are
|
|
13
|
+
* generated. `failed` is reserved for a hard finalization failure. The
|
|
14
|
+
* library UI polls the listing until this is terminal.
|
|
15
|
+
*/
|
|
16
|
+
var ListingPreviewsStatus;
|
|
17
|
+
(function (ListingPreviewsStatus) {
|
|
18
|
+
ListingPreviewsStatus["Pending"] = "pending";
|
|
19
|
+
ListingPreviewsStatus["Ready"] = "ready";
|
|
20
|
+
ListingPreviewsStatus["Failed"] = "failed";
|
|
21
|
+
})(ListingPreviewsStatus || (exports.ListingPreviewsStatus = ListingPreviewsStatus = {}));
|
|
22
|
+
//# sourceMappingURL=marketplace-listing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace-listing.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/marketplace-listing.ts"],"names":[],"mappings":";;;AAQA,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,sCAAW,CAAA;AACb,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAiED;;;;;;GAMG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,wCAAe,CAAA;IACf,0CAAiB,CAAA;AACnB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { PaginationDto } from './base';
|
|
2
|
+
import { OrganizationRole } from './organization';
|
|
3
|
+
export declare enum NamespaceRole {
|
|
4
|
+
Admin = "admin",
|
|
5
|
+
Editor = "editor",
|
|
6
|
+
Viewer = "viewer"
|
|
7
|
+
}
|
|
8
|
+
export declare enum MembershipScopeLevel {
|
|
9
|
+
Org = "org",
|
|
10
|
+
Namespace = "namespace"
|
|
11
|
+
}
|
|
12
|
+
export interface Membership {
|
|
13
|
+
userId: string;
|
|
14
|
+
orgId: string;
|
|
15
|
+
scopeLevel: MembershipScopeLevel;
|
|
16
|
+
namespaceKey?: string;
|
|
17
|
+
roles: (OrganizationRole | NamespaceRole)[];
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
}
|
|
21
|
+
export declare enum InvitationStatus {
|
|
22
|
+
Pending = "pending",
|
|
23
|
+
Accepted = "accepted",
|
|
24
|
+
Rejected = "rejected",
|
|
25
|
+
Revoked = "revoked"
|
|
26
|
+
}
|
|
27
|
+
export type InvitationActionType = Exclude<InvitationStatus, InvitationStatus.Pending>;
|
|
28
|
+
export interface InvitationActionTaken {
|
|
29
|
+
action: InvitationActionType;
|
|
30
|
+
at: string;
|
|
31
|
+
by: string;
|
|
32
|
+
}
|
|
33
|
+
export interface Invitation {
|
|
34
|
+
id: string;
|
|
35
|
+
email: string;
|
|
36
|
+
orgId: string;
|
|
37
|
+
scopeLevel: MembershipScopeLevel;
|
|
38
|
+
namespaceKey?: string;
|
|
39
|
+
roles: (OrganizationRole | NamespaceRole)[];
|
|
40
|
+
status: InvitationStatus;
|
|
41
|
+
invitedBy: string;
|
|
42
|
+
actionTaken?: InvitationActionTaken;
|
|
43
|
+
createdAt: string;
|
|
44
|
+
updatedAt: string;
|
|
45
|
+
}
|
|
46
|
+
export interface OrgAccessClaim {
|
|
47
|
+
orgId: string;
|
|
48
|
+
orgRoles: OrganizationRole[];
|
|
49
|
+
namespaceKey?: string;
|
|
50
|
+
namespaceRoles?: NamespaceRole[];
|
|
51
|
+
}
|
|
52
|
+
export interface SendInvitationReq {
|
|
53
|
+
email: string;
|
|
54
|
+
scopeLevel: MembershipScopeLevel;
|
|
55
|
+
/** Required iff `scopeLevel === MembershipScopeLevel.Namespace`. */
|
|
56
|
+
namespaceKey?: string;
|
|
57
|
+
roles: (OrganizationRole | NamespaceRole)[];
|
|
58
|
+
}
|
|
59
|
+
export interface SendInvitationResp {
|
|
60
|
+
invitationId: string;
|
|
61
|
+
}
|
|
62
|
+
export interface UpdateInvitationReq {
|
|
63
|
+
status: InvitationStatus;
|
|
64
|
+
}
|
|
65
|
+
export interface UpdateInvitationResp {
|
|
66
|
+
}
|
|
67
|
+
export interface InvitationResp extends Invitation {
|
|
68
|
+
org?: {
|
|
69
|
+
name: string;
|
|
70
|
+
};
|
|
71
|
+
namespace?: {
|
|
72
|
+
name: string;
|
|
73
|
+
};
|
|
74
|
+
_eTag?: string;
|
|
75
|
+
}
|
|
76
|
+
export type GetInvitationResp = InvitationResp;
|
|
77
|
+
/**
|
|
78
|
+
* Shared pagination + search query for member / invitation list endpoints.
|
|
79
|
+
* The BE applies sensible defaults (offset 0, limit 25, no search) when any
|
|
80
|
+
* field is omitted.
|
|
81
|
+
*/
|
|
82
|
+
export interface ListMembersReq {
|
|
83
|
+
search?: string;
|
|
84
|
+
offset?: number;
|
|
85
|
+
limit?: number;
|
|
86
|
+
}
|
|
87
|
+
export type ListInvitationsReq = ListMembersReq;
|
|
88
|
+
export interface GetInvitationsResp {
|
|
89
|
+
invitations: InvitationResp[];
|
|
90
|
+
pagination: PaginationDto;
|
|
91
|
+
}
|
|
92
|
+
export interface GetMyInvitationsResp {
|
|
93
|
+
invitations: InvitationResp[];
|
|
94
|
+
}
|
|
95
|
+
export interface MemberResp {
|
|
96
|
+
uid: string;
|
|
97
|
+
firstName: string;
|
|
98
|
+
lastName: string;
|
|
99
|
+
email: string;
|
|
100
|
+
scopeLevel: MembershipScopeLevel;
|
|
101
|
+
namespaceKey?: string;
|
|
102
|
+
roles: (OrganizationRole | NamespaceRole)[];
|
|
103
|
+
removedAt?: string;
|
|
104
|
+
removedBy?: string;
|
|
105
|
+
}
|
|
106
|
+
export interface GetMembersResp {
|
|
107
|
+
members: MemberResp[];
|
|
108
|
+
pagination: PaginationDto;
|
|
109
|
+
/**
|
|
110
|
+
* Org Owners + Admins who have implicit access to the namespace via their
|
|
111
|
+
* org role (no explicit namespace-scope row). Only populated on the
|
|
112
|
+
* namespace-scope members endpoint, and intentionally NOT paginated —
|
|
113
|
+
* typically a small handful per org. UI renders these in a read-only
|
|
114
|
+
* "Inherited from organization" section.
|
|
115
|
+
*/
|
|
116
|
+
inheritedOrgAdmins?: MemberResp[];
|
|
117
|
+
}
|
|
118
|
+
export type GetMyAccessResp = OrgAccessClaim;
|
|
119
|
+
export interface UpdateMemberRolesReq {
|
|
120
|
+
scopeLevel: MembershipScopeLevel;
|
|
121
|
+
namespaceKey?: string;
|
|
122
|
+
roles: (OrganizationRole | NamespaceRole)[];
|
|
123
|
+
}
|
|
124
|
+
export interface UpdateMemberRolesResp {
|
|
125
|
+
}
|
|
126
|
+
export interface RemoveMemberResp {
|
|
127
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvitationStatus = exports.MembershipScopeLevel = exports.NamespaceRole = void 0;
|
|
4
|
+
var NamespaceRole;
|
|
5
|
+
(function (NamespaceRole) {
|
|
6
|
+
NamespaceRole["Admin"] = "admin";
|
|
7
|
+
NamespaceRole["Editor"] = "editor";
|
|
8
|
+
NamespaceRole["Viewer"] = "viewer";
|
|
9
|
+
})(NamespaceRole || (exports.NamespaceRole = NamespaceRole = {}));
|
|
10
|
+
var MembershipScopeLevel;
|
|
11
|
+
(function (MembershipScopeLevel) {
|
|
12
|
+
MembershipScopeLevel["Org"] = "org";
|
|
13
|
+
MembershipScopeLevel["Namespace"] = "namespace";
|
|
14
|
+
})(MembershipScopeLevel || (exports.MembershipScopeLevel = MembershipScopeLevel = {}));
|
|
15
|
+
var InvitationStatus;
|
|
16
|
+
(function (InvitationStatus) {
|
|
17
|
+
InvitationStatus["Pending"] = "pending";
|
|
18
|
+
InvitationStatus["Accepted"] = "accepted";
|
|
19
|
+
InvitationStatus["Rejected"] = "rejected";
|
|
20
|
+
InvitationStatus["Revoked"] = "revoked";
|
|
21
|
+
})(InvitationStatus || (exports.InvitationStatus = InvitationStatus = {}));
|
|
22
|
+
//# sourceMappingURL=membership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/membership.ts"],"names":[],"mappings":";;;AAGA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;IACX,+CAAuB,CAAA;AACzB,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B;AAYD,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;AACrB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { PaginationDto } from './base';
|
|
2
|
+
import { BrandSettings } from './organization';
|
|
3
|
+
/**
|
|
4
|
+
* Namespace model types
|
|
5
|
+
*
|
|
6
|
+
* Namespaces allow organizations to create isolated environments for
|
|
7
|
+
* multi-tenant use cases. Each namespace has a mode (test/live) that
|
|
8
|
+
* determines billing and API key behavior.
|
|
9
|
+
*/
|
|
10
|
+
export declare enum NamespaceMode {
|
|
11
|
+
Test = "test",
|
|
12
|
+
Live = "live"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Regex for validating namespace keys:
|
|
16
|
+
* - Must start and end with alphanumeric character
|
|
17
|
+
* - Can contain lowercase letters, numbers, and hyphens
|
|
18
|
+
* - Length: 3-50 characters
|
|
19
|
+
*/
|
|
20
|
+
export declare const NAMESPACE_KEY_REGEX: RegExp;
|
|
21
|
+
/**
|
|
22
|
+
* Default namespace key created for each organization
|
|
23
|
+
*/
|
|
24
|
+
export declare const DEFAULT_TEST_NAMESPACE = "default-test";
|
|
25
|
+
/**
|
|
26
|
+
* Reserved namespace keys that cannot be used by customers
|
|
27
|
+
*/
|
|
28
|
+
export declare const RESERVED_NAMESPACE_KEYS: string[];
|
|
29
|
+
/**
|
|
30
|
+
* Validates a namespace key against format and reserved name rules
|
|
31
|
+
*/
|
|
32
|
+
export declare function isValidNamespaceKey(key: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Request to create a new namespace
|
|
35
|
+
*/
|
|
36
|
+
export interface CreateNamespaceReq {
|
|
37
|
+
key: string;
|
|
38
|
+
name: string;
|
|
39
|
+
mode: NamespaceMode;
|
|
40
|
+
/** Omit when no branding on create. */
|
|
41
|
+
settings?: BrandSettings;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Request to update an existing namespace (only name is editable)
|
|
45
|
+
*/
|
|
46
|
+
export interface UpdateNamespaceReq {
|
|
47
|
+
name: string;
|
|
48
|
+
settings?: BrandSettings;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Full namespace — returned by `GET /orgs/{orgId}/namespaces/{namespaceKey}`,
|
|
52
|
+
* `POST /orgs/{orgId}/namespaces`, and `PATCH /orgs/{orgId}/namespaces/{namespaceKey}`.
|
|
53
|
+
* The optimistic-locking handle is on the `ETag` HTTP response header
|
|
54
|
+
* (RFC 7232) — pass it back as `If-Match` on the next `PATCH`.
|
|
55
|
+
*/
|
|
56
|
+
export interface NamespaceResp {
|
|
57
|
+
key: string;
|
|
58
|
+
name: string;
|
|
59
|
+
mode: NamespaceMode;
|
|
60
|
+
settings?: BrandSettings;
|
|
61
|
+
createdAt: string;
|
|
62
|
+
updatedAt: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Namespace list item — carries `_eTag` per item since list responses cannot
|
|
66
|
+
* use the `ETag` header (one header, many items).
|
|
67
|
+
*/
|
|
68
|
+
export interface NamespaceListItem extends NamespaceResp {
|
|
69
|
+
_eTag?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* List namespaces request — supports search + pagination so the switcher
|
|
73
|
+
* scales to orgs with many thousands of namespaces. All fields optional;
|
|
74
|
+
* the BE applies defaults (offset 0, limit 25, no search filter).
|
|
75
|
+
*/
|
|
76
|
+
export interface ListNamespacesReq {
|
|
77
|
+
search?: string;
|
|
78
|
+
offset?: number;
|
|
79
|
+
limit?: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* List namespaces response
|
|
83
|
+
*/
|
|
84
|
+
export interface ListNamespacesResp {
|
|
85
|
+
data: NamespaceListItem[];
|
|
86
|
+
pagination: PaginationDto;
|
|
87
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESERVED_NAMESPACE_KEYS = exports.DEFAULT_TEST_NAMESPACE = exports.NAMESPACE_KEY_REGEX = exports.NamespaceMode = void 0;
|
|
4
|
+
exports.isValidNamespaceKey = isValidNamespaceKey;
|
|
5
|
+
/**
|
|
6
|
+
* Namespace model types
|
|
7
|
+
*
|
|
8
|
+
* Namespaces allow organizations to create isolated environments for
|
|
9
|
+
* multi-tenant use cases. Each namespace has a mode (test/live) that
|
|
10
|
+
* determines billing and API key behavior.
|
|
11
|
+
*/
|
|
12
|
+
var NamespaceMode;
|
|
13
|
+
(function (NamespaceMode) {
|
|
14
|
+
NamespaceMode["Test"] = "test";
|
|
15
|
+
NamespaceMode["Live"] = "live";
|
|
16
|
+
})(NamespaceMode || (exports.NamespaceMode = NamespaceMode = {}));
|
|
17
|
+
/**
|
|
18
|
+
* Regex for validating namespace keys:
|
|
19
|
+
* - Must start and end with alphanumeric character
|
|
20
|
+
* - Can contain lowercase letters, numbers, and hyphens
|
|
21
|
+
* - Length: 3-50 characters
|
|
22
|
+
*/
|
|
23
|
+
exports.NAMESPACE_KEY_REGEX = /^[a-z0-9][a-z0-9-]{1,48}[a-z0-9]$/;
|
|
24
|
+
/**
|
|
25
|
+
* Default namespace key created for each organization
|
|
26
|
+
*/
|
|
27
|
+
exports.DEFAULT_TEST_NAMESPACE = 'default-test';
|
|
28
|
+
/**
|
|
29
|
+
* Reserved namespace keys that cannot be used by customers
|
|
30
|
+
*/
|
|
31
|
+
exports.RESERVED_NAMESPACE_KEYS = [
|
|
32
|
+
'admin',
|
|
33
|
+
'api',
|
|
34
|
+
'system',
|
|
35
|
+
'internal',
|
|
36
|
+
'default',
|
|
37
|
+
'test',
|
|
38
|
+
'live',
|
|
39
|
+
'prod',
|
|
40
|
+
'production',
|
|
41
|
+
'staging',
|
|
42
|
+
'dev',
|
|
43
|
+
'development',
|
|
44
|
+
];
|
|
45
|
+
/**
|
|
46
|
+
* Validates a namespace key against format and reserved name rules
|
|
47
|
+
*/
|
|
48
|
+
function isValidNamespaceKey(key) {
|
|
49
|
+
if (!exports.NAMESPACE_KEY_REGEX.test(key)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if (exports.RESERVED_NAMESPACE_KEYS.includes(key)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/namespace.ts"],"names":[],"mappings":";;;AAiDA,kDAQC;AAtDD;;;;;;GAMG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,mCAAmC,CAAC;AAEvE;;GAEG;AACU,QAAA,sBAAsB,GAAG,cAAc,CAAC;AAErD;;GAEG;AACU,QAAA,uBAAuB,GAAG;IACrC,OAAO;IACP,KAAK;IACL,QAAQ;IACR,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,SAAS;IACT,KAAK;IACL,aAAa;CACd,CAAC;AAEF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC,2BAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,+BAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { UploadFile } from './base';
|
|
2
|
+
export declare const BrandSettingsKeys: string[];
|
|
3
|
+
/**
|
|
4
|
+
* Org-level roles a user can hold on an organization.
|
|
5
|
+
*
|
|
6
|
+
* - `Owner` — strict superset of everything; can transfer or delete the
|
|
7
|
+
* org; can't be removed by anyone but themselves.
|
|
8
|
+
* - `Admin` — manages members, namespaces, settings; implicit access to
|
|
9
|
+
* every namespace in the org.
|
|
10
|
+
* - `Billing` — billing and plan only; no namespace access.
|
|
11
|
+
*/
|
|
12
|
+
export declare enum OrganizationRole {
|
|
13
|
+
Owner = "owner",
|
|
14
|
+
Admin = "admin",
|
|
15
|
+
Billing = "billing"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Brand settings for sender branding.
|
|
19
|
+
*
|
|
20
|
+
* `logoUrl` carries either a persisted URL (after upload) or an unresolved
|
|
21
|
+
* `UploadFile` on the client while the user is still editing the form. The
|
|
22
|
+
* client's update helpers are responsible for uploading the file and
|
|
23
|
+
* rewriting this field before it reaches the wire.
|
|
24
|
+
*/
|
|
25
|
+
export interface BrandSettings {
|
|
26
|
+
senderName: string;
|
|
27
|
+
company: string;
|
|
28
|
+
contactEmail: string;
|
|
29
|
+
logoFileId: string;
|
|
30
|
+
logoUrl?: string | UploadFile;
|
|
31
|
+
senderEmail?: string;
|
|
32
|
+
senderEmailVerified?: boolean;
|
|
33
|
+
phone?: string;
|
|
34
|
+
address?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Brand fields that must all be populated for a level (namespace/org) to
|
|
38
|
+
* count as having sender branding "set up". When all three are present the
|
|
39
|
+
* level supplies the entire `SenderInfo`; otherwise the lookup falls through
|
|
40
|
+
* to the next level (org → defaults). Sender-email verification keys are
|
|
41
|
+
* deliberately excluded — they belong to a separate flow and don't imply
|
|
42
|
+
* branding is configured.
|
|
43
|
+
*/
|
|
44
|
+
export declare const RequiredBrandSettingsKeys: Array<keyof BrandSettings>;
|
|
45
|
+
/**
|
|
46
|
+
* Full organization — returned by `POST /orgs` and `PUT /orgs/{orgId}`. The
|
|
47
|
+
* optimistic-locking handle is on the `ETag` HTTP response header (RFC 7232) —
|
|
48
|
+
* pass it back as `If-Match` on the next `PUT`.
|
|
49
|
+
*/
|
|
50
|
+
export interface OrganizationResp {
|
|
51
|
+
/** Prefixed lowercase ULID, e.g. `org_01jv8m7qfj6xj9gkz7a4s2h8e`. */
|
|
52
|
+
orgId: string;
|
|
53
|
+
name: string;
|
|
54
|
+
ownerId: string;
|
|
55
|
+
settings?: BrandSettings;
|
|
56
|
+
updatedAt: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Organization list item — returned by `POST /orgs/list`. Carries `_eTag`
|
|
60
|
+
* in the body because list responses can't multiplex per-item `ETag` headers.
|
|
61
|
+
*/
|
|
62
|
+
export interface OrganizationListItem extends OrganizationResp {
|
|
63
|
+
_eTag?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface GetOrganizationsResp {
|
|
66
|
+
data: OrganizationListItem[];
|
|
67
|
+
}
|
|
68
|
+
export interface CreateOrganizationReq {
|
|
69
|
+
name: string;
|
|
70
|
+
/**
|
|
71
|
+
* Omit when no branding is desired on create.
|
|
72
|
+
* Send `null` from an update flow to clear previously-saved branding.
|
|
73
|
+
*/
|
|
74
|
+
settings?: BrandSettings | null;
|
|
75
|
+
}
|
|
76
|
+
export interface UpdateOrganizationReq {
|
|
77
|
+
name: string;
|
|
78
|
+
settings?: BrandSettings;
|
|
79
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequiredBrandSettingsKeys = exports.OrganizationRole = exports.BrandSettingsKeys = void 0;
|
|
4
|
+
exports.BrandSettingsKeys = [
|
|
5
|
+
'senderName',
|
|
6
|
+
'senderEmail',
|
|
7
|
+
'contactEmail',
|
|
8
|
+
'phone',
|
|
9
|
+
'address',
|
|
10
|
+
'logoUrl',
|
|
11
|
+
];
|
|
12
|
+
/**
|
|
13
|
+
* Org-level roles a user can hold on an organization.
|
|
14
|
+
*
|
|
15
|
+
* - `Owner` — strict superset of everything; can transfer or delete the
|
|
16
|
+
* org; can't be removed by anyone but themselves.
|
|
17
|
+
* - `Admin` — manages members, namespaces, settings; implicit access to
|
|
18
|
+
* every namespace in the org.
|
|
19
|
+
* - `Billing` — billing and plan only; no namespace access.
|
|
20
|
+
*/
|
|
21
|
+
var OrganizationRole;
|
|
22
|
+
(function (OrganizationRole) {
|
|
23
|
+
OrganizationRole["Owner"] = "owner";
|
|
24
|
+
OrganizationRole["Admin"] = "admin";
|
|
25
|
+
OrganizationRole["Billing"] = "billing";
|
|
26
|
+
})(OrganizationRole || (exports.OrganizationRole = OrganizationRole = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Brand fields that must all be populated for a level (namespace/org) to
|
|
29
|
+
* count as having sender branding "set up". When all three are present the
|
|
30
|
+
* level supplies the entire `SenderInfo`; otherwise the lookup falls through
|
|
31
|
+
* to the next level (org → defaults). Sender-email verification keys are
|
|
32
|
+
* deliberately excluded — they belong to a separate flow and don't imply
|
|
33
|
+
* branding is configured.
|
|
34
|
+
*/
|
|
35
|
+
exports.RequiredBrandSettingsKeys = [
|
|
36
|
+
'senderName',
|
|
37
|
+
'company',
|
|
38
|
+
'contactEmail',
|
|
39
|
+
'logoUrl'
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=organization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/organization.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAG;IAC/B,YAAY;IACZ,aAAa;IACb,cAAc;IACd,OAAO;IACP,SAAS;IACT,SAAS;CACV,CAAC;AAEF;;;;;;;;GAQG;AACH,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAsBD;;;;;;;GAOG;AACU,QAAA,yBAAyB,GAA+B;IACnE,YAAY;IACZ,SAAS;IACT,cAAc;IACd,SAAS;CACV,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { RenderBlueprintResp } from './blueprint';
|
|
2
|
+
import { RenderTemplateResp } from './template';
|
|
3
|
+
/**
|
|
4
|
+
* Async render-job models shared across backend, frontend clients, and CLI.
|
|
5
|
+
*
|
|
6
|
+
* Background: render endpoints are moving from a synchronous long-poll
|
|
7
|
+
* (the backend blocked the request until the pipeline finished) to an
|
|
8
|
+
* accept-then-poll contract. Public render endpoints return `{ jobId(s) }`
|
|
9
|
+
* immediately; clients poll the status endpoint until the job reaches a
|
|
10
|
+
* terminal state, then read `result`.
|
|
11
|
+
*
|
|
12
|
+
* Phase A adds these types + the status endpoint. The `Accepted` response
|
|
13
|
+
* shapes and the FE polling clients land in Phase B.
|
|
14
|
+
*/
|
|
15
|
+
/** Terminal + in-flight states a render job can report. Mirrors the
|
|
16
|
+
* backend `RenderJobStatus` enum string values. */
|
|
17
|
+
export type RenderJobStatusValue = 'pending' | 'rendering' | 'completed' | 'failed';
|
|
18
|
+
/** Which kind of caller produced the job. Mirrors backend `RenderJobKind`. */
|
|
19
|
+
export type RenderJobKindValue = 'blueprint' | 'template';
|
|
20
|
+
/**
|
|
21
|
+
* Terminal result of a render job, discriminated by the job's `kind`:
|
|
22
|
+
* template-kind jobs resolve to `RenderTemplateResp`, blueprint-kind jobs
|
|
23
|
+
* to `RenderBlueprintResp`. Only present once `status === 'completed'`.
|
|
24
|
+
*/
|
|
25
|
+
export type RenderJobResult = RenderTemplateResp | RenderBlueprintResp;
|
|
26
|
+
/**
|
|
27
|
+
* Response of `GET …/render-jobs/:jobId` — the polling target that
|
|
28
|
+
* replaces the old synchronous `awaitCompletion` long-poll. Clients poll
|
|
29
|
+
* this until `status` is terminal (`completed` | `failed`), then read
|
|
30
|
+
* `result` (on success) or `error` (on failure).
|
|
31
|
+
*/
|
|
32
|
+
export interface GetRenderJobResp {
|
|
33
|
+
jobId: string;
|
|
34
|
+
kind: RenderJobKindValue;
|
|
35
|
+
/** Present for blueprint-kind jobs; one job renders one envelope. */
|
|
36
|
+
envelopeKey?: string;
|
|
37
|
+
status: RenderJobStatusValue;
|
|
38
|
+
/** Set when `status === 'failed'` — carries the first failure. */
|
|
39
|
+
error?: string;
|
|
40
|
+
/** Set when `status === 'completed'` — the rendered output. */
|
|
41
|
+
result?: RenderJobResult;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* "Do X when render-job Y completes." Persisted on the render job so the
|
|
45
|
+
* render-events webhook can drive post-render work without the caller
|
|
46
|
+
* blocking on the result. This is the immutable DESCRIPTOR of the work;
|
|
47
|
+
* its run lifecycle is tracked separately on `continuationStatus` /
|
|
48
|
+
* `continuationError`. Handlers register by `kind` with the dispatcher.
|
|
49
|
+
*/
|
|
50
|
+
export type RenderContinuation = {
|
|
51
|
+
kind: 'workflow-signed-envelope';
|
|
52
|
+
workflowId: string;
|
|
53
|
+
envelopeKey: string;
|
|
54
|
+
/** Participant step whose signed document this render produces. */
|
|
55
|
+
stepKey: string;
|
|
56
|
+
/** Path-in-bucket to upload the combined, finalized signed PDF to. */
|
|
57
|
+
outputGcsPath: string;
|
|
58
|
+
hashAlgorithm: 'sha256';
|
|
59
|
+
} | {
|
|
60
|
+
/**
|
|
61
|
+
* The whole envelope is signed by everyone. When this render
|
|
62
|
+
* completes, build the final signed PDF, generate the signing
|
|
63
|
+
* certificate, email all participants, fire the envelope-completed
|
|
64
|
+
* webhook, and persist the signed document on the envelope.
|
|
65
|
+
*/
|
|
66
|
+
kind: 'workflow-envelope-completion';
|
|
67
|
+
workflowId: string;
|
|
68
|
+
envelopeKey: string;
|
|
69
|
+
} | {
|
|
70
|
+
kind: 'marketplace-listing-preview';
|
|
71
|
+
listingId: string;
|
|
72
|
+
scenarioId: string;
|
|
73
|
+
/** Carried on the job so the handler can label the preview file
|
|
74
|
+
* without the listing storing a per-job tracker. */
|
|
75
|
+
scenarioName: string;
|
|
76
|
+
previewIndex: number;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Run lifecycle of a job's continuation, tracked top-level on the job for
|
|
80
|
+
* race-safe atomic claims (mirrors how `status` tracks the render itself):
|
|
81
|
+
* - `pending` — continuation persisted, not yet dispatched
|
|
82
|
+
* - `running` — a dispatcher claimed it (idempotency guard against
|
|
83
|
+
* render-events re-delivery)
|
|
84
|
+
* - `done` — handler finished successfully
|
|
85
|
+
* - `failed` — handler threw; see `continuationError`. The render itself
|
|
86
|
+
* stays `completed` — only the post-render work failed.
|
|
87
|
+
*/
|
|
88
|
+
export type RenderContinuationStatus = 'pending' | 'running' | 'done' | 'failed';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-job.js","sourceRoot":"","sources":["../../../../../../../../../libs/signstack/base/src/lib/models/render-job.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { TemplateSpec } from './template';
|
|
2
|
+
import type { AssetSpec } from './asset';
|
|
3
|
+
import type { JsonataFunctionSpec } from './jsonata-function';
|
|
4
|
+
import type { BlueprintSpec } from './blueprint';
|
|
5
|
+
export declare enum ResourceKind {
|
|
6
|
+
Blueprint = "blueprint",
|
|
7
|
+
Template = "template",
|
|
8
|
+
Schema = "schema",
|
|
9
|
+
Asset = "asset",
|
|
10
|
+
JsonataFunction = "jsonata_function"
|
|
11
|
+
}
|
|
12
|
+
export declare function toResourceCascadeKey(kind: ResourceKind | string, key: string): string;
|
|
13
|
+
export declare function parseResourceCascadeKey(resourceCascadeKey: string): {
|
|
14
|
+
kind: ResourceKind;
|
|
15
|
+
key: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function toResourceId(kind: ResourceKind | string, key: string, version: string): string;
|
|
18
|
+
export declare function parseResourceId(resourceId: string): {
|
|
19
|
+
kind: ResourceKind;
|
|
20
|
+
key: string;
|
|
21
|
+
version: string;
|
|
22
|
+
};
|
|
23
|
+
export interface ResourceEdge {
|
|
24
|
+
sourceId: string;
|
|
25
|
+
targetId: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ResourceDependencyNode {
|
|
28
|
+
resourceId: string;
|
|
29
|
+
children: ResourceDependencyNode[];
|
|
30
|
+
}
|
|
31
|
+
export interface GetResourceDependenciesResp {
|
|
32
|
+
resourceId: string;
|
|
33
|
+
edges: ResourceEdge[];
|
|
34
|
+
}
|
|
35
|
+
export interface GetResourceDependencyTreeResp {
|
|
36
|
+
tree: ResourceDependencyNode;
|
|
37
|
+
}
|
|
38
|
+
export interface ResourceDep {
|
|
39
|
+
kind: ResourceKind;
|
|
40
|
+
key: string;
|
|
41
|
+
version: string;
|
|
42
|
+
}
|
|
43
|
+
/** Template spec → direct deps: content asset, functions, input schemas. */
|
|
44
|
+
export declare function getTemplateDeps(spec: TemplateSpec): ResourceDep[];
|
|
45
|
+
/** Asset spec → direct deps: sub-assets (partials/images/styles), viewModelSchema. */
|
|
46
|
+
export declare function getAssetDeps(spec: AssetSpec): ResourceDep[];
|
|
47
|
+
/** Function spec → direct deps: param schemas, returnType schema. */
|
|
48
|
+
export declare function getFunctionDeps(spec: JsonataFunctionSpec): ResourceDep[];
|
|
49
|
+
/** Blueprint spec → direct deps: functions, input schemas, envelope templates. */
|
|
50
|
+
export declare function getBlueprintDeps(spec: BlueprintSpec): ResourceDep[];
|
|
51
|
+
/**
|
|
52
|
+
* Collect all transitive deps starting from a template spec.
|
|
53
|
+
* Walks: template → (assets, functions, schemas) → (sub-assets, function schemas) → ...
|
|
54
|
+
* Uses lookup functions to resolve specs for intermediate resources.
|
|
55
|
+
* Returns deduplicated flat array of all deps (direct + transitive).
|
|
56
|
+
*/
|
|
57
|
+
export declare function collectTransitiveDeps(templateSpec: TemplateSpec, lookups: {
|
|
58
|
+
getAssetSpec?: (key: string, version: string) => AssetSpec | undefined;
|
|
59
|
+
getFunctionSpec?: (key: string, version: string) => JsonataFunctionSpec | undefined;
|
|
60
|
+
}): ResourceDep[];
|