@bevel-software/platform-core-backend 0.32.0 → 0.33.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 (958) hide show
  1. package/agent-guide/access-control.md +5 -0
  2. package/agent-guide/html-views.md +46 -10
  3. package/dist/core/create-core-server.d.ts.map +1 -1
  4. package/dist/core/create-core-server.js +29 -4
  5. package/dist/core/create-core-server.js.map +1 -1
  6. package/dist/core/create-core-services.d.ts +7 -2
  7. package/dist/core/create-core-services.d.ts.map +1 -1
  8. package/dist/core/create-core-services.js +22 -6
  9. package/dist/core/create-core-services.js.map +1 -1
  10. package/dist/core/lifecycle.d.ts +8 -0
  11. package/dist/core/lifecycle.d.ts.map +1 -1
  12. package/dist/core/lifecycle.js +4 -0
  13. package/dist/core/lifecycle.js.map +1 -1
  14. package/dist/core/public-config.d.ts +10 -0
  15. package/dist/core/public-config.d.ts.map +1 -1
  16. package/dist/core/public-config.js +10 -0
  17. package/dist/core/public-config.js.map +1 -1
  18. package/dist/modules/access/access-control.service.d.ts +3 -3
  19. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  20. package/dist/modules/access/access-control.service.js +4 -5
  21. package/dist/modules/access/access-control.service.js.map +1 -1
  22. package/dist/modules/access/access-declarations.d.ts +1 -1
  23. package/dist/modules/access/access-declarations.d.ts.map +1 -1
  24. package/dist/modules/access/access-declarations.js +1 -1
  25. package/dist/modules/access/access-declarations.js.map +1 -1
  26. package/dist/modules/access/access-mutation.service.d.ts +8 -3
  27. package/dist/modules/access/access-mutation.service.d.ts.map +1 -1
  28. package/dist/modules/access/access-mutation.service.js +3 -3
  29. package/dist/modules/access/access-mutation.service.js.map +1 -1
  30. package/dist/modules/access/access-requests.contract.d.ts +1 -1
  31. package/dist/modules/access/access-requests.contract.d.ts.map +1 -1
  32. package/dist/modules/access/access-requests.routes.d.ts +3 -3
  33. package/dist/modules/access/access-requests.routes.d.ts.map +1 -1
  34. package/dist/modules/access/access-requests.routes.js +7 -7
  35. package/dist/modules/access/access-requests.routes.js.map +1 -1
  36. package/dist/modules/access/access-requests.service.d.ts +21 -20
  37. package/dist/modules/access/access-requests.service.d.ts.map +1 -1
  38. package/dist/modules/access/access-requests.service.js +22 -68
  39. package/dist/modules/access/access-requests.service.js.map +1 -1
  40. package/dist/modules/access/access-view.d.ts +1 -1
  41. package/dist/modules/access/access-view.d.ts.map +1 -1
  42. package/dist/modules/access/access-view.js +1 -1
  43. package/dist/modules/access/access-view.js.map +1 -1
  44. package/dist/modules/access/access.routes.d.ts +5 -7
  45. package/dist/modules/access/access.routes.d.ts.map +1 -1
  46. package/dist/modules/access/access.routes.js +4 -4
  47. package/dist/modules/access/access.routes.js.map +1 -1
  48. package/dist/modules/access/admin-locked-commit.d.ts +2 -2
  49. package/dist/modules/access/admin-locked-commit.d.ts.map +1 -1
  50. package/dist/modules/access/admin-locked-commit.js +1 -1
  51. package/dist/modules/access/admin-locked-commit.js.map +1 -1
  52. package/dist/modules/access/capability-registry.js +1 -1
  53. package/dist/modules/access/capability-registry.js.map +1 -1
  54. package/dist/modules/access/change-read-gate.d.ts +2 -2
  55. package/dist/modules/access/change-read-gate.d.ts.map +1 -1
  56. package/dist/modules/access/change-read-gate.js +1 -3
  57. package/dist/modules/access/change-read-gate.js.map +1 -1
  58. package/dist/modules/access/creator-access.d.ts +2 -2
  59. package/dist/modules/access/creator-access.d.ts.map +1 -1
  60. package/dist/modules/access/creator-access.js +2 -4
  61. package/dist/modules/access/creator-access.js.map +1 -1
  62. package/dist/modules/access/directory-sync-bot.d.ts +1 -1
  63. package/dist/modules/access/directory-sync-bot.d.ts.map +1 -1
  64. package/dist/modules/access/directory-sync-bot.js +1 -1
  65. package/dist/modules/access/directory-sync-bot.js.map +1 -1
  66. package/dist/modules/access/groups-admin.routes.d.ts +2 -2
  67. package/dist/modules/access/groups-admin.routes.d.ts.map +1 -1
  68. package/dist/modules/access/groups-admin.routes.js +2 -2
  69. package/dist/modules/access/groups-admin.routes.js.map +1 -1
  70. package/dist/modules/access/groups-admin.service.d.ts +1 -1
  71. package/dist/modules/access/groups-admin.service.d.ts.map +1 -1
  72. package/dist/modules/access/groups-admin.service.js +2 -3
  73. package/dist/modules/access/groups-admin.service.js.map +1 -1
  74. package/dist/modules/access/groups-edit.js +2 -2
  75. package/dist/modules/access/groups-edit.js.map +1 -1
  76. package/dist/modules/access/index.d.ts +17 -0
  77. package/dist/modules/access/index.d.ts.map +1 -0
  78. package/dist/modules/access/index.js +6 -0
  79. package/dist/modules/access/index.js.map +1 -0
  80. package/dist/modules/access/reference-scan.js +1 -1
  81. package/dist/modules/access/reference-scan.js.map +1 -1
  82. package/dist/modules/access/roles-admin.service.d.ts +1 -1
  83. package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
  84. package/dist/modules/access/roles-admin.service.js +2 -5
  85. package/dist/modules/access/roles-admin.service.js.map +1 -1
  86. package/dist/modules/access/roles-edit.js +1 -1
  87. package/dist/modules/access/roles-edit.js.map +1 -1
  88. package/dist/modules/access/synced-groups-committer.d.ts +2 -2
  89. package/dist/modules/access/synced-groups-committer.d.ts.map +1 -1
  90. package/dist/modules/access/synced-groups-committer.js +2 -2
  91. package/dist/modules/access/synced-groups-committer.js.map +1 -1
  92. package/dist/modules/access/synced-groups-writer.js +2 -2
  93. package/dist/modules/access/synced-groups-writer.js.map +1 -1
  94. package/dist/modules/access/user-access-removal.service.d.ts +1 -1
  95. package/dist/modules/access/user-access-removal.service.d.ts.map +1 -1
  96. package/dist/modules/access/user-access-removal.service.js +2 -5
  97. package/dist/modules/access/user-access-removal.service.js.map +1 -1
  98. package/dist/modules/access-model/index.d.ts +20 -5
  99. package/dist/modules/access-model/index.d.ts.map +1 -1
  100. package/dist/modules/access-model/index.js +18 -5
  101. package/dist/modules/access-model/index.js.map +1 -1
  102. package/dist/modules/access-model/roles-yaml-guard.d.ts +1 -1
  103. package/dist/modules/access-model/roles-yaml-guard.d.ts.map +1 -1
  104. package/dist/modules/admin/admin-access.routes.d.ts +1 -1
  105. package/dist/modules/admin/admin-access.routes.d.ts.map +1 -1
  106. package/dist/modules/admin/admin-access.routes.js +1 -1
  107. package/dist/modules/admin/admin-access.routes.js.map +1 -1
  108. package/dist/modules/admin/admin-access.service.d.ts +2 -2
  109. package/dist/modules/admin/admin-access.service.d.ts.map +1 -1
  110. package/dist/modules/admin/index.d.ts +8 -0
  111. package/dist/modules/admin/index.d.ts.map +1 -0
  112. package/dist/modules/admin/index.js +2 -0
  113. package/dist/modules/admin/index.js.map +1 -0
  114. package/dist/modules/agent-guide/agent-guide.js +1 -1
  115. package/dist/modules/agent-guide/agent-guide.js.map +1 -1
  116. package/dist/modules/agent-guide/agent-guide.tools.d.ts +3 -3
  117. package/dist/modules/agent-guide/agent-guide.tools.d.ts.map +1 -1
  118. package/dist/modules/agent-guide/agent-guide.tools.js +2 -4
  119. package/dist/modules/agent-guide/agent-guide.tools.js.map +1 -1
  120. package/dist/modules/agent-guide/index.d.ts +1 -1
  121. package/dist/modules/agent-guide/index.d.ts.map +1 -1
  122. package/dist/modules/agent-guide/index.js +1 -1
  123. package/dist/modules/agent-guide/index.js.map +1 -1
  124. package/dist/modules/agent-instructions/read-preamble.d.ts +1 -1
  125. package/dist/modules/agent-instructions/read-preamble.d.ts.map +1 -1
  126. package/dist/modules/audit/agent-audit.service.d.ts +2 -2
  127. package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
  128. package/dist/modules/audit/agent-audit.service.js +1 -1
  129. package/dist/modules/audit/agent-audit.service.js.map +1 -1
  130. package/dist/modules/audit/agent-connection.routes.d.ts +1 -1
  131. package/dist/modules/audit/agent-connection.routes.d.ts.map +1 -1
  132. package/dist/modules/audit/agent-connection.routes.js +1 -1
  133. package/dist/modules/audit/agent-connection.routes.js.map +1 -1
  134. package/dist/modules/audit/agent-rest-audit.middleware.d.ts +1 -1
  135. package/dist/modules/audit/agent-rest-audit.middleware.d.ts.map +1 -1
  136. package/dist/modules/audit/agent-rest-audit.middleware.js +1 -1
  137. package/dist/modules/audit/agent-rest-audit.middleware.js.map +1 -1
  138. package/dist/modules/audit/audit.routes.d.ts +3 -3
  139. package/dist/modules/audit/audit.routes.d.ts.map +1 -1
  140. package/dist/modules/audit/audit.routes.js +2 -2
  141. package/dist/modules/audit/audit.routes.js.map +1 -1
  142. package/dist/modules/auth/account-erasure.service.d.ts +3 -3
  143. package/dist/modules/auth/account-erasure.service.d.ts.map +1 -1
  144. package/dist/modules/auth/account-erasure.service.js +1 -5
  145. package/dist/modules/auth/account-erasure.service.js.map +1 -1
  146. package/dist/modules/auth/account-switch-lock.d.ts +1 -1
  147. package/dist/modules/auth/account-switch-lock.d.ts.map +1 -1
  148. package/dist/modules/auth/account-switch-lock.js +1 -1
  149. package/dist/modules/auth/account-switch-lock.js.map +1 -1
  150. package/dist/modules/auth/account.routes.d.ts +2 -2
  151. package/dist/modules/auth/account.routes.d.ts.map +1 -1
  152. package/dist/modules/auth/account.routes.js +1 -1
  153. package/dist/modules/auth/account.routes.js.map +1 -1
  154. package/dist/modules/auth/auth.service.d.ts +1 -1
  155. package/dist/modules/auth/auth.service.d.ts.map +1 -1
  156. package/dist/modules/auth/auth.service.js +3 -3
  157. package/dist/modules/auth/auth.service.js.map +1 -1
  158. package/dist/modules/auth/index.d.ts +2 -0
  159. package/dist/modules/auth/index.d.ts.map +1 -1
  160. package/dist/modules/auth/oidc-auth-provider.js +1 -1
  161. package/dist/modules/auth/oidc-auth-provider.js.map +1 -1
  162. package/dist/modules/code-mode/code-mode.tool.d.ts +1 -1
  163. package/dist/modules/code-mode/code-mode.tool.d.ts.map +1 -1
  164. package/dist/modules/connection-probe/connection-probe.service.d.ts +2 -2
  165. package/dist/modules/connection-probe/connection-probe.service.d.ts.map +1 -1
  166. package/dist/modules/connection-probe/connection-probe.service.js +1 -4
  167. package/dist/modules/connection-probe/connection-probe.service.js.map +1 -1
  168. package/dist/modules/database/core-schema.d.ts +107 -234
  169. package/dist/modules/database/core-schema.d.ts.map +1 -1
  170. package/dist/modules/database/core-schema.js +39 -35
  171. package/dist/modules/database/core-schema.js.map +1 -1
  172. package/dist/modules/database/index.d.ts +10 -0
  173. package/dist/modules/database/index.d.ts.map +1 -0
  174. package/dist/modules/database/index.js +4 -0
  175. package/dist/modules/database/index.js.map +1 -0
  176. package/dist/modules/database/migrate.d.ts.map +1 -1
  177. package/dist/modules/database/migrate.js +78 -3
  178. package/dist/modules/database/migrate.js.map +1 -1
  179. package/dist/modules/declared-variables/declared-variables.routes.d.ts +2 -2
  180. package/dist/modules/declared-variables/declared-variables.routes.d.ts.map +1 -1
  181. package/dist/modules/diff/diff.routes.d.ts +3 -3
  182. package/dist/modules/diff/diff.routes.d.ts.map +1 -1
  183. package/dist/modules/diff/diff.routes.js +3 -3
  184. package/dist/modules/diff/diff.routes.js.map +1 -1
  185. package/dist/modules/diff/diff.service.d.ts +2 -2
  186. package/dist/modules/diff/diff.service.d.ts.map +1 -1
  187. package/dist/modules/diff/index.d.ts +7 -0
  188. package/dist/modules/diff/index.d.ts.map +1 -0
  189. package/dist/modules/diff/index.js +2 -0
  190. package/dist/modules/diff/index.js.map +1 -0
  191. package/dist/modules/embed/account-link.service.d.ts +1 -1
  192. package/dist/modules/embed/account-link.service.d.ts.map +1 -1
  193. package/dist/modules/embed/account-link.service.js +1 -1
  194. package/dist/modules/embed/account-link.service.js.map +1 -1
  195. package/dist/modules/embed/embed.routes.d.ts +1 -1
  196. package/dist/modules/embed/embed.routes.d.ts.map +1 -1
  197. package/dist/modules/embed/embed.routes.js +2 -2
  198. package/dist/modules/embed/embed.routes.js.map +1 -1
  199. package/dist/modules/embed/embed.service.d.ts +1 -1
  200. package/dist/modules/embed/embed.service.d.ts.map +1 -1
  201. package/dist/modules/embed/embed.tools.d.ts +4 -4
  202. package/dist/modules/embed/embed.tools.d.ts.map +1 -1
  203. package/dist/modules/embed/embed.tools.js +3 -5
  204. package/dist/modules/embed/embed.tools.js.map +1 -1
  205. package/dist/modules/github-app/github-app.connection.d.ts +1 -1
  206. package/dist/modules/github-app/github-app.connection.d.ts.map +1 -1
  207. package/dist/modules/github-app/github-app.routes.d.ts +3 -3
  208. package/dist/modules/github-app/github-app.routes.d.ts.map +1 -1
  209. package/dist/modules/github-app/github-app.routes.js +1 -1
  210. package/dist/modules/github-app/github-app.routes.js.map +1 -1
  211. package/dist/modules/kb-fs/index.d.ts +10 -0
  212. package/dist/modules/kb-fs/index.d.ts.map +1 -1
  213. package/dist/modules/kb-fs/index.js +10 -0
  214. package/dist/modules/kb-fs/index.js.map +1 -1
  215. package/dist/modules/kb-fs/locking-filesystem.d.ts +1 -1
  216. package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
  217. package/dist/modules/kb-sync/kb-sync.routes.d.ts +1 -1
  218. package/dist/modules/kb-sync/kb-sync.routes.d.ts.map +1 -1
  219. package/dist/modules/kb-sync/kb-sync.routes.js +2 -2
  220. package/dist/modules/kb-sync/kb-sync.routes.js.map +1 -1
  221. package/dist/modules/kb-sync/kb-sync.service.js +1 -1
  222. package/dist/modules/kb-sync/kb-sync.service.js.map +1 -1
  223. package/dist/modules/kb-sync/sync-auth.js +1 -1
  224. package/dist/modules/kb-sync/sync-auth.js.map +1 -1
  225. package/dist/modules/kb-sync/sync-payload.js +1 -1
  226. package/dist/modules/kb-sync/sync-payload.js.map +1 -1
  227. package/dist/modules/marketplace/git-http.routes.d.ts +1 -1
  228. package/dist/modules/marketplace/git-http.routes.d.ts.map +1 -1
  229. package/dist/modules/marketplace/git-http.routes.js +1 -1
  230. package/dist/modules/marketplace/git-http.routes.js.map +1 -1
  231. package/dist/modules/marketplace/github-facade/github-facade-admin.routes.d.ts +1 -1
  232. package/dist/modules/marketplace/github-facade/github-facade-admin.routes.d.ts.map +1 -1
  233. package/dist/modules/marketplace/github-facade/github-facade-admin.routes.js +1 -1
  234. package/dist/modules/marketplace/github-facade/github-facade-admin.routes.js.map +1 -1
  235. package/dist/modules/marketplace/github-facade/github-facade-codes.store.d.ts +1 -1
  236. package/dist/modules/marketplace/github-facade/github-facade-codes.store.d.ts.map +1 -1
  237. package/dist/modules/marketplace/github-facade/github-facade-codes.store.js +1 -1
  238. package/dist/modules/marketplace/github-facade/github-facade-codes.store.js.map +1 -1
  239. package/dist/modules/marketplace/github-facade/github-facade-credentials.service.d.ts +1 -1
  240. package/dist/modules/marketplace/github-facade/github-facade-credentials.service.d.ts.map +1 -1
  241. package/dist/modules/marketplace/github-facade/github-facade-credentials.service.js +1 -1
  242. package/dist/modules/marketplace/github-facade/github-facade-credentials.service.js.map +1 -1
  243. package/dist/modules/marketplace/github-facade/github-facade.routes.d.ts +2 -2
  244. package/dist/modules/marketplace/github-facade/github-facade.routes.d.ts.map +1 -1
  245. package/dist/modules/marketplace/github-facade/github-facade.routes.js +2 -2
  246. package/dist/modules/marketplace/github-facade/github-facade.routes.js.map +1 -1
  247. package/dist/modules/marketplace/github-facade/github-facade.service.d.ts +2 -2
  248. package/dist/modules/marketplace/github-facade/github-facade.service.d.ts.map +1 -1
  249. package/dist/modules/marketplace/github-facade/github-facade.service.js +1 -1
  250. package/dist/modules/marketplace/github-facade/github-facade.service.js.map +1 -1
  251. package/dist/modules/marketplace/marketplace-repo.service.d.ts +1 -1
  252. package/dist/modules/marketplace/marketplace-repo.service.d.ts.map +1 -1
  253. package/dist/modules/marketplace/marketplace-repo.service.js +1 -1
  254. package/dist/modules/mcp/index.d.ts +8 -0
  255. package/dist/modules/mcp/index.d.ts.map +1 -0
  256. package/dist/modules/mcp/index.js +7 -0
  257. package/dist/modules/mcp/index.js.map +1 -0
  258. package/dist/modules/mcp/mcp-auth.middleware.d.ts +4 -5
  259. package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
  260. package/dist/modules/mcp/mcp-auth.middleware.js +4 -4
  261. package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
  262. package/dist/modules/mcp/mcp.routes.d.ts +2 -4
  263. package/dist/modules/mcp/mcp.routes.d.ts.map +1 -1
  264. package/dist/modules/mcp/mcp.routes.js +2 -2
  265. package/dist/modules/mcp/mcp.routes.js.map +1 -1
  266. package/dist/modules/mcp/mcp.service.d.ts +14 -4
  267. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  268. package/dist/modules/mcp/mcp.service.js +17 -7
  269. package/dist/modules/mcp/mcp.service.js.map +1 -1
  270. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts +1 -1
  271. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -1
  272. package/dist/modules/mcp/oauth/bevel-oauth-provider.js +1 -1
  273. package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -1
  274. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts +1 -1
  275. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts.map +1 -1
  276. package/dist/modules/mcp/oauth/oauth-consent.routes.js +1 -1
  277. package/dist/modules/mcp/oauth/oauth-consent.routes.js.map +1 -1
  278. package/dist/modules/onboarding/onboarding.routes.d.ts +1 -1
  279. package/dist/modules/onboarding/onboarding.routes.d.ts.map +1 -1
  280. package/dist/modules/onboarding/onboarding.routes.js +1 -1
  281. package/dist/modules/onboarding/onboarding.routes.js.map +1 -1
  282. package/dist/modules/onboarding/starter-pack.service.d.ts +4 -5
  283. package/dist/modules/onboarding/starter-pack.service.d.ts.map +1 -1
  284. package/dist/modules/onboarding/starter-pack.service.js +2 -2
  285. package/dist/modules/onboarding/starter-pack.service.js.map +1 -1
  286. package/dist/modules/plugins/compile/compile-marketplace.d.ts +1 -1
  287. package/dist/modules/plugins/compile/compile-marketplace.d.ts.map +1 -1
  288. package/dist/modules/plugins/compile/compile-marketplace.js +1 -1
  289. package/dist/modules/plugins/compile/compile-marketplace.js.map +1 -1
  290. package/dist/modules/plugins/compile/marketplace-compiler.service.d.ts +3 -3
  291. package/dist/modules/plugins/compile/marketplace-compiler.service.d.ts.map +1 -1
  292. package/dist/modules/plugins/discovery/bundle-dialect/registry.d.ts +1 -1
  293. package/dist/modules/plugins/discovery/bundle-dialect/registry.d.ts.map +1 -1
  294. package/dist/modules/plugins/discovery/bundle-dialect/registry.js +1 -1
  295. package/dist/modules/plugins/discovery/bundle-dialect/registry.js.map +1 -1
  296. package/dist/modules/plugins/index.d.ts +1 -0
  297. package/dist/modules/plugins/index.d.ts.map +1 -1
  298. package/dist/modules/plugins/index.js +2 -0
  299. package/dist/modules/plugins/index.js.map +1 -1
  300. package/dist/modules/plugins/join-proposals.d.ts +2 -2
  301. package/dist/modules/plugins/join-proposals.d.ts.map +1 -1
  302. package/dist/modules/plugins/join-proposals.js +1 -1
  303. package/dist/modules/plugins/join-proposals.js.map +1 -1
  304. package/dist/modules/plugins/join-request-jobs.service.d.ts +1 -1
  305. package/dist/modules/plugins/join-request-jobs.service.d.ts.map +1 -1
  306. package/dist/modules/plugins/join-request-jobs.service.js +2 -2
  307. package/dist/modules/plugins/join-request-jobs.service.js.map +1 -1
  308. package/dist/modules/plugins/join-request-records.store.d.ts +1 -1
  309. package/dist/modules/plugins/join-request-records.store.d.ts.map +1 -1
  310. package/dist/modules/plugins/join-request-records.store.js +1 -1
  311. package/dist/modules/plugins/join-request-records.store.js.map +1 -1
  312. package/dist/modules/plugins/join-requests.service.d.ts +3 -3
  313. package/dist/modules/plugins/join-requests.service.d.ts.map +1 -1
  314. package/dist/modules/plugins/join-requests.service.js +1 -1
  315. package/dist/modules/plugins/join-requests.service.js.map +1 -1
  316. package/dist/modules/plugins/plugin-links.d.ts +3 -3
  317. package/dist/modules/plugins/plugin-links.d.ts.map +1 -1
  318. package/dist/modules/plugins/plugin-links.js +1 -1
  319. package/dist/modules/plugins/plugin-links.js.map +1 -1
  320. package/dist/modules/plugins/plugin-links.service.d.ts +8 -5
  321. package/dist/modules/plugins/plugin-links.service.d.ts.map +1 -1
  322. package/dist/modules/plugins/plugin-links.service.js +8 -6
  323. package/dist/modules/plugins/plugin-links.service.js.map +1 -1
  324. package/dist/modules/plugins/plugin-provision.service.d.ts +2 -2
  325. package/dist/modules/plugins/plugin-provision.service.d.ts.map +1 -1
  326. package/dist/modules/plugins/plugin-provision.service.js +2 -3
  327. package/dist/modules/plugins/plugin-provision.service.js.map +1 -1
  328. package/dist/modules/plugins/plugin-rename.service.d.ts +2 -2
  329. package/dist/modules/plugins/plugin-rename.service.d.ts.map +1 -1
  330. package/dist/modules/plugins/plugin-rename.service.js +1 -1
  331. package/dist/modules/plugins/plugin-rename.service.js.map +1 -1
  332. package/dist/modules/plugins/plugins.contract.d.ts +1 -1
  333. package/dist/modules/plugins/plugins.contract.d.ts.map +1 -1
  334. package/dist/modules/plugins/plugins.routes.d.ts +2 -2
  335. package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
  336. package/dist/modules/plugins/plugins.routes.js +3 -3
  337. package/dist/modules/plugins/plugins.routes.js.map +1 -1
  338. package/dist/modules/plugins/plugins.service.d.ts +4 -4
  339. package/dist/modules/plugins/plugins.service.d.ts.map +1 -1
  340. package/dist/modules/plugins/plugins.service.js +1 -1
  341. package/dist/modules/plugins/plugins.service.js.map +1 -1
  342. package/dist/modules/plugins/plugins.tools.d.ts +1 -1
  343. package/dist/modules/plugins/plugins.tools.d.ts.map +1 -1
  344. package/dist/modules/plugins/plugins.tools.js +3 -3
  345. package/dist/modules/plugins/plugins.tools.js.map +1 -1
  346. package/dist/modules/plugins/teams.routes.d.ts +3 -3
  347. package/dist/modules/plugins/teams.routes.d.ts.map +1 -1
  348. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +1 -1
  349. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -1
  350. package/dist/modules/secrets-vault/db-secrets-vault.service.js +1 -1
  351. package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
  352. package/dist/modules/secrets-vault/index.d.ts +1 -0
  353. package/dist/modules/secrets-vault/index.d.ts.map +1 -1
  354. package/dist/modules/secrets-vault/index.js +2 -0
  355. package/dist/modules/secrets-vault/index.js.map +1 -1
  356. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +4 -4
  357. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
  358. package/dist/modules/secrets-vault/secrets-vault.routes.js +1 -1
  359. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
  360. package/dist/modules/settings/connection-check.js +1 -1
  361. package/dist/modules/settings/connection-check.js.map +1 -1
  362. package/dist/modules/settings/deployment-settings.service.d.ts +7 -1
  363. package/dist/modules/settings/deployment-settings.service.d.ts.map +1 -1
  364. package/dist/modules/settings/deployment-settings.service.js +45 -3
  365. package/dist/modules/settings/deployment-settings.service.js.map +1 -1
  366. package/dist/modules/settings/git-root-folders.js +1 -1
  367. package/dist/modules/settings/git-root-folders.js.map +1 -1
  368. package/dist/modules/settings/index.d.ts +13 -0
  369. package/dist/modules/settings/index.d.ts.map +1 -0
  370. package/dist/modules/settings/index.js +3 -0
  371. package/dist/modules/settings/index.js.map +1 -0
  372. package/dist/modules/settings/setup.routes.d.ts +3 -3
  373. package/dist/modules/settings/setup.routes.d.ts.map +1 -1
  374. package/dist/modules/settings/setup.routes.js +2 -2
  375. package/dist/modules/settings/setup.routes.js.map +1 -1
  376. package/dist/modules/skills/allowed-tools-check.d.ts +2 -2
  377. package/dist/modules/skills/allowed-tools-check.d.ts.map +1 -1
  378. package/dist/modules/skills/allowed-tools-check.js +1 -1
  379. package/dist/modules/skills/allowed-tools-check.js.map +1 -1
  380. package/dist/modules/skills/index.d.ts +1 -0
  381. package/dist/modules/skills/index.d.ts.map +1 -1
  382. package/dist/modules/skills/pending-skills.service.d.ts +3 -3
  383. package/dist/modules/skills/pending-skills.service.d.ts.map +1 -1
  384. package/dist/modules/skills/pending-skills.service.js.map +1 -1
  385. package/dist/modules/skills/skill-access-requests.routes.d.ts +5 -5
  386. package/dist/modules/skills/skill-access-requests.routes.d.ts.map +1 -1
  387. package/dist/modules/skills/skill-access-requests.routes.js +6 -13
  388. package/dist/modules/skills/skill-access-requests.routes.js.map +1 -1
  389. package/dist/modules/skills/skills.routes.d.ts +1 -1
  390. package/dist/modules/skills/skills.routes.d.ts.map +1 -1
  391. package/dist/modules/skills/skills.routes.js +1 -1
  392. package/dist/modules/skills/skills.routes.js.map +1 -1
  393. package/dist/modules/skills/skills.service.d.ts +2 -2
  394. package/dist/modules/skills/skills.service.d.ts.map +1 -1
  395. package/dist/modules/skills/skills.tools.d.ts +3 -3
  396. package/dist/modules/skills/skills.tools.d.ts.map +1 -1
  397. package/dist/modules/skills/skills.tools.js +3 -7
  398. package/dist/modules/skills/skills.tools.js.map +1 -1
  399. package/dist/modules/tool-auth/connection-key-rejection.js +1 -1
  400. package/dist/modules/tool-auth/connection-key-rejection.js.map +1 -1
  401. package/dist/modules/tool-auth/connection-keys-admin.routes.d.ts +2 -2
  402. package/dist/modules/tool-auth/connection-keys-admin.routes.d.ts.map +1 -1
  403. package/dist/modules/tool-auth/connection-keys-admin.routes.js +1 -1
  404. package/dist/modules/tool-auth/connection-keys-admin.routes.js.map +1 -1
  405. package/dist/modules/tool-auth/external-api-key.service.d.ts +1 -1
  406. package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -1
  407. package/dist/modules/tool-auth/external-api-key.service.js +1 -1
  408. package/dist/modules/tool-auth/external-api-key.service.js.map +1 -1
  409. package/dist/modules/tool-auth/index.d.ts +15 -0
  410. package/dist/modules/tool-auth/index.d.ts.map +1 -0
  411. package/dist/modules/tool-auth/index.js +11 -0
  412. package/dist/modules/tool-auth/index.js.map +1 -0
  413. package/dist/modules/tool-auth/tool-auth.middleware.d.ts +2 -2
  414. package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
  415. package/dist/modules/tool-auth/tool-auth.middleware.js +1 -1
  416. package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
  417. package/dist/modules/tool-helpers/default-branch-write.d.ts +1 -1
  418. package/dist/modules/tool-helpers/default-branch-write.d.ts.map +1 -1
  419. package/dist/modules/tool-helpers/index.d.ts +4 -1
  420. package/dist/modules/tool-helpers/index.d.ts.map +1 -1
  421. package/dist/modules/tool-helpers/index.js +3 -0
  422. package/dist/modules/tool-helpers/index.js.map +1 -1
  423. package/dist/modules/tool-helpers/route-argument-check.js +1 -1
  424. package/dist/modules/tool-helpers/route-argument-check.js.map +1 -1
  425. package/dist/modules/tool-helpers/route-tool-schemas.d.ts +1 -1
  426. package/dist/modules/tool-helpers/route-tool-schemas.d.ts.map +1 -1
  427. package/dist/modules/tool-helpers/tool-context.d.ts +5 -6
  428. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
  429. package/dist/modules/tool-helpers/tool-context.js +2 -3
  430. package/dist/modules/tool-helpers/tool-context.js.map +1 -1
  431. package/dist/modules/tool-helpers/tool-def.d.ts +4 -2
  432. package/dist/modules/tool-helpers/tool-def.d.ts.map +1 -1
  433. package/dist/modules/tool-helpers/tool-def.js +3 -1
  434. package/dist/modules/tool-helpers/tool-def.js.map +1 -1
  435. package/dist/modules/tool-helpers/tool-handler.d.ts +2 -2
  436. package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -1
  437. package/dist/modules/tool-helpers/tool-handler.js +2 -2
  438. package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
  439. package/dist/modules/tool-helpers/tool.contract.d.ts +2 -2
  440. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
  441. package/dist/modules/tool-helpers/validate-token.d.ts +1 -2
  442. package/dist/modules/tool-helpers/validate-token.d.ts.map +1 -1
  443. package/dist/modules/tool-helpers/validate-token.js +1 -1
  444. package/dist/modules/tool-helpers/validate-token.js.map +1 -1
  445. package/dist/modules/tool-manuals/index.d.ts +5 -0
  446. package/dist/modules/tool-manuals/index.d.ts.map +1 -1
  447. package/dist/modules/tool-manuals/index.js +4 -0
  448. package/dist/modules/tool-manuals/index.js.map +1 -1
  449. package/dist/modules/tool-manuals/mcp-server-edit.service.d.ts +2 -2
  450. package/dist/modules/tool-manuals/mcp-server-edit.service.d.ts.map +1 -1
  451. package/dist/modules/tool-manuals/pending-tools.service.d.ts +2 -2
  452. package/dist/modules/tool-manuals/pending-tools.service.d.ts.map +1 -1
  453. package/dist/modules/tool-manuals/tool-delete.service.d.ts +5 -6
  454. package/dist/modules/tool-manuals/tool-delete.service.d.ts.map +1 -1
  455. package/dist/modules/tool-manuals/tool-delete.service.js.map +1 -1
  456. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +5 -5
  457. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -1
  458. package/dist/modules/tool-manuals/tool-manuals.routes.js +2 -2
  459. package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -1
  460. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +3 -3
  461. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
  462. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +3 -3
  463. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  464. package/dist/modules/tool-manuals/tool-manuals.tools.js +1 -2
  465. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  466. package/dist/modules/tool-registry/description-length.js +2 -2
  467. package/dist/modules/tool-registry/description-length.js.map +1 -1
  468. package/dist/modules/tool-registry/index.d.ts +8 -0
  469. package/dist/modules/tool-registry/index.d.ts.map +1 -0
  470. package/dist/modules/tool-registry/index.js +8 -0
  471. package/dist/modules/tool-registry/index.js.map +1 -0
  472. package/dist/modules/tool-registry/manual.routes.d.ts +37 -2
  473. package/dist/modules/tool-registry/manual.routes.d.ts.map +1 -1
  474. package/dist/modules/tool-registry/manual.routes.js +14 -7
  475. package/dist/modules/tool-registry/manual.routes.js.map +1 -1
  476. package/dist/modules/tool-registry/read-only-hints.contract.d.ts +52 -0
  477. package/dist/modules/tool-registry/read-only-hints.contract.d.ts.map +1 -0
  478. package/dist/modules/tool-registry/read-only-hints.contract.js +2 -0
  479. package/dist/modules/tool-registry/read-only-hints.contract.js.map +1 -0
  480. package/dist/modules/tool-registry/read-only-hints.d.ts +89 -0
  481. package/dist/modules/tool-registry/read-only-hints.d.ts.map +1 -0
  482. package/dist/modules/tool-registry/read-only-hints.js +212 -0
  483. package/dist/modules/tool-registry/read-only-hints.js.map +1 -0
  484. package/dist/modules/tool-registry/tool.contract.d.ts +8 -0
  485. package/dist/modules/tool-registry/tool.contract.d.ts.map +1 -1
  486. package/dist/modules/tool-registry/tool.contract.js +10 -1
  487. package/dist/modules/tool-registry/tool.contract.js.map +1 -1
  488. package/dist/modules/update-check/update-check.routes.d.ts +2 -2
  489. package/dist/modules/update-check/update-check.routes.d.ts.map +1 -1
  490. package/dist/modules/update-check/update-check.routes.js +1 -1
  491. package/dist/modules/update-check/update-check.routes.js.map +1 -1
  492. package/dist/modules/workflow/agent-tools/change-request-read-shape.d.ts +9 -104
  493. package/dist/modules/workflow/agent-tools/change-request-read-shape.d.ts.map +1 -1
  494. package/dist/modules/workflow/agent-tools/change-request-read-shape.js +8 -118
  495. package/dist/modules/workflow/agent-tools/change-request-read-shape.js.map +1 -1
  496. package/dist/modules/workflow/agent-tools/change-request-read.tools.d.ts +16 -17
  497. package/dist/modules/workflow/agent-tools/change-request-read.tools.d.ts.map +1 -1
  498. package/dist/modules/workflow/agent-tools/change-request-read.tools.js +19 -86
  499. package/dist/modules/workflow/agent-tools/change-request-read.tools.js.map +1 -1
  500. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts +5 -1
  501. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts.map +1 -1
  502. package/dist/modules/workflow/agent-tools/change-request-summary.js +10 -1
  503. package/dist/modules/workflow/agent-tools/change-request-summary.js.map +1 -1
  504. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts +7 -5
  505. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  506. package/dist/modules/workflow/agent-tools/workflow.tools.js +46 -68
  507. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  508. package/dist/modules/workflow/change-request-hooks.d.ts +1 -1
  509. package/dist/modules/workflow/event-bus.d.ts.map +1 -1
  510. package/dist/modules/workflow/event-bus.js +3 -1
  511. package/dist/modules/workflow/event-bus.js.map +1 -1
  512. package/dist/modules/workflow/events-delivery.d.ts +120 -0
  513. package/dist/modules/workflow/events-delivery.d.ts.map +1 -0
  514. package/dist/modules/workflow/events-delivery.js +202 -0
  515. package/dist/modules/workflow/events-delivery.js.map +1 -0
  516. package/dist/modules/workflow/events.routes.d.ts +16 -7
  517. package/dist/modules/workflow/events.routes.d.ts.map +1 -1
  518. package/dist/modules/workflow/events.routes.js +23 -4
  519. package/dist/modules/workflow/events.routes.js.map +1 -1
  520. package/dist/modules/workflow/file-lock.service.d.ts +1 -1
  521. package/dist/modules/workflow/file-lock.service.d.ts.map +1 -1
  522. package/dist/modules/workflow/file-lock.service.js +1 -1
  523. package/dist/modules/workflow/file-lock.service.js.map +1 -1
  524. package/dist/modules/workflow/git/git.service.d.ts +2 -2
  525. package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
  526. package/dist/modules/workflow/git/git.service.js +3 -6
  527. package/dist/modules/workflow/git/git.service.js.map +1 -1
  528. package/dist/modules/workflow/git/node-git-runner.js +1 -1
  529. package/dist/modules/workflow/git/node-git-runner.js.map +1 -1
  530. package/dist/modules/workflow/git/pull-request.service.d.ts +6 -7
  531. package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -1
  532. package/dist/modules/workflow/git/pull-request.service.js +40 -33
  533. package/dist/modules/workflow/git/pull-request.service.js.map +1 -1
  534. package/dist/modules/workflow/index.d.ts +14 -2
  535. package/dist/modules/workflow/index.d.ts.map +1 -1
  536. package/dist/modules/workflow/index.js +11 -2
  537. package/dist/modules/workflow/index.js.map +1 -1
  538. package/dist/modules/workflow/pending-commits.service.d.ts +1 -1
  539. package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -1
  540. package/dist/modules/workflow/pending-commits.service.js +1 -1
  541. package/dist/modules/workflow/pending-commits.service.js.map +1 -1
  542. package/dist/modules/workflow/read-on-branch.d.ts +1 -1
  543. package/dist/modules/workflow/read-on-branch.d.ts.map +1 -1
  544. package/dist/modules/workflow/recovery-bot.d.ts +1 -1
  545. package/dist/modules/workflow/recovery-bot.d.ts.map +1 -1
  546. package/dist/modules/workflow/recovery-bot.js +1 -1
  547. package/dist/modules/workflow/recovery-bot.js.map +1 -1
  548. package/dist/modules/workflow/review-workflow/approval-lock.d.ts +1 -1
  549. package/dist/modules/workflow/review-workflow/approval-lock.d.ts.map +1 -1
  550. package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts +4 -20
  551. package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts.map +1 -1
  552. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts +4 -8
  553. package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -1
  554. package/dist/modules/workflow/review-workflow/review-workflow.service.js +3 -138
  555. package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -1
  556. package/dist/modules/workflow/workflow.routes.d.ts +5 -5
  557. package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
  558. package/dist/modules/workflow/workflow.routes.js +42 -94
  559. package/dist/modules/workflow/workflow.routes.js.map +1 -1
  560. package/dist/modules/workflow/workflow.service.d.ts +40 -50
  561. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  562. package/dist/modules/workflow/workflow.service.js +218 -154
  563. package/dist/modules/workflow/workflow.service.js.map +1 -1
  564. package/dist/modules/workspace/agent-access.gate.d.ts +3 -3
  565. package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -1
  566. package/dist/modules/workspace/agent-download.builder.d.ts +1 -1
  567. package/dist/modules/workspace/agent-download.builder.d.ts.map +1 -1
  568. package/dist/modules/workspace/agent-download.builder.js +1 -1
  569. package/dist/modules/workspace/agent-download.builder.js.map +1 -1
  570. package/dist/modules/workspace/agent-upload.routes.d.ts.map +1 -1
  571. package/dist/modules/workspace/agent-upload.routes.js +19 -0
  572. package/dist/modules/workspace/agent-upload.routes.js.map +1 -1
  573. package/dist/modules/workspace/agent-upload.store.d.ts +11 -0
  574. package/dist/modules/workspace/agent-upload.store.d.ts.map +1 -1
  575. package/dist/modules/workspace/agent-upload.store.js +18 -0
  576. package/dist/modules/workspace/agent-upload.store.js.map +1 -1
  577. package/dist/modules/workspace/bounded-matcher.d.ts +5 -11
  578. package/dist/modules/workspace/bounded-matcher.d.ts.map +1 -1
  579. package/dist/modules/workspace/bounded-matcher.js +26 -87
  580. package/dist/modules/workspace/bounded-matcher.js.map +1 -1
  581. package/dist/modules/workspace/file-readers/doc-extract.service.d.ts +54 -10
  582. package/dist/modules/workspace/file-readers/doc-extract.service.d.ts.map +1 -1
  583. package/dist/modules/workspace/file-readers/doc-extract.service.js +69 -17
  584. package/dist/modules/workspace/file-readers/doc-extract.service.js.map +1 -1
  585. package/dist/modules/workspace/file-readers/doc-extract.types.d.ts +9 -2
  586. package/dist/modules/workspace/file-readers/doc-extract.types.d.ts.map +1 -1
  587. package/dist/modules/workspace/file-readers/doc-extract.types.js.map +1 -1
  588. package/dist/modules/workspace/file-readers/document-extractor.contract.d.ts +41 -0
  589. package/dist/modules/workspace/file-readers/document-extractor.contract.d.ts.map +1 -0
  590. package/dist/modules/workspace/file-readers/document-extractor.contract.js +5 -0
  591. package/dist/modules/workspace/file-readers/document-extractor.contract.js.map +1 -0
  592. package/dist/modules/workspace/file-readers/document-extractors.d.ts +9 -0
  593. package/dist/modules/workspace/file-readers/document-extractors.d.ts.map +1 -0
  594. package/dist/modules/workspace/file-readers/document-extractors.js +26 -0
  595. package/dist/modules/workspace/file-readers/document-extractors.js.map +1 -0
  596. package/dist/modules/workspace/file-readers/document-formats.d.ts +12 -0
  597. package/dist/modules/workspace/file-readers/document-formats.d.ts.map +1 -0
  598. package/dist/modules/workspace/file-readers/document-formats.js +11 -0
  599. package/dist/modules/workspace/file-readers/document-formats.js.map +1 -0
  600. package/dist/modules/workspace/file-readers/document-reader.d.ts +21 -17
  601. package/dist/modules/workspace/file-readers/document-reader.d.ts.map +1 -1
  602. package/dist/modules/workspace/file-readers/document-reader.js +38 -34
  603. package/dist/modules/workspace/file-readers/document-reader.js.map +1 -1
  604. package/dist/modules/workspace/file-readers/extract-in-worker.d.ts +60 -0
  605. package/dist/modules/workspace/file-readers/extract-in-worker.d.ts.map +1 -0
  606. package/dist/modules/workspace/file-readers/extract-in-worker.js +140 -0
  607. package/dist/modules/workspace/file-readers/extract-in-worker.js.map +1 -0
  608. package/dist/modules/workspace/file-readers/extract-pdf.d.ts +2 -0
  609. package/dist/modules/workspace/file-readers/extract-pdf.d.ts.map +1 -1
  610. package/dist/modules/workspace/file-readers/extract-pdf.js +20 -3
  611. package/dist/modules/workspace/file-readers/extract-pdf.js.map +1 -1
  612. package/dist/modules/workspace/file-readers/extract.worker.d.ts +2 -0
  613. package/dist/modules/workspace/file-readers/extract.worker.d.ts.map +1 -0
  614. package/dist/modules/workspace/file-readers/extract.worker.js +5 -0
  615. package/dist/modules/workspace/file-readers/extract.worker.js.map +1 -0
  616. package/dist/modules/workspace/file-readers/extraction-cache.d.ts +21 -5
  617. package/dist/modules/workspace/file-readers/extraction-cache.d.ts.map +1 -1
  618. package/dist/modules/workspace/file-readers/extraction-cache.js +24 -10
  619. package/dist/modules/workspace/file-readers/extraction-cache.js.map +1 -1
  620. package/dist/modules/workspace/file-readers/extraction-worker.d.ts +42 -0
  621. package/dist/modules/workspace/file-readers/extraction-worker.d.ts.map +1 -0
  622. package/dist/modules/workspace/file-readers/extraction-worker.js +69 -0
  623. package/dist/modules/workspace/file-readers/extraction-worker.js.map +1 -0
  624. package/dist/modules/workspace/file-readers/file-reader.d.ts +13 -4
  625. package/dist/modules/workspace/file-readers/file-reader.d.ts.map +1 -1
  626. package/dist/modules/workspace/file-readers/file-reader.js.map +1 -1
  627. package/dist/modules/workspace/file-readers/file-reader.registry.d.ts +3 -2
  628. package/dist/modules/workspace/file-readers/file-reader.registry.d.ts.map +1 -1
  629. package/dist/modules/workspace/file-readers/file-reader.registry.js +6 -20
  630. package/dist/modules/workspace/file-readers/file-reader.registry.js.map +1 -1
  631. package/dist/modules/workspace/first-run.js +1 -1
  632. package/dist/modules/workspace/first-run.js.map +1 -1
  633. package/dist/modules/workspace/git-internals.middleware.d.ts +1 -1
  634. package/dist/modules/workspace/git-internals.middleware.d.ts.map +1 -1
  635. package/dist/modules/workspace/git-internals.middleware.js +1 -1
  636. package/dist/modules/workspace/git-internals.middleware.js.map +1 -1
  637. package/dist/modules/workspace/index.d.ts +16 -0
  638. package/dist/modules/workspace/index.d.ts.map +1 -1
  639. package/dist/modules/workspace/index.js +13 -0
  640. package/dist/modules/workspace/index.js.map +1 -1
  641. package/dist/modules/workspace/kb-repository.d.ts.map +1 -1
  642. package/dist/modules/workspace/kb-repository.js +1 -1
  643. package/dist/modules/workspace/kb-repository.js.map +1 -1
  644. package/dist/modules/workspace/not-found.d.ts +1 -1
  645. package/dist/modules/workspace/not-found.d.ts.map +1 -1
  646. package/dist/modules/workspace/not-found.js +1 -1
  647. package/dist/modules/workspace/not-found.js.map +1 -1
  648. package/dist/modules/workspace/pattern-matcher.contract.d.ts +1 -1
  649. package/dist/modules/workspace/pattern-matcher.contract.d.ts.map +1 -1
  650. package/dist/modules/workspace/pattern-matcher.contract.js +1 -1
  651. package/dist/modules/workspace/pattern-matcher.contract.js.map +1 -1
  652. package/dist/modules/workspace/routine-write-policy.js +1 -1
  653. package/dist/modules/workspace/routine-write-policy.js.map +1 -1
  654. package/dist/modules/workspace/startup/kb-git.js +1 -1
  655. package/dist/modules/workspace/startup/kb-git.js.map +1 -1
  656. package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -1
  657. package/dist/modules/workspace/startup/kb-startup-runner.js +1 -2
  658. package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -1
  659. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js +2 -2
  660. package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js.map +1 -1
  661. package/dist/modules/workspace/startup/steps/personal-spaces.step.js +2 -2
  662. package/dist/modules/workspace/startup/steps/personal-spaces.step.js.map +1 -1
  663. package/dist/modules/workspace/startup/steps/plugin-layout.js +1 -1
  664. package/dist/modules/workspace/startup/steps/plugin-layout.js.map +1 -1
  665. package/dist/modules/workspace/startup/steps/roles-yaml.step.js +1 -1
  666. package/dist/modules/workspace/startup/steps/roles-yaml.step.js.map +1 -1
  667. package/dist/modules/workspace/startup/steps/seed-tree.js +2 -2
  668. package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
  669. package/dist/modules/workspace/startup/steps/template-files.step.d.ts +1 -1
  670. package/dist/modules/workspace/startup/steps/template-files.step.d.ts.map +1 -1
  671. package/dist/modules/workspace/startup/steps/template-files.step.js +2 -2
  672. package/dist/modules/workspace/startup/steps/template-files.step.js.map +1 -1
  673. package/dist/modules/workspace/startup/steps/template-source.js +2 -2
  674. package/dist/modules/workspace/startup/steps/template-source.js.map +1 -1
  675. package/dist/modules/workspace/worker-pool.d.ts +100 -0
  676. package/dist/modules/workspace/worker-pool.d.ts.map +1 -0
  677. package/dist/modules/workspace/worker-pool.js +156 -0
  678. package/dist/modules/workspace/worker-pool.js.map +1 -0
  679. package/dist/modules/workspace/workspace.routes.d.ts +7 -8
  680. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
  681. package/dist/modules/workspace/workspace.routes.js +4 -6
  682. package/dist/modules/workspace/workspace.routes.js.map +1 -1
  683. package/dist/modules/workspace/workspace.service.d.ts +1 -1
  684. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  685. package/dist/modules/workspace/workspace.service.js +3 -6
  686. package/dist/modules/workspace/workspace.service.js.map +1 -1
  687. package/dist/modules/workspace/workspace.tools.d.ts +7 -7
  688. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  689. package/dist/modules/workspace/workspace.tools.js +45 -27
  690. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  691. package/dist/modules/workspace/write-denial.d.ts +4 -4
  692. package/dist/modules/workspace/write-denial.d.ts.map +1 -1
  693. package/dist/modules/workspace/write-denial.js +2 -3
  694. package/dist/modules/workspace/write-denial.js.map +1 -1
  695. package/dist/modules/write-access/index.d.ts +8 -0
  696. package/dist/modules/write-access/index.d.ts.map +1 -0
  697. package/dist/modules/write-access/index.js +7 -0
  698. package/dist/modules/write-access/index.js.map +1 -0
  699. package/migrations/0020_change_request_body_is_the_description.sql +20 -0
  700. package/migrations/0021_data_migrations_ledger.sql +11 -0
  701. package/migrations/meta/0020_snapshot.json +2321 -0
  702. package/migrations/meta/0021_snapshot.json +2353 -0
  703. package/migrations/meta/_journal.json +14 -0
  704. package/package.json +3 -3
  705. package/src/core/__tests__/damaged-document.tools.test.ts +374 -0
  706. package/src/core/__tests__/public-config.test.ts +5 -0
  707. package/src/core/create-core-server.ts +32 -3
  708. package/src/core/create-core-services.ts +32 -5
  709. package/src/core/lifecycle.ts +10 -0
  710. package/src/core/public-config.ts +10 -0
  711. package/src/modules/access/__tests__/access-requests.routes.test.ts +29 -15
  712. package/src/modules/access/access-control.service.ts +5 -6
  713. package/src/modules/access/access-declarations.ts +1 -1
  714. package/src/modules/access/access-mutation.service.ts +10 -4
  715. package/src/modules/access/access-requests.contract.ts +1 -1
  716. package/src/modules/access/access-requests.routes.ts +10 -15
  717. package/src/modules/access/access-requests.service.ts +29 -71
  718. package/src/modules/access/access-view.ts +1 -1
  719. package/src/modules/access/access.routes.ts +9 -11
  720. package/src/modules/access/admin-locked-commit.ts +3 -2
  721. package/src/modules/access/capability-registry.ts +1 -1
  722. package/src/modules/access/change-read-gate.ts +3 -5
  723. package/src/modules/access/creator-access.ts +3 -5
  724. package/src/modules/access/directory-sync-bot.ts +2 -2
  725. package/src/modules/access/groups-admin.routes.ts +3 -3
  726. package/src/modules/access/groups-admin.service.ts +3 -4
  727. package/src/modules/access/groups-edit.ts +2 -2
  728. package/src/modules/access/index.ts +17 -0
  729. package/src/modules/access/reference-scan.ts +1 -1
  730. package/src/modules/access/roles-admin.service.ts +3 -6
  731. package/src/modules/access/roles-edit.ts +1 -1
  732. package/src/modules/access/synced-groups-committer.ts +4 -4
  733. package/src/modules/access/synced-groups-writer.ts +2 -2
  734. package/src/modules/access/user-access-removal.service.ts +3 -6
  735. package/src/modules/access-model/index.ts +21 -5
  736. package/src/modules/access-model/roles-yaml-guard.ts +1 -1
  737. package/src/modules/admin/admin-access.routes.ts +1 -1
  738. package/src/modules/admin/admin-access.service.ts +2 -2
  739. package/src/modules/admin/index.ts +7 -0
  740. package/src/modules/agent-guide/__tests__/agent-guide.test.ts +5 -0
  741. package/src/modules/agent-guide/agent-guide.tools.ts +4 -6
  742. package/src/modules/agent-guide/agent-guide.ts +1 -1
  743. package/src/modules/agent-guide/index.ts +1 -1
  744. package/src/modules/agent-instructions/read-preamble.ts +1 -1
  745. package/src/modules/audit/agent-audit.service.ts +3 -3
  746. package/src/modules/audit/agent-connection.routes.ts +1 -1
  747. package/src/modules/audit/agent-rest-audit.middleware.ts +1 -1
  748. package/src/modules/audit/audit.routes.ts +4 -4
  749. package/src/modules/auth/account-erasure.service.ts +4 -9
  750. package/src/modules/auth/account-switch-lock.ts +2 -2
  751. package/src/modules/auth/account.routes.ts +3 -3
  752. package/src/modules/auth/auth.service.ts +4 -4
  753. package/src/modules/auth/index.ts +3 -0
  754. package/src/modules/auth/oidc-auth-provider.ts +1 -1
  755. package/src/modules/code-mode/code-mode.tool.ts +1 -1
  756. package/src/modules/connection-probe/connection-probe.service.ts +3 -6
  757. package/src/modules/database/__tests__/legacy-change-request-body.test.ts +118 -0
  758. package/src/modules/database/__tests__/legacy-request-bodies.pg.test.ts +258 -0
  759. package/src/modules/database/__tests__/pii-backfill.pg.test.ts +15 -18
  760. package/src/modules/database/core-schema.ts +43 -36
  761. package/src/modules/database/index.ts +9 -0
  762. package/src/modules/database/migrate.ts +79 -3
  763. package/src/modules/declared-variables/declared-variables.routes.ts +2 -2
  764. package/src/modules/diff/diff.routes.ts +5 -5
  765. package/src/modules/diff/diff.service.ts +2 -2
  766. package/src/modules/diff/index.ts +6 -0
  767. package/src/modules/embed/account-link.service.ts +2 -2
  768. package/src/modules/embed/embed.routes.ts +2 -2
  769. package/src/modules/embed/embed.service.ts +1 -1
  770. package/src/modules/embed/embed.tools.ts +6 -9
  771. package/src/modules/github-app/github-app.connection.ts +1 -1
  772. package/src/modules/github-app/github-app.routes.ts +3 -3
  773. package/src/modules/kb-fs/index.ts +11 -0
  774. package/src/modules/kb-fs/locking-filesystem.ts +1 -1
  775. package/src/modules/kb-sync/kb-sync.routes.ts +3 -3
  776. package/src/modules/kb-sync/kb-sync.service.ts +1 -1
  777. package/src/modules/kb-sync/sync-auth.ts +1 -1
  778. package/src/modules/kb-sync/sync-payload.ts +1 -1
  779. package/src/modules/marketplace/git-http.routes.ts +1 -1
  780. package/src/modules/marketplace/github-facade/github-facade-admin.routes.ts +1 -1
  781. package/src/modules/marketplace/github-facade/github-facade-codes.store.ts +2 -2
  782. package/src/modules/marketplace/github-facade/github-facade-credentials.service.ts +2 -2
  783. package/src/modules/marketplace/github-facade/github-facade.routes.ts +2 -2
  784. package/src/modules/marketplace/github-facade/github-facade.service.ts +2 -2
  785. package/src/modules/marketplace/marketplace-repo.service.ts +2 -2
  786. package/src/modules/mcp/__tests__/read-only-hint.e2e.test.ts +213 -0
  787. package/src/modules/mcp/index.ts +7 -0
  788. package/src/modules/mcp/mcp-auth.middleware.ts +6 -7
  789. package/src/modules/mcp/mcp.routes.ts +3 -5
  790. package/src/modules/mcp/mcp.service.ts +30 -13
  791. package/src/modules/mcp/oauth/bevel-oauth-provider.ts +2 -2
  792. package/src/modules/mcp/oauth/oauth-consent.routes.ts +1 -1
  793. package/src/modules/onboarding/onboarding.routes.ts +1 -1
  794. package/src/modules/onboarding/starter-pack.service.ts +5 -6
  795. package/src/modules/plugins/__tests__/bundle-dialect.e2e.test.ts +2 -1
  796. package/src/modules/plugins/__tests__/plugin-links.service.test.ts +2 -1
  797. package/src/modules/plugins/compile/compile-marketplace.ts +2 -2
  798. package/src/modules/plugins/compile/marketplace-compiler.service.ts +3 -3
  799. package/src/modules/plugins/discovery/bundle-dialect/registry.ts +1 -1
  800. package/src/modules/plugins/index.ts +2 -0
  801. package/src/modules/plugins/join-proposals.ts +2 -2
  802. package/src/modules/plugins/join-request-jobs.service.ts +3 -3
  803. package/src/modules/plugins/join-request-records.store.ts +2 -2
  804. package/src/modules/plugins/join-requests.service.ts +4 -4
  805. package/src/modules/plugins/plugin-links.service.ts +10 -11
  806. package/src/modules/plugins/plugin-links.ts +4 -4
  807. package/src/modules/plugins/plugin-provision.service.ts +4 -5
  808. package/src/modules/plugins/plugin-rename.service.ts +3 -3
  809. package/src/modules/plugins/plugins.contract.ts +1 -1
  810. package/src/modules/plugins/plugins.routes.ts +4 -4
  811. package/src/modules/plugins/plugins.service.ts +5 -5
  812. package/src/modules/plugins/plugins.tools.ts +4 -4
  813. package/src/modules/plugins/teams.routes.ts +3 -3
  814. package/src/modules/secrets-vault/db-secrets-vault.service.ts +2 -2
  815. package/src/modules/secrets-vault/index.ts +2 -0
  816. package/src/modules/secrets-vault/secrets-vault.routes.ts +4 -4
  817. package/src/modules/settings/__tests__/deployment-settings.service.test.ts +88 -1
  818. package/src/modules/settings/connection-check.ts +1 -1
  819. package/src/modules/settings/deployment-settings.service.ts +44 -4
  820. package/src/modules/settings/git-root-folders.ts +1 -1
  821. package/src/modules/settings/index.ts +12 -0
  822. package/src/modules/settings/setup.routes.ts +5 -4
  823. package/src/modules/skills/__tests__/allowed-tools-warn.tools.test.ts +2 -2
  824. package/src/modules/skills/__tests__/skill-access-requests.routes.test.ts +6 -3
  825. package/src/modules/skills/allowed-tools-check.ts +2 -6
  826. package/src/modules/skills/index.ts +2 -0
  827. package/src/modules/skills/pending-skills.service.ts +3 -4
  828. package/src/modules/skills/skill-access-requests.routes.ts +10 -17
  829. package/src/modules/skills/skills.routes.ts +1 -1
  830. package/src/modules/skills/skills.service.ts +2 -2
  831. package/src/modules/skills/skills.tools.ts +5 -9
  832. package/src/modules/tool-auth/connection-key-rejection.ts +1 -1
  833. package/src/modules/tool-auth/connection-keys-admin.routes.ts +2 -2
  834. package/src/modules/tool-auth/external-api-key.service.ts +2 -2
  835. package/src/modules/tool-auth/index.ts +14 -0
  836. package/src/modules/tool-auth/tool-auth.middleware.ts +3 -3
  837. package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +2 -2
  838. package/src/modules/tool-helpers/__tests__/can-write.tools.test.ts +2 -2
  839. package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +2 -2
  840. package/src/modules/tool-helpers/default-branch-write.ts +1 -1
  841. package/src/modules/tool-helpers/index.ts +5 -1
  842. package/src/modules/tool-helpers/route-argument-check.ts +1 -1
  843. package/src/modules/tool-helpers/route-tool-schemas.ts +1 -1
  844. package/src/modules/tool-helpers/tool-context.ts +8 -10
  845. package/src/modules/tool-helpers/tool-def.ts +7 -3
  846. package/src/modules/tool-helpers/tool-handler.ts +2 -2
  847. package/src/modules/tool-helpers/tool.contract.ts +2 -2
  848. package/src/modules/tool-helpers/validate-token.ts +2 -3
  849. package/src/modules/tool-manuals/index.ts +6 -0
  850. package/src/modules/tool-manuals/mcp-server-edit.service.ts +2 -2
  851. package/src/modules/tool-manuals/pending-tools.service.ts +2 -2
  852. package/src/modules/tool-manuals/tool-delete.service.ts +5 -6
  853. package/src/modules/tool-manuals/tool-manuals.routes.ts +5 -5
  854. package/src/modules/tool-manuals/tool-manuals.service.ts +3 -3
  855. package/src/modules/tool-manuals/tool-manuals.tools.ts +4 -6
  856. package/src/modules/tool-registry/__tests__/read-only-hints.test.ts +439 -0
  857. package/src/modules/tool-registry/__tests__/tool-registry.test.ts +9 -2
  858. package/src/modules/tool-registry/description-length.ts +2 -2
  859. package/src/modules/tool-registry/index.ts +22 -0
  860. package/src/modules/tool-registry/manual.routes.ts +14 -8
  861. package/src/modules/tool-registry/read-only-hints.contract.ts +54 -0
  862. package/src/modules/tool-registry/read-only-hints.ts +225 -0
  863. package/src/modules/tool-registry/tool.contract.ts +11 -0
  864. package/src/modules/update-check/update-check.routes.ts +2 -2
  865. package/src/modules/workflow/__tests__/event-bus.test.ts +14 -2
  866. package/src/modules/workflow/__tests__/events-delivery.test.ts +778 -0
  867. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +84 -21
  868. package/src/modules/workflow/__tests__/workflow.service.update-change-request.pg.test.ts +120 -0
  869. package/src/modules/workflow/__tests__/workflow.service.update-change-request.test.ts +346 -0
  870. package/src/modules/workflow/agent-tools/__tests__/change-request-read-shape.test.ts +32 -209
  871. package/src/modules/workflow/agent-tools/__tests__/change-request-read.tools.test.ts +16 -245
  872. package/src/modules/workflow/agent-tools/__tests__/update-change-request.parity.test.ts +306 -0
  873. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +33 -57
  874. package/src/modules/workflow/agent-tools/change-request-read-shape.ts +18 -153
  875. package/src/modules/workflow/agent-tools/change-request-read.tools.ts +24 -96
  876. package/src/modules/workflow/agent-tools/change-request-summary.ts +16 -2
  877. package/src/modules/workflow/agent-tools/workflow.tools.ts +49 -75
  878. package/src/modules/workflow/change-request-hooks.ts +1 -1
  879. package/src/modules/workflow/event-bus.ts +3 -1
  880. package/src/modules/workflow/events-delivery.ts +278 -0
  881. package/src/modules/workflow/events.routes.ts +30 -9
  882. package/src/modules/workflow/file-lock.service.ts +2 -2
  883. package/src/modules/workflow/git/__tests__/pull-request.service.getPrDetail.test.ts +24 -9
  884. package/src/modules/workflow/git/git.service.ts +5 -8
  885. package/src/modules/workflow/git/node-git-runner.ts +1 -1
  886. package/src/modules/workflow/git/pull-request.service.ts +34 -29
  887. package/src/modules/workflow/index.ts +15 -2
  888. package/src/modules/workflow/pending-commits.service.ts +2 -2
  889. package/src/modules/workflow/read-on-branch.ts +1 -1
  890. package/src/modules/workflow/recovery-bot.ts +2 -2
  891. package/src/modules/workflow/review-workflow/approval-lock.ts +1 -1
  892. package/src/modules/workflow/review-workflow/review-workflow.interface.ts +3 -35
  893. package/src/modules/workflow/review-workflow/review-workflow.service.ts +6 -165
  894. package/src/modules/workflow/workflow.routes.ts +46 -100
  895. package/src/modules/workflow/workflow.service.ts +272 -191
  896. package/src/modules/workspace/__tests__/agent-downloads.test.ts +2 -1
  897. package/src/modules/workspace/__tests__/agent-uploads.test.ts +87 -1
  898. package/src/modules/workspace/__tests__/escape-sequences.routes.test.ts +2 -1
  899. package/src/modules/workspace/__tests__/file-stat-access.test.ts +2 -1
  900. package/src/modules/workspace/__tests__/git-internals.security.test.ts +2 -1
  901. package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +2 -1
  902. package/src/modules/workspace/__tests__/worker-pool.test.ts +118 -0
  903. package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +3 -2
  904. package/src/modules/workspace/__tests__/workspace.service.ensure-remotes-fetched.test.ts +30 -0
  905. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +2 -1
  906. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +2 -1
  907. package/src/modules/workspace/__tests__/workspace.tools.test.ts +30 -4
  908. package/src/modules/workspace/agent-access.gate.ts +3 -3
  909. package/src/modules/workspace/agent-download.builder.ts +1 -1
  910. package/src/modules/workspace/agent-upload.routes.ts +19 -0
  911. package/src/modules/workspace/agent-upload.store.ts +18 -0
  912. package/src/modules/workspace/bounded-matcher.ts +32 -89
  913. package/src/modules/workspace/file-readers/README.md +9 -0
  914. package/src/modules/workspace/file-readers/__tests__/doc-extract.service.test.ts +165 -0
  915. package/src/modules/workspace/file-readers/__tests__/doc-extract.test.ts +21 -16
  916. package/src/modules/workspace/file-readers/__tests__/extract-in-worker.test.ts +229 -0
  917. package/src/modules/workspace/file-readers/__tests__/file-reader.registry.test.ts +2 -1
  918. package/src/modules/workspace/file-readers/__tests__/fixtures/damaged-pdf.ts +34 -0
  919. package/src/modules/workspace/file-readers/__tests__/fixtures/misbehaving-extract.worker.ts +57 -0
  920. package/src/modules/workspace/file-readers/__tests__/fixtures/pdf-in-trouble.worker.ts +20 -0
  921. package/src/modules/workspace/file-readers/__tests__/fixtures/unloadable-extract.worker.ts +2 -0
  922. package/src/modules/workspace/file-readers/doc-extract.service.ts +95 -20
  923. package/src/modules/workspace/file-readers/doc-extract.types.ts +13 -3
  924. package/src/modules/workspace/file-readers/document-extractor.contract.ts +42 -0
  925. package/src/modules/workspace/file-readers/document-extractors.ts +28 -0
  926. package/src/modules/workspace/file-readers/document-formats.ts +13 -0
  927. package/src/modules/workspace/file-readers/document-reader.ts +40 -36
  928. package/src/modules/workspace/file-readers/extract-in-worker.ts +183 -0
  929. package/src/modules/workspace/file-readers/extract-pdf.ts +23 -4
  930. package/src/modules/workspace/file-readers/extract.worker.ts +5 -0
  931. package/src/modules/workspace/file-readers/extraction-cache.ts +33 -12
  932. package/src/modules/workspace/file-readers/extraction-worker.ts +86 -0
  933. package/src/modules/workspace/file-readers/file-reader.registry.ts +6 -20
  934. package/src/modules/workspace/file-readers/file-reader.ts +14 -4
  935. package/src/modules/workspace/first-run.ts +1 -1
  936. package/src/modules/workspace/git-internals.middleware.ts +1 -1
  937. package/src/modules/workspace/index.ts +17 -0
  938. package/src/modules/workspace/kb-repository.ts +3 -2
  939. package/src/modules/workspace/not-found.ts +1 -1
  940. package/src/modules/workspace/pattern-matcher.contract.ts +1 -1
  941. package/src/modules/workspace/routine-write-policy.ts +1 -1
  942. package/src/modules/workspace/startup/kb-git.ts +1 -1
  943. package/src/modules/workspace/startup/kb-startup-runner.ts +1 -2
  944. package/src/modules/workspace/startup/steps/groups-to-plugins.step.ts +3 -3
  945. package/src/modules/workspace/startup/steps/personal-spaces.step.ts +2 -2
  946. package/src/modules/workspace/startup/steps/plugin-layout.ts +1 -1
  947. package/src/modules/workspace/startup/steps/roles-yaml.step.ts +1 -1
  948. package/src/modules/workspace/startup/steps/seed-tree.ts +2 -2
  949. package/src/modules/workspace/startup/steps/template-files.step.ts +2 -2
  950. package/src/modules/workspace/startup/steps/template-source.ts +2 -2
  951. package/src/modules/workspace/worker-pool.ts +193 -0
  952. package/src/modules/workspace/workspace.routes.ts +9 -12
  953. package/src/modules/workspace/workspace.service.ts +4 -7
  954. package/src/modules/workspace/workspace.tools.ts +53 -34
  955. package/src/modules/workspace/write-denial.ts +4 -5
  956. package/src/modules/write-access/index.ts +7 -0
  957. package/src/shared/__tests__/module-boundaries.lint.test.ts +301 -0
  958. package/src/modules/workflow/__tests__/format-affected-owners.test.ts +0 -85
