@bevel-software/platform-core-backend 0.22.0 → 0.24.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 (466) hide show
  1. package/dist/core/core-ports.d.ts +11 -1
  2. package/dist/core/core-ports.d.ts.map +1 -1
  3. package/dist/core/core-ports.js.map +1 -1
  4. package/dist/core/create-core-server.d.ts +3 -3
  5. package/dist/core/create-core-server.d.ts.map +1 -1
  6. package/dist/core/create-core-server.js +46 -13
  7. package/dist/core/create-core-server.js.map +1 -1
  8. package/dist/core/create-core-services.d.ts +12 -2
  9. package/dist/core/create-core-services.d.ts.map +1 -1
  10. package/dist/core/create-core-services.js +137 -24
  11. package/dist/core/create-core-services.js.map +1 -1
  12. package/dist/core/lifecycle.d.ts +46 -1
  13. package/dist/core/lifecycle.d.ts.map +1 -1
  14. package/dist/core/lifecycle.js +99 -13
  15. package/dist/core/lifecycle.js.map +1 -1
  16. package/dist/core-config.d.ts +16 -12
  17. package/dist/core-config.d.ts.map +1 -1
  18. package/dist/core-config.js +28 -13
  19. package/dist/core-config.js.map +1 -1
  20. package/dist/index.d.ts +6 -4
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +12 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/modules/access/access-control.interface.d.ts +42 -12
  25. package/dist/modules/access/access-control.interface.d.ts.map +1 -1
  26. package/dist/modules/access/access-control.service.d.ts +67 -10
  27. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  28. package/dist/modules/access/access-control.service.js +214 -35
  29. package/dist/modules/access/access-control.service.js.map +1 -1
  30. package/dist/modules/access/access.routes.d.ts.map +1 -1
  31. package/dist/modules/access/access.routes.js +17 -16
  32. package/dist/modules/access/access.routes.js.map +1 -1
  33. package/dist/modules/access/directory-sync-bot.d.ts.map +1 -1
  34. package/dist/modules/access/directory-sync-bot.js +7 -3
  35. package/dist/modules/access/directory-sync-bot.js.map +1 -1
  36. package/dist/modules/agent-instructions/agent-instructions.routes.d.ts +8 -1
  37. package/dist/modules/agent-instructions/agent-instructions.routes.d.ts.map +1 -1
  38. package/dist/modules/agent-instructions/agent-instructions.routes.js +8 -2
  39. package/dist/modules/agent-instructions/agent-instructions.routes.js.map +1 -1
  40. package/dist/modules/agent-instructions/compose.d.ts +38 -6
  41. package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
  42. package/dist/modules/agent-instructions/compose.js +39 -6
  43. package/dist/modules/agent-instructions/compose.js.map +1 -1
  44. package/dist/modules/agent-instructions/index.d.ts +2 -1
  45. package/dist/modules/agent-instructions/index.d.ts.map +1 -1
  46. package/dist/modules/agent-instructions/index.js +2 -1
  47. package/dist/modules/agent-instructions/index.js.map +1 -1
  48. package/dist/modules/agent-instructions/shared-file-rules.d.ts +115 -0
  49. package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -0
  50. package/dist/modules/agent-instructions/shared-file-rules.js +272 -0
  51. package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -0
  52. package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
  53. package/dist/modules/audit/agent-audit.service.js +4 -2
  54. package/dist/modules/audit/agent-audit.service.js.map +1 -1
  55. package/dist/modules/auth/account-admission.d.ts +58 -7
  56. package/dist/modules/auth/account-admission.d.ts.map +1 -1
  57. package/dist/modules/auth/account-admission.js +44 -1
  58. package/dist/modules/auth/account-admission.js.map +1 -1
  59. package/dist/modules/auth/account-erasure.service.d.ts.map +1 -1
  60. package/dist/modules/auth/account-erasure.service.js +57 -16
  61. package/dist/modules/auth/account-erasure.service.js.map +1 -1
  62. package/dist/modules/auth/account.routes.d.ts +1 -1
  63. package/dist/modules/auth/account.routes.d.ts.map +1 -1
  64. package/dist/modules/auth/account.routes.js +61 -5
  65. package/dist/modules/auth/account.routes.js.map +1 -1
  66. package/dist/modules/auth/auth.middleware.d.ts +1 -1
  67. package/dist/modules/auth/auth.middleware.d.ts.map +1 -1
  68. package/dist/modules/auth/auth.middleware.js +18 -7
  69. package/dist/modules/auth/auth.middleware.js.map +1 -1
  70. package/dist/modules/auth/auth.routes.d.ts.map +1 -1
  71. package/dist/modules/auth/auth.routes.js +8 -0
  72. package/dist/modules/auth/auth.routes.js.map +1 -1
  73. package/dist/modules/auth/auth.service.d.ts +70 -2
  74. package/dist/modules/auth/auth.service.d.ts.map +1 -1
  75. package/dist/modules/auth/auth.service.js +197 -18
  76. package/dist/modules/auth/auth.service.js.map +1 -1
  77. package/dist/modules/auth/oidc-auth-provider.d.ts.map +1 -1
  78. package/dist/modules/auth/oidc-auth-provider.js +7 -2
  79. package/dist/modules/auth/oidc-auth-provider.js.map +1 -1
  80. package/dist/modules/code-mode/code-mode.tool.d.ts +20 -2
  81. package/dist/modules/code-mode/code-mode.tool.d.ts.map +1 -1
  82. package/dist/modules/code-mode/code-mode.tool.js +66 -35
  83. package/dist/modules/code-mode/code-mode.tool.js.map +1 -1
  84. package/dist/modules/database/connection.d.ts +16 -0
  85. package/dist/modules/database/connection.d.ts.map +1 -1
  86. package/dist/modules/database/connection.js +117 -0
  87. package/dist/modules/database/connection.js.map +1 -1
  88. package/dist/modules/database/core-schema.d.ts +337 -120
  89. package/dist/modules/database/core-schema.d.ts.map +1 -1
  90. package/dist/modules/database/core-schema.js +116 -58
  91. package/dist/modules/database/core-schema.js.map +1 -1
  92. package/dist/modules/database/migrate.d.ts +8 -0
  93. package/dist/modules/database/migrate.d.ts.map +1 -1
  94. package/dist/modules/database/migrate.js +271 -1
  95. package/dist/modules/database/migrate.js.map +1 -1
  96. package/dist/modules/kb-fs/branch-name.d.ts.map +1 -1
  97. package/dist/modules/kb-fs/branch-name.js +12 -2
  98. package/dist/modules/kb-fs/branch-name.js.map +1 -1
  99. package/dist/modules/kb-fs/repo-path.d.ts +11 -16
  100. package/dist/modules/kb-fs/repo-path.d.ts.map +1 -1
  101. package/dist/modules/kb-fs/repo-path.js +79 -0
  102. package/dist/modules/kb-fs/repo-path.js.map +1 -1
  103. package/dist/modules/kb-sync/kb-sync.routes.d.ts +2 -2
  104. package/dist/modules/kb-sync/kb-sync.routes.d.ts.map +1 -1
  105. package/dist/modules/kb-sync/kb-sync.routes.js +14 -3
  106. package/dist/modules/kb-sync/kb-sync.routes.js.map +1 -1
  107. package/dist/modules/kb-sync/sync-auth.d.ts +3 -1
  108. package/dist/modules/kb-sync/sync-auth.d.ts.map +1 -1
  109. package/dist/modules/kb-sync/sync-auth.js +1 -1
  110. package/dist/modules/kb-sync/sync-auth.js.map +1 -1
  111. package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
  112. package/dist/modules/mcp/mcp-auth.middleware.js +21 -6
  113. package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
  114. package/dist/modules/mcp/mcp.service.d.ts +8 -0
  115. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  116. package/dist/modules/mcp/mcp.service.js +38 -8
  117. package/dist/modules/mcp/mcp.service.js.map +1 -1
  118. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -1
  119. package/dist/modules/mcp/oauth/bevel-oauth-provider.js +3 -2
  120. package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -1
  121. package/dist/modules/plugins/join-request-records.store.d.ts.map +1 -1
  122. package/dist/modules/plugins/join-request-records.store.js +7 -4
  123. package/dist/modules/plugins/join-request-records.store.js.map +1 -1
  124. package/dist/modules/settings/deployment-settings.service.d.ts.map +1 -1
  125. package/dist/modules/settings/deployment-settings.service.js +8 -3
  126. package/dist/modules/settings/deployment-settings.service.js.map +1 -1
  127. package/dist/modules/settings/setup.routes.d.ts +52 -1
  128. package/dist/modules/settings/setup.routes.d.ts.map +1 -1
  129. package/dist/modules/settings/setup.routes.js +207 -19
  130. package/dist/modules/settings/setup.routes.js.map +1 -1
  131. package/dist/modules/skills/skills.contract.d.ts +90 -18
  132. package/dist/modules/skills/skills.contract.d.ts.map +1 -1
  133. package/dist/modules/skills/skills.contract.js +4 -1
  134. package/dist/modules/skills/skills.contract.js.map +1 -1
  135. package/dist/modules/skills/skills.service.d.ts +98 -9
  136. package/dist/modules/skills/skills.service.d.ts.map +1 -1
  137. package/dist/modules/skills/skills.service.js +239 -37
  138. package/dist/modules/skills/skills.service.js.map +1 -1
  139. package/dist/modules/skills/skills.tools.d.ts +7 -0
  140. package/dist/modules/skills/skills.tools.d.ts.map +1 -1
  141. package/dist/modules/skills/skills.tools.js +71 -7
  142. package/dist/modules/skills/skills.tools.js.map +1 -1
  143. package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -1
  144. package/dist/modules/tool-auth/external-api-key.service.js +12 -4
  145. package/dist/modules/tool-auth/external-api-key.service.js.map +1 -1
  146. package/dist/modules/tool-auth/internal-token.service.d.ts +3 -3
  147. package/dist/modules/tool-auth/tool-auth.middleware.d.ts +16 -7
  148. package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
  149. package/dist/modules/tool-auth/tool-auth.middleware.js +34 -12
  150. package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
  151. package/dist/modules/tool-helpers/tool-handler.d.ts +2 -1
  152. package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -1
  153. package/dist/modules/tool-helpers/tool-handler.js +25 -4
  154. package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
  155. package/dist/modules/tool-helpers/tool.contract.d.ts +3 -2
  156. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
  157. package/dist/modules/tool-helpers/tool.contract.js.map +1 -1
  158. package/dist/modules/tool-helpers/validate-token.js +1 -1
  159. package/dist/modules/tool-helpers/validate-token.js.map +1 -1
  160. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  161. package/dist/modules/tool-manuals/tool-manuals.tools.js +42 -31
  162. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  163. package/dist/modules/tool-registry/description-length.d.ts +80 -0
  164. package/dist/modules/tool-registry/description-length.d.ts.map +1 -0
  165. package/dist/modules/tool-registry/description-length.js +108 -0
  166. package/dist/modules/tool-registry/description-length.js.map +1 -0
  167. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts +98 -0
  168. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts.map +1 -0
  169. package/dist/modules/workflow/agent-tools/change-request-summary.js +81 -0
  170. package/dist/modules/workflow/agent-tools/change-request-summary.js.map +1 -0
  171. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  172. package/dist/modules/workflow/agent-tools/workflow.tools.js +75 -35
  173. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  174. package/dist/modules/workflow/file-lock.service.d.ts +24 -0
  175. package/dist/modules/workflow/file-lock.service.d.ts.map +1 -1
  176. package/dist/modules/workflow/file-lock.service.js +30 -0
  177. package/dist/modules/workflow/file-lock.service.js.map +1 -1
  178. package/dist/modules/workflow/git/git.service.d.ts +94 -0
  179. package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
  180. package/dist/modules/workflow/git/git.service.js +193 -3
  181. package/dist/modules/workflow/git/git.service.js.map +1 -1
  182. package/dist/modules/workflow/pending-commits.service.d.ts +38 -0
  183. package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -1
  184. package/dist/modules/workflow/pending-commits.service.js +60 -1
  185. package/dist/modules/workflow/pending-commits.service.js.map +1 -1
  186. package/dist/modules/workflow/recovery-bot.d.ts.map +1 -1
  187. package/dist/modules/workflow/recovery-bot.js +7 -3
  188. package/dist/modules/workflow/recovery-bot.js.map +1 -1
  189. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -1
  190. package/dist/modules/workflow/review-workflow/review-workflow.service.js +12 -3
  191. package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -1
  192. package/dist/modules/workflow/workflow-hooks.d.ts +54 -32
  193. package/dist/modules/workflow/workflow-hooks.d.ts.map +1 -1
  194. package/dist/modules/workflow/workflow-hooks.js +16 -1
  195. package/dist/modules/workflow/workflow-hooks.js.map +1 -1
  196. package/dist/modules/workflow/workflow.service.d.ts +60 -6
  197. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  198. package/dist/modules/workflow/workflow.service.js +115 -5
  199. package/dist/modules/workflow/workflow.service.js.map +1 -1
  200. package/dist/modules/workspace/agent-access.gate.d.ts +94 -0
  201. package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -0
  202. package/dist/modules/workspace/agent-access.gate.js +123 -0
  203. package/dist/modules/workspace/agent-access.gate.js.map +1 -0
  204. package/dist/modules/workspace/agent-upload.routes.d.ts +77 -0
  205. package/dist/modules/workspace/agent-upload.routes.d.ts.map +1 -0
  206. package/dist/modules/workspace/agent-upload.routes.js +210 -0
  207. package/dist/modules/workspace/agent-upload.routes.js.map +1 -0
  208. package/dist/modules/workspace/agent-upload.store.d.ts +284 -0
  209. package/dist/modules/workspace/agent-upload.store.d.ts.map +1 -0
  210. package/dist/modules/workspace/agent-upload.store.js +553 -0
  211. package/dist/modules/workspace/agent-upload.store.js.map +1 -0
  212. package/dist/modules/workspace/routine-write-policy.d.ts +5 -6
  213. package/dist/modules/workspace/routine-write-policy.d.ts.map +1 -1
  214. package/dist/modules/workspace/routine-write-policy.js +5 -6
  215. package/dist/modules/workspace/routine-write-policy.js.map +1 -1
  216. package/dist/modules/workspace/session-sink.d.ts +5 -5
  217. package/dist/modules/workspace/set-aside-clone.d.ts +46 -0
  218. package/dist/modules/workspace/set-aside-clone.d.ts.map +1 -0
  219. package/dist/modules/workspace/set-aside-clone.js +92 -0
  220. package/dist/modules/workspace/set-aside-clone.js.map +1 -0
  221. package/dist/modules/workspace/startup/kb-startup-runner.d.ts +59 -9
  222. package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -1
  223. package/dist/modules/workspace/startup/kb-startup-runner.js +65 -24
  224. package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -1
  225. package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -1
  226. package/dist/modules/workspace/startup/steps/seed-tree.js +3 -3
  227. package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
  228. package/dist/modules/workspace/startup/steps/template-source.d.ts +40 -0
  229. package/dist/modules/workspace/startup/steps/template-source.d.ts.map +1 -1
  230. package/dist/modules/workspace/startup/steps/template-source.js +46 -4
  231. package/dist/modules/workspace/startup/steps/template-source.js.map +1 -1
  232. package/dist/modules/workspace/upload-limits.d.ts +13 -0
  233. package/dist/modules/workspace/upload-limits.d.ts.map +1 -0
  234. package/dist/modules/workspace/upload-limits.js +13 -0
  235. package/dist/modules/workspace/upload-limits.js.map +1 -0
  236. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
  237. package/dist/modules/workspace/workspace.routes.js +93 -4
  238. package/dist/modules/workspace/workspace.routes.js.map +1 -1
  239. package/dist/modules/workspace/workspace.service.d.ts +128 -5
  240. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  241. package/dist/modules/workspace/workspace.service.js +316 -58
  242. package/dist/modules/workspace/workspace.service.js.map +1 -1
  243. package/dist/modules/workspace/workspace.tools.d.ts +13 -11
  244. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  245. package/dist/modules/workspace/workspace.tools.js +791 -198
  246. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  247. package/dist/modules/workspace/write-denial.d.ts +0 -6
  248. package/dist/modules/workspace/write-denial.d.ts.map +1 -1
  249. package/dist/modules/workspace/write-denial.js +0 -6
  250. package/dist/modules/workspace/write-denial.js.map +1 -1
  251. package/dist/modules/workspace/zip-entry-rules.d.ts +114 -0
  252. package/dist/modules/workspace/zip-entry-rules.d.ts.map +1 -0
  253. package/dist/modules/workspace/zip-entry-rules.js +154 -0
  254. package/dist/modules/workspace/zip-entry-rules.js.map +1 -0
  255. package/dist/modules/write-access/write-access.d.ts +60 -0
  256. package/dist/modules/write-access/write-access.d.ts.map +1 -0
  257. package/dist/modules/write-access/write-access.js +129 -0
  258. package/dist/modules/write-access/write-access.js.map +1 -0
  259. package/dist/shared/column-crypto.d.ts +194 -0
  260. package/dist/shared/column-crypto.d.ts.map +1 -0
  261. package/dist/shared/column-crypto.js +144 -0
  262. package/dist/shared/column-crypto.js.map +1 -0
  263. package/dist/shared/domain-errors.d.ts +25 -0
  264. package/dist/shared/domain-errors.d.ts.map +1 -1
  265. package/dist/shared/domain-errors.js +28 -0
  266. package/dist/shared/domain-errors.js.map +1 -1
  267. package/dist/shared/git.contract.d.ts +20 -0
  268. package/dist/shared/git.contract.d.ts.map +1 -1
  269. package/dist/shared/git.contract.js +26 -0
  270. package/dist/shared/git.contract.js.map +1 -1
  271. package/dist/shared/token-crypto.d.ts.map +1 -1
  272. package/dist/shared/token-crypto.js +25 -1
  273. package/dist/shared/token-crypto.js.map +1 -1
  274. package/dist/tenancy/static-tenant-source.d.ts +0 -1
  275. package/dist/tenancy/static-tenant-source.d.ts.map +1 -1
  276. package/dist/tenancy/static-tenant-source.js +1 -2
  277. package/dist/tenancy/static-tenant-source.js.map +1 -1
  278. package/dist/tenancy/tenant-secrets.d.ts +5 -1
  279. package/dist/tenancy/tenant-secrets.d.ts.map +1 -1
  280. package/dist/tenancy/tenant-secrets.js +4 -0
  281. package/dist/tenancy/tenant-secrets.js.map +1 -1
  282. package/kb-template/AGENTS.md +2 -0
  283. package/migrations/0014_change_request_closed_reason.sql +1 -0
  284. package/migrations/0015_account_deactivation.sql +3 -0
  285. package/migrations/0016_pii_encryption.sql +20 -0
  286. package/migrations/meta/0014_snapshot.json +2265 -0
  287. package/migrations/meta/0015_snapshot.json +2271 -0
  288. package/migrations/meta/0016_snapshot.json +2327 -0
  289. package/migrations/meta/_journal.json +21 -0
  290. package/package.json +3 -3
  291. package/src/__tests__/kb-layout-config.test.ts +0 -2
  292. package/src/__tests__/retired-settings.test.ts +96 -0
  293. package/src/core/__tests__/gated-boot.test.ts +132 -0
  294. package/src/core/__tests__/lifecycle.test.ts +241 -5
  295. package/src/core/__tests__/set-aside-root-is-one-place.test.ts +63 -0
  296. package/src/core/core-ports.ts +11 -1
  297. package/src/core/create-core-server.ts +52 -16
  298. package/src/core/create-core-services.ts +156 -24
  299. package/src/core/lifecycle.ts +117 -13
  300. package/src/core-config.ts +31 -14
  301. package/src/index.ts +30 -1
  302. package/src/modules/access/__tests__/access-control.preview-relocation.test.ts +385 -0
  303. package/src/modules/access/__tests__/access-control.prospective.test.ts +94 -18
  304. package/src/modules/access/__tests__/access.routes.prospective.test.ts +6 -7
  305. package/src/modules/access/__tests__/users-db-double.ts +21 -12
  306. package/src/modules/access/access-control.interface.ts +43 -12
  307. package/src/modules/access/access-control.service.ts +234 -36
  308. package/src/modules/access/access.routes.ts +17 -16
  309. package/src/modules/access/directory-sync-bot.ts +7 -3
  310. package/src/modules/agent-instructions/__tests__/agent-instructions.route.test.ts +11 -5
  311. package/src/modules/agent-instructions/__tests__/compose.test.ts +19 -10
  312. package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +238 -0
  313. package/src/modules/agent-instructions/agent-instructions.routes.ts +12 -2
  314. package/src/modules/agent-instructions/compose.ts +50 -7
  315. package/src/modules/agent-instructions/index.ts +12 -0
  316. package/src/modules/agent-instructions/shared-file-rules.ts +314 -0
  317. package/src/modules/audit/agent-audit.service.ts +4 -2
  318. package/src/modules/auth/__tests__/account-deactivation.test.ts +253 -0
  319. package/src/modules/auth/__tests__/account-erasure.approval-gate.test.ts +6 -2
  320. package/src/modules/auth/__tests__/account.routes.test.ts +87 -6
  321. package/src/modules/auth/__tests__/auth.middleware.test.ts +45 -22
  322. package/src/modules/auth/__tests__/auth.service.test.ts +4 -2
  323. package/src/modules/auth/account-admission.ts +78 -9
  324. package/src/modules/auth/account-erasure.service.ts +69 -18
  325. package/src/modules/auth/account.routes.ts +63 -7
  326. package/src/modules/auth/auth.middleware.ts +19 -8
  327. package/src/modules/auth/auth.routes.ts +8 -0
  328. package/src/modules/auth/auth.service.ts +206 -23
  329. package/src/modules/auth/oidc-auth-provider.ts +7 -2
  330. package/src/modules/code-mode/__tests__/chain-runtime.e2e.test.ts +335 -0
  331. package/src/modules/code-mode/__tests__/code-mode.tool.test.ts +46 -2
  332. package/src/modules/code-mode/code-mode.tool.ts +80 -34
  333. package/src/modules/database/__tests__/connection.test.ts +12 -0
  334. package/src/modules/database/__tests__/pii-backfill.pg.test.ts +561 -0
  335. package/src/modules/database/connection.ts +117 -0
  336. package/src/modules/database/core-schema.ts +116 -58
  337. package/src/modules/database/migrate.ts +353 -1
  338. package/src/modules/kb-fs/__tests__/branch-name.test.ts +10 -0
  339. package/src/modules/kb-fs/__tests__/repo-path.test.ts +123 -0
  340. package/src/modules/kb-fs/branch-name.ts +14 -1
  341. package/src/modules/kb-fs/repo-path.ts +85 -0
  342. package/src/modules/kb-sync/__tests__/kb-sync.routes.test.ts +26 -1
  343. package/src/modules/kb-sync/kb-sync.routes.ts +14 -4
  344. package/src/modules/kb-sync/sync-auth.ts +2 -2
  345. package/src/modules/mcp/__tests__/mcp-auth.middleware.test.ts +60 -3
  346. package/src/modules/mcp/__tests__/mcp.e2e.test.ts +4 -3
  347. package/src/modules/mcp/__tests__/mcp.service.test.ts +115 -13
  348. package/src/modules/mcp/mcp-auth.middleware.ts +20 -6
  349. package/src/modules/mcp/mcp.service.ts +46 -7
  350. package/src/modules/mcp/oauth/bevel-oauth-provider.ts +3 -1
  351. package/src/modules/plugins/__tests__/plugins.tools.test.ts +2 -1
  352. package/src/modules/plugins/join-request-records.store.ts +7 -4
  353. package/src/modules/settings/__tests__/deployment-settings.service.test.ts +16 -0
  354. package/src/modules/settings/__tests__/setup.routes.git-mode.test.ts +91 -58
  355. package/src/modules/settings/__tests__/setup.routes.github-app.test.ts +25 -8
  356. package/src/modules/settings/__tests__/setup.routes.managed-phase.test.ts +14 -11
  357. package/src/modules/settings/__tests__/setup.routes.repository-change.test.ts +390 -0
  358. package/src/modules/settings/__tests__/setup.routes.test.ts +3 -0
  359. package/src/modules/settings/deployment-settings.service.ts +8 -3
  360. package/src/modules/settings/setup.routes.ts +263 -19
  361. package/src/modules/skills/__tests__/allowed-tools-warn.tools.test.ts +2 -1
  362. package/src/modules/skills/__tests__/branch-skills.tools.test.ts +218 -0
  363. package/src/modules/skills/__tests__/skills.service.test.ts +229 -5
  364. package/src/modules/skills/skills.contract.ts +91 -18
  365. package/src/modules/skills/skills.service.ts +278 -41
  366. package/src/modules/skills/skills.tools.ts +80 -8
  367. package/src/modules/tool-auth/__tests__/manual-auth.middleware.test.ts +14 -1
  368. package/src/modules/tool-auth/external-api-key.service.ts +12 -4
  369. package/src/modules/tool-auth/internal-token.service.ts +3 -3
  370. package/src/modules/tool-auth/tool-auth.middleware.ts +34 -11
  371. package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +5 -3
  372. package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +3 -3
  373. package/src/modules/tool-helpers/__tests__/validate-token.test.ts +11 -1
  374. package/src/modules/tool-helpers/tool-handler.ts +24 -4
  375. package/src/modules/tool-helpers/tool.contract.ts +3 -2
  376. package/src/modules/tool-helpers/validate-token.ts +1 -1
  377. package/src/modules/tool-manuals/tool-manuals.tools.ts +44 -31
  378. package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +378 -0
  379. package/src/modules/tool-registry/description-length.ts +111 -0
  380. package/src/modules/workflow/__tests__/pending-commits.repository-replaced.test.ts +111 -0
  381. package/src/modules/workflow/__tests__/workflow.routes.history-read-gate.test.ts +25 -0
  382. package/src/modules/workflow/__tests__/workflow.service.repository-replaced.test.ts +249 -0
  383. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +264 -6
  384. package/src/modules/workflow/agent-tools/change-request-summary.ts +182 -0
  385. package/src/modules/workflow/agent-tools/workflow.tools.ts +86 -35
  386. package/src/modules/workflow/file-lock.service.ts +31 -0
  387. package/src/modules/workflow/git/__tests__/git.service.fileBytesAtCommit.test.ts +260 -0
  388. package/src/modules/workflow/git/__tests__/git.service.prFetchFailure.test.ts +170 -0
  389. package/src/modules/workflow/git/git.service.ts +215 -1
  390. package/src/modules/workflow/pending-commits.service.ts +64 -2
  391. package/src/modules/workflow/recovery-bot.ts +7 -3
  392. package/src/modules/workflow/review-workflow/__tests__/carry-approvals-forward.test.ts +4 -0
  393. package/src/modules/workflow/review-workflow/__tests__/erase-approver.test.ts +25 -3
  394. package/src/modules/workflow/review-workflow/review-workflow.service.ts +12 -3
  395. package/src/modules/workflow/workflow-hooks.ts +64 -26
  396. package/src/modules/workflow/workflow.service.ts +125 -5
  397. package/src/modules/workspace/__tests__/agent-access.gate.test.ts +208 -0
  398. package/src/modules/workspace/__tests__/agent-uploads.test.ts +1604 -0
  399. package/src/modules/workspace/__tests__/escape-sequences.routes.test.ts +394 -0
  400. package/src/modules/workspace/__tests__/file-stat-access.test.ts +2 -1
  401. package/src/modules/workspace/__tests__/git-internals.security.test.ts +2 -1
  402. package/src/modules/workspace/__tests__/set-aside-clone.test.ts +52 -0
  403. package/src/modules/workspace/__tests__/workspace.routes.at-ref.test.ts +305 -0
  404. package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +2 -0
  405. package/src/modules/workspace/__tests__/workspace.service.any-workspace-credentials.test.ts +156 -0
  406. package/src/modules/workspace/__tests__/workspace.service.forget-clone-races.test.ts +147 -0
  407. package/src/modules/workspace/__tests__/workspace.service.replaced-repository.test.ts +402 -0
  408. package/src/modules/workspace/__tests__/workspace.service.test.ts +77 -9
  409. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +41 -39
  410. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +2 -3
  411. package/src/modules/workspace/__tests__/workspace.tools.test.ts +766 -56
  412. package/src/modules/workspace/agent-access.gate.ts +164 -0
  413. package/src/modules/workspace/agent-upload.routes.ts +214 -0
  414. package/src/modules/workspace/agent-upload.store.ts +668 -0
  415. package/src/modules/workspace/routine-write-policy.ts +5 -6
  416. package/src/modules/workspace/session-sink.ts +5 -5
  417. package/src/modules/workspace/set-aside-clone.ts +96 -0
  418. package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +86 -0
  419. package/src/modules/workspace/startup/kb-startup-runner.ts +115 -34
  420. package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +9 -9
  421. package/src/modules/workspace/startup/steps/seed-tree.ts +3 -6
  422. package/src/modules/workspace/startup/steps/template-source.ts +53 -5
  423. package/src/modules/workspace/upload-limits.ts +12 -0
  424. package/src/modules/workspace/workspace.routes.ts +96 -5
  425. package/src/modules/workspace/workspace.service.ts +319 -61
  426. package/src/modules/workspace/workspace.tools.ts +894 -214
  427. package/src/modules/workspace/write-denial.ts +0 -8
  428. package/src/modules/workspace/zip-entry-rules.ts +173 -0
  429. package/src/modules/write-access/__tests__/write-access.test.ts +248 -0
  430. package/src/modules/write-access/write-access.ts +153 -0
  431. package/src/shared/__tests__/column-crypto.test.ts +217 -0
  432. package/src/shared/column-crypto.ts +218 -0
  433. package/src/shared/domain-errors.ts +31 -0
  434. package/src/shared/git.contract.ts +27 -0
  435. package/src/shared/token-crypto.ts +28 -1
  436. package/src/tenancy/__tests__/static-tenant-source.test.ts +4 -1
  437. package/src/tenancy/static-tenant-source.ts +1 -3
  438. package/src/tenancy/tenant-secrets.ts +5 -1
  439. package/dist/modules/workflow/session-ontology.policy.d.ts +0 -52
  440. package/dist/modules/workflow/session-ontology.policy.d.ts.map +0 -1
  441. package/dist/modules/workflow/session-ontology.policy.js +0 -62
  442. package/dist/modules/workflow/session-ontology.policy.js.map +0 -1
  443. package/dist/modules/workflow/session-ontology.service.d.ts +0 -105
  444. package/dist/modules/workflow/session-ontology.service.d.ts.map +0 -1
  445. package/dist/modules/workflow/session-ontology.service.js +0 -147
  446. package/dist/modules/workflow/session-ontology.service.js.map +0 -1
  447. package/dist/modules/workspace/session-ontology.gate.d.ts +0 -114
  448. package/dist/modules/workspace/session-ontology.gate.d.ts.map +0 -1
  449. package/dist/modules/workspace/session-ontology.gate.js +0 -161
  450. package/dist/modules/workspace/session-ontology.gate.js.map +0 -1
  451. package/dist/shared/kb-layout.d.ts +0 -39
  452. package/dist/shared/kb-layout.d.ts.map +0 -1
  453. package/dist/shared/kb-layout.js +0 -103
  454. package/dist/shared/kb-layout.js.map +0 -1
  455. package/dist/shared/kb-layout.test.d.ts +0 -2
  456. package/dist/shared/kb-layout.test.d.ts.map +0 -1
  457. package/dist/shared/kb-layout.test.js +0 -75
  458. package/dist/shared/kb-layout.test.js.map +0 -1
  459. package/src/modules/workflow/__tests__/session-ontology.policy.test.ts +0 -62
  460. package/src/modules/workflow/__tests__/session-ontology.service.test.ts +0 -201
  461. package/src/modules/workflow/session-ontology.policy.ts +0 -70
  462. package/src/modules/workflow/session-ontology.service.ts +0 -183
  463. package/src/modules/workspace/__tests__/session-ontology.gate.test.ts +0 -239
  464. package/src/modules/workspace/session-ontology.gate.ts +0 -191
  465. package/src/shared/kb-layout.test.ts +0 -98
  466. package/src/shared/kb-layout.ts +0 -102
