canopycms 0.0.62 → 0.0.64

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 (1204) 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 +15 -7
  7. package/dist/ai/index.js +9 -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 +60 -0
  15. package/dist/ai/to-plain-text.js +301 -0
  16. package/dist/ai/transform-components.d.ts +1 -2
  17. package/dist/ai/transform-components.js +70 -6
  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 +0 -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 +0 -1
  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 +58 -7
  117. package/dist/authorization/branch.js +55 -10
  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 +7 -8
  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 +2 -3
  147. package/dist/branch-health.js +0 -1
  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 +48 -0
  161. package/dist/build-canopy.js +50 -0
  162. package/dist/build-mode.d.ts +1 -2
  163. package/dist/build-mode.js +0 -1
  164. package/dist/cli/cli.d.ts +1 -2
  165. package/dist/cli/cli.js +1192 -495
  166. package/dist/cli/generate-ai-content.d.ts +0 -1
  167. package/dist/cli/generate-ai-content.js +1062 -370
  168. package/dist/cli/init.d.ts +1 -2
  169. package/dist/cli/init.js +12 -2
  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/canopycms.config.ts.template +18 -1
  179. package/dist/cli/template-files/deploy-cms.yml.template +8 -6
  180. package/dist/cli/templates.d.ts +0 -1
  181. package/dist/cli/templates.js +0 -1
  182. package/dist/client.d.ts +13 -14
  183. package/dist/client.js +0 -1
  184. package/dist/comment-store.d.ts +0 -1
  185. package/dist/comment-store.js +0 -1
  186. package/dist/config/flatten.d.ts +1 -2
  187. package/dist/config/flatten.js +0 -1
  188. package/dist/config/helpers.d.ts +3 -4
  189. package/dist/config/helpers.js +2 -2
  190. package/dist/config/index.d.ts +10 -11
  191. package/dist/config/index.js +0 -1
  192. package/dist/config/schemas/collection.d.ts +0 -1
  193. package/dist/config/schemas/collection.js +0 -1
  194. package/dist/config/schemas/config.d.ts +7 -4
  195. package/dist/config/schemas/config.js +12 -1
  196. package/dist/config/schemas/field.d.ts +3 -1
  197. package/dist/config/schemas/field.js +5 -1
  198. package/dist/config/schemas/media.d.ts +0 -1
  199. package/dist/config/schemas/media.js +0 -1
  200. package/dist/config/schemas/permissions.d.ts +0 -1
  201. package/dist/config/schemas/permissions.js +0 -1
  202. package/dist/config/types.d.ts +55 -9
  203. package/dist/config/types.js +0 -1
  204. package/dist/config/validation.d.ts +1 -2
  205. package/dist/config/validation.js +0 -1
  206. package/dist/config.d.ts +2 -3
  207. package/dist/config.js +0 -1
  208. package/dist/content-id-index.d.ts +1 -2
  209. package/dist/content-id-index.js +0 -1
  210. package/dist/content-index-generation.d.ts +0 -1
  211. package/dist/content-index-generation.js +0 -1
  212. package/dist/content-index-registry.d.ts +0 -1
  213. package/dist/content-index-registry.js +0 -1
  214. package/dist/content-listing.d.ts +137 -16
  215. package/dist/content-listing.js +175 -41
  216. package/dist/content-reader.d.ts +44 -8
  217. package/dist/content-reader.js +39 -7
  218. package/dist/content-store.d.ts +147 -7
  219. package/dist/content-store.js +294 -22
  220. package/dist/content-tree.d.ts +44 -5
  221. package/dist/content-tree.js +47 -11
  222. package/dist/context.d.ts +38 -15
  223. package/dist/context.js +55 -5
  224. package/dist/dev-content-watcher.d.ts +2 -3
  225. package/dist/dev-content-watcher.js +0 -1
  226. package/dist/editor/BranchManager.d.ts +4 -5
  227. package/dist/editor/BranchManager.js +0 -1
  228. package/dist/editor/CanopyEditor.d.ts +2 -3
  229. package/dist/editor/CanopyEditor.js +1 -2
  230. package/dist/editor/CanopyEditorPage.d.ts +2 -3
  231. package/dist/editor/CanopyEditorPage.js +0 -1
  232. package/dist/editor/CommentsPanel.d.ts +2 -3
  233. package/dist/editor/CommentsPanel.js +0 -1
  234. package/dist/editor/Editor.d.ts +13 -8
  235. package/dist/editor/Editor.js +4 -5
  236. package/dist/editor/EditorPanes.d.ts +0 -1
  237. package/dist/editor/EditorPanes.js +0 -1
  238. package/dist/editor/EntryNavigator.d.ts +1 -2
  239. package/dist/editor/EntryNavigator.js +0 -1
  240. package/dist/editor/FormRenderer.d.ts +2 -3
  241. package/dist/editor/FormRenderer.js +22 -3
  242. package/dist/editor/GroupManager.d.ts +2 -3
  243. package/dist/editor/GroupManager.js +0 -1
  244. package/dist/editor/PermissionManager.d.ts +2 -3
  245. package/dist/editor/PermissionManager.js +0 -1
  246. package/dist/editor/admin/SystemHealthPanel.d.ts +0 -1
  247. package/dist/editor/admin/SystemHealthPanel.js +0 -1
  248. package/dist/editor/admin/useSystemHealth.d.ts +2 -3
  249. package/dist/editor/admin/useSystemHealth.js +0 -1
  250. package/dist/editor/canopy-path.d.ts +0 -1
  251. package/dist/editor/canopy-path.js +0 -1
  252. package/dist/editor/client-reference-resolver.d.ts +13 -4
  253. package/dist/editor/client-reference-resolver.js +18 -8
  254. package/dist/editor/comments/BranchComments.d.ts +2 -3
  255. package/dist/editor/comments/BranchComments.js +0 -1
  256. package/dist/editor/comments/EntryComments.d.ts +1 -2
  257. package/dist/editor/comments/EntryComments.js +0 -1
  258. package/dist/editor/comments/FieldWrapper.d.ts +1 -2
  259. package/dist/editor/comments/FieldWrapper.js +0 -1
  260. package/dist/editor/comments/InlineCommentThread.d.ts +2 -3
  261. package/dist/editor/comments/InlineCommentThread.js +0 -1
  262. package/dist/editor/comments/ThreadCarousel.d.ts +2 -3
  263. package/dist/editor/comments/ThreadCarousel.js +0 -1
  264. package/dist/editor/components/ConfirmDeleteModal.d.ts +0 -1
  265. package/dist/editor/components/ConfirmDeleteModal.js +0 -1
  266. package/dist/editor/components/EditorFooter.d.ts +0 -1
  267. package/dist/editor/components/EditorFooter.js +0 -1
  268. package/dist/editor/components/EditorHeader.d.ts +4 -5
  269. package/dist/editor/components/EditorHeader.js +0 -1
  270. package/dist/editor/components/EditorSidebar.d.ts +1 -2
  271. package/dist/editor/components/EditorSidebar.js +0 -1
  272. package/dist/editor/components/EntryCreateModal.d.ts +0 -1
  273. package/dist/editor/components/EntryCreateModal.js +21 -10
  274. package/dist/editor/components/RenameEntryModal.d.ts +0 -1
  275. package/dist/editor/components/RenameEntryModal.js +0 -1
  276. package/dist/editor/components/UserBadge.d.ts +2 -3
  277. package/dist/editor/components/UserBadge.js +0 -1
  278. package/dist/editor/components/index.d.ts +3 -4
  279. package/dist/editor/components/index.js +0 -1
  280. package/dist/editor/context/ApiClientContext.d.ts +9 -3
  281. package/dist/editor/context/ApiClientContext.js +8 -4
  282. package/dist/editor/context/AssetContext.d.ts +26 -2
  283. package/dist/editor/context/AssetContext.js +23 -3
  284. package/dist/editor/context/EditorStateContext.d.ts +1 -2
  285. package/dist/editor/context/EditorStateContext.js +0 -1
  286. package/dist/editor/context/SWRProvider.d.ts +0 -1
  287. package/dist/editor/context/SWRProvider.js +0 -1
  288. package/dist/editor/context/index.d.ts +4 -5
  289. package/dist/editor/context/index.js +0 -1
  290. package/dist/editor/editor-config.d.ts +2 -3
  291. package/dist/editor/editor-config.js +0 -1
  292. package/dist/editor/editor-utils.d.ts +22 -10
  293. package/dist/editor/editor-utils.js +41 -10
  294. package/dist/editor/fields/BlockField.d.ts +1 -2
  295. package/dist/editor/fields/BlockField.js +0 -1
  296. package/dist/editor/fields/CodeField.d.ts +0 -1
  297. package/dist/editor/fields/CodeField.js +0 -1
  298. package/dist/editor/fields/DateTimeField.d.ts +0 -1
  299. package/dist/editor/fields/DateTimeField.js +0 -1
  300. package/dist/editor/fields/ImageField.d.ts +1 -2
  301. package/dist/editor/fields/ImageField.js +0 -1
  302. package/dist/editor/fields/InlineGroupField.d.ts +2 -3
  303. package/dist/editor/fields/InlineGroupField.js +0 -1
  304. package/dist/editor/fields/MarkdownField.d.ts +0 -1
  305. package/dist/editor/fields/MarkdownField.js +0 -1
  306. package/dist/editor/fields/MdxImageDialog.d.ts +0 -1
  307. package/dist/editor/fields/MdxImageDialog.js +0 -1
  308. package/dist/editor/fields/NumberField.d.ts +0 -1
  309. package/dist/editor/fields/NumberField.js +0 -1
  310. package/dist/editor/fields/NumberListField.d.ts +0 -1
  311. package/dist/editor/fields/NumberListField.js +0 -1
  312. package/dist/editor/fields/ObjectField.d.ts +11 -2
  313. package/dist/editor/fields/ObjectField.js +3 -4
  314. package/dist/editor/fields/ReferenceField.d.ts +0 -1
  315. package/dist/editor/fields/ReferenceField.js +8 -3
  316. package/dist/editor/fields/SelectField.d.ts +0 -1
  317. package/dist/editor/fields/SelectField.js +0 -1
  318. package/dist/editor/fields/StringListField.d.ts +0 -1
  319. package/dist/editor/fields/StringListField.js +0 -1
  320. package/dist/editor/fields/TextField.d.ts +0 -1
  321. package/dist/editor/fields/TextField.js +0 -1
  322. package/dist/editor/fields/ToggleField.d.ts +0 -1
  323. package/dist/editor/fields/ToggleField.js +0 -1
  324. package/dist/editor/fields/entry-link/EntryLinkContext.d.ts +1 -2
  325. package/dist/editor/fields/entry-link/EntryLinkContext.js +0 -1
  326. package/dist/editor/fields/entry-link/InsertEntryLink.d.ts +0 -1
  327. package/dist/editor/fields/entry-link/InsertEntryLink.js +0 -1
  328. package/dist/editor/fields/entry-link/index.d.ts +2 -3
  329. package/dist/editor/fields/entry-link/index.js +0 -1
  330. package/dist/editor/group-manager/ExternalGroupsTab.d.ts +1 -2
  331. package/dist/editor/group-manager/ExternalGroupsTab.js +0 -1
  332. package/dist/editor/group-manager/GroupCard.d.ts +1 -2
  333. package/dist/editor/group-manager/GroupCard.js +0 -1
  334. package/dist/editor/group-manager/GroupForm.d.ts +1 -2
  335. package/dist/editor/group-manager/GroupForm.js +0 -1
  336. package/dist/editor/group-manager/InternalGroupsTab.d.ts +1 -2
  337. package/dist/editor/group-manager/InternalGroupsTab.js +0 -1
  338. package/dist/editor/group-manager/MemberList.d.ts +1 -2
  339. package/dist/editor/group-manager/MemberList.js +0 -1
  340. package/dist/editor/group-manager/hooks/useExternalGroupSearch.d.ts +1 -2
  341. package/dist/editor/group-manager/hooks/useExternalGroupSearch.js +0 -1
  342. package/dist/editor/group-manager/hooks/useGroupState.d.ts +1 -2
  343. package/dist/editor/group-manager/hooks/useGroupState.js +0 -1
  344. package/dist/editor/group-manager/hooks/useUserSearch.d.ts +1 -2
  345. package/dist/editor/group-manager/hooks/useUserSearch.js +0 -1
  346. package/dist/editor/group-manager/index.d.ts +5 -6
  347. package/dist/editor/group-manager/index.js +0 -1
  348. package/dist/editor/group-manager/types.d.ts +4 -5
  349. package/dist/editor/group-manager/types.js +0 -1
  350. package/dist/editor/hooks/index.d.ts +14 -15
  351. package/dist/editor/hooks/index.js +0 -1
  352. package/dist/editor/hooks/useBranchActions.d.ts +0 -1
  353. package/dist/editor/hooks/useBranchActions.js +0 -1
  354. package/dist/editor/hooks/useBranchManager.d.ts +4 -5
  355. package/dist/editor/hooks/useBranchManager.js +0 -1
  356. package/dist/editor/hooks/useBranchesData.d.ts +2 -3
  357. package/dist/editor/hooks/useBranchesData.js +0 -1
  358. package/dist/editor/hooks/useCommentSystem.d.ts +2 -3
  359. package/dist/editor/hooks/useCommentSystem.js +0 -1
  360. package/dist/editor/hooks/useCommentsData.d.ts +2 -3
  361. package/dist/editor/hooks/useCommentsData.js +0 -1
  362. package/dist/editor/hooks/useDraftManager.d.ts +3 -4
  363. package/dist/editor/hooks/useDraftManager.js +0 -1
  364. package/dist/editor/hooks/useEditorLayout.d.ts +1 -2
  365. package/dist/editor/hooks/useEditorLayout.js +0 -1
  366. package/dist/editor/hooks/useEntriesData.d.ts +3 -5
  367. package/dist/editor/hooks/useEntriesData.js +0 -3
  368. package/dist/editor/hooks/useEntryLinkResolution.d.ts +2 -3
  369. package/dist/editor/hooks/useEntryLinkResolution.js +0 -1
  370. package/dist/editor/hooks/useEntryManager.d.ts +5 -7
  371. package/dist/editor/hooks/useEntryManager.js +8 -3
  372. package/dist/editor/hooks/useGroupManager.d.ts +2 -3
  373. package/dist/editor/hooks/useGroupManager.js +0 -1
  374. package/dist/editor/hooks/usePermissionManager.d.ts +2 -3
  375. package/dist/editor/hooks/usePermissionManager.js +0 -1
  376. package/dist/editor/hooks/useReferenceResolution.d.ts +1 -2
  377. package/dist/editor/hooks/useReferenceResolution.js +8 -3
  378. package/dist/editor/hooks/useSchemaManager.d.ts +2 -3
  379. package/dist/editor/hooks/useSchemaManager.js +0 -1
  380. package/dist/editor/hooks/useUserContext.d.ts +1 -2
  381. package/dist/editor/hooks/useUserContext.js +8 -3
  382. package/dist/editor/hooks/useUserMetadata.d.ts +2 -3
  383. package/dist/editor/hooks/useUserMetadata.js +0 -1
  384. package/dist/editor/media/AssetCard.d.ts +1 -2
  385. package/dist/editor/media/AssetCard.js +0 -1
  386. package/dist/editor/media/CropStep.d.ts +1 -2
  387. package/dist/editor/media/CropStep.js +0 -1
  388. package/dist/editor/media/MediaLibrary.d.ts +1 -2
  389. package/dist/editor/media/MediaLibrary.js +0 -1
  390. package/dist/editor/media/MediaLibraryBody.d.ts +1 -2
  391. package/dist/editor/media/MediaLibraryBody.js +0 -1
  392. package/dist/editor/media/crop-math.d.ts +1 -2
  393. package/dist/editor/media/crop-math.js +0 -1
  394. package/dist/editor/media/upload-asset.d.ts +2 -3
  395. package/dist/editor/media/upload-asset.js +0 -1
  396. package/dist/editor/media/upload-constants.d.ts +0 -1
  397. package/dist/editor/media/upload-constants.js +0 -1
  398. package/dist/editor/media/useAssetUpload.d.ts +1 -2
  399. package/dist/editor/media/useAssetUpload.js +0 -1
  400. package/dist/editor/media/xhr-upload.d.ts +0 -1
  401. package/dist/editor/media/xhr-upload.js +0 -1
  402. package/dist/editor/permission-manager/GroupSelector.d.ts +1 -2
  403. package/dist/editor/permission-manager/GroupSelector.js +0 -1
  404. package/dist/editor/permission-manager/PermissionEditor.d.ts +1 -2
  405. package/dist/editor/permission-manager/PermissionEditor.js +0 -1
  406. package/dist/editor/permission-manager/PermissionLevelBadge.d.ts +1 -2
  407. package/dist/editor/permission-manager/PermissionLevelBadge.js +0 -1
  408. package/dist/editor/permission-manager/PermissionTree.d.ts +1 -2
  409. package/dist/editor/permission-manager/PermissionTree.js +0 -1
  410. package/dist/editor/permission-manager/UserSelector.d.ts +1 -2
  411. package/dist/editor/permission-manager/UserSelector.js +0 -1
  412. package/dist/editor/permission-manager/constants.d.ts +1 -2
  413. package/dist/editor/permission-manager/constants.js +0 -1
  414. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +1 -2
  415. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +0 -1
  416. package/dist/editor/permission-manager/hooks/usePermissionTree.d.ts +2 -3
  417. package/dist/editor/permission-manager/hooks/usePermissionTree.js +0 -1
  418. package/dist/editor/permission-manager/index.d.ts +4 -5
  419. package/dist/editor/permission-manager/index.js +0 -1
  420. package/dist/editor/permission-manager/types.d.ts +3 -4
  421. package/dist/editor/permission-manager/types.js +0 -1
  422. package/dist/editor/permission-manager/utils.d.ts +2 -3
  423. package/dist/editor/permission-manager/utils.js +0 -1
  424. package/dist/editor/preview-bridge.d.ts +1 -2
  425. package/dist/editor/preview-bridge.js +0 -1
  426. package/dist/editor/relative-time.d.ts +0 -1
  427. package/dist/editor/relative-time.js +0 -1
  428. package/dist/editor/schema-editor/CollectionEditor.d.ts +4 -5
  429. package/dist/editor/schema-editor/CollectionEditor.js +0 -1
  430. package/dist/editor/schema-editor/EntryTypeEditor.d.ts +2 -3
  431. package/dist/editor/schema-editor/EntryTypeEditor.js +0 -1
  432. package/dist/editor/schema-editor/index.d.ts +2 -3
  433. package/dist/editor/schema-editor/index.js +0 -1
  434. package/dist/editor/theme.d.ts +0 -1
  435. package/dist/editor/theme.js +0 -1
  436. package/dist/editor/utils/env.d.ts +0 -1
  437. package/dist/editor/utils/env.js +0 -1
  438. package/dist/entry-link-resolver.d.ts +1 -2
  439. package/dist/entry-link-resolver.js +0 -1
  440. package/dist/entry-schema-registry.d.ts +3 -4
  441. package/dist/entry-schema-registry.js +6 -2
  442. package/dist/entry-schema.d.ts +342 -11
  443. package/dist/entry-schema.js +170 -1
  444. package/dist/git-manager.d.ts +1 -2
  445. package/dist/git-manager.js +0 -1
  446. package/dist/github-service.d.ts +1 -2
  447. package/dist/github-service.js +0 -1
  448. package/dist/http/handler.d.ts +6 -7
  449. package/dist/http/handler.js +0 -1
  450. package/dist/http/index.d.ts +6 -7
  451. package/dist/http/index.js +0 -1
  452. package/dist/http/router.d.ts +2 -3
  453. package/dist/http/router.js +0 -1
  454. package/dist/http/types.d.ts +0 -1
  455. package/dist/http/types.js +0 -1
  456. package/dist/id.d.ts +2 -3
  457. package/dist/id.js +0 -1
  458. package/dist/index.d.ts +17 -17
  459. package/dist/index.js +7 -1
  460. package/dist/operating-mode/client-safe-strategy.d.ts +1 -2
  461. package/dist/operating-mode/client-safe-strategy.js +0 -1
  462. package/dist/operating-mode/client-unsafe-strategy.d.ts +1 -2
  463. package/dist/operating-mode/client-unsafe-strategy.js +0 -1
  464. package/dist/operating-mode/client.d.ts +3 -4
  465. package/dist/operating-mode/client.js +0 -1
  466. package/dist/operating-mode/deployment-name-fixtures.d.ts +0 -1
  467. package/dist/operating-mode/deployment-name-fixtures.js +0 -1
  468. package/dist/operating-mode/deployment-name.d.ts +0 -1
  469. package/dist/operating-mode/deployment-name.js +0 -1
  470. package/dist/operating-mode/index.d.ts +5 -6
  471. package/dist/operating-mode/index.js +0 -1
  472. package/dist/operating-mode/mode-env.d.ts +1 -2
  473. package/dist/operating-mode/mode-env.js +0 -1
  474. package/dist/operating-mode/types.d.ts +2 -3
  475. package/dist/operating-mode/types.js +0 -1
  476. package/dist/paths/branch-name.d.ts +1 -2
  477. package/dist/paths/branch-name.js +0 -1
  478. package/dist/paths/branch.d.ts +3 -4
  479. package/dist/paths/branch.js +0 -1
  480. package/dist/paths/index.d.ts +8 -9
  481. package/dist/paths/index.js +0 -1
  482. package/dist/paths/normalize-server.d.ts +1 -2
  483. package/dist/paths/normalize-server.js +0 -1
  484. package/dist/paths/normalize.d.ts +1 -2
  485. package/dist/paths/normalize.js +0 -1
  486. package/dist/paths/resolve.d.ts +2 -3
  487. package/dist/paths/resolve.js +0 -1
  488. package/dist/paths/types.d.ts +0 -1
  489. package/dist/paths/types.js +0 -1
  490. package/dist/paths/validation.d.ts +1 -2
  491. package/dist/paths/validation.js +0 -1
  492. package/dist/reference-resolver.d.ts +3 -4
  493. package/dist/reference-resolver.js +0 -1
  494. package/dist/resolve-canopy-user.d.ts +3 -4
  495. package/dist/resolve-canopy-user.js +0 -1
  496. package/dist/resource-generation.d.ts +0 -1
  497. package/dist/resource-generation.js +0 -1
  498. package/dist/schema/index.d.ts +3 -4
  499. package/dist/schema/index.js +0 -1
  500. package/dist/schema/meta-loader.d.ts +3 -4
  501. package/dist/schema/meta-loader.js +3 -3
  502. package/dist/schema/resolver.d.ts +2 -3
  503. package/dist/schema/resolver.js +0 -1
  504. package/dist/schema/schema-store-types.d.ts +2 -3
  505. package/dist/schema/schema-store-types.js +0 -1
  506. package/dist/schema/schema-store.d.ts +6 -7
  507. package/dist/schema/schema-store.js +33 -1
  508. package/dist/schema/types.d.ts +1 -2
  509. package/dist/schema/types.js +0 -1
  510. package/dist/server.d.ts +97 -37
  511. package/dist/server.js +60 -3
  512. package/dist/services.d.ts +10 -12
  513. package/dist/services.js +2 -7
  514. package/dist/settings-workspace.d.ts +12 -15
  515. package/dist/settings-workspace.js +10 -13
  516. package/dist/static/index.d.ts +227 -9
  517. package/dist/static/index.js +302 -14
  518. package/dist/static/seo.d.ts +128 -0
  519. package/dist/static/seo.js +162 -0
  520. package/dist/sync-core.d.ts +0 -1
  521. package/dist/sync-core.js +0 -1
  522. package/dist/task-queue/index.d.ts +2 -3
  523. package/dist/task-queue/index.js +0 -1
  524. package/dist/task-queue/task-queue.d.ts +1 -2
  525. package/dist/task-queue/task-queue.js +0 -1
  526. package/dist/task-queue/types.d.ts +0 -1
  527. package/dist/task-queue/types.js +0 -1
  528. package/dist/types.d.ts +3 -4
  529. package/dist/types.js +0 -1
  530. package/dist/url-collision.d.ts +86 -0
  531. package/dist/url-collision.js +186 -0
  532. package/dist/url-path-resolver.d.ts +11 -2
  533. package/dist/url-path-resolver.js +37 -5
  534. package/dist/user.d.ts +3 -4
  535. package/dist/user.js +0 -1
  536. package/dist/utils/async-mutex.d.ts +0 -1
  537. package/dist/utils/async-mutex.js +0 -1
  538. package/dist/utils/atomic-write.d.ts +0 -1
  539. package/dist/utils/atomic-write.js +0 -1
  540. package/dist/utils/body-field.d.ts +12 -2
  541. package/dist/utils/body-field.js +17 -1
  542. package/dist/utils/content-serialize.d.ts +37 -0
  543. package/dist/utils/content-serialize.js +429 -0
  544. package/dist/utils/content-write-lock.d.ts +12 -16
  545. package/dist/utils/content-write-lock.js +38 -22
  546. package/dist/utils/debug.d.ts +0 -1
  547. package/dist/utils/debug.js +0 -1
  548. package/dist/utils/entry-url.d.ts +17 -1
  549. package/dist/utils/entry-url.js +21 -3
  550. package/dist/utils/error.d.ts +0 -1
  551. package/dist/utils/error.js +0 -1
  552. package/dist/utils/flatten-group-fields.d.ts +1 -2
  553. package/dist/utils/flatten-group-fields.js +0 -1
  554. package/dist/utils/format.d.ts +1 -2
  555. package/dist/utils/format.js +0 -1
  556. package/dist/utils/fs.d.ts +7 -1
  557. package/dist/utils/fs.js +16 -1
  558. package/dist/utils/git.d.ts +1 -2
  559. package/dist/utils/git.js +0 -1
  560. package/dist/utils/logger.d.ts +0 -1
  561. package/dist/utils/logger.js +0 -1
  562. package/dist/utils/occ-json-write.d.ts +0 -1
  563. package/dist/utils/occ-json-write.js +0 -1
  564. package/dist/utils/provisioning-lock.d.ts +17 -4
  565. package/dist/utils/provisioning-lock.js +94 -14
  566. package/dist/utils/sanitize-href.d.ts +46 -1
  567. package/dist/utils/sanitize-href.js +63 -3
  568. package/dist/utils/title-field.d.ts +1 -2
  569. package/dist/utils/title-field.js +0 -1
  570. package/dist/utils/typed-filename.d.ts +61 -0
  571. package/dist/utils/typed-filename.js +92 -0
  572. package/dist/utils/url-prefix.d.ts +121 -0
  573. package/dist/utils/url-prefix.js +158 -0
  574. package/dist/validation/block-structural-keys.d.ts +42 -0
  575. package/dist/validation/block-structural-keys.js +44 -0
  576. package/dist/validation/deletion-checker.d.ts +4 -5
  577. package/dist/validation/deletion-checker.js +0 -1
  578. package/dist/validation/entry-link-validator.d.ts +2 -3
  579. package/dist/validation/entry-link-validator.js +0 -1
  580. package/dist/validation/entry-type-reference-validator.d.ts +1 -2
  581. package/dist/validation/entry-type-reference-validator.js +0 -1
  582. package/dist/validation/entry-validator.d.ts +23 -2
  583. package/dist/validation/entry-validator.js +34 -2
  584. package/dist/validation/field-traversal.d.ts +28 -4
  585. package/dist/validation/field-traversal.js +24 -7
  586. package/dist/validation/reference-validator.d.ts +2 -3
  587. package/dist/validation/reference-validator.js +0 -1
  588. package/dist/worker/cms-worker.d.ts +9 -2
  589. package/dist/worker/cms-worker.js +59 -2
  590. package/dist/worker/log.d.ts +0 -1
  591. package/dist/worker/log.js +0 -1
  592. package/dist/worker/task-queue-config.d.ts +1 -2
  593. package/dist/worker/task-queue-config.js +0 -1
  594. package/dist/worker/task-queue.d.ts +3 -4
  595. package/dist/worker/task-queue.js +0 -1
  596. package/dist/worker/worker-status.d.ts +1 -2
  597. package/dist/worker/worker-status.js +0 -1
  598. package/package.json +2 -6
  599. package/dist/ai/generate.d.ts.map +0 -1
  600. package/dist/ai/generate.js.map +0 -1
  601. package/dist/ai/handler.d.ts.map +0 -1
  602. package/dist/ai/handler.js.map +0 -1
  603. package/dist/ai/index.d.ts.map +0 -1
  604. package/dist/ai/index.js.map +0 -1
  605. package/dist/ai/json-to-markdown.d.ts.map +0 -1
  606. package/dist/ai/json-to-markdown.js.map +0 -1
  607. package/dist/ai/resolve-branch.d.ts.map +0 -1
  608. package/dist/ai/resolve-branch.js.map +0 -1
  609. package/dist/ai/strip-mdx.d.ts.map +0 -1
  610. package/dist/ai/strip-mdx.js.map +0 -1
  611. package/dist/ai/transform-components.d.ts.map +0 -1
  612. package/dist/ai/transform-components.js.map +0 -1
  613. package/dist/ai/types.d.ts.map +0 -1
  614. package/dist/ai/types.js.map +0 -1
  615. package/dist/api/__test__/mock-client.d.ts +0 -231
  616. package/dist/api/__test__/mock-client.d.ts.map +0 -1
  617. package/dist/api/__test__/mock-client.js +0 -388
  618. package/dist/api/__test__/mock-client.js.map +0 -1
  619. package/dist/api/admin-branch-health.d.ts.map +0 -1
  620. package/dist/api/admin-branch-health.js.map +0 -1
  621. package/dist/api/admin.d.ts.map +0 -1
  622. package/dist/api/admin.js.map +0 -1
  623. package/dist/api/assets.d.ts.map +0 -1
  624. package/dist/api/assets.js.map +0 -1
  625. package/dist/api/branch-merge.d.ts.map +0 -1
  626. package/dist/api/branch-merge.js.map +0 -1
  627. package/dist/api/branch-review.d.ts.map +0 -1
  628. package/dist/api/branch-review.js.map +0 -1
  629. package/dist/api/branch-status.d.ts.map +0 -1
  630. package/dist/api/branch-status.js.map +0 -1
  631. package/dist/api/branch-withdraw.d.ts.map +0 -1
  632. package/dist/api/branch-withdraw.js.map +0 -1
  633. package/dist/api/branch.d.ts.map +0 -1
  634. package/dist/api/branch.js.map +0 -1
  635. package/dist/api/client.d.ts.map +0 -1
  636. package/dist/api/client.js.map +0 -1
  637. package/dist/api/comments.d.ts.map +0 -1
  638. package/dist/api/comments.js.map +0 -1
  639. package/dist/api/content.d.ts.map +0 -1
  640. package/dist/api/content.js.map +0 -1
  641. package/dist/api/entries-constants.d.ts.map +0 -1
  642. package/dist/api/entries-constants.js.map +0 -1
  643. package/dist/api/entries.d.ts.map +0 -1
  644. package/dist/api/entries.js.map +0 -1
  645. package/dist/api/github-sync.d.ts.map +0 -1
  646. package/dist/api/github-sync.js.map +0 -1
  647. package/dist/api/groups.d.ts.map +0 -1
  648. package/dist/api/groups.js.map +0 -1
  649. package/dist/api/guards.d.ts.map +0 -1
  650. package/dist/api/guards.js.map +0 -1
  651. package/dist/api/index.d.ts.map +0 -1
  652. package/dist/api/index.js.map +0 -1
  653. package/dist/api/permissions.d.ts.map +0 -1
  654. package/dist/api/permissions.js.map +0 -1
  655. package/dist/api/reference-options.d.ts.map +0 -1
  656. package/dist/api/reference-options.js.map +0 -1
  657. package/dist/api/request-body-hash.d.ts.map +0 -1
  658. package/dist/api/request-body-hash.js.map +0 -1
  659. package/dist/api/resolve-references.d.ts.map +0 -1
  660. package/dist/api/resolve-references.js.map +0 -1
  661. package/dist/api/route-builder.d.ts.map +0 -1
  662. package/dist/api/route-builder.js.map +0 -1
  663. package/dist/api/schema.d.ts.map +0 -1
  664. package/dist/api/schema.js.map +0 -1
  665. package/dist/api/settings-helpers.d.ts.map +0 -1
  666. package/dist/api/settings-helpers.js.map +0 -1
  667. package/dist/api/types.d.ts.map +0 -1
  668. package/dist/api/types.js.map +0 -1
  669. package/dist/api/user.d.ts.map +0 -1
  670. package/dist/api/user.js.map +0 -1
  671. package/dist/api/validators.d.ts.map +0 -1
  672. package/dist/api/validators.js.map +0 -1
  673. package/dist/assets/asset-prefixes.d.ts.map +0 -1
  674. package/dist/assets/asset-prefixes.js.map +0 -1
  675. package/dist/assets/asset-src.d.ts.map +0 -1
  676. package/dist/assets/asset-src.js.map +0 -1
  677. package/dist/assets/asset-url.d.ts.map +0 -1
  678. package/dist/assets/asset-url.js.map +0 -1
  679. package/dist/assets/factory.d.ts.map +0 -1
  680. package/dist/assets/factory.js.map +0 -1
  681. package/dist/assets/finalize.d.ts.map +0 -1
  682. package/dist/assets/finalize.js.map +0 -1
  683. package/dist/assets/index.d.ts.map +0 -1
  684. package/dist/assets/index.js.map +0 -1
  685. package/dist/assets/keys.d.ts.map +0 -1
  686. package/dist/assets/keys.js.map +0 -1
  687. package/dist/assets/pipeline.d.ts.map +0 -1
  688. package/dist/assets/pipeline.js.map +0 -1
  689. package/dist/assets/store-local.d.ts.map +0 -1
  690. package/dist/assets/store-local.js.map +0 -1
  691. package/dist/assets/store-s3.d.ts.map +0 -1
  692. package/dist/assets/store-s3.js.map +0 -1
  693. package/dist/assets/svg-sanitizer.d.ts.map +0 -1
  694. package/dist/assets/svg-sanitizer.js.map +0 -1
  695. package/dist/assets/transform-directives.d.ts.map +0 -1
  696. package/dist/assets/transform-directives.js.map +0 -1
  697. package/dist/assets/transform.d.ts.map +0 -1
  698. package/dist/assets/transform.js.map +0 -1
  699. package/dist/assets/types.d.ts.map +0 -1
  700. package/dist/assets/types.js.map +0 -1
  701. package/dist/auth/cache.d.ts.map +0 -1
  702. package/dist/auth/cache.js.map +0 -1
  703. package/dist/auth/caching-auth-plugin.d.ts.map +0 -1
  704. package/dist/auth/caching-auth-plugin.js.map +0 -1
  705. package/dist/auth/context-helpers.d.ts.map +0 -1
  706. package/dist/auth/context-helpers.js.map +0 -1
  707. package/dist/auth/file-based-auth-cache.d.ts.map +0 -1
  708. package/dist/auth/file-based-auth-cache.js.map +0 -1
  709. package/dist/auth/index.d.ts.map +0 -1
  710. package/dist/auth/index.js.map +0 -1
  711. package/dist/auth/plugin.d.ts.map +0 -1
  712. package/dist/auth/plugin.js.map +0 -1
  713. package/dist/auth/types.d.ts.map +0 -1
  714. package/dist/auth/types.js.map +0 -1
  715. package/dist/authorization/branch.d.ts.map +0 -1
  716. package/dist/authorization/branch.js.map +0 -1
  717. package/dist/authorization/content.d.ts.map +0 -1
  718. package/dist/authorization/content.js.map +0 -1
  719. package/dist/authorization/groups/index.d.ts.map +0 -1
  720. package/dist/authorization/groups/index.js.map +0 -1
  721. package/dist/authorization/groups/loader.d.ts.map +0 -1
  722. package/dist/authorization/groups/loader.js.map +0 -1
  723. package/dist/authorization/groups/schema.d.ts.map +0 -1
  724. package/dist/authorization/groups/schema.js.map +0 -1
  725. package/dist/authorization/helpers.d.ts.map +0 -1
  726. package/dist/authorization/helpers.js.map +0 -1
  727. package/dist/authorization/index.d.ts.map +0 -1
  728. package/dist/authorization/index.js.map +0 -1
  729. package/dist/authorization/path.d.ts.map +0 -1
  730. package/dist/authorization/path.js.map +0 -1
  731. package/dist/authorization/permissions/index.d.ts.map +0 -1
  732. package/dist/authorization/permissions/index.js.map +0 -1
  733. package/dist/authorization/permissions/loader.d.ts.map +0 -1
  734. package/dist/authorization/permissions/loader.js.map +0 -1
  735. package/dist/authorization/permissions/schema.d.ts.map +0 -1
  736. package/dist/authorization/permissions/schema.js.map +0 -1
  737. package/dist/authorization/protected-branch.d.ts.map +0 -1
  738. package/dist/authorization/protected-branch.js.map +0 -1
  739. package/dist/authorization/settings-file-store.d.ts.map +0 -1
  740. package/dist/authorization/settings-file-store.js.map +0 -1
  741. package/dist/authorization/test-utils.d.ts +0 -26
  742. package/dist/authorization/test-utils.d.ts.map +0 -1
  743. package/dist/authorization/test-utils.js +0 -23
  744. package/dist/authorization/test-utils.js.map +0 -1
  745. package/dist/authorization/types.d.ts.map +0 -1
  746. package/dist/authorization/types.js.map +0 -1
  747. package/dist/authorization/validation.d.ts.map +0 -1
  748. package/dist/authorization/validation.js.map +0 -1
  749. package/dist/branch-health.d.ts.map +0 -1
  750. package/dist/branch-health.js.map +0 -1
  751. package/dist/branch-metadata.d.ts.map +0 -1
  752. package/dist/branch-metadata.js.map +0 -1
  753. package/dist/branch-registry.d.ts.map +0 -1
  754. package/dist/branch-registry.js.map +0 -1
  755. package/dist/branch-schema-cache.d.ts.map +0 -1
  756. package/dist/branch-schema-cache.js.map +0 -1
  757. package/dist/branch-workspace.d.ts.map +0 -1
  758. package/dist/branch-workspace.js.map +0 -1
  759. package/dist/build/generate-ai-content.d.ts.map +0 -1
  760. package/dist/build/generate-ai-content.js.map +0 -1
  761. package/dist/build/index.d.ts.map +0 -1
  762. package/dist/build/index.js.map +0 -1
  763. package/dist/build-mode.d.ts.map +0 -1
  764. package/dist/build-mode.js.map +0 -1
  765. package/dist/cli/cli.d.ts.map +0 -1
  766. package/dist/cli/cli.js.map +0 -1
  767. package/dist/cli/generate-ai-content.d.ts.map +0 -1
  768. package/dist/cli/generate-ai-content.js.map +0 -1
  769. package/dist/cli/init.d.ts.map +0 -1
  770. package/dist/cli/init.js.map +0 -1
  771. package/dist/cli/migrate.d.ts.map +0 -1
  772. package/dist/cli/migrate.js.map +0 -1
  773. package/dist/cli/project-detect.d.ts.map +0 -1
  774. package/dist/cli/project-detect.js.map +0 -1
  775. package/dist/cli/project-root.d.ts.map +0 -1
  776. package/dist/cli/project-root.js.map +0 -1
  777. package/dist/cli/sync.d.ts.map +0 -1
  778. package/dist/cli/sync.js.map +0 -1
  779. package/dist/cli/templates.d.ts.map +0 -1
  780. package/dist/cli/templates.js.map +0 -1
  781. package/dist/client.d.ts.map +0 -1
  782. package/dist/client.js.map +0 -1
  783. package/dist/comment-store.d.ts.map +0 -1
  784. package/dist/comment-store.js.map +0 -1
  785. package/dist/config/flatten.d.ts.map +0 -1
  786. package/dist/config/flatten.js.map +0 -1
  787. package/dist/config/helpers.d.ts.map +0 -1
  788. package/dist/config/helpers.js.map +0 -1
  789. package/dist/config/index.d.ts.map +0 -1
  790. package/dist/config/index.js.map +0 -1
  791. package/dist/config/schemas/collection.d.ts.map +0 -1
  792. package/dist/config/schemas/collection.js.map +0 -1
  793. package/dist/config/schemas/config.d.ts.map +0 -1
  794. package/dist/config/schemas/config.js.map +0 -1
  795. package/dist/config/schemas/field.d.ts.map +0 -1
  796. package/dist/config/schemas/field.js.map +0 -1
  797. package/dist/config/schemas/media.d.ts.map +0 -1
  798. package/dist/config/schemas/media.js.map +0 -1
  799. package/dist/config/schemas/permissions.d.ts.map +0 -1
  800. package/dist/config/schemas/permissions.js.map +0 -1
  801. package/dist/config/types.d.ts.map +0 -1
  802. package/dist/config/types.js.map +0 -1
  803. package/dist/config/validation.d.ts.map +0 -1
  804. package/dist/config/validation.js.map +0 -1
  805. package/dist/config-test.d.ts +0 -20
  806. package/dist/config-test.d.ts.map +0 -1
  807. package/dist/config-test.js +0 -49
  808. package/dist/config-test.js.map +0 -1
  809. package/dist/config.d.ts.map +0 -1
  810. package/dist/config.js.map +0 -1
  811. package/dist/content-id-index.d.ts.map +0 -1
  812. package/dist/content-id-index.js.map +0 -1
  813. package/dist/content-index-generation.d.ts.map +0 -1
  814. package/dist/content-index-generation.js.map +0 -1
  815. package/dist/content-index-registry.d.ts.map +0 -1
  816. package/dist/content-index-registry.js.map +0 -1
  817. package/dist/content-listing.d.ts.map +0 -1
  818. package/dist/content-listing.js.map +0 -1
  819. package/dist/content-reader.d.ts.map +0 -1
  820. package/dist/content-reader.js.map +0 -1
  821. package/dist/content-store.d.ts.map +0 -1
  822. package/dist/content-store.js.map +0 -1
  823. package/dist/content-tree.d.ts.map +0 -1
  824. package/dist/content-tree.js.map +0 -1
  825. package/dist/context.d.ts.map +0 -1
  826. package/dist/context.js.map +0 -1
  827. package/dist/dev-content-watcher.d.ts.map +0 -1
  828. package/dist/dev-content-watcher.js.map +0 -1
  829. package/dist/editor/BranchManager.d.ts.map +0 -1
  830. package/dist/editor/BranchManager.js.map +0 -1
  831. package/dist/editor/CanopyEditor.d.ts.map +0 -1
  832. package/dist/editor/CanopyEditor.js.map +0 -1
  833. package/dist/editor/CanopyEditorPage.d.ts.map +0 -1
  834. package/dist/editor/CanopyEditorPage.js.map +0 -1
  835. package/dist/editor/CommentsPanel.d.ts.map +0 -1
  836. package/dist/editor/CommentsPanel.js.map +0 -1
  837. package/dist/editor/Editor.d.ts.map +0 -1
  838. package/dist/editor/Editor.js.map +0 -1
  839. package/dist/editor/EditorPanes.d.ts.map +0 -1
  840. package/dist/editor/EditorPanes.js.map +0 -1
  841. package/dist/editor/EntryNavigator.d.ts.map +0 -1
  842. package/dist/editor/EntryNavigator.js.map +0 -1
  843. package/dist/editor/FormRenderer.d.ts.map +0 -1
  844. package/dist/editor/FormRenderer.js.map +0 -1
  845. package/dist/editor/GroupManager.d.ts.map +0 -1
  846. package/dist/editor/GroupManager.js.map +0 -1
  847. package/dist/editor/PermissionManager.d.ts.map +0 -1
  848. package/dist/editor/PermissionManager.js.map +0 -1
  849. package/dist/editor/admin/SystemHealthPanel.d.ts.map +0 -1
  850. package/dist/editor/admin/SystemHealthPanel.js.map +0 -1
  851. package/dist/editor/admin/useSystemHealth.d.ts.map +0 -1
  852. package/dist/editor/admin/useSystemHealth.js.map +0 -1
  853. package/dist/editor/canopy-path.d.ts.map +0 -1
  854. package/dist/editor/canopy-path.js.map +0 -1
  855. package/dist/editor/client-reference-resolver.d.ts.map +0 -1
  856. package/dist/editor/client-reference-resolver.js.map +0 -1
  857. package/dist/editor/comments/BranchComments.d.ts.map +0 -1
  858. package/dist/editor/comments/BranchComments.js.map +0 -1
  859. package/dist/editor/comments/EntryComments.d.ts.map +0 -1
  860. package/dist/editor/comments/EntryComments.js.map +0 -1
  861. package/dist/editor/comments/FieldWrapper.d.ts.map +0 -1
  862. package/dist/editor/comments/FieldWrapper.js.map +0 -1
  863. package/dist/editor/comments/InlineCommentThread.d.ts.map +0 -1
  864. package/dist/editor/comments/InlineCommentThread.js.map +0 -1
  865. package/dist/editor/comments/ThreadCarousel.d.ts.map +0 -1
  866. package/dist/editor/comments/ThreadCarousel.js.map +0 -1
  867. package/dist/editor/components/ConfirmDeleteModal.d.ts.map +0 -1
  868. package/dist/editor/components/ConfirmDeleteModal.js.map +0 -1
  869. package/dist/editor/components/EditorFooter.d.ts.map +0 -1
  870. package/dist/editor/components/EditorFooter.js.map +0 -1
  871. package/dist/editor/components/EditorHeader.d.ts.map +0 -1
  872. package/dist/editor/components/EditorHeader.js.map +0 -1
  873. package/dist/editor/components/EditorSidebar.d.ts.map +0 -1
  874. package/dist/editor/components/EditorSidebar.js.map +0 -1
  875. package/dist/editor/components/EntryCreateModal.d.ts.map +0 -1
  876. package/dist/editor/components/EntryCreateModal.js.map +0 -1
  877. package/dist/editor/components/RenameEntryModal.d.ts.map +0 -1
  878. package/dist/editor/components/RenameEntryModal.js.map +0 -1
  879. package/dist/editor/components/UserBadge.d.ts.map +0 -1
  880. package/dist/editor/components/UserBadge.js.map +0 -1
  881. package/dist/editor/components/index.d.ts.map +0 -1
  882. package/dist/editor/components/index.js.map +0 -1
  883. package/dist/editor/context/ApiClientContext.d.ts.map +0 -1
  884. package/dist/editor/context/ApiClientContext.js.map +0 -1
  885. package/dist/editor/context/AssetContext.d.ts.map +0 -1
  886. package/dist/editor/context/AssetContext.js.map +0 -1
  887. package/dist/editor/context/EditorStateContext.d.ts.map +0 -1
  888. package/dist/editor/context/EditorStateContext.js.map +0 -1
  889. package/dist/editor/context/SWRProvider.d.ts.map +0 -1
  890. package/dist/editor/context/SWRProvider.js.map +0 -1
  891. package/dist/editor/context/index.d.ts.map +0 -1
  892. package/dist/editor/context/index.js.map +0 -1
  893. package/dist/editor/editor-config.d.ts.map +0 -1
  894. package/dist/editor/editor-config.js.map +0 -1
  895. package/dist/editor/editor-utils.d.ts.map +0 -1
  896. package/dist/editor/editor-utils.js.map +0 -1
  897. package/dist/editor/fields/BlockField.d.ts.map +0 -1
  898. package/dist/editor/fields/BlockField.js.map +0 -1
  899. package/dist/editor/fields/CodeField.d.ts.map +0 -1
  900. package/dist/editor/fields/CodeField.js.map +0 -1
  901. package/dist/editor/fields/DateTimeField.d.ts.map +0 -1
  902. package/dist/editor/fields/DateTimeField.js.map +0 -1
  903. package/dist/editor/fields/ImageField.d.ts.map +0 -1
  904. package/dist/editor/fields/ImageField.js.map +0 -1
  905. package/dist/editor/fields/InlineGroupField.d.ts.map +0 -1
  906. package/dist/editor/fields/InlineGroupField.js.map +0 -1
  907. package/dist/editor/fields/MarkdownField.d.ts.map +0 -1
  908. package/dist/editor/fields/MarkdownField.js.map +0 -1
  909. package/dist/editor/fields/MdxImageDialog.d.ts.map +0 -1
  910. package/dist/editor/fields/MdxImageDialog.js.map +0 -1
  911. package/dist/editor/fields/NumberField.d.ts.map +0 -1
  912. package/dist/editor/fields/NumberField.js.map +0 -1
  913. package/dist/editor/fields/NumberListField.d.ts.map +0 -1
  914. package/dist/editor/fields/NumberListField.js.map +0 -1
  915. package/dist/editor/fields/ObjectField.d.ts.map +0 -1
  916. package/dist/editor/fields/ObjectField.js.map +0 -1
  917. package/dist/editor/fields/ReferenceField.d.ts.map +0 -1
  918. package/dist/editor/fields/ReferenceField.js.map +0 -1
  919. package/dist/editor/fields/SelectField.d.ts.map +0 -1
  920. package/dist/editor/fields/SelectField.js.map +0 -1
  921. package/dist/editor/fields/StringListField.d.ts.map +0 -1
  922. package/dist/editor/fields/StringListField.js.map +0 -1
  923. package/dist/editor/fields/TextField.d.ts.map +0 -1
  924. package/dist/editor/fields/TextField.js.map +0 -1
  925. package/dist/editor/fields/ToggleField.d.ts.map +0 -1
  926. package/dist/editor/fields/ToggleField.js.map +0 -1
  927. package/dist/editor/fields/entry-link/EntryLinkContext.d.ts.map +0 -1
  928. package/dist/editor/fields/entry-link/EntryLinkContext.js.map +0 -1
  929. package/dist/editor/fields/entry-link/InsertEntryLink.d.ts.map +0 -1
  930. package/dist/editor/fields/entry-link/InsertEntryLink.js.map +0 -1
  931. package/dist/editor/fields/entry-link/index.d.ts.map +0 -1
  932. package/dist/editor/fields/entry-link/index.js.map +0 -1
  933. package/dist/editor/group-manager/ExternalGroupsTab.d.ts.map +0 -1
  934. package/dist/editor/group-manager/ExternalGroupsTab.js.map +0 -1
  935. package/dist/editor/group-manager/GroupCard.d.ts.map +0 -1
  936. package/dist/editor/group-manager/GroupCard.js.map +0 -1
  937. package/dist/editor/group-manager/GroupForm.d.ts.map +0 -1
  938. package/dist/editor/group-manager/GroupForm.js.map +0 -1
  939. package/dist/editor/group-manager/InternalGroupsTab.d.ts.map +0 -1
  940. package/dist/editor/group-manager/InternalGroupsTab.js.map +0 -1
  941. package/dist/editor/group-manager/MemberList.d.ts.map +0 -1
  942. package/dist/editor/group-manager/MemberList.js.map +0 -1
  943. package/dist/editor/group-manager/hooks/useExternalGroupSearch.d.ts.map +0 -1
  944. package/dist/editor/group-manager/hooks/useExternalGroupSearch.js.map +0 -1
  945. package/dist/editor/group-manager/hooks/useGroupState.d.ts.map +0 -1
  946. package/dist/editor/group-manager/hooks/useGroupState.js.map +0 -1
  947. package/dist/editor/group-manager/hooks/useUserSearch.d.ts.map +0 -1
  948. package/dist/editor/group-manager/hooks/useUserSearch.js.map +0 -1
  949. package/dist/editor/group-manager/index.d.ts.map +0 -1
  950. package/dist/editor/group-manager/index.js.map +0 -1
  951. package/dist/editor/group-manager/types.d.ts.map +0 -1
  952. package/dist/editor/group-manager/types.js.map +0 -1
  953. package/dist/editor/hooks/__test__/test-utils.d.ts +0 -164
  954. package/dist/editor/hooks/__test__/test-utils.d.ts.map +0 -1
  955. package/dist/editor/hooks/__test__/test-utils.js +0 -203
  956. package/dist/editor/hooks/__test__/test-utils.js.map +0 -1
  957. package/dist/editor/hooks/index.d.ts.map +0 -1
  958. package/dist/editor/hooks/index.js.map +0 -1
  959. package/dist/editor/hooks/useBranchActions.d.ts.map +0 -1
  960. package/dist/editor/hooks/useBranchActions.js.map +0 -1
  961. package/dist/editor/hooks/useBranchManager.d.ts.map +0 -1
  962. package/dist/editor/hooks/useBranchManager.js.map +0 -1
  963. package/dist/editor/hooks/useBranchesData.d.ts.map +0 -1
  964. package/dist/editor/hooks/useBranchesData.js.map +0 -1
  965. package/dist/editor/hooks/useCommentSystem.d.ts.map +0 -1
  966. package/dist/editor/hooks/useCommentSystem.js.map +0 -1
  967. package/dist/editor/hooks/useCommentsData.d.ts.map +0 -1
  968. package/dist/editor/hooks/useCommentsData.js.map +0 -1
  969. package/dist/editor/hooks/useDraftManager.d.ts.map +0 -1
  970. package/dist/editor/hooks/useDraftManager.js.map +0 -1
  971. package/dist/editor/hooks/useEditorLayout.d.ts.map +0 -1
  972. package/dist/editor/hooks/useEditorLayout.js.map +0 -1
  973. package/dist/editor/hooks/useEntriesData.d.ts.map +0 -1
  974. package/dist/editor/hooks/useEntriesData.js.map +0 -1
  975. package/dist/editor/hooks/useEntryLinkResolution.d.ts.map +0 -1
  976. package/dist/editor/hooks/useEntryLinkResolution.js.map +0 -1
  977. package/dist/editor/hooks/useEntryManager.d.ts.map +0 -1
  978. package/dist/editor/hooks/useEntryManager.js.map +0 -1
  979. package/dist/editor/hooks/useGroupManager.d.ts.map +0 -1
  980. package/dist/editor/hooks/useGroupManager.js.map +0 -1
  981. package/dist/editor/hooks/usePermissionManager.d.ts.map +0 -1
  982. package/dist/editor/hooks/usePermissionManager.js.map +0 -1
  983. package/dist/editor/hooks/useReferenceResolution.d.ts.map +0 -1
  984. package/dist/editor/hooks/useReferenceResolution.js.map +0 -1
  985. package/dist/editor/hooks/useSchemaManager.d.ts.map +0 -1
  986. package/dist/editor/hooks/useSchemaManager.js.map +0 -1
  987. package/dist/editor/hooks/useUserContext.d.ts.map +0 -1
  988. package/dist/editor/hooks/useUserContext.js.map +0 -1
  989. package/dist/editor/hooks/useUserMetadata.d.ts.map +0 -1
  990. package/dist/editor/hooks/useUserMetadata.js.map +0 -1
  991. package/dist/editor/media/AssetCard.d.ts.map +0 -1
  992. package/dist/editor/media/AssetCard.js.map +0 -1
  993. package/dist/editor/media/CropStep.d.ts.map +0 -1
  994. package/dist/editor/media/CropStep.js.map +0 -1
  995. package/dist/editor/media/MediaLibrary.d.ts.map +0 -1
  996. package/dist/editor/media/MediaLibrary.js.map +0 -1
  997. package/dist/editor/media/MediaLibraryBody.d.ts.map +0 -1
  998. package/dist/editor/media/MediaLibraryBody.js.map +0 -1
  999. package/dist/editor/media/crop-math.d.ts.map +0 -1
  1000. package/dist/editor/media/crop-math.js.map +0 -1
  1001. package/dist/editor/media/upload-asset.d.ts.map +0 -1
  1002. package/dist/editor/media/upload-asset.js.map +0 -1
  1003. package/dist/editor/media/upload-constants.d.ts.map +0 -1
  1004. package/dist/editor/media/upload-constants.js.map +0 -1
  1005. package/dist/editor/media/useAssetUpload.d.ts.map +0 -1
  1006. package/dist/editor/media/useAssetUpload.js.map +0 -1
  1007. package/dist/editor/media/xhr-upload.d.ts.map +0 -1
  1008. package/dist/editor/media/xhr-upload.js.map +0 -1
  1009. package/dist/editor/permission-manager/GroupSelector.d.ts.map +0 -1
  1010. package/dist/editor/permission-manager/GroupSelector.js.map +0 -1
  1011. package/dist/editor/permission-manager/PermissionEditor.d.ts.map +0 -1
  1012. package/dist/editor/permission-manager/PermissionEditor.js.map +0 -1
  1013. package/dist/editor/permission-manager/PermissionLevelBadge.d.ts.map +0 -1
  1014. package/dist/editor/permission-manager/PermissionLevelBadge.js.map +0 -1
  1015. package/dist/editor/permission-manager/PermissionTree.d.ts.map +0 -1
  1016. package/dist/editor/permission-manager/PermissionTree.js.map +0 -1
  1017. package/dist/editor/permission-manager/UserSelector.d.ts.map +0 -1
  1018. package/dist/editor/permission-manager/UserSelector.js.map +0 -1
  1019. package/dist/editor/permission-manager/constants.d.ts.map +0 -1
  1020. package/dist/editor/permission-manager/constants.js.map +0 -1
  1021. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +0 -1
  1022. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +0 -1
  1023. package/dist/editor/permission-manager/hooks/usePermissionTree.d.ts.map +0 -1
  1024. package/dist/editor/permission-manager/hooks/usePermissionTree.js.map +0 -1
  1025. package/dist/editor/permission-manager/index.d.ts.map +0 -1
  1026. package/dist/editor/permission-manager/index.js.map +0 -1
  1027. package/dist/editor/permission-manager/types.d.ts.map +0 -1
  1028. package/dist/editor/permission-manager/types.js.map +0 -1
  1029. package/dist/editor/permission-manager/utils.d.ts.map +0 -1
  1030. package/dist/editor/permission-manager/utils.js.map +0 -1
  1031. package/dist/editor/preview-bridge.d.ts.map +0 -1
  1032. package/dist/editor/preview-bridge.js.map +0 -1
  1033. package/dist/editor/relative-time.d.ts.map +0 -1
  1034. package/dist/editor/relative-time.js.map +0 -1
  1035. package/dist/editor/schema-editor/CollectionEditor.d.ts.map +0 -1
  1036. package/dist/editor/schema-editor/CollectionEditor.js.map +0 -1
  1037. package/dist/editor/schema-editor/EntryTypeEditor.d.ts.map +0 -1
  1038. package/dist/editor/schema-editor/EntryTypeEditor.js.map +0 -1
  1039. package/dist/editor/schema-editor/index.d.ts.map +0 -1
  1040. package/dist/editor/schema-editor/index.js.map +0 -1
  1041. package/dist/editor/setup-test-dom.d.ts +0 -1
  1042. package/dist/editor/setup-test-dom.d.ts.map +0 -1
  1043. package/dist/editor/setup-test-dom.js +0 -12
  1044. package/dist/editor/setup-test-dom.js.map +0 -1
  1045. package/dist/editor/test-setup.d.ts +0 -6
  1046. package/dist/editor/test-setup.d.ts.map +0 -1
  1047. package/dist/editor/test-setup.js +0 -42
  1048. package/dist/editor/test-setup.js.map +0 -1
  1049. package/dist/editor/theme.d.ts.map +0 -1
  1050. package/dist/editor/theme.js.map +0 -1
  1051. package/dist/editor/utils/env.d.ts.map +0 -1
  1052. package/dist/editor/utils/env.js.map +0 -1
  1053. package/dist/entry-link-resolver.d.ts.map +0 -1
  1054. package/dist/entry-link-resolver.js.map +0 -1
  1055. package/dist/entry-schema-registry.d.ts.map +0 -1
  1056. package/dist/entry-schema-registry.js.map +0 -1
  1057. package/dist/entry-schema.d.ts.map +0 -1
  1058. package/dist/entry-schema.js.map +0 -1
  1059. package/dist/git-manager.d.ts.map +0 -1
  1060. package/dist/git-manager.js.map +0 -1
  1061. package/dist/github-service.d.ts.map +0 -1
  1062. package/dist/github-service.js.map +0 -1
  1063. package/dist/http/handler.d.ts.map +0 -1
  1064. package/dist/http/handler.js.map +0 -1
  1065. package/dist/http/index.d.ts.map +0 -1
  1066. package/dist/http/index.js.map +0 -1
  1067. package/dist/http/router.d.ts.map +0 -1
  1068. package/dist/http/router.js.map +0 -1
  1069. package/dist/http/types.d.ts.map +0 -1
  1070. package/dist/http/types.js.map +0 -1
  1071. package/dist/id.d.ts.map +0 -1
  1072. package/dist/id.js.map +0 -1
  1073. package/dist/index.d.ts.map +0 -1
  1074. package/dist/index.js.map +0 -1
  1075. package/dist/operating-mode/client-safe-strategy.d.ts.map +0 -1
  1076. package/dist/operating-mode/client-safe-strategy.js.map +0 -1
  1077. package/dist/operating-mode/client-unsafe-strategy.d.ts.map +0 -1
  1078. package/dist/operating-mode/client-unsafe-strategy.js.map +0 -1
  1079. package/dist/operating-mode/client.d.ts.map +0 -1
  1080. package/dist/operating-mode/client.js.map +0 -1
  1081. package/dist/operating-mode/deployment-name-fixtures.d.ts.map +0 -1
  1082. package/dist/operating-mode/deployment-name-fixtures.js.map +0 -1
  1083. package/dist/operating-mode/deployment-name.d.ts.map +0 -1
  1084. package/dist/operating-mode/deployment-name.js.map +0 -1
  1085. package/dist/operating-mode/index.d.ts.map +0 -1
  1086. package/dist/operating-mode/index.js.map +0 -1
  1087. package/dist/operating-mode/mode-env.d.ts.map +0 -1
  1088. package/dist/operating-mode/mode-env.js.map +0 -1
  1089. package/dist/operating-mode/types.d.ts.map +0 -1
  1090. package/dist/operating-mode/types.js.map +0 -1
  1091. package/dist/paths/branch-name.d.ts.map +0 -1
  1092. package/dist/paths/branch-name.js.map +0 -1
  1093. package/dist/paths/branch.d.ts.map +0 -1
  1094. package/dist/paths/branch.js.map +0 -1
  1095. package/dist/paths/index.d.ts.map +0 -1
  1096. package/dist/paths/index.js.map +0 -1
  1097. package/dist/paths/normalize-server.d.ts.map +0 -1
  1098. package/dist/paths/normalize-server.js.map +0 -1
  1099. package/dist/paths/normalize.d.ts.map +0 -1
  1100. package/dist/paths/normalize.js.map +0 -1
  1101. package/dist/paths/resolve.d.ts.map +0 -1
  1102. package/dist/paths/resolve.js.map +0 -1
  1103. package/dist/paths/test-utils.d.ts +0 -22
  1104. package/dist/paths/test-utils.d.ts.map +0 -1
  1105. package/dist/paths/test-utils.js +0 -21
  1106. package/dist/paths/test-utils.js.map +0 -1
  1107. package/dist/paths/types.d.ts.map +0 -1
  1108. package/dist/paths/types.js.map +0 -1
  1109. package/dist/paths/validation.d.ts.map +0 -1
  1110. package/dist/paths/validation.js.map +0 -1
  1111. package/dist/reference-resolver.d.ts.map +0 -1
  1112. package/dist/reference-resolver.js.map +0 -1
  1113. package/dist/resolve-canopy-user.d.ts.map +0 -1
  1114. package/dist/resolve-canopy-user.js.map +0 -1
  1115. package/dist/resource-generation.d.ts.map +0 -1
  1116. package/dist/resource-generation.js.map +0 -1
  1117. package/dist/schema/index.d.ts.map +0 -1
  1118. package/dist/schema/index.js.map +0 -1
  1119. package/dist/schema/meta-loader.d.ts.map +0 -1
  1120. package/dist/schema/meta-loader.js.map +0 -1
  1121. package/dist/schema/resolver.d.ts.map +0 -1
  1122. package/dist/schema/resolver.js.map +0 -1
  1123. package/dist/schema/schema-store-types.d.ts.map +0 -1
  1124. package/dist/schema/schema-store-types.js.map +0 -1
  1125. package/dist/schema/schema-store.d.ts.map +0 -1
  1126. package/dist/schema/schema-store.js.map +0 -1
  1127. package/dist/schema/types.d.ts.map +0 -1
  1128. package/dist/schema/types.js.map +0 -1
  1129. package/dist/server.d.ts.map +0 -1
  1130. package/dist/server.js.map +0 -1
  1131. package/dist/services.d.ts.map +0 -1
  1132. package/dist/services.js.map +0 -1
  1133. package/dist/settings-workspace.d.ts.map +0 -1
  1134. package/dist/settings-workspace.js.map +0 -1
  1135. package/dist/static/index.d.ts.map +0 -1
  1136. package/dist/static/index.js.map +0 -1
  1137. package/dist/sync-core.d.ts.map +0 -1
  1138. package/dist/sync-core.js.map +0 -1
  1139. package/dist/task-queue/index.d.ts.map +0 -1
  1140. package/dist/task-queue/index.js.map +0 -1
  1141. package/dist/task-queue/task-queue.d.ts.map +0 -1
  1142. package/dist/task-queue/task-queue.js.map +0 -1
  1143. package/dist/task-queue/types.d.ts.map +0 -1
  1144. package/dist/task-queue/types.js.map +0 -1
  1145. package/dist/types.d.ts.map +0 -1
  1146. package/dist/types.js.map +0 -1
  1147. package/dist/url-path-resolver.d.ts.map +0 -1
  1148. package/dist/url-path-resolver.js.map +0 -1
  1149. package/dist/user.d.ts.map +0 -1
  1150. package/dist/user.js.map +0 -1
  1151. package/dist/utils/async-mutex.d.ts.map +0 -1
  1152. package/dist/utils/async-mutex.js.map +0 -1
  1153. package/dist/utils/atomic-write.d.ts.map +0 -1
  1154. package/dist/utils/atomic-write.js.map +0 -1
  1155. package/dist/utils/body-field.d.ts.map +0 -1
  1156. package/dist/utils/body-field.js.map +0 -1
  1157. package/dist/utils/content-write-lock.d.ts.map +0 -1
  1158. package/dist/utils/content-write-lock.js.map +0 -1
  1159. package/dist/utils/debug.d.ts.map +0 -1
  1160. package/dist/utils/debug.js.map +0 -1
  1161. package/dist/utils/entry-url.d.ts.map +0 -1
  1162. package/dist/utils/entry-url.js.map +0 -1
  1163. package/dist/utils/error.d.ts.map +0 -1
  1164. package/dist/utils/error.js.map +0 -1
  1165. package/dist/utils/flatten-group-fields.d.ts.map +0 -1
  1166. package/dist/utils/flatten-group-fields.js.map +0 -1
  1167. package/dist/utils/format.d.ts.map +0 -1
  1168. package/dist/utils/format.js.map +0 -1
  1169. package/dist/utils/fs.d.ts.map +0 -1
  1170. package/dist/utils/fs.js.map +0 -1
  1171. package/dist/utils/git.d.ts.map +0 -1
  1172. package/dist/utils/git.js.map +0 -1
  1173. package/dist/utils/logger.d.ts.map +0 -1
  1174. package/dist/utils/logger.js.map +0 -1
  1175. package/dist/utils/occ-json-write.d.ts.map +0 -1
  1176. package/dist/utils/occ-json-write.js.map +0 -1
  1177. package/dist/utils/provisioning-lock.d.ts.map +0 -1
  1178. package/dist/utils/provisioning-lock.js.map +0 -1
  1179. package/dist/utils/sanitize-href.d.ts.map +0 -1
  1180. package/dist/utils/sanitize-href.js.map +0 -1
  1181. package/dist/utils/title-field.d.ts.map +0 -1
  1182. package/dist/utils/title-field.js.map +0 -1
  1183. package/dist/validation/deletion-checker.d.ts.map +0 -1
  1184. package/dist/validation/deletion-checker.js.map +0 -1
  1185. package/dist/validation/entry-link-validator.d.ts.map +0 -1
  1186. package/dist/validation/entry-link-validator.js.map +0 -1
  1187. package/dist/validation/entry-type-reference-validator.d.ts.map +0 -1
  1188. package/dist/validation/entry-type-reference-validator.js.map +0 -1
  1189. package/dist/validation/entry-validator.d.ts.map +0 -1
  1190. package/dist/validation/entry-validator.js.map +0 -1
  1191. package/dist/validation/field-traversal.d.ts.map +0 -1
  1192. package/dist/validation/field-traversal.js.map +0 -1
  1193. package/dist/validation/reference-validator.d.ts.map +0 -1
  1194. package/dist/validation/reference-validator.js.map +0 -1
  1195. package/dist/worker/cms-worker.d.ts.map +0 -1
  1196. package/dist/worker/cms-worker.js.map +0 -1
  1197. package/dist/worker/log.d.ts.map +0 -1
  1198. package/dist/worker/log.js.map +0 -1
  1199. package/dist/worker/task-queue-config.d.ts.map +0 -1
  1200. package/dist/worker/task-queue-config.js.map +0 -1
  1201. package/dist/worker/task-queue.d.ts.map +0 -1
  1202. package/dist/worker/task-queue.js.map +0 -1
  1203. package/dist/worker/worker-status.d.ts.map +0 -1
  1204. package/dist/worker/worker-status.js.map +0 -1
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Convert MDX/Markdown body content to plain prose text, suitable for a
3
+ * search index or any other consumer that wants "just the words".
4
+ *
5
+ * This is deliberately a *different* transform from `stripMdxImports`
6
+ * (strip-mdx.ts): that one is tuned for AI/RAG consumption and intentionally
7
+ * leaves JSX components intact, because their props often carry semantic
8
+ * data a model can use. `toPlainText` has the opposite goal — it removes ALL
9
+ * markup (JSX tags, JSX expressions, markdown syntax) and keeps only the
10
+ * prose, so **paired custom components lose their tags but keep their
11
+ * children's text**. That distinction is the whole reason this function
12
+ * exists: a hand-rolled plaintext stripper that treats a paired component
13
+ * like `<Callout>...</Callout>` as one opaque unit and deletes it wholesale
14
+ * silently drops every word inside it from the search index. `toPlainText`
15
+ * strips the `<Callout>`/`</Callout>` delimiters but keeps the sentence
16
+ * between them.
17
+ *
18
+ * Pipeline (each step operates on the previous step's output):
19
+ * 1. Strip YAML frontmatter (via `gray-matter`, the same parser
20
+ * `content-store.ts` uses for `.md`/`.mdx` bodies).
21
+ * 2. Strip `import`/`export` statements (via `stripMdxImports`), which also
22
+ * protects fenced code blocks from every later step.
23
+ * 3. Mask fenced code blocks and inline code spans, capturing their content
24
+ * (fence markers / backticks are discarded, the code text is kept).
25
+ * 4. Strip JSX/HTML tags — opening, closing, and self-closing — leaving
26
+ * whatever text sits between them in place. This is a single global
27
+ * replace, not a matched-pair walk: because we never need the tag name or
28
+ * the children as a unit (unlike `applyComponentTransforms`, which calls
29
+ * an adopter transform per component), deleting every tag occurrence and
30
+ * leaving the surrounding text untouched handles nesting for free.
31
+ * 5. Strip JSX expressions (`{...}`, including nested braces) — these are
32
+ * code, not prose.
33
+ * 6. Strip common Markdown syntax: headings, emphasis/strikethrough, links
34
+ * (keep the link text, drop the URL), images (keep alt text), blockquote
35
+ * markers, list markers, and thematic breaks.
36
+ * 7. Restore the masked code from step 3 as plain text.
37
+ * 8. Collapse whitespace: trim each line, collapse runs of blank lines,
38
+ * trim the result. Paragraph breaks (single blank lines) are preserved —
39
+ * this does not flatten the output to one line.
40
+ */
41
+ import matter from 'gray-matter';
42
+ import { stripMdxImports } from './strip-mdx.js';
43
+ /**
44
+ * Masking markers use `@` right after `<` (and before the closing `>`),
45
+ * e.g. `<@B0@>`. `@` is not a valid JSX tag-name start (`[A-Za-z]` only), so
46
+ * TAG_RE below can never mistake the marker for a real tag — unlike
47
+ * transform-components.ts's `<<CODEBLOCK0>>` convention, which is safe
48
+ * there only because that module never runs a *generic* tag-stripping regex
49
+ * over its masked text (this one does: `<CODEBLOCK0>` inside `<<...>>`
50
+ * reads as a valid tag name to a naive tag matcher, which is exactly the
51
+ * bug this format avoids). `@` also doesn't participate in any of the
52
+ * Markdown-syntax regexes below, so a marker surviving to that stage is
53
+ * inert there too.
54
+ */
55
+ const BLOCK_PREFIX = '<@B';
56
+ const BLOCK_SUFFIX = '@>';
57
+ const BLOCK_RESTORE_RE = /<@B(\d+)@>/g;
58
+ const INLINE_PREFIX = '<@I';
59
+ const INLINE_SUFFIX = '@>';
60
+ const INLINE_RESTORE_RE = /<@I(\d+)@>/g;
61
+ /** JSX attribute content: skips quoted strings so a `>` inside `title="a > b"` doesn't end the tag early. */
62
+ const ATTR_CONTENT = `(?:[^<>"']|"[^"]*"|'[^']*')*`;
63
+ /**
64
+ * Matches an opening, closing, or self-closing JSX/HTML tag, or a fragment (`<>`/`</>`).
65
+ *
66
+ * No trailing `\s*` before the final `\/?>`: `ATTR_CONTENT`'s `[^<>"']` alternative already
67
+ * matches whitespace, so a trailing `\s*` on top of it lets the engine split any whitespace run
68
+ * between the two in every possible proportion. On an unterminated tag (no closing `>` in the
69
+ * input) followed by a long whitespace run, that ambiguity is polynomial-ReDoS shaped (CodeQL
70
+ * `js/polynomial-redos`): matching cost is quadratic in the run length before the engine gives up
71
+ * and backtracks to try the next start position. Measured on a 128 KB whitespace tail: ~26s with
72
+ * the redundant `\s*`, ~1ms without it. `ATTR_CONTENT` already absorbs the trailing whitespace on
73
+ * its own, so removing the `\s*` changes no matched output.
74
+ */
75
+ const TAG_RE = new RegExp(`<\\/?([A-Za-z][\\w.-]*)?(?:\\s${ATTR_CONTENT})?\\/?>`, 'g');
76
+ const COMMENT_OPEN = '<!--';
77
+ const COMMENT_CLOSE = '-->';
78
+ /**
79
+ * Strip well-formed HTML/MDX comments (`<!-- ... -->`), including their contents.
80
+ *
81
+ * `TAG_RE` cannot do this: its tag-name group is `[A-Za-z]`-initial, so `<!--` matches neither
82
+ * the name nor the bare-fragment form, and both delimiters plus every word between them survive
83
+ * into the extracted text. Authoring notes then show up verbatim in a search index or an AI
84
+ * export — text the author explicitly marked as not-for-readers.
85
+ *
86
+ * A hand-rolled `indexOf` scan rather than `/<!--[\s\S]*?-->/g`, for the same reason
87
+ * `maskFencedCodeBlocks` above is hand-rolled: that lazy pattern has no bound on how far it
88
+ * scans looking for a closer, so on input with many unterminated `<!--` openers the engine
89
+ * exhausts to end-of-string at every one of them — quadratic in the number of openers, the same
90
+ * polynomial-ReDoS shape documented on `TAG_RE` and the fence scanner. This scan visits each
91
+ * character at most once.
92
+ *
93
+ * An UNTERMINATED `<!--` is deliberately left alone rather than swallowing the rest of the
94
+ * document. HTML would run such a comment to EOF, but here the input is prose being extracted
95
+ * for search and AI consumption, where silently dropping everything after a mistyped delimiter
96
+ * loses far more than it protects. The stray `<!--` survives as literal text, which is visible
97
+ * and fixable; a vanished second half of a document is neither.
98
+ *
99
+ * Runs while fenced/inline code is still masked, so a comment shown as example code keeps its
100
+ * delimiters.
101
+ */
102
+ function stripHtmlComments(text) {
103
+ let searchFrom = 0;
104
+ let open = text.indexOf(COMMENT_OPEN, searchFrom);
105
+ if (open === -1)
106
+ return text;
107
+ let out = '';
108
+ while (open !== -1) {
109
+ const close = text.indexOf(COMMENT_CLOSE, open + COMMENT_OPEN.length);
110
+ if (close === -1)
111
+ break;
112
+ out += text.slice(searchFrom, open) + ' ';
113
+ searchFrom = close + COMMENT_CLOSE.length;
114
+ open = text.indexOf(COMMENT_OPEN, searchFrom);
115
+ }
116
+ return out + text.slice(searchFrom);
117
+ }
118
+ /** True if `line` is a valid closing fence line for `marker` ("```" or "~~~"): the marker
119
+ * followed by nothing but whitespace through end of line — matching what `\1\s*$` required in
120
+ * the regex this replaced. */
121
+ function isFenceCloseLine(line, marker) {
122
+ return line.startsWith(marker) && /^\s*$/.test(line.slice(marker.length));
123
+ }
124
+ /**
125
+ * Mask fenced code blocks (` ``` `/`~~~`), capturing each block's *content* so `restore`
126
+ * re-inserts plain text — no fence markers, no language tag.
127
+ *
128
+ * A hand-rolled line scan, not `/^(```|~~~).*\n([\s\S]*?)\n\1\s*$/gm`: that regex is a second
129
+ * polynomial-ReDoS shape (measured ~9s on ~530KB of body text with many unclosed fence openers,
130
+ * a plausible authoring accident — the same trigger class as `TAG_RE` above, in the same
131
+ * function). The lazy `[\s\S]*?` has no bound on how far it must scan looking for a closing
132
+ * `\1` that, for an unclosed fence, never arrives — it exhausts to the end of the string before
133
+ * giving up on that starting line, and `/gm` retries the same exhaustive scan at every
134
+ * subsequent fence-opener line, which is quadratic in the number of unclosed openers.
135
+ *
136
+ * This scans each line once. `nextCloseLine` is precomputed per marker type via a single
137
+ * backward pass, so any opener's nearest closer (or "none exists") is an O(1) lookup rather than
138
+ * a fresh forward scan — the change that makes the whole function O(n) regardless of how many
139
+ * fences are opened and never closed.
140
+ */
141
+ function maskFencedCodeBlocks(body, blocks) {
142
+ const lines = body.split('\n');
143
+ const lineCount = lines.length;
144
+ // nextCloseLine[marker][i] = the nearest index >= i that closes `marker`, or -1 if none exists
145
+ // at or after i. Built right-to-left so each entry is O(1) given the next one.
146
+ const nextCloseLine = {
147
+ '```': new Array(lineCount + 1).fill(-1),
148
+ '~~~': new Array(lineCount + 1).fill(-1),
149
+ };
150
+ for (let i = lineCount - 1; i >= 0; i--) {
151
+ nextCloseLine['```'][i] = isFenceCloseLine(lines[i], '```') ? i : nextCloseLine['```'][i + 1];
152
+ nextCloseLine['~~~'][i] = isFenceCloseLine(lines[i], '~~~') ? i : nextCloseLine['~~~'][i + 1];
153
+ }
154
+ const outLines = [];
155
+ let i = 0;
156
+ while (i < lineCount) {
157
+ const line = lines[i];
158
+ const marker = line.startsWith('```') ? '```' : line.startsWith('~~~') ? '~~~' : null;
159
+ // A closer can never be the very next line: the original pattern requires TWO separate `\n`
160
+ // matches between the opener and `\1` (one ending the opener's line, one immediately before
161
+ // the closer), so even zero-width content needs a line of its own between them.
162
+ const searchFrom = i + 2;
163
+ const closeIndex = marker && searchFrom < lineCount ? nextCloseLine[marker][searchFrom] : -1;
164
+ if (!marker || closeIndex === -1) {
165
+ outLines.push(line);
166
+ i++;
167
+ continue;
168
+ }
169
+ const content = lines.slice(i + 1, closeIndex).join('\n');
170
+ const idx = blocks.length;
171
+ blocks.push(content);
172
+ // Matches the replaced regex's `\n${...}\n` callback wrapping: the placeholder becomes its
173
+ // own blank-line-delimited chunk. (Any resulting difference in surrounding blank-line COUNT
174
+ // is immaterial -- collapseWhitespace normalizes runs of 3+ newlines down to one blank line
175
+ // before this ever reaches a caller.)
176
+ outLines.push('', `${BLOCK_PREFIX}${idx}${BLOCK_SUFFIX}`, '');
177
+ i = closeIndex + 1;
178
+ }
179
+ return outLines.join('\n');
180
+ }
181
+ /**
182
+ * Mask fenced code blocks and inline code spans, capturing their *content*
183
+ * (not the raw fenced/backticked text) so `restore` re-inserts plain text —
184
+ * no fence markers, no language tag, no backticks.
185
+ */
186
+ function maskCode(body) {
187
+ const blocks = [];
188
+ const inlines = [];
189
+ let masked = maskFencedCodeBlocks(body, blocks);
190
+ masked = masked.replace(/``(.+?)``|`([^`]+)`/g, (_match, double, single) => {
191
+ const idx = inlines.length;
192
+ inlines.push((double ?? single ?? '').trim());
193
+ return `${INLINE_PREFIX}${idx}${INLINE_SUFFIX}`;
194
+ });
195
+ return {
196
+ masked,
197
+ restore: (s) => {
198
+ s = s.replace(INLINE_RESTORE_RE, (_match, i) => inlines[Number(i)]);
199
+ s = s.replace(BLOCK_RESTORE_RE, (_match, i) => blocks[Number(i)]);
200
+ return s;
201
+ },
202
+ };
203
+ }
204
+ /**
205
+ * Remove balanced `{...}` groups (JSX expressions), including nested braces,
206
+ * in a single pass. Each removed top-level group collapses to one space so
207
+ * surrounding words don't merge.
208
+ */
209
+ function stripBraceExpressions(text) {
210
+ let result = '';
211
+ let depth = 0;
212
+ for (const ch of text) {
213
+ if (ch === '{') {
214
+ if (depth === 0)
215
+ result += ' ';
216
+ depth++;
217
+ continue;
218
+ }
219
+ if (ch === '}') {
220
+ if (depth > 0)
221
+ depth--;
222
+ continue;
223
+ }
224
+ if (depth === 0)
225
+ result += ch;
226
+ }
227
+ return result;
228
+ }
229
+ /** Strip common Markdown syntax, keeping the human-readable text. */
230
+ function stripMarkdownSyntax(text) {
231
+ return (text
232
+ // Headings: leading `#` markers
233
+ .replace(/^ {0,3}#{1,6}\s+/gm, '')
234
+ // Blockquotes: leading `>` markers (possibly nested). Each repetition
235
+ // of the outer `+` consumes a mandatory `>` first, so it can't loop on
236
+ // an empty match — linear, despite the nested-quantifier shape the
237
+ // linter's heuristic flags.
238
+ // eslint-disable-next-line security/detect-unsafe-regex
239
+ .replace(/^ {0,3}(?:>\s?)+/gm, '')
240
+ // Thematic breaks: a line of 3+ `-`, `*`, or `_` (optionally
241
+ // space-separated). The backreference (`\1`) pins every repetition to
242
+ // the same captured character, which the linter's heuristic doesn't
243
+ // model — same false-positive shape as above.
244
+ // eslint-disable-next-line security/detect-unsafe-regex
245
+ .replace(/^ {0,3}([-*_])(?:\s*\1){2,}\s*$/gm, '')
246
+ // List markers: bullet or ordered
247
+ .replace(/^(\s*)[-*+]\s+/gm, '$1')
248
+ .replace(/^(\s*)\d+[.)]\s+/gm, '$1')
249
+ // Images: keep alt text, drop the URL entirely
250
+ .replace(/!\[([^\]]*)\]\([^)]*\)/g, '$1')
251
+ // Links: keep the link text, drop the URL
252
+ .replace(/\[([^\]]*)\]\([^)]*\)/g, '$1')
253
+ // Strikethrough / bold / italic — longest markers first so `**` isn't
254
+ // consumed as two `*` matches
255
+ .replace(/~~([^~]+)~~/g, '$1')
256
+ .replace(/\*\*([^*]+)\*\*/g, '$1')
257
+ .replace(/__([^_]+)__/g, '$1')
258
+ .replace(/\*([^*]+)\*/g, '$1')
259
+ .replace(/\b_([^_]+)_\b/g, '$1'));
260
+ }
261
+ /** Trim each line, collapse runs of blank lines, and trim the whole result. Preserves paragraph breaks. */
262
+ function collapseWhitespace(text) {
263
+ return text
264
+ .split('\n')
265
+ .map((line) => line.replace(/[ \t]+/g, ' ').trim())
266
+ .join('\n')
267
+ .replace(/\n{3,}/g, '\n\n')
268
+ .trim();
269
+ }
270
+ /**
271
+ * Convert MDX/Markdown body content to plain prose text.
272
+ *
273
+ * See the module doc above for the full pipeline and why this exists as a
274
+ * distinct transform from `stripMdxImports`. In short: frontmatter, code
275
+ * fences, inline code, JSX tags/expressions, and Markdown syntax are all
276
+ * stripped down to their human-readable text — code content and link/image
277
+ * text are kept, everything else is discarded. Paired custom components
278
+ * lose only their tags; the prose between them survives.
279
+ *
280
+ * HTML/MDX comments (`<!-- ... -->`) are removed along with their contents:
281
+ * an authoring note is text the author marked as not-for-readers, so it does
282
+ * not belong in a search index or an AI export.
283
+ *
284
+ * Output preserves paragraph breaks (blank lines) but is not further
285
+ * chunked, weighted, or field-selected — composing that into a search
286
+ * document is left to the caller, since that logic is where adopter search
287
+ * indexes genuinely diverge (see docs/adopter-migration.md).
288
+ */
289
+ export function toPlainText(markdown) {
290
+ const { content } = matter(markdown);
291
+ const withoutImports = stripMdxImports(content);
292
+ const { masked, restore } = maskCode(withoutImports);
293
+ let result = masked;
294
+ result = stripHtmlComments(result);
295
+ result = result.replace(TAG_RE, ' ');
296
+ result = stripBraceExpressions(result);
297
+ result = stripMarkdownSyntax(result);
298
+ result = restore(result);
299
+ result = collapseWhitespace(result);
300
+ return result;
301
+ }
@@ -9,7 +9,7 @@
9
9
  * components, so nested components are handled naturally (inner first,
10
10
  * outer on subsequent passes).
