@bevel-software/platform-core-backend 0.20.0 → 0.22.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 (666) hide show
  1. package/dist/core/catalog-cache-invalidation.d.ts +7 -2
  2. package/dist/core/catalog-cache-invalidation.d.ts.map +1 -1
  3. package/dist/core/catalog-cache-invalidation.js +8 -9
  4. package/dist/core/catalog-cache-invalidation.js.map +1 -1
  5. package/dist/core/core-ports.d.ts +19 -0
  6. package/dist/core/core-ports.d.ts.map +1 -1
  7. package/dist/core/core-ports.js.map +1 -1
  8. package/dist/core/create-core-server.d.ts +2 -0
  9. package/dist/core/create-core-server.d.ts.map +1 -1
  10. package/dist/core/create-core-server.js +55 -107
  11. package/dist/core/create-core-server.js.map +1 -1
  12. package/dist/core/create-core-services.d.ts +41 -4
  13. package/dist/core/create-core-services.d.ts.map +1 -1
  14. package/dist/core/create-core-services.js +183 -82
  15. package/dist/core/create-core-services.js.map +1 -1
  16. package/dist/core/lifecycle.d.ts +74 -28
  17. package/dist/core/lifecycle.d.ts.map +1 -1
  18. package/dist/core/lifecycle.js +157 -20
  19. package/dist/core/lifecycle.js.map +1 -1
  20. package/dist/core/public-config.d.ts +5 -1
  21. package/dist/core/public-config.d.ts.map +1 -1
  22. package/dist/core/public-config.js +7 -5
  23. package/dist/core/public-config.js.map +1 -1
  24. package/dist/core-config.d.ts +95 -1
  25. package/dist/core-config.d.ts.map +1 -1
  26. package/dist/core-config.js +24 -8
  27. package/dist/core-config.js.map +1 -1
  28. package/dist/index.d.ts +5 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +6 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/modules/access/access-control.service.d.ts +18 -1
  33. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  34. package/dist/modules/access/access-control.service.js +19 -8
  35. package/dist/modules/access/access-control.service.js.map +1 -1
  36. package/dist/modules/access/access-requests.contract.d.ts +75 -0
  37. package/dist/modules/access/access-requests.contract.d.ts.map +1 -0
  38. package/dist/modules/access/access-requests.contract.js +20 -0
  39. package/dist/modules/access/access-requests.contract.js.map +1 -0
  40. package/dist/modules/access/access-requests.routes.d.ts +35 -0
  41. package/dist/modules/access/access-requests.routes.d.ts.map +1 -0
  42. package/dist/modules/access/access-requests.routes.js +237 -0
  43. package/dist/modules/access/access-requests.routes.js.map +1 -0
  44. package/dist/modules/access/access-requests.service.d.ts +123 -0
  45. package/dist/modules/access/access-requests.service.d.ts.map +1 -0
  46. package/dist/modules/access/access-requests.service.js +337 -0
  47. package/dist/modules/access/access-requests.service.js.map +1 -0
  48. package/dist/modules/access/access.routes.d.ts +2 -1
  49. package/dist/modules/access/access.routes.d.ts.map +1 -1
  50. package/dist/modules/access/access.routes.js +10 -10
  51. package/dist/modules/access/access.routes.js.map +1 -1
  52. package/dist/modules/access/change-read-gate.d.ts +6 -3
  53. package/dist/modules/access/change-read-gate.d.ts.map +1 -1
  54. package/dist/modules/access/change-read-gate.js +9 -6
  55. package/dist/modules/access/change-read-gate.js.map +1 -1
  56. package/dist/modules/access/creator-access.d.ts +4 -2
  57. package/dist/modules/access/creator-access.d.ts.map +1 -1
  58. package/dist/modules/access/creator-access.js +7 -4
  59. package/dist/modules/access/creator-access.js.map +1 -1
  60. package/dist/modules/access-model/access-grammar.d.ts +12 -0
  61. package/dist/modules/access-model/access-grammar.d.ts.map +1 -1
  62. package/dist/modules/access-model/access-grammar.js +24 -0
  63. package/dist/modules/access-model/access-grammar.js.map +1 -1
  64. package/dist/modules/agent-instructions/read-preamble.d.ts +2 -1
  65. package/dist/modules/agent-instructions/read-preamble.d.ts.map +1 -1
  66. package/dist/modules/agent-instructions/read-preamble.js +6 -9
  67. package/dist/modules/agent-instructions/read-preamble.js.map +1 -1
  68. package/dist/modules/auth/account-admission.d.ts +40 -0
  69. package/dist/modules/auth/account-admission.d.ts.map +1 -0
  70. package/dist/modules/auth/account-admission.js +17 -0
  71. package/dist/modules/auth/account-admission.js.map +1 -0
  72. package/dist/modules/auth/account.routes.d.ts.map +1 -1
  73. package/dist/modules/auth/account.routes.js +4 -1
  74. package/dist/modules/auth/account.routes.js.map +1 -1
  75. package/dist/modules/auth/auth.service.d.ts +45 -2
  76. package/dist/modules/auth/auth.service.d.ts.map +1 -1
  77. package/dist/modules/auth/auth.service.js +44 -3
  78. package/dist/modules/auth/auth.service.js.map +1 -1
  79. package/dist/modules/auth/oidc-auth-provider.d.ts.map +1 -1
  80. package/dist/modules/auth/oidc-auth-provider.js +9 -0
  81. package/dist/modules/auth/oidc-auth-provider.js.map +1 -1
  82. package/dist/modules/connection-probe/connection-probe.service.d.ts +13 -1
  83. package/dist/modules/connection-probe/connection-probe.service.d.ts.map +1 -1
  84. package/dist/modules/connection-probe/connection-probe.service.js +10 -2
  85. package/dist/modules/connection-probe/connection-probe.service.js.map +1 -1
  86. package/dist/modules/database/advisory-lock.d.ts +17 -0
  87. package/dist/modules/database/advisory-lock.d.ts.map +1 -1
  88. package/dist/modules/database/advisory-lock.js +24 -3
  89. package/dist/modules/database/advisory-lock.js.map +1 -1
  90. package/dist/modules/database/connection.d.ts +67 -2
  91. package/dist/modules/database/connection.d.ts.map +1 -1
  92. package/dist/modules/database/connection.js +118 -12
  93. package/dist/modules/database/connection.js.map +1 -1
  94. package/dist/modules/database/migrate.d.ts +1 -1
  95. package/dist/modules/database/migrate.d.ts.map +1 -1
  96. package/dist/modules/database/migrate.js +27 -3
  97. package/dist/modules/database/migrate.js.map +1 -1
  98. package/dist/modules/github-app/github-app.client.d.ts +101 -0
  99. package/dist/modules/github-app/github-app.client.d.ts.map +1 -0
  100. package/dist/modules/github-app/github-app.client.js +222 -0
  101. package/dist/modules/github-app/github-app.client.js.map +1 -0
  102. package/dist/modules/github-app/github-app.connection.d.ts +102 -0
  103. package/dist/modules/github-app/github-app.connection.d.ts.map +1 -0
  104. package/dist/modules/github-app/github-app.connection.js +185 -0
  105. package/dist/modules/github-app/github-app.connection.js.map +1 -0
  106. package/dist/modules/github-app/github-app.routes.d.ts +59 -0
  107. package/dist/modules/github-app/github-app.routes.d.ts.map +1 -0
  108. package/dist/modules/github-app/github-app.routes.js +323 -0
  109. package/dist/modules/github-app/github-app.routes.js.map +1 -0
  110. package/dist/modules/github-app/index.d.ts +4 -0
  111. package/dist/modules/github-app/index.d.ts.map +1 -0
  112. package/dist/modules/github-app/index.js +4 -0
  113. package/dist/modules/github-app/index.js.map +1 -0
  114. package/dist/modules/kb-fs/branch-name.d.ts +0 -1
  115. package/dist/modules/kb-fs/branch-name.d.ts.map +1 -1
  116. package/dist/modules/kb-fs/branch-name.js +3 -3
  117. package/dist/modules/kb-fs/branch-name.js.map +1 -1
  118. package/dist/modules/kb-fs/clone-config.d.ts +9 -8
  119. package/dist/modules/kb-fs/clone-config.d.ts.map +1 -1
  120. package/dist/modules/kb-fs/clone-config.js +14 -12
  121. package/dist/modules/kb-fs/clone-config.js.map +1 -1
  122. package/dist/modules/kb-fs/remote-url.d.ts +22 -0
  123. package/dist/modules/kb-fs/remote-url.d.ts.map +1 -0
  124. package/dist/modules/kb-fs/remote-url.js +35 -0
  125. package/dist/modules/kb-fs/remote-url.js.map +1 -0
  126. package/dist/modules/mcp/mcp.service.d.ts +7 -0
  127. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  128. package/dist/modules/mcp/mcp.service.js +4 -4
  129. package/dist/modules/mcp/mcp.service.js.map +1 -1
  130. package/dist/modules/plugins/compile/marketplace-compiler.service.d.ts +4 -4
  131. package/dist/modules/plugins/compile/marketplace-compiler.service.d.ts.map +1 -1
  132. package/dist/modules/plugins/compile/marketplace-compiler.service.js +7 -10
  133. package/dist/modules/plugins/compile/marketplace-compiler.service.js.map +1 -1
  134. package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.d.ts +4 -1
  135. package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.d.ts.map +1 -1
  136. package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.js +5 -3
  137. package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.js.map +1 -1
  138. package/dist/modules/plugins/discovery/kb-plugin-source.d.ts +6 -1
  139. package/dist/modules/plugins/discovery/kb-plugin-source.d.ts.map +1 -1
  140. package/dist/modules/plugins/discovery/kb-plugin-source.js +14 -9
  141. package/dist/modules/plugins/discovery/kb-plugin-source.js.map +1 -1
  142. package/dist/modules/plugins/discovery/native.source.d.ts +4 -1
  143. package/dist/modules/plugins/discovery/native.source.d.ts.map +1 -1
  144. package/dist/modules/plugins/discovery/native.source.js +4 -2
  145. package/dist/modules/plugins/discovery/native.source.js.map +1 -1
  146. package/dist/modules/plugins/index.d.ts +1 -1
  147. package/dist/modules/plugins/index.d.ts.map +1 -1
  148. package/dist/modules/plugins/index.js +1 -1
  149. package/dist/modules/plugins/index.js.map +1 -1
  150. package/dist/modules/plugins/join-proposals.d.ts +17 -5
  151. package/dist/modules/plugins/join-proposals.d.ts.map +1 -1
  152. package/dist/modules/plugins/join-proposals.js +76 -22
  153. package/dist/modules/plugins/join-proposals.js.map +1 -1
  154. package/dist/modules/plugins/join-request-jobs.service.d.ts +3 -1
  155. package/dist/modules/plugins/join-request-jobs.service.d.ts.map +1 -1
  156. package/dist/modules/plugins/join-request-jobs.service.js +6 -6
  157. package/dist/modules/plugins/join-request-jobs.service.js.map +1 -1
  158. package/dist/modules/plugins/join-requests.service.d.ts +113 -18
  159. package/dist/modules/plugins/join-requests.service.d.ts.map +1 -1
  160. package/dist/modules/plugins/join-requests.service.js +178 -33
  161. package/dist/modules/plugins/join-requests.service.js.map +1 -1
  162. package/dist/modules/plugins/plugin-links.d.ts +65 -10
  163. package/dist/modules/plugins/plugin-links.d.ts.map +1 -1
  164. package/dist/modules/plugins/plugin-links.js +136 -31
  165. package/dist/modules/plugins/plugin-links.js.map +1 -1
  166. package/dist/modules/plugins/plugin-links.service.d.ts +107 -5
  167. package/dist/modules/plugins/plugin-links.service.d.ts.map +1 -1
  168. package/dist/modules/plugins/plugin-links.service.js +151 -21
  169. package/dist/modules/plugins/plugin-links.service.js.map +1 -1
  170. package/dist/modules/plugins/plugin-provision.service.d.ts +10 -3
  171. package/dist/modules/plugins/plugin-provision.service.d.ts.map +1 -1
  172. package/dist/modules/plugins/plugin-provision.service.js +33 -26
  173. package/dist/modules/plugins/plugin-provision.service.js.map +1 -1
  174. package/dist/modules/plugins/plugin-rename.service.d.ts +4 -2
  175. package/dist/modules/plugins/plugin-rename.service.d.ts.map +1 -1
  176. package/dist/modules/plugins/plugin-rename.service.js +10 -12
  177. package/dist/modules/plugins/plugin-rename.service.js.map +1 -1
  178. package/dist/modules/plugins/plugins.routes.d.ts +3 -0
  179. package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
  180. package/dist/modules/plugins/plugins.routes.js +48 -17
  181. package/dist/modules/plugins/plugins.routes.js.map +1 -1
  182. package/dist/modules/plugins/plugins.service.d.ts +4 -4
  183. package/dist/modules/plugins/plugins.service.d.ts.map +1 -1
  184. package/dist/modules/plugins/plugins.service.js +7 -10
  185. package/dist/modules/plugins/plugins.service.js.map +1 -1
  186. package/dist/modules/plugins/teams.routes.d.ts +4 -1
  187. package/dist/modules/plugins/teams.routes.d.ts.map +1 -1
  188. package/dist/modules/plugins/teams.routes.js +11 -9
  189. package/dist/modules/plugins/teams.routes.js.map +1 -1
  190. package/dist/modules/secrets-vault/index.d.ts +1 -1
  191. package/dist/modules/secrets-vault/index.d.ts.map +1 -1
  192. package/dist/modules/secrets-vault/index.js +1 -1
  193. package/dist/modules/secrets-vault/index.js.map +1 -1
  194. package/dist/modules/secrets-vault/secrets-variable-loader.d.ts +29 -11
  195. package/dist/modules/secrets-vault/secrets-variable-loader.d.ts.map +1 -1
  196. package/dist/modules/secrets-vault/secrets-variable-loader.js +46 -21
  197. package/dist/modules/secrets-vault/secrets-variable-loader.js.map +1 -1
  198. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +3 -0
  199. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
  200. package/dist/modules/secrets-vault/secrets-vault.routes.js +4 -6
  201. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
  202. package/dist/modules/settings/deployment-settings.service.d.ts +34 -9
  203. package/dist/modules/settings/deployment-settings.service.d.ts.map +1 -1
  204. package/dist/modules/settings/deployment-settings.service.js +113 -26
  205. package/dist/modules/settings/deployment-settings.service.js.map +1 -1
  206. package/dist/modules/settings/managed-repository.d.ts +43 -0
  207. package/dist/modules/settings/managed-repository.d.ts.map +1 -0
  208. package/dist/modules/settings/managed-repository.js +60 -0
  209. package/dist/modules/settings/managed-repository.js.map +1 -0
  210. package/dist/modules/settings/repository-source.d.ts +128 -0
  211. package/dist/modules/settings/repository-source.d.ts.map +1 -0
  212. package/dist/modules/settings/repository-source.js +150 -0
  213. package/dist/modules/settings/repository-source.js.map +1 -0
  214. package/dist/modules/settings/setup.routes.d.ts +34 -4
  215. package/dist/modules/settings/setup.routes.d.ts.map +1 -1
  216. package/dist/modules/settings/setup.routes.js +198 -18
  217. package/dist/modules/settings/setup.routes.js.map +1 -1
  218. package/dist/modules/skills/allowed-tools-check.d.ts +4 -3
  219. package/dist/modules/skills/allowed-tools-check.d.ts.map +1 -1
  220. package/dist/modules/skills/allowed-tools-check.js +8 -8
  221. package/dist/modules/skills/allowed-tools-check.js.map +1 -1
  222. package/dist/modules/skills/pending-skills.service.d.ts +3 -1
  223. package/dist/modules/skills/pending-skills.service.d.ts.map +1 -1
  224. package/dist/modules/skills/pending-skills.service.js +9 -6
  225. package/dist/modules/skills/pending-skills.service.js.map +1 -1
  226. package/dist/modules/skills/skill-access-requests.routes.d.ts +8 -9
  227. package/dist/modules/skills/skill-access-requests.routes.d.ts.map +1 -1
  228. package/dist/modules/skills/skill-access-requests.routes.js +26 -65
  229. package/dist/modules/skills/skill-access-requests.routes.js.map +1 -1
  230. package/dist/modules/skills/skills.routes.d.ts +4 -1
  231. package/dist/modules/skills/skills.routes.d.ts.map +1 -1
  232. package/dist/modules/skills/skills.routes.js +4 -4
  233. package/dist/modules/skills/skills.routes.js.map +1 -1
  234. package/dist/modules/skills/skills.service.d.ts +4 -2
  235. package/dist/modules/skills/skills.service.d.ts.map +1 -1
  236. package/dist/modules/skills/skills.service.js +13 -11
  237. package/dist/modules/skills/skills.service.js.map +1 -1
  238. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
  239. package/dist/modules/tool-helpers/tool-context.js +15 -0
  240. package/dist/modules/tool-helpers/tool-context.js.map +1 -1
  241. package/dist/modules/tool-manuals/mcp-json-discovery.d.ts +2 -1
  242. package/dist/modules/tool-manuals/mcp-json-discovery.d.ts.map +1 -1
  243. package/dist/modules/tool-manuals/mcp-json-discovery.js +6 -5
  244. package/dist/modules/tool-manuals/mcp-json-discovery.js.map +1 -1
  245. package/dist/modules/tool-manuals/mcp-server-edit.service.d.ts +4 -2
  246. package/dist/modules/tool-manuals/mcp-server-edit.service.d.ts.map +1 -1
  247. package/dist/modules/tool-manuals/mcp-server-edit.service.js +12 -10
  248. package/dist/modules/tool-manuals/mcp-server-edit.service.js.map +1 -1
  249. package/dist/modules/tool-manuals/pending-tools.service.d.ts +3 -1
  250. package/dist/modules/tool-manuals/pending-tools.service.d.ts.map +1 -1
  251. package/dist/modules/tool-manuals/pending-tools.service.js +19 -16
  252. package/dist/modules/tool-manuals/pending-tools.service.js.map +1 -1
  253. package/dist/modules/tool-manuals/tool-delete.service.d.ts +4 -2
  254. package/dist/modules/tool-manuals/tool-delete.service.d.ts.map +1 -1
  255. package/dist/modules/tool-manuals/tool-delete.service.js +14 -12
  256. package/dist/modules/tool-manuals/tool-delete.service.js.map +1 -1
  257. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +3 -1
  258. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -1
  259. package/dist/modules/tool-manuals/tool-manuals.routes.js +7 -7
  260. package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -1
  261. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +4 -2
  262. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
  263. package/dist/modules/tool-manuals/tool-manuals.service.js +15 -12
  264. package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
  265. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +3 -0
  266. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  267. package/dist/modules/tool-manuals/tool-manuals.tools.js +4 -6
  268. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  269. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts +3 -2
  270. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  271. package/dist/modules/workflow/agent-tools/workflow.tools.js +47 -11
  272. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  273. package/dist/modules/workflow/git/git.service.d.ts +14 -6
  274. package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
  275. package/dist/modules/workflow/git/git.service.js +40 -18
  276. package/dist/modules/workflow/git/git.service.js.map +1 -1
  277. package/dist/modules/workflow/git/node-git-runner.d.ts +26 -2
  278. package/dist/modules/workflow/git/node-git-runner.d.ts.map +1 -1
  279. package/dist/modules/workflow/git/node-git-runner.js +40 -5
  280. package/dist/modules/workflow/git/node-git-runner.js.map +1 -1
  281. package/dist/modules/workflow/git/pull-request.service.d.ts +45 -0
  282. package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -1
  283. package/dist/modules/workflow/git/pull-request.service.js +99 -0
  284. package/dist/modules/workflow/git/pull-request.service.js.map +1 -1
  285. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -1
  286. package/dist/modules/workflow/review-workflow/review-workflow.service.js +9 -4
  287. package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -1
  288. package/dist/modules/workflow/session-ontology.service.d.ts +6 -1
  289. package/dist/modules/workflow/session-ontology.service.d.ts.map +1 -1
  290. package/dist/modules/workflow/session-ontology.service.js +6 -2
  291. package/dist/modules/workflow/session-ontology.service.js.map +1 -1
  292. package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
  293. package/dist/modules/workflow/workflow.routes.js +3 -1
  294. package/dist/modules/workflow/workflow.routes.js.map +1 -1
  295. package/dist/modules/workflow/workflow.service.d.ts +42 -10
  296. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  297. package/dist/modules/workflow/workflow.service.js +181 -71
  298. package/dist/modules/workflow/workflow.service.js.map +1 -1
  299. package/dist/modules/workspace/session-ontology.gate.d.ts +3 -1
  300. package/dist/modules/workspace/session-ontology.gate.d.ts.map +1 -1
  301. package/dist/modules/workspace/session-ontology.gate.js +3 -3
  302. package/dist/modules/workspace/session-ontology.gate.js.map +1 -1
  303. package/dist/modules/workspace/startup/kb-git.d.ts +4 -3
  304. package/dist/modules/workspace/startup/kb-git.d.ts.map +1 -1
  305. package/dist/modules/workspace/startup/kb-git.js +15 -13
  306. package/dist/modules/workspace/startup/kb-git.js.map +1 -1
  307. package/dist/modules/workspace/startup/kb-startup-runner.d.ts +70 -7
  308. package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -1
  309. package/dist/modules/workspace/startup/kb-startup-runner.js +183 -38
  310. package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -1
  311. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.d.ts +7 -1
  312. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.d.ts.map +1 -1
  313. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js +23 -16
  314. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js.map +1 -1
  315. package/dist/modules/workspace/startup/steps/personal-spaces.step.d.ts +7 -1
  316. package/dist/modules/workspace/startup/steps/personal-spaces.step.d.ts.map +1 -1
  317. package/dist/modules/workspace/startup/steps/personal-spaces.step.js +12 -5
  318. package/dist/modules/workspace/startup/steps/personal-spaces.step.js.map +1 -1
  319. package/dist/modules/workspace/startup/steps/plugin-display-names.step.d.ts +7 -1
  320. package/dist/modules/workspace/startup/steps/plugin-display-names.step.d.ts.map +1 -1
  321. package/dist/modules/workspace/startup/steps/plugin-display-names.step.js +12 -5
  322. package/dist/modules/workspace/startup/steps/plugin-display-names.step.js.map +1 -1
  323. package/dist/modules/workspace/startup/steps/plugin-manifests.step.d.ts +7 -1
  324. package/dist/modules/workspace/startup/steps/plugin-manifests.step.d.ts.map +1 -1
  325. package/dist/modules/workspace/startup/steps/plugin-manifests.step.js +12 -5
  326. package/dist/modules/workspace/startup/steps/plugin-manifests.step.js.map +1 -1
  327. package/dist/modules/workspace/startup/steps/seed-tree.d.ts +4 -1
  328. package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -1
  329. package/dist/modules/workspace/startup/steps/seed-tree.js +14 -11
  330. package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
  331. package/dist/modules/workspace/startup/steps/template-files.step.d.ts +17 -3
  332. package/dist/modules/workspace/startup/steps/template-files.step.d.ts.map +1 -1
  333. package/dist/modules/workspace/startup/steps/template-files.step.js +36 -30
  334. package/dist/modules/workspace/startup/steps/template-files.step.js.map +1 -1
  335. package/dist/modules/workspace/startup/steps/template-source.d.ts +6 -1
  336. package/dist/modules/workspace/startup/steps/template-source.d.ts.map +1 -1
  337. package/dist/modules/workspace/startup/steps/template-source.js +10 -6
  338. package/dist/modules/workspace/startup/steps/template-source.js.map +1 -1
  339. package/dist/modules/workspace/workspace.routes.d.ts +2 -1
  340. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
  341. package/dist/modules/workspace/workspace.routes.js +8 -7
  342. package/dist/modules/workspace/workspace.routes.js.map +1 -1
  343. package/dist/modules/workspace/workspace.service.d.ts +18 -12
  344. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  345. package/dist/modules/workspace/workspace.service.js +49 -29
  346. package/dist/modules/workspace/workspace.service.js.map +1 -1
  347. package/dist/modules/workspace/workspace.tools.d.ts +2 -1
  348. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  349. package/dist/modules/workspace/workspace.tools.js +48 -20
  350. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  351. package/dist/modules/workspace/write-denial.d.ts +3 -2
  352. package/dist/modules/workspace/write-denial.d.ts.map +1 -1
  353. package/dist/modules/workspace/write-denial.js +6 -5
  354. package/dist/modules/workspace/write-denial.js.map +1 -1
  355. package/dist/shared/domain-errors.d.ts +39 -0
  356. package/dist/shared/domain-errors.d.ts.map +1 -1
  357. package/dist/shared/domain-errors.js +55 -0
  358. package/dist/shared/domain-errors.js.map +1 -1
  359. package/dist/shared/git.contract.d.ts +62 -7
  360. package/dist/shared/git.contract.d.ts.map +1 -1
  361. package/dist/shared/git.contract.js +30 -8
  362. package/dist/shared/git.contract.js.map +1 -1
  363. package/dist/shared/kb-context.d.ts +76 -0
  364. package/dist/shared/kb-context.d.ts.map +1 -0
  365. package/dist/shared/kb-context.js +108 -0
  366. package/dist/shared/kb-context.js.map +1 -0
  367. package/dist/shared/kb-layout.d.ts +3 -2
  368. package/dist/shared/kb-layout.d.ts.map +1 -1
  369. package/dist/shared/kb-layout.js +4 -3
  370. package/dist/shared/kb-layout.js.map +1 -1
  371. package/dist/shared/kb-layout.test.js +35 -27
  372. package/dist/shared/kb-layout.test.js.map +1 -1
  373. package/dist/shared/pending-proposals.d.ts +4 -1
  374. package/dist/shared/pending-proposals.d.ts.map +1 -1
  375. package/dist/shared/pending-proposals.js +3 -4
  376. package/dist/shared/pending-proposals.js.map +1 -1
  377. package/dist/shared/redact-secret.d.ts +5 -5
  378. package/dist/shared/redact-secret.js +5 -5
  379. package/dist/tenancy/index.d.ts +13 -0
  380. package/dist/tenancy/index.d.ts.map +1 -0
  381. package/dist/tenancy/index.js +13 -0
  382. package/dist/tenancy/index.js.map +1 -0
  383. package/dist/tenancy/static-tenant-source.d.ts +98 -0
  384. package/dist/tenancy/static-tenant-source.d.ts.map +1 -0
  385. package/dist/tenancy/static-tenant-source.js +220 -0
  386. package/dist/tenancy/static-tenant-source.js.map +1 -0
  387. package/dist/tenancy/tenant-host.d.ts +80 -0
  388. package/dist/tenancy/tenant-host.d.ts.map +1 -0
  389. package/dist/tenancy/tenant-host.js +217 -0
  390. package/dist/tenancy/tenant-host.js.map +1 -0
  391. package/dist/tenancy/tenant-runtime.d.ts +91 -0
  392. package/dist/tenancy/tenant-runtime.d.ts.map +1 -0
  393. package/dist/tenancy/tenant-runtime.js +174 -0
  394. package/dist/tenancy/tenant-runtime.js.map +1 -0
  395. package/dist/tenancy/tenant-secrets.d.ts +24 -0
  396. package/dist/tenancy/tenant-secrets.d.ts.map +1 -0
  397. package/dist/tenancy/tenant-secrets.js +30 -0
  398. package/dist/tenancy/tenant-secrets.js.map +1 -0
  399. package/dist/tenancy/tenant-source.contract.d.ts +45 -0
  400. package/dist/tenancy/tenant-source.contract.d.ts.map +1 -0
  401. package/dist/tenancy/tenant-source.contract.js +21 -0
  402. package/dist/tenancy/tenant-source.contract.js.map +1 -0
  403. package/migrations/0000_core_init.sql +14 -14
  404. package/migrations/0003_deployment_settings.sql +1 -1
  405. package/migrations/0005_github_facade.sql +1 -1
  406. package/migrations/0012_agent_audit.sql +6 -6
  407. package/package.json +3 -3
  408. package/src/__tests__/branch-model.test.ts +7 -6
  409. package/src/__tests__/kb-context.ts +30 -0
  410. package/src/__tests__/kb-layout-config.test.ts +35 -30
  411. package/src/core/__tests__/catalog-cache-invalidation.test.ts +2 -1
  412. package/src/core/__tests__/lifecycle.test.ts +78 -1
  413. package/src/core/__tests__/public-config.test.ts +5 -1
  414. package/src/core/catalog-cache-invalidation.ts +16 -11
  415. package/src/core/core-ports.ts +19 -0
  416. package/src/core/create-core-server.ts +64 -107
  417. package/src/core/create-core-services.ts +238 -96
  418. package/src/core/lifecycle.ts +214 -29
  419. package/src/core/public-config.ts +8 -5
  420. package/src/core-config.ts +107 -8
  421. package/src/index.ts +25 -2
  422. package/src/modules/access/__tests__/access-control.admin-root-floor.test.ts +2 -1
  423. package/src/modules/access/__tests__/access-requests.recut.test.ts +134 -0
  424. package/src/modules/access/__tests__/access-requests.routes.test.ts +610 -0
  425. package/src/modules/access/__tests__/access.routes.batch.test.ts +2 -1
  426. package/src/modules/access/__tests__/access.routes.folder-governs.test.ts +2 -1
  427. package/src/modules/access/__tests__/access.routes.group-grant.test.ts +2 -1
  428. package/src/modules/access/__tests__/access.routes.overrides.test.ts +2 -1
  429. package/src/modules/access/__tests__/access.routes.proposal-branch.test.ts +2 -1
  430. package/src/modules/access/__tests__/access.routes.prospective.test.ts +2 -1
  431. package/src/modules/access/__tests__/access.routes.revoke.test.ts +2 -1
  432. package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +2 -1
  433. package/src/modules/access/__tests__/change-read-gate.test.ts +13 -11
  434. package/src/modules/access/__tests__/creator-access.test.ts +3 -2
  435. package/src/modules/access/__tests__/roles.routes.test.ts +2 -1
  436. package/src/modules/access/access-control.service.ts +20 -6
  437. package/src/modules/access/access-requests.contract.ts +93 -0
  438. package/src/modules/access/access-requests.routes.ts +286 -0
  439. package/src/modules/access/access-requests.service.ts +420 -0
  440. package/src/modules/access/access.routes.ts +10 -13
  441. package/src/modules/access/change-read-gate.ts +10 -4
  442. package/src/modules/access/creator-access.ts +7 -2
  443. package/src/modules/access-model/access-grammar.ts +22 -0
  444. package/src/modules/agent-instructions/__tests__/read-preamble.test.ts +13 -12
  445. package/src/modules/agent-instructions/read-preamble.ts +10 -12
  446. package/src/modules/auth/__tests__/account.routes.test.ts +15 -0
  447. package/src/modules/auth/__tests__/auth.service.test.ts +98 -0
  448. package/src/modules/auth/account-admission.ts +44 -0
  449. package/src/modules/auth/account.routes.ts +4 -1
  450. package/src/modules/auth/auth.service.ts +61 -2
  451. package/src/modules/auth/oidc-auth-provider.ts +9 -0
  452. package/src/modules/connection-probe/connection-probe.service.ts +7 -1
  453. package/src/modules/database/__tests__/advisory-lock.test.ts +23 -1
  454. package/src/modules/database/__tests__/connection.test.ts +98 -0
  455. package/src/modules/database/__tests__/migrations-unqualified.test.ts +32 -0
  456. package/src/modules/database/advisory-lock.ts +28 -4
  457. package/src/modules/database/connection.ts +143 -13
  458. package/src/modules/database/migrate.ts +48 -14
  459. package/src/modules/diff/__tests__/diff.service.seed-atomicity.test.ts +2 -1
  460. package/src/modules/diff/__tests__/diff.service.test.ts +2 -1
  461. package/src/modules/github-app/__tests__/github-app.test.ts +848 -0
  462. package/src/modules/github-app/github-app.client.ts +268 -0
  463. package/src/modules/github-app/github-app.connection.ts +204 -0
  464. package/src/modules/github-app/github-app.routes.ts +359 -0
  465. package/src/modules/github-app/index.ts +19 -0
  466. package/src/modules/kb-fs/__tests__/branch-name.test.ts +6 -6
  467. package/src/modules/kb-fs/__tests__/clone-config.test.ts +24 -20
  468. package/src/modules/kb-fs/__tests__/remote-url.test.ts +38 -0
  469. package/src/modules/kb-fs/branch-name.ts +3 -3
  470. package/src/modules/kb-fs/clone-config.ts +15 -12
  471. package/src/modules/kb-fs/remote-url.ts +35 -0
  472. package/src/modules/marketplace/__tests__/marketplace-repo.head.test.ts +2 -1
  473. package/src/modules/mcp/mcp.service.ts +11 -4
  474. package/src/modules/plugins/__tests__/bundle-dialect.e2e.test.ts +12 -11
  475. package/src/modules/plugins/__tests__/bundle-dialect.test.ts +2 -1
  476. package/src/modules/plugins/__tests__/compile-marketplace.test.ts +6 -4
  477. package/src/modules/plugins/__tests__/join-proposals.test.ts +100 -19
  478. package/src/modules/plugins/__tests__/join-request-jobs.service.test.ts +2 -1
  479. package/src/modules/plugins/__tests__/join-requests.service.test.ts +28 -11
  480. package/src/modules/plugins/__tests__/join-requests.settlement.test.ts +371 -0
  481. package/src/modules/plugins/__tests__/plugin-creation-display-name.test.ts +4 -3
  482. package/src/modules/plugins/__tests__/plugin-index.service.test.ts +6 -4
  483. package/src/modules/plugins/__tests__/plugin-links.service.test.ts +220 -5
  484. package/src/modules/plugins/__tests__/plugin-provision.service.test.ts +3 -1
  485. package/src/modules/plugins/__tests__/plugin-rename.service.test.ts +7 -6
  486. package/src/modules/plugins/__tests__/plugins.routes.test.ts +12 -3
  487. package/src/modules/plugins/__tests__/teams.routes.test.ts +2 -1
  488. package/src/modules/plugins/compile/marketplace-compiler.service.ts +7 -9
  489. package/src/modules/plugins/discovery/__tests__/kb-plugin-source.test.ts +20 -16
  490. package/src/modules/plugins/discovery/bundle-dialect/bundle.source.ts +9 -2
  491. package/src/modules/plugins/discovery/kb-plugin-source.ts +15 -8
  492. package/src/modules/plugins/discovery/native.source.ts +4 -1
  493. package/src/modules/plugins/index.ts +1 -1
  494. package/src/modules/plugins/join-proposals.ts +87 -19
  495. package/src/modules/plugins/join-request-jobs.service.ts +8 -7
  496. package/src/modules/plugins/join-requests.service.ts +203 -43
  497. package/src/modules/plugins/plugin-links.service.ts +192 -19
  498. package/src/modules/plugins/plugin-links.ts +147 -27
  499. package/src/modules/plugins/plugin-provision.service.ts +54 -27
  500. package/src/modules/plugins/plugin-rename.service.ts +10 -10
  501. package/src/modules/plugins/plugins.routes.ts +48 -17
  502. package/src/modules/plugins/plugins.service.ts +7 -11
  503. package/src/modules/plugins/teams.routes.ts +16 -8
  504. package/src/modules/secrets-vault/__tests__/connect-pending.route.test.ts +7 -0
  505. package/src/modules/secrets-vault/__tests__/secrets-variable-loader.test.ts +40 -0
  506. package/src/modules/secrets-vault/__tests__/tool-owner-gate.route.test.ts +2 -0
  507. package/src/modules/secrets-vault/index.ts +2 -0
  508. package/src/modules/secrets-vault/secrets-variable-loader.ts +51 -21
  509. package/src/modules/secrets-vault/secrets-vault.routes.ts +7 -6
  510. package/src/modules/settings/__tests__/deployment-settings.service.test.ts +24 -11
  511. package/src/modules/settings/__tests__/git-root-folders.test.ts +2 -1
  512. package/src/modules/settings/__tests__/repository-source.test.ts +191 -0
  513. package/src/modules/settings/__tests__/setup.routes.boot-failure.test.ts +2 -1
  514. package/src/modules/settings/__tests__/setup.routes.git-mode.test.ts +353 -0
  515. package/src/modules/settings/__tests__/setup.routes.github-app.test.ts +282 -0
  516. package/src/modules/settings/__tests__/setup.routes.layout-phase.test.ts +7 -4
  517. package/src/modules/settings/__tests__/setup.routes.managed-phase.test.ts +233 -0
  518. package/src/modules/settings/__tests__/setup.routes.oidc.test.ts +2 -0
  519. package/src/modules/settings/__tests__/setup.routes.sync-status.test.ts +2 -0
  520. package/src/modules/settings/__tests__/setup.routes.test.ts +33 -52
  521. package/src/modules/settings/deployment-settings.service.ts +130 -23
  522. package/src/modules/settings/managed-repository.ts +68 -0
  523. package/src/modules/settings/repository-source.ts +197 -0
  524. package/src/modules/settings/setup.routes.ts +233 -19
  525. package/src/modules/skills/__tests__/allowed-tools-check.test.ts +11 -10
  526. package/src/modules/skills/__tests__/allowed-tools-warn.tools.test.ts +4 -3
  527. package/src/modules/skills/__tests__/pending-skills.service.test.ts +3 -1
  528. package/src/modules/skills/__tests__/skill-access-requests.routes.test.ts +7 -2
  529. package/src/modules/skills/__tests__/skills.routes.warnings.test.ts +2 -1
  530. package/src/modules/skills/__tests__/skills.service.test.ts +3 -2
  531. package/src/modules/skills/allowed-tools-check.ts +7 -6
  532. package/src/modules/skills/pending-skills.service.ts +9 -8
  533. package/src/modules/skills/skill-access-requests.routes.ts +29 -79
  534. package/src/modules/skills/skills.routes.ts +4 -3
  535. package/src/modules/skills/skills.service.ts +13 -9
  536. package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +3 -2
  537. package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +3 -2
  538. package/src/modules/tool-helpers/tool-context.ts +15 -0
  539. package/src/modules/tool-manuals/__tests__/mcp-json-discovery.test.ts +17 -12
  540. package/src/modules/tool-manuals/__tests__/mcp-server-edit.service.test.ts +2 -1
  541. package/src/modules/tool-manuals/__tests__/pending-tools.service.test.ts +4 -1
  542. package/src/modules/tool-manuals/__tests__/tool-delete.service.test.ts +2 -1
  543. package/src/modules/tool-manuals/__tests__/tool-manuals.archive.route.test.ts +2 -1
  544. package/src/modules/tool-manuals/__tests__/tool-manuals.cli.test.ts +5 -4
  545. package/src/modules/tool-manuals/__tests__/tool-manuals.detail.route.test.ts +2 -1
  546. package/src/modules/tool-manuals/__tests__/tool-manuals.invalid.routes.test.ts +4 -2
  547. package/src/modules/tool-manuals/__tests__/tool-manuals.invalid.test.ts +13 -5
  548. package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +2 -1
  549. package/src/modules/tool-manuals/__tests__/tool-manuals.restart.test.ts +9 -1
  550. package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +3 -2
  551. package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +2 -0
  552. package/src/modules/tool-manuals/mcp-json-discovery.ts +6 -4
  553. package/src/modules/tool-manuals/mcp-server-edit.service.ts +13 -11
  554. package/src/modules/tool-manuals/pending-tools.service.ts +19 -16
  555. package/src/modules/tool-manuals/tool-delete.service.ts +13 -10
  556. package/src/modules/tool-manuals/tool-manuals.routes.ts +10 -8
  557. package/src/modules/tool-manuals/tool-manuals.service.ts +15 -13
  558. package/src/modules/tool-manuals/tool-manuals.tools.ts +7 -6
  559. package/src/modules/workflow/__tests__/apply-failure.test.ts +11 -2
  560. package/src/modules/workflow/__tests__/merge-announces-tree.test.ts +14 -26
  561. package/src/modules/workflow/__tests__/preserve-roles-yaml.test.ts +2 -1
  562. package/src/modules/workflow/__tests__/session-ontology.service.test.ts +3 -2
  563. package/src/modules/workflow/__tests__/workflow.routes.lock-path.test.ts +2 -1
  564. package/src/modules/workflow/__tests__/workflow.service.branch-in-use.test.ts +3 -10
  565. package/src/modules/workflow/__tests__/workflow.service.commitFileWhileLocked.test.ts +2 -1
  566. package/src/modules/workflow/__tests__/workflow.service.deleted-branch-sweep.test.ts +3 -10
  567. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +187 -35
  568. package/src/modules/workflow/__tests__/workflow.service.folder-proposals.test.ts +2 -1
  569. package/src/modules/workflow/__tests__/workflow.service.platform-restore.test.ts +2 -1
  570. package/src/modules/workflow/__tests__/workflow.service.read-gate.test.ts +3 -2
  571. package/src/modules/workflow/__tests__/workflow.service.releaseLock.test.ts +2 -1
  572. package/src/modules/workflow/__tests__/workflow.service.sync.test.ts +5 -4
  573. package/src/modules/workflow/__tests__/workflow.service.update-from-target.test.ts +148 -41
  574. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +143 -2
  575. package/src/modules/workflow/agent-tools/workflow.tools.ts +60 -12
  576. package/src/modules/workflow/git/__tests__/git.service.accessGating.test.ts +5 -4
  577. package/src/modules/workflow/git/__tests__/git.service.changedFilesForPr.test.ts +12 -11
  578. package/src/modules/workflow/git/__tests__/git.service.commitChanges.test.ts +9 -8
  579. package/src/modules/workflow/git/__tests__/git.service.commitFile.strayPath.test.ts +8 -7
  580. package/src/modules/workflow/git/__tests__/git.service.commitFile.test.ts +6 -5
  581. package/src/modules/workflow/git/__tests__/git.service.createBranch.test.ts +3 -2
  582. package/src/modules/workflow/git/__tests__/git.service.deleteBranch.test.ts +3 -2
  583. package/src/modules/workflow/git/__tests__/git.service.diffFileAtCommit.test.ts +7 -6
  584. package/src/modules/workflow/git/__tests__/git.service.diffFileBetweenBranches.test.ts +16 -15
  585. package/src/modules/workflow/git/__tests__/git.service.fileContentsAtCommit.test.ts +3 -2
  586. package/src/modules/workflow/git/__tests__/git.service.forkPoint.test.ts +2 -1
  587. package/src/modules/workflow/git/__tests__/git.service.history-guards.test.ts +2 -1
  588. package/src/modules/workflow/git/__tests__/git.service.list-branches.test.ts +10 -9
  589. package/src/modules/workflow/git/__tests__/git.service.listTrackedFiles.test.ts +2 -1
  590. package/src/modules/workflow/git/__tests__/git.service.logForFile.test.ts +6 -5
  591. package/src/modules/workflow/git/__tests__/git.service.mergeChangeRequest.test.ts +9 -8
  592. package/src/modules/workflow/git/__tests__/git.service.pendingChanges.test.ts +2 -1
  593. package/src/modules/workflow/git/__tests__/git.service.postMergePull.test.ts +4 -3
  594. package/src/modules/workflow/git/__tests__/git.service.pull.test.ts +130 -8
  595. package/src/modules/workflow/git/__tests__/git.service.readFileAtRef.test.ts +2 -1
  596. package/src/modules/workflow/git/__tests__/git.service.revertPathsAndPush.test.ts +2 -1
  597. package/src/modules/workflow/git/__tests__/git.service.status.test.ts +4 -3
  598. package/src/modules/workflow/git/__tests__/git.service.syncFromRemote.test.ts +8 -7
  599. package/src/modules/workflow/git/__tests__/node-git-runner.test.ts +41 -3
  600. package/src/modules/workflow/git/__tests__/pull-request.service.getPrDetail.test.ts +145 -2
  601. package/src/modules/workflow/git/__tests__/pull-request.service.viewer-can-delete.test.ts +166 -0
  602. package/src/modules/workflow/git/git.service.ts +49 -17
  603. package/src/modules/workflow/git/node-git-runner.ts +43 -4
  604. package/src/modules/workflow/git/pull-request.service.ts +119 -0
  605. package/src/modules/workflow/review-workflow/review-workflow.service.ts +9 -6
  606. package/src/modules/workflow/session-ontology.service.ts +7 -2
  607. package/src/modules/workflow/workflow.routes.ts +3 -1
  608. package/src/modules/workflow/workflow.service.ts +201 -76
  609. package/src/modules/workspace/__tests__/file-stat-access.test.ts +3 -2
  610. package/src/modules/workspace/__tests__/git-internals.security.test.ts +10 -9
  611. package/src/modules/workspace/__tests__/session-ontology.gate.test.ts +4 -2
  612. package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +3 -2
  613. package/src/modules/workspace/__tests__/workspace.routes.branch-errors.test.ts +2 -1
  614. package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +2 -1
  615. package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +2 -1
  616. package/src/modules/workspace/__tests__/workspace.routes.download-implies-read.test.ts +2 -1
  617. package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +2 -1
  618. package/src/modules/workspace/__tests__/workspace.routes.file-writes.test.ts +2 -1
  619. package/src/modules/workspace/__tests__/workspace.routes.folders.test.ts +5 -4
  620. package/src/modules/workspace/__tests__/workspace.routes.move-platform-files.test.ts +2 -1
  621. package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +2 -1
  622. package/src/modules/workspace/__tests__/workspace.service.ensure-remotes-fetched.test.ts +2 -2
  623. package/src/modules/workspace/__tests__/workspace.service.list-cloned.test.ts +6 -5
  624. package/src/modules/workspace/__tests__/workspace.service.move-never-overwrites.test.ts +2 -1
  625. package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +2 -1
  626. package/src/modules/workspace/__tests__/workspace.service.test.ts +84 -50
  627. package/src/modules/workspace/__tests__/workspace.service.unknown-branch.test.ts +45 -1
  628. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +10 -7
  629. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +237 -10
  630. package/src/modules/workspace/__tests__/workspace.tools.test.ts +44 -11
  631. package/src/modules/workspace/__tests__/write-denial.test.ts +5 -4
  632. package/src/modules/workspace/session-ontology.gate.ts +6 -4
  633. package/src/modules/workspace/startup/__tests__/kb-startup-runner.degraded.test.ts +6 -2
  634. package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +240 -21
  635. package/src/modules/workspace/startup/kb-git.ts +15 -22
  636. package/src/modules/workspace/startup/kb-startup-runner.ts +198 -45
  637. package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +104 -98
  638. package/src/modules/workspace/startup/steps/groups-to-plugins.step.ts +24 -16
  639. package/src/modules/workspace/startup/steps/personal-spaces.step.ts +14 -5
  640. package/src/modules/workspace/startup/steps/plugin-display-names.step.ts +13 -5
  641. package/src/modules/workspace/startup/steps/plugin-manifests.step.ts +14 -5
  642. package/src/modules/workspace/startup/steps/seed-tree.ts +11 -9
  643. package/src/modules/workspace/startup/steps/template-files.step.ts +43 -34
  644. package/src/modules/workspace/startup/steps/template-source.ts +8 -5
  645. package/src/modules/workspace/workspace.routes.ts +8 -7
  646. package/src/modules/workspace/workspace.service.ts +47 -28
  647. package/src/modules/workspace/workspace.tools.ts +56 -20
  648. package/src/modules/workspace/write-denial.ts +7 -5
  649. package/src/shared/__tests__/kb-layout.plugin.test.ts +19 -16
  650. package/src/shared/domain-errors.ts +58 -0
  651. package/src/shared/git.contract.ts +80 -8
  652. package/src/shared/kb-context.ts +130 -0
  653. package/src/shared/kb-layout.test.ts +37 -27
  654. package/src/shared/kb-layout.ts +4 -3
  655. package/src/shared/pending-proposals.ts +7 -4
  656. package/src/shared/redact-secret.ts +5 -5
  657. package/src/tenancy/__tests__/static-tenant-source.test.ts +177 -0
  658. package/src/tenancy/__tests__/tenant-host.test.ts +372 -0
  659. package/src/tenancy/__tests__/tenant-runtime.test.ts +221 -0
  660. package/src/tenancy/__tests__/tenant-secrets.test.ts +35 -0
  661. package/src/tenancy/index.ts +35 -0
  662. package/src/tenancy/static-tenant-source.ts +296 -0
  663. package/src/tenancy/tenant-host.ts +261 -0
  664. package/src/tenancy/tenant-runtime.ts +208 -0
  665. package/src/tenancy/tenant-secrets.ts +41 -0
  666. package/src/tenancy/tenant-source.contract.ts +59 -0
