canopycms 0.0.61 → 0.0.62

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 (184) hide show
  1. package/dist/ai/json-to-markdown.js +1 -2
  2. package/dist/ai/json-to-markdown.js.map +1 -1
  3. package/dist/api/__test__/mock-client.d.ts +5 -1
  4. package/dist/api/__test__/mock-client.d.ts.map +1 -1
  5. package/dist/api/__test__/mock-client.js +9 -2
  6. package/dist/api/__test__/mock-client.js.map +1 -1
  7. package/dist/api/admin-branch-health.d.ts +36 -1
  8. package/dist/api/admin-branch-health.d.ts.map +1 -1
  9. package/dist/api/admin-branch-health.js +176 -2
  10. package/dist/api/admin-branch-health.js.map +1 -1
  11. package/dist/api/admin.d.ts +8 -1
  12. package/dist/api/admin.d.ts.map +1 -1
  13. package/dist/api/admin.js.map +1 -1
  14. package/dist/api/branch.d.ts.map +1 -1
  15. package/dist/api/branch.js +16 -2
  16. package/dist/api/branch.js.map +1 -1
  17. package/dist/api/client.d.ts +5 -1
  18. package/dist/api/client.d.ts.map +1 -1
  19. package/dist/api/client.js +6 -0
  20. package/dist/api/client.js.map +1 -1
  21. package/dist/api/comments.d.ts +2 -2
  22. package/dist/api/content.d.ts +11 -5
  23. package/dist/api/content.d.ts.map +1 -1
  24. package/dist/api/content.js +79 -6
  25. package/dist/api/content.js.map +1 -1
  26. package/dist/api/entries.d.ts +10 -0
  27. package/dist/api/entries.d.ts.map +1 -1
  28. package/dist/api/entries.js +40 -15
  29. package/dist/api/entries.js.map +1 -1
  30. package/dist/api/schema.d.ts +4 -4
  31. package/dist/api/schema.d.ts.map +1 -1
  32. package/dist/api/schema.js +13 -13
  33. package/dist/api/schema.js.map +1 -1
  34. package/dist/assets/transform.d.ts.map +1 -1
  35. package/dist/assets/transform.js +19 -6
  36. package/dist/assets/transform.js.map +1 -1
  37. package/dist/branch-health.d.ts +13 -0
  38. package/dist/branch-health.d.ts.map +1 -1
  39. package/dist/branch-health.js +23 -0
  40. package/dist/branch-health.js.map +1 -1
  41. package/dist/cli/cli.js +858 -537
  42. package/dist/cli/generate-ai-content.js +760 -455
  43. package/dist/cli/init.js +25 -7
  44. package/dist/cli/template-files/Dockerfile.cms.template +19 -1
  45. package/dist/cli/template-files/canopycms.config.ts.template +7 -0
  46. package/dist/cli/template-files/cms-stack.ts.template +7 -1
  47. package/dist/client.d.ts +1 -0
  48. package/dist/client.d.ts.map +1 -1
  49. package/dist/client.js.map +1 -1
  50. package/dist/config/schemas/field.d.ts +15 -15
  51. package/dist/config/types.d.ts +2 -2
  52. package/dist/config/types.d.ts.map +1 -1
  53. package/dist/config/types.js +0 -1
  54. package/dist/config/types.js.map +1 -1
  55. package/dist/config/validation.d.ts +9 -0
  56. package/dist/config/validation.d.ts.map +1 -1
  57. package/dist/config/validation.js +14 -0
  58. package/dist/config/validation.js.map +1 -1
  59. package/dist/content-id-index.d.ts +97 -5
  60. package/dist/content-id-index.d.ts.map +1 -1
  61. package/dist/content-id-index.js +170 -18
  62. package/dist/content-id-index.js.map +1 -1
  63. package/dist/content-store.d.ts +81 -7
  64. package/dist/content-store.d.ts.map +1 -1
  65. package/dist/content-store.js +443 -258
  66. package/dist/content-store.js.map +1 -1
  67. package/dist/editor/BranchManager.d.ts.map +1 -1
  68. package/dist/editor/BranchManager.js +18 -6
  69. package/dist/editor/BranchManager.js.map +1 -1
  70. package/dist/editor/CanopyEditor.d.ts.map +1 -1
  71. package/dist/editor/CanopyEditor.js +2 -2
  72. package/dist/editor/CanopyEditor.js.map +1 -1
  73. package/dist/editor/CanopyEditorPage.d.ts +9 -1
  74. package/dist/editor/CanopyEditorPage.d.ts.map +1 -1
  75. package/dist/editor/CanopyEditorPage.js +9 -2
  76. package/dist/editor/CanopyEditorPage.js.map +1 -1
  77. package/dist/editor/Editor.d.ts +9 -1
  78. package/dist/editor/Editor.d.ts.map +1 -1
  79. package/dist/editor/Editor.js +58 -24
  80. package/dist/editor/Editor.js.map +1 -1
  81. package/dist/editor/FormRenderer.d.ts.map +1 -1
  82. package/dist/editor/FormRenderer.js +12 -0
  83. package/dist/editor/FormRenderer.js.map +1 -1
  84. package/dist/editor/admin/SystemHealthPanel.js +6 -2
  85. package/dist/editor/admin/SystemHealthPanel.js.map +1 -1
  86. package/dist/editor/components/EntryCreateModal.d.ts +9 -1
  87. package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
  88. package/dist/editor/components/EntryCreateModal.js +4 -1
  89. package/dist/editor/components/EntryCreateModal.js.map +1 -1
  90. package/dist/editor/fields/DateTimeField.d.ts +46 -0
  91. package/dist/editor/fields/DateTimeField.d.ts.map +1 -0
  92. package/dist/editor/fields/DateTimeField.js +66 -0
  93. package/dist/editor/fields/DateTimeField.js.map +1 -0
  94. package/dist/editor/fields/NumberField.d.ts +34 -0
  95. package/dist/editor/fields/NumberField.d.ts.map +1 -0
  96. package/dist/editor/fields/NumberField.js +53 -0
  97. package/dist/editor/fields/NumberField.js.map +1 -0
  98. package/dist/editor/fields/NumberListField.d.ts +25 -0
  99. package/dist/editor/fields/NumberListField.d.ts.map +1 -0
  100. package/dist/editor/fields/NumberListField.js +53 -0
  101. package/dist/editor/fields/NumberListField.js.map +1 -0
  102. package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
  103. package/dist/editor/hooks/useBranchManager.js +115 -26
  104. package/dist/editor/hooks/useBranchManager.js.map +1 -1
  105. package/dist/editor/hooks/useDraftManager.d.ts +8 -0
  106. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  107. package/dist/editor/hooks/useDraftManager.js +261 -21
  108. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  109. package/dist/editor/hooks/useEntryManager.d.ts +21 -0
  110. package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
  111. package/dist/editor/hooks/useEntryManager.js +25 -2
  112. package/dist/editor/hooks/useEntryManager.js.map +1 -1
  113. package/dist/editor/theme.d.ts +8 -8
  114. package/dist/git-manager.d.ts +51 -7
  115. package/dist/git-manager.d.ts.map +1 -1
  116. package/dist/git-manager.js +105 -14
  117. package/dist/git-manager.js.map +1 -1
  118. package/dist/http/handler.d.ts.map +1 -1
  119. package/dist/http/handler.js +70 -27
  120. package/dist/http/handler.js.map +1 -1
  121. package/dist/http/router.d.ts.map +1 -1
  122. package/dist/http/router.js +40 -3
  123. package/dist/http/router.js.map +1 -1
  124. package/dist/operating-mode/deployment-name-fixtures.d.ts +29 -0
  125. package/dist/operating-mode/deployment-name-fixtures.d.ts.map +1 -0
  126. package/dist/operating-mode/deployment-name-fixtures.js +55 -0
  127. package/dist/operating-mode/deployment-name-fixtures.js.map +1 -0
  128. package/dist/operating-mode/deployment-name.d.ts +9 -0
  129. package/dist/operating-mode/deployment-name.d.ts.map +1 -1
  130. package/dist/operating-mode/deployment-name.js +9 -1
  131. package/dist/operating-mode/deployment-name.js.map +1 -1
  132. package/dist/operating-mode/index.d.ts +2 -1
  133. package/dist/operating-mode/index.d.ts.map +1 -1
  134. package/dist/operating-mode/index.js +4 -1
  135. package/dist/operating-mode/index.js.map +1 -1
  136. package/dist/operating-mode/mode-env.d.ts +58 -0
  137. package/dist/operating-mode/mode-env.d.ts.map +1 -0
  138. package/dist/operating-mode/mode-env.js +97 -0
  139. package/dist/operating-mode/mode-env.js.map +1 -0
  140. package/dist/resolve-canopy-user.d.ts +34 -0
  141. package/dist/resolve-canopy-user.d.ts.map +1 -0
  142. package/dist/resolve-canopy-user.js +55 -0
  143. package/dist/resolve-canopy-user.js.map +1 -0
  144. package/dist/schema/schema-store.d.ts +53 -2
  145. package/dist/schema/schema-store.d.ts.map +1 -1
  146. package/dist/schema/schema-store.js +92 -21
  147. package/dist/schema/schema-store.js.map +1 -1
  148. package/dist/server.d.ts +9 -0
  149. package/dist/server.d.ts.map +1 -1
  150. package/dist/server.js +9 -0
  151. package/dist/server.js.map +1 -1
  152. package/dist/services.d.ts.map +1 -1
  153. package/dist/services.js +40 -6
  154. package/dist/services.js.map +1 -1
  155. package/dist/settings-workspace.d.ts +40 -0
  156. package/dist/settings-workspace.d.ts.map +1 -1
  157. package/dist/settings-workspace.js +139 -151
  158. package/dist/settings-workspace.js.map +1 -1
  159. package/dist/types.d.ts +10 -0
  160. package/dist/types.d.ts.map +1 -1
  161. package/dist/utils/content-write-lock.d.ts +127 -0
  162. package/dist/utils/content-write-lock.d.ts.map +1 -0
  163. package/dist/utils/content-write-lock.js +170 -0
  164. package/dist/utils/content-write-lock.js.map +1 -0
  165. package/dist/utils/error.d.ts +1 -1
  166. package/dist/utils/error.js +1 -1
  167. package/dist/utils/git.d.ts +16 -0
  168. package/dist/utils/git.d.ts.map +1 -1
  169. package/dist/utils/git.js +22 -0
  170. package/dist/utils/git.js.map +1 -1
  171. package/dist/utils/sanitize-href.d.ts +28 -3
  172. package/dist/utils/sanitize-href.d.ts.map +1 -1
  173. package/dist/utils/sanitize-href.js +64 -6
  174. package/dist/utils/sanitize-href.js.map +1 -1
  175. package/dist/validation/entry-link-validator.d.ts +1 -1
  176. package/dist/validation/entry-link-validator.js +3 -3
  177. package/dist/validation/entry-link-validator.js.map +1 -1
  178. package/dist/validation/entry-validator.js +1 -1
  179. package/dist/validation/entry-validator.js.map +1 -1
  180. package/dist/worker/cms-worker.d.ts +13 -0
  181. package/dist/worker/cms-worker.d.ts.map +1 -1
  182. package/dist/worker/cms-worker.js +326 -264
  183. package/dist/worker/cms-worker.js.map +1 -1
  184. package/package.json +2 -2
