canopycms 0.0.61-int.75 → 0.0.62

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 (369) hide show
  1. package/dist/ai/handler.js +1 -1
  2. package/dist/ai/handler.js.map +1 -1
  3. package/dist/ai/json-to-markdown.js +1 -2
  4. package/dist/ai/json-to-markdown.js.map +1 -1
  5. package/dist/api/__test__/mock-client.d.ts +5 -1
  6. package/dist/api/__test__/mock-client.d.ts.map +1 -1
  7. package/dist/api/__test__/mock-client.js +9 -2
  8. package/dist/api/__test__/mock-client.js.map +1 -1
  9. package/dist/api/admin-branch-health.d.ts +36 -1
  10. package/dist/api/admin-branch-health.d.ts.map +1 -1
  11. package/dist/api/admin-branch-health.js +176 -2
  12. package/dist/api/admin-branch-health.js.map +1 -1
  13. package/dist/api/admin.d.ts +8 -1
  14. package/dist/api/admin.d.ts.map +1 -1
  15. package/dist/api/admin.js.map +1 -1
  16. package/dist/api/assets.d.ts.map +1 -1
  17. package/dist/api/assets.js +36 -4
  18. package/dist/api/assets.js.map +1 -1
  19. package/dist/api/branch-status.d.ts.map +1 -1
  20. package/dist/api/branch-status.js +56 -0
  21. package/dist/api/branch-status.js.map +1 -1
  22. package/dist/api/branch-withdraw.d.ts.map +1 -1
  23. package/dist/api/branch-withdraw.js +14 -3
  24. package/dist/api/branch-withdraw.js.map +1 -1
  25. package/dist/api/branch.d.ts +31 -2
  26. package/dist/api/branch.d.ts.map +1 -1
  27. package/dist/api/branch.js +268 -15
  28. package/dist/api/branch.js.map +1 -1
  29. package/dist/api/client.d.ts +5 -1
  30. package/dist/api/client.d.ts.map +1 -1
  31. package/dist/api/client.js +6 -0
  32. package/dist/api/client.js.map +1 -1
  33. package/dist/api/comments.d.ts +2 -2
  34. package/dist/api/content.d.ts +11 -5
  35. package/dist/api/content.d.ts.map +1 -1
  36. package/dist/api/content.js +91 -10
  37. package/dist/api/content.js.map +1 -1
  38. package/dist/api/entries.d.ts +10 -0
  39. package/dist/api/entries.d.ts.map +1 -1
  40. package/dist/api/entries.js +51 -24
  41. package/dist/api/entries.js.map +1 -1
  42. package/dist/api/guards.d.ts.map +1 -1
  43. package/dist/api/guards.js +12 -5
  44. package/dist/api/guards.js.map +1 -1
  45. package/dist/api/permissions.d.ts +2 -2
  46. package/dist/api/permissions.d.ts.map +1 -1
  47. package/dist/api/permissions.js +51 -3
  48. package/dist/api/permissions.js.map +1 -1
  49. package/dist/api/reference-options.d.ts.map +1 -1
  50. package/dist/api/reference-options.js +10 -17
  51. package/dist/api/reference-options.js.map +1 -1
  52. package/dist/api/resolve-references.d.ts.map +1 -1
  53. package/dist/api/resolve-references.js +3 -1
  54. package/dist/api/resolve-references.js.map +1 -1
  55. package/dist/api/schema.d.ts +4 -4
  56. package/dist/api/schema.d.ts.map +1 -1
  57. package/dist/api/schema.js +16 -15
  58. package/dist/api/schema.js.map +1 -1
  59. package/dist/api/settings-helpers.d.ts.map +1 -1
  60. package/dist/api/settings-helpers.js +6 -5
  61. package/dist/api/settings-helpers.js.map +1 -1
  62. package/dist/assets/pipeline.d.ts +11 -2
  63. package/dist/assets/pipeline.d.ts.map +1 -1
  64. package/dist/assets/pipeline.js +114 -2
  65. package/dist/assets/pipeline.js.map +1 -1
  66. package/dist/assets/transform-directives.d.ts +18 -0
  67. package/dist/assets/transform-directives.d.ts.map +1 -1
  68. package/dist/assets/transform-directives.js +18 -0
  69. package/dist/assets/transform-directives.js.map +1 -1
  70. package/dist/assets/transform.d.ts.map +1 -1
  71. package/dist/assets/transform.js +20 -16
  72. package/dist/assets/transform.js.map +1 -1
  73. package/dist/auth/types.d.ts +29 -0
  74. package/dist/auth/types.d.ts.map +1 -1
  75. package/dist/authorization/index.d.ts +1 -1
  76. package/dist/authorization/index.d.ts.map +1 -1
  77. package/dist/authorization/index.js +1 -1
  78. package/dist/authorization/index.js.map +1 -1
  79. package/dist/authorization/protected-branch.d.ts +75 -0
  80. package/dist/authorization/protected-branch.d.ts.map +1 -1
  81. package/dist/authorization/protected-branch.js +39 -0
  82. package/dist/authorization/protected-branch.js.map +1 -1
  83. package/dist/branch-health.d.ts +13 -0
  84. package/dist/branch-health.d.ts.map +1 -1
  85. package/dist/branch-health.js +23 -0
  86. package/dist/branch-health.js.map +1 -1
  87. package/dist/branch-registry.d.ts.map +1 -1
  88. package/dist/branch-registry.js +5 -1
  89. package/dist/branch-registry.js.map +1 -1
  90. package/dist/branch-schema-cache.d.ts.map +1 -1
  91. package/dist/branch-schema-cache.js +9 -0
  92. package/dist/branch-schema-cache.js.map +1 -1
  93. package/dist/build/generate-ai-content.js +1 -1
  94. package/dist/build/generate-ai-content.js.map +1 -1
  95. package/dist/cli/cli.js +2215 -1280
  96. package/dist/cli/generate-ai-content.js +1158 -585
  97. package/dist/cli/init.d.ts +8 -2
  98. package/dist/cli/init.d.ts.map +1 -1
  99. package/dist/cli/init.js +459 -152
  100. package/dist/cli/init.js.map +1 -1
  101. package/dist/cli/project-detect.d.ts +89 -0
  102. package/dist/cli/project-detect.d.ts.map +1 -0
  103. package/dist/cli/project-detect.js +240 -0
  104. package/dist/cli/project-detect.js.map +1 -0
  105. package/dist/cli/template-files/Dockerfile.cms.template +30 -7
  106. package/dist/cli/template-files/canopycms.config.ts.template +7 -0
  107. package/dist/cli/template-files/cdk-app.ts.template +82 -0
  108. package/dist/cli/template-files/cdk.json.template +9 -0
  109. package/dist/cli/template-files/cms-stack.ts.template +130 -0
  110. package/dist/cli/template-files/deploy-cms.yml.template +125 -13
  111. package/dist/cli/template-files/dockerignore.template +2 -1
  112. package/dist/cli/templates.d.ts +26 -2
  113. package/dist/cli/templates.d.ts.map +1 -1
  114. package/dist/cli/templates.js +36 -4
  115. package/dist/cli/templates.js.map +1 -1
  116. package/dist/client.d.ts +1 -0
  117. package/dist/client.d.ts.map +1 -1
  118. package/dist/client.js.map +1 -1
  119. package/dist/config/schemas/config.d.ts +2 -3
  120. package/dist/config/schemas/config.d.ts.map +1 -1
  121. package/dist/config/schemas/config.js +21 -1
  122. package/dist/config/schemas/config.js.map +1 -1
  123. package/dist/config/schemas/field.d.ts +15 -15
  124. package/dist/config/types.d.ts +2 -2
  125. package/dist/config/types.d.ts.map +1 -1
  126. package/dist/config/types.js +0 -1
  127. package/dist/config/types.js.map +1 -1
  128. package/dist/config/validation.d.ts +18 -0
  129. package/dist/config/validation.d.ts.map +1 -1
  130. package/dist/config/validation.js +36 -12
  131. package/dist/config/validation.js.map +1 -1
  132. package/dist/content-id-index.d.ts +97 -5
  133. package/dist/content-id-index.d.ts.map +1 -1
  134. package/dist/content-id-index.js +170 -18
  135. package/dist/content-id-index.js.map +1 -1
  136. package/dist/content-reader.js +1 -1
  137. package/dist/content-reader.js.map +1 -1
  138. package/dist/content-store.d.ts +92 -7
  139. package/dist/content-store.d.ts.map +1 -1
  140. package/dist/content-store.js +445 -259
  141. package/dist/content-store.js.map +1 -1
  142. package/dist/dev-content-watcher.d.ts.map +1 -1
  143. package/dist/dev-content-watcher.js +4 -1
  144. package/dist/dev-content-watcher.js.map +1 -1
  145. package/dist/editor/BranchManager.d.ts +15 -0
  146. package/dist/editor/BranchManager.d.ts.map +1 -1
  147. package/dist/editor/BranchManager.js +61 -15
  148. package/dist/editor/BranchManager.js.map +1 -1
  149. package/dist/editor/CanopyEditor.d.ts.map +1 -1
  150. package/dist/editor/CanopyEditor.js +3 -3
  151. package/dist/editor/CanopyEditor.js.map +1 -1
  152. package/dist/editor/CanopyEditorPage.d.ts +9 -1
  153. package/dist/editor/CanopyEditorPage.d.ts.map +1 -1
  154. package/dist/editor/CanopyEditorPage.js +9 -2
  155. package/dist/editor/CanopyEditorPage.js.map +1 -1
  156. package/dist/editor/Editor.d.ts +9 -1
  157. package/dist/editor/Editor.d.ts.map +1 -1
  158. package/dist/editor/Editor.js +156 -60
  159. package/dist/editor/Editor.js.map +1 -1
  160. package/dist/editor/FormRenderer.d.ts.map +1 -1
  161. package/dist/editor/FormRenderer.js +12 -0
  162. package/dist/editor/FormRenderer.js.map +1 -1
  163. package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
  164. package/dist/editor/admin/SystemHealthPanel.js +14 -9
  165. package/dist/editor/admin/SystemHealthPanel.js.map +1 -1
  166. package/dist/editor/components/EditorHeader.d.ts +6 -0
  167. package/dist/editor/components/EditorHeader.d.ts.map +1 -1
  168. package/dist/editor/components/EditorHeader.js +76 -23
  169. package/dist/editor/components/EditorHeader.js.map +1 -1
  170. package/dist/editor/components/EntryCreateModal.d.ts +9 -1
  171. package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
  172. package/dist/editor/components/EntryCreateModal.js +25 -7
  173. package/dist/editor/components/EntryCreateModal.js.map +1 -1
  174. package/dist/editor/context/SWRProvider.d.ts +31 -0
  175. package/dist/editor/context/SWRProvider.d.ts.map +1 -0
  176. package/dist/editor/context/SWRProvider.js +12 -0
  177. package/dist/editor/context/SWRProvider.js.map +1 -0
  178. package/dist/editor/context/index.d.ts +3 -0
  179. package/dist/editor/context/index.d.ts.map +1 -1
  180. package/dist/editor/context/index.js +3 -0
  181. package/dist/editor/context/index.js.map +1 -1
  182. package/dist/editor/editor-utils.d.ts.map +1 -1
  183. package/dist/editor/editor-utils.js +8 -2
  184. package/dist/editor/editor-utils.js.map +1 -1
  185. package/dist/editor/fields/DateTimeField.d.ts +46 -0
  186. package/dist/editor/fields/DateTimeField.d.ts.map +1 -0
  187. package/dist/editor/fields/DateTimeField.js +66 -0
  188. package/dist/editor/fields/DateTimeField.js.map +1 -0
  189. package/dist/editor/fields/ImageField.d.ts.map +1 -1
  190. package/dist/editor/fields/ImageField.js +27 -3
  191. package/dist/editor/fields/ImageField.js.map +1 -1
  192. package/dist/editor/fields/NumberField.d.ts +34 -0
  193. package/dist/editor/fields/NumberField.d.ts.map +1 -0
  194. package/dist/editor/fields/NumberField.js +53 -0
  195. package/dist/editor/fields/NumberField.js.map +1 -0
  196. package/dist/editor/fields/NumberListField.d.ts +25 -0
  197. package/dist/editor/fields/NumberListField.d.ts.map +1 -0
  198. package/dist/editor/fields/NumberListField.js +53 -0
  199. package/dist/editor/fields/NumberListField.js.map +1 -0
  200. package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
  201. package/dist/editor/fields/ReferenceField.js +52 -31
  202. package/dist/editor/fields/ReferenceField.js.map +1 -1
  203. package/dist/editor/hooks/__test__/test-utils.d.ts +38 -3
  204. package/dist/editor/hooks/__test__/test-utils.d.ts.map +1 -1
  205. package/dist/editor/hooks/__test__/test-utils.js +50 -4
  206. package/dist/editor/hooks/__test__/test-utils.js.map +1 -1
  207. package/dist/editor/hooks/index.d.ts +4 -1
  208. package/dist/editor/hooks/index.d.ts.map +1 -1
  209. package/dist/editor/hooks/index.js +4 -1
  210. package/dist/editor/hooks/index.js.map +1 -1
  211. package/dist/editor/hooks/useBranchManager.d.ts +21 -1
  212. package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
  213. package/dist/editor/hooks/useBranchManager.js +183 -58
  214. package/dist/editor/hooks/useBranchManager.js.map +1 -1
  215. package/dist/editor/hooks/useBranchesData.d.ts +57 -0
  216. package/dist/editor/hooks/useBranchesData.d.ts.map +1 -0
  217. package/dist/editor/hooks/useBranchesData.js +69 -0
  218. package/dist/editor/hooks/useBranchesData.js.map +1 -0
  219. package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
  220. package/dist/editor/hooks/useCommentSystem.js +24 -22
  221. package/dist/editor/hooks/useCommentSystem.js.map +1 -1
  222. package/dist/editor/hooks/useCommentsData.d.ts +29 -0
  223. package/dist/editor/hooks/useCommentsData.d.ts.map +1 -0
  224. package/dist/editor/hooks/useCommentsData.js +40 -0
  225. package/dist/editor/hooks/useCommentsData.js.map +1 -0
  226. package/dist/editor/hooks/useDraftManager.d.ts +8 -0
  227. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  228. package/dist/editor/hooks/useDraftManager.js +290 -36
  229. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  230. package/dist/editor/hooks/useEntriesData.d.ts +35 -0
  231. package/dist/editor/hooks/useEntriesData.d.ts.map +1 -0
  232. package/dist/editor/hooks/useEntriesData.js +96 -0
  233. package/dist/editor/hooks/useEntriesData.js.map +1 -0
  234. package/dist/editor/hooks/useEntryManager.d.ts +29 -15
  235. package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
  236. package/dist/editor/hooks/useEntryManager.js +284 -119
  237. package/dist/editor/hooks/useEntryManager.js.map +1 -1
  238. package/dist/editor/hooks/usePermissionManager.d.ts +2 -2
  239. package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
  240. package/dist/editor/hooks/usePermissionManager.js +11 -9
  241. package/dist/editor/hooks/usePermissionManager.js.map +1 -1
  242. package/dist/editor/hooks/useReferenceResolution.d.ts.map +1 -1
  243. package/dist/editor/hooks/useReferenceResolution.js +24 -1
  244. package/dist/editor/hooks/useReferenceResolution.js.map +1 -1
  245. package/dist/editor/media/MediaLibraryBody.d.ts.map +1 -1
  246. package/dist/editor/media/MediaLibraryBody.js +12 -2
  247. package/dist/editor/media/MediaLibraryBody.js.map +1 -1
  248. package/dist/editor/permission-manager/GroupSelector.d.ts.map +1 -1
  249. package/dist/editor/permission-manager/GroupSelector.js +7 -2
  250. package/dist/editor/permission-manager/GroupSelector.js.map +1 -1
  251. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +3 -3
  252. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +1 -1
  253. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +1 -0
  254. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +1 -1
  255. package/dist/editor/permission-manager/types.d.ts +6 -4
  256. package/dist/editor/permission-manager/types.d.ts.map +1 -1
  257. package/dist/editor/test-setup.js +8 -0
  258. package/dist/editor/test-setup.js.map +1 -1
  259. package/dist/editor/theme.d.ts +8 -8
  260. package/dist/git-manager.d.ts +175 -14
  261. package/dist/git-manager.d.ts.map +1 -1
  262. package/dist/git-manager.js +354 -39
  263. package/dist/git-manager.js.map +1 -1
  264. package/dist/github-service.d.ts.map +1 -1
  265. package/dist/github-service.js +13 -7
  266. package/dist/github-service.js.map +1 -1
  267. package/dist/http/handler.d.ts.map +1 -1
  268. package/dist/http/handler.js +78 -29
  269. package/dist/http/handler.js.map +1 -1
  270. package/dist/http/router.d.ts.map +1 -1
  271. package/dist/http/router.js +40 -3
  272. package/dist/http/router.js.map +1 -1
  273. package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
  274. package/dist/operating-mode/client-unsafe-strategy.js +7 -8
  275. package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
  276. package/dist/operating-mode/deployment-name-fixtures.d.ts +29 -0
  277. package/dist/operating-mode/deployment-name-fixtures.d.ts.map +1 -0
  278. package/dist/operating-mode/deployment-name-fixtures.js +55 -0
  279. package/dist/operating-mode/deployment-name-fixtures.js.map +1 -0
  280. package/dist/operating-mode/deployment-name.d.ts +37 -0
  281. package/dist/operating-mode/deployment-name.d.ts.map +1 -0
  282. package/dist/operating-mode/deployment-name.js +86 -0
  283. package/dist/operating-mode/deployment-name.js.map +1 -0
  284. package/dist/operating-mode/index.d.ts +6 -1
  285. package/dist/operating-mode/index.d.ts.map +1 -1
  286. package/dist/operating-mode/index.js +10 -1
  287. package/dist/operating-mode/index.js.map +1 -1
  288. package/dist/operating-mode/mode-env.d.ts +58 -0
  289. package/dist/operating-mode/mode-env.d.ts.map +1 -0
  290. package/dist/operating-mode/mode-env.js +97 -0
  291. package/dist/operating-mode/mode-env.js.map +1 -0
  292. package/dist/operating-mode/types.d.ts +13 -3
  293. package/dist/operating-mode/types.d.ts.map +1 -1
  294. package/dist/paths/branch-name.d.ts +38 -0
  295. package/dist/paths/branch-name.d.ts.map +1 -1
  296. package/dist/paths/branch-name.js +46 -0
  297. package/dist/paths/branch-name.js.map +1 -1
  298. package/dist/paths/index.d.ts +1 -1
  299. package/dist/paths/index.d.ts.map +1 -1
  300. package/dist/paths/index.js +1 -1
  301. package/dist/paths/index.js.map +1 -1
  302. package/dist/reference-resolver.d.ts +6 -2
  303. package/dist/reference-resolver.d.ts.map +1 -1
  304. package/dist/reference-resolver.js +8 -1
  305. package/dist/reference-resolver.js.map +1 -1
  306. package/dist/resolve-canopy-user.d.ts +34 -0
  307. package/dist/resolve-canopy-user.d.ts.map +1 -0
  308. package/dist/resolve-canopy-user.js +55 -0
  309. package/dist/resolve-canopy-user.js.map +1 -0
  310. package/dist/schema/meta-loader.d.ts.map +1 -1
  311. package/dist/schema/meta-loader.js +10 -2
  312. package/dist/schema/meta-loader.js.map +1 -1
  313. package/dist/schema/schema-store.d.ts +64 -4
  314. package/dist/schema/schema-store.d.ts.map +1 -1
  315. package/dist/schema/schema-store.js +113 -30
  316. package/dist/schema/schema-store.js.map +1 -1
  317. package/dist/server.d.ts +9 -0
  318. package/dist/server.d.ts.map +1 -1
  319. package/dist/server.js +9 -0
  320. package/dist/server.js.map +1 -1
  321. package/dist/services.d.ts.map +1 -1
  322. package/dist/services.js +40 -6
  323. package/dist/services.js.map +1 -1
  324. package/dist/settings-workspace.d.ts +27 -2
  325. package/dist/settings-workspace.d.ts.map +1 -1
  326. package/dist/settings-workspace.js +142 -58
  327. package/dist/settings-workspace.js.map +1 -1
  328. package/dist/types.d.ts +73 -2
  329. package/dist/types.d.ts.map +1 -1
  330. package/dist/utils/content-write-lock.d.ts +127 -0
  331. package/dist/utils/content-write-lock.d.ts.map +1 -0
  332. package/dist/utils/content-write-lock.js +170 -0
  333. package/dist/utils/content-write-lock.js.map +1 -0
  334. package/dist/utils/debug.d.ts +11 -0
  335. package/dist/utils/debug.d.ts.map +1 -1
  336. package/dist/utils/debug.js +12 -1
  337. package/dist/utils/debug.js.map +1 -1
  338. package/dist/utils/error.d.ts +1 -1
  339. package/dist/utils/error.js +1 -1
  340. package/dist/utils/git.d.ts +54 -0
  341. package/dist/utils/git.d.ts.map +1 -1
  342. package/dist/utils/git.js +91 -0
  343. package/dist/utils/git.js.map +1 -1
  344. package/dist/utils/logger.d.ts +71 -0
  345. package/dist/utils/logger.d.ts.map +1 -0
  346. package/dist/utils/logger.js +85 -0
  347. package/dist/utils/logger.js.map +1 -0
  348. package/dist/utils/sanitize-href.d.ts +28 -3
  349. package/dist/utils/sanitize-href.d.ts.map +1 -1
  350. package/dist/utils/sanitize-href.js +64 -6
  351. package/dist/utils/sanitize-href.js.map +1 -1
  352. package/dist/validation/entry-link-validator.d.ts +1 -1
  353. package/dist/validation/entry-link-validator.js +3 -3
  354. package/dist/validation/entry-link-validator.js.map +1 -1
  355. package/dist/validation/entry-type-reference-validator.d.ts +33 -0
  356. package/dist/validation/entry-type-reference-validator.d.ts.map +1 -0
  357. package/dist/validation/entry-type-reference-validator.js +110 -0
  358. package/dist/validation/entry-type-reference-validator.js.map +1 -0
  359. package/dist/validation/entry-validator.js +1 -1
  360. package/dist/validation/entry-validator.js.map +1 -1
  361. package/dist/worker/cms-worker.d.ts +245 -3
  362. package/dist/worker/cms-worker.d.ts.map +1 -1
  363. package/dist/worker/cms-worker.js +1084 -253
  364. package/dist/worker/cms-worker.js.map +1 -1
  365. package/dist/worker/log.d.ts +61 -0
  366. package/dist/worker/log.d.ts.map +1 -0
  367. package/dist/worker/log.js +74 -0
  368. package/dist/worker/log.js.map +1 -0
  369. package/package.json +4 -2
