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,7 +1,45 @@
1
1
  import { type SimpleGitOptions, type StatusResult } from 'simple-git';
2
2
  import type { OperatingMode } from './operating-mode';
3
- /** @internal — exported for tests only. */
3
+ /**
4
+ * Exported for GitManager's own use (see `this.git.env(...)` above),
5
+ * worker/cms-worker.ts's push-rejection-classified GitHub calls
6
+ * (`pushBranchToGitHub`, `syncGit`'s fetch/`pushSettingsBranches` instance),
7
+ * and tests.
8
+ */
4
9
  export declare function gitChildEnv(overrides: Record<string, string>): Record<string, string>;
10
+ export declare function gitNetworkChildEnv(): Record<string, string>;
11
+ /**
12
+ * Remote-tracking namespace that `syncGit()`'s GitHub fetch lands refs in
13
+ * (`+refs/heads/*:${GITHUB_TRACKING_REF_PREFIX}*`), instead of writing
14
+ * directly into `refs/heads/*`.
15
+ *
16
+ * `remote.git`'s `refs/heads/*` is NOT a throwaway mirror: it's the
17
+ * deployment's local origin. `GitManager.push()` writes editor work into it
18
+ * (`target:target`), branch-workspace clones are cloned FROM it, and the CMS
19
+ * worker itself pushes it on to GitHub (`pushBranchToGitHub`,
20
+ * `pushSettingsBranches` in worker/cms-worker.ts). A fetch that force-writes
21
+ * GitHub's refs straight into `refs/heads/*` (the old
22
+ * `+refs/heads/*:refs/heads/*` refspec) can therefore destroy work that
23
+ * reached `remote.git` but not GitHub yet: with `--prune`, a branch pushed
24
+ * into `remote.git` and not yet on GitHub gets deleted outright; without
25
+ * needing `--prune`, a branch where `remote.git` is ahead of GitHub gets
26
+ * force-rewound to GitHub's older tip, and the worker's next push then
27
+ * no-ops ("Everything up-to-date") -- the editor's commit silently never
28
+ * reaches GitHub even though the branch reports `synced`.
29
+ *
30
+ * Fetching into this remote-tracking namespace instead makes `--prune`/`+`
31
+ * safe again -- they now only ever affect GitHub's-view-of-the-world refs,
32
+ * never the local heads other code depends on. `reconcileTrackedBranches()`
33
+ * (worker/cms-worker.ts) is what subsequently, and non-destructively, brings
34
+ * `refs/heads/*` toward what's tracked here.
35
+ *
36
+ * Lives here (not worker/cms-worker.ts, where this constant originated) so
37
+ * `GitManager.bareRemoteHasBranch` -- which must recognize this namespace
38
+ * too, since it's what a branch pushed by another CanopyCMS deployment (or
39
+ * pushed directly to GitHub) shows up in before/without ever gaining a local
40
+ * head -- doesn't need a worker/ -> git-manager.ts back-reference.
41
+ */
42
+ export declare const GITHUB_TRACKING_REF_PREFIX = "refs/remotes/github/";
5
43
  /**
6
44
  * Add a pattern to a repo's .git/info/exclude (a per-repository gitignore that
7
45
  * never gets committed) so runtime metadata like .canopy-meta/ can't be staged
@@ -26,6 +64,31 @@ export declare class GitConflictError extends Error {
26
64
  readonly conflictedFiles: string[];
27
65
  constructor(conflictedFiles: string[]);
28
66
  }
67
+ /**
68
+ * The branch has no ref on the remote yet, so there is nothing to pull.
69
+ *
70
+ * Distinguishing this from a real pull failure matters: it is the ONLY benign
71
+ * outcome of `pullCurrentBranch`, and callers that want to shrug it off (a
72
+ * settings branch's first-ever commit, see services.ts `commitToSettingsBranch`)
73
+ * must not shrug off merge failures with it. Everything else — a merge that
74
+ * cannot proceed, a corrupt workspace, an unreachable remote — is a genuine
75
+ * error the caller has to surface.
76
+ */
77
+ export declare class GitRemoteRefMissingError extends Error {
78
+ readonly branch: string;
79
+ readonly remote: string;
80
+ /**
81
+ * The underlying git failure. A separate field rather than `Error.cause`:
82
+ * the build targets ES2021, whose `Error` constructor takes no options bag.
83
+ */
84
+ readonly gitError?: unknown | undefined;
85
+ constructor(branch: string, remote: string,
86
+ /**
87
+ * The underlying git failure. A separate field rather than `Error.cause`:
88
+ * the build targets ES2021, whose `Error` constructor takes no options bag.
89
+ */
90
+ gitError?: unknown | undefined);
91
+ }
29
92
  export interface ResolveRemoteUrlOptions {
30
93
  mode: OperatingMode;
31
94
  remoteUrl?: string;
@@ -98,19 +161,83 @@ export declare class GitManager {
98
161
  subdirectory?: string;
99
162
  }): Promise<void>;
