canopycms 0.0.55 → 0.0.57

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 (123) hide show
  1. package/dist/api/branch.d.ts +6 -0
  2. package/dist/api/branch.d.ts.map +1 -1
  3. package/dist/api/branch.js +63 -19
  4. package/dist/api/branch.js.map +1 -1
  5. package/dist/api/content.d.ts +2 -2
  6. package/dist/api/entries.d.ts.map +1 -1
  7. package/dist/api/entries.js +10 -2
  8. package/dist/api/entries.js.map +1 -1
  9. package/dist/api/github-sync.d.ts.map +1 -1
  10. package/dist/api/github-sync.js +28 -7
  11. package/dist/api/github-sync.js.map +1 -1
  12. package/dist/auth/caching-auth-plugin.d.ts +8 -1
  13. package/dist/auth/caching-auth-plugin.d.ts.map +1 -1
  14. package/dist/auth/caching-auth-plugin.js +6 -1
  15. package/dist/auth/caching-auth-plugin.js.map +1 -1
  16. package/dist/auth/plugin.d.ts +19 -10
  17. package/dist/auth/plugin.d.ts.map +1 -1
  18. package/dist/auth/plugin.js +12 -10
  19. package/dist/auth/plugin.js.map +1 -1
  20. package/dist/branch-metadata.d.ts +71 -6
  21. package/dist/branch-metadata.d.ts.map +1 -1
  22. package/dist/branch-metadata.js +132 -116
  23. package/dist/branch-metadata.js.map +1 -1
  24. package/dist/branch-registry.d.ts +78 -9
  25. package/dist/branch-registry.d.ts.map +1 -1
  26. package/dist/branch-registry.js +155 -29
  27. package/dist/branch-registry.js.map +1 -1
  28. package/dist/branch-schema-cache.d.ts +126 -11
  29. package/dist/branch-schema-cache.d.ts.map +1 -1
  30. package/dist/branch-schema-cache.js +208 -58
  31. package/dist/branch-schema-cache.js.map +1 -1
  32. package/dist/build/generate-ai-content.d.ts.map +1 -1
  33. package/dist/build/generate-ai-content.js +7 -0
  34. package/dist/build/generate-ai-content.js.map +1 -1
  35. package/dist/cli/generate-ai-content.js +2358 -1556
  36. package/dist/cli/init.d.ts.map +1 -1
  37. package/dist/cli/init.js +16 -8
  38. package/dist/cli/init.js.map +1 -1
  39. package/dist/cli/migrate.d.ts.map +1 -1
  40. package/dist/cli/migrate.js +25 -0
  41. package/dist/cli/migrate.js.map +1 -1
  42. package/dist/cli/sync.js +5 -5
  43. package/dist/cli/sync.js.map +1 -1
  44. package/dist/cli/templates.d.ts.map +1 -1
  45. package/dist/cli/templates.js +6 -3
  46. package/dist/cli/templates.js.map +1 -1
  47. package/dist/comment-store.d.ts +45 -15
  48. package/dist/comment-store.d.ts.map +1 -1
  49. package/dist/comment-store.js +80 -101
  50. package/dist/comment-store.js.map +1 -1
  51. package/dist/config/helpers.d.ts.map +1 -1
  52. package/dist/config/helpers.js +3 -0
  53. package/dist/config/helpers.js.map +1 -1
  54. package/dist/config/schemas/config.d.ts +3 -4
  55. package/dist/config/schemas/config.d.ts.map +1 -1
  56. package/dist/config/schemas/config.js +6 -3
  57. package/dist/config/schemas/config.js.map +1 -1
  58. package/dist/config/types.d.ts +6 -1
  59. package/dist/config/types.d.ts.map +1 -1
  60. package/dist/config-test.d.ts +5 -3
  61. package/dist/config-test.d.ts.map +1 -1
  62. package/dist/config-test.js +9 -1
  63. package/dist/config-test.js.map +1 -1
  64. package/dist/content-index-generation.d.ts +40 -4
  65. package/dist/content-index-generation.d.ts.map +1 -1
  66. package/dist/content-index-generation.js +70 -73
  67. package/dist/content-index-generation.js.map +1 -1
  68. package/dist/content-listing.d.ts +3 -1
  69. package/dist/content-listing.d.ts.map +1 -1
  70. package/dist/content-listing.js +1 -0
  71. package/dist/content-listing.js.map +1 -1
  72. package/dist/content-store.d.ts +63 -0
  73. package/dist/content-store.d.ts.map +1 -1
  74. package/dist/content-store.js +421 -184
  75. package/dist/content-store.js.map +1 -1
  76. package/dist/editor/Editor.d.ts.map +1 -1
  77. package/dist/editor/Editor.js +19 -15
  78. package/dist/editor/Editor.js.map +1 -1
  79. package/dist/editor/hooks/useDraftManager.d.ts +7 -0
  80. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  81. package/dist/editor/hooks/useDraftManager.js +69 -31
  82. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  83. package/dist/editor/hooks/useSchemaManager.d.ts +34 -10
  84. package/dist/editor/hooks/useSchemaManager.d.ts.map +1 -1
  85. package/dist/editor/hooks/useSchemaManager.js +20 -24
  86. package/dist/editor/hooks/useSchemaManager.js.map +1 -1
  87. package/dist/editor/schema-editor/CollectionEditor.d.ts +6 -5
  88. package/dist/editor/schema-editor/CollectionEditor.d.ts.map +1 -1
  89. package/dist/editor/schema-editor/CollectionEditor.js +9 -4
  90. package/dist/editor/schema-editor/CollectionEditor.js.map +1 -1
  91. package/dist/git-manager.d.ts +15 -10
  92. package/dist/git-manager.d.ts.map +1 -1
  93. package/dist/git-manager.js +16 -11
  94. package/dist/git-manager.js.map +1 -1
  95. package/dist/github-service.d.ts +63 -7
  96. package/dist/github-service.d.ts.map +1 -1
  97. package/dist/github-service.js +147 -39
  98. package/dist/github-service.js.map +1 -1
  99. package/dist/resource-generation.d.ts +54 -0
  100. package/dist/resource-generation.d.ts.map +1 -0
  101. package/dist/resource-generation.js +156 -0
  102. package/dist/resource-generation.js.map +1 -0
  103. package/dist/schema/schema-store.d.ts +29 -2
  104. package/dist/schema/schema-store.d.ts.map +1 -1
  105. package/dist/schema/schema-store.js +47 -8
  106. package/dist/schema/schema-store.js.map +1 -1
  107. package/dist/services.js +4 -0
  108. package/dist/services.js.map +1 -1
  109. package/dist/static/index.d.ts +32 -0
  110. package/dist/static/index.d.ts.map +1 -1
  111. package/dist/static/index.js +90 -0
  112. package/dist/static/index.js.map +1 -1
  113. package/dist/sync-core.js +2 -2
  114. package/dist/sync-core.js.map +1 -1
  115. package/dist/utils/occ-json-write.d.ts +100 -0
  116. package/dist/utils/occ-json-write.d.ts.map +1 -0
  117. package/dist/utils/occ-json-write.js +234 -0
  118. package/dist/utils/occ-json-write.js.map +1 -0
  119. package/dist/worker/cms-worker.d.ts +6 -3
  120. package/dist/worker/cms-worker.d.ts.map +1 -1
  121. package/dist/worker/cms-worker.js +42 -41
  122. package/dist/worker/cms-worker.js.map +1 -1
  123. package/package.json +2 -1
