@pantheon-systems/puck-css 0.6.0 → 0.8.0
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/dist/core/config.d.ts +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/types.d.ts +17 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/data/dal/p1-store.d.ts +2 -0
- package/dist/data/dal/p1-store.d.ts.map +1 -1
- package/dist/data/dal/p1-store.js +14 -1
- package/dist/data/dal/p1-store.js.map +1 -1
- package/dist/editor/P1PuckProvider.d.ts.map +1 -1
- package/dist/editor/P1PuckProvider.js +177 -42
- package/dist/editor/P1PuckProvider.js.map +1 -1
- package/dist/editor/components/InspectorTabHeader.d.ts +18 -0
- package/dist/editor/components/InspectorTabHeader.d.ts.map +1 -0
- package/dist/editor/components/InspectorTabHeader.js +16 -0
- package/dist/editor/components/InspectorTabHeader.js.map +1 -0
- package/dist/editor/components/P1InspectorFields.d.ts +16 -0
- package/dist/editor/components/P1InspectorFields.d.ts.map +1 -0
- package/dist/editor/components/P1InspectorFields.js +54 -0
- package/dist/editor/components/P1InspectorFields.js.map +1 -0
- package/dist/editor/components/P1TemplateFields.d.ts +11 -0
- package/dist/editor/components/P1TemplateFields.d.ts.map +1 -0
- package/dist/editor/components/P1TemplateFields.js +52 -0
- package/dist/editor/components/P1TemplateFields.js.map +1 -0
- package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -1
- package/dist/editor/components/VersionBannerOverride.js +10 -2
- package/dist/editor/components/VersionBannerOverride.js.map +1 -1
- package/dist/editor/plugin/P1Plugin.d.ts +7 -0
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +36 -18
- package/dist/editor/plugin/P1Plugin.js.map +1 -1
- package/dist/editor/plugin/context-sync-key.d.ts +30 -0
- package/dist/editor/plugin/context-sync-key.d.ts.map +1 -0
- package/dist/editor/plugin/context-sync-key.js +36 -0
- package/dist/editor/plugin/context-sync-key.js.map +1 -0
- package/dist/editor/plugin/createP1Overrides.d.ts +2 -7
- package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -1
- package/dist/editor/plugin/createP1Overrides.js +8 -70
- package/dist/editor/plugin/createP1Overrides.js.map +1 -1
- package/dist/editor/plugin/document-sync-plugin.d.ts +35 -0
- package/dist/editor/plugin/document-sync-plugin.d.ts.map +1 -0
- package/dist/editor/plugin/document-sync-plugin.js +130 -0
- package/dist/editor/plugin/document-sync-plugin.js.map +1 -0
- package/dist/editor/useComponentRegistry.d.ts +2 -5
- package/dist/editor/useComponentRegistry.d.ts.map +1 -1
- package/dist/editor/useComponentRegistry.js +3 -172
- package/dist/editor/useComponentRegistry.js.map +1 -1
- package/dist/editor/useDocuments.d.ts.map +1 -1
- package/dist/editor/useDocuments.js +27 -15
- package/dist/editor/useDocuments.js.map +1 -1
- package/dist/editor/useP1Editor.d.ts +1 -9
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +65 -17
- package/dist/editor/useP1Editor.js.map +1 -1
- package/dist/editor/useP1Plugin.d.ts +6 -0
- package/dist/editor/useP1Plugin.d.ts.map +1 -1
- package/dist/editor/useP1Plugin.js +1 -0
- package/dist/editor/useP1Plugin.js.map +1 -1
- package/dist/editor/utils/componentRegistry.d.ts +22 -2
- package/dist/editor/utils/componentRegistry.d.ts.map +1 -1
- package/dist/editor/utils/componentRegistry.js +9 -2
- package/dist/editor/utils/componentRegistry.js.map +1 -1
- package/dist/editor/utils/puckYjsBinding.d.ts.map +1 -1
- package/dist/editor/utils/puckYjsBinding.js +6 -4
- package/dist/editor/utils/puckYjsBinding.js.map +1 -1
- package/dist/editor/utils/snapshotToPuckData.d.ts +11 -0
- package/dist/editor/utils/snapshotToPuckData.d.ts.map +1 -0
- package/dist/editor/utils/snapshotToPuckData.js +27 -0
- package/dist/editor/utils/snapshotToPuckData.js.map +1 -0
- package/dist/editor/utils/syncComponentRegistry.d.ts +29 -0
- package/dist/editor/utils/syncComponentRegistry.d.ts.map +1 -0
- package/dist/editor/utils/syncComponentRegistry.js +238 -0
- package/dist/editor/utils/syncComponentRegistry.js.map +1 -0
- package/dist/editor/utils/syncComponentRegistryWriteOnly.d.ts +24 -0
- package/dist/editor/utils/syncComponentRegistryWriteOnly.d.ts.map +1 -0
- package/dist/editor/utils/syncComponentRegistryWriteOnly.js +41 -0
- package/dist/editor/utils/syncComponentRegistryWriteOnly.js.map +1 -0
- package/dist/editor/utils/templatePath.d.ts +8 -0
- package/dist/editor/utils/templatePath.d.ts.map +1 -0
- package/dist/editor/utils/templatePath.js +14 -0
- package/dist/editor/utils/templatePath.js.map +1 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts +9 -4
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts.map +1 -1
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js +27 -8
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
- package/dist/features/content-type-templates/validation/structural-validation.d.ts +4 -4
- package/dist/features/content-type-templates/validation/structural-validation.d.ts.map +1 -1
- package/dist/features/content-type-templates/validation/structural-validation.js +123 -50
- package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/p1/editor/client.js +1 -1
- package/dist/p1/editor/client.js.map +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js.map +1 -1
- package/dist/p1/editor/editor-preview-resolve.js +1 -1
- package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
- package/dist/p1/editor/{hooks.d.ts → hooks/api-hooks.d.ts} +5 -16
- package/dist/p1/editor/hooks/api-hooks.d.ts.map +1 -0
- package/dist/p1/editor/{hooks.js → hooks/api-hooks.js} +33 -45
- package/dist/p1/editor/hooks/api-hooks.js.map +1 -0
- package/dist/p1/editor/hooks/index.d.ts +4 -0
- package/dist/p1/editor/hooks/index.d.ts.map +1 -0
- package/dist/p1/editor/hooks/index.js +4 -0
- package/dist/p1/editor/hooks/index.js.map +1 -0
- package/dist/p1/editor/hooks/useEditorContext.d.ts +13 -0
- package/dist/p1/editor/hooks/useEditorContext.d.ts.map +1 -0
- package/dist/p1/editor/hooks/useEditorContext.js +16 -0
- package/dist/p1/editor/hooks/useEditorContext.js.map +1 -0
- package/dist/p1/editor/hooks/useP1Plugins.d.ts +3 -0
- package/dist/p1/editor/hooks/useP1Plugins.d.ts.map +1 -0
- package/dist/p1/editor/hooks/useP1Plugins.js +31 -0
- package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -0
- package/dist/p1/editor/index.d.ts +1 -1
- package/dist/p1/editor/index.d.ts.map +1 -1
- package/dist/p1/editor/index.js +1 -1
- package/dist/p1/editor/index.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js.map +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js.map +1 -1
- package/dist/pds/components/LoadingMessage.d.ts +16 -0
- package/dist/pds/components/LoadingMessage.d.ts.map +1 -0
- package/dist/pds/components/LoadingMessage.js +6 -0
- package/dist/pds/components/LoadingMessage.js.map +1 -0
- package/dist/pds/components/LoadingMessage.module.css +44 -0
- package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorHeader.js +1 -1
- package/dist/pds/components/P1EditorHeader.js.map +1 -1
- package/dist/pds/components/P1EditorHeader.module.css +2 -4
- package/dist/pds/components/P1EditorSubheader.module.css +5 -2
- package/dist/pds/index.d.ts +2 -0
- package/dist/pds/index.d.ts.map +1 -1
- package/dist/pds/index.js +1 -0
- package/dist/pds/index.js.map +1 -1
- package/dist/pds/theme/pds-core-content.d.ts +1 -1
- package/dist/pds/theme/pds-core-content.d.ts.map +1 -1
- package/dist/pds/theme/pds-core-content.js +3 -2
- package/dist/pds/theme/pds-core-content.js.map +1 -1
- package/dist/registry-sync.d.ts +7 -0
- package/dist/registry-sync.d.ts.map +1 -0
- package/dist/registry-sync.js +8 -0
- package/dist/registry-sync.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/versioning/components/ReadOnlyFieldsGuard.d.ts +14 -0
- package/dist/versioning/components/ReadOnlyFieldsGuard.d.ts.map +1 -0
- package/dist/versioning/components/ReadOnlyFieldsGuard.js +8 -0
- package/dist/versioning/components/ReadOnlyFieldsGuard.js.map +1 -0
- package/dist/versioning/components/VersionReadOnlyBanner.d.ts +12 -0
- package/dist/versioning/components/VersionReadOnlyBanner.d.ts.map +1 -0
- package/dist/versioning/components/VersionReadOnlyBanner.js +5 -0
- package/dist/versioning/components/VersionReadOnlyBanner.js.map +1 -0
- package/dist/versioning/index.d.ts +4 -0
- package/dist/versioning/index.d.ts.map +1 -1
- package/dist/versioning/index.js +2 -0
- package/dist/versioning/index.js.map +1 -1
- package/package.json +14 -4
- package/src/pds/theme/pds-core-content.ts +3 -2
- package/src/pds/theme/pds-core.css +3 -2
- package/src/styles.css +179 -0
- package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts +0 -15
- package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts.map +0 -1
- package/dist/features/content-type-templates/editor/useTemplateScaffold.js +0 -29
- package/dist/features/content-type-templates/editor/useTemplateScaffold.js.map +0 -1
- package/dist/p1/editor/hooks.d.ts.map +0 -1
- package/dist/p1/editor/hooks.js.map +0 -1
|
@@ -101,6 +101,20 @@ export interface RegistryIndex {
|
|
|
101
101
|
* instead of fetching each component document individually (N requests → 1).
|
|
102
102
|
*/
|
|
103
103
|
hashes?: Record<string, string>;
|
|
104
|
+
/**
|
|
105
|
+
* Timestamp of the last full, per-component verification of every hash in
|
|
106
|
+
* `hashes` against its component document's own stored content (PCC-3430).
|
|
107
|
+
* The fast path trusts `hashes` without ever reading the documents it
|
|
108
|
+
* describes — if an entry ever comes to record a hash that doesn't match
|
|
109
|
+
* its document's real content (e.g. an out-of-band revert the index was
|
|
110
|
+
* never told about), the fast path has no way to detect this on its own
|
|
111
|
+
* and would skip forever. Once `verifiedAt` is older than
|
|
112
|
+
* REGISTRY_VERIFICATION_INTERVAL_MS, the hook forces a real per-component
|
|
113
|
+
* check instead of trusting `hashes`, bounding how long such a desync can
|
|
114
|
+
* persist. Carried forward unchanged on fast-path runs; only refreshed
|
|
115
|
+
* when a full per-component verification actually just ran.
|
|
116
|
+
*/
|
|
117
|
+
verifiedAt?: string;
|
|
104
118
|
}
|
|
105
119
|
/**
|
|
106
120
|
* Converts a Puck field definition to a JSON-serializable SerializedField.
|
|
@@ -136,6 +150,12 @@ export declare function hashDescriptor(descriptor: Omit<ComponentDescriptor, 'de
|
|
|
136
150
|
* @param upstreamConfig - Optional Custom Upstream's Puck config for provenance comparison
|
|
137
151
|
*/
|
|
138
152
|
export declare function extractDescriptors(puckConfig: unknown, upstreamConfig?: unknown): ComponentDescriptor[];
|
|
139
|
-
/**
|
|
140
|
-
|
|
153
|
+
/**
|
|
154
|
+
* Builds the RegistryIndex from a list of extracted descriptors.
|
|
155
|
+
*
|
|
156
|
+
* @param verifiedAt - Pass when a full per-component verification just ran
|
|
157
|
+
* (PCC-3430), to stamp the index with that confirmation time. Omit to
|
|
158
|
+
* carry an existing value forward unchanged on a fast-path-only run.
|
|
159
|
+
*/
|
|
160
|
+
export declare function buildRegistryIndex(descriptors: ComponentDescriptor[], siteId: string, branchId: string, verifiedAt?: string): RegistryIndex;
|
|
141
161
|
//# sourceMappingURL=componentRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentRegistry.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"componentRegistry.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -224,8 +224,14 @@ export function extractDescriptors(puckConfig, upstreamConfig) {
|
|
|
224
224
|
// =============================================================================
|
|
225
225
|
// Registry index
|
|
226
226
|
// =============================================================================
|
|
227
|
-
/**
|
|
228
|
-
|
|
227
|
+
/**
|
|
228
|
+
* Builds the RegistryIndex from a list of extracted descriptors.
|
|
229
|
+
*
|
|
230
|
+
* @param verifiedAt - Pass when a full per-component verification just ran
|
|
231
|
+
* (PCC-3430), to stamp the index with that confirmation time. Omit to
|
|
232
|
+
* carry an existing value forward unchanged on a fast-path-only run.
|
|
233
|
+
*/
|
|
234
|
+
export function buildRegistryIndex(descriptors, siteId, branchId, verifiedAt) {
|
|
229
235
|
return {
|
|
230
236
|
siteId,
|
|
231
237
|
branchId,
|
|
@@ -233,6 +239,7 @@ export function buildRegistryIndex(descriptors, siteId, branchId) {
|
|
|
233
239
|
componentNames: descriptors.map((d) => d.name),
|
|
234
240
|
provenance: Object.fromEntries(descriptors.map((d) => [d.name, d.provenance])),
|
|
235
241
|
hashes: Object.fromEntries(descriptors.map((d) => [d.name, d.descriptorHash])),
|
|
242
|
+
...(verifiedAt !== undefined && { verifiedAt }),
|
|
236
243
|
};
|
|
237
244
|
}
|
|
238
245
|
//# sourceMappingURL=componentRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"componentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puckYjsBinding.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/puckYjsBinding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;CAC7C;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AA4BD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAwCN;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EACtB,MAAM,EAAE,OAAO,EAAE,GAChB,IAAI,CAgDN;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"puckYjsBinding.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/puckYjsBinding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;CAC7C;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AA4BD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAwCN;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EACtB,MAAM,EAAE,OAAO,EAAE,GAChB,IAAI,CAgDN;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CA4CzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CA0B7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,CAAC,CAAC,GAAG,EACX,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GACvC;IAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAyErE"}
|
|
@@ -113,15 +113,17 @@ export function puckDataToYMap(data, root) {
|
|
|
113
113
|
patchYMap(root, data);
|
|
114
114
|
}
|
|
115
115
|
else {
|
|
116
|
-
// Full creation – first time populating the map
|
|
117
|
-
//
|
|
116
|
+
// Full creation – first time populating the map.
|
|
117
|
+
// Tolerate partial data (missing content/root) the same way
|
|
118
|
+
// yMapToPuckData does on the read path: a document switch can seed a
|
|
119
|
+
// fresh Y.Doc from a page object that has no content array yet.
|
|
118
120
|
const contentArray = new Y.Array();
|
|
119
|
-
for (const item of data.content) {
|
|
121
|
+
for (const item of data.content ?? []) {
|
|
120
122
|
contentArray.push([toYjsValue(item)]);
|
|
121
123
|
}
|
|
122
124
|
root.set('content', contentArray);
|
|
123
125
|
// Convert root data
|
|
124
|
-
root.set('root', toYjsValue(data.root));
|
|
126
|
+
root.set('root', toYjsValue(data.root ?? { props: {} }));
|
|
125
127
|
// Convert zones if present
|
|
126
128
|
if (data.zones) {
|
|
127
129
|
const zonesMap = new Y.Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puckYjsBinding.js","sourceRoot":"","sources":["../../../src/editor/utils/puckYjsBinding.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"puckYjsBinding.js","sourceRoot":"","sources":["../../../src/editor/utils/puckYjsBinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PuckData } from "@pantheon-systems/css-client";
|
|
2
|
+
/**
|
|
3
|
+
* Coerce a stored version snapshot into PuckData. Snapshots are typed as
|
|
4
|
+
* objects, but the backend sometimes returns them as a JSON string; parsing
|
|
5
|
+
* here keeps every downstream consumer (currentData, safeData, the Yjs seed,
|
|
6
|
+
* the document-sync store) working with a real object instead of spreading a
|
|
7
|
+
* string character-by-character. Empty or invalid snapshots — including the
|
|
8
|
+
* blank initial version — collapse to blank Puck data.
|
|
9
|
+
*/
|
|
10
|
+
export declare function snapshotToPuckData(snapshot: unknown): PuckData;
|
|
11
|
+
//# sourceMappingURL=snapshotToPuckData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotToPuckData.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/snapshotToPuckData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAI7D;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAa9D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const EMPTY = { content: [], root: { props: {} } };
|
|
2
|
+
/**
|
|
3
|
+
* Coerce a stored version snapshot into PuckData. Snapshots are typed as
|
|
4
|
+
* objects, but the backend sometimes returns them as a JSON string; parsing
|
|
5
|
+
* here keeps every downstream consumer (currentData, safeData, the Yjs seed,
|
|
6
|
+
* the document-sync store) working with a real object instead of spreading a
|
|
7
|
+
* string character-by-character. Empty or invalid snapshots — including the
|
|
8
|
+
* blank initial version — collapse to blank Puck data.
|
|
9
|
+
*/
|
|
10
|
+
export function snapshotToPuckData(snapshot) {
|
|
11
|
+
let value = snapshot;
|
|
12
|
+
if (typeof value === "string") {
|
|
13
|
+
try {
|
|
14
|
+
value = JSON.parse(value);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return EMPTY;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (!value || typeof value !== "object")
|
|
21
|
+
return EMPTY;
|
|
22
|
+
const data = value;
|
|
23
|
+
if (!data.content && !data.root)
|
|
24
|
+
return EMPTY;
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=snapshotToPuckData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshotToPuckData.js","sourceRoot":"","sources":["../../../src/editor/utils/snapshotToPuckData.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAa,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,IAAI,KAAK,GAAY,QAAQ,CAAC;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,KAA0B,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* syncComponentRegistry
|
|
3
|
+
*
|
|
4
|
+
* Serialises ComponentDescriptor objects to CSS documents under the
|
|
5
|
+
* /_registry/ path prefix, hash-checking to skip unchanged components.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from useComponentRegistry.ts (verbatim, renamed) so it can run
|
|
8
|
+
* outside React — the browser hook and a headless CI sync script both call
|
|
9
|
+
* this same function. No React import here by design.
|
|
10
|
+
*/
|
|
11
|
+
import type { P1Client } from '@pantheon-systems/css-client';
|
|
12
|
+
import { type ComponentDescriptor } from './componentRegistry.js';
|
|
13
|
+
export interface RegistrationResult {
|
|
14
|
+
registered: number;
|
|
15
|
+
skipped: number;
|
|
16
|
+
total: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const COMPONENT_PREFIX = "_registry/components/";
|
|
19
|
+
export declare const INDEX_PATH = "_registry/index";
|
|
20
|
+
/**
|
|
21
|
+
* Maximum age of the registry index's last full per-component verification
|
|
22
|
+
* (PCC-3430) before the fast path is forced to re-verify every component's
|
|
23
|
+
* actual document content instead of trusting the index's hashes map alone.
|
|
24
|
+
* Bounds how long an index/document desync can persist undetected.
|
|
25
|
+
*/
|
|
26
|
+
export declare const REGISTRY_VERIFICATION_INTERVAL_MS: number;
|
|
27
|
+
export declare function componentPath(name: string): string;
|
|
28
|
+
export declare function syncComponentRegistry(client: P1Client, siteId: string, branchId: string, descriptors: ComponentDescriptor[]): Promise<RegistrationResult>;
|
|
29
|
+
//# sourceMappingURL=syncComponentRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncComponentRegistry.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,QAAsB,CAAC;AAErE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AA2BD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,mBAAmB,EAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAyN7B"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* syncComponentRegistry
|
|
3
|
+
*
|
|
4
|
+
* Serialises ComponentDescriptor objects to CSS documents under the
|
|
5
|
+
* /_registry/ path prefix, hash-checking to skip unchanged components.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from useComponentRegistry.ts (verbatim, renamed) so it can run
|
|
8
|
+
* outside React — the browser hook and a headless CI sync script both call
|
|
9
|
+
* this same function. No React import here by design.
|
|
10
|
+
*/
|
|
11
|
+
import { ConflictError } from '@pantheon-systems/css-client';
|
|
12
|
+
import { buildRegistryIndex, } from './componentRegistry.js';
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Registry path helpers
|
|
15
|
+
// =============================================================================
|
|
16
|
+
const REGISTRY_PREFIX = '_registry/';
|
|
17
|
+
export const COMPONENT_PREFIX = '_registry/components/';
|
|
18
|
+
export const INDEX_PATH = '_registry/index';
|
|
19
|
+
/**
|
|
20
|
+
* Maximum age of the registry index's last full per-component verification
|
|
21
|
+
* (PCC-3430) before the fast path is forced to re-verify every component's
|
|
22
|
+
* actual document content instead of trusting the index's hashes map alone.
|
|
23
|
+
* Bounds how long an index/document desync can persist undetected.
|
|
24
|
+
*/
|
|
25
|
+
export const REGISTRY_VERIFICATION_INTERVAL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
26
|
+
export function componentPath(name) {
|
|
27
|
+
return `${COMPONENT_PREFIX}${name}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Comparison key for matching a component name against server state.
|
|
31
|
+
*
|
|
32
|
+
* The server's normalizePath lowercases every document path on write, so a
|
|
33
|
+
* component registered as HeroBlock lists back at _registry/components/heroblock.
|
|
34
|
+
* Every in-memory lookup that matches descriptor names against path-derived
|
|
35
|
+
* names (or index hash keys) must go through this key, or PascalCase components
|
|
36
|
+
* never match their own documents and re-register on every load. Stored
|
|
37
|
+
* formats are unchanged — index hashes stay keyed by original names, and
|
|
38
|
+
* componentPath still sends the original name (the server normalizes it).
|
|
39
|
+
*/
|
|
40
|
+
function registryComponentKey(name) {
|
|
41
|
+
return name.toLowerCase();
|
|
42
|
+
}
|
|
43
|
+
export async function syncComponentRegistry(client, siteId, branchId, descriptors) {
|
|
44
|
+
// Step 1: List all existing registry documents
|
|
45
|
+
const existingDocs = (await client.documents.list(siteId, branchId, {
|
|
46
|
+
pathPrefix: REGISTRY_PREFIX,
|
|
47
|
+
}));
|
|
48
|
+
// Step 2: Build lookup maps for existing component docs
|
|
49
|
+
const docByName = new Map();
|
|
50
|
+
let indexDoc;
|
|
51
|
+
for (const doc of existingDocs) {
|
|
52
|
+
if (doc.path === INDEX_PATH) {
|
|
53
|
+
indexDoc = doc;
|
|
54
|
+
}
|
|
55
|
+
else if (doc.path.startsWith(COMPONENT_PREFIX)) {
|
|
56
|
+
const name = doc.path.slice(COMPONENT_PREFIX.length);
|
|
57
|
+
docByName.set(registryComponentKey(name), doc);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Names that collide case-insensitively share one server document (the
|
|
61
|
+
// server lowercases paths) and will silently overwrite each other.
|
|
62
|
+
const namesByKey = new Map();
|
|
63
|
+
for (const descriptor of descriptors) {
|
|
64
|
+
const key = registryComponentKey(descriptor.name);
|
|
65
|
+
namesByKey.set(key, [...(namesByKey.get(key) ?? []), descriptor.name]);
|
|
66
|
+
}
|
|
67
|
+
for (const names of namesByKey.values()) {
|
|
68
|
+
if (names.length > 1) {
|
|
69
|
+
console.warn('[syncComponentRegistry] Component names collide case-insensitively and will share one registry document (last write wins):', names);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Step 3: Resolve stored hashes — fast path (from index) or legacy (per-component).
|
|
73
|
+
//
|
|
74
|
+
// Fast path: if the index version has a `hashes` map, read all hashes from it
|
|
75
|
+
// in a single request instead of fetching each component version individually.
|
|
76
|
+
// This collapses N simultaneous getLatest calls (one per component) into 1.
|
|
77
|
+
//
|
|
78
|
+
// Legacy fallback: index exists but has no `hashes` field (written by an older
|
|
79
|
+
// version of this hook), or no index exists yet. Falls back to per-component
|
|
80
|
+
// fetches so existing registries continue to work on the first run after deploy.
|
|
81
|
+
const storedHashByName = new Map();
|
|
82
|
+
let gotHashesFromIndex = false;
|
|
83
|
+
let existingVerifiedAt;
|
|
84
|
+
if (indexDoc !== undefined) {
|
|
85
|
+
try {
|
|
86
|
+
const indexVersion = await client.versions.getLatest(siteId, branchId, indexDoc.id);
|
|
87
|
+
const indexSnapshot = indexVersion.snapshot;
|
|
88
|
+
if (typeof indexSnapshot.verifiedAt === 'string') {
|
|
89
|
+
existingVerifiedAt = indexSnapshot.verifiedAt;
|
|
90
|
+
}
|
|
91
|
+
const verifiedAtMs = existingVerifiedAt !== undefined ? Date.parse(existingVerifiedAt) : NaN;
|
|
92
|
+
const verificationIsStale = !Number.isFinite(verifiedAtMs) || Date.now() - verifiedAtMs > REGISTRY_VERIFICATION_INTERVAL_MS;
|
|
93
|
+
if (indexSnapshot.hashes !== undefined && typeof indexSnapshot.hashes === 'object' && !verificationIsStale) {
|
|
94
|
+
for (const [name, hash] of Object.entries(indexSnapshot.hashes)) {
|
|
95
|
+
if (typeof hash === 'string') {
|
|
96
|
+
storedHashByName.set(registryComponentKey(name), hash);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
gotHashesFromIndex = true;
|
|
100
|
+
console.debug('[syncComponentRegistry] Fast path: loaded', storedHashByName.size, 'hashes from index');
|
|
101
|
+
}
|
|
102
|
+
else if (verificationIsStale) {
|
|
103
|
+
// PCC-3430: the fast path trusts `hashes` without ever reading the
|
|
104
|
+
// documents it describes. If an entry ever comes to record a hash
|
|
105
|
+
// that doesn't match its document's real content (e.g. an
|
|
106
|
+
// out-of-band revert the index was never told about), the fast path
|
|
107
|
+
// has no way to detect this on its own and would skip forever.
|
|
108
|
+
// Periodically forcing a real per-component check bounds how long
|
|
109
|
+
// such a desync can persist instead of letting it stick indefinitely.
|
|
110
|
+
console.debug('[syncComponentRegistry] Registry verification is stale — forcing per-component fetch to self-heal any index/document desync');
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.debug('[syncComponentRegistry] Index exists but has no hashes field (legacy format) — falling back to per-component fetch');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
console.debug('[syncComponentRegistry] Index version fetch failed — falling back to per-component fetch:', err);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.debug('[syncComponentRegistry] No index document found — will create one after registration');
|
|
122
|
+
}
|
|
123
|
+
if (!gotHashesFromIndex) {
|
|
124
|
+
// Legacy path: fetch each component version individually to get stored hash.
|
|
125
|
+
console.debug('[syncComponentRegistry] Legacy path: fetching', docByName.size, 'component versions individually');
|
|
126
|
+
await Promise.all(Array.from(docByName.entries()).map(async ([name, doc]) => {
|
|
127
|
+
try {
|
|
128
|
+
const version = await client.versions.getLatest(siteId, branchId, doc.id);
|
|
129
|
+
const snapshot = version.snapshot;
|
|
130
|
+
if (typeof snapshot.descriptorHash === 'string') {
|
|
131
|
+
storedHashByName.set(name, snapshot.descriptorHash);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// Version fetch failure → treat as hash mismatch, will overwrite
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
// Step 4: Write only changed/new descriptors
|
|
140
|
+
let registered = 0;
|
|
141
|
+
let skipped = 0;
|
|
142
|
+
await Promise.all(descriptors.map(async (descriptor) => {
|
|
143
|
+
const storedHash = storedHashByName.get(registryComponentKey(descriptor.name));
|
|
144
|
+
const existingDoc = docByName.get(registryComponentKey(descriptor.name));
|
|
145
|
+
// Skip only when the hash is unchanged AND the component document still
|
|
146
|
+
// exists on this branch. A hash-only check is unsafe: the index can drift
|
|
147
|
+
// out of sync with on-disk component docs (e.g. a partial historical
|
|
148
|
+
// write, an out-of-band deletion, or branch CoW interactions where the
|
|
149
|
+
// index was inherited but its referenced component docs were not). In
|
|
150
|
+
// that case the index reports a matching hash for a name whose document
|
|
151
|
+
// is missing, and the registry stays permanently stuck at fewer
|
|
152
|
+
// components than the running config defines. Requiring `existingDoc`
|
|
153
|
+
// forces the missing component through the create path on the next run,
|
|
154
|
+
// which self-heals the desync and rewrites the index from the full
|
|
155
|
+
// descriptor set.
|
|
156
|
+
if (existingDoc !== undefined && storedHash === descriptor.descriptorHash) {
|
|
157
|
+
skipped++;
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
let docId;
|
|
161
|
+
if (existingDoc === undefined) {
|
|
162
|
+
try {
|
|
163
|
+
const newDoc = await client.documents.create({
|
|
164
|
+
siteId,
|
|
165
|
+
branchId,
|
|
166
|
+
path: componentPath(descriptor.name),
|
|
167
|
+
});
|
|
168
|
+
docId = newDoc.id;
|
|
169
|
+
}
|
|
170
|
+
catch (err) {
|
|
171
|
+
if (err instanceof ConflictError) {
|
|
172
|
+
const existing = await client.documents.getByPath(siteId, componentPath(descriptor.name));
|
|
173
|
+
docId = existing.id;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
throw err;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
docId = existingDoc.id;
|
|
182
|
+
}
|
|
183
|
+
await client.versions.create(siteId, {
|
|
184
|
+
documentId: docId,
|
|
185
|
+
branchId,
|
|
186
|
+
snapshot: descriptor,
|
|
187
|
+
});
|
|
188
|
+
registered++;
|
|
189
|
+
}));
|
|
190
|
+
console.debug('[syncComponentRegistry] Registration complete:', 'registered =', registered, 'skipped =', skipped, 'total =', descriptors.length, '| gotHashesFromIndex =', gotHashesFromIndex);
|
|
191
|
+
// Detect hash instability: if we got hashes from the index but still had to register
|
|
192
|
+
// components, log which components had mismatched hashes.
|
|
193
|
+
if (gotHashesFromIndex && registered > 0) {
|
|
194
|
+
const changed = descriptors.filter(d => storedHashByName.get(registryComponentKey(d.name)) !== d.descriptorHash);
|
|
195
|
+
console.warn('[syncComponentRegistry] Hash mismatch detected for', changed.length, 'component(s) despite index being present.', 'These components will trigger a full re-registration on every load if their hashes are unstable:', changed.map(d => ({ name: d.name, stored: storedHashByName.get(registryComponentKey(d.name)), computed: d.descriptorHash })));
|
|
196
|
+
}
|
|
197
|
+
// Step 5: Write index when something changed, index doesn't exist yet, OR the existing
|
|
198
|
+
// index lacks the `hashes` field (legacy format). The third condition promotes legacy
|
|
199
|
+
// indexes to the fast-path format so that the next startup can skip per-component fetches.
|
|
200
|
+
const indexNeedsWrite = registered > 0 || indexDoc === undefined || !gotHashesFromIndex;
|
|
201
|
+
console.debug('[syncComponentRegistry] indexNeedsWrite =', indexNeedsWrite, '(registered > 0:', registered > 0, ', no indexDoc:', indexDoc === undefined, ', legacy format:', !gotHashesFromIndex, ')');
|
|
202
|
+
if (indexNeedsWrite) {
|
|
203
|
+
// A per-component verification just ran whenever we didn't trust the
|
|
204
|
+
// fast path (missing index, legacy format, or forced by staleness) —
|
|
205
|
+
// stamp verifiedAt as confirmed now. Otherwise carry the existing value
|
|
206
|
+
// forward: a fast-path-only run (skips + a changed component or two)
|
|
207
|
+
// doesn't verify every component's actual content, so it must not reset
|
|
208
|
+
// the clock on the next forced verification.
|
|
209
|
+
const verifiedAt = !gotHashesFromIndex ? new Date().toISOString() : existingVerifiedAt;
|
|
210
|
+
const index = buildRegistryIndex(descriptors, siteId, branchId, verifiedAt);
|
|
211
|
+
let indexDocId;
|
|
212
|
+
if (indexDoc === undefined) {
|
|
213
|
+
try {
|
|
214
|
+
const newIndexDoc = await client.documents.create({ siteId, branchId, path: INDEX_PATH });
|
|
215
|
+
indexDocId = newIndexDoc.id;
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
if (err instanceof ConflictError) {
|
|
219
|
+
const existing = await client.documents.getByPath(siteId, INDEX_PATH);
|
|
220
|
+
indexDocId = existing.id;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
throw err;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
indexDocId = indexDoc.id;
|
|
229
|
+
}
|
|
230
|
+
await client.versions.create(siteId, {
|
|
231
|
+
documentId: indexDocId,
|
|
232
|
+
branchId,
|
|
233
|
+
snapshot: index,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
return { registered, skipped, total: descriptors.length };
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=syncComponentRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncComponentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* syncComponentRegistryWriteOnly
|
|
3
|
+
*
|
|
4
|
+
* A write-only variant of syncComponentRegistry for callers holding a
|
|
5
|
+
* write:registry-scoped token, which has no read access at all by design
|
|
6
|
+
* (see collaborative-state-system's §0 write:registry scope). Skips the
|
|
7
|
+
* existence/hash-check reads entirely and always creates-or-versions every
|
|
8
|
+
* descriptor, relying on the backend's upsert-on-conflict behavior for
|
|
9
|
+
* _registry/* paths (a live conflict on these paths creates a new version
|
|
10
|
+
* instead of erroring). Every run rewrites every component + the index,
|
|
11
|
+
* whether or not anything changed — accepted as a low-volume cost (the CI
|
|
12
|
+
* workflow only triggers on pushes touching component code) in exchange for
|
|
13
|
+
* a token that genuinely cannot read anything.
|
|
14
|
+
*
|
|
15
|
+
* The interactive editor keeps using syncComponentRegistry, unmodified,
|
|
16
|
+
* with its skip-if-unchanged behavior — this variant is CI-only.
|
|
17
|
+
*/
|
|
18
|
+
import type { P1Client } from '@pantheon-systems/css-client';
|
|
19
|
+
import { type ComponentDescriptor } from './componentRegistry.js';
|
|
20
|
+
export interface WriteOnlyRegistrationResult {
|
|
21
|
+
total: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function syncComponentRegistryWriteOnly(client: P1Client, siteId: string, branchId: string, descriptors: ComponentDescriptor[]): Promise<WriteOnlyRegistrationResult>;
|
|
24
|
+
//# sourceMappingURL=syncComponentRegistryWriteOnly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncComponentRegistryWriteOnly.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistryWriteOnly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAsB,KAAK,mBAAmB,EAAsB,MAAM,wBAAwB,CAAC;AAG1G,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,mBAAmB,EAAE,GACjC,OAAO,CAAC,2BAA2B,CAAC,CA0BtC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* syncComponentRegistryWriteOnly
|
|
3
|
+
*
|
|
4
|
+
* A write-only variant of syncComponentRegistry for callers holding a
|
|
5
|
+
* write:registry-scoped token, which has no read access at all by design
|
|
6
|
+
* (see collaborative-state-system's §0 write:registry scope). Skips the
|
|
7
|
+
* existence/hash-check reads entirely and always creates-or-versions every
|
|
8
|
+
* descriptor, relying on the backend's upsert-on-conflict behavior for
|
|
9
|
+
* _registry/* paths (a live conflict on these paths creates a new version
|
|
10
|
+
* instead of erroring). Every run rewrites every component + the index,
|
|
11
|
+
* whether or not anything changed — accepted as a low-volume cost (the CI
|
|
12
|
+
* workflow only triggers on pushes touching component code) in exchange for
|
|
13
|
+
* a token that genuinely cannot read anything.
|
|
14
|
+
*
|
|
15
|
+
* The interactive editor keeps using syncComponentRegistry, unmodified,
|
|
16
|
+
* with its skip-if-unchanged behavior — this variant is CI-only.
|
|
17
|
+
*/
|
|
18
|
+
import { buildRegistryIndex } from './componentRegistry.js';
|
|
19
|
+
import { componentPath, INDEX_PATH } from './syncComponentRegistry.js';
|
|
20
|
+
export async function syncComponentRegistryWriteOnly(client, siteId, branchId, descriptors) {
|
|
21
|
+
await Promise.all(descriptors.map((descriptor) => client.documents.create({
|
|
22
|
+
siteId,
|
|
23
|
+
branchId,
|
|
24
|
+
path: componentPath(descriptor.name),
|
|
25
|
+
snapshot: descriptor,
|
|
26
|
+
})));
|
|
27
|
+
// Every descriptor above was just unconditionally rewritten with its true
|
|
28
|
+
// current content — that IS a full per-component verification, the
|
|
29
|
+
// strongest one possible (PCC-3430). Stamping verifiedAt here means the
|
|
30
|
+
// next editor load can trust the fast path immediately instead of forcing
|
|
31
|
+
// an unnecessary per-component fetch right after this run.
|
|
32
|
+
const index = buildRegistryIndex(descriptors, siteId, branchId, new Date().toISOString());
|
|
33
|
+
await client.documents.create({
|
|
34
|
+
siteId,
|
|
35
|
+
branchId,
|
|
36
|
+
path: INDEX_PATH,
|
|
37
|
+
snapshot: index,
|
|
38
|
+
});
|
|
39
|
+
return { total: descriptors.length };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=syncComponentRegistryWriteOnly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncComponentRegistryWriteOnly.js","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistryWriteOnly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,kBAAkB,EAAgD,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMvE,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,WAAkC;IAElC,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACtB,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;QACpC,QAAQ,EAAE,UAAgD;KAC3D,CAAC,CACH,CACF,CAAC;IAEF,0EAA0E;IAC1E,mEAAmE;IACnE,wEAAwE;IACxE,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,KAAK,GAAkB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAA2C;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TemplateSummary } from '../../features/content-type-templates/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the template being edited from a document path. Templates are stored
|
|
4
|
+
* as documents at `_registry/templates/<name>`; returns the matching template
|
|
5
|
+
* (by name) or null for ordinary pages.
|
|
6
|
+
*/
|
|
7
|
+
export declare function templateFromRegistryPath(path: string | undefined | null, templates: TemplateSummary[] | undefined): TemplateSummary | null;
|
|
8
|
+
//# sourceMappingURL=templatePath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templatePath.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/templatePath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEtF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,SAAS,EAAE,eAAe,EAAE,GAAG,SAAS,GACvC,eAAe,GAAG,IAAI,CAKxB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the template being edited from a document path. Templates are stored
|
|
3
|
+
* as documents at `_registry/templates/<name>`; returns the matching template
|
|
4
|
+
* (by name) or null for ordinary pages.
|
|
5
|
+
*/
|
|
6
|
+
export function templateFromRegistryPath(path, templates) {
|
|
7
|
+
if (!path || !templates)
|
|
8
|
+
return null;
|
|
9
|
+
const match = path.match(/^_registry\/templates\/(.+)$/);
|
|
10
|
+
if (!match)
|
|
11
|
+
return null;
|
|
12
|
+
return templates.find((t) => t.name === match[1]) ?? null;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=templatePath.js.map
|