canopycms 0.0.61-int.74 → 0.0.61

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 (271) hide show
  1. package/dist/ai/handler.js +1 -1
  2. package/dist/ai/handler.js.map +1 -1
  3. package/dist/api/assets.d.ts.map +1 -1
  4. package/dist/api/assets.js +36 -4
  5. package/dist/api/assets.js.map +1 -1
  6. package/dist/api/branch-status.d.ts.map +1 -1
  7. package/dist/api/branch-status.js +56 -0
  8. package/dist/api/branch-status.js.map +1 -1
  9. package/dist/api/branch-withdraw.d.ts.map +1 -1
  10. package/dist/api/branch-withdraw.js +14 -3
  11. package/dist/api/branch-withdraw.js.map +1 -1
  12. package/dist/api/branch.d.ts +31 -2
  13. package/dist/api/branch.d.ts.map +1 -1
  14. package/dist/api/branch.js +252 -13
  15. package/dist/api/branch.js.map +1 -1
  16. package/dist/api/content.d.ts.map +1 -1
  17. package/dist/api/content.js +12 -4
  18. package/dist/api/content.js.map +1 -1
  19. package/dist/api/entries.d.ts.map +1 -1
  20. package/dist/api/entries.js +11 -9
  21. package/dist/api/entries.js.map +1 -1
  22. package/dist/api/guards.d.ts.map +1 -1
  23. package/dist/api/guards.js +12 -5
  24. package/dist/api/guards.js.map +1 -1
  25. package/dist/api/permissions.d.ts +2 -2
  26. package/dist/api/permissions.d.ts.map +1 -1
  27. package/dist/api/permissions.js +51 -3
  28. package/dist/api/permissions.js.map +1 -1
  29. package/dist/api/reference-options.d.ts.map +1 -1
  30. package/dist/api/reference-options.js +10 -17
  31. package/dist/api/reference-options.js.map +1 -1
  32. package/dist/api/resolve-references.d.ts.map +1 -1
  33. package/dist/api/resolve-references.js +3 -1
  34. package/dist/api/resolve-references.js.map +1 -1
  35. package/dist/api/schema.d.ts.map +1 -1
  36. package/dist/api/schema.js +3 -2
  37. package/dist/api/schema.js.map +1 -1
  38. package/dist/api/settings-helpers.d.ts.map +1 -1
  39. package/dist/api/settings-helpers.js +6 -5
  40. package/dist/api/settings-helpers.js.map +1 -1
  41. package/dist/assets/pipeline.d.ts +11 -2
  42. package/dist/assets/pipeline.d.ts.map +1 -1
  43. package/dist/assets/pipeline.js +114 -2
  44. package/dist/assets/pipeline.js.map +1 -1
  45. package/dist/assets/transform-directives.d.ts +18 -0
  46. package/dist/assets/transform-directives.d.ts.map +1 -1
  47. package/dist/assets/transform-directives.js +18 -0
  48. package/dist/assets/transform-directives.js.map +1 -1
  49. package/dist/assets/transform.d.ts.map +1 -1
  50. package/dist/assets/transform.js +1 -10
  51. package/dist/assets/transform.js.map +1 -1
  52. package/dist/auth/types.d.ts +29 -0
  53. package/dist/auth/types.d.ts.map +1 -1
  54. package/dist/authorization/index.d.ts +1 -1
  55. package/dist/authorization/index.d.ts.map +1 -1
  56. package/dist/authorization/index.js +1 -1
  57. package/dist/authorization/index.js.map +1 -1
  58. package/dist/authorization/protected-branch.d.ts +75 -0
  59. package/dist/authorization/protected-branch.d.ts.map +1 -1
  60. package/dist/authorization/protected-branch.js +39 -0
  61. package/dist/authorization/protected-branch.js.map +1 -1
  62. package/dist/branch-registry.d.ts.map +1 -1
  63. package/dist/branch-registry.js +5 -1
  64. package/dist/branch-registry.js.map +1 -1
  65. package/dist/branch-schema-cache.d.ts.map +1 -1
  66. package/dist/branch-schema-cache.js +9 -0
  67. package/dist/branch-schema-cache.js.map +1 -1
  68. package/dist/build/generate-ai-content.js +1 -1
  69. package/dist/build/generate-ai-content.js.map +1 -1
  70. package/dist/cli/cli.js +1442 -828
  71. package/dist/cli/generate-ai-content.js +404 -136
  72. package/dist/cli/init.d.ts +8 -2
  73. package/dist/cli/init.d.ts.map +1 -1
  74. package/dist/cli/init.js +440 -151
  75. package/dist/cli/init.js.map +1 -1
  76. package/dist/cli/project-detect.d.ts +89 -0
  77. package/dist/cli/project-detect.d.ts.map +1 -0
  78. package/dist/cli/project-detect.js +240 -0
  79. package/dist/cli/project-detect.js.map +1 -0
  80. package/dist/cli/template-files/Dockerfile.cms.template +11 -6
  81. package/dist/cli/template-files/cdk-app.ts.template +82 -0
  82. package/dist/cli/template-files/cdk.json.template +9 -0
  83. package/dist/cli/template-files/cms-stack.ts.template +124 -0
  84. package/dist/cli/template-files/deploy-cms.yml.template +125 -13
  85. package/dist/cli/template-files/dockerignore.template +2 -1
  86. package/dist/cli/templates.d.ts +26 -2
  87. package/dist/cli/templates.d.ts.map +1 -1
  88. package/dist/cli/templates.js +36 -4
  89. package/dist/cli/templates.js.map +1 -1
  90. package/dist/config/schemas/config.d.ts +2 -3
  91. package/dist/config/schemas/config.d.ts.map +1 -1
  92. package/dist/config/schemas/config.js +21 -1
  93. package/dist/config/schemas/config.js.map +1 -1
  94. package/dist/config/validation.d.ts +9 -0
  95. package/dist/config/validation.d.ts.map +1 -1
  96. package/dist/config/validation.js +22 -12
  97. package/dist/config/validation.js.map +1 -1
  98. package/dist/content-reader.js +1 -1
  99. package/dist/content-reader.js.map +1 -1
  100. package/dist/content-store.d.ts +11 -0
  101. package/dist/content-store.d.ts.map +1 -1
  102. package/dist/content-store.js +2 -1
  103. package/dist/content-store.js.map +1 -1
  104. package/dist/dev-content-watcher.d.ts.map +1 -1
  105. package/dist/dev-content-watcher.js +4 -1
  106. package/dist/dev-content-watcher.js.map +1 -1
  107. package/dist/editor/BranchManager.d.ts +15 -0
  108. package/dist/editor/BranchManager.d.ts.map +1 -1
  109. package/dist/editor/BranchManager.js +43 -9
  110. package/dist/editor/BranchManager.js.map +1 -1
  111. package/dist/editor/CanopyEditor.d.ts.map +1 -1
  112. package/dist/editor/CanopyEditor.js +2 -2
  113. package/dist/editor/CanopyEditor.js.map +1 -1
  114. package/dist/editor/Editor.d.ts.map +1 -1
  115. package/dist/editor/Editor.js +110 -48
  116. package/dist/editor/Editor.js.map +1 -1
  117. package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
  118. package/dist/editor/admin/SystemHealthPanel.js +9 -8
  119. package/dist/editor/admin/SystemHealthPanel.js.map +1 -1
  120. package/dist/editor/components/EditorHeader.d.ts +6 -0
  121. package/dist/editor/components/EditorHeader.d.ts.map +1 -1
  122. package/dist/editor/components/EditorHeader.js +76 -23
  123. package/dist/editor/components/EditorHeader.js.map +1 -1
  124. package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
  125. package/dist/editor/components/EntryCreateModal.js +21 -6
  126. package/dist/editor/components/EntryCreateModal.js.map +1 -1
  127. package/dist/editor/context/SWRProvider.d.ts +31 -0
  128. package/dist/editor/context/SWRProvider.d.ts.map +1 -0
  129. package/dist/editor/context/SWRProvider.js +12 -0
  130. package/dist/editor/context/SWRProvider.js.map +1 -0
  131. package/dist/editor/context/index.d.ts +3 -0
  132. package/dist/editor/context/index.d.ts.map +1 -1
  133. package/dist/editor/context/index.js +3 -0
  134. package/dist/editor/context/index.js.map +1 -1
  135. package/dist/editor/editor-utils.d.ts.map +1 -1
  136. package/dist/editor/editor-utils.js +8 -2
  137. package/dist/editor/editor-utils.js.map +1 -1
  138. package/dist/editor/fields/ImageField.d.ts.map +1 -1
  139. package/dist/editor/fields/ImageField.js +27 -3
  140. package/dist/editor/fields/ImageField.js.map +1 -1
  141. package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
  142. package/dist/editor/fields/ReferenceField.js +52 -31
  143. package/dist/editor/fields/ReferenceField.js.map +1 -1
  144. package/dist/editor/hooks/__test__/test-utils.d.ts +38 -3
  145. package/dist/editor/hooks/__test__/test-utils.d.ts.map +1 -1
  146. package/dist/editor/hooks/__test__/test-utils.js +50 -4
  147. package/dist/editor/hooks/__test__/test-utils.js.map +1 -1
  148. package/dist/editor/hooks/index.d.ts +4 -1
  149. package/dist/editor/hooks/index.d.ts.map +1 -1
  150. package/dist/editor/hooks/index.js +4 -1
  151. package/dist/editor/hooks/index.js.map +1 -1
  152. package/dist/editor/hooks/useBranchManager.d.ts +21 -1
  153. package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
  154. package/dist/editor/hooks/useBranchManager.js +68 -32
  155. package/dist/editor/hooks/useBranchManager.js.map +1 -1
  156. package/dist/editor/hooks/useBranchesData.d.ts +57 -0
  157. package/dist/editor/hooks/useBranchesData.d.ts.map +1 -0
  158. package/dist/editor/hooks/useBranchesData.js +69 -0
  159. package/dist/editor/hooks/useBranchesData.js.map +1 -0
  160. package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
  161. package/dist/editor/hooks/useCommentSystem.js +24 -22
  162. package/dist/editor/hooks/useCommentSystem.js.map +1 -1
  163. package/dist/editor/hooks/useCommentsData.d.ts +29 -0
  164. package/dist/editor/hooks/useCommentsData.d.ts.map +1 -0
  165. package/dist/editor/hooks/useCommentsData.js +40 -0
  166. package/dist/editor/hooks/useCommentsData.js.map +1 -0
  167. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  168. package/dist/editor/hooks/useDraftManager.js +32 -18
  169. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  170. package/dist/editor/hooks/useEntriesData.d.ts +35 -0
  171. package/dist/editor/hooks/useEntriesData.d.ts.map +1 -0
  172. package/dist/editor/hooks/useEntriesData.js +96 -0
  173. package/dist/editor/hooks/useEntriesData.js.map +1 -0
  174. package/dist/editor/hooks/useEntryManager.d.ts +8 -15
  175. package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
  176. package/dist/editor/hooks/useEntryManager.js +259 -117
  177. package/dist/editor/hooks/useEntryManager.js.map +1 -1
  178. package/dist/editor/hooks/usePermissionManager.d.ts +2 -2
  179. package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
  180. package/dist/editor/hooks/usePermissionManager.js +11 -9
  181. package/dist/editor/hooks/usePermissionManager.js.map +1 -1
  182. package/dist/editor/hooks/useReferenceResolution.d.ts.map +1 -1
  183. package/dist/editor/hooks/useReferenceResolution.js +24 -1
  184. package/dist/editor/hooks/useReferenceResolution.js.map +1 -1
  185. package/dist/editor/media/MediaLibraryBody.d.ts.map +1 -1
  186. package/dist/editor/media/MediaLibraryBody.js +12 -2
  187. package/dist/editor/media/MediaLibraryBody.js.map +1 -1
  188. package/dist/editor/permission-manager/GroupSelector.d.ts.map +1 -1
  189. package/dist/editor/permission-manager/GroupSelector.js +7 -2
  190. package/dist/editor/permission-manager/GroupSelector.js.map +1 -1
  191. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +3 -3
  192. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +1 -1
  193. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +1 -0
  194. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +1 -1
  195. package/dist/editor/permission-manager/types.d.ts +6 -4
  196. package/dist/editor/permission-manager/types.d.ts.map +1 -1
  197. package/dist/editor/test-setup.js +8 -0
  198. package/dist/editor/test-setup.js.map +1 -1
  199. package/dist/git-manager.d.ts +126 -9
  200. package/dist/git-manager.d.ts.map +1 -1
  201. package/dist/git-manager.js +251 -27
  202. package/dist/git-manager.js.map +1 -1
  203. package/dist/github-service.d.ts.map +1 -1
  204. package/dist/github-service.js +13 -7
  205. package/dist/github-service.js.map +1 -1
  206. package/dist/http/handler.d.ts.map +1 -1
  207. package/dist/http/handler.js +8 -2
  208. package/dist/http/handler.js.map +1 -1
  209. package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
  210. package/dist/operating-mode/client-unsafe-strategy.js +7 -8
  211. package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
  212. package/dist/operating-mode/deployment-name.d.ts +28 -0
  213. package/dist/operating-mode/deployment-name.d.ts.map +1 -0
  214. package/dist/operating-mode/deployment-name.js +78 -0
  215. package/dist/operating-mode/deployment-name.js.map +1 -0
  216. package/dist/operating-mode/index.d.ts +5 -1
  217. package/dist/operating-mode/index.d.ts.map +1 -1
  218. package/dist/operating-mode/index.js +7 -1
  219. package/dist/operating-mode/index.js.map +1 -1
  220. package/dist/operating-mode/types.d.ts +13 -3
  221. package/dist/operating-mode/types.d.ts.map +1 -1
  222. package/dist/paths/branch-name.d.ts +38 -0
  223. package/dist/paths/branch-name.d.ts.map +1 -1
  224. package/dist/paths/branch-name.js +46 -0
  225. package/dist/paths/branch-name.js.map +1 -1
  226. package/dist/paths/index.d.ts +1 -1
  227. package/dist/paths/index.d.ts.map +1 -1
  228. package/dist/paths/index.js +1 -1
  229. package/dist/paths/index.js.map +1 -1
  230. package/dist/reference-resolver.d.ts +6 -2
  231. package/dist/reference-resolver.d.ts.map +1 -1
  232. package/dist/reference-resolver.js +8 -1
  233. package/dist/reference-resolver.js.map +1 -1
  234. package/dist/schema/meta-loader.d.ts.map +1 -1
  235. package/dist/schema/meta-loader.js +10 -2
  236. package/dist/schema/meta-loader.js.map +1 -1
  237. package/dist/schema/schema-store.d.ts +11 -2
  238. package/dist/schema/schema-store.d.ts.map +1 -1
  239. package/dist/schema/schema-store.js +23 -11
  240. package/dist/schema/schema-store.js.map +1 -1
  241. package/dist/settings-workspace.d.ts +0 -15
  242. package/dist/settings-workspace.d.ts.map +1 -1
  243. package/dist/settings-workspace.js +97 -1
  244. package/dist/settings-workspace.js.map +1 -1
  245. package/dist/types.d.ts +63 -2
  246. package/dist/types.d.ts.map +1 -1
  247. package/dist/utils/debug.d.ts +11 -0
  248. package/dist/utils/debug.d.ts.map +1 -1
  249. package/dist/utils/debug.js +12 -1
  250. package/dist/utils/debug.js.map +1 -1
  251. package/dist/utils/git.d.ts +38 -0
  252. package/dist/utils/git.d.ts.map +1 -1
  253. package/dist/utils/git.js +69 -0
  254. package/dist/utils/git.js.map +1 -1
  255. package/dist/utils/logger.d.ts +71 -0
  256. package/dist/utils/logger.d.ts.map +1 -0
  257. package/dist/utils/logger.js +85 -0
  258. package/dist/utils/logger.js.map +1 -0
  259. package/dist/validation/entry-type-reference-validator.d.ts +33 -0
  260. package/dist/validation/entry-type-reference-validator.d.ts.map +1 -0
  261. package/dist/validation/entry-type-reference-validator.js +110 -0
  262. package/dist/validation/entry-type-reference-validator.js.map +1 -0
  263. package/dist/worker/cms-worker.d.ts +232 -3
  264. package/dist/worker/cms-worker.d.ts.map +1 -1
  265. package/dist/worker/cms-worker.js +856 -87
  266. package/dist/worker/cms-worker.js.map +1 -1
  267. package/dist/worker/log.d.ts +61 -0
  268. package/dist/worker/log.d.ts.map +1 -0
  269. package/dist/worker/log.js +74 -0
  270. package/dist/worker/log.js.map +1 -0
  271. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/http/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/http/handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-unsafe-strategy.d.ts","sourceRoot":"","sources":["../../src/operating-mode/client-unsafe-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAwKlE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAqB3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
