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
@@ -87,7 +87,6 @@ const branchStatusColorMap = {
87
87
  editing: 'brand',
88
88
  submitted: 'green',
89
89
  approved: 'teal',
90
- locked: 'yellow',
91
90
  };
92
91
  const TASK_STATUS_OPTIONS = [
93
92
  { label: 'Pending', value: 'pending' },
@@ -132,7 +131,9 @@ function OverviewTab({ health }) {
132
131
  const liveness = workerLivenessBadge(status.worker, status.mode);
133
132
  const lastFatalError = status.workerStatus?.lastFatalError;
134
133
  const lastGitSync = status.workerStatus?.lastGitSync;
135
- return (_jsxs(Stack, { gap: "md", children: [error && (_jsx(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), variant: "light", children: error })), _jsxs(Group, { gap: "sm", children: [_jsx(Badge, { color: liveness.color, variant: "light", size: "lg", children: liveness.label }), status.mode === 'dev' && (_jsx(Text, { size: "xs", c: "dimmed", children: "No worker runs in dev mode" }))] }), isRecentFatalError && lastFatalError && (_jsxs(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Worker crash detected", children: [_jsx(Text, { size: "sm", children: lastFatalError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", lastFatalError.at, " (", lastFatalError.phase, ")"] })] })), status.statusReadError && (_jsxs(Text, { size: "xs", c: "orange", children: ["Warning: could not read worker status (", status.statusReadError, ")"] })), status.workerStatus?.lastGitSyncError && (_jsxs(Alert, { color: "orange", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Last git sync failed", children: [_jsx(Text, { size: "sm", children: status.workerStatus.lastGitSyncError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", status.workerStatus.lastGitSyncError.at] })] })), lastGitSync && (_jsxs(Paper, { withBorder: true, p: "sm", radius: "md", children: [_jsx(Text, { size: "sm", fw: 600, children: "Last git sync" }), _jsxs(Text, { size: "xs", c: "dimmed", children: [status.workerStatus?.lastGitSyncAt ?? 'unknown time', " \u00B7 ", lastGitSync.durationMs, "ms \u00B7", ' ', lastGitSync.rebased.length, " rebased \u00B7 ", lastGitSync.skippedDirty.length, " skipped (dirty)"] }), lastGitSync.failed.length > 0 && (_jsx(Spoiler, { maxHeight: 0, showLabel: `${lastGitSync.failed.length} failed — show details`, hideLabel: "Hide", children: _jsx(Stack, { gap: 4, mt: 4, children: lastGitSync.failed.map((f) => (_jsxs(Text, { size: "xs", c: "red", children: [f.branch, ": ", f.error] }, f.branch))) }) }))] })), _jsx(SimpleGrid, { cols: 5, spacing: "xs", children: ['pending', 'processing', 'completed', 'failed', 'corrupt'].map((key) => (_jsxs(Paper, { withBorder: true, p: "xs", radius: "md", ta: "center", children: [_jsx(Text, { size: "xs", c: "dimmed", tt: "capitalize", children: key }), _jsx(Text, { size: "lg", fw: 700, c: (key === 'failed' || key === 'corrupt') && status.queue[key] > 0 ? 'red' : undefined, children: status.queue[key] })] }, key))) }), status.queue.oldestPendingAgeMs !== undefined && (_jsxs(Text, { size: "xs", c: "dimmed", children: ["Oldest pending task: ", formatAgeMs(status.queue.oldestPendingAgeMs), " old"] })), _jsxs(Group, { justify: "space-between", align: "center", children: [_jsxs(Text, { size: "xs", c: "dimmed", children: ["Generated at ", status.generatedAt] }), _jsx(Button, { size: "xs", variant: "light", onClick: () => refresh(), loading: statusLoading, children: "Refresh" })] }), _jsx(Text, { size: "xs", c: "dimmed", children: "Data may lag up to ~60s (shared-filesystem caching)" })] }));
134
+ return (_jsxs(Stack, { gap: "md", children: [error && (_jsx(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), variant: "light", children: error })), _jsxs(Group, { gap: "sm", children: [_jsx(Badge, { color: liveness.color, variant: "light", size: "lg", children: liveness.label }), status.mode === 'dev' && (_jsx(Text, { size: "xs", c: "dimmed", children: "No worker runs in dev mode" }))] }), isRecentFatalError && lastFatalError && (_jsxs(Alert, { color: "red", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Worker crash detected", children: [_jsx(Text, { size: "sm", children: lastFatalError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", lastFatalError.at, " (", lastFatalError.phase, ")"] })] })), status.statusReadError && (_jsxs(Text, { size: "xs", c: "orange", children: ["Warning: could not read worker status (", status.statusReadError, ")"] })), status.workerStatus?.lastGitSyncError && (_jsxs(Alert, { color: "orange", icon: _jsx(IconAlertCircle, { size: 16 }), title: "Last git sync failed", children: [_jsx(Text, { size: "sm", children: status.workerStatus.lastGitSyncError.message }), _jsxs(Text, { size: "xs", c: "dimmed", mt: 4, children: ["at ", status.workerStatus.lastGitSyncError.at] })] })), lastGitSync && (_jsxs(Paper, { withBorder: true, p: "sm", radius: "md", children: [_jsx(Text, { size: "sm", fw: 600, children: "Last git sync" }), _jsxs(Text, { size: "xs", c: "dimmed", children: [status.workerStatus?.lastGitSyncAt ?? 'unknown time', " \u00B7 ", lastGitSync.durationMs, "ms \u00B7", ' ', lastGitSync.rebased.length, " rebased \u00B7 ", lastGitSync.skippedDirty.length, " skipped (dirty)", lastGitSync.skippedLocked && lastGitSync.skippedLocked.length > 0
135
+ ? ` · ${lastGitSync.skippedLocked.length} skipped (content write in progress)`
136
+ : ''] }), lastGitSync.failed.length > 0 && (_jsx(Spoiler, { maxHeight: 0, showLabel: `${lastGitSync.failed.length} failed — show details`, hideLabel: "Hide", children: _jsx(Stack, { gap: 4, mt: 4, children: lastGitSync.failed.map((f) => (_jsxs(Text, { size: "xs", c: "red", children: [f.branch, ": ", f.error] }, f.branch))) }) }))] })), _jsx(SimpleGrid, { cols: 5, spacing: "xs", children: ['pending', 'processing', 'completed', 'failed', 'corrupt'].map((key) => (_jsxs(Paper, { withBorder: true, p: "xs", radius: "md", ta: "center", children: [_jsx(Text, { size: "xs", c: "dimmed", tt: "capitalize", children: key }), _jsx(Text, { size: "lg", fw: 700, c: (key === 'failed' || key === 'corrupt') && status.queue[key] > 0 ? 'red' : undefined, children: status.queue[key] })] }, key))) }), status.queue.oldestPendingAgeMs !== undefined && (_jsxs(Text, { size: "xs", c: "dimmed", children: ["Oldest pending task: ", formatAgeMs(status.queue.oldestPendingAgeMs), " old"] })), _jsxs(Group, { justify: "space-between", align: "center", children: [_jsxs(Text, { size: "xs", c: "dimmed", children: ["Generated at ", status.generatedAt] }), _jsx(Button, { size: "xs", variant: "light", onClick: () => refresh(), loading: statusLoading, children: "Refresh" })] }), _jsx(Text, { size: "xs", c: "dimmed", children: "Data may lag up to ~60s (shared-filesystem caching)" })] }));
136
137
  }