@@ -1,13 +1,15 @@
1
- import fs from 'node:fs/promises';
2
- import path from 'node:path';
3
- import { randomUUID } from 'node:crypto';
4
- import { atomicWriteFile } from './utils/atomic-write.js';
5
- import { getErrorMessage, isNodeError } from './utils/error.js';
1
+ import { resourceGenerationPath, bumpResourceGeneration, readResourceGeneration, } from './resource-generation.js';
6
2
  import { invalidateContentIndexesForRoot } from './content-index-registry.js';
7
- import { createDebugLogger } from './utils/debug.js';
3
+ import { SCHEMA_GENERATION_RESOURCE } from './branch-schema-cache.js';
8
4
  /**
9
5
  * Cross-process ContentId index generation marker.
10
6
  *
7
+ * This is the ContentIdIndex-specific instance of the generic on-disk
8
+ * generation-marker protocol in resource-generation.ts — see that module's
9
+ * doc comment for the full protocol (random-token rationale, bump/read
10
+ * ordering, and the general residual staleness windows A/B/C/E). This file
11
+ * documents only what is specific to the in-memory ContentIdIndex.
12
+ *
11
13
  * The ContentIdIndex is an in-memory map per ContentStore instance. Within one
12
14
  * process, content-index-registry.ts invalidates stale indexes directly. Across
13
15
  * processes (several warm Lambda containers + the EC2 worker sharing branch
@@ -17,62 +19,36 @@ import { createDebugLogger } from './utils/debug.js';
17
19
  * file with a fresh random token, and every ContentStore cheaply re-reads that
18
20
  * marker (throttled) to decide whether its in-memory index is still current.
19
21
  *
20
- * The marker lives at {root}/.canopy-meta/content-index.generation:
21
- * `.canopy-meta/` is the established per-clone internal dir — dot-prefixed (so
22
- * content and index scans skip it) and excluded from git via .git/info/exclude.
23
- *
24
- * ## Why a random token instead of a monotonic counter
25
- *
26
- * Readers only need "did it change since I captured it", so inequality against
27
- * the captured value suffices. A counter would need read-modify-write, which
28
- * silently loses concurrent bumps without a lock (two bumpers read 5, both
29
- * write 6 — a reader that recorded 6 after the first bump never learns of the
30
- * second mutation). A unique token per bump has no lost-update problem, needs
31
- * no lock, and avoids NFS mtime-granularity / cross-host clock-skew issues.
32
- * Each bump is a single atomic temp-file + rename.
33
- *
34
- * ## Ordering protocol (correctness)
22
+ * The marker lives at {root}/.canopy-meta/content-index.generation.
35
23
  *
36
- * - Bumpers write the marker strictly AFTER their filesystem mutations.
37
- * - Readers capture the marker token strictly BEFORE scanning the tree, and
38
- * record it only after the scan completes. A bump landing mid-scan therefore
39
- * leaves the recorded token older than the file, forcing a rebuild on the
40
- * next probe.
24
+ * ## Residual staleness windows, as they apply here
41
25
  *
42
- * ## Consistency guarantees and residual staleness windows (EFS/NFSv4)
26
+ * All bounded in practice by per-request ContentStore lifetimes and self-healed
27
+ * by the suspicious-lookup backstop in ContentStore:
43
28
  *
44
- * Guaranteed: any completed mutation that bumps the marker is observed by every
45
- * store on that root at its next freshness probe. Residual windows, all bounded
46
- * in practice by per-request ContentStore lifetimes and self-healed by the
47
- * suspicious-lookup backstop in ContentStore:
48
- *
49
- * - (A) NFS attribute caching (benign direction): another host may not see a
50
- * new marker for up to the attribute-cache timeout (~3-60s on default EFS
51
- * mounts; `noac` cannot be assumed). The reader acts on a stale token and
52
- * keeps a stale index until the cache expires.
29
+ * - (A) NFS attribute caching: another host may not see a new marker for up to
30
+ * the attribute-cache timeout (~3-60s on default EFS mounts). The reader acts
31
+ * on a stale token and keeps a stale index until the cache expires.
53
32
  * - (B) Probe throttle: up to ContentStore's indexFreshnessIntervalMs (1s).
54
33
  * - (C) Self-adoption: after its own mutation a store adopts the token it
55
34
  * wrote; if a concurrent foreign bump landed just before ours, we miss that
56
35
  * one notification (window: from our last token observation to our rename).
57
- * - (E) Fresh-token/stale-scan (malignant direction, cross-host only): NFS
58
- * revalidates the marker file on open, but a rebuild's readdir calls may be
59
- * served from dentry/attribute caches — a scan can record a NEW token against
60
- * PRE-mutation directory listings, leaving that store confidently stale until
61
- * the next bump. Structurally unfixable with a filesystem marker; bounded by
62
- * per-request store lifetimes and the backstop.
36
+ * - (E) Fresh-token/stale-scan (cross-host only): a rebuild's readdir calls may
37
+ * be served from stale dentry/attribute caches, recording a NEW token against
38
+ * PRE-mutation directory listings. Unlike a durable-snapshot consumer (see
39
+ * resource-generation.ts), this only mis-serves ONE process's in-memory
40
+ * index for the remainder of its lifetime — it is not written back to disk,
41
+ * so it cannot become a shared stale state visible to other hosts.
63
42
  *
64
43
  * Wrong-file WRITE corruption (recreating a concurrently renamed entry →
65
44
  * duplicate IDs) is prevented independently of this marker by the existence
66
45
  * guard in ContentStore.write(), which consults the actual directory listing
67
46
  * before recreating a missing expected file.
68
47
  */