1
+ {"version":3,"file":"client-unsafe-strategy.d.ts","sourceRoot":"","sources":["../../src/operating-mode/client-unsafe-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAsKlE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAqB3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import path from 'node:path';
10
10
  import { ProdClientSafeStrategy, DevClientSafeStrategy } from './client-safe-strategy.js';
11
+ import { resolveDeploymentName } from './deployment-name.js';
11
12
  import { DEFAULT_PROD_WORKSPACE } from '../config/index.js';
12
13
  // ============================================================================
13
14
  // Production Mode - Full Strategy
@@ -21,10 +22,10 @@ class ProdStrategy extends ProdClientSafeStrategy {
21
22
  getWorkspaceRoot(_sourceRoot) {
22
23
  return path.resolve(process.env.CANOPYCMS_WORKSPACE_ROOT ?? DEFAULT_PROD_WORKSPACE);
23
24
  }
24
- getContentRoot(sourceRoot) {
25
+ getContentRoot(contentRoot, sourceRoot) {
25
26
  // In prod, content is at workspace root (not project root)
26
27
  // This is called with sourceRoot = workspace path
27
- return path.resolve(sourceRoot ?? process.cwd(), 'content');
28
+ return path.resolve(sourceRoot ?? process.cwd(), contentRoot);
28
29
  }
29
30
  getContentBranchesRoot(sourceRoot) {
30
31
  return path.join(this.getWorkspaceRoot(sourceRoot), 'content-branches');
@@ -55,8 +56,7 @@ class ProdStrategy extends ProdClientSafeStrategy {
55
56
  getSettingsBranchName(config) {
56
57
  if (config.settingsBranch)
57
58
  return config.settingsBranch;
58
- const deploymentName = config.deploymentName ?? 'prod';
59
- return `canopycms-settings-${deploymentName}`;
59
+ return `canopycms-settings-${resolveDeploymentName(config, 'prod')}`;
60
60
  }
61
61
  getSettingsRoot(sourceRoot) {
62
62
  return path.join(this.getWorkspaceRoot(sourceRoot), 'settings');
@@ -81,8 +81,8 @@ class DevStrategy extends DevClientSafeStrategy {
81
81
  getWorkspaceRoot(sourceRoot) {
82
82
  return path.resolve(sourceRoot ?? process.cwd(), '.canopy-dev');
83
83
  }
84
- getContentRoot(sourceRoot) {
85
- return path.resolve(sourceRoot ?? process.cwd(), 'content');
84
+ getContentRoot(contentRoot, sourceRoot) {
85
+ return path.resolve(sourceRoot ?? process.cwd(), contentRoot);
86
86
  }
87
87
  getContentBranchesRoot(sourceRoot) {
88
88
  return path.join(this.getWorkspaceRoot(sourceRoot), 'content-branches');
@@ -112,8 +112,7 @@ class DevStrategy extends DevClientSafeStrategy {
112
112
  getSettingsBranchName(config) {
113
113
  if (config.settingsBranch)
114
114
  return config.settingsBranch;
115
- const deploymentName = config.deploymentName ?? 'local';
116
- return `canopycms-settings-${deploymentName}`;
115
+ return `canopycms-settings-${resolveDeploymentName(config, 'local')}`;
117
116
  }
118
117
  getSettingsRoot(sourceRoot) {
119
118
  return path.join(this.getWorkspaceRoot(sourceRoot), 'settings');
@@ -1 +1 @@
1
- {"version":3,"file":"client-unsafe-strategy.js","sourceRoot":"","sources":["../../src/operating-mode/client-unsafe-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-unsafe-strategy.js","sourceRoot":"","sources":["../../src/operating-mode/client-unsafe-strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Single resolution point for `deploymentName`.
3
+ *
4
+ * `deploymentName` namespaces the settings branch
5
+ * (`canopycms-settings-{deploymentName}`) so two CanopyCMS deployments can
6
+ * share one GitHub repo without both resolving to `canopycms-settings-prod`
7
+ * and fighting over the same orphan branch.
8
+ *
9
+ * Precedence (highest wins):
10
+ * 1. `process.env.CANOPYCMS_DEPLOYMENT_NAME` (trimmed; empty string ignored)
11
+ * 2. `config.deploymentName`
12
+ * 3. `modeDefault` (the caller's mode-specific fallback, e.g. 'prod'/'local')
13
+ *
14
+ * Env wins over config DELIBERATELY. The env var is stamped per-stack by
15
+ * infrastructure (CDK's `CanopyCmsServiceProps.deploymentName` ->
16
+ * `CANOPYCMS_DEPLOYMENT_NAME`), so it is the value GUARANTEED TO DIFFER
17
+ * between two deployments sharing a repo. `config.deploymentName` lives in
18
+ * the shared repo's `canopycms.config.ts`, so it is the value GUARANTEED TO
19
+ * BE IDENTICAL across both deployments (both Lambdas run the same checked-out
20
+ * config). If config won instead, an adopter who already wrote
21
+ * `deploymentName` into their shared config would find the CDK
22
+ * `deploymentName` prop silently doing nothing — exactly the two-stacks-one-repo
23
+ * case this feature exists to fix.
24
+ */
25
+ export declare function resolveDeploymentName(config: {
26
+ deploymentName?: string;
27
+ }, modeDefault: string): string;
28
+ //# sourceMappingURL=deployment-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-name.d.ts","sourceRoot":"","sources":["../../src/operating-mode/deployment-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA4BH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EACnC,WAAW,EAAE,MAAM,GAClB,MAAM,CAqCR"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Single resolution point for `deploymentName`.
3
+ *
4
+ * `deploymentName` namespaces the settings branch
5
+ * (`canopycms-settings-{deploymentName}`) so two CanopyCMS deployments can
6
+ * share one GitHub repo without both resolving to `canopycms-settings-prod`
7
+ * and fighting over the same orphan branch.
8
+ *
9
+ * Precedence (highest wins):
10
+ * 1. `process.env.CANOPYCMS_DEPLOYMENT_NAME` (trimmed; empty string ignored)
11
+ * 2. `config.deploymentName`
12
+ * 3. `modeDefault` (the caller's mode-specific fallback, e.g. 'prod'/'local')
13
+ *
14
+ * Env wins over config DELIBERATELY. The env var is stamped per-stack by
15
+ * infrastructure (CDK's `CanopyCmsServiceProps.deploymentName` ->
16
+ * `CANOPYCMS_DEPLOYMENT_NAME`), so it is the value GUARANTEED TO DIFFER
17
+ * between two deployments sharing a repo. `config.deploymentName` lives in
18
+ * the shared repo's `canopycms.config.ts`, so it is the value GUARANTEED TO
19
+ * BE IDENTICAL across both deployments (both Lambdas run the same checked-out
20
+ * config). If config won instead, an adopter who already wrote
21
+ * `deploymentName` into their shared config would find the CDK
22
+ * `deploymentName` prop silently doing nothing — exactly the two-stacks-one-repo
23
+ * case this feature exists to fix.
24
+ */
25
+ import { canopyLogWarn } from '../utils/logger.js';
26
+ let warned = false;
27
+ /**
28
+ * Conservative charset for a deployment name. The resolved value is
29
+ * interpolated straight into a git ref (`canopycms-settings-{name}`), and the
30
+ * env var route bypasses the config schema entirely — nothing else validates
31
+ * an infra-stamped value before it becomes a branch name. Rejecting anything
32
+ * outside this set keeps the result a single, well-formed ref component:
33
+ * no `/` (would add a ref hierarchy level and break sanitizeBranchName
34
+ * round-trips), no whitespace, no `..`/`~`/`^`/`:` (git-forbidden), no
35
+ * leading `-` (would parse as a git option).
36
+ *
37
+ * The charset alone is not sufficient: `..`, a trailing `.`, and a `.lock`
38
+ * suffix are all built from allowed characters but are still rejected by
39
+ * git's own ref rules (git-check-ref-format), so they are excluded separately.
40
+ */
41
+ const VALID_DEPLOYMENT_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
42
+ const isValidDeploymentName = (name) => VALID_DEPLOYMENT_NAME.test(name) &&
43
+ !name.includes('..') &&
44
+ !name.endsWith('.') &&
45
+ !name.endsWith('.lock');
46
+ export function resolveDeploymentName(config, modeDefault) {
47
+ const envValue = process.env.CANOPYCMS_DEPLOYMENT_NAME?.trim();
48
+ const configValue = config.deploymentName;
49
+ if (envValue && configValue && envValue !== configValue && !warned) {
50
+ // canopyLogWarn, not console.warn: cms-worker.ts imports this module and
51
+ // resolves through it inside start(), so this line lands in worker.log,
52
+ // where an unprefixed line is folded into the previous CloudWatch event.
53
+ // The mismatch this reports is exactly what an operator would be grepping
54
+ // for. Plain console under Lambda/dev, as everywhere else. See
55
+ // utils/logger.ts. (Missed by the worker-log sweep, which went by directory
56
+ // name and by the modules the finding named, rather than by the worker's
57
+ // real import graph.)
58
+ canopyLogWarn(`CanopyCMS: CANOPYCMS_DEPLOYMENT_NAME ("${envValue}") differs from config.deploymentName ` +
59
+ `("${configValue}") — using the env var (infra-stamped env wins over shared-repo config ` +
60
+ `by design; see resolveDeploymentName's doc comment). Update config.deploymentName to ` +
61
+ `match if this mismatch was unintentional.`);
62
+ warned = true;
63
+ }
64
+ const resolved = envValue || configValue || modeDefault;
65
+ if (!isValidDeploymentName(resolved)) {
66
+ const source = envValue
67
+ ? 'CANOPYCMS_DEPLOYMENT_NAME'
68
+ : configValue
69
+ ? 'config.deploymentName'
70
+ : 'the mode default';
71
+ throw new Error(`CanopyCMS: invalid deploymentName ${JSON.stringify(resolved)} (from ${source}). ` +
72
+ `It is interpolated into the settings branch name (canopycms-settings-<deploymentName>), ` +
73
+ `so it must start with a letter or digit, contain only letters, digits, '.', '_' or '-', ` +
74
+ `and must not contain '..' or end with '.' or '.lock'.`);
75
+ }
76
+ return resolved;
77
+ }
78
+ //# sourceMappingURL=deployment-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-name.js","sourceRoot":"","sources":["../../src/operating-mode/deployment-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,IAAI,MAAM,GAAG,KAAK,CAAA;AAElB;;;;;;;;;;;;;GAaG;AACH,MAAM,qBAAqB,GAAG,8BAA8B,CAAA;AAE5D,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAW,EAAE,CACtD,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAEzB,MAAM,UAAU,qBAAqB,CACnC,MAAmC,EACnC,WAAmB;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAA;IAEzC,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;QACnE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,+DAA+D;QAC/D,4EAA4E;QAC5E,yEAAyE;QACzE,sBAAsB;QACtB,aAAa,CACX,0CAA0C,QAAQ,wCAAwC;YACxF,KAAK,WAAW,yEAAyE;YACzF,uFAAuF;YACvF,2CAA2C,CAC9C,CAAA;QACD,MAAM,GAAG,IAAI,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAA;IACvD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,kBAAkB,CAAA;QACxB,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,MAAM,KAAK;YAChF,0FAA0F;YAC1F,0FAA0F;YAC1F,uDAAuD,CAC1D,CAAA;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -15,7 +15,10 @@
15
15
  * Server code:
16
16
  * import { operatingStrategy } from '@/operating-mode'
17
17
  * const strategy = operatingStrategy(mode)
18
- * const contentRoot = strategy.getContentRoot()
18
+ * // contentRoot is REQUIRED: pass config.contentRoot (falling back to 'content'
19
+ * // at the call site), never a bare call — see getContentRoot's doc comment in
20
+ * // types.ts for why a default here would silently disarm a caller.
21
+ * const contentRoot = strategy.getContentRoot(config.contentRoot ?? 'content')
19
22
  * const branchesRoot = strategy.getContentBranchesRoot()
20
23
  * const branchRoot = strategy.getContentBranchRoot('my-branch')
21
24
  * const settingsRoot = strategy.getSettingsRoot()
@@ -23,6 +26,7 @@
23
26
  */
24
27
  export { clientOperatingStrategy, clearClientStrategyCache } from './client-safe-strategy';
25
28
  export { operatingStrategy, clearStrategyCache } from './client-unsafe-strategy';
29
+ export { resolveDeploymentName } from './deployment-name';
26
30
  export type OperatingMode = 'prod' | 'dev';
27
31
  export type { ClientSafeStrategy, ClientUnsafeStrategy, ResolveRemoteUrlOptions } from './types';
28
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operating-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAG1F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAA;AAG1C,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operating-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAG1F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAIhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAA;AAG1C,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
@@ -15,7 +15,10 @@
15
15
  * Server code:
16
16
  * import { operatingStrategy } from '@/operating-mode'
17
17
  * const strategy = operatingStrategy(mode)
18
- * const contentRoot = strategy.getContentRoot()
18
+ * // contentRoot is REQUIRED: pass config.contentRoot (falling back to 'content'
19
+ * // at the call site), never a bare call — see getContentRoot's doc comment in
20
+ * // types.ts for why a default here would silently disarm a caller.
21
+ * const contentRoot = strategy.getContentRoot(config.contentRoot ?? 'content')
19
22
  * const branchesRoot = strategy.getContentBranchesRoot()
20
23
  * const branchRoot = strategy.getContentBranchRoot('my-branch')
21
24
  * const settingsRoot = strategy.getSettingsRoot()
@@ -25,4 +28,7 @@
25
28
  export { clientOperatingStrategy, clearClientStrategyCache } from './client-safe-strategy.js';
26
29
  // Client-unsafe factory and strategy (server-side only)
27
30
  export { operatingStrategy, clearStrategyCache } from './client-unsafe-strategy.js';
31
+ // Single resolution point for deploymentName (env > config > mode default) —
32
+ // server-only (reads process.env), used by the strategies' getSettingsBranchName.
33
+ export { resolveDeploymentName } from './deployment-name.js';
28
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operating-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,6DAA6D;AAC7D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAE1F,wDAAwD;AACxD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operating-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,6DAA6D;AAC7D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAE1F,wDAAwD;AACxD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,6EAA6E;AAC7E,kFAAkF;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -79,10 +79,20 @@ export interface ClientUnsafeStrategy extends ClientSafeStrategy {
79
79
  getWorkspaceRoot(sourceRoot?: string): string;
80
80
  /**
81
81
  * Get the content directory path (at project/workspace root).
82
- * - dev: {cwd}/content
83
- * - prod (in workspaces): {workspaceRoot}/content
82
+ * - dev: {sourceRoot ?? cwd}/{contentRoot}
83
+ * - prod (in workspaces): {sourceRoot ?? cwd}/{contentRoot}
84
+ *
85
+ * `contentRoot` is REQUIRED and must be the caller's already-resolved
86
+ * `config.contentRoot` (falling back to 'content' at the call site, not here).
87
+ * A default here is deliberately not provided: this method used to hardcode
88
+ * the literal 'content', which silently disarmed callers configured with a
89
+ * non-default contentRoot (e.g. dev-content-watcher.ts's divergence watcher
90
+ * resolved a content directory that never existed, hit its existsSync guard,
91
+ * and permanently no-op'd — with no error, since a missing directory looks
92
+ * like "nothing to watch yet"). Making the parameter required means a future
93
+ * caller cannot silently reintroduce that bug by omitting it.
84
94
  */
85
- getContentRoot(sourceRoot?: string): string;
95
+ getContentRoot(contentRoot: string, sourceRoot?: string): string;
86
96
  /**
87
97
  * Get the parent directory of all content branch workspaces (contains branches.json and branch directories).
88
98
  * - dev: {cwd}/.canopy-dev/content-branches
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/operating-mode/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,GAAG,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,MAAM,MAAM,aAAa,GAAG,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IACzB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAM5B,4DAA4D;IAC5D,iBAAiB,IAAI,OAAO,CAAA;IAE5B,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAA;IAE9B,0DAA0D;IAC1D,gBAAgB,IAAI,OAAO,CAAA;IAE3B,kDAAkD;IAClD,oBAAoB,IAAI,OAAO,CAAA;IAM/B,2FAA2F;IAC3F,sBAAsB,IAAI,MAAM,CAAA;IAEhC,4EAA4E;IAC5E,iBAAiB,IAAI,MAAM,CAAA;IAE3B,sDAAsD;IACtD,YAAY,IAAI,OAAO,CAAA;IAEvB,qDAAqD;IACrD,UAAU,IAAI,OAAO,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAK9D;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE7C;;;;OAIG;IACH,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE3C;;;;OAIG;IACH,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEnD;;;OAGG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAErE;;;OAGG;IACH,oBAAoB,IAAI,MAAM,CAAA;IAM9B,gDAAgD;IAChD,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAE5C,2CAA2C;IAC3C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAMvC,kFAAkF;IAClF,kBAAkB,IAAI,eAAe,CAAA;IAErC,4DAA4D;IAC5D,oBAAoB,IAAI,OAAO,CAAA;IAM/B;;;OAGG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,GAAG,MAAM,CAAA;IAEV;;;;OAIG;IACH,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE5C,6DAA6D;IAC7D,0BAA0B,IAAI,OAAO,CAAA;IAMrC,2CAA2C;IAC3C,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAMnD,wEAAwE;IACxE,sBAAsB,CAAC,MAAM,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAA;CAC5E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/operating-mode/types.ts"],"names":[],"mappings":"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"}
@@ -17,4 +17,42 @@ import type { SanitizedBranchName } from './types';
17
17
  * - Trims leading/trailing dots
18
18
  */
19
19
  export declare function sanitizeBranchName(branchName: string): SanitizedBranchName;
20
+ /**
21
+ * Prefix reserved for CanopyCMS settings branches (`canopycms-settings-{name}`,
22
+ * see operating-mode/client-unsafe-strategy.ts's `getSettingsBranchName` and
23
+ * operating-mode/deployment-name.ts's `resolveDeploymentName`). Exported from
24
+ * this dependency-free module -- not constructed ad hoc at each call site --
25
+ * so every consumer that needs to recognize the settings-branch namespace
26
+ * agrees on the exact string: worker/cms-worker.ts's `pushSettingsBranches`
27
+ * (never push a `canopycms-settings-*` branch this deployment doesn't own),
28
+ * and api/branch.ts's `createBranchHandler` (reject a user-requested branch
29
+ * whose SANITIZED name falls in this namespace).
30
+ *
31
+ * Two CanopyCMS deployments can share one GitHub repo, each with its own
32
+ * settings branch under this prefix (`canopycms-settings-prod` vs
33
+ * `canopycms-settings-staging`, say). A content-branch request that lands on
34
+ * ANOTHER deployment's settings branch name would silently corrupt that
35
+ * deployment's permissions/groups the next time its worker treats the ref as
36
+ * an orphan settings branch -- so the whole prefix is reserved for branch
37
+ * creation, not just this deployment's own settings branch name.
38
+ */
39
+ export declare const RESERVED_SETTINGS_BRANCH_PREFIX = "canopycms-settings-";
40
+ /**
41
+ * Branch names that collide with a static top-level API route namespace.
42
+ *
43
+ * http/router.ts's `compareSpecificity` ranks a literal pattern segment above a
44
+ * `:param`, so a branch named e.g. `admin` has its `/:branch/...` routes
45
+ * shadowed by the static `/admin/...` ones. The failure is a *partial* one,
46
+ * which is what makes it confusing: bare `GET /admin` still reaches the branch
47
+ * handler (there is no single-segment static `/admin` route), so the branch
48
+ * looks half-alive while every nested route 404s or 403s.
49
+ *
50
+ * Lives in this dependency-free module for the same reason as
51
+ * {@link RESERVED_SETTINGS_BRANCH_PREFIX}: api/validators.ts is imported *by*
52
+ * the route modules, so nothing on the validation side can import the router to
53
+ * derive this at runtime without a cycle. http/router.test.ts derives the same
54
+ * set from the live route table and asserts it equals this constant, so adding
55
+ * a new top-level namespace fails that test until this list is updated.
56
+ */
57
+ export declare const RESERVED_ROUTE_BRANCH_NAMES: readonly string[];
20
58
  //# sourceMappingURL=branch-name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-name.d.ts","sourceRoot":"","sources":["../../src/paths/branch-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAK1E"}
1
+ {"version":3,"file":"branch-name.d.ts","sourceRoot":"","sources":["../../src/paths/branch-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAK1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B,wBAAwB,CAAA;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAQxD,CAAA"}
@@ -21,4 +21,50 @@ export function sanitizeBranchName(branchName) {
21
21
  const trimmedDots = squashed.replace(/^\.+/, '').replace(/(?<!\.)\.+$/, '');
22
22
  return (trimmedDots || 'branch');
23
23
  }
24
+ /**
25
+ * Prefix reserved for CanopyCMS settings branches (`canopycms-settings-{name}`,
26
+ * see operating-mode/client-unsafe-strategy.ts's `getSettingsBranchName` and
27
+ * operating-mode/deployment-name.ts's `resolveDeploymentName`). Exported from
28
+ * this dependency-free module -- not constructed ad hoc at each call site --
29
+ * so every consumer that needs to recognize the settings-branch namespace
30
+ * agrees on the exact string: worker/cms-worker.ts's `pushSettingsBranches`
31
+ * (never push a `canopycms-settings-*` branch this deployment doesn't own),
32
+ * and api/branch.ts's `createBranchHandler` (reject a user-requested branch
33
+ * whose SANITIZED name falls in this namespace).
34
+ *
35
+ * Two CanopyCMS deployments can share one GitHub repo, each with its own
36
+ * settings branch under this prefix (`canopycms-settings-prod` vs
37
+ * `canopycms-settings-staging`, say). A content-branch request that lands on
38
+ * ANOTHER deployment's settings branch name would silently corrupt that
39
+ * deployment's permissions/groups the next time its worker treats the ref as
40
+ * an orphan settings branch -- so the whole prefix is reserved for branch
41
+ * creation, not just this deployment's own settings branch name.
42
+ */
43
+ export const RESERVED_SETTINGS_BRANCH_PREFIX = 'canopycms-settings-';
44
+ /**
45
+ * Branch names that collide with a static top-level API route namespace.
46
+ *
47
+ * http/router.ts's `compareSpecificity` ranks a literal pattern segment above a
48
+ * `:param`, so a branch named e.g. `admin` has its `/:branch/...` routes
49
+ * shadowed by the static `/admin/...` ones. The failure is a *partial* one,
50
+ * which is what makes it confusing: bare `GET /admin` still reaches the branch
51
+ * handler (there is no single-segment static `/admin` route), so the branch
52
+ * looks half-alive while every nested route 404s or 403s.
53
+ *
54
+ * Lives in this dependency-free module for the same reason as
55
+ * {@link RESERVED_SETTINGS_BRANCH_PREFIX}: api/validators.ts is imported *by*
56
+ * the route modules, so nothing on the validation side can import the router to
57
+ * derive this at runtime without a cycle. http/router.test.ts derives the same
58
+ * set from the live route table and asserts it equals this constant, so adding
59
+ * a new top-level namespace fails that test until this list is updated.
60
+ */
61
+ export const RESERVED_ROUTE_BRANCH_NAMES = [
62
+ 'admin',
63
+ 'assets',
64
+ 'branches',
65
+ 'groups',
66
+ 'permissions',
67
+ 'users',
68
+ 'whoami',
69
+ ];
24
70
  //# sourceMappingURL=branch-name.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch-name.js","sourceRoot":"","sources":["../../src/paths/branch-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAC3E,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAwB,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"branch-name.js","sourceRoot":"","sources":["../../src/paths/branch-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAC3E,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAwB,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAA;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,aAAa;IACb,OAAO;IACP,QAAQ;CACT,CAAA"}
@@ -19,5 +19,5 @@ export { validateAndNormalizePath } from './normalize-server';
19
19
  export { validateContentPath, isValidCollectionPath, sanitizeForPath, hasEmbeddedContentId, looksLikePhysicalPath, looksLikeLogicalPath, parseLogicalPath, parsePhysicalPath, isValidContentId, parseContentId, parseBranchName, parseSlug, } from './validation';
20
20
  export { resolveLogicalPath } from './resolve';
21
21
  export { resolveBranchPath, ensureBranchRoot, getDefaultBranchBase, resolveBranchPaths, BranchPathError, type BranchPathOptions, type BranchPathResult, } from './branch';
22
- export { sanitizeBranchName } from './branch-name';
22
+ export { sanitizeBranchName, RESERVED_SETTINGS_BRANCH_PREFIX, RESERVED_ROUTE_BRANCH_NAMES, } from './branch-name';
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAG7D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EAEf,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAEhB,cAAc,EACd,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAG7D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EAEf,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAEhB,cAAc,EACd,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,eAAe,CAAA"}
@@ -29,5 +29,5 @@ export { resolveLogicalPath } from './resolve.js';
29
29
  export { resolveBranchPath, ensureBranchRoot, getDefaultBranchBase, resolveBranchPaths, BranchPathError, } from './branch.js';
30
30
  // From the dependency-free module (NOT ./branch, which imports node:fs) so
31
31
  // client-reachable importers of 'canopycms/src/paths' stay browser-safe.
32
- export { sanitizeBranchName } from './branch-name.js';
32
+ export { sanitizeBranchName, RESERVED_SETTINGS_BRANCH_PREFIX, RESERVED_ROUTE_BRANCH_NAMES, } from './branch-name.js';
33
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,wCAAwC;AACxC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,sEAAsE;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,uBAAuB;AACvB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,eAAe;AACf,kCAAkC;AAClC,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB;AAChB,sCAAsC;AACtC,cAAc,EACd,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAA;AAErB,4BAA4B;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAGhB,MAAM,UAAU,CAAA;AACjB,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,wCAAwC;AACxC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAA;AAEpB,sEAAsE;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,uBAAuB;AACvB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,eAAe;AACf,kCAAkC;AAClC,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB;AAChB,sCAAsC;AACtC,cAAc,EACd,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAA;AAErB,4BAA4B;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAGhB,MAAM,UAAU,CAAA;AACjB,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { ContentStore } from './content-store';
2
2
  import type { ContentIdIndex } from './content-id-index';
3
- import type { LogicalPath, Slug } from './paths';
3
+ import type { LogicalPath, PhysicalPath, Slug } from './paths';
4
4
  export interface ResolvedReference {
5
5
  id: string;
6
6
  exists: boolean;
@@ -44,8 +44,12 @@ export declare class ReferenceResolver {
44
44
  * @param displayField - Field to use for option labels (default: 'title')
45
45
  * @param search - Optional search string to filter options
46
46
  * @param entryTypes - Optional entry type names to filter by (e.g., ['partner'])
47
+ * @param canAccess - Optional permission predicate, called with each candidate's
48
+ * relative path before it is read. Returning false skips the entry entirely --
49
+ * no file I/O, no label, no option -- so a caller who can't read a path never
50
+ * triggers a read for content they won't be allowed to see anyway.
47
51
  */
48
- loadReferenceOptions(collections?: LogicalPath[], displayField?: string, search?: string, entryTypes?: string[]): Promise<ReferenceOption[]>;
52
+ loadReferenceOptions(collections?: LogicalPath[], displayField?: string, search?: string, entryTypes?: string[], canAccess?: (relativePath: PhysicalPath) => boolean): Promise<ReferenceOption[]>;
49
53
  /**
50
54
  * Resolve multiple IDs at once.
51
55
  * Useful for displaying lists of referenced items.
@@ -1 +1 @@
1
- {"version":3,"file":"reference-resolver.d.ts","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAA;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAgB,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;gBADP,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc;IAGjC;;;;;;OAMG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,SAAU,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAgCpF;;;;;;;;;;OAUG;IACG,oBAAoB,CACxB,WAAW,CAAC,EAAE,WAAW,EAAE,EAC3B,YAAY,SAAU,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC;IAqE7B;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,SAAU,GAAG,OAAO,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC;CAGhG"}
1
+ {"version":3,"file":"reference-resolver.d.ts","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAA;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;gBADP,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc;IAGjC;;;;;;OAMG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,SAAU,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAgCpF;;;;;;;;;;;;;;OAcG;IACG,oBAAoB,CACxB,WAAW,CAAC,EAAE,WAAW,EAAE,EAC3B,YAAY,SAAU,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,GAClD,OAAO,CAAC,eAAe,EAAE,CAAC;IAuE7B;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,SAAU,GAAG,OAAO,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC;CAGhG"}
@@ -60,8 +60,12 @@ export class ReferenceResolver {
60
60
  * @param displayField - Field to use for option labels (default: 'title')
61
61
  * @param search - Optional search string to filter options
62
62
  * @param entryTypes - Optional entry type names to filter by (e.g., ['partner'])
63
+ * @param canAccess - Optional permission predicate, called with each candidate's
64
+ * relative path before it is read. Returning false skips the entry entirely --
65
+ * no file I/O, no label, no option -- so a caller who can't read a path never
66
+ * triggers a read for content they won't be allowed to see anyway.
63
67
  */
64
- async loadReferenceOptions(collections, displayField = 'title', search, entryTypes) {
68
+ async loadReferenceOptions(collections, displayField = 'title', search, entryTypes, canAccess) {
65
69
  const options = [];
66
70
  let candidates;
67
71
  if (collections && collections.length > 0) {
@@ -86,6 +90,9 @@ export class ReferenceResolver {
86
90
  for (const location of candidates) {
87
91
  if (!location.collection || !location.slug)
88
92
  continue;
93
+ // Skip denied paths before any file I/O.
94
+ if (canAccess && !canAccess(location.relativePath))
95
+ continue;
89
96
  const id = this.idIndex.findByPath(location.relativePath);
90
97
  if (!id)
91
98
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"reference-resolver.js","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-resolver.js","sourceRoot":"","sources":["../src/reference-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta-loader.d.ts","sourceRoot":"","sources":["../../src/schema/meta-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,oBAAoB,EAErB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAoDlD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAyFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1E,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC/B,WAAW,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CAC7E,CAAC,CAiCD;AA2ED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE;IACT,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC/B,WAAW,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CAC7E,EACD,mBAAmB,EAAE,mBAAmB,GACvC,oBAAoB,CAiCtB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAe9F"}
1
+ {"version":3,"file":"meta-loader.d.ts","sourceRoot":"","sources":["../../src/schema/meta-loader.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,oBAAoB,EAErB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAoDlD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAyFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1E,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC/B,WAAW,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CAC7E,CAAC,CAiCD;AA2ED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE;IACT,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC/B,WAAW,EAAE,KAAK,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CAC7E,EACD,mBAAmB,EAAE,mBAAmB,GACvC,oBAAoB,CAiCtB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAe9F"}
@@ -3,6 +3,14 @@ import { join } from 'pathe';
3
3
  import { z } from 'zod';
4
4
  import chokidar from 'chokidar';
5
5
  import { getErrorMessage } from '../utils/error.js';
6
+ // canopyLogError/canopyLogWarn, not console.*: this module sits in the
7
+ // worker's runtime import closure (worker/cms-worker.ts ->
8
+ // content-index-generation.ts -> branch-schema-cache.ts -> schema/resolver.ts
9
+ // -> here), so a bare console line would land in worker.log without the
10
+ // ISO-8601 prefix the CloudWatch agent's multi_line_start_pattern needs (see
11
+ // worker/log.ts). Plain console under Lambda/dev, as everywhere else -- see
12
+ // utils/logger.ts.
13
+ import { canopyLogError, canopyLogWarn } from '../utils/logger.js';
6
14
  import { extractSlugFromFilename, extractIdFromFilename } from '../content-id-index.js';
7
15
  /**
8
16
  * Zod schema for entry type metadata in .collection.json files.
@@ -109,7 +117,7 @@ async function scanForCollectionMeta(baseDir, relativePath = '') {
109
117
  catch (err) {
110
118
  if (err.code !== 'ENOENT') {
111
119
  // File exists but is invalid
112
- console.error(`Error loading ${metaPath}:`, err);
120
+ canopyLogError(`Error loading ${metaPath}:`, err);
113
121
  throw new Error(`Invalid .collection.json in ${folderPath}: ${err.message}`);
114
122
  }
115
123
  // No .collection.json - still scan subfolders in case they have collections
@@ -274,7 +282,7 @@ export function watchCollectionMetaFiles(contentRoot, onChange) {
274
282
  watcher.on('change', onChange);
275
283
  watcher.on('unlink', onChange);
276
284
  // Handle watcher errors (e.g. inotify ENOSPC/EMFILE) so an unhandled 'error' event can't crash dev.
277
- watcher.on('error', (err) => console.warn(`CanopyCMS: .collection.json watcher error: ${getErrorMessage(err)}`));
285
+ watcher.on('error', (err) => canopyLogWarn(`CanopyCMS: .collection.json watcher error: ${getErrorMessage(err)}`));
278
286
  // Return cleanup function
279
287
  return () => watcher.close();
280
288
  }