@@ -2,6 +2,7 @@ import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { isValidId } from './id.js';
4
4
  import { isNotFoundError } from './utils/error.js';
5
+ import { canopyLogWarn } from './utils/logger.js';
5
6
  /** Logical path representing entries stored at the branch root (no parent collection). Rare in practice. */
6
7
  const EMPTY_LOGICAL_PATH = '';
7
8
  /**
@@ -51,26 +52,116 @@ function toLogicalCollectionPath(physicalPath) {
51
52
  * (ID miss or index hit whose file is gone).
52
53
  *
53
54
  * **Race condition handling:**
54
- * - Multiple processes creating entries simultaneously: Each generates a unique ID,
55
- * collisions detected during index build (fail fast)
55
+ * - Multiple processes creating entries simultaneously: each generates a unique ID,
56
+ * so this cannot itself manufacture a duplicate-ID pair.
56
57
  * - ContentStore.write() refuses to recreate an entry file whose ID the
57
58
  * directory listing places at a different slug (existence guard), so stale
58
- * indexes cannot manufacture duplicate-ID files.
59
+ * indexes cannot manufacture duplicate-ID files either. Together these two
60
+ * guarantees mean buildFromFilenames() can only ever encounter a duplicate
61
+ * ID that ALREADY existed on disk before the scan started (see below).
62
+ *
63
+ * ## Duplicate-ID quarantine (not fail-fast)
64
+ *
65
+ * A duplicate embedded ID can still land on disk from an external crash --
66
+ * e.g. ContentStore.renameEntry()'s `fs.link()` then `fs.unlink()` is not
67
+ * atomic, and a crash between the two steps leaves two filenames sharing one
68
+ * ID. Earlier versions of this class threw on the first such collision,
69
+ * which propagated out of every caller and (since ContentStore's rebuild has
70
+ * no catch around it) permanently bricked read-by-id, reference resolution,
71
+ * collection listing, and every write on the branch -- one bad pair took the
72
+ * whole branch down.
73
+ *
74
+ * `buildFromFilenames()` now quarantines a collision instead of throwing:
75
+ * the two (or more) candidates sharing an ID are resolved to a single
76
+ * deterministic winner -- the lexicographically-**smallest** relativePath,
77
+ * chosen purely by comparing the candidate strings, never by which one the
78
+ * scan happened to visit first. This is what makes the choice agree across
79
+ * hosts: two Lambdas (or a Lambda and the EC2 worker) scanning the same
80
+ * directory can observe entries in different `readdir()` orders, but the
81
+ * MIN of a fixed set of strings does not depend on visitation order, so
82
+ * every host converges on the same winner. The loser(s) are excluded from
83
+ * `idToLocation`/`pathToId`/`byCollection` entirely (as if not indexed) and
84
+ * recorded in {@link getDuplicateIds} for admin-facing health reporting
85
+ * (branch-health.ts) and repair (api/admin-branch-health.ts). A branch with a
86
+ * quarantined duplicate is degraded (that one ID pair is invisible to
87
+ * ID-based lookups) but not dead.
88
+ *
89
+ * ### What quarantine does NOT promise
90
+ *
91
+ * Quarantining is an INDEX decision: this scan never touches the filesystem,
92
+ * so nothing here moves or deletes the dropped file. It does not follow that
93
+ * the dropped file is inert until an admin repairs it, and an earlier version
94
+ * of this comment wrongly claimed exactly that ("left untouched on disk until
95
+ * a human or the repair action moves them"). Slugs are resolved by directory
96
+ * scan (`ContentStore.buildPaths()`), which knows nothing about this
97
+ * quarantine, so the dropped file stays fully addressable by
98
+ * collection+slug: a stale editor tab can still save, delete or rename it.
99
+ *
100
+ * The dangerous case was the save. `ContentStore.write()`'s index-repair step
101
+ * reads "the index says this ID lives somewhere else" as "the slug changed"
102
+ * and unlinks that other file -- which, with a duplicate, is a DIFFERENT
103
+ * document (the kept one). It silently deleted the winner while reporting
104
+ * success. `write()` now refuses such a save with `DuplicateContentIdError`
105
+ * instead (see its "[F1] duplicate-ID guard"). `delete()`/`renameEntry()`
106
+ * were never affected: they only ever touch the file the caller addressed,
107
+ * and are deliberately still allowed, so removing or moving the dropped file
108
+ * by hand remains possible without an admin.
59
109
  */