100
163
  /**
101
- * Whether a bare repository already has a local branch of the given name.
164
+ * Whether a bare repository already has a branch of the given name, in
165
+ * EITHER the local-heads namespace (`refs/heads/<branch>`) or the GitHub
166
+ * tracking namespace (`GITHUB_TRACKING_REF_PREFIX<branch>`).
167
+ *
168
+ * Originally checked `refs/heads/*` only, for dev-mode's
169
+ * `ensureLocalSimulatedRemote` (a simulated remote never gets a tracking
170
+ * namespace, so that caller only ever needed the local-heads check).
171
+ * Generalized/promoted to public for api/branch.ts's create-time collision
172
+ * guard, which also needs the tracking namespace: `syncGit()` fetches
173
+ * GitHub into `GITHUB_TRACKING_REF_PREFIX*` rather than `refs/heads/*`
174
+ * directly (see that constant's doc comment above), and
175
+ * `reconcileTrackedBranches()` (worker/cms-worker.ts) only
176
+ * non-destructively brings `refs/heads/*` toward what's tracked there — so
177
+ * a branch that another CanopyCMS deployment sharing this repo (or a
178
+ * direct push to GitHub) just created can sit in the tracking namespace
179
+ * for a while before, or without ever, gaining a local head here. Checking
180
+ * `refs/heads/*` alone would miss exactly the two-deployments-one-repo
181
+ * collision that guard exists to catch.
102
182
  *
103
183
  * Runs git with an explicit `--git-dir` instead of a cwd inside the repo:
104
184
  * environments with `safe.bareRepository=explicit` (sandboxed/CI git setups)
105
185
  * refuse cwd-based discovery of bare repos but expressly allow `--git-dir`.
106
- * `branch --list` exits 0 whether or not the branch exists (no
107
- * exception-based control flow — also why `rev-parse --verify --quiet`
108
- * can't be used: simple-git only fails a task on stderr output, and --quiet
109
- * suppresses exactly that). A failure here therefore means the remote
110
- * itself is unreadable and is surfaced, NOT treated as "branch absent" —
111
- * that would route to the push path against a repo we couldn't even read.
186
+ * A single `for-each-ref` call checks both candidate refs at once (no
187
+ * exception-based control flow — `for-each-ref` exits 0 whether or not
188
+ * either ref exists, same reason the old implementation used `branch
189
+ * --list` instead of `rev-parse --verify --quiet`: simple-git only fails a
190
+ * task on stderr output, and `--quiet` suppresses exactly that).
191
+ * `--end-of-options` guards the ref-name positionals the same way
192
+ * `push` below does, since `branch` here can be a sanitized but otherwise
193
+ * caller-influenced string.
194
+ *
195
+ * A failure here therefore means the remote itself is unreadable and is
196
+ * surfaced, NOT treated as "branch absent" — that would route
197
+ * `ensureLocalSimulatedRemote` to the push path against a repo it couldn't
198
+ * even read, and would silently skip api/branch.ts's collision check
199
+ * instead of letting that caller distinguish "unreadable" from "absent"
200
+ * and decide what to do.
112
201
  */
113
- private static bareRemoteHasBranch;
202
+ static bareRemoteHasBranch(remotePath: string, branch: string, options?: {
203
+ namespaces?: 'both' | 'tracking';
204
+ }): Promise<boolean>;
205
+ /**
206
+ * Delete `refs/heads/<branch>` from a bare local mirror, if present. A
207
+ * no-op (not an error) when the ref doesn't exist.
208
+ *
209
+ * This is the "explicit path" for removing a deleted branch's local head
210
+ * that the sync loop deliberately is not (see GITHUB_TRACKING_REF_PREFIX's
211
+ * doc comment: reconcileTrackedBranches never deletes a head). Called by
212
+ * api/branch.ts's deleteBranchHandler: without it, a deleted branch's head
213
+ * lives in `remote.git` forever, and the ordinary create -> publish ->
214
+ * squash-merge -> delete -> reuse-the-name cycle then has the REUSED
215
+ * branch's first publish rejected non-fast-forward against the stale head
216
+ * (`GitManager.push()` pushes `branch:branch`, and a squash-merged old tip
217
+ * is not an ancestor of the new branch) -- a permanent, misleading 409.
218
+ * Worse, a retried submit skips the local push (clean tree) and enqueues
219
+ * the worker push of the STALE head, resurrecting the deleted branch's
220
+ * content on GitHub as an apparent success.
221
+ *
222
+ * Deliberately leaves the tracking ref (`GITHUB_TRACKING_REF_PREFIX<branch>`)
223
+ * alone: that namespace mirrors GitHub's view, and if the branch still
224
+ * exists on GitHub, the create-time collision check SHOULD keep reporting
225
+ * it until the remote side is actually gone.
226
+ *
227
+ * Same `--git-dir` invocation style as bareRemoteHasBranch above (works
228
+ * under `safe.bareRepository=explicit`). The existence pre-check makes
229
+ * "absent" deterministic instead of parsing update-ref's locale-dependent
230
+ * failure text, and its captured SHA is passed to `update-ref -d` as the
231
+ * expected old value -- same pattern as reconcileTrackedBranches'
232
+ * guarded updates (worker/cms-worker.ts): a concurrent Lambda push
233
+ * re-creating/moving this branch between the read and the delete makes
234
+ * update-ref throw (surfaced as the caller's best-effort warning) instead
235
+ * of silently deleting a commit that was just pushed. No
236
+ * `--end-of-options` on update-ref (older gits don't accept it there);
237
+ * the ref argument always begins with the literal `refs/heads/` prefix,
238
+ * so it can never parse as an option.
239
+ */
240
+ static deleteBareRemoteHead(remotePath: string, branch: string): Promise<void>;
114
241
  /**
115
242
  * Push baseBranch from the source repo into the local bare remote via a
116
243
  * temporary remote. With `subdirectory`, pushes a single snapshot commit of
@@ -173,6 +300,21 @@ export declare class GitManager {
173
300
  * @returns Remote URL or undefined if no remote is needed
174
301
  */
