canopycms 0.0.63 → 0.0.65

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 (1211) hide show
  1. package/README.md +153 -19
  2. package/dist/ai/generate.d.ts +4 -5
  3. package/dist/ai/generate.js +0 -1
  4. package/dist/ai/handler.d.ts +3 -4
  5. package/dist/ai/handler.js +0 -1
  6. package/dist/ai/index.d.ts +7 -8
  7. package/dist/ai/index.js +0 -1
  8. package/dist/ai/json-to-markdown.d.ts +1 -2
  9. package/dist/ai/json-to-markdown.js +11 -2
  10. package/dist/ai/resolve-branch.d.ts +1 -2
  11. package/dist/ai/resolve-branch.js +0 -1
  12. package/dist/ai/strip-mdx.d.ts +0 -1
  13. package/dist/ai/strip-mdx.js +0 -1
  14. package/dist/ai/to-plain-text.d.ts +4 -1
  15. package/dist/ai/to-plain-text.js +47 -1
  16. package/dist/ai/transform-components.d.ts +1 -2
  17. package/dist/ai/transform-components.js +0 -1
  18. package/dist/ai/types.d.ts +1 -2
  19. package/dist/ai/types.js +0 -1
  20. package/dist/api/admin-branch-health.d.ts +7 -8
  21. package/dist/api/admin-branch-health.js +0 -1
  22. package/dist/api/admin.d.ts +16 -17
  23. package/dist/api/admin.js +0 -1
  24. package/dist/api/assets.d.ts +8 -9
  25. package/dist/api/assets.js +9 -1
  26. package/dist/api/branch-merge.d.ts +3 -4
  27. package/dist/api/branch-merge.js +0 -1
  28. package/dist/api/branch-review.d.ts +5 -6
  29. package/dist/api/branch-review.js +0 -1
  30. package/dist/api/branch-status.d.ts +15 -16
  31. package/dist/api/branch-status.js +0 -1
  32. package/dist/api/branch-withdraw.d.ts +3 -4
  33. package/dist/api/branch-withdraw.js +0 -1
  34. package/dist/api/branch.d.ts +13 -14
  35. package/dist/api/branch.js +0 -1
  36. package/dist/api/client.d.ts +14 -15
  37. package/dist/api/client.js +0 -1
  38. package/dist/api/comments.d.ts +11 -12
  39. package/dist/api/comments.js +0 -1
  40. package/dist/api/content.d.ts +22 -24
  41. package/dist/api/content.js +132 -18
  42. package/dist/api/entries-constants.d.ts +0 -1
  43. package/dist/api/entries-constants.js +0 -1
  44. package/dist/api/entries.d.ts +12 -13
  45. package/dist/api/entries.js +12 -2
  46. package/dist/api/github-sync.d.ts +2 -3
  47. package/dist/api/github-sync.js +0 -1
  48. package/dist/api/groups.d.ts +6 -7
  49. package/dist/api/groups.js +0 -1
  50. package/dist/api/guards.d.ts +2 -3
  51. package/dist/api/guards.js +0 -1
  52. package/dist/api/index.d.ts +18 -19
  53. package/dist/api/index.js +0 -1
  54. package/dist/api/permissions.d.ts +10 -11
  55. package/dist/api/permissions.js +0 -1
  56. package/dist/api/reference-options.d.ts +3 -4
  57. package/dist/api/reference-options.js +0 -1
  58. package/dist/api/request-body-hash.d.ts +0 -1
  59. package/dist/api/request-body-hash.js +0 -1
  60. package/dist/api/resolve-references.d.ts +6 -7
  61. package/dist/api/resolve-references.js +24 -6
  62. package/dist/api/route-builder.d.ts +2 -3
  63. package/dist/api/route-builder.js +0 -1
  64. package/dist/api/schema.d.ts +43 -44
  65. package/dist/api/schema.js +0 -1
  66. package/dist/api/settings-helpers.d.ts +2 -3
  67. package/dist/api/settings-helpers.js +0 -1
  68. package/dist/api/types.d.ts +6 -7
  69. package/dist/api/types.js +0 -1
  70. package/dist/api/user.d.ts +2 -3
  71. package/dist/api/user.js +0 -1
  72. package/dist/api/validators.d.ts +3 -4
  73. package/dist/api/validators.js +0 -1
  74. package/dist/assets/asset-prefixes.d.ts +1 -2
  75. package/dist/assets/asset-prefixes.js +0 -1
  76. package/dist/assets/asset-src.d.ts +17 -5
  77. package/dist/assets/asset-src.js +15 -3
  78. package/dist/assets/asset-url.d.ts +28 -7
  79. package/dist/assets/asset-url.js +20 -15
  80. package/dist/assets/factory.d.ts +2 -3
  81. package/dist/assets/factory.js +0 -2
  82. package/dist/assets/finalize.d.ts +2 -3
  83. package/dist/assets/finalize.js +0 -1
  84. package/dist/assets/index.d.ts +12 -13
  85. package/dist/assets/index.js +0 -1
  86. package/dist/assets/keys.d.ts +1 -2
  87. package/dist/assets/keys.js +0 -1
  88. package/dist/assets/pipeline.d.ts +1 -2
  89. package/dist/assets/pipeline.js +0 -1
  90. package/dist/assets/store-local.d.ts +1 -2
  91. package/dist/assets/store-local.js +0 -1
  92. package/dist/assets/store-s3.d.ts +2 -4
  93. package/dist/assets/store-s3.js +0 -1
  94. package/dist/assets/svg-sanitizer.d.ts +0 -1
  95. package/dist/assets/svg-sanitizer.js +0 -1
  96. package/dist/assets/transform-directives.d.ts +0 -1
  97. package/dist/assets/transform-directives.js +0 -1
  98. package/dist/assets/transform.d.ts +1 -2
  99. package/dist/assets/transform.js +0 -1
  100. package/dist/assets/types.d.ts +0 -1
  101. package/dist/assets/types.js +0 -1
  102. package/dist/auth/cache.d.ts +2 -3
  103. package/dist/auth/cache.js +0 -1
  104. package/dist/auth/caching-auth-plugin.d.ts +3 -4
  105. package/dist/auth/caching-auth-plugin.js +0 -1
  106. package/dist/auth/context-helpers.d.ts +1 -2
  107. package/dist/auth/context-helpers.js +0 -1
  108. package/dist/auth/file-based-auth-cache.d.ts +3 -4
  109. package/dist/auth/file-based-auth-cache.js +14 -3
  110. package/dist/auth/index.d.ts +6 -7
  111. package/dist/auth/index.js +0 -1
  112. package/dist/auth/plugin.d.ts +3 -4
  113. package/dist/auth/plugin.js +0 -1
  114. package/dist/auth/types.d.ts +1 -2
  115. package/dist/auth/types.js +0 -1
  116. package/dist/authorization/branch.d.ts +4 -5
  117. package/dist/authorization/branch.js +0 -1
  118. package/dist/authorization/content.d.ts +6 -7
  119. package/dist/authorization/content.js +0 -1
  120. package/dist/authorization/groups/index.d.ts +2 -3
  121. package/dist/authorization/groups/index.js +0 -1
  122. package/dist/authorization/groups/loader.d.ts +3 -4
  123. package/dist/authorization/groups/loader.js +0 -1
  124. package/dist/authorization/groups/schema.d.ts +1 -2
  125. package/dist/authorization/groups/schema.js +0 -1
  126. package/dist/authorization/helpers.d.ts +0 -1
  127. package/dist/authorization/helpers.js +0 -1
  128. package/dist/authorization/index.d.ts +11 -12
  129. package/dist/authorization/index.js +0 -1
  130. package/dist/authorization/path.d.ts +4 -5
  131. package/dist/authorization/path.js +0 -1
  132. package/dist/authorization/permissions/index.d.ts +2 -3
  133. package/dist/authorization/permissions/index.js +0 -1
  134. package/dist/authorization/permissions/loader.d.ts +4 -5
  135. package/dist/authorization/permissions/loader.js +0 -1
  136. package/dist/authorization/permissions/schema.d.ts +2 -3
  137. package/dist/authorization/permissions/schema.js +0 -1
  138. package/dist/authorization/protected-branch.d.ts +2 -3
  139. package/dist/authorization/protected-branch.js +0 -1
  140. package/dist/authorization/settings-file-store.d.ts +1 -2
  141. package/dist/authorization/settings-file-store.js +0 -1
  142. package/dist/authorization/types.d.ts +6 -7
  143. package/dist/authorization/types.js +0 -1
  144. package/dist/authorization/validation.d.ts +1 -2
  145. package/dist/authorization/validation.js +0 -1
  146. package/dist/branch-health.d.ts +22 -3
  147. package/dist/branch-health.js +6 -2
  148. package/dist/branch-metadata.d.ts +2 -3
  149. package/dist/branch-metadata.js +0 -1
  150. package/dist/branch-registry.d.ts +1 -2
  151. package/dist/branch-registry.js +0 -1
  152. package/dist/branch-schema-cache.d.ts +4 -5
  153. package/dist/branch-schema-cache.js +0 -1
  154. package/dist/branch-workspace.d.ts +4 -5
  155. package/dist/branch-workspace.js +0 -1
  156. package/dist/build/generate-ai-content.d.ts +21 -5
  157. package/dist/build/generate-ai-content.js +98 -6
  158. package/dist/build/index.d.ts +2 -3
  159. package/dist/build/index.js +0 -1
  160. package/dist/build-canopy.d.ts +5 -6
  161. package/dist/build-canopy.js +0 -1
  162. package/dist/build-mode.d.ts +1 -2
  163. package/dist/build-mode.js +0 -1
  164. package/dist/cli/cli.d.ts +18 -2
  165. package/dist/cli/cli.js +1172 -490
  166. package/dist/cli/generate-ai-content.d.ts +0 -1
  167. package/dist/cli/generate-ai-content.js +1000 -360
  168. package/dist/cli/init.d.ts +1 -2
  169. package/dist/cli/init.js +43 -6
  170. package/dist/cli/migrate.d.ts +5 -3
  171. package/dist/cli/migrate.js +5 -3
  172. package/dist/cli/project-detect.d.ts +5 -2
  173. package/dist/cli/project-detect.js +5 -1
  174. package/dist/cli/project-root.d.ts +0 -1
  175. package/dist/cli/project-root.js +0 -1
  176. package/dist/cli/sync.d.ts +0 -1
  177. package/dist/cli/sync.js +0 -1
  178. package/dist/cli/template-files/Dockerfile.cms.template +8 -2
  179. package/dist/cli/template-files/cms-stack.ts.template +33 -6
  180. package/dist/cli/template-files/deploy-cms.yml.template +29 -14
  181. package/dist/cli/templates.d.ts +0 -1
  182. package/dist/cli/templates.js +0 -1
  183. package/dist/client.d.ts +13 -14
  184. package/dist/client.js +0 -1
  185. package/dist/comment-store.d.ts +0 -1
  186. package/dist/comment-store.js +0 -1
  187. package/dist/config/flatten.d.ts +1 -2
  188. package/dist/config/flatten.js +0 -1
  189. package/dist/config/helpers.d.ts +3 -4
  190. package/dist/config/helpers.js +2 -2
  191. package/dist/config/index.d.ts +10 -11
  192. package/dist/config/index.js +0 -1
  193. package/dist/config/schemas/collection.d.ts +0 -1
  194. package/dist/config/schemas/collection.js +0 -1
  195. package/dist/config/schemas/config.d.ts +7 -4
  196. package/dist/config/schemas/config.js +12 -1
  197. package/dist/config/schemas/field.d.ts +3 -1
  198. package/dist/config/schemas/field.js +5 -1
  199. package/dist/config/schemas/media.d.ts +0 -1
  200. package/dist/config/schemas/media.js +0 -1
  201. package/dist/config/schemas/permissions.d.ts +0 -1
  202. package/dist/config/schemas/permissions.js +0 -1
  203. package/dist/config/types.d.ts +55 -9
  204. package/dist/config/types.js +0 -1
  205. package/dist/config/validation.d.ts +1 -2
  206. package/dist/config/validation.js +0 -1
  207. package/dist/config.d.ts +2 -3
  208. package/dist/config.js +0 -1
  209. package/dist/content-id-index.d.ts +1 -2
  210. package/dist/content-id-index.js +0 -1
  211. package/dist/content-index-generation.d.ts +0 -1
  212. package/dist/content-index-generation.js +0 -1
  213. package/dist/content-index-registry.d.ts +0 -1
  214. package/dist/content-index-registry.js +0 -1
  215. package/dist/content-listing.d.ts +75 -59
  216. package/dist/content-listing.js +76 -83
  217. package/dist/content-reader.d.ts +4 -5
  218. package/dist/content-reader.js +22 -3
  219. package/dist/content-store.d.ts +137 -6
  220. package/dist/content-store.js +294 -22
  221. package/dist/content-tree.d.ts +15 -5
  222. package/dist/content-tree.js +27 -8
  223. package/dist/context.d.ts +9 -6
  224. package/dist/context.js +0 -1
  225. package/dist/dev-content-watcher.d.ts +12 -3
  226. package/dist/dev-content-watcher.js +120 -30
  227. package/dist/editor/BranchManager.d.ts +4 -5
  228. package/dist/editor/BranchManager.js +0 -1
  229. package/dist/editor/CanopyEditor.d.ts +2 -3
  230. package/dist/editor/CanopyEditor.js +1 -2
  231. package/dist/editor/CanopyEditorPage.d.ts +2 -3
  232. package/dist/editor/CanopyEditorPage.js +0 -1
  233. package/dist/editor/CommentsPanel.d.ts +2 -3
  234. package/dist/editor/CommentsPanel.js +0 -1
  235. package/dist/editor/Editor.d.ts +13 -8
  236. package/dist/editor/Editor.js +4 -5
  237. package/dist/editor/EditorPanes.d.ts +0 -1
  238. package/dist/editor/EditorPanes.js +0 -1
  239. package/dist/editor/EntryNavigator.d.ts +1 -2
  240. package/dist/editor/EntryNavigator.js +0 -1
  241. package/dist/editor/FormRenderer.d.ts +2 -3
  242. package/dist/editor/FormRenderer.js +22 -3
  243. package/dist/editor/GroupManager.d.ts +2 -3
  244. package/dist/editor/GroupManager.js +0 -1
  245. package/dist/editor/PermissionManager.d.ts +2 -3
  246. package/dist/editor/PermissionManager.js +0 -1
  247. package/dist/editor/admin/SystemHealthPanel.d.ts +0 -1
  248. package/dist/editor/admin/SystemHealthPanel.js +0 -1
  249. package/dist/editor/admin/useSystemHealth.d.ts +2 -3
  250. package/dist/editor/admin/useSystemHealth.js +0 -1
  251. package/dist/editor/canopy-path.d.ts +0 -1
  252. package/dist/editor/canopy-path.js +0 -1
  253. package/dist/editor/client-reference-resolver.d.ts +13 -4
  254. package/dist/editor/client-reference-resolver.js +18 -8
  255. package/dist/editor/comments/BranchComments.d.ts +2 -3
  256. package/dist/editor/comments/BranchComments.js +0 -1
  257. package/dist/editor/comments/EntryComments.d.ts +1 -2
  258. package/dist/editor/comments/EntryComments.js +0 -1
  259. package/dist/editor/comments/FieldWrapper.d.ts +1 -2
  260. package/dist/editor/comments/FieldWrapper.js +0 -1
  261. package/dist/editor/comments/InlineCommentThread.d.ts +2 -3
  262. package/dist/editor/comments/InlineCommentThread.js +0 -1
  263. package/dist/editor/comments/ThreadCarousel.d.ts +2 -3
  264. package/dist/editor/comments/ThreadCarousel.js +0 -1
  265. package/dist/editor/components/ConfirmDeleteModal.d.ts +0 -1
  266. package/dist/editor/components/ConfirmDeleteModal.js +0 -1
  267. package/dist/editor/components/EditorFooter.d.ts +0 -1
  268. package/dist/editor/components/EditorFooter.js +0 -1
  269. package/dist/editor/components/EditorHeader.d.ts +4 -5
  270. package/dist/editor/components/EditorHeader.js +0 -1
  271. package/dist/editor/components/EditorSidebar.d.ts +1 -2
  272. package/dist/editor/components/EditorSidebar.js +0 -1
  273. package/dist/editor/components/EntryCreateModal.d.ts +0 -1
  274. package/dist/editor/components/EntryCreateModal.js +21 -10
  275. package/dist/editor/components/RenameEntryModal.d.ts +0 -1
  276. package/dist/editor/components/RenameEntryModal.js +0 -1
  277. package/dist/editor/components/UserBadge.d.ts +2 -3
  278. package/dist/editor/components/UserBadge.js +0 -1
  279. package/dist/editor/components/index.d.ts +3 -4
  280. package/dist/editor/components/index.js +0 -1
  281. package/dist/editor/context/ApiClientContext.d.ts +9 -3
  282. package/dist/editor/context/ApiClientContext.js +8 -4
  283. package/dist/editor/context/AssetContext.d.ts +26 -2
  284. package/dist/editor/context/AssetContext.js +23 -3
  285. package/dist/editor/context/EditorStateContext.d.ts +1 -2
  286. package/dist/editor/context/EditorStateContext.js +0 -1
  287. package/dist/editor/context/SWRProvider.d.ts +0 -1
  288. package/dist/editor/context/SWRProvider.js +0 -1
  289. package/dist/editor/context/index.d.ts +4 -5
  290. package/dist/editor/context/index.js +0 -1
  291. package/dist/editor/editor-config.d.ts +2 -3
  292. package/dist/editor/editor-config.js +0 -1
  293. package/dist/editor/editor-utils.d.ts +22 -10
  294. package/dist/editor/editor-utils.js +41 -10
  295. package/dist/editor/fields/BlockField.d.ts +1 -2
  296. package/dist/editor/fields/BlockField.js +0 -1
  297. package/dist/editor/fields/CodeField.d.ts +0 -1
  298. package/dist/editor/fields/CodeField.js +0 -1
  299. package/dist/editor/fields/DateTimeField.d.ts +0 -1
  300. package/dist/editor/fields/DateTimeField.js +0 -1
  301. package/dist/editor/fields/ImageField.d.ts +1 -2
  302. package/dist/editor/fields/ImageField.js +0 -1
  303. package/dist/editor/fields/InlineGroupField.d.ts +2 -3
  304. package/dist/editor/fields/InlineGroupField.js +0 -1
  305. package/dist/editor/fields/MarkdownField.d.ts +0 -1
  306. package/dist/editor/fields/MarkdownField.js +0 -1
  307. package/dist/editor/fields/MdxImageDialog.d.ts +0 -1
  308. package/dist/editor/fields/MdxImageDialog.js +0 -1
  309. package/dist/editor/fields/NumberField.d.ts +0 -1
  310. package/dist/editor/fields/NumberField.js +0 -1
  311. package/dist/editor/fields/NumberListField.d.ts +0 -1
  312. package/dist/editor/fields/NumberListField.js +0 -1
  313. package/dist/editor/fields/ObjectField.d.ts +11 -2
  314. package/dist/editor/fields/ObjectField.js +3 -4
  315. package/dist/editor/fields/ReferenceField.d.ts +0 -1
  316. package/dist/editor/fields/ReferenceField.js +8 -3
  317. package/dist/editor/fields/SelectField.d.ts +0 -1
  318. package/dist/editor/fields/SelectField.js +0 -1
  319. package/dist/editor/fields/StringListField.d.ts +0 -1
  320. package/dist/editor/fields/StringListField.js +0 -1
  321. package/dist/editor/fields/TextField.d.ts +0 -1
  322. package/dist/editor/fields/TextField.js +0 -1
  323. package/dist/editor/fields/ToggleField.d.ts +0 -1
  324. package/dist/editor/fields/ToggleField.js +0 -1
  325. package/dist/editor/fields/entry-link/EntryLinkContext.d.ts +1 -2
  326. package/dist/editor/fields/entry-link/EntryLinkContext.js +0 -1
  327. package/dist/editor/fields/entry-link/InsertEntryLink.d.ts +0 -1
  328. package/dist/editor/fields/entry-link/InsertEntryLink.js +0 -1
  329. package/dist/editor/fields/entry-link/index.d.ts +2 -3
  330. package/dist/editor/fields/entry-link/index.js +0 -1
  331. package/dist/editor/group-manager/ExternalGroupsTab.d.ts +1 -2
  332. package/dist/editor/group-manager/ExternalGroupsTab.js +0 -1
  333. package/dist/editor/group-manager/GroupCard.d.ts +1 -2
  334. package/dist/editor/group-manager/GroupCard.js +0 -1
  335. package/dist/editor/group-manager/GroupForm.d.ts +1 -2
  336. package/dist/editor/group-manager/GroupForm.js +0 -1
  337. package/dist/editor/group-manager/InternalGroupsTab.d.ts +1 -2
  338. package/dist/editor/group-manager/InternalGroupsTab.js +0 -1
  339. package/dist/editor/group-manager/MemberList.d.ts +1 -2
  340. package/dist/editor/group-manager/MemberList.js +0 -1
  341. package/dist/editor/group-manager/hooks/useExternalGroupSearch.d.ts +1 -2
  342. package/dist/editor/group-manager/hooks/useExternalGroupSearch.js +0 -1
  343. package/dist/editor/group-manager/hooks/useGroupState.d.ts +1 -2
  344. package/dist/editor/group-manager/hooks/useGroupState.js +0 -1
  345. package/dist/editor/group-manager/hooks/useUserSearch.d.ts +1 -2
  346. package/dist/editor/group-manager/hooks/useUserSearch.js +0 -1
  347. package/dist/editor/group-manager/index.d.ts +5 -6
  348. package/dist/editor/group-manager/index.js +0 -1
  349. package/dist/editor/group-manager/types.d.ts +4 -5
  350. package/dist/editor/group-manager/types.js +0 -1
  351. package/dist/editor/hooks/index.d.ts +14 -15
  352. package/dist/editor/hooks/index.js +0 -1
  353. package/dist/editor/hooks/useBranchActions.d.ts +0 -1
  354. package/dist/editor/hooks/useBranchActions.js +0 -1
  355. package/dist/editor/hooks/useBranchManager.d.ts +4 -5
  356. package/dist/editor/hooks/useBranchManager.js +0 -1
  357. package/dist/editor/hooks/useBranchesData.d.ts +2 -3
  358. package/dist/editor/hooks/useBranchesData.js +0 -1
  359. package/dist/editor/hooks/useCommentSystem.d.ts +2 -3
  360. package/dist/editor/hooks/useCommentSystem.js +0 -1
  361. package/dist/editor/hooks/useCommentsData.d.ts +2 -3
  362. package/dist/editor/hooks/useCommentsData.js +0 -1
  363. package/dist/editor/hooks/useDraftManager.d.ts +3 -4
  364. package/dist/editor/hooks/useDraftManager.js +0 -1
  365. package/dist/editor/hooks/useEditorLayout.d.ts +1 -2
  366. package/dist/editor/hooks/useEditorLayout.js +0 -1
  367. package/dist/editor/hooks/useEntriesData.d.ts +3 -5
  368. package/dist/editor/hooks/useEntriesData.js +0 -3
  369. package/dist/editor/hooks/useEntryLinkResolution.d.ts +2 -3
  370. package/dist/editor/hooks/useEntryLinkResolution.js +0 -1
  371. package/dist/editor/hooks/useEntryManager.d.ts +5 -7
  372. package/dist/editor/hooks/useEntryManager.js +8 -3
  373. package/dist/editor/hooks/useGroupManager.d.ts +2 -3
  374. package/dist/editor/hooks/useGroupManager.js +0 -1
  375. package/dist/editor/hooks/usePermissionManager.d.ts +2 -3
  376. package/dist/editor/hooks/usePermissionManager.js +0 -1
  377. package/dist/editor/hooks/useReferenceResolution.d.ts +1 -2
  378. package/dist/editor/hooks/useReferenceResolution.js +8 -3
  379. package/dist/editor/hooks/useSchemaManager.d.ts +2 -3
  380. package/dist/editor/hooks/useSchemaManager.js +0 -1
  381. package/dist/editor/hooks/useUserContext.d.ts +1 -2
  382. package/dist/editor/hooks/useUserContext.js +8 -3
  383. package/dist/editor/hooks/useUserMetadata.d.ts +2 -3
  384. package/dist/editor/hooks/useUserMetadata.js +0 -1
  385. package/dist/editor/media/AssetCard.d.ts +1 -2
  386. package/dist/editor/media/AssetCard.js +0 -1
  387. package/dist/editor/media/CropStep.d.ts +1 -2
  388. package/dist/editor/media/CropStep.js +0 -1
  389. package/dist/editor/media/MediaLibrary.d.ts +1 -2
  390. package/dist/editor/media/MediaLibrary.js +0 -1
  391. package/dist/editor/media/MediaLibraryBody.d.ts +1 -2
  392. package/dist/editor/media/MediaLibraryBody.js +0 -1
  393. package/dist/editor/media/crop-math.d.ts +1 -2
  394. package/dist/editor/media/crop-math.js +0 -1
  395. package/dist/editor/media/upload-asset.d.ts +2 -3
  396. package/dist/editor/media/upload-asset.js +0 -1
  397. package/dist/editor/media/upload-constants.d.ts +0 -1
  398. package/dist/editor/media/upload-constants.js +0 -1
  399. package/dist/editor/media/useAssetUpload.d.ts +1 -2
  400. package/dist/editor/media/useAssetUpload.js +0 -1
  401. package/dist/editor/media/xhr-upload.d.ts +0 -1
  402. package/dist/editor/media/xhr-upload.js +0 -1
  403. package/dist/editor/permission-manager/GroupSelector.d.ts +1 -2
  404. package/dist/editor/permission-manager/GroupSelector.js +0 -1
  405. package/dist/editor/permission-manager/PermissionEditor.d.ts +1 -2
  406. package/dist/editor/permission-manager/PermissionEditor.js +0 -1
  407. package/dist/editor/permission-manager/PermissionLevelBadge.d.ts +1 -2
  408. package/dist/editor/permission-manager/PermissionLevelBadge.js +0 -1
  409. package/dist/editor/permission-manager/PermissionTree.d.ts +1 -2
  410. package/dist/editor/permission-manager/PermissionTree.js +0 -1
  411. package/dist/editor/permission-manager/UserSelector.d.ts +1 -2
  412. package/dist/editor/permission-manager/UserSelector.js +0 -1
  413. package/dist/editor/permission-manager/constants.d.ts +1 -2
  414. package/dist/editor/permission-manager/constants.js +0 -1
  415. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +1 -2
  416. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +0 -1
  417. package/dist/editor/permission-manager/hooks/usePermissionTree.d.ts +2 -3
  418. package/dist/editor/permission-manager/hooks/usePermissionTree.js +0 -1
  419. package/dist/editor/permission-manager/index.d.ts +4 -5
  420. package/dist/editor/permission-manager/index.js +0 -1
  421. package/dist/editor/permission-manager/types.d.ts +3 -4
  422. package/dist/editor/permission-manager/types.js +0 -1
  423. package/dist/editor/permission-manager/utils.d.ts +2 -3
  424. package/dist/editor/permission-manager/utils.js +0 -1
  425. package/dist/editor/preview-bridge.d.ts +1 -2
  426. package/dist/editor/preview-bridge.js +0 -1
  427. package/dist/editor/relative-time.d.ts +0 -1
  428. package/dist/editor/relative-time.js +0 -1
  429. package/dist/editor/schema-editor/CollectionEditor.d.ts +4 -5
  430. package/dist/editor/schema-editor/CollectionEditor.js +0 -1
  431. package/dist/editor/schema-editor/EntryTypeEditor.d.ts +2 -3
  432. package/dist/editor/schema-editor/EntryTypeEditor.js +0 -1
  433. package/dist/editor/schema-editor/index.d.ts +2 -3
  434. package/dist/editor/schema-editor/index.js +0 -1
  435. package/dist/editor/theme.d.ts +0 -1
  436. package/dist/editor/theme.js +0 -1
  437. package/dist/editor/utils/env.d.ts +0 -1
  438. package/dist/editor/utils/env.js +0 -1
  439. package/dist/entry-link-resolver.d.ts +1 -2
  440. package/dist/entry-link-resolver.js +0 -1
  441. package/dist/entry-schema-registry.d.ts +3 -4
  442. package/dist/entry-schema-registry.js +6 -2
  443. package/dist/entry-schema.d.ts +114 -3
  444. package/dist/entry-schema.js +46 -1
  445. package/dist/git-manager.d.ts +1 -2
  446. package/dist/git-manager.js +0 -1
  447. package/dist/github-service.d.ts +1 -2
  448. package/dist/github-service.js +0 -1
  449. package/dist/http/handler.d.ts +6 -7
  450. package/dist/http/handler.js +0 -1
  451. package/dist/http/index.d.ts +6 -7
  452. package/dist/http/index.js +0 -1
  453. package/dist/http/router.d.ts +2 -3
  454. package/dist/http/router.js +0 -1
  455. package/dist/http/types.d.ts +0 -1
  456. package/dist/http/types.js +0 -1
  457. package/dist/id.d.ts +2 -3
  458. package/dist/id.js +0 -1
  459. package/dist/index.d.ts +17 -18
  460. package/dist/index.js +0 -1
  461. package/dist/operating-mode/client-safe-strategy.d.ts +1 -2
  462. package/dist/operating-mode/client-safe-strategy.js +0 -1
  463. package/dist/operating-mode/client-unsafe-strategy.d.ts +1 -2
  464. package/dist/operating-mode/client-unsafe-strategy.js +0 -1
  465. package/dist/operating-mode/client.d.ts +3 -4
  466. package/dist/operating-mode/client.js +0 -1
  467. package/dist/operating-mode/deployment-name-fixtures.d.ts +0 -1
  468. package/dist/operating-mode/deployment-name-fixtures.js +0 -1
  469. package/dist/operating-mode/deployment-name.d.ts +0 -1
  470. package/dist/operating-mode/deployment-name.js +0 -1
  471. package/dist/operating-mode/index.d.ts +5 -6
  472. package/dist/operating-mode/index.js +0 -1
  473. package/dist/operating-mode/mode-env.d.ts +1 -2
  474. package/dist/operating-mode/mode-env.js +0 -1
  475. package/dist/operating-mode/types.d.ts +2 -3
  476. package/dist/operating-mode/types.js +0 -1
  477. package/dist/paths/branch-name.d.ts +1 -2
  478. package/dist/paths/branch-name.js +0 -1
  479. package/dist/paths/branch.d.ts +3 -4
  480. package/dist/paths/branch.js +0 -1
  481. package/dist/paths/index.d.ts +8 -9
  482. package/dist/paths/index.js +0 -1
  483. package/dist/paths/normalize-server.d.ts +1 -2
  484. package/dist/paths/normalize-server.js +0 -1
  485. package/dist/paths/normalize.d.ts +1 -2
  486. package/dist/paths/normalize.js +0 -1
  487. package/dist/paths/resolve.d.ts +2 -3
  488. package/dist/paths/resolve.js +0 -1
  489. package/dist/paths/types.d.ts +0 -1
  490. package/dist/paths/types.js +0 -1
  491. package/dist/paths/validation.d.ts +1 -2
  492. package/dist/paths/validation.js +0 -1
  493. package/dist/reference-resolver.d.ts +3 -4
  494. package/dist/reference-resolver.js +0 -1
  495. package/dist/resolve-canopy-user.d.ts +3 -4
  496. package/dist/resolve-canopy-user.js +0 -1
  497. package/dist/resource-generation.d.ts +0 -1
  498. package/dist/resource-generation.js +0 -1
  499. package/dist/schema/index.d.ts +3 -4
  500. package/dist/schema/index.js +0 -1
  501. package/dist/schema/meta-loader.d.ts +3 -4
  502. package/dist/schema/meta-loader.js +3 -3
  503. package/dist/schema/resolver.d.ts +2 -3
  504. package/dist/schema/resolver.js +0 -1
  505. package/dist/schema/schema-store-types.d.ts +2 -3
  506. package/dist/schema/schema-store-types.js +0 -1
  507. package/dist/schema/schema-store.d.ts +6 -7
  508. package/dist/schema/schema-store.js +33 -1
  509. package/dist/schema/types.d.ts +1 -2
  510. package/dist/schema/types.js +0 -1
  511. package/dist/server.d.ts +54 -45
  512. package/dist/server.js +11 -3
  513. package/dist/services.d.ts +10 -11
  514. package/dist/services.js +0 -1
  515. package/dist/settings-workspace.d.ts +12 -15
  516. package/dist/settings-workspace.js +10 -13
  517. package/dist/static/index.d.ts +164 -6
  518. package/dist/static/index.js +242 -7
  519. package/dist/static/seo.d.ts +8 -30
  520. package/dist/static/seo.js +19 -46
  521. package/dist/sync-core.d.ts +0 -1
  522. package/dist/sync-core.js +0 -1
  523. package/dist/task-queue/index.d.ts +2 -3
  524. package/dist/task-queue/index.js +0 -1
  525. package/dist/task-queue/task-queue.d.ts +1 -2
  526. package/dist/task-queue/task-queue.js +10 -2
  527. package/dist/task-queue/types.d.ts +0 -1
  528. package/dist/task-queue/types.js +0 -1
  529. package/dist/types.d.ts +3 -4
  530. package/dist/types.js +0 -1
  531. package/dist/url-collision.d.ts +86 -0
  532. package/dist/url-collision.js +186 -0
  533. package/dist/url-path-resolver.d.ts +11 -2
  534. package/dist/url-path-resolver.js +37 -5
  535. package/dist/user.d.ts +3 -4
  536. package/dist/user.js +0 -1
  537. package/dist/utils/async-mutex.d.ts +0 -1
  538. package/dist/utils/async-mutex.js +0 -1
  539. package/dist/utils/atomic-write.d.ts +0 -1
  540. package/dist/utils/atomic-write.js +0 -1
  541. package/dist/utils/body-field.d.ts +12 -2
  542. package/dist/utils/body-field.js +17 -1
  543. package/dist/utils/content-serialize.d.ts +37 -0
  544. package/dist/utils/content-serialize.js +429 -0
  545. package/dist/utils/content-write-lock.d.ts +12 -16
  546. package/dist/utils/content-write-lock.js +38 -22
  547. package/dist/utils/debug.d.ts +0 -1
  548. package/dist/utils/debug.js +0 -1
  549. package/dist/utils/entry-url.d.ts +17 -1
  550. package/dist/utils/entry-url.js +21 -3
  551. package/dist/utils/error.d.ts +0 -1
  552. package/dist/utils/error.js +0 -1
  553. package/dist/utils/flatten-group-fields.d.ts +1 -2
  554. package/dist/utils/flatten-group-fields.js +0 -1
  555. package/dist/utils/format.d.ts +1 -2
  556. package/dist/utils/format.js +0 -1
  557. package/dist/utils/fs.d.ts +7 -1
  558. package/dist/utils/fs.js +16 -1
  559. package/dist/utils/git.d.ts +18 -2
  560. package/dist/utils/git.js +61 -1
  561. package/dist/utils/logger.d.ts +0 -1
  562. package/dist/utils/logger.js +0 -1
  563. package/dist/utils/occ-json-write.d.ts +0 -1
  564. package/dist/utils/occ-json-write.js +0 -1
  565. package/dist/utils/provisioning-lock.d.ts +17 -4
  566. package/dist/utils/provisioning-lock.js +94 -14
  567. package/dist/utils/sanitize-href.d.ts +2 -3
  568. package/dist/utils/sanitize-href.js +2 -3
  569. package/dist/utils/title-field.d.ts +1 -2
  570. package/dist/utils/title-field.js +0 -1
  571. package/dist/utils/typed-filename.d.ts +61 -0
  572. package/dist/utils/typed-filename.js +92 -0
  573. package/dist/utils/url-prefix.d.ts +121 -0
  574. package/dist/utils/url-prefix.js +158 -0
  575. package/dist/validation/block-structural-keys.d.ts +42 -0
  576. package/dist/validation/block-structural-keys.js +44 -0
  577. package/dist/validation/deletion-checker.d.ts +4 -5
  578. package/dist/validation/deletion-checker.js +0 -1
  579. package/dist/validation/entry-link-validator.d.ts +2 -3
  580. package/dist/validation/entry-link-validator.js +0 -1
  581. package/dist/validation/entry-type-reference-validator.d.ts +1 -2
  582. package/dist/validation/entry-type-reference-validator.js +0 -1
  583. package/dist/validation/entry-validator.d.ts +23 -2
  584. package/dist/validation/entry-validator.js +34 -2
  585. package/dist/validation/field-traversal.d.ts +28 -4
  586. package/dist/validation/field-traversal.js +24 -7
  587. package/dist/validation/reference-validator.d.ts +2 -3
  588. package/dist/validation/reference-validator.js +0 -1
  589. package/dist/worker/cms-worker.d.ts +31 -2
  590. package/dist/worker/cms-worker.js +321 -13
  591. package/dist/worker/log.d.ts +0 -1
  592. package/dist/worker/log.js +0 -1
  593. package/dist/worker/task-queue-config.d.ts +1 -2
  594. package/dist/worker/task-queue-config.js +0 -1
  595. package/dist/worker/task-queue.d.ts +3 -4
  596. package/dist/worker/task-queue.js +0 -1
  597. package/dist/worker/worker-status.d.ts +1 -2
  598. package/dist/worker/worker-status.js +0 -1
  599. package/package.json +3 -6
  600. package/dist/ai/generate.d.ts.map +0 -1
  601. package/dist/ai/generate.js.map +0 -1
  602. package/dist/ai/handler.d.ts.map +0 -1
  603. package/dist/ai/handler.js.map +0 -1
  604. package/dist/ai/index.d.ts.map +0 -1
  605. package/dist/ai/index.js.map +0 -1
  606. package/dist/ai/json-to-markdown.d.ts.map +0 -1
  607. package/dist/ai/json-to-markdown.js.map +0 -1
  608. package/dist/ai/resolve-branch.d.ts.map +0 -1
  609. package/dist/ai/resolve-branch.js.map +0 -1
  610. package/dist/ai/strip-mdx.d.ts.map +0 -1
  611. package/dist/ai/strip-mdx.js.map +0 -1
  612. package/dist/ai/to-plain-text.d.ts.map +0 -1
  613. package/dist/ai/to-plain-text.js.map +0 -1
  614. package/dist/ai/transform-components.d.ts.map +0 -1
  615. package/dist/ai/transform-components.js.map +0 -1
  616. package/dist/ai/types.d.ts.map +0 -1
  617. package/dist/ai/types.js.map +0 -1
  618. package/dist/api/__test__/mock-client.d.ts +0 -231
  619. package/dist/api/__test__/mock-client.d.ts.map +0 -1
  620. package/dist/api/__test__/mock-client.js +0 -388
  621. package/dist/api/__test__/mock-client.js.map +0 -1
  622. package/dist/api/admin-branch-health.d.ts.map +0 -1
  623. package/dist/api/admin-branch-health.js.map +0 -1
  624. package/dist/api/admin.d.ts.map +0 -1
  625. package/dist/api/admin.js.map +0 -1
  626. package/dist/api/assets.d.ts.map +0 -1
  627. package/dist/api/assets.js.map +0 -1
  628. package/dist/api/branch-merge.d.ts.map +0 -1
  629. package/dist/api/branch-merge.js.map +0 -1
  630. package/dist/api/branch-review.d.ts.map +0 -1
  631. package/dist/api/branch-review.js.map +0 -1
  632. package/dist/api/branch-status.d.ts.map +0 -1
  633. package/dist/api/branch-status.js.map +0 -1
  634. package/dist/api/branch-withdraw.d.ts.map +0 -1
  635. package/dist/api/branch-withdraw.js.map +0 -1
  636. package/dist/api/branch.d.ts.map +0 -1
  637. package/dist/api/branch.js.map +0 -1
  638. package/dist/api/client.d.ts.map +0 -1
  639. package/dist/api/client.js.map +0 -1
  640. package/dist/api/comments.d.ts.map +0 -1
  641. package/dist/api/comments.js.map +0 -1
  642. package/dist/api/content.d.ts.map +0 -1
  643. package/dist/api/content.js.map +0 -1
  644. package/dist/api/entries-constants.d.ts.map +0 -1
  645. package/dist/api/entries-constants.js.map +0 -1
  646. package/dist/api/entries.d.ts.map +0 -1
  647. package/dist/api/entries.js.map +0 -1
  648. package/dist/api/github-sync.d.ts.map +0 -1
  649. package/dist/api/github-sync.js.map +0 -1
  650. package/dist/api/groups.d.ts.map +0 -1
  651. package/dist/api/groups.js.map +0 -1
  652. package/dist/api/guards.d.ts.map +0 -1
  653. package/dist/api/guards.js.map +0 -1
  654. package/dist/api/index.d.ts.map +0 -1
  655. package/dist/api/index.js.map +0 -1
  656. package/dist/api/permissions.d.ts.map +0 -1
  657. package/dist/api/permissions.js.map +0 -1
  658. package/dist/api/reference-options.d.ts.map +0 -1
  659. package/dist/api/reference-options.js.map +0 -1
  660. package/dist/api/request-body-hash.d.ts.map +0 -1
  661. package/dist/api/request-body-hash.js.map +0 -1
  662. package/dist/api/resolve-references.d.ts.map +0 -1
  663. package/dist/api/resolve-references.js.map +0 -1
  664. package/dist/api/route-builder.d.ts.map +0 -1
  665. package/dist/api/route-builder.js.map +0 -1
  666. package/dist/api/schema.d.ts.map +0 -1
  667. package/dist/api/schema.js.map +0 -1
  668. package/dist/api/settings-helpers.d.ts.map +0 -1
  669. package/dist/api/settings-helpers.js.map +0 -1
  670. package/dist/api/types.d.ts.map +0 -1
  671. package/dist/api/types.js.map +0 -1
  672. package/dist/api/user.d.ts.map +0 -1
  673. package/dist/api/user.js.map +0 -1
  674. package/dist/api/validators.d.ts.map +0 -1
  675. package/dist/api/validators.js.map +0 -1
  676. package/dist/assets/asset-prefixes.d.ts.map +0 -1
  677. package/dist/assets/asset-prefixes.js.map +0 -1
  678. package/dist/assets/asset-src.d.ts.map +0 -1
  679. package/dist/assets/asset-src.js.map +0 -1
  680. package/dist/assets/asset-url.d.ts.map +0 -1
  681. package/dist/assets/asset-url.js.map +0 -1
  682. package/dist/assets/factory.d.ts.map +0 -1
  683. package/dist/assets/factory.js.map +0 -1
  684. package/dist/assets/finalize.d.ts.map +0 -1
  685. package/dist/assets/finalize.js.map +0 -1
  686. package/dist/assets/index.d.ts.map +0 -1
  687. package/dist/assets/index.js.map +0 -1
  688. package/dist/assets/keys.d.ts.map +0 -1
  689. package/dist/assets/keys.js.map +0 -1
  690. package/dist/assets/pipeline.d.ts.map +0 -1
  691. package/dist/assets/pipeline.js.map +0 -1
  692. package/dist/assets/store-local.d.ts.map +0 -1
  693. package/dist/assets/store-local.js.map +0 -1
  694. package/dist/assets/store-s3.d.ts.map +0 -1
  695. package/dist/assets/store-s3.js.map +0 -1
  696. package/dist/assets/svg-sanitizer.d.ts.map +0 -1
  697. package/dist/assets/svg-sanitizer.js.map +0 -1
  698. package/dist/assets/transform-directives.d.ts.map +0 -1
  699. package/dist/assets/transform-directives.js.map +0 -1
  700. package/dist/assets/transform.d.ts.map +0 -1
  701. package/dist/assets/transform.js.map +0 -1
  702. package/dist/assets/types.d.ts.map +0 -1
  703. package/dist/assets/types.js.map +0 -1
  704. package/dist/auth/cache.d.ts.map +0 -1
  705. package/dist/auth/cache.js.map +0 -1
  706. package/dist/auth/caching-auth-plugin.d.ts.map +0 -1
  707. package/dist/auth/caching-auth-plugin.js.map +0 -1
  708. package/dist/auth/context-helpers.d.ts.map +0 -1
  709. package/dist/auth/context-helpers.js.map +0 -1
  710. package/dist/auth/file-based-auth-cache.d.ts.map +0 -1
  711. package/dist/auth/file-based-auth-cache.js.map +0 -1
  712. package/dist/auth/index.d.ts.map +0 -1
  713. package/dist/auth/index.js.map +0 -1
  714. package/dist/auth/plugin.d.ts.map +0 -1
  715. package/dist/auth/plugin.js.map +0 -1
  716. package/dist/auth/types.d.ts.map +0 -1
  717. package/dist/auth/types.js.map +0 -1
  718. package/dist/authorization/branch.d.ts.map +0 -1
  719. package/dist/authorization/branch.js.map +0 -1
  720. package/dist/authorization/content.d.ts.map +0 -1
  721. package/dist/authorization/content.js.map +0 -1
  722. package/dist/authorization/groups/index.d.ts.map +0 -1
  723. package/dist/authorization/groups/index.js.map +0 -1
  724. package/dist/authorization/groups/loader.d.ts.map +0 -1
  725. package/dist/authorization/groups/loader.js.map +0 -1
  726. package/dist/authorization/groups/schema.d.ts.map +0 -1
  727. package/dist/authorization/groups/schema.js.map +0 -1
  728. package/dist/authorization/helpers.d.ts.map +0 -1
  729. package/dist/authorization/helpers.js.map +0 -1
  730. package/dist/authorization/index.d.ts.map +0 -1
  731. package/dist/authorization/index.js.map +0 -1
  732. package/dist/authorization/path.d.ts.map +0 -1
  733. package/dist/authorization/path.js.map +0 -1
  734. package/dist/authorization/permissions/index.d.ts.map +0 -1
  735. package/dist/authorization/permissions/index.js.map +0 -1
  736. package/dist/authorization/permissions/loader.d.ts.map +0 -1
  737. package/dist/authorization/permissions/loader.js.map +0 -1
  738. package/dist/authorization/permissions/schema.d.ts.map +0 -1
  739. package/dist/authorization/permissions/schema.js.map +0 -1
  740. package/dist/authorization/protected-branch.d.ts.map +0 -1
  741. package/dist/authorization/protected-branch.js.map +0 -1
  742. package/dist/authorization/settings-file-store.d.ts.map +0 -1
  743. package/dist/authorization/settings-file-store.js.map +0 -1
  744. package/dist/authorization/test-utils.d.ts +0 -26
  745. package/dist/authorization/test-utils.d.ts.map +0 -1
  746. package/dist/authorization/test-utils.js +0 -23
  747. package/dist/authorization/test-utils.js.map +0 -1
  748. package/dist/authorization/types.d.ts.map +0 -1
  749. package/dist/authorization/types.js.map +0 -1
  750. package/dist/authorization/validation.d.ts.map +0 -1
  751. package/dist/authorization/validation.js.map +0 -1
  752. package/dist/branch-health.d.ts.map +0 -1
  753. package/dist/branch-health.js.map +0 -1
  754. package/dist/branch-metadata.d.ts.map +0 -1
  755. package/dist/branch-metadata.js.map +0 -1
  756. package/dist/branch-registry.d.ts.map +0 -1
  757. package/dist/branch-registry.js.map +0 -1
  758. package/dist/branch-schema-cache.d.ts.map +0 -1
  759. package/dist/branch-schema-cache.js.map +0 -1
  760. package/dist/branch-workspace.d.ts.map +0 -1
  761. package/dist/branch-workspace.js.map +0 -1
  762. package/dist/build/generate-ai-content.d.ts.map +0 -1
  763. package/dist/build/generate-ai-content.js.map +0 -1
  764. package/dist/build/index.d.ts.map +0 -1
  765. package/dist/build/index.js.map +0 -1
  766. package/dist/build-canopy.d.ts.map +0 -1
  767. package/dist/build-canopy.js.map +0 -1
  768. package/dist/build-mode.d.ts.map +0 -1
  769. package/dist/build-mode.js.map +0 -1
  770. package/dist/cli/cli.d.ts.map +0 -1
  771. package/dist/cli/cli.js.map +0 -1
  772. package/dist/cli/generate-ai-content.d.ts.map +0 -1
  773. package/dist/cli/generate-ai-content.js.map +0 -1
  774. package/dist/cli/init.d.ts.map +0 -1
  775. package/dist/cli/init.js.map +0 -1
  776. package/dist/cli/migrate.d.ts.map +0 -1
  777. package/dist/cli/migrate.js.map +0 -1
  778. package/dist/cli/project-detect.d.ts.map +0 -1
  779. package/dist/cli/project-detect.js.map +0 -1
  780. package/dist/cli/project-root.d.ts.map +0 -1
  781. package/dist/cli/project-root.js.map +0 -1
  782. package/dist/cli/sync.d.ts.map +0 -1
  783. package/dist/cli/sync.js.map +0 -1
  784. package/dist/cli/templates.d.ts.map +0 -1
  785. package/dist/cli/templates.js.map +0 -1
  786. package/dist/client.d.ts.map +0 -1
  787. package/dist/client.js.map +0 -1
  788. package/dist/comment-store.d.ts.map +0 -1
  789. package/dist/comment-store.js.map +0 -1
  790. package/dist/config/flatten.d.ts.map +0 -1
  791. package/dist/config/flatten.js.map +0 -1
  792. package/dist/config/helpers.d.ts.map +0 -1
  793. package/dist/config/helpers.js.map +0 -1
  794. package/dist/config/index.d.ts.map +0 -1
  795. package/dist/config/index.js.map +0 -1
  796. package/dist/config/schemas/collection.d.ts.map +0 -1
  797. package/dist/config/schemas/collection.js.map +0 -1
  798. package/dist/config/schemas/config.d.ts.map +0 -1
  799. package/dist/config/schemas/config.js.map +0 -1
  800. package/dist/config/schemas/field.d.ts.map +0 -1
  801. package/dist/config/schemas/field.js.map +0 -1
  802. package/dist/config/schemas/media.d.ts.map +0 -1
  803. package/dist/config/schemas/media.js.map +0 -1
  804. package/dist/config/schemas/permissions.d.ts.map +0 -1
  805. package/dist/config/schemas/permissions.js.map +0 -1
  806. package/dist/config/types.d.ts.map +0 -1
  807. package/dist/config/types.js.map +0 -1
  808. package/dist/config/validation.d.ts.map +0 -1
  809. package/dist/config/validation.js.map +0 -1
  810. package/dist/config-test.d.ts +0 -20
  811. package/dist/config-test.d.ts.map +0 -1
  812. package/dist/config-test.js +0 -49
  813. package/dist/config-test.js.map +0 -1
  814. package/dist/config.d.ts.map +0 -1
  815. package/dist/config.js.map +0 -1
  816. package/dist/content-id-index.d.ts.map +0 -1
  817. package/dist/content-id-index.js.map +0 -1
  818. package/dist/content-index-generation.d.ts.map +0 -1
  819. package/dist/content-index-generation.js.map +0 -1
  820. package/dist/content-index-registry.d.ts.map +0 -1
  821. package/dist/content-index-registry.js.map +0 -1
  822. package/dist/content-listing.d.ts.map +0 -1
  823. package/dist/content-listing.js.map +0 -1
  824. package/dist/content-reader.d.ts.map +0 -1
  825. package/dist/content-reader.js.map +0 -1
  826. package/dist/content-store.d.ts.map +0 -1
  827. package/dist/content-store.js.map +0 -1
  828. package/dist/content-tree.d.ts.map +0 -1
  829. package/dist/content-tree.js.map +0 -1
  830. package/dist/context.d.ts.map +0 -1
  831. package/dist/context.js.map +0 -1
  832. package/dist/dev-content-watcher.d.ts.map +0 -1
  833. package/dist/dev-content-watcher.js.map +0 -1
  834. package/dist/editor/BranchManager.d.ts.map +0 -1
  835. package/dist/editor/BranchManager.js.map +0 -1
  836. package/dist/editor/CanopyEditor.d.ts.map +0 -1
  837. package/dist/editor/CanopyEditor.js.map +0 -1
  838. package/dist/editor/CanopyEditorPage.d.ts.map +0 -1
  839. package/dist/editor/CanopyEditorPage.js.map +0 -1
  840. package/dist/editor/CommentsPanel.d.ts.map +0 -1
  841. package/dist/editor/CommentsPanel.js.map +0 -1
  842. package/dist/editor/Editor.d.ts.map +0 -1
  843. package/dist/editor/Editor.js.map +0 -1
  844. package/dist/editor/EditorPanes.d.ts.map +0 -1
  845. package/dist/editor/EditorPanes.js.map +0 -1
  846. package/dist/editor/EntryNavigator.d.ts.map +0 -1
  847. package/dist/editor/EntryNavigator.js.map +0 -1
  848. package/dist/editor/FormRenderer.d.ts.map +0 -1
  849. package/dist/editor/FormRenderer.js.map +0 -1
  850. package/dist/editor/GroupManager.d.ts.map +0 -1
  851. package/dist/editor/GroupManager.js.map +0 -1
  852. package/dist/editor/PermissionManager.d.ts.map +0 -1
  853. package/dist/editor/PermissionManager.js.map +0 -1
  854. package/dist/editor/admin/SystemHealthPanel.d.ts.map +0 -1
  855. package/dist/editor/admin/SystemHealthPanel.js.map +0 -1
  856. package/dist/editor/admin/useSystemHealth.d.ts.map +0 -1
  857. package/dist/editor/admin/useSystemHealth.js.map +0 -1
  858. package/dist/editor/canopy-path.d.ts.map +0 -1
  859. package/dist/editor/canopy-path.js.map +0 -1
  860. package/dist/editor/client-reference-resolver.d.ts.map +0 -1
  861. package/dist/editor/client-reference-resolver.js.map +0 -1
  862. package/dist/editor/comments/BranchComments.d.ts.map +0 -1
  863. package/dist/editor/comments/BranchComments.js.map +0 -1
  864. package/dist/editor/comments/EntryComments.d.ts.map +0 -1
  865. package/dist/editor/comments/EntryComments.js.map +0 -1
  866. package/dist/editor/comments/FieldWrapper.d.ts.map +0 -1
  867. package/dist/editor/comments/FieldWrapper.js.map +0 -1
  868. package/dist/editor/comments/InlineCommentThread.d.ts.map +0 -1
  869. package/dist/editor/comments/InlineCommentThread.js.map +0 -1
  870. package/dist/editor/comments/ThreadCarousel.d.ts.map +0 -1
  871. package/dist/editor/comments/ThreadCarousel.js.map +0 -1
  872. package/dist/editor/components/ConfirmDeleteModal.d.ts.map +0 -1
  873. package/dist/editor/components/ConfirmDeleteModal.js.map +0 -1
  874. package/dist/editor/components/EditorFooter.d.ts.map +0 -1
  875. package/dist/editor/components/EditorFooter.js.map +0 -1
  876. package/dist/editor/components/EditorHeader.d.ts.map +0 -1
  877. package/dist/editor/components/EditorHeader.js.map +0 -1
  878. package/dist/editor/components/EditorSidebar.d.ts.map +0 -1
  879. package/dist/editor/components/EditorSidebar.js.map +0 -1
  880. package/dist/editor/components/EntryCreateModal.d.ts.map +0 -1
  881. package/dist/editor/components/EntryCreateModal.js.map +0 -1
  882. package/dist/editor/components/RenameEntryModal.d.ts.map +0 -1
  883. package/dist/editor/components/RenameEntryModal.js.map +0 -1
  884. package/dist/editor/components/UserBadge.d.ts.map +0 -1
  885. package/dist/editor/components/UserBadge.js.map +0 -1
  886. package/dist/editor/components/index.d.ts.map +0 -1
  887. package/dist/editor/components/index.js.map +0 -1
  888. package/dist/editor/context/ApiClientContext.d.ts.map +0 -1
  889. package/dist/editor/context/ApiClientContext.js.map +0 -1
  890. package/dist/editor/context/AssetContext.d.ts.map +0 -1
  891. package/dist/editor/context/AssetContext.js.map +0 -1
  892. package/dist/editor/context/EditorStateContext.d.ts.map +0 -1
  893. package/dist/editor/context/EditorStateContext.js.map +0 -1
  894. package/dist/editor/context/SWRProvider.d.ts.map +0 -1
  895. package/dist/editor/context/SWRProvider.js.map +0 -1
  896. package/dist/editor/context/index.d.ts.map +0 -1
  897. package/dist/editor/context/index.js.map +0 -1
  898. package/dist/editor/editor-config.d.ts.map +0 -1
  899. package/dist/editor/editor-config.js.map +0 -1
  900. package/dist/editor/editor-utils.d.ts.map +0 -1
  901. package/dist/editor/editor-utils.js.map +0 -1
  902. package/dist/editor/fields/BlockField.d.ts.map +0 -1
  903. package/dist/editor/fields/BlockField.js.map +0 -1
  904. package/dist/editor/fields/CodeField.d.ts.map +0 -1
  905. package/dist/editor/fields/CodeField.js.map +0 -1
  906. package/dist/editor/fields/DateTimeField.d.ts.map +0 -1
  907. package/dist/editor/fields/DateTimeField.js.map +0 -1
  908. package/dist/editor/fields/ImageField.d.ts.map +0 -1
  909. package/dist/editor/fields/ImageField.js.map +0 -1
  910. package/dist/editor/fields/InlineGroupField.d.ts.map +0 -1
  911. package/dist/editor/fields/InlineGroupField.js.map +0 -1
  912. package/dist/editor/fields/MarkdownField.d.ts.map +0 -1
  913. package/dist/editor/fields/MarkdownField.js.map +0 -1
  914. package/dist/editor/fields/MdxImageDialog.d.ts.map +0 -1
  915. package/dist/editor/fields/MdxImageDialog.js.map +0 -1
  916. package/dist/editor/fields/NumberField.d.ts.map +0 -1
  917. package/dist/editor/fields/NumberField.js.map +0 -1
  918. package/dist/editor/fields/NumberListField.d.ts.map +0 -1
  919. package/dist/editor/fields/NumberListField.js.map +0 -1
  920. package/dist/editor/fields/ObjectField.d.ts.map +0 -1
  921. package/dist/editor/fields/ObjectField.js.map +0 -1
  922. package/dist/editor/fields/ReferenceField.d.ts.map +0 -1
  923. package/dist/editor/fields/ReferenceField.js.map +0 -1
  924. package/dist/editor/fields/SelectField.d.ts.map +0 -1
  925. package/dist/editor/fields/SelectField.js.map +0 -1
  926. package/dist/editor/fields/StringListField.d.ts.map +0 -1
  927. package/dist/editor/fields/StringListField.js.map +0 -1
  928. package/dist/editor/fields/TextField.d.ts.map +0 -1
  929. package/dist/editor/fields/TextField.js.map +0 -1
  930. package/dist/editor/fields/ToggleField.d.ts.map +0 -1
  931. package/dist/editor/fields/ToggleField.js.map +0 -1
  932. package/dist/editor/fields/entry-link/EntryLinkContext.d.ts.map +0 -1
  933. package/dist/editor/fields/entry-link/EntryLinkContext.js.map +0 -1
  934. package/dist/editor/fields/entry-link/InsertEntryLink.d.ts.map +0 -1
  935. package/dist/editor/fields/entry-link/InsertEntryLink.js.map +0 -1
  936. package/dist/editor/fields/entry-link/index.d.ts.map +0 -1
  937. package/dist/editor/fields/entry-link/index.js.map +0 -1
  938. package/dist/editor/group-manager/ExternalGroupsTab.d.ts.map +0 -1
  939. package/dist/editor/group-manager/ExternalGroupsTab.js.map +0 -1
  940. package/dist/editor/group-manager/GroupCard.d.ts.map +0 -1
  941. package/dist/editor/group-manager/GroupCard.js.map +0 -1
  942. package/dist/editor/group-manager/GroupForm.d.ts.map +0 -1
  943. package/dist/editor/group-manager/GroupForm.js.map +0 -1
  944. package/dist/editor/group-manager/InternalGroupsTab.d.ts.map +0 -1
  945. package/dist/editor/group-manager/InternalGroupsTab.js.map +0 -1
  946. package/dist/editor/group-manager/MemberList.d.ts.map +0 -1
  947. package/dist/editor/group-manager/MemberList.js.map +0 -1
  948. package/dist/editor/group-manager/hooks/useExternalGroupSearch.d.ts.map +0 -1
  949. package/dist/editor/group-manager/hooks/useExternalGroupSearch.js.map +0 -1
  950. package/dist/editor/group-manager/hooks/useGroupState.d.ts.map +0 -1
  951. package/dist/editor/group-manager/hooks/useGroupState.js.map +0 -1
  952. package/dist/editor/group-manager/hooks/useUserSearch.d.ts.map +0 -1
  953. package/dist/editor/group-manager/hooks/useUserSearch.js.map +0 -1
  954. package/dist/editor/group-manager/index.d.ts.map +0 -1
  955. package/dist/editor/group-manager/index.js.map +0 -1
  956. package/dist/editor/group-manager/types.d.ts.map +0 -1
  957. package/dist/editor/group-manager/types.js.map +0 -1
  958. package/dist/editor/hooks/__test__/test-utils.d.ts +0 -164
  959. package/dist/editor/hooks/__test__/test-utils.d.ts.map +0 -1
  960. package/dist/editor/hooks/__test__/test-utils.js +0 -203
  961. package/dist/editor/hooks/__test__/test-utils.js.map +0 -1
  962. package/dist/editor/hooks/index.d.ts.map +0 -1
  963. package/dist/editor/hooks/index.js.map +0 -1
  964. package/dist/editor/hooks/useBranchActions.d.ts.map +0 -1
  965. package/dist/editor/hooks/useBranchActions.js.map +0 -1
  966. package/dist/editor/hooks/useBranchManager.d.ts.map +0 -1
  967. package/dist/editor/hooks/useBranchManager.js.map +0 -1
  968. package/dist/editor/hooks/useBranchesData.d.ts.map +0 -1
  969. package/dist/editor/hooks/useBranchesData.js.map +0 -1
  970. package/dist/editor/hooks/useCommentSystem.d.ts.map +0 -1
  971. package/dist/editor/hooks/useCommentSystem.js.map +0 -1
  972. package/dist/editor/hooks/useCommentsData.d.ts.map +0 -1
  973. package/dist/editor/hooks/useCommentsData.js.map +0 -1
  974. package/dist/editor/hooks/useDraftManager.d.ts.map +0 -1
  975. package/dist/editor/hooks/useDraftManager.js.map +0 -1
  976. package/dist/editor/hooks/useEditorLayout.d.ts.map +0 -1
  977. package/dist/editor/hooks/useEditorLayout.js.map +0 -1
  978. package/dist/editor/hooks/useEntriesData.d.ts.map +0 -1
  979. package/dist/editor/hooks/useEntriesData.js.map +0 -1
  980. package/dist/editor/hooks/useEntryLinkResolution.d.ts.map +0 -1
  981. package/dist/editor/hooks/useEntryLinkResolution.js.map +0 -1
  982. package/dist/editor/hooks/useEntryManager.d.ts.map +0 -1
  983. package/dist/editor/hooks/useEntryManager.js.map +0 -1
  984. package/dist/editor/hooks/useGroupManager.d.ts.map +0 -1
  985. package/dist/editor/hooks/useGroupManager.js.map +0 -1
  986. package/dist/editor/hooks/usePermissionManager.d.ts.map +0 -1
  987. package/dist/editor/hooks/usePermissionManager.js.map +0 -1
  988. package/dist/editor/hooks/useReferenceResolution.d.ts.map +0 -1
  989. package/dist/editor/hooks/useReferenceResolution.js.map +0 -1
  990. package/dist/editor/hooks/useSchemaManager.d.ts.map +0 -1
  991. package/dist/editor/hooks/useSchemaManager.js.map +0 -1
  992. package/dist/editor/hooks/useUserContext.d.ts.map +0 -1
  993. package/dist/editor/hooks/useUserContext.js.map +0 -1
  994. package/dist/editor/hooks/useUserMetadata.d.ts.map +0 -1
  995. package/dist/editor/hooks/useUserMetadata.js.map +0 -1
  996. package/dist/editor/media/AssetCard.d.ts.map +0 -1
  997. package/dist/editor/media/AssetCard.js.map +0 -1
  998. package/dist/editor/media/CropStep.d.ts.map +0 -1
  999. package/dist/editor/media/CropStep.js.map +0 -1
  1000. package/dist/editor/media/MediaLibrary.d.ts.map +0 -1
  1001. package/dist/editor/media/MediaLibrary.js.map +0 -1
  1002. package/dist/editor/media/MediaLibraryBody.d.ts.map +0 -1
  1003. package/dist/editor/media/MediaLibraryBody.js.map +0 -1
  1004. package/dist/editor/media/crop-math.d.ts.map +0 -1
  1005. package/dist/editor/media/crop-math.js.map +0 -1
  1006. package/dist/editor/media/upload-asset.d.ts.map +0 -1
  1007. package/dist/editor/media/upload-asset.js.map +0 -1
  1008. package/dist/editor/media/upload-constants.d.ts.map +0 -1
  1009. package/dist/editor/media/upload-constants.js.map +0 -1
  1010. package/dist/editor/media/useAssetUpload.d.ts.map +0 -1
  1011. package/dist/editor/media/useAssetUpload.js.map +0 -1
  1012. package/dist/editor/media/xhr-upload.d.ts.map +0 -1
  1013. package/dist/editor/media/xhr-upload.js.map +0 -1
  1014. package/dist/editor/permission-manager/GroupSelector.d.ts.map +0 -1
  1015. package/dist/editor/permission-manager/GroupSelector.js.map +0 -1
  1016. package/dist/editor/permission-manager/PermissionEditor.d.ts.map +0 -1
  1017. package/dist/editor/permission-manager/PermissionEditor.js.map +0 -1
  1018. package/dist/editor/permission-manager/PermissionLevelBadge.d.ts.map +0 -1
  1019. package/dist/editor/permission-manager/PermissionLevelBadge.js.map +0 -1
  1020. package/dist/editor/permission-manager/PermissionTree.d.ts.map +0 -1
  1021. package/dist/editor/permission-manager/PermissionTree.js.map +0 -1
  1022. package/dist/editor/permission-manager/UserSelector.d.ts.map +0 -1
  1023. package/dist/editor/permission-manager/UserSelector.js.map +0 -1
  1024. package/dist/editor/permission-manager/constants.d.ts.map +0 -1
  1025. package/dist/editor/permission-manager/constants.js.map +0 -1
  1026. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +0 -1
  1027. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +0 -1
  1028. package/dist/editor/permission-manager/hooks/usePermissionTree.d.ts.map +0 -1
  1029. package/dist/editor/permission-manager/hooks/usePermissionTree.js.map +0 -1
  1030. package/dist/editor/permission-manager/index.d.ts.map +0 -1
  1031. package/dist/editor/permission-manager/index.js.map +0 -1
  1032. package/dist/editor/permission-manager/types.d.ts.map +0 -1
  1033. package/dist/editor/permission-manager/types.js.map +0 -1
  1034. package/dist/editor/permission-manager/utils.d.ts.map +0 -1
  1035. package/dist/editor/permission-manager/utils.js.map +0 -1
  1036. package/dist/editor/preview-bridge.d.ts.map +0 -1
  1037. package/dist/editor/preview-bridge.js.map +0 -1
  1038. package/dist/editor/relative-time.d.ts.map +0 -1
  1039. package/dist/editor/relative-time.js.map +0 -1
  1040. package/dist/editor/schema-editor/CollectionEditor.d.ts.map +0 -1
  1041. package/dist/editor/schema-editor/CollectionEditor.js.map +0 -1
  1042. package/dist/editor/schema-editor/EntryTypeEditor.d.ts.map +0 -1
  1043. package/dist/editor/schema-editor/EntryTypeEditor.js.map +0 -1
  1044. package/dist/editor/schema-editor/index.d.ts.map +0 -1
  1045. package/dist/editor/schema-editor/index.js.map +0 -1
  1046. package/dist/editor/setup-test-dom.d.ts +0 -1
  1047. package/dist/editor/setup-test-dom.d.ts.map +0 -1
  1048. package/dist/editor/setup-test-dom.js +0 -12
  1049. package/dist/editor/setup-test-dom.js.map +0 -1
  1050. package/dist/editor/test-setup.d.ts +0 -6
  1051. package/dist/editor/test-setup.d.ts.map +0 -1
  1052. package/dist/editor/test-setup.js +0 -42
  1053. package/dist/editor/test-setup.js.map +0 -1
  1054. package/dist/editor/theme.d.ts.map +0 -1
  1055. package/dist/editor/theme.js.map +0 -1
  1056. package/dist/editor/utils/env.d.ts.map +0 -1
  1057. package/dist/editor/utils/env.js.map +0 -1
  1058. package/dist/entry-link-resolver.d.ts.map +0 -1
  1059. package/dist/entry-link-resolver.js.map +0 -1
  1060. package/dist/entry-schema-registry.d.ts.map +0 -1
  1061. package/dist/entry-schema-registry.js.map +0 -1
  1062. package/dist/entry-schema.d.ts.map +0 -1
  1063. package/dist/entry-schema.js.map +0 -1
  1064. package/dist/git-manager.d.ts.map +0 -1
  1065. package/dist/git-manager.js.map +0 -1
  1066. package/dist/github-service.d.ts.map +0 -1
  1067. package/dist/github-service.js.map +0 -1
  1068. package/dist/http/handler.d.ts.map +0 -1
  1069. package/dist/http/handler.js.map +0 -1
  1070. package/dist/http/index.d.ts.map +0 -1
  1071. package/dist/http/index.js.map +0 -1
  1072. package/dist/http/router.d.ts.map +0 -1
  1073. package/dist/http/router.js.map +0 -1
  1074. package/dist/http/types.d.ts.map +0 -1
  1075. package/dist/http/types.js.map +0 -1
  1076. package/dist/id.d.ts.map +0 -1
  1077. package/dist/id.js.map +0 -1
  1078. package/dist/index.d.ts.map +0 -1
  1079. package/dist/index.js.map +0 -1
  1080. package/dist/operating-mode/client-safe-strategy.d.ts.map +0 -1
  1081. package/dist/operating-mode/client-safe-strategy.js.map +0 -1
  1082. package/dist/operating-mode/client-unsafe-strategy.d.ts.map +0 -1
  1083. package/dist/operating-mode/client-unsafe-strategy.js.map +0 -1
  1084. package/dist/operating-mode/client.d.ts.map +0 -1
  1085. package/dist/operating-mode/client.js.map +0 -1
  1086. package/dist/operating-mode/deployment-name-fixtures.d.ts.map +0 -1
  1087. package/dist/operating-mode/deployment-name-fixtures.js.map +0 -1
  1088. package/dist/operating-mode/deployment-name.d.ts.map +0 -1
  1089. package/dist/operating-mode/deployment-name.js.map +0 -1
  1090. package/dist/operating-mode/index.d.ts.map +0 -1
  1091. package/dist/operating-mode/index.js.map +0 -1
  1092. package/dist/operating-mode/mode-env.d.ts.map +0 -1
  1093. package/dist/operating-mode/mode-env.js.map +0 -1
  1094. package/dist/operating-mode/types.d.ts.map +0 -1
  1095. package/dist/operating-mode/types.js.map +0 -1
  1096. package/dist/paths/branch-name.d.ts.map +0 -1
  1097. package/dist/paths/branch-name.js.map +0 -1
  1098. package/dist/paths/branch.d.ts.map +0 -1
  1099. package/dist/paths/branch.js.map +0 -1
  1100. package/dist/paths/index.d.ts.map +0 -1
  1101. package/dist/paths/index.js.map +0 -1
  1102. package/dist/paths/normalize-server.d.ts.map +0 -1
  1103. package/dist/paths/normalize-server.js.map +0 -1
  1104. package/dist/paths/normalize.d.ts.map +0 -1
  1105. package/dist/paths/normalize.js.map +0 -1
  1106. package/dist/paths/resolve.d.ts.map +0 -1
  1107. package/dist/paths/resolve.js.map +0 -1
  1108. package/dist/paths/test-utils.d.ts +0 -22
  1109. package/dist/paths/test-utils.d.ts.map +0 -1
  1110. package/dist/paths/test-utils.js +0 -21
  1111. package/dist/paths/test-utils.js.map +0 -1
  1112. package/dist/paths/types.d.ts.map +0 -1
  1113. package/dist/paths/types.js.map +0 -1
  1114. package/dist/paths/validation.d.ts.map +0 -1
  1115. package/dist/paths/validation.js.map +0 -1
  1116. package/dist/reference-resolver.d.ts.map +0 -1
  1117. package/dist/reference-resolver.js.map +0 -1
  1118. package/dist/resolve-canopy-user.d.ts.map +0 -1
  1119. package/dist/resolve-canopy-user.js.map +0 -1
  1120. package/dist/resource-generation.d.ts.map +0 -1
  1121. package/dist/resource-generation.js.map +0 -1
  1122. package/dist/schema/index.d.ts.map +0 -1
  1123. package/dist/schema/index.js.map +0 -1
  1124. package/dist/schema/meta-loader.d.ts.map +0 -1
  1125. package/dist/schema/meta-loader.js.map +0 -1
  1126. package/dist/schema/resolver.d.ts.map +0 -1
  1127. package/dist/schema/resolver.js.map +0 -1
  1128. package/dist/schema/schema-store-types.d.ts.map +0 -1
  1129. package/dist/schema/schema-store-types.js.map +0 -1
  1130. package/dist/schema/schema-store.d.ts.map +0 -1
  1131. package/dist/schema/schema-store.js.map +0 -1
  1132. package/dist/schema/types.d.ts.map +0 -1
  1133. package/dist/schema/types.js.map +0 -1
  1134. package/dist/server.d.ts.map +0 -1
  1135. package/dist/server.js.map +0 -1
  1136. package/dist/services.d.ts.map +0 -1
  1137. package/dist/services.js.map +0 -1
  1138. package/dist/settings-workspace.d.ts.map +0 -1
  1139. package/dist/settings-workspace.js.map +0 -1
  1140. package/dist/static/index.d.ts.map +0 -1
  1141. package/dist/static/index.js.map +0 -1
  1142. package/dist/static/seo.d.ts.map +0 -1
  1143. package/dist/static/seo.js.map +0 -1
  1144. package/dist/sync-core.d.ts.map +0 -1
  1145. package/dist/sync-core.js.map +0 -1
  1146. package/dist/task-queue/index.d.ts.map +0 -1
  1147. package/dist/task-queue/index.js.map +0 -1
  1148. package/dist/task-queue/task-queue.d.ts.map +0 -1
  1149. package/dist/task-queue/task-queue.js.map +0 -1
  1150. package/dist/task-queue/types.d.ts.map +0 -1
  1151. package/dist/task-queue/types.js.map +0 -1
  1152. package/dist/types.d.ts.map +0 -1
  1153. package/dist/types.js.map +0 -1
  1154. package/dist/url-path-resolver.d.ts.map +0 -1
  1155. package/dist/url-path-resolver.js.map +0 -1
  1156. package/dist/user.d.ts.map +0 -1
  1157. package/dist/user.js.map +0 -1
  1158. package/dist/utils/async-mutex.d.ts.map +0 -1
  1159. package/dist/utils/async-mutex.js.map +0 -1
  1160. package/dist/utils/atomic-write.d.ts.map +0 -1
  1161. package/dist/utils/atomic-write.js.map +0 -1
  1162. package/dist/utils/body-field.d.ts.map +0 -1
  1163. package/dist/utils/body-field.js.map +0 -1
  1164. package/dist/utils/content-write-lock.d.ts.map +0 -1
  1165. package/dist/utils/content-write-lock.js.map +0 -1
  1166. package/dist/utils/debug.d.ts.map +0 -1
  1167. package/dist/utils/debug.js.map +0 -1
  1168. package/dist/utils/entry-url.d.ts.map +0 -1
  1169. package/dist/utils/entry-url.js.map +0 -1
  1170. package/dist/utils/error.d.ts.map +0 -1
  1171. package/dist/utils/error.js.map +0 -1
  1172. package/dist/utils/flatten-group-fields.d.ts.map +0 -1
  1173. package/dist/utils/flatten-group-fields.js.map +0 -1
  1174. package/dist/utils/format.d.ts.map +0 -1
  1175. package/dist/utils/format.js.map +0 -1
  1176. package/dist/utils/fs.d.ts.map +0 -1
  1177. package/dist/utils/fs.js.map +0 -1
  1178. package/dist/utils/git.d.ts.map +0 -1
  1179. package/dist/utils/git.js.map +0 -1
  1180. package/dist/utils/logger.d.ts.map +0 -1
  1181. package/dist/utils/logger.js.map +0 -1
  1182. package/dist/utils/occ-json-write.d.ts.map +0 -1
  1183. package/dist/utils/occ-json-write.js.map +0 -1
  1184. package/dist/utils/provisioning-lock.d.ts.map +0 -1
  1185. package/dist/utils/provisioning-lock.js.map +0 -1
  1186. package/dist/utils/sanitize-href.d.ts.map +0 -1
  1187. package/dist/utils/sanitize-href.js.map +0 -1
  1188. package/dist/utils/title-field.d.ts.map +0 -1
  1189. package/dist/utils/title-field.js.map +0 -1
  1190. package/dist/validation/deletion-checker.d.ts.map +0 -1
  1191. package/dist/validation/deletion-checker.js.map +0 -1
  1192. package/dist/validation/entry-link-validator.d.ts.map +0 -1
  1193. package/dist/validation/entry-link-validator.js.map +0 -1
  1194. package/dist/validation/entry-type-reference-validator.d.ts.map +0 -1
  1195. package/dist/validation/entry-type-reference-validator.js.map +0 -1
  1196. package/dist/validation/entry-validator.d.ts.map +0 -1
  1197. package/dist/validation/entry-validator.js.map +0 -1
  1198. package/dist/validation/field-traversal.d.ts.map +0 -1
  1199. package/dist/validation/field-traversal.js.map +0 -1
  1200. package/dist/validation/reference-validator.d.ts.map +0 -1
  1201. package/dist/validation/reference-validator.js.map +0 -1
  1202. package/dist/worker/cms-worker.d.ts.map +0 -1
  1203. package/dist/worker/cms-worker.js.map +0 -1
  1204. package/dist/worker/log.d.ts.map +0 -1
  1205. package/dist/worker/log.js.map +0 -1
  1206. package/dist/worker/task-queue-config.d.ts.map +0 -1
  1207. package/dist/worker/task-queue-config.js.map +0 -1
  1208. package/dist/worker/task-queue.d.ts.map +0 -1
  1209. package/dist/worker/task-queue.js.map +0 -1
  1210. package/dist/worker/worker-status.d.ts.map +0 -1
  1211. package/dist/worker/worker-status.js.map +0 -1