69
- const log = createDebugLogger({ prefix: 'ContentIndex' });
70
- /** Matches BRANCH_META_DIR in branch-metadata.ts — the per-clone internal dir. */
71
- const META_DIR = '.canopy-meta';
72
- const GENERATION_FILE = 'content-index.generation';
48
+ const RESOURCE = 'content-index';
73
49
  /** Absolute path of the generation marker for a branch-clone root. */
74
50
  export function contentIndexGenerationPath(root) {
75
- return path.join(path.resolve(root), META_DIR, GENERATION_FILE);
51
+ return resourceGenerationPath(root, RESOURCE);
76
52
  }
77
53
  /**
78
54
  * Record on disk that indexed files under `root` changed, so ContentStores in
@@ -82,17 +58,7 @@ export function contentIndexGenerationPath(root) {
82
58
  * pre-marker staleness behavior plus the ContentStore backstop).
83
59
  */
84
60
  export async function bumpContentIndexGeneration(root) {
85
- const token = randomUUID();
86
- try {
87
- await atomicWriteFile(contentIndexGenerationPath(root), token);
88
- return token;
89
- }
90
- catch (err) {
91
- log.warn('generation', `Failed to bump content index generation for ${root}`, {
92
- error: getErrorMessage(err),
93
- });
94
- return null;
95
- }
61
+ return bumpResourceGeneration(root, RESOURCE);
96
62
  }
