@bevel-software/platform-core-backend 0.33.0 → 0.35.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 (602) hide show
  1. package/agent-guide/access-control.md +146 -289
  2. package/agent-guide/conventions.md +23 -25
  3. package/agent-guide/directory-structure.md +72 -120
  4. package/agent-guide/drafts-and-change-requests.md +92 -0
  5. package/agent-guide/for-git-users.md +47 -0
  6. package/agent-guide/glossary.md +36 -0
  7. package/agent-guide/how-agents-find-things.md +49 -0
  8. package/agent-guide/html-views.md +239 -8
  9. package/agent-guide/new-knowledge-base.md +9 -8
  10. package/agent-guide/skills.md +67 -42
  11. package/agent-guide/start-here.md +65 -0
  12. package/agent-guide/tool-manuals.md +133 -155
  13. package/agent-guide/tools.md +67 -0
  14. package/agent-guide/where-a-new-file-goes.md +45 -28
  15. package/dist/core/catalog-revision.d.ts +12 -1
  16. package/dist/core/catalog-revision.d.ts.map +1 -1
  17. package/dist/core/catalog-revision.js +23 -3
  18. package/dist/core/catalog-revision.js.map +1 -1
  19. package/dist/core/core-ports.d.ts +41 -0
  20. package/dist/core/core-ports.d.ts.map +1 -1
  21. package/dist/core/core-ports.js.map +1 -1
  22. package/dist/core/create-core-server.d.ts.map +1 -1
  23. package/dist/core/create-core-server.js +15 -8
  24. package/dist/core/create-core-server.js.map +1 -1
  25. package/dist/core/create-core-services.d.ts +22 -5
  26. package/dist/core/create-core-services.d.ts.map +1 -1
  27. package/dist/core/create-core-services.js +44 -16
  28. package/dist/core/create-core-services.js.map +1 -1
  29. package/dist/core/lifecycle.d.ts +16 -0
  30. package/dist/core/lifecycle.d.ts.map +1 -1
  31. package/dist/core/lifecycle.js +12 -2
  32. package/dist/core/lifecycle.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/modules/access/access-control.interface.d.ts +39 -9
  37. package/dist/modules/access/access-control.interface.d.ts.map +1 -1
  38. package/dist/modules/access/access-control.service.d.ts +15 -3
  39. package/dist/modules/access/access-control.service.d.ts.map +1 -1
  40. package/dist/modules/access/access-control.service.js +239 -75
  41. package/dist/modules/access/access-control.service.js.map +1 -1
  42. package/dist/modules/access/access-mutation.service.d.ts +22 -24
  43. package/dist/modules/access/access-mutation.service.d.ts.map +1 -1
  44. package/dist/modules/access/access-mutation.service.js +48 -51
  45. package/dist/modules/access/access-mutation.service.js.map +1 -1
  46. package/dist/modules/access/access-view.d.ts.map +1 -1
  47. package/dist/modules/access/access-view.js +12 -11
  48. package/dist/modules/access/access-view.js.map +1 -1
  49. package/dist/modules/access/access.routes.d.ts +3 -0
  50. package/dist/modules/access/access.routes.d.ts.map +1 -1
  51. package/dist/modules/access/access.routes.js +58 -33
  52. package/dist/modules/access/access.routes.js.map +1 -1
  53. package/dist/modules/access/groups-admin.routes.d.ts.map +1 -1
  54. package/dist/modules/access/groups-admin.routes.js +4 -2
  55. package/dist/modules/access/groups-admin.routes.js.map +1 -1
  56. package/dist/modules/access/groups-admin.service.d.ts +44 -13
  57. package/dist/modules/access/groups-admin.service.d.ts.map +1 -1
  58. package/dist/modules/access/groups-admin.service.js +80 -38
  59. package/dist/modules/access/groups-admin.service.js.map +1 -1
  60. package/dist/modules/access/groups-edit.d.ts +1 -1
  61. package/dist/modules/access/groups-edit.d.ts.map +1 -1
  62. package/dist/modules/access/groups-edit.js +1 -1
  63. package/dist/modules/access/groups-edit.js.map +1 -1
  64. package/dist/modules/access/index.d.ts +1 -1
  65. package/dist/modules/access/index.d.ts.map +1 -1
  66. package/dist/modules/access/reference-scan.d.ts +116 -24
  67. package/dist/modules/access/reference-scan.d.ts.map +1 -1
  68. package/dist/modules/access/reference-scan.js +305 -44
  69. package/dist/modules/access/reference-scan.js.map +1 -1
  70. package/dist/modules/access/roles-admin.service.d.ts +17 -8
  71. package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
  72. package/dist/modules/access/roles-admin.service.js +32 -23
  73. package/dist/modules/access/roles-admin.service.js.map +1 -1
  74. package/dist/modules/access-model/access-grammar.d.ts +35 -10
  75. package/dist/modules/access-model/access-grammar.d.ts.map +1 -1
  76. package/dist/modules/access-model/access-grammar.js +60 -20
  77. package/dist/modules/access-model/access-grammar.js.map +1 -1
  78. package/dist/modules/access-model/access-splice.d.ts +22 -18
  79. package/dist/modules/access-model/access-splice.d.ts.map +1 -1
  80. package/dist/modules/access-model/access-splice.js +20 -14
  81. package/dist/modules/access-model/access-splice.js.map +1 -1
  82. package/dist/modules/access-model/group-files.d.ts +1 -0
  83. package/dist/modules/access-model/group-files.d.ts.map +1 -1
  84. package/dist/modules/access-model/group-files.js +5 -1
  85. package/dist/modules/access-model/group-files.js.map +1 -1
  86. package/dist/modules/agent-guide/agent-guide.d.ts +47 -7
  87. package/dist/modules/agent-guide/agent-guide.d.ts.map +1 -1
  88. package/dist/modules/agent-guide/agent-guide.js +103 -13
  89. package/dist/modules/agent-guide/agent-guide.js.map +1 -1
  90. package/dist/modules/agent-guide/agent-guide.tools.d.ts +6 -2
  91. package/dist/modules/agent-guide/agent-guide.tools.d.ts.map +1 -1
  92. package/dist/modules/agent-guide/agent-guide.tools.js +46 -22
  93. package/dist/modules/agent-guide/agent-guide.tools.js.map +1 -1
  94. package/dist/modules/agent-guide/guide-budget.d.ts +48 -0
  95. package/dist/modules/agent-guide/guide-budget.d.ts.map +1 -0
  96. package/dist/modules/agent-guide/guide-budget.js +67 -0
  97. package/dist/modules/agent-guide/guide-budget.js.map +1 -0
  98. package/dist/modules/agent-guide/index.d.ts +2 -1
  99. package/dist/modules/agent-guide/index.d.ts.map +1 -1
  100. package/dist/modules/agent-guide/index.js +2 -1
  101. package/dist/modules/agent-guide/index.js.map +1 -1
  102. package/dist/modules/agent-instructions/compose.d.ts +3 -1
  103. package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
  104. package/dist/modules/agent-instructions/compose.js +7 -1
  105. package/dist/modules/agent-instructions/compose.js.map +1 -1
  106. package/dist/modules/agent-instructions/shared-file-rules.d.ts +5 -1
  107. package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -1
  108. package/dist/modules/agent-instructions/shared-file-rules.js +26 -9
  109. package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -1
  110. package/dist/modules/agent-scope/agent-scope.contract.d.ts +67 -0
  111. package/dist/modules/agent-scope/agent-scope.contract.d.ts.map +1 -0
  112. package/dist/modules/agent-scope/agent-scope.contract.js +27 -0
  113. package/dist/modules/agent-scope/agent-scope.contract.js.map +1 -0
  114. package/dist/modules/agent-scope/connection-scope.d.ts +111 -0
  115. package/dist/modules/agent-scope/connection-scope.d.ts.map +1 -0
  116. package/dist/modules/agent-scope/connection-scope.js +165 -0
  117. package/dist/modules/agent-scope/connection-scope.js.map +1 -0
  118. package/dist/modules/agent-scope/index.d.ts +3 -0
  119. package/dist/modules/agent-scope/index.d.ts.map +1 -0
  120. package/dist/modules/agent-scope/index.js +3 -0
  121. package/dist/modules/agent-scope/index.js.map +1 -0
  122. package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
  123. package/dist/modules/audit/agent-audit.service.js +2 -0
  124. package/dist/modules/audit/agent-audit.service.js.map +1 -1
  125. package/dist/modules/audit/audit.contract.d.ts +6 -0
  126. package/dist/modules/audit/audit.contract.d.ts.map +1 -1
  127. package/dist/modules/audit/audit.contract.js.map +1 -1
  128. package/dist/modules/auth/account-admission.d.ts +12 -0
  129. package/dist/modules/auth/account-admission.d.ts.map +1 -1
  130. package/dist/modules/auth/account-admission.js +15 -0
  131. package/dist/modules/auth/account-admission.js.map +1 -1
  132. package/dist/modules/auth/auth.middleware.d.ts +27 -1
  133. package/dist/modules/auth/auth.middleware.d.ts.map +1 -1
  134. package/dist/modules/auth/auth.middleware.js +42 -4
  135. package/dist/modules/auth/auth.middleware.js.map +1 -1
  136. package/dist/modules/auth/auth.routes.d.ts +13 -9
  137. package/dist/modules/auth/auth.routes.d.ts.map +1 -1
  138. package/dist/modules/auth/auth.routes.js +35 -29
  139. package/dist/modules/auth/auth.routes.js.map +1 -1
  140. package/dist/modules/auth/auth.service.d.ts +55 -6
  141. package/dist/modules/auth/auth.service.d.ts.map +1 -1
  142. package/dist/modules/auth/auth.service.js +128 -34
  143. package/dist/modules/auth/auth.service.js.map +1 -1
  144. package/dist/modules/auth/index.d.ts +1 -1
  145. package/dist/modules/auth/index.d.ts.map +1 -1
  146. package/dist/modules/auth/index.js +1 -1
  147. package/dist/modules/auth/index.js.map +1 -1
  148. package/dist/modules/auth/oidc-auth-provider.d.ts.map +1 -1
  149. package/dist/modules/auth/oidc-auth-provider.js +2 -9
  150. package/dist/modules/auth/oidc-auth-provider.js.map +1 -1
  151. package/dist/modules/code-mode/code-mode.tool.js +2 -2
  152. package/dist/modules/code-mode/code-mode.tool.js.map +1 -1
  153. package/dist/modules/connection-probe/connection-probe.service.d.ts +0 -12
  154. package/dist/modules/connection-probe/connection-probe.service.d.ts.map +1 -1
  155. package/dist/modules/connection-probe/connection-probe.service.js +1 -38
  156. package/dist/modules/connection-probe/connection-probe.service.js.map +1 -1
  157. package/dist/modules/database/core-schema.d.ts +68 -0
  158. package/dist/modules/database/core-schema.d.ts.map +1 -1
  159. package/dist/modules/database/core-schema.js +33 -0
  160. package/dist/modules/database/core-schema.js.map +1 -1
  161. package/dist/modules/declared-variables/declared-variables.routes.d.ts +8 -1
  162. package/dist/modules/declared-variables/declared-variables.routes.d.ts.map +1 -1
  163. package/dist/modules/declared-variables/declared-variables.routes.js +13 -2
  164. package/dist/modules/declared-variables/declared-variables.routes.js.map +1 -1
  165. package/dist/modules/embed/embed.tools.d.ts.map +1 -1
  166. package/dist/modules/embed/embed.tools.js +5 -0
  167. package/dist/modules/embed/embed.tools.js.map +1 -1
  168. package/dist/modules/kb-fs/index.d.ts +2 -0
  169. package/dist/modules/kb-fs/index.d.ts.map +1 -1
  170. package/dist/modules/kb-fs/index.js +1 -0
  171. package/dist/modules/kb-fs/index.js.map +1 -1
  172. package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
  173. package/dist/modules/kb-fs/locking-filesystem.js +7 -1
  174. package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
  175. package/dist/modules/kb-fs/repo-path.d.ts +26 -6
  176. package/dist/modules/kb-fs/repo-path.d.ts.map +1 -1
  177. package/dist/modules/kb-fs/repo-path.js +22 -7
  178. package/dist/modules/kb-fs/repo-path.js.map +1 -1
  179. package/dist/modules/kb-fs/tmp-ref.d.ts +36 -0
  180. package/dist/modules/kb-fs/tmp-ref.d.ts.map +1 -0
  181. package/dist/modules/kb-fs/tmp-ref.js +76 -0
  182. package/dist/modules/kb-fs/tmp-ref.js.map +1 -0
  183. package/dist/modules/mcp/mcp-auth.middleware.d.ts +7 -0
  184. package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
  185. package/dist/modules/mcp/mcp-auth.middleware.js +14 -1
  186. package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
  187. package/dist/modules/mcp/mcp.routes.d.ts +7 -1
  188. package/dist/modules/mcp/mcp.routes.d.ts.map +1 -1
  189. package/dist/modules/mcp/mcp.routes.js +39 -4
  190. package/dist/modules/mcp/mcp.routes.js.map +1 -1
  191. package/dist/modules/mcp/mcp.service.d.ts +11 -0
  192. package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
  193. package/dist/modules/mcp/mcp.service.js +74 -48
  194. package/dist/modules/mcp/mcp.service.js.map +1 -1
  195. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts +24 -1
  196. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -1
  197. package/dist/modules/mcp/oauth/bevel-oauth-provider.js +45 -10
  198. package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -1
  199. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts +9 -0
  200. package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts.map +1 -1
  201. package/dist/modules/mcp/oauth/oauth-consent.routes.js +34 -1
  202. package/dist/modules/mcp/oauth/oauth-consent.routes.js.map +1 -1
  203. package/dist/modules/plugins/index.d.ts +1 -1
  204. package/dist/modules/plugins/index.d.ts.map +1 -1
  205. package/dist/modules/plugins/index.js.map +1 -1
  206. package/dist/modules/plugins/plugin-links.d.ts +18 -2
  207. package/dist/modules/plugins/plugin-links.d.ts.map +1 -1
  208. package/dist/modules/plugins/plugin-links.js.map +1 -1
  209. package/dist/modules/plugins/plugins.routes.d.ts +5 -1
  210. package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
  211. package/dist/modules/plugins/plugins.routes.js +32 -5
  212. package/dist/modules/plugins/plugins.routes.js.map +1 -1
  213. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +11 -1
  214. package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -1
  215. package/dist/modules/secrets-vault/db-secrets-vault.service.js +159 -24
  216. package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
  217. package/dist/modules/secrets-vault/index.d.ts +1 -1
  218. package/dist/modules/secrets-vault/index.d.ts.map +1 -1
  219. package/dist/modules/secrets-vault/index.js +1 -1
  220. package/dist/modules/secrets-vault/index.js.map +1 -1
  221. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +53 -11
  222. package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -1
  223. package/dist/modules/secrets-vault/secrets-vault.contract.js +27 -0
  224. package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -1
  225. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +9 -0
  226. package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
  227. package/dist/modules/secrets-vault/secrets-vault.routes.js +100 -42
  228. package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
  229. package/dist/modules/settings/oidc-check.d.ts.map +1 -1
  230. package/dist/modules/settings/oidc-check.js +5 -17
  231. package/dist/modules/settings/oidc-check.js.map +1 -1
  232. package/dist/modules/skills/index.d.ts +3 -3
  233. package/dist/modules/skills/index.d.ts.map +1 -1
  234. package/dist/modules/skills/index.js +0 -2
  235. package/dist/modules/skills/index.js.map +1 -1
  236. package/dist/modules/skills/skills.contract.d.ts +16 -0
  237. package/dist/modules/skills/skills.contract.d.ts.map +1 -1
  238. package/dist/modules/skills/skills.service.d.ts.map +1 -1
  239. package/dist/modules/skills/skills.service.js +6 -1
  240. package/dist/modules/skills/skills.service.js.map +1 -1
  241. package/dist/modules/skills/skills.tools.d.ts.map +1 -1
  242. package/dist/modules/skills/skills.tools.js +25 -13
  243. package/dist/modules/skills/skills.tools.js.map +1 -1
  244. package/dist/modules/tool-auth/external-api-key.interface.d.ts +11 -0
  245. package/dist/modules/tool-auth/external-api-key.interface.d.ts.map +1 -1
  246. package/dist/modules/tool-auth/external-api-key.interface.js.map +1 -1
  247. package/dist/modules/tool-auth/external-api-key.service.d.ts +1 -0
  248. package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -1
  249. package/dist/modules/tool-auth/external-api-key.service.js +4 -1
  250. package/dist/modules/tool-auth/external-api-key.service.js.map +1 -1
  251. package/dist/modules/tool-auth/index.d.ts +1 -1
  252. package/dist/modules/tool-auth/index.d.ts.map +1 -1
  253. package/dist/modules/tool-auth/internal-token.service.d.ts +9 -0
  254. package/dist/modules/tool-auth/internal-token.service.d.ts.map +1 -1
  255. package/dist/modules/tool-auth/internal-token.service.js +1 -0
  256. package/dist/modules/tool-auth/internal-token.service.js.map +1 -1
  257. package/dist/modules/tool-auth/tool-auth.middleware.d.ts +27 -3
  258. package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
  259. package/dist/modules/tool-auth/tool-auth.middleware.js +32 -6
  260. package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
  261. package/dist/modules/tool-helpers/tool-context.d.ts +7 -0
  262. package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
  263. package/dist/modules/tool-helpers/tool-context.js +3 -0
  264. package/dist/modules/tool-helpers/tool-context.js.map +1 -1
  265. package/dist/modules/tool-helpers/tool-def.js +1 -1
  266. package/dist/modules/tool-helpers/tool-def.js.map +1 -1
  267. package/dist/modules/tool-helpers/tool-handler.d.ts +15 -0
  268. package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -1
  269. package/dist/modules/tool-helpers/tool-handler.js +19 -0
  270. package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
  271. package/dist/modules/tool-helpers/tool.contract.d.ts +10 -0
  272. package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
  273. package/dist/modules/tool-helpers/tool.contract.js.map +1 -1
  274. package/dist/modules/tool-helpers/validate-token.d.ts +3 -1
  275. package/dist/modules/tool-helpers/validate-token.d.ts.map +1 -1
  276. package/dist/modules/tool-helpers/validate-token.js +1 -1
  277. package/dist/modules/tool-helpers/validate-token.js.map +1 -1
  278. package/dist/modules/tool-manuals/index.d.ts +3 -3
  279. package/dist/modules/tool-manuals/index.d.ts.map +1 -1
  280. package/dist/modules/tool-manuals/index.js +0 -2
  281. package/dist/modules/tool-manuals/index.js.map +1 -1
  282. package/dist/modules/tool-manuals/mcp-json-discovery.d.ts +7 -1
  283. package/dist/modules/tool-manuals/mcp-json-discovery.d.ts.map +1 -1
  284. package/dist/modules/tool-manuals/mcp-json-discovery.js +69 -38
  285. package/dist/modules/tool-manuals/mcp-json-discovery.js.map +1 -1
  286. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +46 -6
  287. package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
  288. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +7 -1
  289. package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -1
  290. package/dist/modules/tool-manuals/tool-manuals.routes.js +41 -4
  291. package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -1
  292. package/dist/modules/tool-manuals/tool-manuals.service.d.ts +24 -13
  293. package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
  294. package/dist/modules/tool-manuals/tool-manuals.service.js +138 -59
  295. package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
  296. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts +8 -2
  297. package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
  298. package/dist/modules/tool-manuals/tool-manuals.tools.js +56 -20
  299. package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
  300. package/dist/modules/tool-registry/manual.routes.d.ts +8 -1
  301. package/dist/modules/tool-registry/manual.routes.d.ts.map +1 -1
  302. package/dist/modules/tool-registry/manual.routes.js +27 -7
  303. package/dist/modules/tool-registry/manual.routes.js.map +1 -1
  304. package/dist/modules/tool-registry/tool.contract.d.ts +7 -0
  305. package/dist/modules/tool-registry/tool.contract.d.ts.map +1 -1
  306. package/dist/modules/tool-registry/tool.contract.js.map +1 -1
  307. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  308. package/dist/modules/workflow/agent-tools/workflow.tools.js +36 -27
  309. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  310. package/dist/modules/workflow/git/git.service.d.ts +2 -2
  311. package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
  312. package/dist/modules/workflow/git/git.service.js +20 -35
  313. package/dist/modules/workflow/git/git.service.js.map +1 -1
  314. package/dist/modules/workflow/workflow.service.d.ts +2 -1
  315. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  316. package/dist/modules/workflow/workflow.service.js +3 -0
  317. package/dist/modules/workflow/workflow.service.js.map +1 -1
  318. package/dist/modules/workspace/agent-access.gate.d.ts +1 -1
  319. package/dist/modules/workspace/agent-access.gate.d.ts.map +1 -1
  320. package/dist/modules/workspace/agent-access.gate.js +1 -1
  321. package/dist/modules/workspace/agent-access.gate.js.map +1 -1
  322. package/dist/modules/workspace/file-readers/doc-extract.service.d.ts +28 -4
  323. package/dist/modules/workspace/file-readers/doc-extract.service.d.ts.map +1 -1
  324. package/dist/modules/workspace/file-readers/doc-extract.service.js +61 -40
  325. package/dist/modules/workspace/file-readers/doc-extract.service.js.map +1 -1
  326. package/dist/modules/workspace/index.d.ts +8 -0
  327. package/dist/modules/workspace/index.d.ts.map +1 -1
  328. package/dist/modules/workspace/index.js +8 -0
  329. package/dist/modules/workspace/index.js.map +1 -1
  330. package/dist/modules/workspace/nul-scan.d.ts +19 -0
  331. package/dist/modules/workspace/nul-scan.d.ts.map +1 -0
  332. package/dist/modules/workspace/nul-scan.js +55 -0
  333. package/dist/modules/workspace/nul-scan.js.map +1 -0
  334. package/dist/modules/workspace/pattern-matcher.contract.d.ts +110 -27
  335. package/dist/modules/workspace/pattern-matcher.contract.d.ts.map +1 -1
  336. package/dist/modules/workspace/pattern-matcher.contract.js +30 -13
  337. package/dist/modules/workspace/pattern-matcher.contract.js.map +1 -1
  338. package/dist/modules/workspace/ripgrep-search.d.ts +54 -0
  339. package/dist/modules/workspace/ripgrep-search.d.ts.map +1 -0
  340. package/dist/modules/workspace/ripgrep-search.js +657 -0
  341. package/dist/modules/workspace/ripgrep-search.js.map +1 -0
  342. package/dist/modules/workspace/ripgrep-version.d.ts +15 -0
  343. package/dist/modules/workspace/ripgrep-version.d.ts.map +1 -0
  344. package/dist/modules/workspace/ripgrep-version.js +31 -0
  345. package/dist/modules/workspace/ripgrep-version.js.map +1 -0
  346. package/dist/modules/workspace/startup/beside-checkout.d.ts +8 -5
  347. package/dist/modules/workspace/startup/beside-checkout.d.ts.map +1 -1
  348. package/dist/modules/workspace/startup/beside-checkout.js +14 -5
  349. package/dist/modules/workspace/startup/beside-checkout.js.map +1 -1
  350. package/dist/modules/workspace/worker-pool.d.ts +3 -4
  351. package/dist/modules/workspace/worker-pool.d.ts.map +1 -1
  352. package/dist/modules/workspace/worker-pool.js.map +1 -1
  353. package/dist/modules/workspace/workspace-tmp.d.ts +146 -0
  354. package/dist/modules/workspace/workspace-tmp.d.ts.map +1 -0
  355. package/dist/modules/workspace/workspace-tmp.js +435 -0
  356. package/dist/modules/workspace/workspace-tmp.js.map +1 -0
  357. package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
  358. package/dist/modules/workspace/workspace.routes.js +5 -26
  359. package/dist/modules/workspace/workspace.routes.js.map +1 -1
  360. package/dist/modules/workspace/workspace.service.d.ts +47 -6
  361. package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
  362. package/dist/modules/workspace/workspace.service.js +86 -6
  363. package/dist/modules/workspace/workspace.service.js.map +1 -1
  364. package/dist/modules/workspace/workspace.tools.d.ts +3 -2
  365. package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
  366. package/dist/modules/workspace/workspace.tools.js +531 -137
  367. package/dist/modules/workspace/workspace.tools.js.map +1 -1
  368. package/dist/shared/oauth-token-error.d.ts +23 -0
  369. package/dist/shared/oauth-token-error.d.ts.map +1 -0
  370. package/dist/shared/oauth-token-error.js +47 -0
  371. package/dist/shared/oauth-token-error.js.map +1 -0
  372. package/dist/shared/path-order.d.ts +28 -8
  373. package/dist/shared/path-order.d.ts.map +1 -1
  374. package/dist/shared/path-order.js +37 -8
  375. package/dist/shared/path-order.js.map +1 -1
  376. package/dist/shared/read-capped.d.ts +19 -0
  377. package/dist/shared/read-capped.d.ts.map +1 -0
  378. package/dist/shared/read-capped.js +45 -0
  379. package/dist/shared/read-capped.js.map +1 -0
  380. package/migrations/0022_session_version.sql +6 -0
  381. package/migrations/0023_agent_path.sql +3 -0
  382. package/migrations/meta/0022_snapshot.json +2360 -0
  383. package/migrations/meta/0023_snapshot.json +2378 -0
  384. package/migrations/meta/_journal.json +14 -0
  385. package/package.json +4 -3
  386. package/src/__tests__/hexis-catalog.ts +144 -0
  387. package/src/__tests__/pg-scratch.test.ts +69 -0
  388. package/src/__tests__/pg-scratch.ts +31 -0
  389. package/src/__tests__/real-disk.ts +21 -0
  390. package/src/__tests__/slow-ripgrep.ts +65 -0
  391. package/src/__tests__/tokens.ts +19 -0
  392. package/src/__tests__/tool-manuals.ts +32 -0
  393. package/src/__tests__/tool-wiring.ts +25 -0
  394. package/src/core/__tests__/boot-without-ripgrep.test.ts +34 -0
  395. package/src/core/__tests__/catalog-revision.test.ts +89 -0
  396. package/src/core/__tests__/damaged-document.tools.test.ts +2 -2
  397. package/src/core/__tests__/gated-boot.test.ts +8 -1
  398. package/src/core/__tests__/lifecycle.test.ts +46 -13
  399. package/src/core/__tests__/oauth-sign-in-real-file.test.ts +179 -0
  400. package/src/core/catalog-revision.ts +24 -2
  401. package/src/core/core-ports.ts +42 -0
  402. package/src/core/create-core-server.ts +14 -1
  403. package/src/core/create-core-services.ts +62 -15
  404. package/src/core/lifecycle.ts +26 -2
  405. package/src/index.ts +1 -1
  406. package/src/modules/access/__tests__/access-control.admin-root-floor.test.ts +12 -0
  407. package/src/modules/access/__tests__/access-control.colliding-name-cases.test.ts +113 -0
  408. package/src/modules/access/__tests__/access-control.frontmatter-head.test.ts +117 -0
  409. package/src/modules/access/__tests__/access-control.group-named-admin.test.ts +122 -0
  410. package/src/modules/access/__tests__/access-control.preview-relocation.test.ts +50 -0
  411. package/src/modules/access/__tests__/access-declarations.test.ts +19 -0
  412. package/src/modules/access/__tests__/access-groups.test.ts +55 -22
  413. package/src/modules/access/__tests__/access-mutation.service.test.ts +85 -59
  414. package/src/modules/access/__tests__/access-restrict-here.test.ts +7 -5
  415. package/src/modules/access/__tests__/access.routes.admins.test.ts +1 -0
  416. package/src/modules/access/__tests__/access.routes.batch.test.ts +2 -0
  417. package/src/modules/access/__tests__/access.routes.folder-governs.test.ts +2 -0
  418. package/src/modules/access/__tests__/access.routes.group-grant.test.ts +50 -14
  419. package/src/modules/access/__tests__/access.routes.overrides.test.ts +2 -1
  420. package/src/modules/access/__tests__/access.routes.proposal-branch.test.ts +1 -0
  421. package/src/modules/access/__tests__/access.routes.prospective.test.ts +52 -10
  422. package/src/modules/access/__tests__/access.routes.revoke.test.ts +18 -13
  423. package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +2 -0
  424. package/src/modules/access/__tests__/grant-sources.test.ts +20 -15
  425. package/src/modules/access/__tests__/groups-admin.routes.test.ts +61 -0
  426. package/src/modules/access/__tests__/groups-admin.service.test.ts +211 -18
  427. package/src/modules/access/__tests__/holder-changes.test.ts +127 -0
  428. package/src/modules/access/__tests__/reference-scan.test.ts +366 -14
  429. package/src/modules/access/__tests__/roles-admin.security.test.ts +1 -1
  430. package/src/modules/access/__tests__/roles-admin.service.test.ts +43 -22
  431. package/src/modules/access/__tests__/roles-capabilities.test.ts +6 -2
  432. package/src/modules/access/__tests__/roles.routes.test.ts +1 -1
  433. package/src/modules/access/access-control.interface.ts +43 -10
  434. package/src/modules/access/access-control.service.ts +250 -72
  435. package/src/modules/access/access-mutation.service.ts +48 -53
  436. package/src/modules/access/access-view.ts +12 -10
  437. package/src/modules/access/access.routes.ts +66 -37
  438. package/src/modules/access/groups-admin.routes.ts +4 -2
  439. package/src/modules/access/groups-admin.service.ts +114 -44
  440. package/src/modules/access/groups-edit.ts +1 -1
  441. package/src/modules/access/index.ts +1 -1
  442. package/src/modules/access/reference-scan.ts +319 -46
  443. package/src/modules/access/roles-admin.service.ts +43 -26
  444. package/src/modules/access/synced-groups-writer.ts +1 -1
  445. package/src/modules/access-model/__tests__/access-grammar.test.ts +38 -1
  446. package/src/modules/access-model/__tests__/access-splice.test.ts +50 -8
  447. package/src/modules/access-model/access-grammar.ts +65 -20
  448. package/src/modules/access-model/access-splice.ts +31 -23
  449. package/src/modules/access-model/group-files.ts +5 -0
  450. package/src/modules/agent-guide/__tests__/agent-guide.test.ts +110 -25
  451. package/src/modules/agent-guide/__tests__/agent-guide.tools.test.ts +38 -11
  452. package/src/modules/agent-guide/__tests__/guide-budget.test.ts +95 -0
  453. package/src/modules/agent-guide/__tests__/guide-eval.test.ts +182 -0
  454. package/src/modules/agent-guide/__tests__/guide-matches-code.test.ts +263 -0
  455. package/src/modules/agent-guide/__tests__/tool-surface.json +514 -0
  456. package/src/modules/agent-guide/__tests__/tool-surface.test.ts +75 -0
  457. package/src/modules/agent-guide/agent-guide.tools.ts +51 -22
  458. package/src/modules/agent-guide/agent-guide.ts +120 -13
  459. package/src/modules/agent-guide/guide-budget.ts +73 -0
  460. package/src/modules/agent-guide/index.ts +12 -0
  461. package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +5 -4
  462. package/src/modules/agent-instructions/compose.ts +7 -1
  463. package/src/modules/agent-instructions/shared-file-rules.ts +27 -9
  464. package/src/modules/agent-scope/__tests__/agent-surfaces.connect-as.test.ts +421 -0
  465. package/src/modules/agent-scope/__tests__/connection-scope.test.ts +46 -0
  466. package/src/modules/agent-scope/__tests__/in-memory-kb.ts +148 -0
  467. package/src/modules/agent-scope/agent-scope.contract.ts +83 -0
  468. package/src/modules/agent-scope/connection-scope.ts +199 -0
  469. package/src/modules/agent-scope/index.ts +15 -0
  470. package/src/modules/audit/agent-audit.service.ts +2 -0
  471. package/src/modules/audit/audit.contract.ts +6 -0
  472. package/src/modules/auth/__tests__/auth.middleware.test.ts +30 -2
  473. package/src/modules/auth/__tests__/auth.routes.test.ts +71 -5
  474. package/src/modules/auth/__tests__/auth.service.test.ts +90 -9
  475. package/src/modules/auth/__tests__/password-change-sessions.pg.test.ts +269 -0
  476. package/src/modules/auth/account-admission.ts +19 -0
  477. package/src/modules/auth/auth.middleware.ts +45 -4
  478. package/src/modules/auth/auth.routes.ts +46 -29
  479. package/src/modules/auth/auth.service.ts +135 -34
  480. package/src/modules/auth/index.ts +2 -0
  481. package/src/modules/auth/oidc-auth-provider.ts +2 -9
  482. package/src/modules/code-mode/code-mode.tool.ts +2 -2
  483. package/src/modules/connection-probe/__tests__/connection-probe.service.test.ts +5 -24
  484. package/src/modules/connection-probe/connection-probe.service.ts +1 -34
  485. package/src/modules/database/__tests__/session-version-migration.pg.test.ts +133 -0
  486. package/src/modules/database/core-schema.ts +33 -0
  487. package/src/modules/declared-variables/__tests__/declared-variables.route.test.ts +44 -1
  488. package/src/modules/declared-variables/declared-variables.routes.ts +12 -1
  489. package/src/modules/embed/__tests__/embed.tools.test.ts +12 -0
  490. package/src/modules/embed/embed.tools.ts +5 -0
  491. package/src/modules/kb-fs/__tests__/locking-filesystem.test.ts +25 -0
  492. package/src/modules/kb-fs/__tests__/repo-path.test.ts +53 -8
  493. package/src/modules/kb-fs/index.ts +2 -0
  494. package/src/modules/kb-fs/locking-filesystem.ts +7 -1
  495. package/src/modules/kb-fs/repo-path.ts +33 -7
  496. package/src/modules/kb-fs/tmp-ref.ts +81 -0
  497. package/src/modules/mcp/__tests__/connect-as.pg.test.ts +137 -0
  498. package/src/modules/mcp/__tests__/mcp-auth.middleware.test.ts +29 -5
  499. package/src/modules/mcp/__tests__/mcp-routes-harness.ts +8 -0
  500. package/src/modules/mcp/__tests__/mcp.connect-as.test.ts +195 -0
  501. package/src/modules/mcp/__tests__/mcp.routes.connect-as.test.ts +192 -0
  502. package/src/modules/mcp/__tests__/oauth-consent.connect-as.test.ts +146 -0
  503. package/src/modules/mcp/mcp-auth.middleware.ts +19 -2
  504. package/src/modules/mcp/mcp.routes.ts +39 -3
  505. package/src/modules/mcp/mcp.service.ts +112 -52
  506. package/src/modules/mcp/oauth/bevel-oauth-provider.ts +46 -8
  507. package/src/modules/mcp/oauth/oauth-consent.routes.ts +41 -1
  508. package/src/modules/plugins/__tests__/plugins.tools.test.ts +38 -2
  509. package/src/modules/plugins/index.ts +1 -1
  510. package/src/modules/plugins/plugin-links.ts +19 -2
  511. package/src/modules/plugins/plugins.routes.ts +35 -4
  512. package/src/modules/secrets-vault/__tests__/connect-pending.route.test.ts +113 -0
  513. package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +430 -3
  514. package/src/modules/secrets-vault/__tests__/oauth-live-declaration.route.test.ts +218 -0
  515. package/src/modules/secrets-vault/__tests__/oauth-return-to.route.test.ts +39 -6
  516. package/src/modules/secrets-vault/db-secrets-vault.service.ts +170 -27
  517. package/src/modules/secrets-vault/index.ts +1 -1
  518. package/src/modules/secrets-vault/secrets-vault.contract.ts +61 -11
  519. package/src/modules/secrets-vault/secrets-vault.routes.ts +114 -42
  520. package/src/modules/settings/oidc-check.ts +5 -18
  521. package/src/modules/skills/__tests__/skills.service.test.ts +34 -0
  522. package/src/modules/skills/index.ts +7 -2
  523. package/src/modules/skills/skills.contract.ts +17 -0
  524. package/src/modules/skills/skills.service.ts +5 -1
  525. package/src/modules/skills/skills.tools.ts +45 -14
  526. package/src/modules/tool-auth/__tests__/external-api-key.service.test.ts +4 -0
  527. package/src/modules/tool-auth/external-api-key.interface.ts +11 -1
  528. package/src/modules/tool-auth/external-api-key.service.ts +5 -2
  529. package/src/modules/tool-auth/index.ts +1 -1
  530. package/src/modules/tool-auth/internal-token.service.ts +10 -0
  531. package/src/modules/tool-auth/tool-auth.middleware.ts +45 -3
  532. package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +19 -11
  533. package/src/modules/tool-helpers/__tests__/can-write.tools.test.ts +3 -1
  534. package/src/modules/tool-helpers/__tests__/route-tool-schemas.catalog.test.ts +38 -0
  535. package/src/modules/tool-helpers/tool-context.ts +10 -0
  536. package/src/modules/tool-helpers/tool-def.ts +1 -1
  537. package/src/modules/tool-helpers/tool-handler.ts +34 -0
  538. package/src/modules/tool-helpers/tool.contract.ts +10 -0
  539. package/src/modules/tool-helpers/validate-token.ts +4 -2
  540. package/src/modules/tool-manuals/__tests__/tool-manuals.archive.route.test.ts +80 -4
  541. package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +197 -11
  542. package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +42 -0
  543. package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +99 -8
  544. package/src/modules/tool-manuals/index.ts +6 -2
  545. package/src/modules/tool-manuals/mcp-json-discovery.ts +73 -34
  546. package/src/modules/tool-manuals/tool-manuals.contract.ts +40 -6
  547. package/src/modules/tool-manuals/tool-manuals.routes.ts +40 -3
  548. package/src/modules/tool-manuals/tool-manuals.service.ts +169 -61
  549. package/src/modules/tool-manuals/tool-manuals.tools.ts +81 -25
  550. package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +6 -113
  551. package/src/modules/tool-registry/manual.routes.ts +26 -5
  552. package/src/modules/tool-registry/tool.contract.ts +7 -0
  553. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +1 -1
  554. package/src/modules/workflow/__tests__/workflow.service.sync.test.ts +1 -1
  555. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +54 -3
  556. package/src/modules/workflow/agent-tools/workflow.tools.ts +36 -27
  557. package/src/modules/workflow/git/__tests__/git.service.list-branches.test.ts +130 -3
  558. package/src/modules/workflow/git/git.service.ts +29 -48
  559. package/src/modules/workflow/workflow.service.ts +5 -0
  560. package/src/modules/workspace/__tests__/git-internals.security.test.ts +2 -2
  561. package/src/modules/workspace/__tests__/holds-nul.test.ts +66 -0
  562. package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +3 -3
  563. package/src/modules/workspace/__tests__/ripgrep-search.test.ts +570 -0
  564. package/src/modules/workspace/__tests__/ripgrep-version.test.ts +29 -0
  565. package/src/modules/workspace/__tests__/workspace-tmp.tools.test.ts +928 -0
  566. package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +17 -37
  567. package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +20 -8
  568. package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +10 -12
  569. package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +22 -10
  570. package/src/modules/workspace/__tests__/workspace.tools.test.ts +549 -162
  571. package/src/modules/workspace/agent-access.gate.ts +1 -1
  572. package/src/modules/workspace/file-readers/__tests__/doc-extract.service.test.ts +10 -0
  573. package/src/modules/workspace/file-readers/doc-extract.service.ts +71 -38
  574. package/src/modules/workspace/index.ts +20 -0
  575. package/src/modules/workspace/nul-scan.ts +50 -0
  576. package/src/modules/workspace/pattern-matcher.contract.ts +123 -32
  577. package/src/modules/workspace/ripgrep-search.ts +715 -0
  578. package/src/modules/workspace/ripgrep-version.ts +35 -0
  579. package/src/modules/workspace/startup/__tests__/beside-checkout.test.ts +11 -0
  580. package/src/modules/workspace/startup/beside-checkout.ts +13 -5
  581. package/src/modules/workspace/worker-pool.ts +3 -4
  582. package/src/modules/workspace/workspace-tmp.ts +457 -0
  583. package/src/modules/workspace/workspace.routes.ts +6 -27
  584. package/src/modules/workspace/workspace.service.ts +92 -15
  585. package/src/modules/workspace/workspace.tools.ts +574 -176
  586. package/src/shared/__tests__/read-capped.test.ts +68 -0
  587. package/src/shared/oauth-token-error.ts +46 -0
  588. package/src/shared/path-order.ts +37 -8
  589. package/src/shared/read-capped.ts +40 -0
  590. package/starter-packs/engineering/Plugins/engineering-starter/access.md +1 -1
  591. package/starter-packs/general/Plugins/general-starter/access.md +1 -1
  592. package/starter-packs/operations/Plugins/operations-starter/access.md +1 -1
  593. package/starter-packs/sales/Plugins/sales-starter/access.md +1 -1
  594. package/starter-packs/support/Plugins/support-starter/access.md +1 -1
  595. package/agent-guide/finding-things.md +0 -7
  596. package/agent-guide/introduction.md +0 -27
  597. package/dist/modules/workspace/bounded-matcher.d.ts +0 -73
  598. package/dist/modules/workspace/bounded-matcher.d.ts.map +0 -1
  599. package/dist/modules/workspace/bounded-matcher.js +0 -200
  600. package/dist/modules/workspace/bounded-matcher.js.map +0 -1
  601. package/src/modules/workspace/__tests__/bounded-matcher.test.ts +0 -213
  602. package/src/modules/workspace/bounded-matcher.ts +0 -271