@@ -15,9 +15,17 @@
15
15
  *
16
16
  * All logic lives here in the core package; framework adapters just call startDevContentWatcher() once
17
17
  * at dev startup. See packages/canopycms-next/src/context-wrapper.ts for the Next wiring.
18
+ *
19
+ * ## Divergence is a CONDITION, not an event
20
+ *
21
+ * It stays true until someone runs `sync push`, so the two things this module has to get right are
22
+ * (a) not re-printing the same condition into a scrolling request log, and (b) making the one printing
23
+ * of it hard to scroll past. Both are handled below by `reportOnce` + the gutter formatting; see
24
+ * `.claude/future-tasks/dev-divergence-in-app-surface.md` for the in-app surface that would replace
25
+ * the terminal as the primary home for this.
18
26
  */
19
- import type { CanopyServices } from './services';
20
- import type { DevContentSyncMode } from './config/types';
27
+ import type { CanopyServices } from './services.js';
28
+ import type { DevContentSyncMode } from './config/types.js';
21
29
  export interface StartDevContentWatcherOptions {
22
30
  /** 'warn' (default) | 'off'. */
23
31
  mode?: DevContentSyncMode;
@@ -28,10 +36,11 @@ export interface StartDevContentWatcherOptions {
28
36
  /** Warning sink. Defaults to console.warn. */
29
37
  warn?: (message: string) => void;
30
38
  }
39
+ /** Test-only: dispose every armed watcher and drop all cross-module dedupe state. */
40
+ export declare function resetDevContentWatchersForTests(): void;
31
41
  /**
32
42
  * Start watching the working-tree content directory for divergence from the served dev branch clone.
33
43
  * Returns a disposer that stops the watcher. A no-op (returns immediately) when mode is 'off', when
34
44
  * not in dev mode, or when the working-tree content directory does not exist.
35
45
  */
36
46
  export declare function startDevContentWatcher(services: CanopyServices, options?: StartDevContentWatcherOptions): () => void;
37
- //# sourceMappingURL=dev-content-watcher.d.ts.map
@@ -15,35 +15,98 @@
15
15
  *
16
16
  * All logic lives here in the core package; framework adapters just call startDevContentWatcher() once
17
17
  * at dev startup. See packages/canopycms-next/src/context-wrapper.ts for the Next wiring.
18
+ *
19
+ * ## Divergence is a CONDITION, not an event
20
+ *
21
+ * It stays true until someone runs `sync push`, so the two things this module has to get right are
22
+ * (a) not re-printing the same condition into a scrolling request log, and (b) making the one printing
23
+ * of it hard to scroll past. Both are handled below by `reportOnce` + the gutter formatting; see
24
+ * `.claude/future-tasks/dev-divergence-in-app-surface.md` for the in-app surface that would replace
25
+ * the terminal as the primary home for this.
18
26
  */
19
27
  import fsSync from 'node:fs';
20
28
  import path from 'node:path';
21
29
  import chokidar from 'chokidar';
30
+ import pc from 'picocolors';
22
31
  import { operatingStrategy } from './operating-mode/index.js';
23
32
  import { getErrorMessage } from './utils/error.js';
24
33
  import { diffContentTrees, isContentTreeDiffEmpty } from './sync-core.js';
25
- const MAX_LISTED_FILES = 10;
26
- // Dedupe watchers by working-tree content dir so HMR re-evaluating the adapter module (which discards
27
- // the disposer) doesn't accumulate watchers. This module lives in canopycms/server, so its state
28
- // survives app-side HMR. Each new start disposes any prior watcher for the same dir.
29
- const activeWatchers = new Map();
34
+ /**
35
+ * Per-category cap on listed files. Deliberately small: the block is a prompt to run `sync push`,
36
+ * not a diff viewer, and a 30-line wall of paths is exactly as easy to scroll past as a 1-line
37
+ * warning. Each list carries its true count, so nothing is hidden -- only elided.
38
+ */
39
+ const MAX_LISTED_FILES = 5;
40
+ /**
41
+ * The registry lives on `globalThis`, NOT in module scope.
42
+ *
43
+ * Next's dev server compiles the server graph per route bundle and evaluates each copy in its own
44
+ * module scope, so a module-level `Map` is re-created empty per bundle -- every copy then believes it
45
+ * is the first watcher, arms its own, and re-prints the startup warning. (The duplicated
46
+ * "CanopyCMS dev-auth: Auto-configured ..." line in a dev log is the same effect on a different
47
+ * module-level latch.) A `globalThis` property is the one thing shared across those evaluations.
48
+ */
49
+ const REGISTRY_KEY = '__canopycmsDevContentWatchers__';
50
+ function watcherRegistry() {
51
+ const host = globalThis;
52
+ const existing = host[REGISTRY_KEY];
53
+ if (existing)
54
+ return existing;
55
+ const created = new Map();
56
+ host[REGISTRY_KEY] = created;
57
+ return created;
58
+ }
59
+ /** Test-only: dispose every armed watcher and drop all cross-module dedupe state. */
60
+ export function resetDevContentWatchersForTests() {
61
+ const registry = watcherRegistry();
62
+ for (const state of registry.values())
63
+ state.dispose?.();
64
+ registry.clear();
65
+ }
66
+ /**
67
+ * One body line of the notice block. The left gutter (rather than a full box) is deliberate: content
68
+ * paths are long and unpredictable, and a right border would force either wrapping math or truncation
69
+ * of the very filenames the block exists to name.
70
+ */
71
+ function body(line) {
72
+ const gutter = pc.yellow('|');
73
+ return line ? `${gutter} ${line}` : gutter;
74
+ }
30
75
  function formatList(label, files) {
31
76
  if (files.length === 0)
32
- return null;
33
- const shown = files.slice(0, MAX_LISTED_FILES).join(', ');
34
- const extra = files.length > MAX_LISTED_FILES ? `, …(+${files.length - MAX_LISTED_FILES} more)` : '';
35
- return ` ${label}: ${shown}${extra}`;
77
+ return [];
78
+ const shown = files.slice(0, MAX_LISTED_FILES);
79
+ const lines = [body(pc.bold(`${label} (${files.length})`)), ...shown.map((f) => body(` ${f}`))];
80
+ if (files.length > shown.length) {
81
+ lines.push(body(pc.dim(` +${files.length - shown.length} more`)));
82
+ }
83
+ return lines;
36
84
  }
37
85
  function formatDivergenceWarning(branch, diff) {
38
- const lines = [
39
- `CanopyCMS: working-tree content has diverged from the dev branch clone "${branch}" — the dev ` +
40
- 'server is serving stale content. Run `npx canopycms sync push` to update it ' +
41
- "(set dev.contentSync: 'off' to silence this).",
42
- formatList('changed', diff.changed),
43
- formatList('only in working tree', diff.added),
44
- formatList('only in branch clone', diff.removed),
45
- ].filter((line) => line !== null);
46
- return lines.join('\n');
86
+ const total = diff.changed.length + diff.added.length + diff.removed.length;
87
+ // Blank lines top and bottom: the block's job is to be findable in a scrolling request log, and
88
+ // whitespace separation does more for that than any amount of in-block decoration.
89
+ return [
90
+ '',
91
+ `${pc.bgYellow(pc.black(' CanopyCMS '))} ${pc.bold(pc.yellow('working-tree content has diverged'))}`,
92
+ body(`The dev server is serving ${pc.bold('stale content')}: ${total} file(s) differ from the`),
93
+ body(`dev branch clone "${branch}".`),
94
+ body(''),
95
+ ...formatList('changed', diff.changed),
96
+ ...formatList('only in working tree', diff.added),
97
+ ...formatList('only in branch clone', diff.removed),
98
+ body(''),
99
+ body(`Fix: ${pc.bold('npx canopycms sync push')}`),
100
+ body(pc.dim("Silence: set dev.contentSync: 'off' in your Canopy config")),
101
+ '',
102
+ ].join('\n');
103
+ }
104
+ function formatResolvedNotice(branch) {
105
+ return [
106
+ '',
107
+ `${pc.bgGreen(pc.black(' CanopyCMS '))} ${pc.green(`working-tree content is back in sync with "${branch}"`)}`,
108
+ '',
109
+ ].join('\n');
47
110
  }
48
111
  /**
49
112
  * Start watching the working-tree content directory for divergence from the served dev branch clone.
@@ -73,6 +136,27 @@ export function startDevContentWatcher(services, options = {}) {
73
136
  services.config.defaultActiveBranch ??
74
137
  services.config.defaultBaseBranch ??
75
138
  'main';
139
+ const registry = watcherRegistry();
140
+ let state = registry.get(workingTreeContentDir);
141
+ if (!state) {
142
+ state = { dispose: null, lastMessage: null, reportedDivergence: false };
143
+ registry.set(workingTreeContentDir, state);
144
+ }
145
+ const watcherState = state;
146
+ // Dispose any prior watcher for this dir (HMR re-start) before creating a new one. The registry
147
+ // ENTRY deliberately survives, carrying lastMessage/reportedDivergence into the new watcher.
148
+ watcherState.dispose?.();
149
+ /**
150
+ * Emit `message` unless it is verbatim what was emitted last for this directory. Covers the
151
+ * divergence block, the resolved notice and the error paths alike: in every case a repeat means
152
+ * "the condition is unchanged", which the reader already knows.
153
+ */
154
+ const reportOnce = (message) => {
155
+ if (watcherState.lastMessage === message)
156
+ return;
157
+ watcherState.lastMessage = message;
158
+ warn(message);
159
+ };
76
160
  let running = false;
77
161
  let pending = false;
78
162
  const check = async () => {
@@ -84,16 +168,26 @@ export function startDevContentWatcher(services, options = {}) {
84
168
  try {
85
169
  const branch = resolveBranch();
86
170
  const branchContentDir = path.join(strategy.getContentBranchRoot(branch, sourceRoot), contentRoot);
87
- // No branch clone yet (e.g. before the first editor/dev request created it) → nothing to compare.
171
+ // No branch clone yet (e.g. before the first editor/dev request created it) -> nothing to
172
+ // compare. Deliberately leaves reportedDivergence alone: "cannot tell" is not "resolved".
88
173
  if (!fsSync.existsSync(branchContentDir))
89
174
  return;
90
175
  const diff = await diffContentTrees(workingTreeContentDir, branchContentDir);
91
- if (isContentTreeDiffEmpty(diff))
176
+ if (isContentTreeDiffEmpty(diff)) {
177
+ // Close the loop: a condition that was announced needs its retraction announced too, or the
178
+ // reader is left believing the dev server is still serving stale content.
179
+ if (watcherState.reportedDivergence) {
180
+ watcherState.reportedDivergence = false;
181
+ reportOnce(formatResolvedNotice(branch));
182
+ }
92
183
  return;
93
- warn(formatDivergenceWarning(branch, diff));
184
+ }
185
+ // Set BEFORE reporting so a deduped repeat still leaves the condition marked as outstanding.
186
+ watcherState.reportedDivergence = true;
187
+ reportOnce(formatDivergenceWarning(branch, diff));
94
188
  }
95
189
  catch (err) {
96
- warn(`CanopyCMS: dev content-sync check failed: ${getErrorMessage(err)}`);
190
+ reportOnce(`CanopyCMS: dev content-sync check failed: ${getErrorMessage(err)}`);
97
191
  }
98
192
  finally {
99
193
  running = false;
@@ -103,23 +197,19 @@ export function startDevContentWatcher(services, options = {}) {
103
197
  }
104
198
  }
105
199
  };
106
- // Dispose any prior watcher for this dir (HMR re-start) before creating a new one.
107
- activeWatchers.get(workingTreeContentDir)?.();
108
200
  const watcher = chokidar.watch(workingTreeContentDir, { ignoreInitial: true });
109
201
  watcher.on('add', () => void check());
110
202
  watcher.on('change', () => void check());
111
203
  watcher.on('unlink', () => void check());
112
204
  // Handle watcher errors (e.g. inotify ENOSPC/EMFILE) so an unhandled 'error' event can't crash dev.
113
- watcher.on('error', (err) => warn(`CanopyCMS: dev content-sync watcher error: ${getErrorMessage(err)}`));
205
+ watcher.on('error', (err) => reportOnce(`CanopyCMS: dev content-sync watcher error: ${getErrorMessage(err)}`));
114
206
  // Initial divergence check at startup.
115
207
  void check();
116
208
  const dispose = () => {
117
209
  void watcher.close();
118
- if (activeWatchers.get(workingTreeContentDir) === dispose) {
119
- activeWatchers.delete(workingTreeContentDir);
120
- }
210
+ if (watcherState.dispose === dispose)
211
+ watcherState.dispose = null;
121
212
  };
122
- activeWatchers.set(workingTreeContentDir, dispose);
213
+ watcherState.dispose = dispose;
123
214
  return dispose;
124
215
  }
125
- //# sourceMappingURL=dev-content-watcher.js.map
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import type { OperatingMode } from '../operating-mode';
3
- import type { ConflictStatus, PullRequestState, SyncStatus } from '../types';
4
- import type { CommentThread } from '../comment-store';
5
- import type { UserSearchResult } from '../auth/types';
2
+ import type { OperatingMode } from '../operating-mode/index.js';
3
+ import type { ConflictStatus, PullRequestState, SyncStatus } from '../types.js';
4
+ import type { CommentThread } from '../comment-store.js';
5
+ import type { UserSearchResult } from '../auth/types.js';
6
6
  export interface BranchSummary {
7
7
  name: string;
8
8
  status: string;
@@ -85,4 +85,3 @@ export interface BranchManagerProps {
85
85
  onGetUserMetadata?: (userId: string) => Promise<UserSearchResult | null>;
86
86
  }
87
87
  export declare const BranchManager: React.FC<BranchManagerProps>;
88
- //# sourceMappingURL=BranchManager.d.ts.map
@@ -152,4 +152,3 @@ export const BranchManager = ({ branches, mode, user, onSelect, onCreate, onDele
152
152
  : 'Only Admin or branch creator can delete', disabled: perms.canDelete, children: _jsx(Button, { size: "xs", variant: "outline", color: "red", onClick: () => onDelete?.(b.name), disabled: !perms.canDelete, "data-testid": `delete-branch-button-${b.name}`, children: "Delete" }) })] })] }) }, b.name));