175
302
  static resolveRemoteUrl(options: ResolveRemoteUrlOptions): Promise<string | undefined>;
303
+ /**
304
+ * Check whether a git repository is already initialized at `workspacePath`.
305
+ *
306
+ * Uses `rev-parse --git-dir` with `GIT_CEILING_DIRECTORIES` pinned to the
307
+ * parent directory so a corrupt/missing `.git` can't make git silently
308
+ * traverse upward and report a false positive from an ancestor repo (the
309
+ * same protection `initializeWorkspace` relies on below).
310
+ *
311
+ * Shared by `initializeWorkspace` (clone-vs-reuse decision) and
312
+ * `SettingsWorkspaceManager`'s rename guard (settings-workspace.ts), which
313
+ * must know whether a settings workspace ALREADY exists before touching it —
314
+ * touching an existing orphan settings branch under a different name wipes
315
+ * permissions.json/groups.json (see that guard's doc comment).
316
+ */
317
+ static repoExistsAt(workspacePath: string): Promise<boolean>;
176
318
  /**
177
319
  * Ensures a git workspace is initialized and ready for use.
178
320
  * Handles cloning, remote configuration, and branch checkout/creation.
@@ -215,6 +357,30 @@ export declare class GitManager {
215
357
  add(files: string | string[]): Promise<void>;
216
358
  commit(message: string): Promise<void>;
217
359
  push(branch?: string): Promise<void>;
360
+ /**
361
+ * Check whether the local branch has commits the remote mirror doesn't
362
+ * have -- i.e. whether push() would actually move the remote ref forward.
363
+ *
364
+ * Exists so callers (submitBranch) can gate pushing on "is there anything
365
+ * new to send" rather than on "is the working tree dirty": committing
366
+ * cleans the tree, so a dirty-tree gate around commit+push skips the push
367
+ * entirely on a retry after a failed push, even though the just-created
368
+ * commit never reached the remote (see services.ts submitBranch).
369
+ *
370
+ * Workspaces are cloned `--single-branch`, so the remote-tracking ref for
371
+ * any branch other than the one cloned never exists locally -- same
372
+ * constraint pullBaseInner works around. This fetches the specific branch
373
+ * directly (bypassing the configured single-branch refspec, exactly like
374
+ * pullBaseInner) and pins the result to FETCH_HEAD's SHA immediately after
375
+ * the fetch that populated it, rather than trusting `<remote>/<branch>`:
376
+ * FETCH_HEAD is a shared mutable file that any other fetch in this clone
377
+ * can repoint before it's read.
378
+ *
379
+ * A branch that has never been pushed has no ref on the remote at all --
380
+ * `git fetch` then fails ("couldn't find remote ref"), which this treats
381
+ * as "ahead" (needs pushing) rather than an error.
382
+ */
383
+ hasUnpushedCommits(branch?: string): Promise<boolean>;
218
384
  ensureAuthor(author: {
219
385
  name: string;
220
386
  email: string;
@@ -228,11 +394,6 @@ export declare class GitManager {
228
394
  * Get list of uncommitted file paths
229
395
  */
230
396
  getUncommittedFiles(): Promise<string[]>;
231
- /**
232
- * Force push (use with caution - for PR updates only)
233
- * Uses --force-with-lease for safer force pushes
234
- */
235
- forcePush(branch?: string): Promise<void>;
236
397
  /**
237
398
  * Get remote URL for current repo
238
399
  */
@@ -1 +1 @@
1
- {"version":3,"file":"git-manager.d.ts","sourceRoot":"","sources":["../src/git-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-manager.d.ts","sourceRoot":"","sources":["../src/git-manager.ts"],"names":[],"mappings":"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"}