@@ -5,8 +5,12 @@ import type { ToolHandlerFactory } from '../tool-helpers/index.js';
5
5
  import { type AgentGuideSectionsReader } from './agent-guide.js';
6
6
  export { GET_AGENT_GUIDE_TOOL };
7
7
  /**
8
- * The one tool that returns the guide on its own — whole, or one section by
9
- * id. It takes nothing else: the guide is the platform's text for this
8
+ * The one tool that returns the guide on its own: the start section when no
9
+ * section is named, one section by id, or the whole guide (`all`). Start
10
+ * section by default because this is the call every tool description tells
11
+ * an agent, and each sub-agent it starts, to make first: answering it with
12
+ * the whole guide made the most-read text the platform has also its longest.
13
+ * It takes nothing else: the guide is the platform's text for this
10
14
  * deployment, the same for every caller and every branch, and reading it
11
15
  * touches no file — so no `branch`, no `sessionId`, and no access gate. The
12
16
  * other way to the same text is a `read_file` of `AGENTS.md` at the
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.tools.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,2BAA2B,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAuC,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEtG,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CAwFN"}
1
+ {"version":3,"file":"agent-guide.tools.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,2BAA2B,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CA2GN"}
@@ -1,10 +1,14 @@
1
1
  import { GET_AGENT_GUIDE_TOOL, TOOL_DESCRIPTION_CAP } from '../tool-registry/index.js';
2
2
  import { ToolError, toolDef } from '../tool-helpers/index.js';
3
- import { AGENT_GUIDE_FILE, joinGuideSections } from './agent-guide.js';
3
+ import { AGENT_GUIDE_FILE, START_HERE_SECTION_ID, WHOLE_GUIDE_SECTION, joinGuideSections, } from './agent-guide.js';
4
4
  export { GET_AGENT_GUIDE_TOOL };
5
5
  /**
6
- * The one tool that returns the guide on its own — whole, or one section by
7
- * id. It takes nothing else: the guide is the platform's text for this
6
+ * The one tool that returns the guide on its own: the start section when no
7
+ * section is named, one section by id, or the whole guide (`all`). Start
8
+ * section by default because this is the call every tool description tells
9
+ * an agent, and each sub-agent it starts, to make first: answering it with
10
+ * the whole guide made the most-read text the platform has also its longest.
11
+ * It takes nothing else: the guide is the platform's text for this
8
12
  * deployment, the same for every caller and every branch, and reading it
9
13
  * touches no file — so no `branch`, no `sessionId`, and no access gate. The
10
14
  * other way to the same text is a `read_file` of `AGENTS.md` at the
@@ -21,25 +25,28 @@ export { GET_AGENT_GUIDE_TOOL };
21
25
  export function registerAgentGuideTool(registry, router, toolAuth, toolHandler, sections) {
22
26
  const build = async () => {
23
27
  const list = await sections();
24
- const describe = (sectionList) => "The platform's guide to this knowledge base: its layout, where a new file goes, the rules every file tool " +
25
- 'shares, access control, skills and tool manuals. ALWAYS call this first and read the guide before you do ' +
26
- 'anything else in the platform. Returns `{ guide }` as markdown: the whole guide, or one section when ' +
27
- '`section` names one. The same text comes back from `read_file` on `' +
28
+ const describe = (sectionList) => "The platform's guide to this knowledge base. ALWAYS call this first, before anything else in the " +
29
+ 'platform. With no `section` it returns the start section: the default branch every file tool takes, the ' +
30
+ 'first-call rules, and which section answers which question. Then fetch only the section a task needs, by ' +
31
+ '`section`; only `"' +
32
+ WHOLE_GUIDE_SECTION +
33
+ '"` returns the whole guide. `read_file` on `' +
28
34
  AGENT_GUIDE_FILE +
29
- "` at the KB root, after the knowledge base's own " +
35
+ "` at the KB root answers with the same start section (after the knowledge base's own " +
30
36
  AGENT_GUIDE_FILE +
31
- ` when it has one. Sections: ${sectionList}.`;
37
+ ` when it has one). Returns \`{ guide }\` as markdown. Sections: ${sectionList}.`;
32
38
  // The description stays under the cap WHATEVER a distribution adds, in
33
39
  // three steps: every id with its title; every id alone; as many ids as
34
40
  // fit and a count of the rest. An id a client cut off the end would be a
35
41
  // section an agent cannot ask for — so nothing is ever cut: the one
36
- // complete list of sections is `sections` on the whole-guide response,
37
- // which the description names when it cannot carry them all itself.
42
+ // complete list of sections is `sections` on the answer to a call
43
+ // without one, which the description names when it cannot carry them
44
+ // all itself.
38
45
  const titled = describe(list.map((s) => `\`${s.id}\` (${s.title})`).join(', '));
39
46
  const ids = list.map((s) => `\`${s.id}\``);
40
47
  const counted = (shown) => describe(shown === 0
41
- ? `${ids.length}, named under \`sections\` in the whole-guide response`
42
- : [...ids.slice(0, shown), `and ${ids.length - shown} more, all named under \`sections\` in the whole-guide response`].join(', '));
48
+ ? `${ids.length}, named under \`sections\` in the answer`
49
+ : [...ids.slice(0, shown), `and ${ids.length - shown} more, all named under \`sections\` in the answer`].join(', '));
43
50
  let description = titled.length <= TOOL_DESCRIPTION_CAP ? titled : describe(ids.join(', '));
44
51
  for (let shown = ids.length; description.length > TOOL_DESCRIPTION_CAP && shown > 0; shown--) {
45
52
  description = counted(shown - 1);
@@ -53,8 +60,10 @@ export function registerAgentGuideTool(registry, router, toolAuth, toolHandler,
53
60
  properties: {
54
61
  section: {
55
62
  type: 'string',
56
- description: 'Optional: the id of one section to read instead of the whole guide (the ids are listed in this ' +
57
- 'description, and every one under `sections` in the whole-guide response). Omit it for the whole guide.',
63
+ description: 'Optional: the id of one section to read (the ids are listed in this description, and every one under ' +
64
+ '`sections` in the answer), or `"' +
65
+ WHOLE_GUIDE_SECTION +
66
+ '"` for the whole guide. Omit it for the start section.',
58
67
  },
59
68
  },
60
69
  additionalProperties: false,
@@ -62,18 +71,18 @@ export function registerAgentGuideTool(registry, router, toolAuth, toolHandler,
62
71
  outputs: {
63
72
  type: 'object',
64
73
  properties: {
65
- guide: { type: 'string', description: 'The guide, or the one section asked for, as markdown.' },
74
+ guide: { type: 'string', description: 'The section asked for (the start section by default), or the whole guide, as markdown.' },
66
75
  sections: {
67
76
  type: 'array',
68
- description: 'Without `section`: every section of the guide, in order, by id and heading — the complete list.',
77
+ description: `Without \`section\`, or with \`"${WHOLE_GUIDE_SECTION}"\`: every section of the guide, in order, by id and heading — the complete list.`,
69
78
  items: {
70
79
  type: 'object',
71
80
  properties: { id: { type: 'string' }, title: { type: 'string' } },
72
81
  required: ['id', 'title'],
73
82
  },
74
83
  },
75
- section: { type: 'string', description: 'With `section`: the id of the section returned.' },
76
- title: { type: 'string', description: 'With `section`: its heading.' },
84
+ section: { type: 'string', description: 'The id of the one section returned.' },
85
+ title: { type: 'string', description: 'Its heading.' },
77
86
  },
78
87
  required: ['guide'],
79
88
  },
@@ -82,15 +91,30 @@ export function registerAgentGuideTool(registry, router, toolAuth, toolHandler,
82
91
  };
83
92
  registry.registerInternalTool(build);
84
93
  registry.registerExternalTool(build);
85
- router.post(`/agent/tools/${GET_AGENT_GUIDE_TOOL}`, toolAuth, toolHandler(async (args) => {
94
+ router.post(`/agent/tools/${GET_AGENT_GUIDE_TOOL}`, toolAuth, toolHandler(async (args, ctx) => {
86
95
  const list = await sections();
96
+ const index = list.map((s) => ({ id: s.id, title: s.title }));
87
97
  const wanted = typeof args.section === 'string' ? args.section.trim() : '';
98
+ // A distribution that dropped the start section gets the whole guide by
99
+ // default, as before there was one: never an answer with nothing in it.
100
+ const start = list.find((s) => s.id === START_HERE_SECTION_ID);
101
+ // A connection made as an agent configuration is told so at the top of
102
+ // the guide's first answer and of the whole guide: the catalog it
103
+ // describes is narrowed to that agent. Everything is told nothing new,
104
+ // so its guide is the same text.
105
+ const connection = ctx.connectionScope?.describe() ?? null;
106
+ const told = (guide) => ({
107
+ guide: connection ? `> ${connection}\n\n${guide}` : guide,
108
+ ...(connection ? { connection } : {}),
109
+ });
110
+ if (wanted === WHOLE_GUIDE_SECTION || (!wanted && !start))
111
+ return { ...told(joinGuideSections(list)), sections: index };
88
112
  if (!wanted)
89
- return { guide: joinGuideSections(list), sections: list.map((s) => ({ id: s.id, title: s.title })) };
113
+ return { ...told(start.body), section: start.id, title: start.title, sections: index };
90
114
  const one = list.find((s) => s.id === wanted);
91
115
  if (!one) {
92
116
  throw new ToolError(`The guide has no section "${wanted}". Sections: ${list.map((s) => `\`${s.id}\``).join(', ')}. ` +
93
- 'Omit `section` for the whole guide.', 400);
117
+ `Omit \`section\` for the start section, or pass \`"${WHOLE_GUIDE_SECTION}"\` for the whole guide.`, 400);
94
118
  }
95
119
  return { guide: one.body, section: one.id, title: one.title };
96
120
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guide.tools.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-guide.tools.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/agent-guide.tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * How much each layer of what an agent is told may cost, in tokens.
3
+ *
4
+ * Three layers (openspec/changes/agent-guide-layers/design.md): what every
5
+ * connection carries (the handshake instructions and the tool list), what an
6
+ * agent reads on first contact (the start section `get_agent_guide` answers
7
+ * with), and what it fetches only when a task needs it (every other section).
8
+ * A line in the first layer costs every conversation and every sub-agent; a
9
+ * line in the last costs only the tasks that fetch it. The budgets are what
10
+ * keeps the guide from growing into a document every agent loads whole and
11
+ * reads little of, which is what a customer's agent did fifteen times in one
12
+ * day.
13
+ *
14
+ * Counted with the `o200k_base` encoding by `__tests__/guide-budget.test.ts`.
15
+ * It is a real tokenizer that runs offline; it is not Claude's own, which
16
+ * usually counts somewhat more for the same text, so these are ceilings to
17
+ * compare against each other and over time rather than a model's bill.
18
+ *
19
+ * Every number is one a reviewer may move. The point of pinning them is that
20
+ * growing the guide is a decision someone takes, not a paragraph someone
21
+ * appends: a section that needs more room says why in the pull request that
22
+ * raises its line here.
23
+ */
24
+ /** The encoding the budgets are counted in. */
25
+ export declare const GUIDE_TOKEN_ENCODING = "o200k_base";
26
+ /** The platform's part of the handshake instructions: the header and the shared file rules. */
27
+ export declare const INSTRUCTIONS_TOKEN_BUDGET = 2000;
28
+ /**
29
+ * The platform's own tools as the hosted endpoint lists them to an MCP client:
30
+ * each name, description (with its `Call:` line and, on the four
31
+ * knowledge-base tools, the purpose prefix) and input schema. Measured over
32
+ * every registrar the root mounts, the change-request readers and `open_page`
33
+ * included: 46 tools, 17,278 tokens at 0.35.0 (an earlier figure of 15,710
34
+ * left those five out).
35
+ */
36
+ export declare const TOOL_LIST_TOKEN_BUDGET = 17500;
37
+ /** The ceiling for a section a distribution adds, which core's checks cannot see: the same as core's own. */
38
+ export declare const SECTION_TOKEN_BUDGET = 2500;
39
+ /**
40
+ * Each core section's budget, by id. A section without a line here fails the
41
+ * budget test: a new section starts by saying what it may cost.
42
+ */
43
+ export declare const SECTION_TOKEN_BUDGETS: Readonly<Record<string, number>>;
44
+ /** Every core section at once: what `section: "all"` returns. */
45
+ export declare const WHOLE_GUIDE_TOKEN_BUDGET = 21500;
46
+ /** One task: the start section plus the sections it routes the task to. */
47
+ export declare const TASK_TOKEN_BUDGET = 6000;
48
+ //# sourceMappingURL=guide-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guide-budget.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/guide-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,+CAA+C;AAC/C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,6GAA6G;AAC7G,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBjE,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,OAAQ,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * How much each layer of what an agent is told may cost, in tokens.
3
+ *
4
+ * Three layers (openspec/changes/agent-guide-layers/design.md): what every
5
+ * connection carries (the handshake instructions and the tool list), what an
6
+ * agent reads on first contact (the start section `get_agent_guide` answers
7
+ * with), and what it fetches only when a task needs it (every other section).
8
+ * A line in the first layer costs every conversation and every sub-agent; a
9
+ * line in the last costs only the tasks that fetch it. The budgets are what
10
+ * keeps the guide from growing into a document every agent loads whole and
11
+ * reads little of, which is what a customer's agent did fifteen times in one
12
+ * day.
13
+ *
14
+ * Counted with the `o200k_base` encoding by `__tests__/guide-budget.test.ts`.
15
+ * It is a real tokenizer that runs offline; it is not Claude's own, which
16
+ * usually counts somewhat more for the same text, so these are ceilings to
17
+ * compare against each other and over time rather than a model's bill.
18
+ *
19
+ * Every number is one a reviewer may move. The point of pinning them is that
20
+ * growing the guide is a decision someone takes, not a paragraph someone
21
+ * appends: a section that needs more room says why in the pull request that
22
+ * raises its line here.
23
+ */
24
+ /** The encoding the budgets are counted in. */
25
+ export const GUIDE_TOKEN_ENCODING = 'o200k_base';
26
+ /** The platform's part of the handshake instructions: the header and the shared file rules. */
27
+ export const INSTRUCTIONS_TOKEN_BUDGET = 2_000;
28
+ /**
29
+ * The platform's own tools as the hosted endpoint lists them to an MCP client:
30
+ * each name, description (with its `Call:` line and, on the four
31
+ * knowledge-base tools, the purpose prefix) and input schema. Measured over
32
+ * every registrar the root mounts, the change-request readers and `open_page`
33
+ * included: 46 tools, 17,278 tokens at 0.35.0 (an earlier figure of 15,710
34
+ * left those five out).
35
+ */
36
+ export const TOOL_LIST_TOKEN_BUDGET = 17_500;
37
+ /** The ceiling for a section a distribution adds, which core's checks cannot see: the same as core's own. */
38
+ export const SECTION_TOKEN_BUDGET = 2_500;
39
+ /**
40
+ * Each core section's budget, by id. A section without a line here fails the
41
+ * budget test: a new section starts by saying what it may cost.
42
+ */
43
+ export const SECTION_TOKEN_BUDGETS = Object.freeze({
44
+ 'start-here': 1_200,
45
+ 'how-agents-find-things': SECTION_TOKEN_BUDGET,
46
+ 'for-git-users': SECTION_TOKEN_BUDGET,
47
+ glossary: SECTION_TOKEN_BUDGET,
48
+ 'directory-structure': SECTION_TOKEN_BUDGET,
49
+ 'where-a-new-file-goes': SECTION_TOKEN_BUDGET,
50
+ 'working-with-files': SECTION_TOKEN_BUDGET,
51
+ 'access-control': SECTION_TOKEN_BUDGET,
52
+ 'drafts-and-change-requests': SECTION_TOKEN_BUDGET,
53
+ skills: SECTION_TOKEN_BUDGET,
54
+ tools: SECTION_TOKEN_BUDGET,
55
+ 'tool-manuals': SECTION_TOKEN_BUDGET,
56
+ // The page contract is long by nature (the frame, the bridge, the link
57
+ // rules, pages that load live data), and an agent fetches it only to build
58
+ // a page.
59
+ 'html-views': 5_500,
60
+ conventions: SECTION_TOKEN_BUDGET,
61
+ 'new-knowledge-base': SECTION_TOKEN_BUDGET,
62
+ });
63
+ /** Every core section at once: what `section: "all"` returns. */
64
+ export const WHOLE_GUIDE_TOKEN_BUDGET = 21_500;
65
+ /** One task: the start section plus the sections it routes the task to. */
66
+ export const TASK_TOKEN_BUDGET = 6_000;
67
+ //# sourceMappingURL=guide-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guide-budget.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/guide-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C,6GAA6G;AAC7G,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACnF,YAAY,EAAE,KAAK;IACnB,wBAAwB,EAAE,oBAAoB;IAC9C,eAAe,EAAE,oBAAoB;IACrC,QAAQ,EAAE,oBAAoB;IAC9B,qBAAqB,EAAE,oBAAoB;IAC3C,uBAAuB,EAAE,oBAAoB;IAC7C,oBAAoB,EAAE,oBAAoB;IAC1C,gBAAgB,EAAE,oBAAoB;IACtC,4BAA4B,EAAE,oBAAoB;IAClD,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,oBAAoB;IAC3B,cAAc,EAAE,oBAAoB;IACpC,uEAAuE;IACvE,2EAA2E;IAC3E,UAAU;IACV,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,oBAAoB;IACjC,oBAAoB,EAAE,oBAAoB;CAC3C,CAAC,CAAC;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC"}
@@ -1,4 +1,5 @@
1
- export { AGENT_GUIDE_FILE, CORE_SECTION_IDS, NEW_KNOWLEDGE_BASE_SECTION_ID, PLATFORM_GUIDE_SEPARATOR, WORKING_WITH_FILES_SECTION_ID, agentGuideSections, composeAgentGuide, coreAgentGuideSections, isAgentGuidePath, isManagedGuide, joinGuideSections, withPlatformGuideAppended, type AgentGuideContext, type AgentGuideHook, type AgentGuideReader, type AgentGuideSection, type AgentGuideSectionsReader, type RenderedGuideSection, } from './agent-guide.js';
1
+ export { AGENT_GUIDE_FILE, CORE_SECTION_IDS, NEW_KNOWLEDGE_BASE_SECTION_ID, PLATFORM_GUIDE_SEPARATOR, START_HERE_SECTION_ID, WHOLE_GUIDE_SECTION, WORKING_WITH_FILES_SECTION_ID, agentGuideSections, composeAgentGuide, coreAgentGuideSections, guideStartText, isAgentGuidePath, isManagedGuide, joinGuideSections, withPlatformGuideAppended, type AgentGuideContext, type AgentGuideHook, type AgentGuideReader, type AgentGuideSection, type AgentGuideSectionsReader, type RenderedGuideSection, } from './agent-guide.js';
2
2
  export { GET_AGENT_GUIDE_TOOL, registerAgentGuideTool } from './agent-guide.tools.js';