@@ -1,6 +1,7 @@
1
1
  import { useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { notifications } from '@mantine/notifications';
3
3
  import { modals } from '@mantine/modals';
4
+ import equal from 'fast-deep-equal';
4
5
  import { getNotificationDuration } from '../utils/env.js';
5
6
  import { validateEntryFormValue } from '../../validation/entry-validator.js';
6
7
  import { SaveApiError } from './useEntryManager.js';
@@ -30,6 +31,38 @@ export const shallowEqualRecord = (a, b) => {
30
31
  }
31
32
  return true;
32
33
  };
34
+ /** Storage-format tag for the persisted draft envelope (see `parsePersistedDrafts`). */
35
+ const DRAFTS_STORAGE_VERSION = 2;
36
+ /**
37
+ * Read the persisted draft store, tolerating the legacy pre-v2 shape.
38
+ *
39
+ * LEGACY DECISION: a pre-v2 payload carries no base versions at all, and we
40
+ * cannot reconstruct them -- the draft may predate any number of other
41
+ * people's saves. Every legacy draft is therefore restored with base version
42
+ * `null` ("unknown"), which surfaces a confirmation on save instead of
43
+ * trusting it. Trusting it is the bug being fixed; silently DISCARDING it is a
44
+ * quieter version of the same bug, so the draft is kept and the user gets the
45
+ * decision. Nothing here re-stamps `null` (the reconcile effect only fills ids
46
+ * NOT already present), so the ONLY thing that clears it is that confirmation
47
+ * -- which is why blocking on it unconditionally, as an earlier version did,
48
+ * made a legacy draft unsaveable by any sequence of actions, forever.
49
+ * This only affects drafts written before this change; everything written
50
+ * after carries a real base version.
51
+ */
52
+ const parsePersistedDrafts = (raw) => {
53
+ const parsed = JSON.parse(raw);
54
+ if (!parsed || typeof parsed !== 'object')
55
+ return { drafts: {}, baseVersions: {} };
56
+ if (parsed.v === DRAFTS_STORAGE_VERSION) {
57
+ const envelope = parsed;
58
+ return { drafts: envelope.drafts ?? {}, baseVersions: envelope.baseVersions ?? {} };
59
+ }
60
+ const drafts = parsed;
61
+ const baseVersions = {};
62
+ for (const id of Object.keys(drafts))
63
+ baseVersions[id] = null;
64
+ return { drafts, baseVersions };
65
+ };
33
66
  /**
34
67
  * Custom hook for managing draft state (localStorage persistence, save/discard).
35
68
  *
@@ -69,6 +102,26 @@ export function useDraftManager(options) {
69
102
  // entry structurally impossible: there is no render where `errorState`
70
103
  // exists but belongs to the wrong entry.
71
104
  const [errorState, setErrorState] = useState(null);
105
+ // contentId -> the server version the CURRENT draft for that entry is based
106
+ // on. A ref rather than state: nothing renders from it, and the persist
107
+ // effect below must be able to read the value stamped moments earlier in the
108
+ // same commit. Three distinguishable states, all load-bearing:
109
+ // number - known base version
110
+ // null - draft restored from storage with no recorded base ("unknown")
111
+ // absent - draft created this session before any version was known
112
+ // (adopter-supplied `initialValues`, or an edit that somehow
113
+ // preceded the entry's first load); treated as safe, matching
114
+ // the behavior before base versions existed.
115
+ const draftBaseVersionsRef = useRef({});
116
+ // The draft ids the reconcile effect below has already accounted for. It
117
+ // prunes on an observed present -> absent TRANSITION rather than on "not
118
+ // currently in drafts": the restore effect stamps base versions for ids
119
+ // whose `setDrafts` has only been QUEUED, so a prune keyed on the current
120
+ // `drafts` would delete every restored base version in the same commit that
121
+ // recorded it -- and the next pass would then re-stamp those drafts with the
122
+ // freshly loaded version, which is exactly the false "no conflict" this
123
+ // mechanism exists to prevent.
124
+ const reconciledDraftIdsRef = useRef(new Set());
72
125
  const storageKey = useMemo(() => `canopycms:drafts:${options.branchName}`, [options.branchName]);
73
126
  // Draft keys are now content IDs, not paths
74
127
  const currentId = options.currentEntry?.contentId;
@@ -86,12 +139,13 @@ export function useDraftManager(options) {
86
139
  // as unsaved work — this is what keeps the branch-switch guard from silently
87
140
  // discarding restored drafts.
88
141
  //
89
- // 2. The comparison uses `JSON.stringify`, which is property-order sensitive. A
90
- // rehydrated draft whose keys were serialized in a different order than the
91
- // server-loaded object will show as dirty even when the values are semantically
92
- // identical. This is a known limitation; replacing with `fast-deep-equal` is
93
- // tracked in `.claude/future-tasks/editor-async-patterns.md`.
94
- const modifiedCount = useMemo(() => Object.keys(drafts).filter((id) => !loadedValues[id] || JSON.stringify(drafts[id]) !== JSON.stringify(loadedValues[id])).length, [drafts, loadedValues]);
142
+ // 2. The comparison uses `fast-deep-equal`, a value-based deep equality
143
+ // check -- not property-order sensitive the way `JSON.stringify`
144
+ // comparison was. A rehydrated draft whose keys were serialized in a
145
+ // different order than the server-loaded object no longer shows as
146
+ // dirty when the values are semantically identical.
147
+ const modifiedCount = useMemo(() => Object.keys(drafts).filter((id) => !loadedValues[id] || !equal(drafts[id], loadedValues[id]))
148
+ .length, [drafts, loadedValues]);
95
149
  const editedFiles = useMemo(() => {
96
150
  const draftIds = Object.keys(drafts);
97
151
  if (draftIds.length === 0)
@@ -109,6 +163,11 @@ export function useDraftManager(options) {
109
163
  if (prevBranchRef.current && prevBranchRef.current !== options.branchName) {
110
164
  setDrafts({});
111
165
  setLoadedValues({});
166
+ // Base versions are file mtimes, i.e. inherently per-branch -- carrying
167
+ // them across a switch would compare one branch's version against
168
+ // another's.
169
+ draftBaseVersionsRef.current = {};
170
+ reconciledDraftIdsRef.current = new Set();
112
171
  }
113
172
  prevBranchRef.current = options.branchName;
114
173
  }, [options.branchName]);
@@ -119,8 +178,15 @@ export function useDraftManager(options) {
119
178
  try {
120
179
  const raw = window.localStorage.getItem(storageKey);
121
180
  if (raw) {
122
- const parsed = JSON.parse(raw);
123
- setDrafts((prev) => ({ ...prev, ...parsed }));
181
+ const { drafts: restored, baseVersions } = parsePersistedDrafts(raw);
182
+ // Stamp the base versions BEFORE queueing the state update: the
183
+ // reconcile effect below only stamps ids it has never seen, so
184
+ // recording them here is what stops a restored draft from being
185
+ // (wrongly) stamped with the version of the load that happens next.
186
+ for (const id of Object.keys(restored)) {
187
+ draftBaseVersionsRef.current[id] = baseVersions[id] ?? null;
188
+ }
189
+ setDrafts((prev) => ({ ...prev, ...restored }));
124
190
  }
125
191
  }
126
192
  catch (err) {
@@ -136,7 +202,15 @@ export function useDraftManager(options) {
136
202
  if (event.key !== storageKey || !event.newValue)
137
203
  return;
138
204
  try {
139
- const parsed = JSON.parse(event.newValue);
205
+ const { drafts: parsed, baseVersions } = parsePersistedDrafts(event.newValue);
206
+ // Same "only fill what's missing" rule as the merge below: an id we
207
+ // already have a base version for is one this tab is already drafting,
208
+ // so the other tab's base version must not overwrite ours.
209
+ for (const id of Object.keys(parsed)) {
210
+ if (!(id in draftBaseVersionsRef.current)) {
211
+ draftBaseVersionsRef.current[id] = baseVersions[id] ?? null;
212
+ }
213
+ }
140
214
  setDrafts((prev) => {
141
215
  const missing = Object.keys(parsed).filter((id) => !(id in prev));
142
216
  if (missing.length === 0)
@@ -162,6 +236,39 @@ export function useDraftManager(options) {
162
236
  useEffect(() => {
163
237
  draftsStorageKeyRef.current = storageKey;
164
238
  }, [drafts]);
239
+ // Keep the per-draft base versions in step with `drafts`.
240
+ //
241
+ // A draft key appearing here for the first time was created by the user
242
+ // editing an entry they had already opened, so the version currently held
243
+ // for that entry IS the version their edit is based on. Keys that disappear
244
+ // (saved, discarded, reloaded) drop their base version with them, so the
245
+ // next edit re-stamps against whatever the server returned most recently.
246
+ //
247
+ // Declared BEFORE the persist effect so both run in the same commit, in this
248
+ // order -- the persist effect reads the ref this one just updated.
249
+ useEffect(() => {
250
+ const bases = draftBaseVersionsRef.current;
251
+ const draftIds = new Set(Object.keys(drafts));
252
+ for (const id of draftIds) {
253
+ if (id in bases)
254
+ continue;
255
+ const version = options.getEntryVersion?.(id);
256
+ // Only record a base we actually know. Leaving it absent (rather than
257
+ // writing `null`) keeps "never loaded, so nothing to compare" distinct
258
+ // from "restored with no recorded base", and lets a later edit stamp a
259
+ // real version once one is known.
260
+ if (version !== undefined)
261
+ bases[id] = version;
262
+ }
263
+ for (const id of reconciledDraftIdsRef.current) {
264
+ if (!draftIds.has(id))
265
+ delete bases[id];
266
+ }
267
+ reconciledDraftIdsRef.current = draftIds;
268
+ // Deliberately keyed on `drafts` alone: `options.getEntryVersion` is a
269
+ // fresh closure every render, and only a drafts change can add or remove
270
+ // the keys this effect reconciles.
271
+ }, [drafts]);
165
272
  // Persist drafts to localStorage whenever they change
166
273
  useEffect(() => {
167
274
  if (typeof window === 'undefined')
@@ -169,7 +276,12 @@ export function useDraftManager(options) {
169
276
  if (draftsStorageKeyRef.current !== storageKey)
170
277
  return;
171
278
  try {
172
- window.localStorage.setItem(storageKey, JSON.stringify(drafts));
279
+ const payload = {
280
+ v: DRAFTS_STORAGE_VERSION,
281
+ drafts,
282
+ baseVersions: draftBaseVersionsRef.current,
283
+ };
284
+ window.localStorage.setItem(storageKey, JSON.stringify(payload));
173
285
  }
174
286
  catch (err) {
175
287
  console.warn('Failed to persist drafts', err);
@@ -215,9 +327,98 @@ export function useDraftManager(options) {
215
327
  return shallowEqualRecord(prev.errors, next) ? prev : { entryId: prev.entryId, errors: next };
216
328
  });
217
329
  }, [effectiveValue, currentId, options.currentEntry?.schema, options.currentEntry?.format]);
330
+ /**
331
+ * The 409 presentation, in one place. The client-side stale-base check below
332
+ * and the server's own 409 response are the same situation from the user's
333
+ * point of view -- someone else's work is at risk -- so they must read
334
+ * identically, and "Reload" (now itself confirmed, see `handleReload`) is the
335
+ * recovery for both.
336
+ */
337
+ const showConflictNotification = () => {
338
+ notifications.show({
339
+ message: 'Content was modified by another editor. Reload to see the latest changes.',
340
+ color: 'yellow',
341
+ autoClose: getNotificationDuration(8000),
342
+ withCloseButton: true,
343
+ });
344
+ };
345
+ const draftBaseState = () => {
346
+ if (!currentId || drafts[currentId] === undefined)
347
+ return 'ok';
348
+ const currentVersion = options.getEntryVersion?.(currentId);
349
+ // No server version known for this entry at all -- nothing to compare
350
+ // against, so this check has no opinion (the server's 409 still applies).
351
+ if (currentVersion === undefined)
352
+ return 'ok';
353
+ const base = draftBaseVersionsRef.current[currentId];
354
+ if (base === undefined)
355
+ return 'ok';
356
+ if (base === null)
357
+ return 'unknown-base';
358
+ return base !== currentVersion ? 'stale' : 'ok';
359
+ };
360
+ /**
361
+ * One-time upgrade prompt for a draft carried across the pre-v2 -> v2
362
+ * storage change.
363
+ *
364
+ * `null` (unknown base) used to be treated exactly like a known-stale
365
+ * draft: blocked, with Reload and Discard the only exits -- both of which
366
+ * destroy the draft. And nothing ever re-stamped it, because the reconcile
367
+ * effect only fills ids NOT already in `bases` and `null` is present. So a
368
+ * legacy draft was visible, permanently unsaveable, and the only advice
369
+ * offered destroyed it: "kept" meant "kept and unusable".
370
+ *
371
+ * A bounded, one-time population deserves a decision, not a dead end. On
372
+ * confirm the base is re-stamped to the version currently held, so the
373
+ * draft rejoins the ordinary flow and this is never asked again -- and the
374
+ * server's own OCC check remains the backstop for the case where the
375
+ * answer was wrong.
376
+ */
377
+ const confirmUnknownBaseSave = () => new Promise((resolve) => {
378
+ let decided = false;
379
+ const settle = (value) => {
380
+ if (decided)
381
+ return;
382
+ decided = true;
383
+ resolve(value);
384
+ };
385
+ modals.openConfirmModal({
386
+ title: 'Unsaved draft from an older editor version',
387
+ children: 'This draft was saved by an earlier version of the editor, which did not record ' +
388
+ 'which version of the file it was based on. Saving it will overwrite the copy ' +
389
+ 'currently on the server, including any changes made by someone else since. ' +
390
+ 'Reload or Discard this file instead if you would rather not risk that.',
391
+ labels: { confirm: 'Save anyway', cancel: 'Cancel' },
392
+ confirmProps: { color: 'red' },
393
+ onConfirm: () => settle(true),
394
+ // onCancel alone is not enough: Mantine does not fire it when the
395
+ // modal is dismissed via Escape or the overlay, which would leave
396
+ // this promise pending forever. onClose fires for every dismissal.
397
+ onCancel: () => settle(false),
398
+ onClose: () => settle(false),
399
+ });
400
+ });
218
401
  const handleSave = async () => {
219
402
  if (!options.currentEntry || !effectiveValue || !currentId)
220
403
  return;
404
+ // Conflict check first: a stale-based draft must not be schema-validated
405
+ // into a green "Saved" -- and nagging about field errors is noise when the
406
+ // save is not going out at all.
407
+ const baseState = draftBaseState();
408
+ if (baseState === 'stale') {
409
+ showConflictNotification();
410
+ return;
411
+ }
412
+ if (baseState === 'unknown-base') {
413
+ if (!(await confirmUnknownBaseSave()))
414
+ return;
415
+ // Re-stamp so the draft rejoins the ordinary flow: from here on its base
416
+ // is a real version and the normal stale check applies. Done BEFORE the
417
+ // write so a failed save doesn't re-prompt on every retry.
418
+ const currentVersion = options.getEntryVersion?.(currentId);
419
+ if (currentVersion !== undefined)
420
+ draftBaseVersionsRef.current[currentId] = currentVersion;
421
+ }
221
422
  // Client-side pre-save validation (ED-H1): the same pure schema rules the
222
423
  // server enforces authoritatively at the write boundary. Blocks the save
223
424
  // and surfaces per-field errors in the form instead of a green "Saved".
@@ -269,23 +470,37 @@ export function useDraftManager(options) {
269
470
  // validateEntry hook; show its message and map per-field errors (e.g.
270
471
  // reference existence, which only the server can check) into the form.
271
472
  const isValidation = err instanceof SaveApiError && err.status === 422;
473
+ // 403 = the writableBranch guard refused the write outright (base
474
+ // branch read-only, status past 'editing', or unreadable metadata --
475
+ // see api/guards.ts). This is exactly the window a fail-closed but
476
+ // still momentarily-stale client can hit: the branch list hasn't
477
+ // caught up yet, or the editor rendered before the server's answer
478
+ // arrived, so a Save that looked enabled got rejected server-side.
479
+ // #189 wrote specific guard copy explaining WHICH lock applies and how
480
+ // to recover (e.g. "withdraw it to make changes") -- falling through to
481
+ // the generic 'Save failed' below would throw that away in precisely
482
+ // the moment the user is most confused, so surface the server's own
483
+ // message instead, the same way the 422 branch already does.
484
+ const isForbidden = err instanceof SaveApiError && err.status === 403;
272
485
  if (err instanceof SaveApiError &&
273
486
  err.status === 422 &&
274
487
  err.fieldErrors &&
275
488
  err.fieldErrors.length > 0) {
276
489
  setErrorState({ entryId: currentId, errors: toFieldErrorMap(err.fieldErrors) });
277
490
  }
278
- notifications.show({
279
- ...(isValidation ? { title: 'Save rejected' } : {}),
280
- message: isConflict
281
- ? 'Content was modified by another editor. Reload to see the latest changes.'
282
- : isValidation
283
- ? err.message
284
- : 'Save failed',
285
- color: isConflict ? 'yellow' : 'red',
286
- autoClose: getNotificationDuration(isConflict || isValidation ? 8000 : 6000),
287
- withCloseButton: true,
288
- });
491
+ if (isConflict) {
492
+ showConflictNotification();
493
+ }
494
+ else {
495
+ notifications.show({
496
+ ...(isValidation ? { title: 'Save rejected' } : {}),
497
+ ...(isForbidden ? { title: 'Save not allowed' } : {}),
498
+ message: isValidation || isForbidden ? err.message : 'Save failed',
499
+ color: 'red',
500
+ autoClose: getNotificationDuration(isValidation || isForbidden ? 8000 : 6000),
501
+ withCloseButton: true,
502
+ });
503
+ }
289
504
  }
290
505
  finally {
291
506
  options.setBusy(false);
@@ -339,9 +554,15 @@ export function useDraftManager(options) {
339
554
  if (typeof window !== 'undefined') {
340
555
  const raw = window.localStorage.getItem(storageKey);
341
556
  if (raw) {
342
- const parsed = JSON.parse(raw);
343
- delete parsed[currentId];
344
- window.localStorage.setItem(storageKey, JSON.stringify(parsed));
557
+ const { drafts: persisted, baseVersions } = parsePersistedDrafts(raw);
558
+ delete persisted[currentId];
559
+ delete baseVersions[currentId];
560
+ const payload = {
561
+ v: DRAFTS_STORAGE_VERSION,
562
+ drafts: persisted,
563
+ baseVersions,
564
+ };
565
+ window.localStorage.setItem(storageKey, JSON.stringify(payload));
345
566
  }
346
567
  }
347
568
  }
@@ -356,10 +577,10 @@ export function useDraftManager(options) {
356
577
  });
357
578
  };