137
138
  // ============================================================================
138
139
  // Tasks tab
@@ -213,15 +214,19 @@ function BranchesTab({ health }) {
213
214
  function BranchHealthRow({ entry, onMarkMerged, onRepair, onPurge, }) {
214
215
  if (entry.kind === 'healthy' && entry.branch) {
215
216
  const b = entry.branch;
216
- // [LOW-3] The worker rebases every non-terminal branch, including
217
- // 'locked' ones (only 'submitted'/'approved' -- under an active PR --
218
- // and 'archived' -- already merged -- are excluded, see
219
- // rebaseActiveBranches' skip logic in worker/cms-worker.ts). Gating on
220
- // `status === 'editing'` hid rebase failures on locked branches even
221
- // though the worker was still failing to rebase them every cycle.
217
+ // [LOW-3] Mirror rebaseActiveBranches' skip logic (worker/cms-worker.ts):
218
+ // the worker rebases every branch except 'submitted'/'approved' (under an
219
+ // active PR) and 'archived' (already merged). Stated as an exclusion list
220
+ // rather than `status === 'editing'` so that a status added later shows its
221
+ // rebase failures by default instead of silently hiding them -- the bug
222
+ // this replaced.
222
223
  const showRebaseFailure = !['submitted', 'approved', 'archived'].includes(b.status) && !!b.rebaseFailure;
223
224
  const canMarkMerged = (b.status === 'submitted' || b.status === 'approved') && !!b.pullRequestNumber;
224
- return (_jsxs(Table.Tr, { children: [_jsx(Table.Td, { children: _jsxs(Group, { gap: 4, wrap: "nowrap", children: [_jsx(Text, { size: "sm", children: entry.dirName }), entry.isBaseBranch && (_jsx(Badge, { size: "xs", color: "gray", variant: "outline", children: "base" }))] }) }), _jsx(Table.Td, { children: _jsx(Badge, { color: branchStatusColorMap[b.status] ?? 'neutral', variant: "light", children: b.status }) }), _jsx(Table.Td, { children: b.pullRequestNumber ? (_jsxs(Text, { size: "xs", c: "blue", component: "a", href: b.pullRequestUrl, target: "_blank", rel: "noopener noreferrer", style: { textDecoration: 'underline' }, children: ["PR #", b.pullRequestNumber, b.pullRequestState ? ` (${b.pullRequestState})` : ''] })) : (_jsx(Text, { size: "xs", c: "dimmed", children: "\u2014" })) }), _jsx(Table.Td, { children: b.syncStatus === 'sync-failed' ? (_jsx(Tooltip, { label: "GitHub sync failed \u2014 retry from the Tasks tab", children: _jsx(Badge, { color: "red", variant: "light", children: "sync-failed" }) })) : b.syncStatus === 'pending-sync' ? (_jsx(Badge, { color: "gray", variant: "light", children: "pending-sync" })) : null }), _jsx(Table.Td, { children: _jsxs(Group, { gap: 6, wrap: "nowrap", children: [!!b.conflictFiles?.length && (_jsxs(Badge, { color: "orange", variant: "light", children: [b.conflictFiles.length, " conflict", b.conflictFiles.length === 1 ? '' : 's'] })), showRebaseFailure && b.rebaseFailure && (_jsx(Tooltip, { label: `${b.rebaseFailure.message} (failing since ${b.rebaseFailure.firstAt})`, multiline: true, maw: 320, children: _jsx(ThemeIcon, { color: "yellow", variant: "light", size: "sm", radius: "xl", "data-testid": `rebase-failure-${entry.dirName}`, children: _jsx(IconAlertTriangle, { size: 12 }) }) }))] }) }), _jsx(Table.Td, { children: _jsx(Text, { size: "xs", c: "dimmed", children: b.updatedAt }) }), _jsx(Table.Td, { children: canMarkMerged && (_jsx(Button, { size: "xs", variant: "light", "data-testid": `mark-merged-${b.name}`, onClick: () => onMarkMerged(b.name), children: "Mark merged" })) })] }));
225
+ return (_jsxs(Table.Tr, { children: [_jsx(Table.Td, { children: _jsxs(Group, { gap: 4, wrap: "nowrap", children: [_jsx(Text, { size: "sm", children: entry.dirName }), entry.isBaseBranch && (_jsx(Badge, { size: "xs", color: "gray", variant: "outline", children: "base" }))] }) }), _jsx(Table.Td, { children: _jsx(Badge, { color: branchStatusColorMap[b.status] ?? 'neutral', variant: "light", children: b.status }) }), _jsx(Table.Td, { children: b.pullRequestNumber ? (_jsxs(Text, { size: "xs", c: "blue", component: "a", href: b.pullRequestUrl, target: "_blank", rel: "noopener noreferrer", style: { textDecoration: 'underline' }, children: ["PR #", b.pullRequestNumber, b.pullRequestState ? ` (${b.pullRequestState})` : ''] })) : (_jsx(Text, { size: "xs", c: "dimmed", children: "\u2014" })) }), _jsx(Table.Td, { children: b.syncStatus === 'sync-failed' ? (_jsx(Tooltip, { label: b.syncFailureReason
226
+ ? `${b.syncFailureReason} — retry from the Tasks tab`
227
+ : 'GitHub sync failed — retry from the Tasks tab', multiline: true, maw: 320, children: _jsx(Badge, { color: "red", variant: "light", children: "sync-failed" }) })) : b.syncStatus === 'pending-sync' ? (_jsx(Badge, { color: "gray", variant: "light", children: "pending-sync" })) : null }), _jsx(Table.Td, { children: _jsxs(Group, { gap: 6, wrap: "nowrap", children: [!!b.conflictFiles?.length && (_jsxs(Badge, { color: "orange", variant: "light", children: [b.conflictFiles.length, " conflict", b.conflictFiles.length === 1 ? '' : 's'] })), showRebaseFailure && b.rebaseFailure && (_jsx(Tooltip, { label: `${b.rebaseFailure.message} (failing since ${b.rebaseFailure.firstAt})`, multiline: true, maw: 320, children: _jsx(ThemeIcon, { color: "yellow", variant: "light", size: "sm", radius: "xl", "data-testid": `rebase-failure-${entry.dirName}`, children: _jsx(IconAlertTriangle, { size: 12 }) }) })), !!entry.duplicateContentIds?.length && (_jsx(Tooltip, { label: entry.duplicateContentIds
228
+ .map((d) => `${d.id}: kept ${d.keptPath}; also on ${d.droppedPaths.join(', ')}`)
229
+ .join('\n'), multiline: true, maw: 420, style: { whiteSpace: 'pre-line' }, children: _jsxs(Badge, { color: "orange", variant: "light", "data-testid": `duplicate-content-ids-${entry.dirName}`, children: [entry.duplicateContentIds.length, " duplicate ID", entry.duplicateContentIds.length === 1 ? '' : 's'] }) }))] }) }), _jsx(Table.Td, { children: _jsx(Text, { size: "xs", c: "dimmed", children: b.updatedAt }) }), _jsx(Table.Td, { children: canMarkMerged && (_jsx(Button, { size: "xs", variant: "light", "data-testid": `mark-merged-${b.name}`, onClick: () => onMarkMerged(b.name), children: "Mark merged" })) })] }));
225
230
  }
226
231
  if (entry.kind === 'corrupt-metadata') {
227
232
  const purgeGate = purgeGateFor(entry);
@@ -1 +1 @@
1
- {"version":3,"file":"SystemHealthPanel.js","sourceRoot":"","sources":["../../../src/editor/admin/SystemHealthPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SystemHealthPanel.js","sourceRoot":"","sources":["../../../src/editor/admin/SystemHealthPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,eAAe,GAIhB,MAAM,mBAAmB,CAAA;AAM1B,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,0BAA0B,GAAG,CAAC,GAAG,MAAM,CAAA;AAC7C,MAAM,yBAAyB,GAAG,EAAE,GAAG,MAAM,CAAA;AAE7C,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;AAC/D,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,EAAU;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1C,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,GAAG,YAAY,GAAG,CAAA;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;IAClD,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,GAAG,YAAY,GAAG,CAAA;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;IAChD,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,UAAU,KAAK,YAAY,GAAG,EAAE,GAAG,CAAA;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;IAC7C,OAAO,GAAG,SAAS,KAAK,UAAU,GAAG,EAAE,GAAG,CAAA;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,YAAY,CAAC,KAAwB;IAC5C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAA;IAC3E,CAAC;IACD,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,0BAA0B,CAAA;IACvF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,yBAAyB,CAAA;QAC/D,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAA;QACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;IACnF,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,SAAS;KACnE,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAsB,EACtB,IAAmB;IAEnB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAC5D,CAAC;IACD,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;QACnD,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAA;QACrE,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACpD,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,0DAA0D;AAC1D,MAAM,oBAAoB,GAA2B;IACnD,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,MAAM;CACjB,CAAA;AAED,MAAM,mBAAmB,GAAgD;IACvE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAC5C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CACvC,CAAA;AACD,MAAM,kBAAkB,GAA+B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC9F,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAClE,CAAC;AAED,+EAA+E;AAC/E,oEAAoE;AACpE,oEAAoE;AACpE,+EAA+E;AAE/E,MAAM,kBAAkB,GACtB,oGAAoG,CAAA;AAEtG,SAAS,iBAAiB,CAAC,MAAuB;IAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,oKAAoK,CAAA;IAC7K,CAAC;IACD,OAAO,gEAAgE,CAAA;AACzE,CAAC;AAED,MAAM,wBAAwB,GAC5B,2IAA2I,CAAA;AAE7I,MAAM,mBAAmB,GACvB,kKAAkK,CAAA;AAEpK,MAAM,kBAAkB,GACtB,kKAAkK,CAAA;AAWpK,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B;IAC3E,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAElD,OAAO,CACL,KAAC,KAAK,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,YACtE,MAAC,IAAI,IAAC,YAAY,EAAC,UAAU,aAC3B,MAAC,IAAI,CAAC,IAAI,eACR,KAAC,IAAI,CAAC,GAAG,IAAC,KAAK,EAAC,UAAU,yBAAoB,EAC9C,KAAC,IAAI,CAAC,GAAG,IAAC,KAAK,EAAC,OAAO,sBAAiB,EACxC,KAAC,IAAI,CAAC,GAAG,IAAC,KAAK,EAAC,UAAU,yBAAoB,IACpC,EACZ,KAAC,IAAI,CAAC,KAAK,IAAC,KAAK,EAAC,UAAU,EAAC,EAAE,EAAC,IAAI,YAClC,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GACpB,EACb,KAAC,IAAI,CAAC,KAAK,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,YAC/B,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,GACjB,EACb,KAAC,IAAI,CAAC,KAAK,IAAC,KAAK,EAAC,UAAU,EAAC,EAAE,EAAC,IAAI,YAClC,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GACpB,IACR,GACD,CACT,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,SAAS,WAAW,CAAC,EAAE,MAAM,EAAqC;IAChE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAE5E,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAC7B,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,aAC7B,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,EACpB,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,kCAEnB,IACD,CACT,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CACL,MAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,aACpC,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,qCAEnB,EACP,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,wBAEjD,IACH,CACT,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAChE,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,cAAc,CAAA;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,WAAW,CAAA;IAEpD,OAAO,CACL,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,aACZ,KAAK,IAAI,CACR,KAAC,KAAK,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAC,OAAO,YACpE,KAAK,GACA,CACT,EAED,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,aACb,KAAC,KAAK,IAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,YACpD,QAAQ,CAAC,KAAK,GACT,EACP,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,CACxB,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,2CAEnB,CACR,IACK,EAEP,kBAAkB,IAAI,cAAc,IAAI,CACvC,MAAC,KAAK,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,KAAK,EAAC,uBAAuB,aACnF,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,cAAc,CAAC,OAAO,GAAQ,EAC/C,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,oBAC1B,cAAc,CAAC,EAAE,QAAI,cAAc,CAAC,KAAK,SACxC,IACD,CACT,EAEA,MAAM,CAAC,eAAe,IAAI,CACzB,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,wDACgB,MAAM,CAAC,eAAe,SACzD,CACR,EAEA,MAAM,CAAC,YAAY,EAAE,gBAAgB,IAAI,CACxC,MAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,KAAK,EAAC,sBAAsB,aACrF,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,GAAQ,EACrE,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,oBAC1B,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,IACtC,IACD,CACT,EAEA,WAAW,IAAI,CACd,MAAC,KAAK,IAAC,UAAU,QAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,aAClC,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,GAAG,8BAEhB,EACP,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,aACvB,MAAM,CAAC,YAAY,EAAE,aAAa,IAAI,cAAc,cAAK,WAAW,CAAC,UAAU,eAAM,GAAG,EACxF,WAAW,CAAC,OAAO,CAAC,MAAM,sBAAa,WAAW,CAAC,YAAY,CAAC,MAAM,sBAGtE,WAAW,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gCAChE,CAAC,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,sCAAsC;gCAC9E,CAAC,CAAC,EAAE,IACD,EACN,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,KAAC,OAAO,IACN,SAAS,EAAE,CAAC,EACZ,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,wBAAwB,EAC/D,SAAS,EAAC,MAAM,YAEhB,KAAC,KAAK,IAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YACjB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC7B,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,aACpB,CAAC,CAAC,MAAM,QAAI,CAAC,CAAC,KAAK,KADO,CAAC,CAAC,MAAM,CAE9B,CACR,CAAC,GACI,GACA,CACX,IACK,CACT,EAED,KAAC,UAAU,IAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAC,IAAI,YAC7B,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACnF,MAAC,KAAK,IAAW,UAAU,QAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,QAAQ,aACxD,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAC,YAAY,YACvC,GAAG,GACC,EACP,KAAC,IAAI,IACH,IAAI,EAAC,IAAI,EACT,EAAE,EAAE,GAAG,EACP,CAAC,EACC,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,YAGrF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GACb,KAZG,GAAG,CAaP,CACT,CAAC,GACS,EACZ,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS,IAAI,CAChD,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,sCACF,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAC7D,CACR,EAED,MAAC,KAAK,IAAC,OAAO,EAAC,eAAe,EAAC,KAAK,EAAC,QAAQ,aAC3C,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,8BACV,MAAM,CAAC,WAAW,IAC3B,EACP,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,wBAEzE,IACH,EACR,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,oEAEnB,IACD,CACT,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,SAAS,QAAQ,CAAC,EAAE,MAAM,EAAqC;IAC7D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IACjE,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,CAAA;IAC1C,MAAM,QAAQ,GAAW,KAAK,EAAE,KAAK,IAAI,EAAE,CAAA;IAC3C,MAAM,WAAW,GAAsB,KAAK,EAAE,YAAY,IAAI,EAAE,CAAA;IAChE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;IAC5E,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS,CAAA;IAEjG,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,EAAE;QACtC,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,kBAAkB,GAAQ;YACrD,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9C,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAChC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;SAC3C,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,MAA2B,EAAE,QAAgB,EAAE,EAAE;QAC1E,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,iBAAiB,CAAC,MAAM,CAAC,GAAQ;YAC5D,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC/C,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;SACrD,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,CACL,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,aACb,KAAC,gBAAgB,IACf,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,iBAAiB,CAAC,KAAK,CAAC;wBAAE,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpD,CAAC,GACD,EAED,YAAY,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnE,MAAC,KAAK,IAAC,OAAO,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,aAC7B,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,EACpB,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,iCAEnB,IACD,CACT,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,oBAC5B,UAAU,eACT,CACR,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,CAAC,eAAe,IAAC,QAAQ,EAAE,GAAG,YAClC,MAAC,KAAK,eACJ,KAAC,KAAK,CAAC,KAAK,cACV,KAAC,KAAK,CAAC,EAAE,cACN,SAAS,CAAC,CAAC,CAAC,CACX,8BACE,KAAC,KAAK,CAAC,EAAE,uBAAgB,EACzB,KAAC,KAAK,CAAC,EAAE,uBAAgB,EACzB,KAAC,KAAK,CAAC,EAAE,2BAAoB,EAC7B,KAAC,KAAK,CAAC,EAAE,8BAAuB,EAChC,KAAC,KAAK,CAAC,EAAE,0BAAmB,IAC3B,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,KAAK,CAAC,EAAE,qBAAc,EACvB,KAAC,KAAK,CAAC,EAAE,yBAAkB,EAC3B,KAAC,KAAK,CAAC,EAAE,0BAAmB,EAC5B,KAAC,KAAK,CAAC,EAAE,0BAAmB,EAC5B,KAAC,KAAK,CAAC,EAAE,wBAAiB,EAC1B,KAAC,KAAK,CAAC,EAAE,0BAAmB,IAC3B,CACJ,GACQ,GACC,EACd,KAAC,KAAK,CAAC,KAAK,cACT,SAAS;gCACR,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,MAAC,KAAK,CAAC,EAAE,eACP,KAAC,KAAK,CAAC,EAAE,cACP,eAAM,KAAK,EAAE,IAAI,CAAC,QAAQ,YAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAQ,GACvD,EACX,MAAC,KAAK,CAAC,EAAE,eAAE,IAAI,CAAC,IAAI,cAAkB,EACtC,KAAC,KAAK,CAAC,EAAE,cAAE,IAAI,CAAC,KAAK,GAAY,EACjC,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,IAAI,IAAC,KAAK,QAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,YACzD,IAAI,CAAC,UAAU,GACX,GACE,EACX,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,KAAK,iBACE,eAAe,IAAI,CAAC,QAAQ,EAAE,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAGnD,GACA,KArBE,IAAI,CAAC,QAAQ,CAsBjB,CACZ,CAAC;gCACJ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrB,MAAC,KAAK,CAAC,EAAE,eACP,KAAC,KAAK,CAAC,EAAE,cACP,eAAM,KAAK,EAAE,IAAI,CAAC,EAAE,YAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAQ,GAC3C,EACX,KAAC,KAAK,CAAC,EAAE,cAAE,IAAI,CAAC,MAAM,GAAY,EAClC,KAAC,KAAK,CAAC,EAAE,cAAE,IAAI,CAAC,SAAS,GAAY,EACrC,KAAC,KAAK,CAAC,EAAE,cAAE,IAAI,CAAC,UAAU,IAAI,CAAC,GAAY,EAC3C,KAAC,KAAK,CAAC,EAAE,cACN,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,KAAC,OAAO,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,QAAC,GAAG,EAAE,GAAG,YAC5C,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YACtC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,GACpB,GACC,CACX,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,uBAEnB,CACR,GACQ,EACX,KAAC,KAAK,CAAC,EAAE,cACP,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,aACZ,UAAU,KAAK,QAAQ,IAAI,CAC1B,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,iBACF,cAAc,IAAI,CAAC,EAAE,EAAE,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAG9B,CACV,EACA,SAAS,IAAI,CACZ,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,KAAK,iBACE,eAAe,IAAI,CAAC,EAAE,EAAE,EACrC,OAAO,EAAE,GAAG,EAAE,CACZ,iBAAiB,CACf,UAAiC,EACjC,GAAG,IAAI,CAAC,EAAE,OAAO,CAClB,uBAII,CACV,IACK,GACC,KAjDE,IAAI,CAAC,EAAE,CAkDX,CACZ,CAAC,GACM,IACR,GACc,CACzB,IACK,CACT,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,SAAS,WAAW,CAAC,EAAE,MAAM,EAAqC;IAChE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAA;IACpD,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,IAAI,EAAE,CAAA;IAE3C,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAE,EAAE;QACnD,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,uBAAuB;YAC9B,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,wBAAwB,GAAQ;YAC3D,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;YACpD,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAChC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;SAC/C,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC5C,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,mBAAmB,GAAQ;YACtD,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC/C,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAChC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;SAC3C,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC3C,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,kBAAkB,GAAQ;YACrD,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9C,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SAC1C,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,IAAI,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,aAC7B,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,EACpB,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,yCAEnB,IACD,CACT,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,6CAE3B,CACR,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,KAAK,CAAC,eAAe,IAAC,QAAQ,EAAE,GAAG,YAClC,MAAC,KAAK,eACJ,KAAC,KAAK,CAAC,KAAK,cACV,MAAC,KAAK,CAAC,EAAE,eACP,KAAC,KAAK,CAAC,EAAE,uBAAgB,EACzB,KAAC,KAAK,CAAC,EAAE,yBAAkB,EAC3B,KAAC,KAAK,CAAC,EAAE,qBAAc,EACvB,KAAC,KAAK,CAAC,EAAE,uBAAgB,EACzB,KAAC,KAAK,CAAC,EAAE,2BAAoB,EAC7B,KAAC,KAAK,CAAC,EAAE,0BAAmB,EAC5B,KAAC,KAAK,CAAC,EAAE,0BAAmB,IACnB,GACC,EACd,KAAC,KAAK,CAAC,KAAK,cACT,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,KAAC,eAAe,IAEd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,qBAAqB,EACnC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,IAJpB,KAAK,CAAC,OAAO,CAKlB,CACH,CAAC,GACU,IACR,GACc,CACzB,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,GAMR;IACC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACtB,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,iBAAiB;QACjB,MAAM,iBAAiB,GACrB,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;QAChF,MAAM,aAAa,GACjB,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAA;QAEhF,OAAO,CACL,MAAC,KAAK,CAAC,EAAE,eACP,KAAC,KAAK,CAAC,EAAE,cACP,MAAC,KAAK,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,aAC1B,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,KAAK,CAAC,OAAO,GAAQ,EACrC,KAAK,CAAC,YAAY,IAAI,CACrB,KAAC,KAAK,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,qBAEvC,CACT,IACK,GACC,EACX,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,KAAK,IAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,OAAO,EAAC,OAAO,YACvE,CAAC,CAAC,MAAM,GACH,GACC,EACX,KAAC,KAAK,CAAC,EAAE,cACN,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACrB,MAAC,IAAI,IACH,IAAI,EAAC,IAAI,EACT,CAAC,EAAC,MAAM,EACR,SAAS,EAAC,GAAG,EACb,IAAI,EAAE,CAAC,CAAC,cAAc,EACtB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,KAAK,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,qBAEjC,CAAC,CAAC,iBAAiB,EACvB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,IAChD,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,uBAEnB,CACR,GACQ,EACX,KAAC,KAAK,CAAC,EAAE,cACN,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,CAChC,KAAC,OAAO,IACN,KAAK,EACH,CAAC,CAAC,iBAAiB;4BACjB,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,6BAA6B;4BACrD,CAAC,CAAC,+CAA+C,EAErD,SAAS,QACT,GAAG,EAAE,GAAG,YAER,KAAC,KAAK,IAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,4BAE1B,GACA,CACX,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,CACpC,KAAC,KAAK,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,6BAE3B,CACT,CAAC,CAAC,CAAC,IAAI,GACC,EACX,KAAC,KAAK,CAAC,EAAE,cACP,MAAC,KAAK,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,aACzB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,IAAI,CAC5B,MAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,aAClC,CAAC,CAAC,aAAa,CAAC,MAAM,eAAW,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IACnE,CACT,EACA,iBAAiB,IAAI,CAAC,CAAC,aAAa,IAAI,CACvC,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,mBAAmB,CAAC,CAAC,aAAa,CAAC,OAAO,GAAG,EAC9E,SAAS,QACT,GAAG,EAAE,GAAG,YAER,KAAC,SAAS,IACR,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,MAAM,EAAC,IAAI,iBACE,kBAAkB,KAAK,CAAC,OAAO,EAAE,YAE9C,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GACrB,GACJ,CACX,EAWA,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,IAAI,CACtC,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,CAAC,mBAAmB;qCAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qCAC/E,IAAI,CAAC,IAAI,CAAC,EACb,SAAS,QACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAEjC,MAAC,KAAK,IACJ,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,OAAO,iBACF,yBAAyB,KAAK,CAAC,OAAO,EAAE,aAEpD,KAAK,CAAC,mBAAmB,CAAC,MAAM,mBAChC,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAC5C,GACA,CACX,IACK,GACC,EACX,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,YACvB,CAAC,CAAC,SAAS,GACP,GACE,EACX,KAAC,KAAK,CAAC,EAAE,cACN,aAAa,IAAI,CAChB,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,iBACF,eAAe,CAAC,CAAC,IAAI,EAAE,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,4BAG5B,CACV,GACQ,IACF,CACZ,CAAA;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QACrC,OAAO,CACL,MAAC,KAAK,CAAC,EAAE,IAAC,KAAK,EAAE,EAAE,eAAe,EAAE,gCAAgC,EAAE,aACpE,KAAC,KAAK,CAAC,EAAE,cAAE,KAAK,CAAC,OAAO,GAAY,EACpC,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,KAAK,IAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,iCAE1B,GACC,EACX,KAAC,KAAK,CAAC,EAAE,IAAC,OAAO,EAAE,CAAC,YAClB,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,QAAC,GAAG,EAAE,GAAG,YAClD,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,KAAK,YACpB,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,qBAAqB,EAAE,EAAE,CAAC,GACnD,GACC,GACD,EACX,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,YACvB,KAAK,CAAC,SAAS,IAAI,GAAG,GAClB,GACE,EACX,KAAC,KAAK,CAAC,EAAE,cACP,MAAC,KAAK,IAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,aAC3B,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,iBACF,cAAc,KAAK,CAAC,OAAO,EAAE,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,uBAG/B,EACT,KAAC,OAAO,IAAC,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,YAC9D,yBACE,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,KAAK,EACX,QAAQ,EAAE,SAAS,CAAC,QAAQ,iBACf,aAAa,KAAK,CAAC,OAAO,EAAE,EACzC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,sBAG9B,GACJ,GACC,IACJ,GACC,IACF,CACZ,CAAA;IACH,CAAC;IAED,SAAS;IACT,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,OAAO,CACL,MAAC,KAAK,CAAC,EAAE,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAChC,KAAC,KAAK,CAAC,EAAE,cAAE,KAAK,CAAC,OAAO,GAAY,EACpC,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,KAAK,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,uBAE7B,GACC,EACX,KAAC,KAAK,CAAC,EAAE,IAAC,OAAO,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,aACvB,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,aAAI,GAAG,EACpF,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,IACpC,GACE,EACX,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,YACvB,KAAK,CAAC,QAAQ,IAAI,GAAG,GACjB,GACE,EACX,KAAC,KAAK,CAAC,EAAE,cACP,KAAC,OAAO,IAAC,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,YAC9D,yBACE,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,KAAK,EACX,QAAQ,EAAE,SAAS,CAAC,QAAQ,iBACf,aAAa,KAAK,CAAC,OAAO,EAAE,EACzC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,sBAG9B,GACJ,GACC,GACD,IACF,CACZ,CAAA;AACH,CAAC"}
@@ -140,6 +140,12 @@ export interface EditorHeaderProps {
140
140
  * Disables Save and shows the "create a branch" banner below. Default false.
141
141
  */
142
142
  branchReadOnly?: boolean;
143
+ /**
144
+ * Server-computed: content writes are rejected on this branch, for either
145
+ * reason (base-branch read-only, or a status past 'editing'). Combined with
146
+ * `branchReadOnly` to pick which of the two banners to show. Default false.
147
+ */
148
+ branchWriteBlocked?: boolean;
143
149
  }
144
150
  /**
145
151
  * Header component for the Editor.
@@ -1 +1 @@
1
- {"version":3,"file":"EditorHeader.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAA;IAE5B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAE5B;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAExD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAEtC;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAA;IAE3B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAA;IAExB;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAEnC;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAA;IAEjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAA;IAEpB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEnD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEpE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,8GA0WvB,CAAA"}
1
+ {"version":3,"file":"EditorHeader.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAIpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAA;IAE5B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAE5B;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAExD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAEtC;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAA;IAE3B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAA;IAExB;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAEnC;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAE9B;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAA;IAEjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAE/B;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAA;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAA;IAEpB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,YAAY,EAAE,YAAY,GAAG,SAAS,CAAA;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEnD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAEpE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,8GAkavB,CAAA"}
@@ -13,7 +13,6 @@ const getStatusColor = (status) => {
13
13
  editing: 'brand',
14
14
  submitted: 'green',
15
15
  approved: 'teal',
16
- locked: 'yellow',
17
16
  archived: 'gray',
18
17
  };
19
18
  return statusColorMap[status] ?? 'gray';
@@ -50,12 +49,32 @@ const getStatusColor = (status) => {
50
49
  * />
51
50
  * ```
52
51
  */
53
- export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSubtitle, headerTitle, currentEntry, branchName, operatingMode, busy, breadcrumbSegments, editedFiles, modifiedCount, unresolvedCommentCount: _, comments, onNavigatorOpen, onFileReload, onFileDiscardDraft, onEntrySelect, onBranchReloadData, onBranchDiscardDrafts, onBranchManagerOpen, onCommentsPanelOpen, onSave, onSubmit, hasUnsavedChanges, branchStatus, onWithdraw, userContext, branchCreatedBy, branchAccess, branchIsProtected = false, branchReadOnly = false, }, ref) {
54
- // The base branch's readOnly flag takes precedence (it's a structural
55
- // property, not a workflow state). Otherwise, any non-'editing' status
56
- // means content is locked for review — save/add actions must be blocked
57
- // client-side too, not just rejected server-side by the writableBranch guard.
58
- const statusLocked = !branchReadOnly && branchStatus !== undefined && branchStatus !== 'editing';
52
+ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSubtitle, headerTitle, currentEntry, branchName, operatingMode, busy, breadcrumbSegments, editedFiles, modifiedCount, unresolvedCommentCount: _, comments, onNavigatorOpen, onFileReload, onFileDiscardDraft, onEntrySelect, onBranchReloadData, onBranchDiscardDrafts, onBranchManagerOpen, onCommentsPanelOpen, onSave, onSubmit, hasUnsavedChanges, branchStatus, onWithdraw, userContext, branchCreatedBy, branchAccess, branchIsProtected = false, branchReadOnly = false, branchWriteBlocked = false, }, ref) {
53
+ // `branchWriteBlocked` is the server's own answer (getBranchProtection, the
54
+ // same call the writableBranch guard makes), so Save can never be enabled for
55
+ // a write the API would reject. `branchReadOnly` only picks WHICH banner: the
56
+ // base branch's is a structural property and takes precedence over a workflow
57
+ // status lock.
58
+ const statusLocked = branchWriteBlocked && !branchReadOnly;
59
+ // The lock now fails CLOSED while the branch list is unresolved (Editor.tsx's
60
+ // `branchContentLocked` is `?? true`), which is right -- but `branchStatus` is
61
+ // `currentBranch?.status`, i.e. undefined in that same window. Without this
62
+ // distinction every banner and tooltip below interpolated it directly and read
63
+ // `Branch "main" is undefined - content is read-only`, on ordinary initial load
64
+ // and permanently after a failed branches fetch. Worse under version skew,
65
+ // where the status IS known ('editing') and the copy would assert a status
66
+ // lock the status plainly contradicts. So: locked, but say why honestly.
67
+ //
68
+ // Provably behavior-neutral for supported deployments: writeBlocked =
69
+ // readOnly || status !== 'editing', so when status === 'editing' that
70
+ // reduces to writeBlocked === readOnly. statusLocked = branchWriteBlocked
71
+ // && !branchReadOnly, so the new 'editing' arm below would require
72
+ // readOnly && !readOnly -- impossible. It is unreachable against any
73
+ // current server and only changes what renders under version skew (an old
74
+ // server that omits writeBlocked while still sending status: 'editing'),
75
+ // where it replaces the self-contradicting "Branch is editing — content is
76
+ // read-only" with the honest data-unavailable copy.
77
+ const branchDataUnavailable = statusLocked && (branchStatus === undefined || branchStatus === 'editing');
59
78
  return (_jsx(Paper, { ref: ref, shadow: "md", withBorder: true, radius: 0, px: 0, py: 0, style: {
60
79
  position: 'fixed',
61
80
  top: 0,
@@ -87,13 +106,15 @@ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSu
87
106
  fontWeight: 600,
88
107
  }, children: comments.filter((t) => !t.resolved).length }))] }))] })] }), _jsxs(Group, { gap: "xs", wrap: "nowrap", children: [_jsx(Tooltip, { label: branchReadOnly
89
108
  ? 'The base branch is read-only'
90
- : statusLocked
91
- ? branchStatus === 'submitted'
92
- ? 'This branch is submitted for review — withdraw it to make changes'
93
- : `This branch is ${branchStatus} — content is read-only`
94
- : !hasUnsavedChanges && currentEntry
95
- ? 'No changes to save'
96
- : '', disabled: !branchReadOnly && !statusLocked && (hasUnsavedChanges || !currentEntry), children: _jsx(Button, { "data-testid": "save-button", variant: "light", size: "sm", onClick: onSave, disabled: !branchName ||
109
+ : branchDataUnavailable
110
+ ? 'Branch details are still loading — saving is disabled until they arrive'
111
+ : statusLocked
112
+ ? branchStatus === 'submitted'
113
+ ? 'This branch is submitted for review — withdraw it to make changes'
114
+ : `This branch is ${branchStatus} — content is read-only`
115
+ : !hasUnsavedChanges && currentEntry
116
+ ? 'No changes to save'
117
+ : '', disabled: !branchReadOnly && !statusLocked && (hasUnsavedChanges || !currentEntry), children: _jsx(Button, { "data-testid": "save-button", variant: "light", size: "sm", onClick: onSave, disabled: !branchName ||
97
118
  !currentEntry ||
98
119
  busy ||
99
120
  !hasUnsavedChanges ||
@@ -101,11 +122,17 @@ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSu
101
122
  statusLocked, children: "Save File" }) }), (() => {
102
123
  const isSubmitted = branchStatus === 'submitted';
103
124
  const isEditing = branchStatus === 'editing';
125
+ // 'approved' withdraws too -- it is that status's only
126
+ // non-destructive exit now that the submit status gate refuses a
127
+ // non-editing branch (api/branch-status.ts, api/branch-withdraw.ts).
128
+ // This button is a two-state toggle, so every withdrawable status
129
+ // has to drive the withdraw side of it, not just 'submitted'.
130
+ const isWithdrawable = isSubmitted || branchStatus === 'approved';
104
131
  // The protected base branch can never be submitted for review (both
105
132
  // modes); hide the button entirely rather than showing it disabled.
106
133
  // Withdraw stays available as the recovery path for a base branch
107
134
  // wrongly stuck in 'submitted'.
108
- if (branchIsProtected && !isSubmitted)
135
+ if (branchIsProtected && !isWithdrawable)
109
136
  return null;
110
137
  // Check if user can perform workflow actions (creator OR ACL access OR system
111
138
  // branch OR privileged). Admins/Reviewers must be able to withdraw a protected
@@ -120,13 +147,39 @@ export const EditorHeader = forwardRef(function EditorHeader({ siteTitle, siteSu
120
147
  userContext.groups?.some((g) => branchAccess.allowedGroups?.includes(g)));
121
148
  const userIsPrivileged = !!userContext &&
122
149
  (isAdmin(userContext.groups ?? []) || isReviewer(userContext.groups ?? []));
123
- const canPerformAction = (userIsCreator || userInACL || isSystemBranch || userIsPrivileged) &&
124
- (isEditing || isSubmitted);
125
- return (_jsx(Tooltip, { label: !canPerformAction
126
- ? 'You do not have permission to submit or withdraw this branch'
127
- : '', disabled: canPerformAction, children: _jsx(Button, { size: "sm", color: isSubmitted ? 'orange' : 'brand', onClick: isSubmitted ? onWithdraw : onSubmit, disabled: !branchName || busy || !canPerformAction, "data-testid": isSubmitted ? 'withdraw-button' : 'submit-button', children: isSubmitted ? 'Withdraw Branch...' : 'Submit Branch...' }) }));
128
- })()] })] }), branchReadOnly && (_jsx(Alert, { icon: _jsx(IconLock, { size: 16 }), color: "yellow", variant: "light", mt: "sm", "data-testid": "protected-branch-banner", children: _jsxs(Group, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [_jsx(Text, { size: "sm", children: `You are viewing the protected base branch "${branchName}". Content is read-only — create a branch to make changes.` }), _jsx(Button, { size: "xs", variant: "light", color: "yellow", onClick: onBranchManagerOpen, children: "Create a branch" })] }) })), statusLocked && (_jsx(Alert, { icon: _jsx(IconLock, { size: 16 }), color: "yellow", variant: "light", mt: "sm", "data-testid": "status-locked-banner", children: _jsxs(Group, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [_jsx(Text, { size: "sm", children: branchStatus === 'submitted'
129
- ? `Branch "${branchName}" is submitted for review and locked for edits. Use Withdraw Branch above to resume editing.`
130
- : `Branch "${branchName}" is ${branchStatus} — content is read-only.` }), _jsx(Button, { size: "xs", variant: "light", color: "yellow", onClick: onBranchManagerOpen, children: "Manage Branches" })] }) }))] }) }));
150
+ const userHasPermission = userIsCreator || userInACL || isSystemBranch || userIsPrivileged;
151
+ // A status with no available transition (today: 'archived') is a
152
+ // separate condition from lacking permission, and conflating them
153
+ // sent people to an admin to fix a non-permissions problem.
154
+ const statusHasAction = isEditing || isWithdrawable;
155
+ const canPerformAction = userHasPermission && statusHasAction;
156
+ return (_jsx(Tooltip, { label:
157
+ // The unknown-status arm mirrors the banner's: with no
158
+ // branch data, `statusHasAction` is false (undefined is
159
+ // neither 'editing' nor withdrawable) and this label used
160
+ // to interpolate it as "This branch is undefined and has
161
+ // no submit or withdraw action available".
162
+ //
163
+ // Latent rather than live TODAY, and only by accident:
164
+ // Editor.tsx passes `branchIsProtected={... ?? true}` since
165
+ // the fail-closed change, so in that same window the early
166
+ // return above (`branchIsProtected && !isWithdrawable`)
167
+ // unmounts this button before the tooltip can render. That
168
+ // is one guard away from being user-visible -- relax the
169
+ // `?? true`, or pass `branchIsProtected={false}` from
170
+ // anywhere, and the copy is live. Guarding it here rather
171
+ // than relying on an unrelated condition to keep hiding it.
172
+ branchStatus === undefined
173
+ ? 'Branch data could not be loaded, so no submit or withdraw action is available'
174
+ : !statusHasAction
175
+ ? `This branch is ${branchStatus} and has no submit or withdraw action available`
176
+ : !userHasPermission
177
+ ? 'You do not have permission to submit or withdraw this branch'
178
+ : '', disabled: canPerformAction, children: _jsx(Button, { size: "sm", color: isWithdrawable ? 'orange' : 'brand', onClick: isWithdrawable ? onWithdraw : onSubmit, disabled: !branchName || busy || !canPerformAction, "data-testid": isWithdrawable ? 'withdraw-button' : 'submit-button', children: isWithdrawable ? 'Withdraw Branch...' : 'Submit Branch...' }) }));
179
+ })()] })] }), branchReadOnly && (_jsx(Alert, { icon: _jsx(IconLock, { size: 16 }), color: "yellow", variant: "light", mt: "sm", "data-testid": "protected-branch-banner", children: _jsxs(Group, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [_jsx(Text, { size: "sm", children: `You are viewing the protected base branch "${branchName}". Content is read-only — create a branch to make changes.` }), _jsx(Button, { size: "xs", variant: "light", color: "yellow", onClick: onBranchManagerOpen, children: "Create a branch" })] }) })), statusLocked && (_jsx(Alert, { icon: _jsx(IconLock, { size: 16 }), color: "yellow", variant: "light", mt: "sm", "data-testid": "status-locked-banner", children: _jsxs(Group, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [_jsx(Text, { size: "sm", children: branchDataUnavailable
180
+ ? `Branch details for "${branchName}" could not be loaded, so content is locked until they arrive. Use Manage Branches to retry.`
181
+ : branchStatus === 'submitted'
182
+ ? `Branch "${branchName}" is submitted for review and locked for edits. Use Withdraw Branch above to resume editing.`
183
+ : `Branch "${branchName}" is ${branchStatus} — content is read-only.` }), _jsx(Button, { size: "xs", variant: "light", color: "yellow", onClick: onBranchManagerOpen, children: "Manage Branches" })] }) }))] }) }));
131
184
  });
