@bevel-software/platform-core-backend 0.35.0 → 0.36.1

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 (827) hide show
  1. package/agent-guide/directory-structure.md +1 -1
  2. package/agent-guide/onboarding.md +111 -0
  3. package/agent-guide/start-here.md +1 -0
  4. package/agent-guide/tool-manuals.md +1 -0
  5. package/dist/core/catalog-cache-invalidation.d.ts +2 -2
  6. package/dist/core/catalog-cache-invalidation.d.ts.map +1 -1
  7. package/dist/core/compose-embed.d.ts +2 -2
  8. package/dist/core/compose-embed.d.ts.map +1 -1
  9. package/dist/core/compose-embed.js +1 -1
  10. package/dist/core/compose-embed.js.map +1 -1
  11. package/dist/core/core-ports.d.ts +19 -4
  12. package/dist/core/core-ports.d.ts.map +1 -1
  13. package/dist/core/core-ports.js.map +1 -1
  14. package/dist/core/create-core-server.d.ts.map +1 -1
  15. package/dist/core/create-core-server.js +26 -24
  16. package/dist/core/create-core-server.js.map +1 -1
  17. package/dist/core/create-core-services.d.ts +19 -13
  18. package/dist/core/create-core-services.d.ts.map +1 -1
  19. package/dist/core/create-core-services.js +68 -56
  20. package/dist/core/create-core-services.js.map +1 -1
  21. package/dist/core/lifecycle.d.ts +4 -4
  22. package/dist/core/lifecycle.d.ts.map +1 -1
  23. package/dist/core/lifecycle.js +5 -5
  24. package/dist/core/lifecycle.js.map +1 -1
  25. package/dist/core-config.d.ts +2 -2
  26. package/dist/core-config.js +3 -3
  27. package/dist/core-config.js.map +1 -1
  28. package/dist/index.d.ts +4 -4
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/modules/access/access-control.service.js +1 -1
  33. package/dist/modules/access/access-control.service.js.map +1 -1
  34. package/dist/modules/access/access-declarations.d.ts +2 -2
  35. package/dist/modules/access/access-declarations.d.ts.map +1 -1
  36. package/dist/modules/access/access-declarations.js +2 -2
  37. package/dist/modules/access/access-declarations.js.map +1 -1
  38. package/dist/modules/access/access-mutation.service.d.ts +2 -2
  39. package/dist/modules/access/access-mutation.service.d.ts.map +1 -1
  40. package/dist/modules/access/access-mutation.service.js +2 -2
  41. package/dist/modules/access/access-mutation.service.js.map +1 -1
  42. package/dist/modules/access/access-requests.routes.d.ts +2 -2
  43. package/dist/modules/access/access-requests.routes.d.ts.map +1 -1
  44. package/dist/modules/access/access-requests.routes.js +5 -5
  45. package/dist/modules/access/access-requests.routes.js.map +1 -1
  46. package/dist/modules/access/access-requests.service.d.ts +2 -2
  47. package/dist/modules/access/access-requests.service.d.ts.map +1 -1
  48. package/dist/modules/access/access-requests.service.js +11 -11
  49. package/dist/modules/access/access-requests.service.js.map +1 -1
  50. package/dist/modules/access/access.routes.d.ts +2 -2
  51. package/dist/modules/access/access.routes.d.ts.map +1 -1
  52. package/dist/modules/access/access.routes.js +9 -9
  53. package/dist/modules/access/access.routes.js.map +1 -1
  54. package/dist/modules/access/admin-locked-commit.d.ts +5 -5
  55. package/dist/modules/access/admin-locked-commit.d.ts.map +1 -1
  56. package/dist/modules/access/admin-locked-commit.js +7 -7
  57. package/dist/modules/access/admin-locked-commit.js.map +1 -1
  58. package/dist/modules/access/admin-route-helpers.d.ts +1 -1
  59. package/dist/modules/access/admin-route-helpers.js +5 -5
  60. package/dist/modules/access/admin-route-helpers.js.map +1 -1
  61. package/dist/modules/access/change-read-gate.d.ts +1 -1
  62. package/dist/modules/access/change-read-gate.js +1 -1
  63. package/dist/modules/access/groups-admin.service.d.ts +7 -7
  64. package/dist/modules/access/groups-admin.service.d.ts.map +1 -1
  65. package/dist/modules/access/groups-admin.service.js +6 -6
  66. package/dist/modules/access/groups-admin.service.js.map +1 -1
  67. package/dist/modules/access/reference-scan.d.ts +1 -1
  68. package/dist/modules/access/roles-admin.service.d.ts +7 -7
  69. package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
  70. package/dist/modules/access/roles-admin.service.js +8 -8
  71. package/dist/modules/access/roles-admin.service.js.map +1 -1
  72. package/dist/modules/access/synced-groups-committer.d.ts +4 -4
  73. package/dist/modules/access/synced-groups-committer.d.ts.map +1 -1
  74. package/dist/modules/access/synced-groups-committer.js +7 -7
  75. package/dist/modules/access/synced-groups-committer.js.map +1 -1
  76. package/dist/modules/access/user-access-removal.service.d.ts +6 -6
  77. package/dist/modules/access/user-access-removal.service.d.ts.map +1 -1
  78. package/dist/modules/access/user-access-removal.service.js +4 -4
  79. package/dist/modules/access/user-access-removal.service.js.map +1 -1
  80. package/dist/modules/access-model/access-errors.d.ts +4 -4
  81. package/dist/modules/access-model/access-errors.d.ts.map +1 -1
  82. package/dist/modules/access-model/access-errors.js +4 -4
  83. package/dist/modules/access-model/access-errors.js.map +1 -1
  84. package/dist/modules/access-model/access-grammar.d.ts +1 -1
  85. package/dist/modules/access-model/access-grammar.js +4 -4
  86. package/dist/modules/access-model/change-gate.d.ts +1 -1
  87. package/dist/modules/access-model/change-gate.js +1 -1
  88. package/dist/modules/access-model/roles-yaml-guard.d.ts +4 -4
  89. package/dist/modules/access-model/roles-yaml-guard.d.ts.map +1 -1
  90. package/dist/modules/access-model/roles-yaml-guard.js +4 -4
  91. package/dist/modules/access-model/roles-yaml-guard.js.map +1 -1
  92. package/dist/modules/agent-guide/agent-guide.d.ts +19 -14
  93. package/dist/modules/agent-guide/agent-guide.d.ts.map +1 -1
  94. package/dist/modules/agent-guide/agent-guide.js +42 -18
  95. package/dist/modules/agent-guide/agent-guide.js.map +1 -1
  96. package/dist/modules/agent-guide/guide-budget.d.ts +5 -2
  97. package/dist/modules/agent-guide/guide-budget.d.ts.map +1 -1
  98. package/dist/modules/agent-guide/guide-budget.js +6 -2
  99. package/dist/modules/agent-guide/guide-budget.js.map +1 -1
  100. package/dist/modules/agent-instructions/agent-instructions.routes.d.ts +12 -5
  101. package/dist/modules/agent-instructions/agent-instructions.routes.d.ts.map +1 -1
  102. package/dist/modules/agent-instructions/agent-instructions.routes.js +13 -6
  103. package/dist/modules/agent-instructions/agent-instructions.routes.js.map +1 -1
  104. package/dist/modules/agent-instructions/compose.d.ts +15 -8
  105. package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
  106. package/dist/modules/agent-instructions/compose.js +24 -10
  107. package/dist/modules/agent-instructions/compose.js.map +1 -1
  108. package/dist/modules/agent-instructions/shared-file-rules.d.ts +14 -6
  109. package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -1
  110. package/dist/modules/agent-instructions/shared-file-rules.js +51 -11
  111. package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -1
  112. package/dist/modules/auth/account-erasure.service.d.ts +36 -7
  113. package/dist/modules/auth/account-erasure.service.d.ts.map +1 -1
  114. package/dist/modules/auth/account-erasure.service.js +30 -10
  115. package/dist/modules/auth/account-erasure.service.js.map +1 -1
  116. package/dist/modules/auth/account-hooks.d.ts +20 -0
  117. package/dist/modules/auth/account-hooks.d.ts.map +1 -1
  118. package/dist/modules/auth/account-hooks.js +10 -0
  119. package/dist/modules/auth/account-hooks.js.map +1 -1
  120. package/dist/modules/auth/account-switch-lock.js +2 -2
  121. package/dist/modules/auth/account-switch-lock.js.map +1 -1
  122. package/dist/modules/auth/account.routes.d.ts +7 -2
  123. package/dist/modules/auth/account.routes.d.ts.map +1 -1
  124. package/dist/modules/auth/account.routes.js +23 -4
  125. package/dist/modules/auth/account.routes.js.map +1 -1
  126. package/dist/modules/auth/auth.service.d.ts +1 -1
  127. package/dist/modules/auth/auth.service.js +4 -4
  128. package/dist/modules/auth/auth.service.js.map +1 -1
  129. package/dist/modules/auth/index.d.ts +1 -0
  130. package/dist/modules/auth/index.d.ts.map +1 -1
  131. package/dist/modules/database/core-schema.js +2 -2
  132. package/dist/modules/database/core-schema.js.map +1 -1
  133. package/dist/modules/diff/diff.routes.d.ts +3 -3
  134. package/dist/modules/diff/diff.routes.d.ts.map +1 -1
  135. package/dist/modules/diff/diff.routes.js +7 -7
  136. package/dist/modules/diff/diff.routes.js.map +1 -1
  137. package/dist/modules/embed/embed.routes.js +1 -1
  138. package/dist/modules/embed/embed.routes.js.map +1 -1
  139. package/dist/modules/embed/embed.service.d.ts +4 -4
  140. package/dist/modules/embed/embed.service.d.ts.map +1 -1
  141. package/dist/modules/embed/embed.service.js +18 -18
  142. package/dist/modules/embed/embed.service.js.map +1 -1
  143. package/dist/modules/kb-fs/branch-name.js +8 -8
  144. package/dist/modules/kb-fs/branch-name.js.map +1 -1
  145. package/dist/modules/kb-fs/file-change-notifier.d.ts +2 -2
  146. package/dist/modules/kb-fs/locking-filesystem.d.ts +9 -9
  147. package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
  148. package/dist/modules/kb-fs/locking-filesystem.js +27 -27
  149. package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
  150. package/dist/modules/kb-fs/repo-path.js +5 -5
  151. package/dist/modules/kb-fs/repo-path.js.map +1 -1
  152. package/dist/modules/kb-fs/tmp-ref.d.ts +2 -2
  153. package/dist/modules/kb-fs/tmp-ref.d.ts.map +1 -1
  154. package/dist/modules/kb-fs/tmp-ref.js +2 -2
  155. package/dist/modules/kb-fs/tmp-ref.js.map +1 -1
  156. package/dist/modules/kb-sync/index.d.ts +1 -1
  157. package/dist/modules/kb-sync/index.d.ts.map +1 -1
  158. package/dist/modules/kb-sync/kb-sync.interface.d.ts +3 -3
  159. package/dist/modules/kb-sync/kb-sync.interface.d.ts.map +1 -1
  160. package/dist/modules/kb-sync/kb-sync.service.d.ts +3 -3
  161. package/dist/modules/kb-sync/kb-sync.service.d.ts.map +1 -1
  162. package/dist/modules/kb-sync/kb-sync.service.js +10 -10
  163. package/dist/modules/kb-sync/kb-sync.service.js.map +1 -1
  164. package/dist/modules/mcp/mcp.service.d.ts +11 -4
  165. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  166. package/dist/modules/mcp/mcp.service.js +75 -19
  167. package/dist/modules/mcp/mcp.service.js.map +1 -1
  168. package/dist/modules/onboarding/onboarding.contract.d.ts +1 -1
  169. package/dist/modules/onboarding/onboarding.routes.js +2 -2
  170. package/dist/modules/onboarding/onboarding.routes.js.map +1 -1
  171. package/dist/modules/onboarding/starter-pack.service.d.ts +4 -4
  172. package/dist/modules/onboarding/starter-pack.service.d.ts.map +1 -1
  173. package/dist/modules/onboarding/starter-pack.service.js +4 -4
  174. package/dist/modules/onboarding/starter-pack.service.js.map +1 -1
  175. package/dist/modules/plugins/join-request-jobs.service.d.ts +2 -2
  176. package/dist/modules/plugins/join-request-jobs.service.d.ts.map +1 -1
  177. package/dist/modules/plugins/join-request-jobs.service.js +7 -7
  178. package/dist/modules/plugins/join-request-jobs.service.js.map +1 -1
  179. package/dist/modules/plugins/join-requests.service.d.ts +3 -3
  180. package/dist/modules/plugins/join-requests.service.d.ts.map +1 -1
  181. package/dist/modules/plugins/join-requests.service.js +5 -5
  182. package/dist/modules/plugins/join-requests.service.js.map +1 -1
  183. package/dist/modules/plugins/plugin-rename.service.js +1 -1
  184. package/dist/modules/plugins/plugin-rename.service.js.map +1 -1
  185. package/dist/modules/plugins/plugins.routes.d.ts +2 -2
  186. package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
  187. package/dist/modules/plugins/plugins.routes.js +8 -8
  188. package/dist/modules/plugins/plugins.routes.js.map +1 -1
  189. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +77 -2
  190. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -1
  191. package/dist/modules/secrets-vault/db-secrets-vault.service.js +479 -53
  192. package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
  193. package/dist/modules/secrets-vault/index.d.ts +2 -1
  194. package/dist/modules/secrets-vault/index.d.ts.map +1 -1
  195. package/dist/modules/secrets-vault/index.js +1 -0
  196. package/dist/modules/secrets-vault/index.js.map +1 -1
  197. package/dist/modules/secrets-vault/managed-sign-in-erasure.d.ts +36 -0
  198. package/dist/modules/secrets-vault/managed-sign-in-erasure.d.ts.map +1 -0
  199. package/dist/modules/secrets-vault/managed-sign-in-erasure.js +37 -0
  200. package/dist/modules/secrets-vault/managed-sign-in-erasure.js.map +1 -0
  201. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +152 -0
  202. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -1
  203. package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -1
  204. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +7 -1
  205. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
  206. package/dist/modules/secrets-vault/secrets-vault.routes.js +125 -10
  207. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
  208. package/dist/modules/settings/connection-check.js +1 -1
  209. package/dist/modules/settings/connection-check.js.map +1 -1
  210. package/dist/modules/settings/deployment-settings.service.js +1 -1
  211. package/dist/modules/settings/git-root-folders.js +1 -1
  212. package/dist/modules/settings/git-root-folders.js.map +1 -1
  213. package/dist/modules/settings/setup.routes.d.ts +1 -1
  214. package/dist/modules/settings/setup.routes.js +1 -1
  215. package/dist/modules/skills/pending-skills.service.d.ts +3 -3
  216. package/dist/modules/skills/pending-skills.service.d.ts.map +1 -1
  217. package/dist/modules/skills/pending-skills.service.js +4 -4
  218. package/dist/modules/skills/pending-skills.service.js.map +1 -1
  219. package/dist/modules/skills/skill-access-requests.routes.d.ts +2 -2
  220. package/dist/modules/skills/skill-access-requests.routes.d.ts.map +1 -1
  221. package/dist/modules/skills/skill-access-requests.routes.js +5 -5
  222. package/dist/modules/skills/skill-access-requests.routes.js.map +1 -1
  223. package/dist/modules/tool-helpers/tool-context.d.ts +4 -4
  224. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
  225. package/dist/modules/tool-helpers/tool-context.js +2 -2
  226. package/dist/modules/tool-helpers/tool-context.js.map +1 -1
  227. package/dist/modules/tool-helpers/tool-handler.js +2 -2
  228. package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
  229. package/dist/modules/tool-helpers/tool.contract.d.ts +4 -4
  230. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
  231. package/dist/modules/tool-manuals/mcp-server-edit.service.js +1 -1
  232. package/dist/modules/tool-manuals/mcp-server-edit.service.js.map +1 -1
  233. package/dist/modules/tool-manuals/pending-tools.service.d.ts +3 -3
  234. package/dist/modules/tool-manuals/pending-tools.service.d.ts.map +1 -1
  235. package/dist/modules/tool-manuals/pending-tools.service.js +4 -4
  236. package/dist/modules/tool-manuals/pending-tools.service.js.map +1 -1
  237. package/dist/modules/tool-manuals/tool-delete.service.js +1 -1
  238. package/dist/modules/tool-manuals/tool-delete.service.js.map +1 -1
  239. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +43 -3
  240. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
  241. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +6 -0
  242. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
  243. package/dist/modules/tool-manuals/tool-manuals.service.js +51 -5
  244. package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
  245. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +3 -0
  246. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  247. package/dist/modules/tool-manuals/tool-manuals.tools.js +36 -15
  248. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  249. package/dist/modules/version-control/agent-tools/change-request-read-shape.d.ts.map +1 -0
  250. package/dist/modules/version-control/agent-tools/change-request-read-shape.js.map +1 -0
  251. package/dist/modules/version-control/agent-tools/change-request-read.tools.d.ts.map +1 -0
  252. package/dist/modules/{workflow → version-control}/agent-tools/change-request-read.tools.js +2 -2
  253. package/dist/modules/version-control/agent-tools/change-request-read.tools.js.map +1 -0
  254. package/dist/modules/version-control/agent-tools/change-request-summary.d.ts.map +1 -0
  255. package/dist/modules/version-control/agent-tools/change-request-summary.js.map +1 -0
  256. package/dist/modules/{workflow/agent-tools/workflow.tools.d.ts → version-control/agent-tools/version-control.tools.d.ts} +4 -4
  257. package/dist/modules/version-control/agent-tools/version-control.tools.d.ts.map +1 -0
  258. package/dist/modules/{workflow/agent-tools/workflow.tools.js → version-control/agent-tools/version-control.tools.js} +31 -31
  259. package/dist/modules/version-control/agent-tools/version-control.tools.js.map +1 -0
  260. package/dist/modules/{workflow → version-control}/change-request-hooks.d.ts +1 -1
  261. package/dist/modules/version-control/change-request-hooks.d.ts.map +1 -0
  262. package/dist/modules/version-control/change-request-hooks.js.map +1 -0
  263. package/dist/modules/version-control/change-request-review/approval-lock.d.ts.map +1 -0
  264. package/dist/modules/version-control/change-request-review/approval-lock.js.map +1 -0
  265. package/dist/modules/{workflow/review-workflow/review-workflow.interface.d.ts → version-control/change-request-review/change-request-review.interface.d.ts} +2 -2
  266. package/dist/modules/version-control/change-request-review/change-request-review.interface.d.ts.map +1 -0
  267. package/dist/modules/version-control/change-request-review/change-request-review.interface.js +2 -0
  268. package/dist/modules/version-control/change-request-review/change-request-review.interface.js.map +1 -0
  269. package/dist/modules/{workflow/review-workflow/review-workflow.service.d.ts → version-control/change-request-review/change-request-review.service.d.ts} +3 -3
  270. package/dist/modules/version-control/change-request-review/change-request-review.service.d.ts.map +1 -0
  271. package/dist/modules/{workflow/review-workflow/review-workflow.service.js → version-control/change-request-review/change-request-review.service.js} +26 -26
  272. package/dist/modules/version-control/change-request-review/change-request-review.service.js.map +1 -0
  273. package/dist/modules/{workflow → version-control}/event-bus.d.ts +8 -8
  274. package/dist/modules/version-control/event-bus.d.ts.map +1 -0
  275. package/dist/modules/{workflow → version-control}/event-bus.js +4 -4
  276. package/dist/modules/version-control/event-bus.js.map +1 -0
  277. package/dist/modules/{workflow → version-control}/events-delivery.d.ts +4 -4
  278. package/dist/modules/version-control/events-delivery.d.ts.map +1 -0
  279. package/dist/modules/version-control/events-delivery.js.map +1 -0
  280. package/dist/modules/{workflow → version-control}/events.routes.d.ts +4 -4
  281. package/dist/modules/version-control/events.routes.d.ts.map +1 -0
  282. package/dist/modules/version-control/events.routes.js.map +1 -0
  283. package/dist/modules/{workflow → version-control}/file-lock.service.d.ts +2 -2
  284. package/dist/modules/version-control/file-lock.service.d.ts.map +1 -0
  285. package/dist/modules/{workflow → version-control}/file-lock.service.js +6 -6
  286. package/dist/modules/version-control/file-lock.service.js.map +1 -0
  287. package/dist/modules/version-control/git/change-request-link.d.ts.map +1 -0
  288. package/dist/modules/version-control/git/change-request-link.js.map +1 -0
  289. package/dist/modules/version-control/git/git-version.d.ts.map +1 -0
  290. package/dist/modules/version-control/git/git-version.js.map +1 -0
  291. package/dist/modules/{workflow → version-control}/git/git.service.d.ts +8 -8
  292. package/dist/modules/version-control/git/git.service.d.ts.map +1 -0
  293. package/dist/modules/{workflow → version-control}/git/git.service.js +53 -53
  294. package/dist/modules/version-control/git/git.service.js.map +1 -0
  295. package/dist/modules/version-control/git/merge-commit.d.ts.map +1 -0
  296. package/dist/modules/version-control/git/merge-commit.js.map +1 -0
  297. package/dist/modules/version-control/git/node-git-runner.d.ts.map +1 -0
  298. package/dist/modules/{workflow → version-control}/git/node-git-runner.js +1 -1
  299. package/dist/modules/version-control/git/node-git-runner.js.map +1 -0
  300. package/dist/modules/{workflow → version-control}/git/pull-request.service.d.ts +5 -5
  301. package/dist/modules/version-control/git/pull-request.service.d.ts.map +1 -0
  302. package/dist/modules/{workflow → version-control}/git/pull-request.service.js +10 -10
  303. package/dist/modules/version-control/git/pull-request.service.js.map +1 -0
  304. package/dist/modules/{workflow → version-control}/index.d.ts +6 -5
  305. package/dist/modules/version-control/index.d.ts.map +1 -0
  306. package/dist/modules/{workflow → version-control}/index.js +3 -2
  307. package/dist/modules/version-control/index.js.map +1 -0
  308. package/dist/modules/{workflow → version-control}/pending-commits.service.d.ts +2 -2
  309. package/dist/modules/version-control/pending-commits.service.d.ts.map +1 -0
  310. package/dist/modules/{workflow → version-control}/pending-commits.service.js +2 -2
  311. package/dist/modules/version-control/pending-commits.service.js.map +1 -0
  312. package/dist/modules/{workflow → version-control}/pending-commits.worker.d.ts +5 -5
  313. package/dist/modules/version-control/pending-commits.worker.d.ts.map +1 -0
  314. package/dist/modules/{workflow → version-control}/pending-commits.worker.js +3 -3
  315. package/dist/modules/version-control/pending-commits.worker.js.map +1 -0
  316. package/dist/modules/{workflow → version-control}/read-on-branch.d.ts +2 -2
  317. package/dist/modules/version-control/read-on-branch.d.ts.map +1 -0
  318. package/dist/modules/{workflow → version-control}/read-on-branch.js +2 -2
  319. package/dist/modules/version-control/read-on-branch.js.map +1 -0
  320. package/dist/modules/version-control/recovery-bot.d.ts.map +1 -0
  321. package/dist/modules/version-control/recovery-bot.js.map +1 -0
  322. package/dist/modules/version-control/sanitize-error.d.ts.map +1 -0
  323. package/dist/modules/version-control/sanitize-error.js.map +1 -0
  324. package/dist/modules/{workflow/workflow-hooks.d.ts → version-control/version-control-hooks.d.ts} +4 -4
  325. package/dist/modules/version-control/version-control-hooks.d.ts.map +1 -0
  326. package/dist/modules/{workflow/workflow-hooks.js → version-control/version-control-hooks.js} +3 -3
  327. package/dist/modules/version-control/version-control-hooks.js.map +1 -0
  328. package/dist/modules/{workflow/workflow.routes.d.ts → version-control/version-control.routes.d.ts} +6 -5
  329. package/dist/modules/version-control/version-control.routes.d.ts.map +1 -0
  330. package/dist/modules/{workflow/workflow.routes.js → version-control/version-control.routes.js} +61 -60
  331. package/dist/modules/version-control/version-control.routes.js.map +1 -0
  332. package/dist/modules/{workflow/workflow.service.d.ts → version-control/version-control.service.d.ts} +26 -31
  333. package/dist/modules/version-control/version-control.service.d.ts.map +1 -0
  334. package/dist/modules/{workflow/workflow.service.js → version-control/version-control.service.js} +89 -94
  335. package/dist/modules/version-control/version-control.service.js.map +1 -0
  336. package/dist/modules/workspace/agent-access.gate.d.ts +5 -5
  337. package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -1
  338. package/dist/modules/workspace/agent-access.gate.js +1 -1
  339. package/dist/modules/workspace/git-internals.middleware.d.ts +1 -1
  340. package/dist/modules/workspace/git-internals.middleware.js +2 -2
  341. package/dist/modules/workspace/kb-repository.js +1 -1
  342. package/dist/modules/workspace/kb-repository.js.map +1 -1
  343. package/dist/modules/workspace/startup/kb-git.d.ts +1 -1
  344. package/dist/modules/workspace/startup/kb-git.d.ts.map +1 -1
  345. package/dist/modules/workspace/startup/kb-git.js +1 -1
  346. package/dist/modules/workspace/startup/kb-git.js.map +1 -1
  347. package/dist/modules/workspace/startup/steps/seed-tree.d.ts +2 -2
  348. package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -1
  349. package/dist/modules/workspace/startup/steps/seed-tree.js +1 -1
  350. package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
  351. package/dist/modules/workspace/startup/steps/template-files.step.d.ts +2 -2
  352. package/dist/modules/workspace/startup/steps/template-files.step.d.ts.map +1 -1
  353. package/dist/modules/workspace/startup/steps/template-files.step.js +2 -2
  354. package/dist/modules/workspace/startup/steps/template-files.step.js.map +1 -1
  355. package/dist/modules/workspace/startup/steps/template-source.d.ts +17 -4
  356. package/dist/modules/workspace/startup/steps/template-source.d.ts.map +1 -1
  357. package/dist/modules/workspace/startup/steps/template-source.js +8 -5
  358. package/dist/modules/workspace/startup/steps/template-source.js.map +1 -1
  359. package/dist/modules/workspace/workspace-tmp.js +3 -3
  360. package/dist/modules/workspace/workspace-tmp.js.map +1 -1
  361. package/dist/modules/workspace/workspace.routes.d.ts +4 -4
  362. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
  363. package/dist/modules/workspace/workspace.routes.js +22 -22
  364. package/dist/modules/workspace/workspace.routes.js.map +1 -1
  365. package/dist/modules/workspace/workspace.service.d.ts +6 -6
  366. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  367. package/dist/modules/workspace/workspace.service.js +11 -11
  368. package/dist/modules/workspace/workspace.service.js.map +1 -1
  369. package/dist/modules/workspace/workspace.tools.d.ts +2 -1
  370. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  371. package/dist/modules/workspace/workspace.tools.js +15 -10
  372. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  373. package/dist/shared/canonical-file-identity.d.ts +2 -2
  374. package/dist/shared/canonical-file-identity.js +5 -5
  375. package/dist/shared/canonical-file-identity.js.map +1 -1
  376. package/dist/shared/domain-errors.d.ts +39 -39
  377. package/dist/shared/domain-errors.d.ts.map +1 -1
  378. package/dist/shared/domain-errors.js +44 -44
  379. package/dist/shared/domain-errors.js.map +1 -1
  380. package/dist/shared/git.contract.d.ts +1 -1
  381. package/dist/shared/git.contract.js +1 -1
  382. package/dist/shared/http-errors.d.ts +3 -3
  383. package/dist/shared/http-errors.d.ts.map +1 -1
  384. package/dist/shared/http-errors.js +1 -1
  385. package/dist/shared/http-errors.js.map +1 -1
  386. package/dist/shared/pending-proposals.d.ts +3 -3
  387. package/dist/shared/pending-proposals.d.ts.map +1 -1
  388. package/dist/shared/pending-proposals.js +2 -2
  389. package/dist/shared/pending-proposals.js.map +1 -1
  390. package/dist/tenancy/static-tenant-source.js +1 -1
  391. package/dist/tenancy/static-tenant-source.js.map +1 -1
  392. package/migrations/0012_agent_audit.sql +40 -40
  393. package/migrations/0013_agent_identity_and_key_soft_delete.sql +29 -29
  394. package/migrations/meta/0012_snapshot.json +2246 -2246
  395. package/migrations/meta/0013_snapshot.json +2258 -2258
  396. package/package.json +4 -4
  397. package/src/__tests__/account-admin.ts +27 -0
  398. package/src/__tests__/hexis-catalog.ts +4 -4
  399. package/src/__tests__/kb-context.ts +30 -30
  400. package/src/__tests__/kb-layout-config.test.ts +21 -0
  401. package/src/__tests__/open-change-gate.ts +1 -1
  402. package/src/__tests__/tool-handler.ts +15 -0
  403. package/src/__tests__/tool-wiring.ts +10 -4
  404. package/src/__tests__/workspace-service.ts +1 -1
  405. package/src/core/__tests__/catalog-cache-invalidation.test.ts +3 -3
  406. package/src/core/__tests__/compose-embed.test.ts +1 -1
  407. package/src/core/__tests__/damaged-document.tools.test.ts +3 -3
  408. package/src/core/__tests__/erasure-slices-wired-once.test.ts +46 -0
  409. package/src/core/__tests__/gated-boot.test.ts +2 -2
  410. package/src/core/__tests__/lifecycle.test.ts +9 -9
  411. package/src/core/catalog-cache-invalidation.ts +2 -2
  412. package/src/core/compose-embed.ts +3 -3
  413. package/src/core/core-ports.ts +19 -4
  414. package/src/core/create-core-server.ts +39 -25
  415. package/src/core/create-core-services.ts +79 -63
  416. package/src/core/lifecycle.ts +9 -9
  417. package/src/core-config.ts +3 -3
  418. package/src/index.ts +5 -5
  419. package/src/modules/access/__tests__/access-control.admin-root-floor.test.ts +4 -4
  420. package/src/modules/access/__tests__/access-own-read-grant.test.ts +14 -14
  421. package/src/modules/access/__tests__/access-requests.routes.test.ts +20 -20
  422. package/src/modules/access/__tests__/access.routes.admins.test.ts +4 -4
  423. package/src/modules/access/__tests__/access.routes.batch.test.ts +4 -4
  424. package/src/modules/access/__tests__/access.routes.folder-governs.test.ts +6 -6
  425. package/src/modules/access/__tests__/access.routes.group-grant.test.ts +6 -6
  426. package/src/modules/access/__tests__/access.routes.overrides.test.ts +5 -5
  427. package/src/modules/access/__tests__/access.routes.proposal-branch.test.ts +6 -6
  428. package/src/modules/access/__tests__/access.routes.prospective.test.ts +3 -3
  429. package/src/modules/access/__tests__/access.routes.revoke.test.ts +6 -6
  430. package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +6 -6
  431. package/src/modules/access/__tests__/admin-locked-commit.test.ts +6 -6
  432. package/src/modules/access/__tests__/admin-route-helpers.test.ts +5 -5
  433. package/src/modules/access/__tests__/groups-admin.service.test.ts +27 -27
  434. package/src/modules/access/__tests__/roles-admin.security.test.ts +14 -13
  435. package/src/modules/access/__tests__/roles-admin.service.test.ts +27 -27
  436. package/src/modules/access/__tests__/roles-capabilities.test.ts +19 -19
  437. package/src/modules/access/__tests__/roles.routes.test.ts +6 -6
  438. package/src/modules/access/__tests__/synced-groups-committer.test.ts +13 -13
  439. package/src/modules/access/__tests__/user-access-removal.service.test.ts +29 -29
  440. package/src/modules/access/access-control.service.ts +1 -1
  441. package/src/modules/access/access-declarations.ts +2 -2
  442. package/src/modules/access/access-mutation.service.ts +2 -2
  443. package/src/modules/access/access-requests.routes.ts +7 -7
  444. package/src/modules/access/access-requests.service.ts +13 -13
  445. package/src/modules/access/access.routes.ts +11 -11
  446. package/src/modules/access/admin-locked-commit.ts +11 -11
  447. package/src/modules/access/admin-route-helpers.ts +5 -5
  448. package/src/modules/access/change-read-gate.ts +1 -1
  449. package/src/modules/access/groups-admin.service.ts +7 -7
  450. package/src/modules/access/reference-scan.ts +1 -1
  451. package/src/modules/access/roles-admin.service.ts +9 -9
  452. package/src/modules/access/synced-groups-committer.ts +11 -11
  453. package/src/modules/access/user-access-removal.service.ts +7 -7
  454. package/src/modules/access-model/__tests__/access-grammar.test.ts +2 -2
  455. package/src/modules/access-model/access-errors.ts +4 -4
  456. package/src/modules/access-model/access-grammar.ts +4 -4
  457. package/src/modules/access-model/change-gate.ts +1 -1
  458. package/src/modules/access-model/roles-yaml-guard.ts +4 -4
  459. package/src/modules/agent-guide/__tests__/agent-guide.test.ts +19 -4
  460. package/src/modules/agent-guide/__tests__/agent-guide.tools.test.ts +1 -1
  461. package/src/modules/agent-guide/__tests__/guide-matches-code.test.ts +2 -2
  462. package/src/modules/agent-guide/agent-guide.ts +48 -22
  463. package/src/modules/agent-guide/guide-budget.ts +6 -2
  464. package/src/modules/agent-instructions/__tests__/agent-instructions.route.test.ts +4 -5
  465. package/src/modules/agent-instructions/__tests__/compose.test.ts +1 -1
  466. package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +113 -7
  467. package/src/modules/agent-instructions/agent-instructions.routes.ts +12 -5
  468. package/src/modules/agent-instructions/compose.ts +24 -9
  469. package/src/modules/agent-instructions/shared-file-rules.ts +53 -11
  470. package/src/modules/agent-scope/__tests__/agent-surfaces.connect-as.test.ts +1 -1
  471. package/src/modules/audit/__tests__/agent-rest-audit.middleware.test.ts +113 -113
  472. package/src/modules/audit/__tests__/event-classifier.test.ts +121 -121
  473. package/src/modules/audit/event-classifier.ts +155 -155
  474. package/src/modules/auth/__tests__/account-deactivation.test.ts +1 -1
  475. package/src/modules/auth/__tests__/account-erasure.approval-gate.test.ts +4 -4
  476. package/src/modules/auth/__tests__/account-erasure.participants.test.ts +56 -0
  477. package/src/modules/auth/__tests__/account-switch-lock.pg.test.ts +2 -2
  478. package/src/modules/auth/__tests__/account-switch-lock.test.ts +2 -2
  479. package/src/modules/auth/__tests__/account.routes.test.ts +73 -11
  480. package/src/modules/auth/__tests__/auth.service.test.ts +1 -1
  481. package/src/modules/auth/account-erasure.service.ts +27 -9
  482. package/src/modules/auth/account-hooks.ts +34 -0
  483. package/src/modules/auth/account-switch-lock.ts +2 -2
  484. package/src/modules/auth/account.routes.ts +23 -5
  485. package/src/modules/auth/auth.service.ts +4 -4
  486. package/src/modules/auth/index.ts +1 -0
  487. package/src/modules/database/__tests__/advisory-lock.test.ts +169 -169
  488. package/src/modules/database/__tests__/migrations-unqualified.test.ts +32 -32
  489. package/src/modules/database/core-schema.ts +2 -2
  490. package/src/modules/diff/__tests__/diff.routes.read-gate.test.ts +2 -2
  491. package/src/modules/diff/__tests__/diff.routes.rejectPathsLocked.test.ts +12 -12
  492. package/src/modules/diff/diff.routes.ts +8 -8
  493. package/src/modules/embed/__tests__/embed.service.lock.test.ts +7 -7
  494. package/src/modules/embed/__tests__/embed.service.test.ts +42 -42
  495. package/src/modules/embed/__tests__/embed.tools.test.ts +1 -1
  496. package/src/modules/embed/embed.routes.ts +1 -1
  497. package/src/modules/embed/embed.service.ts +17 -17
  498. package/src/modules/kb-fs/__tests__/branch-name.test.ts +2 -2
  499. package/src/modules/kb-fs/__tests__/locking-filesystem.test.ts +260 -260
  500. package/src/modules/kb-fs/__tests__/move-with-edits.test.ts +34 -34
  501. package/src/modules/kb-fs/__tests__/repo-path.test.ts +8 -8
  502. package/src/modules/kb-fs/branch-name.ts +8 -8
  503. package/src/modules/kb-fs/file-change-notifier.ts +2 -2
  504. package/src/modules/kb-fs/locking-filesystem.ts +30 -30
  505. package/src/modules/kb-fs/repo-path.ts +5 -5
  506. package/src/modules/kb-fs/tmp-ref.ts +3 -3
  507. package/src/modules/kb-sync/__tests__/kb-sync.service.test.ts +36 -36
  508. package/src/modules/kb-sync/index.ts +1 -1
  509. package/src/modules/kb-sync/kb-sync.interface.ts +3 -3
  510. package/src/modules/kb-sync/kb-sync.service.ts +9 -9
  511. package/src/modules/marketplace/__tests__/github-facade.test.ts +1 -1
  512. package/src/modules/marketplace/__tests__/marketplace-git.test.ts +1 -1
  513. package/src/modules/mcp/__tests__/mcp-proxy-helpers.test.ts +4 -2
  514. package/src/modules/mcp/__tests__/mcp.e2e.test.ts +69 -8
  515. package/src/modules/mcp/__tests__/mcp.service.test.ts +91 -13
  516. package/src/modules/mcp/__tests__/read-only-hint.pg.test.ts +194 -0
  517. package/src/modules/mcp/mcp.service.ts +89 -28
  518. package/src/modules/onboarding/__tests__/starter-pack.service.test.ts +55 -55
  519. package/src/modules/onboarding/onboarding.contract.ts +1 -1
  520. package/src/modules/onboarding/onboarding.routes.ts +2 -2
  521. package/src/modules/onboarding/starter-pack.service.ts +6 -6
  522. package/src/modules/plugins/__tests__/bundle-dialect.e2e.test.ts +1 -1
  523. package/src/modules/plugins/__tests__/compile-marketplace.test.ts +1 -1
  524. package/src/modules/plugins/__tests__/join-request-jobs.service.test.ts +43 -43
  525. package/src/modules/plugins/__tests__/join-requests.service.test.ts +19 -19
  526. package/src/modules/plugins/__tests__/join-requests.settlement.test.ts +26 -26
  527. package/src/modules/plugins/__tests__/plugins.routes.test.ts +25 -25
  528. package/src/modules/plugins/join-request-jobs.service.ts +10 -10
  529. package/src/modules/plugins/join-requests.service.ts +4 -4
  530. package/src/modules/plugins/plugin-rename.service.ts +1 -1
  531. package/src/modules/plugins/plugins.routes.ts +9 -9
  532. package/src/modules/secrets-vault/__tests__/db-secrets-vault.managed.test.ts +773 -0
  533. package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +28 -1
  534. package/src/modules/secrets-vault/__tests__/managed-sign-in.route.test.ts +351 -0
  535. package/src/modules/secrets-vault/db-secrets-vault.service.ts +562 -95
  536. package/src/modules/secrets-vault/index.ts +7 -0
  537. package/src/modules/secrets-vault/managed-sign-in-erasure.ts +41 -0
  538. package/src/modules/secrets-vault/secrets-variable-loader.ts +134 -134
  539. package/src/modules/secrets-vault/secrets-vault.contract.ts +152 -0
  540. package/src/modules/secrets-vault/secrets-vault.routes.ts +157 -10
  541. package/src/modules/settings/__tests__/repository-source.test.ts +1 -1
  542. package/src/modules/settings/__tests__/setup.routes.layout-phase.test.ts +1 -1
  543. package/src/modules/settings/__tests__/setup.routes.managed-phase.test.ts +1 -1
  544. package/src/modules/settings/connection-check.ts +1 -1
  545. package/src/modules/settings/deployment-settings.service.ts +1 -1
  546. package/src/modules/settings/git-root-folders.ts +1 -1
  547. package/src/modules/settings/setup.routes.ts +1 -1
  548. package/src/modules/skills/__tests__/allowed-tools-warn.tools.test.ts +3 -3
  549. package/src/modules/skills/__tests__/branch-skills.tools.test.ts +1 -1
  550. package/src/modules/skills/__tests__/pending-skills.service.test.ts +8 -8
  551. package/src/modules/skills/__tests__/skill-access-requests.routes.test.ts +18 -18
  552. package/src/modules/skills/__tests__/skills.service.test.ts +3 -3
  553. package/src/modules/skills/pending-skills.service.ts +3 -3
  554. package/src/modules/skills/skill-access-requests.routes.ts +7 -7
  555. package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +4 -4
  556. package/src/modules/tool-helpers/__tests__/branch-declaration.test.ts +3 -3
  557. package/src/modules/tool-helpers/__tests__/can-write.tools.test.ts +3 -3
  558. package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +4 -4
  559. package/src/modules/tool-helpers/__tests__/tools-surface.test.ts +3 -3
  560. package/src/modules/tool-helpers/__tests__/validate-token.test.ts +1 -1
  561. package/src/modules/tool-helpers/tool-context.ts +6 -6
  562. package/src/modules/tool-helpers/tool-handler.ts +2 -2
  563. package/src/modules/tool-helpers/tool.contract.ts +4 -4
  564. package/src/modules/tool-manuals/__tests__/pending-tools.service.test.ts +9 -9
  565. package/src/modules/tool-manuals/__tests__/tool-manuals.managed-sign-in.test.ts +89 -0
  566. package/src/modules/tool-manuals/__tests__/tool-manuals.restart.test.ts +1 -1
  567. package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +36 -1
  568. package/src/modules/tool-manuals/mcp-server-edit.service.ts +1 -1
  569. package/src/modules/tool-manuals/pending-tools.service.ts +3 -3
  570. package/src/modules/tool-manuals/tool-delete.service.ts +1 -1
  571. package/src/modules/tool-manuals/tool-manuals.contract.ts +41 -3
  572. package/src/modules/tool-manuals/tool-manuals.service.ts +53 -5
  573. package/src/modules/tool-manuals/tool-manuals.tools.ts +41 -15
  574. package/src/modules/tool-registry/__tests__/own-tool-schemas.test.ts +4 -4
  575. package/src/modules/tool-registry/__tests__/read-only-hints.test.ts +3 -3
  576. package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +6 -6
  577. package/src/modules/{workflow → version-control}/__tests__/apply-failure.test.ts +54 -54
  578. package/src/modules/{workflow → version-control}/__tests__/event-bus.test.ts +27 -27
  579. package/src/modules/{workflow → version-control}/__tests__/events-delivery.test.ts +37 -37
  580. package/src/modules/{workflow → version-control}/__tests__/file-lock.service.deletion-gate.test.ts +2 -2
  581. package/src/modules/{workflow → version-control}/__tests__/file-lock.service.path-identity.test.ts +8 -8
  582. package/src/modules/{workflow → version-control}/__tests__/merge-announces-tree.test.ts +11 -11
  583. package/src/modules/{workflow → version-control}/__tests__/pending-commits.worker.concurrency.test.ts +9 -9
  584. package/src/modules/{workflow → version-control}/__tests__/pending-commits.worker.test.ts +25 -25
  585. package/src/modules/{workflow → version-control}/__tests__/preserve-roles-yaml.test.ts +42 -42
  586. package/src/modules/version-control/__tests__/public-surface.test.ts +114 -0
  587. package/src/modules/{workflow/__tests__/workflow.routes.folder-proposals.test.ts → version-control/__tests__/version-control.routes.folder-proposals.test.ts} +18 -18
  588. package/src/modules/{workflow/__tests__/workflow.routes.fork-point-file.test.ts → version-control/__tests__/version-control.routes.fork-point-file.test.ts} +19 -19
  589. package/src/modules/{workflow/__tests__/workflow.routes.history-read-gate.test.ts → version-control/__tests__/version-control.routes.history-read-gate.test.ts} +13 -13
  590. package/src/modules/{workflow/__tests__/workflow.routes.lock-path.test.ts → version-control/__tests__/version-control.routes.lock-path.test.ts} +18 -18
  591. package/src/modules/{workflow/__tests__/workflow.routes.open-change-request.test.ts → version-control/__tests__/version-control.routes.open-change-request.test.ts} +7 -7
  592. package/src/modules/{workflow/__tests__/workflow.routes.push-refused.test.ts → version-control/__tests__/version-control.routes.push-refused.test.ts} +14 -14
  593. package/src/modules/{workflow/__tests__/workflow.service.branch-in-use.test.ts → version-control/__tests__/version-control.service.branch-in-use.test.ts} +6 -6
  594. package/src/modules/{workflow/__tests__/workflow.service.commitFileWhileLocked.test.ts → version-control/__tests__/version-control.service.commitFileWhileLocked.test.ts} +14 -14
  595. package/src/modules/{workflow/__tests__/workflow.service.delete-branch.test.ts → version-control/__tests__/version-control.service.delete-branch.test.ts} +14 -14
  596. package/src/modules/{workflow/__tests__/workflow.service.deleted-branch-sweep.test.ts → version-control/__tests__/version-control.service.deleted-branch-sweep.test.ts} +4 -4
  597. package/src/modules/{workflow/__tests__/workflow.service.facade.test.ts → version-control/__tests__/version-control.service.facade.test.ts} +97 -99
  598. package/src/modules/{workflow/__tests__/workflow.service.folder-proposals.test.ts → version-control/__tests__/version-control.service.folder-proposals.test.ts} +7 -7
  599. package/src/modules/{workflow/__tests__/workflow.service.platform-restore.test.ts → version-control/__tests__/version-control.service.platform-restore.test.ts} +6 -6
  600. package/src/modules/{workflow/__tests__/workflow.service.read-gate.test.ts → version-control/__tests__/version-control.service.read-gate.test.ts} +9 -9
  601. package/src/modules/{workflow/__tests__/workflow.service.releaseLock.test.ts → version-control/__tests__/version-control.service.releaseLock.test.ts} +42 -42
  602. package/src/modules/{workflow/__tests__/workflow.service.repository-replaced.test.ts → version-control/__tests__/version-control.service.repository-replaced.test.ts} +4 -4
  603. package/src/modules/{workflow/__tests__/workflow.service.sync.test.ts → version-control/__tests__/version-control.service.sync.test.ts} +17 -17
  604. package/src/modules/{workflow/__tests__/workflow.service.update-change-request.pg.test.ts → version-control/__tests__/version-control.service.update-change-request.pg.test.ts} +6 -6
  605. package/src/modules/{workflow/__tests__/workflow.service.update-change-request.test.ts → version-control/__tests__/version-control.service.update-change-request.test.ts} +11 -11
  606. package/src/modules/{workflow/__tests__/workflow.service.update-from-target.test.ts → version-control/__tests__/version-control.service.update-from-target.test.ts} +22 -22
  607. package/src/modules/{workflow → version-control}/agent-tools/__tests__/change-request-read.tools.test.ts +3 -3
  608. package/src/modules/{workflow → version-control}/agent-tools/__tests__/update-change-request.parity.test.ts +16 -16
  609. package/src/modules/{workflow/agent-tools/__tests__/workflow.tools.test.ts → version-control/agent-tools/__tests__/version-control.tools.test.ts} +9 -9
  610. package/src/modules/{workflow → version-control}/agent-tools/change-request-read.tools.ts +2 -2
  611. package/src/modules/{workflow/agent-tools/workflow.tools.ts → version-control/agent-tools/version-control.tools.ts} +30 -30
  612. package/src/modules/{workflow → version-control}/change-request-hooks.ts +1 -1
  613. package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/approval-states.test.ts +5 -5
  614. package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/cancel-pr.test.ts +8 -8
  615. package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/carry-approvals-forward.test.ts +6 -6
  616. package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/erase-approver.test.ts +5 -5
  617. package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/merge-gate.test.ts +3 -3
  618. package/src/modules/{workflow/review-workflow → version-control/change-request-review}/__tests__/merge-records-own-commit.test.ts +3 -3
  619. package/src/modules/{workflow/review-workflow/review-workflow.interface.ts → version-control/change-request-review/change-request-review.interface.ts} +1 -1
  620. package/src/modules/{workflow/review-workflow/review-workflow.service.ts → version-control/change-request-review/change-request-review.service.ts} +28 -28
  621. package/src/modules/{workflow → version-control}/event-bus.ts +14 -14
  622. package/src/modules/{workflow → version-control}/events-delivery.ts +11 -11
  623. package/src/modules/{workflow → version-control}/events.routes.ts +5 -5
  624. package/src/modules/{workflow → version-control}/file-lock.service.ts +6 -6
  625. package/src/modules/{workflow → version-control}/git/__tests__/git-test-helpers.ts +3 -3
  626. package/src/modules/{workflow → version-control}/git/__tests__/git.service.accessGating.test.ts +5 -5
  627. package/src/modules/{workflow → version-control}/git/__tests__/git.service.appliedChange.test.ts +4 -4
  628. package/src/modules/{workflow → version-control}/git/__tests__/git.service.changedFilesForPr.test.ts +16 -16
  629. package/src/modules/{workflow → version-control}/git/__tests__/git.service.changedPathsMemo.test.ts +2 -2
  630. package/src/modules/{workflow → version-control}/git/__tests__/git.service.commitChanges.test.ts +3 -3
  631. package/src/modules/{workflow → version-control}/git/__tests__/git.service.commitFile.strayPath.test.ts +10 -10
  632. package/src/modules/{workflow → version-control}/git/__tests__/git.service.commitFile.test.ts +3 -3
  633. package/src/modules/{workflow → version-control}/git/__tests__/git.service.createBranch.test.ts +3 -3
  634. package/src/modules/{workflow → version-control}/git/__tests__/git.service.deleteBranch.test.ts +7 -7
  635. package/src/modules/{workflow → version-control}/git/__tests__/git.service.diffFileAtCommit.test.ts +9 -9
  636. package/src/modules/{workflow → version-control}/git/__tests__/git.service.diffFileBetweenBranches.test.ts +23 -23
  637. package/src/modules/{workflow → version-control}/git/__tests__/git.service.fileBytesAtCommit.test.ts +7 -7
  638. package/src/modules/{workflow → version-control}/git/__tests__/git.service.fileContentsAtCommit.test.ts +3 -3
  639. package/src/modules/{workflow → version-control}/git/__tests__/git.service.forkPoint.test.ts +2 -2
  640. package/src/modules/{workflow → version-control}/git/__tests__/git.service.history-guards.test.ts +2 -2
  641. package/src/modules/{workflow → version-control}/git/__tests__/git.service.list-branches.test.ts +12 -12
  642. package/src/modules/{workflow → version-control}/git/__tests__/git.service.listTrackedFiles.test.ts +2 -2
  643. package/src/modules/{workflow → version-control}/git/__tests__/git.service.logForFile.test.ts +6 -6
  644. package/src/modules/{workflow → version-control}/git/__tests__/git.service.mergeChangeRequest.test.ts +20 -20
  645. package/src/modules/{workflow → version-control}/git/__tests__/git.service.mergeIntoBranch.test.ts +16 -16
  646. package/src/modules/{workflow → version-control}/git/__tests__/git.service.pendingChanges.test.ts +2 -2
  647. package/src/modules/{workflow → version-control}/git/__tests__/git.service.postMergePull.test.ts +5 -5
  648. package/src/modules/{workflow → version-control}/git/__tests__/git.service.prFetchFailure.test.ts +2 -2
  649. package/src/modules/{workflow → version-control}/git/__tests__/git.service.pull.test.ts +12 -12
  650. package/src/modules/{workflow → version-control}/git/__tests__/git.service.readFileAtRef.test.ts +3 -3
  651. package/src/modules/{workflow → version-control}/git/__tests__/git.service.revertPathsAndPush.test.ts +2 -2
  652. package/src/modules/{workflow → version-control}/git/__tests__/git.service.status.test.ts +4 -4
  653. package/src/modules/{workflow → version-control}/git/__tests__/git.service.syncFromRemote.test.ts +8 -8
  654. package/src/modules/{workflow → version-control}/git/__tests__/git.service.worktrees.test.ts +4 -4
  655. package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.list-fetch.test.ts +2 -2
  656. package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.test.ts +6 -6
  657. package/src/modules/{workflow → version-control}/git/git.service.ts +57 -57
  658. package/src/modules/{workflow → version-control}/git/node-git-runner.ts +1 -1
  659. package/src/modules/{workflow → version-control}/git/pull-request.service.ts +12 -12
  660. package/src/modules/{workflow → version-control}/index.ts +6 -5
  661. package/src/modules/{workflow → version-control}/pending-commits.service.ts +2 -2
  662. package/src/modules/{workflow → version-control}/pending-commits.worker.ts +8 -8
  663. package/src/modules/{workflow → version-control}/read-on-branch.ts +2 -2
  664. package/src/modules/{workflow/workflow-hooks.ts → version-control/version-control-hooks.ts} +3 -3
  665. package/src/modules/{workflow/workflow.routes.ts → version-control/version-control.routes.ts} +64 -63
  666. package/src/modules/{workflow/workflow.service.ts → version-control/version-control.service.ts} +92 -97
  667. package/src/modules/workspace/__tests__/agent-access.gate.test.ts +8 -8
  668. package/src/modules/workspace/__tests__/agent-downloads.test.ts +13 -16
  669. package/src/modules/workspace/__tests__/agent-uploads.test.ts +11 -12
  670. package/src/modules/workspace/__tests__/escape-sequences.routes.test.ts +11 -16
  671. package/src/modules/workspace/__tests__/file-stat-access.test.ts +3 -3
  672. package/src/modules/workspace/__tests__/git-internals.security.test.ts +27 -27
  673. package/src/modules/workspace/__tests__/kb-repository.test.ts +1 -1
  674. package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +3 -3
  675. package/src/modules/workspace/__tests__/start-session.default-branch.test.ts +152 -0
  676. package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +6 -6
  677. package/src/modules/workspace/__tests__/workspace-tmp.tools.test.ts +13 -14
  678. package/src/modules/workspace/__tests__/workspace.routes.at-ref.test.ts +6 -6
  679. package/src/modules/workspace/__tests__/workspace.routes.branch-errors.test.ts +4 -4
  680. package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +6 -6
  681. package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +8 -8
  682. package/src/modules/workspace/__tests__/workspace.routes.download-implies-read.test.ts +4 -4
  683. package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +6 -6
  684. package/src/modules/workspace/__tests__/workspace.routes.file-writes.test.ts +6 -6
  685. package/src/modules/workspace/__tests__/workspace.routes.folder-zip-access.test.ts +4 -4
  686. package/src/modules/workspace/__tests__/workspace.routes.folders.test.ts +6 -6
  687. package/src/modules/workspace/__tests__/workspace.routes.move-platform-files.test.ts +7 -7
  688. package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +13 -13
  689. package/src/modules/workspace/__tests__/workspace.service.any-workspace-credentials.test.ts +1 -1
  690. package/src/modules/workspace/__tests__/workspace.service.replaced-repository.test.ts +1 -1
  691. package/src/modules/workspace/__tests__/workspace.service.worktrees.test.ts +1 -1
  692. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +5 -5
  693. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +5 -5
  694. package/src/modules/workspace/__tests__/workspace.tools.test.ts +27 -27
  695. package/src/modules/workspace/agent-access.gate.ts +5 -5
  696. package/src/modules/workspace/git-internals.middleware.ts +2 -2
  697. package/src/modules/workspace/kb-repository.ts +1 -1
  698. package/src/modules/workspace/startup/__tests__/kb-startup-runner.degraded.test.ts +1 -1
  699. package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +1 -1
  700. package/src/modules/workspace/startup/__tests__/kb-startup-runner.worktrees.test.ts +1 -1
  701. package/src/modules/workspace/startup/kb-git.ts +1 -1
  702. package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +94 -70
  703. package/src/modules/workspace/startup/steps/seed-tree.ts +4 -5
  704. package/src/modules/workspace/startup/steps/template-files.step.ts +4 -5
  705. package/src/modules/workspace/startup/steps/template-source.ts +21 -6
  706. package/src/modules/workspace/workspace-tmp.ts +4 -4
  707. package/src/modules/workspace/workspace.routes.ts +26 -26
  708. package/src/modules/workspace/workspace.service.ts +11 -11
  709. package/src/modules/workspace/workspace.tools.ts +17 -10
  710. package/src/shared/__tests__/canonical-file-identity.test.ts +5 -5
  711. package/src/shared/__tests__/http-errors.test.ts +4 -4
  712. package/src/shared/canonical-file-identity.ts +5 -5
  713. package/src/shared/domain-errors.ts +44 -44
  714. package/src/shared/git.contract.ts +1 -1
  715. package/src/shared/http-errors.ts +3 -3
  716. package/src/shared/kb-context.ts +130 -130
  717. package/src/shared/pending-proposals.ts +4 -4
  718. package/src/tenancy/__tests__/tenant-host.test.ts +372 -372
  719. package/src/tenancy/__tests__/tenant-runtime.test.ts +221 -221
  720. package/src/tenancy/__tests__/tenant-secrets.test.ts +35 -35
  721. package/src/tenancy/index.ts +35 -35
  722. package/src/tenancy/static-tenant-source.ts +1 -1
  723. package/src/tenancy/tenant-host.ts +261 -261
  724. package/src/tenancy/tenant-runtime.ts +208 -208
  725. package/src/tenancy/tenant-source.contract.ts +59 -59
  726. package/dist/modules/workflow/agent-tools/change-request-read-shape.d.ts.map +0 -1
  727. package/dist/modules/workflow/agent-tools/change-request-read-shape.js.map +0 -1
  728. package/dist/modules/workflow/agent-tools/change-request-read.tools.d.ts.map +0 -1
  729. package/dist/modules/workflow/agent-tools/change-request-read.tools.js.map +0 -1
  730. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts.map +0 -1
  731. package/dist/modules/workflow/agent-tools/change-request-summary.js.map +0 -1
  732. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +0 -1
  733. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +0 -1
  734. package/dist/modules/workflow/change-request-hooks.d.ts.map +0 -1
  735. package/dist/modules/workflow/change-request-hooks.js.map +0 -1
  736. package/dist/modules/workflow/event-bus.d.ts.map +0 -1
  737. package/dist/modules/workflow/event-bus.js.map +0 -1
  738. package/dist/modules/workflow/events-delivery.d.ts.map +0 -1
  739. package/dist/modules/workflow/events-delivery.js.map +0 -1
  740. package/dist/modules/workflow/events.routes.d.ts.map +0 -1
  741. package/dist/modules/workflow/events.routes.js.map +0 -1
  742. package/dist/modules/workflow/file-lock.service.d.ts.map +0 -1
  743. package/dist/modules/workflow/file-lock.service.js.map +0 -1
  744. package/dist/modules/workflow/git/change-request-link.d.ts.map +0 -1
  745. package/dist/modules/workflow/git/change-request-link.js.map +0 -1
  746. package/dist/modules/workflow/git/git-version.d.ts.map +0 -1
  747. package/dist/modules/workflow/git/git-version.js.map +0 -1
  748. package/dist/modules/workflow/git/git.service.d.ts.map +0 -1
  749. package/dist/modules/workflow/git/git.service.js.map +0 -1
  750. package/dist/modules/workflow/git/merge-commit.d.ts.map +0 -1
  751. package/dist/modules/workflow/git/merge-commit.js.map +0 -1
  752. package/dist/modules/workflow/git/node-git-runner.d.ts.map +0 -1
  753. package/dist/modules/workflow/git/node-git-runner.js.map +0 -1
  754. package/dist/modules/workflow/git/pull-request.service.d.ts.map +0 -1
  755. package/dist/modules/workflow/git/pull-request.service.js.map +0 -1
  756. package/dist/modules/workflow/index.d.ts.map +0 -1
  757. package/dist/modules/workflow/index.js.map +0 -1
  758. package/dist/modules/workflow/pending-commits.service.d.ts.map +0 -1
  759. package/dist/modules/workflow/pending-commits.service.js.map +0 -1
  760. package/dist/modules/workflow/pending-commits.worker.d.ts.map +0 -1
  761. package/dist/modules/workflow/pending-commits.worker.js.map +0 -1
  762. package/dist/modules/workflow/read-on-branch.d.ts.map +0 -1
  763. package/dist/modules/workflow/read-on-branch.js.map +0 -1
  764. package/dist/modules/workflow/recovery-bot.d.ts.map +0 -1
  765. package/dist/modules/workflow/recovery-bot.js.map +0 -1
  766. package/dist/modules/workflow/review-workflow/approval-lock.d.ts.map +0 -1
  767. package/dist/modules/workflow/review-workflow/approval-lock.js.map +0 -1
  768. package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts.map +0 -1
  769. package/dist/modules/workflow/review-workflow/review-workflow.interface.js +0 -2
  770. package/dist/modules/workflow/review-workflow/review-workflow.interface.js.map +0 -1
  771. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +0 -1
  772. package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +0 -1
  773. package/dist/modules/workflow/sanitize-error.d.ts.map +0 -1
  774. package/dist/modules/workflow/sanitize-error.js.map +0 -1
  775. package/dist/modules/workflow/workflow-hooks.d.ts.map +0 -1
  776. package/dist/modules/workflow/workflow-hooks.js.map +0 -1
  777. package/dist/modules/workflow/workflow.routes.d.ts.map +0 -1
  778. package/dist/modules/workflow/workflow.routes.js.map +0 -1
  779. package/dist/modules/workflow/workflow.service.d.ts.map +0 -1
  780. package/dist/modules/workflow/workflow.service.js.map +0 -1
  781. package/src/modules/mcp/__tests__/read-only-hint.e2e.test.ts +0 -213
  782. /package/dist/modules/{workflow → version-control}/agent-tools/change-request-read-shape.d.ts +0 -0
  783. /package/dist/modules/{workflow → version-control}/agent-tools/change-request-read-shape.js +0 -0
  784. /package/dist/modules/{workflow → version-control}/agent-tools/change-request-read.tools.d.ts +0 -0
  785. /package/dist/modules/{workflow → version-control}/agent-tools/change-request-summary.d.ts +0 -0
  786. /package/dist/modules/{workflow → version-control}/agent-tools/change-request-summary.js +0 -0
  787. /package/dist/modules/{workflow → version-control}/change-request-hooks.js +0 -0
  788. /package/dist/modules/{workflow/review-workflow → version-control/change-request-review}/approval-lock.d.ts +0 -0
  789. /package/dist/modules/{workflow/review-workflow → version-control/change-request-review}/approval-lock.js +0 -0
  790. /package/dist/modules/{workflow → version-control}/events-delivery.js +0 -0
  791. /package/dist/modules/{workflow → version-control}/events.routes.js +0 -0
  792. /package/dist/modules/{workflow → version-control}/git/change-request-link.d.ts +0 -0
  793. /package/dist/modules/{workflow → version-control}/git/change-request-link.js +0 -0
  794. /package/dist/modules/{workflow → version-control}/git/git-version.d.ts +0 -0
  795. /package/dist/modules/{workflow → version-control}/git/git-version.js +0 -0
  796. /package/dist/modules/{workflow → version-control}/git/merge-commit.d.ts +0 -0
  797. /package/dist/modules/{workflow → version-control}/git/merge-commit.js +0 -0
  798. /package/dist/modules/{workflow → version-control}/git/node-git-runner.d.ts +0 -0
  799. /package/dist/modules/{workflow → version-control}/recovery-bot.d.ts +0 -0
  800. /package/dist/modules/{workflow → version-control}/recovery-bot.js +0 -0
  801. /package/dist/modules/{workflow → version-control}/sanitize-error.d.ts +0 -0
  802. /package/dist/modules/{workflow → version-control}/sanitize-error.js +0 -0
  803. /package/src/modules/{workflow → version-control}/__tests__/change-request-hooks.test.ts +0 -0
  804. /package/src/modules/{workflow → version-control}/__tests__/fake-file-lock-db.ts +0 -0
  805. /package/src/modules/{workflow → version-control}/__tests__/pending-commits.canonical.test.ts +0 -0
  806. /package/src/modules/{workflow → version-control}/__tests__/pending-commits.enqueue-if-absent.test.ts +0 -0
  807. /package/src/modules/{workflow → version-control}/__tests__/pending-commits.repository-replaced.test.ts +0 -0
  808. /package/src/modules/{workflow → version-control}/__tests__/sanitize-error.test.ts +0 -0
  809. /package/src/modules/{workflow → version-control}/agent-tools/__tests__/change-request-read-shape.test.ts +0 -0
  810. /package/src/modules/{workflow → version-control}/agent-tools/change-request-read-shape.ts +0 -0
  811. /package/src/modules/{workflow → version-control}/agent-tools/change-request-summary.ts +0 -0
  812. /package/src/modules/{workflow/review-workflow → version-control/change-request-review}/approval-lock.ts +0 -0
  813. /package/src/modules/{workflow → version-control}/git/__tests__/branchAuthor.test.ts +0 -0
  814. /package/src/modules/{workflow → version-control}/git/__tests__/change-request-link.test.ts +0 -0
  815. /package/src/modules/{workflow → version-control}/git/__tests__/git-version.failure.test.ts +0 -0
  816. /package/src/modules/{workflow → version-control}/git/__tests__/git-version.test.ts +0 -0
  817. /package/src/modules/{workflow → version-control}/git/__tests__/node-git-runner.test.ts +0 -0
  818. /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.getPrDetail.test.ts +0 -0
  819. /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.placeholder.test.ts +0 -0
  820. /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.viewer-can-cancel.test.ts +0 -0
  821. /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.viewer-can-delete.test.ts +0 -0
  822. /package/src/modules/{workflow → version-control}/git/__tests__/pull-request.service.viewer-can-update.test.ts +0 -0
  823. /package/src/modules/{workflow → version-control}/git/change-request-link.ts +0 -0
  824. /package/src/modules/{workflow → version-control}/git/git-version.ts +0 -0
  825. /package/src/modules/{workflow → version-control}/git/merge-commit.ts +0 -0
  826. /package/src/modules/{workflow → version-control}/recovery-bot.ts +0 -0
  827. /package/src/modules/{workflow → version-control}/sanitize-error.ts +0 -0
