@bevel-software/platform-core-backend 0.1.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 (720) hide show
  1. package/LICENSE +202 -0
  2. package/dist/assets.d.ts +5 -0
  3. package/dist/assets.d.ts.map +1 -0
  4. package/dist/assets.js +23 -0
  5. package/dist/assets.js.map +1 -0
  6. package/dist/core/core-ports.d.ts +83 -0
  7. package/dist/core/core-ports.d.ts.map +1 -0
  8. package/dist/core/core-ports.js +12 -0
  9. package/dist/core/core-ports.js.map +1 -0
  10. package/dist/core/create-core-server.d.ts +62 -0
  11. package/dist/core/create-core-server.d.ts.map +1 -0
  12. package/dist/core/create-core-server.js +204 -0
  13. package/dist/core/create-core-server.js.map +1 -0
  14. package/dist/core/create-core-services.d.ts +95 -0
  15. package/dist/core/create-core-services.d.ts.map +1 -0
  16. package/dist/core/create-core-services.js +352 -0
  17. package/dist/core/create-core-services.js.map +1 -0
  18. package/dist/core-config.d.ts +119 -0
  19. package/dist/core-config.d.ts.map +1 -0
  20. package/dist/core-config.js +240 -0
  21. package/dist/core-config.js.map +1 -0
  22. package/dist/index.d.ts +36 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +36 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/modules/access/access-control.interface.d.ts +348 -0
  27. package/dist/modules/access/access-control.interface.d.ts.map +1 -0
  28. package/dist/modules/access/access-control.interface.js +2 -0
  29. package/dist/modules/access/access-control.interface.js.map +1 -0
  30. package/dist/modules/access/access-control.service.d.ts +323 -0
  31. package/dist/modules/access/access-control.service.d.ts.map +1 -0
  32. package/dist/modules/access/access-control.service.js +1431 -0
  33. package/dist/modules/access/access-control.service.js.map +1 -0
  34. package/dist/modules/access/access-errors.d.ts +34 -0
  35. package/dist/modules/access/access-errors.d.ts.map +1 -0
  36. package/dist/modules/access/access-errors.js +40 -0
  37. package/dist/modules/access/access-errors.js.map +1 -0
  38. package/dist/modules/access/access-mutation.service.d.ts +176 -0
  39. package/dist/modules/access/access-mutation.service.d.ts.map +1 -0
  40. package/dist/modules/access/access-mutation.service.js +307 -0
  41. package/dist/modules/access/access-mutation.service.js.map +1 -0
  42. package/dist/modules/access/access-splice.d.ts +98 -0
  43. package/dist/modules/access/access-splice.d.ts.map +1 -0
  44. package/dist/modules/access/access-splice.js +346 -0
  45. package/dist/modules/access/access-splice.js.map +1 -0
  46. package/dist/modules/access/access.routes.d.ts +10 -0
  47. package/dist/modules/access/access.routes.d.ts.map +1 -0
  48. package/dist/modules/access/access.routes.js +757 -0
  49. package/dist/modules/access/access.routes.js.map +1 -0
  50. package/dist/modules/access/creator-access.d.ts +113 -0
  51. package/dist/modules/access/creator-access.d.ts.map +1 -0
  52. package/dist/modules/access/creator-access.js +212 -0
  53. package/dist/modules/access/creator-access.js.map +1 -0
  54. package/dist/modules/access/kb-read-filter.d.ts +41 -0
  55. package/dist/modules/access/kb-read-filter.d.ts.map +1 -0
  56. package/dist/modules/access/kb-read-filter.js +60 -0
  57. package/dist/modules/access/kb-read-filter.js.map +1 -0
  58. package/dist/modules/access/roles-admin.service.d.ts +240 -0
  59. package/dist/modules/access/roles-admin.service.d.ts.map +1 -0
  60. package/dist/modules/access/roles-admin.service.js +630 -0
  61. package/dist/modules/access/roles-admin.service.js.map +1 -0
  62. package/dist/modules/access/roles-edit.d.ts +91 -0
  63. package/dist/modules/access/roles-edit.d.ts.map +1 -0
  64. package/dist/modules/access/roles-edit.js +232 -0
  65. package/dist/modules/access/roles-edit.js.map +1 -0
  66. package/dist/modules/access/roles-yaml-guard.d.ts +56 -0
  67. package/dist/modules/access/roles-yaml-guard.d.ts.map +1 -0
  68. package/dist/modules/access/roles-yaml-guard.js +79 -0
  69. package/dist/modules/access/roles-yaml-guard.js.map +1 -0
  70. package/dist/modules/admin/admin-access.routes.d.ts +18 -0
  71. package/dist/modules/admin/admin-access.routes.d.ts.map +1 -0
  72. package/dist/modules/admin/admin-access.routes.js +26 -0
  73. package/dist/modules/admin/admin-access.routes.js.map +1 -0
  74. package/dist/modules/admin/admin-access.service.d.ts +24 -0
  75. package/dist/modules/admin/admin-access.service.d.ts.map +1 -0
  76. package/dist/modules/admin/admin-access.service.js +41 -0
  77. package/dist/modules/admin/admin-access.service.js.map +1 -0
  78. package/dist/modules/admin/admin.interface.d.ts +11 -0
  79. package/dist/modules/admin/admin.interface.d.ts.map +1 -0
  80. package/dist/modules/admin/admin.interface.js +2 -0
  81. package/dist/modules/admin/admin.interface.js.map +1 -0
  82. package/dist/modules/auth/account-erasure.service.d.ts +80 -0
  83. package/dist/modules/auth/account-erasure.service.d.ts.map +1 -0
  84. package/dist/modules/auth/account-erasure.service.js +91 -0
  85. package/dist/modules/auth/account-erasure.service.js.map +1 -0
  86. package/dist/modules/auth/auth.middleware.d.ts +23 -0
  87. package/dist/modules/auth/auth.middleware.d.ts.map +1 -0
  88. package/dist/modules/auth/auth.middleware.js +68 -0
  89. package/dist/modules/auth/auth.middleware.js.map +1 -0
  90. package/dist/modules/auth/auth.routes.d.ts +25 -0
  91. package/dist/modules/auth/auth.routes.d.ts.map +1 -0
  92. package/dist/modules/auth/auth.routes.js +72 -0
  93. package/dist/modules/auth/auth.routes.js.map +1 -0
  94. package/dist/modules/auth/auth.service.d.ts +76 -0
  95. package/dist/modules/auth/auth.service.d.ts.map +1 -0
  96. package/dist/modules/auth/auth.service.js +168 -0
  97. package/dist/modules/auth/auth.service.js.map +1 -0
  98. package/dist/modules/code-mode/code-mode-names.d.ts +16 -0
  99. package/dist/modules/code-mode/code-mode-names.d.ts.map +1 -0
  100. package/dist/modules/code-mode/code-mode-names.js +30 -0
  101. package/dist/modules/code-mode/code-mode-names.js.map +1 -0
  102. package/dist/modules/code-mode/code-mode.tool.d.ts +13 -0
  103. package/dist/modules/code-mode/code-mode.tool.d.ts.map +1 -0
  104. package/dist/modules/code-mode/code-mode.tool.js +112 -0
  105. package/dist/modules/code-mode/code-mode.tool.js.map +1 -0
  106. package/dist/modules/code-mode/index.d.ts +3 -0
  107. package/dist/modules/code-mode/index.d.ts.map +1 -0
  108. package/dist/modules/code-mode/index.js +3 -0
  109. package/dist/modules/code-mode/index.js.map +1 -0
  110. package/dist/modules/database/connection.d.ts +6 -0
  111. package/dist/modules/database/connection.d.ts.map +1 -0
  112. package/dist/modules/database/connection.js +12 -0
  113. package/dist/modules/database/connection.js.map +1 -0
  114. package/dist/modules/database/core-schema.d.ts +2273 -0
  115. package/dist/modules/database/core-schema.d.ts.map +1 -0
  116. package/dist/modules/database/core-schema.js +413 -0
  117. package/dist/modules/database/core-schema.js.map +1 -0
  118. package/dist/modules/database/migrate.d.ts +10 -0
  119. package/dist/modules/database/migrate.d.ts.map +1 -0
  120. package/dist/modules/database/migrate.js +40 -0
  121. package/dist/modules/database/migrate.js.map +1 -0
  122. package/dist/modules/database/schema.d.ts +12 -0
  123. package/dist/modules/database/schema.d.ts.map +1 -0
  124. package/dist/modules/database/schema.js +12 -0
  125. package/dist/modules/database/schema.js.map +1 -0
  126. package/dist/modules/diff/diff-paths.d.ts +2 -0
  127. package/dist/modules/diff/diff-paths.d.ts.map +1 -0
  128. package/dist/modules/diff/diff-paths.js +9 -0
  129. package/dist/modules/diff/diff-paths.js.map +1 -0
  130. package/dist/modules/diff/diff.config.d.ts +8 -0
  131. package/dist/modules/diff/diff.config.d.ts.map +1 -0
  132. package/dist/modules/diff/diff.config.js +13 -0
  133. package/dist/modules/diff/diff.config.js.map +1 -0
  134. package/dist/modules/diff/diff.interface.d.ts +73 -0
  135. package/dist/modules/diff/diff.interface.d.ts.map +1 -0
  136. package/dist/modules/diff/diff.interface.js +2 -0
  137. package/dist/modules/diff/diff.interface.js.map +1 -0
  138. package/dist/modules/diff/diff.routes.d.ts +35 -0
  139. package/dist/modules/diff/diff.routes.d.ts.map +1 -0
  140. package/dist/modules/diff/diff.routes.js +228 -0
  141. package/dist/modules/diff/diff.routes.js.map +1 -0
  142. package/dist/modules/diff/diff.service.d.ts +51 -0
  143. package/dist/modules/diff/diff.service.d.ts.map +1 -0
  144. package/dist/modules/diff/diff.service.js +489 -0
  145. package/dist/modules/diff/diff.service.js.map +1 -0
  146. package/dist/modules/diff/line-diff.d.ts +16 -0
  147. package/dist/modules/diff/line-diff.d.ts.map +1 -0
  148. package/dist/modules/diff/line-diff.js +67 -0
  149. package/dist/modules/diff/line-diff.js.map +1 -0
  150. package/dist/modules/mcp/mcp-auth.middleware.d.ts +27 -0
  151. package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -0
  152. package/dist/modules/mcp/mcp-auth.middleware.js +116 -0
  153. package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -0
  154. package/dist/modules/mcp/mcp-session-store.d.ts +74 -0
  155. package/dist/modules/mcp/mcp-session-store.d.ts.map +1 -0
  156. package/dist/modules/mcp/mcp-session-store.js +131 -0
  157. package/dist/modules/mcp/mcp-session-store.js.map +1 -0
  158. package/dist/modules/mcp/mcp.routes.d.ts +24 -0
  159. package/dist/modules/mcp/mcp.routes.d.ts.map +1 -0
  160. package/dist/modules/mcp/mcp.routes.js +229 -0
  161. package/dist/modules/mcp/mcp.routes.js.map +1 -0
  162. package/dist/modules/mcp/mcp.service.d.ts +198 -0
  163. package/dist/modules/mcp/mcp.service.d.ts.map +1 -0
  164. package/dist/modules/mcp/mcp.service.js +840 -0
  165. package/dist/modules/mcp/mcp.service.js.map +1 -0
  166. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts +76 -0
  167. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -0
  168. package/dist/modules/mcp/oauth/bevel-oauth-provider.js +291 -0
  169. package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -0
  170. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts +18 -0
  171. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts.map +1 -0
  172. package/dist/modules/mcp/oauth/oauth-consent.routes.js +52 -0
  173. package/dist/modules/mcp/oauth/oauth-consent.routes.js.map +1 -0
  174. package/dist/modules/mcp/oauth/oauth-state.d.ts +32 -0
  175. package/dist/modules/mcp/oauth/oauth-state.d.ts.map +1 -0
  176. package/dist/modules/mcp/oauth/oauth-state.js +34 -0
  177. package/dist/modules/mcp/oauth/oauth-state.js.map +1 -0
  178. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +92 -0
  179. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -0
  180. package/dist/modules/secrets-vault/db-secrets-vault.service.js +728 -0
  181. package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -0
  182. package/dist/modules/secrets-vault/index.d.ts +7 -0
  183. package/dist/modules/secrets-vault/index.d.ts.map +1 -0
  184. package/dist/modules/secrets-vault/index.js +6 -0
  185. package/dist/modules/secrets-vault/index.js.map +1 -0
  186. package/dist/modules/secrets-vault/mcp-oauth-discovery.service.d.ts +63 -0
  187. package/dist/modules/secrets-vault/mcp-oauth-discovery.service.d.ts.map +1 -0
  188. package/dist/modules/secrets-vault/mcp-oauth-discovery.service.js +269 -0
  189. package/dist/modules/secrets-vault/mcp-oauth-discovery.service.js.map +1 -0
  190. package/dist/modules/secrets-vault/secrets-variable-loader.d.ts +46 -0
  191. package/dist/modules/secrets-vault/secrets-variable-loader.d.ts.map +1 -0
  192. package/dist/modules/secrets-vault/secrets-variable-loader.js +87 -0
  193. package/dist/modules/secrets-vault/secrets-variable-loader.js.map +1 -0
  194. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +210 -0
  195. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -0
  196. package/dist/modules/secrets-vault/secrets-vault.contract.js +90 -0
  197. package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -0
  198. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +30 -0
  199. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -0
  200. package/dist/modules/secrets-vault/secrets-vault.routes.js +490 -0
  201. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -0
  202. package/dist/modules/skills/index.d.ts +5 -0
  203. package/dist/modules/skills/index.d.ts.map +1 -0
  204. package/dist/modules/skills/index.js +4 -0
  205. package/dist/modules/skills/index.js.map +1 -0
  206. package/dist/modules/skills/skills.contract.d.ts +58 -0
  207. package/dist/modules/skills/skills.contract.d.ts.map +1 -0
  208. package/dist/modules/skills/skills.contract.js +10 -0
  209. package/dist/modules/skills/skills.contract.js.map +1 -0
  210. package/dist/modules/skills/skills.routes.d.ts +15 -0
  211. package/dist/modules/skills/skills.routes.d.ts.map +1 -0
  212. package/dist/modules/skills/skills.routes.js +34 -0
  213. package/dist/modules/skills/skills.routes.js.map +1 -0
  214. package/dist/modules/skills/skills.service.d.ts +21 -0
  215. package/dist/modules/skills/skills.service.d.ts.map +1 -0
  216. package/dist/modules/skills/skills.service.js +202 -0
  217. package/dist/modules/skills/skills.service.js.map +1 -0
  218. package/dist/modules/skills/skills.tools.d.ts +15 -0
  219. package/dist/modules/skills/skills.tools.d.ts.map +1 -0
  220. package/dist/modules/skills/skills.tools.js +96 -0
  221. package/dist/modules/skills/skills.tools.js.map +1 -0
  222. package/dist/modules/tool-auth/external-api-key.errors.d.ts +14 -0
  223. package/dist/modules/tool-auth/external-api-key.errors.d.ts.map +1 -0
  224. package/dist/modules/tool-auth/external-api-key.errors.js +23 -0
  225. package/dist/modules/tool-auth/external-api-key.errors.js.map +1 -0
  226. package/dist/modules/tool-auth/external-api-key.interface.d.ts +90 -0
  227. package/dist/modules/tool-auth/external-api-key.interface.d.ts.map +1 -0
  228. package/dist/modules/tool-auth/external-api-key.interface.js +2 -0
  229. package/dist/modules/tool-auth/external-api-key.interface.js.map +1 -0
  230. package/dist/modules/tool-auth/external-api-key.service.d.ts +25 -0
  231. package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -0
  232. package/dist/modules/tool-auth/external-api-key.service.js +164 -0
  233. package/dist/modules/tool-auth/external-api-key.service.js.map +1 -0
  234. package/dist/modules/tool-auth/internal-token.service.d.ts +62 -0
  235. package/dist/modules/tool-auth/internal-token.service.d.ts.map +1 -0
  236. package/dist/modules/tool-auth/internal-token.service.js +85 -0
  237. package/dist/modules/tool-auth/internal-token.service.js.map +1 -0
  238. package/dist/modules/tool-auth/llm-usage-meter.d.ts +16 -0
  239. package/dist/modules/tool-auth/llm-usage-meter.d.ts.map +1 -0
  240. package/dist/modules/tool-auth/llm-usage-meter.js +6 -0
  241. package/dist/modules/tool-auth/llm-usage-meter.js.map +1 -0
  242. package/dist/modules/tool-auth/tool-auth.middleware.d.ts +101 -0
  243. package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -0
  244. package/dist/modules/tool-auth/tool-auth.middleware.js +166 -0
  245. package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -0
  246. package/dist/modules/tool-helpers/index.d.ts +19 -0
  247. package/dist/modules/tool-helpers/index.d.ts.map +1 -0
  248. package/dist/modules/tool-helpers/index.js +18 -0
  249. package/dist/modules/tool-helpers/index.js.map +1 -0
  250. package/dist/modules/tool-helpers/tool-context.d.ts +35 -0
  251. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -0
  252. package/dist/modules/tool-helpers/tool-context.js +66 -0
  253. package/dist/modules/tool-helpers/tool-context.js.map +1 -0
  254. package/dist/modules/tool-helpers/tool-def.d.ts +33 -0
  255. package/dist/modules/tool-helpers/tool-def.d.ts.map +1 -0
  256. package/dist/modules/tool-helpers/tool-def.js +57 -0
  257. package/dist/modules/tool-helpers/tool-def.js.map +1 -0
  258. package/dist/modules/tool-helpers/tool-handler.d.ts +19 -0
  259. package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -0
  260. package/dist/modules/tool-helpers/tool-handler.js +84 -0
  261. package/dist/modules/tool-helpers/tool-handler.js.map +1 -0
  262. package/dist/modules/tool-helpers/tool.contract.d.ts +64 -0
  263. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -0
  264. package/dist/modules/tool-helpers/tool.contract.js +24 -0
  265. package/dist/modules/tool-helpers/tool.contract.js.map +1 -0
  266. package/dist/modules/tool-helpers/validate-token.d.ts +31 -0
  267. package/dist/modules/tool-helpers/validate-token.d.ts.map +1 -0
  268. package/dist/modules/tool-helpers/validate-token.js +20 -0
  269. package/dist/modules/tool-helpers/validate-token.js.map +1 -0
  270. package/dist/modules/tool-manuals/index.d.ts +5 -0
  271. package/dist/modules/tool-manuals/index.d.ts.map +1 -0
  272. package/dist/modules/tool-manuals/index.js +5 -0
  273. package/dist/modules/tool-manuals/index.js.map +1 -0
  274. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +182 -0
  275. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -0
  276. package/dist/modules/tool-manuals/tool-manuals.contract.js +19 -0
  277. package/dist/modules/tool-manuals/tool-manuals.contract.js.map +1 -0
  278. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +24 -0
  279. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -0
  280. package/dist/modules/tool-manuals/tool-manuals.routes.js +102 -0
  281. package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -0
  282. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +108 -0
  283. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -0
  284. package/dist/modules/tool-manuals/tool-manuals.service.js +710 -0
  285. package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -0
  286. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +35 -0
  287. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -0
  288. package/dist/modules/tool-manuals/tool-manuals.tools.js +157 -0
  289. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -0
  290. package/dist/modules/tool-registry/manual.routes.d.ts +6 -0
  291. package/dist/modules/tool-registry/manual.routes.d.ts.map +1 -0
  292. package/dist/modules/tool-registry/manual.routes.js +76 -0
  293. package/dist/modules/tool-registry/manual.routes.js.map +1 -0
  294. package/dist/modules/tool-registry/tool-registry.d.ts +23 -0
  295. package/dist/modules/tool-registry/tool-registry.d.ts.map +1 -0
  296. package/dist/modules/tool-registry/tool-registry.js +46 -0
  297. package/dist/modules/tool-registry/tool-registry.js.map +1 -0
  298. package/dist/modules/tool-registry/tool.contract.d.ts +48 -0
  299. package/dist/modules/tool-registry/tool.contract.d.ts.map +1 -0
  300. package/dist/modules/tool-registry/tool.contract.js +2 -0
  301. package/dist/modules/tool-registry/tool.contract.js.map +1 -0
  302. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts +14 -0
  303. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -0
  304. package/dist/modules/workflow/agent-tools/workflow.tools.js +437 -0
  305. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -0
  306. package/dist/modules/workflow/event-bus.d.ts +107 -0
  307. package/dist/modules/workflow/event-bus.d.ts.map +1 -0
  308. package/dist/modules/workflow/event-bus.js +224 -0
  309. package/dist/modules/workflow/event-bus.js.map +1 -0
  310. package/dist/modules/workflow/events.routes.d.ts +80 -0
  311. package/dist/modules/workflow/events.routes.d.ts.map +1 -0
  312. package/dist/modules/workflow/events.routes.js +216 -0
  313. package/dist/modules/workflow/events.routes.js.map +1 -0
  314. package/dist/modules/workflow/file-change-notifier.d.ts +38 -0
  315. package/dist/modules/workflow/file-change-notifier.d.ts.map +1 -0
  316. package/dist/modules/workflow/file-change-notifier.js +22 -0
  317. package/dist/modules/workflow/file-change-notifier.js.map +1 -0
  318. package/dist/modules/workflow/file-lock.service.d.ts +57 -0
  319. package/dist/modules/workflow/file-lock.service.d.ts.map +1 -0
  320. package/dist/modules/workflow/file-lock.service.js +202 -0
  321. package/dist/modules/workflow/file-lock.service.js.map +1 -0
  322. package/dist/modules/workflow/git/branch-name.d.ts +10 -0
  323. package/dist/modules/workflow/git/branch-name.d.ts.map +1 -0
  324. package/dist/modules/workflow/git/branch-name.js +76 -0
  325. package/dist/modules/workflow/git/branch-name.js.map +1 -0
  326. package/dist/modules/workflow/git/clone-config.d.ts +61 -0
  327. package/dist/modules/workflow/git/clone-config.d.ts.map +1 -0
  328. package/dist/modules/workflow/git/clone-config.js +69 -0
  329. package/dist/modules/workflow/git/clone-config.js.map +1 -0
  330. package/dist/modules/workflow/git/git-version.d.ts +34 -0
  331. package/dist/modules/workflow/git/git-version.d.ts.map +1 -0
  332. package/dist/modules/workflow/git/git-version.js +63 -0
  333. package/dist/modules/workflow/git/git-version.js.map +1 -0
  334. package/dist/modules/workflow/git/git.service.d.ts +427 -0
  335. package/dist/modules/workflow/git/git.service.d.ts.map +1 -0
  336. package/dist/modules/workflow/git/git.service.js +1987 -0
  337. package/dist/modules/workflow/git/git.service.js.map +1 -0
  338. package/dist/modules/workflow/git/mutex.d.ts +11 -0
  339. package/dist/modules/workflow/git/mutex.d.ts.map +1 -0
  340. package/dist/modules/workflow/git/mutex.js +23 -0
  341. package/dist/modules/workflow/git/mutex.js.map +1 -0
  342. package/dist/modules/workflow/git/pull-request.service.d.ts +124 -0
  343. package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -0
  344. package/dist/modules/workflow/git/pull-request.service.js +328 -0
  345. package/dist/modules/workflow/git/pull-request.service.js.map +1 -0
  346. package/dist/modules/workflow/locking-filesystem.d.ts +133 -0
  347. package/dist/modules/workflow/locking-filesystem.d.ts.map +1 -0
  348. package/dist/modules/workflow/locking-filesystem.js +400 -0
  349. package/dist/modules/workflow/locking-filesystem.js.map +1 -0
  350. package/dist/modules/workflow/pending-commits.service.d.ts +221 -0
  351. package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -0
  352. package/dist/modules/workflow/pending-commits.service.js +364 -0
  353. package/dist/modules/workflow/pending-commits.service.js.map +1 -0
  354. package/dist/modules/workflow/pending-commits.worker.d.ts +148 -0
  355. package/dist/modules/workflow/pending-commits.worker.d.ts.map +1 -0
  356. package/dist/modules/workflow/pending-commits.worker.js +245 -0
  357. package/dist/modules/workflow/pending-commits.worker.js.map +1 -0
  358. package/dist/modules/workflow/read-only-filesystem.d.ts +24 -0
  359. package/dist/modules/workflow/read-only-filesystem.d.ts.map +1 -0
  360. package/dist/modules/workflow/read-only-filesystem.js +39 -0
  361. package/dist/modules/workflow/read-only-filesystem.js.map +1 -0
  362. package/dist/modules/workflow/recovery-bot.d.ts +31 -0
  363. package/dist/modules/workflow/recovery-bot.d.ts.map +1 -0
  364. package/dist/modules/workflow/recovery-bot.js +64 -0
  365. package/dist/modules/workflow/recovery-bot.js.map +1 -0
  366. package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts +137 -0
  367. package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts.map +1 -0
  368. package/dist/modules/workflow/review-workflow/review-workflow.interface.js +2 -0
  369. package/dist/modules/workflow/review-workflow/review-workflow.interface.js.map +1 -0
  370. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts +26 -0
  371. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -0
  372. package/dist/modules/workflow/review-workflow/review-workflow.service.js +636 -0
  373. package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -0
  374. package/dist/modules/workflow/sanitize-error.d.ts +29 -0
  375. package/dist/modules/workflow/sanitize-error.d.ts.map +1 -0
  376. package/dist/modules/workflow/sanitize-error.js +60 -0
  377. package/dist/modules/workflow/sanitize-error.js.map +1 -0
  378. package/dist/modules/workflow/session-ontology.policy.d.ts +52 -0
  379. package/dist/modules/workflow/session-ontology.policy.d.ts.map +1 -0
  380. package/dist/modules/workflow/session-ontology.policy.js +62 -0
  381. package/dist/modules/workflow/session-ontology.policy.js.map +1 -0
  382. package/dist/modules/workflow/session-ontology.service.d.ts +100 -0
  383. package/dist/modules/workflow/session-ontology.service.d.ts.map +1 -0
  384. package/dist/modules/workflow/session-ontology.service.js +143 -0
  385. package/dist/modules/workflow/session-ontology.service.js.map +1 -0
  386. package/dist/modules/workflow/workflow-hooks.d.ts +87 -0
  387. package/dist/modules/workflow/workflow-hooks.d.ts.map +1 -0
  388. package/dist/modules/workflow/workflow-hooks.js +35 -0
  389. package/dist/modules/workflow/workflow-hooks.js.map +1 -0
  390. package/dist/modules/workflow/workflow.errors.d.ts +171 -0
  391. package/dist/modules/workflow/workflow.errors.d.ts.map +1 -0
  392. package/dist/modules/workflow/workflow.errors.js +260 -0
  393. package/dist/modules/workflow/workflow.errors.js.map +1 -0
  394. package/dist/modules/workflow/workflow.routes.d.ts +26 -0
  395. package/dist/modules/workflow/workflow.routes.d.ts.map +1 -0
  396. package/dist/modules/workflow/workflow.routes.js +804 -0
  397. package/dist/modules/workflow/workflow.routes.js.map +1 -0
  398. package/dist/modules/workflow/workflow.service.d.ts +385 -0
  399. package/dist/modules/workflow/workflow.service.d.ts.map +1 -0
  400. package/dist/modules/workflow/workflow.service.js +1155 -0
  401. package/dist/modules/workflow/workflow.service.js.map +1 -0
  402. package/dist/modules/workspace/bevel-ignore.d.ts +25 -0
  403. package/dist/modules/workspace/bevel-ignore.d.ts.map +1 -0
  404. package/dist/modules/workspace/bevel-ignore.js +57 -0
  405. package/dist/modules/workspace/bevel-ignore.js.map +1 -0
  406. package/dist/modules/workspace/kb-seed.interface.d.ts +36 -0
  407. package/dist/modules/workspace/kb-seed.interface.d.ts.map +1 -0
  408. package/dist/modules/workspace/kb-seed.interface.js +2 -0
  409. package/dist/modules/workspace/kb-seed.interface.js.map +1 -0
  410. package/dist/modules/workspace/kb-seed.service.d.ts +70 -0
  411. package/dist/modules/workspace/kb-seed.service.d.ts.map +1 -0
  412. package/dist/modules/workspace/kb-seed.service.js +325 -0
  413. package/dist/modules/workspace/kb-seed.service.js.map +1 -0
  414. package/dist/modules/workspace/routine-write-policy.d.ts +49 -0
  415. package/dist/modules/workspace/routine-write-policy.d.ts.map +1 -0
  416. package/dist/modules/workspace/routine-write-policy.js +46 -0
  417. package/dist/modules/workspace/routine-write-policy.js.map +1 -0
  418. package/dist/modules/workspace/session-ontology.gate.d.ts +112 -0
  419. package/dist/modules/workspace/session-ontology.gate.d.ts.map +1 -0
  420. package/dist/modules/workspace/session-ontology.gate.js +161 -0
  421. package/dist/modules/workspace/session-ontology.gate.js.map +1 -0
  422. package/dist/modules/workspace/session-sink.d.ts +25 -0
  423. package/dist/modules/workspace/session-sink.d.ts.map +1 -0
  424. package/dist/modules/workspace/session-sink.js +8 -0
  425. package/dist/modules/workspace/session-sink.js.map +1 -0
  426. package/dist/modules/workspace/spill-store.d.ts +24 -0
  427. package/dist/modules/workspace/spill-store.d.ts.map +1 -0
  428. package/dist/modules/workspace/spill-store.js +87 -0
  429. package/dist/modules/workspace/spill-store.js.map +1 -0
  430. package/dist/modules/workspace/workspace.routes.d.ts +25 -0
  431. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -0
  432. package/dist/modules/workspace/workspace.routes.js +1046 -0
  433. package/dist/modules/workspace/workspace.routes.js.map +1 -0
  434. package/dist/modules/workspace/workspace.service.d.ts +339 -0
  435. package/dist/modules/workspace/workspace.service.d.ts.map +1 -0
  436. package/dist/modules/workspace/workspace.service.js +1221 -0
  437. package/dist/modules/workspace/workspace.service.js.map +1 -0
  438. package/dist/modules/workspace/workspace.tools.d.ts +19 -0
  439. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -0
  440. package/dist/modules/workspace/workspace.tools.js +767 -0
  441. package/dist/modules/workspace/workspace.tools.js.map +1 -0
  442. package/dist/shared/frontmatter-id.d.ts +35 -0
  443. package/dist/shared/frontmatter-id.d.ts.map +1 -0
  444. package/dist/shared/frontmatter-id.js +68 -0
  445. package/dist/shared/frontmatter-id.js.map +1 -0
  446. package/dist/shared/fs-walk.d.ts +9 -0
  447. package/dist/shared/fs-walk.d.ts.map +1 -0
  448. package/dist/shared/fs-walk.js +34 -0
  449. package/dist/shared/fs-walk.js.map +1 -0
  450. package/dist/shared/hash-email.d.ts +11 -0
  451. package/dist/shared/hash-email.d.ts.map +1 -0
  452. package/dist/shared/hash-email.js +14 -0
  453. package/dist/shared/hash-email.js.map +1 -0
  454. package/dist/shared/kb-layout.d.ts +38 -0
  455. package/dist/shared/kb-layout.d.ts.map +1 -0
  456. package/dist/shared/kb-layout.js +102 -0
  457. package/dist/shared/kb-layout.js.map +1 -0
  458. package/dist/shared/kb-layout.test.d.ts +2 -0
  459. package/dist/shared/kb-layout.test.d.ts.map +1 -0
  460. package/dist/shared/kb-layout.test.js +67 -0
  461. package/dist/shared/kb-layout.test.js.map +1 -0
  462. package/dist/shared/ssrf.d.ts +20 -0
  463. package/dist/shared/ssrf.d.ts.map +1 -0
  464. package/dist/shared/ssrf.js +89 -0
  465. package/dist/shared/ssrf.js.map +1 -0
  466. package/dist/shared/token-crypto.d.ts +16 -0
  467. package/dist/shared/token-crypto.d.ts.map +1 -0
  468. package/dist/shared/token-crypto.js +49 -0
  469. package/dist/shared/token-crypto.js.map +1 -0
  470. package/dist/shared/ttl-cache.d.ts +16 -0
  471. package/dist/shared/ttl-cache.d.ts.map +1 -0
  472. package/dist/shared/ttl-cache.js +27 -0
  473. package/dist/shared/ttl-cache.js.map +1 -0
  474. package/dist/shared/utcp-namespace.d.ts +46 -0
  475. package/dist/shared/utcp-namespace.d.ts.map +1 -0
  476. package/dist/shared/utcp-namespace.js +82 -0
  477. package/dist/shared/utcp-namespace.js.map +1 -0
  478. package/dist/version.d.ts +17 -0
  479. package/dist/version.d.ts.map +1 -0
  480. package/dist/version.js +19 -0
  481. package/dist/version.js.map +1 -0
  482. package/kb-template/.bevelignore +21 -0
  483. package/kb-template/Agents/.gitkeep +0 -0
  484. package/kb-template/Agents/README.md +38 -0
  485. package/kb-template/CLAUDE.md +419 -0
  486. package/kb-template/Data/.gitkeep +0 -0
  487. package/kb-template/Data/README.md +39 -0
  488. package/kb-template/KnowledgeBase/.gitkeep +0 -0
  489. package/kb-template/KnowledgeBase/README.md +37 -0
  490. package/kb-template/Pipelines/.gitkeep +0 -0
  491. package/kb-template/Pipelines/README.md +38 -0
  492. package/kb-template/Skills/.gitkeep +0 -0
  493. package/kb-template/Skills/README.md +32 -0
  494. package/kb-template/Tools/.gitkeep +0 -0
  495. package/kb-template/Tools/README.md +42 -0
  496. package/kb-template/access.md +36 -0
  497. package/migrations/0000_core_init.sql +243 -0
  498. package/migrations/meta/0000_snapshot.json +1480 -0
  499. package/migrations/meta/_journal.json +13 -0
  500. package/package.json +80 -0
  501. package/src/assets.ts +25 -0
  502. package/src/core/core-ports.ts +91 -0
  503. package/src/core/create-core-server.ts +338 -0
  504. package/src/core/create-core-services.ts +501 -0
  505. package/src/core-config.ts +257 -0
  506. package/src/index.ts +69 -0
  507. package/src/modules/access/__tests__/access-control.atref-batch.test.ts +98 -0
  508. package/src/modules/access/__tests__/access-control.read-batch.test.ts +132 -0
  509. package/src/modules/access/__tests__/access-control.service.test.ts +1011 -0
  510. package/src/modules/access/__tests__/access-mutation.service.test.ts +439 -0
  511. package/src/modules/access/__tests__/access-splice.test.ts +247 -0
  512. package/src/modules/access/__tests__/access.routes.revoke.test.ts +407 -0
  513. package/src/modules/access/__tests__/creator-access.test.ts +217 -0
  514. package/src/modules/access/__tests__/grant-sources.test.ts +204 -0
  515. package/src/modules/access/__tests__/kb-read-filter.test.ts +70 -0
  516. package/src/modules/access/__tests__/roles-admin.service.test.ts +469 -0
  517. package/src/modules/access/__tests__/roles-edit.test.ts +138 -0
  518. package/src/modules/access/__tests__/roles-yaml-guard.test.ts +70 -0
  519. package/src/modules/access/__tests__/roles.routes.test.ts +234 -0
  520. package/src/modules/access/access-control.interface.ts +383 -0
  521. package/src/modules/access/access-control.service.ts +1794 -0
  522. package/src/modules/access/access-errors.ts +60 -0
  523. package/src/modules/access/access-mutation.service.ts +369 -0
  524. package/src/modules/access/access-splice.ts +413 -0
  525. package/src/modules/access/access.routes.ts +894 -0
  526. package/src/modules/access/creator-access.ts +270 -0
  527. package/src/modules/access/kb-read-filter.ts +76 -0
  528. package/src/modules/access/roles-admin.service.ts +741 -0
  529. package/src/modules/access/roles-edit.ts +248 -0
  530. package/src/modules/access/roles-yaml-guard.ts +89 -0
  531. package/src/modules/admin/admin-access.routes.ts +29 -0
  532. package/src/modules/admin/admin-access.service.ts +38 -0
  533. package/src/modules/admin/admin.interface.ts +10 -0
  534. package/src/modules/auth/account-erasure.service.ts +183 -0
  535. package/src/modules/auth/auth.middleware.ts +78 -0
  536. package/src/modules/auth/auth.routes.ts +97 -0
  537. package/src/modules/auth/auth.service.ts +199 -0
  538. package/src/modules/code-mode/code-mode-names.ts +38 -0
  539. package/src/modules/code-mode/code-mode.tool.ts +117 -0
  540. package/src/modules/code-mode/index.ts +6 -0
  541. package/src/modules/database/connection.ts +15 -0
  542. package/src/modules/database/core-schema.ts +431 -0
  543. package/src/modules/database/migrate.ts +43 -0
  544. package/src/modules/database/schema.ts +11 -0
  545. package/src/modules/diff/__tests__/diff.routes.read-gate.test.ts +87 -0
  546. package/src/modules/diff/__tests__/diff.routes.rejectPathsLocked.test.ts +150 -0
  547. package/src/modules/diff/__tests__/diff.service.seed-atomicity.test.ts +184 -0
  548. package/src/modules/diff/__tests__/diff.service.test.ts +202 -0
  549. package/src/modules/diff/diff-paths.ts +9 -0
  550. package/src/modules/diff/diff.config.ts +12 -0
  551. package/src/modules/diff/diff.interface.ts +78 -0
  552. package/src/modules/diff/diff.routes.ts +277 -0
  553. package/src/modules/diff/diff.service.ts +508 -0
  554. package/src/modules/diff/line-diff.ts +79 -0
  555. package/src/modules/mcp/__tests__/bevel-oauth-provider.test.ts +287 -0
  556. package/src/modules/mcp/__tests__/mcp-auth.middleware.test.ts +249 -0
  557. package/src/modules/mcp/__tests__/mcp-proxy-helpers.test.ts +253 -0
  558. package/src/modules/mcp/__tests__/mcp-session-store.test.ts +151 -0
  559. package/src/modules/mcp/__tests__/mcp.e2e.test.ts +150 -0
  560. package/src/modules/mcp/__tests__/mcp.routes.delete.test.ts +92 -0
  561. package/src/modules/mcp/__tests__/mcp.service.test.ts +414 -0
  562. package/src/modules/mcp/mcp-auth.middleware.ts +126 -0
  563. package/src/modules/mcp/mcp-session-store.ts +162 -0
  564. package/src/modules/mcp/mcp.routes.ts +263 -0
  565. package/src/modules/mcp/mcp.service.ts +973 -0
  566. package/src/modules/mcp/oauth/bevel-oauth-provider.ts +401 -0
  567. package/src/modules/mcp/oauth/oauth-consent.routes.ts +60 -0
  568. package/src/modules/mcp/oauth/oauth-state.ts +61 -0
  569. package/src/modules/secrets-vault/__tests__/connect-pending.route.test.ts +277 -0
  570. package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +206 -0
  571. package/src/modules/secrets-vault/__tests__/mcp-oauth-discovery.service.test.ts +178 -0
  572. package/src/modules/secrets-vault/__tests__/scopes-covered.test.ts +101 -0
  573. package/src/modules/secrets-vault/__tests__/secrets-variable-loader.test.ts +54 -0
  574. package/src/modules/secrets-vault/__tests__/tool-owner-gate.route.test.ts +143 -0
  575. package/src/modules/secrets-vault/db-secrets-vault.service.ts +792 -0
  576. package/src/modules/secrets-vault/index.ts +25 -0
  577. package/src/modules/secrets-vault/mcp-oauth-discovery.service.ts +289 -0
  578. package/src/modules/secrets-vault/secrets-variable-loader.ts +104 -0
  579. package/src/modules/secrets-vault/secrets-vault.contract.ts +270 -0
  580. package/src/modules/secrets-vault/secrets-vault.routes.ts +526 -0
  581. package/src/modules/skills/__tests__/skills.service.test.ts +176 -0
  582. package/src/modules/skills/index.ts +10 -0
  583. package/src/modules/skills/skills.contract.ts +54 -0
  584. package/src/modules/skills/skills.routes.ts +38 -0
  585. package/src/modules/skills/skills.service.ts +245 -0
  586. package/src/modules/skills/skills.tools.ts +121 -0
  587. package/src/modules/tool-auth/__tests__/external-api-key.service.test.ts +358 -0
  588. package/src/modules/tool-auth/__tests__/internal-token.service.test.ts +79 -0
  589. package/src/modules/tool-auth/__tests__/manual-auth.middleware.test.ts +88 -0
  590. package/src/modules/tool-auth/external-api-key.errors.ts +25 -0
  591. package/src/modules/tool-auth/external-api-key.interface.ts +99 -0
  592. package/src/modules/tool-auth/external-api-key.service.ts +209 -0
  593. package/src/modules/tool-auth/internal-token.service.ts +124 -0
  594. package/src/modules/tool-auth/llm-usage-meter.ts +19 -0
  595. package/src/modules/tool-auth/tool-auth.middleware.ts +220 -0
  596. package/src/modules/tool-helpers/__tests__/phase0-loopback-spike.test.ts +129 -0
  597. package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +95 -0
  598. package/src/modules/tool-helpers/__tests__/tools-surface.test.ts +146 -0
  599. package/src/modules/tool-helpers/__tests__/validate-token.test.ts +75 -0
  600. package/src/modules/tool-helpers/index.ts +18 -0
  601. package/src/modules/tool-helpers/tool-context.ts +98 -0
  602. package/src/modules/tool-helpers/tool-def.ts +73 -0
  603. package/src/modules/tool-helpers/tool-handler.ts +91 -0
  604. package/src/modules/tool-helpers/tool.contract.ts +85 -0
  605. package/src/modules/tool-helpers/validate-token.ts +50 -0
  606. package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +200 -0
  607. package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +499 -0
  608. package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +156 -0
  609. package/src/modules/tool-manuals/index.ts +12 -0
  610. package/src/modules/tool-manuals/tool-manuals.contract.ts +183 -0
  611. package/src/modules/tool-manuals/tool-manuals.routes.ts +110 -0
  612. package/src/modules/tool-manuals/tool-manuals.service.ts +781 -0
  613. package/src/modules/tool-manuals/tool-manuals.tools.ts +202 -0
  614. package/src/modules/tool-registry/__tests__/tool-registry.test.ts +64 -0
  615. package/src/modules/tool-registry/manual.routes.ts +87 -0
  616. package/src/modules/tool-registry/tool-registry.ts +55 -0
  617. package/src/modules/tool-registry/tool.contract.ts +52 -0
  618. package/src/modules/workflow/__tests__/event-bus.test.ts +322 -0
  619. package/src/modules/workflow/__tests__/file-change-notifier.test.ts +51 -0
  620. package/src/modules/workflow/__tests__/format-affected-owners.test.ts +67 -0
  621. package/src/modules/workflow/__tests__/locking-filesystem.test.ts +445 -0
  622. package/src/modules/workflow/__tests__/pending-commits.canonical.test.ts +36 -0
  623. package/src/modules/workflow/__tests__/pending-commits.worker.test.ts +243 -0
  624. package/src/modules/workflow/__tests__/preserve-roles-yaml.test.ts +308 -0
  625. package/src/modules/workflow/__tests__/sanitize-error.test.ts +67 -0
  626. package/src/modules/workflow/__tests__/session-ontology.policy.test.ts +62 -0
  627. package/src/modules/workflow/__tests__/session-ontology.service.test.ts +200 -0
  628. package/src/modules/workflow/__tests__/workflow.service.commitFileWhileLocked.test.ts +232 -0
  629. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +380 -0
  630. package/src/modules/workflow/__tests__/workflow.service.releaseLock.test.ts +340 -0
  631. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +192 -0
  632. package/src/modules/workflow/agent-tools/workflow.tools.ts +502 -0
  633. package/src/modules/workflow/event-bus.ts +262 -0
  634. package/src/modules/workflow/events.routes.ts +266 -0
  635. package/src/modules/workflow/file-change-notifier.ts +54 -0
  636. package/src/modules/workflow/file-lock.service.ts +269 -0
  637. package/src/modules/workflow/git/__tests__/branch-name.test.ts +86 -0
  638. package/src/modules/workflow/git/__tests__/branchAuthor.test.ts +80 -0
  639. package/src/modules/workflow/git/__tests__/clone-config.test.ts +15 -0
  640. package/src/modules/workflow/git/__tests__/git-test-helpers.ts +47 -0
  641. package/src/modules/workflow/git/__tests__/git-version.failure.test.ts +24 -0
  642. package/src/modules/workflow/git/__tests__/git-version.test.ts +49 -0
  643. package/src/modules/workflow/git/__tests__/git.service.accessGating.test.ts +389 -0
  644. package/src/modules/workflow/git/__tests__/git.service.changedFilesForPr.test.ts +124 -0
  645. package/src/modules/workflow/git/__tests__/git.service.commitChanges.test.ts +105 -0
  646. package/src/modules/workflow/git/__tests__/git.service.commitFile.test.ts +211 -0
  647. package/src/modules/workflow/git/__tests__/git.service.createBranch.test.ts +154 -0
  648. package/src/modules/workflow/git/__tests__/git.service.deleteBranch.test.ts +320 -0
  649. package/src/modules/workflow/git/__tests__/git.service.diffFileAtCommit.test.ts +202 -0
  650. package/src/modules/workflow/git/__tests__/git.service.diffFileBetweenBranches.test.ts +453 -0
  651. package/src/modules/workflow/git/__tests__/git.service.list-branches.test.ts +198 -0
  652. package/src/modules/workflow/git/__tests__/git.service.listTrackedFiles.test.ts +125 -0
  653. package/src/modules/workflow/git/__tests__/git.service.logForFile.test.ts +219 -0
  654. package/src/modules/workflow/git/__tests__/git.service.mergeChangeRequest.test.ts +145 -0
  655. package/src/modules/workflow/git/__tests__/git.service.pendingChanges.test.ts +240 -0
  656. package/src/modules/workflow/git/__tests__/git.service.postMergePull.test.ts +272 -0
  657. package/src/modules/workflow/git/__tests__/git.service.pull.test.ts +232 -0
  658. package/src/modules/workflow/git/__tests__/git.service.readFileAtRef.test.ts +101 -0
  659. package/src/modules/workflow/git/__tests__/git.service.status.test.ts +127 -0
  660. package/src/modules/workflow/git/__tests__/mutex.test.ts +78 -0
  661. package/src/modules/workflow/git/__tests__/pull-request.service.test.ts +225 -0
  662. package/src/modules/workflow/git/__tests__/pull-request.service.viewer-can-cancel.test.ts +101 -0
  663. package/src/modules/workflow/git/branch-name.ts +70 -0
  664. package/src/modules/workflow/git/clone-config.ts +71 -0
  665. package/src/modules/workflow/git/git-version.ts +70 -0
  666. package/src/modules/workflow/git/git.service.ts +2248 -0
  667. package/src/modules/workflow/git/mutex.ts +22 -0
  668. package/src/modules/workflow/git/pull-request.service.ts +447 -0
  669. package/src/modules/workflow/locking-filesystem.ts +489 -0
  670. package/src/modules/workflow/pending-commits.service.ts +444 -0
  671. package/src/modules/workflow/pending-commits.worker.ts +361 -0
  672. package/src/modules/workflow/read-only-filesystem.ts +54 -0
  673. package/src/modules/workflow/recovery-bot.ts +73 -0
  674. package/src/modules/workflow/review-workflow/__tests__/approval-states.test.ts +560 -0
  675. package/src/modules/workflow/review-workflow/__tests__/cancel-pr.test.ts +176 -0
  676. package/src/modules/workflow/review-workflow/__tests__/merge-gate.test.ts +258 -0
  677. package/src/modules/workflow/review-workflow/review-workflow.interface.ts +199 -0
  678. package/src/modules/workflow/review-workflow/review-workflow.service.ts +806 -0
  679. package/src/modules/workflow/sanitize-error.ts +62 -0
  680. package/src/modules/workflow/session-ontology.policy.ts +70 -0
  681. package/src/modules/workflow/session-ontology.service.ts +178 -0
  682. package/src/modules/workflow/workflow-hooks.ts +101 -0
  683. package/src/modules/workflow/workflow.errors.ts +285 -0
  684. package/src/modules/workflow/workflow.routes.ts +858 -0
  685. package/src/modules/workflow/workflow.service.ts +1555 -0
  686. package/src/modules/workspace/__tests__/kb-seed.service.test.ts +213 -0
  687. package/src/modules/workspace/__tests__/routine-write-policy.test.ts +68 -0
  688. package/src/modules/workspace/__tests__/session-ontology.gate.test.ts +237 -0
  689. package/src/modules/workspace/__tests__/spill-store.test.ts +43 -0
  690. package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +233 -0
  691. package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +176 -0
  692. package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +303 -0
  693. package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +276 -0
  694. package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +120 -0
  695. package/src/modules/workspace/__tests__/workspace.service.test.ts +565 -0
  696. package/src/modules/workspace/__tests__/workspace.tools.test.ts +504 -0
  697. package/src/modules/workspace/bevel-ignore.ts +62 -0
  698. package/src/modules/workspace/kb-seed.interface.ts +36 -0
  699. package/src/modules/workspace/kb-seed.service.ts +361 -0
  700. package/src/modules/workspace/routine-write-policy.ts +79 -0
  701. package/src/modules/workspace/session-ontology.gate.ts +189 -0
  702. package/src/modules/workspace/session-sink.ts +25 -0
  703. package/src/modules/workspace/spill-store.ts +87 -0
  704. package/src/modules/workspace/workspace.routes.ts +1114 -0
  705. package/src/modules/workspace/workspace.service.ts +1343 -0
  706. package/src/modules/workspace/workspace.tools.ts +885 -0
  707. package/src/shared/__tests__/frontmatter-id.test.ts +88 -0
  708. package/src/shared/__tests__/fs-walk.test.ts +42 -0
  709. package/src/shared/__tests__/ssrf.test.ts +53 -0
  710. package/src/shared/__tests__/utcp-namespace.test.ts +19 -0
  711. package/src/shared/frontmatter-id.ts +72 -0
  712. package/src/shared/fs-walk.ts +30 -0
  713. package/src/shared/hash-email.ts +14 -0
  714. package/src/shared/kb-layout.test.ts +88 -0
  715. package/src/shared/kb-layout.ts +101 -0
  716. package/src/shared/ssrf.ts +78 -0
  717. package/src/shared/token-crypto.ts +54 -0
  718. package/src/shared/ttl-cache.ts +27 -0
  719. package/src/shared/utcp-namespace.ts +88 -0
  720. package/src/version.ts +19 -0