132
185
  //# sourceMappingURL=EditorHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorHeader.js","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorHeader.js","sourceRoot":"","sources":["../../../src/editor/components/EditorHeader.tsx"],"names":[],"mappings":"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"}
@@ -22,6 +22,14 @@ export interface EntryCreateModalProps {
22
22
  isCreating?: boolean;
23
23
  /** Error message to display */
24
24
  error?: string | null;
25
+ /**
26
+ * Slugs already taken in the target collection (from the already-loaded
27
+ * entries list). Used to reject an obvious collision client-side with a
28
+ * clear message, instead of the server returning a 409 (or, for entry
29
+ * types with no required fields, silently succeeding via an update path
30
+ * that never mentions the real problem).
31
+ */
32
+ existingSlugs?: Set<string>;
25
33
  }
26
- export declare function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating, error, }: EntryCreateModalProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating, error, existingSlugs, }: EntryCreateModalProps): import("react/jsx-runtime").JSX.Element;
27
35
  //# sourceMappingURL=EntryCreateModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntryCreateModal.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,yDAAyD;IACzD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,UAAkB,EAClB,KAAY,GACb,EAAE,qBAAqB,2CA6IvB"}
1
+ {"version":3,"file":"EntryCreateModal.d.ts","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,yDAAyD;IACzD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,6CAA6C;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,UAAkB,EAClB,KAAY,EACZ,aAAa,GACd,EAAE,qBAAqB,2CA6JvB"}
@@ -8,10 +8,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  * - Entering slug for new entry
9
9
  * - Validation and error handling
