@bevel-software/platform-core-backend 0.29.0 → 0.31.0

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 (307) hide show
  1. package/agent-guide/access-control.md +49 -4
  2. package/agent-guide/html-views.md +76 -2
  3. package/dist/__tests__/test-repositories.d.ts +3 -0
  4. package/dist/__tests__/test-repositories.d.ts.map +1 -0
  5. package/dist/__tests__/test-repositories.js +18 -0
  6. package/dist/__tests__/test-repositories.js.map +1 -0
  7. package/dist/core/catalog-revision.js +3 -3
  8. package/dist/core/create-core-server.d.ts.map +1 -1
  9. package/dist/core/create-core-server.js +3 -2
  10. package/dist/core/create-core-server.js.map +1 -1
  11. package/dist/core/create-core-services.d.ts +3 -0
  12. package/dist/core/create-core-services.d.ts.map +1 -1
  13. package/dist/core/create-core-services.js +35 -5
  14. package/dist/core/create-core-services.js.map +1 -1
  15. package/dist/core/lifecycle.d.ts +8 -0
  16. package/dist/core/lifecycle.d.ts.map +1 -1
  17. package/dist/core/lifecycle.js +4 -0
  18. package/dist/core/lifecycle.js.map +1 -1
  19. package/dist/modules/access/access-control.interface.d.ts +20 -0
  20. package/dist/modules/access/access-control.interface.d.ts.map +1 -1
  21. package/dist/modules/access/access-control.service.d.ts +32 -1
  22. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  23. package/dist/modules/access/access-control.service.js +135 -17
  24. package/dist/modules/access/access-control.service.js.map +1 -1
  25. package/dist/modules/access/access.routes.d.ts.map +1 -1
  26. package/dist/modules/access/access.routes.js +20 -6
  27. package/dist/modules/access/access.routes.js.map +1 -1
  28. package/dist/modules/agent-instructions/shared-file-rules.d.ts +1 -1
  29. package/dist/modules/agent-instructions/shared-file-rules.js +1 -1
  30. package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
  31. package/dist/modules/audit/agent-audit.service.js +66 -6
  32. package/dist/modules/audit/agent-audit.service.js.map +1 -1
  33. package/dist/modules/audit/audit.contract.d.ts +52 -8
  34. package/dist/modules/audit/audit.contract.d.ts.map +1 -1
  35. package/dist/modules/audit/audit.contract.js +37 -1
  36. package/dist/modules/audit/audit.contract.js.map +1 -1
  37. package/dist/modules/audit/audit.routes.d.ts +1 -1
  38. package/dist/modules/audit/audit.routes.d.ts.map +1 -1
  39. package/dist/modules/audit/audit.routes.js +15 -13
  40. package/dist/modules/audit/audit.routes.js.map +1 -1
  41. package/dist/modules/audit/request-audit.d.ts +21 -10
  42. package/dist/modules/audit/request-audit.d.ts.map +1 -1
  43. package/dist/modules/audit/request-audit.js +26 -10
  44. package/dist/modules/audit/request-audit.js.map +1 -1
  45. package/dist/modules/database/core-schema.d.ts +22 -3
  46. package/dist/modules/database/core-schema.d.ts.map +1 -1
  47. package/dist/modules/database/core-schema.js +15 -6
  48. package/dist/modules/database/core-schema.js.map +1 -1
  49. package/dist/modules/diff/diff.service.d.ts.map +1 -1
  50. package/dist/modules/diff/diff.service.js +7 -1
  51. package/dist/modules/diff/diff.service.js.map +1 -1
  52. package/dist/modules/kb-fs/git-dir.d.ts +21 -0
  53. package/dist/modules/kb-fs/git-dir.d.ts.map +1 -0
  54. package/dist/modules/kb-fs/git-dir.js +58 -0
  55. package/dist/modules/kb-fs/git-dir.js.map +1 -0
  56. package/dist/modules/kb-fs/index.d.ts +3 -0
  57. package/dist/modules/kb-fs/index.d.ts.map +1 -1
  58. package/dist/modules/kb-fs/index.js +3 -1
  59. package/dist/modules/kb-fs/index.js.map +1 -1
  60. package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
  61. package/dist/modules/kb-fs/locking-filesystem.js +3 -12
  62. package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
  63. package/dist/modules/kb-fs/mutex.d.ts +11 -0
  64. package/dist/modules/kb-fs/mutex.d.ts.map +1 -1
  65. package/dist/modules/kb-fs/mutex.js +14 -0
  66. package/dist/modules/kb-fs/mutex.js.map +1 -1
  67. package/dist/modules/kb-fs/ref-files.d.ts +63 -0
  68. package/dist/modules/kb-fs/ref-files.d.ts.map +1 -0
  69. package/dist/modules/kb-fs/ref-files.js +249 -0
  70. package/dist/modules/kb-fs/ref-files.js.map +1 -0
  71. package/dist/modules/mcp/mcp-auth.middleware.d.ts +14 -0
  72. package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
  73. package/dist/modules/mcp/mcp-auth.middleware.js +4 -0
  74. package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
  75. package/dist/modules/mcp/mcp.routes.d.ts +5 -0
  76. package/dist/modules/mcp/mcp.routes.d.ts.map +1 -1
  77. package/dist/modules/mcp/mcp.routes.js +67 -0
  78. package/dist/modules/mcp/mcp.routes.js.map +1 -1
  79. package/dist/modules/mcp/mcp.service.d.ts +107 -27
  80. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  81. package/dist/modules/mcp/mcp.service.js +257 -50
  82. package/dist/modules/mcp/mcp.service.js.map +1 -1
  83. package/dist/modules/mcp/request-context.d.ts +25 -0
  84. package/dist/modules/mcp/request-context.d.ts.map +1 -0
  85. package/dist/modules/mcp/request-context.js +11 -0
  86. package/dist/modules/mcp/request-context.js.map +1 -0
  87. package/dist/modules/mcp/shared-definitions.d.ts +56 -0
  88. package/dist/modules/mcp/shared-definitions.d.ts.map +1 -0
  89. package/dist/modules/mcp/shared-definitions.js +117 -0
  90. package/dist/modules/mcp/shared-definitions.js.map +1 -0
  91. package/dist/modules/mcp/surface-cache.d.ts +70 -0
  92. package/dist/modules/mcp/surface-cache.d.ts.map +1 -0
  93. package/dist/modules/mcp/surface-cache.js +104 -0
  94. package/dist/modules/mcp/surface-cache.js.map +1 -0
  95. package/dist/modules/plugins/teams.routes.d.ts +4 -0
  96. package/dist/modules/plugins/teams.routes.d.ts.map +1 -1
  97. package/dist/modules/plugins/teams.routes.js +9 -1
  98. package/dist/modules/plugins/teams.routes.js.map +1 -1
  99. package/dist/modules/tool-auth/internal-token.service.d.ts +1 -1
  100. package/dist/modules/tool-auth/tool-auth.middleware.d.ts +1 -2
  101. package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
  102. package/dist/modules/tool-auth/tool-auth.middleware.js +1 -2
  103. package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
  104. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
  105. package/dist/modules/tool-helpers/tool-context.js +33 -12
  106. package/dist/modules/tool-helpers/tool-context.js.map +1 -1
  107. package/dist/modules/tool-helpers/tool-handler.d.ts +2 -2
  108. package/dist/modules/tool-helpers/tool.contract.d.ts +10 -2
  109. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
  110. package/dist/modules/tool-helpers/tool.contract.js.map +1 -1
  111. package/dist/modules/workflow/agent-tools/change-request-read.tools.d.ts.map +1 -1
  112. package/dist/modules/workflow/agent-tools/change-request-read.tools.js +3 -14
  113. package/dist/modules/workflow/agent-tools/change-request-read.tools.js.map +1 -1
  114. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts +18 -1
  115. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  116. package/dist/modules/workflow/agent-tools/workflow.tools.js +453 -2
  117. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  118. package/dist/modules/workflow/git/git.service.d.ts +142 -4
  119. package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
  120. package/dist/modules/workflow/git/git.service.js +645 -128
  121. package/dist/modules/workflow/git/git.service.js.map +1 -1
  122. package/dist/modules/workflow/read-on-branch.d.ts +35 -0
  123. package/dist/modules/workflow/read-on-branch.d.ts.map +1 -0
  124. package/dist/modules/workflow/read-on-branch.js +58 -0
  125. package/dist/modules/workflow/read-on-branch.js.map +1 -0
  126. package/dist/modules/workflow/workflow-hooks.d.ts +1 -1
  127. package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
  128. package/dist/modules/workflow/workflow.routes.js +22 -41
  129. package/dist/modules/workflow/workflow.routes.js.map +1 -1
  130. package/dist/modules/workflow/workflow.service.d.ts +48 -8
  131. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  132. package/dist/modules/workflow/workflow.service.js +163 -16
  133. package/dist/modules/workflow/workflow.service.js.map +1 -1
  134. package/dist/modules/workspace/agent-access.gate.d.ts +2 -2
  135. package/dist/modules/workspace/agent-access.gate.js +2 -2
  136. package/dist/modules/workspace/bounded-matcher.d.ts +79 -0
  137. package/dist/modules/workspace/bounded-matcher.d.ts.map +1 -0
  138. package/dist/modules/workspace/bounded-matcher.js +261 -0
  139. package/dist/modules/workspace/bounded-matcher.js.map +1 -0
  140. package/dist/modules/workspace/fetch-instant.d.ts +9 -0
  141. package/dist/modules/workspace/fetch-instant.d.ts.map +1 -0
  142. package/dist/modules/workspace/fetch-instant.js +13 -0
  143. package/dist/modules/workspace/fetch-instant.js.map +1 -0
  144. package/dist/modules/workspace/index.d.ts +9 -0
  145. package/dist/modules/workspace/index.d.ts.map +1 -1
  146. package/dist/modules/workspace/index.js +10 -0
  147. package/dist/modules/workspace/index.js.map +1 -1
  148. package/dist/modules/workspace/kb-repository.contract.d.ts +124 -0
  149. package/dist/modules/workspace/kb-repository.contract.d.ts.map +1 -0
  150. package/dist/modules/workspace/kb-repository.contract.js +19 -0
  151. package/dist/modules/workspace/kb-repository.contract.js.map +1 -0
  152. package/dist/modules/workspace/kb-repository.d.ts +236 -0
  153. package/dist/modules/workspace/kb-repository.d.ts.map +1 -0
  154. package/dist/modules/workspace/kb-repository.js +811 -0
  155. package/dist/modules/workspace/kb-repository.js.map +1 -0
  156. package/dist/modules/workspace/pattern-matcher.contract.d.ts +50 -0
  157. package/dist/modules/workspace/pattern-matcher.contract.d.ts.map +1 -0
  158. package/dist/modules/workspace/pattern-matcher.contract.js +27 -0
  159. package/dist/modules/workspace/pattern-matcher.contract.js.map +1 -0
  160. package/dist/modules/workspace/routine-write-policy.d.ts +0 -7
  161. package/dist/modules/workspace/routine-write-policy.d.ts.map +1 -1
  162. package/dist/modules/workspace/routine-write-policy.js +0 -5
  163. package/dist/modules/workspace/routine-write-policy.js.map +1 -1
  164. package/dist/modules/workspace/set-aside-clone.d.ts +40 -0
  165. package/dist/modules/workspace/set-aside-clone.d.ts.map +1 -1
  166. package/dist/modules/workspace/set-aside-clone.js +139 -0
  167. package/dist/modules/workspace/set-aside-clone.js.map +1 -1
  168. package/dist/modules/workspace/startup/kb-startup-runner.d.ts +99 -0
  169. package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -1
  170. package/dist/modules/workspace/startup/kb-startup-runner.js +407 -29
  171. package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -1
  172. package/dist/modules/workspace/workspace.service.d.ts +68 -32
  173. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  174. package/dist/modules/workspace/workspace.service.js +240 -161
  175. package/dist/modules/workspace/workspace.service.js.map +1 -1
  176. package/dist/modules/workspace/workspace.tools.d.ts +13 -4
  177. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  178. package/dist/modules/workspace/workspace.tools.js +162 -336
  179. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  180. package/dist/shared/git.contract.d.ts +7 -0
  181. package/dist/shared/git.contract.d.ts.map +1 -1
  182. package/dist/shared/git.contract.js +9 -0
  183. package/dist/shared/git.contract.js.map +1 -1
  184. package/dist/shared/no-link-below.d.ts +10 -0
  185. package/dist/shared/no-link-below.d.ts.map +1 -0
  186. package/dist/shared/no-link-below.js +30 -0
  187. package/dist/shared/no-link-below.js.map +1 -0
  188. package/dist/test-setup.js +4 -0
  189. package/dist/test-setup.js.map +1 -1
  190. package/migrations/0018_agent_events_page.sql +11 -0
  191. package/migrations/meta/0018_snapshot.json +2429 -0
  192. package/migrations/meta/_journal.json +8 -1
  193. package/package.json +3 -3
  194. package/src/__tests__/test-repositories.ts +22 -0
  195. package/src/__tests__/workspace-service.ts +69 -0
  196. package/src/core/__tests__/lifecycle.test.ts +16 -0
  197. package/src/core/catalog-revision.ts +3 -3
  198. package/src/core/create-core-server.ts +3 -2
  199. package/src/core/create-core-services.ts +39 -4
  200. package/src/core/lifecycle.ts +10 -0
  201. package/src/modules/access/__tests__/access-control.atref-cache.test.ts +144 -4
  202. package/src/modules/access/__tests__/access-control.group-read.test.ts +73 -0
  203. package/src/modules/access/__tests__/access.routes.group-grant.test.ts +66 -0
  204. package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +2 -0
  205. package/src/modules/access/access-control.interface.ts +22 -0
  206. package/src/modules/access/access-control.service.ts +138 -15
  207. package/src/modules/access/access.routes.ts +22 -6
  208. package/src/modules/agent-guide/__tests__/agent-guide.test.ts +22 -1
  209. package/src/modules/agent-instructions/shared-file-rules.ts +1 -1
  210. package/src/modules/audit/__tests__/agent-audit.service.test.ts +78 -1
  211. package/src/modules/audit/__tests__/audit.routes.test.ts +43 -5
  212. package/src/modules/audit/agent-audit.service.ts +66 -6
  213. package/src/modules/audit/audit.contract.ts +62 -10
  214. package/src/modules/audit/audit.routes.ts +14 -12
  215. package/src/modules/audit/request-audit.ts +28 -13
  216. package/src/modules/database/core-schema.ts +15 -6
  217. package/src/modules/diff/__tests__/diff.service.seed-atomicity.test.ts +2 -1
  218. package/src/modules/diff/__tests__/diff.service.test.ts +2 -1
  219. package/src/modules/diff/__tests__/diff.service.worktree.test.ts +76 -0
  220. package/src/modules/diff/diff.service.ts +6 -4
  221. package/src/modules/kb-fs/__tests__/git-dir.test.ts +77 -0
  222. package/src/modules/kb-fs/__tests__/mutex.canonical.test.ts +57 -0
  223. package/src/modules/kb-fs/__tests__/ref-files.test.ts +338 -0
  224. package/src/modules/kb-fs/git-dir.ts +53 -0
  225. package/src/modules/kb-fs/index.ts +3 -0
  226. package/src/modules/kb-fs/locking-filesystem.ts +3 -12
  227. package/src/modules/kb-fs/mutex.ts +16 -0
  228. package/src/modules/kb-fs/ref-files.ts +279 -0
  229. package/src/modules/mcp/__tests__/mcp-routes-harness.ts +7 -1
  230. package/src/modules/mcp/__tests__/mcp.routes.page.test.ts +115 -0
  231. package/src/modules/mcp/__tests__/mcp.surface-cache.test.ts +521 -0
  232. package/src/modules/mcp/__tests__/shared-definitions.test.ts +28 -0
  233. package/src/modules/mcp/__tests__/surface-cache.test.ts +127 -0
  234. package/src/modules/mcp/mcp-auth.middleware.ts +21 -0
  235. package/src/modules/mcp/mcp.routes.ts +68 -0
  236. package/src/modules/mcp/mcp.service.ts +315 -51
  237. package/src/modules/mcp/request-context.ts +34 -0
  238. package/src/modules/mcp/shared-definitions.ts +121 -0
  239. package/src/modules/mcp/surface-cache.ts +154 -0
  240. package/src/modules/plugins/__tests__/teams.routes.test.ts +55 -0
  241. package/src/modules/plugins/teams.routes.ts +14 -1
  242. package/src/modules/settings/__tests__/setup.routes.layout-phase.test.ts +2 -2
  243. package/src/modules/settings/__tests__/setup.routes.managed-phase.test.ts +2 -2
  244. package/src/modules/tool-auth/internal-token.service.ts +1 -1
  245. package/src/modules/tool-auth/tool-auth.middleware.ts +1 -2
  246. package/src/modules/tool-helpers/__tests__/branch-declaration.test.ts +2 -2
  247. package/src/modules/tool-helpers/tool-context.ts +37 -18
  248. package/src/modules/tool-helpers/tool-handler.ts +2 -2
  249. package/src/modules/tool-helpers/tool.contract.ts +10 -2
  250. package/src/modules/tool-registry/__tests__/own-tool-schemas.test.ts +1 -1
  251. package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +7 -2
  252. package/src/modules/workflow/__tests__/workflow.routes.history-read-gate.test.ts +23 -12
  253. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +250 -4
  254. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +464 -4
  255. package/src/modules/workflow/agent-tools/change-request-read.tools.ts +4 -22
  256. package/src/modules/workflow/agent-tools/workflow.tools.ts +462 -1
  257. package/src/modules/workflow/git/__tests__/git.service.changedPathsMemo.test.ts +175 -0
  258. package/src/modules/workflow/git/__tests__/git.service.diffFileBetweenBranches.test.ts +76 -11
  259. package/src/modules/workflow/git/__tests__/git.service.mergeIntoBranch.test.ts +721 -0
  260. package/src/modules/workflow/git/__tests__/git.service.worktrees.test.ts +284 -0
  261. package/src/modules/workflow/git/git.service.ts +719 -126
  262. package/src/modules/workflow/read-on-branch.ts +79 -0
  263. package/src/modules/workflow/workflow-hooks.ts +1 -1
  264. package/src/modules/workflow/workflow.routes.ts +21 -39
  265. package/src/modules/workflow/workflow.service.ts +203 -16
  266. package/src/modules/workspace/__tests__/agent-downloads.test.ts +2 -2
  267. package/src/modules/workspace/__tests__/bounded-matcher.test.ts +213 -0
  268. package/src/modules/workspace/__tests__/git-internals.security.test.ts +22 -7
  269. package/src/modules/workspace/__tests__/kb-repository.test.ts +481 -0
  270. package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +14 -0
  271. package/src/modules/workspace/__tests__/routine-write-policy.test.ts +0 -11
  272. package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +2 -2
  273. package/src/modules/workspace/__tests__/workspace.routes.folder-zip-access.test.ts +2 -2
  274. package/src/modules/workspace/__tests__/workspace.routes.folders.test.ts +4 -3
  275. package/src/modules/workspace/__tests__/workspace.service.any-workspace-credentials.test.ts +2 -2
  276. package/src/modules/workspace/__tests__/workspace.service.ensure-remotes-fetched.test.ts +2 -2
  277. package/src/modules/workspace/__tests__/workspace.service.forget-clone-races.test.ts +12 -5
  278. package/src/modules/workspace/__tests__/workspace.service.list-cloned.test.ts +6 -6
  279. package/src/modules/workspace/__tests__/workspace.service.move-never-overwrites.test.ts +2 -1
  280. package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +2 -1
  281. package/src/modules/workspace/__tests__/workspace.service.replaced-repository.test.ts +2 -1
  282. package/src/modules/workspace/__tests__/workspace.service.test.ts +24 -23
  283. package/src/modules/workspace/__tests__/workspace.service.unknown-branch.test.ts +2 -1
  284. package/src/modules/workspace/__tests__/workspace.service.worktrees.test.ts +620 -0
  285. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +15 -1
  286. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +71 -5
  287. package/src/modules/workspace/__tests__/workspace.tools.test.ts +153 -298
  288. package/src/modules/workspace/agent-access.gate.ts +2 -2
  289. package/src/modules/workspace/bounded-matcher.ts +328 -0
  290. package/src/modules/workspace/fetch-instant.ts +13 -0
  291. package/src/modules/workspace/index.ts +23 -0
  292. package/src/modules/workspace/kb-repository.contract.ts +124 -0
  293. package/src/modules/workspace/kb-repository.ts +844 -0
  294. package/src/modules/workspace/pattern-matcher.contract.ts +69 -0
  295. package/src/modules/workspace/routine-write-policy.ts +0 -15
  296. package/src/modules/workspace/set-aside-clone.ts +140 -0
  297. package/src/modules/workspace/startup/__tests__/kb-startup-runner.degraded.test.ts +3 -2
  298. package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +12 -10
  299. package/src/modules/workspace/startup/__tests__/kb-startup-runner.worktrees.test.ts +613 -0
  300. package/src/modules/workspace/startup/kb-startup-runner.ts +422 -29
  301. package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +4 -3
  302. package/src/modules/workspace/workspace.service.ts +247 -169
  303. package/src/modules/workspace/workspace.tools.ts +179 -365
  304. package/src/shared/__tests__/no-link-below.test.ts +45 -0
  305. package/src/shared/git.contract.ts +10 -0
  306. package/src/shared/no-link-below.ts +29 -0
  307. package/src/test-setup.ts +5 -0