@@ -85,5 +85,15 @@ export function publicConfig(kb: KbContext, { marketplaceGitUrl, mcpUrl }: Publi
85
85
  * there.
86
86
  */
87
87
  catalogRevision: true as const,
88
+ /**
89
+ * This deployment serves `GET /api/agent/tool-hints`, the read-only hint
90
+ * of every platform tool and code-mode meta-tool (see
91
+ * modules/tool-registry/read-only-hints.ts). The local `hexis-mcp` bridge
92
+ * reads it on every `tools/list` only when this is advertised — on the
93
+ * same terms as the two flags above: an older deployment answers the
94
+ * unknown route with 401, and an OAuth bridge reads a 401 as an expired
95
+ * token and refreshes its sign-in on every listing.
96
+ */
97
+ toolHints: true as const,
88
98
  };
89
99
  }
@@ -49,7 +49,8 @@ interface HarnessOpts {
49
49
  lastClosed?: { number: number; state: 'closed' | 'merged' } | null;
50
50
  liveRules?: string | null;
51
51
  branchRules?: string | null;
52
- detailBody?: string;
52
+ /** What `getChangeRequestDetail` answers for every request: the body, and the access request's own facts. */
53
+ detail?: { body?: string; accessRequest?: { level: 'write' | 'owner'; note?: string } };
53
54
  }