@@ -3,14 +3,14 @@ import { testKbContext } from '../../../__tests__/kb-context.js';
3
3
  import type { AuthUser, PullRequestSummary } from '@bevel-software/platform-shared';
4
4
  import type { GitService } from '../git/git.service.js';
5
5
  import type { PullRequestService } from '../git/pull-request.service.js';
6
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
6
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
7
7
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
8
8
  import type { IAccessControl } from '../../access/access-control.interface.js';
9
9
  import type { FileLockService } from '../file-lock.service.js';
10
10
  import type { PendingCommitsService } from '../pending-commits.service.js';
11
11
  import type { Database } from '../../database/connection.js';
12
12
  import { hashEmail } from '../../../shared/email-identity.js';
13
- import { WorkflowService } from '../workflow.service.js';
13
+ import { VersionControlService } from '../version-control.service.js';
14
14
  import { openChangeGate } from '../../../__tests__/open-change-gate.js';
15
15
 
16
16
  /**
@@ -130,11 +130,11 @@ function makeHarness(requests: PullRequestSummary[], access: Access = {}) {
130
130
  }),
131
131
  });
132
132
 
133
- const svc = new WorkflowService(
133
+ const svc = new VersionControlService(
134
134
  chain as unknown as Database,
135
135
  git,
136
136
  prs,
137
- {} as IReviewWorkflowService,
137
+ {} as IChangeRequestReviewService,
138
138
  workspaceService,
139
139
  accessControl,
140
140
  fileLocks,
@@ -176,7 +176,7 @@ const elsewhere = summary({
176
176
  touchedNodePaths: ['Data/ReportsArchive/old.md'],
177
177
  });
178
178
 
179
- describe('WorkflowService.changeRequestsUnderFolder', () => {
179
+ describe('VersionControlService.changeRequestsUnderFolder', () => {
180
180
  it('names only the requests proposing files under the folder, with only those paths', async () => {
181
181
  const { svc } = makeHarness([aliceRequest, bobRequest, elsewhere], { admins: [ALICE.email] });
182
182
  const requests = await svc.changeRequestsUnderFolder('Data/Reports', ALICE);
@@ -252,7 +252,7 @@ describe('WorkflowService.changeRequestsUnderFolder', () => {
252
252
  });
253
253
  });
254
254
 
255
- describe('WorkflowService.removeFolderFromChangeRequests', () => {
255
+ describe('VersionControlService.removeFolderFromChangeRequests', () => {
256
256
  const aliceWs = encodeURIComponent(aliceRequest.branch);
257
257
  const bobWs = encodeURIComponent(bobRequest.branch);
258
258
  type Plans = Parameters<GitService['revertPathsAndPush']>[1];
@@ -544,7 +544,7 @@ describe('WorkflowService.removeFolderFromChangeRequests', () => {
544
544
  });
545
545
  });
546
546
 
547
- describe('WorkflowService.closeEmptyChangeRequest', () => {
547
+ describe('VersionControlService.closeEmptyChangeRequest', () => {
548
548
  const emptied = summary({ number: 40, branch: 'suggestions/bob-u-bob/knowledge', touchedNodePaths: [] });
549
549
 
550
550
  it('withdraws a request whose diff is empty and whose branch has nothing landing', async () => {
@@ -3,13 +3,13 @@ import { testKbContext } from '../../../__tests__/kb-context.js';
3
3
  import type { AuthUser } from '@bevel-software/platform-shared';
4
4
  import type { GitService } from '../git/git.service.js';
5
5
  import type { PullRequestService } from '../git/pull-request.service.js';
6
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
6
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
7
7
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
8
8
  import type { IAccessControl } from '../../access/access-control.interface.js';
9
9
  import type { FileLockService } from '../file-lock.service.js';
10
10
  import type { PendingCommitsService } from '../pending-commits.service.js';
11
- import { WorkflowEventBus } from '../event-bus.js';
12
- import { WorkflowService } from '../workflow.service.js';
11
+ import { VersionControlEventBus } from '../event-bus.js';
12
+ import { VersionControlService } from '../version-control.service.js';
13
13
  import type { Database } from '../../database/connection.js';
14
14
  import { AccessDeniedError } from '../../access-model/access-errors.js';
15
15
  import { openChangeGate } from '../../../__tests__/open-change-gate.js';
@@ -45,18 +45,18 @@ function makeService(canRestorePlatformFile: IAccessControl['canRestorePlatformF
45
45
  eligibleWritersAtRef: vi.fn(async () => ({ roles: [], users: [] })),
46
46
  canRestorePlatformFile: vi.fn(canRestorePlatformFile),
47
47
  } as unknown as IAccessControl;
48
- const svc = new WorkflowService(
48
+ const svc = new VersionControlService(
49
49
  {} as unknown as Database,
50
50
  {} as GitService,
51
51
  {} as PullRequestService,
52
- {} as IReviewWorkflowService,
52
+ {} as IChangeRequestReviewService,
53
53
  {} as WorkspaceService,
54
54
  accessControl,
55
55
  { acquire, get: vi.fn(async () => null) } as unknown as FileLockService,
56
56
  {} as PendingCommitsService,
57
57
  testKbContext({ kbDirName: KB }),
58
58
  openChangeGate(),
59
- new WorkflowEventBus(),
59
+ new VersionControlEventBus(),
60
60
  );
61
61
  return { svc, acquire, accessControl };
62
62
  }
@@ -3,13 +3,13 @@ import { testKbContext } from '../../../__tests__/kb-context.js';
3
3
  import type { AuthUser } from '@bevel-software/platform-shared';
4
4
  import type { GitService } from '../git/git.service.js';
5
5
  import type { PullRequestService } from '../git/pull-request.service.js';
6
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
6
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
7
7
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
8
8
  import type { IAccessControl } from '../../access/access-control.interface.js';
9
9
  import type { FileLockService } from '../file-lock.service.js';
10
10
  import type { PendingCommitsService } from '../pending-commits.service.js';
11
- import { WorkflowEventBus } from '../event-bus.js';
12
- import { WorkflowService } from '../workflow.service.js';
11
+ import { VersionControlEventBus } from '../event-bus.js';
12
+ import { VersionControlService } from '../version-control.service.js';
13
13
  import type { Database } from '../../database/connection.js';
14
14
  import { AccessDeniedError } from '../../access-model/access-errors.js';
15
15
  import type { ChangeReadVerdict, IChangeReadGate } from '../../access-model/change-gate.js';
@@ -53,31 +53,31 @@ function makeService(opts: {
53
53
  eligibleWritersAtRef: vi.fn(async () => ({ roles: [], users: [] })),
54
54
  canRestorePlatformFile: vi.fn(async () => opts.canRestorePlatformFile ?? false),
55
55
  } as unknown as IAccessControl;
56
- const svc = new WorkflowService(
56
+ const svc = new VersionControlService(
57
57
  {} as unknown as Database,
58
58
  {} as GitService,
59
59
  {} as PullRequestService,
60
- {} as IReviewWorkflowService,
60
+ {} as IChangeRequestReviewService,
61
61
  {} as WorkspaceService,
62
62
  accessControl,
63
63
  { acquire, get: vi.fn(async () => null) } as unknown as FileLockService,
64
64
  {} as PendingCommitsService,
65
65
  testKbContext({ kbDirName: KB }),
66
66
  opts.gate ?? gateThat({ allowed: true, via: 'readable' }).gate,
67
- new WorkflowEventBus(),
67
+ new VersionControlEventBus(),
68
68
  );
69
69
  return { svc, acquire, accessControl };
70
70
  }
71
71
 
72
- describe('WorkflowService cannot exist without the gate', () => {
72
+ describe('VersionControlService cannot exist without the gate', () => {
73
73
  it('refuses construction when none is given, whatever the compiler was told', () => {
74
74
  expect(
75
75
  () =>
76
- new WorkflowService(
76
+ new VersionControlService(
77
77
  {} as unknown as Database,
78
78
  {} as GitService,
79
79
  {} as PullRequestService,
80
- {} as IReviewWorkflowService,
80
+ {} as IChangeRequestReviewService,
81
81
  {} as WorkspaceService,
82
82
  {} as IAccessControl,
83
83
  {} as FileLockService,
@@ -3,28 +3,28 @@ import { testKbContext } from '../../../__tests__/kb-context.js';
3
3
  import type { AuthUser, Change } from '@bevel-software/platform-shared';
4
4
  import type { GitService } from '../git/git.service.js';
5
5
  import type { PullRequestService } from '../git/pull-request.service.js';
6
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
6
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
7
7
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
8
8
  import type { IAccessControl } from '../../access/access-control.interface.js';
9
9
  import { FileLockService } from '../file-lock.service.js';
10
10
  import { PendingCommitsService } from '../pending-commits.service.js';
11
- import { WorkflowEventBus } from '../event-bus.js';
12
- import { WorkflowService, syncConflictMessage } from '../workflow.service.js';
11
+ import { VersionControlEventBus } from '../event-bus.js';
12
+ import { VersionControlService, syncConflictMessage } from '../version-control.service.js';
13
13
  import { openChangeGate } from '../../../__tests__/open-change-gate.js';
14
14
  import type { Database } from '../../database/connection.js';
15
15
  import {
16
16
  PullRebaseConflictError,
17
17
  PullRebaseConflictError,
18
18
  PushNeedsAgentResolutionError,
19
- WorkflowValidationError,
19
+ VersionControlValidationError,
20
20
  } from '../../../shared/domain-errors.js';
21
21
 
22
22
  /**
23
23
  * Two surfaces under test:
24
24
  *
25
- * 1. `WorkflowService.releaseLock` — new shape (enqueue + drop lock,
25
+ * 1. `VersionControlService.releaseLock` — new shape (enqueue + drop lock,
26
26
  * no synchronous commit).
27
- * 2. `WorkflowService.runPendingCommit` — what the background worker
27
+ * 2. `VersionControlService.runPendingCommit` — what the background worker
28
28
  * calls per claimed row. This is where the old releaseLock's
29
29
  * commit + cooperative-push + recovery body now lives, so the
30
30
  * non-FF + auth-failure + double-push-fail scenarios moved here.
@@ -133,13 +133,13 @@ function makeFacade(
133
133
  git: GitService,
134
134
  locks: FileLockService,
135
135
  pending: PendingCommitsService,
136
- events: WorkflowEventBus,
137
- ): WorkflowService {
138
- return new WorkflowService(
136
+ events: VersionControlEventBus,
137
+ ): VersionControlService {
138
+ return new VersionControlService(
139
139
  {} as unknown as Database,
140
140
  git,
141
141
  {} as PullRequestService,
142
- {} as IReviewWorkflowService,
142
+ {} as IChangeRequestReviewService,
143
143
  {} as WorkspaceService,
144
144
  {} as IAccessControl,
145
145
  locks,
@@ -150,12 +150,12 @@ function makeFacade(
150
150
  );
151
151
  }
152
152
 
153
- describe('WorkflowService.releaseLock — new (enqueue, no synchronous commit)', () => {
154
- let events: WorkflowEventBus;
153
+ describe('VersionControlService.releaseLock — new (enqueue, no synchronous commit)', () => {
154
+ let events: VersionControlEventBus;
155
155
  let emitSpy: MockInstance;
156
156
 
157
157
  beforeEach(() => {
158
- events = new WorkflowEventBus();
158
+ events = new VersionControlEventBus();
159
159
  emitSpy = vi.spyOn(events, 'emit');
160
160
  });
161
161
 
@@ -203,7 +203,7 @@ describe('WorkflowService.releaseLock — new (enqueue, no synchronous commit)',
203
203
  const svc = makeFacade(git, locks, pending, events);
204
204
 
205
205
  await expect(svc.releaseLock('ws-1', 'feat/x', 'foo.md', USER)).rejects.toBeInstanceOf(
206
- WorkflowValidationError,
206
+ VersionControlValidationError,
207
207
  );
208
208
  // Ownership guard MUST run before we enqueue — otherwise a non-holder
209
209
  // could schedule a commit attributed to themselves on any file.
@@ -222,13 +222,13 @@ describe('WorkflowService.releaseLock — new (enqueue, no synchronous commit)',
222
222
  const svc = makeFacade(git, locks, pending, events);
223
223
 
224
224
  await expect(svc.releaseLock('ws-1', 'feat/x', 'foo.md', USER)).rejects.toBeInstanceOf(
225
- WorkflowValidationError,
225
+ VersionControlValidationError,
226
226
  );
227
227
  expect(pending.enqueue).not.toHaveBeenCalled();
228
228
  });
229
229
 
230
230
  it('surfaces lock-release failure without rolling back the enqueue', async () => {
231
- // Documents the deliberate ordering at workflow.service.ts:
231
+ // Documents the deliberate ordering at version-control.service.ts:
232
232
  // enqueue first, drop second. If `locks.release` throws after a
233
233
  // successful `pending.enqueue`, we let the error propagate — the
234
234
  // queued row stays so the worker eventually commits the file, and
@@ -281,20 +281,20 @@ describe('WorkflowService.releaseLock — new (enqueue, no synchronous commit)',
281
281
  .releaseLock('ws-1', 'feat/x', 'foo.md', USER)
282
282
  .then(() => null)
283
283
  .catch((e: unknown) => e);
284
- expect(err).toBeInstanceOf(WorkflowValidationError);
285
- expect((err as WorkflowValidationError).payload?.kind).toBe('coordination-hold');
284
+ expect(err).toBeInstanceOf(VersionControlValidationError);
285
+ expect((err as VersionControlValidationError).payload?.kind).toBe('coordination-hold');
286
286
  expect(pending.enqueue).not.toHaveBeenCalled();
287
287
  expect(locks.release).not.toHaveBeenCalled();
288
288
  expect(emitSpy).not.toHaveBeenCalled();
289
289
  });
290
290
  });
291
291
 
292
- describe('WorkflowService.releaseLockUntouched — drop the row, leave disk AND queue alone', () => {
293
- let events: WorkflowEventBus;
292
+ describe('VersionControlService.releaseLockUntouched — drop the row, leave disk AND queue alone', () => {
293
+ let events: VersionControlEventBus;
294
294
  let emitSpy: MockInstance;
295
295
 
296
296
  beforeEach(() => {
297
- events = new WorkflowEventBus();
297
+ events = new VersionControlEventBus();
298
298
  emitSpy = vi.spyOn(events, 'emit');
299
299
  });
300
300
 
@@ -330,11 +330,11 @@ describe('WorkflowService.releaseLockUntouched — drop the row, leave disk AND
330
330
  });
331
331
  });
332
332
 
333
- describe('WorkflowService.releaseLockNoCommit — coordination-hold discard guard', () => {
334
- let events: WorkflowEventBus;
333
+ describe('VersionControlService.releaseLockNoCommit — coordination-hold discard guard', () => {
334
+ let events: VersionControlEventBus;
335
335
 
336
336
  beforeEach(() => {
337
- events = new WorkflowEventBus();
337
+ events = new VersionControlEventBus();
338
338
  });
339
339
 
340
340
  it('discards as usual on an EDIT hold, without consulting the queue', async () => {
@@ -388,23 +388,23 @@ describe('WorkflowService.releaseLockNoCommit — coordination-hold discard guar
388
388
  });
389
389
  });
390
390
 
391
- describe('WorkflowService.hasQueuedCommit', () => {
391
+ describe('VersionControlService.hasQueuedCommit', () => {
392
392
  it('delegates to the pending-commits queue per (workspace, branch, path)', async () => {
393
393
  const pending = makePending();
394
394
  (pending.hasLiveRowFor as ReturnType<typeof vi.fn>).mockResolvedValue(true);
395
- const svc = makeFacade(makeGit(), makeFileLocks(USER.id), pending, new WorkflowEventBus());
395
+ const svc = makeFacade(makeGit(), makeFileLocks(USER.id), pending, new VersionControlEventBus());
396
396
 
397
397
  await expect(svc.hasQueuedCommit('ws-1', 'feat/x', 'foo.md')).resolves.toBe(true);
398
398
  expect(pending.hasLiveRowFor).toHaveBeenCalledWith('ws-1', 'feat/x', 'foo.md');
399
399
  });
400
400
  });
401
401
 
402
- describe('WorkflowService.runPendingCommit — worker entry point', () => {
403
- let events: WorkflowEventBus;
402
+ describe('VersionControlService.runPendingCommit — worker entry point', () => {
403
+ let events: VersionControlEventBus;
404
404
  let emitSpy: MockInstance;
405
405
 
406
406
  beforeEach(() => {
407
- events = new WorkflowEventBus();
407
+ events = new VersionControlEventBus();
408
408
  emitSpy = vi.spyOn(events, 'emit');
409
409
  });
410
410
 
@@ -574,12 +574,12 @@ describe('WorkflowService.runPendingCommit — worker entry point', () => {
574
574
  });
575
575
  });
576
576
 
577
- describe('WorkflowService — git-sync visibility events', () => {
578
- let events: WorkflowEventBus;
577
+ describe('VersionControlService — git-sync visibility events', () => {
578
+ let events: VersionControlEventBus;
579
579
  let emitSpy: MockInstance;
580
580
 
581
581
  beforeEach(() => {
582
- events = new WorkflowEventBus();
582
+ events = new VersionControlEventBus();
583
583
  emitSpy = vi.spyOn(events, 'emit');
584
584
  });
585
585
 
@@ -723,7 +723,7 @@ describe('WorkflowService — git-sync visibility events', () => {
723
723
  });
724
724
  });
725
725
 
726
- describe('WorkflowService.updateFromRemote — pull-conflict recovery dispatch', () => {
726
+ describe('VersionControlService.updateFromRemote — pull-conflict recovery dispatch', () => {
727
727
  const CONFLICT = new PullRebaseConflictError(
728
728
  'main',
729
729
  ['PR-Overviews/PR-7.html', 'other.md'],
@@ -739,7 +739,7 @@ describe('WorkflowService.updateFromRemote — pull-conflict recovery dispatch',
739
739
  it('queues ONE recovery row (first conflicted path, triggering user) and rethrows', async () => {
740
740
  const pending = makePending();
741
741
  const svc = makeFacade(
742
- makeConflictingGit(CONFLICT), makeFileLocks(USER.id), pending, new WorkflowEventBus(),
742
+ makeConflictingGit(CONFLICT), makeFileLocks(USER.id), pending, new VersionControlEventBus(),
743
743
  );
744
744
 
745
745
  await expect(svc.updateFromRemote('main', USER)).rejects.toBe(CONFLICT);
@@ -760,7 +760,7 @@ describe('WorkflowService.updateFromRemote — pull-conflict recovery dispatch',
760
760
  it('falls back to the recovery-bot identity when no user is available', async () => {
761
761
  const pending = makePending();
762
762
  const svc = makeFacade(
763
- makeConflictingGit(CONFLICT), makeFileLocks(USER.id), pending, new WorkflowEventBus(),
763
+ makeConflictingGit(CONFLICT), makeFileLocks(USER.id), pending, new VersionControlEventBus(),
764
764
  );
765
765
 
766
766
  await expect(svc.updateFromRemote('main')).rejects.toBe(CONFLICT);
@@ -773,7 +773,7 @@ describe('WorkflowService.updateFromRemote — pull-conflict recovery dispatch',
773
773
  const pending = makePending();
774
774
  const transient = new Error('git fetch failed: could not resolve host');
775
775
  const svc = makeFacade(
776
- makeConflictingGit(transient), makeFileLocks(USER.id), pending, new WorkflowEventBus(),
776
+ makeConflictingGit(transient), makeFileLocks(USER.id), pending, new VersionControlEventBus(),
777
777
  );
778
778
 
779
779
  await expect(svc.updateFromRemote('main', USER)).rejects.toBe(transient);
@@ -786,14 +786,14 @@ describe('WorkflowService.updateFromRemote — pull-conflict recovery dispatch',
786
786
  new Error('db down'),
787
787
  );
788
788
  const svc = makeFacade(
789
- makeConflictingGit(CONFLICT), makeFileLocks(USER.id), pending, new WorkflowEventBus(),
789
+ makeConflictingGit(CONFLICT), makeFileLocks(USER.id), pending, new VersionControlEventBus(),
790
790
  );
791
791
 
792
792
  await expect(svc.updateFromRemote('main', USER)).rejects.toBe(CONFLICT);
793
793
  });
794
794
  });
795
795
 
796
- describe('WorkflowService.updateFromRemote — the tree-change announcement', () => {
796
+ describe('VersionControlService.updateFromRemote — the tree-change announcement', () => {
797
797
  /**
798
798
  * The announcement under test is what keeps the DEFAULT branch's catalog
799
799
  * caches (skills, tool manuals, plugin index) honest: a pull is the one way
@@ -829,7 +829,7 @@ describe('WorkflowService.updateFromRemote — the tree-change announcement', ()
829
829
  }
830
830
 
831
831
  it('emits fs-tree-changed for the default workspace once the pull has changed the tree', async () => {
832
- const events = new WorkflowEventBus();
832
+ const events = new VersionControlEventBus();
833
833
  const emitSpy = vi.spyOn(events, 'emit');
834
834
  const { git, pullSettled } = makePullingGit({ treeChanged: true });
835
835
  let settledAtEmit: boolean | undefined;
@@ -849,7 +849,7 @@ describe('WorkflowService.updateFromRemote — the tree-change announcement', ()
849
849
  });
850
850
 
851
851
  it('stays silent when the pull found nothing new (treeChanged: false)', async () => {
852
- const events = new WorkflowEventBus();
852
+ const events = new VersionControlEventBus();
853
853
  const emitSpy = vi.spyOn(events, 'emit');
854
854
  const { git } = makePullingGit({ treeChanged: false });
855
855
  const svc = makeFacade(git, makeFileLocks(USER.id), makePending(), events);
@@ -862,7 +862,7 @@ describe('WorkflowService.updateFromRemote — the tree-change announcement', ()
862
862
  });
863
863
 
864
864
  it('stays silent for a non-default workspace even when the tree changed', async () => {
865
- const events = new WorkflowEventBus();
865
+ const events = new VersionControlEventBus();
866
866
  const emitSpy = vi.spyOn(events, 'emit');
867
867
  const { git } = makePullingGit({ treeChanged: true });
868
868
  const svc = makeFacade(git, makeFileLocks(USER.id), makePending(), events);
@@ -873,7 +873,7 @@ describe('WorkflowService.updateFromRemote — the tree-change announcement', ()
873
873
  });
874
874
 
875
875
  it('stays silent when the pull throws', async () => {
876
- const events = new WorkflowEventBus();
876
+ const events = new VersionControlEventBus();
877
877
  const emitSpy = vi.spyOn(events, 'emit');
878
878
  const { git } = makePullingGit(new Error('git fetch failed: could not resolve host'));
879
879
  const svc = makeFacade(git, makeFileLocks(USER.id), makePending(), events);
@@ -2,13 +2,13 @@ import { describe, it, expect, vi } from 'vitest';
2
2
  import { testKbContext } from '../../../__tests__/kb-context.js';
3
3
  import type { GitService } from '../git/git.service.js';
4
4
  import type { PullRequestService } from '../git/pull-request.service.js';
5
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
5
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
6
6
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
7
7
  import type { IAccessControl } from '../../access/access-control.interface.js';
8
8
  import type { FileLockService } from '../file-lock.service.js';
9
9
  import type { PendingCommitsService } from '../pending-commits.service.js';
10
10
  import type { Database } from '../../database/connection.js';
11
- import { WorkflowService } from '../workflow.service.js';
11
+ import { VersionControlService } from '../version-control.service.js';
12
12
  import { openChangeGate } from '../../../__tests__/open-change-gate.js';
13
13
 
14
14
  /**
@@ -74,11 +74,11 @@ function makeService(passes: ClosedRow[][], openCount = passes.flat().length) {
74
74
  const prs = {
75
75
  invalidateDetailCache: vi.fn((n: number) => invalidated.push(n)),
76
76
  } as unknown as PullRequestService;
77
- const svc = new WorkflowService(
77
+ const svc = new VersionControlService(
78
78
  makeDb(passes, sets, openCount),
79
79
  {} as GitService,
80
80
  prs,
81
- {} as IReviewWorkflowService,
81
+ {} as IChangeRequestReviewService,
82
82
  {} as WorkspaceService,
83
83
  {} as IAccessControl,
84
84
  fileLocks,
@@ -3,14 +3,14 @@ import { testKbContext } from '../../../__tests__/kb-context.js';
3
3
  import type { RemoteSyncPullResult } from '@bevel-software/platform-shared';
4
4
  import type { GitService } from '../git/git.service.js';
5
5
  import type { PullRequestService } from '../git/pull-request.service.js';
6
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
6
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
7
7
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
8
8
  import type { IAccessControl } from '../../access/access-control.interface.js';
9
9
  import type { FileLockService } from '../file-lock.service.js';
10
10
  import type { PendingCommitsService } from '../pending-commits.service.js';
11
- import type { WorkflowEventBus } from '../event-bus.js';
11
+ import type { VersionControlEventBus } from '../event-bus.js';
12
12
  import type { Database } from '../../database/connection.js';
13
- import { WorkflowService, syncConflictMessage } from '../workflow.service.js';
13
+ import { VersionControlService, syncConflictMessage } from '../version-control.service.js';
14
14
  import { PullRebaseConflictError, RemoteBranchGoneError } from '../../../shared/domain-errors.js';
15
15
  import { openChangeGate } from '../../../__tests__/open-change-gate.js';
16
16
 
@@ -28,12 +28,12 @@ function build(opts: { sync: () => Promise<RemoteSyncPullResult> }) {
28
28
  const git = { syncFromRemote: vi.fn(opts.sync) } as unknown as GitService;
29
29
  const prs = { invalidateListCache: vi.fn() } as unknown as PullRequestService;
30
30
  const pendingCommits = { enqueueIfAbsent: vi.fn(async () => true) } as unknown as PendingCommitsService;
31
- const events = { emit: vi.fn() } as unknown as WorkflowEventBus;
32
- const svc = new WorkflowService(
31
+ const events = { emit: vi.fn() } as unknown as VersionControlEventBus;
32
+ const svc = new VersionControlService(
33
33
  {} as Database,
34
34
  git,
35
35
  prs,
36
- {} as IReviewWorkflowService,
36
+ {} as IChangeRequestReviewService,
37
37
  {} as WorkspaceService,
38
38
  {} as IAccessControl,
39
39
  {} as FileLockService,
@@ -48,7 +48,7 @@ function build(opts: { sync: () => Promise<RemoteSyncPullResult> }) {
48
48
  const kinds = (emit: ReturnType<typeof vi.fn>) =>
49
49
  emit.mock.calls.map((c) => (c[0] as { kind: string }).kind);
50
50
 
51
- describe('WorkflowService.syncWorkspaceFromRemote', () => {
51
+ describe('VersionControlService.syncWorkspaceFromRemote', () => {
52
52
  it('content changed: reports updated, announces the tree and each changed file, drops the CR list cache', async () => {
53
53
  const { svc, prs, emit } = build({
54
54
  sync: async () => ({ ...PULLED, changedPaths: ['Plugins/x/SKILL.md', 'Docs/a.md'] }),
@@ -246,7 +246,7 @@ describe('WorkflowService.syncWorkspaceFromRemote', () => {
246
246
  });
247
247
  });
248
248
 
249
- describe('WorkflowService.retireRemoteGoneClone', () => {
249
+ describe('VersionControlService.retireRemoteGoneClone', () => {
250
250
  function buildRetire(opts: { cloned: boolean; stillOnOrigin: boolean; bootstrapping?: boolean }) {
251
251
  const git = {
252
252
  remoteBranchExists: vi.fn(async () => opts.stillOnOrigin),
@@ -257,8 +257,8 @@ describe('WorkflowService.retireRemoteGoneClone', () => {
257
257
  isBootstrapInFlight: vi.fn(() => opts.bootstrapping === true),
258
258
  deleteWorkspace: vi.fn(async () => {}),
259
259
  } as unknown as WorkspaceService;
260
- const svc = new WorkflowService(
261
- {} as Database, git, {} as PullRequestService, {} as IReviewWorkflowService,
260
+ const svc = new VersionControlService(
261
+ {} as Database, git, {} as PullRequestService, {} as IChangeRequestReviewService,
262
262
  workspaceService, {} as IAccessControl, {} as FileLockService, {} as PendingCommitsService,
263
263
  testKbContext(),
264
264
  openChangeGate(),
@@ -317,7 +317,7 @@ describe('WorkflowService.retireRemoteGoneClone', () => {
317
317
  });
318
318
  });
319
319
 
320
- describe('WorkflowService.retireRemoteGoneClone — what can bring the branch back', () => {
320
+ describe('VersionControlService.retireRemoteGoneClone — what can bring the branch back', () => {
321
321
  it('backs off while a clone of the branch is being bootstrapped', async () => {
322
322
  const git = { remoteBranchExists: vi.fn(async () => false) } as unknown as GitService;
323
323
  const workspaceService = {
@@ -325,8 +325,8 @@ describe('WorkflowService.retireRemoteGoneClone — what can bring the branch ba
325
325
  isBootstrapInFlight: vi.fn(() => true),
326
326
  deleteWorkspace: vi.fn(async () => {}),
327
327
  } as unknown as WorkspaceService;
328
- const svc = new WorkflowService(
329
- {} as Database, git, {} as PullRequestService, {} as IReviewWorkflowService,
328
+ const svc = new VersionControlService(
329
+ {} as Database, git, {} as PullRequestService, {} as IChangeRequestReviewService,
330
330
  workspaceService, {} as IAccessControl, {} as FileLockService, {} as PendingCommitsService,
331
331
  testKbContext(),
332
332
  openChangeGate(),
@@ -354,8 +354,8 @@ describe('WorkflowService.retireRemoteGoneClone — what can bring the branch ba
354
354
  order.push('retire-deletes');
355
355
  }),
356
356
  } as unknown as WorkspaceService;
357
- const svc = new WorkflowService(
358
- {} as Database, git, {} as PullRequestService, {} as IReviewWorkflowService,
357
+ const svc = new VersionControlService(
358
+ {} as Database, git, {} as PullRequestService, {} as IChangeRequestReviewService,
359
359
  workspaceService, {} as IAccessControl, {} as FileLockService, {} as PendingCommitsService,
360
360
  testKbContext(),
361
361
  openChangeGate(),
@@ -370,7 +370,7 @@ describe('WorkflowService.retireRemoteGoneClone — what can bring the branch ba
370
370
  });
371
371
  });
372
372
 
373
- describe('WorkflowService.syncWorkspaceFromRemote — an announcement is owed until delivered', () => {
373
+ describe('VersionControlService.syncWorkspaceFromRemote — an announcement is owed until delivered', () => {
374
374
  it('a retry after a failed announcement delivers it even though HEAD did not move again', async () => {
375
375
  let head = 'bbb';
376
376
  let pulls = 0;
@@ -420,7 +420,7 @@ describe('WorkflowService.syncWorkspaceFromRemote — an announcement is owed un
420
420
  });
421
421
  });
422
422
 
423
- describe('WorkflowService.syncWorkspaceFromRemote — a debt dies with its clone', () => {
423
+ describe('VersionControlService.syncWorkspaceFromRemote — a debt dies with its clone', () => {
424
424
  it('an announcement owed to a branch the host deleted is not replayed against a branch recreated under that name', async () => {
425
425
  let pulls = 0;
426
426
  const { svc, prs, emit } = build({
@@ -14,10 +14,10 @@ import type { IAccessControl } from '../../access/access-control.interface.js';
14
14
  import type { WorkspaceService } from '../../workspace/workspace.service.js';
15
15
  import type { GitService } from '../git/git.service.js';
16
16
  import type { PullRequestService } from '../git/pull-request.service.js';
17
- import type { IReviewWorkflowService } from '../review-workflow/review-workflow.interface.js';
17
+ import type { IChangeRequestReviewService } from '../change-request-review/change-request-review.interface.js';
18
18
  import type { FileLockService } from '../file-lock.service.js';
19
19
  import type { PendingCommitsService } from '../pending-commits.service.js';
20
- import { WorkflowService } from '../workflow.service.js';
20
+ import { VersionControlService } from '../version-control.service.js';
21
21
 
22
22
  /**
23
23
  * An edit against a real Postgres with column encryption ON. `title` and
@@ -30,7 +30,7 @@ const AUTHOR = 'alice@example.com';
30
30
  const alice: AuthUser = { id: 'u-alice', email: AUTHOR, name: 'Alice' };
31
31
  const open: Database[] = [];
32
32
 
33
- async function seeded(): Promise<{ svc: WorkflowService; db: Database; number: number }> {
33
+ async function seeded(): Promise<{ svc: VersionControlService; db: Database; number: number }> {
34
34
  const db = createDb(await scratchDatabaseUrl('hexis_cr_edit'), { piiKey: KEY });
35
35
  open.push(db);
36
36
  await runCoreMigrations(db, coreMigrationsDir());
@@ -56,11 +56,11 @@ async function seeded(): Promise<{ svc: WorkflowService; db: Database; number: n
56
56
  }),
57
57
  invalidateDetailCache: vi.fn(),
58
58
  } as unknown as PullRequestService;
59
- const svc = new WorkflowService(
59
+ const svc = new VersionControlService(
60
60
  db,
61
61
  {} as GitService,
62
62
  prs,
63
- {} as IReviewWorkflowService,
63
+ {} as IChangeRequestReviewService,
64
64
  {} as WorkspaceService,
65
65
  {} as IAccessControl,
66
66
  {} as FileLockService,
@@ -71,7 +71,7 @@ async function seeded(): Promise<{ svc: WorkflowService; db: Database; number: n
71
71
  return { svc, db, number };
72
72
  }
73
73
 
74
- describe.skipIf(!PG_ADMIN_URL)('WorkflowService.updateChangeRequest on a real, encrypted Postgres', () => {
74
+ describe.skipIf(!PG_ADMIN_URL)('VersionControlService.updateChangeRequest on a real, encrypted Postgres', () => {
75
75
  afterAll(async () => {
76
76
  for (const db of open) await closeDb(db);
77
77
  await dropScratchDatabases();