@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
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { WorkspaceService } from '../../../workspace/workspace.service.js';
9
- import { WorkflowHooks } from '../../workflow-hooks.js';
9
+ import { VersionControlHooks } from '../../version-control-hooks.js';
10
10
  import { GitService } from '../git.service.js';
11
11
 
12
12
  const execFileAsync = promisify(execFile);
@@ -120,7 +120,7 @@ describe('GitService.logForFile', () => {
120
120
  const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
121
121
  const svc = new GitService(
122
122
  stubWorkspaceService(workspaceId, workspaceDir),
123
- new WorkflowHooks(),
123
+ new VersionControlHooks(),
124
124
  testKbContext(),
125
125
  );
126
126
 
@@ -140,7 +140,7 @@ describe('GitService.logForFile', () => {
140
140
  const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
141
141
  const svc = new GitService(
142
142
  stubWorkspaceService(workspaceId, workspaceDir),
143
- new WorkflowHooks(),
143
+ new VersionControlHooks(),
144
144
  testKbContext(),
145
145
  );
146
146
 
@@ -159,7 +159,7 @@ describe('GitService.logForFile', () => {
159
159
  const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
160
160
  const svc = new GitService(
161
161
  stubWorkspaceService(workspaceId, workspaceDir),
162
- new WorkflowHooks(),
162
+ new VersionControlHooks(),
163
163
  testKbContext(),
164
164
  );
165
165
 
@@ -174,7 +174,7 @@ describe('GitService.logForFile', () => {
174
174
  const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
175
175
  const svc = new GitService(
176
176
  stubWorkspaceService(workspaceId, workspaceDir),
177
- new WorkflowHooks(),
177
+ new VersionControlHooks(),
178
178
  testKbContext(),
179
179
  );
180
180
 
@@ -206,7 +206,7 @@ describe('GitService.logForFile', () => {
206
206
  const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
207
207
  const svc = new GitService(
208
208
  stubWorkspaceService(workspaceId, workspaceDir),
209
- new WorkflowHooks(),
209
+ new VersionControlHooks(),
210
210
  testKbContext(),
211
211
  );
212
212
  await runGit(repo, ['commit', '--allow-empty', '-m', 'init']);
@@ -7,7 +7,7 @@ import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { AuthUser } from '@bevel-software/platform-shared';
9
9
  import type { WorkspaceService } from '../../../workspace/workspace.service.js';
10
- import { WorkflowHooks } from '../../workflow-hooks.js';
10
+ import { VersionControlHooks } from '../../version-control-hooks.js';
11
11
  import { GitService } from '../git.service.js';
12
12
  import { mergeCommitSubject } from '../merge-commit.js';
13
13
 
@@ -96,7 +96,7 @@ describe('GitService.mergeChangeRequest', () => {
96
96
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
97
97
  });
98
98
 
99
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
99
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
100
100
  const result = await git.mergeChangeRequest(
101
101
  baseWsId, 'alice/add', BASE, { subject: 'Add feature (#1)', body: 'Merged via Bevel' }, USER,
102
102
  );
@@ -134,7 +134,7 @@ describe('GitService.mergeChangeRequest', () => {
134
134
  await pushFeatureBranch(root, upstream, 'bob/first', async (dir) => {
135
135
  await fs.writeFile(path.join(dir, 'first.md'), 'first\n');
136
136
  });
137
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
137
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
138
138
  const first = await git.mergeChangeRequest(
139
139
  baseWsId, 'bob/first', BASE, { subject: mergeCommitSubject('First', 1), body: 'x' }, USER,
140
140
  { appliedChangeNumber: 1 },
@@ -181,7 +181,7 @@ describe('GitService.mergeChangeRequest', () => {
181
181
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
182
182
  });
183
183
 
184
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
184
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
185
185
  const merge = () =>
186
186
  git.mergeChangeRequest(
187
187
  baseWsId, 'alice/add', BASE,
@@ -225,7 +225,7 @@ describe('GitService.mergeChangeRequest', () => {
225
225
  await fs.mkdir(path.join(root, staleWsId), { recursive: true });
226
226
  await runGit(root, ['clone', '-b', BASE, upstream, staleRepo]);
227
227
 
228
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
228
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
229
229
  const merged = await git.mergeChangeRequest(
230
230
  baseWsId, 'alice/add', BASE,
231
231
  { subject: mergeCommitSubject('Add feature', 7), body: 'Merged via Bevel' }, USER,
@@ -237,7 +237,7 @@ describe('GitService.mergeChangeRequest', () => {
237
237
  // Retired, as applying a change request retires it.
238
238
  await runGit(root, ['-C', upstream, 'branch', '-D', 'alice/add']);
239
239
 
240
- const stale = new GitService(stubWorkspaceService(staleWsId, staleRepo), new WorkflowHooks(), testKbContext());
240
+ const stale = new GitService(stubWorkspaceService(staleWsId, staleRepo), new VersionControlHooks(), testKbContext());
241
241
  expect(await stale.appliedMergeCommitOnTarget(staleWsId, BASE, 7)).toBe(merged.mergeCommit);
242
242
  // A number nothing on the target was merged under owns nothing.
243
243
  expect(await stale.appliedMergeCommitOnTarget(staleWsId, BASE, 8)).toBeNull();
@@ -248,7 +248,7 @@ describe('GitService.mergeChangeRequest', () => {
248
248
  await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
249
249
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
250
250
  });
251
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
251
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
252
252
  const merged = await git.mergeChangeRequest(
253
253
  baseWsId, 'alice/add', BASE,
254
254
  { subject: mergeCommitSubject('Add feature', 7), body: 'Merged via Bevel' }, USER,
@@ -293,7 +293,7 @@ describe('GitService.mergeChangeRequest', () => {
293
293
  const sha = (await gitOut(old, ['rev-parse', 'HEAD'])).trim();
294
294
  expect((await gitOut(old, ['log', '-1', '--format=%s'])).trim()).toBe('Add feature');
295
295
 
296
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
296
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
297
297
  // With the title: the commit is the request's own, on the target and by sha.
298
298
  expect(await git.appliedMergeCommitOnTarget(baseWsId, BASE, 5, title)).toBe(sha);
299
299
  expect(await git.appliedChangeShas(baseWsId, { number: 5, mergeSha: sha, title }))
@@ -313,7 +313,7 @@ describe('GitService.mergeChangeRequest', () => {
313
313
  await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
314
314
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
315
315
  });
316
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
316
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
317
317
  const merged = await git.mergeChangeRequest(
318
318
  baseWsId, 'alice/add', BASE,
319
319
  { subject: mergeCommitSubject('Fix crash (#42)', 43), body: 'x' }, USER,
@@ -342,7 +342,7 @@ describe('GitService.mergeChangeRequest', () => {
342
342
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
343
343
  });
344
344
 
345
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
345
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
346
346
  const merged = await git.mergeChangeRequest(
347
347
  baseWsId, 'alice/add', BASE,
348
348
  { subject: mergeCommitSubject('Add feature', 7), body: 'Merged via Bevel' }, USER,
@@ -373,7 +373,7 @@ describe('GitService.mergeChangeRequest', () => {
373
373
  await pushFeatureBranch(root, upstream, 'bob/first', async (dir) => {
374
374
  await fs.writeFile(path.join(dir, 'first.md'), 'first\n');
375
375
  });
376
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
376
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
377
377
  // #1's merge commit, whose BODY mentions #9 — the shape `--grep` matches and
378
378
  // the subject check must reject.
379
379
  await git.mergeChangeRequest(
@@ -408,7 +408,7 @@ describe('GitService.mergeChangeRequest', () => {
408
408
  await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
409
409
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
410
410
  });
411
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
411
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
412
412
  await expect(
413
413
  git.mergeChangeRequest(
414
414
  baseWsId, 'alice/add', BASE, { subject: 'Add feature\n\nand a note (#3)', body: 'x' }, USER,
@@ -429,7 +429,7 @@ describe('GitService.mergeChangeRequest', () => {
429
429
  await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
430
430
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
431
431
  });
432
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
432
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
433
433
  const result = await git.mergeChangeRequest(
434
434
  baseWsId, 'alice/add', BASE,
435
435
  { subject: mergeCommitSubject('Add feature\n\nand a note', 4), body: 'x' }, USER,
@@ -464,7 +464,7 @@ describe('GitService.mergeChangeRequest', () => {
464
464
  await runGit(root, ['clone', '-b', 'tmp-base-advance', upstream, advancer]);
465
465
  await runGit(advancer, ['push', 'origin', 'tmp-base-advance:' + BASE]);
466
466
 
467
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
467
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
468
468
  const result = await git.mergeChangeRequest(
469
469
  baseWsId, 'alice/edit', BASE, { subject: 'Edit (#2)', body: 'x' }, USER,
470
470
  );
@@ -498,7 +498,7 @@ describe('GitService.mergeChangeRequest', () => {
498
498
  // A save that has not been shared yet, exactly as a file tool leaves it.
499
499
  await fs.writeFile(path.join(baseRepo, 'base.md'), 'edited but not shared\n');
500
500
 
501
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
501
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
502
502
  await expect(
503
503
  git.mergeChangeRequest(
504
504
  baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
@@ -523,7 +523,7 @@ describe('GitService.mergeChangeRequest', () => {
523
523
  await runGit(baseRepo, ['add', '-A']);
524
524
  await runGit(baseRepo, ['commit', '-m', 'local only']);
525
525
 
526
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
526
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
527
527
  await expect(
528
528
  git.mergeChangeRequest(
529
529
  baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
@@ -538,7 +538,7 @@ describe('GitService.mergeChangeRequest', () => {
538
538
  await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
539
539
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
540
540
  });
541
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
541
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
542
542
  const result = await git.mergeChangeRequest(
543
543
  baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
544
544
  { requireCleanTarget: true },
@@ -571,7 +571,7 @@ describe('GitService.mergeChangeRequest', () => {
571
571
  const publishedTip = (await gitOut(advancer, ['rev-parse', 'HEAD'])).trim();
572
572
  expect(staleHead).not.toBe(publishedTip);
573
573
 
574
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
574
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
575
575
  const seen: { sha: string; changedPaths: string[] }[] = [];
576
576
  const result = await git.mergeChangeRequest(
577
577
  baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
@@ -589,7 +589,7 @@ describe('GitService.mergeChangeRequest', () => {
589
589
  await pushFeatureBranch(root, upstream, 'alice/add', async (dir) => {
590
590
  await fs.writeFile(path.join(dir, 'feature.md'), 'new content\n');
591
591
  });
592
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
592
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
593
593
  await expect(
594
594
  git.mergeChangeRequest(
595
595
  baseWsId, 'alice/add', BASE, { subject: 'Add (#1)', body: 'x' }, USER,
@@ -614,7 +614,7 @@ describe('GitService.mergeChangeRequest', () => {
614
614
  await runGit(dir, ['mv', 'roles.yaml', 'people.yaml']);
615
615
  });
616
616
 
617
- const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new WorkflowHooks(), testKbContext());
617
+ const git = new GitService(stubWorkspaceService(baseWsId, baseRepo), new VersionControlHooks(), testKbContext());
618
618
  const seen: string[][] = [];
619
619
  const result = await git.mergeChangeRequest(
620
620
  baseWsId, 'alice/rename', BASE, { subject: 'Rename (#1)', body: 'x' }, USER,
@@ -7,8 +7,8 @@ import { GitService } from '../git.service.js';
7
7
  import { NodeGitRunner } from '../node-git-runner.js';
8
8
  import { GitRunError, type IGitRunner } from '../../../../shared/git.contract.js';
9
9
  import type { ReservedPushOps } from '@bevel-software/platform-shared';
10
- import { PullRebaseConflictError, WorkflowDomainError, WorkflowValidationError } from '../../../../shared/domain-errors.js';
11
- import { runGit, gitOut, stubWorkflowHooks, stubWorkspaceService } from './git-test-helpers.js';
10
+ import { PullRebaseConflictError, VersionControlDomainError, VersionControlValidationError } from '../../../../shared/domain-errors.js';
11
+ import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
12
12
 
13
13
  /**
14
14
  * `mergeIntoBranch`: the agent's merge, over real git. A conflict is described
@@ -24,7 +24,7 @@ const USER = { id: 'u1', email: 'ada@x.io', name: 'Ada Lovelace' };
24
24
  const allow = async (): Promise<void> => {};
25
25
  /**
26
26
  * The smallest publish a caller can bring: push, and on a rejection replay
27
- * onto the moved branch (the merge kept) and push once more. The workflow
27
+ * onto the moved branch (the merge kept) and push once more. The version-control service
28
28
  * facade brings its `pushWithRecovery` here; this stands in for it to show
29
29
  * the moves work inside the merge's reservation.
30
30
  */
@@ -107,7 +107,7 @@ describe('GitService.mergeIntoBranch', () => {
107
107
  });
108
108
 
109
109
  const service = () =>
110
- new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubWorkflowHooks(), testKbContext());
110
+ new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext());
111
111
 
112
112
  it('merges a target that moved into the draft as a merge commit by the user, and pushes nothing', async () => {
113
113
  const { repo, pusher } = await seed(root);
@@ -275,7 +275,7 @@ describe('GitService.mergeIntoBranch', () => {
275
275
  const svc = service();
276
276
  await expect(
277
277
  svc.mergeIntoBranch(workspaceId, DRAFT, TARGET, USER, { subject: 's', body: 'b', resolutions: [{ path: 'a.md' }], authorizeResolutions: allow }),
278
- ).rejects.toBeInstanceOf(WorkflowValidationError);
278
+ ).rejects.toBeInstanceOf(VersionControlValidationError);
279
279
  await expect(
280
280
  svc.mergeIntoBranch(workspaceId, DRAFT, TARGET, USER, {
281
281
  subject: 's',
@@ -283,7 +283,7 @@ describe('GitService.mergeIntoBranch', () => {
283
283
  resolutions: [{ path: 'a.md', content: 'x', choose: 'ours' }],
284
284
  authorizeResolutions: allow,
285
285
  }),
286
- ).rejects.toBeInstanceOf(WorkflowValidationError);
286
+ ).rejects.toBeInstanceOf(VersionControlValidationError);
287
287
  });
288
288
 
289
289
  it('refuses resolutions that nobody authorizes, before touching git', async () => {
@@ -306,9 +306,9 @@ describe('GitService.mergeIntoBranch', () => {
306
306
  const err = await service()
307
307
  .mergeIntoBranch(workspaceId, DRAFT, TARGET, USER, { subject: 's', body: 'b' })
308
308
  .catch((e: unknown) => e);
309
- expect(err).toBeInstanceOf(WorkflowDomainError);
310
- expect((err as WorkflowDomainError).status).toBe(409);
311
- expect((err as WorkflowDomainError).payload).toMatchObject({ kind: 'branch-busy' });
309
+ expect(err).toBeInstanceOf(VersionControlDomainError);
310
+ expect((err as VersionControlDomainError).status).toBe(409);
311
+ expect((err as VersionControlDomainError).payload).toMatchObject({ kind: 'branch-busy' });
312
312
  expect(await fs.readFile(path.join(repo, 'shared.md'), 'utf-8')).toBe('unsaved edit\n');
313
313
  });
314
314
 
@@ -458,11 +458,11 @@ describe('GitService.mergeIntoBranch', () => {
458
458
  mergeHead: await gitOut(repo, ['rev-parse', '-q', '--verify', 'MERGE_HEAD']).then(() => true, () => false),
459
459
  sharedOnDisk: await fs.readFile(path.join(repo, 'shared.md'), 'utf-8'),
460
460
  });
461
- throw new WorkflowDomainError('not yours to settle', 403);
461
+ throw new VersionControlDomainError('not yours to settle', 403);
462
462
  },
463
463
  })
464
464
  .catch((e: unknown) => e);
465
- expect(err).toBeInstanceOf(WorkflowDomainError);
465
+ expect(err).toBeInstanceOf(VersionControlDomainError);
466
466
  // Asked with the target's tip as fetched by this very merge.
467
467
  expect(asked).toEqual([{ merge: { ours, theirs }, head: ours, mergeHead: false, sharedOnDisk: 'line 1\nline 2 from draft\nline 3\n' }]);
468
468
  expect((await gitOut(repo, ['rev-parse', 'HEAD'])).trim()).toBe(ours);
@@ -487,7 +487,7 @@ describe('GitService.mergeIntoBranch', () => {
487
487
  } as unknown as IGitRunner;
488
488
  const svc = new GitService(
489
489
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
490
- stubWorkflowHooks(),
490
+ stubVersionControlHooks(),
491
491
  testKbContext(),
492
492
  undefined,
493
493
  null,
@@ -643,7 +643,7 @@ describe('GitService.readFileAtBranch', () => {
643
643
  const { repo, pusher } = await seed(root);
644
644
  const theirs = await pushOn(pusher, TARGET, { 'other.md': 'other, changed on target\n', 'docs/a.md': 'a\n' }, 'target edits');
645
645
  await runGit(repo, ['fetch', '-q', 'origin']);
646
- const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubWorkflowHooks(), testKbContext());
646
+ const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext());
647
647
 
648
648
  expect(await svc.readFileAtBranch(workspaceId, 'knowledge-base/other.md', TARGET)).toEqual({
649
649
  sha: theirs,
@@ -660,7 +660,7 @@ describe('GitService.readFileAtBranch', () => {
660
660
  const asked: string[][] = [];
661
661
  const refuse = async (commits: string[]): Promise<void> => {
662
662
  asked.push(commits);
663
- throw new WorkflowDomainError('not yours to read', 403);
663
+ throw new VersionControlDomainError('not yours to read', 403);
664
664
  };
665
665
  await expect(svc.readFileAtBranch(workspaceId, 'docs', TARGET, refuse)).rejects.toThrow(/not yours to read/);
666
666
  await expect(svc.readFileAtBranch(workspaceId, 'other.md', TARGET, refuse)).rejects.toThrow(/not yours to read/);
@@ -673,7 +673,7 @@ describe('GitService.readFileAtBranch', () => {
673
673
 
674
674
  it('reads the PUBLISHED tip, not a local head that has moved past it', async () => {
675
675
  const { repo } = await seed(root);
676
- const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubWorkflowHooks(), testKbContext());
676
+ const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext());
677
677
  const published = (await gitOut(repo, ['rev-parse', `origin/${DRAFT}`])).trim();
678
678
  const local = await commitLocally(repo, { 'other.md': 'not shared yet\n' }, 'local only');
679
679
  const asked: string[][] = [];
@@ -702,7 +702,7 @@ describe('GitService.readFileAtBranch', () => {
702
702
  return inner.run(cwd, args, opts as never);
703
703
  },
704
704
  } as unknown as IGitRunner;
705
- const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubWorkflowHooks(), testKbContext(), undefined, null, gitRunner);
705
+ const svc = new GitService(stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }), stubVersionControlHooks(), testKbContext(), undefined, null, gitRunner);
706
706
  const asked: string[][] = [];
707
707
  const authorize = async (commits: string[]): Promise<void> => { asked.push(commits); };
708
708
  for (const f of [
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { WorkspaceService } from '../../../workspace/workspace.service.js';
9
- import { WorkflowHooks } from '../../workflow-hooks.js';
9
+ import { VersionControlHooks } from '../../version-control-hooks.js';
10
10
  import { GitService } from '../git.service.js';
11
11
  import { parsePorcelainZ } from '../git.service.js';
12
12
 
@@ -72,7 +72,7 @@ async function makeSvc(root: string, workspaceId: string) {
72
72
  const { workspaceDir, repo } = await seedWorkspace(root, workspaceId);
73
73
  const svc = new GitService(
74
74
  stubWorkspaceService(workspaceId, workspaceDir),
75
- new WorkflowHooks(),
75
+ new VersionControlHooks(),
76
76
  testKbContext(),
77
77
  );
78
78
  return { svc, repo };
@@ -7,10 +7,10 @@ import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { AuthUser } from '@bevel-software/platform-shared';
9
9
  import { GitService } from '../git.service.js';
10
- import { runGit, gitOut, stubWorkflowHooks, stubWorkspaceService } from './git-test-helpers.js';
10
+ import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
11
11
 
12
12
  /**
13
- * The post-merge refresh path: `WorkflowService.mergeChangeRequest` merges a
13
+ * The post-merge refresh path: `VersionControlService.mergeChangeRequest` merges a
14
14
  * change request onto `origin/<base>` and then pulls the BASE branch's own
15
15
  * workspace so its working tree (what every file read serves) isn't left behind
16
16
  * the remote.
@@ -109,7 +109,7 @@ describe('post-merge refresh of the target branch workspace', () => {
109
109
  [sourceWsId]: path.dirname(sourceRepo),
110
110
  [baseWsId]: path.dirname(baseRepo),
111
111
  }),
112
- stubWorkflowHooks(),
112
+ stubVersionControlHooks(),
113
113
  testKbContext({ kbDirName: KB_DIR }),
114
114
  );
115
115
 
@@ -163,7 +163,7 @@ describe('post-merge refresh of the target branch workspace', () => {
163
163
  [sourceWsId]: path.dirname(sourceRepo),
164
164
  [baseWsId]: path.dirname(baseRepo),
165
165
  }),
166
- stubWorkflowHooks(),
166
+ stubVersionControlHooks(),
167
167
  testKbContext({ kbDirName: KB_DIR }),
168
168
  );
169
169
 
@@ -254,7 +254,7 @@ describe('post-merge refresh of the target branch workspace', () => {
254
254
  [sourceWsId]: path.dirname(sourceRepo),
255
255
  [baseWsId]: path.dirname(baseRepo),
256
256
  }),
257
- stubWorkflowHooks(),
257
+ stubVersionControlHooks(),
258
258
  testKbContext({ kbDirName: KB_DIR }),
259
259
  );
260
260
 
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { WorkspaceService } from '../../../workspace/workspace.service.js';
9
- import { WorkflowHooks } from '../../workflow-hooks.js';
9
+ import { VersionControlHooks } from '../../version-control-hooks.js';
10
10
  import { GitService } from '../git.service.js';
11
11
 
12
12
  const execFileAsync = promisify(execFile);
@@ -71,7 +71,7 @@ function service(): GitService {
71
71
  const workspaces = {
72
72
  getWorkspacePath: async () => path.dirname(repo),
73
73
  } as unknown as WorkspaceService;
74
- return new GitService(workspaces, new WorkflowHooks(), testKbContext());
74
+ return new GitService(workspaces, new VersionControlHooks(), testKbContext());
75
75
  }
76
76
 
77
77
  /** Everything the service logged at warn level, as one string per line. */
@@ -5,7 +5,7 @@ import path from 'node:path';
5
5
  import os from 'node:os';
6
6
  import { GitService } from '../git.service.js';
7
7
  import { PullRebaseConflictError } from '../../../../shared/domain-errors.js';
8
- import { runGit, gitOut, stubWorkflowHooks, stubWorkspaceService } from './git-test-helpers.js';
8
+ import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
9
9
 
10
10
  /** See git.service.createBranch.test.ts — same prod-mirroring layout. */
11
11
  async function seedWorkspace(root: string, workspaceId: string): Promise<{
@@ -85,7 +85,7 @@ describe('GitService.pull', () => {
85
85
 
86
86
  const svc = new GitService(
87
87
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
88
- stubWorkflowHooks(),
88
+ stubVersionControlHooks(),
89
89
  testKbContext(),
90
90
  );
91
91
 
@@ -128,7 +128,7 @@ describe('GitService.pull', () => {
128
128
 
129
129
  const svc = new GitService(
130
130
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
131
- stubWorkflowHooks(),
131
+ stubVersionControlHooks(),
132
132
  testKbContext(),
133
133
  );
134
134
 
@@ -174,7 +174,7 @@ describe('GitService.pull', () => {
174
174
 
175
175
  const svc = new GitService(
176
176
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
177
- stubWorkflowHooks(),
177
+ stubVersionControlHooks(),
178
178
  testKbContext(),
179
179
  );
180
180
 
@@ -219,7 +219,7 @@ describe('GitService.pull', () => {
219
219
 
220
220
  const svc = new GitService(
221
221
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
222
- stubWorkflowHooks(),
222
+ stubVersionControlHooks(),
223
223
  testKbContext(),
224
224
  );
225
225
 
@@ -247,7 +247,7 @@ describe('GitService.pull', () => {
247
247
 
248
248
  const svc = new GitService(
249
249
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
250
- stubWorkflowHooks(),
250
+ stubVersionControlHooks(),
251
251
  testKbContext(),
252
252
  );
253
253
 
@@ -269,7 +269,7 @@ describe('GitService.pull', () => {
269
269
 
270
270
  const svc = new GitService(
271
271
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
272
- stubWorkflowHooks(),
272
+ stubVersionControlHooks(),
273
273
  testKbContext(),
274
274
  );
275
275
 
@@ -284,7 +284,7 @@ describe('GitService.pull', () => {
284
284
  // both rewrote the same file, so replaying the local commit conflicts. The
285
285
  // pull must (a) abort the rebase so the clone isn't left in a detached
286
286
  // apply state, (b) surface a TYPED error naming the contested paths so the
287
- // workflow layer can queue background recovery, and (c) leave the local
287
+ // version-control layer can queue background recovery, and (c) leave the local
288
288
  // commit intact (it's someone's saved content).
289
289
  it('throws PullRebaseConflictError with the conflicted paths and aborts the rebase cleanly', async () => {
290
290
  const { upstream, repo } = await seedWorkspace(root, workspaceId);
@@ -311,7 +311,7 @@ describe('GitService.pull', () => {
311
311
 
312
312
  const svc = new GitService(
313
313
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
314
- stubWorkflowHooks(),
314
+ stubVersionControlHooks(),
315
315
  testKbContext(),
316
316
  );
317
317
 
@@ -338,7 +338,7 @@ describe('GitService.pull', () => {
338
338
  const { repo } = await seedWorkspace(root, workspaceId);
339
339
  const svc = new GitService(
340
340
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
341
- stubWorkflowHooks(),
341
+ stubVersionControlHooks(),
342
342
  testKbContext(),
343
343
  );
344
344
 
@@ -364,7 +364,7 @@ describe('GitService.pull', () => {
364
364
  const { repo } = await seedWorkspace(root, workspaceId);
365
365
  const svc = new GitService(
366
366
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
367
- stubWorkflowHooks(),
367
+ stubVersionControlHooks(),
368
368
  testKbContext(),
369
369
  );
370
370
 
@@ -474,7 +474,7 @@ describe('GitService.pull — an unpushed merge commit', () => {
474
474
  function svcFor(): GitService {
475
475
  return new GitService(
476
476
  stubWorkspaceService({ [workspaceId]: path.join(root, workspaceId) }),
477
- stubWorkflowHooks(),
477
+ stubVersionControlHooks(),
478
478
  testKbContext(),
479
479
  );
480
480
  }
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { WorkspaceService } from '../../../workspace/workspace.service.js';
9
- import { WorkflowHooks } from '../../workflow-hooks.js';
9
+ import { VersionControlHooks } from '../../version-control-hooks.js';
10
10
  import { GitService } from '../git.service.js';
11
11
 
12
12
  const execFileAsync = promisify(execFile);
@@ -59,7 +59,7 @@ describe('GitService.readFileAtRef', () => {
59
59
  function makeSvc(workspaceDir: string) {
60
60
  return new GitService(
61
61
  stubWorkspaceService(workspaceId, workspaceDir),
62
- new WorkflowHooks(),
62
+ new VersionControlHooks(),
63
63
  testKbContext({ kbDirName: PROCESS_MAP_DIR }),
64
64
  );
65
65
  }
@@ -115,7 +115,7 @@ describe('GitService.commitAtRef', () => {
115
115
  function makeSvc(workspaceDir: string) {
116
116
  return new GitService(
117
117
  stubWorkspaceService(workspaceId, workspaceDir),
118
- new WorkflowHooks(),
118
+ new VersionControlHooks(),
119
119
  testKbContext({ kbDirName: PROCESS_MAP_DIR }),
120
120
  );
121
121
  }
@@ -4,7 +4,7 @@ import fs from 'node:fs/promises';
4
4
  import path from 'node:path';
5
5
  import os from 'node:os';
6
6
  import { GitService } from '../git.service.js';
7
- import { runGit, gitOut, stubWorkflowHooks, stubWorkspaceService } from './git-test-helpers.js';
7
+ import { runGit, gitOut, stubVersionControlHooks, stubWorkspaceService } from './git-test-helpers.js';
8
8
 
9
9
  /**
10
10
  * `GitService.revertPathsAndPush` — the git half of "Delete folder and its
@@ -59,7 +59,7 @@ async function seed(root: string, branches: string[]): Promise<Fixture> {
59
59
  await runGit(repo, ['config', 'core.autocrlf', 'false']);
60
60
  repos[b] = repo;
61
61
  }
62
- const svc = new GitService(stubWorkspaceService(dirs), stubWorkflowHooks(), testKbContext({ kbDirName: KB }));
62
+ const svc = new GitService(stubWorkspaceService(dirs), stubVersionControlHooks(), testKbContext({ kbDirName: KB }));
63
63
  return { upstream, base, repos, svc };
64
64
  }
65
65
 
@@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import type { WorkspaceService } from '../../../workspace/workspace.service.js';
9
- import { WorkflowHooks } from '../../workflow-hooks.js';
9
+ import { VersionControlHooks } from '../../version-control-hooks.js';
10
10
  import { GitService } from '../git.service.js';
11
11
 
12
12
  const execFileAsync = promisify(execFile);
@@ -81,7 +81,7 @@ describe('GitService.status — hasUpstream', () => {
81
81
 
82
82
  it('reports hasUpstream=true on a tracked branch (cloned from origin)', async () => {
83
83
  const { workspaceDir } = await seedWorkspace(root, workspaceId);
84
- const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new WorkflowHooks(), testKbContext());
84
+ const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new VersionControlHooks(), testKbContext());
85
85
 
86
86
  const status = await svc.status(workspaceId);
87
87
  expect(status.branch).toBe('current-company-state');
@@ -97,7 +97,7 @@ describe('GitService.status — hasUpstream', () => {
97
97
  await runGit(repo, ['checkout', '-b', 'alice/unpublished-draft']);
98
98
  await runGit(repo, ['commit', '--allow-empty', '-m', 'local-only edit']);
99
99
 
100
- const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new WorkflowHooks(), testKbContext());
100
+ const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new VersionControlHooks(), testKbContext());
101
101
  const status = await svc.status(workspaceId);
102
102
 
103
103
  expect(status.branch).toBe('alice/unpublished-draft');
@@ -115,7 +115,7 @@ describe('GitService.status — hasUpstream', () => {
115
115
  await runGit(repo, ['commit', '--allow-empty', '-m', 'two']);
116
116
  await runGit(repo, ['push', '-u', 'origin', 'alice/published-draft']);
117
117
 
118
- const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new WorkflowHooks(), testKbContext());
118
+ const svc = new GitService(stubWorkspaceService(workspaceId, workspaceDir), new VersionControlHooks(), testKbContext());
119
119
  const status = await svc.status(workspaceId);
120
120
 
121
121
  expect(status.branch).toBe('alice/published-draft');