canopycms 0.0.58 → 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.
Files changed (134) hide show
  1. package/dist/api/__test__/mock-client.js +4 -4
  2. package/dist/api/__test__/mock-client.js.map +1 -1
  3. package/dist/api/branch-merge.d.ts.map +1 -1
  4. package/dist/api/branch-merge.js +2 -6
  5. package/dist/api/branch-merge.js.map +1 -1
  6. package/dist/api/branch-withdraw.d.ts.map +1 -1
  7. package/dist/api/branch-withdraw.js +19 -4
  8. package/dist/api/branch-withdraw.js.map +1 -1
  9. package/dist/api/entries.d.ts.map +1 -1
  10. package/dist/api/entries.js +22 -3
  11. package/dist/api/entries.js.map +1 -1
  12. package/dist/api/groups.d.ts +3 -0
  13. package/dist/api/groups.d.ts.map +1 -1
  14. package/dist/api/groups.js +89 -68
  15. package/dist/api/groups.js.map +1 -1
  16. package/dist/api/permissions.d.ts +1 -0
  17. package/dist/api/permissions.d.ts.map +1 -1
  18. package/dist/api/permissions.js +23 -20
  19. package/dist/api/permissions.js.map +1 -1
  20. package/dist/api/schema.d.ts.map +1 -1
  21. package/dist/api/schema.js +29 -15
  22. package/dist/api/schema.js.map +1 -1
  23. package/dist/authorization/groups/index.d.ts +1 -1
  24. package/dist/authorization/groups/index.d.ts.map +1 -1
  25. package/dist/authorization/groups/index.js +1 -1
  26. package/dist/authorization/groups/index.js.map +1 -1
  27. package/dist/authorization/groups/loader.d.ts +25 -4
  28. package/dist/authorization/groups/loader.d.ts.map +1 -1
  29. package/dist/authorization/groups/loader.js +39 -20
  30. package/dist/authorization/groups/loader.js.map +1 -1
  31. package/dist/authorization/groups/schema.d.ts +8 -7
  32. package/dist/authorization/groups/schema.d.ts.map +1 -1
  33. package/dist/authorization/groups/schema.js +8 -4
  34. package/dist/authorization/groups/schema.js.map +1 -1
  35. package/dist/authorization/index.d.ts +4 -3
  36. package/dist/authorization/index.d.ts.map +1 -1
  37. package/dist/authorization/index.js +6 -3
  38. package/dist/authorization/index.js.map +1 -1
  39. package/dist/authorization/path.d.ts +8 -0
  40. package/dist/authorization/path.d.ts.map +1 -1
  41. package/dist/authorization/path.js +16 -1
  42. package/dist/authorization/path.js.map +1 -1
  43. package/dist/authorization/permissions/index.d.ts +1 -1
  44. package/dist/authorization/permissions/index.d.ts.map +1 -1
  45. package/dist/authorization/permissions/index.js +1 -1
  46. package/dist/authorization/permissions/index.js.map +1 -1
  47. package/dist/authorization/permissions/loader.d.ts +18 -4
  48. package/dist/authorization/permissions/loader.d.ts.map +1 -1
  49. package/dist/authorization/permissions/loader.js +35 -24
  50. package/dist/authorization/permissions/loader.js.map +1 -1
  51. package/dist/authorization/permissions/schema.d.ts +8 -7
  52. package/dist/authorization/permissions/schema.d.ts.map +1 -1
  53. package/dist/authorization/permissions/schema.js +8 -4
  54. package/dist/authorization/permissions/schema.js.map +1 -1
  55. package/dist/authorization/settings-file-store.d.ts +127 -0
  56. package/dist/authorization/settings-file-store.d.ts.map +1 -0
  57. package/dist/authorization/settings-file-store.js +156 -0
  58. package/dist/authorization/settings-file-store.js.map +1 -0
  59. package/dist/branch-metadata.d.ts +11 -0
  60. package/dist/branch-metadata.d.ts.map +1 -1
  61. package/dist/branch-metadata.js +22 -0
  62. package/dist/branch-metadata.js.map +1 -1
  63. package/dist/branch-workspace.d.ts.map +1 -1
  64. package/dist/branch-workspace.js +1 -0
  65. package/dist/branch-workspace.js.map +1 -1
  66. package/dist/cli/cli.d.ts +20 -0
  67. package/dist/cli/cli.d.ts.map +1 -1
  68. package/dist/cli/cli.js +9618 -246
  69. package/dist/cli/cli.js.map +1 -1
  70. package/dist/cli/generate-ai-content.js +101 -12
  71. package/dist/cli/init.d.ts.map +1 -1
  72. package/dist/cli/init.js +25 -3
  73. package/dist/cli/init.js.map +1 -1
  74. package/dist/cli/migrate.d.ts.map +1 -1
  75. package/dist/cli/migrate.js +39 -11
  76. package/dist/cli/migrate.js.map +1 -1
  77. package/dist/cli/template-files/Dockerfile.cms.template +33 -1
  78. package/dist/cli/template-files/deploy-cms.yml.template +9 -1
  79. package/dist/cli/template-files/dockerignore.template +13 -0
  80. package/dist/cli/template-files/middleware-clerk.ts.template +12 -5
  81. package/dist/cli/template-files/middleware.ts.template +10 -5
  82. package/dist/cli/templates.d.ts +1 -0
  83. package/dist/cli/templates.d.ts.map +1 -1
  84. package/dist/cli/templates.js +3 -0
  85. package/dist/cli/templates.js.map +1 -1
  86. package/dist/config/index.d.ts +1 -1
  87. package/dist/config/index.d.ts.map +1 -1
  88. package/dist/config/index.js.map +1 -1
  89. package/dist/config/schemas/config.d.ts +68 -6
  90. package/dist/config/schemas/config.d.ts.map +1 -1
  91. package/dist/config/schemas/config.js +32 -2
  92. package/dist/config/schemas/config.js.map +1 -1
  93. package/dist/config/types.d.ts +31 -1
  94. package/dist/config/types.d.ts.map +1 -1
  95. package/dist/context.d.ts +3 -0
  96. package/dist/context.d.ts.map +1 -1
  97. package/dist/context.js +25 -3
  98. package/dist/context.js.map +1 -1
  99. package/dist/editor/BranchManager.d.ts +3 -0
  100. package/dist/editor/BranchManager.d.ts.map +1 -1
  101. package/dist/editor/BranchManager.js +18 -5
  102. package/dist/editor/BranchManager.js.map +1 -1
  103. package/dist/editor/hooks/useBranchManager.d.ts +3 -1
  104. package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
  105. package/dist/editor/hooks/useBranchManager.js +2 -0
  106. package/dist/editor/hooks/useBranchManager.js.map +1 -1
  107. package/dist/editor/hooks/useGroupManager.d.ts.map +1 -1
  108. package/dist/editor/hooks/useGroupManager.js +13 -2
  109. package/dist/editor/hooks/useGroupManager.js.map +1 -1
  110. package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
  111. package/dist/editor/hooks/usePermissionManager.js +13 -2
  112. package/dist/editor/hooks/usePermissionManager.js.map +1 -1
  113. package/dist/git-manager.d.ts +39 -0
  114. package/dist/git-manager.d.ts.map +1 -1
  115. package/dist/git-manager.js +104 -8
  116. package/dist/git-manager.js.map +1 -1
  117. package/dist/schema/schema-store.d.ts +98 -0
  118. package/dist/schema/schema-store.d.ts.map +1 -1
  119. package/dist/schema/schema-store.js +187 -29
  120. package/dist/schema/schema-store.js.map +1 -1
  121. package/dist/settings-workspace.d.ts.map +1 -1
  122. package/dist/settings-workspace.js +1 -0
  123. package/dist/settings-workspace.js.map +1 -1
  124. package/dist/types.d.ts +13 -0
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/utils/git.d.ts +19 -0
  127. package/dist/utils/git.d.ts.map +1 -1
  128. package/dist/utils/git.js +47 -0
  129. package/dist/utils/git.js.map +1 -1
  130. package/dist/worker/cms-worker.d.ts +64 -0
  131. package/dist/worker/cms-worker.d.ts.map +1 -1
  132. package/dist/worker/cms-worker.js +318 -28
  133. package/dist/worker/cms-worker.js.map +1 -1
  134. 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