3
+ export { GUIDE_TOKEN_ENCODING, INSTRUCTIONS_TOKEN_BUDGET, SECTION_TOKEN_BUDGET, SECTION_TOKEN_BUDGETS, TASK_TOKEN_BUDGET, TOOL_LIST_TOKEN_BUDGET, WHOLE_GUIDE_TOKEN_BUDGET, } from './guide-budget.js';
3
4
  export { GUIDE_FIRST_SENTENCE, withGuideFirst } from '../tool-registry/index.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-guide/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,4 +1,5 @@
1
- export { AGENT_GUIDE_FILE, CORE_SECTION_IDS, NEW_KNOWLEDGE_BASE_SECTION_ID, PLATFORM_GUIDE_SEPARATOR, WORKING_WITH_FILES_SECTION_ID, agentGuideSections, composeAgentGuide, coreAgentGuideSections, isAgentGuidePath, isManagedGuide, joinGuideSections, withPlatformGuideAppended, } from './agent-guide.js';
1
+ export { AGENT_GUIDE_FILE, CORE_SECTION_IDS, NEW_KNOWLEDGE_BASE_SECTION_ID, PLATFORM_GUIDE_SEPARATOR, START_HERE_SECTION_ID, WHOLE_GUIDE_SECTION, WORKING_WITH_FILES_SECTION_ID, agentGuideSections, composeAgentGuide, coreAgentGuideSections, guideStartText, isAgentGuidePath, isManagedGuide, joinGuideSections, withPlatformGuideAppended, } from './agent-guide.js';
2
2
  export { GET_AGENT_GUIDE_TOOL, registerAgentGuideTool } from './agent-guide.tools.js';
