@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,344 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createCollectionRegistry, documentKey, documentRefSchema, documentSchema, selfTypeDocument, validateDocument, } from '@elytracms/core/cms-core';
|
|
3
|
+
import { extractReferences } from '@elytracms/core/persistence';
|
|
4
|
+
import { OperationFailure, bindOperation, defineCommand, defineQuery, strictReferenceConflictError, validationError, } from './core';
|
|
5
|
+
import { projectIdSchema } from '@elytracms/core/studio-core';
|
|
6
|
+
/**
|
|
7
|
+
* CMS document operations (EC-139). Covers the studio's document mutations —
|
|
8
|
+
* create/save (upsert), delete, and draft/published transitions — plus the
|
|
9
|
+
* import flow, which is upserts in a batch. Document version history (EC-224)
|
|
10
|
+
* adds `snapshot` / `listVersions` / `restore` over the append-only version
|
|
11
|
+
* store; publish/unpublish move to the version pointer in a later step.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Enforce the collection's field rules at PUBLISH (EC-168; moved off upsert in
|
|
15
|
+
* EC-225): publishing — not every draft write — is the validation gate, so the
|
|
16
|
+
* continuous draft may be saved while incomplete/invalid (the Sanity model) but
|
|
17
|
+
* a *published* version must satisfy required/min/max/pattern/options
|
|
18
|
+
* constraints. Rejection is a standard validation `OperationError` with per-field
|
|
19
|
+
* issues; the studio surfaces the same issues live. Scope (deliberate):
|
|
20
|
+
*
|
|
21
|
+
* - No saved schema → nothing to validate against; the write proceeds (matches
|
|
22
|
+
* the persistence adapters, which only shape-check in that case).
|
|
23
|
+
* - Collection not declared in config → nothing to validate against; the write
|
|
24
|
+
* proceeds (EC-183, AD-11). CMS collection schemas are config-owned and the
|
|
25
|
+
* backend is a data store; studio **system** collections (routes/views/
|
|
26
|
+
* sources) are not declared in config, and content documents are validated by
|
|
27
|
+
* the studio against the session registry pre-dispatch. The operation enforces
|
|
28
|
+
* field rules only for collections the config declares.
|
|
29
|
+
* - Only `error`-severity issues block. Without the studio's session context
|
|
30
|
+
* there is no document store or locale config here, so relation/asset target
|
|
31
|
+
* existence and per-locale completeness (warnings) stay UI/studio-validation
|
|
32
|
+
* concerns — the operation rejects hard field-rule violations only.
|
|
33
|
+
* - **Composition validity is studio-enforced** (EC-225): this layer has no
|
|
34
|
+
* component registry, so `blocks`/`richText` composition rules (the field
|
|
35
|
+
* `allow` leash) are NOT checked here — only scalar field rules. Every publish
|
|
36
|
+
* path runs the composition-aware studio `validate()` first (detail editor +
|
|
37
|
+
* bulk publish), which is the invariant that keeps invalid compositions
|
|
38
|
+
* unpublished.
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Self-type a document's fields through the schema-as-lens before it is persisted
|
|
42
|
+
* (EC-277). Document-level only — relation/asset/object — because the operations
|
|
43
|
+
* layer has no component registry (EC-225); a composition's static props are
|
|
44
|
+
* self-typed by the studio pre-dispatch (which holds the registry). Drift-tolerant:
|
|
45
|
+
* no saved schema or an undeclared collection returns the document unchanged.
|
|
46
|
+
*/
|
|
47
|
+
async function selfTypeForPersist(context, projectId, document) {
|
|
48
|
+
const schema = await context.adapter.cms.findSchema(projectId);
|
|
49
|
+
const collection = schema?.collections.find((c) => c.id === document.collection);
|
|
50
|
+
return collection ? selfTypeDocument(document, collection) : document;
|
|
51
|
+
}
|
|
52
|
+
async function assertFieldRules(context, projectId, document) {
|
|
53
|
+
const schema = await context.adapter.cms.findSchema(projectId);
|
|
54
|
+
if (!schema)
|
|
55
|
+
return;
|
|
56
|
+
const registry = createCollectionRegistry(schema.collections);
|
|
57
|
+
// Undeclared collection (system/stray) → no config field-rules to enforce here.
|
|
58
|
+
if (!registry.has(document.collection))
|
|
59
|
+
return;
|
|
60
|
+
const violations = validateDocument(registry, document).filter((issue) => issue.severity === 'error');
|
|
61
|
+
if (violations.length === 0)
|
|
62
|
+
return;
|
|
63
|
+
throw new OperationFailure(validationError(`Document “${document.collection}:${document.id}” violates its collection schema.`, violations.map((issue) => ({
|
|
64
|
+
code: issue.code,
|
|
65
|
+
message: issue.message,
|
|
66
|
+
path: [...issue.path],
|
|
67
|
+
domain: 'cms',
|
|
68
|
+
}))));
|
|
69
|
+
}
|
|
70
|
+
/** The owning field name of a reference-index path (`values/...`/`localized/...`). */
|
|
71
|
+
function fieldNameOfReferencePath(path) {
|
|
72
|
+
const tokens = path.split('/');
|
|
73
|
+
if (tokens[0] === 'values')
|
|
74
|
+
return tokens[1];
|
|
75
|
+
if (tokens[0] === 'localized')
|
|
76
|
+
return tokens[2];
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
/** The strict relation field names per collection that target `targetCollection`. */
|
|
80
|
+
function strictFieldsByCollection(collections, targetCollection) {
|
|
81
|
+
const byCollection = new Map();
|
|
82
|
+
for (const collection of collections) {
|
|
83
|
+
for (const field of collection.fields) {
|
|
84
|
+
if (field.type !== 'relation' || field.strict !== true)
|
|
85
|
+
continue;
|
|
86
|
+
if (field.target !== targetCollection)
|
|
87
|
+
continue;
|
|
88
|
+
let names = byCollection.get(collection.id);
|
|
89
|
+
if (!names) {
|
|
90
|
+
names = new Set();
|
|
91
|
+
byCollection.set(collection.id, names);
|
|
92
|
+
}
|
|
93
|
+
names.add(field.name);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return byCollection;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Enumerate the documents whose strict relation fields reference `ref`.
|
|
100
|
+
* Computed directly from the live documents (not the EC-155 index, which is
|
|
101
|
+
* maintained asynchronously) so enforcement can never act on a stale view.
|
|
102
|
+
* For `unpublish`, only *published* referrers block — a draft-only reference
|
|
103
|
+
* never serves the published site, so unpublishing stays allowed.
|
|
104
|
+
*/
|
|
105
|
+
async function collectStrictReferrers(context, projectId, ref, mode) {
|
|
106
|
+
const schema = await context.adapter.cms.findSchema(projectId);
|
|
107
|
+
if (!schema)
|
|
108
|
+
return [];
|
|
109
|
+
const strictFields = strictFieldsByCollection(schema.collections, ref.collection);
|
|
110
|
+
if (strictFields.size === 0)
|
|
111
|
+
return [];
|
|
112
|
+
const targetKey = documentKey(ref);
|
|
113
|
+
const referrers = [];
|
|
114
|
+
for (const record of await context.adapter.cms.listDocuments(projectId)) {
|
|
115
|
+
const doc = record.document;
|
|
116
|
+
if (doc.collection === ref.collection && doc.id === ref.id)
|
|
117
|
+
continue;
|
|
118
|
+
const fields = strictFields.get(doc.collection);
|
|
119
|
+
if (!fields)
|
|
120
|
+
continue;
|
|
121
|
+
// EC-224: "published" is the version pointer (`publishedVersion`). Unpublish
|
|
122
|
+
// is blocked only by referrers that actually serve the published site; the
|
|
123
|
+
// reported state reflects that effective publish status.
|
|
124
|
+
const referrerPublished = record.publishedVersion !== undefined;
|
|
125
|
+
if (mode === 'unpublish' && !referrerPublished)
|
|
126
|
+
continue;
|
|
127
|
+
// EC-277: the stored document self-describes, so extraction is schema-free.
|
|
128
|
+
for (const outbound of extractReferences(doc)) {
|
|
129
|
+
if (outbound.kind !== 'relation-field')
|
|
130
|
+
continue;
|
|
131
|
+
if (outbound.target.type !== 'document' || outbound.target.id !== targetKey)
|
|
132
|
+
continue;
|
|
133
|
+
const field = fieldNameOfReferencePath(outbound.path);
|
|
134
|
+
if (field === undefined || !fields.has(field))
|
|
135
|
+
continue;
|
|
136
|
+
referrers.push({
|
|
137
|
+
collection: doc.collection,
|
|
138
|
+
id: doc.id,
|
|
139
|
+
field,
|
|
140
|
+
path: outbound.path,
|
|
141
|
+
state: referrerPublished ? 'published' : 'draft',
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return referrers;
|
|
146
|
+
}
|
|
147
|
+
/** Throw a structured conflict (never a raw error) when strict referrers block. */
|
|
148
|
+
async function assertNoStrictReferrers(context, projectId, ref, mode) {
|
|
149
|
+
const referrers = await collectStrictReferrers(context, projectId, ref, mode);
|
|
150
|
+
if (referrers.length === 0)
|
|
151
|
+
return;
|
|
152
|
+
const targetKey = documentKey(ref);
|
|
153
|
+
const named = referrers
|
|
154
|
+
.slice(0, 3)
|
|
155
|
+
.map((r) => `“${r.collection}:${r.id}” (field “${r.field}”)`)
|
|
156
|
+
.join(', ');
|
|
157
|
+
const suffix = referrers.length > 3 ? `, and ${referrers.length - 3} more` : '';
|
|
158
|
+
throw new OperationFailure(strictReferenceConflictError(targetKey, `Cannot ${mode} “${targetKey}”: ${referrers.length} ${referrers.length === 1 ? 'document references' : 'documents reference'} it through strict relation fields — ${named}${suffix}. Remove these references first.`, referrers));
|
|
159
|
+
}
|
|
160
|
+
export const upsertDocumentInputSchema = z.object({
|
|
161
|
+
projectId: projectIdSchema,
|
|
162
|
+
document: documentSchema,
|
|
163
|
+
});
|
|
164
|
+
export const documentRefInputSchema = z.object({
|
|
165
|
+
projectId: projectIdSchema,
|
|
166
|
+
ref: documentRefSchema,
|
|
167
|
+
});
|
|
168
|
+
export const listDocumentsInputSchema = z.object({
|
|
169
|
+
projectId: projectIdSchema,
|
|
170
|
+
collection: z.string().min(1).optional(),
|
|
171
|
+
});
|
|
172
|
+
export const snapshotDocumentInputSchema = z.object({
|
|
173
|
+
projectId: projectIdSchema,
|
|
174
|
+
ref: documentRefSchema,
|
|
175
|
+
label: z.string().min(1).optional(),
|
|
176
|
+
});
|
|
177
|
+
export const restoreDocumentInputSchema = z.object({
|
|
178
|
+
projectId: projectIdSchema,
|
|
179
|
+
ref: documentRefSchema,
|
|
180
|
+
/** The recorded version to restore as the new working draft. */
|
|
181
|
+
version: z.number().int().positive(),
|
|
182
|
+
});
|
|
183
|
+
export const pinVersionInputSchema = z.object({
|
|
184
|
+
projectId: projectIdSchema,
|
|
185
|
+
ref: documentRefSchema,
|
|
186
|
+
/** The already-recorded version to pin live. */
|
|
187
|
+
version: z.number().int().positive(),
|
|
188
|
+
});
|
|
189
|
+
export const documentOperationDefinitions = {
|
|
190
|
+
upsert: defineCommand({
|
|
191
|
+
name: 'documents.upsert',
|
|
192
|
+
domain: 'documents',
|
|
193
|
+
description: 'Insert or update a CMS document (keyed by collection + id).',
|
|
194
|
+
input: upsertDocumentInputSchema,
|
|
195
|
+
execute: async (context, input) => {
|
|
196
|
+
// EC-277: self-type document fields through the schema-as-lens before persist —
|
|
197
|
+
// the spine every writer crosses, so relation/asset/object values self-describe
|
|
198
|
+
// at rest (composition static props need the registry, self-typed in the studio
|
|
199
|
+
// pre-dispatch). Drift-tolerant: no schema / undeclared collection → pass through.
|
|
200
|
+
const document = await selfTypeForPersist(context, input.projectId, input.document);
|
|
201
|
+
// EC-225: the draft store accepts in-progress (possibly invalid) drafts —
|
|
202
|
+
// field-rule validation is enforced at PUBLISH, not on every write, so
|
|
203
|
+
// autosave never rejects a half-finished edit. The input schema still
|
|
204
|
+
// shape-checks the document; the studio surfaces field issues live.
|
|
205
|
+
return context.adapter.cms.upsertDocument(input.projectId, document);
|
|
206
|
+
},
|
|
207
|
+
}),
|
|
208
|
+
delete: defineCommand({
|
|
209
|
+
name: 'documents.delete',
|
|
210
|
+
domain: 'documents',
|
|
211
|
+
description: 'Delete a CMS document (blocked while strict relation fields reference it).',
|
|
212
|
+
input: documentRefInputSchema,
|
|
213
|
+
execute: async (context, input) => {
|
|
214
|
+
await assertNoStrictReferrers(context, input.projectId, input.ref, 'delete');
|
|
215
|
+
await context.adapter.cms.deleteDocument(input.projectId, input.ref);
|
|
216
|
+
return { ref: input.ref };
|
|
217
|
+
},
|
|
218
|
+
}),
|
|
219
|
+
get: defineQuery({
|
|
220
|
+
name: 'documents.get',
|
|
221
|
+
domain: 'documents',
|
|
222
|
+
description: 'Load a CMS document by collection + id.',
|
|
223
|
+
input: documentRefInputSchema,
|
|
224
|
+
execute: (context, input) => context.adapter.cms.getDocument(input.projectId, input.ref),
|
|
225
|
+
}),
|
|
226
|
+
list: defineQuery({
|
|
227
|
+
name: 'documents.list',
|
|
228
|
+
domain: 'documents',
|
|
229
|
+
description: 'List CMS documents, optionally filtered to one collection.',
|
|
230
|
+
input: listDocumentsInputSchema,
|
|
231
|
+
execute: (context, input) => context.adapter.cms.listDocuments(input.projectId, input.collection),
|
|
232
|
+
}),
|
|
233
|
+
// --- Version history (EC-224) ----------------------------------------------
|
|
234
|
+
snapshot: defineCommand({
|
|
235
|
+
name: 'documents.snapshot',
|
|
236
|
+
domain: 'documents',
|
|
237
|
+
description: 'Record the current draft as a new version without publishing.',
|
|
238
|
+
input: snapshotDocumentInputSchema,
|
|
239
|
+
execute: async (context, input) => {
|
|
240
|
+
const current = await context.adapter.cms.getDocument(input.projectId, input.ref);
|
|
241
|
+
return context.adapter.cms.saveDocumentVersion(input.projectId, current.document, input.label ? { label: input.label } : {});
|
|
242
|
+
},
|
|
243
|
+
}),
|
|
244
|
+
listVersions: defineQuery({
|
|
245
|
+
name: 'documents.listVersions',
|
|
246
|
+
domain: 'documents',
|
|
247
|
+
description: 'List a document’s recorded versions, newest first.',
|
|
248
|
+
input: documentRefInputSchema,
|
|
249
|
+
execute: (context, input) => context.adapter.cms.listDocumentVersions(input.projectId, input.ref),
|
|
250
|
+
}),
|
|
251
|
+
restore: defineCommand({
|
|
252
|
+
name: 'documents.restore',
|
|
253
|
+
domain: 'documents',
|
|
254
|
+
description: 'Restore a recorded version as the new working draft (snapshots the current draft first so the rollback is itself undoable).',
|
|
255
|
+
input: restoreDocumentInputSchema,
|
|
256
|
+
execute: async (context, input) => {
|
|
257
|
+
// Fail fast if the target version is unknown (RecordNotFoundError → not-found).
|
|
258
|
+
const target = await context.adapter.cms.getDocumentVersion(input.projectId, input.ref, input.version);
|
|
259
|
+
// Snapshot the current draft first so the restore is itself undoable (EC-224).
|
|
260
|
+
const current = await context.adapter.cms.getDocument(input.projectId, input.ref);
|
|
261
|
+
await context.adapter.cms.saveDocumentVersion(input.projectId, current.document, {
|
|
262
|
+
label: 'pre-restore',
|
|
263
|
+
});
|
|
264
|
+
// Load the recorded snapshot as the new working draft (the live row is
|
|
265
|
+
// always the draft now — EC-224 — so no flag to set).
|
|
266
|
+
return context.adapter.cms.upsertDocument(input.projectId, target.snapshot);
|
|
267
|
+
},
|
|
268
|
+
}),
|
|
269
|
+
// --- Publish lifecycle over the version pointer (EC-224) --------------------
|
|
270
|
+
// The Sanity model: publish snapshots the current draft as a new version and
|
|
271
|
+
// pins it live; unpublish clears the pin (draft + history untouched). These
|
|
272
|
+
// replace `documents.setState` as the studio's publish path.
|
|
273
|
+
publish: defineCommand({
|
|
274
|
+
name: 'documents.publish',
|
|
275
|
+
domain: 'documents',
|
|
276
|
+
description: 'Publish a document: snapshot the current draft as a new version and pin it live.',
|
|
277
|
+
input: documentRefInputSchema,
|
|
278
|
+
execute: async (context, input) => {
|
|
279
|
+
const current = await context.adapter.cms.getDocument(input.projectId, input.ref);
|
|
280
|
+
// EC-225: publish is the validation gate — a published version must satisfy
|
|
281
|
+
// the collection's field rules even though the draft may be saved invalid.
|
|
282
|
+
await assertFieldRules(context, input.projectId, current.document);
|
|
283
|
+
// Record the current draft verbatim as the published version and pin it.
|
|
284
|
+
// The published perspective serves this recorded snapshot through the
|
|
285
|
+
// version pointer (`DocumentHistory.published`) — independent of any flat
|
|
286
|
+
// `state` flag — so the A1a `state:'published'` stamp is gone (EC-224 B-1):
|
|
287
|
+
// every published reader (the host wrap, the in-Convex kit, the Next
|
|
288
|
+
// adapter) now resolves a pinned row identically, by the pointer.
|
|
289
|
+
const version = await context.adapter.cms.saveDocumentVersion(input.projectId, current.document, { label: 'published' });
|
|
290
|
+
return context.adapter.cms.publishDocumentVersion(input.projectId, input.ref, version.version);
|
|
291
|
+
},
|
|
292
|
+
}),
|
|
293
|
+
unpublish: defineCommand({
|
|
294
|
+
name: 'documents.unpublish',
|
|
295
|
+
domain: 'documents',
|
|
296
|
+
description: 'Unpublish a document: clear the live version pin (blocked while strict relation fields published-reference it).',
|
|
297
|
+
input: documentRefInputSchema,
|
|
298
|
+
execute: async (context, input) => {
|
|
299
|
+
const existing = await context.adapter.cms.findDocument(input.projectId, input.ref);
|
|
300
|
+
if (existing === undefined) {
|
|
301
|
+
// No record — let the persister raise the canonical not-found.
|
|
302
|
+
return context.adapter.cms.unpublishDocument(input.projectId, input.ref);
|
|
303
|
+
}
|
|
304
|
+
// EC-224: published-ness is the version pointer, full stop. A document is
|
|
305
|
+
// published iff its pin is set.
|
|
306
|
+
if (existing.publishedVersion === undefined) {
|
|
307
|
+
// Already unpublished (no pin): an idempotent no-op.
|
|
308
|
+
return existing;
|
|
309
|
+
}
|
|
310
|
+
// Unpublish (EC-173): blocked only while *published* documents hold strict
|
|
311
|
+
// references to this one. Clearing the pin is the whole operation — the
|
|
312
|
+
// live row is already the working draft (no flag to reset).
|
|
313
|
+
await assertNoStrictReferrers(context, input.projectId, input.ref, 'unpublish');
|
|
314
|
+
return context.adapter.cms.unpublishDocument(input.projectId, input.ref);
|
|
315
|
+
},
|
|
316
|
+
}),
|
|
317
|
+
pinVersion: defineCommand({
|
|
318
|
+
name: 'documents.pinVersion',
|
|
319
|
+
domain: 'documents',
|
|
320
|
+
description: 'Pin an EXISTING recorded version live without re-snapshotting (EC-224). The exact pointer inverse of unpublish/republish — the primitive changeset revert uses to restore a prior pin without a flat `state` flag.',
|
|
321
|
+
input: pinVersionInputSchema,
|
|
322
|
+
execute: async (context, input) => {
|
|
323
|
+
// Publishing (here, re-pinning) is never blocked — only unpublish is
|
|
324
|
+
// (EC-173). `publishDocumentVersion` validates the version exists
|
|
325
|
+
// (RecordNotFoundError → not-found), so a stale pin target fails cleanly.
|
|
326
|
+
return context.adapter.cms.publishDocumentVersion(input.projectId, input.ref, input.version);
|
|
327
|
+
},
|
|
328
|
+
}),
|
|
329
|
+
};
|
|
330
|
+
export function createDocumentOperations(runtime) {
|
|
331
|
+
return {
|
|
332
|
+
upsert: bindOperation(runtime, documentOperationDefinitions.upsert),
|
|
333
|
+
delete: bindOperation(runtime, documentOperationDefinitions.delete),
|
|
334
|
+
get: bindOperation(runtime, documentOperationDefinitions.get),
|
|
335
|
+
list: bindOperation(runtime, documentOperationDefinitions.list),
|
|
336
|
+
snapshot: bindOperation(runtime, documentOperationDefinitions.snapshot),
|
|
337
|
+
listVersions: bindOperation(runtime, documentOperationDefinitions.listVersions),
|
|
338
|
+
restore: bindOperation(runtime, documentOperationDefinitions.restore),
|
|
339
|
+
publish: bindOperation(runtime, documentOperationDefinitions.publish),
|
|
340
|
+
unpublish: bindOperation(runtime, documentOperationDefinitions.unpublish),
|
|
341
|
+
pinVersion: bindOperation(runtime, documentOperationDefinitions.pinVersion),
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
//# sourceMappingURL=documents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/operations/documents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { OperationsRuntime } from './core';
|
|
3
|
+
/**
|
|
4
|
+
* Graph operations (EC-139, reshaped by EC-187). The project graph is now
|
|
5
|
+
* LAYOUTS-ONLY: pages moved into the `page` collection (their `body` is a
|
|
6
|
+
* composition field value persisted as document data through the CMS document
|
|
7
|
+
* commands). So the node-level page-graph commands (insert/remove/duplicate/
|
|
8
|
+
* move/reorder/prop/condition) are RETIRED — layout edits go through the coarse
|
|
9
|
+
* `graph.save` path (layouts change rarely), and page-body edits go through the
|
|
10
|
+
* CMS document save (the composition field editor lifts its value into the
|
|
11
|
+
* document draft).
|
|
12
|
+
*
|
|
13
|
+
* `graph.save` persists a whole working graph as a new revision, running the
|
|
14
|
+
* pure container normalizer first so the persisted timeline never contains
|
|
15
|
+
* empty or single-child layout containers (EC-161).
|
|
16
|
+
*/
|
|
17
|
+
export declare const saveGraphInputSchema: z.ZodObject<{
|
|
18
|
+
projectId: z.ZodString;
|
|
19
|
+
graph: z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
schemaVersion: z.ZodNumber;
|
|
22
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
name: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
settingsRef: z.ZodOptional<z.ZodString>;
|
|
26
|
+
layouts: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
name: z.ZodString;
|
|
29
|
+
root: z.ZodType<import("@elytracms/core/project-graph").ComponentNode, unknown, z.core.$ZodTypeInternals<import("@elytracms/core/project-graph").ComponentNode, unknown>>;
|
|
30
|
+
}, z.core.$strip>>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
label: z.ZodOptional<z.ZodString>;
|
|
33
|
+
message: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export declare const getGraphInputSchema: z.ZodObject<{
|
|
36
|
+
projectId: z.ZodString;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export declare const getRevisionInputSchema: z.ZodObject<{
|
|
39
|
+
projectId: z.ZodString;
|
|
40
|
+
revision: z.ZodNumber;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export declare const graphOperationDefinitions: {
|
|
43
|
+
readonly save: import("./core").OperationDefinition<z.ZodObject<{
|
|
44
|
+
projectId: z.ZodString;
|
|
45
|
+
graph: z.ZodObject<{
|
|
46
|
+
id: z.ZodString;
|
|
47
|
+
schemaVersion: z.ZodNumber;
|
|
48
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
49
|
+
name: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, z.core.$strip>>;
|
|
51
|
+
settingsRef: z.ZodOptional<z.ZodString>;
|
|
52
|
+
layouts: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
53
|
+
id: z.ZodString;
|
|
54
|
+
name: z.ZodString;
|
|
55
|
+
root: z.ZodType<import("@elytracms/core/project-graph").ComponentNode, unknown, z.core.$ZodTypeInternals<import("@elytracms/core/project-graph").ComponentNode, unknown>>;
|
|
56
|
+
}, z.core.$strip>>>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
label: z.ZodOptional<z.ZodString>;
|
|
59
|
+
message: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$strip>, {
|
|
61
|
+
id: string;
|
|
62
|
+
projectId: string;
|
|
63
|
+
revision: number;
|
|
64
|
+
serializedGraph: string;
|
|
65
|
+
schemaVersion: number;
|
|
66
|
+
createdAt: string;
|
|
67
|
+
label?: string | undefined;
|
|
68
|
+
message?: string | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
readonly getLatest: import("./core").OperationDefinition<z.ZodObject<{
|
|
71
|
+
projectId: z.ZodString;
|
|
72
|
+
}, z.core.$strip>, import("../persistence").LoadedGraph>;
|
|
73
|
+
readonly getRevision: import("./core").OperationDefinition<z.ZodObject<{
|
|
74
|
+
projectId: z.ZodString;
|
|
75
|
+
revision: z.ZodNumber;
|
|
76
|
+
}, z.core.$strip>, import("../persistence").LoadedGraph>;
|
|
77
|
+
readonly listRevisions: import("./core").OperationDefinition<z.ZodObject<{
|
|
78
|
+
projectId: z.ZodString;
|
|
79
|
+
}, z.core.$strip>, {
|
|
80
|
+
id: string;
|
|
81
|
+
projectId: string;
|
|
82
|
+
revision: number;
|
|
83
|
+
serializedGraph: string;
|
|
84
|
+
schemaVersion: number;
|
|
85
|
+
createdAt: string;
|
|
86
|
+
label?: string | undefined;
|
|
87
|
+
message?: string | undefined;
|
|
88
|
+
}[]>;
|
|
89
|
+
};
|
|
90
|
+
export declare function createGraphOperations(runtime: OperationsRuntime): {
|
|
91
|
+
save: (input: {
|
|
92
|
+
projectId: string;
|
|
93
|
+
graph: {
|
|
94
|
+
id: string;
|
|
95
|
+
schemaVersion: number;
|
|
96
|
+
metadata?: {
|
|
97
|
+
name?: string | undefined;
|
|
98
|
+
} | undefined;
|
|
99
|
+
settingsRef?: string | undefined;
|
|
100
|
+
layouts?: {
|
|
101
|
+
id: string;
|
|
102
|
+
name: string;
|
|
103
|
+
root: unknown;
|
|
104
|
+
}[] | undefined;
|
|
105
|
+
};
|
|
106
|
+
label?: string | undefined;
|
|
107
|
+
message?: string | undefined;
|
|
108
|
+
}) => Promise<import("./core").OperationResult<{
|
|
109
|
+
id: string;
|
|
110
|
+
projectId: string;
|
|
111
|
+
revision: number;
|
|
112
|
+
serializedGraph: string;
|
|
113
|
+
schemaVersion: number;
|
|
114
|
+
createdAt: string;
|
|
115
|
+
label?: string | undefined;
|
|
116
|
+
message?: string | undefined;
|
|
117
|
+
}>>;
|
|
118
|
+
getLatest: (input: {
|
|
119
|
+
projectId: string;
|
|
120
|
+
}) => Promise<import("./core").OperationResult<import("../persistence").LoadedGraph>>;
|
|
121
|
+
getRevision: (input: {
|
|
122
|
+
projectId: string;
|
|
123
|
+
revision: number;
|
|
124
|
+
}) => Promise<import("./core").OperationResult<import("../persistence").LoadedGraph>>;
|
|
125
|
+
listRevisions: (input: {
|
|
126
|
+
projectId: string;
|
|
127
|
+
}) => Promise<import("./core").OperationResult<{
|
|
128
|
+
id: string;
|
|
129
|
+
projectId: string;
|
|
130
|
+
revision: number;
|
|
131
|
+
serializedGraph: string;
|
|
132
|
+
schemaVersion: number;
|
|
133
|
+
createdAt: string;
|
|
134
|
+
label?: string | undefined;
|
|
135
|
+
message?: string | undefined;
|
|
136
|
+
}[]>>;
|
|
137
|
+
};
|
|
138
|
+
export type GraphOperations = ReturnType<typeof createGraphOperations>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { normalizeProjectGraph, projectGraphSchema } from '@elytracms/core/project-graph';
|
|
3
|
+
import { projectIdSchema } from '@elytracms/core/studio-core';
|
|
4
|
+
import { bindOperation, defineCommand, defineQuery } from './core';
|
|
5
|
+
/**
|
|
6
|
+
* Graph operations (EC-139, reshaped by EC-187). The project graph is now
|
|
7
|
+
* LAYOUTS-ONLY: pages moved into the `page` collection (their `body` is a
|
|
8
|
+
* composition field value persisted as document data through the CMS document
|
|
9
|
+
* commands). So the node-level page-graph commands (insert/remove/duplicate/
|
|
10
|
+
* move/reorder/prop/condition) are RETIRED — layout edits go through the coarse
|
|
11
|
+
* `graph.save` path (layouts change rarely), and page-body edits go through the
|
|
12
|
+
* CMS document save (the composition field editor lifts its value into the
|
|
13
|
+
* document draft).
|
|
14
|
+
*
|
|
15
|
+
* `graph.save` persists a whole working graph as a new revision, running the
|
|
16
|
+
* pure container normalizer first so the persisted timeline never contains
|
|
17
|
+
* empty or single-child layout containers (EC-161).
|
|
18
|
+
*/
|
|
19
|
+
export const saveGraphInputSchema = z.object({
|
|
20
|
+
projectId: projectIdSchema,
|
|
21
|
+
graph: projectGraphSchema,
|
|
22
|
+
label: z.string().min(1).optional(),
|
|
23
|
+
message: z.string().min(1).optional(),
|
|
24
|
+
});
|
|
25
|
+
export const getGraphInputSchema = z.object({
|
|
26
|
+
projectId: projectIdSchema,
|
|
27
|
+
});
|
|
28
|
+
export const getRevisionInputSchema = z.object({
|
|
29
|
+
projectId: projectIdSchema,
|
|
30
|
+
revision: z.number().int().positive(),
|
|
31
|
+
});
|
|
32
|
+
// --- definitions ----------------------------------------------------------------
|
|
33
|
+
export const graphOperationDefinitions = {
|
|
34
|
+
save: defineCommand({
|
|
35
|
+
name: 'graph.save',
|
|
36
|
+
domain: 'graph',
|
|
37
|
+
description: 'Persist a full project graph (layouts-only) as a new revision.',
|
|
38
|
+
input: saveGraphInputSchema,
|
|
39
|
+
summarize: (input) => `{"projectId":"${input.projectId}","graphId":"${input.graph.id}","layouts":${input.graph.layouts.length}}`,
|
|
40
|
+
execute: (context, input) =>
|
|
41
|
+
// Full saves normalize too — the persisted timeline never contains
|
|
42
|
+
// empty or single-child layout containers (EC-161).
|
|
43
|
+
context.adapter.graphs.saveGraph(input.projectId, normalizeProjectGraph(input.graph), {
|
|
44
|
+
...(input.label !== undefined ? { label: input.label } : {}),
|
|
45
|
+
...(input.message !== undefined ? { message: input.message } : {}),
|
|
46
|
+
}),
|
|
47
|
+
}),
|
|
48
|
+
getLatest: defineQuery({
|
|
49
|
+
name: 'graph.getLatest',
|
|
50
|
+
domain: 'graph',
|
|
51
|
+
description: 'Load the latest graph revision (parsed graph + revision record).',
|
|
52
|
+
input: getGraphInputSchema,
|
|
53
|
+
execute: (context, input) => context.adapter.graphs.getLatest(input.projectId),
|
|
54
|
+
}),
|
|
55
|
+
getRevision: defineQuery({
|
|
56
|
+
name: 'graph.getRevision',
|
|
57
|
+
domain: 'graph',
|
|
58
|
+
description: 'Load a specific graph revision.',
|
|
59
|
+
input: getRevisionInputSchema,
|
|
60
|
+
execute: (context, input) => context.adapter.graphs.getRevision(input.projectId, input.revision),
|
|
61
|
+
}),
|
|
62
|
+
listRevisions: defineQuery({
|
|
63
|
+
name: 'graph.listRevisions',
|
|
64
|
+
domain: 'graph',
|
|
65
|
+
description: 'List all graph revisions for a project, newest first.',
|
|
66
|
+
input: getGraphInputSchema,
|
|
67
|
+
execute: (context, input) => context.adapter.graphs.listRevisions(input.projectId),
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
export function createGraphOperations(runtime) {
|
|
71
|
+
return {
|
|
72
|
+
save: bindOperation(runtime, graphOperationDefinitions.save),
|
|
73
|
+
getLatest: bindOperation(runtime, graphOperationDefinitions.getLatest),
|
|
74
|
+
getRevision: bindOperation(runtime, graphOperationDefinitions.getRevision),
|
|
75
|
+
listRevisions: bindOperation(runtime, graphOperationDefinitions.listRevisions),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/operations/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@elytracms/core/operations` — the typed command/query spine of the app (EC-139,
|
|
3
|
+
* vision AD-7). Every domain mutation flows through one pipeline:
|
|
4
|
+
* validate (Zod) → authorize (hook) → mutate via `PersistenceAdapter` → emit
|
|
5
|
+
* lifecycle event. Pure TypeScript: no React, no TanStack, no Convex.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PACKAGE = "@elytracms/core/operations";
|
|
8
|
+
export * from './core';
|
|
9
|
+
export * from './schema';
|
|
10
|
+
export * from './documents';
|
|
11
|
+
export * from './graph';
|
|
12
|
+
export * from './assets';
|
|
13
|
+
export * from './publishing';
|
|
14
|
+
export * from './references';
|
|
15
|
+
export * from './members';
|
|
16
|
+
export * from './tokens';
|
|
17
|
+
export * from './authorization';
|
|
18
|
+
export * from './client';
|
|
19
|
+
export * from './changesets';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@elytracms/core/operations` — the typed command/query spine of the app (EC-139,
|
|
3
|
+
* vision AD-7). Every domain mutation flows through one pipeline:
|
|
4
|
+
* validate (Zod) → authorize (hook) → mutate via `PersistenceAdapter` → emit
|
|
5
|
+
* lifecycle event. Pure TypeScript: no React, no TanStack, no Convex.
|
|
6
|
+
*/
|
|
7
|
+
export const PACKAGE = '@elytracms/core/operations';
|
|
8
|
+
export * from './core';
|
|
9
|
+
export * from './schema';
|
|
10
|
+
export * from './documents';
|
|
11
|
+
export * from './graph';
|
|
12
|
+
export * from './assets';
|
|
13
|
+
export * from './publishing';
|
|
14
|
+
export * from './references';
|
|
15
|
+
export * from './members';
|
|
16
|
+
export * from './tokens';
|
|
17
|
+
export * from './authorization';
|
|
18
|
+
export * from './client';
|
|
19
|
+
export * from './changesets';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,4BAA4B,CAAA;AAEnD,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
|