54
55
 
55
56
  async function makeHarness(opts: HarnessOpts = {}) {
@@ -62,7 +63,7 @@ async function makeHarness(opts: HarnessOpts = {}) {
62
63
  lastClosed = null,
63
64
  liveRules = '---\n---\nwrite:\n - Ed <ed@x.io>\n',
64
65
  branchRules = null,
65
- detailBody = '',
66
+ detail = {},
66
67
  } = opts;
67
68
 
68
69
  const absent = Object.assign(new Error('ENOENT'), { code: 'ENOENT' });
@@ -92,7 +93,7 @@ async function makeHarness(opts: HarnessOpts = {}) {
92
93
  }),
93
94
  latestClosedChangeRequest: vi.fn(async () => lastClosed),
94
95
  getChangeRequest: vi.fn(async (n: number) => ({ number: n, state: 'open' })),
95
- getChangeRequestDetail: vi.fn(async () => ({ body: detailBody })),
96
+ getChangeRequestDetail: vi.fn(async () => ({ body: '', ...detail })),
96
97
  } as unknown as IWorkflowService;
97
98
 
98
99
  const workspaceService = {
@@ -345,13 +346,14 @@ describe('GET /workspace/:id/access/request — what the requester is told', ()
345
346
  it('reports the open request, taking the level off the REQUEST rather than the branch', async () => {
346
347
  // The branch is where the proposal lives, but a clone whose refs are
347
348
  // seconds stale cannot read a branch cut moments ago. "Requested: Owner"
348
- // is a promise about a request, so it is answered from the request — here
349
- // the branch is deliberately unreadable and the line is still right.
349
+ // is a promise about a request, so it is answered from the request's own
350
+ // row — here the branch is deliberately unreadable and the line is still
351
+ // right.
350
352
  const branch = joinBranchFor(RITA.email, FOLDER);
351
353
  const h = await makeHarness({
352
354
  openCrs: [{ number: 31, branch, state: 'open' }],
353
355
  proposals: null,
354
- detailBody: '<!--hexis:access-request-level:owner-->\nRita asked for Owner.',
356
+ detail: { body: 'Rita asked for Owner.', accessRequest: { level: 'owner' } },
355
357
  });
356
358
  server = h.server;
357
359
  expect(await (await status(h)).json()).toEqual({ state: 'pending', level: 'owner', number: 31 });
@@ -361,7 +363,7 @@ describe('GET /workspace/:id/access/request — what the requester is told', ()
361
363
  const branch = joinBranchFor(RITA.email, FOLDER);
362
364
  const h = await makeHarness({
363
365
  openCrs: [{ number: 31, branch, state: 'open' }],
364
- detailBody: 'Opened before the level was recorded.',
366
+ detail: { body: 'Opened before the level was recorded.' },
365
367
  });
366
368
  server = h.server;
367
369
  expect(await (await status(h)).json()).toMatchObject({ state: 'pending', level: 'write' });
@@ -410,12 +412,14 @@ describe('the editors\' side', () => {
410
412
  const listUrl = (base: string) =>
411
413
  `${base}/${LIVE_WS}/access/requests?path=${encodeURIComponent(`${KB}/${FOLDER}`)}&kind=folder`;
412
414
 
413
- it('lists the item\'s open requests for an editor, with the note read back as plain text', async () => {
415
+ it("lists the item's open requests for an editor, with the note off the request's own row", async () => {
414
416
  const h = await makeHarness({
415
417
  writable: [`${FOLDER}/access.md`],
416
418
  proposals: [proposalFor('owner')],
417
- detailBody:
418
- 'x\n\n<!--hexis:access-request-note-->\n> I maintain these pages now\n<!--/hexis:access-request-note-->\n',
419
+ detail: {
420
+ body: 'x\n\nNote from Rita:\n\n> I maintain these pages now',
421
+ accessRequest: { level: 'owner', note: 'I maintain these pages now' },
422
+ },
419
423
  });
420
424
  server = h.server;
421
425
  const body = await (await fetch(listUrl(h.base))).json();
@@ -565,19 +569,29 @@ describe('a branch left over from an answered request', () => {
565
569
  // request asking for Owner.
566
570
  const h = await makeHarness({
567
571
  openCrs: [{ number: 31, branch: stale, state: 'open' }],
568
- detailBody: '<!--hexis:access-request-level:owner-->',
572
+ detail: { accessRequest: { level: 'owner' } },
569
573
  });
570
574
  server = h.server;
571
575
  const res = await post(`${h.base}/${LIVE_WS}/access/request`, { ...folderBody, level: 'write' });
572
576
  expect(await res.json()).toEqual({ ok: true, state: 'pending', number: 31, level: 'owner' });
573
577
  });
574
578
 
575
- it('records the level on the request itself, so it can be read back', async () => {
579
+ it('records the level and the note on the request itself, never hidden in its description', async () => {
576
580
  const h = await makeHarness();
577
581
  server = h.server;
578
- await post(`${h.base}/${LIVE_WS}/access/request`, { ...folderBody, level: 'owner' });
579
- const { description } = h.opened[0] as { description: string };
580
- expect(description).toContain('<!--hexis:access-request-level:owner-->');
582
+ await post(`${h.base}/${LIVE_WS}/access/request`, { ...folderBody, level: 'owner', note: 'For the Q3 review' });
583
+ const { description, accessRequest } = h.opened[0] as { description: string; accessRequest: unknown };
584
+ expect(accessRequest).toEqual({ level: 'owner', note: 'For the Q3 review' });
585
+ // The description is prose for the people who read it: no marker, no fence.
586
+ expect(description).not.toMatch(/<!--/);
587
+ expect(description).toContain('For the Q3 review');
588
+ });
589
+
590
+ it('records no note when none was written', async () => {
591
+ const h = await makeHarness();
592
+ server = h.server;
593
+ await post(`${h.base}/${LIVE_WS}/access/request`, { ...folderBody, level: 'write' });
594
+ expect((h.opened[0] as { accessRequest: unknown }).accessRequest).toEqual({ level: 'write' });
581
595
  });
582
596
  });
583
597
 
@@ -7,9 +7,9 @@ const log = logger('access');
7
7
  import { isAbsence, type ITreeWalker, type WalkListener } from '../../shared/fs.contract.js';
8
8
  import { assertOneSpecPerLine, isCommitSha, isGitTimeout, type IGitRunner } from '../../shared/git.contract.js';
9
9
  import { hashEmail } from '../../shared/email-identity.js';
10
- import { NodeGitRunner } from '../workflow/git/node-git-runner.js';
10
+ import { NodeGitRunner } from '../workflow/index.js';
11
11
  import { readRevSha } from '../kb-fs/index.js';
12
- import type { WorkspaceService } from '../workspace/workspace.service.js';
12
+ import type { WorkspaceService } from '../workspace/index.js';
13
13
  import type {
14
14
  IAccessControl,
15
15
  AccessDecision,
@@ -32,14 +32,13 @@ import {
32
32
  platformRestoreDestination,
33
33
  } from '@bevel-software/platform-shared';
34
34
  import type { KbContext } from '../../shared/kb-context.js';
35
- import { AccessConfigError, AccessUnreadableError } from '../access-model/access-errors.js';
36
- import { synthesizePluginPrincipals } from '../access-model/plugin-principals.js';
35
+ import { AccessConfigError, AccessUnreadableError, synthesizePluginPrincipals } from '../access-model/index.js';
37
36
  import {
38
37
  GROUPS_YAML,
39
38
  SYNCED_GROUPS_YAML,
40
39
  parseGroupsFile,
41
40
  type GroupsIndex,
42
- } from '../access-model/group-files.js';
41
+ } from '../access-model/index.js';
43
42
  import {
44
43
  ADMIN_CANONICAL,
45
44
  EVERYONE_CANONICAL,
@@ -61,7 +60,7 @@ import {
61
60
  type ParsedEntry,
62
61
  type RolesIndex,
63
62
  type Verb,
64
- } from '../access-model/access-grammar.js';
63
+ } from '../access-model/index.js';
65
64
  import {
66
65
  DIRECTORY_SYNC_BOT_EMAIL,
67
66
  DIRECTORY_SYNC_BOT_NAME,
@@ -9,7 +9,7 @@ import {
9
9
  parseOwnAccessEntries,
10
10
  type ParsedEntry,
11
11
  type Verb,
12
- } from '../access-model/access-grammar.js';
12
+ } from '../access-model/index.js';
13
13
 
14
14
  /**
15
15
  * WHERE access rules are DECLARED inside a folder — a read-only inventory, not
@@ -35,10 +35,10 @@
35
35
 
36
36
  import path from 'node:path';
37
37
 
38
- import type { WorkspaceService } from '../workspace/workspace.service.js';
38
+ import type { WorkspaceService } from '../workspace/index.js';
39
39
  import type { IAccessControl } from './access-control.interface.js';
40
40
  import { isAbsence } from '../../shared/fs.contract.js';
41
- import { isTextBytes } from '../workspace/file-readers/text-reader.js';
41
+ import { isTextBytes } from '../workspace/index.js';
42
42
  import {
43
43
  type Verb,
44
44
  ADMIN_CANONICAL,
@@ -46,7 +46,7 @@ import {
46
46
  ROLE_TOKEN_PREFIX,
47
47
  canonicalRoleName,
48
48
  accessFrontmatterExtensionList,
49
- } from '../access-model/access-grammar.js';
49
+ } from '../access-model/index.js';
50
50
  import {
51
51
  spliceRevoke,
52
52
  spliceGrant,
@@ -54,7 +54,7 @@ import {
54
54
  AccessSpliceError,
55
55
  type Principal,
56
56
  type TokenMatch,
57
- } from '../access-model/access-splice.js';
57
+ } from '../access-model/index.js';
58
58
  import { WorkflowDomainError } from '../../shared/domain-errors.js';
59
59
  import {
60
60
  canCarryFrontmatter,
@@ -610,3 +610,9 @@ export class AccessMutationService {
610
610
  return new AccessMutationError(err instanceof Error ? err.message : 'mutation failed', 500);
611
611
  }
612
612
  }
613
+
614
+ /**
615
+ * What another module needs of the mutation service: to grant and to revoke.
616
+ * Injected by the composition root, which owns the implementation.
617
+ */
618
+ export type IAccessMutation = Pick<AccessMutationService, 'grant' | 'revoke'>;
@@ -1,5 +1,5 @@
1
1
  import type { AuthUser, ChangeRequest } from '@bevel-software/platform-shared';
2
- import type { Verb } from '../access-model/access-grammar.js';
2
+ import type { Verb } from '../access-model/index.js';
3
3
  import { accessMdPathForFolder, type TargetKind } from './access-mutation.service.js';
4
4
 
5
5
  /**
@@ -1,11 +1,10 @@
1
1
  import express from 'express';
2
- import type { AuthUser } from '@bevel-software/platform-shared';
3
- import type { IWorkflowService } from '@bevel-software/platform-shared';
2
+ import type { AuthUser, IWorkflowService } from '@bevel-software/platform-shared';
4
3
  import { logger } from '../../shared/logging.js';
5
4
  import type { KbContext } from '../../shared/kb-context.js';
6
5
  import { branchForWorkspaceId } from '../../shared/workspace-id.js';
7
- import type { AuthService } from '../auth/auth.service.js';
8
- import type { WorkspaceService } from '../workspace/workspace.service.js';
6
+ import type { AuthService } from '../auth/index.js';
7
+ import type { WorkspaceService } from '../workspace/index.js';
9
8
  import type { IAccessControl } from './access-control.interface.js';
10
9
  import {
11
10
  AccessMutationError,
@@ -22,12 +21,8 @@ import {
22
21
  type AccessRequestTarget,
23
22
  type IAccessRequestLifecycle,
24
23
  } from './access-requests.contract.js';
25
- import {
26
- AccessRequestsService,
27
- extractRequestNote,
28
- itemNameOf,
29
- } from './access-requests.service.js';
30
- import '../auth/auth.middleware.js'; // Express Request.userId augmentation
24
+ import { AccessRequestsService, itemNameOf } from './access-requests.service.js';
25
+ import '../auth/index.js'; // Express Request.userId augmentation
31
26
 
32
27
  const log = logger('access.request');
33
28
 
@@ -235,16 +230,16 @@ export function createAccessRequestRoutes(deps: {
235
230
  }
236
231
  const crs = await workflow.listChangeRequests();
237
232
  const rows = await lifecycle.list(target.path, target, crs, user);
238
- // The note lives in the request's description and nowhere else, so it
239
- // is read back per request. Bounded by the open requests on ONE item —
240
- // a handful at most — and a detail that cannot be fetched costs the
241
- // note, never the line it belongs to.
233
+ // The note is the request's own column, read back per request.
234
+ // Bounded by the open requests on ONE item — a handful at most — and a
235
+ // detail that cannot be fetched costs the note, never the line it
236
+ // belongs to.
242
237
  const withNotes = await Promise.all(
243
238
  rows.map(async (row) => {
244
239
  const detail = await workflow
245
240
  .getChangeRequestDetail(row.number, { patches: false })
246
241
  .catch(() => null);
247
- const note = extractRequestNote(detail?.body);
242
+ const note = detail?.accessRequest?.note;
248
243
  return note ? { ...row, note } : row;
249
244
  }),
250
245
  );
@@ -10,8 +10,8 @@ import {
10
10
  } from '../../shared/domain-errors.js';
11
11
  import { isAbsence } from '../../shared/fs.contract.js';
12
12
  import type { KbContext } from '../../shared/kb-context.js';
13
- import { spliceGrant } from '../access-model/access-splice.js';
14
- import type { WorkspaceService } from '../workspace/workspace.service.js';
13
+ import { spliceGrant } from '../access-model/index.js';
14
+ import type { WorkspaceService } from '../workspace/index.js';
15
15
  import { logger } from '../../shared/logging.js';
16
16
  import { AccessMutationError } from './access-mutation.service.js';
17
17
  import {
@@ -50,7 +50,7 @@ export function itemNameOf(repoRelPath: string): string {
50
50
  /**
51
51
  * Neutralise every character a markdown renderer would read as structure.
52
52
  *
53
- * The note is somebody's free text and it lands in a change request's
53
+ * The note is somebody's free text and it is quoted in a change request's
54
54
  * description, which IS rendered. Escaping it is what makes "plain text" true:
55
55
  * without this a note can carry a heading, a link, or an image pointing at a
56
56
  * URL that logs whoever opens the request.
@@ -59,64 +59,6 @@ export function escapeMarkdown(text: string): string {
59
59
  return text.replace(/[\\`*_{}[\]()#+\-.!|<>~]/g, (c) => `\\${c}`);
60
60
  }
61
61
 
62
- /** The exact inverse of {@link escapeMarkdown} — only our own backslashes go. */
63
- function unescapeMarkdown(text: string): string {
64
- return text.replace(/\\([\\`*_{}[\]()#+\-.!|<>~])/g, '$1');
65
- }
66
-
67
- /**
68
- * The fence the note sits behind in a request's description.
69
- *
70
- * The description is the note's only home — there is no column for it — so the
71
- * editors' banner has to read it back out of prose. Marking the block means
72
- * that read is exact rather than a guess at which paragraph was the note, and
73
- * an HTML comment is invisible in every surface that renders the description.
74
- */
75
- const NOTE_OPEN = '<!--hexis:access-request-note-->';
76
- const NOTE_CLOSE = '<!--/hexis:access-request-note-->';
77
-
78
- /**
79
- * The level, recorded on the change request itself.
80
- *
81
- * The branch says what is proposed, but only while it can be read — and a
82
- * clone whose refs are a few seconds stale cannot read a branch cut moments
83
- * ago. The request's own row always can. "Requested: <level>" is a promise
84
- * about a request, so it is answered from the request, not from a file at a
85
- * ref that may not have arrived yet.
86
- */
87
- const LEVEL_MARK = /<!--hexis:access-request-level:(write|owner)-->/;
88
-
89
- /**
90
- * The requester's own words, back out of a request's description, or
91
- * undefined when they wrote none. Unescaped exactly as they were escaped, so
92
- * what the banner shows is what was typed.
93
- */
94
- /**
95
- * The level a request asks for, off its own description. Undefined for a
96
- * request opened before this marker existed — those are the skill route's,
97
- * and the skill route only ever asked for `write`.
98
- */
99
- export function extractRequestLevel(body: string | null | undefined): RequestLevel | undefined {
100
- const hit = body ? LEVEL_MARK.exec(body) : null;
101
- return hit ? (hit[1] as RequestLevel) : undefined;
102
- }
103
-
104
- export function extractRequestNote(body: string | null | undefined): string | undefined {
105
- if (!body) return undefined;
106
- const start = body.indexOf(NOTE_OPEN);
107
- if (start < 0) return undefined;
108
- const end = body.indexOf(NOTE_CLOSE, start);
109
- if (end < 0) return undefined;
110
- const note = body
111
- .slice(start + NOTE_OPEN.length, end)
112
- .split(/\r?\n/)
113
- .filter((line) => line.startsWith('>'))
114
- .map((line) => unescapeMarkdown(line.replace(/^>\s?/, '')))
115
- .join('\n')
116
- .trim();
117
- return note || undefined;
118
- }
119
-
120
62
  /**
121
63
  * Asking for Can edit or Owner on ONE item, and reading back what came of it.
122
64
  *
@@ -261,11 +203,15 @@ export class AccessRequestsService {
261
203
  }
262
204
 
263
205
  try {
206
+ // The level and the note are the request's own columns — what the
207
+ // dialog and the editors' banner read back. The description is for the
208
+ // people who read the request, and says the same things in prose.
264
209
  const detail = await workflow.openChangeRequest(ws.id, user, {
265
210
  sourceBranch: branch,
266
211
  targetBranch: kb.defaultBranch,
267
212
  title: `Access request: ${itemName}`,
268
213
  description: this.describe({ user, target, level, note }),
214
+ accessRequest: { level, ...(note ? { note } : {}) },
269
215
  });
270
216
  return { number: detail.number, level };
271
217
  } catch (err) {
@@ -331,18 +277,21 @@ export class AccessRequestsService {
331
277
  }
332
278
 
333
279
  /**
334
- * The level change request `number` asks for, off its own description.
280
+ * The level change request `number` asks for, off the request's own row.
335
281
  *
336
- * `write` when the description does not say: every request that predates the
337
- * marker came from the skill page's "Request write access", which asks for
338
- * exactly that. A detail that cannot be fetched falls there too — the line
339
- * it feeds says which level was asked for, and Can edit is the lesser claim.
282
+ * The branch says what is proposed, but only while it can be read — and a
283
+ * clone whose refs are a few seconds stale cannot read a branch cut moments
284
+ * ago. The request's row always can. `write` when the row does not say:
285
+ * every request that predates the column came from the skill page's
286
+ * "Request write access", which asks for exactly that. A detail that cannot
287
+ * be fetched falls there too — the line it feeds says which level was asked
288
+ * for, and Can edit is the lesser claim.
340
289
  */
341
290
  private async levelOf(number: number): Promise<RequestLevel> {
342
291
  const detail = await this.deps.workflow
343
292
  .getChangeRequestDetail(number, { patches: false })
344
293
  .catch(() => null);
345
- return extractRequestLevel(detail?.body) ?? 'write';
294
+ return detail?.accessRequest?.level ?? 'write';
346
295
  }
347
296
 
348
297
  /**
@@ -390,7 +339,12 @@ export class AccessRequestsService {
390
339
  }
391
340
  }
392
341
 
393
- /** The description an editor reads: who, what, where, the note, and how to answer. */
342
+ /**
343
+ * The description an editor reads: who, what, where, the note, and how to
344
+ * answer. Prose only — the level and the note the platform reads back are
345
+ * the request's own columns, so nothing hidden is written here and an edit
346
+ * of the description loses nothing.
347
+ */
394
348
  private describe(input: {
395
349
  user: AuthUser;
396
350
  target: AccessRequestTarget;
@@ -400,14 +354,12 @@ export class AccessRequestsService {
400
354
  const { user, target, level, note } = input;
401
355
  const who = escapeMarkdown(user.name || user.email);
402
356
  const lines = [
403
- `<!--hexis:access-request-level:${level}-->`,
404
357
  `${who} (${escapeMarkdown(user.email)}) asked for **${LEVEL_LABEL[level]}** on ` +
405
358
  `${escapeMarkdown(target.path || 'the workspace')}.`,
406
359
  ];
407
360
  if (note) {
408
- lines.push('', `Note from ${who}:`, '', NOTE_OPEN);
361
+ lines.push('', `Note from ${who}:`, '');
409
362
  for (const line of note.split(/\r?\n/)) lines.push(`> ${escapeMarkdown(line)}`);
410
- lines.push(NOTE_CLOSE);
411
363
  }
412
364
  lines.push(
413
365
  '',
@@ -418,3 +370,9 @@ export class AccessRequestsService {
418
370
  return lines.join('\n');
419
371
  }
420
372
  }
373
+
374
+ /**
375
+ * What another module needs of the access-request service: to open one.
376
+ * Injected by the composition root, which owns the implementation.
377
+ */
378
+ export type IAccessRequests = Pick<AccessRequestsService, 'open'>;
@@ -14,7 +14,7 @@ import {
14
14
  KNOWN_VERBS,
15
15
  ROLE_TOKEN_PREFIX,
16
16
  type Verb,
17
- } from '../access-model/access-grammar.js';
17
+ } from '../access-model/index.js';
18
18
 
19
19
  /**
20
20
  * The resolved access view of one target, as the Manage access dialog reads it
@@ -17,15 +17,13 @@ import type {
17
17
  GrantPrincipal,
18
18
  GrantSources,
19
19
  } from './access-control.interface.js';
20
- import type { WorkspaceService } from '../workspace/workspace.service.js';
20
+ import type { WorkspaceService } from '../workspace/index.js';
21
21
  import type { KbContext } from '../../shared/kb-context.js';
22
22
  import { branchForWorkspaceId } from '../../shared/workspace-id.js';
23
- import type { AuthService } from '../auth/auth.service.js';
24
- import type { IAccountSwitchGuard } from '../auth/account-switch-guard.js';
25
- import type { WorkflowService } from '../workflow/workflow.service.js';
26
- import type { WorkflowEventBus } from '../workflow/event-bus.js';
23
+ import type { AuthService, IAccountSwitchGuard } from '../auth/index.js';
24
+ import type { WorkflowService, WorkflowEventBus } from '../workflow/index.js';
27
25
  import { WorkflowDomainError } from '../../shared/domain-errors.js';
28
- import { AccessDeniedError } from '../access-model/access-errors.js';
26
+ import { AccessDeniedError } from '../access-model/index.js';
29
27
  import {
30
28
  AccessMutationService,
31
29
  AccessMutationError,
@@ -43,17 +41,17 @@ import {
43
41
  ROLE_TOKEN_PREFIX,
44
42
  type PluginTokenVerb,
45
43
  type Verb,
46
- } from '../access-model/access-grammar.js';
44
+ } from '../access-model/index.js';
47
45
  import { listAccessDeclarationsUnder } from './access-declarations.js';
48
46
  import { emailsInView, holderPrincipals, labelAccountHolders, resolveAccessView } from './access-view.js';
49
47
  import type { AccessView, LabelledAccessView } from './access-view.js';
50
48
  import { toHttpError as sharedToHttpError, requireNonEmptyString as sharedRequireNonEmptyString } from './admin-route-helpers.js';
51
49
  import { RolesAdminService } from './roles-admin.service.js';
52
- import type { Principal } from '../access-model/access-splice.js';
53
- import type { Database } from '../database/connection.js';
54
- import { users } from '../database/schema.js';
50
+ import type { Principal } from '../access-model/index.js';
51
+ import type { Database } from '../database/index.js';
52
+ import { users } from '../database/index.js';
55
53
  import { canonicalEmail } from '../../shared/email-identity.js';
56
- import '../auth/auth.middleware.js';
54
+ import '../auth/index.js';
57
55
 
58
56
  /** Verbs the share UI may grant. Verbs are independent — `download` is grantable on its own. */
59
57
  const GRANTABLE_VERBS = new Set<string>(['read', 'write', 'owner', 'download']);
@@ -48,8 +48,9 @@
48
48
  import path from 'node:path';
49
49
  import { logger } from '../../shared/logging.js';
50
50
 
51
- import { LockingFilesystem, type WriteValidator } from '../kb-fs/locking-filesystem.js';
52
- import { PushNeedsAgentResolutionError, WorkflowDomainError } from '../../shared/domain-errors.js';
51
+ import { type WriteValidator, LockingFilesystem } from '../kb-fs/index.js';
52
+ import type { WorkflowDomainError } from '../../shared/domain-errors.js';
53
+ import { PushNeedsAgentResolutionError } from '../../shared/domain-errors.js';
53
54
  import { isAbsence } from '../../shared/fs.contract.js';
54
55
  import type { AuthUser, IWorkspaceService, IWorkflowService } from '@bevel-software/platform-shared';
55
56
 
@@ -18,7 +18,7 @@
18
18
  * really a group; the roles admin surface flags it with a convert action.
19
19
  */
20
20
 
21
- import { ADMIN_CANONICAL, canonicalRoleName } from '../access-model/access-grammar.js';
21
+ import { ADMIN_CANONICAL, canonicalRoleName } from '../access-model/index.js';
22
22
 
23
23
  /** A capability an app surface gates on. Grow this union with the gates. */
24
24
  export type Capability =
@@ -18,12 +18,10 @@ import path from 'node:path';
18
18
  import { creatableRootDirNames, type KbLayout } from '@bevel-software/platform-shared';
19
19
  import type { IFsProbe } from '../../shared/fs.contract.js';
20
20
  import type { KbContext } from '../../shared/kb-context.js';
21
- import type { WorkspaceService } from '../workspace/workspace.service.js';
21
+ import type { WorkspaceService } from '../workspace/index.js';
22
22
  import type { IAccessControl } from './access-control.interface.js';
23
- import { AccessConfigError, AccessDeniedError } from '../access-model/access-errors.js';
24
- import { SYNCED_GROUPS_YAML } from '../access-model/group-files.js';
25
- import { toKbRelative } from '../access-model/kb-read-filter.js';
26
- import type { ChangeReadVerdict, ChangeTargetKind, IChangeReadGate } from '../access-model/change-gate.js';
23
+ import { AccessConfigError, AccessDeniedError, SYNCED_GROUPS_YAML, toKbRelative } from '../access-model/index.js';
24
+ import type { ChangeReadVerdict, ChangeTargetKind, IChangeReadGate } from '../access-model/index.js';
27
25
 
28
26
  /**
29
27
  * Whether `kbRel` (repo-relative) is, or lies inside, a folder directly under
@@ -34,17 +34,15 @@ const log = logger('creator-access');
34
34
 
35
35
  import type { IFsProbe } from '../../shared/fs.contract.js';
36
36
  import type { KbContext } from '../../shared/kb-context.js';
37
- import type { WorkspaceService } from '../workspace/workspace.service.js';
37
+ import type { WorkspaceService } from '../workspace/index.js';
38
38
  import type { IAccessControl } from './access-control.interface.js';
39
- import { spliceGrant, type Principal } from '../access-model/access-splice.js';
40
- import { isAccessMdPath } from '../access-model/access-grammar.js';
41
- import { toKbRelative } from '../access-model/kb-read-filter.js';
39
+ import { spliceGrant, type Principal, isAccessMdPath, toKbRelative } from '../access-model/index.js';
42
40
  import {
43
41
  creatorPrincipal,
44
42
  type CreationGrantPlan,
45
43
  type Creator,
46
44
  type ICreatorAccess,
47
- } from '../access-model/creator.js';
45
+ } from '../access-model/index.js';
48
46
 
49
47
  export class CreatorAccessService implements ICreatorAccess {
50
48
  constructor(
@@ -3,8 +3,8 @@ import { logger } from '../../shared/logging.js';
3
3
 
4
4
  const log = logger('directory-sync');
5
5
  import type { AuthUser } from '@bevel-software/platform-shared';
6
- import type { Database } from '../database/connection.js';
7
- import { users } from '../database/core-schema.js';
6
+ import type { Database } from '../database/index.js';
7
+ import { users } from '../database/index.js';
8
8
 
9
9
  /**
10
10
  * Synthetic identity for the synced-groups materializer's commits: every
@@ -1,10 +1,10 @@
1
1
  import express from 'express';
2
2
  import type { AuthUser } from '@bevel-software/platform-shared';
3
- import type { IAdminAccessService } from '../admin/admin.interface.js';
4
- import { canonicalRoleName } from '../access-model/access-grammar.js';
3
+ import type { IAdminAccessService } from '../admin/index.js';
4
+ import { canonicalRoleName } from '../access-model/index.js';
5
5
  import { sendError as sharedSendError, requireNonEmptyString as sharedRequireNonEmptyString } from './admin-route-helpers.js';
6
6
  import type { GroupsAdminService } from './groups-admin.service.js';
7
- import '../auth/auth.middleware.js'; // Express Request augmentation
7
+ import '../auth/index.js'; // Express Request augmentation
8
8
 
9
9
  /**
10
10
  * Admin surface for GROUPS — the "who you are" half of the roles/groups
@@ -26,7 +26,7 @@
26
26
  */
27
27
 
28
28
  import { workspaceIdForBranch } from '../../shared/workspace-id.js';
29
- import type { WorkflowEventBus } from '../workflow/event-bus.js';
29
+ import type { WorkflowEventBus } from '../workflow/index.js';
30
30
  import type { AuthUser, IWorkspaceService, IWorkflowService } from '@bevel-software/platform-shared';
31
31
  import { WorkflowDomainError } from '../../shared/domain-errors.js';
32
32
  import type { IAccessControl } from './access-control.interface.js';
@@ -34,11 +34,10 @@ import {
34
34
  GROUP_REF_PREFIX,
35
35
  canonicalRoleName,
36
36
  hasAccessFrontmatterExtension,
37
- } from '../access-model/access-grammar.js';
37
+ } from '../access-model/index.js';
38
38
  import { loadActiveGroups, type GroupsHealth } from './access-control.service.js';
39
- import { GROUPS_YAML, SYNCED_GROUPS_YAML, validateGroupsFile } from '../access-model/group-files.js';
39
+ import { GROUPS_YAML, SYNCED_GROUPS_YAML, validateGroupsFile, makeRolesYamlWriteValidator } from '../access-model/index.js';
40
40
  import { parseRolesModel, removeGroupRefsEverywhere, renameGroupRefs, isGroupRefMember } from './roles-edit.js';
41
- import { makeRolesYamlWriteValidator } from '../access-model/roles-yaml-guard.js';
42
41
  import {
43
42
  GroupsEditError,
44
43
  parseGroupsModel,
@@ -20,8 +20,8 @@ import {
20
20
  EMAIL_REGEX,
21
21
  GROUP_REF_PREFIX,
22
22
  RESERVED_ROLE_NAMES,
23
- } from '../access-model/access-grammar.js';
24
- import { GROUPS_YAML, parseGroupsFile, unsafeNameReason } from '../access-model/group-files.js';
23
+ } from '../access-model/index.js';
24
+ import { GROUPS_YAML, parseGroupsFile, unsafeNameReason } from '../access-model/index.js';
25
25
 
26
26
  /** Bad-input failure when editing groups.yaml. */
27
27
  export class GroupsEditError extends Error {
@@ -0,0 +1,17 @@
1
+ /**
2
+ * What the access module offers the other modules: the contract of the access
3
+ * service — who may read, write and own what. The implementation is wired by
4
+ * the composition root.
5
+ */
6
+ export type { IAccessControl } from './access-control.interface.js';
7
+ // Reached by other modules; exported here so they stop importing the files.
8
+ export type { AccessDecisionSource, AccessTargetKind } from './access-control.interface.js';
9
+ export { accessMdPathForFolder, fileCarriesAccessRules, governingFolderOf } from './access-mutation.service.js';
10
+ export type { AccessMutationService, IAccessMutation, TargetKind } from './access-mutation.service.js';
11
+ export { folderTarget, rulesFileFor } from './access-requests.contract.js';
12
+ export type { AccessRequestTarget, IAccessRequestLifecycle } from './access-requests.contract.js';
13
+ export type { AccessRequestsService, IAccessRequests } from './access-requests.service.js';
14
+ export { accessRoster, resolveAccessView } from './access-view.js';
15
+ export { sendError } from './admin-route-helpers.js';
16
+ export { DIRECTORY_SYNC_BOT_EMAIL } from './directory-sync-bot.js';
17
+ export type { UserAccessRemovalService } from './user-access-removal.service.js';