11
11
  */
12
- import type { ComponentProps, ComponentTransforms } from './types';
12
+ import type { ComponentProps, ComponentTransforms } from './types.js';
13
13
  /**
14
14
  * Parse JSX attribute string into a props object.
15
15
  *
@@ -24,4 +24,3 @@ export declare function parseComponentProps(attrString: string): ComponentProps;
24
24
  * handle nesting (inner components first, outer on subsequent passes).
25
25
  */
26
26
  export declare function applyComponentTransforms(body: string, transforms: ComponentTransforms): string;
27
- //# sourceMappingURL=transform-components.d.ts.map
@@ -42,6 +42,75 @@ const BLOCK_RESTORE_RE = /<<CODEBLOCK(\d+)>>/g;
42
42
  const INLINE_PREFIX = '<<INLINECODE';
43
43
  const INLINE_SUFFIX = '>>';
44
44
  const INLINE_RESTORE_RE = /<<INLINECODE(\d+)>>/g;
45
+ /** True if `line` is a valid closing fence line for `marker` ("```" or "~~~"): the marker
46
+ * followed by nothing but whitespace through end of line — matching what `\1\s*$` required in
47
+ * the regex this replaced. */
48
+ function isFenceCloseLine(line, marker) {
49
+ return line.startsWith(marker) && /^\s*$/.test(line.slice(marker.length));
50
+ }
51
+ /**
52
+ * Mask fenced code blocks (` ``` `/`~~~`), capturing each block's raw text (fence lines
53
+ * included) exactly as `maskCodeBlocks` used to via `/^(```|~~~).*\n[\s\S]*?\n\1\s*$/gm`.
54
+ *
55
+ * A hand-rolled line scan, not that regex: it is a polynomial-ReDoS shape (measured ~9s on
56
+ * ~530KB of body text with many unclosed fence openers — an ordinary authoring accident, not a
57
+ * crafted payload) that CodeQL and three review rounds both missed elsewhere in this package
58
+ * (see `ai/to-plain-text.ts`'s identical fix). The lazy `[\s\S]*?` has no bound on how far it
59
+ * must scan looking for a closing `\1` that, for an unclosed fence, never arrives — it exhausts
60
+ * to the end of the string before giving up on that starting line, and `/gm` retries the same
61
+ * exhaustive scan at every subsequent fence-opener line.
62
+ *
63
+ * This scans each line once. `nextCloseLine` is precomputed per marker type via a single
64
+ * backward pass, so any opener's nearest closer (or "none exists") is an O(1) lookup instead of
65
+ * a fresh forward scan — the change that keeps the whole function O(n) regardless of how many
66
+ * fences are opened and never closed.
67
+ *
68
+ * One documented, harmless divergence from the replaced regex: `\s*` there is greedy over `\s`
69
+ * (which includes `\n`), so on a closer immediately followed by blank lines it could consume
70
+ * some of them into the match. This scan never does. Verified by fuzzing 8,000 random
71
+ * fence/marker combinations through this module's actual `applyComponentTransforms` pipeline:
72
+ * final output was byte-identical in 7,999/8,000 cases, and the one divergence was an extra
73
+ * blank line in a maximally adversarial nested-tag-plus-fence input, never a content change —
74
+ * `\s` is never itself matched by any component-tag pattern, so which side of a placeholder a
75
+ * run of blank lines lands on cannot affect what a transform sees or produces.
76
+ */
77
+ function maskFencedCodeBlocks(body, blocks) {
78
+ const lines = body.split('\n');
79
+ const lineCount = lines.length;
80
+ // nextCloseLine[marker][i] = the nearest index >= i that closes `marker`, or -1 if none exists
81
+ // at or after i. Built right-to-left so each entry is O(1) given the next one.
82
+ const nextCloseLine = {
83
+ '```': new Array(lineCount + 1).fill(-1),
84
+ '~~~': new Array(lineCount + 1).fill(-1),
85
+ };
86
+ for (let i = lineCount - 1; i >= 0; i--) {
87
+ nextCloseLine['```'][i] = isFenceCloseLine(lines[i], '```') ? i : nextCloseLine['```'][i + 1];
88
+ nextCloseLine['~~~'][i] = isFenceCloseLine(lines[i], '~~~') ? i : nextCloseLine['~~~'][i + 1];
89
+ }
90
+ const outLines = [];
91
+ let i = 0;
92
+ while (i < lineCount) {
93
+ const line = lines[i];
94
+ const marker = line.startsWith('```') ? '```' : line.startsWith('~~~') ? '~~~' : null;
95
+ // A closer can never be the very next line: the original pattern requires TWO separate `\n`
96
+ // matches between the opener and `\1` (one ending the opener's line, one immediately before
97
+ // the closer), so even zero-width content needs a line of its own between them.
98
+ const searchFrom = i + 2;
99
+ const closeIndex = marker && searchFrom < lineCount ? nextCloseLine[marker][searchFrom] : -1;
100
+ if (!marker || closeIndex === -1) {
101
+ outLines.push(line);
102
+ i++;
103
+ continue;
104
+ }
105
+ // Whole matched span (fence lines included), matching the replaced regex's own capture.
106
+ const block = lines.slice(i, closeIndex + 1).join('\n');
107
+ const idx = blocks.length;
108
+ blocks.push(block);
109
+ outLines.push(`${BLOCK_PREFIX}${idx}${BLOCK_SUFFIX}`);
110
+ i = closeIndex + 1;
111
+ }
112
+ return outLines.join('\n');
113
+ }
45
114
  /**
46
115
  * Mask fenced code blocks and inline code spans so component transforms
47
116
  * don't touch them. Returns the masked string and a restore function.
@@ -50,11 +119,7 @@ function maskCodeBlocks(body) {
50
119
  const blocks = [];
51
120
  const inlines = [];
52
121
  // 1. Mask fenced code blocks
53
- let masked = body.replace(/^(```|~~~).*\n[\s\S]*?\n\1\s*$/gm, (block) => {
54
- const idx = blocks.length;
55
- blocks.push(block);
56
- return `${BLOCK_PREFIX}${idx}${BLOCK_SUFFIX}`;
57
- });
122
+ let masked = maskFencedCodeBlocks(body, blocks);
58
123
  // 2. Mask inline code spans (double-backtick first, then single-backtick)
59
124
  masked = masked.replace(/``[^`]+``|`[^`]+`/g, (span) => {
60
125
  const idx = inlines.length;
@@ -165,4 +230,3 @@ function findMatchingClose(body, startFrom, name, closeTag) {
165
230
  function escapeRegex(s) {
166
231
  return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
167
232
  }
168
- //# sourceMappingURL=transform-components.js.map
@@ -4,7 +4,7 @@
4
4
  * These types define the configuration for generating AI-consumable markdown
5
5
  * from CanopyCMS content, and the output manifest/metadata structures.
6
6
  */