@@ -51,6 +51,17 @@ export interface SettingDef {
51
51
  * restart for a change that never happened.
52
52
  */
53
53
  unsetMeans?: string;
54
+ /**
55
+ * Written by the deployment itself, at the end of a flow that PROVED the
56
+ * value, and never taken from a save. What a GitHub App was given when it
57
+ * was registered, and which installation of it the admin was shown to
58
+ * hold, are facts somebody established; accepted from a form they would
59
+ * be claims, and the claim "installation 42 is mine" is one that reaches
60
+ * another organisation's repositories. A save that names one is refused,
61
+ * the setup screen is not told about it, and its value is read like any
62
+ * other's (the environment first), so an operator can still pin it.
63
+ */
64
+ internal?: boolean;
54
65
  }
55
66
  /**
56
67
  * The one rule for what a KB remote may look like, shared by the setting below
@@ -151,7 +162,18 @@ export declare class DeploymentSettingsService {
151
162
  private readonly defs;
152
163
  private stored;
153
164
  private readonly crypto;
154
- constructor(db: Database, secretsEncKey: string, defs?: SettingDef[]);
165
+ /**
166
+ * The environment the env-first layer reads. The process's own for a
167
+ * single-tenant deployment; a host serving several knowledge bases hands
168
+ * each graph one built from its tenant record, so a variable set on the
169
+ * host process can never leak into every tenant, and a record's values
170
+ * behave exactly as environment-pinned ones do (they win over the setup
171
+ * screen and the screen shows them as such).
172
+ */
173
+ private readonly env;
174
+ constructor(db: Database, secretsEncKey: string, defs?: SettingDef[], options?: {
175
+ env?: NodeJS.ProcessEnv;
176
+ });
155
177
  get definitions(): SettingDef[];
