@bevel-software/platform-core-backend 0.33.0 → 0.34.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 (497) hide show
  1. package/agent-guide/access-control.md +19 -8
  2. package/agent-guide/html-views.md +231 -5
  3. package/agent-guide/tool-manuals.md +1 -1
  4. package/dist/core/catalog-revision.d.ts +12 -1
  5. package/dist/core/catalog-revision.d.ts.map +1 -1
  6. package/dist/core/catalog-revision.js +23 -3
  7. package/dist/core/catalog-revision.js.map +1 -1
  8. package/dist/core/core-ports.d.ts +41 -0
  9. package/dist/core/core-ports.d.ts.map +1 -1
  10. package/dist/core/core-ports.js.map +1 -1
  11. package/dist/core/create-core-server.d.ts.map +1 -1
  12. package/dist/core/create-core-server.js +14 -7
  13. package/dist/core/create-core-server.js.map +1 -1
  14. package/dist/core/create-core-services.d.ts +16 -5
  15. package/dist/core/create-core-services.d.ts.map +1 -1
  16. package/dist/core/create-core-services.js +37 -12
  17. package/dist/core/create-core-services.js.map +1 -1
  18. package/dist/core/lifecycle.d.ts +16 -0
  19. package/dist/core/lifecycle.d.ts.map +1 -1
  20. package/dist/core/lifecycle.js +12 -2
  21. package/dist/core/lifecycle.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/modules/access/access-control.interface.d.ts +17 -9
  26. package/dist/modules/access/access-control.interface.d.ts.map +1 -1
  27. package/dist/modules/access/access-control.service.d.ts +12 -2
  28. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  29. package/dist/modules/access/access-control.service.js +164 -75
  30. package/dist/modules/access/access-control.service.js.map +1 -1
  31. package/dist/modules/access/access-mutation.service.d.ts +22 -24
  32. package/dist/modules/access/access-mutation.service.d.ts.map +1 -1
  33. package/dist/modules/access/access-mutation.service.js +48 -51
  34. package/dist/modules/access/access-mutation.service.js.map +1 -1
  35. package/dist/modules/access/access-view.d.ts.map +1 -1
  36. package/dist/modules/access/access-view.js +12 -11
  37. package/dist/modules/access/access-view.js.map +1 -1
  38. package/dist/modules/access/access.routes.d.ts +3 -0
  39. package/dist/modules/access/access.routes.d.ts.map +1 -1
  40. package/dist/modules/access/access.routes.js +35 -29
  41. package/dist/modules/access/access.routes.js.map +1 -1
  42. package/dist/modules/access/groups-admin.routes.d.ts.map +1 -1
  43. package/dist/modules/access/groups-admin.routes.js +4 -2
  44. package/dist/modules/access/groups-admin.routes.js.map +1 -1
  45. package/dist/modules/access/groups-admin.service.d.ts +44 -13
  46. package/dist/modules/access/groups-admin.service.d.ts.map +1 -1
  47. package/dist/modules/access/groups-admin.service.js +80 -38
  48. package/dist/modules/access/groups-admin.service.js.map +1 -1
  49. package/dist/modules/access/groups-edit.d.ts +1 -1
  50. package/dist/modules/access/groups-edit.d.ts.map +1 -1
  51. package/dist/modules/access/groups-edit.js +1 -1
  52. package/dist/modules/access/groups-edit.js.map +1 -1
  53. package/dist/modules/access/reference-scan.d.ts +116 -24
  54. package/dist/modules/access/reference-scan.d.ts.map +1 -1
  55. package/dist/modules/access/reference-scan.js +305 -44
  56. package/dist/modules/access/reference-scan.js.map +1 -1
  57. package/dist/modules/access/roles-admin.service.d.ts +17 -8
  58. package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
  59. package/dist/modules/access/roles-admin.service.js +32 -23
  60. package/dist/modules/access/roles-admin.service.js.map +1 -1
  61. package/dist/modules/access-model/access-grammar.d.ts +35 -10
  62. package/dist/modules/access-model/access-grammar.d.ts.map +1 -1
  63. package/dist/modules/access-model/access-grammar.js +60 -20
  64. package/dist/modules/access-model/access-grammar.js.map +1 -1
  65. package/dist/modules/access-model/access-splice.d.ts +22 -18
  66. package/dist/modules/access-model/access-splice.d.ts.map +1 -1
  67. package/dist/modules/access-model/access-splice.js +20 -14
  68. package/dist/modules/access-model/access-splice.js.map +1 -1
  69. package/dist/modules/access-model/group-files.d.ts +1 -0
  70. package/dist/modules/access-model/group-files.d.ts.map +1 -1
  71. package/dist/modules/access-model/group-files.js +5 -1
  72. package/dist/modules/access-model/group-files.js.map +1 -1
  73. package/dist/modules/agent-guide/agent-guide.tools.d.ts.map +1 -1
  74. package/dist/modules/agent-guide/agent-guide.tools.js +13 -3
  75. package/dist/modules/agent-guide/agent-guide.tools.js.map +1 -1
  76. package/dist/modules/agent-instructions/compose.d.ts +3 -1
  77. package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
  78. package/dist/modules/agent-instructions/compose.js +3 -1
  79. package/dist/modules/agent-instructions/compose.js.map +1 -1
  80. package/dist/modules/agent-instructions/shared-file-rules.d.ts +5 -1
  81. package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -1
  82. package/dist/modules/agent-instructions/shared-file-rules.js +16 -1
  83. package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -1
  84. package/dist/modules/agent-scope/agent-scope.contract.d.ts +67 -0
  85. package/dist/modules/agent-scope/agent-scope.contract.d.ts.map +1 -0
  86. package/dist/modules/agent-scope/agent-scope.contract.js +27 -0
  87. package/dist/modules/agent-scope/agent-scope.contract.js.map +1 -0
  88. package/dist/modules/agent-scope/connection-scope.d.ts +111 -0
  89. package/dist/modules/agent-scope/connection-scope.d.ts.map +1 -0
  90. package/dist/modules/agent-scope/connection-scope.js +165 -0
  91. package/dist/modules/agent-scope/connection-scope.js.map +1 -0
  92. package/dist/modules/agent-scope/index.d.ts +3 -0
  93. package/dist/modules/agent-scope/index.d.ts.map +1 -0
  94. package/dist/modules/agent-scope/index.js +3 -0
  95. package/dist/modules/agent-scope/index.js.map +1 -0
  96. package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
  97. package/dist/modules/audit/agent-audit.service.js +2 -0
  98. package/dist/modules/audit/agent-audit.service.js.map +1 -1
  99. package/dist/modules/audit/audit.contract.d.ts +6 -0
  100. package/dist/modules/audit/audit.contract.d.ts.map +1 -1
  101. package/dist/modules/audit/audit.contract.js.map +1 -1
  102. package/dist/modules/auth/account-admission.d.ts +12 -0
  103. package/dist/modules/auth/account-admission.d.ts.map +1 -1
  104. package/dist/modules/auth/account-admission.js +15 -0
  105. package/dist/modules/auth/account-admission.js.map +1 -1
  106. package/dist/modules/auth/auth.middleware.d.ts +27 -1
  107. package/dist/modules/auth/auth.middleware.d.ts.map +1 -1
  108. package/dist/modules/auth/auth.middleware.js +42 -4
  109. package/dist/modules/auth/auth.middleware.js.map +1 -1
  110. package/dist/modules/auth/auth.routes.d.ts +13 -9
  111. package/dist/modules/auth/auth.routes.d.ts.map +1 -1
  112. package/dist/modules/auth/auth.routes.js +35 -29
  113. package/dist/modules/auth/auth.routes.js.map +1 -1
  114. package/dist/modules/auth/auth.service.d.ts +55 -6
  115. package/dist/modules/auth/auth.service.d.ts.map +1 -1
  116. package/dist/modules/auth/auth.service.js +128 -34
  117. package/dist/modules/auth/auth.service.js.map +1 -1
  118. package/dist/modules/auth/index.d.ts +1 -1
  119. package/dist/modules/auth/index.d.ts.map +1 -1
  120. package/dist/modules/auth/index.js +1 -1
  121. package/dist/modules/auth/index.js.map +1 -1
  122. package/dist/modules/auth/oidc-auth-provider.d.ts.map +1 -1
  123. package/dist/modules/auth/oidc-auth-provider.js +2 -9
  124. package/dist/modules/auth/oidc-auth-provider.js.map +1 -1
  125. package/dist/modules/database/core-schema.d.ts +68 -0
  126. package/dist/modules/database/core-schema.d.ts.map +1 -1
  127. package/dist/modules/database/core-schema.js +33 -0
  128. package/dist/modules/database/core-schema.js.map +1 -1
  129. package/dist/modules/declared-variables/declared-variables.routes.d.ts +8 -1
  130. package/dist/modules/declared-variables/declared-variables.routes.d.ts.map +1 -1
  131. package/dist/modules/declared-variables/declared-variables.routes.js +13 -2
  132. package/dist/modules/declared-variables/declared-variables.routes.js.map +1 -1
  133. package/dist/modules/embed/embed.tools.d.ts.map +1 -1
  134. package/dist/modules/embed/embed.tools.js +5 -0
  135. package/dist/modules/embed/embed.tools.js.map +1 -1
  136. package/dist/modules/kb-fs/index.d.ts +2 -0
  137. package/dist/modules/kb-fs/index.d.ts.map +1 -1
  138. package/dist/modules/kb-fs/index.js +1 -0
  139. package/dist/modules/kb-fs/index.js.map +1 -1
  140. package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
  141. package/dist/modules/kb-fs/locking-filesystem.js +7 -1
  142. package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
  143. package/dist/modules/kb-fs/repo-path.d.ts +26 -6
  144. package/dist/modules/kb-fs/repo-path.d.ts.map +1 -1
  145. package/dist/modules/kb-fs/repo-path.js +22 -7
  146. package/dist/modules/kb-fs/repo-path.js.map +1 -1
  147. package/dist/modules/kb-fs/tmp-ref.d.ts +36 -0
  148. package/dist/modules/kb-fs/tmp-ref.d.ts.map +1 -0
  149. package/dist/modules/kb-fs/tmp-ref.js +76 -0
  150. package/dist/modules/kb-fs/tmp-ref.js.map +1 -0
  151. package/dist/modules/mcp/mcp-auth.middleware.d.ts +7 -0
  152. package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
  153. package/dist/modules/mcp/mcp-auth.middleware.js +14 -1
  154. package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
  155. package/dist/modules/mcp/mcp.routes.d.ts +7 -1
  156. package/dist/modules/mcp/mcp.routes.d.ts.map +1 -1
  157. package/dist/modules/mcp/mcp.routes.js +39 -4
  158. package/dist/modules/mcp/mcp.routes.js.map +1 -1
  159. package/dist/modules/mcp/mcp.service.d.ts +11 -0
  160. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  161. package/dist/modules/mcp/mcp.service.js +68 -13
  162. package/dist/modules/mcp/mcp.service.js.map +1 -1
  163. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts +24 -1
  164. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -1
  165. package/dist/modules/mcp/oauth/bevel-oauth-provider.js +45 -10
  166. package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -1
  167. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts +9 -0
  168. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts.map +1 -1
  169. package/dist/modules/mcp/oauth/oauth-consent.routes.js +34 -1
  170. package/dist/modules/mcp/oauth/oauth-consent.routes.js.map +1 -1
  171. package/dist/modules/plugins/index.d.ts +1 -1
  172. package/dist/modules/plugins/index.d.ts.map +1 -1
  173. package/dist/modules/plugins/index.js.map +1 -1
  174. package/dist/modules/plugins/plugin-links.d.ts +18 -2
  175. package/dist/modules/plugins/plugin-links.d.ts.map +1 -1
  176. package/dist/modules/plugins/plugin-links.js.map +1 -1
  177. package/dist/modules/plugins/plugins.routes.d.ts +5 -1
  178. package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
  179. package/dist/modules/plugins/plugins.routes.js +32 -5
  180. package/dist/modules/plugins/plugins.routes.js.map +1 -1
  181. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +9 -0
  182. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
  183. package/dist/modules/secrets-vault/secrets-vault.routes.js +15 -3
  184. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
  185. package/dist/modules/skills/index.d.ts +3 -3
  186. package/dist/modules/skills/index.d.ts.map +1 -1
  187. package/dist/modules/skills/index.js +0 -2
  188. package/dist/modules/skills/index.js.map +1 -1
  189. package/dist/modules/skills/skills.contract.d.ts +16 -0
  190. package/dist/modules/skills/skills.contract.d.ts.map +1 -1
  191. package/dist/modules/skills/skills.service.d.ts.map +1 -1
  192. package/dist/modules/skills/skills.service.js +6 -1
  193. package/dist/modules/skills/skills.service.js.map +1 -1
  194. package/dist/modules/skills/skills.tools.d.ts.map +1 -1
  195. package/dist/modules/skills/skills.tools.js +24 -12
  196. package/dist/modules/skills/skills.tools.js.map +1 -1
  197. package/dist/modules/tool-auth/external-api-key.interface.d.ts +11 -0
  198. package/dist/modules/tool-auth/external-api-key.interface.d.ts.map +1 -1
  199. package/dist/modules/tool-auth/external-api-key.interface.js.map +1 -1
  200. package/dist/modules/tool-auth/external-api-key.service.d.ts +1 -0
  201. package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -1
  202. package/dist/modules/tool-auth/external-api-key.service.js +4 -1
  203. package/dist/modules/tool-auth/external-api-key.service.js.map +1 -1
  204. package/dist/modules/tool-auth/index.d.ts +1 -1
  205. package/dist/modules/tool-auth/index.d.ts.map +1 -1
  206. package/dist/modules/tool-auth/internal-token.service.d.ts +9 -0
  207. package/dist/modules/tool-auth/internal-token.service.d.ts.map +1 -1
  208. package/dist/modules/tool-auth/internal-token.service.js +1 -0
  209. package/dist/modules/tool-auth/internal-token.service.js.map +1 -1
  210. package/dist/modules/tool-auth/tool-auth.middleware.d.ts +27 -3
  211. package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
  212. package/dist/modules/tool-auth/tool-auth.middleware.js +32 -6
  213. package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
  214. package/dist/modules/tool-helpers/tool-context.d.ts +7 -0
  215. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
  216. package/dist/modules/tool-helpers/tool-context.js +3 -0
  217. package/dist/modules/tool-helpers/tool-context.js.map +1 -1
  218. package/dist/modules/tool-helpers/tool-handler.d.ts +15 -0
  219. package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -1
  220. package/dist/modules/tool-helpers/tool-handler.js +19 -0
  221. package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
  222. package/dist/modules/tool-helpers/tool.contract.d.ts +10 -0
  223. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
  224. package/dist/modules/tool-helpers/tool.contract.js.map +1 -1
  225. package/dist/modules/tool-helpers/validate-token.d.ts +3 -1
  226. package/dist/modules/tool-helpers/validate-token.d.ts.map +1 -1
  227. package/dist/modules/tool-helpers/validate-token.js +1 -1
  228. package/dist/modules/tool-helpers/validate-token.js.map +1 -1
  229. package/dist/modules/tool-manuals/index.d.ts +3 -3
  230. package/dist/modules/tool-manuals/index.d.ts.map +1 -1
  231. package/dist/modules/tool-manuals/index.js +0 -2
  232. package/dist/modules/tool-manuals/index.js.map +1 -1
  233. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +19 -6
  234. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
  235. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +7 -1
  236. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -1
  237. package/dist/modules/tool-manuals/tool-manuals.routes.js +41 -4
  238. package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -1
  239. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +13 -6
  240. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
  241. package/dist/modules/tool-manuals/tool-manuals.service.js +23 -15
  242. package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
  243. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  244. package/dist/modules/tool-manuals/tool-manuals.tools.js +25 -10
  245. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  246. package/dist/modules/tool-registry/manual.routes.d.ts +8 -1
  247. package/dist/modules/tool-registry/manual.routes.d.ts.map +1 -1
  248. package/dist/modules/tool-registry/manual.routes.js +27 -7
  249. package/dist/modules/tool-registry/manual.routes.js.map +1 -1
  250. package/dist/modules/tool-registry/tool.contract.d.ts +7 -0
  251. package/dist/modules/tool-registry/tool.contract.d.ts.map +1 -1
  252. package/dist/modules/tool-registry/tool.contract.js.map +1 -1
  253. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  254. package/dist/modules/workflow/agent-tools/workflow.tools.js +14 -9
  255. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  256. package/dist/modules/workflow/git/git.service.d.ts +2 -2
  257. package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
  258. package/dist/modules/workflow/git/git.service.js +20 -35
  259. package/dist/modules/workflow/git/git.service.js.map +1 -1
  260. package/dist/modules/workflow/workflow.service.d.ts +2 -1
  261. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  262. package/dist/modules/workflow/workflow.service.js +3 -0
  263. package/dist/modules/workflow/workflow.service.js.map +1 -1
  264. package/dist/modules/workspace/file-readers/doc-extract.service.d.ts +28 -4
  265. package/dist/modules/workspace/file-readers/doc-extract.service.d.ts.map +1 -1
  266. package/dist/modules/workspace/file-readers/doc-extract.service.js +61 -40
  267. package/dist/modules/workspace/file-readers/doc-extract.service.js.map +1 -1
  268. package/dist/modules/workspace/index.d.ts +8 -0
  269. package/dist/modules/workspace/index.d.ts.map +1 -1
  270. package/dist/modules/workspace/index.js +8 -0
  271. package/dist/modules/workspace/index.js.map +1 -1
  272. package/dist/modules/workspace/nul-scan.d.ts +19 -0
  273. package/dist/modules/workspace/nul-scan.d.ts.map +1 -0
  274. package/dist/modules/workspace/nul-scan.js +55 -0
  275. package/dist/modules/workspace/nul-scan.js.map +1 -0
  276. package/dist/modules/workspace/pattern-matcher.contract.d.ts +110 -27
  277. package/dist/modules/workspace/pattern-matcher.contract.d.ts.map +1 -1
  278. package/dist/modules/workspace/pattern-matcher.contract.js +30 -13
  279. package/dist/modules/workspace/pattern-matcher.contract.js.map +1 -1
  280. package/dist/modules/workspace/ripgrep-search.d.ts +54 -0
  281. package/dist/modules/workspace/ripgrep-search.d.ts.map +1 -0
  282. package/dist/modules/workspace/ripgrep-search.js +657 -0
  283. package/dist/modules/workspace/ripgrep-search.js.map +1 -0
  284. package/dist/modules/workspace/ripgrep-version.d.ts +15 -0
  285. package/dist/modules/workspace/ripgrep-version.d.ts.map +1 -0
  286. package/dist/modules/workspace/ripgrep-version.js +31 -0
  287. package/dist/modules/workspace/ripgrep-version.js.map +1 -0
  288. package/dist/modules/workspace/startup/beside-checkout.d.ts +8 -5
  289. package/dist/modules/workspace/startup/beside-checkout.d.ts.map +1 -1
  290. package/dist/modules/workspace/startup/beside-checkout.js +14 -5
  291. package/dist/modules/workspace/startup/beside-checkout.js.map +1 -1
  292. package/dist/modules/workspace/worker-pool.d.ts +3 -4
  293. package/dist/modules/workspace/worker-pool.d.ts.map +1 -1
  294. package/dist/modules/workspace/worker-pool.js.map +1 -1
  295. package/dist/modules/workspace/workspace-tmp.d.ts +146 -0
  296. package/dist/modules/workspace/workspace-tmp.d.ts.map +1 -0
  297. package/dist/modules/workspace/workspace-tmp.js +435 -0
  298. package/dist/modules/workspace/workspace-tmp.js.map +1 -0
  299. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
  300. package/dist/modules/workspace/workspace.routes.js +5 -26
  301. package/dist/modules/workspace/workspace.routes.js.map +1 -1
  302. package/dist/modules/workspace/workspace.service.d.ts +47 -6
  303. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  304. package/dist/modules/workspace/workspace.service.js +86 -6
  305. package/dist/modules/workspace/workspace.service.js.map +1 -1
  306. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  307. package/dist/modules/workspace/workspace.tools.js +460 -116
  308. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  309. package/dist/shared/path-order.d.ts +28 -8
  310. package/dist/shared/path-order.d.ts.map +1 -1
  311. package/dist/shared/path-order.js +37 -8
  312. package/dist/shared/path-order.js.map +1 -1
  313. package/migrations/0022_session_version.sql +6 -0
  314. package/migrations/0023_agent_path.sql +3 -0
  315. package/migrations/meta/0022_snapshot.json +2360 -0
  316. package/migrations/meta/0023_snapshot.json +2378 -0
  317. package/migrations/meta/_journal.json +14 -0
  318. package/package.json +3 -3
  319. package/src/__tests__/pg-scratch.test.ts +69 -0
  320. package/src/__tests__/pg-scratch.ts +31 -0
  321. package/src/__tests__/slow-ripgrep.ts +65 -0
  322. package/src/core/__tests__/boot-without-ripgrep.test.ts +34 -0
  323. package/src/core/__tests__/catalog-revision.test.ts +89 -0
  324. package/src/core/__tests__/damaged-document.tools.test.ts +2 -2
  325. package/src/core/__tests__/gated-boot.test.ts +8 -1
  326. package/src/core/__tests__/lifecycle.test.ts +46 -13
  327. package/src/core/catalog-revision.ts +24 -2
  328. package/src/core/core-ports.ts +42 -0
  329. package/src/core/create-core-server.ts +13 -0
  330. package/src/core/create-core-services.ts +49 -12
  331. package/src/core/lifecycle.ts +26 -2
  332. package/src/index.ts +1 -1
  333. package/src/modules/access/__tests__/access-control.admin-root-floor.test.ts +12 -0
  334. package/src/modules/access/__tests__/access-control.colliding-name-cases.test.ts +113 -0
  335. package/src/modules/access/__tests__/access-control.frontmatter-head.test.ts +117 -0
  336. package/src/modules/access/__tests__/access-control.group-named-admin.test.ts +122 -0
  337. package/src/modules/access/__tests__/access-control.preview-relocation.test.ts +50 -0
  338. package/src/modules/access/__tests__/access-declarations.test.ts +19 -0
  339. package/src/modules/access/__tests__/access-groups.test.ts +55 -22
  340. package/src/modules/access/__tests__/access-mutation.service.test.ts +85 -59
  341. package/src/modules/access/__tests__/access-restrict-here.test.ts +7 -5
  342. package/src/modules/access/__tests__/access.routes.admins.test.ts +1 -0
  343. package/src/modules/access/__tests__/access.routes.batch.test.ts +2 -0
  344. package/src/modules/access/__tests__/access.routes.folder-governs.test.ts +2 -0
  345. package/src/modules/access/__tests__/access.routes.group-grant.test.ts +50 -14
  346. package/src/modules/access/__tests__/access.routes.overrides.test.ts +2 -1
  347. package/src/modules/access/__tests__/access.routes.proposal-branch.test.ts +1 -0
  348. package/src/modules/access/__tests__/access.routes.prospective.test.ts +2 -0
  349. package/src/modules/access/__tests__/access.routes.revoke.test.ts +18 -13
  350. package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +2 -0
  351. package/src/modules/access/__tests__/grant-sources.test.ts +20 -15
  352. package/src/modules/access/__tests__/groups-admin.routes.test.ts +61 -0
  353. package/src/modules/access/__tests__/groups-admin.service.test.ts +211 -18
  354. package/src/modules/access/__tests__/reference-scan.test.ts +366 -14
  355. package/src/modules/access/__tests__/roles-admin.security.test.ts +1 -1
  356. package/src/modules/access/__tests__/roles-admin.service.test.ts +43 -22
  357. package/src/modules/access/__tests__/roles-capabilities.test.ts +6 -2
  358. package/src/modules/access/__tests__/roles.routes.test.ts +1 -1
  359. package/src/modules/access/access-control.interface.ts +17 -10
  360. package/src/modules/access/access-control.service.ts +158 -72
  361. package/src/modules/access/access-mutation.service.ts +48 -53
  362. package/src/modules/access/access-view.ts +12 -10
  363. package/src/modules/access/access.routes.ts +43 -33
  364. package/src/modules/access/groups-admin.routes.ts +4 -2
  365. package/src/modules/access/groups-admin.service.ts +114 -44
  366. package/src/modules/access/groups-edit.ts +1 -1
  367. package/src/modules/access/reference-scan.ts +319 -46
  368. package/src/modules/access/roles-admin.service.ts +43 -26
  369. package/src/modules/access/synced-groups-writer.ts +1 -1
  370. package/src/modules/access-model/__tests__/access-grammar.test.ts +38 -1
  371. package/src/modules/access-model/__tests__/access-splice.test.ts +50 -8
  372. package/src/modules/access-model/access-grammar.ts +65 -20
  373. package/src/modules/access-model/access-splice.ts +31 -23
  374. package/src/modules/access-model/group-files.ts +5 -0
  375. package/src/modules/agent-guide/__tests__/agent-guide.test.ts +31 -0
  376. package/src/modules/agent-guide/agent-guide.tools.ts +13 -2
  377. package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +1 -0
  378. package/src/modules/agent-instructions/compose.ts +3 -1
  379. package/src/modules/agent-instructions/shared-file-rules.ts +17 -1
  380. package/src/modules/agent-scope/__tests__/agent-surfaces.connect-as.test.ts +421 -0
  381. package/src/modules/agent-scope/__tests__/connection-scope.test.ts +46 -0
  382. package/src/modules/agent-scope/__tests__/in-memory-kb.ts +148 -0
  383. package/src/modules/agent-scope/agent-scope.contract.ts +83 -0
  384. package/src/modules/agent-scope/connection-scope.ts +199 -0
  385. package/src/modules/agent-scope/index.ts +15 -0
  386. package/src/modules/audit/agent-audit.service.ts +2 -0
  387. package/src/modules/audit/audit.contract.ts +6 -0
  388. package/src/modules/auth/__tests__/auth.middleware.test.ts +30 -2
  389. package/src/modules/auth/__tests__/auth.routes.test.ts +71 -5
  390. package/src/modules/auth/__tests__/auth.service.test.ts +90 -9
  391. package/src/modules/auth/__tests__/password-change-sessions.pg.test.ts +269 -0
  392. package/src/modules/auth/account-admission.ts +19 -0
  393. package/src/modules/auth/auth.middleware.ts +45 -4
  394. package/src/modules/auth/auth.routes.ts +46 -29
  395. package/src/modules/auth/auth.service.ts +135 -34
  396. package/src/modules/auth/index.ts +2 -0
  397. package/src/modules/auth/oidc-auth-provider.ts +2 -9
  398. package/src/modules/database/__tests__/session-version-migration.pg.test.ts +133 -0
  399. package/src/modules/database/core-schema.ts +33 -0
  400. package/src/modules/declared-variables/__tests__/declared-variables.route.test.ts +44 -1
  401. package/src/modules/declared-variables/declared-variables.routes.ts +12 -1
  402. package/src/modules/embed/__tests__/embed.tools.test.ts +12 -0
  403. package/src/modules/embed/embed.tools.ts +5 -0
  404. package/src/modules/kb-fs/__tests__/locking-filesystem.test.ts +25 -0
  405. package/src/modules/kb-fs/__tests__/repo-path.test.ts +53 -8
  406. package/src/modules/kb-fs/index.ts +2 -0
  407. package/src/modules/kb-fs/locking-filesystem.ts +7 -1
  408. package/src/modules/kb-fs/repo-path.ts +33 -7
  409. package/src/modules/kb-fs/tmp-ref.ts +81 -0
  410. package/src/modules/mcp/__tests__/connect-as.pg.test.ts +137 -0
  411. package/src/modules/mcp/__tests__/mcp-auth.middleware.test.ts +29 -5
  412. package/src/modules/mcp/__tests__/mcp-routes-harness.ts +8 -0
  413. package/src/modules/mcp/__tests__/mcp.connect-as.test.ts +195 -0
  414. package/src/modules/mcp/__tests__/mcp.routes.connect-as.test.ts +192 -0
  415. package/src/modules/mcp/__tests__/oauth-consent.connect-as.test.ts +146 -0
  416. package/src/modules/mcp/mcp-auth.middleware.ts +19 -2
  417. package/src/modules/mcp/mcp.routes.ts +39 -3
  418. package/src/modules/mcp/mcp.service.ts +107 -17
  419. package/src/modules/mcp/oauth/bevel-oauth-provider.ts +46 -8
  420. package/src/modules/mcp/oauth/oauth-consent.routes.ts +41 -1
  421. package/src/modules/plugins/__tests__/plugins.tools.test.ts +38 -2
  422. package/src/modules/plugins/index.ts +1 -1
  423. package/src/modules/plugins/plugin-links.ts +19 -2
  424. package/src/modules/plugins/plugins.routes.ts +35 -4
  425. package/src/modules/secrets-vault/__tests__/connect-pending.route.test.ts +113 -0
  426. package/src/modules/secrets-vault/secrets-vault.routes.ts +23 -3
  427. package/src/modules/skills/__tests__/skills.service.test.ts +34 -0
  428. package/src/modules/skills/index.ts +7 -2
  429. package/src/modules/skills/skills.contract.ts +17 -0
  430. package/src/modules/skills/skills.service.ts +5 -1
  431. package/src/modules/skills/skills.tools.ts +44 -13
  432. package/src/modules/tool-auth/__tests__/external-api-key.service.test.ts +4 -0
  433. package/src/modules/tool-auth/external-api-key.interface.ts +11 -1
  434. package/src/modules/tool-auth/external-api-key.service.ts +5 -2
  435. package/src/modules/tool-auth/index.ts +1 -1
  436. package/src/modules/tool-auth/internal-token.service.ts +10 -0
  437. package/src/modules/tool-auth/tool-auth.middleware.ts +45 -3
  438. package/src/modules/tool-helpers/__tests__/can-write.tools.test.ts +3 -1
  439. package/src/modules/tool-helpers/tool-context.ts +10 -0
  440. package/src/modules/tool-helpers/tool-handler.ts +34 -0
  441. package/src/modules/tool-helpers/tool.contract.ts +10 -0
  442. package/src/modules/tool-helpers/validate-token.ts +4 -2
  443. package/src/modules/tool-manuals/__tests__/tool-manuals.archive.route.test.ts +80 -4
  444. package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +42 -0
  445. package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +3 -3
  446. package/src/modules/tool-manuals/index.ts +6 -2
  447. package/src/modules/tool-manuals/tool-manuals.contract.ts +18 -6
  448. package/src/modules/tool-manuals/tool-manuals.routes.ts +40 -3
  449. package/src/modules/tool-manuals/tool-manuals.service.ts +31 -15
  450. package/src/modules/tool-manuals/tool-manuals.tools.ts +28 -11
  451. package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +2 -2
  452. package/src/modules/tool-registry/manual.routes.ts +26 -5
  453. package/src/modules/tool-registry/tool.contract.ts +7 -0
  454. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +1 -1
  455. package/src/modules/workflow/__tests__/workflow.service.sync.test.ts +1 -1
  456. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +54 -3
  457. package/src/modules/workflow/agent-tools/workflow.tools.ts +14 -9
  458. package/src/modules/workflow/git/__tests__/git.service.list-branches.test.ts +130 -3
  459. package/src/modules/workflow/git/git.service.ts +29 -48
  460. package/src/modules/workflow/workflow.service.ts +5 -0
  461. package/src/modules/workspace/__tests__/git-internals.security.test.ts +2 -2
  462. package/src/modules/workspace/__tests__/holds-nul.test.ts +66 -0
  463. package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +3 -3
  464. package/src/modules/workspace/__tests__/ripgrep-search.test.ts +570 -0
  465. package/src/modules/workspace/__tests__/ripgrep-version.test.ts +29 -0
  466. package/src/modules/workspace/__tests__/workspace-tmp.tools.test.ts +928 -0
  467. package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +17 -37
  468. package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +20 -8
  469. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +2 -2
  470. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +22 -10
  471. package/src/modules/workspace/__tests__/workspace.tools.test.ts +393 -113
  472. package/src/modules/workspace/file-readers/__tests__/doc-extract.service.test.ts +10 -0
  473. package/src/modules/workspace/file-readers/doc-extract.service.ts +71 -38
  474. package/src/modules/workspace/index.ts +20 -0
  475. package/src/modules/workspace/nul-scan.ts +50 -0
  476. package/src/modules/workspace/pattern-matcher.contract.ts +123 -32
  477. package/src/modules/workspace/ripgrep-search.ts +715 -0
  478. package/src/modules/workspace/ripgrep-version.ts +35 -0
  479. package/src/modules/workspace/startup/__tests__/beside-checkout.test.ts +11 -0
  480. package/src/modules/workspace/startup/beside-checkout.ts +13 -5
  481. package/src/modules/workspace/worker-pool.ts +3 -4
  482. package/src/modules/workspace/workspace-tmp.ts +457 -0
  483. package/src/modules/workspace/workspace.routes.ts +6 -27
  484. package/src/modules/workspace/workspace.service.ts +92 -15
  485. package/src/modules/workspace/workspace.tools.ts +500 -155
  486. package/src/shared/path-order.ts +37 -8
  487. package/starter-packs/engineering/Plugins/engineering-starter/access.md +1 -1
  488. package/starter-packs/general/Plugins/general-starter/access.md +1 -1
  489. package/starter-packs/operations/Plugins/operations-starter/access.md +1 -1
  490. package/starter-packs/sales/Plugins/sales-starter/access.md +1 -1
  491. package/starter-packs/support/Plugins/support-starter/access.md +1 -1
  492. package/dist/modules/workspace/bounded-matcher.d.ts +0 -73
  493. package/dist/modules/workspace/bounded-matcher.d.ts.map +0 -1
  494. package/dist/modules/workspace/bounded-matcher.js +0 -200
  495. package/dist/modules/workspace/bounded-matcher.js.map +0 -1
  496. package/src/modules/workspace/__tests__/bounded-matcher.test.ts +0 -213
  497. package/src/modules/workspace/bounded-matcher.ts +0 -271
