canopycms 0.0.56 → 0.0.58

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 (272) hide show
  1. package/dist/ai/json-to-markdown.js +74 -3
  2. package/dist/ai/json-to-markdown.js.map +1 -1
  3. package/dist/api/__test__/mock-client.d.ts +9 -5
  4. package/dist/api/__test__/mock-client.d.ts.map +1 -1
  5. package/dist/api/__test__/mock-client.js +15 -7
  6. package/dist/api/__test__/mock-client.js.map +1 -1
  7. package/dist/api/assets.d.ts +100 -36
  8. package/dist/api/assets.d.ts.map +1 -1
  9. package/dist/api/assets.js +338 -51
  10. package/dist/api/assets.js.map +1 -1
  11. package/dist/api/branch.d.ts +6 -0
  12. package/dist/api/branch.d.ts.map +1 -1
  13. package/dist/api/branch.js +63 -19
  14. package/dist/api/branch.js.map +1 -1
  15. package/dist/api/client.d.ts +16 -5
  16. package/dist/api/client.d.ts.map +1 -1
  17. package/dist/api/client.js +24 -6
  18. package/dist/api/client.js.map +1 -1
  19. package/dist/api/content.d.ts +2 -2
  20. package/dist/api/entries.d.ts +4 -4
  21. package/dist/api/entries.d.ts.map +1 -1
  22. package/dist/api/entries.js +10 -2
  23. package/dist/api/entries.js.map +1 -1
  24. package/dist/api/index.d.ts +1 -1
  25. package/dist/api/index.d.ts.map +1 -1
  26. package/dist/api/index.js.map +1 -1
  27. package/dist/api/route-builder.d.ts +9 -0
  28. package/dist/api/route-builder.d.ts.map +1 -1
  29. package/dist/api/route-builder.js +1 -0
  30. package/dist/api/route-builder.js.map +1 -1
  31. package/dist/api/schema.d.ts +4 -4
  32. package/dist/api/types.d.ts +11 -1
  33. package/dist/api/types.d.ts.map +1 -1
  34. package/dist/assets/asset-prefixes.d.ts +31 -0
  35. package/dist/assets/asset-prefixes.d.ts.map +1 -0
  36. package/dist/assets/asset-prefixes.js +20 -0
  37. package/dist/assets/asset-prefixes.js.map +1 -0
  38. package/dist/assets/asset-src.d.ts +23 -0
  39. package/dist/assets/asset-src.d.ts.map +1 -0
  40. package/dist/assets/asset-src.js +28 -0
  41. package/dist/assets/asset-src.js.map +1 -0
  42. package/dist/assets/asset-url.d.ts +35 -0
  43. package/dist/assets/asset-url.d.ts.map +1 -0
  44. package/dist/assets/asset-url.js +77 -0
  45. package/dist/assets/asset-url.js.map +1 -0
  46. package/dist/assets/factory.d.ts +18 -0
  47. package/dist/assets/factory.d.ts.map +1 -0
  48. package/dist/assets/factory.js +42 -0
  49. package/dist/assets/factory.js.map +1 -0
  50. package/dist/assets/finalize.d.ts +36 -0
  51. package/dist/assets/finalize.d.ts.map +1 -0
  52. package/dist/assets/finalize.js +72 -0
  53. package/dist/assets/finalize.js.map +1 -0
  54. package/dist/assets/index.d.ts +20 -0
  55. package/dist/assets/index.d.ts.map +1 -0
  56. package/dist/assets/index.js +19 -0
  57. package/dist/assets/index.js.map +1 -0
  58. package/dist/assets/keys.d.ts +56 -0
  59. package/dist/assets/keys.d.ts.map +1 -0
  60. package/dist/assets/keys.js +88 -0
  61. package/dist/assets/keys.js.map +1 -0
  62. package/dist/assets/pipeline.d.ts +50 -0
  63. package/dist/assets/pipeline.d.ts.map +1 -0
  64. package/dist/assets/pipeline.js +202 -0
  65. package/dist/assets/pipeline.js.map +1 -0
  66. package/dist/assets/store-local.d.ts +84 -0
  67. package/dist/assets/store-local.d.ts.map +1 -0
  68. package/dist/assets/store-local.js +254 -0
  69. package/dist/assets/store-local.js.map +1 -0
  70. package/dist/assets/store-s3.d.ts +71 -0
  71. package/dist/assets/store-s3.d.ts.map +1 -0
  72. package/dist/assets/store-s3.js +183 -0
  73. package/dist/assets/store-s3.js.map +1 -0
  74. package/dist/assets/svg-sanitizer.d.ts +37 -0
  75. package/dist/assets/svg-sanitizer.d.ts.map +1 -0
  76. package/dist/assets/svg-sanitizer.js +222 -0
  77. package/dist/assets/svg-sanitizer.js.map +1 -0
  78. package/dist/assets/transform-directives.d.ts +97 -0
  79. package/dist/assets/transform-directives.d.ts.map +1 -0
  80. package/dist/assets/transform-directives.js +267 -0
  81. package/dist/assets/transform-directives.js.map +1 -0
  82. package/dist/assets/transform.d.ts +51 -0
  83. package/dist/assets/transform.d.ts.map +1 -0
  84. package/dist/assets/transform.js +190 -0
  85. package/dist/assets/transform.js.map +1 -0
  86. package/dist/assets/types.d.ts +82 -0
  87. package/dist/assets/types.d.ts.map +1 -0
  88. package/dist/assets/types.js +10 -0
  89. package/dist/assets/types.js.map +1 -0
  90. package/dist/authorization/groups/schema.d.ts +2 -2
  91. package/dist/authorization/permissions/schema.d.ts +2 -2
  92. package/dist/branch-metadata.d.ts +71 -6
  93. package/dist/branch-metadata.d.ts.map +1 -1
  94. package/dist/branch-metadata.js +132 -116
  95. package/dist/branch-metadata.js.map +1 -1
  96. package/dist/branch-registry.d.ts +78 -9
  97. package/dist/branch-registry.d.ts.map +1 -1
  98. package/dist/branch-registry.js +155 -29
  99. package/dist/branch-registry.js.map +1 -1
  100. package/dist/branch-schema-cache.d.ts +126 -11
  101. package/dist/branch-schema-cache.d.ts.map +1 -1
  102. package/dist/branch-schema-cache.js +208 -58
  103. package/dist/branch-schema-cache.js.map +1 -1
  104. package/dist/cli/generate-ai-content.js +1993 -1506
  105. package/dist/cli/init.js +16 -4
  106. package/dist/cli/migrate.d.ts.map +1 -1
  107. package/dist/cli/migrate.js +25 -0
  108. package/dist/cli/migrate.js.map +1 -1
  109. package/dist/cli/sync.js +5 -5
  110. package/dist/cli/sync.js.map +1 -1
  111. package/dist/comment-store.d.ts +45 -15
  112. package/dist/comment-store.d.ts.map +1 -1
  113. package/dist/comment-store.js +80 -101
  114. package/dist/comment-store.js.map +1 -1
  115. package/dist/config/helpers.d.ts.map +1 -1
  116. package/dist/config/helpers.js +2 -1
  117. package/dist/config/helpers.js.map +1 -1
  118. package/dist/config/index.d.ts +2 -2
  119. package/dist/config/index.d.ts.map +1 -1
  120. package/dist/config/index.js +1 -1
  121. package/dist/config/index.js.map +1 -1
  122. package/dist/config/schemas/config.d.ts +10 -0
  123. package/dist/config/schemas/config.d.ts.map +1 -1
  124. package/dist/config/schemas/field.d.ts +38 -3
  125. package/dist/config/schemas/field.d.ts.map +1 -1
  126. package/dist/config/schemas/field.js +18 -0
  127. package/dist/config/schemas/field.js.map +1 -1
  128. package/dist/config/schemas/media.d.ts +8 -0
  129. package/dist/config/schemas/media.d.ts.map +1 -1
  130. package/dist/config/schemas/media.js +9 -0
  131. package/dist/config/schemas/media.js.map +1 -1
  132. package/dist/config/types.d.ts +43 -3
  133. package/dist/config/types.d.ts.map +1 -1
  134. package/dist/config/types.js +4 -1
  135. package/dist/config/types.js.map +1 -1
  136. package/dist/content-index-generation.d.ts +40 -4
  137. package/dist/content-index-generation.d.ts.map +1 -1
  138. package/dist/content-index-generation.js +70 -73
  139. package/dist/content-index-generation.js.map +1 -1
  140. package/dist/content-store.d.ts +63 -0
  141. package/dist/content-store.d.ts.map +1 -1
  142. package/dist/content-store.js +421 -194
  143. package/dist/content-store.js.map +1 -1
  144. package/dist/editor/CanopyEditor.d.ts.map +1 -1
  145. package/dist/editor/CanopyEditor.js +1 -1
  146. package/dist/editor/CanopyEditor.js.map +1 -1
  147. package/dist/editor/Editor.d.ts +2 -0
  148. package/dist/editor/Editor.d.ts.map +1 -1
  149. package/dist/editor/Editor.js +82 -80
  150. package/dist/editor/Editor.js.map +1 -1
  151. package/dist/editor/FormRenderer.d.ts.map +1 -1
  152. package/dist/editor/FormRenderer.js +9 -0
  153. package/dist/editor/FormRenderer.js.map +1 -1
  154. package/dist/editor/components/EditorSidebar.d.ts +6 -1
  155. package/dist/editor/components/EditorSidebar.d.ts.map +1 -1
  156. package/dist/editor/components/EditorSidebar.js +4 -3
  157. package/dist/editor/components/EditorSidebar.js.map +1 -1
  158. package/dist/editor/context/AssetContext.d.ts +25 -0
  159. package/dist/editor/context/AssetContext.d.ts.map +1 -0
  160. package/dist/editor/context/AssetContext.js +26 -0
  161. package/dist/editor/context/AssetContext.js.map +1 -0
  162. package/dist/editor/context/index.d.ts +1 -0
  163. package/dist/editor/context/index.d.ts.map +1 -1
  164. package/dist/editor/context/index.js +1 -0
  165. package/dist/editor/context/index.js.map +1 -1
  166. package/dist/editor/fields/ImageField.d.ts +22 -0
  167. package/dist/editor/fields/ImageField.d.ts.map +1 -0
  168. package/dist/editor/fields/ImageField.js +100 -0
  169. package/dist/editor/fields/ImageField.js.map +1 -0
  170. package/dist/editor/fields/MarkdownField.d.ts.map +1 -1
  171. package/dist/editor/fields/MarkdownField.js +30 -4
  172. package/dist/editor/fields/MarkdownField.js.map +1 -1
  173. package/dist/editor/fields/MdxImageDialog.d.ts +16 -0
  174. package/dist/editor/fields/MdxImageDialog.d.ts.map +1 -0
  175. package/dist/editor/fields/MdxImageDialog.js +73 -0
  176. package/dist/editor/fields/MdxImageDialog.js.map +1 -0
  177. package/dist/editor/media/AssetCard.d.ts +21 -0
  178. package/dist/editor/media/AssetCard.d.ts.map +1 -0
  179. package/dist/editor/media/AssetCard.js +41 -0
  180. package/dist/editor/media/AssetCard.js.map +1 -0
  181. package/dist/editor/media/CropStep.d.ts +26 -0
  182. package/dist/editor/media/CropStep.d.ts.map +1 -0
  183. package/dist/editor/media/CropStep.js +38 -0
  184. package/dist/editor/media/CropStep.js.map +1 -0
  185. package/dist/editor/media/MediaLibrary.d.ts +22 -0
  186. package/dist/editor/media/MediaLibrary.d.ts.map +1 -0
  187. package/dist/editor/media/MediaLibrary.js +17 -0
  188. package/dist/editor/media/MediaLibrary.js.map +1 -0
  189. package/dist/editor/media/MediaLibraryBody.d.ts +17 -0
  190. package/dist/editor/media/MediaLibraryBody.d.ts.map +1 -0
  191. package/dist/editor/media/MediaLibraryBody.js +133 -0
  192. package/dist/editor/media/MediaLibraryBody.js.map +1 -0
  193. package/dist/editor/media/crop-math.d.ts +37 -0
  194. package/dist/editor/media/crop-math.d.ts.map +1 -0
  195. package/dist/editor/media/crop-math.js +62 -0
  196. package/dist/editor/media/crop-math.js.map +1 -0
  197. package/dist/editor/media/upload-asset.d.ts +31 -0
  198. package/dist/editor/media/upload-asset.d.ts.map +1 -0
  199. package/dist/editor/media/upload-asset.js +56 -0
  200. package/dist/editor/media/upload-asset.js.map +1 -0
  201. package/dist/editor/media/upload-constants.d.ts +27 -0
  202. package/dist/editor/media/upload-constants.d.ts.map +1 -0
  203. package/dist/editor/media/upload-constants.js +40 -0
  204. package/dist/editor/media/upload-constants.js.map +1 -0
  205. package/dist/editor/media/useAssetUpload.d.ts +19 -0
  206. package/dist/editor/media/useAssetUpload.d.ts.map +1 -0
  207. package/dist/editor/media/useAssetUpload.js +53 -0
  208. package/dist/editor/media/useAssetUpload.js.map +1 -0
  209. package/dist/editor/media/xhr-upload.d.ts +20 -0
  210. package/dist/editor/media/xhr-upload.d.ts.map +1 -0
  211. package/dist/editor/media/xhr-upload.js +42 -0
  212. package/dist/editor/media/xhr-upload.js.map +1 -0
  213. package/dist/editor/theme.d.ts +2 -1
  214. package/dist/editor/theme.d.ts.map +1 -1
  215. package/dist/editor/theme.js +1 -0
  216. package/dist/editor/theme.js.map +1 -1
  217. package/dist/entry-schema.d.ts +19 -0
  218. package/dist/entry-schema.d.ts.map +1 -1
  219. package/dist/entry-schema.js.map +1 -1
  220. package/dist/git-manager.d.ts +15 -10
  221. package/dist/git-manager.d.ts.map +1 -1
  222. package/dist/git-manager.js +16 -11
  223. package/dist/git-manager.js.map +1 -1
  224. package/dist/http/handler.d.ts +5 -2
  225. package/dist/http/handler.d.ts.map +1 -1
  226. package/dist/http/handler.js +13 -4
  227. package/dist/http/handler.js.map +1 -1
  228. package/dist/http/index.d.ts +2 -2
  229. package/dist/http/index.d.ts.map +1 -1
  230. package/dist/http/index.js +1 -1
  231. package/dist/http/index.js.map +1 -1
  232. package/dist/http/router.d.ts +14 -1
  233. package/dist/http/router.d.ts.map +1 -1
  234. package/dist/http/router.js +4 -1
  235. package/dist/http/router.js.map +1 -1
  236. package/dist/http/types.d.ts +40 -0
  237. package/dist/http/types.d.ts.map +1 -1
  238. package/dist/http/types.js +9 -0
  239. package/dist/http/types.js.map +1 -1
  240. package/dist/index.d.ts +3 -0
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +4 -0
  243. package/dist/index.js.map +1 -1
  244. package/dist/resource-generation.d.ts +54 -0
  245. package/dist/resource-generation.d.ts.map +1 -0
  246. package/dist/resource-generation.js +156 -0
  247. package/dist/resource-generation.js.map +1 -0
  248. package/dist/schema/schema-store.d.ts +31 -4
  249. package/dist/schema/schema-store.d.ts.map +1 -1
  250. package/dist/schema/schema-store.js +47 -8
  251. package/dist/schema/schema-store.js.map +1 -1
  252. package/dist/server.d.ts +45 -0
  253. package/dist/server.d.ts.map +1 -1
  254. package/dist/server.js +41 -0
  255. package/dist/server.js.map +1 -1
  256. package/dist/sync-core.js +2 -2
  257. package/dist/sync-core.js.map +1 -1
  258. package/dist/utils/occ-json-write.d.ts +100 -0
  259. package/dist/utils/occ-json-write.d.ts.map +1 -0
  260. package/dist/utils/occ-json-write.js +234 -0
  261. package/dist/utils/occ-json-write.js.map +1 -0
  262. package/dist/validation/entry-validator.d.ts.map +1 -1
  263. package/dist/validation/entry-validator.js +56 -1
  264. package/dist/validation/entry-validator.js.map +1 -1
  265. package/dist/worker/cms-worker.d.ts.map +1 -1
  266. package/dist/worker/cms-worker.js +21 -3
  267. package/dist/worker/cms-worker.js.map +1 -1
  268. package/package.json +13 -1
  269. package/dist/asset-store.d.ts +0 -32
  270. package/dist/asset-store.d.ts.map +0 -1
  271. package/dist/asset-store.js +0 -85
  272. package/dist/asset-store.js.map +0 -1