97
63
  /**
98
64
  * Read the current generation token for `root`. Returns null if the marker
@@ -101,23 +67,24 @@ export async function bumpContentIndexGeneration(root) {
101
67
  * which is the safe direction.
102
68
  */
103
69
  export async function readContentIndexGeneration(root) {
104
- try {
105
- return await fs.readFile(contentIndexGenerationPath(root), 'utf-8');
106
- }
107
- catch (err) {
108
- if (isNodeError(err) && err.code === 'ENOENT')
109
- return null;
110
- log.warn('generation', `Failed to read content index generation for ${root}`, {
111
- error: getErrorMessage(err),
112
- });
113
- return null;
114
- }
70
+ const result = await readResourceGeneration(root, RESOURCE);
71
+ return result.ok ? result.token : null;
115
72
  }
116
73
  /**
117
- * The single entry point for operations that mutate indexed files under a
118
- * branch-clone root: git working-tree mutations, content sync, collection
119
- * directory operations, CLI sync. Bumps the on-disk marker (cross-process),
120
- * then invalidates in-process registered stores.
74
+ * The designated entry point for a FUTURE content-only bulk mutation site —
75
+ * one that mutates indexed files under a branch-clone root broadly (not
76
+ * through a single known write/delete/rename call) but never touches schema.
77
+ * Bumps the on-disk content-index marker (cross-process), then invalidates
78
+ * in-process registered stores.
79
+ *
80
+ * Currently unused in production: `ContentStore`'s own write()/delete()/
81
+ * renameEntry() bump the marker directly via their `recordOwnMutation()` ->
82
+ * `bumpContentIndexGeneration()` call, not through this wrapper, and every
83
+ * existing bulk-mutation call site (git checkout/merge/rebase, sync, CLI
84
+ * sync, migrate) can touch `.collection.json` as a side effect, so those all
85
+ * use the combined `invalidateBranchContentCaches()` below instead. Kept as
86
+ * the documented, ready-to-use entry point for a future call site that is
87
+ * genuinely content-only.
121
88
  *
122
89
  * Bump-before-invalidate: the in-process invalidation triggers a rebuild on
123
90
  * next access, and that rebuild captures the marker token before scanning —
@@ -128,4 +95,34 @@ export async function invalidateContentIndexesDurable(root) {
128
95
  await bumpContentIndexGeneration(root);
129
96
  invalidateContentIndexesForRoot(root);
130
97
  }
98
+ /**
99
+ * The entry point for operations that mutate a branch-clone root's working
100
+ * tree BROADLY rather than through a single known write/delete/rename call:
101
+ * git working-tree ops (checkout/merge/rebase/abort), content sync, CLI sync,
102
+ * and migrate. Such operations can touch `.collection.json` files as a side
103
+ * effect (a rebase can pull in upstream schema changes; a sync can overwrite
104
+ * the whole content directory), so both durable, cross-process caches rooted
105
+ * at `root` need to be told: the ContentId index (content-index-registry.ts)
106
+ * AND the resolved-schema cache (branch-schema-cache.ts).
107
+ *
108
+ * `invalidateContentIndexesDurable` is the designated entry point for a
109
+ * future call site that only ever touches content files, never schema, and
110
+ * needs the durable-invalidation shape but not the extra schema bump.
111
+ * `ContentStore`'s own write/delete/rename paths don't call it either — they
112
+ * bump the content-index marker directly via `recordOwnMutation()` (see
113
+ * content-store.ts), since they already know exactly which mutation just
114
+ * happened and don't need a generic "some indexed files changed" entry point.
115
+ *
116
+ * Both marker bumps are "hint" flavor (bumpResourceGeneration's default,
117
+ * `mustSucceed` not set): callers of this function are typically `finally`
118
+ * blocks in bulk operations (e.g. a git rebase cleanup) that must not start
119
+ * throwing because a marker write failed - log-and-swallow is the existing
120
+ * semantics at those call sites, and a lost bump only degrades to pre-marker
121
+ * staleness behavior plus whatever backstop the consumer implements.
122
+ */
123
+ export async function invalidateBranchContentCaches(root) {
124
+ await bumpContentIndexGeneration(root);
125
+ await bumpResourceGeneration(root, SCHEMA_GENERATION_RESOURCE);
126
+ invalidateContentIndexesForRoot(root);
127
+ }
131
128
  //# sourceMappingURL=content-index-generation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-index-generation.js","sourceRoot":"","sources":["../src/content-index-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;AAEzD,kFAAkF;AAClF,MAAM,QAAQ,GAAG,cAAc,CAAA;AAC/B,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAElD,sEAAsE;AACtE,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAY;IAC3D,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,+CAA+C,IAAI,EAAE,EAAE;YAC5E,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC;SAC5B,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAY;IAC3D,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,+CAA+C,IAAI,EAAE,EAAE;YAC5E,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC;SAC5B,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,IAAY;IAChE,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAA;IACtC,+BAA+B,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"content-index-generation.js","sourceRoot":"","sources":["../src/content-index-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,MAAM,QAAQ,GAAG,eAAe,CAAA;AAEhC,sEAAsE;AACtE,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAY;IAC3D,OAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAY;IAC3D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3D,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,IAAY;IAChE,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAA;IACtC,+BAA+B,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,IAAY;IAC9D,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAA;IAC9D,+BAA+B,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Extracted from api/entries.ts to avoid duplication.