@@ -23,6 +23,9 @@ import { currentRequest, runInRequest } from './request-context.js';
23
23
  import { printable } from '../../shared/printable.js';
24
24
  import { composeAgentInstructions, prefixToolDescription, PREFIXED_TOOLS, } from '../agent-instructions/index.js';
25
25
  import { guideFirstDescription } from '../tool-registry/index.js';
26
+ import { CONNECTION_META_KEY, connectionRefusal, connectionWireOf, describeConnection, } from '@bevel-software/platform-mcp-core';
27
+ // Still offered from here, as this module's tests and callers learnt it.
28
+ export { CONNECTION_META_KEY };
26
29
  /**
27
30
  * Upper bound on one `loopbackJson` round-trip (manual list, skill fetch) so a
28
31
  * hung loopback can't stall a request. Generous: these endpoints answer in
@@ -42,6 +45,15 @@ const LOOPBACK_TIMEOUT_MS = 15_000;
42
45
  */
43
46
  export const MCP_LOOPBACK_TOKEN_TTL_MS = 5 * 60 * 60 * 1000;
44
47
  const callTemplateSerializer = new CallTemplateSerializer();
48
+ /**
49
+ * The `connection` a loopback answer (`all-tools`, `catalog-revision`)
50
+ * carries, as a field to spread: validated at the boundary by the MCP
51
+ * core's reader (HTTP loses the type), and absent for Everything.
52
+ */
53
+ function connectionOf(body) {
54
+ const connection = connectionWireOf(body);
55
+ return connection ? { connection } : {};
56
+ }
45
57
  /**
46
58
  * How long a surface missing a manual that failed is kept (see
47
59
  * {@link RequestSurface.degraded}): the refresh policy's window, so the
@@ -264,11 +276,20 @@ export class McpService {
264
276
  // verifier resolves it to `source: 'external'`: the caller IS an external
265
277
  // agent and must be treated like one (admitted to `start_session`/`ask`,
266
278
  // refused from internal-only tools).
279
+ // The agent the connection was made as rides that token too, so the
280
+ // surfaces behind the loopback narrow to its scope; a connection key
281
+ // carries its own.
282
+ const agentPath = caller.agentPath || null;
267
283
  const loopbackBearer = tokenId == null && this.internalTokens
268
- ? this.internalTokens.mint({ userId, externalProxy: true }, MCP_LOOPBACK_TOKEN_TTL_MS)
284
+ ? this.internalTokens.mint({ userId, externalProxy: true, ...(agentPath ? { agentPath } : {}) }, MCP_LOOPBACK_TOKEN_TTL_MS)
269
285
  : bearer;
270
286
  let instructions;
271
287
  const agentInstructions = () => (instructions ??= this.composeAgentInstructions());
288
+ // What a narrowed connection is told about itself at the handshake: the
289
+ // agent it is connected as, or why it loads nothing. Read off the catalog
290
+ // revision (cheap), not the surface (a full discovery). Everything is
291
+ // told nothing new, so its handshake is exactly what it was.
292
+ const connectionLine = async () => agentPath ? describeConnection((await this.fetchCatalogRevision(loopbackBearer)).connection) : null;
272
293
  // The Audit log's view of this request — only when the request can be
273
294
  // attributed to a key, an agent connection or a page. The catalog names
274
295
  // it classifies pooled tools by are the surface's, which is looked up
@@ -299,6 +320,10 @@ export class McpService {
299
320
  return found;
300
321
  }));
301
322
  const initializing = (Array.isArray(messages) ? messages : [messages]).some((m) => isInitializeRequest(m));
323
+ const handshakeInstructions = async () => {
324
+ const [{ instructions: text }, line] = await Promise.all([agentInstructions(), connectionLine()]);
325
+ return line ? `${text}\n\n${line}` : text;
326
+ };
302
327
  // The deployment's MCP Apps, read once per request. Declaring the
303
328
  // `resources` capability is what permits the two handlers below, and a
304
329
  // deployment with no view must not declare it — a client would then list
@@ -317,10 +342,10 @@ export class McpService {
317
342
  },
318
343
  // `instructions` rides the initialize result; clients that honour it
319
344
  // place the text in the model's system prompt without the model acting.
320
- ...(initializing ? { instructions: (await agentInstructions()).instructions } : {}),
345
+ ...(initializing ? { instructions: await handshakeInstructions() } : {}),
321
346
  });
322
347
  server.setRequestHandler(ListToolsRequestSchema, async () => inRequest(async () => {
323
- const [{ tools, catalogNames }, { toolPrefix }, readOnly] = await Promise.all([
348
+ const [{ tools, catalogNames, connection }, { toolPrefix }, readOnly] = await Promise.all([
324
349
  requestSurface(),
325
350
  agentInstructions(),
326
351
  // A failed read lists the built-in hints rather than no listing at all.
@@ -329,6 +354,12 @@ export class McpService {
329
354
  return undefined;
330
355
  }),
331
356
  ]);
357
+ // A connection whose agent configuration cannot be used is served NOTHING — not
358
+ // Everything — and the one sentence saying why rides the listing's
359
+ // `_meta` (the handshake carries it too).
360
+ if (connection?.unavailable) {
361
+ return { tools: [], _meta: { [CONNECTION_META_KEY]: connection.unavailable } };
362
+ }
332
363
  // A discovered tool whose name collides with a meta-tool would be
333
364
  // listed but never callable (the dispatcher routes the name to the
334
365
  // meta-tool first), so drop it from the listing entirely.
@@ -440,7 +471,11 @@ export class McpService {
440
471
  });
441
472
  }
442
473
  server.setRequestHandler(CallToolRequestSchema, async (request, extra) => inRequest(async () => {
443
- const { client: shared, tools, unavailable, catalogNames, hidden: hiddenTools } = await requestSurface();
474
+ const { client: shared, tools, unavailable, catalogNames, hidden: hiddenTools, connection } = await requestSurface();
475
+ // Nothing is callable on a connection that loads nothing, meta-tools
476
+ // included: every call is answered with the reason.
477
+ if (connection?.unavailable)
478
+ return toolError(connection.unavailable);
444
479
  // The person's client, as this request uses it: every call it makes —
445
480
  // a chain's too, which comes back from the isolate outside any async
446
481
  // context — carries this request's bearer and audit.
@@ -516,7 +551,12 @@ export class McpService {
516
551
  if (answer && owner && audit) {
517
552
  await audit.denied(`${owner.utcpName}.${toolName.slice(owner.utcpName.length + 1)}`, args);
518
553
  }
519
- return answer ?? toolError(retiredToolMessage(toolName) ?? `Unknown tool "${toolName}".`);
554
+ // On a narrowed connection, a tool off the surface is one its agent
555
+ // does not load: refused by name and agent, never "unknown" — the tool
556
+ // may well exist, for this person, on another connection.
557
+ return (answer ??
558
+ toolError(retiredToolMessage(toolName) ??
559
+ (connection ? connectionRefusal(toolName, connection) : `Unknown tool "${toolName}".`)));
520
560
  }
521
561
  const needsAuth = await needsAuthorization(proxied.manualName);
522
562
  if (needsAuth) {
@@ -611,16 +651,28 @@ export class McpService {
611
651
  */