358
579
  // Only prompt when there is a real draft that actually differs from the
359
- // loaded value (`isSelectedDirty()` below uses the exact same
360
- // JSON.stringify comparison as `modifiedCount`). Discarding a draft that's
361
- // identical to the loaded value, or discarding when there's no draft at
362
- // all, has nothing to lose, so it clears silently.
580
+ // loaded value (`isSelectedDirty()` below uses the exact same deep-equal
581
+ // comparison as `modifiedCount`). Discarding a draft that's identical to
582
+ // the loaded value, or discarding when there's no draft at all, has
583
+ // nothing to lose, so it clears silently.
363
584
  const handleDiscardFileDraft = () => {
364
585
  if (!currentId)
365
586
  return;
@@ -375,14 +596,25 @@ export function useDraftManager(options) {
375
596
  onConfirm: performDiscardFileDraft,
376
597
  });
377
598
  };
378
- const handleReload = async () => {
599
+ const performReload = async () => {
379
600
  if (!options.currentEntry || !currentId)
380
601
  return;
381
602
  options.setBusy(true);
382
603
  try {
383
604
  const loaded = await options.loadEntry(options.currentEntry);
384
605
  setLoadedValues((prev) => ({ ...prev, [currentId]: loaded }));
385
- setDrafts((prev) => ({ ...prev, [currentId]: loaded }));
606
+ // Drop the draft rather than seeding it with `loaded`. `effectiveValue`
607
+ // falls back to `loadedValues`, so the rendered value is identical --
608
+ // and a draft that merely mirrors the server value is exactly the
609
+ // phantom-dirty snapshot this hook works to avoid (same reasoning as
610
+ // handleSave's drop above).
611
+ setDrafts((prev) => {
612
+ if (!(currentId in prev))
613
+ return prev;
614
+ const next = { ...prev };
615
+ delete next[currentId];
616
+ return next;
617
+ });
386
618
  notifications.show({
387
619
  message: 'Reloaded',
388
620
  color: 'blue',
@@ -403,6 +635,29 @@ export function useDraftManager(options) {
403
635
  options.setBusy(false);
404
636
  }
405
637
  };
638
+ // Reloading replaces the working value with the server's copy, so over a
639
+ // real draft it is every bit as destructive as "Discard draft" -- and it is
640
+ // what the conflict notification tells the losing editor to do, i.e. the one
641
+ // moment their unsaved work matters most. Guarded exactly like
642
+ // handleDiscardFileDraft: the same `isSelectedDirty()` test (nothing to lose
643
+ // -> no prompt) and the same confirm-modal shape.
644
+ const handleReload = async () => {
645
+ if (!options.currentEntry || !currentId)
646
+ return;
647
+ if (!isSelectedDirty()) {
648
+ await performReload();
649
+ return;
650
+ }
651
+ modals.openConfirmModal({
652
+ title: 'Reload file',
653
+ children: 'Reload this file from the server? Unsaved changes for this file will be lost.',
654
+ labels: { confirm: 'Reload', cancel: 'Cancel' },
655
+ confirmProps: { color: 'red' },
656
+ onConfirm: () => {
657
+ void performReload();
658
+ },
659
+ });
660
+ };
406
661
  // Compute dirty state for a given entry
407
662
  const isDirtyForEntry = (entryPath) => {
408
663
  // Find entry by path to get its content ID
@@ -412,7 +667,7 @@ export function useDraftManager(options) {
412
667
  const id = entry.contentId;
413
668
  if (!drafts[id])
414
669
  return false;
415
- return !loadedValues[id] || JSON.stringify(drafts[id]) !== JSON.stringify(loadedValues[id]);
670
+ return !loadedValues[id] || !equal(drafts[id], loadedValues[id]);
416
671
  };
417
672
  // Convenience helper for checking current selection
418
673
  const isSelectedDirty = () => {
@@ -420,15 +675,14 @@ export function useDraftManager(options) {
420
675
  return false;
421
676
  if (!drafts[currentId])
422
677
  return false;
423
- return (!loadedValues[currentId] ||
424
- JSON.stringify(drafts[currentId]) !== JSON.stringify(loadedValues[currentId]));
678
+ return !loadedValues[currentId] || !equal(drafts[currentId], loadedValues[currentId]);
425
679
  };
426
680
  // Returns true if ANY draft entry differs from its loaded value.
427
681
  //
428
682
  // Used for branch-switch guards so unsaved work in non-selected entries is not
429
- // silently discarded. Derived from `modifiedCount`, so the two semantics notes
430
- // above also apply: localStorage-restored drafts without a loaded value count as
431
- // dirty, and the underlying comparison is `JSON.stringify`-based.
683
+ // silently discarded. Derived from `modifiedCount`, so its semantics note
684
+ // above also applies: localStorage-restored drafts without a loaded value
685
+ // count as dirty.
432
686
  const isAnyDirty = () => modifiedCount > 0;
433
687
  return {
434
688
  drafts,
@@ -1 +1 @@
1
- {"version":3,"file":"useDraftManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDraftManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { CollectionItem } from '../../api/entries';
2
+ import type { ApiClient } from '../context';
3
+ import type { EditorEntry, EditorCollection } from '../Editor';
4
+ /** Cache key for a branch's combined schema + entries data. */
5
+ export declare const entriesKey: (branch: string) => string;
6
+ export interface EntriesData {
7
+ collections: EditorCollection[];
8
+ entries: EditorEntry[];
9
+ /** Entry-type schema names available on this branch (from entrySchemas' keys). */
10
+ availableSchemas: string[];
11
+ }
12
+ export interface FetchEntriesParams {
13
+ resolvePreviewSrc: (entry: Partial<EditorEntry>) => string | undefined;
14
+ contentRoot?: string;
15
+ }
16
+ /**
17
+ * Fetch every entry on a branch by following the list endpoint's pagination
18
+ * cursor. Deduped by logicalPath: the cursor is offset-based, so an item can
19
+ * repeat across pages if content changes between requests.
20
+ *
21
+ * Exported for direct unit testing.
22
+ */
23
+ export declare function listAllEntries(apiClient: {
24
+ entries: Pick<ApiClient['entries'], 'list'>;
25
+ }, branch: string): Promise<{
26
+ entries: CollectionItem[];
27
+ truncated: boolean;
28
+ }>;
29
+ /**
30
+ * Fetch a branch's schema and full entry list, and build the EditorEntry/
31
+ * EditorCollection objects the editor renders. Exported for direct testing
32
+ * and for the imperative reload path (useEntryManager.refreshEntries).
33
+ */
34
+ export declare function fetchEntriesAndSchema(apiClient: Pick<ApiClient, 'schema' | 'entries'>, branch: string, params: FetchEntriesParams): Promise<EntriesData>;
35
+ //# sourceMappingURL=useEntriesData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEntriesData.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useEntriesData.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAQ9D,+DAA+D;AAC/D,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,MAAoC,CAAA;AAEhF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE;IAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,EAC1D,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAkB5D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,WAAW,CAAC,CA4CtB"}