10
10
  */
11
- import { useState, useEffect } from 'react';
11
+ import { useState, useEffect, useRef } from 'react';
12
12
  import { Modal, Stack, TextInput, Group, Button, Alert, Text, Select } from '@mantine/core';
13
13
  import { IconAlertCircle } from '@tabler/icons-react';
14
- export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating = false, error = null, }) {
14
+ /** Slug the form is seeded with each time the modal opens. */
15
+ const DEFAULT_SLUG = 'untitled';
16
+ export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selectedEntryTypeName, onCreate, onClose, isCreating = false, error = null, existingSlugs, }) {
15
17
  // Helper to get default or first entry type
16
18
  const getDefaultEntryTypeName = () => {
17
19
  if (selectedEntryTypeName)
@@ -22,18 +24,31 @@ export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selected
22
24
  const defaultType = entryTypes.find((et) => et.default);
23
25
  return defaultType?.name || entryTypes[0]?.name || '';
24
26
  };
25
- const [slug, setSlug] = useState('untitled');
27
+ const [slug, setSlug] = useState(DEFAULT_SLUG);
26
28
  const [entryTypeName, setEntryTypeName] = useState(getDefaultEntryTypeName());
27
29
  const [validationError, setValidationError] = useState(null);
28
- // Reset state when modal opens
30
+ // Seed the form once per open, on the closed -> open transition.
31
+ //
32
+ // This deliberately keys on `isOpen` alone. It used to key on the prop
33
+ // *values* (`[isOpen, selectedEntryTypeName, entryTypes]`), but `entryTypes`
34
+ // is an array that callers build inline - a fresh identity on every parent
35
+ // render - so any re-render while the modal was open re-ran this block and
36
+ // silently discarded what the user had typed or selected. The entry was then
37
+ // written to disk under the default slug with no error surfaced.
38
+ //
39
+ // Seeding is a lifecycle event, not a derivation of the current props, so the
40
+ // narrow dep array is the point. Do not "fix" it by adding the props read
41
+ // below (`entryTypes`, `selectedEntryTypeName`) back in.
42
+ const wasOpenRef = useRef(false);
29
43
  useEffect(() => {
30
- if (isOpen) {
31
- setSlug('untitled');
44
+ if (isOpen && !wasOpenRef.current) {
45
+ setSlug(DEFAULT_SLUG);
32
46
  setEntryTypeName(getDefaultEntryTypeName());
33
47
  setValidationError(null);
34
48
  }
49
+ wasOpenRef.current = isOpen;
35
50
  // eslint-disable-next-line react-hooks/exhaustive-deps
36
- }, [isOpen, selectedEntryTypeName, entryTypes]);
51
+ }, [isOpen]);
37
52
  // Validate slug format