612
652
  async surfaceFor(caller, loopbackBearer) {
613
653
  const { userId, tokenId } = caller;
614
- const revision = await this.fetchCatalogRevision(loopbackBearer);
654
+ const { revision } = await this.fetchCatalogRevision(loopbackBearer);
615
655
  if (revision === null)
616
656
  return this.buildSurface(userId, tokenId, loopbackBearer, 'uncached');
617
- const key = [userId, tokenId != null ? 'key' : 'person', caller.scope ?? 'write', revision].join(POOL_KEY_SEPARATOR);
657
+ // The agent the connection was made as is part of the key: two
658
+ // connections of one person made as different agents are two surfaces.
659
+ // (The revision already moves when the agent's FILE changes — it carries
660
+ // the file's digest — so an edit is a new build at the next request.)
661
+ // Everything adds nothing, and keeps the key it always had.
662
+ const key = [
663
+ userId,
664
+ tokenId != null ? 'key' : 'person',
665
+ caller.scope ?? 'write',
666
+ revision,
667
+ ...(caller.agentPath ? [caller.agentPath] : []),
668
+ ].join(POOL_KEY_SEPARATOR);
618
669
  const { value } = await this.surfaces.get(key, () => this.buildSurface(userId, tokenId, loopbackBearer, 'miss'), (built) => (built.degraded ? DEGRADED_SURFACE_MAX_AGE_MS : undefined));
619
670
  return value;
620
671
  }
