@elytracms/studio 0.0.4 → 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/convex/cliTokens.ts +1 -1
- package/convex/cms.ts +23 -1
- package/convex/content.ts +9 -9
- package/convex/delivery.ts +2 -2
- package/convex/graphs.ts +4 -0
- package/convex/guard.ts +1 -1
- package/convex/members.ts +1 -1
- package/convex/publishing.ts +6 -0
- package/convex/referenceMaintenance.ts +163 -0
- package/convex/schema.ts +2 -2
- package/convex/sync.ts +7 -7
- package/dist/components/assets/asset-metadata.d.ts +1 -1
- package/dist/components/assets/asset-search.d.ts +1 -1
- package/dist/components/assets/asset-selection.d.ts +1 -7
- package/dist/components/assets/asset-selection.js +15 -10
- package/dist/components/assets/asset-selection.js.map +1 -1
- package/dist/components/assets/assets-store.d.ts +1 -1
- package/dist/components/auth-context.d.ts +1 -1
- package/dist/components/builder/blocks-model.d.ts +2 -2
- package/dist/components/builder/blocks-model.js +2 -2
- package/dist/components/builder/blocks-model.js.map +1 -1
- package/dist/components/builder/blocks-panel.d.ts +2 -2
- package/dist/components/builder/blocks-panel.js +1 -1
- package/dist/components/builder/blocks-panel.js.map +1 -1
- package/dist/components/builder/builder-store.d.ts +1 -1
- package/dist/components/builder/builder-store.js +1 -1
- package/dist/components/builder/builder-store.js.map +1 -1
- package/dist/components/builder/canvas.js +3 -3
- package/dist/components/builder/canvas.js.map +1 -1
- package/dist/components/builder/clipboard-actions.d.ts +1 -1
- package/dist/components/builder/clipboard-actions.js +2 -2
- package/dist/components/builder/clipboard-actions.js.map +1 -1
- package/dist/components/builder/composition-field-editor.d.ts +1 -1
- package/dist/components/builder/composition-field-editor.js +1 -1
- package/dist/components/builder/composition-field-editor.js.map +1 -1
- package/dist/components/builder/drag-session.d.ts +1 -1
- package/dist/components/builder/fixture-thumbnail.d.ts +1 -1
- package/dist/components/builder/fixture-thumbnail.js +1 -1
- package/dist/components/builder/fixture-thumbnail.js.map +1 -1
- package/dist/components/builder/inline-edit.d.ts +3 -3
- package/dist/components/builder/inline-edit.js +2 -2
- package/dist/components/builder/inline-edit.js.map +1 -1
- package/dist/components/builder/insert-context.js +1 -1
- package/dist/components/builder/insert-context.js.map +1 -1
- package/dist/components/builder/layout-inspector.d.ts +1 -1
- package/dist/components/builder/layout-inspector.js +1 -1
- package/dist/components/builder/layout-inspector.js.map +1 -1
- package/dist/components/builder/node-factory.d.ts +2 -2
- package/dist/components/builder/node-factory.js +1 -1
- package/dist/components/builder/node-factory.js.map +1 -1
- package/dist/components/builder/page-tree.js +1 -1
- package/dist/components/builder/page-tree.js.map +1 -1
- package/dist/components/builder/property-inspector.js +4 -4
- package/dist/components/builder/property-inspector.js.map +1 -1
- package/dist/components/builder/spacing-handles.d.ts +1 -1
- package/dist/components/builder/spacing-handles.js +1 -1
- package/dist/components/builder/spacing-handles.js.map +1 -1
- package/dist/components/cms/bulk-actions.d.ts +1 -1
- package/dist/components/cms/cell-edit.d.ts +1 -1
- package/dist/components/cms/cell-edit.js +1 -1
- package/dist/components/cms/cell-edit.js.map +1 -1
- package/dist/components/cms/cell.d.ts +6 -2
- package/dist/components/cms/cell.js +13 -12
- package/dist/components/cms/cell.js.map +1 -1
- package/dist/components/cms/cms-index.js +1 -1
- package/dist/components/cms/cms-index.js.map +1 -1
- package/dist/components/cms/cms-store.d.ts +2 -2
- package/dist/components/cms/cms-store.js +10 -6
- package/dist/components/cms/cms-store.js.map +1 -1
- package/dist/components/cms/collection-table.d.ts +1 -1
- package/dist/components/cms/collection-table.js +1 -1
- package/dist/components/cms/collection-table.js.map +1 -1
- package/dist/components/cms/collections-sidebar.js +1 -1
- package/dist/components/cms/collections-sidebar.js.map +1 -1
- package/dist/components/cms/detail-editor.js +1 -1
- package/dist/components/cms/detail-editor.js.map +1 -1
- package/dist/components/cms/doc-state.d.ts +1 -1
- package/dist/components/cms/document-editor-context.d.ts +1 -1
- package/dist/components/cms/editable-cell.d.ts +1 -1
- package/dist/components/cms/editable-cell.js +1 -1
- package/dist/components/cms/editable-cell.js.map +1 -1
- package/dist/components/cms/field-control.d.ts +1 -1
- package/dist/components/cms/field-control.js +1 -1
- package/dist/components/cms/field-control.js.map +1 -1
- package/dist/components/cms/filter-builder.d.ts +1 -1
- package/dist/components/cms/reference-confirm.d.ts +1 -1
- package/dist/components/cms/reference-confirm.js +1 -1
- package/dist/components/cms/reference-confirm.js.map +1 -1
- package/dist/components/cms/relation-picker.d.ts +1 -1
- package/dist/components/cms/use-cell-edit.d.ts +1 -1
- package/dist/components/cms/use-cell-edit.js +1 -1
- package/dist/components/cms/use-cell-edit.js.map +1 -1
- package/dist/components/cms/versions-model.d.ts +1 -1
- package/dist/components/cms/versions-model.js +1 -1
- package/dist/components/cms/versions-model.js.map +1 -1
- package/dist/components/cms/view-bar.d.ts +1 -1
- package/dist/components/collab/collab-context.d.ts +3 -3
- package/dist/components/collab/collab-context.js +2 -2
- package/dist/components/collab/collab-context.js.map +1 -1
- package/dist/components/collab/collab-seed.d.ts +1 -1
- package/dist/components/components/component-detail.js +1 -1
- package/dist/components/components/component-detail.js.map +1 -1
- package/dist/components/components/components-index.js +1 -1
- package/dist/components/components/field-inspector.d.ts +1 -1
- package/dist/components/components/field-inspector.js +1 -1
- package/dist/components/components/field-inspector.js.map +1 -1
- package/dist/components/components/fixture-runner.d.ts +1 -1
- package/dist/components/components/fixture-runner.js +1 -1
- package/dist/components/components/fixture-runner.js.map +1 -1
- package/dist/components/components/registry-browser.js +1 -1
- package/dist/components/components/registry-browser.js.map +1 -1
- package/dist/components/current-user-menu.d.ts +1 -1
- package/dist/components/extensions/extensions-view.d.ts +1 -1
- package/dist/components/extensions/extensions-view.js +2 -2
- package/dist/components/extensions/extensions-view.js.map +1 -1
- package/dist/components/project-list.d.ts +1 -1
- package/dist/components/project-session.d.ts +1 -1
- package/dist/components/project-switcher.d.ts +1 -1
- package/dist/components/references/builder-deep-link.js +1 -1
- package/dist/components/references/builder-deep-link.js.map +1 -1
- package/dist/components/references/references-panel.d.ts +2 -2
- package/dist/components/references/references-panel.js +1 -1
- package/dist/components/routes/redirect-chain.d.ts +1 -1
- package/dist/components/routes/redirect-manager.d.ts +1 -1
- package/dist/components/routes/route-list.d.ts +1 -1
- package/dist/components/routes/routes-shell.d.ts +2 -2
- package/dist/components/routes/routes-shell.js +2 -2
- package/dist/components/routes/routes-shell.js.map +1 -1
- package/dist/components/section-nav.d.ts +1 -1
- package/dist/components/section-state.d.ts +1 -1
- package/dist/components/section-surface.d.ts +1 -1
- package/dist/components/section-surface.js +1 -1
- package/dist/components/section-surface.js.map +1 -1
- package/dist/components/sections.d.ts +2 -2
- package/dist/components/sections.js +1 -1
- package/dist/components/sections.js.map +1 -1
- package/dist/components/settings-form.d.ts +1 -1
- package/dist/components/studio-context.d.ts +1 -1
- package/dist/components/studio-context.js +1 -1
- package/dist/components/studio-context.js.map +1 -1
- package/dist/components/studio-project-screen.js +2 -2
- package/dist/components/studio-project-screen.js.map +1 -1
- package/dist/components/studio-shell.d.ts +1 -1
- package/dist/lib/assets/delete-asset.d.ts +1 -1
- package/dist/lib/assets/delete-asset.js +1 -1
- package/dist/lib/assets/delete-asset.js.map +1 -1
- package/dist/lib/assets/upload.d.ts +1 -1
- package/dist/lib/auth/local-auth-adapter.d.ts +1 -1
- package/dist/lib/auth/local-auth-adapter.js +2 -2
- package/dist/lib/auth/local-auth-adapter.js.map +1 -1
- package/dist/lib/auth/route-guard.d.ts +1 -1
- package/dist/lib/bindings/section-bindings.d.ts +4 -4
- package/dist/lib/clipboard/os-clipboard.d.ts +1 -1
- package/dist/lib/clipboard/os-clipboard.js +1 -1
- package/dist/lib/clipboard/os-clipboard.js.map +1 -1
- package/dist/lib/clipboard/paste-issues.d.ts +1 -1
- package/dist/lib/clipboard/paste-target.d.ts +2 -2
- package/dist/lib/clipboard/paste-target.js +1 -1
- package/dist/lib/clipboard/paste-target.js.map +1 -1
- package/dist/lib/cms/published-documents.d.ts +1 -1
- package/dist/lib/cms-views/index.d.ts +1 -1
- package/dist/lib/cms-views/index.js +1 -1
- package/dist/lib/cms-views/view-model.d.ts +3 -3
- package/dist/lib/cms-views/view-model.js +3 -3
- package/dist/lib/cms-views/view-model.js.map +1 -1
- package/dist/lib/cms-views/views-store.d.ts +2 -2
- package/dist/lib/cms-views/views-store.js +1 -1
- package/dist/lib/data/collection-content.d.ts +5 -5
- package/dist/lib/data/collection-content.js +2 -2
- package/dist/lib/data/collection-content.js.map +1 -1
- package/dist/lib/data/data-store.d.ts +5 -5
- package/dist/lib/data/data-store.js +1 -1
- package/dist/lib/data/data-store.js.map +1 -1
- package/dist/lib/data/providers.d.ts +3 -3
- package/dist/lib/data/sample-capture.d.ts +3 -3
- package/dist/lib/data/sample-capture.js +1 -1
- package/dist/lib/data/sample-capture.js.map +1 -1
- package/dist/lib/data/sources-store.d.ts +4 -4
- package/dist/lib/data/sources-store.js +3 -3
- package/dist/lib/data/sources-store.js.map +1 -1
- package/dist/lib/dnd/drop-rules.d.ts +1 -1
- package/dist/lib/dnd/drop-rules.js +1 -1
- package/dist/lib/dnd/drop-rules.js.map +1 -1
- package/dist/lib/dnd/gap-drag.d.ts +1 -1
- package/dist/lib/dnd/gap-drag.js +1 -1
- package/dist/lib/dnd/gap-drag.js.map +1 -1
- package/dist/lib/locale/binding-fallback.d.ts +4 -4
- package/dist/lib/locale/fallback.d.ts +1 -1
- package/dist/lib/locale/fallback.js +1 -1
- package/dist/lib/locale/fallback.js.map +1 -1
- package/dist/lib/locale/locale-store.d.ts +1 -1
- package/dist/lib/locale/locale-store.js +1 -1
- package/dist/lib/locale/locale-store.js.map +1 -1
- package/dist/lib/locale/route-variant.d.ts +1 -1
- package/dist/lib/locale/use-studio-locale.d.ts +1 -1
- package/dist/lib/operations/asset-repository.d.ts +1 -1
- package/dist/lib/operations/cms-persistence.d.ts +8 -1
- package/dist/lib/operations/cms-persistence.js +16 -2
- package/dist/lib/operations/cms-persistence.js.map +1 -1
- package/dist/lib/operations/graph-commands.d.ts +1 -1
- package/dist/lib/operations/operations-package.d.ts +2 -2
- package/dist/lib/operations/operations-package.js +2 -2
- package/dist/lib/operations/operations-package.js.map +1 -1
- package/dist/lib/operations/session-hydration.d.ts +4 -4
- package/dist/lib/operations/session-hydration.js +3 -3
- package/dist/lib/operations/session-hydration.js.map +1 -1
- package/dist/lib/operations/studio-operations.d.ts +1 -1
- package/dist/lib/operations/studio-operations.js +17 -7
- package/dist/lib/operations/studio-operations.js.map +1 -1
- package/dist/lib/persistence/convex-adapter.d.ts +9 -2
- package/dist/lib/persistence/convex-adapter.js +11 -4
- package/dist/lib/persistence/convex-adapter.js.map +1 -1
- package/dist/lib/persistence/convex-blob-storage.d.ts +1 -1
- package/dist/lib/persistence/index.d.ts +1 -1
- package/dist/lib/persistence/index.js +1 -1
- package/dist/lib/persistence/index.js.map +1 -1
- package/dist/lib/persona/labels.d.ts +4 -4
- package/dist/lib/persona/labels.js +2 -1
- package/dist/lib/persona/labels.js.map +1 -1
- package/dist/lib/references/impact.d.ts +1 -1
- package/dist/lib/references/impact.js +1 -1
- package/dist/lib/references/impact.js.map +1 -1
- package/dist/lib/references/reference-model.d.ts +3 -3
- package/dist/lib/references/references-store.d.ts +3 -3
- package/dist/lib/references/references-store.js +1 -1
- package/dist/lib/references/references-store.js.map +1 -1
- package/dist/lib/registry/index.d.ts +10 -9
- package/dist/lib/registry/index.js +9 -9
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/registry/preview.d.ts +2 -2
- package/dist/lib/registry/preview.js +1 -1
- package/dist/lib/registry/preview.js.map +1 -1
- package/dist/lib/registry/project-components.d.ts +1 -1
- package/dist/lib/registry/project-components.js +1 -1
- package/dist/lib/registry/project-components.js.map +1 -1
- package/dist/lib/routing/index.d.ts +1 -1
- package/dist/lib/routing/index.js +1 -1
- package/dist/lib/routing/routing-analysis.d.ts +2 -2
- package/dist/lib/routing/routing-store.d.ts +2 -2
- package/dist/lib/routing/routing-store.js +2 -2
- package/dist/lib/routing/routing-store.js.map +1 -1
- package/dist/lib/starters/kit-session.d.ts +1 -1
- package/dist/lib/webhooks/config.d.ts +1 -1
- package/dist/lib/webhooks/dispatcher.d.ts +1 -1
- package/dist/lib/webhooks/tags.d.ts +1 -1
- package/dist/lib/working-graph.d.ts +2 -2
- package/dist/lib/working-graph.js +1 -1
- package/dist/lib/working-graph.js.map +1 -1
- package/dist/lib/workspace/index.d.ts +3 -3
- package/dist/lib/workspace/index.js +1 -1
- package/dist/lib/workspace/index.js.map +1 -1
- package/dist/lib/workspace/switcher-source.d.ts +2 -2
- package/dist/lib/workspace/workspace-source.d.ts +1 -1
- package/dist/lib/workspace/workspace-source.js +1 -1
- package/dist/lib/workspace/workspace-source.js.map +1 -1
- package/dist/router/search.d.ts +1 -1
- package/dist/router/search.js +1 -1
- package/dist/router/search.js.map +1 -1
- package/package.json +2 -15
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dataSourceSchema } from '@elytracms/data-binding';
|
|
1
|
+
import { dataSourceSchema } from '@elytracms/core/data-binding';
|
|
2
2
|
/**
|
|
3
3
|
* Data-source persistence for the Builder's data layer (LIVE-mode gap fix).
|
|
4
4
|
*
|
|
@@ -8,13 +8,13 @@ import { dataSourceSchema } from '@elytracms/data-binding';
|
|
|
8
8
|
* `apps/example-site/lib/live-content.ts`) had nothing to carry. Following the
|
|
9
9
|
* EC-170 routing-store / EC-169 views-store pattern, sources persist as
|
|
10
10
|
* documents in ONE system collection, one document per source, and every
|
|
11
|
-
* mutation goes through the *existing* `@elytracms/operations` commands
|
|
11
|
+
* mutation goes through the *existing* `@elytracms/core/operations` commands
|
|
12
12
|
* (`schema.upsertCollection`, `documents.upsert`, `documents.delete`) — no new
|
|
13
13
|
* operations surface, no direct repository access.
|
|
14
14
|
*
|
|
15
15
|
* The record round-trips the FULL canonical `DataSource` shape (including the
|
|
16
16
|
* captured `sample` + inferred `schema` envelope and the cms config's `sort`):
|
|
17
|
-
* `@elytracms/data-binding`'s `dataSourceSchema` is the source of truth, applied
|
|
17
|
+
* `@elytracms/core/data-binding`'s `dataSourceSchema` is the source of truth, applied
|
|
18
18
|
* on both write and read, so a malformed stored record is dropped on load —
|
|
19
19
|
* never a crash, never a half-parsed source.
|
|
20
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources-store.js","sourceRoot":"","sources":["../../../src/lib/data/sources-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sources-store.js","sourceRoot":"","sources":["../../../src/lib/data/sources-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentNode, GridContainerOptions, InsertTarget } from '@elytracms/project-graph';
|
|
1
|
+
import type { ComponentNode, GridContainerOptions, InsertTarget } from '@elytracms/core/project-graph';
|
|
2
2
|
/**
|
|
3
3
|
* Drag & drop eligibility rules (EC-160 + EC-162, vision §3.1) — pure
|
|
4
4
|
* graph-level functions with **no DOM or UI dependencies**. The canvas and the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_SLOT, GRID_COMPONENT_ID, OUTLET_SLOT, STACK_COMPONENT_ID, getNode, getParentInfo, gridContainerNode, isDescendantOf, removeNode, updateNode, } from '@elytracms/project-graph';
|
|
1
|
+
import { DEFAULT_SLOT, GRID_COMPONENT_ID, OUTLET_SLOT, STACK_COMPONENT_ID, getNode, getParentInfo, gridContainerNode, isDescendantOf, removeNode, updateNode, } from '@elytracms/core/project-graph';
|
|
2
2
|
function rejected(code, reason) {
|
|
3
3
|
return { eligible: false, code, reason };
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop-rules.js","sourceRoot":"","sources":["../../../src/lib/dnd/drop-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,
|
|
1
|
+
{"version":3,"file":"drop-rules.js","sourceRoot":"","sources":["../../../src/lib/dnd/drop-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,+BAA+B,CAAA;AAmGtC,SAAS,QAAQ,CAAC,IAAuB,EAAE,MAAc;IACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AAC1C,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAmC;IACnE,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;QACnD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CACnD,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,WAA2B,EAAE,WAAmB;IAC1E,OAAO,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS,CAAA;AAClE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,UAAU,CAAC,IAA0B,EAAE,WAAmB;IACxE,IAAI,CAAC,IAAI,EAAE,KAAK;QAAE,OAAO,IAAI,CAAA;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACzC,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAK3B;IACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAErD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,gBAAgB,EAAE,SAAS,QAAQ,CAAC,MAAM,wBAAwB,CAAC,CAAA;IACrF,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClE,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,kEAAkE;IAClE,IAAI,QAAgB,CAAA;IACpB,IAAI,QAA8B,CAAA;IAClC,IAAI,QAAgB,CAAA;IACpB,IAAI,KAAa,CAAA;IAEjB,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,SAAS,EAAE,IAAI,SAAS,CAAC,WAAW,6BAA6B,CAAC,CAAA;QACpF,CAAC;QACD,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAA;QACvB,QAAQ,GAAG,IAAI,CAAA;QACf,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,MAAM,EAAE,8CAA8C,CAAC,CAAA;QACzE,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;QACzB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,6EAA6E;QAC7E,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;QACxF,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,OAAO,QAAQ,CACb,aAAa,EACb,SAAS,QAAQ,qBAAqB,OAAO,CAAC,WAAW,IAAI,CAC9D,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAEhE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IACnD,CAAC;IAED,kEAAkE;IAClE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClF,OAAO,QAAQ,CAAC,aAAa,EAAE,gDAAgD,CAAC,CAAA;IAClF,CAAC;IAED,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC5D,IAAI,UAAU,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;AACzE,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAyB,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAE/E,2DAA2D;AAC3D,SAAS,WAAW,CAAC,IAMpB;IACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IAE5D,mEAAmE;IACnE,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC,MAAM,EAAE,iDAAiD,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CACrE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAC5B,CAAA;IACD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,IAAI,oCAAoC,CAAC,CAAA;IACxF,CAAC;IAED,iDAAiD;IACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAClE,KAAK,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,QAAQ,CAAC,aAAa,EAAE,oCAAoC,WAAW,IAAI,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAA;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAA;IACpE,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,OAAO,QAAQ,CAAC,aAAa,EAAE,mDAAmD,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;AAClG,CAAC;AAaD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CAAC,IAMzB;IACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAC9D,IAAI,WAAW,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvE,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,WAA0B,CAAA;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3E,WAAW,GAAG,IAAI,CAAA;QAClB,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;IAC5B,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAC1D,iBAAiB,CACf,WAAW,EACX,iBAAiB,EACjB,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CACtE,CACF,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;AACpC,CAAC;AASD,SAAS,eAAe,CAAC,IAAmB,EAAE,IAAY;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA+B;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAA;IAC5B,IAAI,IAAI,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;QAC5C,OAAO,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAA;IACxF,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAChD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAA;IAChF,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,uFAAuF;AACvF,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAWpC;IACC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,IAAI,CAAA;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAA;IACzB,IAAI,SAAS,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,SAAS;YAAE,OAAO,MAAM,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;YAAE,OAAO,OAAO,CAAA;IACvC,CAAC;IACD,OAAO,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1F,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAMtC;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAA;IACzB,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,KAAK,GAAG,IAAI;YAAE,OAAO,QAAQ,CAAA;QACjC,IAAI,KAAK,GAAG,IAAI;YAAE,OAAO,OAAO,CAAA;QAChC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;AACzC,CAAC;AAaD,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,QAAsB;IAEtB,IAAI,UAAU,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACxC,OAAO,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentNode, SpacingTokenName } from '@elytracms/project-graph';
|
|
1
|
+
import type { ComponentNode, SpacingTokenName } from '@elytracms/core/project-graph';
|
|
2
2
|
import type { FlowAxis } from './drop-rules';
|
|
3
3
|
/**
|
|
4
4
|
* Tokenized gap-drag math (EC-163, vision §3.1 / AD-10) — pure functions with
|
package/dist/lib/dnd/gap-drag.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SPACING_TOKEN_CSS, SPACING_TOKEN_NAMES, isSpacingTokenName, spacingTokenFromLegacyGap, } from '@elytracms/project-graph';
|
|
1
|
+
import { SPACING_TOKEN_CSS, SPACING_TOKEN_NAMES, isSpacingTokenName, spacingTokenFromLegacyGap, } from '@elytracms/core/project-graph';
|
|
2
2
|
/** The full drag range, smallest to largest: none, then the EC-161 token scale. */
|
|
3
3
|
export const GAP_STEPS = [null, ...SPACING_TOKEN_NAMES];
|
|
4
4
|
/** Canvas root font size — the deterministic rem basis for token CSS lengths. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gap-drag.js","sourceRoot":"","sources":["../../../src/lib/dnd/gap-drag.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,
|
|
1
|
+
{"version":3,"file":"gap-drag.js","sourceRoot":"","sources":["../../../src/lib/dnd/gap-drag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Locale } from '@elytracms/cms-core';
|
|
2
|
-
import type { BindingReference } from '@elytracms/project-graph';
|
|
3
|
-
import type { DataSource } from '@elytracms/data-binding';
|
|
1
|
+
import type { Locale } from '@elytracms/core/cms-core';
|
|
2
|
+
import type { BindingReference } from '@elytracms/core/project-graph';
|
|
3
|
+
import type { DataSource } from '@elytracms/core/data-binding';
|
|
4
4
|
import type { DisplayedFallback } from './fallback';
|
|
5
5
|
/**
|
|
6
6
|
* Fallback visibility for BOUND content (EC-176): given a stored content
|
|
@@ -11,7 +11,7 @@ import type { DisplayedFallback } from './fallback';
|
|
|
11
11
|
* EC-176 notes).
|
|
12
12
|
*
|
|
13
13
|
* Deterministic over the playground delivery engine: the same
|
|
14
|
-
* `@elytracms/content` resolution that produced the previewed value reports
|
|
14
|
+
* `@elytracms/core/content` resolution that produced the previewed value reports
|
|
15
15
|
* which fields fell back (`ResolutionInfo.localeFallbacks`), so the label can
|
|
16
16
|
* never disagree with the displayed value.
|
|
17
17
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CmsDocument, CollectionDef, Locale, LocaleConfig } from '@elytracms/cms-core';
|
|
1
|
+
import type { CmsDocument, CollectionDef, Locale, LocaleConfig } from '@elytracms/core/cms-core';
|
|
2
2
|
/**
|
|
3
3
|
* Fallback visibility (EC-176) — the pure "is this displayed value a
|
|
4
4
|
* fallback?" decision the CMS table cells, detail-editor fields, and the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { documentDefaultLocale, isFieldLocalized, resolveField } from '@elytracms/cms-core';
|
|
1
|
+
import { documentDefaultLocale, isFieldLocalized, resolveField } from '@elytracms/core/cms-core';
|
|
2
2
|
/** True when the document stores an explicit variant of `field` for `locale`. */
|
|
3
3
|
export function hasLocaleVariant(doc, fieldName, locale) {
|
|
4
4
|
const bag = doc.localized?.[locale];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/lib/locale/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/lib/locale/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAmBhG,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,SAAiB,EAAE,MAAc;IAClF,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;IACnC,OAAO,GAAG,KAAK,SAAS,IAAI,SAAS,IAAI,GAAG,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAyB,EACzB,GAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,MAAoB;IAEpB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACnE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,CAAA;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAyB,EACzB,GAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,MAAoB;IAEpB,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK;QACrE,QAAQ,EAAE,sBAAsB,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;KAC7E,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAyB,EACzB,GAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,MAAoB;IAEpB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1D,IAAI,MAAM,KAAK,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/D,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAClD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAA;AAC7B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createLocaleConfig, isKnownLocale, sampleLocaleConfig } from '@elytracms/cms-core';
|
|
1
|
+
import { createLocaleConfig, isKnownLocale, sampleLocaleConfig } from '@elytracms/core/cms-core';
|
|
2
2
|
let state = {
|
|
3
3
|
config: sampleLocaleConfig,
|
|
4
4
|
active: sampleLocaleConfig.default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-store.js","sourceRoot":"","sources":["../../../src/lib/locale/locale-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"locale-store.js","sourceRoot":"","sources":["../../../src/lib/locale/locale-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAsBhG,IAAI,KAAK,GAAsB;IAC7B,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,kBAAkB,CAAC,OAAO;CACnC,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;AAEvC,SAAS,IAAI;IACX,KAAK,MAAM,QAAQ,IAAI,SAAS;QAAE,QAAQ,EAAE,CAAA;AAC9C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,oBAAoB;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;QAAE,OAAM;IAC3E,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IACpC,IAAI,EAAE,CAAA;AACR,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAoB;IACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3F,MAAM,UAAU,GACd,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO;QAC3C,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;QACzD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAA;IAC1F,IAAI,UAAU,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAM;IACjD,KAAK,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;IACtC,IAAI,EAAE,CAAA;AACR,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,QAAoB;IACxD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB;IAC/B,KAAK,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAA;IAC1E,IAAI,EAAE,CAAA;AACR,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Locale, RouteRecord } from '@elytracms/cms-core';
|
|
1
|
+
import type { Locale, RouteRecord } from '@elytracms/core/cms-core';
|
|
2
2
|
/**
|
|
3
3
|
* Per-locale URL preview (EC-176 over EC-170's per-locale routes): given the
|
|
4
4
|
* route records serving one page/template, pick the variant the active locale
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssetRepository } from '@elytracms/persistence';
|
|
1
|
+
import type { AssetRepository } from '@elytracms/core/persistence';
|
|
2
2
|
import type { OperationsClient } from './operations-package';
|
|
3
3
|
/**
|
|
4
4
|
* `AssetRepository` facade over the operations layer (EC-141). The asset
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CmsDocument, CollectionDef, DocumentRef } from '@elytracms/cms-core';
|
|
1
|
+
import type { CmsDocument, CollectionDef, DocumentRef, PropFieldLookup } from '@elytracms/core/cms-core';
|
|
2
2
|
import type { OperationError, OperationsClient } from './operations-package';
|
|
3
3
|
/**
|
|
4
4
|
* CMS session → operations persistence (EC-141). The CMS store keeps documents
|
|
@@ -30,6 +30,13 @@ export interface CmsPersisterOptions {
|
|
|
30
30
|
/** Session collections/documents at baseline time (read lazily via refs). */
|
|
31
31
|
getCollections: () => readonly CollectionDef[];
|
|
32
32
|
getDocuments: () => readonly CmsDocument[];
|
|
33
|
+
/**
|
|
34
|
+
* Component-prop field-defs by component id (EC-277): the manifest half of the
|
|
35
|
+
* write-time self-typing lens, so a composition's static relation/asset props are
|
|
36
|
+
* self-typed too ("schema leads, component adopts"). Omit → document fields are
|
|
37
|
+
* still self-typed; composition static props pass through.
|
|
38
|
+
*/
|
|
39
|
+
lookupManifest?: PropFieldLookup;
|
|
33
40
|
onError: (error: OperationError) => void;
|
|
34
41
|
}
|
|
35
42
|
export declare function createCmsPersister(options: CmsPersisterOptions): CmsPersister;
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
import { selfTypeDocument } from '@elytracms/core/cms-core';
|
|
1
2
|
import { createPersistQueue } from './persist-queue';
|
|
2
3
|
export function createCmsPersister(options) {
|
|
3
4
|
const queue = createPersistQueue();
|
|
4
5
|
let baselineDone = false;
|
|
6
|
+
/**
|
|
7
|
+
* EC-277: self-type a document through the schema-as-lens (+ the manifest for
|
|
8
|
+
* composition static props) before it is persisted — the single write-time
|
|
9
|
+
* wrapping point, so everything at rest self-describes and derivation stays
|
|
10
|
+
* schema-free. Drift-tolerant: an undeclared collection passes through unchanged.
|
|
11
|
+
*/
|
|
12
|
+
function selfType(doc) {
|
|
13
|
+
const collection = options.getCollections().find((c) => c.id === doc.collection);
|
|
14
|
+
if (!collection)
|
|
15
|
+
return doc;
|
|
16
|
+
return selfTypeDocument(doc, collection, options.lookupManifest ? { lookupManifest: options.lookupManifest } : {});
|
|
17
|
+
}
|
|
5
18
|
async function ensureBaselineNow() {
|
|
6
19
|
if (baselineDone)
|
|
7
20
|
return true;
|
|
@@ -25,7 +38,7 @@ export function createCmsPersister(options) {
|
|
|
25
38
|
for (const document of options.getDocuments()) {
|
|
26
39
|
const result = await operations.documents.upsert({
|
|
27
40
|
projectId: options.projectId,
|
|
28
|
-
document,
|
|
41
|
+
document: selfType(document),
|
|
29
42
|
});
|
|
30
43
|
if (!result.ok) {
|
|
31
44
|
options.onError(result.error);
|
|
@@ -49,7 +62,8 @@ export function createCmsPersister(options) {
|
|
|
49
62
|
}
|
|
50
63
|
return {
|
|
51
64
|
upsertDocument(doc) {
|
|
52
|
-
|
|
65
|
+
const document = selfType(doc);
|
|
66
|
+
command((operations) => operations.documents.upsert({ projectId: options.projectId, document }));
|
|
53
67
|
},
|
|
54
68
|
deleteDocument(ref) {
|
|
55
69
|
command((operations) => operations.documents.delete({ projectId: options.projectId, ref }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-persistence.js","sourceRoot":"","sources":["../../../src/lib/operations/cms-persistence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cms-persistence.js","sourceRoot":"","sources":["../../../src/lib/operations/cms-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentNode, Condition, InsertTarget, ProjectGraph, PropValue } from '@elytracms/project-graph';
|
|
1
|
+
import type { ComponentNode, Condition, InsertTarget, ProjectGraph, PropValue } from '@elytracms/core/project-graph';
|
|
2
2
|
import type { WorkingGraph, WorkingPageSeo } from '../working-graph';
|
|
3
3
|
import type { OperationResult, OperationsClient } from './operations-package';
|
|
4
4
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bridge to `@elytracms/operations` (EC-141). Every studio import of operations
|
|
2
|
+
* Bridge to `@elytracms/core/operations` (EC-141). Every studio import of operations
|
|
3
3
|
* types/functions goes through `lib/operations`, keeping the app's dependency
|
|
4
4
|
* on the layer a single, swappable seam.
|
|
5
5
|
*/
|
|
6
|
-
export * from '@elytracms/operations';
|
|
6
|
+
export * from '@elytracms/core/operations';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bridge to `@elytracms/operations` (EC-141). Every studio import of operations
|
|
2
|
+
* Bridge to `@elytracms/core/operations` (EC-141). Every studio import of operations
|
|
3
3
|
* types/functions goes through `lib/operations`, keeping the app's dependency
|
|
4
4
|
* on the layer a single, swappable seam.
|
|
5
5
|
*/
|
|
6
|
-
export * from '@elytracms/operations';
|
|
6
|
+
export * from '@elytracms/core/operations';
|
|
7
7
|
//# sourceMappingURL=operations-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations-package.js","sourceRoot":"","sources":["../../../src/lib/operations/operations-package.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,
|
|
1
|
+
{"version":3,"file":"operations-package.js","sourceRoot":"","sources":["../../../src/lib/operations/operations-package.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,4BAA4B,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ProjectGraph } from '@elytracms/project-graph';
|
|
2
|
-
import type { CmsDocument, CollectionDef } from '@elytracms/cms-core';
|
|
3
|
-
import type { AssetRecord } from '@elytracms/persistence';
|
|
1
|
+
import type { ProjectGraph } from '@elytracms/core/project-graph';
|
|
2
|
+
import type { CmsDocument, CollectionDef } from '@elytracms/core/cms-core';
|
|
3
|
+
import type { AssetRecord } from '@elytracms/core/persistence';
|
|
4
4
|
import type { OperationResult, OperationsClient } from './operations-package';
|
|
5
5
|
/**
|
|
6
6
|
* Persisted-session hydration (Milestone B sign-off fix, EC-177 gap 1).
|
|
@@ -13,7 +13,7 @@ import type { OperationResult, OperationsClient } from './operations-package';
|
|
|
13
13
|
* hid the editor's work and the next publish pinned fixture-derived state
|
|
14
14
|
* over production.
|
|
15
15
|
*
|
|
16
|
-
* This module is the pure load half: read-only `@elytracms/operations` queries
|
|
16
|
+
* This module is the pure load half: read-only `@elytracms/core/operations` queries
|
|
17
17
|
* composed into one hydration result. `not-found` is a *normal* answer (the
|
|
18
18
|
* first-run fallback); every other failure propagates as the structured
|
|
19
19
|
* operation error so the gate renders it — never a silent fixture fallback.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { serializeProjectGraph } from '@elytracms/project-graph';
|
|
2
|
-
import { documentKey } from '@elytracms/cms-core';
|
|
1
|
+
import { serializeProjectGraph } from '@elytracms/core/project-graph';
|
|
2
|
+
import { documentKey } from '@elytracms/core/cms-core';
|
|
3
3
|
import { DATA_SOURCES_COLLECTION } from '../data/sources-store';
|
|
4
4
|
import { VIEWS_COLLECTION } from '../cms-views/views-store';
|
|
5
5
|
/**
|
|
@@ -13,7 +13,7 @@ import { VIEWS_COLLECTION } from '../cms-views/views-store';
|
|
|
13
13
|
* hid the editor's work and the next publish pinned fixture-derived state
|
|
14
14
|
* over production.
|
|
15
15
|
*
|
|
16
|
-
* This module is the pure load half: read-only `@elytracms/operations` queries
|
|
16
|
+
* This module is the pure load half: read-only `@elytracms/core/operations` queries
|
|
17
17
|
* composed into one hydration result. `not-found` is a *normal* answer (the
|
|
18
18
|
* first-run fallback); every other failure propagates as the structured
|
|
19
19
|
* operation error so the gate renders it — never a silent fixture fallback.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-hydration.js","sourceRoot":"","sources":["../../../src/lib/operations/session-hydration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"session-hydration.js","sourceRoot":"","sources":["../../../src/lib/operations/session-hydration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PersistenceAdapter } from '@elytracms/persistence';
|
|
1
|
+
import type { PersistenceAdapter } from '@elytracms/core/persistence';
|
|
2
2
|
import type { ChangesetOperations, OperationsClient, Principal, ReferenceIndexAttachment } from './operations-package';
|
|
3
3
|
/**
|
|
4
4
|
* The studio's single operations bootstrap (EC-141, vision AD-7).
|
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import { activeDeploymentKey, selectPersistenceAdapter } from '../persistence';
|
|
2
|
-
import { studioManifestLookup } from '../registry';
|
|
3
2
|
import { attachConfiguredRevalidationWebhooks } from '../webhooks';
|
|
4
3
|
import { attachReferenceIndex, createChangesets, createOperations, createRoleAuthorization, } from './operations-package';
|
|
4
|
+
/**
|
|
5
|
+
* A no-op {@link ReferenceIndexAttachment} for self-maintaining adapters (EC-277):
|
|
6
|
+
* nothing is subscribed, so `detach` and `flush` are trivially satisfied (the index
|
|
7
|
+
* is kept current in the adapter's write path, not by a queued subscriber).
|
|
8
|
+
*/
|
|
9
|
+
function noopReferenceIndexAttachment() {
|
|
10
|
+
return { detach: () => { }, flush: async () => { } };
|
|
11
|
+
}
|
|
5
12
|
/** Build a studio operations bundle over an adapter (exported for tests). */
|
|
6
13
|
export function createStudioOperations(adapter, options = {}) {
|
|
7
14
|
const authorized = options.actor
|
|
8
15
|
? { actor: options.actor, authorize: createRoleAuthorization(adapter.members) }
|
|
9
16
|
: {};
|
|
10
17
|
const operations = createOperations({ adapter, ...authorized });
|
|
11
|
-
// EC-
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
// EC-277: when the adapter maintains the index in its own write path (AD-6 "at the
|
|
19
|
+
// source" — the Convex provider does this server-side, so a raw `convex run` is
|
|
20
|
+
// caught too), the client-side subscriber would only double the work. Attach it
|
|
21
|
+
// ONLY for providers that don't self-maintain. Where it does run, extraction is a
|
|
22
|
+
// schema-free, manifest-free walk over self-describing content, so it needs no
|
|
23
|
+
// registry (compositions self-typed their relation/asset props on write).
|
|
24
|
+
const references = adapter.maintainsReferenceIndex
|
|
25
|
+
? noopReferenceIndexAttachment()
|
|
26
|
+
: attachReferenceIndex(operations.events, adapter);
|
|
17
27
|
const changesets = createChangesets({ adapter, events: operations.events, ...authorized });
|
|
18
28
|
// EC-146 instant publish: when a host revalidate endpoint is configured via
|
|
19
29
|
// env, every successful publish-shaped command (document upsert/delete/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio-operations.js","sourceRoot":"","sources":["../../../src/lib/operations/studio-operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"studio-operations.js","sourceRoot":"","sources":["../../../src/lib/operations/studio-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ConvexHttpClient } from 'convex/browser';
|
|
2
|
-
import type { CollectionDef } from '@elytracms/cms-core';
|
|
3
|
-
import type { AssetRepository, BackendStatus, BackendValidationInput, BackendValidationResult, BlobStorageAdapter, CliTokenRepository, CmsRepository, GraphRepository, MembersRepository, PersistenceAdapter, PublishingRepository, ReferenceIndexRepository } from '@elytracms/persistence';
|
|
2
|
+
import type { CollectionDef } from '@elytracms/core/cms-core';
|
|
3
|
+
import type { AssetRepository, BackendStatus, BackendValidationInput, BackendValidationResult, BlobStorageAdapter, CliTokenRepository, CmsRepository, GraphRepository, MembersRepository, PersistenceAdapter, PublishingRepository, ReferenceIndexRepository } from '@elytracms/core/persistence';
|
|
4
4
|
/**
|
|
5
5
|
* Convex-backed {@link PersistenceAdapter} (brief §10, EC-039). Every repository
|
|
6
6
|
* is implemented against the Convex functions in `apps/builder/convex/*`, mapping
|
|
@@ -20,6 +20,13 @@ export declare class ConvexPersistenceAdapter implements PersistenceAdapter {
|
|
|
20
20
|
readonly cliTokens: CliTokenRepository;
|
|
21
21
|
/** Convex file storage behind the EC-133 blob boundary (EC-151). */
|
|
22
22
|
readonly blobs: BlobStorageAdapter;
|
|
23
|
+
/**
|
|
24
|
+
* EC-277: the Convex mutations maintain the reference index in-transaction
|
|
25
|
+
* (`convex/referenceMaintenance.ts`), so every writer — studio, CLI, webhook,
|
|
26
|
+
* raw `convex run` — is caught at the source. The studio bootstrap therefore does
|
|
27
|
+
* NOT attach the client-side `attachReferenceIndex` subscriber for this provider.
|
|
28
|
+
*/
|
|
29
|
+
readonly maintainsReferenceIndex = true;
|
|
23
30
|
/**
|
|
24
31
|
* @param client the Convex client bound to this deployment (one project).
|
|
25
32
|
* @param projectId the slug of this deployment's one project (EC-179). Used to
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { parseProjectGraph, serializeProjectGraph, PROJECT_GRAPH_SCHEMA_VERSION, } from '@elytracms/project-graph';
|
|
2
|
-
import { documentKey, documentSchema } from '@elytracms/cms-core';
|
|
3
|
-
import { RecordNotFoundError, PersistenceValidationError, compareReferenceEntries, validateForPersistence, } from '@elytracms/persistence';
|
|
1
|
+
import { parseProjectGraph, serializeProjectGraph, PROJECT_GRAPH_SCHEMA_VERSION, } from '@elytracms/core/project-graph';
|
|
2
|
+
import { documentKey, documentSchema } from '@elytracms/core/cms-core';
|
|
3
|
+
import { RecordNotFoundError, PersistenceValidationError, compareReferenceEntries, validateForPersistence, } from '@elytracms/core/persistence';
|
|
4
4
|
import { queryRef, mutationRef } from './convex-client';
|
|
5
5
|
import { ConvexBlobStorage } from './convex-blob-storage';
|
|
6
6
|
const realClock = () => new Date().toISOString();
|
|
@@ -153,7 +153,7 @@ class ConvexCmsRepository {
|
|
|
153
153
|
}
|
|
154
154
|
async upsertDocument(projectId, document) {
|
|
155
155
|
// The backend is a pure document store (EC-183, AD-11): collection-membership
|
|
156
|
-
// validation lives in `@elytracms/cms-core` `validateDocument`, which the studio
|
|
156
|
+
// validation lives in `@elytracms/core/cms-core` `validateDocument`, which the studio
|
|
157
157
|
// runs pre-dispatch (cell edits, imports). We still parse the canonical
|
|
158
158
|
// document shape so malformed blobs never reach storage.
|
|
159
159
|
const parsedDoc = documentSchema.parse(document);
|
|
@@ -645,6 +645,13 @@ export class ConvexPersistenceAdapter {
|
|
|
645
645
|
cliTokens;
|
|
646
646
|
/** Convex file storage behind the EC-133 blob boundary (EC-151). */
|
|
647
647
|
blobs;
|
|
648
|
+
/**
|
|
649
|
+
* EC-277: the Convex mutations maintain the reference index in-transaction
|
|
650
|
+
* (`convex/referenceMaintenance.ts`), so every writer — studio, CLI, webhook,
|
|
651
|
+
* raw `convex run` — is caught at the source. The studio bootstrap therefore does
|
|
652
|
+
* NOT attach the client-side `attachReferenceIndex` subscriber for this provider.
|
|
653
|
+
*/
|
|
654
|
+
maintainsReferenceIndex = true;
|
|
648
655
|
/**
|
|
649
656
|
* @param client the Convex client bound to this deployment (one project).
|
|
650
657
|
* @param projectId the slug of this deployment's one project (EC-179). Used to
|