3
+ export { GUIDE_TOKEN_ENCODING, INSTRUCTIONS_TOKEN_BUDGET, SECTION_TOKEN_BUDGET, SECTION_TOKEN_BUDGETS, TASK_TOKEN_BUDGET, TOOL_LIST_TOKEN_BUDGET, WHOLE_GUIDE_TOKEN_BUDGET, } from './guide-budget.js';
3
4
  export { GUIDE_FIRST_SENTENCE, withGuideFirst } from '../tool-registry/index.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,GAO1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/agent-guide/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,GAO1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
@@ -55,8 +55,10 @@ export declare function platformInstructions(layout: KbLayout): string;
55
55
  * own cap, and the preamble under its cap plus the marker a cut appends. The
56
56
  * test is what makes it a ceiling rather than a hope: a shared rule that grew
57
57
  * past it fails before it reaches an agent.
58
+ *
59
+ * 14,400 since the shared rules' own cap rose by 400 (the `__tmp__/` ref).
58
60
  */
59
- export declare const INSTRUCTIONS_CAP = 14000;
61
+ export declare const INSTRUCTIONS_CAP = 14400;
60
62
  /** The one-line marker that replaces everything past the preamble cap. */
61
63
  export declare const PREAMBLE_TRUNCATION_MARKER: string;