156
178
  /** Read every stored row into memory. Call once, before services are built. */
157
179
  load(): Promise<void>;
@@ -217,7 +239,9 @@ export declare class DeploymentSettingsService {
217
239
  * leaves out the folder names and the branch model when the save that
218
240
  * completes setup has just applied them, and reports only what remains.
219
241
  */
220
- save(entries: Record<string, string>, updatedBy: string | null): Promise<{
242
+ save(entries: Record<string, string>, updatedBy: string | null,
243
+ /** Set by {@link record} alone: the batch is the deployment's own, and may name internal settings. */
244
+ by?: 'admin' | 'deployment'): Promise<{
221
245
  restartRequired: boolean;
222
246
  restartKeys: string[];
223
247
  }>;
@@ -229,17 +253,18 @@ export declare class DeploymentSettingsService {
229
253
  * before letting the save happen.
230
254
  */
231
255
  resolveAfter(entries: Record<string, string>): (key: string) => string;
256
+ /**
257
+ * Store what the DEPLOYMENT established, internal settings included: the
258
+ * end of a flow that proved each value (see `SettingDef.internal`). The
259
+ * same validation, the same encryption, the same refusal of a setting the
260
+ * environment pins. Never reachable from a request body: the setup routes
261
+ * call {@link save}.
262
+ */
263
+ record(entries: Record<string, string>, updatedBy: string | null): Promise<void>;
232
264
  /** Validate a batch and return the writes (and the clears) it amounts to; throws on any problem. */
233
265
  private plan;
234
266
  /** Drop stored rows for settings this build no longer defines. */
235
267
  prune(): Promise<void>;
236
- /**
237
- * Publish the resolved git token as `GITHUB_TOKEN`, the name the credential
238
- * helper and every redaction path already read. Only when the environment did
239
- * not supply one — otherwise this would overwrite the operator's value with
240
- * a stored fallback, inverting the precedence everything else here obeys.
241
- */
242
- syncGitTokenEnv(): void;
243
268
  /** The single sign-on values in effect, issuer normalized the way the provider uses it. */
244
269
  resolveOidcCredentials(): OidcCredentials;
245
270
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-settings.service.d.ts","sourceRoot":"","sources":["../../../src/modules/settings/deployment-settings.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment-settings.service.d.ts","sourceRoot":"","sources":["../../../src/modules/settings/deployment-settings.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAEL,KAAK,QAAQ,EAKd,MAAM,iCAAiC,CAAC;AAQzC;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,IAe5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,EA+RrC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIlE,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAElG,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,YAAY,CAAC;AAExD,8FAA8F;AAC9F,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD,oFAAoF;AACpF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,yBAAyB;IAgBlC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhBhC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAGrB,EAAE,EAAE,QAAQ,EACZ,aAAa,EAAE,MAAM,EACtC,IAAI,GAAE,UAAU,EAAkB,EAClC,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAO;IAS3C,IAAI,WAAW,IAAI,UAAU,EAAE,CAE9B;IAED,+EAA+E;IACzE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ5B;;;OAGG;IACH,eAAe,IAAI,QAAQ,CAAC,QAAQ,CAAC;IASrC;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5C,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAUpC;;;;OAIG;IACH,QAAQ,IAAI,eAAe,EAAE;IAgB7B;;;;;;;;;;;;;;OAcG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,GAAG,IAAI;IACxB,sGAAsG;IACtG,EAAE,GAAE,OAAO,GAAG,YAAsB,GACnC,OAAO,CAAC;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiC/D;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;IAMtE;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAItF,oGAAoG;IACpG,OAAO,CAAC,IAAI;IA2HZ,kEAAkE;IAC5D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,2FAA2F;IAC3F,sBAAsB,IAAI,eAAe;IAQzC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAOxD,8FAA8F;IACxF,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAUhF;;;;;;;;;;;;OAYG;IACG,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjG,OAAO,CAAC,mBAAmB;IAc3B,4DAA4D;IACtD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIxC;AAED,mFAAmF;AACnF,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAhC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAItD"}
@@ -8,6 +8,7 @@ import { TokenCrypto } from '../../shared/token-crypto.js';
8
8
  import { assertKbDirNameFree } from '../kb-fs/repo-path.js';
9
9
  import { parseRetentionWindow } from '../audit/audit.contract.js';
10
10
  import { normalizeIssuerUrl } from './oidc-check.js';
11
+ import { GIT_MODES, isGitMode } from './repository-source.js';
11
12
  /**
12
13
  * The one rule for what a KB remote may look like, shared by the setting below
13
14
  * and the connection test — which must apply it BEFORE handing the value to
@@ -37,6 +38,25 @@ export const validateHttpsRemote = (value) => {
37
38
  * The core catalogue. Order is the order the setup screen renders them in.
38
39
  */
39
40
  export const CORE_SETTINGS = [
41
+ {
42
+ /**
43
+ * Which way the deployment is given its repository (see
44
+ * `RepositorySource`). Unset on a deployment configured before there was
45
+ * a choice, which is read as `token` when it has an address or a token,
46
+ * and as nothing chosen when it has neither.
47
+ *
48
+ * Restart-to-apply on a deployment that is running: its working copies
49
+ * were cloned from the repository it had, and they are brought into line
50
+ * with another one by the startup phase, at a moment when nobody is
51
+ * using them. The save that completes first-run setup runs that phase
52
+ * itself, and owes no restart.
53
+ */
54
+ key: 'gitMode',
55
+ envVar: 'GIT_MODE',
56
+ section: 'knowledge-base',
57
+ validate: (v) => (isGitMode(v) ? null : `Choose one of: ${GIT_MODES.join(', ')}.`),
58
+ restartToApply: true,
59
+ },
40
60
  {
41
61
  key: 'kbRepoUrl',
42
62
  envVar: 'KB_REPO_URL',
@@ -58,6 +78,57 @@ export const CORE_SETTINGS = [
58
78
  // is not a plain token is rejected rather than escaped.
59
79
  validate: (v) => /^[A-Za-z0-9._-]+$/.test(v) ? null : 'Use only letters, digits, dot, underscore or hyphen.',
60
80
  },
81
+ /**
82
+ * A repository on GitHub, reached through a GitHub App (see
83
+ * `modules/github-app/`).
84
+ *
85
+ * THE REPOSITORY is the admin's to choose, among those the installation
86
+ * reaches, and is saved like any setting: a name the installation does not
87
+ * reach fails the connection check, since the only token presented to
88
+ * GitHub is the installation's.
89
+ *
90
+ * EVERYTHING ELSE is internal: the app's identity and keys, as GitHub
91
+ * issued them when the app was registered, and the installation, as
92
+ * GitHub confirmed the admin holds it. Each has a variable, so whoever
93
+ * operates the deployment can supply an app they registered themselves,
94
+ * and a host serving many deployments can supply one app for all of them.
95
+ */
96
+ {
97
+ key: 'githubRepository',
98
+ envVar: 'GITHUB_APP_REPOSITORY',
99
+ section: 'knowledge-base',
100
+ validate: (v) => /^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\/[A-Za-z0-9._-]+$/.test(v) && !v.endsWith('.git')
101
+ ? null
102
+ : 'Name the repository as owner/name.',
103
+ },
104
+ { key: 'githubAppId', envVar: 'GITHUB_APP_ID', section: 'knowledge-base', internal: true, validate: (v) => (/^\d+$/.test(v) ? null : 'The app id is a number.') },
105
+ { key: 'githubAppSlug', envVar: 'GITHUB_APP_SLUG', section: 'knowledge-base', internal: true, validate: (v) => (/^[A-Za-z0-9-]+$/.test(v) ? null : 'The app slug is letters, digits and hyphens.') },
106
+ { key: 'githubAppPrivateKey', envVar: 'GITHUB_APP_PRIVATE_KEY', section: 'knowledge-base', internal: true, secret: true },
107
+ { key: 'githubAppClientId', envVar: 'GITHUB_APP_CLIENT_ID', section: 'knowledge-base', internal: true },
108
+ { key: 'githubAppClientSecret', envVar: 'GITHUB_APP_CLIENT_SECRET', section: 'knowledge-base', internal: true, secret: true },
109
+ {
110
+ /**
111
+ * Put in front of the state every round trip to GitHub carries, by a
112
+ * host that serves several deployments behind ONE app: GitHub sends the
113
+ * browser back to the one address registered for the app, and the host
114
+ * reads this to know which deployment to hand it to. Never stored.
115
+ */
116
+ key: 'githubAppStateTag',
117
+ envVar: 'GITHUB_APP_STATE_TAG',
118
+ section: 'knowledge-base',
119
+ internal: true,
120
+ validate: (v) => (/^[a-z0-9-]{1,63}$/.test(v) ? null : 'Lowercase letters, digits and hyphens.'),
121
+ },
122
+ { key: 'githubInstallationId', envVar: 'GITHUB_APP_INSTALLATION_ID', section: 'knowledge-base', internal: true, validate: (v) => (/^\d+$/.test(v) ? null : 'The installation id is a number.') },
123
+ /** Whose account the installation is on, as GitHub names it: shown, never trusted. */
124
+ { key: 'githubInstallationAccount', section: 'knowledge-base', internal: true },
125
+ /**
126
+ * The repositories the person who connected the installation could PUSH
127
+ * to with their own GitHub account, one `owner/name` a line, as GitHub
128
+ * listed them when they connected. The deployment may be pointed at one
129
+ * of these and at nothing else the installation reaches.
130
+ */
131
+ { key: 'githubRepositoriesPermitted', section: 'knowledge-base', internal: true },
61
132
  {
62
133
  key: 'kbDirName',
63
134
  envVar: 'KB_DIR_NAME',
@@ -116,7 +187,9 @@ export const CORE_SETTINGS = [
116
187
  */
117
188
  key: 'agentsFile',
118
189
  section: 'knowledge-base',
119
- validate: (v) => validateAgentsFileName(v),
190
+ // Judged against the default roots here; the quartet check in `plan`
191
+ // judges it against the roots the same save puts in effect.
192
+ validate: (v) => validateAgentsFileName(v, DEFAULT_KB_LAYOUT),
120
193
  restartToApply: true,
121
194
  unsetMeans: DEFAULT_KB_LAYOUT.agentsFile,
122
195
  },
@@ -313,9 +386,19 @@ export class DeploymentSettingsService {
313
386
  defs = new Map();
314
387
  stored = new Map();
315
388
  crypto;
316
- constructor(db, secretsEncKey, defs = CORE_SETTINGS) {
389
+ /**
390
+ * The environment the env-first layer reads. The process's own for a
391
+ * single-tenant deployment; a host serving several knowledge bases hands
392
+ * each graph one built from its tenant record, so a variable set on the
393
+ * host process can never leak into every tenant, and a record's values
394
+ * behave exactly as environment-pinned ones do (they win over the setup
395
+ * screen and the screen shows them as such).
396
+ */
397
+ env;
398
+ constructor(db, secretsEncKey, defs = CORE_SETTINGS, options = {}) {
317
399
  this.db = db;
318
400
  this.secretsEncKey = secretsEncKey;
401
+ this.env = options.env ?? process.env;
319
402
  for (const def of defs)
320
403
  this.defs.set(def.key, def);
321
404
  // No key configured means secrets cannot be stored — surfaced when someone
@@ -360,7 +443,7 @@ export class DeploymentSettingsService {
360
443
  const def = this.defs.get(key);
361
444
  if (!def)
362
445
  return '';
363
- const fromEnv = def.envVar ? (process.env[def.envVar] ?? '').trim() : '';
446
+ const fromEnv = def.envVar ? (this.env[def.envVar] ?? '').trim() : '';
364
447
  if (fromEnv)
365
448
  return fromEnv;
366
449
  return (this.stored.get(key) ?? '').trim();
@@ -409,7 +492,7 @@ export class DeploymentSettingsService {
409
492
  */
410
493
  async importLegacyLayoutEnv() {
411
494
  for (const [key, envVar] of Object.entries(LEGACY_LAYOUT_ENV_VARS)) {
412
- const fromEnv = (process.env[envVar] ?? '').trim();
495
+ const fromEnv = (this.env[envVar] ?? '').trim();
413
496
  if (!fromEnv)
414
497
  continue;
415
498
  const saved = (this.stored.get(key) ?? '').trim();
@@ -446,7 +529,7 @@ export class DeploymentSettingsService {
446
529
  // A setting with no variable can never read `env`, whatever the process
447
530
  // environment happens to hold — which is what makes the layout fields
448
531
  // editable in the app on a deployment that still sets the old variables.
449
- if (def.envVar && (process.env[def.envVar] ?? '').trim())
532
+ if (def.envVar && (this.env[def.envVar] ?? '').trim())
450
533
  return 'env';
451
534
  return (this.stored.get(key) ?? '').trim() ? 'stored' : 'unset';
452
535
  }
@@ -456,7 +539,7 @@ export class DeploymentSettingsService {
456
539
  * replace it, which is all anyone needs to finish setup.
457
540
  */
458
541
  describe() {
459
- return this.definitions.map((def) => {
542
+ return this.definitions.filter((def) => !def.internal).map((def) => {
460
543
  const source = this.sourceOf(def.key);
461
544
  const base = {
462
545
  key: def.key,
@@ -485,8 +568,10 @@ export class DeploymentSettingsService {
485
568
  * leaves out the folder names and the branch model when the save that
486
569
  * completes setup has just applied them, and reports only what remains.
487
570
  */
488
- async save(entries, updatedBy) {
489
- const { toWrite, toClear } = this.plan(entries);
571
+ async save(entries, updatedBy,
572
+ /** Set by {@link record} alone: the batch is the deployment's own, and may name internal settings. */
573
+ by = 'admin') {
574
+ const { toWrite, toClear } = this.plan(entries, by);
490
575
  /** The settings this save changed that a running server cannot pick up. */
491
576
  const restartKeys = [];
492
577
  // A blanked blank-means-default setting: its row goes, and its readers
@@ -512,10 +597,9 @@ export class DeploymentSettingsService {
512
597
  });
513
598
  this.stored.set(key, value);
514
599
  }
515
- // The git token is consumed through the environment (the credential helper
516
- // reads `$GITHUB_TOKEN` at call time, so it never appears in argv). Putting
517
- // it there is what makes a token saved here work without a restart.
518
- this.syncGitTokenEnv();
600
+ // A token saved here is in effect at once: the git runner's credentials
601
+ // read `resolve('gitToken')` on every call, so nothing is published to
602
+ // the process environment and no restart is needed.
519
603
  return { restartRequired: restartKeys.length > 0, restartKeys };
520
604
  }
521
605
  /**
@@ -529,8 +613,18 @@ export class DeploymentSettingsService {
529
613
  const { toWrite, toClear } = this.plan(entries);
530
614
  return (key) => toClear.includes(key) ? '' : (toWrite.find((w) => w.key === key)?.value ?? this.resolve(key));
531
615
  }
616
+ /**
617
+ * Store what the DEPLOYMENT established, internal settings included: the
618
+ * end of a flow that proved each value (see `SettingDef.internal`). The
619
+ * same validation, the same encryption, the same refusal of a setting the
620
+ * environment pins. Never reachable from a request body: the setup routes
621
+ * call {@link save}.
622
+ */
623
+ async record(entries, updatedBy) {
624
+ await this.save(entries, updatedBy, 'deployment');
625
+ }
532
626
  /** Validate a batch and return the writes (and the clears) it amounts to; throws on any problem. */
533
- plan(entries) {
627
+ plan(entries, by = 'admin') {
534
628
  const problems = {};
535
629
  const toWrite = [];
536
630
  const toClear = [];
@@ -540,6 +634,12 @@ export class DeploymentSettingsService {
540
634
  problems[key] = 'Unknown setting.';
541
635
  continue;
542
636
  }
637
+ if (def.internal && by !== 'deployment') {
638
+ // Said the way an unknown setting is: what the deployment keeps for
639
+ // itself is not the form's to name, or to learn the names of.
640
+ problems[key] = 'Unknown setting.';
641
+ continue;
642
+ }
543
643
  if (this.sourceOf(key) === 'env') {
544
644
  problems[key] = `Set by the ${def.envVar} environment variable — change it there.`;
545
645
  continue;
@@ -649,19 +749,6 @@ export class DeploymentSettingsService {
649
749
  await this.db.delete(deploymentSettings).where(inArray(deploymentSettings.key, orphans));
650
750
  }
651
751
  }
652
- /**
653
- * Publish the resolved git token as `GITHUB_TOKEN`, the name the credential
654
- * helper and every redaction path already read. Only when the environment did
655
- * not supply one — otherwise this would overwrite the operator's value with
656
- * a stored fallback, inverting the precedence everything else here obeys.
657
- */
658
- syncGitTokenEnv() {
659
- if (this.sourceOf('gitToken') !== 'stored')
660
- return;
661
- const token = this.resolve('gitToken');
662
- if (token)
663
- process.env.GITHUB_TOKEN = token;
664
- }
665
752
  /** The single sign-on values in effect, issuer normalized the way the provider uses it. */
666
753
  resolveOidcCredentials() {
667
754
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-settings.service.js","sourceRoot":"","sources":["../../../src/modules/settings/deployment-settings.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment-settings.service.js","sourceRoot":"","sources":["../../../src/modules/settings/deployment-settings.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { IGitRunner } from '../../shared/git.contract.js';
2
+ /** The folder the managed repository is kept in, under the root it is given. */
3
+ export declare const MANAGED_REPOSITORY_DIR = "knowledge-base.git";
4
+ /** The branch a managed repository starts on when the deployment names none. */
5
+ export declare const MANAGED_DEFAULT_BRANCH = "main";
6
+ /**
7
+ * The repository a deployment keeps FOR ITSELF, when its admin chose not to
8
+ * bring one: a bare git repository on the deployment's own disk.
9
+ *
10
+ * Nothing else about the deployment changes. Working copies are cloned from
11
+ * it, pushed to it and fetched from it exactly as they are from a
12
+ * repository on a host; it happens to be reached by a path, and to need no
13
+ * credential. An empty one is seeded by the startup phase like any empty
14
+ * remote.
15
+ *
16
+ * WHERE IT LIVES IS THE WHOLE DECISION. It is the only copy of the
17
+ * knowledge base that is not a working copy, so it has to be somewhere that
18
+ * survives the container and that nothing tidies up:
19
+ *
20
+ * - not under the workspaces root, where the workspace service's orphan
21
+ * sweep removes every folder that is not a known branch's;
22
+ * - not in a new folder beside it, which every shipped compose file would
23
+ * have to grow a volume for, and a deployment started from an older file
24
+ * would lose on its next redeploy without a word.
25
+ *
26
+ * The composition root puts it under the BACKUPS root: a volume of its own
27
+ * in every compose file that has ever shipped, and one nothing sweeps.
28
+ */
29
+ export declare class ManagedRepository {
30
+ private readonly root;
31
+ /** The repository's folder: what git is given as the remote. */
32
+ readonly path: string;
33
+ constructor(root: string);
34
+ /** Whether the repository is there. A folder that is not a repository does not count. */
35
+ exists(): Promise<boolean>;
36
+ /**
37
+ * Make sure the repository exists, creating it empty when it does not.
38
+ * One that exists is left exactly as it is: this never re-initialises,
39
+ * and never touches a ref.
40
+ */
41
+ ensure(runner: IGitRunner, initialBranch?: string): Promise<void>;
42
+ }
43
+ //# sourceMappingURL=managed-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-repository.d.ts","sourceRoot":"","sources":["../../../src/modules/settings/managed-repository.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEO,IAAI,EAAE,MAAM;IAIzC,yFAAyF;IACnF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAOhC;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,GAAE,MAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;CAahG"}
@@ -0,0 +1,60 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ /** The folder the managed repository is kept in, under the root it is given. */
4
+ export const MANAGED_REPOSITORY_DIR = 'knowledge-base.git';
5
+ /** The branch a managed repository starts on when the deployment names none. */
6
+ export const MANAGED_DEFAULT_BRANCH = 'main';
7
+ /**
8
+ * The repository a deployment keeps FOR ITSELF, when its admin chose not to
9
+ * bring one: a bare git repository on the deployment's own disk.
10
+ *
11
+ * Nothing else about the deployment changes. Working copies are cloned from
12
+ * it, pushed to it and fetched from it exactly as they are from a
13
+ * repository on a host; it happens to be reached by a path, and to need no
14
+ * credential. An empty one is seeded by the startup phase like any empty
15
+ * remote.
16
+ *
17
+ * WHERE IT LIVES IS THE WHOLE DECISION. It is the only copy of the
18
+ * knowledge base that is not a working copy, so it has to be somewhere that
19
+ * survives the container and that nothing tidies up:
20
+ *
21
+ * - not under the workspaces root, where the workspace service's orphan
22
+ * sweep removes every folder that is not a known branch's;
23
+ * - not in a new folder beside it, which every shipped compose file would
24
+ * have to grow a volume for, and a deployment started from an older file
25
+ * would lose on its next redeploy without a word.
26
+ *
27
+ * The composition root puts it under the BACKUPS root: a volume of its own
28
+ * in every compose file that has ever shipped, and one nothing sweeps.
29
+ */
30
+ export class ManagedRepository {
31
+ root;
32
+ /** The repository's folder: what git is given as the remote. */
33
+ path;
34
+ constructor(root) {
35
+ this.root = root;
36
+ this.path = path.join(root, MANAGED_REPOSITORY_DIR);
37
+ }
38
+ /** Whether the repository is there. A folder that is not a repository does not count. */
39
+ async exists() {
40
+ return fs.access(path.join(this.path, 'HEAD')).then(() => true, () => false);
41
+ }
42
+ /**
43
+ * Make sure the repository exists, creating it empty when it does not.
44
+ * One that exists is left exactly as it is: this never re-initialises,
45
+ * and never touches a ref.
46
+ */
47
+ async ensure(runner, initialBranch = MANAGED_DEFAULT_BRANCH) {
48
+ if (await this.exists())
49
+ return;
50
+ await fs.mkdir(this.root, { recursive: true });
51
+ // A folder that is there without being a repository is somebody's, and
52
+ // initialising over it would mix a repository into their files.
53
+ const entries = await fs.readdir(this.path).catch(() => null);
54
+ if (entries && entries.length > 0) {
55
+ throw new Error(`${this.path} exists and is not a git repository. Move it away, or empty it, before choosing a managed repository.`);
56
+ }
57
+ await runner.run(this.root, ['init', '--bare', `--initial-branch=${initialBranch}`, this.path]);
58
+ }
59
+ }
60
+ //# sourceMappingURL=managed-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-repository.js","sourceRoot":"","sources":["../../../src/modules/settings/managed-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE3D,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,iBAAiB;IAIC;IAH7B,gEAAgE;IACvD,IAAI,CAAS;IAEtB,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACtD,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,MAAM;QACV,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CACjD,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAkB,EAAE,gBAAwB,sBAAsB;QAC7E,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO;QAChC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,IAAI,uGAAuG,CACpH,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,oBAAoB,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,CAAC;CACF"}