canopycms 0.0.54 → 0.0.56
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/api/assets.d.ts +14 -2
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +14 -3
- package/dist/api/assets.js.map +1 -1
- package/dist/api/branch-status.d.ts.map +1 -1
- package/dist/api/branch-status.js +8 -2
- package/dist/api/branch-status.js.map +1 -1
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +29 -14
- package/dist/api/client.js.map +1 -1
- package/dist/api/content.d.ts +2 -2
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +160 -26
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +8 -4
- package/dist/api/entries.js.map +1 -1
- package/dist/api/github-sync.d.ts.map +1 -1
- package/dist/api/github-sync.js +45 -7
- package/dist/api/github-sync.js.map +1 -1
- package/dist/api/groups.d.ts.map +1 -1
- package/dist/api/groups.js +15 -5
- package/dist/api/groups.js.map +1 -1
- package/dist/api/permissions.d.ts +6 -6
- package/dist/api/permissions.d.ts.map +1 -1
- package/dist/api/permissions.js +24 -9
- package/dist/api/permissions.js.map +1 -1
- package/dist/api/request-body-hash.d.ts +33 -0
- package/dist/api/request-body-hash.d.ts.map +1 -0
- package/dist/api/request-body-hash.js +43 -0
- package/dist/api/request-body-hash.js.map +1 -0
- package/dist/api/resolve-references.d.ts.map +1 -1
- package/dist/api/resolve-references.js +8 -1
- package/dist/api/resolve-references.js.map +1 -1
- package/dist/api/schema.js +9 -9
- package/dist/api/schema.js.map +1 -1
- package/dist/api/settings-helpers.d.ts +14 -1
- package/dist/api/settings-helpers.d.ts.map +1 -1
- package/dist/api/settings-helpers.js +11 -2
- package/dist/api/settings-helpers.js.map +1 -1
- package/dist/api/types.d.ts +10 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/auth/caching-auth-plugin.d.ts +8 -1
- package/dist/auth/caching-auth-plugin.d.ts.map +1 -1
- package/dist/auth/caching-auth-plugin.js +6 -1
- package/dist/auth/caching-auth-plugin.js.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/plugin.d.ts +35 -0
- package/dist/auth/plugin.d.ts.map +1 -1
- package/dist/auth/plugin.js +27 -1
- package/dist/auth/plugin.js.map +1 -1
- package/dist/authorization/helpers.d.ts +16 -0
- package/dist/authorization/helpers.d.ts.map +1 -1
- package/dist/authorization/helpers.js +18 -0
- package/dist/authorization/helpers.js.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +1 -1
- package/dist/authorization/index.js.map +1 -1
- package/dist/build/generate-ai-content.d.ts.map +1 -1
- package/dist/build/generate-ai-content.js +7 -0
- package/dist/build/generate-ai-content.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +2 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/generate-ai-content.js +1150 -355
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +40 -13
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +88 -60
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/template-files/canopy.ts.template +2 -1
- package/dist/cli/template-files/edit-page.tsx.template +8 -1
- package/dist/cli/template-files/middleware.ts.template +18 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +19 -4
- package/dist/cli/templates.js.map +1 -1
- package/dist/config/helpers.d.ts +9 -1
- package/dist/config/helpers.d.ts.map +1 -1
- package/dist/config/helpers.js +33 -75
- package/dist/config/helpers.js.map +1 -1
- package/dist/config/schemas/config.d.ts +8 -24
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +12 -5
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/schemas/media.d.ts +1 -10
- package/dist/config/schemas/media.d.ts.map +1 -1
- package/dist/config/schemas/media.js +8 -6
- package/dist/config/schemas/media.js.map +1 -1
- package/dist/config/types.d.ts +6 -4
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config-test.d.ts +5 -3
- package/dist/config-test.d.ts.map +1 -1
- package/dist/config-test.js +9 -1
- package/dist/config-test.js.map +1 -1
- package/dist/content-id-index.d.ts +12 -6
- package/dist/content-id-index.d.ts.map +1 -1
- package/dist/content-id-index.js +12 -6
- package/dist/content-id-index.js.map +1 -1
- package/dist/content-index-generation.d.ts +30 -0
- package/dist/content-index-generation.d.ts.map +1 -0
- package/dist/content-index-generation.js +131 -0
- package/dist/content-index-generation.js.map +1 -0
- package/dist/content-index-registry.d.ts +38 -0
- package/dist/content-index-registry.d.ts.map +1 -0
- package/dist/content-index-registry.js +53 -0
- package/dist/content-index-registry.js.map +1 -0
- package/dist/content-listing.d.ts +3 -1
- package/dist/content-listing.d.ts.map +1 -1
- package/dist/content-listing.js +1 -0
- package/dist/content-listing.js.map +1 -1
- package/dist/content-store.d.ts +130 -6
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +343 -31
- package/dist/content-store.js.map +1 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +27 -19
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/FormRenderer.d.ts +7 -0
- package/dist/editor/FormRenderer.d.ts.map +1 -1
- package/dist/editor/FormRenderer.js +12 -3
- package/dist/editor/FormRenderer.js.map +1 -1
- package/dist/editor/components/EditorHeader.d.ts.map +1 -1
- package/dist/editor/components/EditorHeader.js +3 -4
- package/dist/editor/components/EditorHeader.js.map +1 -1
- package/dist/editor/components/EditorSidebar.d.ts.map +1 -1
- package/dist/editor/components/EditorSidebar.js +2 -4
- package/dist/editor/components/EditorSidebar.js.map +1 -1
- package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
- package/dist/editor/fields/ReferenceField.js +19 -2
- package/dist/editor/fields/ReferenceField.js.map +1 -1
- package/dist/editor/group-manager/hooks/useGroupState.d.ts.map +1 -1
- package/dist/editor/group-manager/hooks/useGroupState.js +5 -2
- package/dist/editor/group-manager/hooks/useGroupState.js.map +1 -1
- package/dist/editor/hooks/useDraftManager.d.ts +15 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +140 -1
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntryManager.d.ts +9 -2
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +9 -3
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/hooks/useSchemaManager.d.ts +34 -10
- package/dist/editor/hooks/useSchemaManager.d.ts.map +1 -1
- package/dist/editor/hooks/useSchemaManager.js +22 -25
- package/dist/editor/hooks/useSchemaManager.js.map +1 -1
- package/dist/editor/schema-editor/CollectionEditor.d.ts +6 -5
- package/dist/editor/schema-editor/CollectionEditor.d.ts.map +1 -1
- package/dist/editor/schema-editor/CollectionEditor.js +37 -12
- package/dist/editor/schema-editor/CollectionEditor.js.map +1 -1
- package/dist/entry-link-resolver.d.ts.map +1 -1
- package/dist/entry-link-resolver.js +5 -0
- package/dist/entry-link-resolver.js.map +1 -1
- package/dist/git-manager.d.ts +38 -3
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +141 -33
- package/dist/git-manager.js.map +1 -1
- package/dist/github-service.d.ts +69 -3
- package/dist/github-service.d.ts.map +1 -1
- package/dist/github-service.js +149 -25
- package/dist/github-service.js.map +1 -1
- package/dist/http/handler.d.ts +1 -1
- package/dist/http/handler.d.ts.map +1 -1
- package/dist/http/handler.js +36 -7
- package/dist/http/handler.js.map +1 -1
- package/dist/http/router.d.ts +11 -0
- package/dist/http/router.d.ts.map +1 -1
- package/dist/http/router.js +80 -16
- package/dist/http/router.js.map +1 -1
- package/dist/paths/validation.d.ts.map +1 -1
- package/dist/paths/validation.js +12 -0
- package/dist/paths/validation.js.map +1 -1
- package/dist/schema/schema-store.d.ts +9 -0
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +57 -8
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/services.d.ts +1 -0
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +9 -2
- package/dist/services.js.map +1 -1
- package/dist/static/index.d.ts +32 -0
- package/dist/static/index.d.ts.map +1 -1
- package/dist/static/index.js +90 -0
- package/dist/static/index.js.map +1 -1
- package/dist/sync-core.d.ts.map +1 -1
- package/dist/sync-core.js +22 -9
- package/dist/sync-core.js.map +1 -1
- package/dist/user.d.ts +0 -18
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +7 -22
- package/dist/user.js.map +1 -1
- package/dist/utils/error.d.ts +8 -0
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +35 -7
- package/dist/utils/error.js.map +1 -1
- package/dist/validation/deletion-checker.d.ts.map +1 -1
- package/dist/validation/deletion-checker.js +6 -5
- package/dist/validation/deletion-checker.js.map +1 -1
- package/dist/validation/entry-validator.d.ts +67 -0
- package/dist/validation/entry-validator.d.ts.map +1 -0
- package/dist/validation/entry-validator.js +277 -0
- package/dist/validation/entry-validator.js.map +1 -0
- package/dist/validation/field-traversal.d.ts +23 -1
- package/dist/validation/field-traversal.d.ts.map +1 -1
- package/dist/validation/field-traversal.js +29 -9
- package/dist/validation/field-traversal.js.map +1 -1
- package/dist/worker/cms-worker.d.ts +70 -6
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +199 -93
- package/dist/worker/cms-worker.js.map +1 -1
- package/package.json +2 -2
- package/dist/editor/components/EditorContext.d.ts +0 -35
- package/dist/editor/components/EditorContext.d.ts.map +0 -1
- package/dist/editor/components/EditorContext.js +0 -19
- package/dist/editor/components/EditorContext.js.map +0 -1
- package/dist/editor/env.d.ts +0 -5
- package/dist/editor/env.d.ts.map +0 -1
- package/dist/editor/env.js +0 -5
- package/dist/editor/env.js.map +0 -1
package/dist/content-store.js
CHANGED
|
@@ -6,8 +6,11 @@ import { atomicWriteFile } from './utils/atomic-write.js';
|
|
|
6
6
|
import { withLock } from './utils/async-mutex.js';
|
|
7
7
|
import { findBodyFieldName } from './utils/body-field.js';
|
|
8
8
|
import { ContentIdIndex, extractIdFromFilename, extractSlugFromFilename, extractEntryTypeFromFilename, resolveCollectionPath, } from './content-id-index.js';
|
|
9
|
+
import { registerContentIndexForInvalidation } from './content-index-registry.js';
|
|
10
|
+
import { bumpContentIndexGeneration, readContentIndexGeneration } from './content-index-generation.js';
|
|
9
11
|
import { generateId } from './id.js';
|
|
10
12
|
import { isNodeError } from './utils/error.js';
|
|
13
|
+
import { filePathExists } from './utils/fs.js';
|
|
11
14
|
import { asRecord, getFormatExtension } from './utils/format.js';
|
|
12
15
|
import { normalizeFilesystemPath, } from './paths/index.js';
|
|
13
16
|
export class ContentStoreError extends Error {
|
|
@@ -30,7 +33,7 @@ export class ContentConflictError extends Error {
|
|
|
30
33
|
* Get the default entry type from a collection's entries array.
|
|
31
34
|
* Returns the entry marked as default, or the first one, or undefined if no entries.
|
|
32
35
|
*/
|
|
33
|
-
function getDefaultEntryType(entries) {
|
|
36
|
+
export function getDefaultEntryType(entries) {
|
|
34
37
|
if (!entries || entries.length === 0)
|
|
35
38
|
return undefined;
|
|
36
39
|
return entries.find((e) => e.default) || entries[0];
|
|
@@ -47,24 +50,182 @@ function validateSlug(slug) {
|
|
|
47
50
|
throw new ContentStoreError('Slugs cannot contain backslashes. Use nested collections instead.', 'VALIDATION');
|
|
48
51
|
}
|
|
49
52
|
}
|
|
53
|
+
const DEFAULT_INDEX_FRESHNESS_INTERVAL_MS = 1000;
|
|
54
|
+
/**
|
|
55
|
+
* At most one suspicious-lookup forced rescan per store per this window, so
|
|
56
|
+
* genuinely dangling IDs cannot trigger a full tree scan on every lookup.
|
|
57
|
+
*/
|
|
58
|
+
const FORCED_REFRESH_MIN_INTERVAL_MS = 5000;
|
|
59
|
+
/** Internal sentinel: a lookup result that suggests this store's index is stale. */
|
|
60
|
+
const STALE_LOOKUP = Symbol('stale-index-lookup');
|
|
50
61
|
export class ContentStore {
|
|
51
|
-
constructor(root, flatSchema) {
|
|
52
|
-
|
|
62
|
+
constructor(root, flatSchema, options = {}) {
|
|
63
|
+
/** Bumped by invalidateIndex(); when it differs from loadedIndexGeneration the index is stale. */
|
|
64
|
+
this.indexGeneration = 0;
|
|
65
|
+
this.loadedIndexGeneration = -1;
|
|
66
|
+
/**
|
|
67
|
+
* On-disk generation token (content-index-generation.ts) the current index
|
|
68
|
+
* was built against. undefined = never captured; null = marker absent at
|
|
69
|
+
* build time. Assigned only by the rebuild path and by guarded self-adoption
|
|
70
|
+
* after this store's own mutations.
|
|
71
|
+
*/
|
|
72
|
+
this.loadedDiskGeneration = undefined;
|
|
73
|
+
this.lastDiskProbeMs = 0;
|
|
74
|
+
this.lastForcedRefreshMs = 0;
|
|
75
|
+
/** In-flight index build, shared by concurrent idIndex() callers so scans never interleave. */
|
|
76
|
+
this.indexBuild = null;
|
|
53
77
|
this.root = path.resolve(root);
|
|
78
|
+
this.indexFreshnessIntervalMs =
|
|
79
|
+
options.indexFreshnessIntervalMs ?? DEFAULT_INDEX_FRESHNESS_INTERVAL_MS;
|
|
54
80
|
this.schemaIndex = new Map(flatSchema.map((item) => [item.logicalPath, item]));
|
|
55
81
|
this._idIndex = new ContentIdIndex(this.root);
|
|
82
|
+
registerContentIndexForInvalidation(this.root, this);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Mark the ID index stale so the next idIndex() access rebuilds it from disk.
|
|
86
|
+
*
|
|
87
|
+
* Called (via content-index-registry) after in-process operations that change the
|
|
88
|
+
* working tree underneath this store — git checkout/merge/rebase, the worker's
|
|
89
|
+
* rebase loop, and sync-core's content replacement. Without this, ID→path lookups
|
|
90
|
+
* keep resolving to pre-mutation paths and saves can target moved/deleted files.
|
|
91
|
+
*
|
|
92
|
+
* Cheap: only bumps a generation counter; the rebuild happens lazily.
|
|
93
|
+
*/
|
|
94
|
+
invalidateIndex() {
|
|
95
|
+
this.indexGeneration++;
|
|
56
96
|
}
|
|
57
97
|
/**
|
|
58
|
-
* Get the ID index, ensuring it's loaded first.
|
|
59
|
-
*
|
|
98
|
+
* Get the ID index, ensuring it's loaded and current first.
|
|
99
|
+
* Loads lazily on first access and rebuilds after invalidateIndex(); repeated
|
|
100
|
+
* accesses with no intervening invalidation reuse the already-built index,
|
|
101
|
+
* except for a throttled probe of the on-disk generation marker that detects
|
|
102
|
+
* mutations made by OTHER processes sharing this root (e.g. on EFS).
|
|
60
103
|
*/
|
|
61
104
|
async idIndex() {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
105
|
+
// Cross-process freshness probe: when the in-memory generations already
|
|
106
|
+
// match, cheaply check whether another process bumped the on-disk marker
|
|
107
|
+
// since this index was built. Skipped while a rebuild is due anyway — the
|
|
108
|
+
// rebuild below captures the marker itself.
|
|
109
|
+
if (this.loadedIndexGeneration === this.indexGeneration && this.shouldProbeDiskGeneration()) {
|
|
110
|
+
const diskToken = await readContentIndexGeneration(this.root);
|
|
111
|
+
if (diskToken !== this.loadedDiskGeneration) {
|
|
112
|
+
this.indexGeneration++;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
while (this.loadedIndexGeneration !== this.indexGeneration) {
|
|
116
|
+
if (this.indexBuild) {
|
|
117
|
+
// Another caller is already rebuilding — wait, then re-check freshness.
|
|
118
|
+
await this.indexBuild;
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const generation = this.indexGeneration;
|
|
122
|
+
const build = (async () => {
|
|
123
|
+
// Capture the marker BEFORE scanning: a bump landing mid-scan then
|
|
124
|
+
// differs from the token recorded below, forcing a rebuild on the
|
|
125
|
+
// next probe instead of being silently missed.
|
|
126
|
+
const diskToken = await readContentIndexGeneration(this.root);
|
|
127
|
+
// Build into a fresh instance and swap, instead of clearing in place:
|
|
128
|
+
// in-flight callers hold the previous reference across awaits and must
|
|
129
|
+
// keep seeing a consistent (if outdated) snapshot, never a half-built one.
|
|
130
|
+
const fresh = new ContentIdIndex(this.root);
|
|
131
|
+
await fresh.buildFromFilenames('content');
|
|
132
|
+
return { diskToken, fresh };
|
|
133
|
+
})();
|
|
134
|
+
this.indexBuild = build;
|
|
135
|
+
let result;
|
|
136
|
+
try {
|
|
137
|
+
result = await build;
|
|
138
|
+
}
|
|
139
|
+
finally {
|
|
140
|
+
this.indexBuild = null;
|
|
141
|
+
}
|
|
142
|
+
// Swap and record in one synchronous continuation (only the rebuild path
|
|
143
|
+
// assigns these; waiters above never do), so callers resuming after us
|
|
144
|
+
// observe a consistent index/generation/token triple. If invalidateIndex()
|
|
145
|
+
// ran mid-build the generations won't match and we rebuild.
|
|
146
|
+
this._idIndex = result.fresh;
|
|
147
|
+
this.loadedIndexGeneration = generation;
|
|
148
|
+
this.loadedDiskGeneration = result.diskToken;
|
|
149
|
+
// The build just captured a fresh token — it counts as a probe.
|
|
150
|
+
this.lastDiskProbeMs = Date.now();
|
|
65
151
|
}
|
|
66
152
|
return this._idIndex;
|
|
67
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Throttle for the on-disk marker probe. Stamps the clock synchronously
|
|
156
|
+
* before the caller's readFile so concurrent idIndex() callers don't
|
|
157
|
+
* double-probe (and double-rebuild) on the same token change.
|
|
158
|
+
*/
|
|
159
|
+
shouldProbeDiskGeneration() {
|
|
160
|
+
const now = Date.now();
|
|
161
|
+
if (now - this.lastDiskProbeMs < this.indexFreshnessIntervalMs)
|
|
162
|
+
return false;
|
|
163
|
+
this.lastDiskProbeMs = now;
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* After one of this store's own successful mutations: publish the change to
|
|
168
|
+
* other processes (bump the on-disk marker) and adopt the written token,
|
|
169
|
+
* since the in-memory index was already updated incrementally — avoiding a
|
|
170
|
+
* pointless self-rescan on the next probe. Adoption is skipped unless the
|
|
171
|
+
* index is quiescent and `updatedIndex` is still the live instance: if a
|
|
172
|
+
* rebuild raced with the mutation, its scan may predate our file change, so
|
|
173
|
+
* we leave the recorded token older and let the next probe observe our bump
|
|
174
|
+
* and trigger the healing rebuild.
|
|
175
|
+
*/
|
|
176
|
+
async recordOwnMutation(updatedIndex) {
|
|
177
|
+
const token = await bumpContentIndexGeneration(this.root);
|
|
178
|
+
if (token !== null &&
|
|
179
|
+
this.indexBuild === null &&
|
|
180
|
+
this.loadedIndexGeneration === this.indexGeneration &&
|
|
181
|
+
this._idIndex === updatedIndex) {
|
|
182
|
+
this.loadedDiskGeneration = token;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Backstop for the residual staleness windows of the cross-process marker
|
|
187
|
+
* (NFS attribute caching, probe throttle, self-adoption — see
|
|
188
|
+
* content-index-generation.ts): force one rebuild in response to a
|
|
189
|
+
* suspicious lookup (an ID miss, or an index hit whose file is gone), but
|
|
190
|
+
* throttle how often a caller can force one. Time-boxed so genuinely
|
|
191
|
+
* dangling IDs cost at most one rescan per window. Returns true if a
|
|
192
|
+
* refresh was performed by THIS call; callers that lose the throttle race
|
|
193
|
+
* still benefit — idIndex() dedupes concurrent builds, so a caller that won
|
|
194
|
+
* the race rebuilds the index for everyone, and callers should still retry
|
|
195
|
+
* their lookup against the live index regardless of this return value.
|
|
196
|
+
*/
|
|
197
|
+
async refreshIndexForSuspiciousLookup() {
|
|
198
|
+
const now = Date.now();
|
|
199
|
+
if (now - this.lastForcedRefreshMs < FORCED_REFRESH_MIN_INTERVAL_MS)
|
|
200
|
+
return false;
|
|
201
|
+
this.lastForcedRefreshMs = now;
|
|
202
|
+
this.invalidateIndex();
|
|
203
|
+
await this.idIndex();
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Find the file in `dir` whose filename embeds `id`.
|
|
208
|
+
* Returns its root-relative path, or null if no such file (or no such dir).
|
|
209
|
+
*/
|
|
210
|
+
async findEntryPathById(dir, id) {
|
|
211
|
+
let entries;
|
|
212
|
+
try {
|
|
213
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
214
|
+
}
|
|
215
|
+
catch (err) {
|
|
216
|
+
if (isNodeError(err) && err.code === 'ENOENT')
|
|
217
|
+
return null;
|
|
218
|
+
throw err;
|
|
219
|
+
}
|
|
220
|
+
for (const entry of entries) {
|
|
221
|
+
if (entry.isDirectory())
|
|
222
|
+
continue;
|
|
223
|
+
if (extractIdFromFilename(entry.name) === id) {
|
|
224
|
+
return path.relative(this.root, path.join(dir, entry.name));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
68
229
|
/**
|
|
69
230
|
* Get all schema items for iteration.
|
|
70
231
|
* Used internally by ReferenceResolver for path matching.
|
|
@@ -316,7 +477,8 @@ export class ContentStore {
|
|
|
316
477
|
return doc;
|
|
317
478
|
}
|
|
318
479
|
async write(collectionPath, slug = '', input, entryTypeName, existingId) {
|
|
319
|
-
|
|
480
|
+
// Warm the index outside the lock (a full scan must not hold the entry lock)
|
|
481
|
+
await this.idIndex();
|
|
320
482
|
const schemaItem = this.assertSchemaItem(collectionPath);
|
|
321
483
|
// Determine expected format and fields (validation — outside lock so errors are immediate)
|
|
322
484
|
let expectedFormat;
|
|
@@ -369,6 +531,34 @@ export class ContentStore {
|
|
|
369
531
|
}
|
|
370
532
|
}
|
|
371
533
|
}
|
|
534
|
+
// Existence guard (cross-process): the caller asserts this entry already
|
|
535
|
+
// exists (existingId), so if no file is at the path we are about to
|
|
536
|
+
// write, this store's index may be stale — another process may have
|
|
537
|
+
// renamed the entry. Recreating a renamed entry's old path would leave
|
|
538
|
+
// two files with the same embedded ID and poison every subsequent index
|
|
539
|
+
// rebuild (ID collision). The directory listing is authoritative on this
|
|
540
|
+
// host: if the ID's actual on-disk location differs from what our index
|
|
541
|
+
// believes, fail with a conflict so the caller reloads fresh state.
|
|
542
|
+
// (An intentional slug-change save passes: the index and the directory
|
|
543
|
+
// agree on the entry's current — old-slug — path. External deletes also
|
|
544
|
+
// pass: the ID is nowhere on disk, so recreating is last-writer-wins.)
|
|
545
|
+
//
|
|
546
|
+
// indexedRelPath reads the LIVE index synchronously — NOT idIndex() —
|
|
547
|
+
// because idIndex() would run a full rescan while holding the entry
|
|
548
|
+
// lock if invalidateIndex() fired between the pre-lock warm-up above
|
|
549
|
+
// and here. The live index may then be stale, but staleness only errs
|
|
550
|
+
// toward throwing ContentConflictError: actualRelPath comes from the
|
|
551
|
+
// fresh in-lock directory scan just below (ground truth), so a stale
|
|
552
|
+
// indexedRelPath can only turn agree->disagree (spurious conflict,
|
|
553
|
+
// which the caller already handles by reloading), never
|
|
554
|
+
// disagree->agree. Fail-closed, never fail-open.
|
|
555
|
+
if (existingId && !(await filePathExists(absolutePath))) {
|
|
556
|
+
const actualRelPath = await this.findEntryPathById(path.dirname(absolutePath), existingId);
|
|
557
|
+
const indexedRelPath = this._idIndex.findById(existingId)?.relativePath ?? null;
|
|
558
|
+
if (actualRelPath !== null && actualRelPath !== indexedRelPath) {
|
|
559
|
+
throw new ContentConflictError();
|
|
560
|
+
}
|
|
561
|
+
}
|
|
372
562
|
// Serialize content string
|
|
373
563
|
let content;
|
|
374
564
|
if (input.format === 'json') {
|
|
@@ -381,22 +571,23 @@ export class ContentStore {
|
|
|
381
571
|
content = matter.stringify(input.body, input.data ?? {});
|
|
382
572
|
}
|
|
383
573
|
await atomicWriteFile(absolutePath, content);
|
|
384
|
-
// Update the ID index after a successful write
|
|
574
|
+
// Update the ID index after a successful write. Look up and mutate the
|
|
575
|
+
// LIVE index in one synchronous window (no awaits in between): a
|
|
576
|
+
// concurrent rebuild may have swapped in a fresh instance since the
|
|
577
|
+
// pre-write snapshot, and updates must land where future lookups go.
|
|
578
|
+
const liveIndex = this._idIndex;
|
|
579
|
+
let staleOldAbsPath = null;
|
|
385
580
|
if (id) {
|
|
386
|
-
const existing =
|
|
581
|
+
const existing = liveIndex.findById(id);
|
|
387
582
|
if (existing) {
|
|
388
583
|
if (existing.relativePath !== relativePath) {
|
|
389
|
-
// Slug changed —
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
if (!isNodeError(err) || err.code !== 'ENOENT')
|
|
393
|
-
throw err;
|
|
394
|
-
});
|
|
395
|
-
idIndex.updatePath(existing.id, relativePath);
|
|
584
|
+
// Slug changed — remember the orphaned old path to delete below
|
|
585
|
+
staleOldAbsPath = path.join(this.root, existing.relativePath);
|
|
586
|
+
liveIndex.updatePath(existing.id, relativePath);
|
|
396
587
|
}
|
|
397
588
|
}
|
|
398
589
|
else {
|
|
399
|
-
|
|
590
|
+
liveIndex.add({
|
|
400
591
|
type: 'entry',
|
|
401
592
|
relativePath,
|
|
402
593
|
collection: collectionPath,
|
|
@@ -404,6 +595,13 @@ export class ContentStore {
|
|
|
404
595
|
});
|
|
405
596
|
}
|
|
406
597
|
}
|
|
598
|
+
if (staleOldAbsPath) {
|
|
599
|
+
await fs.unlink(staleOldAbsPath).catch((err) => {
|
|
600
|
+
if (!isNodeError(err) || err.code !== 'ENOENT')
|
|
601
|
+
throw err;
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
await this.recordOwnMutation(liveIndex);
|
|
407
605
|
const afterStat = await fs.stat(absolutePath);
|
|
408
606
|
const base = {
|
|
409
607
|
collection: schemaItem.logicalPath,
|
|
@@ -430,13 +628,37 @@ export class ContentStore {
|
|
|
430
628
|
/**
|
|
431
629
|
* Read an entry by its ID (UUID).
|
|
432
630
|
* Returns null if the ID doesn't exist or points to a collection.
|
|
631
|
+
*
|
|
632
|
+
* Suspicious results (ID missing from the index, or an index hit whose file
|
|
633
|
+
* is gone) trigger one forced index refresh and a retry — self-healing for
|
|
634
|
+
* mutations by other processes inside the marker's residual windows.
|
|
433
635
|
*/
|
|
434
636
|
async readById(id) {
|
|
637
|
+
const first = await this.readByIdOnce(id);
|
|
638
|
+
if (first !== STALE_LOOKUP)
|
|
639
|
+
return first;
|
|
640
|
+
if (!(await this.refreshIndexForSuspiciousLookup()))
|
|
641
|
+
return null;
|
|
642
|
+
const second = await this.readByIdOnce(id);
|
|
643
|
+
return second === STALE_LOOKUP ? null : second;
|
|
644
|
+
}
|
|
645
|
+
async readByIdOnce(id) {
|
|
435
646
|
const idIndex = await this.idIndex();
|
|
436
647
|
const location = idIndex.findById(id);
|
|
437
|
-
if (!location
|
|
648
|
+
if (!location)
|
|
649
|
+
return STALE_LOOKUP;
|
|
650
|
+
if (location.type !== 'entry')
|
|
438
651
|
return null;
|
|
439
|
-
|
|
652
|
+
try {
|
|
653
|
+
return await this.read(location.collection, location.slug);
|
|
654
|
+
}
|
|
655
|
+
catch (err) {
|
|
656
|
+
// Index hit but the file is gone — the typical symptom of an external
|
|
657
|
+
// rename/delete this store hasn't observed yet.
|
|
658
|
+
if (isNodeError(err) && err.code === 'ENOENT')
|
|
659
|
+
return STALE_LOOKUP;
|
|
660
|
+
throw err;
|
|
661
|
+
}
|
|
440
662
|
}
|
|
441
663
|
/**
|
|
442
664
|
* Get the ID for an entry given its collection and slug.
|
|
@@ -447,22 +669,79 @@ export class ContentStore {
|
|
|
447
669
|
const { relativePath } = await this.buildPaths(this.assertCollection(collectionPath), slug);
|
|
448
670
|
return idIndex.findByPath(relativePath);
|
|
449
671
|
}
|
|
672
|
+
/**
|
|
673
|
+
* Check whether a document already exists on disk for this collection+slug.
|
|
674
|
+
* Used by the write boundary to distinguish creates from edits (create
|
|
675
|
+
* scaffolds and maxItems enforcement).
|
|
676
|
+
*/
|
|
677
|
+
async documentExists(collectionPath, slug = '') {
|
|
678
|
+
const schemaItem = this.assertSchemaItem(collectionPath);
|
|
679
|
+
const { absolutePath } = await this.buildPaths(schemaItem, slug);
|
|
680
|
+
try {
|
|
681
|
+
await fs.access(absolutePath);
|
|
682
|
+
return true;
|
|
683
|
+
}
|
|
684
|
+
catch (err) {
|
|
685
|
+
if (isNodeError(err) && err.code === 'ENOENT')
|
|
686
|
+
return false;
|
|
687
|
+
throw err;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Resolve the actual on-disk entry type of an existing collection entry, by
|
|
692
|
+
* inspecting its filename directly. Entry filenames embed their type
|
|
693
|
+
* (`{type}.{slug}.{id}.{ext}`) and it is immutable after creation — see the
|
|
694
|
+
* existing-file lookup in buildPaths(), which this mirrors. Returns
|
|
695
|
+
* undefined if no entry exists yet at this slug.
|
|
696
|
+
*
|
|
697
|
+
* Used at the API write boundary (api/content.ts) to validate an existing
|
|
698
|
+
* entry's payload against ITS real schema rather than a caller-supplied (or
|
|
699
|
+
* omitted/spoofed) `entryType` param — ContentStore.write() preserves the
|
|
700
|
+
* on-disk type regardless of what's requested, so validation must agree
|
|
701
|
+
* with what will actually be written (post-review M2).
|
|
702
|
+
*
|
|
703
|
+
* Cheap: one buildPaths() resolution plus a stat, no file content is read —
|
|
704
|
+
* same cost class as documentExists().
|
|
705
|
+
*/
|
|
706
|
+
async getExistingEntryType(collectionPath, slug = '') {
|
|
707
|
+
const schemaItem = this.assertCollection(collectionPath);
|
|
708
|
+
const { absolutePath, entryTypeName } = await this.buildPaths(schemaItem, slug);
|
|
709
|
+
return (await filePathExists(absolutePath)) ? entryTypeName : undefined;
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Count existing entries of a given entry type in a collection, by filename
|
|
713
|
+
* (entry filenames embed their type: `{type}.{slug}.{id}.{ext}`). Used to
|
|
714
|
+
* enforce `EntryTypeConfig.maxItems` server-side at the create boundary.
|
|
715
|
+
*/
|
|
716
|
+
async countEntriesOfType(collectionPath, entryTypeName) {
|
|
717
|
+
this.assertCollection(collectionPath);
|
|
718
|
+
const collectionRoot = await resolveCollectionPath(this.root, collectionPath);
|
|
719
|
+
if (!collectionRoot)
|
|
720
|
+
return 0;
|
|
721
|
+
const entries = await fs
|
|
722
|
+
.readdir(collectionRoot, { withFileTypes: true })
|
|
723
|
+
.catch(() => []);
|
|
724
|
+
return entries.filter((entry) => !entry.isDirectory() && extractEntryTypeFromFilename(entry.name) === entryTypeName).length;
|
|
725
|
+
}
|
|
450
726
|
/**
|
|
451
727
|
* Delete an entry and remove it from the index.
|
|
452
728
|
*/
|
|
453
729
|
async delete(collectionPath, slug) {
|
|
454
|
-
|
|
730
|
+
// Warm the index outside the lock (a full scan must not hold the entry lock)
|
|
731
|
+
await this.idIndex();
|
|
455
732
|
const collection = this.assertCollection(collectionPath);
|
|
456
733
|
const { absolutePath, relativePath } = await this.buildPaths(collection, slug);
|
|
457
734
|
return withLock(absolutePath, async () => {
|
|
458
|
-
// Get ID before deleting
|
|
459
|
-
const id = idIndex.findByPath(relativePath);
|
|
460
735
|
// Delete file
|
|
461
736
|
await fs.unlink(absolutePath);
|
|
462
|
-
// Remove from index
|
|
737
|
+
// Remove from the LIVE index — lookup and mutation in one synchronous
|
|
738
|
+
// window, since a concurrent rebuild may swap instances across awaits.
|
|
739
|
+
const liveIndex = this._idIndex;
|
|
740
|
+
const id = liveIndex.findByPath(relativePath);
|
|
463
741
|
if (id) {
|
|
464
|
-
|
|
742
|
+
liveIndex.remove(id);
|
|
465
743
|
}
|
|
744
|
+
await this.recordOwnMutation(liveIndex);
|
|
466
745
|
});
|
|
467
746
|
}
|
|
468
747
|
/**
|
|
@@ -476,7 +755,8 @@ export class ContentStore {
|
|
|
476
755
|
* @throws ContentStoreError if entry doesn't exist, new slug conflicts, or validation fails
|
|
477
756
|
*/
|
|
478
757
|
async renameEntry(collectionPath, currentSlug, newSlug) {
|
|
479
|
-
|
|
758
|
+
// Warm the index outside the lock (a full scan must not hold the entry lock)
|
|
759
|
+
await this.idIndex();
|
|
480
760
|
const collection = this.assertCollection(collectionPath);
|
|
481
761
|
// Validate new slug format (Slug branded type guarantees lowercase alphanumeric+hyphens via parseSlug)
|
|
482
762
|
validateSlug(newSlug);
|
|
@@ -552,12 +832,15 @@ export class ContentStore {
|
|
|
552
832
|
throw err;
|
|
553
833
|
}
|
|
554
834
|
await fs.unlink(currentPath);
|
|
555
|
-
// Update the
|
|
835
|
+
// Update the LIVE index — lookup and mutation in one synchronous window,
|
|
836
|
+
// since a concurrent rebuild may swap instances across awaits.
|
|
556
837
|
const newRelativePath = path.relative(this.root, newPath);
|
|
557
|
-
const
|
|
838
|
+
const liveIndex = this._idIndex;
|
|
839
|
+
const entryId = liveIndex.findByPath(currentRelPath);
|
|
558
840
|
if (entryId) {
|
|
559
|
-
|
|
841
|
+
liveIndex.updatePath(entryId, newRelativePath);
|
|
560
842
|
}
|
|
843
|
+
await this.recordOwnMutation(liveIndex);
|
|
561
844
|
// Return new logical path
|
|
562
845
|
return { newPath: `${collectionPath}/${safeNewSlug}` };
|
|
563
846
|
});
|
|
@@ -671,11 +954,36 @@ export class ContentStore {
|
|
|
671
954
|
* Resolve a single reference ID to full entry data.
|
|
672
955
|
* Returns null if the reference is invalid or missing.
|
|
673
956
|
* Includes id, slug, and collection fields for debugging.
|
|
957
|
+
*
|
|
958
|
+
* Suspicious results (ID missing from the index, or an index hit whose file
|
|
959
|
+
* is gone) trigger one forced index refresh and a retry — self-healing for
|
|
960
|
+
* mutations by other processes inside the marker's residual windows. The
|
|
961
|
+
* forced refresh itself is throttled (see refreshIndexForSuspiciousLookup),
|
|
962
|
+
* but the retry against the live index always runs regardless of whether
|
|
963
|
+
* this call won the throttle race: when a `list: true` reference array is
|
|
964
|
+
* resolved via Promise.all, every miss shares the same stale snapshot, and
|
|
965
|
+
* idIndex() dedupes concurrent builds — so a sibling call that wins the
|
|
966
|
+
* throttle and rebuilds heals every other miss in the same batch, not just
|
|
967
|
+
* the first.
|
|
674
968
|
*/
|
|
675
969
|
async resolveSingleReference(id, idIndex) {
|
|
970
|
+
const first = await this.resolveSingleReferenceOnce(id, idIndex);
|
|
971
|
+
if (first !== STALE_LOOKUP)
|
|
972
|
+
return first;
|
|
973
|
+
// Force a rebuild (throttled). Even when this caller loses the throttle,
|
|
974
|
+
// retry against the live index: a sibling lookup in the same batch may have
|
|
975
|
+
// won it and invalidated/rebuilt (idIndex() dedupes in-flight builds), so
|
|
976
|
+
// every miss in a Promise.all batch heals, not just the first.
|
|
977
|
+
await this.refreshIndexForSuspiciousLookup();
|
|
978
|
+
const second = await this.resolveSingleReferenceOnce(id, await this.idIndex());
|
|
979
|
+
return second === STALE_LOOKUP ? null : second;
|
|
980
|
+
}
|
|
981
|
+
async resolveSingleReferenceOnce(id, idIndex) {
|
|
676
982
|
try {
|
|
677
983
|
const location = idIndex.findById(id);
|
|
678
|
-
if (!location
|
|
984
|
+
if (!location)
|
|
985
|
+
return STALE_LOOKUP;
|
|
986
|
+
if (location.type !== 'entry' || !location.collection || !location.slug) {
|
|
679
987
|
return null;
|
|
680
988
|
}
|
|
681
989
|
// Read the referenced entry WITHOUT resolving its references (prevent infinite loops)
|
|
@@ -690,6 +998,10 @@ export class ContentStore {
|
|
|
690
998
|
};
|
|
691
999
|
}
|
|
692
1000
|
catch (error) {
|
|
1001
|
+
// Index hit but the file is gone — the typical symptom of an external
|
|
1002
|
+
// rename/delete this store hasn't observed yet.
|
|
1003
|
+
if (isNodeError(error) && error.code === 'ENOENT')
|
|
1004
|
+
return STALE_LOOKUP;
|
|
693
1005
|
console.error(`Failed to resolve reference ${id}:`, error);
|
|
694
1006
|
return null;
|
|
695
1007
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-store.js","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content-store.js","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/editor/Editor.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/editor/Editor.tsx"],"names":[],"mappings":"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"}
|