62
64
  export interface ComposedAgentInstructions {
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-instructions/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAEL,YAAY,EACZ,aAAa,EACb,eAAe,EAEf,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAExD,oFAAoF;AACpF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAiE,CAAC;AAEjH;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAY6F,CAAC;AAE1H;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,gFAAgF,CAAC;AAE9G;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,QAAyG,CAAC;AAEjJ,MAAM,WAAW,yBAAyB;IACxC,qGAAqG;IACrG,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,cAAc,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,uFAAuF;IACvF,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,GAAE,QAA4B,GACnC,yBAAyB,CA+B3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKjG"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-instructions/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAEL,YAAY,EACZ,aAAa,EACb,eAAe,EAEf,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAExD,oFAAoF;AACpF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAiE,CAAC;AAEjH;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAgB6F,CAAC;AAE1H;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,gFAAgF,CAAC;AAE9G;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,QAAyG,CAAC;AAEjJ,MAAM,WAAW,yBAAyB;IACxC,qGAAqG;IACrG,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,cAAc,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,mBAAmB,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,uFAAuF;IACvF,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,GAAE,QAA4B,GACnC,yBAAyB,CA+B3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKjG"}
@@ -38,6 +38,10 @@ export const PLATFORM_HEADER = "Hexis is this organisation's knowledge base, tog
38
38
  'search the knowledge base: call `start_session` once, then `grep` for the key terms, `list_files` to orient, and `read_file` what matches. ' +