@@ -238,15 +238,60 @@ File-level write access decides how a change lands on the default branch:
238
238
  `url`. Reviewing, approving and merging a change request happen in the app,
239
239
  by a person — no agent tool approves a file, bypasses approval, or merges a
240
240
  request. `merge_change_request` no longer exists.
241
- - **Sync** a draft with `merge_branch`, `source` = the branch the request
242
- targets, `target` = the draft. This is allowed while the draft's request is
243
- open, and is how you bring it up to date or surface conflicts to resolve on
244
- the draft.
241
+ - **Sync** a draft with `update_branch` on the draft, `from` = the branch the
242
+ request targets. This is allowed while the draft's request is open, and is
243
+ how you bring it up to date. Left out, `from` is the draft's own shared
244
+ state: for when it moved while your workspace held commits of its own
245
+ (`branch_status` says `behindRemote`). `merge_branch` (`source` = the
246
+ target, `target` = the draft) does the same without conflict handling.
247
+ - **Resolve conflicts** where `update_branch` answers `conflicts`: for every
248
+ conflicted path it carries the file at the merge base, on your side and on
249
+ theirs, and the working copy with git's markers — and it has left the draft
250
+ exactly as it was. A side is null when that side has no file, or when
251
+ `truncated` names it (too large, or not text): then read `ours` with
252
+ `read_file` (it is the draft's own file), `theirs` with `read_file_at` at
253
+ `from` (the branch, not a commit — its tip is not on the draft's history
254
+ until the merge lands), and `base` with `read_file_at` at the answer's
255
+ `mergeBase`. A side that is not text cannot be read that way (those
256
+ reads are text-only): settle such a file whole, with `choose` — `content`
257
+ is for text. A conflicted file you may not read on one of the two
258
+ branches is left out and only counted (`withheldConflicts`): it is not
259
+ yours to settle, so ask a person who can read it to update the draft in
260
+ the app. Decide each
261
+ file shown (keep both sides' information unless one is clearly stale;
262
+ `list_file_changes` says who changed what and why), then call
263
+ `update_branch` again **with the same `from`** and `resolutions`, one per
264
+ conflicted path: `content`, the resolved text, or `choose` (`ours`,
265
+ `theirs`, `delete`). A resolution is a write on your draft: you must be
266
+ able to read the file at both commits the answer names (`ours`, the
267
+ draft's; `theirs`, the merged-in branch's), and it takes the rule every
268
+ save on a draft takes — you may read the file, or it is new — never a
269
+ write permission. It merges, commits as you and publishes. A publish the
270
+ host refuses, or a replay that conflicts because the shared branch moved
271
+ meanwhile, answers with the saved-locally error: the merge is committed
272
+ on your draft but NOT shared — `branch_status` shows it ahead. Do not
273
+ report the draft as shared then; the next save or `share_current_branch`
274
+ carries the commit, and a replay that conflicts is handed to recovery.
275
+ Nothing else is written that way: an ordinary edit goes through the file
276
+ tools. You have no git command; there is never a half-done merge on disk
277
+ for you to finish.
245
278
  - `merge_branch` refuses to merge a draft into the branch its open change
246
279
  request targets — it names the request; ask the user to review it in the
247
280
  app. Into a protected branch it merges only what you could commit there
248
281
  directly, under the rule above — and never a change to `roles.yaml`, whoever
249
282
  you are: roles are changed in the app, not merged in from a draft.
283
+ - **Know where a draft stands** with `branch_status`: ahead/behind, whether
284
+ the shared branch moved, the files written but not committed yet, the
285
+ protected branch it was forked from, and `changedPaths` — what it changes
286
+ against that base, the files a change request would carry. The list holds
287
+ only the files you may read; `withheldPaths` counts the rest, so when it
288
+ is above zero the list is not the request's whole set. Ask it before
289
+ proposing a draft.
290
+ - **Read history** with `list_file_changes` (a file's commits: who, when,
291
+ subject), `read_file_at` (the file at a commit, or on another branch) and
292
+ `compare_file` (the diff of a commit, or between two branches). Each takes
293
+ the read the file itself takes. To put an earlier version back, read it
294
+ with `read_file_at` and write it with `write_file`.
250
295
  - **Delete** a draft with `delete_branch`, which removes it for everyone. Only
251
296
  its author (`<email-localpart>/…`, or your own `suggestions/…` bundle) or an
252
297
  Admin may. Preview with `dryRun: true` first: it changes nothing and says
@@ -9,7 +9,8 @@ than by a markdown document.
9
9
 
10
10
  - **No network.** The page cannot fetch, load or send anything: no `fetch`, no
11
11
  XHR, no WebSocket, no external script, stylesheet, font or image. Put the
12
- data the page shows into the page itself.
12
+ data the page shows into the page itself, or read it through
13
+ `window.bevel.tools` where the app offers it (below).
13
14
  - **Inline scripts and styles only.** `<script src>`, `<link>`, `<iframe>`,
14
15
  `<object>`, `<embed>`, `<base>` and `<meta>` are removed. Write CSS in a
15
16
  `<style>` element and code in an inline `<script>`. An image is a `data:`
@@ -27,16 +28,89 @@ than by a markdown document.
27
28
 
28
29
  ### `window.bevel`
29
30
 
30
- Core puts two members on it:
31
+ Core puts four members on it:
31
32
 
32
33
  - `window.bevel.openNode(href)` — follow `href` as if the reader had clicked a
33
34
  link to it.
34
35
  - `window.bevel.navigate(href)` — the same function under a second name.
36
+ - `window.bevel.tools` — the viewer's tools, or `null` where there are none
37
+ (next section).
38
+ - `window.bevel.requireTools()` — ask for the tools when the page cannot work
39
+ without them (next section).
35
40
 
36
41
  A distribution may add data members of its own to `window.bevel`; its own
37
42
  section of this guide names them. Do not call a member this guide does not
38
43
  name.
39
44
 
45
+ ### Calling tools: `window.bevel.tools`
46
+
47
+ On the app's file page, a page calls the tools of the person viewing it —
48
+ exactly the tools that person's own agent gets from the hosted MCP server,
49
+ with the same names, answers and refusals — through four functions, each
50
+ returning a promise:
51
+
52
+ - `window.bevel.tools.searchTools(query)` — `{ tools: [names] }`: what
53
+ `list_tools` lists, narrowed to the names containing every word of `query`
54
+ (`''` lists them all).
55
+ - `window.bevel.tools.toolsInfo(names)` — what `tools_info` answers for an
56
+ array of tool names: their TypeScript interfaces.
57
+ - `window.bevel.tools.callTool(name, args)` — what `tools/call` answers:
58
+ `name` is the tool's name as an agent calls it (`read_file`), `args` its
59
+ arguments. A tool's error, or a refusal (a file the viewer may not read),
60
+ rejects the promise with the tool's own message.
61
+ - `window.bevel.tools.callToolChain(code)` — what `call_tool_chain` answers
62
+ for `code`.
63
+
64
+ The two kinds of name differ. `searchTools` and `toolsInfo` use the
65
+ namespaced name a chain calls (`KNOWLEDGE_BASE.read_file`, `notion.search`);
66
+ `callTool` takes the name `tools/call` takes: a knowledge-base tool bare
67
+ (`read_file`), any other tool with its dots as underscores
68
+ (`notion_search`). Passing a `searchTools` result straight to `callTool`
69
+ fails as an unknown tool — convert it, or call it from `callToolChain`.
70
+
71
+ `window.bevel.tools` is `null` wherever tools are not available: on the
72
+ embed, on a skill page and in any preview that is not the app's file page.
73
+ Check it before every use, and render the page without tools when it is
74
+ `null` — never assume it is there:
75
+
76
+ ```js
77
+ const tools = window.bevel?.tools;
78
+ if (tools) {
79
+ const file = await tools.callTool('read_file', { body: { branch: 'main', path: '{{knowledgeBaseDir}}/Foo.md' } });
80
+ // …show it
81
+ } else {
82
+ // …render without it
83
+ }
84
+ ```
85
+
86
+ **Reading runs at once; writing asks first.** A call to a tool that only
87
+ reads runs with no prompt. The first call that may write — to a tool the
88
+ deployment tags as writing (`edit_file`, `write_file`, …), to a tool of a
89
+ `.tool` manual or a plugin's MCP server (nothing says those only read), or
90
+ any `callToolChain` — makes the app show the viewer one card, "<page name>
91
+ wants to write to the knowledge base", with the page's path under it and
92
+ Allow while open and Deny. Allow runs the call, and every later writing call
93
+ of the page runs without asking again until the page is reloaded. Deny runs
94
+ nothing and rejects the call with `denied` (`error.message` and
95
+ `error.code` are both `'denied'`); the next writing call asks again. The card
96
+ is the app's, outside the frame: the page cannot draw, dismiss or answer it.
97
+ Every call a page makes is recorded in the Audit log under the viewer, with
98
+ the page's path as the agent; a denied call is recorded as refused.
99
+
100
+ **A page that needs tools asks for them.** `window.bevel.requireTools()`
101
+ resolves `true` at once, with nothing shown, on the app's file page. Anywhere
102
+ else the app shows a card, "<page name> uses tools that are only available in
103
+ the platform", with Continue without tools and Open in the platform; Open in
104
+ the platform opens the page on the app's file page (in a new tab when the page
105
+ is shown on another site). Either way the call resolves `false`, and the page
106
+ goes on rendering without tools:
107
+
108
+ ```js
109
+ if (await window.bevel?.requireTools?.()) {
110
+ // window.bevel.tools is there
111
+ }
112
+ ```
113
+
40
114
  ### Links written in the markup