- // Get branchRoot from contentRoot (parent directory)
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(path.dirname(this.contentRoot));
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 withLock(metaPath, () => atomicWriteFile(metaPath, content));
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 withLock(metaPath, () => atomicWriteFile(metaPath, content));
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
- // Check if empty
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
- // Note: updateCollection already invalidates cache, so no need to do it again
707
- await this.updateCollection(collectionPath, { order });
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-workspace.d.ts","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAcrD,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0DD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,YAAY;IAI1B,kBAAkB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;CAsDjF"}
1
+ {"version":3,"file":"settings-workspace.d.ts","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAcrD,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0DD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,YAAY;IAI1B,kBAAkB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;CAuDjF"}
@@ -114,6 +114,7 @@ export class SettingsWorkspaceManager {
114
114
  defaultRemoteUrl: this.config.defaultRemoteUrl,
115
115
  remoteUrl: options.remoteUrl,
116
116
  remoteName: this.config.defaultRemoteName,
117
+ allowNetworkRemoteInProd: this.config.allowNetworkRemoteInProd,
117
118
  branchType: 'orphan', // Key difference: orphan branch for settings
118
119
  gitBotAuthorName: this.config.gitBotAuthorName,
119
120
  gitBotAuthorEmail: this.config.gitBotAuthorEmail,
@@ -1 +1 @@
1
- {"version":3,"file":"settings-workspace.js","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-workspace.js","sourceRoot":"","sources":["../src/settings-workspace.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) */
@@ -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;CAC5B;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"}
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"}
@@ -1,4 +1,23 @@
1
1
  import type { OperatingMode } from '../operating-mode';
2
+ /**
3
+ * Whether a git remote URL points at a network location — http(s)://,
4
+ * ssh://, git://, scp-like `[user@]host:path`, a transport-helper `scheme::`
5
+ * form, or a leading-`-` value git would parse as a command-line option —
6
+ * rather than a local filesystem path.
7
+ *
8
+ * `file://` URLs and plain filesystem paths are LOCAL — this is the
9
+ * distinction GitManager's prod-mode network-remote guard relies on (see
10
+ * `resolveRemoteUrl`): the intended prod topology only ever resolves a local
11
+ * path (an auto-detected/auto-initialized `remote.git`), so anything network
12
+ * flowing in via an explicit param, config, or env var is almost always a
13
+ * misconfiguration in prod. Because the guard's job is catching prod
14
+ * misconfig (not being a strict URL parser), this classifier treats anything
15
+ * git could interpret as a network transport, a transport helper, or a
16
+ * command-line option as "network". The one local carve-out beyond `file://`
17
+ * is a Windows drive path (`C:\...` / `C:/...`), which replaces the old
18
+ * `@`-required heuristic for scp-like syntax.
19
+ */
20
+ export declare function isNetworkRemoteUrl(url: string): boolean;
2
21
  /**
3
22
  * Detect the current HEAD branch name for a given repository root.
4
23
  * Returns the branch name, or the provided fallback (default 'main')
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,aAAa,CAAA;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlB"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAmBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,aAAa,CAAA;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlB"}
package/dist/utils/git.js CHANGED
@@ -1,4 +1,51 @@
1
1
  import { simpleGit } from 'simple-git';
2
+ // Matches scheme://... URLs (http, https, ssh, git — case-insensitive).
3
+ const NETWORK_SCHEME_PATTERN = /^(https?|ssh|git):\/\//i;
4
+ // Matches git's "transport helper" syntax, e.g. `ext::sh -c ...` or `fd::7`.
5
+ // Any `scheme::` prefix hands the URL to `git-remote-<scheme>`, which can run
6
+ // arbitrary commands — always treat it as network/untrusted.
7
+ const TRANSPORT_HELPER_PATTERN = /^[a-z][a-z0-9+.-]*::/i;
8
+ // A leading `-` means the "URL" would be parsed as a command-line option by
9
+ // git (e.g. `--upload-pack=/evil`) — argument injection, not a real remote.
10
+ const LEADING_OPTION_PATTERN = /^-/;
11
+ // Windows drive paths (`C:\...`, `C:/...`) are the one local form that
12
+ // contains a colon before any slash; everything else with a colon before the
13
+ // first slash is scp-like remote syntax, e.g. `git@github.com:owner/repo.git`
14
+ // or the bare `github.com:owner/repo.git` (no `@` required — git still
15
+ // treats `host:path` as ssh).
16
+ const WINDOWS_DRIVE_PATTERN = /^[a-zA-Z]:[\\/]/;
17
+ const COLON_BEFORE_SLASH_PATTERN = /^[^/\\\s]+:/;
18
+ /**
19
+ * Whether a git remote URL points at a network location — http(s)://,
20
+ * ssh://, git://, scp-like `[user@]host:path`, a transport-helper `scheme::`
21
+ * form, or a leading-`-` value git would parse as a command-line option —
22
+ * rather than a local filesystem path.
23
+ *
24
+ * `file://` URLs and plain filesystem paths are LOCAL — this is the
25
+ * distinction GitManager's prod-mode network-remote guard relies on (see
26
+ * `resolveRemoteUrl`): the intended prod topology only ever resolves a local
27
+ * path (an auto-detected/auto-initialized `remote.git`), so anything network
28
+ * flowing in via an explicit param, config, or env var is almost always a
29
+ * misconfiguration in prod. Because the guard's job is catching prod
30
+ * misconfig (not being a strict URL parser), this classifier treats anything
31
+ * git could interpret as a network transport, a transport helper, or a
32
+ * command-line option as "network". The one local carve-out beyond `file://`
33
+ * is a Windows drive path (`C:\...` / `C:/...`), which replaces the old
34
+ * `@`-required heuristic for scp-like syntax.
35
+ */
36
+ export function isNetworkRemoteUrl(url) {
37
+ if (/^file:\/\//i.test(url))
38
+ return false;
39
+ if (NETWORK_SCHEME_PATTERN.test(url))
40
+ return true;
41
+ if (TRANSPORT_HELPER_PATTERN.test(url))
42
+ return true;
43
+ if (LEADING_OPTION_PATTERN.test(url))
44
+ return true;
45
+ if (WINDOWS_DRIVE_PATTERN.test(url))
46
+ return false;
47
+ return COLON_BEFORE_SLASH_PATTERN.test(url);
48
+ }
2
49
  /**
3
50
  * Detect the current HEAD branch name for a given repository root.
4
51
  * Returns the branch name, or the provided fallback (default 'main')