39
39
  'Prefer what you find there over memory or the web, and say so when the knowledge base is silent on something the organisation should have documented. ' +
40
40
  'Skills are available as prompts and through `list_skills` and `get_skill`. ' +
41
+ // Said here as well as on the write tools: agents wrote to the default
42
+ // branch without asking (the agent-guide benchmark, 2026-10-26), and this
43
+ // text reaches an agent that never fetches the guide.
44
+ 'A write to the default branch is live for everyone: unless the person said where, ask first whether to write there or on a draft. ' +
41
45
  // There is no one calling shape to state: the knowledge-base tools take
42
46
  // their arguments under `body`, a tool that calls another service takes them
43
47
  // flat, and an agent told one rule for all of them sends a GET with a body.
@@ -75,8 +79,10 @@ export function platformInstructions(layout) {
75
79
  * own cap, and the preamble under its cap plus the marker a cut appends. The
76
80
  * test is what makes it a ceiling rather than a hope: a shared rule that grew
77
81
  * past it fails before it reaches an agent.
82
+ *
83
+ * 14,400 since the shared rules' own cap rose by 400 (the `__tmp__/` ref).
78
84
  */
79
- export const INSTRUCTIONS_CAP = 14_000;
85
+ export const INSTRUCTIONS_CAP = 14_400;
80
86
  /** The one-line marker that replaces everything past the preamble cap. */
81
87
  export const PREAMBLE_TRUNCATION_MARKER = `[preamble truncated at ${PREAMBLE_CAP.toLocaleString('en-US')} characters; shorten ${PREAMBLE_FILE}]`;
82
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/modules/agent-instructions/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/modules/agent-instructions/compose.ts"],"names":[],"mappings":"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"}
@@ -45,8 +45,12 @@ export declare const SHARED_RULES_SECTION = "Working with files";
45
45
  * of every call rather than of how to write one, and why large, escape-heavy
46
46
  * and binary content goes by upload, which three write tools each said in
47
47
  * full.
48
+ *
49
+ * 7,400 since the `__tmp__/` ref: four tools take it, so what it reaches and
50
+ * that it is read-only is said once here rather than in each description, and
51
+ * the section had no room left for it.
48
52
  */
49
- export declare const SHARED_FILE_RULES_CAP = 7000;
53
+ export declare const SHARED_FILE_RULES_CAP = 7400;
50
54
  /** One shared rule: how the guide heads it, and the rule itself. */
51
55
  export interface SharedFileRule {
52
56
  /** Stable id, so a test can name the rule that went missing. */
@@ -1 +1 @@
1
- {"version":3,"file":"shared-file-rules.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-instructions/shared-file-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAGzC,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAUzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,cAAc,EAAE,CAoH3E;AAsCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAK/D"}
1
+ {"version":3,"file":"shared-file-rules.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-instructions/shared-file-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAGzC,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAUzD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,cAAc,EAAE,CAgI3E;AAwCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAK/D"}
@@ -53,8 +53,12 @@ const PRE_RENAME_AGENTS_FILE = 'CLAUDE.md';
53
53
  * of every call rather than of how to write one, and why large, escape-heavy
54
54
  * and binary content goes by upload, which three write tools each said in
55
55
  * full.
56
+ *
57
+ * 7,400 since the `__tmp__/` ref: four tools take it, so what it reaches and
58
+ * that it is read-only is said once here rather than in each description, and
59
+ * the section had no room left for it.
56
60
  */
57
- export const SHARED_FILE_RULES_CAP = 7_000;
61
+ export const SHARED_FILE_RULES_CAP = 7_400;
58
62
  /**
59
63
  * Every shared rule, in reading order: what to read first, what the content
60
64
  * is, what a write may do, then the two protocols that guard a destructive
@@ -94,6 +98,17 @@ export function sharedFileRules(layout) {
94
98
  '`{ image_omitted, note }` stub instead, so read an image outside a chain when you mean to look at it. Any other ' +
95
99
  'binary file reads as a one-line description rather than raw bytes.',
96
100
  },
101
+ {
102
+ // What `__tmp__/` reaches and what it does not (see
103
+ // `workspace/workspace-tmp.ts`) — four tools take the ref, so it is a
104
+ // shared rule rather than a sentence in each description.
105
+ id: 'workspace-tmp',
106
+ heading: "Files staged in the workspace's tmp folder",
107
+ body: "`__tmp__/<path>` names ONE file YOU staged in the branch workspace's `tmp/` folder (chat attachments land " +
108
+ 'there; nobody else\'s staged files are reachable). read_file, file_stat, grep (`path`) and copy_file (`src`) ' +
109
+ 'read it as a repository file; it is read-only and never listed — copy_file it to a repository path to keep ' +
110
+ 'it. An entry stays up to seven days.',
111
+ },
97
112
  {
98
113
  id: 'write-mode',
99
114
  heading: 'What a write may do at a path',
@@ -136,10 +151,10 @@ export function sharedFileRules(layout) {
136
151
  heading: 'Dry-run before a move, a copy or a folder delete',
137
152
  body: 'move_file, copy_file and delete_folder take `dryRun: true`: it changes nothing and answers the impact — ' +
138
153
  'what the call would touch, `allowed`, and `reason` when it may not run. A non-empty folder is deleted, and a ' +
139
- 'move that changes your access runs, only with `confirm: true`; without it the call changes nothing and ' +
154
+ 'move that changes anyone\'s access runs, only with `confirm: true`; without it the call changes nothing and ' +
140
155
  'returns the same impact with `confirmationRequired: true`. Do NOT set `confirm: true` on your first call — ' +
141
156
  'dry-run, check the impact, then confirm. delete_file takes neither: check it first with file_stat ' +
142
- '(`deletable`) if you are unsure. delete_branch has its own `dryRun`.',
157
+ '(`deletable`). delete_branch has its own `dryRun`.',
143
158
  },
144
159
  {
145
160
  id: 'managed-items',
@@ -157,7 +172,7 @@ export function sharedFileRules(layout) {
157
172
  {
158
173
  id: 'refused-for-permissions',
159
174
  heading: 'When a write is refused for permissions',
160
- body: 'A refusal is not necessarily the end of the road: the `write-denied` error says whether you may propose the ' +
175
+ body: 'The `write-denied` error says whether you may propose the ' +
161
176
  'change instead (create a branch from this one, repeat the call on it, then `open_change_request` into this ' +
162
177
  'branch) and lists those steps.',
163
178
  },
@@ -193,16 +208,18 @@ function platformFileList(layout) {
193
208
  * The conventions reminder — where the platform's guide is, that the
194
209
  * organisation's own conventions file comes with it, and to read both first.
195
210
  *
196
- * The guide is read by name at the repository root, where coding agents look
197
- * for an `AGENTS.md` by convention, and `get_agent_guide` returns it alone.
211
+ * The guide's start is read by name at the repository root, where coding
212
+ * agents look for an `AGENTS.md` by convention, and `get_agent_guide` returns
213
+ * it or any one section.
198
214
  * One name on every deployment, so the rule takes no layout. `CLAUDE.md` is
199
215
  * named as a fallback because a knowledge base seeded before the rename may
200
216
  * still carry one its people edited.
201
217
  */
202
218
  function conventionsRule() {
203
- return ("Before your first read or change in a workspace, call `get_agent_guide` and read the platform's guide " +
204
- `(whole, or one section). read_file on \`${LEGACY_AGENTS_FILE}\` at the KB root answers with the same ` +
205
- "guide, after the organisation's own conventions file of that name when it has one: follow both. A " +
219
+ return ("Before your first read or change in a workspace, call `get_agent_guide`: it answers the guide's start, " +
220
+ "which names the default branch and the section for each question. " +
221
+ `read_file on \`${LEGACY_AGENTS_FILE}\` at the KB root answers with ` +
222
+ "that start, after the organisation's own conventions file of that name when it has one: follow both. A " +
206
223
  `\`${PRE_RENAME_AGENTS_FILE}\` at the KB root is the organisation's own too; read it if it exists.`);
207
224
  }
208
225
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"shared-file-rules.js","sourceRoot":"","sources":["../../../src/modules/agent-instructions/shared-file-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElG,oFAAoF;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAY3C;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAgB;IAC9C,OAAO;QACL;YACE,EAAE,EAAE,aAAa;YACjB,OAAO,EAAE,uCAAuC;YAChD,IAAI,EAAE,eAAe,EAAE;SACxB;QACD;YACE,EAAE,EAAE,eAAe;YACnB,OAAO,EAAE,4CAA4C;YACrD,IAAI,EACF,yEAAyE;gBACzE,+GAA+G;gBAC/G,4GAA4G;gBAC5G,kHAAkH;gBAClH,4GAA4G;gBAC5G,+CAA+C;gBAC/C,uEAAuE;gBACvE,6GAA6G;gBAC7G,8GAA8G;gBAC9G,6GAA6G;gBAC7G,gHAAgH;gBAChH,8GAA8G;gBAC9G,+GAA+G;gBAC/G,4GAA4G;gBAC5G,6GAA6G;gBAC7G,+GAA+G;gBAC/G,uGAAuG;gBACvG,kHAAkH;gBAClH,oEAAoE;SACvE;QACD;YACE,EAAE,EAAE,YAAY;YAChB,OAAO,EAAE,+BAA+B;YACxC,IAAI,EACF,6GAA6G;gBAC7G,gHAAgH;gBAChH,0GAA0G;gBAC1G,6GAA6G;SAChH;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,OAAO,EAAE,iCAAiC;YAC1C,IAAI,EACF,4GAA4G;gBAC5G,mFAAmF;SACtF;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EACF,4GAA4G;gBAC5G,8GAA8G;gBAC9G,8GAA8G;gBAC9G,+GAA+G;gBAC/G,iGAAiG;SACpG;QACD;YACE,yEAAyE;YACzE,wEAAwE;YACxE,4DAA4D;YAC5D,EAAE,EAAE,cAAc;YAClB,OAAO,EAAE,iEAAiE;YAC1E,IAAI,EACF,2GAA2G;gBAC3G,2GAA2G;gBAC3G,4GAA4G;gBAC5G,yEAAyE;gBACzE,wGAAwG;gBACxG,iGAAiG;gBACjG,uEAAuE;SAC1E;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,OAAO,EAAE,kDAAkD;YAC3D,IAAI,EACF,0GAA0G;gBAC1G,+GAA+G;gBAC/G,yGAAyG;gBACzG,6GAA6G;gBAC7G,oGAAoG;gBACpG,sEAAsE;SACzE;QACD;YACE,EAAE,EAAE,eAAe;YACnB,OAAO,EAAE,uCAAuC;YAChD,IAAI,EACF,oBAAoB,gBAAgB,CAAC,MAAM,CAAC,yEAAyE;gBACrH,6GAA6G;gBAC7G,+GAA+G;gBAC/G,iHAAiH;gBACjH,gEAAgE;gBAChE,KAAK,MAAM,CAAC,gBAAgB,gFAAgF;gBAC5G,0GAA0G;gBAC1G,8GAA8G;gBAC9G,wEAAwE;SAC3E;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,OAAO,EAAE,yCAAyC;YAClD,IAAI,EACF,8GAA8G;gBAC9G,6GAA6G;gBAC7G,gCAAgC;SACnC;QACD;YACE,qEAAqE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,8DAA8D;YAC9D,EAAE,EAAE,YAAY;YAChB,OAAO,EAAE,qCAAqC;YAC9C,IAAI,EAAE,uBAAuB,mBAAmB,OAAO,wBAAwB,EAAE;SAClF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,MAAgB;IACxC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrG,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC;AACzF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe;IACtB,OAAO,CACL,wGAAwG;QACxG,2CAA2C,kBAAkB,0CAA0C;QACvG,oGAAoG;QACpG,KAAK,sBAAsB,wEAAwE,CACpG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAgB;IACrD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACpD,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,MAAM,oBAAoB,OAAO,IAAI,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"shared-file-rules.js","sourceRoot":"","sources":["../../../src/modules/agent-instructions/shared-file-rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { ConnectionScope } from './connection-scope.js';
2
+ /** One agent configuration a person may connect as — a row of the "Connect as" choice. */
3
+ export interface AgentChoice {
4
+ /** Repo-relative path of the configuration — what the connection records. */
5
+ path: string;
6
+ /** Its name, as the choice shows it. */
7
+ name: string;
8
+ /** Its description, one line; empty when it has none. */
9
+ description: string;
10
+ }
11
+ /**
12
+ * The connection-scope mechanism: which agent configurations a person may
13
+ * connect as, and what a connection made as one may load right now.
14
+ *
15
+ * Core owns the MECHANISM and none of the configurations: what an agent
16
+ * configuration is — the file kind, where it lives, what its definition
17
+ * says — is the distribution's (`CorePorts.agentScope`), exactly as the
18
+ * file kinds whose frontmatter carries access verbs are
19
+ * (`registerAccessFrontmatterExtensions`). Core itself offers no agent to
20
+ * connect as ({@link noAgentConfigurations}): every connection it makes is
21
+ * Everything, and a connection recorded as some path by a distribution that
22
+ * is no longer there loads nothing, never Everything.
23
+ *
24
+ * Every agent surface resolves its caller's scope here, with the agent path
25
+ * its credential carries — a connection key's `api_tokens.agent_path`, an
26
+ * agent connection's `agent_connections.agent_path` — and asks the scope;
27
+ * none reads a configuration itself.
28
+ */
29
+ export interface IAgentScopeResolver {
30
+ /**
31
+ * The scope of a connection made as `agentPath` for the person `userEmail`.
32
+ * No path is Everything. The configuration is read, through the person's
33
+ * read gate, on EVERY call — the connection follows the configuration, not
34
+ * a copy of it — and one that is missing, unreadable to the person or not
35
+ * a valid definition yields a scope that loads nothing, never Everything.
36
+ */
37
+ resolve(userEmail: string | undefined, agentPath: string | null | undefined): Promise<ConnectionScope>;
38
+ /**
39
+ * The agent configurations `userEmail` may connect as, by name — what the
40
+ * consent step and the key-mint dialog offer below Everything. Rejects
41
+ * when they cannot be listed at all (the default branch cannot be opened):
42
+ * that is a failed listing, which the caller says, never an empty one.
43
+ */
44
+ listChoices(userEmail: string): Promise<AgentChoice[]>;
45
+ /**
46
+ * `agentPath` normalized when it is one of {@link listChoices}' paths, else
47
+ * null — one answer for a configuration that does not exist and one the
48
+ * person may not read, so a refused choice says nothing about either.
49
+ */
50
+ choosable(userEmail: string, agentPath: string): Promise<string | null>;
51
+ }
52
+ /**
53
+ * The resolver of a distribution that has no agent configurations — core's
54
+ * own default. Nothing is offered, nothing is choosable, and a recorded path
55
+ * resolves to a scope that loads nothing: a narrowing that cannot be read is
56
+ * never read as Everything.
57
+ */
58
+ export declare function noAgentConfigurations(): IAgentScopeResolver;
59
+ /**
60
+ * The scope of a caller whose credential connects as `agentPath` — THE way
61
+ * every agent surface turns a credential into a scope. No path is
62
+ * Everything, without asking anything. A path with no resolver to read it
63
+ * (a construction that wired none) loads nothing: a narrowing that cannot be
64
+ * read is never read as Everything.
65
+ */
66
+ export declare function resolveConnectionScope(resolver: Pick<IAgentScopeResolver, 'resolve'> | undefined, userEmail: string | undefined, agentPath: string | null | undefined): Promise<ConnectionScope>;
67
+ //# sourceMappingURL=agent-scope.contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-scope.contract.d.ts","sourceRoot":"","sources":["../../../src/modules/agent-scope/agent-scope.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvG;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,mBAAmB,CAM3D;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG,SAAS,EAC1D,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,OAAO,CAAC,eAAe,CAAC,CAG1B"}