@@ -9,6 +9,7 @@ import { sql } from 'drizzle-orm';
9
9
  import { DEFAULT_DB_SCHEMA, assertSearchPath } from '../modules/database/connection.js';
10
10
  import { DEFAULT_SECRETS_SCOPE } from '../modules/secrets-vault/secrets-variable-loader.js';
11
11
  import { KbContext } from '../shared/kb-context.js';
12
+ import { branchForWorkspaceId } from '../shared/workspace-id.js';
12
13
  import { getDb } from '../modules/database/connection.js';
13
14
  import { runCoreMigrations } from '../modules/database/migrate.js';
14
15
  import { coreMigrationsDir } from '../assets.js';
@@ -30,7 +31,7 @@ import { ManagedRepository, MANAGED_DEFAULT_BRANCH } from '../modules/settings/m
30
31
  import { RepositorySource } from '../modules/settings/repository-source.js';
31
32
  import { GitHubAppConnection } from '../modules/github-app/index.js';
32
33
  import { AdvisoryLease, AdvisoryLock } from '../modules/database/advisory-lock.js';
33
- import { holdCommitWorkerLease, withStartupTask } from './lifecycle.js';
34
+ import { holdCommitWorkerLease, holdable, withStartupTask } from './lifecycle.js';
34
35
  /** The hosted MCP endpoint at a deployment address, with any userinfo stripped. */