60
110
  export class ContentIdIndex {
61
111
  constructor(root) {
62
112
  this.idToLocation = new Map();
63
113
  this.pathToId = new Map();
64
114
  this.byCollection = new Map();
115
+ /**
116
+ * IDs discovered on more than one file during buildFromFilenames, keyed by
117
+ * id, mapping to every quarantined (losing) path seen for that id. Never
118
+ * populated by add()/remove()/updatePath(), which still throw on collision
119
+ * -- see those methods' doc comments.
120
+ */
121
+ this.duplicateIds = new Map();
65
122
  this.root = path.resolve(root);
66
123
  }
67
124
  /**
68
- * Build index by scanning filenames recursively.
69
- * Throws if duplicate IDs found (collision detection).
125
+ * Build index by scanning filenames recursively. Duplicate embedded IDs
126
+ * are quarantined, not thrown on -- see the class doc comment's
127
+ * "Duplicate-ID quarantine" section and {@link getDuplicateIds}.
70
128
  */
71
129
  async buildFromFilenames(startPath = '') {
72
130
  await this.scanDirectory(startPath);
73
131
  }
132
+ /** Insert a location into all three indexes. Caller must ensure no existing entry for this id. */
133
+ insertLocation(id, location) {
134
+ this.idToLocation.set(id, location);
135
+ this.pathToId.set(location.relativePath, id);
136
+ if (location.type === 'entry' && location.collection) {
137
+ if (!this.byCollection.has(location.collection)) {
138
+ this.byCollection.set(location.collection, new Set());
139
+ }
140
+ this.byCollection.get(location.collection).add(id);
141
+ }
142
+ }
143
+ /** Remove a location from all three indexes -- used when a lexicographically-earlier duplicate displaces it. */
144
+ evictLocation(location) {
145
+ this.idToLocation.delete(location.id);
146
+ this.pathToId.delete(location.relativePath);
147
+ if (location.type === 'entry' && location.collection) {
148
+ const idSet = this.byCollection.get(location.collection);
149
+ if (idSet) {
150
+ idSet.delete(location.id);
151
+ if (idSet.size === 0)
152
+ this.byCollection.delete(location.collection);
153
+ }
154
+ }
155
+ }
156
+ /** Record a quarantined duplicate path for admin-facing health reporting (see getDuplicateIds). */
157
+ recordDuplicate(id, droppedPath) {
158
+ let dropped = this.duplicateIds.get(id);
159
+ if (!dropped) {
160
+ dropped = new Set();
161
+ this.duplicateIds.set(id, dropped);
162
+ }
163
+ dropped.add(droppedPath);
164
+ }
74
165
  async scanDirectory(relativePath) {
75
166
  const absoluteDir = path.join(this.root, relativePath);
76
167
  try {
@@ -83,13 +174,6 @@ export class ContentIdIndex {
83
174
  const fullRelativePath = path.join(relativePath, entry.name);
84
175
  const id = extractIdFromFilename(entry.name);
85
176
  if (id) {
86
- // Collision detection
87
- if (this.idToLocation.has(id)) {
88
- const existing = this.idToLocation.get(id);
89
- throw new Error(`ID collision detected: ${id}\n` +
90
- ` File 1: ${existing.relativePath}\n` +
91
- ` File 2: ${fullRelativePath}`);
92
- }
93
177
  const location = {
94
178
  id, // already ContentId from extractIdFromFilename
95
179
  type: entry.isDirectory() ? 'collection' : 'entry',
@@ -104,14 +188,41 @@ export class ContentIdIndex {
104
188
  const collectionPath = toLogicalCollectionPath(physicalCollection);
105
189
  location.slug = slug;
106
190
  location.collection = collectionPath;
107
- // Add to collection index
108
- if (!this.byCollection.has(collectionPath)) {
109
- this.byCollection.set(collectionPath, new Set());
191
+ }
192
+ const existing = this.idToLocation.get(id);
193
+ if (existing) {
194
+ // Duplicate embedded ID -- quarantine instead of throwing (see
195
+ // class doc comment). Deterministic winner: the
196
+ // lexicographically-smaller relativePath, decided purely by
197
+ // comparing the two strings so every host scanning the same
198
+ // directory picks the same winner regardless of readdir order.
199
+ const newWins = fullRelativePath < existing.relativePath;
200
+ const kept = newWins ? fullRelativePath : existing.relativePath;
201
+ const dropped = newWins ? existing.relativePath : fullRelativePath;
202
+ if (newWins) {
203
+ this.evictLocation(existing);
204
+ this.recordDuplicate(id, existing.relativePath);
205
+ this.insertLocation(id, location);
110
206
  }
111
- this.byCollection.get(collectionPath).add(id);
207
+ else {
208
+ this.recordDuplicate(id, fullRelativePath);
209
+ }
210
+ // Written for an operator who has never seen this code: name
211
+ // both files, say explicitly that the dropped one still exists
212
+ // (quarantine, not deletion), and point at the concrete recovery
213
+ // action rather than an internal method name.
214
+ canopyLogWarn(`[ContentIdIndex] Duplicate content ID ${id}: "${kept}" and "${dropped}" both ` +
215
+ `embed this ID. Keeping "${kept}" for ID-based lookups (reads, references, ` +
216
+ `listings); "${dropped}" is excluded from those lookups for now but has NOT ` +
217
+ `been deleted -- it is still on disk at that path, and saves addressed to it are ` +
218
+ `refused until this is resolved. An admin can resolve this via ` +
219
+ `the repair-content-duplicates admin action for this branch, which archives ` +
220
+ `"${dropped}" with a dot-prefixed name so future scans stop flagging it. ` +
221
+ `Root: ${this.root}`);
222
+ }
223
+ else {
224
+ this.insertLocation(id, location);
112
225
  }
113
- this.idToLocation.set(id, location);
114
- this.pathToId.set(fullRelativePath, id);
115
226
  }
116
227
  // Recurse into directories
117
228
  if (entry.isDirectory()) {
@@ -126,6 +237,47 @@ export class ContentIdIndex {
126
237
  }
127
238
  }
128
239
  }
240
+ /**
241
+ * IDs discovered on more than one file during the last buildFromFilenames
242
+ * scan. Empty unless the content tree currently has a duplicate-ID pair
243
+ * (see the class doc comment). Consumed by branch-health.ts's admin scan
244
+ * and by the repair-content-duplicates admin action
245
+ * (api/admin-branch-health.ts).
246
+ */
247
+ getDuplicateIds() {
248
+ const result = [];
249
+ for (const id of this.duplicateIds.keys()) {
250
+ const duplicate = this.getDuplicateFor(id);
251
+ if (duplicate)
252
+ result.push(duplicate);
253
+ }
254
+ return result;
255
+ }
256
+ /**
257
+ * The quarantine record for ONE id, or null when that id is not
258
+ * duplicated. The O(1) counterpart to {@link getDuplicateIds} for the
259
+ * write path, which has to ask this question on every save whose resolved
260
+ * path disagrees with the index (ContentStore.write()'s duplicate-ID
261
+ * guard) and must not pay for materializing the whole list.
262
+ */
263
+ getDuplicateFor(id) {
264
+ const dropped = this.duplicateIds.get(id);
265
+ if (!dropped)
266
+ return null;
267
+ const kept = this.idToLocation.get(id);
268
+ // Defensive: unreachable in practice -- recordDuplicate() only ever
269
+ // runs alongside an insertLocation() for the same id (either just
270
+ // before, on the winner-displaced branch, or already present, on the
271
+ // loser branch), so a winner always exists once a duplicate is
272
+ // recorded.
273
+ if (!kept)
274
+ return null;
275
+ return {
276
+ id: id,
277
+ keptPath: kept.relativePath,
278
+ droppedPaths: Array.from(dropped).sort(),
279
+ };
280
+ }
129
281
  /**
130
282
  * Forward lookup: ID → location (O(1))
131
283
  */
@@ -1 +1 @@
1
- {"version":3,"file":"content-id-index.js","sourceRoot":"","sources":["../src/content-id-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-id-index.js","sourceRoot":"","sources":["../src/content-id-index.ts"],"names":[],"mappings":"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"}
@@ -28,15 +28,15 @@ export type WriteInput = {
28
28
  format: 'md' | 'mdx';
29
29
  data?: Record<string, unknown>;
30
30
  body: string;
31
- expectedVersion?: number;
31
+ expectedVersion?: number | null;
32
32
  } | {
33
33
  format: 'json';
34
34
  data: Record<string, unknown>;
35
- expectedVersion?: number;
35
+ expectedVersion?: number | null;
36
36
  } | {
37
37
  format: 'yaml';
38
38
  data: Record<string, unknown>;
39
- expectedVersion?: number;
39
+ expectedVersion?: number | null;
40
40
  };
41
41
  export type ContentStoreErrorCode = 'NOT_FOUND' | 'NO_SCHEMA_ITEM' | 'FORBIDDEN' | 'VALIDATION';
42
42
  export declare class ContentStoreError extends Error {
@@ -48,7 +48,49 @@ export declare class ContentStoreError extends Error {
48
48
  * Indicates a cross-process concurrent write — the caller should reload and retry.
49
49
  */
50
50
  export declare class ContentConflictError extends Error {
51
- constructor();
51
+ constructor(message?: string);
52
+ }
53
+ /**
54
+ * [SYNC-C1] Thrown when a mutation could not take the branch's cross-host
55
+ * content-write lock within its bounded wait -- in practice, the worker is
56
+ * mid-rebase on this branch's working tree (utils/content-write-lock.ts).
57
+ *
58
+ * A `ContentConflictError` subclass so every existing 409 mapping keeps
59
+ * working unchanged; the distinct type exists so the API can surface THIS
60
+ * message ("the branch is busy, retry") instead of the generic "modified by
61
+ * another editor", which would be actively misleading. The default wording
62
+ * covers writer-vs-writer contention too, which this lock also produces --
63
+ * see ContentWriteLockBusyError.
64
+ */
65
+ export declare class BranchSyncingError extends ContentConflictError {
66
+ constructor(message: string);
67
+ }
68
+ /**
69
+ * [F1] Thrown when a save's content ID is carried by MORE THAN ONE file in
70
+ * the branch's content tree -- the duplicate-ID state `ContentIdIndex`
71
+ * quarantines (see its "Duplicate-ID quarantine" section).
72
+ *
73
+ * Why refuse rather than write: with two files sharing one ID, "this entry"
74
+ * is ambiguous, and every way of proceeding is worse than stopping.
75
+ * Following the index would mutate (and, via the slug-change cleanup, DELETE)
76
+ * a file the caller never addressed -- the data-loss bug this class exists to
77
+ * prevent. Writing only the addressed file would succeed silently into a file
78
+ * that is invisible to every ID-based lookup (reads-by-id, references,
79
+ * listings all resolve to the OTHER copy) and that the repair action later
80
+ * archives away, so the editor's work would appear to evaporate with no error
81
+ * anywhere. Refusing mutates nothing under any interleaving, and says what is
82
+ * wrong and who can fix it.
83
+ *
84
+ * A `ContentConflictError` subclass so every existing 409 mapping keeps
85
+ * working; the distinct type exists so the API can surface THIS message
86
+ * rather than the generic "modified by another editor", which would send the
87
+ * editor into a reload-and-retry loop that cannot succeed.
88
+ */
89
+ export declare class DuplicateContentIdError extends ContentConflictError {
90
+ readonly contentId: string;
91
+ /** Every path known to carry `contentId`, repo-relative, sorted. */
92
+ readonly paths: readonly string[];
93
+ constructor(contentId: string, paths: readonly string[]);
52
94
  }
53
95
  /**
54
96
  * Get the default entry type from a collection's entries array.
@@ -72,6 +114,13 @@ export interface ContentStoreOptions {
72
114
  * path-based reads keep working. Defaults to 'content'.
73
115
  */
74
116
  contentRootName?: string;
117
+ /**
118
+ * [SYNC-C1] Bounded wait (ms) for the branch's cross-host content-write lock
119
+ * before a mutation gives up with {@link BranchSyncingError}. See
120
+ * `utils/content-write-lock.ts` for why the default is short. Tests pass a
121
+ * small value to keep contention cases fast.
122
+ */
123
+ contentWriteLockWaitMs?: number;
75
124
  }
76
125
  export declare class ContentStore {
77
126
  private readonly root;
@@ -93,9 +142,29 @@ export declare class ContentStore {
93
142
  private lastDiskProbeMs;
94
143
  private lastForcedRefreshMs;
95
144
  private readonly indexFreshnessIntervalMs;
145
+ /** See ContentStoreOptions.contentWriteLockWaitMs. */
146
+ private readonly contentWriteLockWaitMs;
96
147
  /** In-flight index build, shared by concurrent idIndex() callers so scans never interleave. */
97
148
  private indexBuild;
98
149
  constructor(root: string, flatSchema: FlatSchemaItem[], options?: ContentStoreOptions);
150
+ /**
151
+ * [SYNC-C1] Run a working-tree mutation under the branch's cross-host
152
+ * content-write lock (utils/content-write-lock.ts), on top of the
153
+ * in-process locks the callee takes for itself.
154
+ *
155
+ * The in-process mutex serializes writers inside ONE process; it says
156
+ * nothing about the EC2 worker rebasing this same tree on shared EFS, which
157
+ * destroys an in-flight save (`checkout --theirs` overwrites it and the
158
+ * rebase then reports success; `rebase --abort` hard-resets it). This is the
159
+ * layer that actually excludes the two.
160
+ *
161
+ * Reads deliberately do NOT take it -- an extra EFS round-trip per read is
162
+ * not an acceptable cost, and reads cannot be destroyed by a rebase.
163
+ *
164
+ * Acquisition order is always content lock -> `withLock`, never the reverse,
165
+ * so the two cannot deadlock.
166
+ */
167
+ private withContentWriteExclusion;
99
168
  /**
100
169
  * Mark the ID index stale so the next idIndex() access rebuilds it from disk.
101
170
  *
@@ -146,10 +215,15 @@ export declare class ContentStore {
146
215
  */
147
216
  private refreshIndexForSuspiciousLookup;
148
217
  /**
149
- * Find the file in `dir` whose filename embeds `id`.
150
- * Returns its root-relative path, or null if no such file (or no such dir).
218
+ * Every file in `dir` whose filename embeds `id`, as root-relative paths
219
+ * (empty when there is no such file, or no such dir).
220
+ *
221
+ * [F1] Returns ALL matches, not the first: more than one match is a
222
+ * duplicate-ID pair, and callers must be able to tell that apart from a
223
+ * clean single hit rather than silently picking whichever one `readdir()`
224
+ * happened to yield first.
151
225
  */
152
- private findEntryPathById;
226
+ private findEntryPathsById;
153
227
  /**
154
228
  * Get all schema items for iteration.
155
229
  * Used internally by ReferenceResolver for path matching.
@@ -1 +1 @@
1
- {"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"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"}