153
153
  }) })) })] }));
154
154
  };
155
- //# sourceMappingURL=BranchManager.js.map
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
- import type { CanopyClientConfig } from '../config';
3
- import type { EditorProps } from './Editor';
2
+ import type { CanopyClientConfig } from '../config/index.js';
3
+ import type { EditorProps } from './Editor.js';
4
4
  export interface CanopyEditorProps extends Omit<EditorProps, 'collections' | 'previewBaseByCollection' | 'title' | 'subtitle' | 'themeOptions' | 'entries' | 'contentRoot' | 'operatingMode'> {
5
5
  config: CanopyClientConfig;
6
6
  entries?: EditorProps['entries'];
7
7
  }
8
8
  export declare const CanopyEditor: React.FC<CanopyEditorProps>;
9
9
  export default CanopyEditor;
10
- //# sourceMappingURL=CanopyEditor.d.ts.map
@@ -16,7 +16,6 @@ export const CanopyEditor = ({ config, entries = [], initialSelectedId, initialV
16
16
  const resolvedTitle = config.editor?.title ?? 'CanopyCMS Editor';
17
17
  const resolvedSubtitle = config.editor?.subtitle;
18
18
  const resolvedTheme = config.editor?.theme ?? undefined;
19
- return (_jsx(SWRProvider, { children: _jsx(ApiClientProvider, { children: _jsx(Editor, { entries: entries, title: resolvedTitle, subtitle: resolvedSubtitle, branchName: resolvedBranchName, operatingMode: config.mode, initialSelectedId: initialSelectedId, initialValues: initialValues, renderPreview: renderPreview, onCreateEntry: onCreateEntry, customRenderers: customRenderers, collections: collections, contentRoot: config.contentRoot, entryLinkUrl: config.entryLinkUrl, previewBaseByCollection: previewBase, assetBaseUrl: config.assetBaseUrl, themeOptions: resolvedTheme, AccountComponent: config.editor?.AccountComponent, onAccountClick: config.editor?.onAccountClick, onLogoutClick: config.editor?.onLogoutClick }) }) }));
19
+ return (_jsx(SWRProvider, { children: _jsx(ApiClientProvider, { basePath: config.basePath, children: _jsx(Editor, { entries: entries, title: resolvedTitle, subtitle: resolvedSubtitle, branchName: resolvedBranchName, operatingMode: config.mode, initialSelectedId: initialSelectedId, initialValues: initialValues, renderPreview: renderPreview, onCreateEntry: onCreateEntry, customRenderers: customRenderers, collections: collections, contentRoot: config.contentRoot, entryLinkUrl: config.entryLinkUrl, previewBaseByCollection: previewBase, assetBaseUrl: config.assetBaseUrl, basePath: config.basePath, themeOptions: resolvedTheme, AccountComponent: config.editor?.AccountComponent, onAccountClick: config.editor?.onAccountClick, onLogoutClick: config.editor?.onLogoutClick }) }) }));
20
20
  };
21
21
  export default CanopyEditor;
22
- //# sourceMappingURL=CanopyEditor.js.map
@@ -1,5 +1,5 @@
1
- import type { CanopyClientConfig } from '../config';
2
- import type { CustomFieldRenderers } from './FormRenderer';
1
+ import type { CanopyClientConfig } from '../config/index.js';
2
+ import type { CustomFieldRenderers } from './FormRenderer.js';
3
3
  /**
4
4
  * @param customRenderers Optional adopter overrides for how specific field
5
5
  * types render (see `FormRenderer`'s `customRenderers` prop). Threaded
@@ -17,4 +17,3 @@ export declare const CanopyEditorPage: (config: CanopyClientConfig, customRender
17
17
  displayName: string;
18
18
  };
19
19
  export default CanopyEditorPage;
20
- //# sourceMappingURL=CanopyEditorPage.d.ts.map
@@ -20,4 +20,3 @@ export const CanopyEditorPage = (config, customRenderers) => {
20
20
  return CanopyEditorPageInner;
21
21
  };
22
22
  export default CanopyEditorPage;
23
- //# sourceMappingURL=CanopyEditorPage.js.map
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import type { CommentThread } from '../comment-store';
3
- import type { UserSearchResult } from '../auth/types';
2
+ import type { CommentThread } from '../comment-store.js';
3
+ import type { UserSearchResult } from '../auth/types.js';
4
4
  export interface CommentsPanelProps {
5
5
  branchName: string;
6
6
  comments: CommentThread[];
@@ -18,4 +18,3 @@ export interface CommentsPanelProps {
18
18
  onGetUserMetadata?: (userId: string) => Promise<UserSearchResult | null>;
19
19
  }
20
20
  export declare const CommentsPanel: React.FC<CommentsPanelProps>;
21
- //# sourceMappingURL=CommentsPanel.d.ts.map
@@ -66,4 +66,3 @@ export const CommentsPanel = ({ branchName, comments, canResolve, onAddComment,
66
66
  setNewCommentText('');
67
67
  }, mt: "xs", children: "Reply" }))] }) }, thread.id))) })) })] }) }));
68
68
  };
69
- //# sourceMappingURL=CommentsPanel.js.map
@@ -1,16 +1,15 @@
1
1
  import React from 'react';
2
- import type { ContentFormat, EntrySchema } from '../config';
3
- import type { CustomFieldRenderers, FormValue } from './FormRenderer';
4
- import type { OperatingMode } from '../operating-mode';
5
- import { type CanopyThemeOptions } from './theme';
6
- import type { LogicalPath, ContentId } from '../paths/types';
2
+ import type { ContentFormat, EntrySchema } from '../config/index.js';
3
+ import type { CustomFieldRenderers, FormValue } from './FormRenderer.js';
4
+ import type { OperatingMode } from '../operating-mode/index.js';
5
+ import { type CanopyThemeOptions } from './theme.js';
6
+ import type { LogicalPath, ContentId } from '../paths/types.js';
7
7
  export interface EditorEntry {
8
8
  path: LogicalPath;
9
9
  contentId: ContentId;
10
10
  label: string;
11
11
  status?: string;
12
12
  schema: EntrySchema;
13
- apiPath: string;
14
13
  previewSrc?: string;
15
14
  collectionPath?: LogicalPath;
16
15
  collectionName?: string;
@@ -52,7 +51,7 @@ export interface EditorProps {
52
51
  operatingMode: OperatingMode;
53
52
  collections?: EditorCollection[];
54
53
  contentRoot?: string;
55
- entryLinkUrl?: import('../entry-link-resolver').EntryLinkUrlResolver;
54
+ entryLinkUrl?: import('../entry-link-resolver.js').EntryLinkUrlResolver;
56
55
  initialSelectedId?: string;
57
56
  initialValues?: Record<string, FormValue>;
58
57
  renderPreview?: (entry: EditorEntry, value: FormValue | undefined) => React.ReactNode;
@@ -63,6 +62,13 @@ export interface EditorProps {
63
62
  canResolveComments?: boolean;
64
63
  /** `media.publicBaseUrl` from config - prefixed onto asset URLs the editor builds (MediaLibrary/ImageField/MDX image dialog). Undefined means root-relative (editor and site share an origin). */
65
64
  assetBaseUrl?: string;
65
+ /**
66
+ * `CanopyClientConfig.basePath` - the deployment prefix the host Next.js app is served under
67
+ * (e.g. `/preview-123`). Prefixed onto every preview iframe `src` this component builds via
68
+ * `buildPreviewSrc`, so the iframe navigates to the entry's real served URL instead of the
69
+ * un-prefixed root. Undefined means the app is served at its origin's root (no-op).
70
+ */
71
+ basePath?: string;
66
72
  /**
67
73
  * Adopter-supplied overrides for how specific field types render, keyed by
68
74
  * field `type` (see `FormRenderer`'s `customRenderers` prop). Threaded
@@ -81,4 +87,3 @@ export interface EditorProps {
81
87
  */
82
88
  export declare const Editor: React.FC<EditorProps>;
83
89
  export default Editor;
84
- //# sourceMappingURL=Editor.d.ts.map
@@ -33,7 +33,7 @@ import { MediaLibrary } from './media/MediaLibrary.js';
33
33
  * High-level editor wrapper that wires entry navigation, form rendering,
34
34
  * saving/loading, and preview rendering using entry definitions.
35
35
  */
36
- export const Editor = ({ entries, title, subtitle, siteTitle = title, siteSubtitle = subtitle, branchName = '', collections, contentRoot, entryLinkUrl, initialSelectedId, initialValues, renderPreview, onCreateEntry, themeOptions, operatingMode, previewBaseByCollection, currentUser = 'current-user', canResolveComments = true, assetBaseUrl, AccountComponent, onAccountClick, onLogoutClick, customRenderers, }) => {
36
+ export const Editor = ({ entries, title, subtitle, siteTitle = title, siteSubtitle = subtitle, branchName = '', collections, contentRoot, entryLinkUrl, initialSelectedId, initialValues, renderPreview, onCreateEntry, themeOptions, operatingMode, previewBaseByCollection, currentUser = 'current-user', canResolveComments = true, assetBaseUrl, basePath, AccountComponent, onAccountClick, onLogoutClick, customRenderers, }) => {
37
37
  // Per-resource loading states
38
38
  const [branchesLoading, setBranchesLoading] = useState(false);
39
39
  const [entriesLoading, setEntriesLoading] = useState(false);
@@ -117,9 +117,9 @@ export const Editor = ({ entries, title, subtitle, siteTitle = title, siteSubtit
117
117
  branchName: branchNameState,
118
118
  previewBaseByCollection,
119
119
  contentRoot,
120
+ basePath,
120
121
  }),
121
122
  setBusy: setEntriesLoading,
122
- contentRoot,
123
123
  });
124
124
  // Keep the entry-type list referentially stable for as long as the create
125
125
  // modal is showing the same collection. Building it inline in the JSX handed
@@ -492,7 +492,7 @@ export const Editor = ({ entries, title, subtitle, siteTitle = title, siteSubtit
492
492
  // such collection" the same (correct) not-found outcome, so the guard
493
493
  // below is reachable again. See the correction to PR #196's "unreachable
494
494
  // with entries empty" claim in
495
- // .claude/future-tasks/program-b-final-review-followups.md for the write
495
+ // .claude/future-tasks/resolved/program-b-final-review-followups.md for the write
496
496
  // hazard this closes -- found by the 2026-08-12 adversarial review.
497
497
  const collection = findCollection(collectionsFromApi, collectionPath);
498
498
  if (!collection) {
@@ -663,7 +663,7 @@ export const Editor = ({ entries, title, subtitle, siteTitle = title, siteSubtit
663
663
  const footerHeight = 40;
664
664
  const headerTitle = currentEntry?.label ?? currentEntry?.slug ?? title;
665
665
  const breadcrumbSegments = useMemo(() => buildBreadcrumbSegments(currentEntry, collectionLabels), [collectionLabels, currentEntry]);
666
- return (_jsx(CanopyCMSProvider, { ...(themeOptions ?? {}), children: _jsx(AssetContextProvider, { baseUrl: assetBaseUrl, children: _jsxs(Box, { bg: "gray.0", style: { minHeight: '100vh', width: '100%' }, children: [_jsx(EditorHeader, { ref: headerRef, siteTitle: siteTitle, siteSubtitle: siteSubtitle, headerTitle: headerTitle, currentEntry: currentEntry, branchName: branchNameState, operatingMode: operatingMode, branchStatus: currentBranch?.status, busy: busy, breadcrumbSegments: breadcrumbSegments, editedFiles: editedFiles, modifiedCount: modifiedCount, unresolvedCommentCount: comments.filter((t) => !t.resolved).length, comments: comments, hasUnsavedChanges: isSelectedDirty(), userContext: userContext, branchCreatedBy: currentBranch?.createdBy, branchAccess: currentBranch?.access,
666
+ return (_jsx(CanopyCMSProvider, { ...(themeOptions ?? {}), children: _jsx(AssetContextProvider, { baseUrl: assetBaseUrl, basePath: basePath, children: _jsxs(Box, { bg: "gray.0", style: { minHeight: '100vh', width: '100%' }, children: [_jsx(EditorHeader, { ref: headerRef, siteTitle: siteTitle, siteSubtitle: siteSubtitle, headerTitle: headerTitle, currentEntry: currentEntry, branchName: branchNameState, operatingMode: operatingMode, branchStatus: currentBranch?.status, busy: busy, breadcrumbSegments: breadcrumbSegments, editedFiles: editedFiles, modifiedCount: modifiedCount, unresolvedCommentCount: comments.filter((t) => !t.resolved).length, comments: comments, hasUnsavedChanges: isSelectedDirty(), userContext: userContext, branchCreatedBy: currentBranch?.createdBy, branchAccess: currentBranch?.access,
667
667
  // Fail-closed for the same reason branchContentLocked above is:
668
668
  // isProtected/writeBlocked gate real actions in EditorHeader (hiding
669
669
  // Submit, disabling Save), so a missing wire value must read as
@@ -753,4 +753,3 @@ export const Editor = ({ entries, title, subtitle, siteTitle = title, siteSubtit
753
753
  }, loading: deleteInProgress })] }) }) }));
754
754
  };
755
755
  export default Editor;
756
- //# sourceMappingURL=Editor.js.map
@@ -8,4 +8,3 @@ export interface EditorPanesProps {
8
8
  }
9
9
  export declare const EditorPanes: React.FC<EditorPanesProps>;
10
10
  export default EditorPanes;
11
- //# sourceMappingURL=EditorPanes.d.ts.map
@@ -96,4 +96,3 @@ export const EditorPanes = ({ layout: layoutProp = 'side', onLayoutChange: _, pr
96
96
  }, children: form ?? 'Form' }) })] }) }) }) }));
97
97
  };
98
98
  export default EditorPanes;
99
- //# sourceMappingURL=EditorPanes.js.map
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ContentId, LogicalPath } from '../paths/types';
2
+ import type { ContentId, LogicalPath } from '../paths/types.js';
3
3
  import { useTree } from '@mantine/core';
4
4
  type TreeController = ReturnType<typeof useTree>;
5
5
  export interface EntryNavItem {
@@ -54,4 +54,3 @@ export interface EntryNavigatorProps {
54
54
  }
55
55
  export declare const EntryNavigator: React.FC<EntryNavigatorProps>;
56
56
  export default EntryNavigator;
57
- //# sourceMappingURL=EntryNavigator.d.ts.map
@@ -340,4 +340,3 @@ export const EntryNavigator = ({ items, collections, selectedPath, onSelect, onT
340
340
  return (_jsx(Stack, { h: "100%", style: { display: 'flex', flexDirection: 'column' }, gap: 0, "data-testid": "entry-navigator", children: _jsx(ScrollArea, { type: "auto", offsetScrollbars: true, style: { flex: 1 }, children: treeData.length === 0 ? (loading ? (_jsxs(Group, { gap: "xs", py: "sm", children: [_jsx(Loader, { size: "xs" }), _jsx(Text, { size: "xs", c: "dimmed", children: "Loading content\u2026" })] })) : (_jsx(Text, { size: "xs", c: "dimmed", py: "sm", children: "No content" }))) : (_jsx(Box, { py: "sm", children: _jsx(Tree, { data: treeData, tree: tree, renderNode: renderNode, selectOnClick: false, levelOffset: "sm" }) })) }) }));
341
341
  };
342
342
  export default EntryNavigator;
343
- //# sourceMappingURL=EntryNavigator.js.map
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import type { EntrySchema, FieldConfig } from '../config';
3
- import type { CommentThread } from '../comment-store';
2
+ import type { EntrySchema, FieldConfig } from '../config/index.js';
3
+ import type { CommentThread } from '../comment-store.js';
4
4
  export type FormValue = Record<string, unknown>;
5
5
  export interface CustomFieldRenderProps {
6
6
  field: FieldConfig;
@@ -38,4 +38,3 @@ export interface FormRendererProps {
38
38
  }
39
39
  export declare const FormRenderer: React.FC<FormRendererProps>;
40
40
  export default FormRenderer;
41
- //# sourceMappingURL=FormRenderer.d.ts.map
@@ -139,13 +139,33 @@ export const FormRenderer = ({ fields, value, onChange, customRenderers, branch
139
139
  const items = Array.isArray(currentValue)
140
140
  ? currentValue
141
141
  : [];
142
- return (_jsx(Paper, { withBorder: true, radius: "md", p: "md", shadow: "xs", children: _jsxs(Stack, { gap: "sm", children: [_jsxs(Group, { justify: "space-between", children: [_jsx(Text, { size: "sm", fw: 600, children: label }), _jsx(Button, { size: "xs", variant: "light", onClick: () => update([...items, {}]), children: "Add item" })] }), _jsxs(Stack, { gap: "sm", children: [items.map((item, idx) => (_jsx(Paper, { withBorder: true, radius: "md", p: "sm", shadow: "xs", children: _jsxs(Stack, { gap: "xs", children: [_jsxs(Group, { justify: "space-between", children: [_jsxs(Text, { size: "xs", fw: 700, children: [label, " #", idx + 1] }), _jsx(Button, { size: "xs", variant: "subtle", color: "red", onClick: () => update(items.filter((_, i) => i !== idx)), children: "Remove" })] }), _jsx(ObjectField, { label: objectField.label, fields: objectField.fields, value: item, onChange: (next) => {
142
+ return wrapWithComments(_jsx(Paper, { withBorder: true, radius: "md", p: "md", shadow: "xs", children: _jsxs(Stack, { gap: "sm", children: [_jsxs(Group, { justify: "space-between", children: [_jsx(Text, { size: "sm", fw: 600, children: label }), _jsx(Button, { size: "xs", variant: "light", onClick: () => update([...items, {}]), children: "Add item" })] }), _jsxs(Stack, { gap: "sm", children: [items.map((item, idx) => (_jsx(Paper, { withBorder: true, radius: "md", p: "sm", shadow: "xs", children: _jsxs(Stack, { gap: "xs", children: [_jsxs(Group, { justify: "space-between", children: [_jsxs(Text, { size: "xs", fw: 700, children: [label, " #", idx + 1] }), _jsx(Button, { size: "xs", variant: "subtle", color: "red", onClick: () => update(items.filter((_, i) => i !== idx)), children: "Remove" })] }), _jsx(ObjectField, { label: objectField.label, fields: objectField.fields, value: item, onChange: (next) => {
143
143
  const nextItems = [...items];
144
144
  nextItems[idx] = next;
145
145
  update(nextItems);
146
146
  }, renderField: renderField, path: [...path, idx], dataCanopyField: normalizeCanopyPath([...path, idx]) })] }) }, fieldKey([...path, idx])))), items.length === 0 && (_jsx(Text, { size: "xs", c: "dimmed", children: "No items yet. Add one to get started." }))] })] }) }, fieldKey(path)));
147
147
  }
148
- return (_jsx(ObjectField, { label: label, fields: objectField.fields, value: currentValue, onChange: (next) => update(next), renderField: renderField, path: path, dataCanopyField: normalizeCanopyPath(path) }, fieldKey(path)));
148
+ // Non-list object: unlike the list branch above (where each item has
149
+ // its own Remove button), this field had no way to return to
150
+ // `undefined` once given a value. That mattered because a required
151
+ // child field inside it can be filled and then cleared back to `''`,
152
+ // which `isEmptyForRequired` treats as empty (entry-validator.ts) --
153
+ // but the object as a whole only reads as "absent" when it is
154
+ // `undefined`/`null`, not when its children are individually empty.
155
+ // Without a way to unset the object, that state was permanently
156
+ // invalid. The Clear button (wired through ObjectField's onRemove)
157
+ // fixes that by resetting to `undefined`, never `{}` (which would
158
+ // still carry a required-but-empty child into validation).
159
+ //
160
+ // Shown only when the field is optional (a required object should
161
+ // not be clearable back to a missing state) and only once it
162
+ // actually has a value (nothing to clear otherwise). Labeled
163
+ // "Clear" rather than "Remove" so it doesn't read as deleting the
164
+ // field from the schema, the way "Remove" correctly does for a list
165
+ // item above.
166
+ const hasValue = currentValue !== undefined && currentValue !== null;
167
+ const canClear = objectField.required !== true && hasValue;
168
+ return wrapWithComments(_jsx(ObjectField, { label: label, fields: objectField.fields, value: currentValue, onChange: (next) => update(next), onRemove: canClear ? () => update(undefined) : undefined, renderField: renderField, path: path, dataCanopyField: normalizeCanopyPath(path) }, fieldKey(path)));
149
169
  }
150
170
  case 'code':
151
171
  return wrapWithComments(_jsx(CodeField, { id: fieldId, label: label, value: typeof currentValue === 'string' ? currentValue : '', onChange: (v) => update(v), dataCanopyField: normalizeCanopyPath(path) }, fieldKey(path)));
@@ -165,4 +185,3 @@ export const FormRenderer = ({ fields, value, onChange, customRenderers, branch
165
185
  })] }));
166
186
  };
167
187
  export default FormRenderer;
168
- //# sourceMappingURL=FormRenderer.js.map
@@ -2,6 +2,5 @@
2
2
  * GroupManager - Re-exports from the group-manager module.
3
3
  * This file maintains backward compatibility with existing imports.
4
4
  */
5
- export { GroupManager, useGroupState, useUserSearch, useExternalGroupSearch } from './group-manager';
6
- export type { GroupManagerProps, InternalGroup } from './group-manager';
7
- //# sourceMappingURL=GroupManager.d.ts.map
5
+ export { GroupManager, useGroupState, useUserSearch, useExternalGroupSearch } from './group-manager/index.js';
6
+ export type { GroupManagerProps, InternalGroup } from './group-manager/index.js';
@@ -4,4 +4,3 @@
4
4
  * This file maintains backward compatibility with existing imports.
5
5
  */
6
6
  export { GroupManager, useGroupState, useUserSearch, useExternalGroupSearch } from './group-manager/index.js';
7
- //# sourceMappingURL=GroupManager.js.map
@@ -4,6 +4,5 @@
4
4
  * This file maintains backward compatibility for imports.
5
5
  * The actual implementation is in ./permission-manager/
6
6
  */
7
- export { PermissionManager, usePermissionTree, useGroupsAndUsers } from './permission-manager';
8
- export type { PermissionManagerProps, ContentNode, TreeNode } from './permission-manager';
9
- //# sourceMappingURL=PermissionManager.d.ts.map
7
+ export { PermissionManager, usePermissionTree, useGroupsAndUsers } from './permission-manager/index.js';
8
+ export type { PermissionManagerProps, ContentNode, TreeNode } from './permission-manager/index.js';
@@ -6,4 +6,3 @@
6
6
  * The actual implementation is in ./permission-manager/
7
7
  */
8
8
  export { PermissionManager, usePermissionTree, useGroupsAndUsers } from './permission-manager/index.js';
9
- //# sourceMappingURL=PermissionManager.js.map
@@ -3,4 +3,3 @@ export interface SystemHealthPanelProps {
3
3
  onClose: () => void;
4
4
  }
5
5
  export declare function SystemHealthPanel({ opened, onClose }: SystemHealthPanelProps): import("react/jsx-runtime").JSX.Element;
6
- //# sourceMappingURL=SystemHealthPanel.d.ts.map
@@ -236,4 +236,3 @@ function BranchHealthRow({ entry, onMarkMerged, onRepair, onPurge, }) {
236
236
  const purgeGate = purgeGateFor(entry);
237
237
  return (_jsxs(Table.Tr, { style: { opacity: 0.65 }, children: [_jsx(Table.Td, { children: entry.dirName }), _jsx(Table.Td, { children: _jsx(Badge, { color: "gray", variant: "outline", children: "orphan" }) }), _jsx(Table.Td, { colSpan: 3, children: _jsxs(Text, { size: "xs", c: "dimmed", children: [entry.ageMs !== undefined ? `${formatAgeMs(entry.ageMs)} old` : 'unknown age', " \u00B7", ' ', entry.hasGitDir ? 'has .git' : 'no .git'] }) }), _jsx(Table.Td, { children: _jsx(Text, { size: "xs", c: "dimmed", children: entry.dirMtime ?? '—' }) }), _jsx(Table.Td, { children: _jsx(Tooltip, { label: purgeGate.tooltip, disabled: !purgeGate.disabled, children: _jsx("span", { children: _jsx(Button, { size: "xs", variant: "light", color: "red", disabled: purgeGate.disabled, "data-testid": `purge-dir-${entry.dirName}`, onClick: () => onPurge(entry.dirName), children: "Purge" }) }) }) })] }));
238
238
  }
239
- //# sourceMappingURL=SystemHealthPanel.js.map
@@ -1,5 +1,5 @@
1
- import type { AdminStatusData, AdminTasksData, ListAdminTasksParams, DeleteTaskParams } from '../../api/admin';
2
- import type { BranchHealthData } from '../../api/admin-branch-health';
1
+ import type { AdminStatusData, AdminTasksData, ListAdminTasksParams, DeleteTaskParams } from '../../api/admin.js';
2
+ import type { BranchHealthData } from '../../api/admin-branch-health.js';
3
3
  export type AdminTaskStatus = ListAdminTasksParams['status'];
4
4
  export type DeletableTaskStatus = DeleteTaskParams['status'];
5
5
  export interface UseSystemHealthOptions {
@@ -37,4 +37,3 @@ export interface UseSystemHealthReturn {
37
37
  markMerged: (branchName: string) => Promise<void>;
38
38
  }
39
39
  export declare function useSystemHealth(options: UseSystemHealthOptions): UseSystemHealthReturn;
40
- //# sourceMappingURL=useSystemHealth.d.ts.map
@@ -202,4 +202,3 @@ export function useSystemHealth(options) {
202
202
  markMerged,
203
203
  };
204
204
  }
205
- //# sourceMappingURL=useSystemHealth.js.map
@@ -14,4 +14,3 @@ export declare const parseCanopyPath: (path: string) => CanopyPathSegment[];
14
14
  * canonical bracketed representation.
15
15
  */
16
16
  export declare const normalizeCanopyPath: (input: string | CanopyPathSegment[]) => string;
17
- //# sourceMappingURL=canopy-path.d.ts.map
@@ -46,4 +46,3 @@ export const normalizeCanopyPath = (input) => {
46
46
  }
47
47
  return formatCanopyPath(parseCanopyPath(input));
48
48
  };
49
- //# sourceMappingURL=canopy-path.js.map