35
36
  function mcpEndpointUrl(publicBackendUrl) {
36
37
  const url = new URL('/api/mcp', publicBackendUrl);
@@ -46,6 +47,7 @@ function parseDomainList(raw) {
46
47
  .filter((d) => d.length > 0);
47
48
  }
48
49
  import { SpillStore } from '../modules/workspace/spill-store.js';
50
+ import { AgentUploadStore, assertUploadsRootOutsideWorkspaces } from '../modules/workspace/agent-upload.store.js';
49
51
  import { DocExtractService } from '../modules/workspace/file-readers/doc-extract.service.js';
50
52
  import { UuidSessionSink } from '../modules/workspace/session-sink.js';
51
53
  import { AuthService } from '../modules/auth/auth.service.js';
@@ -78,7 +80,6 @@ import { WorkflowEventBus } from '../modules/workflow/event-bus.js';
78
80
  import { FileChangeNotifier } from '../modules/kb-fs/file-change-notifier.js';
79
81
  import { WorkflowService } from '../modules/workflow/workflow.service.js';
80
82
  import { WorkflowHooks } from '../modules/workflow/workflow-hooks.js';
81
- import { SessionOntologyService } from '../modules/workflow/session-ontology.service.js';
82
83
  import { PendingCommitsService } from '../modules/workflow/pending-commits.service.js';
83
84
  import { PendingCommitsWorker, consoleSystemNoticeSink, } from '../modules/workflow/pending-commits.worker.js';
84
85
  import { ensureRecoveryBotUser } from '../modules/workflow/recovery-bot.js';
@@ -98,6 +99,7 @@ import { BevelOAuthProvider } from '../modules/mcp/oauth/bevel-oauth-provider.js
98
99
  import { getOAuthProtectedResourceMetadataUrl } from '@modelcontextprotocol/sdk/server/auth/router.js';
99
100
  import { ToolRegistry } from '../modules/tool-registry/tool-registry.js';
100
101
  import { createToolContextResolver } from '../modules/tool-helpers/tool-context.js';
102
+ import { alwaysWritable } from '../modules/write-access/write-access.js';
101
103
  import { createToolHandlerFactory } from '../modules/tool-helpers/tool-handler.js';
102
104
  import { TokenCrypto } from '../shared/token-crypto.js';
103
105
  import { UpdateCheckService } from '../modules/update-check/update-check.service.js';
@@ -114,7 +116,11 @@ export async function createCoreServices(config, ports = {}) {
114
116
  // the default schema, so a single-tenant deployment keeps the lock ids and
115
117
  // the ledger it always had.
116
118
  const tenantKey = config.dbSchema === DEFAULT_DB_SCHEMA ? '' : config.dbSchema;
117
- const db = getDb(config.databaseUrl, { schema: config.dbSchema });
119
+ // The handle holds this knowledge base's key for its personal-data columns:
120
+ // the same `SECRETS_ENC_KEY` that seals its stored credentials — its own
121
+ // derived one, for a tenant — so everything in the schema opens with one
122
+ // key and nothing in it opens with another tenant's.
123
+ const db = getDb(config.databaseUrl, { schema: config.dbSchema, piiKey: config.secretsEncKey });
118
124
  // A schema of its own is created on first use, so a tenant's first
119
125
  // activation needs nothing done by hand; `public` always exists. Then the
120
126
  // server is asked whether the connections really search that schema: a
@@ -134,6 +140,10 @@ export async function createCoreServices(config, ports = {}) {
134
140
  // package runs its own squashed idempotent CORE history from the packaged
135
141
  // `migrations/` folder, tracked in `__drizzle_migrations_core`. An
136
142
  // enterprise overlay runs its own history AFTER this (see migrate.ts).
143
+ // `runCoreMigrations` also seals any pre-encryption plaintext PII rows and
144
+ // swaps the unique constraints onto the blind-index columns (see
145
+ // migrate.ts), under the same lock, before any service reads or writes a
146
+ // PII column.
137
147
  await runCoreMigrations(db, coreMigrationsDir());
138
148
  // Deployment settings come next, before ANY service is built: the KB remote
139
149
  // is resolved through them, and a fresh install has none of it in the
@@ -244,7 +254,68 @@ export async function createCoreServices(config, ports = {}) {
244
254
  if (repositorySource.mode() === 'github-app') {
245
255
  await githubApp.prepare().catch(() => undefined);
246
256
  }
247
- const workspaceService = new WorkspaceService(config.workspacesRoot, () => repositorySource.url(), kb, disk, gitRunner);
257
+ /**
258
+ * Where a working copy of a replaced repository is kept, for BOTH the places
259
+ * that find one: the KB startup phase sweeping the workspaces root, and the
260
+ * workspace service refusing to adopt one on a branch open. One variable,
261
+ * passed to both, because they move the same clones for the same reason and
262
+ * an admin looking for their work must have one folder to look in — the two
263
+ * drifted apart once already, and the copy the workspace service set aside
264
+ * landed in the image's own filesystem and was gone at the next recreate.
265
+ *
266
+ * Under the backups root: a persistent volume of its own, and one nothing
267
+ * sweeps (see the runner's `reconcileClonesWithConfiguredRepository`).
268
+ */
269
+ const replacedWorkingCopiesRoot = path.join(config.backupsRoot, 'replaced-working-copies');
270
+ /**
271
+ * What must leave with a working copy that is set aside, whoever sets it
272
+ * aside: the startup phase, or the workspace service on a branch open.
273
+ *
274
+ * Its queue: whatever still waits to be committed into that copy was
275
+ * written against the repository that was left, and the path it names is
276
+ * about to hold a fresh clone of another one. Held for a person, on every
277
+ * branch, never written and never deleted.
278
+ *
279
+ * And the locks on its branch: each is a claim on a file of the copy that
280
+ * is going. Left standing, a holder still connected keeps one alive with
281
+ * heartbeats, and the same path in the new repository refuses everybody
282
+ * else. Dropped without enqueueing anything, as when change requests are
283
+ * closed as "repository replaced".
284
+ *
285
+ * Throws when either cannot be done, and the caller then leaves the copy
286
+ * where it is. Reaches FORWARD to both services, like `gitService` below:
287
+ * it is only ever called long after this function has returned them.
288
+ */
289
+ const releaseWorkOnSetAsideCopy = async (workspaceId) => {
290
+ const held = await pendingCommitsService.markNeedsAttentionInWorkspace(workspaceId, 'The knowledge-base repository was replaced while this commit was still queued, so it was never ' +
291
+ 'written. The bytes are kept here: the working copy it was meant for belongs to the previous repository.');
292
+ if (held > 0) {
293
+ logger('kb-startup').warn(`${held} queued commit(s) for the working copy "${workspaceId}" need attention: the repository was ` +
294
+ 'replaced before they landed, so they were not written to the new one.');
295
+ }
296
+ await fileLockService.releaseAllOnBranch(branchForWorkspaceId(workspaceId));
297
+ };
298
+ const workspaceService = new WorkspaceService(config.workspacesRoot, () => repositorySource.url(), kb, disk, gitRunner, replacedWorkingCopiesRoot,
299
+ // A branch opened onto a clone of another repository sets it aside on
300
+ // the spot, with nobody having stopped the commit worker for it. So it
301
+ // is held here, for the one move, and the copy's work leaves first and
302
+ // is looked for again once the copy has gone: a release that queued its
303
+ // bytes in between was writing to the copy that left.
304
+ //
305
+ // Only the first look may refuse the branch: the copy has not moved yet.
306
+ // The second runs after the move, so its failure is tried once more and
307
+ // then logged, as the startup phase logs the same step. Refusing then
308
+ // would report a move that did happen as one that did not.
309
+ (workspaceId, move) => leased.whileHeld(async () => {
310
+ await releaseWorkOnSetAsideCopy(workspaceId);
311
+ await move();
312
+ await releaseWorkOnSetAsideCopy(workspaceId)
313
+ .catch(() => releaseWorkOnSetAsideCopy(workspaceId))
314
+ .catch((err) => {
315
+ logger('workspace').error(`the working copy "${workspaceId}" was set aside, but what was queued or locked on it meanwhile ` +
316
+ 'could not be looked for again:', { err });
317
+ });
318
+ }));
248
319
  // The KB startup phase: every seeding, scaffolding and migration concern,
249
320
  // run through one runner at the deployment's quiet moments (boot + setup
250
321
  // completion) instead of lazily on branch loads. Root folders this
@@ -281,10 +352,9 @@ export async function createCoreServices(config, ports = {}) {
281
352
  // the first thing that needs them.
282
353
  kbRepoUrl: () => repositorySource.url(),
283
354
  workspacesRoot: config.workspacesRoot,
284
- // Under the backups root, a persistent volume of its own and one nothing
285
- // sweeps: a working copy of a repository that was replaced is kept there,
286
- // never deleted (see the runner's `reconcileClonesWithConfiguredRepository`).
287
- setAsideRoot: path.join(config.backupsRoot, 'replaced-working-copies'),
355
+ // The same folder the workspace service sets aside into — see
356
+ // `replacedWorkingCopiesRoot` above for why the two must agree.
357
+ setAsideRoot: replacedWorkingCopiesRoot,
288
358
  kbDirName,
289
359
  templateDir: config.kbTemplateDir,
290
360
  defaultBranch: () => kb.defaultBranch,
@@ -295,10 +365,48 @@ export async function createCoreServices(config, ports = {}) {
295
365
  steps: kbStartupSteps,
296
366
  buildSeedTree: buildSeedTree(disk, config.kbTemplateDir, extraDirs, [config.adminEmail], kb),
297
367
  gitRunner,
368
+ // The work on a working copy that is about to be set aside leaves first:
369
+ // its queued commits and the locks on its branch (see
370
+ // `releaseWorkOnSetAsideCopy`). A failure here stops the phase before
371
+ // the copy moves: a replacement cloned over an untouched queue is how
372
+ // those bytes would land in the wrong repository.
373
+ beforeCloneSetAside: releaseWorkOnSetAsideCopy,
374
+ // And once it is set aside it must leave the workspace service's cache:
375
+ // on the SAVE that moves the deployment the process is already running,
376
+ // and a cached path to a directory that is gone is how the next reader
377
+ // gets an ENOENT instead of a fresh clone.
378
+ //
379
+ // Then the copy's work is looked for once more. A release that queued
380
+ // its bytes between the first look and the move was writing to the copy
381
+ // that has now gone; nothing can queue against it after this.
382
+ onCloneDiscarded: async (workspaceId) => {
383
+ workspaceService.forgetClone(workspaceId);
384
+ await releaseWorkOnSetAsideCopy(workspaceId);
385
+ },
386
+ // And the replacement it cloned in its place: a fresh clone holds every
387
+ // ref, so the git layer's per-workspace fetch record is told so. Without
388
+ // it that record still holds the FAILED fetch of the repository that was
389
+ // replaced, and a strict branch listing within its TTL refuses the new
390
+ // clone's refs as unproven. Reaches FORWARD to `gitService`, which is
391
+ // built further down: safe because the runner only ever calls this from
392
+ // `runAll`, which the server builder invokes long after this function has
393
+ // returned every service.
394
+ onCloneCreated: (workspaceId) => gitService.noteWorkspaceFetched(workspaceId),
298
395
  });
299
396
  // Shared, workspace-independent store for oversized `call_tool_chain` results,
300
397
  // read back via `read_file`. Sibling of `workspacesRoot`, never committed.
301
398
  const spillStore = new SpillStore(config.spillRoot);
399
+ // The upload route an agent lands files by, so their content never passes
400
+ // through the model. Bytes live BESIDE the workspaces root (never inside
401
+ // one) until the apply commits them or the token expires — checked here
402
+ // rather than assumed, because a root configured inside a workspace would
403
+ // put bytes no gate has judged where the file tools read.
404
+ await assertUploadsRootOutsideWorkspaces(config.agentUploadsRoot, config.workspacesRoot);
405
+ const agentUploadStore = new AgentUploadStore({
406
+ root: config.agentUploadsRoot,
407
+ publicBaseUrl: config.publicBackendUrl,
408
+ tokenPrefix: config.uploadTokenPrefix,
409
+ });
302
410
  // Office-document/PDF text extraction for `read_file`/`grep`, cached by
303
411
  // content hash beside the workspaces root (see `DocExtractionCache`).
304
412
  const docExtractService = new DocExtractService(config.docExtractCacheRoot);
@@ -318,14 +426,10 @@ export async function createCoreServices(config, ports = {}) {
318
426
  // nothing is created, changed or removed where its author cannot read,
319
427
  // except that new folder at a root (see `access-model/change-gate.ts`).
320
428
  const changeGate = new ChangeReadGate(workspaceService, accessControl, kb, disk);
321
- // Ontology-session boundary: records each agent run's touched ontologies and
322
- // blocks writes once a run has crossed ontologies. Postgres-backed so the
323
- // boundary survives a restart.
324
- const sessionOntologyService = new SessionOntologyService(db, kb);
325
429
  // Per-run write restriction (by file extension). Shared by the workspace tool
326
430
  // surface (which enforces it) and the routine runner (which sets it for
327
- // dashboard-only `watchlist_check` runs). In-memory: a restriction lives only for
328
- // one run, unlike the Postgres-backed ontology touched-set above.
431
+ // dashboard-only `watchlist_check` runs). In-memory: a restriction lives only
432
+ // for one run.
329
433
  const routineWritePolicy = new RoutineWritePolicyService();
330
434
  // Skills: discovered from the default-branch workspace only (global catalog).
331
435
  const skillService = new SkillService(workspaceService, accessControl, kb, disk);
@@ -362,11 +466,11 @@ export async function createCoreServices(config, ports = {}) {
362
466
  // against each other — a backup-reseed races a concurrent commit otherwise.
363
467
  const workspaceMutex = new WorkspaceMutex();
364
468
  // Workflow lifecycle hooks — the ONE registry this composition shares
365
- // between GitService (advisory commit validation), the session-ontology
366
- // gate (blocking preWrite), and the enterprise composition root, which
367
- // registers module-owned handlers on `workflowService.hooks` right after
368
- // this function returns. Core registers none: no commit-time validation
369
- // (advisory anyway) and no ontology write block.
469
+ // between GitService (advisory commit validation), the agent-access gate
470
+ // (the blocking agentRead / preWrite hooks), and the composition root,
471
+ // which registers module-owned handlers on `workflowService.hooks` right
472
+ // after this function returns. Core registers none: no commit-time
473
+ // validation (advisory anyway) and nothing that refuses an agent call.
370
474
  const workflowHooks = new WorkflowHooks();
371
475
  const gitService = new GitService(workspaceService, workflowHooks, kb, workspaceMutex, accessControl, gitRunner);
372
476
  // `get_skill` with a `version` reads the skill out of the default branch's
@@ -421,7 +525,7 @@ export async function createCoreServices(config, ports = {}) {
421
525
  const fileChangeNotifier = new FileChangeNotifier();
422
526
  const workflowService = new WorkflowService(db, gitService, pullRequestService, reviewWorkflowService, workspaceService, accessControl, fileLockService, pendingCommitsService, kb, changeGate, eventBus, fileChangeNotifier,
423
527
  // Exposed as `workflowService.hooks` — the SAME instance GitService and
424
- // the session-ontology gate consult, so enterprise registrations against
528
+ // the agent-access gate consult, so a deployment's registrations against
425
529
  // it reach every hook point.
426
530
  workflowHooks);
427
531
  // Join requests: derived entirely from two copies of a plugin's `access.md`
@@ -647,6 +751,9 @@ export async function createCoreServices(config, ports = {}) {
647
751
  // For the needs-authorization setup link surfaced to external agents.
648
752
  publicFrontendUrl: config.publicFrontendUrl,
649
753
  readAgentPreamble: readPreamble,
754
+ // The guide's name the shared file rules spell, read per request so a name
755
+ // the setup save applies lands without a restart.
756
+ kbLayout: () => kb.layout,
650
757
  secretsScope,
651
758
  },
652
759
  // Pre-dispatch per-user credential check: the vault answers "has this caller
@@ -706,8 +813,9 @@ export async function createCoreServices(config, ports = {}) {
706
813
  creatorAccess,
707
814
  loadActiveGroups,
708
815
  });
709
- const toolHandlerFactory = createToolHandlerFactory(resolveToolContext);
710
- const toolAuthMiddleware = createToolAuthMiddleware(externalApiKeyService, internalTokenService);
816
+ const writeAccess = ports.writeAccess ?? alwaysWritable;
817
+ const toolHandlerFactory = createToolHandlerFactory(resolveToolContext, writeAccess);
818
+ const toolAuthMiddleware = createToolAuthMiddleware(externalApiKeyService, internalTokenService, authService);
711
819
  // Read-only manual endpoints accept the above PLUS a browser JWT, so a
712
820
  // logged-in user can browse the catalog with their session. Execution routes
713
821
  // keep `toolAuthMiddleware` (no JWT), so a session can read but not invoke.
@@ -752,7 +860,10 @@ export async function createCoreServices(config, ports = {}) {
752
860
  name: recoveryBot.name,
753
861
  },
754
862
  });
755
- const leased = withStartupTask(pendingCommitsWorker, reconcileQueue);
863
+ // Holdable: a move to another repository stops the worker for as long as
864
+ // working copies are being set aside and cloned again, without giving up
865
+ // the lease (see `holdable` in `core/lifecycle.ts`).
866
+ const leased = holdable(withStartupTask(pendingCommitsWorker, reconcileQueue));
756
867
  // SSO providers. The array REFERENCE is shared with the caller's port — an
757
868
  // overlay pushes its own plugins into it after construction (they mount when
758
869
  // the server is built, later). Core contributes the generic OIDC provider.
@@ -824,6 +935,7 @@ export async function createCoreServices(config, ports = {}) {
824
935
  db,
825
936
  gitRunner,
826
937
  commitWorker,
938
+ whileCommitsHeld: (work) => leased.whileHeld(work),
827
939
  startupRetry: null,
828
940
  tenantKey,
829
941
  secretsScope,
@@ -839,11 +951,11 @@ export async function createCoreServices(config, ports = {}) {
839
951
  kb,
840
952
  kbDirName,
841
953
  spillStore,
954
+ agentUploadStore,
842
955
  docExtractService,
843
956
  accessControl,
844
957
  creatorAccess,
845
958
  changeGate,
846
- sessionOntologyService,
847
959
  routineWritePolicy,
848
960
  skillService,
849
961
  pendingSkillsService,
@@ -894,6 +1006,7 @@ export async function createCoreServices(config, ports = {}) {
894
1006
  toolAuthMiddleware,
895
1007
  manualAuthMiddleware,
896
1008
  toolHandlerFactory,
1009
+ writeAccess,
897
1010
  // Server-time seams — defaults here; the enterprise overlay overwrites
898
1011
  // (or, for the array, pushes into) these after construction.
899
1012
  sessionSink: ports.sessionSink ?? new UuidSessionSink(),
@@ -1 +1 @@
1
- {"version":3,"file":"create-core-services.js","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-core-services.js","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,38 @@ export declare function holdCommitWorkerLease(lease: AdvisoryLease, worker: Leas
86
86
  * anyway; a stop during the task waits for it, then stops the worker.
87
87
  */
88
88
  export declare function withStartupTask(worker: LeasedWorker, task: () => Promise<void>, log?: (message: string) => void): LeasedWorker;
89
+ /** A worker the lease loop drives, which something else may hold still for a while. */
90
+ export interface HoldableWorker extends LeasedWorker {
91
+ /**
92
+ * Run `work` with the worker stopped, and start it again afterwards if the
93
+ * lease loop still wants it running. A hold waits for the commit in flight
94
+ * to finish, as a stop does. Holds may overlap; the worker starts again
95
+ * when the last one ends, whether `work` resolved or threw.
96
+ */
97
+ whileHeld<T>(work: () => Promise<T>): Promise<T>;
98
+ }
99
+ /**
100
+ * A worker that can be HELD STILL without the lease loop knowing.
101
+ *
102
+ * The lease loop decides whether this process is the one draining the commit
103
+ * queue; it starts the worker when the lease is taken and stops it when the
104
+ * lease is lost. Moving the deployment to another repository needs a second,
105
+ * independent reason for the worker not to run: while working copies are
106
+ * being set aside and cloned again, a queued commit must not be written into
107
+ * a directory that is being renamed away, nor into the fresh clone of a
108
+ * repository it was never meant for. Stopping the loop itself would release
109
+ * the lease, and another process would take the queue over mid-move.
110
+ *
111
+ * So the two reasons are kept apart. `wanted` is the lease loop's word,
112
+ * `holds` counts the moves in flight, and the worker runs exactly when it is
113
+ * wanted and nothing holds it.
114
+ *
115
+ * A stop waits for the holds in flight as well as for the worker. Shutdown
116
+ * awaits this stop (bounded by its own budget) before it ends the database
117
+ * pool, and a move still setting copies aside and cloning needs that pool:
118
+ * it is either finished, or known to have been cut.
119
+ */
120
+ export declare function holdable(worker: LeasedWorker): HoldableWorker;
89
121
  /**
90
122
  * What one knowledge base's graph needs of itself to be STARTED: the boot
91
123
  * side effects that used to run inside `createCoreServer`, named so a host
@@ -115,7 +147,8 @@ export interface BootableCore {
115
147
  * jobs. `createCoreServer` runs this for a single-tenant deployment; a host
116
148
  * serving several knowledge bases runs it when a tenant is activated.
117
149
  *
118
- * Throws to stop the boot on every failure but an unreachable remote — the
150
+ * Throws to stop the boot on every failure but the ones the host answered
151
+ * about the repository or the credentials (see `bootMaySurvive`) — the
119
152
  * container's restart policy is the retry — see `kb-startup-runner.ts`.
120
153
  */
121
154
  export declare function startCore<C extends BootableCore>(core: C, ext?: {
@@ -140,6 +173,18 @@ export interface CoreStopDeps {
140
173
  stopSweeping(): void;
141
174
  drain(): Promise<void>;
142
175
  };
176
+ /**
177
+ * The agent upload store, whose own sweep deletes staged bytes nobody
178
+ * applied. Stopped with this graph because the next graph for the same
179
+ * tenant stages into the SAME directory with an empty record map: a sweep
180
+ * left running from a store that is gone would read the replacement's files
181
+ * as orphans and delete them under an apply that is about to read them.
182
+ * Optional: a caller that has not built one passes nothing.
183
+ */
184
+ agentUploadStore?: {
185
+ stopSweeping(): void;
186
+ drainSweep(): Promise<void>;
187
+ };
143
188
  /** The startup phase's retry, if the boot left one asking — see {@link BootableCore.startupRetry}. */
144
189
  startupRetry?: {
145
190
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/core/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/core/lifecycle.ts"],"names":[],"mappings":"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"}