41
115
 
42
116
  An `<a href>` in the page keeps its address only when it is one of these:
@@ -0,0 +1,3 @@
1
+ export declare function recordTestRepositoryRoot(root: string): void;
2
+ export declare function removeTestRepositoryRoots(): Promise<void>;
3
+ //# sourceMappingURL=test-repositories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-repositories.d.ts","sourceRoot":"","sources":["../../src/__tests__/test-repositories.ts"],"names":[],"mappings":"AAWA,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM/D"}
@@ -0,0 +1,18 @@
1
+ import fs from 'node:fs/promises';
2
+ /**
3
+ * The repository roots `testKbRepository` placed beside a suite's workspaces
4
+ * root (`<workspacesRoot>.repository`). A suite removes its fixture root, not
5
+ * what sits next to it, so `test-setup.ts` removes these once the file's
6
+ * suites are done. Kept free of imports so the setup file can load it without
7
+ * pulling in a module a suite means to mock.
8
+ */
9
+ const roots = new Set();
10
+ export function recordTestRepositoryRoot(root) {
11
+ roots.add(root);
12
+ }
13
+ export async function removeTestRepositoryRoots() {
14
+ const pending = [...roots];
15
+ roots.clear();
16
+ await Promise.all(pending.map((root) => fs.rm(root, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 })));
17
+ }
18
+ //# sourceMappingURL=test-repositories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-repositories.js","sourceRoot":"","sources":["../../src/__tests__/test-repositories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;AAEhC,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CACrG,CAAC;AACJ,CAAC"}
@@ -8,9 +8,9 @@ const log = logger('catalog-revision');
8
8
  * skill the default branch serves them, right now.