621
672
  /**
622
673
  * The caller's catalog revision (`GET /api/agent/catalog-revision`, the one
623
674
  * `hexis-mcp` polls), read with their bearer; null when it cannot be read.
675
+ * With it, the agent the caller's connection is narrowed to, when it is.
624
676
  * A deployment or a test that does not serve the route answers 404, which
625
677
  * is not worth a line in the log; anything else is.
626
678
  */
@@ -633,14 +685,17 @@ export class McpService {
633
685
  if (!res.ok) {
634
686
  if (res.status !== 404)
635
687
  log.warn(`catalog-revision loopback failed: HTTP ${res.status}; building this request's surface uncached`);
636
- return null;
688
+ return { revision: null };
637
689
  }
638
690
  const body = (await res.json());
639
- return typeof body.revision === 'string' && body.revision ? body.revision : null;
691
+ return {
692
+ revision: typeof body.revision === 'string' && body.revision ? body.revision : null,
693
+ ...connectionOf(body),
694
+ };
640
695
  }
641
696
  catch (err) {
642
697
  log.warn("catalog-revision loopback threw; building this request's surface uncached:", { err });
643
- return null;
698
+ return { revision: null };
644
699
  }
645
700
  }
646
701
  /**
@@ -659,7 +714,7 @@ export class McpService {
659
714
  // The list of manuals this caller gets: the KB manual + each `.tool` they
660
715
  // can read. Fetched over loopback with the caller's key, so ACL filtering
661
716
  // lives ONCE behind the REST surface.
662
- const manuals = await this.fetchManualTemplates(loopbackBearer);
717
+ const { manuals, connection } = await this.fetchManualTemplates(loopbackBearer);
663
718
  const catalogMs = performance.now() - started;
664
719
  const client = await this.buildClient(userId, manuals);
665
720
  const discovered = await this.discoverTools(client, manuals, userId);
@@ -683,7 +738,7 @@ export class McpService {
683
738
  `(catalog ${catalogMs.toFixed(0)}ms, registration ${(totalMs - catalogMs).toFixed(0)}ms)` +
684
739
  (decision.suppressed > 0 ? ` [+${decision.suppressed} identical rebuild(s) since last line]` : ''));
685
740
  }
686
- return { ...discovered, client, tools };
741
+ return { ...discovered, client, tools, ...(connection ? { connection } : {}) };
687
742
  }
688
743
  /**
689
744
  * The instructions and tool prefix. A reader failure (a disk fault; ENOENT
@@ -782,7 +837,7 @@ export class McpService {
782
837
  // Always include the KB manual, even if `all-tools` was unavailable/regressed.
783
838
  if (!hasKb)
784
839
  out.unshift(this.kbManualTemplate());
785
- return out;
840
+ return { manuals: out, ...connectionOf(body) };
786
841
  }
787
842
  /** The KB manual's discovery template — the fallback if `all-tools` is unavailable. */