38
53
  const validateSlug = (value) => {
39
54
  if (!value.trim()) {
@@ -49,6 +64,9 @@ export function EntryCreateModal({ isOpen, collectionLabel, entryTypes, selected
49
64
  if (value.length > 64) {
50
65
  return 'Slug must be 64 characters or less';
51
66
  }
67
+ if (existingSlugs?.has(value)) {
68
+ return 'An entry with this slug already exists';
69
+ }
52
70
  return null;
53
71
  };
54
72
  const handleSlugChange = (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"EntryCreateModal.js","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntryCreateModal.js","sourceRoot":"","sources":["../../../src/editor/components/EntryCreateModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * SWR configuration for the editor's data-fetching hooks (useBranchesData,
3
+ * useEntriesData, useCommentsData). Centralizing config here means every
4
+ * consumer gets the same dedup/cache behavior without repeating options.
5
+ *
6
+ * - revalidateOnFocus: false -- the editor isn't a live dashboard that needs
7
+ * to snap back to fresh data whenever the tab regains focus; a few
8
+ * seconds of staleness is harmless, and refetching on every alt-tab is
9
+ * just extra load against the branch clone.
10
+ * - shouldRetryOnError: false -- matches the hooks' pre-SWR behavior, which
11
+ * surfaced a single failure (notification + console.error) rather than
12
+ * silently retrying in the background.
13
+ * - provider: () => new Map() -- gives the editor its own cache instead of
14
+ * SWR's module-global one, so editor keys ("canopy:entries:main", ...) can
15
+ * never collide with an SWR cache the host app is running for its own data.
16
+ * `editor/hooks/__test__/test-utils.tsx` already mandates this for tests,
17
+ * with a comment about exactly that collision; production had been relying
18
+ * on the module global. Mounted once (CanopyEditor.tsx), so the cache spans
19
+ * the whole editor session.
20
+ * - dedupingInterval: 2000 -- collapses the duplicate requests React Strict
21
+ * Mode's mount -> cleanup -> remount cycle produces (each hook's
22
+ * automatic on-mount fetch runs twice), plus any accidental
23
+ * near-simultaneous mounts of the same resource. See swr.md /
24
+ * editor-async-patterns.md (2026-07-24 decision) for the background.
25
+ */
26
+ import React from 'react';
27
+ export interface SWRProviderProps {
28
+ children: React.ReactNode;
29
+ }
30
+ export declare function SWRProvider({ children }: SWRProviderProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=SWRProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SWRProvider.d.ts","sourceRoot":"","sources":["../../../src/editor/context/SWRProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAazD"}
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { SWRConfig } from 'swr';
4
+ export function SWRProvider({ children }) {
5
+ return (_jsx(SWRConfig, { value: {
6
+ provider: () => new Map(),
7
+ revalidateOnFocus: false,
8
+ shouldRetryOnError: false,
9
+ dedupingInterval: 2000,
10
+ }, children: children }));
11
+ }
12
+ //# sourceMappingURL=SWRProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SWRProvider.js","sourceRoot":"","sources":["../../../src/editor/context/SWRProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AA6BZ,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAM/B,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAoB;IACxD,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;YACzB,iBAAiB,EAAE,KAAK;YACxB,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE,IAAI;SACvB,YAEA,QAAQ,GACC,CACb,CAAA;AACH,CAAC"}
@@ -5,6 +5,8 @@
5
5
  *
6
6
  * - ApiClientContext: Dependency injection for API client (context-based pattern)
7
7
  * - EditorStateContext: Loading states, modal states, preview data
8
+ * - SWRProvider: SWR cache config for the fetch-on-load data hooks (see
9
+ * hooks/useBranchesData.ts, useEntriesData.ts, useCommentsData.ts)
8
10
  *
9
11
  * Usage:
10
12
  * ```tsx
@@ -17,5 +19,6 @@
17
19
  */
18
20
  export { ApiClientProvider, useApiClient, useOptionalApiClient, type ApiClient, type ApiClientProviderProps, } from './ApiClientContext';
19
21
  export { AssetContextProvider, useAssetContext, type AssetContextValue, type AssetContextProviderProps, } from './AssetContext';
22
+ export { SWRProvider, type SWRProviderProps } from './SWRProvider';
20
23
  export { EditorStateProvider, useEditorState, useEditorLoading, useEditorModals, useEditorPreview, type EditorState, type EditorStateActions, type EditorStateContextValue, type EditorStateProviderProps, type LoadingState, type ModalState, type PreviewState, } from './EditorStateContext';
21
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAA"}