7
- import type { FieldConfig } from '../config';
7
+ import type { FieldConfig } from '../config/index.js';
8
8
  /**
9
9
  * Metadata about an entry, provided to filter/predicate functions.
10
10
  * Does not include the full data payload — use `where` predicates for
@@ -234,4 +234,3 @@ export interface AIEntry extends AIEntryMeta {
234
234
  */
235
235
  appendedSections?: string;
236
236
  }
237
- //# sourceMappingURL=types.d.ts.map
package/dist/ai/types.js CHANGED
@@ -11,4 +11,3 @@
11
11
  export function defineAIContentConfig(config) {
12
12
  return config;
13
13
  }
14
- //# sourceMappingURL=types.js.map
@@ -10,9 +10,9 @@
10
10
  * (double-hold on purge, release-then-save ordering on repair).
11
11
  */
12
12
  import { z } from 'zod';
13
- import type { BranchAccessControl, BranchMetadata, BranchStatus } from '../types';
14
- import { type BranchHealthEntry } from '../branch-health';
15
- import type { ApiResponse } from './types';
13
+ import type { BranchAccessControl, BranchMetadata, BranchStatus } from '../types.js';
14
+ import { type BranchHealthEntry } from '../branch-health.js';
15
+ import type { ApiResponse } from './types.js';
16
16
  export interface BranchHealthData {
17
17
  entries: BranchHealthEntry[];
18
18
  generatedAt: string;
@@ -73,22 +73,22 @@ export type BranchDirParams = z.infer<typeof branchDirParamsSchema>;
73
73
  * router/generate-client import.
74
74
  */
75
75
  export declare const ADMIN_BRANCH_HEALTH_ROUTES: {
76
- readonly branchHealth: import("./route-builder").RouteDefinition<undefined, undefined, BranchHealthResponse>;
77
- readonly purgeBranchDir: import("./route-builder").RouteDefinition<z.ZodObject<{
76
+ readonly branchHealth: import("./route-builder.js").RouteDefinition<undefined, undefined, BranchHealthResponse>;
77
+ readonly purgeBranchDir: import("./route-builder.js").RouteDefinition<z.ZodObject<{
78
78
  dirName: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
79
79
  }, "strip", z.ZodTypeAny, {
80
80
  dirName: string;
81
81
  }, {
82
82
  dirName: string;
83
83
  }>, undefined, PurgeBranchDirResponse>;
84
- readonly repairBranchDir: import("./route-builder").RouteDefinition<z.ZodObject<{
84
+ readonly repairBranchDir: import("./route-builder.js").RouteDefinition<z.ZodObject<{
85
85
  dirName: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
86
86
  }, "strip", z.ZodTypeAny, {
87
87
  dirName: string;
88
88
  }, {
89
89
  dirName: string;
90
90
  }>, undefined, RepairBranchDirResponse>;
91
- readonly repairContentDuplicates: import("./route-builder").RouteDefinition<z.ZodObject<{
91
+ readonly repairContentDuplicates: import("./route-builder.js").RouteDefinition<z.ZodObject<{
92
92
  dirName: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
93
93
  }, "strip", z.ZodTypeAny, {
94
94
  dirName: string;
@@ -97,4 +97,3 @@ export declare const ADMIN_BRANCH_HEALTH_ROUTES: {
97
97
  }>, undefined, RepairContentDuplicatesResponse>;
98
98
  };
99
99
  export {};
100
- //# sourceMappingURL=admin-branch-health.d.ts.map
@@ -619,4 +619,3 @@ export const ADMIN_BRANCH_HEALTH_ROUTES = {
619
619
  repairBranchDir,
620
620
  repairContentDuplicates,
621
621
  };
622
- //# sourceMappingURL=admin-branch-health.js.map
@@ -6,11 +6,11 @@
6
6
  * admin-branch-health.ts and are merged into ADMIN_ROUTES below.
7
7
  */
8
8
  import { z } from 'zod';
9
- import type { ApiResponse } from './types';
10
- import type { Task, QueueStats, CorruptTaskFile } from '../worker/task-queue';
11
- import type { WorkerStatusReport } from '../types';
12
- import type { OperatingMode } from '../operating-mode';
13
- export type { BranchHealthResponse, PurgeBranchDirResponse, RepairBranchDirResponse, RepairContentDuplicatesResponse, } from './admin-branch-health';
9
+ import type { ApiResponse } from './types.js';
10
+ import type { Task, QueueStats, CorruptTaskFile } from '../worker/task-queue.js';
11
+ import type { WorkerStatusReport } from '../types.js';
12
+ import type { OperatingMode } from '../operating-mode/index.js';
13
+ export type { BranchHealthResponse, PurgeBranchDirResponse, RepairBranchDirResponse, RepairContentDuplicatesResponse, } from './admin-branch-health.js';
14
14
  export type WorkerLivenessState = 'alive' | 'stale' | 'absent';
15
15
  export interface WorkerLiveness {
16
16
  /**
@@ -89,30 +89,30 @@ export type DeleteTaskParams = z.infer<typeof deleteTaskParamsSchema>;
89
89
  * `ADMIN_ROUTES` import.
90
90
  */
91
91
  export declare const ADMIN_ROUTES: {
92
- readonly branchHealth: import("./route-builder").RouteDefinition<undefined, undefined, import("./admin-branch-health").BranchHealthResponse>;
93
- readonly purgeBranchDir: import("./route-builder").RouteDefinition<z.ZodObject<{
92
+ readonly branchHealth: import("./route-builder.js").RouteDefinition<undefined, undefined, import("./admin-branch-health.js").BranchHealthResponse>;
93
+ readonly purgeBranchDir: import("./route-builder.js").RouteDefinition<z.ZodObject<{
94
94
  dirName: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
95
95
  }, "strip", z.ZodTypeAny, {
96
96
  dirName: string;
97
97
  }, {
98
98
  dirName: string;
99
- }>, undefined, import("./admin-branch-health").PurgeBranchDirResponse>;
100
- readonly repairBranchDir: import("./route-builder").RouteDefinition<z.ZodObject<{
99
+ }>, undefined, import("./admin-branch-health.js").PurgeBranchDirResponse>;
100
+ readonly repairBranchDir: import("./route-builder.js").RouteDefinition<z.ZodObject<{
101
101
  dirName: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
102
102
  }, "strip", z.ZodTypeAny, {
103
103
  dirName: string;
104
104
  }, {
105
105
  dirName: string;
106
- }>, undefined, import("./admin-branch-health").RepairBranchDirResponse>;
107
- readonly repairContentDuplicates: import("./route-builder").RouteDefinition<z.ZodObject<{
106
+ }>, undefined, import("./admin-branch-health.js").RepairBranchDirResponse>;
107
+ readonly repairContentDuplicates: import("./route-builder.js").RouteDefinition<z.ZodObject<{
108
108
  dirName: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
109
109
  }, "strip", z.ZodTypeAny, {
110
110
  dirName: string;
111
111
  }, {
112
112
  dirName: string;
113
- }>, undefined, import("./admin-branch-health").RepairContentDuplicatesResponse>;
114
- readonly status: import("./route-builder").RouteDefinition<undefined, undefined, AdminStatusResponse>;
115
- readonly listTasks: import("./route-builder").RouteDefinition<z.ZodObject<{
113
+ }>, undefined, import("./admin-branch-health.js").RepairContentDuplicatesResponse>;
114
+ readonly status: import("./route-builder.js").RouteDefinition<undefined, undefined, AdminStatusResponse>;
115
+ readonly listTasks: import("./route-builder.js").RouteDefinition<z.ZodObject<{
116
116
  status: z.ZodEnum<["pending", "processing", "completed", "failed", "corrupt"]>;
117
117
  limit: z.ZodOptional<z.ZodNumber>;
118
118
  }, "strip", z.ZodTypeAny, {
@@ -122,14 +122,14 @@ export declare const ADMIN_ROUTES: {
122
122
  status: "pending" | "processing" | "completed" | "failed" | "corrupt";
123
123
  limit?: number | undefined;
124
124
  }>, undefined, AdminTasksResponse>;
125
- readonly retryTask: import("./route-builder").RouteDefinition<z.ZodObject<{
125
+ readonly retryTask: import("./route-builder.js").RouteDefinition<z.ZodObject<{
126
126
  taskId: z.ZodString;
127
127
  }, "strip", z.ZodTypeAny, {
128
128
  taskId: string;
129
129
  }, {
130
130
  taskId: string;
131
131
  }>, undefined, AdminRetryTaskResponse>;
132
- readonly deleteTask: import("./route-builder").RouteDefinition<z.ZodObject<{
132
+ readonly deleteTask: import("./route-builder.js").RouteDefinition<z.ZodObject<{
133
133
  status: z.ZodEnum<["pending", "failed", "corrupt"]>;
134
134
  fileName: z.ZodEffects<z.ZodString, string, string>;
135
135
  }, "strip", z.ZodTypeAny, {
@@ -140,4 +140,3 @@ export declare const ADMIN_ROUTES: {
140
140
  fileName: string;
141
141
  }>, undefined, AdminDeleteTaskResponse>;
142
142
  };
143
- //# sourceMappingURL=admin.d.ts.map
package/dist/api/admin.js CHANGED
@@ -335,4 +335,3 @@ export const ADMIN_ROUTES = {
335
335
  deleteTask,
336
336
  ...ADMIN_BRANCH_HEALTH_ROUTES,
337
337
  };
338
- //# sourceMappingURL=admin.js.map
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- import type { ApiResponse } from './types';
3
- import type { RouteDefinition } from '../http/router';
4
- import type { AssetMeta, StagedUploadTarget } from '../assets/types';
2
+ import type { ApiResponse } from './types.js';
3
+ import type { RouteDefinition } from '../http/router.js';
4
+ import type { AssetMeta, StagedUploadTarget } from '../assets/types.js';
5
5
  /** An asset's persisted meta plus its computed, root-relative public URL. */
6
6
  export type AssetRecord = AssetMeta & {
7
7
  src: string;
@@ -77,7 +77,7 @@ export type DeleteAssetParams = z.infer<typeof deleteAssetParamsSchema>;
77
77
  * Exported routes for router registration and client codegen.
78
78
  */
79
79
  export declare const ASSET_ROUTES: {
80
- readonly presign: import("./route-builder").RouteDefinition<undefined, z.ZodObject<{
80
+ readonly presign: import("./route-builder.js").RouteDefinition<undefined, z.ZodObject<{
81
81
  filename: z.ZodString;
82
82
  contentType: z.ZodString;
83
83
  size: z.ZodOptional<z.ZodNumber>;
@@ -90,7 +90,7 @@ export declare const ASSET_ROUTES: {
90
90
  contentType: string;
91
91
  size?: number | undefined;
92
92
  }>, PresignAssetResponse>;
93
- readonly finalize: import("./route-builder").RouteDefinition<undefined, z.ZodObject<{
93
+ readonly finalize: import("./route-builder.js").RouteDefinition<undefined, z.ZodObject<{
94
94
  stagingKey: z.ZodString;
95
95
  filename: z.ZodString;
96
96
  }, "strip", z.ZodTypeAny, {
@@ -100,8 +100,8 @@ export declare const ASSET_ROUTES: {
100
100
  filename: string;
101
101
  stagingKey: string;
102
102
  }>, FinalizeAssetResponse>;
103
- readonly uploadProxied: import("./route-builder").RouteDefinition<undefined, undefined, FinalizeAssetResponse>;
104
- readonly list: import("./route-builder").RouteDefinition<z.ZodObject<{
103
+ readonly uploadProxied: import("./route-builder.js").RouteDefinition<undefined, undefined, FinalizeAssetResponse>;
104
+ readonly list: import("./route-builder.js").RouteDefinition<z.ZodObject<{
105
105
  cursor: z.ZodOptional<z.ZodString>;
106
106
  limit: z.ZodOptional<z.ZodNumber>;
107
107
  }, "strip", z.ZodTypeAny, {
@@ -111,7 +111,7 @@ export declare const ASSET_ROUTES: {
111
111
  cursor?: string | undefined;
112
112
  limit?: number | undefined;
113
113
  }>, undefined, AssetsListResponse>;
114
- readonly delete: import("./route-builder").RouteDefinition<z.ZodObject<{
114
+ readonly delete: import("./route-builder.js").RouteDefinition<z.ZodObject<{
115
115
  key: z.ZodString;
116
116
  }, "strip", z.ZodTypeAny, {
117
117
  key: string;
@@ -125,4 +125,3 @@ export declare const ASSET_ROUTES: {
125
125
  */
126
126
  export declare const assetRawRoute: RouteDefinition;
127
127
  export {};
128
- //# sourceMappingURL=assets.d.ts.map
@@ -437,4 +437,3 @@ export const assetRawRoute = {
437
437
  pattern: ['assets', 'raw', '...key'],
438
438
  handler: rawAssetHandler,
439
439
  };
440
- //# sourceMappingURL=assets.js.map
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { ApiResponse } from './types';
2
+ import type { ApiResponse } from './types.js';
3
3
  export interface MarkAsMergedParams {
4
4
  branch: string;
5
5
  }
@@ -20,8 +20,8 @@ export type BranchMergeResponse = ApiResponse<{
20
20
  * guard lands (and a deployed instance's stranded main has no PR number, so
21
21
  * it's refused there too).
22
22
  */
23
- export declare const markAsMerged: import("./route-builder").RouteDefinition<z.ZodObject<{
24
- branch: z.ZodType<import("../paths").BranchName, z.ZodTypeDef, import("../paths").BranchName>;
23
+ export declare const markAsMerged: import("./route-builder.js").RouteDefinition<z.ZodObject<{
24
+ branch: z.ZodType<import("../paths/index.js").BranchName, z.ZodTypeDef, import("../paths/index.js").BranchName>;
25
25
  }, "strip", z.ZodTypeAny, {
26
26
  branch: string & {
27
27
  readonly __brand: "BranchName";
@@ -31,4 +31,3 @@ export declare const markAsMerged: import("./route-builder").RouteDefinition<z.Z
31
31
  readonly __brand: "BranchName";
32
32
  };
33
33
  }>, undefined, BranchMergeResponse>;
34
- //# sourceMappingURL=branch-merge.d.ts.map
@@ -90,4 +90,3 @@ export const markAsMerged = defineEndpoint({
90
90
  guards: ['admin', 'branch'],
91
91
  handler: markAsMergedHandler,
92
92
  });
93
- //# sourceMappingURL=branch-merge.js.map