@elytracms/core 0.0.6
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/LICENSE +21 -0
- package/dist/clipboard/build.d.ts +77 -0
- package/dist/clipboard/build.js +128 -0
- package/dist/clipboard/build.js.map +1 -0
- package/dist/clipboard/clipboard.d.ts +33 -0
- package/dist/clipboard/clipboard.js +45 -0
- package/dist/clipboard/clipboard.js.map +1 -0
- package/dist/clipboard/fragment.d.ts +112 -0
- package/dist/clipboard/fragment.js +79 -0
- package/dist/clipboard/fragment.js.map +1 -0
- package/dist/clipboard/html.d.ts +26 -0
- package/dist/clipboard/html.js +82 -0
- package/dist/clipboard/html.js.map +1 -0
- package/dist/clipboard/index.d.ts +15 -0
- package/dist/clipboard/index.js +16 -0
- package/dist/clipboard/index.js.map +1 -0
- package/dist/clipboard/references.d.ts +50 -0
- package/dist/clipboard/references.js +0 -0
- package/dist/clipboard/references.js.map +1 -0
- package/dist/clipboard/serialize.d.ts +69 -0
- package/dist/clipboard/serialize.js +130 -0
- package/dist/clipboard/serialize.js.map +1 -0
- package/dist/cms-core/collections.d.ts +82 -0
- package/dist/cms-core/collections.js +187 -0
- package/dist/cms-core/collections.js.map +1 -0
- package/dist/cms-core/documents.d.ts +71 -0
- package/dist/cms-core/documents.js +67 -0
- package/dist/cms-core/documents.js.map +1 -0
- package/dist/cms-core/envelopes.d.ts +80 -0
- package/dist/cms-core/envelopes.js +124 -0
- package/dist/cms-core/envelopes.js.map +1 -0
- package/dist/cms-core/fields.d.ts +220 -0
- package/dist/cms-core/fields.js +250 -0
- package/dist/cms-core/fields.js.map +1 -0
- package/dist/cms-core/fixtures.d.ts +92 -0
- package/dist/cms-core/fixtures.js +357 -0
- package/dist/cms-core/fixtures.js.map +1 -0
- package/dist/cms-core/hierarchy.d.ts +113 -0
- package/dist/cms-core/hierarchy.js +223 -0
- package/dist/cms-core/hierarchy.js.map +1 -0
- package/dist/cms-core/index.d.ts +25 -0
- package/dist/cms-core/index.js +26 -0
- package/dist/cms-core/index.js.map +1 -0
- package/dist/cms-core/infer.d.ts +103 -0
- package/dist/cms-core/infer.js +57 -0
- package/dist/cms-core/infer.js.map +1 -0
- package/dist/cms-core/issues.d.ts +92 -0
- package/dist/cms-core/issues.js +74 -0
- package/dist/cms-core/issues.js.map +1 -0
- package/dist/cms-core/json-schema.d.ts +25 -0
- package/dist/cms-core/json-schema.js +110 -0
- package/dist/cms-core/json-schema.js.map +1 -0
- package/dist/cms-core/localization.d.ts +51 -0
- package/dist/cms-core/localization.js +89 -0
- package/dist/cms-core/localization.js.map +1 -0
- package/dist/cms-core/routes.d.ts +76 -0
- package/dist/cms-core/routes.js +220 -0
- package/dist/cms-core/routes.js.map +1 -0
- package/dist/cms-core/self-type.d.ts +41 -0
- package/dist/cms-core/self-type.js +191 -0
- package/dist/cms-core/self-type.js.map +1 -0
- package/dist/cms-core/url-for-document.d.ts +39 -0
- package/dist/cms-core/url-for-document.js +138 -0
- package/dist/cms-core/url-for-document.js.map +1 -0
- package/dist/cms-core/validate-document.d.ts +121 -0
- package/dist/cms-core/validate-document.js +871 -0
- package/dist/cms-core/validate-document.js.map +1 -0
- package/dist/cms-core/versions.d.ts +75 -0
- package/dist/cms-core/versions.js +97 -0
- package/dist/cms-core/versions.js.map +1 -0
- package/dist/collaboration/approval.d.ts +68 -0
- package/dist/collaboration/approval.js +104 -0
- package/dist/collaboration/approval.js.map +1 -0
- package/dist/collaboration/collaboration.d.ts +49 -0
- package/dist/collaboration/collaboration.js +56 -0
- package/dist/collaboration/collaboration.js.map +1 -0
- package/dist/collaboration/comments.d.ts +72 -0
- package/dist/collaboration/comments.js +118 -0
- package/dist/collaboration/comments.js.map +1 -0
- package/dist/collaboration/core.d.ts +25 -0
- package/dist/collaboration/core.js +26 -0
- package/dist/collaboration/core.js.map +1 -0
- package/dist/collaboration/index.d.ts +14 -0
- package/dist/collaboration/index.js +15 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/collaboration/presence.d.ts +62 -0
- package/dist/collaboration/presence.js +85 -0
- package/dist/collaboration/presence.js.map +1 -0
- package/dist/collaboration/publishing.d.ts +60 -0
- package/dist/collaboration/publishing.js +93 -0
- package/dist/collaboration/publishing.js.map +1 -0
- package/dist/collaboration/versions.d.ts +52 -0
- package/dist/collaboration/versions.js +81 -0
- package/dist/collaboration/versions.js.map +1 -0
- package/dist/component-registry/index.d.ts +3 -0
- package/dist/component-registry/index.js +4 -0
- package/dist/component-registry/index.js.map +1 -0
- package/dist/component-registry/issues.d.ts +6 -0
- package/dist/component-registry/issues.js +2 -0
- package/dist/component-registry/issues.js.map +1 -0
- package/dist/component-registry/manifest.d.ts +164 -0
- package/dist/component-registry/manifest.js +129 -0
- package/dist/component-registry/manifest.js.map +1 -0
- package/dist/component-registry/registry.d.ts +33 -0
- package/dist/component-registry/registry.js +90 -0
- package/dist/component-registry/registry.js.map +1 -0
- package/dist/content/__fixtures__/filterable-collections.d.ts +14 -0
- package/dist/content/__fixtures__/filterable-collections.js +15 -0
- package/dist/content/__fixtures__/filterable-collections.js.map +1 -0
- package/dist/content/__fixtures__/sample-accessor-types.d.ts +56 -0
- package/dist/content/__fixtures__/sample-accessor-types.js +5 -0
- package/dist/content/__fixtures__/sample-accessor-types.js.map +1 -0
- package/dist/content/__fixtures__/sample-delivery-types.d.ts +122 -0
- package/dist/content/__fixtures__/sample-delivery-types.js +5 -0
- package/dist/content/__fixtures__/sample-delivery-types.js.map +1 -0
- package/dist/content/assets.d.ts +53 -0
- package/dist/content/assets.js +38 -0
- package/dist/content/assets.js.map +1 -0
- package/dist/content/binding-sources.d.ts +53 -0
- package/dist/content/binding-sources.js +73 -0
- package/dist/content/binding-sources.js.map +1 -0
- package/dist/content/client.d.ts +90 -0
- package/dist/content/client.js +383 -0
- package/dist/content/client.js.map +1 -0
- package/dist/content/codegen.d.ts +54 -0
- package/dist/content/codegen.js +305 -0
- package/dist/content/codegen.js.map +1 -0
- package/dist/content/context.d.ts +38 -0
- package/dist/content/context.js +21 -0
- package/dist/content/context.js.map +1 -0
- package/dist/content/cursor.d.ts +33 -0
- package/dist/content/cursor.js +104 -0
- package/dist/content/cursor.js.map +1 -0
- package/dist/content/index.d.ts +28 -0
- package/dist/content/index.js +29 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/locale.d.ts +30 -0
- package/dist/content/locale.js +26 -0
- package/dist/content/locale.js.map +1 -0
- package/dist/content/perspective.d.ts +29 -0
- package/dist/content/perspective.js +31 -0
- package/dist/content/perspective.js.map +1 -0
- package/dist/content/populate.d.ts +25 -0
- package/dist/content/populate.js +22 -0
- package/dist/content/populate.js.map +1 -0
- package/dist/content/query.d.ts +122 -0
- package/dist/content/query.js +257 -0
- package/dist/content/query.js.map +1 -0
- package/dist/content/raw.d.ts +13 -0
- package/dist/content/raw.js +14 -0
- package/dist/content/raw.js.map +1 -0
- package/dist/content/resolve.d.ts +97 -0
- package/dist/content/resolve.js +261 -0
- package/dist/content/resolve.js.map +1 -0
- package/dist/content/serialize.d.ts +30 -0
- package/dist/content/serialize.js +57 -0
- package/dist/content/serialize.js.map +1 -0
- package/dist/content/tags.d.ts +54 -0
- package/dist/content/tags.js +40 -0
- package/dist/content/tags.js.map +1 -0
- package/dist/data-binding/fixtures.d.ts +20 -0
- package/dist/data-binding/fixtures.js +47 -0
- package/dist/data-binding/fixtures.js.map +1 -0
- package/dist/data-binding/index.d.ts +14 -0
- package/dist/data-binding/index.js +15 -0
- package/dist/data-binding/index.js.map +1 -0
- package/dist/data-binding/issues.d.ts +45 -0
- package/dist/data-binding/issues.js +46 -0
- package/dist/data-binding/issues.js.map +1 -0
- package/dist/data-binding/resolve.d.ts +87 -0
- package/dist/data-binding/resolve.js +204 -0
- package/dist/data-binding/resolve.js.map +1 -0
- package/dist/data-binding/sample.d.ts +21 -0
- package/dist/data-binding/sample.js +23 -0
- package/dist/data-binding/sample.js.map +1 -0
- package/dist/data-binding/sources.d.ts +225 -0
- package/dist/data-binding/sources.js +154 -0
- package/dist/data-binding/sources.js.map +1 -0
- package/dist/data-binding/tokens.d.ts +62 -0
- package/dist/data-binding/tokens.js +150 -0
- package/dist/data-binding/tokens.js.map +1 -0
- package/dist/design-tokens/css.d.ts +34 -0
- package/dist/design-tokens/css.js +51 -0
- package/dist/design-tokens/css.js.map +1 -0
- package/dist/design-tokens/index.d.ts +10 -0
- package/dist/design-tokens/index.js +11 -0
- package/dist/design-tokens/index.js.map +1 -0
- package/dist/design-tokens/style-guide.d.ts +30 -0
- package/dist/design-tokens/style-guide.js +31 -0
- package/dist/design-tokens/style-guide.js.map +1 -0
- package/dist/design-tokens/tokens.d.ts +89 -0
- package/dist/design-tokens/tokens.js +112 -0
- package/dist/design-tokens/tokens.js.map +1 -0
- package/dist/export-sync/builder-source.d.ts +85 -0
- package/dist/export-sync/builder-source.js +124 -0
- package/dist/export-sync/builder-source.js.map +1 -0
- package/dist/export-sync/check.d.ts +61 -0
- package/dist/export-sync/check.js +126 -0
- package/dist/export-sync/check.js.map +1 -0
- package/dist/export-sync/cli.d.ts +89 -0
- package/dist/export-sync/cli.js +323 -0
- package/dist/export-sync/cli.js.map +1 -0
- package/dist/export-sync/core.d.ts +58 -0
- package/dist/export-sync/core.js +41 -0
- package/dist/export-sync/core.js.map +1 -0
- package/dist/export-sync/eject.d.ts +28 -0
- package/dist/export-sync/eject.js +21 -0
- package/dist/export-sync/eject.js.map +1 -0
- package/dist/export-sync/fixtures.d.ts +25 -0
- package/dist/export-sync/fixtures.js +87 -0
- package/dist/export-sync/fixtures.js.map +1 -0
- package/dist/export-sync/generate.d.ts +7 -0
- package/dist/export-sync/generate.js +505 -0
- package/dist/export-sync/generate.js.map +1 -0
- package/dist/export-sync/index.d.ts +37 -0
- package/dist/export-sync/index.js +39 -0
- package/dist/export-sync/index.js.map +1 -0
- package/dist/export-sync/init.d.ts +123 -0
- package/dist/export-sync/init.js +234 -0
- package/dist/export-sync/init.js.map +1 -0
- package/dist/export-sync/manifest-host.d.ts +48 -0
- package/dist/export-sync/manifest-host.js +73 -0
- package/dist/export-sync/manifest-host.js.map +1 -0
- package/dist/export-sync/node.d.ts +20 -0
- package/dist/export-sync/node.js +101 -0
- package/dist/export-sync/node.js.map +1 -0
- package/dist/export-sync/push.d.ts +76 -0
- package/dist/export-sync/push.js +197 -0
- package/dist/export-sync/push.js.map +1 -0
- package/dist/export-sync/registry-sync-client.d.ts +59 -0
- package/dist/export-sync/registry-sync-client.js +97 -0
- package/dist/export-sync/registry-sync-client.js.map +1 -0
- package/dist/export-sync/sync.d.ts +47 -0
- package/dist/export-sync/sync.js +47 -0
- package/dist/export-sync/sync.js.map +1 -0
- package/dist/export-sync/typegen.d.ts +40 -0
- package/dist/export-sync/typegen.js +45 -0
- package/dist/export-sync/typegen.js.map +1 -0
- package/dist/export-sync/validate.d.ts +19 -0
- package/dist/export-sync/validate.js +102 -0
- package/dist/export-sync/validate.js.map +1 -0
- package/dist/export-sync/watch.d.ts +66 -0
- package/dist/export-sync/watch.js +70 -0
- package/dist/export-sync/watch.js.map +1 -0
- package/dist/operations/assets.d.ts +198 -0
- package/dist/operations/assets.js +75 -0
- package/dist/operations/assets.js.map +1 -0
- package/dist/operations/authorization.d.ts +49 -0
- package/dist/operations/authorization.js +128 -0
- package/dist/operations/authorization.js.map +1 -0
- package/dist/operations/changesets.d.ts +160 -0
- package/dist/operations/changesets.js +442 -0
- package/dist/operations/changesets.js.map +1 -0
- package/dist/operations/client.d.ts +49 -0
- package/dist/operations/client.js +57 -0
- package/dist/operations/client.js.map +1 -0
- package/dist/operations/core.d.ts +238 -0
- package/dist/operations/core.js +269 -0
- package/dist/operations/core.js.map +1 -0
- package/dist/operations/documents.d.ts +432 -0
- package/dist/operations/documents.js +344 -0
- package/dist/operations/documents.js.map +1 -0
- package/dist/operations/graph.d.ts +138 -0
- package/dist/operations/graph.js +78 -0
- package/dist/operations/graph.js.map +1 -0
- package/dist/operations/index.d.ts +19 -0
- package/dist/operations/index.js +20 -0
- package/dist/operations/index.js.map +1 -0
- package/dist/operations/members.d.ts +87 -0
- package/dist/operations/members.js +56 -0
- package/dist/operations/members.js.map +1 -0
- package/dist/operations/publishing.d.ts +89 -0
- package/dist/operations/publishing.js +57 -0
- package/dist/operations/publishing.js.map +1 -0
- package/dist/operations/references.d.ts +222 -0
- package/dist/operations/references.js +177 -0
- package/dist/operations/references.js.map +1 -0
- package/dist/operations/schema.d.ts +413 -0
- package/dist/operations/schema.js +138 -0
- package/dist/operations/schema.js.map +1 -0
- package/dist/operations/tokens.d.ts +79 -0
- package/dist/operations/tokens.js +102 -0
- package/dist/operations/tokens.js.map +1 -0
- package/dist/persistence/adapter.d.ts +79 -0
- package/dist/persistence/adapter.js +55 -0
- package/dist/persistence/adapter.js.map +1 -0
- package/dist/persistence/assets.d.ts +120 -0
- package/dist/persistence/assets.js +141 -0
- package/dist/persistence/assets.js.map +1 -0
- package/dist/persistence/backend-validation.d.ts +43 -0
- package/dist/persistence/backend-validation.js +57 -0
- package/dist/persistence/backend-validation.js.map +1 -0
- package/dist/persistence/cli-tokens.d.ts +50 -0
- package/dist/persistence/cli-tokens.js +66 -0
- package/dist/persistence/cli-tokens.js.map +1 -0
- package/dist/persistence/cms.d.ts +148 -0
- package/dist/persistence/cms.js +232 -0
- package/dist/persistence/cms.js.map +1 -0
- package/dist/persistence/contract-scenarios.d.ts +73 -0
- package/dist/persistence/contract-scenarios.js +496 -0
- package/dist/persistence/contract-scenarios.js.map +1 -0
- package/dist/persistence/core.d.ts +96 -0
- package/dist/persistence/core.js +110 -0
- package/dist/persistence/core.js.map +1 -0
- package/dist/persistence/graph.d.ts +61 -0
- package/dist/persistence/graph.js +98 -0
- package/dist/persistence/graph.js.map +1 -0
- package/dist/persistence/index.d.ts +22 -0
- package/dist/persistence/index.js +23 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/members.d.ts +70 -0
- package/dist/persistence/members.js +0 -0
- package/dist/persistence/members.js.map +1 -0
- package/dist/persistence/publishing.d.ts +59 -0
- package/dist/persistence/publishing.js +95 -0
- package/dist/persistence/publishing.js.map +1 -0
- package/dist/persistence/reference-extraction.d.ts +44 -0
- package/dist/persistence/reference-extraction.js +204 -0
- package/dist/persistence/reference-extraction.js.map +1 -0
- package/dist/persistence/reference-indexing.d.ts +68 -0
- package/dist/persistence/reference-indexing.js +112 -0
- package/dist/persistence/reference-indexing.js.map +1 -0
- package/dist/persistence/references.d.ts +257 -0
- package/dist/persistence/references.js +0 -0
- package/dist/persistence/references.js.map +1 -0
- package/dist/persistence/seed.d.ts +55 -0
- package/dist/persistence/seed.js +102 -0
- package/dist/persistence/seed.js.map +1 -0
- package/dist/persistence/self-maintaining-adapter.d.ts +41 -0
- package/dist/persistence/self-maintaining-adapter.js +79 -0
- package/dist/persistence/self-maintaining-adapter.js.map +1 -0
- package/dist/plugins/asset-storage.d.ts +76 -0
- package/dist/plugins/asset-storage.js +104 -0
- package/dist/plugins/asset-storage.js.map +1 -0
- package/dist/plugins/component-package.d.ts +54 -0
- package/dist/plugins/component-package.js +92 -0
- package/dist/plugins/component-package.js.map +1 -0
- package/dist/plugins/data-sources.d.ts +78 -0
- package/dist/plugins/data-sources.js +99 -0
- package/dist/plugins/data-sources.js.map +1 -0
- package/dist/plugins/examples.d.ts +47 -0
- package/dist/plugins/examples.js +205 -0
- package/dist/plugins/examples.js.map +1 -0
- package/dist/plugins/export-targets.d.ts +47 -0
- package/dist/plugins/export-targets.js +78 -0
- package/dist/plugins/export-targets.js.map +1 -0
- package/dist/plugins/field-types.d.ts +86 -0
- package/dist/plugins/field-types.js +93 -0
- package/dist/plugins/field-types.js.map +1 -0
- package/dist/plugins/hooks.d.ts +60 -0
- package/dist/plugins/hooks.js +94 -0
- package/dist/plugins/hooks.js.map +1 -0
- package/dist/plugins/index.d.ts +27 -0
- package/dist/plugins/index.js +28 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/marketplace.d.ts +90 -0
- package/dist/plugins/marketplace.js +110 -0
- package/dist/plugins/marketplace.js.map +1 -0
- package/dist/plugins/plugin.d.ts +107 -0
- package/dist/plugins/plugin.js +122 -0
- package/dist/plugins/plugin.js.map +1 -0
- package/dist/plugins/templates.d.ts +66 -0
- package/dist/plugins/templates.js +74 -0
- package/dist/plugins/templates.js.map +1 -0
- package/dist/project-graph/binding.d.ts +68 -0
- package/dist/project-graph/binding.js +39 -0
- package/dist/project-graph/binding.js.map +1 -0
- package/dist/project-graph/container.d.ts +126 -0
- package/dist/project-graph/container.js +221 -0
- package/dist/project-graph/container.js.map +1 -0
- package/dist/project-graph/edit.d.ts +66 -0
- package/dist/project-graph/edit.js +201 -0
- package/dist/project-graph/edit.js.map +1 -0
- package/dist/project-graph/fixtures.d.ts +51 -0
- package/dist/project-graph/fixtures.js +224 -0
- package/dist/project-graph/fixtures.js.map +1 -0
- package/dist/project-graph/ids.d.ts +17 -0
- package/dist/project-graph/ids.js +19 -0
- package/dist/project-graph/ids.js.map +1 -0
- package/dist/project-graph/index.d.ts +12 -0
- package/dist/project-graph/index.js +13 -0
- package/dist/project-graph/index.js.map +1 -0
- package/dist/project-graph/issues.d.ts +61 -0
- package/dist/project-graph/issues.js +44 -0
- package/dist/project-graph/issues.js.map +1 -0
- package/dist/project-graph/json.d.ts +6 -0
- package/dist/project-graph/json.js +10 -0
- package/dist/project-graph/json.js.map +1 -0
- package/dist/project-graph/node.d.ts +48 -0
- package/dist/project-graph/node.js +42 -0
- package/dist/project-graph/node.js.map +1 -0
- package/dist/project-graph/normalize.d.ts +17 -0
- package/dist/project-graph/normalize.js +110 -0
- package/dist/project-graph/normalize.js.map +1 -0
- package/dist/project-graph/serialize.d.ts +36 -0
- package/dist/project-graph/serialize.js +51 -0
- package/dist/project-graph/serialize.js.map +1 -0
- package/dist/project-graph/structure.d.ts +40 -0
- package/dist/project-graph/structure.js +36 -0
- package/dist/project-graph/structure.js.map +1 -0
- package/dist/project-graph/validate.d.ts +84 -0
- package/dist/project-graph/validate.js +158 -0
- package/dist/project-graph/validate.js.map +1 -0
- package/dist/rich-text/adapter.d.ts +43 -0
- package/dist/rich-text/adapter.js +24 -0
- package/dist/rich-text/adapter.js.map +1 -0
- package/dist/rich-text/dom-editor.d.ts +101 -0
- package/dist/rich-text/dom-editor.js +482 -0
- package/dist/rich-text/dom-editor.js.map +1 -0
- package/dist/rich-text/embed.d.ts +70 -0
- package/dist/rich-text/embed.js +70 -0
- package/dist/rich-text/embed.js.map +1 -0
- package/dist/rich-text/fixtures.d.ts +25 -0
- package/dist/rich-text/fixtures.js +115 -0
- package/dist/rich-text/fixtures.js.map +1 -0
- package/dist/rich-text/html.d.ts +5 -0
- package/dist/rich-text/html.js +309 -0
- package/dist/rich-text/html.js.map +1 -0
- package/dist/rich-text/index.d.ts +19 -0
- package/dist/rich-text/index.js +20 -0
- package/dist/rich-text/index.js.map +1 -0
- package/dist/rich-text/markdown.d.ts +7 -0
- package/dist/rich-text/markdown.js +235 -0
- package/dist/rich-text/markdown.js.map +1 -0
- package/dist/rich-text/portable-text.d.ts +50 -0
- package/dist/rich-text/portable-text.js +223 -0
- package/dist/rich-text/portable-text.js.map +1 -0
- package/dist/rich-text/registry.d.ts +48 -0
- package/dist/rich-text/registry.js +16 -0
- package/dist/rich-text/registry.js.map +1 -0
- package/dist/rich-text/render.d.ts +69 -0
- package/dist/rich-text/render.js +205 -0
- package/dist/rich-text/render.js.map +1 -0
- package/dist/rich-text/schema.d.ts +86 -0
- package/dist/rich-text/schema.js +80 -0
- package/dist/rich-text/schema.js.map +1 -0
- package/dist/rich-text/test-support.d.ts +7 -0
- package/dist/rich-text/test-support.js +8 -0
- package/dist/rich-text/test-support.js.map +1 -0
- package/dist/runtime-renderer/client.d.ts +14 -0
- package/dist/runtime-renderer/client.js +15 -0
- package/dist/runtime-renderer/client.js.map +1 -0
- package/dist/runtime-renderer/condition.d.ts +8 -0
- package/dist/runtime-renderer/condition.js +48 -0
- package/dist/runtime-renderer/condition.js.map +1 -0
- package/dist/runtime-renderer/content-client.d.ts +62 -0
- package/dist/runtime-renderer/content-client.js +37 -0
- package/dist/runtime-renderer/content-client.js.map +1 -0
- package/dist/runtime-renderer/context.d.ts +185 -0
- package/dist/runtime-renderer/context.js +7 -0
- package/dist/runtime-renderer/context.js.map +1 -0
- package/dist/runtime-renderer/fallback.d.ts +39 -0
- package/dist/runtime-renderer/fallback.js +45 -0
- package/dist/runtime-renderer/fallback.js.map +1 -0
- package/dist/runtime-renderer/index.d.ts +13 -0
- package/dist/runtime-renderer/index.js +13 -0
- package/dist/runtime-renderer/index.js.map +1 -0
- package/dist/runtime-renderer/primitives.d.ts +85 -0
- package/dist/runtime-renderer/primitives.js +442 -0
- package/dist/runtime-renderer/primitives.js.map +1 -0
- package/dist/runtime-renderer/render.d.ts +138 -0
- package/dist/runtime-renderer/render.js +825 -0
- package/dist/runtime-renderer/render.js.map +1 -0
- package/dist/runtime-renderer/rich-text.d.ts +26 -0
- package/dist/runtime-renderer/rich-text.js +113 -0
- package/dist/runtime-renderer/rich-text.js.map +1 -0
- package/dist/starter-kits/index.d.ts +13 -0
- package/dist/starter-kits/index.js +14 -0
- package/dist/starter-kits/index.js.map +1 -0
- package/dist/starter-kits/instantiate.d.ts +29 -0
- package/dist/starter-kits/instantiate.js +24 -0
- package/dist/starter-kits/instantiate.js.map +1 -0
- package/dist/starter-kits/kit.d.ts +61 -0
- package/dist/starter-kits/kit.js +37 -0
- package/dist/starter-kits/kit.js.map +1 -0
- package/dist/starter-kits/kits.d.ts +7 -0
- package/dist/starter-kits/kits.js +201 -0
- package/dist/starter-kits/kits.js.map +1 -0
- package/dist/starter-kits/manifests.d.ts +7 -0
- package/dist/starter-kits/manifests.js +111 -0
- package/dist/starter-kits/manifests.js.map +1 -0
- package/dist/starter-kits/upgrade.d.ts +39 -0
- package/dist/starter-kits/upgrade.js +54 -0
- package/dist/starter-kits/upgrade.js.map +1 -0
- package/dist/starter-kits/validate.d.ts +16 -0
- package/dist/starter-kits/validate.js +77 -0
- package/dist/starter-kits/validate.js.map +1 -0
- package/dist/studio-core/context.d.ts +27 -0
- package/dist/studio-core/context.js +44 -0
- package/dist/studio-core/context.js.map +1 -0
- package/dist/studio-core/errors.d.ts +58 -0
- package/dist/studio-core/errors.js +74 -0
- package/dist/studio-core/errors.js.map +1 -0
- package/dist/studio-core/fixtures.d.ts +18 -0
- package/dist/studio-core/fixtures.js +83 -0
- package/dist/studio-core/fixtures.js.map +1 -0
- package/dist/studio-core/ids.d.ts +22 -0
- package/dist/studio-core/ids.js +33 -0
- package/dist/studio-core/ids.js.map +1 -0
- package/dist/studio-core/index.d.ts +11 -0
- package/dist/studio-core/index.js +12 -0
- package/dist/studio-core/index.js.map +1 -0
- package/dist/studio-core/issues.d.ts +50 -0
- package/dist/studio-core/issues.js +33 -0
- package/dist/studio-core/issues.js.map +1 -0
- package/dist/studio-core/metadata.d.ts +109 -0
- package/dist/studio-core/metadata.js +74 -0
- package/dist/studio-core/metadata.js.map +1 -0
- package/dist/studio-core/repository.d.ts +73 -0
- package/dist/studio-core/repository.js +202 -0
- package/dist/studio-core/repository.js.map +1 -0
- package/dist/studio-core/sections.d.ts +73 -0
- package/dist/studio-core/sections.js +68 -0
- package/dist/studio-core/sections.js.map +1 -0
- package/dist/studio-core/validate.d.ts +15 -0
- package/dist/studio-core/validate.js +119 -0
- package/dist/studio-core/validate.js.map +1 -0
- package/dist/studio-core/workspace-config.d.ts +587 -0
- package/dist/studio-core/workspace-config.js +434 -0
- package/dist/studio-core/workspace-config.js.map +1 -0
- package/package.json +104 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-document.js","sourceRoot":"","sources":["../../src/cms-core/validate-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CmsDocument } from './documents';
|
|
3
|
+
import type { CmsValidationIssue } from './issues';
|
|
4
|
+
/**
|
|
5
|
+
* A snapshot of a document at a point in time (EC-021 version history). Stores a
|
|
6
|
+
* full copy of the document's stored state plus bookkeeping. Snapshots are
|
|
7
|
+
* immutable records of prior states.
|
|
8
|
+
*/
|
|
9
|
+
export declare const documentVersionSchema: z.ZodObject<{
|
|
10
|
+
version: z.ZodNumber;
|
|
11
|
+
snapshot: z.ZodObject<{
|
|
12
|
+
collection: z.ZodString;
|
|
13
|
+
id: z.ZodString;
|
|
14
|
+
values: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
15
|
+
localized: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
16
|
+
defaultLocale: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
createdAt: z.ZodNumber;
|
|
19
|
+
label: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type DocumentVersion = z.infer<typeof documentVersionSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* Draft/published primitives + version history for a single document (EC-021).
|
|
24
|
+
*
|
|
25
|
+
* Holds the live `draft` state, the last `published` state (if any), and an
|
|
26
|
+
* ordered history of recorded versions. All mutations return new states or
|
|
27
|
+
* append history; nothing is silently dropped, and retrieving an unknown
|
|
28
|
+
* version yields a structured issue rather than throwing.
|
|
29
|
+
*/
|
|
30
|
+
export interface DocumentHistory {
|
|
31
|
+
/** The current working draft. */
|
|
32
|
+
readonly draft: CmsDocument;
|
|
33
|
+
/** The last published snapshot, if the document has ever been published. */
|
|
34
|
+
readonly published: CmsDocument | undefined;
|
|
35
|
+
/** Recorded versions, oldest first. */
|
|
36
|
+
readonly versions: readonly DocumentVersion[];
|
|
37
|
+
}
|
|
38
|
+
/** Create a fresh history seeded with an initial draft (EC-021). */
|
|
39
|
+
export declare function createHistory(initial: CmsDocument): DocumentHistory;
|
|
40
|
+
/** Replace the working draft (does not record a version). */
|
|
41
|
+
export declare function updateDraft(history: DocumentHistory, draft: CmsDocument): DocumentHistory;
|
|
42
|
+
export interface PublishOptions {
|
|
43
|
+
/** Timestamp for the recorded version (epoch ms); defaults to `Date.now()`. */
|
|
44
|
+
now?: number;
|
|
45
|
+
label?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Publish the current draft (EC-021): records it as a new version and promotes
|
|
49
|
+
* it to `published`. The presence of `published` IS the published signal now
|
|
50
|
+
* (EC-224 retired the flat `state` flag); the live `draft` is a detached copy.
|
|
51
|
+
*/
|
|
52
|
+
export declare function publish(history: DocumentHistory, options?: PublishOptions): DocumentHistory;
|
|
53
|
+
/** Snapshot the current draft into history without publishing (EC-021). */
|
|
54
|
+
export declare function snapshotDraft(history: DocumentHistory, options?: PublishOptions): DocumentHistory;
|
|
55
|
+
export type VersionLookup = {
|
|
56
|
+
ok: true;
|
|
57
|
+
version: DocumentVersion;
|
|
58
|
+
} | {
|
|
59
|
+
ok: false;
|
|
60
|
+
issue: CmsValidationIssue;
|
|
61
|
+
};
|
|
62
|
+
/** Retrieve a prior version by number (EC-021). Unknown version → structured issue. */
|
|
63
|
+
export declare function getVersion(history: DocumentHistory, version: number): VersionLookup;
|
|
64
|
+
/**
|
|
65
|
+
* Restore a prior version as the new working draft (EC-021). The current draft is
|
|
66
|
+
* NOT lost — callers can snapshot it first if desired. Returns the updated
|
|
67
|
+
* history, or a structured issue if the version is unknown.
|
|
68
|
+
*/
|
|
69
|
+
export declare function restoreVersion(history: DocumentHistory, version: number): {
|
|
70
|
+
ok: true;
|
|
71
|
+
history: DocumentHistory;
|
|
72
|
+
} | {
|
|
73
|
+
ok: false;
|
|
74
|
+
issue: CmsValidationIssue;
|
|
75
|
+
};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { documentSchema } from './documents';
|
|
3
|
+
import { cmsIssue } from './issues';
|
|
4
|
+
/**
|
|
5
|
+
* A snapshot of a document at a point in time (EC-021 version history). Stores a
|
|
6
|
+
* full copy of the document's stored state plus bookkeeping. Snapshots are
|
|
7
|
+
* immutable records of prior states.
|
|
8
|
+
*/
|
|
9
|
+
export const documentVersionSchema = z.object({
|
|
10
|
+
/** Monotonic version number, starting at 1. */
|
|
11
|
+
version: z.number().int().positive(),
|
|
12
|
+
/** Full document snapshot at this version. */
|
|
13
|
+
snapshot: documentSchema,
|
|
14
|
+
/** When the snapshot was recorded (epoch ms). */
|
|
15
|
+
createdAt: z.number().int().nonnegative(),
|
|
16
|
+
/** Optional label, e.g. "published" or an author note. */
|
|
17
|
+
label: z.string().optional(),
|
|
18
|
+
});
|
|
19
|
+
function clone(doc) {
|
|
20
|
+
// Parse re-applies defaults and produces a detached, JSON-safe copy.
|
|
21
|
+
return documentSchema.parse(structuredClone(doc));
|
|
22
|
+
}
|
|
23
|
+
/** Create a fresh history seeded with an initial draft (EC-021). */
|
|
24
|
+
export function createHistory(initial) {
|
|
25
|
+
return {
|
|
26
|
+
draft: clone(initial),
|
|
27
|
+
published: undefined,
|
|
28
|
+
versions: [],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** Replace the working draft (does not record a version). */
|
|
32
|
+
export function updateDraft(history, draft) {
|
|
33
|
+
return { ...history, draft: clone(draft) };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Publish the current draft (EC-021): records it as a new version and promotes
|
|
37
|
+
* it to `published`. The presence of `published` IS the published signal now
|
|
38
|
+
* (EC-224 retired the flat `state` flag); the live `draft` is a detached copy.
|
|
39
|
+
*/
|
|
40
|
+
export function publish(history, options = {}) {
|
|
41
|
+
const now = options.now ?? Date.now();
|
|
42
|
+
const versions = [...history.versions];
|
|
43
|
+
const promoted = clone(history.draft);
|
|
44
|
+
const nextVersion = (versions[versions.length - 1]?.version ?? 0) + 1;
|
|
45
|
+
versions.push({
|
|
46
|
+
version: nextVersion,
|
|
47
|
+
snapshot: clone(promoted),
|
|
48
|
+
createdAt: now,
|
|
49
|
+
...(options.label ? { label: options.label } : { label: 'published' }),
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
draft: clone(promoted),
|
|
53
|
+
published: promoted,
|
|
54
|
+
versions,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/** Snapshot the current draft into history without publishing (EC-021). */
|
|
58
|
+
export function snapshotDraft(history, options = {}) {
|
|
59
|
+
const now = options.now ?? Date.now();
|
|
60
|
+
const versions = [...history.versions];
|
|
61
|
+
const nextVersion = (versions[versions.length - 1]?.version ?? 0) + 1;
|
|
62
|
+
versions.push({
|
|
63
|
+
version: nextVersion,
|
|
64
|
+
snapshot: clone(history.draft),
|
|
65
|
+
createdAt: now,
|
|
66
|
+
...(options.label ? { label: options.label } : {}),
|
|
67
|
+
});
|
|
68
|
+
return { ...history, versions };
|
|
69
|
+
}
|
|
70
|
+
/** Retrieve a prior version by number (EC-021). Unknown version → structured issue. */
|
|
71
|
+
export function getVersion(history, version) {
|
|
72
|
+
const found = history.versions.find((v) => v.version === version);
|
|
73
|
+
if (found)
|
|
74
|
+
return { ok: true, version: found };
|
|
75
|
+
return {
|
|
76
|
+
ok: false,
|
|
77
|
+
issue: cmsIssue({
|
|
78
|
+
code: 'unknown-version',
|
|
79
|
+
message: `No version ${version} recorded for document "${history.draft.id}".`,
|
|
80
|
+
path: ['versions', version],
|
|
81
|
+
documentId: history.draft.id,
|
|
82
|
+
meta: { requested: version, available: history.versions.map((v) => v.version) },
|
|
83
|
+
}),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Restore a prior version as the new working draft (EC-021). The current draft is
|
|
88
|
+
* NOT lost — callers can snapshot it first if desired. Returns the updated
|
|
89
|
+
* history, or a structured issue if the version is unknown.
|
|
90
|
+
*/
|
|
91
|
+
export function restoreVersion(history, version) {
|
|
92
|
+
const lookup = getVersion(history, version);
|
|
93
|
+
if (!lookup.ok)
|
|
94
|
+
return { ok: false, issue: lookup.issue };
|
|
95
|
+
return { ok: true, history: updateDraft(history, lookup.version.snapshot) };
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/cms-core/versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { StoreOptions } from './core';
|
|
3
|
+
/**
|
|
4
|
+
* Approval workflow (EC-128). A change is submitted for review against a target version; a
|
|
5
|
+
* reviewer approves or rejects; publishing is gated on an approved request for the version. Every
|
|
6
|
+
* transition appends to an append-only audit trail. Single-environment (EC-179): a deployment IS
|
|
7
|
+
* one environment, so approval is keyed by version alone, not by environment.
|
|
8
|
+
*/
|
|
9
|
+
export type ApprovalStatus = 'open' | 'approved' | 'rejected';
|
|
10
|
+
export type AuditAction = 'submit' | 'approve' | 'reject';
|
|
11
|
+
export declare const changeRequestSchema: z.ZodObject<{
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
projectId: z.ZodString;
|
|
14
|
+
versionId: z.ZodString;
|
|
15
|
+
title: z.ZodString;
|
|
16
|
+
status: z.ZodEnum<{
|
|
17
|
+
open: "open";
|
|
18
|
+
approved: "approved";
|
|
19
|
+
rejected: "rejected";
|
|
20
|
+
}>;
|
|
21
|
+
submittedBy: z.ZodOptional<z.ZodString>;
|
|
22
|
+
submittedAt: z.ZodString;
|
|
23
|
+
reviewedBy: z.ZodOptional<z.ZodString>;
|
|
24
|
+
reviewedAt: z.ZodOptional<z.ZodString>;
|
|
25
|
+
reviewNote: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type ChangeRequest = z.infer<typeof changeRequestSchema>;
|
|
28
|
+
export declare const auditEntrySchema: z.ZodObject<{
|
|
29
|
+
id: z.ZodString;
|
|
30
|
+
requestId: z.ZodString;
|
|
31
|
+
action: z.ZodEnum<{
|
|
32
|
+
submit: "submit";
|
|
33
|
+
approve: "approve";
|
|
34
|
+
reject: "reject";
|
|
35
|
+
}>;
|
|
36
|
+
actor: z.ZodOptional<z.ZodString>;
|
|
37
|
+
note: z.ZodOptional<z.ZodString>;
|
|
38
|
+
at: z.ZodString;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
export type AuditEntry = z.infer<typeof auditEntrySchema>;
|
|
41
|
+
export interface SubmitInput {
|
|
42
|
+
versionId: string;
|
|
43
|
+
title: string;
|
|
44
|
+
by?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare class ApprovalStore {
|
|
47
|
+
private readonly requests;
|
|
48
|
+
private readonly audit;
|
|
49
|
+
private readonly clock;
|
|
50
|
+
private readonly ids;
|
|
51
|
+
constructor(options?: StoreOptions);
|
|
52
|
+
private list_;
|
|
53
|
+
private log;
|
|
54
|
+
/** Submit a change for approval (EC-128). */
|
|
55
|
+
submit(projectId: string, input: SubmitInput): ChangeRequest;
|
|
56
|
+
/**
|
|
57
|
+
* Review a request: approve or reject. Returns the updated request, or `undefined` if it is
|
|
58
|
+
* unknown or already decided (open is the only reviewable state).
|
|
59
|
+
*/
|
|
60
|
+
review(projectId: string, requestId: string, decision: 'approve' | 'reject', by?: string, note?: string): ChangeRequest | undefined;
|
|
61
|
+
/** All change requests for a project, newest → oldest. */
|
|
62
|
+
list(projectId: string): ChangeRequest[];
|
|
63
|
+
get(projectId: string, requestId: string): ChangeRequest | undefined;
|
|
64
|
+
/** The audit trail for a request (or all, when `requestId` is omitted), oldest → newest. */
|
|
65
|
+
auditTrail(requestId?: string): AuditEntry[];
|
|
66
|
+
/** Whether an approved request exists for this version — gates publishing (EC-128). */
|
|
67
|
+
isApprovedToPublish(projectId: string, versionId: string): boolean;
|
|
68
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createSequentialClock, createSequentialIds } from './core';
|
|
3
|
+
export const changeRequestSchema = z.object({
|
|
4
|
+
id: z.string(),
|
|
5
|
+
projectId: z.string().min(1),
|
|
6
|
+
versionId: z.string().min(1),
|
|
7
|
+
title: z.string().min(1),
|
|
8
|
+
status: z.enum(['open', 'approved', 'rejected']),
|
|
9
|
+
submittedBy: z.string().optional(),
|
|
10
|
+
submittedAt: z.string(),
|
|
11
|
+
reviewedBy: z.string().optional(),
|
|
12
|
+
reviewedAt: z.string().optional(),
|
|
13
|
+
reviewNote: z.string().optional(),
|
|
14
|
+
});
|
|
15
|
+
export const auditEntrySchema = z.object({
|
|
16
|
+
id: z.string(),
|
|
17
|
+
requestId: z.string(),
|
|
18
|
+
action: z.enum(['submit', 'approve', 'reject']),
|
|
19
|
+
actor: z.string().optional(),
|
|
20
|
+
note: z.string().optional(),
|
|
21
|
+
at: z.string(),
|
|
22
|
+
});
|
|
23
|
+
export class ApprovalStore {
|
|
24
|
+
requests = new Map();
|
|
25
|
+
audit = [];
|
|
26
|
+
clock;
|
|
27
|
+
ids;
|
|
28
|
+
constructor(options = {}) {
|
|
29
|
+
this.clock = options.clock ?? createSequentialClock();
|
|
30
|
+
this.ids = options.ids ?? createSequentialIds();
|
|
31
|
+
}
|
|
32
|
+
list_(projectId) {
|
|
33
|
+
const existing = this.requests.get(projectId);
|
|
34
|
+
if (existing)
|
|
35
|
+
return existing;
|
|
36
|
+
const created = [];
|
|
37
|
+
this.requests.set(projectId, created);
|
|
38
|
+
return created;
|
|
39
|
+
}
|
|
40
|
+
log(requestId, action, actor, note) {
|
|
41
|
+
this.audit.push(auditEntrySchema.parse({
|
|
42
|
+
id: this.ids('aud'),
|
|
43
|
+
requestId,
|
|
44
|
+
action,
|
|
45
|
+
...(actor !== undefined ? { actor } : {}),
|
|
46
|
+
...(note !== undefined ? { note } : {}),
|
|
47
|
+
at: this.clock(),
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
/** Submit a change for approval (EC-128). */
|
|
51
|
+
submit(projectId, input) {
|
|
52
|
+
const request = changeRequestSchema.parse({
|
|
53
|
+
id: this.ids('req'),
|
|
54
|
+
projectId,
|
|
55
|
+
versionId: input.versionId,
|
|
56
|
+
title: input.title,
|
|
57
|
+
status: 'open',
|
|
58
|
+
...(input.by !== undefined ? { submittedBy: input.by } : {}),
|
|
59
|
+
submittedAt: this.clock(),
|
|
60
|
+
});
|
|
61
|
+
this.list_(projectId).push(request);
|
|
62
|
+
this.log(request.id, 'submit', input.by);
|
|
63
|
+
return request;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Review a request: approve or reject. Returns the updated request, or `undefined` if it is
|
|
67
|
+
* unknown or already decided (open is the only reviewable state).
|
|
68
|
+
*/
|
|
69
|
+
review(projectId, requestId, decision, by, note) {
|
|
70
|
+
const list = this.list_(projectId);
|
|
71
|
+
const index = list.findIndex((r) => r.id === requestId);
|
|
72
|
+
if (index < 0)
|
|
73
|
+
return undefined;
|
|
74
|
+
const request = list[index];
|
|
75
|
+
if (request.status !== 'open')
|
|
76
|
+
return undefined;
|
|
77
|
+
const updated = {
|
|
78
|
+
...request,
|
|
79
|
+
status: decision === 'approve' ? 'approved' : 'rejected',
|
|
80
|
+
...(by !== undefined ? { reviewedBy: by } : {}),
|
|
81
|
+
reviewedAt: this.clock(),
|
|
82
|
+
...(note !== undefined ? { reviewNote: note } : {}),
|
|
83
|
+
};
|
|
84
|
+
list[index] = updated;
|
|
85
|
+
this.log(requestId, decision, by, note);
|
|
86
|
+
return updated;
|
|
87
|
+
}
|
|
88
|
+
/** All change requests for a project, newest → oldest. */
|
|
89
|
+
list(projectId) {
|
|
90
|
+
return [...this.list_(projectId)].reverse();
|
|
91
|
+
}
|
|
92
|
+
get(projectId, requestId) {
|
|
93
|
+
return this.list_(projectId).find((r) => r.id === requestId);
|
|
94
|
+
}
|
|
95
|
+
/** The audit trail for a request (or all, when `requestId` is omitted), oldest → newest. */
|
|
96
|
+
auditTrail(requestId) {
|
|
97
|
+
return this.audit.filter((e) => requestId === undefined || e.requestId === requestId);
|
|
98
|
+
}
|
|
99
|
+
/** Whether an approved request exists for this version — gates publishing (EC-128). */
|
|
100
|
+
isApprovedToPublish(projectId, versionId) {
|
|
101
|
+
return this.list_(projectId).some((r) => r.status === 'approved' && r.versionId === versionId);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/collaboration/approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { StoreOptions } from './core';
|
|
2
|
+
import { VersionStore } from './versions';
|
|
3
|
+
import type { VersionRecord } from './versions';
|
|
4
|
+
import { PublishingStore } from './publishing';
|
|
5
|
+
import type { PublishState, PreviewMode } from './publishing';
|
|
6
|
+
import { ApprovalStore } from './approval';
|
|
7
|
+
import { CommentStore } from './comments';
|
|
8
|
+
import { PresenceStore } from './presence';
|
|
9
|
+
/**
|
|
10
|
+
* The collaboration facade (Phase 10). Composes the version, publishing, approval, comment and
|
|
11
|
+
* presence stores over ONE deterministic clock + id generator, and adds the cross-cutting flows:
|
|
12
|
+
* approval-gated publishing (EC-128), rollback-as-publish (EC-125/124), and preview resolution
|
|
13
|
+
* (EC-123). The Studio mounts one of these per session; a Convex backend implements the same shape.
|
|
14
|
+
*/
|
|
15
|
+
/** The result of a gated publish attempt. */
|
|
16
|
+
export interface PublishResult {
|
|
17
|
+
ok: boolean;
|
|
18
|
+
/** Set when the publish was blocked because approval is required and missing. */
|
|
19
|
+
blocked?: 'needs-approval';
|
|
20
|
+
state?: PublishState;
|
|
21
|
+
}
|
|
22
|
+
export interface PublishOptions {
|
|
23
|
+
author?: string;
|
|
24
|
+
/** When true, the target version must have an approved change request (EC-128). */
|
|
25
|
+
requireApproval?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare class Collaboration {
|
|
28
|
+
readonly versions: VersionStore;
|
|
29
|
+
readonly publishing: PublishingStore;
|
|
30
|
+
readonly approval: ApprovalStore;
|
|
31
|
+
readonly comments: CommentStore;
|
|
32
|
+
readonly presence: PresenceStore;
|
|
33
|
+
constructor(options?: StoreOptions);
|
|
34
|
+
/**
|
|
35
|
+
* Publish a version, gated on approval when required (EC-128/129). Returns a `needs-approval`
|
|
36
|
+
* block instead of publishing when the gate is not satisfied.
|
|
37
|
+
*/
|
|
38
|
+
publishVersion(projectId: string, versionId: string, options?: PublishOptions): PublishResult;
|
|
39
|
+
/**
|
|
40
|
+
* Roll back to a prior version (EC-125): append a rollback version carrying the target's
|
|
41
|
+
* snapshot, then publish it (recorded as a rollback in history). Returns the new rollback
|
|
42
|
+
* version, or `undefined` if the target version is unknown.
|
|
43
|
+
*/
|
|
44
|
+
rollbackTo(projectId: string, toVersionId: string, author?: string): VersionRecord | undefined;
|
|
45
|
+
/** The version id a preview should render for `mode` (EC-123). Draft → latest; published → live. */
|
|
46
|
+
previewVersionId(projectId: string, mode: PreviewMode): string | undefined;
|
|
47
|
+
}
|
|
48
|
+
/** Convenience constructor. */
|
|
49
|
+
export declare function createCollaboration(options?: StoreOptions): Collaboration;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { createSequentialClock, createSequentialIds } from './core';
|
|
2
|
+
import { VersionStore } from './versions';
|
|
3
|
+
import { PublishingStore } from './publishing';
|
|
4
|
+
import { ApprovalStore } from './approval';
|
|
5
|
+
import { CommentStore } from './comments';
|
|
6
|
+
import { PresenceStore } from './presence';
|
|
7
|
+
export class Collaboration {
|
|
8
|
+
versions;
|
|
9
|
+
publishing;
|
|
10
|
+
approval;
|
|
11
|
+
comments;
|
|
12
|
+
presence;
|
|
13
|
+
constructor(options = {}) {
|
|
14
|
+
const shared = {
|
|
15
|
+
clock: options.clock ?? createSequentialClock(),
|
|
16
|
+
ids: options.ids ?? createSequentialIds(),
|
|
17
|
+
};
|
|
18
|
+
this.versions = new VersionStore(shared);
|
|
19
|
+
this.publishing = new PublishingStore(shared);
|
|
20
|
+
this.approval = new ApprovalStore(shared);
|
|
21
|
+
this.comments = new CommentStore(shared);
|
|
22
|
+
this.presence = new PresenceStore(shared);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Publish a version, gated on approval when required (EC-128/129). Returns a `needs-approval`
|
|
26
|
+
* block instead of publishing when the gate is not satisfied.
|
|
27
|
+
*/
|
|
28
|
+
publishVersion(projectId, versionId, options = {}) {
|
|
29
|
+
if (options.requireApproval && !this.approval.isApprovedToPublish(projectId, versionId)) {
|
|
30
|
+
return { ok: false, blocked: 'needs-approval' };
|
|
31
|
+
}
|
|
32
|
+
const state = this.publishing.publish(projectId, versionId, options.author);
|
|
33
|
+
return { ok: true, state };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Roll back to a prior version (EC-125): append a rollback version carrying the target's
|
|
37
|
+
* snapshot, then publish it (recorded as a rollback in history). Returns the new rollback
|
|
38
|
+
* version, or `undefined` if the target version is unknown.
|
|
39
|
+
*/
|
|
40
|
+
rollbackTo(projectId, toVersionId, author) {
|
|
41
|
+
const version = this.versions.rollback(projectId, toVersionId, author);
|
|
42
|
+
if (!version)
|
|
43
|
+
return undefined;
|
|
44
|
+
this.publishing.rollback(projectId, version.id, author);
|
|
45
|
+
return version;
|
|
46
|
+
}
|
|
47
|
+
/** The version id a preview should render for `mode` (EC-123). Draft → latest; published → live. */
|
|
48
|
+
previewVersionId(projectId, mode) {
|
|
49
|
+
return this.publishing.resolveVersion(projectId, mode, this.versions.latest(projectId)?.id);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Convenience constructor. */
|
|
53
|
+
export function createCollaboration(options = {}) {
|
|
54
|
+
return new Collaboration(options);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=collaboration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collaboration.js","sourceRoot":"","sources":["../../src/collaboration/collaboration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAuB1C,MAAM,OAAO,aAAa;IACf,QAAQ,CAAc;IACtB,UAAU,CAAiB;IAC3B,QAAQ,CAAe;IACvB,QAAQ,CAAc;IACtB,QAAQ,CAAe;IAEhC,YAAY,UAAwB,EAAE;QACpC,MAAM,MAAM,GAA2B;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,qBAAqB,EAAE;YAC/C,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,mBAAmB,EAAE;SAC1C,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE,UAA0B,EAAE;QAC/E,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,SAAiB,EAAE,WAAmB,EAAE,MAAe;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QACtE,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAA;QAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACvD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,oGAAoG;IACpG,gBAAgB,CAAC,SAAiB,EAAE,IAAiB;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7F,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,UAAU,mBAAmB,CAAC,UAAwB,EAAE;IAC5D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { StoreOptions } from './core';
|
|
3
|
+
/**
|
|
4
|
+
* Comment threads (EC-127). A thread anchors to a target — a graph node id or a CMS document ref —
|
|
5
|
+
* and holds an ordered list of messages. Threads can be resolved and reopened; state persists in
|
|
6
|
+
* the store. A notification hook fires on every change so a host can surface alerts.
|
|
7
|
+
*/
|
|
8
|
+
/** What a thread is attached to. */
|
|
9
|
+
export declare const commentAnchorSchema: z.ZodObject<{
|
|
10
|
+
kind: z.ZodEnum<{
|
|
11
|
+
node: "node";
|
|
12
|
+
document: "document";
|
|
13
|
+
}>;
|
|
14
|
+
ref: z.ZodString;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
export type CommentAnchor = z.infer<typeof commentAnchorSchema>;
|
|
17
|
+
export declare const commentMessageSchema: z.ZodObject<{
|
|
18
|
+
id: z.ZodString;
|
|
19
|
+
author: z.ZodOptional<z.ZodString>;
|
|
20
|
+
body: z.ZodString;
|
|
21
|
+
at: z.ZodString;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type CommentMessage = z.infer<typeof commentMessageSchema>;
|
|
24
|
+
export declare const commentThreadSchema: z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
projectId: z.ZodString;
|
|
27
|
+
anchor: z.ZodObject<{
|
|
28
|
+
kind: z.ZodEnum<{
|
|
29
|
+
node: "node";
|
|
30
|
+
document: "document";
|
|
31
|
+
}>;
|
|
32
|
+
ref: z.ZodString;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
resolved: z.ZodBoolean;
|
|
35
|
+
messages: z.ZodArray<z.ZodObject<{
|
|
36
|
+
id: z.ZodString;
|
|
37
|
+
author: z.ZodOptional<z.ZodString>;
|
|
38
|
+
body: z.ZodString;
|
|
39
|
+
at: z.ZodString;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
createdAt: z.ZodString;
|
|
42
|
+
updatedAt: z.ZodString;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type CommentThread = z.infer<typeof commentThreadSchema>;
|
|
45
|
+
/** A change notification a host can subscribe to (EC-127 "notification hook points"). */
|
|
46
|
+
export interface CommentNotification {
|
|
47
|
+
type: 'created' | 'replied' | 'resolved' | 'reopened';
|
|
48
|
+
thread: CommentThread;
|
|
49
|
+
}
|
|
50
|
+
export declare class CommentStore {
|
|
51
|
+
private readonly byProject;
|
|
52
|
+
private readonly clock;
|
|
53
|
+
private readonly ids;
|
|
54
|
+
private readonly listeners;
|
|
55
|
+
constructor(options?: StoreOptions);
|
|
56
|
+
/** Subscribe to comment changes; returns an unsubscribe function. */
|
|
57
|
+
onChange(listener: (n: CommentNotification) => void): () => void;
|
|
58
|
+
private notify;
|
|
59
|
+
private list_;
|
|
60
|
+
private find;
|
|
61
|
+
/** Start a thread on an anchor with its first message. */
|
|
62
|
+
start(projectId: string, anchor: CommentAnchor, body: string, author?: string): CommentThread;
|
|
63
|
+
/** Reply to a thread. Returns the updated thread, or `undefined` if unknown. */
|
|
64
|
+
reply(projectId: string, threadId: string, body: string, author?: string): CommentThread | undefined;
|
|
65
|
+
private setResolved;
|
|
66
|
+
resolve(projectId: string, threadId: string): CommentThread | undefined;
|
|
67
|
+
reopen(projectId: string, threadId: string): CommentThread | undefined;
|
|
68
|
+
/** All threads for a project (optionally filtered by anchor), newest → oldest. */
|
|
69
|
+
list(projectId: string, anchor?: CommentAnchor): CommentThread[];
|
|
70
|
+
/** Count of open (unresolved) threads — for badges. */
|
|
71
|
+
openCount(projectId: string): number;
|
|
72
|
+
}
|