9
9
  *
10
10
  * It exists for a client that holds a long-lived connection and cannot be told
11
- * anything: the local `hexis-mcp` server. The hosted endpoint is stateless, so
12
- * every request there already rebuilds its surface from the live registry
13
- * (`mcp.routes.stateless.test.ts` pins that). A process on someone's laptop
11
+ * anything: the local `hexis-mcp` server. The hosted endpoint reads it too, on
12
+ * every request, to pick the caller's cached tool client: a new revision is a
13
+ * new build (`mcp.surface-cache.test.ts` pins that). A process on someone's laptop
14
14
  * registered the deployment's manual ONCE, at startup, and would otherwise
15
15
  * serve that startup's toolset until it is restarted. Polling this tells it —
16
16
  * cheaply, and without a second way for the catalogs to be read — exactly when
@@ -1 +1 @@
1
- {"version":3,"file":"create-core-server.d.ts","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA4CtD,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAmCvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAChD,kEAAkE;IAClE,eAAe,EAAE,eAAe,CAAC;IACjC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,mFAAmF;IACnF,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACpD;;;;OAIG;IACH,KAAK,CAAC,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACtD,2EAA2E;IAC3E,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;CACpD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,EAClB,GAAG,GAAE,gBAAqB,EAC1B,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,UAAU,CAAC,CAqvBrB"}
1
+ {"version":3,"file":"create-core-server.d.ts","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA4CtD,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAmCvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAChD,kEAAkE;IAClE,eAAe,EAAE,eAAe,CAAC;IACjC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,mFAAmF;IACnF,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACpD;;;;OAIG;IACH,KAAK,CAAC,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACtD,2EAA2E;IAC3E,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;CACpD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,EAClB,GAAG,GAAE,gBAAqB,EAC1B,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CACX,GACL,OAAO,CAAC,UAAU,CAAC,CAsvBrB"}
@@ -320,12 +320,13 @@ export async function createCoreServer(core, ext = {}, opts = {}) {
320
320
  // `get_skill`. Warnings only; it never refuses a save.
321
321
  const allowedToolsChecker = new AllowedToolsChecker(core.toolRegistry, core.toolManualService, core.kb);
322
322
  // `delete_branch` sees change requests as `get_change_request` does.
323
- registerWorkflowTools(core.toolRegistry, toolsRouter, ta, th, core.kb, changeRequestScope(core.accessControl, core.kb).maySee);
323
+ // The history tools take the per-file read the file itself takes (`accessControl`).
324
+ registerWorkflowTools(core.toolRegistry, toolsRouter, ta, th, core.kb, changeRequestScope(core.accessControl, core.kb).maySee, core.accessControl, agentAccessGate);
324
325
  // The five read tools over change requests. Separate from the workflow tools
325
326
  // because they are the only ones that gate their whole payload on the
326
327
  // caller's read access, so they take the access service and nothing else.
327
328
  registerChangeRequestReadTools(core.toolRegistry, toolsRouter, ta, th, core.accessControl, core.kb);
328
- const workspaceTools = registerWorkspaceTools(core.toolRegistry, toolsRouter, ta, th, core.spillStore, core.docExtractService, core.accessControl, core.kb, agentAccessGate, core.routineWritePolicy, core.sessionSink, allowedToolsChecker, core.changeGate, core.agentUploadStore, core.agentGuide, core.agentDownloadStore, core.starterPackService, core.disk);
329
+ const workspaceTools = registerWorkspaceTools(core.toolRegistry, toolsRouter, ta, th, core.spillStore, core.docExtractService, core.accessControl, core.kb, agentAccessGate, core.routineWritePolicy, core.sessionSink, allowedToolsChecker, core.changeGate, core.agentUploadStore, core.agentGuide, core.agentDownloadStore, core.starterPackService, core.disk, core.patternMatcher);
329
330
  // `open_page` — the knowledge-base page shown inside a chat. Registered
330
331
  // here, on the same router as the file tools, because it answers with
331
332
  // `read_file`'s own read: the read hook, the access gate and the
@@ -1 +1 @@
1
- {"version":3,"file":"create-core-server.js","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-core-server.js","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { type LeaseLoopHandle } from './lifecycle.js';
19
19
  import { SpillStore } from '../modules/workspace/spill-store.js';
20
20
  import { AgentUploadStore } from '../modules/workspace/agent-upload.store.js';
21
21
  import { type IAgentDownloadStore } from '../modules/workspace/agent-download.store.js';
22
+ import type { IPatternMatcher } from '../modules/workspace/pattern-matcher.contract.js';
22
23
  import type { Request } from 'express';
23
24
  import { DocExtractService } from '../modules/workspace/file-readers/doc-extract.service.js';
24
25
  import { type ISessionSink } from '../modules/workspace/session-sink.js';
@@ -144,6 +145,8 @@ export interface CoreServices {
144
145
  agentUploadStore: AgentUploadStore;
145
146
  /** The bytes `request_file_download` captured, held until their one-time link is fetched or expires. */
146
147
  agentDownloadStore: IAgentDownloadStore;
148
+ /** Runs a caller's `grep` pattern off the request thread under a budget; its workers end when the graph stops. */
149
+ patternMatcher: IPatternMatcher;
147
150
  /**
148
151
  * Every user a download fetch identifies itself as, by its bearer and its
149
152
  * session cookie — none when it carries none that verifies — so the
@@ -1 +1 @@
1
- {"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import { getDb } from '../modules/database/connection.js';
14
14
  import { runCoreMigrations } from '../modules/database/migrate.js';
15
15
  import { coreMigrationsDir } from '../assets.js';
16
16
  import { WorkspaceService } from '../modules/workspace/workspace.service.js';
17
+ import { KbRepository, repositoryDirFor } from '../modules/workspace/kb-repository.js';
17
18
  import { AccountLinkService } from '../modules/embed/account-link.service.js';
18
19
  import { composeEmbedService } from './compose-embed.js';
19
20
  import { McpAppService } from '../modules/embed/mcp-app.js';
@@ -54,6 +55,7 @@ import { SpillStore } from '../modules/workspace/spill-store.js';
54
55
  import { AgentUploadStore, assertUploadsRootOutsideWorkspaces } from '../modules/workspace/agent-upload.store.js';
55
56
  import { AgentDownloadStore } from '../modules/workspace/agent-download.store.js';
56
57
  import { createDownloadFetcherIdentifier } from '../modules/workspace/agent-download.routes.js';
58
+ import { WorkerPatternMatcher } from '../modules/workspace/bounded-matcher.js';
57
59
  import { DocExtractService } from '../modules/workspace/file-readers/doc-extract.service.js';
58
60
  import { UuidSessionSink } from '../modules/workspace/session-sink.js';
59
61
  import { AuthService } from '../modules/auth/auth.service.js';
@@ -79,7 +81,7 @@ import { ConnectionProbeService } from '../modules/connection-probe/index.js';
79
81
  import { GitService } from '../modules/workflow/git/git.service.js';
80
82
  import { NodeGitRunner } from '../modules/workflow/git/node-git-runner.js';
81
83
  import { PullRequestService } from '../modules/workflow/git/pull-request.service.js';
82
- import { WorkspaceMutex } from '../modules/kb-fs/mutex.js';
84
+ import { WorkspaceIdMutex, WorkspaceMutex } from '../modules/kb-fs/mutex.js';
83
85
  import { assertGitVersion } from '../modules/workflow/git/git-version.js';
84
86
  import { DiffService } from '../modules/diff/diff.service.js';
85
87
  import { ReviewWorkflowService } from '../modules/workflow/review-workflow/review-workflow.service.js';
@@ -276,6 +278,32 @@ export async function createCoreServices(config, ports = {}) {
276
278
  * Under the backups root: a persistent volume of its own, and one nothing
277
279
  * sweeps (see the runner's `reconcileClonesWithConfiguredRepository`).
278
280
  */
281
+ // Shared mutex so git and diff operations on the same workspace serialize
282
+ // against each other — a backup-reseed races a concurrent commit otherwise.
283
+ // Keyed by the CANONICAL workspace id: a route's Express-decoded `:id` and
284
+ // a tool's encoded one reserve the same clone (see `WorkspaceIdMutex`).
285
+ const workspaceMutex = new WorkspaceIdMutex();
286
+ /**
287
+ * The knowledge base's ONE repository: every branch workspace is a worktree
288
+ * of it (see `kb-repository.ts`). One instance, handed to the workspace
289
+ * service, the startup phase and (through the workspace service) the git
290
+ * layer, so one fetch serves every workspace and the writes to its one
291
+ * config file are serialized in one place. Git operations in the worktrees
292
+ * are not serialized against each other beyond the workspace mutex: git's
293
+ * own locks cover a repository shared by worktrees.
294
+ *
295
+ * Under the backups root, like the set-aside copies: a persistent volume in
296
+ * every shipped compose file, so no new mount is needed, and outside the
297
+ * workspaces root, where the orphan sweep never sees it. The folder name
298
+ * starts with a dot, which no branch — and so no backup ledger's workspace
299
+ * id — can. On hexis-cloud every tenant has its own backups root: one
300
+ * repository per tenant.
301
+ */
302
+ const kbRepository = new KbRepository({
303
+ dir: repositoryDirFor(config.workspacesRoot, kbDirName, path.join(config.backupsRoot, '.kb-repository')),
304
+ kbRepoUrl: () => repositorySource.url(),
305
+ gitRunner,
306
+ });
279
307
  const replacedWorkingCopiesRoot = path.join(config.backupsRoot, 'replaced-working-copies');
280
308
  /**
281
309
  * What must leave with a working copy that is set aside, whoever sets it
@@ -325,7 +353,7 @@ export async function createCoreServices(config, ports = {}) {
325
353
  logger('workspace').error(`the working copy "${workspaceId}" was set aside, but what was queued or locked on it meanwhile ` +
326
354
  'could not be looked for again:', { err });
327
355
  });
328
- }));
356
+ }), kbRepository);
329
357
  // The KB startup phase: every seeding, scaffolding and migration concern,
330
358
  // run through one runner at the deployment's quiet moments (boot + setup
331
359
  // completion) instead of lazily on branch loads. Root folders this
@@ -362,6 +390,9 @@ export async function createCoreServices(config, ports = {}) {
362
390
  // The same folder the workspace service sets aside into — see
363
391
  // `replacedWorkingCopiesRoot` above for why the two must agree.
364
392
  setAsideRoot: replacedWorkingCopiesRoot,
393
+ // The one repository every branch workspace is a worktree of — the same
394
+ // instance the workspace service holds (see `kbRepository` above).
395
+ repository: kbRepository,
365
396
  kbDirName,
366
397
  templateDir: config.kbTemplateDir,
367
398
  defaultBranch: () => kb.defaultBranch,
@@ -428,6 +459,7 @@ export async function createCoreServices(config, ports = {}) {
428
459
  why: 'captured download bytes wait there for their one-time links, so a root inside a workspace would let the ' +
429
460
  'file tools read them. Point AGENT_UPLOADS_ROOT at a directory whose parent is outside WORKSPACES_ROOT.',
430
461
  });
462
+ const patternMatcher = new WorkerPatternMatcher();
431
463
  const agentDownloadStore = new AgentDownloadStore({
432
464
  root: agentDownloadsRoot,
433
465
  publicBaseUrl: config.publicBackendUrl,
@@ -492,9 +524,6 @@ export async function createCoreServices(config, ports = {}) {
492
524
  // Who tells an invited person: the composition root of a distribution
493
525
  // registers its listener here, after this returns (see `AccountHooks`).
494
526
  const accountHooks = new AccountHooks();
495
- // Shared mutex so git and diff operations on the same workspace serialize
496
- // against each other — a backup-reseed races a concurrent commit otherwise.
497
- const workspaceMutex = new WorkspaceMutex();
498
527
  // Workflow lifecycle hooks — the ONE registry this composition shares
499
528
  // between GitService (advisory commit validation), the agent-access gate
500
529
  // (the blocking agentRead / preWrite hooks), and the composition root,
@@ -1063,6 +1092,7 @@ export async function createCoreServices(config, ports = {}) {
1063
1092
  spillStore,
1064
1093
  agentUploadStore,
1065
1094
  agentDownloadStore,
1095
+ patternMatcher,
1066
1096
  agentDownloadFetcher,
1067
1097
  docExtractService,
1068
1098
  accessControl,