788
843
  kbManualTemplate() {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,13 @@ export declare class BevelOAuthProvider implements OAuthServerProvider {
64
64
  * Called by the Finish endpoint once an authenticated user completes the
65
65
  * /connect step: bind a one-time code to (user, client, redirect_uri, PKCE
66
66
  * challenge) and hand back the client redirect the browser should follow.
67
+ *
68
+ * @param agentPath The "Connect as" choice — an agent configuration the consent
69
+ * route has already checked the person may choose — or null for
70
+ * Everything. Carried on the code to the exchange, which records it on
71
+ * the agent connection.
67
72
  */
68
- issueAuthCode(userId: string, st: McpAuthRequestState): Promise<{
73
+ issueAuthCode(userId: string, st: McpAuthRequestState, agentPath?: string | null): Promise<{
69
74
  redirectTo: string;
70
75
  }>;
71
76
  challengeForAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string): Promise<string>;
@@ -98,6 +103,9 @@ export declare class BevelOAuthProvider implements OAuthServerProvider {
98
103
  * first mint, which finds or makes the live connection for (user, client).
99
104
  * @param tx The transaction the insert belongs to, when the mint must land
100
105
  * with the statement that consumed the token it replaces (a refresh).
106
+ * @param agentPath The consent's "Connect as" choice, recorded on the
107
+ * connection the pair is bound to (null: Everything). Only a first mint —
108
+ * a consent — passes it; a refresh leaves the connection's choice alone.
101
109
  * The prune is then the caller's, before the transaction opens: a
102
110
  * best-effort statement that fails inside a transaction would abort the
103
111
  * mint it is meant to spare, and one on the pool from inside it would
@@ -137,6 +145,16 @@ export declare class BevelOAuthProvider implements OAuthServerProvider {
137
145
  * revoke. A read, not a write: the use is stamped separately, throttled.
138
146
  */
139
147
  isConnectionLive(connectionId: string): Promise<boolean>;
148
+ /**
149
+ * A live agent connection's current "Connect as" choice (`agentPath` null
150
+ * = Everything), or null when the connection is gone or revoked. Read on
151
+ * every request through the local server's exchanged grant: that token is
152
+ * stateless and outlives a re-consent, so the choice it was minted with is
153
+ * not the one it is served as — the row's is.
154
+ */
155
+ liveConnectionChoice(connectionId: string): Promise<{
156
+ agentPath: string | null;
157
+ } | null>;
140
158
  /**
141
159
  * Record that an agent connection is in use — its `last_used_at` on the
142
160
  * Audit log — at most once a minute per connection per process, and never
@@ -174,6 +192,11 @@ export declare class BevelOAuthProvider implements OAuthServerProvider {
174
192
  * the other's `ON CONFLICT DO NOTHING` returns no row, and it re-reads the
175
193
  * winner's. The client's display name is snapshotted from its registration
176
194
  * at that moment.
195
+ *
196
+ * `agentPath` is a consent's "Connect as" choice: written on the row made,
197
+ * and on the live row found — the person's latest consent is what the agent
198
+ * connects as. `undefined` (a refresh of a token from before connections
199
+ * existed) leaves a found row's choice as it is.
177
200
  */
178
201
  private ensureConnection;
179
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bevel-oauth-provider.d.ts","sourceRoot":"","sources":["../../../../src/modules/mcp/oauth/bevel-oauth-provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAM/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAqC7E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,QAAQ,CAAC;IACb;;;;;OAKG;IACH,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAKhD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;gBAEpC,IAAI,EAAE,sBAAsB;IAOzD,IAAI,YAAY,IAAI,2BAA2B,CAE9C;IAED,OAAO,KAAK,aAAa,GAExB;IAED;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;YAI9B,SAAS;YAoBT,cAAc;IA4BtB,SAAS,CACb,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAkBhB;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,mBAAmB,GACtB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAqB5B,6BAA6B,CACjC,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IAYZ,yBAAyB,CAC7B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,EAAE,yDAAyD;IACjF,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,WAAW,CAAC;IA2BjB,oBAAoB,CACxB,MAAM,EAAE,0BAA0B,EAClC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,WAAW,CAAC;IAqHvB,4EAA4E;YAC9D,WAAW;IAgBzB,oHAAoH;YACtG,aAAa;IAiB3B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAcf,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+DzD;;;;;;OAMG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,WAAW,CACf,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC;IAwChB;;;;;;;;;;OAUG;YACW,UAAU;IAoCxB;;;;;;;;;;OAUG;YACW,gBAAgB;IAiB9B;;;;;;;;;;;;OAYG;IACH;;;;;;OAMG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9D;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAU7C;;;;;;;;;;;;;OAaG;YACW,kBAAkB;IAmBhC;;;;;;;;;;;;;;;OAeG;YACW,gBAAgB;CAmC/B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/E"}
1
+ {"version":3,"file":"bevel-oauth-provider.d.ts","sourceRoot":"","sources":["../../../../src/modules/mcp/oauth/bevel-oauth-provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAM/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAqC7E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,QAAQ,CAAC;IACb;;;;;OAKG;IACH,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAKhD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;gBAEpC,IAAI,EAAE,sBAAsB;IAOzD,IAAI,YAAY,IAAI,2BAA2B,CAE9C;IAED,OAAO,KAAK,aAAa,GAExB;IAED;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;YAI9B,SAAS;YAoBT,cAAc;IA4BtB,SAAS,CACb,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAkBhB;;;;;;;;;OASG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,mBAAmB,EACvB,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB5B,6BAA6B,CACjC,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IAYZ,yBAAyB,CAC7B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,EAAE,yDAAyD;IACjF,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,WAAW,CAAC;IA2BjB,oBAAoB,CACxB,MAAM,EAAE,0BAA0B,EAClC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,WAAW,CAAC;IAqHvB,4EAA4E;YAC9D,WAAW;IAgBzB,oHAAoH;YACtG,aAAa;IAiB3B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAcf,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoEzD;;;;;;OAMG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,WAAW,CACf,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC;IAwChB;;;;;;;;;;;;;OAaG;YACW,UAAU;IAqCxB;;;;;;;;;;OAUG;YACW,gBAAgB;IAiB9B;;;;;;;;;;;;OAYG;IACH;;;;;;OAMG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D;;;;;;OAMG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAS9F;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAU7C;;;;;;;;;;;;;OAaG;YACW,kBAAkB;IAmBhC;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,gBAAgB;CAyC/B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/E"}
@@ -136,8 +136,13 @@ export class BevelOAuthProvider {
136
136
  * Called by the Finish endpoint once an authenticated user completes the
137
137
  * /connect step: bind a one-time code to (user, client, redirect_uri, PKCE
138
138
  * challenge) and hand back the client redirect the browser should follow.
139
+ *
140
+ * @param agentPath The "Connect as" choice — an agent configuration the consent
141
+ * route has already checked the person may choose — or null for
142
+ * Everything. Carried on the code to the exchange, which records it on
143
+ * the agent connection.
139
144
  */
140
- async issueAuthCode(userId, st) {
145
+ async issueAuthCode(userId, st, agentPath = null) {
141
146
  // A state without a PKCE challenge is a Claude-link request, which the
142
147
  // marketplace bridge finishes; it must never reach the SDK's code store.
143
148
  if (!st.cc)
@@ -152,6 +157,7 @@ export class BevelOAuthProvider {
152
157
  scope: st.sc ?? null,
153
158
  resource: st.rs ?? null,
154
159
  expiresAt: new Date(Date.now() + CODE_TTL_MS),
160
+ ...(agentPath ? { agentPath } : {}),
155
161
  });
156
162
  const redirect = new URL(st.r);
157
163
  redirect.searchParams.set('code', code);
@@ -188,7 +194,7 @@ export class BevelOAuthProvider {
188
194
  if (redirectUri && redirectUri !== row.redirectUri) {
189
195
  throw new InvalidGrantError('redirect_uri does not match the authorization request');
190
196
  }
191
- return this.mintTokens(row.userId, row.clientId, row.scope, row.resource);
197
+ return this.mintTokens(row.userId, row.clientId, row.scope, row.resource, undefined, undefined, row.agentPath ?? null);
192
198
  }
193
199
  async exchangeRefreshToken(client, refreshToken, scopes, _resource) {
194
200
  const now = new Date();
@@ -337,6 +343,7 @@ export class BevelOAuthProvider {
337
343
  id: oauthTokens.id,
338
344
  clientId: oauthTokens.clientId,
339
345
  connectionId: oauthTokens.connectionId,
346
+ agentPath: agentConnections.agentPath,
340
347
  scope: oauthTokens.scope,
341
348
  resource: oauthTokens.resource,
342
349
  expiresAt: oauthTokens.expiresAt,
@@ -374,6 +381,10 @@ export class BevelOAuthProvider {
374
381
  // Null on a token minted before connections existed; the auth
375
382
  // middleware then binds no agent and the call goes unrecorded.
376
383
  connectionId: row.connectionId,
384
+ // The connection's "Connect as" choice, read off the row on every
385
+ // verification, so a re-consent with another choice reaches the
386
+ // agent's very next request. Null is Everything.
387
+ agentPath: row.agentPath ?? null,
377
388
  },
378
389
  };
379
390
  }
@@ -431,12 +442,15 @@ export class BevelOAuthProvider {
431
442
  * first mint, which finds or makes the live connection for (user, client).
432
443
  * @param tx The transaction the insert belongs to, when the mint must land
433
444
  * with the statement that consumed the token it replaces (a refresh).
445
+ * @param agentPath The consent's "Connect as" choice, recorded on the
446
+ * connection the pair is bound to (null: Everything). Only a first mint —
447
+ * a consent — passes it; a refresh leaves the connection's choice alone.
434
448
  * The prune is then the caller's, before the transaction opens: a
435
449
  * best-effort statement that fails inside a transaction would abort the
436
450
  * mint it is meant to spare, and one on the pool from inside it would
437
451
  * hold this request's client while waiting for another.
438
452
  */
439
- async mintTokens(userId, clientId, scope, resource, connectionId, tx) {
453
+ async mintTokens(userId, clientId, scope, resource, connectionId, tx, agentPath) {
440
454
  const accessToken = this.deps.tokenPrefix + randomBytes(TOKEN_BYTES).toString('base64url');
441
455
  const refreshToken = this.refreshPrefix + randomBytes(TOKEN_BYTES).toString('base64url');
442
456
  const now = Date.now();
@@ -444,7 +458,7 @@ export class BevelOAuthProvider {
444
458
  // transaction opened.
445
459
  if (!tx)
446
460
  await this.pruneTokenTables(now);
447
- const boundTo = connectionId ?? (await this.ensureConnection(userId, clientId));
461
+ const boundTo = connectionId ?? (await this.ensureConnection(userId, clientId, agentPath));
448
462
  const sink = tx ?? this.deps.db;
449
463
  await sink.insert(oauthTokens).values({
450
464
  accessTokenHash: hashToken(accessToken),
@@ -508,12 +522,22 @@ export class BevelOAuthProvider {
508
522
  * revoke. A read, not a write: the use is stamped separately, throttled.
509
523
  */
510
524
  async isConnectionLive(connectionId) {
525
+ return (await this.liveConnectionChoice(connectionId)) !== null;
526
+ }
527
+ /**
528
+ * A live agent connection's current "Connect as" choice (`agentPath` null
529
+ * = Everything), or null when the connection is gone or revoked. Read on
530
+ * every request through the local server's exchanged grant: that token is
531
+ * stateless and outlives a re-consent, so the choice it was minted with is
532
+ * not the one it is served as — the row's is.
533
+ */
534
+ async liveConnectionChoice(connectionId) {
511
535
  const [row] = await this.deps.db
512
- .select({ id: agentConnections.id })
536
+ .select({ agentPath: agentConnections.agentPath })
513
537
  .from(agentConnections)
514
538
  .where(and(eq(agentConnections.id, connectionId), isNull(agentConnections.revokedAt)))
515
539
  .limit(1);
516
- return row !== undefined;
540
+ return row ? { agentPath: row.agentPath ?? null } : null;
517
541
  }
518
542
  /**
519
543
  * Record that an agent connection is in use — its `last_used_at` on the
@@ -576,8 +600,13 @@ export class BevelOAuthProvider {
576
600
  * the other's `ON CONFLICT DO NOTHING` returns no row, and it re-reads the
577
601
  * winner's. The client's display name is snapshotted from its registration
578
602
  * at that moment.
603
+ *
604
+ * `agentPath` is a consent's "Connect as" choice: written on the row made,
605
+ * and on the live row found — the person's latest consent is what the agent
606
+ * connects as. `undefined` (a refresh of a token from before connections
607
+ * existed) leaves a found row's choice as it is.
579
608
  */
580
- async ensureConnection(userId, clientId) {
609
+ async ensureConnection(userId, clientId, agentPath) {
581
610
  const [client] = await this.deps.db
582
611
  .select({ clientName: oauthClients.clientName })
583
612
  .from(oauthClients)
@@ -590,12 +619,18 @@ export class BevelOAuthProvider {
590
619
  .from(agentConnections)
591
620
  .where(and(eq(agentConnections.userId, userId), eq(agentConnections.agentKey, agentKey), isNull(agentConnections.revokedAt)))
592
621
  .limit(1);
622
+ const choose = async (id) => {
623
+ if (agentPath !== undefined) {
624
+ await this.deps.db.update(agentConnections).set({ agentPath }).where(eq(agentConnections.id, id));
625
+ }
626
+ return id;
627
+ };
593
628
  const [existing] = await live();
594
629
  if (existing)
595
- return existing.id;
630
+ return choose(existing.id);
596
631
  const [inserted] = await this.deps.db
597
632
  .insert(agentConnections)
598
- .values({ userId, clientId, clientName, agentKey })
633
+ .values({ userId, clientId, clientName, agentKey, ...(agentPath ? { agentPath } : {}) })
599
634
  .onConflictDoNothing({
600
635
  target: [agentConnections.userId, agentConnections.agentKey],
601
636
  where: sql `${agentConnections.revokedAt} is null`,
@@ -606,7 +641,7 @@ export class BevelOAuthProvider {
606
641
  const [winner] = await live();
607
642
  if (!winner)
608
643
  throw new Error('agent connection vanished between insert and re-read');
609
- return winner.id;
644
+ return choose(winner.id);
610
645
  }
611
646
  }
612
647
  /**