@@ -0,0 +1,234 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { randomUUID } from 'node:crypto';
4
+ import lockfile from 'proper-lockfile';
5
+ import { getErrorMessage, isFileExistsError, isNodeError } from './error.js';
6
+ import { createDebugLogger } from './debug.js';
7
+ const log = createDebugLogger({ prefix: 'OccJsonWrite' });
8
+ /**
9
+ * Shared optimistic-concurrency-control (OCC) JSON write machinery, extracted
10
+ * from the near-identical logic in comment-store.ts and branch-metadata.ts.
11
+ * Both stores keep a `version` + `writeId` pair inside their JSON payload and
12
+ * use temp-file + rename (or temp-file + link for brand-new files) so a
13
+ * concurrent writer is detected rather than silently overwritten.
14
+ */
15
+ export class OccWriteConflictError extends Error {
16
+ constructor(message = 'Concurrent modification detected') {
17
+ super(message);
18
+ this.name = 'OccWriteConflictError';
19
+ }
20
+ }
21
+ /**
22
+ * Write a JSON file using optimistic concurrency control.
23
+ *
24
+ * - New file (`expectedVersion: null`): writes a temp file in the same
25
+ * directory, then `fs.link()`s it onto the target. link() is atomic and
26
+ * fails with EEXIST if the target already exists, giving exclusive-create
27
+ * semantics without the atomicity risk of `writeFile({flag: 'wx'})` — a
28
+ * crash mid-write with 'wx' can leave a partial file that then fails
29
+ * JSON.parse on every subsequent read, permanently breaking the resource.
30
+ * The temp file is unlinked afterward either way (link creates a second
31
+ * name for the same inode; it does not consume the source).
32
+ * - Existing file: writes a temp file, rechecks the target's current version
33
+ * against `expectedVersion` (fast-fail before paying for a rename), then
34
+ * atomically renames the temp file onto the target, waits `settleMs` for
35
+ * concurrent renames on shared filesystems to land, and reads the file back
36
+ * to confirm this write's `writeId` won. Any losing writeId means another
37
+ * process's write landed after ours (or concurrently), so this call throws
38
+ * {@link OccWriteConflictError}.
39
+ *
40
+ * Temp files are always in the SAME directory as the target: rename and link
41
+ * both require the source and destination to be on the same filesystem, and
42
+ * writing into the same directory also invalidates any local NFS dentry
43
+ * cache for that directory, which the subsequent read-back relies on.
44
+ *
45
+ * ## Guarantee — read this before relying on it for cross-host correctness
46
+ *
47
+ * The post-rename writeId verification detects lost writes reliably only
48
+ * between writers sharing the SAME NFS client (i.e. the same host process, or
49
+ * another process on the same host / local filesystem). Across hosts on EFS,
50
+ * a foreign process's rename can remain invisible to this client's directory
51
+ * dentry/attribute cache for the attribute-cache window (commonly ~3-60s on
52
+ * default EFS mounts) — so a losing writer's read-back can still observe ITS
53
+ * OWN writeId (served from cache) and wrongly conclude it won. The version
54
+ * precheck has the same blind spot: it also reads through that cache, so two
55
+ * concurrent cross-host writers can both see the same `expectedVersion` and
56
+ * both pass. The `settleMs` wait is cheap same-host jitter absorption only —
57
+ * it mitigates nothing for the cross-host case, and is kept solely because it
58
+ * is harmless and occasionally helps same-host callers avoid a spurious retry.
59
+ *
60
+ * For files where a cross-host lost update is unacceptable, callers must ALSO
61
+ * serialize writers with {@link withOccFileLock}, which is enforced by the NFS
62
+ * server itself (mkdir-based locking) rather than by client-side caching.
63
+ */
64
+ export async function writeOccJsonFile(filePath, payload, options) {
65
+ const { expectedVersion, settleMs = 50, trailingNewline = false } = options;
66
+ const newVersion = expectedVersion === null ? 1 : expectedVersion + 1;
67
+ const writeId = randomUUID();
68
+ const data = { ...payload, version: newVersion, writeId };
69
+ const content = JSON.stringify(data, null, 2) + (trailingNewline ? '\n' : '');
70
+ const dir = path.dirname(filePath);
71
+ await fs.mkdir(dir, { recursive: true });
72
+ const tempPath = `${filePath}.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`;
73
+ await fs.writeFile(tempPath, content, 'utf-8');
74
+ if (expectedVersion === null) {
75
+ try {
76
+ await fs.link(tempPath, filePath);
77
+ }
78
+ catch (err) {
79
+ await fs.unlink(tempPath).catch(() => { });
80
+ if (isFileExistsError(err)) {
81
+ throw new OccWriteConflictError();
82
+ }
83
+ throw err;
84
+ }
85
+ await fs.unlink(tempPath).catch(() => { });
86
+ return { version: newVersion, writeId };
87
+ }
88
+ try {
89
+ // Fast-fail before the rename: not a correctness guarantee (see the
90
+ // cross-host caveat above) but avoids an unnecessary rename + settle +
91
+ // read-back cycle for the common same-host conflict case.
92
+ let currentVersion = null;
93
+ try {
94
+ const current = JSON.parse(await fs.readFile(filePath, 'utf-8'));
95
+ currentVersion = current.version ?? 0;
96
+ }
97
+ catch {
98
+ currentVersion = null;
99
+ }
100
+ if (currentVersion !== expectedVersion) {
101
+ throw new OccWriteConflictError();
102
+ }
103
+ await fs.rename(tempPath, filePath);
104
+ if (settleMs > 0) {
105
+ await new Promise((resolve) => setTimeout(resolve, settleMs));
106
+ }
107
+ const afterWrite = JSON.parse(await fs.readFile(filePath, 'utf-8'));
108
+ if (afterWrite.writeId !== writeId) {
109
+ throw new OccWriteConflictError();
110
+ }
111
+ }
112
+ catch (err) {
113
+ await fs.unlink(tempPath).catch(() => { });
114
+ throw err;
115
+ }
116
+ return { version: newVersion, writeId };
117
+ }
118
+ /**
119
+ * Retry an OCC write operation on conflict, with exponential backoff + jitter.
120
+ * Non-blocking — the caller's `operation` is expected to reload state (so it
121
+ * observes the latest version) and reapply its change on each attempt.
122
+ */
123
+ export async function withOccRetry(operation, options) {
124
+ const maxAttempts = options?.maxAttempts ?? 10;
125
+ const isRetryable = options?.isRetryable;
126
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
127
+ try {
128
+ return await operation();
129
+ }
130
+ catch (err) {
131
+ const retryable = err instanceof OccWriteConflictError || (isRetryable?.(err) ?? false);
132
+ if (retryable && attempt < maxAttempts) {
133
+ const baseDelay = Math.min(10 * Math.pow(2, attempt - 1), 100);
134
+ const jitter = Math.random() * baseDelay;
135
+ await new Promise((resolve) => setTimeout(resolve, baseDelay + jitter));
136
+ continue;
137
+ }
138
+ throw err;
139
+ }
140
+ }
141
+ throw new Error('Unreachable');
142
+ }
143
+ /**
144
+ * Serialize access to `filePath` across processes using a server-enforced
145
+ * filesystem lock (proper-lockfile), for callers that need a genuine
146
+ * cross-host mutual-exclusion guarantee rather than the best-effort detection
147
+ * that {@link writeOccJsonFile} alone provides.
148
+ *
149
+ * proper-lockfile's locks are mkdir-based: creating a directory is an atomic
150
+ * operation the NFS server itself enforces, so this is immune to the client
151
+ * dentry/attribute caching that undermines writeId verification across hosts.
152
+ * It also auto-refreshes the lock while the holding process is alive, so
153
+ * `stale` only matters when a holder dies without releasing (crash, kill -9).
154
+ *
155
+ * Tuned for brief interactive metadata writes (small JSON files, sub-second
156
+ * critical sections) — shorter and less patient than provisioning-lock.ts's
157
+ * settings, which are sized for build-time git clone/push operations that can
158
+ * legitimately take many seconds.
159
+ */
160
+ export async function withOccFileLock(filePath, fn) {
161
+ const dir = path.dirname(filePath);
162
+ await fs.mkdir(dir, { recursive: true });
163
+ // Acquisition retries are OUR loop, not proper-lockfile's built-in
164
+ // `retries`: the built-in loop retries blindly on ANY error, so a waiter
165
+ // whose target directory was deleted mid-poll (deleteBranch's rm removing
166
+ // `.canopy-meta/` while a save is queued on its lock) would burn the whole
167
+ // multi-second budget re-hitting ENOENT before failing. Our loop retries
168
+ // only genuine contention (ELOCKED) and fails fast on ENOENT (the resource
169
+ // is gone — retrying cannot succeed and must not resurrect the directory).
170
+ //
171
+ // The retry budget must exceed `stale` (10s): a holder that died without
172
+ // releasing (kill -9) is only taken over once its lock goes stale, so
173
+ // waiters that give up sooner turn every crashed holder into ~10s of hard
174
+ // failures. Base delays 50ms * 1.6^n capped at 2s over 13 retries sum to
175
+ // ~13.5s, comfortably past one stale takeover; jitter only adds to that.
176
+ const MAX_ATTEMPTS = 14;
177
+ let release = null;
178
+ for (let attempt = 1; release === null; attempt++) {
179
+ try {
180
+ // Lock the FILE, not the directory: proper-lockfile keys its
181
+ // module-level `locks{}` bookkeeping (release fn, refresh timer) by
182
+ // the resource path passed here. Two concurrent withOccFileLock calls
183
+ // for DIFFERENT files in the SAME directory (comments.json and
184
+ // branch.json both under one `.canopy-meta/`) would otherwise collide
185
+ // on that shared directory key: releasing one lock stops the other's
186
+ // refresh timer, marks it released internally, and leaks its on-disk
187
+ // `.lock` directory. `realpath: false` because the resource path need
188
+ // not exist on disk (brand-new files).
189
+ release = await lockfile.lock(filePath, {
190
+ lockfilePath: `${filePath}.lock`,
191
+ realpath: false,
192
+ stale: 10_000,
193
+ retries: 0,
194
+ // A compromised lock (the lock dir vanished or refresh failed
195
+ // mid-hold, e.g. the branch directory containing it was deleted)
196
+ // must not crash the process, which is proper-lockfile's default.
197
+ // Our critical sections are short and idempotent-on-conflict (OCC
198
+ // verify inside); log and let the section finish.
199
+ onCompromised: (err) => {
200
+ log.warn('lock', `Lock compromised mid-hold for ${filePath}`, {
201
+ error: getErrorMessage(err),
202
+ });
203
+ },
204
+ });
205
+ }
206
+ catch (err) {
207
+ const code = isNodeError(err) ? err.code : undefined;
208
+ const contended = code === 'ELOCKED';
209
+ if (!contended || attempt >= MAX_ATTEMPTS) {
210
+ // Non-contention failure (e.g. ENOENT: the directory was deleted
211
+ // under us) or budget exhausted: surface as the standard conflict
212
+ // type so adopters' boundary translation turns it into their public
213
+ // retriable conflict error instead of a raw ELOCKED/ENOENT leaking
214
+ // out as an opaque 500.
215
+ throw new OccWriteConflictError(`Could not acquire file lock: ${getErrorMessage(err)}`);
216
+ }
217
+ const baseDelay = Math.min(50 * Math.pow(1.6, attempt - 1), 2000);
218
+ const jitter = Math.random() * baseDelay;
219
+ await new Promise((resolve) => setTimeout(resolve, baseDelay + jitter));
220
+ }
221
+ }
222
+ try {
223
+ return await fn();
224
+ }
225
+ finally {
226
+ // Best-effort: a failed release is recovered by `stale` once this
227
+ // process's lockfile heartbeat stops (crash) or the lock naturally
228
+ // expires, so this is logged rather than rethrown.
229
+ await release().catch((err) => {
230
+ log.warn('lock', `Failed to release lock for ${filePath}`, { error: getErrorMessage(err) });
231
+ });
232
+ }
233
+ }
234
+ //# sourceMappingURL=occ-json-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"occ-json-write.js","sourceRoot":"","sources":["../../src/utils/occ-json-write.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-validator.d.ts","sourceRoot":"","sources":["../../src/validation/entry-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EAMZ,MAAM,WAAW,CAAA;AAMlB;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAWD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInE;AAKD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAyDD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,SAAK,GACd,eAAe,EAAE,CAiGnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,eAAe,EAAE,CASnB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqDzB"}
1
+ {"version":3,"file":"entry-validator.d.ts","sourceRoot":"","sources":["../../src/validation/entry-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EAOZ,MAAM,WAAW,CAAA;AAOlB;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AA6ED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInE;AAKD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AA2DD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,SAAK,GACd,eAAe,EAAE,CAiGnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,eAAe,EAAE,CASnB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqDzB"}
@@ -22,15 +22,68 @@
22
22
  * `ReferenceValidator` at the write boundary.
23
23
  */
24
24
  import { fieldTypes } from '../config/index.js';
25
+ import { isValidCropRect } from '../assets/transform-directives.js';
25
26
  import { resolveBlockItem } from './field-traversal.js';
26
27
  import { findBodyFieldName } from '../utils/body-field.js';
27
28
  import { isDataOnlyFormat } from '../utils/format.js';
28
29
  const KNOWN_FIELD_TYPES = new Set(fieldTypes);
29
30
  /** Field types whose value is a plain string. */
30
- const STRING_FIELD_TYPES = new Set(['string', 'rich-text', 'markdown', 'mdx', 'image', 'code']);
31
+ const STRING_FIELD_TYPES = new Set(['string', 'rich-text', 'markdown', 'mdx', 'code']);
31
32
  function isPlainRecord(value) {
32
33
  return typeof value === 'object' && value !== null && !Array.isArray(value);
33
34
  }
35
+ function isPositiveInt(value) {
36
+ return typeof value === 'number' && Number.isInteger(value) && value > 0;
37
+ }
38
+ /** True when `value` is a well-formed `{ x, y, w, h }` normalized crop rect. */
39
+ function isValidImageCropValue(value) {
40
+ if (!isPlainRecord(value))
41
+ return false;
42
+ const { x, y, w, h } = value;
43
+ if (typeof x !== 'number' ||
44
+ typeof y !== 'number' ||
45
+ typeof w !== 'number' ||
46
+ typeof h !== 'number') {
47
+ return false;
48
+ }
49
+ return isValidCropRect(x, y, w, h);
50
+ }
51
+ /**
52
+ * Validate a structured `image` field value: `{ src, alt, width?, height?, crop? }`
53
+ * (see `ImageFieldValue` in config/types.ts). `src` and `alt` are required
54
+ * whenever a value is present; `alt` may be an empty string only when the
55
+ * field config sets `altOptional: true`. `width`/`height` must be positive
56
+ * integers when present; `crop` must satisfy the same normalized-rect
57
+ * constraints as the transform directive parser (assets/transform-directives.ts).
58
+ */
59
+ function validateImageValue(field, value, path) {
60
+ if (!isPlainRecord(value)) {
61
+ return [{ fieldPath: path, message: 'Expected an image object with { src, alt }' }];
62
+ }
63
+ const errors = [];
64
+ if (typeof value.src !== 'string' || value.src.trim() === '') {
65
+ errors.push({ fieldPath: `${path}.src`, message: 'Image src is required' });
66
+ }
67
+ if (typeof value.alt !== 'string') {
68
+ errors.push({ fieldPath: `${path}.alt`, message: 'Image alt text is required' });
69
+ }
70
+ else if (value.alt.trim() === '' && field.altOptional !== true) {
71
+ errors.push({ fieldPath: `${path}.alt`, message: 'Image alt text is required' });
72
+ }
73
+ if (value.width !== undefined && !isPositiveInt(value.width)) {
74
+ errors.push({ fieldPath: `${path}.width`, message: 'Image width must be a positive integer' });
75
+ }
76
+ if (value.height !== undefined && !isPositiveInt(value.height)) {
77
+ errors.push({
78
+ fieldPath: `${path}.height`,
79
+ message: 'Image height must be a positive integer',
80
+ });
81
+ }
82
+ if (value.crop !== undefined && !isValidImageCropValue(value.crop)) {
83
+ errors.push({ fieldPath: `${path}.crop`, message: 'Invalid image crop rect' });
84
+ }
85
+ return errors;
86
+ }
34
87
  /**
35
88
  * Extract the id from a reference value. The editor holds references either
36
89
  * as an id string or as a resolved object `{ id, slug, collection, ... }`
@@ -88,6 +141,8 @@ function validateScalar(field, value, path) {
88
141
  return [{ fieldPath: path, message: 'Expected a reference id' }];
89
142
  }
90
143
  return [];
144
+ case 'image':
145
+ return validateImageValue(field, value, path);
91
146
  default:
92
147
  if (STRING_FIELD_TYPES.has(field.type)) {
93
148
  if (typeof value !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"entry-validator.js","sourceRoot":"","sources":["../../src/validation/entry-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-validator.js","sourceRoot":"","sources":["../../src/validation/entry-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAYlD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAA;AAErD,iDAAiD;AACjD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;AAEtF,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AAC1E,CAAC;AAED,gFAAgF;AAChF,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAA;IAC5B,IACE,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,CAAC,KAAK,QAAQ,EACrB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACzB,KAAuB,EACvB,KAAc,EACd,IAAY;IAEZ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAA;IACrF,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAA;IAClF,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,GAAG,IAAI,SAAS;YAC3B,OAAO,EAAE,yCAAyC;SACnD,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,EAAE,CAAA;IACzE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAwB,EAAY,EAAE,CAChE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAEjF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,IAA6B,EAC7B,IAAwB;IAExB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;AACvD,CAAC;AAED,qFAAqF;AACrF,SAAS,cAAc,CAAC,KAAkB,EAAE,KAAc,EAAE,IAAY;IACtE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAA;YAC5D,CAAC;YACD,OAAO,EAAE,CAAA;QACX,KAAK,SAAS;YACZ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAA;YACjE,CAAC;YACD,OAAO,EAAE,CAAA;QACX,KAAK,UAAU;YACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAA;YAC5E,CAAC;YACD,OAAO,EAAE,CAAA;QACX,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAA;YAC/D,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAA0B,CAAC,CAAA;YAC9D,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;YAChF,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,KAAK,WAAW;YACd,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAA;YAClE,CAAC;YACD,OAAO,EAAE,CAAA;QACX,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,KAAyB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACnE;YACE,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YACD,6EAA6E;YAC7E,OAAO,EAAE,CAAA;IACb,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,kBAAkB,CAAC,KAAkB,EAAE,KAAc;IAC5D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,+EAA+E;QAC/E,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IAC5B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,IAA6B,EAC7B,UAAU,GAAG,EAAE;IAEf,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,2EAA2E;QAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAE,KAAgC,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;YAC7F,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE9B,MAAM,UAAU,GAAG,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAA;QACjE,IAAI,UAAU,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,wBAAwB,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YACzC,SAAQ;QACV,CAAC;QAED,iDAAiD;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAQ;QAEnD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAyB,CAAA;YAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAA;gBACtE,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG,CAAA;gBACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAA;oBACxE,OAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC9E,MAAM,CAAC,IAAI,CAAC;wBACV,SAAS,EAAE,QAAQ;wBACnB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,2BAA2B,QAAQ,GAAG,CAAC,CAAC,CAAC,wBAAwB;qBACtF,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC7E,CAAC,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,KAA0B,CAAA;YAC9C,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAA;oBACrE,SAAQ;gBACV,CAAC;gBACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC5B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG,CAAA;oBACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;wBACnE,OAAM;oBACR,CAAC;oBACD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;oBACvE,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;YACjE,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,SAAQ;QACV,CAAC;QAED,sCAAsC;QACtC,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAA;gBACtE,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAA;YAChF,SAAQ;QACV,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAmB,EACnB,MAAiC,EACjC,KAA8B;IAE9B,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC/B,OAAO,iBAAiB,CACtB,MAAM,EACN,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACtE,CAAA;IACH,CAAC;IACD,OAAO,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAmB,EACnB,IAA6B;IAE7B,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAA;IAEnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,CACX,MAAM,EACN,wBAAwB,CAAE,KAAgC,CAAC,MAAM,EAAE,MAAM,CAAC,CAC3E,CAAA;YACD,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAQ;QAEnD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAA6B,CAAA;YAC9C,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;YAC1E,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;YACvD,CAAC;YACD,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,KAA0B,CAAA;YAC9C,IAAI,CAAC,WAAW,CAAC,MAAM;gBAAE,SAAQ;YACjC,IAAI,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAChF,CAAA;YACH,CAAC;iBAAM,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC1E,CAAC;YACD,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,KAAyB,CAAA;YAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBACnD,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAA;gBAC1B,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAC3E,2EAA2E;gBAC3E,0DAA0D;gBAC1D,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;YAChF,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cms-worker.d.ts","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAMD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAO5D;AA2DD;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IAkBR,OAAO,CAAC,MAAM;IAjB1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,GAAG,CAAqB;gBAEZ,MAAM,EAAE,eAAe;IAcrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,WAAW;YAyBX,WAAW;IAWzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;OAGG;YACW,eAAe;IAe7B;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvC;;;;;;;;OAQG;YACW,sBAAsB;YAqBtB,WAAW;IAkHzB;;;OAGG;YACW,oBAAoB;IA4BlC;;;OAGG;YACW,6BAA6B;IAsB3C,OAAO,CAAC,cAAc;YAIR,kBAAkB;IAahC;;;OAGG;YACW,oBAAoB;IAqB5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BhB,oBAAoB;IA8L5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
1
+ {"version":3,"file":"cms-worker.d.ts","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAMD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAO5D;AA2DD;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IAkBR,OAAO,CAAC,MAAM;IAjB1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,GAAG,CAAqB;gBAEZ,MAAM,EAAE,eAAe;IAcrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,WAAW;YAyBX,WAAW;IAWzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;OAGG;YACW,eAAe;IAe7B;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvC;;;;;;;;OAQG;YACW,sBAAsB;YAqBtB,WAAW;IAkHzB;;;OAGG;YACW,oBAAoB;IA4BlC;;;OAGG;YACW,6BAA6B;IAsB3C,OAAO,CAAC,cAAc;YAIR,kBAAkB;IAahC;;;OAGG;YACW,oBAAoB;IAqB5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BhB,oBAAoB;IAiN5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
@@ -6,7 +6,7 @@ import { dequeueTask, completeTask, failTask, retryTask, recoverOrphanedTasks, c
6
6
  import { createOrUpdatePullRequest, createCanopyOctokit } from '../github-service.js';
7
7
  import { getBranchMetadataFileManager, BranchMetadataFileManager } from '../branch-metadata.js';
8
8
  import { extractIdFromFilename } from '../content-id-index.js';
9
- import { invalidateContentIndexesDurable } from '../content-index-generation.js';
9
+ import { invalidateBranchContentCaches } from '../content-index-generation.js';
10
10
  import { ROOT_COLLECTION_ID } from '../paths/types.js';
11
11
  import { getErrorMessage, isNodeError } from '../utils/error.js';
12
12
  const DEFAULT_TASK_TIMEOUT = 60_000;
@@ -641,7 +641,25 @@ export class CmsWorker {
641
641
  const behindCount = parseInt((await branchGit.raw(['rev-list', '--count', `HEAD..origin/${this.baseBranch}`])).trim(), 10);
642
642
  const meta = getBranchMetadataFileManager(branchPath, this.contentBranchesPath);
643
643
  if (behindCount === 0) {
644
- // Already in sync — clear any stale conflict state
644
+ // Already in sync. This is the overwhelmingly common outcome per
645
+ // branch per cycle (most branches are caught up most of the
646
+ // time), so skip the save entirely when metadata already reflects
647
+ // a clean state -- every save() now eager-regenerates the branch
648
+ // registry (branch-metadata.ts's invalidateRegistry(), O(branch
649
+ // count) fs reads on EFS), so an unconditional save here turns
650
+ // every rebase cycle into O(N^2) registry work across N branches
651
+ // for what is otherwise a true no-op. Re-load fresh (not the
652
+ // `metaFile` snapshot from before the fetch/rev-list above) so a
653
+ // concurrent editor-driven metadata change during that window
654
+ // isn't clobbered by a stale skip decision.
655
+ const currentMeta = await BranchMetadataFileManager.loadOnly(branchPath);
656
+ const conflictStatus = currentMeta?.branch.conflictStatus;
657
+ const conflictFiles = currentMeta?.branch.conflictFiles;
658
+ const alreadyClean = (conflictStatus === undefined || conflictStatus === 'clean') &&
659
+ (conflictFiles === undefined || conflictFiles.length === 0);
660
+ if (alreadyClean) {
661
+ continue;
662
+ }
645
663
  await meta.save({
646
664
  branch: {
647
665
  name: branchDir,
@@ -713,7 +731,7 @@ export class CmsWorker {
713
731
  // ID indexes rooted here stale so lookups rebuild from disk, in this
714
732
  // process and (via the on-disk generation marker) in the Lambda
715
733
  // containers sharing this filesystem.
716
- await invalidateContentIndexesDurable(branchPath);
734
+ await invalidateBranchContentCaches(branchPath);
717
735
  // Convert file paths to ContentIds — immutable, survives slug renames.
718
736
  // Entry files have IDs in their filename (e.g., "post.slug.a1b2c3d4e5f6.mdx").
719
737
  // .collection.json files have no ID themselves (extractIdFromFilename returns null
@@ -1 +1 @@
1
- {"version":3,"file":"cms-worker.js","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cms-worker.js","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "//": "@codemirror/language, @lezer/highlight: workaround — @mdxeditor/editor uses cm6-theme-basic-light which peer-requires these but mdxeditor doesn't declare them as dependencies",
3
3
  "name": "canopycms",
4
- "version": "0.0.56",
4
+ "version": "0.0.58",
5
5
  "description": "CanopyCMS core package: schema-driven content, branch-aware editing, and editor UI for Next.js.",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -77,6 +77,8 @@
77
77
  "node": ">=18"
78
78
  },
79
79
  "dependencies": {
80
+ "@aws-sdk/client-s3": "^3.600.0",
81
+ "@aws-sdk/s3-presigned-post": "^3.600.0",
80
82
  "@clack/prompts": "^1.1.0",
81
83
  "@codemirror/language": "^6.0.0",
82
84
  "@dnd-kit/core": "^6.3.1",
@@ -86,6 +88,7 @@
86
88
  "@lezer/highlight": "^1.0.0",
87
89
  "@mantine/colors-generator": "^7.14.2",
88
90
  "@mantine/core": "^7.14.2",
91
+ "@mantine/dropzone": "7.17.8",
89
92
  "@mantine/hooks": "^7.14.2",
90
93
  "@mantine/modals": "^7.14.2",
91
94
  "@mantine/notifications": "^7.14.2",
@@ -95,13 +98,19 @@
95
98
  "@tabler/icons-react": "^3.36.0",
96
99
  "chokidar": "^4.0.3",
97
100
  "chroma-js": "^3.2.0",
101
+ "content-disposition": "^2.0.1",
102
+ "file-type": "^20.4.1",
98
103
  "gray-matter": "^4.0.3",
104
+ "image-size": "^2.0.2",
99
105
  "jiti": "^2.6.1",
100
106
  "minimatch": "^9.0.7",
101
107
  "minimist": "^1.2.8",
102
108
  "pathe": "^1.1.2",
103
109
  "proper-lockfile": "^4.1.2",
110
+ "react-easy-crop": "^6.2.2",
104
111
  "react-split-pane": "^0.1.92",
112
+ "sanitize-html": "^2.17.5",
113
+ "sharp": "^0.35.3",
105
114
  "short-uuid": "^6.0.3",
106
115
  "simple-git": "^3.36.0",
107
116
  "yaml": "^2.8.3",
@@ -112,6 +121,7 @@
112
121
  "react-dom": "^18.0.0 || ^19.0.0"
113
122
  },
114
123
  "devDependencies": {
124
+ "@smithy/util-stream": "^3.0.0 || ^4.0.0",
115
125
  "@playwright/test": "^1.57.0",
116
126
  "@storybook/addon-essentials": "^8.1.11",
117
127
  "@storybook/react": "^8.1.11",
@@ -124,6 +134,8 @@
124
134
  "@types/proper-lockfile": "^4.1.4",
125
135
  "@types/react": "^18.3.12",
126
136
  "@types/react-dom": "^18.3.1",
137
+ "@types/sanitize-html": "^2.16.1",
138
+ "aws-sdk-client-mock": "^4.0.0",
127
139
  "@vitejs/plugin-react": "^5.1.0",
128
140
  "autoprefixer": "^10.4.20",
129
141
  "esbuild": "^0.25.0",