5
5
  */
6
- import type { ContentFormat, FlatSchemaItem, EntryTypeConfig } from './config';
6
+ import type { ContentFormat, FlatSchemaItem, EntryTypeConfig, EntrySchema } from './config';
7
7
  import type { LogicalPath, PhysicalPath, Slug, ContentId } from './paths/types';
8
8
  /**
9
9
  * An entry listing item with raw data from the filesystem.
@@ -74,6 +74,8 @@ export interface ListEntriesItem<T = Record<string, unknown>> {
74
74
  * With extract: whatever the extract function returns.
75
75
  */
76
76
  data: T;
77
+ /** Field definitions for this entry's type, when resolvable. */
78
+ schema?: EntrySchema;
77
79
  }
78
80
  export interface ListEntriesOptions<T = Record<string, unknown>> {
79
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"content-listing.d.ts","sourceRoot":"","sources":["../src/content-listing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ9E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAK/E;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,EAAE,WAAW,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAcD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,EAChB,QAAQ,aAAa,EACrB,sBAAsB,KACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,YAAY,SAAS,eAAe,EAAE,KACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GAAG,IAyBhD,CAAA;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,uCAAuC;IACvC,IAAI,EAAE,IAAI,CAAA;IACV,sCAAsC;IACtC,SAAS,EAAE,WAAW,CAAA;IACtB,wDAAwD;IACxD,OAAO,EAAE,SAAS,CAAA;IAClB,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,8BAA8B;IAC9B,cAAc,EAAE,WAAW,CAAA;IAC3B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,MAAM,EAAE,aAAa,CAAA;IACrB;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D;;;;OAIG;IACH,OAAO,CAAC,EAAE,CACR,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KACvE,CAAC,CAAA;IACN;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IAC/C;+DAC2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;CAChE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAwE/B;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,EAC7D,OAAO,CAAC,EAAE,EACV,OAAO,SAAS,MAAM,EAAE,GAAG,SAAS,EACpC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,KAC/B,CAAC,EAkBH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EACZ,YAAY,cAAc,KACzB,OAAO,CAAC,kBAAkB,EAAE,CAmF9B,CAAA"}
1
+ {"version":3,"file":"content-listing.d.ts","sourceRoot":"","sources":["../src/content-listing.ts"],"names":[],"mappings":"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"}
@@ -143,6 +143,7 @@ export async function listEntries(branchRoot, flatSchema, contentRootName, optio
143
143
  entryType: entry.entryType,
144
144
  format: entry.format,
145
145
  data,
146
+ schema: collection.entries?.find((e) => e.name === entry.entryType)?.schema,
146
147
  };
147
148
  if (filter && !filter(item))
148
149
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"content-listing.js","sourceRoot":"","sources":["../src/content-listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-listing.js","sourceRoot":"","sources":["../src/content-listing.ts"],"names":[],"mappings":"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"}
@@ -146,6 +146,49 @@ export declare class ContentStore {
146
146
  getSchemaItems(): IterableIterator<FlatSchemaItem>;
147
147
  private assertSchemaItem;
148
148
  private assertCollection;
149
+ /**
150
+ * Lock key for an existing entry, addressed by its permanent content ID
151
+ * (stable across renames -- the whole point of this locking scheme; see
152
+ * .claude/future-tasks/resolved/content-store-lock-key.md). Namespaced by store
153
+ * root: the same content ID exists in every clone of a branch, and one
154
+ * process can hold ContentStore instances on several clones (dev
155
+ * workspace roots, prod branch clones) at once, so the root prefix keeps
156
+ * the keyspace scoped per-store. It also keeps this ID keyspace disjoint
157
+ * from other modules' raw-path-keyed locks sharing the same withLock()
158
+ * map (comment-store, branch-metadata, etc).
159
+ */
160
+ private idLockKey;
161
+ /**
162
+ * Stable collection+slug identifier for lock-key namespacing. Mirrors the
163
+ * schemaItem resolution buildPaths() performs for entry-type delegation:
164
+ * an entry-type item delegates to its parent collection with the slug
165
+ * defaulting to the entry type's own name (see buildPaths()'s
166
+ * `schemaItem.type === 'entry-type'` branch).
167
+ */
168
+ private collectionSlugKey;
169
+ /**
170
+ * Lock key for a not-yet-existing entry (a create). Serializes concurrent
171
+ * same-slug creates WITHIN this process: the second call's in-lock
172
+ * buildPaths() re-resolution will find the first call's just-written file
173
+ * and fold in as an edit (see write()). A concurrent create racing from a
174
+ * DIFFERENT process is NOT covered by this in-process mutex -- accepted
175
+ * per the epic's design review: each writer mints its own fresh ID and
176
+ * writes its own distinct filename, so both writes succeed and the result
177
+ * is two same-slug files with different IDs (a slug-uniqueness violation
178
+ * surfaced on the next listing/lookup), never a duplicate-ID collision
179
+ * that would poison index rebuilds.
180
+ */
181
+ private createLockKey;
182
+ /**
183
+ * Lock key for a write()/delete() pre-pass classification. Existing
184
+ * entries lock on their content ID (idLockKey()). Legacy entries with no
185
+ * embedded ID (pre-ID-era filenames -- renameEntry() already refuses to
186
+ * touch these, via its four-part filename check, so there is no rename
187
+ * race to guard against for them) fall back to the physical path, matching
188
+ * this store's original locking behavior for that narrow case. Not-yet-
189
+ * existing entries lock on a per-slug create-key (createLockKey()).
190
+ */
191
+ private entryLockKey;
149
192
  /**
150
193
  * Build absolute and relative paths with security validation.
151
194
  * All entries use the unified filename pattern: {type}.{slug}.{id}.{ext}
@@ -175,6 +218,14 @@ export declare class ContentStore {
175
218
  relativePath: PhysicalPath;
176
219
  id?: string;
177
220
  entryTypeName?: string;
221
+ /**
222
+ * True if this slug already had a file on disk (a directory-scan finding,
223
+ * or `options.existingId` asserting one) -- i.e. this resolution is an
224
+ * edit, not a create. Used by write()/delete()/renameEntry() to pick a
225
+ * stable lock key (see entryLockKey()); NOT the same as `id` being set,
226
+ * since a brand-new entry also gets an `id` (freshly generated below).
227
+ */
228
+ existed: boolean;
178
229
  }>;
179
230
  read(collectionPath: LogicalPath, slug?: Slug | '', options?: {
180
231
  resolveReferences?: boolean;
@@ -224,6 +275,18 @@ export declare class ContentStore {
224
275
  * enforce `EntryTypeConfig.maxItems` server-side at the create boundary.
225
276
  */
226
277
  countEntriesOfType(collectionPath: LogicalPath, entryTypeName: string): Promise<number>;
278
+ /**
279
+ * Test-only seam: awaited right after the pre-pass buildPaths() resolves
280
+ * in delete() and renameEntry(), before the lock key is used to acquire
281
+ * anything. No-op in production. A test subclass can override this to
282
+ * inject a controlled pause in that exact window, letting a test
283
+ * deterministically run OTHER mutations (which don't hold this call's
284
+ * not-yet-acquired lock) to completion before this call proceeds to
285
+ * acquire its (possibly now-stale) lock key -- see the "Deterministic
286
+ * interleavings" testing pattern in docs/concurrency.md and
287
+ * branch-registry.test.ts's `BlockingRegistry` for the same idiom.
288
+ */
289
+ protected afterPrePassForTesting(): Promise<void>;
227
290
  /**
228
291
  * Delete an entry and remove it from the index.
229
292
  */
@@ -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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"}