canopycms 0.0.59 → 0.0.60
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/__test__/mock-client.js +4 -4
- package/dist/api/__test__/mock-client.js.map +1 -1
- package/dist/api/branch-merge.d.ts.map +1 -1
- package/dist/api/branch-merge.js +2 -6
- package/dist/api/branch-merge.js.map +1 -1
- package/dist/api/branch-withdraw.d.ts.map +1 -1
- package/dist/api/branch-withdraw.js +19 -4
- package/dist/api/branch-withdraw.js.map +1 -1
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +22 -3
- package/dist/api/entries.js.map +1 -1
- package/dist/api/groups.d.ts +3 -0
- package/dist/api/groups.d.ts.map +1 -1
- package/dist/api/groups.js +89 -68
- package/dist/api/groups.js.map +1 -1
- package/dist/api/permissions.d.ts +1 -0
- package/dist/api/permissions.d.ts.map +1 -1
- package/dist/api/permissions.js +23 -20
- package/dist/api/permissions.js.map +1 -1
- package/dist/api/schema.d.ts.map +1 -1
- package/dist/api/schema.js +29 -15
- package/dist/api/schema.js.map +1 -1
- package/dist/authorization/groups/index.d.ts +1 -1
- package/dist/authorization/groups/index.d.ts.map +1 -1
- package/dist/authorization/groups/index.js +1 -1
- package/dist/authorization/groups/index.js.map +1 -1
- package/dist/authorization/groups/loader.d.ts +25 -4
- package/dist/authorization/groups/loader.d.ts.map +1 -1
- package/dist/authorization/groups/loader.js +39 -20
- package/dist/authorization/groups/loader.js.map +1 -1
- package/dist/authorization/groups/schema.d.ts +8 -7
- package/dist/authorization/groups/schema.d.ts.map +1 -1
- package/dist/authorization/groups/schema.js +8 -4
- package/dist/authorization/groups/schema.js.map +1 -1
- package/dist/authorization/index.d.ts +4 -3
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +6 -3
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/path.d.ts +8 -0
- package/dist/authorization/path.d.ts.map +1 -1
- package/dist/authorization/path.js +16 -1
- package/dist/authorization/path.js.map +1 -1
- package/dist/authorization/permissions/index.d.ts +1 -1
- package/dist/authorization/permissions/index.d.ts.map +1 -1
- package/dist/authorization/permissions/index.js +1 -1
- package/dist/authorization/permissions/index.js.map +1 -1
- package/dist/authorization/permissions/loader.d.ts +18 -4
- package/dist/authorization/permissions/loader.d.ts.map +1 -1
- package/dist/authorization/permissions/loader.js +35 -24
- package/dist/authorization/permissions/loader.js.map +1 -1
- package/dist/authorization/permissions/schema.d.ts +8 -7
- package/dist/authorization/permissions/schema.d.ts.map +1 -1
- package/dist/authorization/permissions/schema.js +8 -4
- package/dist/authorization/permissions/schema.js.map +1 -1
- package/dist/authorization/settings-file-store.d.ts +127 -0
- package/dist/authorization/settings-file-store.d.ts.map +1 -0
- package/dist/authorization/settings-file-store.js +156 -0
- package/dist/authorization/settings-file-store.js.map +1 -0
- package/dist/branch-metadata.d.ts +11 -0
- package/dist/branch-metadata.d.ts.map +1 -1
- package/dist/branch-metadata.js +22 -0
- package/dist/branch-metadata.js.map +1 -1
- package/dist/cli/cli.js +245 -188
- package/dist/cli/generate-ai-content.js +18 -3
- package/dist/cli/init.js +12 -2
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +39 -11
- package/dist/cli/migrate.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/schemas/config.d.ts +55 -5
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +18 -1
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/types.d.ts +11 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +25 -3
- package/dist/context.js.map +1 -1
- package/dist/editor/BranchManager.d.ts +3 -0
- package/dist/editor/BranchManager.d.ts.map +1 -1
- package/dist/editor/BranchManager.js +18 -5
- package/dist/editor/BranchManager.js.map +1 -1
- package/dist/editor/hooks/useBranchManager.d.ts +3 -1
- package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
- package/dist/editor/hooks/useBranchManager.js +2 -0
- package/dist/editor/hooks/useBranchManager.js.map +1 -1
- package/dist/editor/hooks/useGroupManager.d.ts.map +1 -1
- package/dist/editor/hooks/useGroupManager.js +13 -2
- package/dist/editor/hooks/useGroupManager.js.map +1 -1
- package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
- package/dist/editor/hooks/usePermissionManager.js +13 -2
- package/dist/editor/hooks/usePermissionManager.js.map +1 -1
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +6 -0
- package/dist/git-manager.js.map +1 -1
- package/dist/schema/schema-store.d.ts +98 -0
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +187 -29
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/worker/cms-worker.d.ts +36 -0
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +218 -8
- package/dist/worker/cms-worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,41 @@
|
|
|
7
7
|
* - Update ordering of items within collections
|
|
8
8
|
*
|
|
9
9
|
* All mutations are branch-specific (like content edits).
|
|
10
|
+
*
|
|
11
|
+
* ## Concurrency
|
|
12
|
+
*
|
|
13
|
+
* `.collection.json` is read-modify-written by every mutator below, and is
|
|
14
|
+
* mutated cross-host: two warm Lambda containers (or a Lambda + the EC2
|
|
15
|
+
* worker) on EFS can both read the same pre-mutation file and have the
|
|
16
|
+
* second write silently clobber the first. This deviates from the standard
|
|
17
|
+
* 3-layer recipe in docs/concurrency.md in one deliberate way: NO OCC
|
|
18
|
+
* `version`/`writeId` fields go into `.collection.json` itself, and no
|
|
19
|
+
* lockfile lives in the content tree. Two reasons:
|
|
20
|
+
*
|
|
21
|
+
* - `.collection.json` is an adopter-visible, git-committed content file.
|
|
22
|
+
* Rebases rewrite it wholesale from upstream, so a `version` counter would
|
|
23
|
+
* be meaningless (and actively misleading) the moment a rebase lands.
|
|
24
|
+
* - A lockfile crash-leftover inside the content tree would be swept into
|
|
25
|
+
* `git add .` at publish time — a `.lock` or `.tmp` file has no business
|
|
26
|
+
* ending up in a commit an adopter reviews.
|
|
27
|
+
*
|
|
28
|
+
* Protection is instead: layer 1 ({@link withLock}) + layer 3
|
|
29
|
+
* ({@link withOccFileLock}) on a single COARSE per-branch SURROGATE lock
|
|
30
|
+
* path OUTSIDE the content tree — `{branchRoot}/.canopy-meta/schema` (see
|
|
31
|
+
* `withSchemaLock`). One lock covers every schema mutation on the branch,
|
|
32
|
+
* including multi-file mutations (`createCollection` writes the new child's
|
|
33
|
+
* meta AND the parent's). Layer 2 (OCC read-back) is skipped entirely since
|
|
34
|
+
* there is no version field to check; layer 4 (generation marker) is used
|
|
35
|
+
* separately, for the schema CACHE, not for this write path.
|
|
36
|
+
*
|
|
37
|
+
* Accepted residual: `deleteBranch` does NOT take this lock before its
|
|
38
|
+
* recursive `rm` — an in-flight schema write can race a concurrent branch
|
|
39
|
+
* deletion (the write's `rm`/rename can hit ENOTEMPTY or land in a
|
|
40
|
+
* half-deleted tree). This mirrors the same residual documented on
|
|
41
|
+
* `BranchMetadataFileManager.save()` in branch-metadata.ts and is not closed
|
|
42
|
+
* here either; see `withSchemaLock`'s doc comment for the phantom-guard that
|
|
43
|
+
* IS in place for the common ordering (branch already gone before this call
|
|
44
|
+
* ever starts).
|
|
10
45
|
*/
|
|
11
46
|
import { promises as fs } from 'node:fs';
|
|
12
47
|
import path from 'node:path';
|
|
@@ -14,7 +49,8 @@ import { z } from 'zod';
|
|
|
14
49
|
import { atomicWriteFile } from '../utils/atomic-write.js';
|
|
15
50
|
import { withLock } from '../utils/async-mutex.js';
|
|
16
51
|
import { createDebugLogger } from '../utils/debug.js';
|
|
17
|
-
import { getErrorMessage } from '../utils/error.js';
|
|
52
|
+
import { getErrorMessage, isNotFoundError } from '../utils/error.js';
|
|
53
|
+
import { withOccFileLock, OccWriteConflictError } from '../utils/occ-json-write.js';
|
|
18
54
|
import { resolveCollectionPath } from '../content-id-index.js';
|
|
19
55
|
import { invalidateBranchContentCaches } from '../content-index-generation.js';
|
|
20
56
|
import { generateId, isValidId } from '../id.js';
|
|
@@ -83,11 +119,84 @@ const updateEntryTypeInputSchema = z.object({
|
|
|
83
119
|
// SchemaOps Class
|
|
84
120
|
// ============================================================================
|
|
85
121
|
const log = createDebugLogger({ prefix: 'SchemaOps' });
|
|
122
|
+
/**
|
|
123
|
+
* Thrown when a schema mutation cannot proceed because the per-branch
|
|
124
|
+
* surrogate schema lock (see the module doc comment and `withSchemaLock`) is
|
|
125
|
+
* held by another in-flight mutation, or because the branch has been deleted
|
|
126
|
+
* out from under an in-flight call. Callers (api/schema.ts) translate this
|
|
127
|
+
* into a 409 so the editor can retry rather than surfacing a raw 400.
|
|
128
|
+
*/
|
|
129
|
+
export class SchemaStoreBusyError extends Error {
|
|
130
|
+
constructor(message = 'Schema is being modified by another operation, try again') {
|
|
131
|
+
super(message);
|
|
132
|
+
this.name = 'SchemaStoreBusyError';
|
|
133
|
+
}
|
|
134
|
+
}
|
|
86
135
|
export class SchemaOps {
|
|
87
136
|
constructor(contentRoot, entrySchemaRegistry, services) {
|
|
88
137
|
this.contentRoot = contentRoot;
|
|
89
138
|
this.entrySchemaRegistry = entrySchemaRegistry;
|
|
90
139
|
this.services = services;
|
|
140
|
+
this.branchRoot = path.dirname(path.resolve(contentRoot));
|
|
141
|
+
this.schemaLockPath = path.join(this.branchRoot, '.canopy-meta', 'schema');
|
|
142
|
+
}
|
|
143
|
+
// --------------------------------------------------------------------------
|
|
144
|
+
// Schema Lock
|
|
145
|
+
// --------------------------------------------------------------------------
|
|
146
|
+
/**
|
|
147
|
+
* Serialize an entire read-modify-write schema mutation behind the coarse
|
|
148
|
+
* per-branch surrogate lock described in the module doc comment. Layers,
|
|
149
|
+
* outermost to innermost (same structure as
|
|
150
|
+
* `BranchMetadataFileManager.save()` — see branch-metadata.ts):
|
|
151
|
+
*
|
|
152
|
+
* 1. {@link withLock} — in-process FIFO mutex, deterministic same-process
|
|
153
|
+
* serialization.
|
|
154
|
+
* 2. {@link withOccFileLock} — server-enforced, cross-process/cross-host
|
|
155
|
+
* mutual exclusion (proper-lockfile, mkdir-based), immune to NFS client
|
|
156
|
+
* dentry/attribute caching.
|
|
157
|
+
*
|
|
158
|
+
* NOT re-entrant: callers must never invoke this (directly or via a public
|
|
159
|
+
* mutator) from inside a callback already running under it — `withLock`
|
|
160
|
+
* would deadlock waiting on itself. This is why `updateOrderInner` calls
|
|
161
|
+
* `updateCollectionInner` directly instead of the public `updateCollection`.
|
|
162
|
+
*
|
|
163
|
+
* Phantom-resurrection guard: `branchRoot` can be removed by a concurrent
|
|
164
|
+
* `deleteBranch` between the caller resolving its BranchContext and this
|
|
165
|
+
* call reaching its own lock acquisition. `withOccFileLock`'s own
|
|
166
|
+
* `mkdir({recursive:true})` on the lock directory would otherwise silently
|
|
167
|
+
* recreate `.canopy-meta/` inside a directory tree that no longer exists
|
|
168
|
+
* anywhere else. Checking BEFORE the lock (not after) fails fast without
|
|
169
|
+
* paying for an acquisition on a doomed mutation.
|
|
170
|
+
*
|
|
171
|
+
* Residual window (accepted, same shape as branch-metadata.ts's): a call
|
|
172
|
+
* that passes this check can still race a `deleteBranch` `rm` that starts
|
|
173
|
+
* moments later and is still mid-flight when this call's write lands,
|
|
174
|
+
* resurrecting the tree. `deleteBranch` does not take this lock at all
|
|
175
|
+
* (see the module doc comment), so that race is not closed here either.
|
|
176
|
+
*
|
|
177
|
+
* Translation happens ONLY at this boundary: inner code always sees the
|
|
178
|
+
* raw {@link OccWriteConflictError} bubble up to here (never catches or
|
|
179
|
+
* re-translates it itself).
|
|
180
|
+
*/
|
|
181
|
+
async withSchemaLock(fn) {
|
|
182
|
+
try {
|
|
183
|
+
await fs.stat(this.branchRoot);
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
if (isNotFoundError(err)) {
|
|
187
|
+
throw new SchemaStoreBusyError('Branch no longer exists');
|
|
188
|
+
}
|
|
189
|
+
throw err;
|
|
190
|
+
}
|
|
191
|
+
try {
|
|
192
|
+
return await withLock(this.schemaLockPath, () => withOccFileLock(this.schemaLockPath, fn));
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
if (err instanceof OccWriteConflictError) {
|
|
196
|
+
throw new SchemaStoreBusyError();
|
|
197
|
+
}
|
|
198
|
+
throw err;
|
|
199
|
+
}
|
|
91
200
|
}
|
|
92
201
|
// --------------------------------------------------------------------------
|
|
93
202
|
// Cache Invalidation
|
|
@@ -119,15 +228,13 @@ export class SchemaOps {
|
|
|
119
228
|
async invalidateSchemaCache() {
|
|
120
229
|
if (!this.services)
|
|
121
230
|
return;
|
|
122
|
-
|
|
123
|
-
const branchRoot = path.dirname(this.contentRoot);
|
|
124
|
-
await this.services.branchSchemaCache.invalidate(branchRoot);
|
|
231
|
+
await this.services.branchSchemaCache.invalidate(this.branchRoot);
|
|
125
232
|
try {
|
|
126
|
-
await this.services.branchSchemaCache.resolveAndPersist(branchRoot, this.entrySchemaRegistry, path.basename(this.contentRoot));
|
|
233
|
+
await this.services.branchSchemaCache.resolveAndPersist(this.branchRoot, this.entrySchemaRegistry, path.basename(this.contentRoot));
|
|
127
234
|
}
|
|
128
235
|
catch (err) {
|
|
129
236
|
log.warn('schema-cache', `Eager schema re-resolve after invalidation failed`, {
|
|
130
|
-
branchRoot,
|
|
237
|
+
branchRoot: this.branchRoot,
|
|
131
238
|
error: getErrorMessage(err),
|
|
132
239
|
});
|
|
133
240
|
}
|
|
@@ -148,7 +255,7 @@ export class SchemaOps {
|
|
|
148
255
|
* bulk-mutation call sites that use the combined helper.
|
|
149
256
|
*/
|
|
150
257
|
async invalidateContentIdIndexes() {
|
|
151
|
-
await invalidateBranchContentCaches(
|
|
258
|
+
await invalidateBranchContentCaches(this.branchRoot);
|
|
152
259
|
}
|
|
153
260
|
// --------------------------------------------------------------------------
|
|
154
261
|
// Validation Helpers
|
|
@@ -262,6 +369,13 @@ export class SchemaOps {
|
|
|
262
369
|
}
|
|
263
370
|
// --------------------------------------------------------------------------
|
|
264
371
|
// Write Operations
|
|
372
|
+
//
|
|
373
|
+
// These are plain atomic writes with NO locking of their own: every caller
|
|
374
|
+
// reaches them from inside a public mutator's `withSchemaLock` critical
|
|
375
|
+
// section (see the module doc comment), which is what actually protects
|
|
376
|
+
// against concurrent writers. Locking here too would be redundant and
|
|
377
|
+
// would mislead a reader into thinking THIS is where the safety comes
|
|
378
|
+
// from.
|
|
265
379
|
// --------------------------------------------------------------------------
|
|
266
380
|
/**
|
|
267
381
|
* Write a collection's .collection.json file
|
|
@@ -269,7 +383,7 @@ export class SchemaOps {
|
|
|
269
383
|
async writeCollectionMeta(physicalPath, meta) {
|
|
270
384
|
const metaPath = path.join(physicalPath, '.collection.json');
|
|
271
385
|
const content = JSON.stringify(meta, null, 2) + '\n';
|
|
272
|
-
await
|
|
386
|
+
await atomicWriteFile(metaPath, content);
|
|
273
387
|
}
|
|
274
388
|
/**
|
|
275
389
|
* Write root collection meta
|
|
@@ -277,7 +391,7 @@ export class SchemaOps {
|
|
|
277
391
|
async writeRootCollectionMeta(meta) {
|
|
278
392
|
const metaPath = path.join(this.contentRoot, '.collection.json');
|
|
279
393
|
const content = JSON.stringify(meta, null, 2) + '\n';
|
|
280
|
-
await
|
|
394
|
+
await atomicWriteFile(metaPath, content);
|
|
281
395
|
}
|
|
282
396
|
// --------------------------------------------------------------------------
|
|
283
397
|
// Collection Operations
|
|
@@ -296,6 +410,12 @@ export class SchemaOps {
|
|
|
296
410
|
if (!schemaValidation.valid) {
|
|
297
411
|
throw new Error(schemaValidation.error);
|
|
298
412
|
}
|
|
413
|
+
const result = await this.withSchemaLock(() => this.createCollectionInner(input));
|
|
414
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
415
|
+
await this.invalidateSchemaCache();
|
|
416
|
+
return result;
|
|
417
|
+
}
|
|
418
|
+
async createCollectionInner(input) {
|
|
299
419
|
// Determine parent directory
|
|
300
420
|
let parentPhysicalPath;
|
|
301
421
|
if (input.parentPath) {
|
|
@@ -354,8 +474,6 @@ export class SchemaOps {
|
|
|
354
474
|
const logicalPath = input.parentPath
|
|
355
475
|
? createLogicalPath(`${input.parentPath}/${input.name}`)
|
|
356
476
|
: createLogicalPath(input.name);
|
|
357
|
-
// Invalidate schema cache after mutation
|
|
358
|
-
await this.invalidateSchemaCache();
|
|
359
477
|
return { collectionPath: logicalPath, contentId };
|
|
360
478
|
}
|
|
361
479
|
/**
|
|
@@ -367,6 +485,17 @@ export class SchemaOps {
|
|
|
367
485
|
if (!parseResult.success) {
|
|
368
486
|
throw new Error(`Invalid input: ${parseResult.error.message}`);
|
|
369
487
|
}
|
|
488
|
+
await this.withSchemaLock(() => this.updateCollectionInner(collectionPath, updates));
|
|
489
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
490
|
+
await this.invalidateSchemaCache();
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Body of updateCollection, holding the schema lock for its full
|
|
494
|
+
* read-modify-write. Called directly (not via the public `updateCollection`)
|
|
495
|
+
* by `updateOrderInner` for non-root collections — `withSchemaLock` is NOT
|
|
496
|
+
* re-entrant, so going through the public method there would deadlock.
|
|
497
|
+
*/
|
|
498
|
+
async updateCollectionInner(collectionPath, updates) {
|
|
370
499
|
// Check if this is the root collection (path equals contentRoot basename, e.g., "content")
|
|
371
500
|
const contentRootName = path.basename(this.contentRoot);
|
|
372
501
|
if (collectionPath === contentRootName) {
|
|
@@ -383,8 +512,6 @@ export class SchemaOps {
|
|
|
383
512
|
meta.order = updates.order;
|
|
384
513
|
}
|
|
385
514
|
await this.writeRootCollectionMeta(meta);
|
|
386
|
-
// Invalidate schema cache after mutation
|
|
387
|
-
await this.invalidateSchemaCache();
|
|
388
515
|
return;
|
|
389
516
|
}
|
|
390
517
|
// Strip contentRoot prefix to get relative path for regular collection
|
|
@@ -464,14 +591,18 @@ export class SchemaOps {
|
|
|
464
591
|
}
|
|
465
592
|
// Write back to the (potentially renamed) path
|
|
466
593
|
await this.writeCollectionMeta(finalPhysicalPath, meta);
|
|
467
|
-
// Invalidate schema cache after mutation
|
|
468
|
-
await this.invalidateSchemaCache();
|
|
469
594
|
}
|
|
470
595
|
/**
|
|
471
596
|
* Delete a collection (must be empty)
|
|
472
597
|
*/
|
|
473
598
|
async deleteCollection(collectionPath) {
|
|
474
|
-
|
|
599
|
+
await this.withSchemaLock(() => this.deleteCollectionInner(collectionPath));
|
|
600
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
601
|
+
await this.invalidateSchemaCache();
|
|
602
|
+
}
|
|
603
|
+
async deleteCollectionInner(collectionPath) {
|
|
604
|
+
// Check if empty — moved inside the lock so a concurrent write landing
|
|
605
|
+
// between this check and the rm below can't slip past it (TOCTOU).
|
|
475
606
|
const isEmpty = await this.isCollectionEmpty(collectionPath);
|
|
476
607
|
if (!isEmpty) {
|
|
477
608
|
throw new Error('Collection must be empty before deletion. Delete all entries first.');
|
|
@@ -484,8 +615,6 @@ export class SchemaOps {
|
|
|
484
615
|
// Delete the directory (including .collection.json)
|
|
485
616
|
await fs.rm(physicalPath, { recursive: true });
|
|
486
617
|
await this.invalidateContentIdIndexes();
|
|
487
|
-
// Invalidate schema cache after mutation
|
|
488
|
-
await this.invalidateSchemaCache();
|
|
489
618
|
}
|
|
490
619
|
// --------------------------------------------------------------------------
|
|
491
620
|
// Entry Type Operations
|
|
@@ -504,6 +633,11 @@ export class SchemaOps {
|
|
|
504
633
|
const available = Object.keys(this.entrySchemaRegistry).join(', ');
|
|
505
634
|
throw new Error(`Schema reference "${entryType.schema}" not found. Available: ${available}`);
|
|
506
635
|
}
|
|
636
|
+
await this.withSchemaLock(() => this.addEntryTypeInner(collectionPath, entryType));
|
|
637
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
638
|
+
await this.invalidateSchemaCache();
|
|
639
|
+
}
|
|
640
|
+
async addEntryTypeInner(collectionPath, entryType) {
|
|
507
641
|
// Resolve path
|
|
508
642
|
const physicalPath = await resolveCollectionPath(this.contentRoot, collectionPath);
|
|
509
643
|
if (!physicalPath) {
|
|
@@ -530,8 +664,6 @@ export class SchemaOps {
|
|
|
530
664
|
});
|
|
531
665
|
// Write back
|
|
532
666
|
await this.writeCollectionMeta(physicalPath, meta);
|
|
533
|
-
// Invalidate schema cache after mutation
|
|
534
|
-
await this.invalidateSchemaCache();
|
|
535
667
|
}
|
|
536
668
|
/**
|
|
537
669
|
* Update an entry type in a collection
|
|
@@ -547,6 +679,25 @@ export class SchemaOps {
|
|
|
547
679
|
const available = Object.keys(this.entrySchemaRegistry).join(', ');
|
|
548
680
|
throw new Error(`Schema reference "${updates.schema}" not found. Available: ${available}`);
|
|
549
681
|
}
|
|
682
|
+
await this.withSchemaLock(() => this.updateEntryTypeInner(collectionPath, entryTypeName, updates));
|
|
683
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
684
|
+
await this.invalidateSchemaCache();
|
|
685
|
+
}
|
|
686
|
+
async updateEntryTypeInner(collectionPath, entryTypeName, updates) {
|
|
687
|
+
// Breaking-change usage guard — moved here from api/schema.ts's
|
|
688
|
+
// updateEntryTypeHandler, which used to count usages BEFORE calling this
|
|
689
|
+
// method: a concurrent write could land an entry between that count and
|
|
690
|
+
// this write (TOCTOU). Running the count under the same lock that guards
|
|
691
|
+
// the write closes that window. Error message preserved exactly — the
|
|
692
|
+
// handler's catch surfaces it verbatim as a 400.
|
|
693
|
+
const isBreakingChange = updates.format !== undefined || updates.schema !== undefined;
|
|
694
|
+
if (isBreakingChange) {
|
|
695
|
+
const usageCount = await this.countEntriesUsingType(collectionPath, entryTypeName);
|
|
696
|
+
if (usageCount > 0) {
|
|
697
|
+
const entryWord = usageCount === 1 ? 'entry' : 'entries';
|
|
698
|
+
throw new Error(`Cannot modify schema or format for entry type with existing ${entryWord}. ${usageCount} ${entryWord} currently use this type.`);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
550
701
|
// Resolve path
|
|
551
702
|
const physicalPath = await resolveCollectionPath(this.contentRoot, collectionPath);
|
|
552
703
|
if (!physicalPath) {
|
|
@@ -580,13 +731,16 @@ export class SchemaOps {
|
|
|
580
731
|
}
|
|
581
732
|
// Write back
|
|
582
733
|
await this.writeCollectionMeta(physicalPath, meta);
|
|
583
|
-
// Invalidate schema cache after mutation
|
|
584
|
-
await this.invalidateSchemaCache();
|
|
585
734
|
}
|
|
586
735
|
/**
|
|
587
736
|
* Remove an entry type from a collection
|
|
588
737
|
*/
|
|
589
738
|
async removeEntryType(collectionPath, entryTypeName) {
|
|
739
|
+
await this.withSchemaLock(() => this.removeEntryTypeInner(collectionPath, entryTypeName));
|
|
740
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
741
|
+
await this.invalidateSchemaCache();
|
|
742
|
+
}
|
|
743
|
+
async removeEntryTypeInner(collectionPath, entryTypeName) {
|
|
590
744
|
// Resolve path
|
|
591
745
|
const physicalPath = await resolveCollectionPath(this.contentRoot, collectionPath);
|
|
592
746
|
if (!physicalPath) {
|
|
@@ -616,8 +770,6 @@ export class SchemaOps {
|
|
|
616
770
|
meta.entries.splice(index, 1);
|
|
617
771
|
// Write back
|
|
618
772
|
await this.writeCollectionMeta(physicalPath, meta);
|
|
619
|
-
// Invalidate schema cache after mutation
|
|
620
|
-
await this.invalidateSchemaCache();
|
|
621
773
|
}
|
|
622
774
|
// --------------------------------------------------------------------------
|
|
623
775
|
// Usage Counting
|
|
@@ -688,6 +840,11 @@ export class SchemaOps {
|
|
|
688
840
|
* Update the order of items in a collection
|
|
689
841
|
*/
|
|
690
842
|
async updateOrder(collectionPath, order) {
|
|
843
|
+
await this.withSchemaLock(() => this.updateOrderInner(collectionPath, order));
|
|
844
|
+
// Invalidate schema cache after mutation (outside the lock — see withSchemaLock's doc comment)
|
|
845
|
+
await this.invalidateSchemaCache();
|
|
846
|
+
}
|
|
847
|
+
async updateOrderInner(collectionPath, order) {
|
|
691
848
|
// Check if this is the root collection (path equals contentRoot basename, e.g., "content")
|
|
692
849
|
const contentRootName = path.basename(this.contentRoot);
|
|
693
850
|
if (collectionPath === contentRootName) {
|
|
@@ -698,13 +855,14 @@ export class SchemaOps {
|
|
|
698
855
|
}
|
|
699
856
|
meta.order = order;
|
|
700
857
|
await this.writeRootCollectionMeta(meta);
|
|
701
|
-
// Invalidate schema cache after mutation
|
|
702
|
-
await this.invalidateSchemaCache();
|
|
703
858
|
return;
|
|
704
859
|
}
|
|
705
|
-
// Update regular collection (handles contentRoot prefix stripping internally)
|
|
706
|
-
//
|
|
707
|
-
|
|
860
|
+
// Update regular collection (handles contentRoot prefix stripping internally).
|
|
861
|
+
// Calls updateCollectionInner DIRECTLY, never the public updateCollection:
|
|
862
|
+
// we're already inside withSchemaLock's critical section here, and
|
|
863
|
+
// withLock is not re-entrant — going through updateCollection would call
|
|
864
|
+
// withSchemaLock again and deadlock waiting on the lock it itself holds.
|
|
865
|
+
await this.updateCollectionInner(collectionPath, { order });
|
|
708
866
|
}
|
|
709
867
|
}
|
|
710
868
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-store.js","sourceRoot":"","sources":["../../src/schema/schema-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-store.js","sourceRoot":"","sources":["../../src/schema/schema-store.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type CanopyGroupId = string;
|
|
|
4
4
|
export type BranchStatus = 'editing' | 'submitted' | 'approved' | 'locked' | 'archived';
|
|
5
5
|
export type SyncStatus = 'synced' | 'pending-sync' | 'sync-failed';
|
|
6
6
|
export type ConflictStatus = 'clean' | 'conflicts-detected';
|
|
7
|
+
export type PullRequestState = 'open' | 'closed' | 'merged';
|
|
7
8
|
export interface BranchAccessControl {
|
|
8
9
|
allowedUsers?: CanopyUserId[];
|
|
9
10
|
allowedGroups?: CanopyGroupId[];
|
|
@@ -29,6 +30,18 @@ export interface BranchMetadata {
|
|
|
29
30
|
conflictStatus?: ConflictStatus;
|
|
30
31
|
/** ContentIds of entries where --theirs was applied during rebase; cleared on clean rebase */
|
|
31
32
|
conflictFiles?: ContentId[];
|
|
33
|
+
/**
|
|
34
|
+
* Lifecycle state of the branch's PR as last observed by the worker's
|
|
35
|
+
* merge-poll (or verified by markAsMerged). Absent until a PR exists and
|
|
36
|
+
* has been observed. Draft PRs read 'open'.
|
|
37
|
+
*/
|
|
38
|
+
pullRequestState?: PullRequestState;
|
|
39
|
+
/**
|
|
40
|
+
* ISO timestamp stamped when the branch was archived because its PR
|
|
41
|
+
* merged (worker auto-poll or manual markAsMerged). Absent for branches
|
|
42
|
+
* archived any other way.
|
|
43
|
+
*/
|
|
44
|
+
mergedAt?: string;
|
|
32
45
|
}
|
|
33
46
|
export interface BranchPaths {
|
|
34
47
|
/** Root where all branches live (e.g., /mnt/efs/site, ~/.canopycms/branches) */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;AACvF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAA;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,oBAAoB,CAAA;AAE3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,EAAE,YAAY,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iFAAiF;IACjF,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,8FAA8F;IAC9F,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;AACvF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAA;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,oBAAoB,CAAA;AAC3D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,EAAE,YAAY,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iFAAiF;IACjF,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,8FAA8F;IAC9F,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAA;IAEhB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,EAAE,cAAc,CAAA;IAEtB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,UAAU,EAAE,cAAc,EAAE,CAAA;CACjD;AAED,6FAA6F;AAC7F,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,UAAU,EAAE,OAAO,UAAU,EAAE,cAAc,EAAE,CAAA;CAChD"}
|
|
@@ -92,6 +92,7 @@ export declare class CmsWorker {
|
|
|
92
92
|
private remoteGitPath;
|
|
93
93
|
private contentBranchesPath;
|
|
94
94
|
private baseBranch;
|
|
95
|
+
private sanitizedBaseBranch;
|
|
95
96
|
private activeTimeouts;
|
|
96
97
|
private running;
|
|
97
98
|
private activeOperations;
|
|
@@ -208,6 +209,41 @@ export declare class CmsWorker {
|
|
|
208
209
|
*/
|
|
209
210
|
private pushSettingsBranches;
|
|
210
211
|
syncGit(): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Fast-forward the base branch's own working-tree clone
|
|
214
|
+
* (content-branches/<baseBranch>) to match origin/<baseBranch>.
|
|
215
|
+
*
|
|
216
|
+
* Previously this clone was refreshed only incidentally, by the generic
|
|
217
|
+
* rebase loop below (rebaseActiveBranches): for a branch with status
|
|
218
|
+
* 'editing', rebasing onto origin/<baseBranch> degenerates to a
|
|
219
|
+
* fast-forward when the clone IS the base branch. But that loop's skip
|
|
220
|
+
* paths -- a dirty tree, a missing .git -- are silent, which is the
|
|
221
|
+
* suspected live failure mode: a wedged base clone with no diagnosable
|
|
222
|
+
* signal in the logs. This dedicated step makes the refresh explicit,
|
|
223
|
+
* ff-only, and loud, so a stuck base view (an editor forking a new branch
|
|
224
|
+
* "from base" that's actually a stale snapshot) is diagnosable from logs.
|
|
225
|
+
* This runs every sync cycle so the drift window is bounded by
|
|
226
|
+
* gitSyncInterval.
|
|
227
|
+
*
|
|
228
|
+
* ff-only on purpose: this clone must stay a linear mirror of
|
|
229
|
+
* origin/<baseBranch>, so a merge that isn't a fast-forward (diverged
|
|
230
|
+
* local history) is treated as a should-never-happen condition and left
|
|
231
|
+
* untouched rather than force-resolved.
|
|
232
|
+
*/
|
|
233
|
+
private refreshBaseBranchWorkspace;
|
|
234
|
+
/**
|
|
235
|
+
* Poll GitHub for a submitted/approved branch's PR resolution.
|
|
236
|
+
*
|
|
237
|
+
* submitted/approved branches sit outside the rebase loop and get no
|
|
238
|
+
* other signal that their PR resolved on GitHub -- nothing pushes a
|
|
239
|
+
* merge/close webhook back into the branch workspace. merged ->
|
|
240
|
+
* auto-archive via buildMergedBranchUpdate (shared with the manual
|
|
241
|
+
* markAsMerged API so both paths produce identical archived-branch
|
|
242
|
+
* metadata). closed-without-merge -> record pullRequestState only; an
|
|
243
|
+
* admin decides the workflow transition from there. Best-effort: any
|
|
244
|
+
* failure here is logged and swallowed, retried next sync cycle.
|
|
245
|
+
*/
|
|
246
|
+
private pollMergeState;
|
|
211
247
|
private rebaseActiveBranches;
|
|
212
248
|
refreshAuthCache(): Promise<void>;
|
|
213
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-worker.d.ts","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cms-worker.d.ts","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"AA6BA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAMD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAO5D;AA2DD;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IAwBR,OAAO,CAAC,MAAM;IAvB1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,UAAU,CAAQ;IAM1B,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,GAAG,CAAqB;gBAEZ,MAAM,EAAE,eAAe;IAerC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2DtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,WAAW;YAyBX,WAAW;IAWzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;;;;;;;;;;;;;OAeG;YACW,sBAAsB;IAUpC;;;;;;;;;;;;;;OAcG;YACW,eAAe;IAiD7B;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvC;;;;;;;;OAQG;YACW,sBAAsB;YAqBtB,WAAW;IAkHzB;;;OAGG;YACW,oBAAoB;IA2ClC;;;OAGG;YACW,6BAA6B;IAsB3C,OAAO,CAAC,cAAc;YAIR,kBAAkB;IAahC;;;OAGG;YACW,oBAAoB;IAqB5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B9B;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,0BAA0B;IAgHxC;;;;;;;;;;;OAWG;YACW,cAAc;YAkDd,oBAAoB;IA6O5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
|