@@ -0,0 +1,95 @@
1
+ import type { AuthProviderPlugin } from '../modules/auth/auth.routes.js';
2
+ import type { AuthUser } from '@bevel-software/platform-shared';
3
+ import { CoreConfig } from '../core-config.js';
4
+ import { type Database } from '../modules/database/connection.js';
5
+ import { WorkspaceService } from '../modules/workspace/workspace.service.js';
6
+ import { RoutineWritePolicyService } from '../modules/workspace/routine-write-policy.js';
7
+ import { KbSeedService } from '../modules/workspace/kb-seed.service.js';
8
+ import { SpillStore } from '../modules/workspace/spill-store.js';
9
+ import { type ISessionSink } from '../modules/workspace/session-sink.js';
10
+ import { AuthService } from '../modules/auth/auth.service.js';
11
+ import { AccountErasureService } from '../modules/auth/account-erasure.service.js';
12
+ import { createAuthMiddleware } from '../modules/auth/auth.middleware.js';
13
+ import { AccessControlService } from '../modules/access/access-control.service.js';
14
+ import { CreatorAccessService } from '../modules/access/creator-access.js';
15
+ import { SkillService } from '../modules/skills/index.js';
16
+ import { ToolManualService } from '../modules/tool-manuals/index.js';
17
+ import { DbSecretsVaultService } from '../modules/secrets-vault/index.js';
18
+ import { GitService } from '../modules/workflow/git/git.service.js';
19
+ import { PullRequestService } from '../modules/workflow/git/pull-request.service.js';
20
+ import { DiffService } from '../modules/diff/diff.service.js';
21
+ import { ReviewWorkflowService } from '../modules/workflow/review-workflow/review-workflow.service.js';
22
+ import { FileLockService } from '../modules/workflow/file-lock.service.js';
23
+ import { WorkflowEventBus } from '../modules/workflow/event-bus.js';
24
+ import { FileChangeNotifier } from '../modules/workflow/file-change-notifier.js';
25
+ import { WorkflowService } from '../modules/workflow/workflow.service.js';
26
+ import { SessionOntologyService } from '../modules/workflow/session-ontology.service.js';
27
+ import { PendingCommitsService } from '../modules/workflow/pending-commits.service.js';
28
+ import { PendingCommitsWorker } from '../modules/workflow/pending-commits.worker.js';
29
+ import { AdminAccessService } from '../modules/admin/admin-access.service.js';
30
+ import { ExternalApiKeyService } from '../modules/tool-auth/external-api-key.service.js';
31
+ import { InternalTokenService } from '../modules/tool-auth/internal-token.service.js';
32
+ import { createToolAuthMiddleware, createManualAuthMiddleware } from '../modules/tool-auth/tool-auth.middleware.js';
33
+ import { type ILlmUsageMeter } from '../modules/tool-auth/llm-usage-meter.js';
34
+ import { McpService } from '../modules/mcp/mcp.service.js';
35
+ import { createMcpAuthMiddleware } from '../modules/mcp/mcp-auth.middleware.js';
36
+ import { BevelOAuthProvider } from '../modules/mcp/oauth/bevel-oauth-provider.js';
37
+ import { ToolRegistry } from '../modules/tool-registry/tool-registry.js';
38
+ import { createToolHandlerFactory } from '../modules/tool-helpers/tool-handler.js';
39
+ import { type CorePorts } from './core-ports.js';
40
+ /**
41
+ * Everything the CORE composition builds: the core services `createCoreServer`
42
+ * mounts, plus the primitives the enterprise overlay's own construction needs
43
+ * (db, event bus, notifier, registries, middlewares, …).
44
+ *
45
+ * The fields under "server-time seams" are deliberately MUTABLE: they are only
46
+ * read when the server is built / at request time, and the enterprise overlay
47
+ * overwrites them after `createCoreServices` returns (its implementations need
48
+ * core services to construct). See {@link CorePorts} for the pattern.
49
+ */
50
+ export interface CoreServices {
51
+ config: CoreConfig;
52
+ db: Database;
53
+ workspaceService: WorkspaceService;
54
+ kbSeedService: KbSeedService;
55
+ spillStore: SpillStore;
56
+ accessControl: AccessControlService;
57
+ creatorAccess: CreatorAccessService;
58
+ sessionOntologyService: SessionOntologyService;
59
+ routineWritePolicy: RoutineWritePolicyService;
60
+ skillService: SkillService;
61
+ toolManualService: ToolManualService;
62
+ authService: AuthService;
63
+ authMiddleware: ReturnType<typeof createAuthMiddleware>;
64
+ accountErasureService: AccountErasureService;
65
+ gitService: GitService;
66
+ pullRequestService: PullRequestService;
67
+ diffService: DiffService;
68
+ reviewWorkflowService: ReviewWorkflowService;
69
+ fileLockService: FileLockService;
70
+ workflowService: WorkflowService;
71
+ eventBus: WorkflowEventBus;
72
+ fileChangeNotifier: FileChangeNotifier;
73
+ pendingCommitsService: PendingCommitsService;
74
+ pendingCommitsWorker: PendingCommitsWorker;
75
+ recoveryBot: AuthUser;
76
+ adminAccess: AdminAccessService;
77
+ secretsVaultService: DbSecretsVaultService;
78
+ externalApiKeyService: ExternalApiKeyService;
79
+ internalTokenService: InternalTokenService;
80
+ mcpService: McpService;
81
+ mcpAuthMiddleware: ReturnType<typeof createMcpAuthMiddleware>;
82
+ mcpOAuthProvider: BevelOAuthProvider;
83
+ toolRegistry: ToolRegistry;
84
+ toolAuthMiddleware: ReturnType<typeof createToolAuthMiddleware>;
85
+ manualAuthMiddleware: ReturnType<typeof createManualAuthMiddleware>;
86
+ toolHandlerFactory: ReturnType<typeof createToolHandlerFactory>;
87
+ /** `start_session` backing — core default {@link UuidSessionSink}. */
88
+ sessionSink: ISessionSink;
89
+ /** Connection-key LLM metering view — core default unmetered. */
90
+ usageMeter: ILlmUsageMeter;
91
+ /** SSO plugins the auth router mounts — same array instance as the port. */
92
+ authProviders: AuthProviderPlugin[];
93
+ }
94
+ export declare function createCoreServices(config: CoreConfig, ports?: CorePorts): Promise<CoreServices>;
95
+ //# sourceMappingURL=create-core-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,352 @@
1
+ import { DEFAULT_BRANCH, PROTECTED_BRANCHES, SKILLS_DIR, TOOLS_DIR } from '@bevel-software/platform-shared';
2
+ import { getDb } from '../modules/database/connection.js';
3
+ import { runCoreMigrations } from '../modules/database/migrate.js';
4
+ import { coreMigrationsDir } from '../assets.js';
5
+ import { WorkspaceService } from '../modules/workspace/workspace.service.js';
6
+ import { RoutineWritePolicyService } from '../modules/workspace/routine-write-policy.js';
7
+ import { KbSeedService } from '../modules/workspace/kb-seed.service.js';
8
+ import { SpillStore } from '../modules/workspace/spill-store.js';
9
+ import { UuidSessionSink } from '../modules/workspace/session-sink.js';
10
+ import { AuthService } from '../modules/auth/auth.service.js';
11
+ import { AccountErasureService } from '../modules/auth/account-erasure.service.js';
12
+ import { createAuthMiddleware } from '../modules/auth/auth.middleware.js';
13
+ import { AccessControlService } from '../modules/access/access-control.service.js';
14
+ import { CreatorAccessService } from '../modules/access/creator-access.js';
15
+ import { SkillService } from '../modules/skills/index.js';
16
+ import { ToolManualService } from '../modules/tool-manuals/index.js';
17
+ import { DbSecretsVaultService, McpOAuthDiscoveryService, registerBevelSecretsVariableLoader, } from '../modules/secrets-vault/index.js';
18
+ import { GitService } from '../modules/workflow/git/git.service.js';
19
+ import { PullRequestService } from '../modules/workflow/git/pull-request.service.js';
20
+ import { WorkspaceMutex } from '../modules/workflow/git/mutex.js';
21
+ import { assertGitVersion } from '../modules/workflow/git/git-version.js';
22
+ import { DiffService } from '../modules/diff/diff.service.js';
23
+ import { ReviewWorkflowService } from '../modules/workflow/review-workflow/review-workflow.service.js';
24
+ import { FileLockService } from '../modules/workflow/file-lock.service.js';
25
+ import { WorkflowEventBus } from '../modules/workflow/event-bus.js';
26
+ import { FileChangeNotifier } from '../modules/workflow/file-change-notifier.js';
27
+ import { WorkflowService } from '../modules/workflow/workflow.service.js';
28
+ import { WorkflowHooks } from '../modules/workflow/workflow-hooks.js';
29
+ import { SessionOntologyService } from '../modules/workflow/session-ontology.service.js';
30
+ import { PendingCommitsService } from '../modules/workflow/pending-commits.service.js';
31
+ import { PendingCommitsWorker, consoleSystemNoticeSink, } from '../modules/workflow/pending-commits.worker.js';
32
+ import { ensureRecoveryBotUser } from '../modules/workflow/recovery-bot.js';
33
+ import { AdminAccessService } from '../modules/admin/admin-access.service.js';
34
+ import { ExternalApiKeyService } from '../modules/tool-auth/external-api-key.service.js';
35
+ import { InternalTokenService } from '../modules/tool-auth/internal-token.service.js';
36
+ import { createToolAuthMiddleware, createManualAuthMiddleware, } from '../modules/tool-auth/tool-auth.middleware.js';
37
+ import { unmeteredLlmUsage } from '../modules/tool-auth/llm-usage-meter.js';
38
+ import { McpSessionStore } from '../modules/mcp/mcp-session-store.js';
39
+ import { McpService } from '../modules/mcp/mcp.service.js';
40
+ import { createMcpAuthMiddleware } from '../modules/mcp/mcp-auth.middleware.js';
41
+ import { BevelOAuthProvider } from '../modules/mcp/oauth/bevel-oauth-provider.js';
42
+ import { getOAuthProtectedResourceMetadataUrl } from '@modelcontextprotocol/sdk/server/auth/router.js';
43
+ import { ToolRegistry } from '../modules/tool-registry/tool-registry.js';
44
+ import { createToolContextResolver } from '../modules/tool-helpers/tool-context.js';
45
+ import { createToolHandlerFactory } from '../modules/tool-helpers/tool-handler.js';
46
+ import { TokenCrypto } from '../shared/token-crypto.js';
47
+ import { noopRecoveryAgent } from './core-ports.js';
48
+ export async function createCoreServices(config, ports = {}) {
49
+ // Fail fast on a runtime whose git is too old for `--no-write-fetch-head`
50
+ // (see `git-version.ts`): every clone, fetch and refresh below depends on it,
51
+ // so an unsupported binary is better surfaced here than at the first merge.
52
+ await assertGitVersion();
53
+ const db = getDb(config.databaseUrl);
54
+ // Migrations must run BEFORE any service that reads or writes a managed
55
+ // table. `PendingCommitsService.startupReconcile` (called later in this
56
+ // function) hits `pending_commits` — on a fresh DB, deferring migrations to
57
+ // after createServices would 42P01 the boot.
58
+ //
59
+ // DIVERGENCE vs bevel-platform's copy of this file (Phase C reconciliation):
60
+ // upstream still calls the legacy single-folder `runMigrations(db)`; this
61
+ // package runs its own squashed idempotent CORE history from the packaged
62
+ // `migrations/` folder, tracked in `__drizzle_migrations_core`. An
63
+ // enterprise overlay runs its own history AFTER this (see migrate.ts).
64
+ await runCoreMigrations(db, coreMigrationsDir());
65
+ const workspaceService = new WorkspaceService(config.workspacesRoot, config.kbRepoUrl, config.kbDirName, config.gitUsername);
66
+ // Seed (or top-up) the KB remote before the first clone so the rest of the app
67
+ // can keep assuming the remote already carries the protected branches + base
68
+ // scaffolding — a fresh or partially-populated remote no longer needs to have
69
+ // been forked from the standalone template.
70
+ const kbSeedService = new KbSeedService(config.kbRepoUrl, config.kbTemplateDir, [...PROTECTED_BRANCHES], DEFAULT_BRANCH, config.seedAdminEmails, config.gitUsername);
71
+ workspaceService.setSeedService(kbSeedService);
72
+ // Shared, workspace-independent store for oversized `call_tool_chain` results,
73
+ // read back via `read_file`. Sibling of `workspacesRoot`, never committed.
74
+ const spillStore = new SpillStore(config.spillRoot);
75
+ const accessControl = new AccessControlService(workspaceService, config.kbDirName);
76
+ // Creator read-grant on creation: read is default-deny, so every surface
77
+ // that creates KB files/folders (human routes, agent tools, upload apply)
78
+ // consults this planner to keep creations visible to their creator.
79
+ const creatorAccess = new CreatorAccessService(workspaceService, accessControl, config.kbDirName);
80
+ // Ontology-session boundary: records each agent run's touched ontologies and
81
+ // blocks writes once a run has crossed ontologies. Postgres-backed so the
82
+ // boundary survives a restart.
83
+ const sessionOntologyService = new SessionOntologyService(db);
84
+ // Per-run write restriction (by file extension). Shared by the workspace tool
85
+ // surface (which enforces it) and the routine runner (which sets it for
86
+ // dashboard-only `watchlist_check` runs). In-memory: a restriction lives only for
87
+ // one run, unlike the Postgres-backed ontology touched-set above.
88
+ const routineWritePolicy = new RoutineWritePolicyService();
89
+ // Skills: discovered from the default-branch workspace only (global catalog).
90
+ const skillService = new SkillService(workspaceService, accessControl, config.kbDirName);
91
+ // Tool manuals: user-authored `*.tool` files under `Tools/` in the default
92
+ // branch — access-controlled like Skills, served to external agents via
93
+ // `GET /api/agent/all-tools` and registered on the MCP proxy's UTCP client.
94
+ const toolManualService = new ToolManualService(workspaceService, accessControl, config.kbDirName);
95
+ // Auth service — resolves identities for login, PR author attribution, and
96
+ // access lookups. (Change requests now store the author email directly, so
97
+ // PullRequestService no longer depends on it for attribution.)
98
+ const authService = new AuthService(db, config);
99
+ const authMiddleware = createAuthMiddleware(authService);
100
+ // Shared mutex so git and diff operations on the same workspace serialize
101
+ // against each other — a backup-reseed races a concurrent commit otherwise.
102
+ const workspaceMutex = new WorkspaceMutex();
103
+ // Workflow lifecycle hooks — the ONE registry this composition shares
104
+ // between GitService (advisory commit validation), the session-ontology
105
+ // gate (blocking preWrite), and the enterprise composition root, which
106
+ // registers module-owned handlers on `workflowService.hooks` right after
107
+ // this function returns. Core registers none: no commit-time validation
108
+ // (advisory anyway) and no ontology write block.
109
+ const workflowHooks = new WorkflowHooks();
110
+ const gitService = new GitService(workspaceService, workflowHooks, config.kbDirName, workspaceMutex, accessControl);
111
+ // A fresh clone has already fetched every ref — let the git layer skip the
112
+ // redundant implicit `git fetch` on the first `listBranches` after bootstrap.
113
+ workspaceService.setWorkspaceClonedListener((id) => gitService.noteWorkspaceFetched(id));
114
+ const pullRequestService = new PullRequestService(db, workspaceService, accessControl, gitService);
115
+ const diffService = new DiffService(workspaceService, workspaceMutex, config.workspacesRoot, config.backupsRoot, config.kbDirName);
116
+ // Late-bind the diff service into WorkspaceService so file writes/moves
117
+ // trigger backup updates. (GitService used to take a diffService too — for
118
+ // the post-switch backup reseed — but switchBranch is gone with the
119
+ // per-branch workspace model, so the injection no longer applies.)
120
+ workspaceService.setDiffService(diffService);
121
+ const reviewWorkflowService = new ReviewWorkflowService(db, accessControl, workspaceService, gitService);
122
+ // Late-bind the comment enricher so PullRequestService.getPrDetail includes
123
+ // our DB-backed comments without forcing a circular constructor dependency.
124
+ pullRequestService.setDetailEnricher(reviewWorkflowService);
125
+ // Workflow facade — the abstraction every app consumer should reach for
126
+ // instead of the individual git / PR / review-workflow services. See
127
+ // PLAN.md for the migration story. Today it delegates straight through;
128
+ // implementations migrate into the workflow module over later steps.
129
+ const fileLockService = new FileLockService(db);
130
+ // Background commit queue. The `WorkflowService.releaseLock` path
131
+ // enqueues a row here instead of running commitFile + push inline; the
132
+ // worker drains the queue out of band so a git hiccup can't block the
133
+ // user-visible save path. See `lock-decoupling-plan.md`.
134
+ const pendingCommitsService = new PendingCommitsService(db);
135
+ // Let the git status path tell an expected dirty tree (queued saves still
136
+ // draining) from a genuinely orphaned one before it warns loudly.
137
+ gitService.setPendingCommitsProbe((workspaceId) => pendingCommitsService.hasAnyForWorkspace(workspaceId));
138
+ // In-process event bus: every WorkflowService mutation method that
139
+ // succeeds emits a typed event; the SSE route fans it to connected
140
+ // browser sessions. Single instance per Node process — survives across
141
+ // requests, doesn't survive restarts (clients reconnect + resync).
142
+ const eventBus = new WorkflowEventBus();
143
+ // In-process post-commit hook (distinct from the SSE bus): fires once per
144
+ // committed change (batched paths) so catalogs refresh instantly and the
145
+ // id-repair keeps the id namespace collision-free. Subscribers are registered
146
+ // below, once the reacting services exist.
147
+ const fileChangeNotifier = new FileChangeNotifier();
148
+ const workflowService = new WorkflowService(db, gitService, pullRequestService, reviewWorkflowService, workspaceService, accessControl, fileLockService, pendingCommitsService, config.kbDirName, eventBus, fileChangeNotifier,
149
+ // Exposed as `workflowService.hooks` — the SAME instance GitService and
150
+ // the session-ontology gate consult, so enterprise registrations against
151
+ // it reach every hook point.
152
+ workflowHooks);
153
+ // Subscriber A — catalog freshness: a committed change drops the affected
154
+ // caches immediately instead of waiting out their TTLs. The tool/skill
155
+ // catalogs are global but read the DEFAULT branch only, so only
156
+ // default-branch changes under their folders matter. (The kb-graph id-index
157
+ // invalidation that used to live in this subscriber is registered by the
158
+ // enterprise overlay, next to the kb-graph service it belongs to — the
159
+ // caches are independent, so the split preserves behavior.)
160
+ fileChangeNotifier.onFilesChanged(({ branch, paths }) => {
161
+ if (branch !== DEFAULT_BRANCH)
162
+ return;
163
+ if (paths.some((p) => p.startsWith(`${config.kbDirName}/${TOOLS_DIR}/`)))
164
+ toolManualService.invalidate();
165
+ if (paths.some((p) => p.startsWith(`${config.kbDirName}/${SKILLS_DIR}/`)))
166
+ skillService.invalidate();
167
+ });
168
+ // Admin = `Admin` role in roles.yaml, resolved through the access model on the
169
+ // default branch (no env allow-list).
170
+ const adminAccess = new AdminAccessService(accessControl, workspaceService, DEFAULT_BRANCH);
171
+ // Secrets Vault: the per-user store of credentials (static API keys + OAuth
172
+ // tokens) that back UTCP tool variables (`${FOO_API_KEY}`). Encrypted at rest
173
+ // with the connector-config key; read only by the `bevel-secrets` variable
174
+ // loader at tool-call time. Swap-seam: `ISecretsVaultService` could later be a
175
+ // client's external secret manager without touching the loader or the tools.
176
+ const secretsVaultService = new DbSecretsVaultService(db, config.secretsEncKey, undefined,
177
+ // Scope-driven resolution: a `.tool`'s declared variable scope decides whether
178
+ // `resolve` reads the shared (admin) row or the caller's own per-user row.
179
+ (key) => toolManualService.scopeOfVariable(key));
180
+ // Register the `bevel-secrets` UTCP variable loader against this vault so any
181
+ // UTCP client can resolve `${VAR}` from the caller's secrets at tool-call time.
182
+ registerBevelSecretsVariableLoader(secretsVaultService);
183
+ // Zero-config OAuth for bare `type: mcp` `.tool`s: when the remote server
184
+ // demands OAuth (MCP authorization spec), discover its authorization server,
185
+ // dynamically register a public PKCE client, and persist the provider as the
186
+ // shared vault row — the tool catalog then decorates the manual with a
187
+ // synthetic per-user sign-in. Setter-injected: this service needs the vault,
188
+ // which is constructed after the tool-manual service.
189
+ const mcpOAuthDiscovery = new McpOAuthDiscoveryService({
190
+ secretsVault: secretsVaultService,
191
+ redirectUri: `${config.publicBackendUrl}/api/secrets/oauth/callback`,
192
+ });
193
+ toolManualService.setMcpAuthDiscovery(mcpOAuthDiscovery);
194
+ // Least-privilege internal tokens: minted per (workspace, user, scope) by the
195
+ // agents' code-mode clients and by the MCP proxy, verified by the tool-auth
196
+ // middleware below — the same instance must back both sides.
197
+ const internalTokenService = new InternalTokenService({ prefix: config.internalTokenPrefix });
198
+ // GDPR erasure path: admin-driven user deletion. The core service erases the
199
+ // rows it owns; each module contributes its slice as a participant.
200
+ const accountErasureService = new AccountErasureService(db, ports.erasureParticipants ?? []);
201
+ // MCP (remote agent access). ExternalApiKeyService handles connection-key
202
+ // lifecycle; McpSessionStore holds per-session userId in memory
203
+ // (single-replica — see docs/mcp-remote-access.md). McpService is now a
204
+ // GENERIC proxy: per session it discovers the UTCP manual at /api/agent/utcp
205
+ // over loopback and re-exposes every tool, dispatching calls back through the
206
+ // REST tool surface (so agent logic + metering live there, once).
207
+ const externalApiKeyService = new ExternalApiKeyService(db, config.externalApiKeyPrefix);
208
+ const mcpSessionStore = new McpSessionStore();
209
+ const mcpService = new McpService(mcpSessionStore, {
210
+ // Loopback to our own REST tool surface — 127.0.0.1 (not localhost) to pin
211
+ // IPv4 and dodge resolver ambiguity. The proxy authenticates each call with
212
+ // the caller's own connection key.
213
+ loopbackBaseUrl: `http://127.0.0.1:${config.port}`,
214
+ // Manual namespace + UTCP variable prefix (KNOWLEDGE_BASE_API_URL / …).
215
+ manualName: 'KNOWLEDGE_BASE',
216
+ // Oversized chain results spill here too — an external MCP session has no
217
+ // ambient workspace, so it reads the spill back by ref via `read_file`.
218
+ spillStore,
219
+ // For the needs-authorization setup link surfaced to external agents.
220
+ publicFrontendUrl: config.publicFrontendUrl,
221
+ },
222
+ // Pre-dispatch per-user credential check: the vault answers "has this caller
223
+ // set it?" and the manual catalog answers "which user-scoped vars does this
224
+ // tool need?".
225
+ secretsVaultService, toolManualService,
226
+ // Loopback bearer mint for OAuth/JWT sessions — their own bearer would
227
+ // 401 at the connection-key/internal-only /api/agent/* hop.
228
+ internalTokenService,
229
+ // Session-grant reset for broken tool sign-ins. A closure because the
230
+ // provider is constructed just below (it needs nothing from McpService;
231
+ // the binding is only dereferenced at call time, long after boot).
232
+ (bearer) => mcpOAuthProvider.revokeByAccessToken(bearer));
233
+ // MCP OAuth 2.1 authorization server (our own AS): lets MCP clients with no
234
+ // pre-shared connection key connect via the standard 401 → discovery → DCR →
235
+ // authorize (PKCE) flow. The authorize step routes the browser to /connect
236
+ // where the user configures their tools; the resulting access token resolves
237
+ // to that user in the MCP auth middleware, like a connection key.
238
+ const mcpOAuthProvider = new BevelOAuthProvider({
239
+ db,
240
+ crypto: config.secretsEncKey ? new TokenCrypto(config.secretsEncKey) : null,
241
+ stateSecret: config.jwtSecret,
242
+ publicFrontendUrl: config.publicFrontendUrl,
243
+ tokenPrefix: config.mcpOAuthTokenPrefix,
244
+ });
245
+ // RFC 9728 pointer carried on every MCP 401 challenge so OAuth-capable
246
+ // clients discover the AS. Single source of truth for the resource id.
247
+ const mcpResourceUrl = new URL('/api/mcp', config.publicBackendUrl);
248
+ const mcpResourceMetadataUrl = getOAuthProtectedResourceMetadataUrl(mcpResourceUrl);
249
+ const mcpAuthMiddleware = createMcpAuthMiddleware(authService, externalApiKeyService, mcpOAuthProvider, mcpResourceMetadataUrl);
250
+ // ── Unified tool surface ──────────────────────────────────────────────
251
+ // ONE catalog of self-describing UTCP tools, served as two manuals (external
252
+ // for CI/MCP; internal for our agent's loopback code-mode client) and hosted
253
+ // by each owning module behind shared auth + context utilities. The core
254
+ // server assembles the router (registers tool defs + mounts endpoints). The
255
+ // `internalTokenService` minted above (shared with the agent factories) is
256
+ // the same one the tool-auth middleware verifies internal tokens against.
257
+ const toolRegistry = new ToolRegistry();
258
+ const resolveToolContext = createToolContextResolver({
259
+ authService,
260
+ workspaceService,
261
+ workflowService,
262
+ events: eventBus,
263
+ kbDirName: config.kbDirName,
264
+ creatorAccess,
265
+ });
266
+ const toolHandlerFactory = createToolHandlerFactory(resolveToolContext);
267
+ const toolAuthMiddleware = createToolAuthMiddleware(externalApiKeyService, internalTokenService);
268
+ // Read-only manual endpoints accept the above PLUS a browser JWT, so a
269
+ // logged-in user can browse the catalog with their session. Execution routes
270
+ // keep `toolAuthMiddleware` (no JWT), so a session can read but not invoke.
271
+ const manualAuthMiddleware = createManualAuthMiddleware(externalApiKeyService, internalTokenService, authService);
272
+ // Recovery-bot identity: a synthetic `recovery-bot@bevel.local` user
273
+ // backing (a) the recovery agent's commit authorship and (b) the
274
+ // `'system'` feedback notice's user_id FK. Idempotent ensure so this
275
+ // is safe to call on every boot.
276
+ const recoveryBot = await ensureRecoveryBotUser(db);
277
+ // Background commit worker. Drains `pending_commits` rows that the
278
+ // refactored `releaseLock` enqueues. On terminal failure (transient
279
+ // retry budget AND recovery-agent budget exhausted) the worker emits
280
+ // a `'system'` feedback notice that admins triage out of band.
281
+ //
282
+ // The orphan-startup sweep runs BEFORE start() so any rows that
283
+ // previous deploys left as `running` (process crashed mid-commit) get
284
+ // reset to `pending` before the worker starts claiming. The sweep
285
+ // also enqueues working-tree dirt that pre-dates the queue (the
286
+ // existing `target-company-state` orphans).
287
+ await pendingCommitsService.startupReconcile(workspaceService.knownWorkspaces(), { scan: (ws) => workspaceService.scanOrphanedPaths(ws.id) }, { email: recoveryBot.email, name: recoveryBot.name });
288
+ const pendingCommitsWorker = new PendingCommitsWorker({
289
+ service: pendingCommitsService,
290
+ workflow: {
291
+ runPendingCommit: (workspaceId, branch, path, user) => workflowService.runPendingCommit(workspaceId, branch, path, user),
292
+ },
293
+ // Both escalation sinks come through CorePorts: the recovery agent and the
294
+ // notice sink are enterprise-owned (background-agent factory / feedback
295
+ // dashboard); core defaults skip recovery and log to stderr.
296
+ recoveryAgent: ports.recoveryAgent ?? noopRecoveryAgent,
297
+ feedback: ports.systemNotice ?? consoleSystemNoticeSink,
298
+ workspaces: {
299
+ knownWorkspaces: () => workspaceService.knownWorkspaces(),
300
+ },
301
+ recoveryBot: {
302
+ id: recoveryBot.id,
303
+ email: recoveryBot.email,
304
+ name: recoveryBot.name,
305
+ },
306
+ });
307
+ pendingCommitsWorker.start();
308
+ return {
309
+ config,
310
+ db,
311
+ workspaceService,
312
+ kbSeedService,
313
+ spillStore,
314
+ accessControl,
315
+ creatorAccess,
316
+ sessionOntologyService,
317
+ routineWritePolicy,
318
+ skillService,
319
+ toolManualService,
320
+ authService,
321
+ authMiddleware,
322
+ accountErasureService,
323
+ gitService,
324
+ pullRequestService,
325
+ diffService,
326
+ reviewWorkflowService,
327
+ fileLockService,
328
+ workflowService,
329
+ eventBus,
330
+ fileChangeNotifier,
331
+ pendingCommitsService,
332
+ pendingCommitsWorker,
333
+ recoveryBot,
334
+ adminAccess,
335
+ secretsVaultService,
336
+ externalApiKeyService,
337
+ internalTokenService,
338
+ mcpService,
339
+ mcpAuthMiddleware,
340
+ mcpOAuthProvider,
341
+ toolRegistry,
342
+ toolAuthMiddleware,
343
+ manualAuthMiddleware,
344
+ toolHandlerFactory,
345
+ // Server-time seams — defaults here; the enterprise overlay overwrites
346
+ // (or, for the array, pushes into) these after construction.
347
+ sessionSink: ports.sessionSink ?? new UuidSessionSink(),
348
+ usageMeter: ports.usageMeter ?? unmeteredLlmUsage,
349
+ authProviders: ports.authProviders ?? [],
350
+ };
351
+ }
352
+ //# sourceMappingURL=create-core-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-core-services.js","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Configuration for the CORE platform: the git-backed workspace/workflow,
3
+ * skills, tools, secrets vault, access control, and the MCP surface. Contains
4
+ * NO LLM, connector, or SSO-provider settings — those live on the enterprise
5
+ * `AppConfig` (config.ts), which extends this class. A core-only deployment
6
+ * boots from exactly these env vars.
7
+ */
8
+ export declare class CoreConfig {
9
+ readonly port: number;
10
+ readonly databaseUrl: string;
11
+ readonly nodeEnv: string;
12
+ /**
13
+ * Tenant slug injected into every credential prefix so a deploy can brand its
14
+ * keys (`<tenant>_…` external API keys, `<tenant>-int_…` internal tokens,
15
+ * `<tenant>-up_…` upload tokens). Defaults to `bevel`. Changing it on an
16
+ * existing deployment invalidates previously minted keys/tokens (their
17
+ * prefix no longer matches), so pick it once. Lowercase alphanumeric only —
18
+ * `_` and `-` are reserved as prefix separators.
19
+ */
20
+ readonly tenantId: string;
21
+ readonly workspacesRoot: string;
22
+ /**
23
+ * Sibling-to-`workspacesRoot` location for the diff-review backup ledger.
24
+ * Layout mirrors `workspacesRoot` one-to-one: each user's repo lives at
25
+ * `<workspacesRoot>/<userId>/<repo>/...` and its backup at
26
+ * `<backupsRoot>/<userId>/<repo>/...`. Default sits next to workspaces so
27
+ * the two move together when ops point them at a different volume.
28
+ */
29
+ readonly backupsRoot: string;
30
+ /**
31
+ * Sibling-to-`workspacesRoot` location for `call_tool_chain` spill files —
32
+ * oversized tool-chain results parked outside any workspace so any agent (in-
33
+ * process or external over MCP) can read them back via `read_file`. Ephemeral,
34
+ * never committed, best-effort GC'd on write.
35
+ */
36
+ readonly spillRoot: string;
37
+ readonly jwtSecret: string;
38
+ readonly testPassword: string;
39
+ /** Clone/push URL for the KB repo. Any https git host (GitHub, GitLab, Bitbucket, Azure DevOps, self-hosted). */
40
+ readonly kbRepoUrl: string;
41
+ /** Directory name the KB lives under inside each user's workspace dir. */
42
+ readonly kbDirName: string;
43
+ /**
44
+ * Username sent in the git-over-HTTPS Basic credential (password = the git
45
+ * token). All major hosts accept a token as the password but differ on the
46
+ * username: GitHub `x-access-token` (default), GitLab `oauth2`, Bitbucket
47
+ * `x-token-auth`, Azure DevOps any non-empty value. Set `GIT_USERNAME` per
48
+ * host. Restricted to a safe charset because it's interpolated into the
49
+ * credential-helper shell snippet.
50
+ */
51
+ readonly gitUsername: string;
52
+ /**
53
+ * Filesystem path to the KB seed template (the `kb-template/` folder shipped
54
+ * inside this package — see `defaultKbTemplateDir()`). The seeder reads this
55
+ * to initialise an empty KB remote, and to top-up missing scaffolding on an
56
+ * existing one. Override with `KB_TEMPLATE_DIR`.
57
+ */
58
+ readonly kbTemplateDir: string;
59
+ /**
60
+ * Admin emails written into the generated `roles.yaml` when a fresh KB repo is
61
+ * seeded. Comma/whitespace-separated. A freshly-seeded repo with no Admin is
62
+ * unusable (access resolution requires ≥1 Admin), so seeding an EMPTY remote
63
+ * fails fast when this is empty. Not needed once the remote is already seeded.
64
+ */
65
+ readonly seedAdminEmails: string[];
66
+ /**
67
+ * Ontology-session boundary kill-switch. When true (default), an agent run
68
+ * that has read across more than one ontology can no longer write. A no-op on
69
+ * a single-ontology KB. Set `ONTOLOGY_SESSION_BLOCK=false` to disable.
70
+ *
71
+ * Stays on CORE config (not `AppConfig`) even though the write BLOCK itself
72
+ * is an enterprise-registered hook: the flag also switches off the core-owned
73
+ * touch TRACKING (the gate skips entirely when false — see
74
+ * `session-ontology.gate.ts`), so it must exist wherever the tracking runs.
75
+ */
76
+ readonly ontologySessionBlock: boolean;
77
+ /**
78
+ * Password-login toggle for the login screen. Default enabled; set
79
+ * `LOGIN_PASSWORD=false` to hide the method AND reject `/auth/login`
80
+ * server-side. SSO methods are separate `AuthProviderPlugin`s wired by the
81
+ * composition root — their toggles live with their configuration.
82
+ */
83
+ readonly loginPasswordEnabled: boolean;
84
+ /**
85
+ * Optional allow-list of email domains. When non-empty, ONLY emails whose
86
+ * domain matches (exactly, or as a subdomain) may log in via ANY method
87
+ * (shared-password or SSO). Comma/whitespace-separated; empty (default)
88
+ * allows any email. A leading `@` or `.` on an entry is tolerated, so
89
+ * `ALLOWED_EMAIL_DOMAINS=bevel.software, example.com` works as expected.
90
+ */
91
+ readonly allowedEmailDomains: string[];
92
+ /**
93
+ * 32-byte key (hex or base64) for AES-256-GCM encryption of core at-rest
94
+ * secrets: the secrets-vault values and the MCP OAuth client secrets/tokens.
95
+ * Read from `SECRETS_ENC_KEY`, falling back to the legacy
96
+ * `CONNECTOR_CONFIG_ENC_KEY` → `SHAREPOINT_TOKEN_ENC_KEY` chain so existing
97
+ * deploys keep decrypting without re-keying. Empty = secret values can't be
98
+ * saved (a clear error surfaces only when a secret is actually written/read).
99
+ */
100
+ readonly secretsEncKey: string;
101
+ /**
102
+ * Public base URL of THIS backend, used to build OAuth redirect URIs.
103
+ * Must match a redirect URI registered with the OAuth provider(s).
104
+ */
105
+ readonly publicBackendUrl: string;
106
+ /** Public base URL of the frontend, where callbacks redirect post-login. */
107
+ readonly publicFrontendUrl: string;
108
+ constructor();
109
+ /** Prefix for external API keys (connection keys): `<tenant>_`. */
110
+ get externalApiKeyPrefix(): string;
111
+ /** Prefix for in-process internal HMAC tokens: `<tenant>-int_`. */
112
+ get internalTokenPrefix(): string;
113
+ /** Prefix for scoped single-use bulk-upload tokens: `<tenant>-up_`. */
114
+ get uploadTokenPrefix(): string;
115
+ /** Prefix for MCP OAuth access tokens: `<tenant>-mcp_`. */
116
+ get mcpOAuthTokenPrefix(): string;
117
+ private validateKbIdentity;
118
+ }
119
+ //# sourceMappingURL=core-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-config.d.ts","sourceRoot":"","sources":["../src/core-config.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,iHAAiH;IACjH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;;IA8FnC,mEAAmE;IACnE,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,mEAAmE;IACnE,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,uEAAuE;IACvE,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,2DAA2D;IAC3D,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,OAAO,CAAC,kBAAkB;CA4B3B"}