@flyingrobots/graft 0.5.0 → 0.6.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 (995) hide show
  1. package/ARCHITECTURE.md +130 -377
  2. package/CHANGELOG.md +94 -13
  3. package/README.md +107 -269
  4. package/bin/graft.js +5 -3
  5. package/dist/adapters/canonical-json.d.ts +6 -0
  6. package/dist/adapters/canonical-json.d.ts.map +1 -0
  7. package/dist/adapters/canonical-json.js +52 -0
  8. package/dist/adapters/canonical-json.js.map +1 -0
  9. package/dist/adapters/node-fs.d.ts +3 -0
  10. package/dist/adapters/node-fs.d.ts.map +1 -0
  11. package/dist/adapters/node-fs.js +33 -0
  12. package/dist/adapters/node-fs.js.map +1 -0
  13. package/dist/adapters/node-git.d.ts +3 -0
  14. package/dist/adapters/node-git.d.ts.map +1 -0
  15. package/dist/adapters/node-git.js +44 -0
  16. package/dist/adapters/node-git.js.map +1 -0
  17. package/dist/adapters/node-process-runner.d.ts +3 -0
  18. package/dist/adapters/node-process-runner.d.ts.map +1 -0
  19. package/dist/adapters/node-process-runner.js +23 -0
  20. package/dist/adapters/node-process-runner.js.map +1 -0
  21. package/dist/adapters/repo-paths.d.ts +3 -0
  22. package/dist/adapters/repo-paths.d.ts.map +1 -0
  23. package/dist/adapters/repo-paths.js +22 -0
  24. package/dist/adapters/repo-paths.js.map +1 -0
  25. package/dist/adapters/rotating-ndjson-log.d.ts +18 -0
  26. package/dist/adapters/rotating-ndjson-log.d.ts.map +1 -0
  27. package/dist/adapters/rotating-ndjson-log.js +48 -0
  28. package/dist/adapters/rotating-ndjson-log.js.map +1 -0
  29. package/dist/api/index.d.ts +27 -0
  30. package/dist/api/index.d.ts.map +1 -0
  31. package/dist/api/index.js +25 -0
  32. package/dist/api/index.js.map +1 -0
  33. package/dist/api/repo-local-graft.d.ts +7 -0
  34. package/dist/api/repo-local-graft.d.ts.map +1 -0
  35. package/dist/api/repo-local-graft.js +12 -0
  36. package/dist/api/repo-local-graft.js.map +1 -0
  37. package/dist/api/repo-workspace.d.ts +15 -0
  38. package/dist/api/repo-workspace.d.ts.map +1 -0
  39. package/dist/api/repo-workspace.js +23 -0
  40. package/dist/api/repo-workspace.js.map +1 -0
  41. package/dist/api/tool-bridge.d.ts +7 -0
  42. package/dist/api/tool-bridge.d.ts.map +1 -0
  43. package/dist/api/tool-bridge.js +14 -0
  44. package/dist/api/tool-bridge.js.map +1 -0
  45. package/dist/cli/activity-render.d.ts +2 -0
  46. package/dist/cli/activity-render.d.ts.map +1 -0
  47. package/dist/cli/activity-render.js +90 -0
  48. package/dist/cli/activity-render.js.map +1 -0
  49. package/dist/cli/cli-error.d.ts +10 -0
  50. package/dist/cli/cli-error.d.ts.map +1 -0
  51. package/dist/cli/cli-error.js +130 -0
  52. package/dist/cli/cli-error.js.map +1 -0
  53. package/dist/cli/command-parser.d.ts +17 -0
  54. package/dist/cli/command-parser.d.ts.map +1 -0
  55. package/dist/cli/command-parser.js +255 -0
  56. package/dist/cli/command-parser.js.map +1 -0
  57. package/dist/cli/entrypoint.d.ts +7 -0
  58. package/dist/cli/entrypoint.d.ts.map +1 -0
  59. package/dist/cli/entrypoint.js +8 -0
  60. package/dist/cli/entrypoint.js.map +1 -0
  61. package/dist/cli/index-cmd.d.ts +12 -0
  62. package/dist/cli/index-cmd.d.ts.map +1 -0
  63. package/dist/cli/index-cmd.js +73 -0
  64. package/dist/cli/index-cmd.js.map +1 -0
  65. package/dist/cli/index-model.d.ts +33 -0
  66. package/dist/cli/index-model.d.ts.map +1 -0
  67. package/dist/cli/index-model.js +55 -0
  68. package/dist/cli/index-model.js.map +1 -0
  69. package/dist/cli/init-bootstrap.d.ts +6 -0
  70. package/dist/cli/init-bootstrap.d.ts.map +1 -0
  71. package/dist/cli/init-bootstrap.js +27 -0
  72. package/dist/cli/init-bootstrap.js.map +1 -0
  73. package/dist/cli/init-client-config.d.ts +13 -0
  74. package/dist/cli/init-client-config.d.ts.map +1 -0
  75. package/dist/cli/init-client-config.js +215 -0
  76. package/dist/cli/init-client-config.js.map +1 -0
  77. package/dist/cli/init-model.d.ts +80 -0
  78. package/dist/cli/init-model.d.ts.map +1 -0
  79. package/dist/cli/init-model.js +202 -0
  80. package/dist/cli/init-model.js.map +1 -0
  81. package/dist/cli/init-render.d.ts +8 -0
  82. package/dist/cli/init-render.d.ts.map +1 -0
  83. package/dist/cli/init-render.js +43 -0
  84. package/dist/cli/init-render.js.map +1 -0
  85. package/dist/cli/init-target-hooks.d.ts +3 -0
  86. package/dist/cli/init-target-hooks.d.ts.map +1 -0
  87. package/dist/cli/init-target-hooks.js +75 -0
  88. package/dist/cli/init-target-hooks.js.map +1 -0
  89. package/dist/cli/init.d.ts +12 -0
  90. package/dist/cli/init.d.ts.map +1 -0
  91. package/dist/cli/init.js +96 -0
  92. package/dist/cli/init.js.map +1 -0
  93. package/dist/cli/json-document.d.ts +35 -0
  94. package/dist/cli/json-document.d.ts.map +1 -0
  95. package/dist/cli/json-document.js +107 -0
  96. package/dist/cli/json-document.js.map +1 -0
  97. package/dist/cli/local-history-dag-model.d.ts +43 -0
  98. package/dist/cli/local-history-dag-model.d.ts.map +1 -0
  99. package/dist/cli/local-history-dag-model.js +344 -0
  100. package/dist/cli/local-history-dag-model.js.map +1 -0
  101. package/dist/cli/local-history-dag-render.d.ts +3 -0
  102. package/dist/cli/local-history-dag-render.d.ts.map +1 -0
  103. package/dist/cli/local-history-dag-render.js +126 -0
  104. package/dist/cli/local-history-dag-render.js.map +1 -0
  105. package/dist/cli/local-history-dag.d.ts +13 -0
  106. package/dist/cli/local-history-dag.d.ts.map +1 -0
  107. package/dist/cli/local-history-dag.js +60 -0
  108. package/dist/cli/local-history-dag.js.map +1 -0
  109. package/dist/cli/main.d.ts +15 -0
  110. package/dist/cli/main.d.ts.map +1 -0
  111. package/dist/cli/main.js +126 -0
  112. package/dist/cli/main.js.map +1 -0
  113. package/dist/cli/migrate-local-history.d.ts +12 -0
  114. package/dist/cli/migrate-local-history.d.ts.map +1 -0
  115. package/dist/cli/migrate-local-history.js +82 -0
  116. package/dist/cli/migrate-local-history.js.map +1 -0
  117. package/dist/cli/peer-command.d.ts +9 -0
  118. package/dist/cli/peer-command.d.ts.map +1 -0
  119. package/dist/cli/peer-command.js +38 -0
  120. package/dist/cli/peer-command.js.map +1 -0
  121. package/dist/contracts/capabilities.d.ts +44 -0
  122. package/dist/contracts/capabilities.d.ts.map +1 -0
  123. package/dist/contracts/capabilities.js +382 -0
  124. package/dist/contracts/capabilities.js.map +1 -0
  125. package/dist/contracts/causal-ontology.d.ts +1937 -0
  126. package/dist/contracts/causal-ontology.d.ts.map +1 -0
  127. package/dist/contracts/causal-ontology.js +506 -0
  128. package/dist/contracts/causal-ontology.js.map +1 -0
  129. package/dist/contracts/causal-surface-next-action.d.ts +17 -0
  130. package/dist/contracts/causal-surface-next-action.d.ts.map +1 -0
  131. package/dist/contracts/causal-surface-next-action.js +16 -0
  132. package/dist/contracts/causal-surface-next-action.js.map +1 -0
  133. package/dist/contracts/json-object.d.ts +7 -0
  134. package/dist/contracts/json-object.d.ts.map +1 -0
  135. package/dist/contracts/json-object.js +24 -0
  136. package/dist/contracts/json-object.js.map +1 -0
  137. package/dist/contracts/mcp-runtime.d.ts +4 -0
  138. package/dist/contracts/mcp-runtime.d.ts.map +1 -0
  139. package/dist/contracts/mcp-runtime.js +11 -0
  140. package/dist/contracts/mcp-runtime.js.map +1 -0
  141. package/dist/contracts/output-schema-cli.d.ts +2716 -0
  142. package/dist/contracts/output-schema-cli.d.ts.map +1 -0
  143. package/dist/contracts/output-schema-cli.js +68 -0
  144. package/dist/contracts/output-schema-cli.js.map +1 -0
  145. package/dist/contracts/output-schema-fragments.d.ts +10819 -0
  146. package/dist/contracts/output-schema-fragments.d.ts.map +1 -0
  147. package/dist/contracts/output-schema-fragments.js +753 -0
  148. package/dist/contracts/output-schema-fragments.js.map +1 -0
  149. package/dist/contracts/output-schema-mcp.d.ts +5926 -0
  150. package/dist/contracts/output-schema-mcp.d.ts.map +1 -0
  151. package/dist/contracts/output-schema-mcp.js +231 -0
  152. package/dist/contracts/output-schema-mcp.js.map +1 -0
  153. package/dist/contracts/output-schema-meta.d.ts +30 -0
  154. package/dist/contracts/output-schema-meta.d.ts.map +1 -0
  155. package/dist/contracts/output-schema-meta.js +51 -0
  156. package/dist/contracts/output-schema-meta.js.map +1 -0
  157. package/dist/contracts/output-schemas.d.ts +1072 -0
  158. package/dist/contracts/output-schemas.d.ts.map +1 -0
  159. package/dist/contracts/output-schemas.js +1089 -0
  160. package/dist/contracts/output-schemas.js.map +1 -0
  161. package/dist/git/diff.d.ts +32 -0
  162. package/dist/git/diff.d.ts.map +1 -0
  163. package/dist/git/diff.js +82 -0
  164. package/dist/git/diff.js.map +1 -0
  165. package/dist/git/target-git-hook-bootstrap.d.ts +7 -0
  166. package/dist/git/target-git-hook-bootstrap.d.ts.map +1 -0
  167. package/dist/git/target-git-hook-bootstrap.js +40 -0
  168. package/dist/git/target-git-hook-bootstrap.js.map +1 -0
  169. package/dist/guards/stream-boundary.d.ts +41 -0
  170. package/dist/guards/stream-boundary.d.ts.map +1 -0
  171. package/dist/guards/stream-boundary.js +97 -0
  172. package/dist/guards/stream-boundary.js.map +1 -0
  173. package/dist/hooks/posttooluse-read.d.ts +4 -0
  174. package/dist/hooks/posttooluse-read.d.ts.map +1 -0
  175. package/dist/hooks/posttooluse-read.js +41 -0
  176. package/dist/hooks/posttooluse-read.js.map +1 -0
  177. package/dist/hooks/pretooluse-read.d.ts +4 -0
  178. package/dist/hooks/pretooluse-read.d.ts.map +1 -0
  179. package/dist/hooks/pretooluse-read.js +41 -0
  180. package/dist/hooks/pretooluse-read.js.map +1 -0
  181. package/dist/hooks/read-governor.d.ts +24 -0
  182. package/dist/hooks/read-governor.d.ts.map +1 -0
  183. package/dist/hooks/read-governor.js +76 -0
  184. package/dist/hooks/read-governor.js.map +1 -0
  185. package/dist/hooks/read-messages.d.ts +6 -0
  186. package/dist/hooks/read-messages.d.ts.map +1 -0
  187. package/dist/hooks/read-messages.js +45 -0
  188. package/dist/hooks/read-messages.js.map +1 -0
  189. package/dist/hooks/shared.d.ts +52 -0
  190. package/dist/hooks/shared.d.ts.map +1 -0
  191. package/dist/hooks/shared.js +137 -0
  192. package/dist/hooks/shared.js.map +1 -0
  193. package/dist/index.d.ts +2 -0
  194. package/dist/index.d.ts.map +1 -0
  195. package/dist/index.js +2 -0
  196. package/dist/index.js.map +1 -0
  197. package/dist/mcp/burden.d.ts +21 -0
  198. package/dist/mcp/burden.d.ts.map +1 -0
  199. package/dist/mcp/burden.js +96 -0
  200. package/dist/mcp/burden.js.map +1 -0
  201. package/dist/mcp/cache.d.ts +2 -0
  202. package/dist/mcp/cache.d.ts.map +1 -0
  203. package/dist/mcp/cache.js +2 -0
  204. package/dist/mcp/cache.js.map +1 -0
  205. package/dist/mcp/cached-file.d.ts +2 -0
  206. package/dist/mcp/cached-file.d.ts.map +1 -0
  207. package/dist/mcp/cached-file.js +2 -0
  208. package/dist/mcp/cached-file.js.map +1 -0
  209. package/dist/mcp/context.d.ts +84 -0
  210. package/dist/mcp/context.d.ts.map +1 -0
  211. package/dist/mcp/context.js +79 -0
  212. package/dist/mcp/context.js.map +1 -0
  213. package/dist/mcp/control-plane/authz-storage.d.ts +35 -0
  214. package/dist/mcp/control-plane/authz-storage.d.ts.map +1 -0
  215. package/dist/mcp/control-plane/authz-storage.js +85 -0
  216. package/dist/mcp/control-plane/authz-storage.js.map +1 -0
  217. package/dist/mcp/control-plane/session-registry.d.ts +12 -0
  218. package/dist/mcp/control-plane/session-registry.d.ts.map +1 -0
  219. package/dist/mcp/control-plane/session-registry.js +88 -0
  220. package/dist/mcp/control-plane/session-registry.js.map +1 -0
  221. package/dist/mcp/control-plane/status-projection.d.ts +8 -0
  222. package/dist/mcp/control-plane/status-projection.d.ts.map +1 -0
  223. package/dist/mcp/control-plane/status-projection.js +49 -0
  224. package/dist/mcp/control-plane/status-projection.js.map +1 -0
  225. package/dist/mcp/control-plane/types.d.ts +107 -0
  226. package/dist/mcp/control-plane/types.d.ts.map +1 -0
  227. package/dist/mcp/control-plane/types.js +2 -0
  228. package/dist/mcp/control-plane/types.js.map +1 -0
  229. package/dist/mcp/daemon-bootstrap.d.ts +9 -0
  230. package/dist/mcp/daemon-bootstrap.d.ts.map +1 -0
  231. package/dist/mcp/daemon-bootstrap.js +96 -0
  232. package/dist/mcp/daemon-bootstrap.js.map +1 -0
  233. package/dist/mcp/daemon-control-plane.d.ts +37 -0
  234. package/dist/mcp/daemon-control-plane.d.ts.map +1 -0
  235. package/dist/mcp/daemon-control-plane.js +200 -0
  236. package/dist/mcp/daemon-control-plane.js.map +1 -0
  237. package/dist/mcp/daemon-job-scheduler.d.ts +60 -0
  238. package/dist/mcp/daemon-job-scheduler.d.ts.map +1 -0
  239. package/dist/mcp/daemon-job-scheduler.js +203 -0
  240. package/dist/mcp/daemon-job-scheduler.js.map +1 -0
  241. package/dist/mcp/daemon-repos.d.ts +9 -0
  242. package/dist/mcp/daemon-repos.d.ts.map +1 -0
  243. package/dist/mcp/daemon-repos.js +73 -0
  244. package/dist/mcp/daemon-repos.js.map +1 -0
  245. package/dist/mcp/daemon-server.d.ts +23 -0
  246. package/dist/mcp/daemon-server.d.ts.map +1 -0
  247. package/dist/mcp/daemon-server.js +128 -0
  248. package/dist/mcp/daemon-server.js.map +1 -0
  249. package/dist/mcp/daemon-session-host.d.ts +31 -0
  250. package/dist/mcp/daemon-session-host.d.ts.map +1 -0
  251. package/dist/mcp/daemon-session-host.js +173 -0
  252. package/dist/mcp/daemon-session-host.js.map +1 -0
  253. package/dist/mcp/daemon-stdio-bridge.d.ts +17 -0
  254. package/dist/mcp/daemon-stdio-bridge.d.ts.map +1 -0
  255. package/dist/mcp/daemon-stdio-bridge.js +207 -0
  256. package/dist/mcp/daemon-stdio-bridge.js.map +1 -0
  257. package/dist/mcp/daemon-worker-child-pool.d.ts +22 -0
  258. package/dist/mcp/daemon-worker-child-pool.d.ts.map +1 -0
  259. package/dist/mcp/daemon-worker-child-pool.js +193 -0
  260. package/dist/mcp/daemon-worker-child-pool.js.map +1 -0
  261. package/dist/mcp/daemon-worker-inline-pool.d.ts +12 -0
  262. package/dist/mcp/daemon-worker-inline-pool.d.ts.map +1 -0
  263. package/dist/mcp/daemon-worker-inline-pool.js +43 -0
  264. package/dist/mcp/daemon-worker-inline-pool.js.map +1 -0
  265. package/dist/mcp/daemon-worker-pool.d.ts +4 -0
  266. package/dist/mcp/daemon-worker-pool.d.ts.map +1 -0
  267. package/dist/mcp/daemon-worker-pool.js +3 -0
  268. package/dist/mcp/daemon-worker-pool.js.map +1 -0
  269. package/dist/mcp/daemon-worker-process.d.ts +2 -0
  270. package/dist/mcp/daemon-worker-process.d.ts.map +1 -0
  271. package/dist/mcp/daemon-worker-process.js +26 -0
  272. package/dist/mcp/daemon-worker-process.js.map +1 -0
  273. package/dist/mcp/daemon-worker-types.d.ts +56 -0
  274. package/dist/mcp/daemon-worker-types.d.ts.map +1 -0
  275. package/dist/mcp/daemon-worker-types.js +2 -0
  276. package/dist/mcp/daemon-worker-types.js.map +1 -0
  277. package/dist/mcp/metrics.d.ts +57 -0
  278. package/dist/mcp/metrics.d.ts.map +1 -0
  279. package/dist/mcp/metrics.js +133 -0
  280. package/dist/mcp/metrics.js.map +1 -0
  281. package/dist/mcp/monitor-health.d.ts +29 -0
  282. package/dist/mcp/monitor-health.d.ts.map +1 -0
  283. package/dist/mcp/monitor-health.js +70 -0
  284. package/dist/mcp/monitor-health.js.map +1 -0
  285. package/dist/mcp/monitor-persistence.d.ts +17 -0
  286. package/dist/mcp/monitor-persistence.d.ts.map +1 -0
  287. package/dist/mcp/monitor-persistence.js +38 -0
  288. package/dist/mcp/monitor-persistence.js.map +1 -0
  289. package/dist/mcp/monitor-tick-job.d.ts +22 -0
  290. package/dist/mcp/monitor-tick-job.d.ts.map +1 -0
  291. package/dist/mcp/monitor-tick-job.js +65 -0
  292. package/dist/mcp/monitor-tick-job.js.map +1 -0
  293. package/dist/mcp/monitor-types.d.ts +123 -0
  294. package/dist/mcp/monitor-types.d.ts.map +1 -0
  295. package/dist/mcp/monitor-types.js +29 -0
  296. package/dist/mcp/monitor-types.js.map +1 -0
  297. package/dist/mcp/persisted-local-history-graph.d.ts +40 -0
  298. package/dist/mcp/persisted-local-history-graph.d.ts.map +1 -0
  299. package/dist/mcp/persisted-local-history-graph.js +388 -0
  300. package/dist/mcp/persisted-local-history-graph.js.map +1 -0
  301. package/dist/mcp/persisted-local-history-policy.d.ts +43 -0
  302. package/dist/mcp/persisted-local-history-policy.d.ts.map +1 -0
  303. package/dist/mcp/persisted-local-history-policy.js +372 -0
  304. package/dist/mcp/persisted-local-history-policy.js.map +1 -0
  305. package/dist/mcp/persisted-local-history-views.d.ts +24 -0
  306. package/dist/mcp/persisted-local-history-views.d.ts.map +1 -0
  307. package/dist/mcp/persisted-local-history-views.js +201 -0
  308. package/dist/mcp/persisted-local-history-views.js.map +1 -0
  309. package/dist/mcp/persisted-local-history.d.ts +795 -0
  310. package/dist/mcp/persisted-local-history.d.ts.map +1 -0
  311. package/dist/mcp/persisted-local-history.js +1076 -0
  312. package/dist/mcp/persisted-local-history.js.map +1 -0
  313. package/dist/mcp/persistent-monitor-runtime.d.ts +33 -0
  314. package/dist/mcp/persistent-monitor-runtime.d.ts.map +1 -0
  315. package/dist/mcp/persistent-monitor-runtime.js +356 -0
  316. package/dist/mcp/persistent-monitor-runtime.js.map +1 -0
  317. package/dist/mcp/policy.d.ts +29 -0
  318. package/dist/mcp/policy.d.ts.map +1 -0
  319. package/dist/mcp/policy.js +40 -0
  320. package/dist/mcp/policy.js.map +1 -0
  321. package/dist/mcp/receipt.d.ts +64 -0
  322. package/dist/mcp/receipt.d.ts.map +1 -0
  323. package/dist/mcp/receipt.js +99 -0
  324. package/dist/mcp/receipt.js.map +1 -0
  325. package/dist/mcp/repo-concurrency.d.ts +62 -0
  326. package/dist/mcp/repo-concurrency.d.ts.map +1 -0
  327. package/dist/mcp/repo-concurrency.js +195 -0
  328. package/dist/mcp/repo-concurrency.js.map +1 -0
  329. package/dist/mcp/repo-overview/filter.d.ts +6 -0
  330. package/dist/mcp/repo-overview/filter.d.ts.map +1 -0
  331. package/dist/mcp/repo-overview/filter.js +32 -0
  332. package/dist/mcp/repo-overview/filter.js.map +1 -0
  333. package/dist/mcp/repo-overview/types.d.ts +41 -0
  334. package/dist/mcp/repo-overview/types.d.ts.map +1 -0
  335. package/dist/mcp/repo-overview/types.js +2 -0
  336. package/dist/mcp/repo-overview/types.js.map +1 -0
  337. package/dist/mcp/repo-overview/view-projection.d.ts +8 -0
  338. package/dist/mcp/repo-overview/view-projection.d.ts.map +1 -0
  339. package/dist/mcp/repo-overview/view-projection.js +73 -0
  340. package/dist/mcp/repo-overview/view-projection.js.map +1 -0
  341. package/dist/mcp/repo-state-git.d.ts +8 -0
  342. package/dist/mcp/repo-state-git.d.ts.map +1 -0
  343. package/dist/mcp/repo-state-git.js +203 -0
  344. package/dist/mcp/repo-state-git.js.map +1 -0
  345. package/dist/mcp/repo-state-observation.d.ts +4 -0
  346. package/dist/mcp/repo-state-observation.d.ts.map +1 -0
  347. package/dist/mcp/repo-state-observation.js +171 -0
  348. package/dist/mcp/repo-state-observation.js.map +1 -0
  349. package/dist/mcp/repo-state-transition.d.ts +4 -0
  350. package/dist/mcp/repo-state-transition.d.ts.map +1 -0
  351. package/dist/mcp/repo-state-transition.js +124 -0
  352. package/dist/mcp/repo-state-transition.js.map +1 -0
  353. package/dist/mcp/repo-state-types.d.ts +88 -0
  354. package/dist/mcp/repo-state-types.d.ts.map +1 -0
  355. package/dist/mcp/repo-state-types.js +2 -0
  356. package/dist/mcp/repo-state-types.js.map +1 -0
  357. package/dist/mcp/repo-state.d.ts +37 -0
  358. package/dist/mcp/repo-state.d.ts.map +1 -0
  359. package/dist/mcp/repo-state.js +101 -0
  360. package/dist/mcp/repo-state.js.map +1 -0
  361. package/dist/mcp/repo-tool-job.d.ts +55 -0
  362. package/dist/mcp/repo-tool-job.d.ts.map +1 -0
  363. package/dist/mcp/repo-tool-job.js +50 -0
  364. package/dist/mcp/repo-tool-job.js.map +1 -0
  365. package/dist/mcp/repo-tool-worker-context.d.ts +8 -0
  366. package/dist/mcp/repo-tool-worker-context.d.ts.map +1 -0
  367. package/dist/mcp/repo-tool-worker-context.js +199 -0
  368. package/dist/mcp/repo-tool-worker-context.js.map +1 -0
  369. package/dist/mcp/repo-workspace.d.ts +4 -0
  370. package/dist/mcp/repo-workspace.d.ts.map +1 -0
  371. package/dist/mcp/repo-workspace.js +15 -0
  372. package/dist/mcp/repo-workspace.js.map +1 -0
  373. package/dist/mcp/run-capture-config.d.ts +11 -0
  374. package/dist/mcp/run-capture-config.d.ts.map +1 -0
  375. package/dist/mcp/run-capture-config.js +23 -0
  376. package/dist/mcp/run-capture-config.js.map +1 -0
  377. package/dist/mcp/runtime-causal-context.d.ts +22 -0
  378. package/dist/mcp/runtime-causal-context.d.ts.map +1 -0
  379. package/dist/mcp/runtime-causal-context.js +28 -0
  380. package/dist/mcp/runtime-causal-context.js.map +1 -0
  381. package/dist/mcp/runtime-observability.d.ts +102 -0
  382. package/dist/mcp/runtime-observability.d.ts.map +1 -0
  383. package/dist/mcp/runtime-observability.js +95 -0
  384. package/dist/mcp/runtime-observability.js.map +1 -0
  385. package/dist/mcp/runtime-staged-target.d.ts +28 -0
  386. package/dist/mcp/runtime-staged-target.d.ts.map +1 -0
  387. package/dist/mcp/runtime-staged-target.js +101 -0
  388. package/dist/mcp/runtime-staged-target.js.map +1 -0
  389. package/dist/mcp/runtime-workspace-overlay.d.ts +45 -0
  390. package/dist/mcp/runtime-workspace-overlay.d.ts.map +1 -0
  391. package/dist/mcp/runtime-workspace-overlay.js +153 -0
  392. package/dist/mcp/runtime-workspace-overlay.js.map +1 -0
  393. package/dist/mcp/secret-scrub.d.ts +17 -0
  394. package/dist/mcp/secret-scrub.d.ts.map +1 -0
  395. package/dist/mcp/secret-scrub.js +82 -0
  396. package/dist/mcp/secret-scrub.js.map +1 -0
  397. package/dist/mcp/semantic-transition-guidance.d.ts +6 -0
  398. package/dist/mcp/semantic-transition-guidance.d.ts.map +1 -0
  399. package/dist/mcp/semantic-transition-guidance.js +47 -0
  400. package/dist/mcp/semantic-transition-guidance.js.map +1 -0
  401. package/dist/mcp/semantic-transition-summary.d.ts +23 -0
  402. package/dist/mcp/semantic-transition-summary.d.ts.map +1 -0
  403. package/dist/mcp/semantic-transition-summary.js +82 -0
  404. package/dist/mcp/semantic-transition-summary.js.map +1 -0
  405. package/dist/mcp/server-context.d.ts +46 -0
  406. package/dist/mcp/server-context.d.ts.map +1 -0
  407. package/dist/mcp/server-context.js +163 -0
  408. package/dist/mcp/server-context.js.map +1 -0
  409. package/dist/mcp/server-invocation.d.ts +73 -0
  410. package/dist/mcp/server-invocation.d.ts.map +1 -0
  411. package/dist/mcp/server-invocation.js +265 -0
  412. package/dist/mcp/server-invocation.js.map +1 -0
  413. package/dist/mcp/server-tool-access.d.ts +18 -0
  414. package/dist/mcp/server-tool-access.d.ts.map +1 -0
  415. package/dist/mcp/server-tool-access.js +123 -0
  416. package/dist/mcp/server-tool-access.js.map +1 -0
  417. package/dist/mcp/server.d.ts +41 -0
  418. package/dist/mcp/server.d.ts.map +1 -0
  419. package/dist/mcp/server.js +215 -0
  420. package/dist/mcp/server.js.map +1 -0
  421. package/dist/mcp/stdio-server.d.ts +6 -0
  422. package/dist/mcp/stdio-server.d.ts.map +1 -0
  423. package/dist/mcp/stdio-server.js +20 -0
  424. package/dist/mcp/stdio-server.js.map +1 -0
  425. package/dist/mcp/stdio.d.ts +2 -0
  426. package/dist/mcp/stdio.d.ts.map +1 -0
  427. package/dist/mcp/stdio.js +3 -0
  428. package/dist/mcp/stdio.js.map +1 -0
  429. package/dist/mcp/tool-registry.d.ts +5 -0
  430. package/dist/mcp/tool-registry.d.ts.map +1 -0
  431. package/dist/mcp/tool-registry.js +76 -0
  432. package/dist/mcp/tool-registry.js.map +1 -0
  433. package/dist/mcp/tools/activity-view.d.ts +3 -0
  434. package/dist/mcp/tools/activity-view.d.ts.map +1 -0
  435. package/dist/mcp/tools/activity-view.js +259 -0
  436. package/dist/mcp/tools/activity-view.js.map +1 -0
  437. package/dist/mcp/tools/budget.d.ts +3 -0
  438. package/dist/mcp/tools/budget.d.ts.map +1 -0
  439. package/dist/mcp/tools/budget.js +20 -0
  440. package/dist/mcp/tools/budget.js.map +1 -0
  441. package/dist/mcp/tools/causal-attach.d.ts +3 -0
  442. package/dist/mcp/tools/causal-attach.d.ts.map +1 -0
  443. package/dist/mcp/tools/causal-attach.js +53 -0
  444. package/dist/mcp/tools/causal-attach.js.map +1 -0
  445. package/dist/mcp/tools/causal-status.d.ts +3 -0
  446. package/dist/mcp/tools/causal-status.d.ts.map +1 -0
  447. package/dist/mcp/tools/causal-status.js +46 -0
  448. package/dist/mcp/tools/causal-status.js.map +1 -0
  449. package/dist/mcp/tools/changed-since.d.ts +3 -0
  450. package/dist/mcp/tools/changed-since.d.ts.map +1 -0
  451. package/dist/mcp/tools/changed-since.js +57 -0
  452. package/dist/mcp/tools/changed-since.js.map +1 -0
  453. package/dist/mcp/tools/code-find.d.ts +104 -0
  454. package/dist/mcp/tools/code-find.d.ts.map +1 -0
  455. package/dist/mcp/tools/code-find.js +125 -0
  456. package/dist/mcp/tools/code-find.js.map +1 -0
  457. package/dist/mcp/tools/code-refs.d.ts +3 -0
  458. package/dist/mcp/tools/code-refs.d.ts.map +1 -0
  459. package/dist/mcp/tools/code-refs.js +370 -0
  460. package/dist/mcp/tools/code-refs.js.map +1 -0
  461. package/dist/mcp/tools/code-show.d.ts +104 -0
  462. package/dist/mcp/tools/code-show.d.ts.map +1 -0
  463. package/dist/mcp/tools/code-show.js +202 -0
  464. package/dist/mcp/tools/code-show.js.map +1 -0
  465. package/dist/mcp/tools/daemon-monitors.d.ts +3 -0
  466. package/dist/mcp/tools/daemon-monitors.d.ts.map +1 -0
  467. package/dist/mcp/tools/daemon-monitors.js +12 -0
  468. package/dist/mcp/tools/daemon-monitors.js.map +1 -0
  469. package/dist/mcp/tools/daemon-repos.d.ts +3 -0
  470. package/dist/mcp/tools/daemon-repos.d.ts.map +1 -0
  471. package/dist/mcp/tools/daemon-repos.js +20 -0
  472. package/dist/mcp/tools/daemon-repos.js.map +1 -0
  473. package/dist/mcp/tools/daemon-sessions.d.ts +3 -0
  474. package/dist/mcp/tools/daemon-sessions.d.ts.map +1 -0
  475. package/dist/mcp/tools/daemon-sessions.js +12 -0
  476. package/dist/mcp/tools/daemon-sessions.js.map +1 -0
  477. package/dist/mcp/tools/daemon-status.d.ts +3 -0
  478. package/dist/mcp/tools/daemon-status.d.ts.map +1 -0
  479. package/dist/mcp/tools/daemon-status.js +10 -0
  480. package/dist/mcp/tools/daemon-status.js.map +1 -0
  481. package/dist/mcp/tools/diagnostic-models.d.ts +85 -0
  482. package/dist/mcp/tools/diagnostic-models.d.ts.map +1 -0
  483. package/dist/mcp/tools/diagnostic-models.js +5 -0
  484. package/dist/mcp/tools/diagnostic-models.js.map +1 -0
  485. package/dist/mcp/tools/doctor.d.ts +3 -0
  486. package/dist/mcp/tools/doctor.d.ts.map +1 -0
  487. package/dist/mcp/tools/doctor.js +54 -0
  488. package/dist/mcp/tools/doctor.js.map +1 -0
  489. package/dist/mcp/tools/explain.d.ts +3 -0
  490. package/dist/mcp/tools/explain.d.ts.map +1 -0
  491. package/dist/mcp/tools/explain.js +81 -0
  492. package/dist/mcp/tools/explain.js.map +1 -0
  493. package/dist/mcp/tools/file-outline.d.ts +3 -0
  494. package/dist/mcp/tools/file-outline.d.ts.map +1 -0
  495. package/dist/mcp/tools/file-outline.js +54 -0
  496. package/dist/mcp/tools/file-outline.js.map +1 -0
  497. package/dist/mcp/tools/git-files.d.ts +24 -0
  498. package/dist/mcp/tools/git-files.d.ts.map +1 -0
  499. package/dist/mcp/tools/git-files.js +57 -0
  500. package/dist/mcp/tools/git-files.js.map +1 -0
  501. package/dist/mcp/tools/graft-diff.d.ts +3 -0
  502. package/dist/mcp/tools/graft-diff.d.ts.map +1 -0
  503. package/dist/mcp/tools/graft-diff.js +33 -0
  504. package/dist/mcp/tools/graft-diff.js.map +1 -0
  505. package/dist/mcp/tools/map-collector.d.ts +85 -0
  506. package/dist/mcp/tools/map-collector.d.ts.map +1 -0
  507. package/dist/mcp/tools/map-collector.js +249 -0
  508. package/dist/mcp/tools/map-collector.js.map +1 -0
  509. package/dist/mcp/tools/map.d.ts +7 -0
  510. package/dist/mcp/tools/map.d.ts.map +1 -0
  511. package/dist/mcp/tools/map.js +154 -0
  512. package/dist/mcp/tools/map.js.map +1 -0
  513. package/dist/mcp/tools/monitor-pause.d.ts +3 -0
  514. package/dist/mcp/tools/monitor-pause.d.ts.map +1 -0
  515. package/dist/mcp/tools/monitor-pause.js +16 -0
  516. package/dist/mcp/tools/monitor-pause.js.map +1 -0
  517. package/dist/mcp/tools/monitor-resume.d.ts +3 -0
  518. package/dist/mcp/tools/monitor-resume.d.ts.map +1 -0
  519. package/dist/mcp/tools/monitor-resume.js +16 -0
  520. package/dist/mcp/tools/monitor-resume.js.map +1 -0
  521. package/dist/mcp/tools/monitor-start.d.ts +3 -0
  522. package/dist/mcp/tools/monitor-start.d.ts.map +1 -0
  523. package/dist/mcp/tools/monitor-start.js +18 -0
  524. package/dist/mcp/tools/monitor-start.js.map +1 -0
  525. package/dist/mcp/tools/monitor-stop.d.ts +3 -0
  526. package/dist/mcp/tools/monitor-stop.d.ts.map +1 -0
  527. package/dist/mcp/tools/monitor-stop.js +16 -0
  528. package/dist/mcp/tools/monitor-stop.js.map +1 -0
  529. package/dist/mcp/tools/precision-live.d.ts +20 -0
  530. package/dist/mcp/tools/precision-live.d.ts.map +1 -0
  531. package/dist/mcp/tools/precision-live.js +105 -0
  532. package/dist/mcp/tools/precision-live.js.map +1 -0
  533. package/dist/mcp/tools/precision-match.d.ts +21 -0
  534. package/dist/mcp/tools/precision-match.d.ts.map +1 -0
  535. package/dist/mcp/tools/precision-match.js +46 -0
  536. package/dist/mcp/tools/precision-match.js.map +1 -0
  537. package/dist/mcp/tools/precision-paths.d.ts +7 -0
  538. package/dist/mcp/tools/precision-paths.d.ts.map +1 -0
  539. package/dist/mcp/tools/precision-paths.js +53 -0
  540. package/dist/mcp/tools/precision-paths.js.map +1 -0
  541. package/dist/mcp/tools/precision-query.d.ts +38 -0
  542. package/dist/mcp/tools/precision-query.d.ts.map +1 -0
  543. package/dist/mcp/tools/precision-query.js +116 -0
  544. package/dist/mcp/tools/precision-query.js.map +1 -0
  545. package/dist/mcp/tools/precision-show.d.ts +15 -0
  546. package/dist/mcp/tools/precision-show.d.ts.map +1 -0
  547. package/dist/mcp/tools/precision-show.js +46 -0
  548. package/dist/mcp/tools/precision-show.js.map +1 -0
  549. package/dist/mcp/tools/precision-visibility.d.ts +10 -0
  550. package/dist/mcp/tools/precision-visibility.d.ts.map +1 -0
  551. package/dist/mcp/tools/precision-visibility.js +24 -0
  552. package/dist/mcp/tools/precision-visibility.js.map +1 -0
  553. package/dist/mcp/tools/precision-warp.d.ts +6 -0
  554. package/dist/mcp/tools/precision-warp.d.ts.map +1 -0
  555. package/dist/mcp/tools/precision-warp.js +76 -0
  556. package/dist/mcp/tools/precision-warp.js.map +1 -0
  557. package/dist/mcp/tools/precision.d.ts +7 -0
  558. package/dist/mcp/tools/precision.d.ts.map +1 -0
  559. package/dist/mcp/tools/precision.js +6 -0
  560. package/dist/mcp/tools/precision.js.map +1 -0
  561. package/dist/mcp/tools/read-range.d.ts +3 -0
  562. package/dist/mcp/tools/read-range.d.ts.map +1 -0
  563. package/dist/mcp/tools/read-range.js +26 -0
  564. package/dist/mcp/tools/read-range.js.map +1 -0
  565. package/dist/mcp/tools/run-capture.d.ts +3 -0
  566. package/dist/mcp/tools/run-capture.d.ts.map +1 -0
  567. package/dist/mcp/tools/run-capture.js +125 -0
  568. package/dist/mcp/tools/run-capture.js.map +1 -0
  569. package/dist/mcp/tools/safe-read.d.ts +3 -0
  570. package/dist/mcp/tools/safe-read.d.ts.map +1 -0
  571. package/dist/mcp/tools/safe-read.js +133 -0
  572. package/dist/mcp/tools/safe-read.js.map +1 -0
  573. package/dist/mcp/tools/since.d.ts +3 -0
  574. package/dist/mcp/tools/since.d.ts.map +1 -0
  575. package/dist/mcp/tools/since.js +46 -0
  576. package/dist/mcp/tools/since.js.map +1 -0
  577. package/dist/mcp/tools/state.d.ts +4 -0
  578. package/dist/mcp/tools/state.d.ts.map +1 -0
  579. package/dist/mcp/tools/state.js +35 -0
  580. package/dist/mcp/tools/state.js.map +1 -0
  581. package/dist/mcp/tools/stats.d.ts +3 -0
  582. package/dist/mcp/tools/stats.d.ts.map +1 -0
  583. package/dist/mcp/tools/stats.js +22 -0
  584. package/dist/mcp/tools/stats.js.map +1 -0
  585. package/dist/mcp/tools/workspace-authorizations.d.ts +3 -0
  586. package/dist/mcp/tools/workspace-authorizations.d.ts.map +1 -0
  587. package/dist/mcp/tools/workspace-authorizations.js +12 -0
  588. package/dist/mcp/tools/workspace-authorizations.js.map +1 -0
  589. package/dist/mcp/tools/workspace-authorize.d.ts +3 -0
  590. package/dist/mcp/tools/workspace-authorize.d.ts.map +1 -0
  591. package/dist/mcp/tools/workspace-authorize.js +18 -0
  592. package/dist/mcp/tools/workspace-authorize.js.map +1 -0
  593. package/dist/mcp/tools/workspace-bind.d.ts +3 -0
  594. package/dist/mcp/tools/workspace-bind.d.ts.map +1 -0
  595. package/dist/mcp/tools/workspace-bind.js +23 -0
  596. package/dist/mcp/tools/workspace-bind.js.map +1 -0
  597. package/dist/mcp/tools/workspace-rebind.d.ts +3 -0
  598. package/dist/mcp/tools/workspace-rebind.d.ts.map +1 -0
  599. package/dist/mcp/tools/workspace-rebind.js +23 -0
  600. package/dist/mcp/tools/workspace-rebind.js.map +1 -0
  601. package/dist/mcp/tools/workspace-revoke.d.ts +3 -0
  602. package/dist/mcp/tools/workspace-revoke.d.ts.map +1 -0
  603. package/dist/mcp/tools/workspace-revoke.js +16 -0
  604. package/dist/mcp/tools/workspace-revoke.js.map +1 -0
  605. package/dist/mcp/tools/workspace-status.d.ts +3 -0
  606. package/dist/mcp/tools/workspace-status.d.ts.map +1 -0
  607. package/dist/mcp/tools/workspace-status.js +10 -0
  608. package/dist/mcp/tools/workspace-status.js.map +1 -0
  609. package/dist/mcp/warp-pool.d.ts +13 -0
  610. package/dist/mcp/warp-pool.d.ts.map +1 -0
  611. package/dist/mcp/warp-pool.js +30 -0
  612. package/dist/mcp/warp-pool.js.map +1 -0
  613. package/dist/mcp/workspace-read-observation-model.d.ts +34 -0
  614. package/dist/mcp/workspace-read-observation-model.d.ts.map +1 -0
  615. package/dist/mcp/workspace-read-observation-model.js +35 -0
  616. package/dist/mcp/workspace-read-observation-model.js.map +1 -0
  617. package/dist/mcp/workspace-read-observation.d.ts +19 -0
  618. package/dist/mcp/workspace-read-observation.d.ts.map +1 -0
  619. package/dist/mcp/workspace-read-observation.js +71 -0
  620. package/dist/mcp/workspace-read-observation.js.map +1 -0
  621. package/dist/mcp/workspace-router-capability.d.ts +14 -0
  622. package/dist/mcp/workspace-router-capability.d.ts.map +1 -0
  623. package/dist/mcp/workspace-router-capability.js +22 -0
  624. package/dist/mcp/workspace-router-capability.js.map +1 -0
  625. package/dist/mcp/workspace-router-history.d.ts +65 -0
  626. package/dist/mcp/workspace-router-history.d.ts.map +1 -0
  627. package/dist/mcp/workspace-router-history.js +142 -0
  628. package/dist/mcp/workspace-router-history.js.map +1 -0
  629. package/dist/mcp/workspace-router-model.d.ts +96 -0
  630. package/dist/mcp/workspace-router-model.d.ts.map +1 -0
  631. package/dist/mcp/workspace-router-model.js +31 -0
  632. package/dist/mcp/workspace-router-model.js.map +1 -0
  633. package/dist/mcp/workspace-router-resolution.d.ts +10 -0
  634. package/dist/mcp/workspace-router-resolution.d.ts.map +1 -0
  635. package/dist/mcp/workspace-router-resolution.js +56 -0
  636. package/dist/mcp/workspace-router-resolution.js.map +1 -0
  637. package/dist/mcp/workspace-router-runtime.d.ts +79 -0
  638. package/dist/mcp/workspace-router-runtime.d.ts.map +1 -0
  639. package/dist/mcp/workspace-router-runtime.js +126 -0
  640. package/dist/mcp/workspace-router-runtime.js.map +1 -0
  641. package/dist/mcp/workspace-router.d.ts +72 -0
  642. package/dist/mcp/workspace-router.d.ts.map +1 -0
  643. package/dist/mcp/workspace-router.js +494 -0
  644. package/dist/mcp/workspace-router.js.map +1 -0
  645. package/dist/metrics/logger.d.ts +14 -0
  646. package/dist/metrics/logger.d.ts.map +1 -0
  647. package/dist/metrics/logger.js +30 -0
  648. package/dist/metrics/logger.js.map +1 -0
  649. package/dist/metrics/types.d.ts +25 -0
  650. package/dist/metrics/types.d.ts.map +1 -0
  651. package/dist/metrics/types.js +28 -0
  652. package/dist/metrics/types.js.map +1 -0
  653. package/dist/operations/cached-file.d.ts +24 -0
  654. package/dist/operations/cached-file.d.ts.map +1 -0
  655. package/dist/operations/cached-file.js +37 -0
  656. package/dist/operations/cached-file.js.map +1 -0
  657. package/dist/operations/diff-identity.d.ts +32 -0
  658. package/dist/operations/diff-identity.d.ts.map +1 -0
  659. package/dist/operations/diff-identity.js +93 -0
  660. package/dist/operations/diff-identity.js.map +1 -0
  661. package/dist/operations/file-outline.d.ts +15 -0
  662. package/dist/operations/file-outline.d.ts.map +1 -0
  663. package/dist/operations/file-outline.js +32 -0
  664. package/dist/operations/file-outline.js.map +1 -0
  665. package/dist/operations/graft-diff.d.ts +43 -0
  666. package/dist/operations/graft-diff.d.ts.map +1 -0
  667. package/dist/operations/graft-diff.js +115 -0
  668. package/dist/operations/graft-diff.js.map +1 -0
  669. package/dist/operations/observation-cache.d.ts +64 -0
  670. package/dist/operations/observation-cache.d.ts.map +1 -0
  671. package/dist/operations/observation-cache.js +104 -0
  672. package/dist/operations/observation-cache.js.map +1 -0
  673. package/dist/operations/read-range.d.ts +14 -0
  674. package/dist/operations/read-range.d.ts.map +1 -0
  675. package/dist/operations/read-range.js +41 -0
  676. package/dist/operations/read-range.js.map +1 -0
  677. package/dist/operations/repo-workspace.d.ts +114 -0
  678. package/dist/operations/repo-workspace.d.ts.map +1 -0
  679. package/dist/operations/repo-workspace.js +228 -0
  680. package/dist/operations/repo-workspace.js.map +1 -0
  681. package/dist/operations/result-dto.d.ts +10 -0
  682. package/dist/operations/result-dto.d.ts.map +1 -0
  683. package/dist/operations/result-dto.js +21 -0
  684. package/dist/operations/result-dto.js.map +1 -0
  685. package/dist/operations/safe-read.d.ts +35 -0
  686. package/dist/operations/safe-read.d.ts.map +1 -0
  687. package/dist/operations/safe-read.js +75 -0
  688. package/dist/operations/safe-read.js.map +1 -0
  689. package/dist/operations/state.d.ts +25 -0
  690. package/dist/operations/state.d.ts.map +1 -0
  691. package/dist/operations/state.js +47 -0
  692. package/dist/operations/state.js.map +1 -0
  693. package/dist/operations/structured-buffer-compare.d.ts +5 -0
  694. package/dist/operations/structured-buffer-compare.d.ts.map +1 -0
  695. package/dist/operations/structured-buffer-compare.js +392 -0
  696. package/dist/operations/structured-buffer-compare.js.map +1 -0
  697. package/dist/operations/structured-buffer-model.d.ts +232 -0
  698. package/dist/operations/structured-buffer-model.d.ts.map +1 -0
  699. package/dist/operations/structured-buffer-model.js +175 -0
  700. package/dist/operations/structured-buffer-model.js.map +1 -0
  701. package/dist/operations/structured-buffer-query.d.ts +24 -0
  702. package/dist/operations/structured-buffer-query.d.ts.map +1 -0
  703. package/dist/operations/structured-buffer-query.js +690 -0
  704. package/dist/operations/structured-buffer-query.js.map +1 -0
  705. package/dist/operations/structured-buffer.d.ts +43 -0
  706. package/dist/operations/structured-buffer.d.ts.map +1 -0
  707. package/dist/operations/structured-buffer.js +96 -0
  708. package/dist/operations/structured-buffer.js.map +1 -0
  709. package/dist/parser/diff.d.ts +63 -0
  710. package/dist/parser/diff.d.ts.map +1 -0
  711. package/dist/parser/diff.js +259 -0
  712. package/dist/parser/diff.js.map +1 -0
  713. package/dist/parser/lang.d.ts +17 -0
  714. package/dist/parser/lang.d.ts.map +1 -0
  715. package/dist/parser/lang.js +51 -0
  716. package/dist/parser/lang.js.map +1 -0
  717. package/dist/parser/markdown.d.ts +3 -0
  718. package/dist/parser/markdown.d.ts.map +1 -0
  719. package/dist/parser/markdown.js +168 -0
  720. package/dist/parser/markdown.js.map +1 -0
  721. package/dist/parser/outline.d.ts +12 -0
  722. package/dist/parser/outline.d.ts.map +1 -0
  723. package/dist/parser/outline.js +251 -0
  724. package/dist/parser/outline.js.map +1 -0
  725. package/dist/parser/runtime.d.ts +13 -0
  726. package/dist/parser/runtime.d.ts.map +1 -0
  727. package/dist/parser/runtime.js +43 -0
  728. package/dist/parser/runtime.js.map +1 -0
  729. package/dist/parser/types.d.ts +41 -0
  730. package/dist/parser/types.d.ts.map +1 -0
  731. package/dist/parser/types.js +46 -0
  732. package/dist/parser/types.js.map +1 -0
  733. package/dist/policy/evaluate.d.ts +8 -0
  734. package/dist/policy/evaluate.d.ts.map +1 -0
  735. package/dist/policy/evaluate.js +153 -0
  736. package/dist/policy/evaluate.js.map +1 -0
  737. package/dist/policy/graftignore.d.ts +2 -0
  738. package/dist/policy/graftignore.d.ts.map +1 -0
  739. package/dist/policy/graftignore.js +7 -0
  740. package/dist/policy/graftignore.js.map +1 -0
  741. package/dist/policy/types.d.ts +104 -0
  742. package/dist/policy/types.d.ts.map +1 -0
  743. package/dist/policy/types.js +49 -0
  744. package/dist/policy/types.js.map +1 -0
  745. package/dist/ports/codec.d.ts +10 -0
  746. package/dist/ports/codec.d.ts.map +1 -0
  747. package/dist/ports/codec.js +5 -0
  748. package/dist/ports/codec.js.map +1 -0
  749. package/dist/ports/filesystem.d.ts +19 -0
  750. package/dist/ports/filesystem.d.ts.map +1 -0
  751. package/dist/ports/filesystem.js +5 -0
  752. package/dist/ports/filesystem.js.map +1 -0
  753. package/dist/ports/git.d.ts +11 -0
  754. package/dist/ports/git.d.ts.map +1 -0
  755. package/dist/ports/git.js +5 -0
  756. package/dist/ports/git.js.map +1 -0
  757. package/dist/ports/guards.d.ts +15 -0
  758. package/dist/ports/guards.d.ts.map +1 -0
  759. package/dist/ports/guards.js +43 -0
  760. package/dist/ports/guards.js.map +1 -0
  761. package/dist/ports/process-runner.d.ts +17 -0
  762. package/dist/ports/process-runner.d.ts.map +1 -0
  763. package/dist/ports/process-runner.js +5 -0
  764. package/dist/ports/process-runner.js.map +1 -0
  765. package/dist/ports/warp.d.ts +45 -0
  766. package/dist/ports/warp.d.ts.map +1 -0
  767. package/dist/ports/warp.js +5 -0
  768. package/dist/ports/warp.js.map +1 -0
  769. package/dist/release/security-gate.d.ts +24 -0
  770. package/dist/release/security-gate.d.ts.map +1 -0
  771. package/dist/release/security-gate.js +69 -0
  772. package/dist/release/security-gate.js.map +1 -0
  773. package/dist/session/tracker.d.ts +36 -0
  774. package/dist/session/tracker.d.ts.map +1 -0
  775. package/dist/session/tracker.js +113 -0
  776. package/dist/session/tracker.js.map +1 -0
  777. package/dist/session/types.d.ts +14 -0
  778. package/dist/session/types.d.ts.map +1 -0
  779. package/dist/session/types.js +18 -0
  780. package/dist/session/types.js.map +1 -0
  781. package/dist/version.d.ts +2 -0
  782. package/dist/version.d.ts.map +1 -0
  783. package/dist/version.js +3 -0
  784. package/dist/version.js.map +1 -0
  785. package/dist/warp/identity-resolver.d.ts +14 -0
  786. package/dist/warp/identity-resolver.d.ts.map +1 -0
  787. package/dist/warp/identity-resolver.js +31 -0
  788. package/dist/warp/identity-resolver.js.map +1 -0
  789. package/dist/warp/indexer-git.d.ts +22 -0
  790. package/dist/warp/indexer-git.d.ts.map +1 -0
  791. package/dist/warp/indexer-git.js +148 -0
  792. package/dist/warp/indexer-git.js.map +1 -0
  793. package/dist/warp/indexer-graph.d.ts +17 -0
  794. package/dist/warp/indexer-graph.d.ts.map +1 -0
  795. package/dist/warp/indexer-graph.js +179 -0
  796. package/dist/warp/indexer-graph.js.map +1 -0
  797. package/dist/warp/indexer-model.d.ts +51 -0
  798. package/dist/warp/indexer-model.d.ts.map +1 -0
  799. package/dist/warp/indexer-model.js +21 -0
  800. package/dist/warp/indexer-model.js.map +1 -0
  801. package/dist/warp/indexer.d.ts +9 -0
  802. package/dist/warp/indexer.d.ts.map +1 -0
  803. package/dist/warp/indexer.js +112 -0
  804. package/dist/warp/indexer.js.map +1 -0
  805. package/dist/warp/observers.d.ts +54 -0
  806. package/dist/warp/observers.d.ts.map +1 -0
  807. package/dist/warp/observers.js +88 -0
  808. package/dist/warp/observers.js.map +1 -0
  809. package/dist/warp/open.d.ts +15 -0
  810. package/dist/warp/open.d.ts.map +1 -0
  811. package/dist/warp/open.js +67 -0
  812. package/dist/warp/open.js.map +1 -0
  813. package/dist/warp/symbol-identity.d.ts +11 -0
  814. package/dist/warp/symbol-identity.d.ts.map +1 -0
  815. package/dist/warp/symbol-identity.js +67 -0
  816. package/dist/warp/symbol-identity.js.map +1 -0
  817. package/dist/warp/writer-id.d.ts +5 -0
  818. package/dist/warp/writer-id.d.ts.map +1 -0
  819. package/dist/warp/writer-id.js +25 -0
  820. package/dist/warp/writer-id.js.map +1 -0
  821. package/docs/CLI.md +37 -15
  822. package/docs/MCP.md +44 -25
  823. package/package.json +19 -3
  824. package/src/adapters/repo-paths.ts +22 -0
  825. package/src/adapters/rotating-ndjson-log.ts +66 -0
  826. package/src/api/index.ts +107 -0
  827. package/src/api/repo-local-graft.ts +21 -0
  828. package/src/api/repo-workspace.ts +34 -0
  829. package/src/api/tool-bridge.ts +21 -0
  830. package/src/cli/activity-render.ts +112 -0
  831. package/src/cli/cli-error.ts +153 -0
  832. package/src/cli/command-parser.ts +302 -0
  833. package/src/cli/entrypoint.ts +18 -0
  834. package/src/cli/index-cmd.ts +31 -23
  835. package/src/cli/index-model.ts +76 -0
  836. package/src/cli/init-bootstrap.ts +47 -0
  837. package/src/cli/init-client-config.ts +299 -0
  838. package/src/cli/init-model.ts +229 -0
  839. package/src/cli/init-render.ts +54 -0
  840. package/src/cli/init-target-hooks.ts +93 -0
  841. package/src/cli/init.ts +16 -757
  842. package/src/cli/json-document.ts +144 -0
  843. package/src/cli/local-history-dag-model.ts +437 -0
  844. package/src/cli/local-history-dag-render.ts +133 -0
  845. package/src/cli/local-history-dag.ts +103 -0
  846. package/src/cli/main.ts +46 -333
  847. package/src/cli/migrate-local-history.ts +118 -0
  848. package/src/cli/peer-command.ts +59 -0
  849. package/src/contracts/capabilities.ts +218 -109
  850. package/src/contracts/causal-ontology.ts +5 -0
  851. package/src/contracts/json-object.ts +28 -0
  852. package/src/contracts/mcp-runtime.ts +16 -0
  853. package/src/contracts/output-schema-cli.ts +70 -0
  854. package/src/contracts/output-schema-fragments.ts +831 -0
  855. package/src/contracts/output-schema-mcp.ts +282 -0
  856. package/src/contracts/output-schema-meta.ts +119 -0
  857. package/src/contracts/output-schemas.ts +62 -1
  858. package/src/index.ts +1 -0
  859. package/src/mcp/cache.ts +7 -145
  860. package/src/mcp/cached-file.ts +1 -40
  861. package/src/mcp/context.ts +83 -13
  862. package/src/mcp/control-plane/authz-storage.ts +129 -0
  863. package/src/mcp/control-plane/session-registry.ts +115 -0
  864. package/src/mcp/control-plane/status-projection.ts +76 -0
  865. package/src/mcp/control-plane/types.ts +144 -0
  866. package/src/mcp/daemon-bootstrap.ts +100 -0
  867. package/src/mcp/daemon-control-plane.ts +93 -337
  868. package/src/mcp/daemon-repos.ts +27 -144
  869. package/src/mcp/daemon-server.ts +31 -262
  870. package/src/mcp/daemon-session-host.ts +230 -0
  871. package/src/mcp/daemon-stdio-bridge.ts +260 -0
  872. package/src/mcp/daemon-worker-child-pool.ts +213 -0
  873. package/src/mcp/daemon-worker-inline-pool.ts +46 -0
  874. package/src/mcp/daemon-worker-pool.ts +7 -310
  875. package/src/mcp/daemon-worker-types.ts +66 -0
  876. package/src/mcp/metrics.ts +68 -52
  877. package/src/mcp/monitor-health.ts +83 -0
  878. package/src/mcp/monitor-persistence.ts +54 -0
  879. package/src/mcp/monitor-tick-job.ts +3 -0
  880. package/src/mcp/monitor-types.ts +103 -0
  881. package/src/mcp/persisted-local-history-graph.ts +591 -0
  882. package/src/mcp/persisted-local-history-policy.ts +501 -0
  883. package/src/mcp/persisted-local-history-views.ts +250 -0
  884. package/src/mcp/persisted-local-history.ts +1137 -762
  885. package/src/mcp/persistent-monitor-runtime.ts +71 -175
  886. package/src/mcp/policy.ts +11 -20
  887. package/src/mcp/receipt.ts +67 -19
  888. package/src/mcp/repo-concurrency.ts +81 -7
  889. package/src/mcp/repo-overview/filter.ts +44 -0
  890. package/src/mcp/repo-overview/types.ts +63 -0
  891. package/src/mcp/repo-overview/view-projection.ts +90 -0
  892. package/src/mcp/repo-state-git.ts +247 -0
  893. package/src/mcp/repo-state-observation.ts +203 -0
  894. package/src/mcp/repo-state-transition.ts +151 -0
  895. package/src/mcp/repo-state-types.ts +107 -0
  896. package/src/mcp/repo-state.ts +90 -721
  897. package/src/mcp/repo-tool-job.ts +16 -216
  898. package/src/mcp/repo-tool-worker-context.ts +212 -0
  899. package/src/mcp/repo-workspace.ts +21 -0
  900. package/src/mcp/runtime-observability.ts +41 -43
  901. package/src/mcp/secret-scrub.ts +89 -0
  902. package/src/mcp/server-context.ts +223 -0
  903. package/src/mcp/server-invocation.ts +388 -0
  904. package/src/mcp/server-tool-access.ts +145 -0
  905. package/src/mcp/server.ts +46 -606
  906. package/src/mcp/stdio-server.ts +16 -2
  907. package/src/mcp/tool-registry.ts +80 -0
  908. package/src/mcp/tools/activity-view.ts +3 -3
  909. package/src/mcp/tools/budget.ts +10 -7
  910. package/src/mcp/tools/causal-attach.ts +3 -3
  911. package/src/mcp/tools/causal-status.ts +3 -3
  912. package/src/mcp/tools/changed-since.ts +4 -3
  913. package/src/mcp/tools/code-find.ts +7 -2
  914. package/src/mcp/tools/code-refs.ts +7 -3
  915. package/src/mcp/tools/code-show.ts +12 -2
  916. package/src/mcp/tools/daemon-monitors.ts +3 -3
  917. package/src/mcp/tools/daemon-repos.ts +3 -3
  918. package/src/mcp/tools/daemon-sessions.ts +3 -3
  919. package/src/mcp/tools/daemon-status.ts +3 -3
  920. package/src/mcp/tools/diagnostic-models.ts +95 -0
  921. package/src/mcp/tools/doctor.ts +10 -7
  922. package/src/mcp/tools/explain.ts +3 -3
  923. package/src/mcp/tools/file-outline.ts +10 -4
  924. package/src/mcp/tools/graft-diff.ts +6 -3
  925. package/src/mcp/tools/map-collector.ts +338 -0
  926. package/src/mcp/tools/map.ts +52 -3
  927. package/src/mcp/tools/monitor-pause.ts +3 -3
  928. package/src/mcp/tools/monitor-resume.ts +3 -3
  929. package/src/mcp/tools/monitor-start.ts +3 -3
  930. package/src/mcp/tools/monitor-stop.ts +3 -3
  931. package/src/mcp/tools/precision-live.ts +158 -0
  932. package/src/mcp/tools/precision-match.ts +3 -0
  933. package/src/mcp/tools/precision-paths.ts +59 -0
  934. package/src/mcp/tools/precision-show.ts +86 -0
  935. package/src/mcp/tools/precision-visibility.ts +44 -0
  936. package/src/mcp/tools/precision-warp.ts +90 -0
  937. package/src/mcp/tools/precision.ts +19 -310
  938. package/src/mcp/tools/read-range.ts +12 -5
  939. package/src/mcp/tools/run-capture.ts +2 -2
  940. package/src/mcp/tools/safe-read.ts +21 -10
  941. package/src/mcp/tools/since.ts +7 -3
  942. package/src/mcp/tools/state.ts +8 -7
  943. package/src/mcp/tools/stats.ts +3 -3
  944. package/src/mcp/tools/workspace-authorizations.ts +3 -3
  945. package/src/mcp/tools/workspace-authorize.ts +3 -3
  946. package/src/mcp/tools/workspace-bind.ts +3 -3
  947. package/src/mcp/tools/workspace-rebind.ts +3 -3
  948. package/src/mcp/tools/workspace-revoke.ts +3 -3
  949. package/src/mcp/tools/workspace-status.ts +3 -3
  950. package/src/mcp/warp-pool.ts +6 -6
  951. package/src/mcp/workspace-read-observation-model.ts +48 -0
  952. package/src/mcp/workspace-read-observation.ts +103 -0
  953. package/src/mcp/workspace-router-capability.ts +32 -0
  954. package/src/mcp/workspace-router-history.ts +233 -0
  955. package/src/mcp/workspace-router-model.ts +131 -0
  956. package/src/mcp/workspace-router-resolution.ts +71 -0
  957. package/src/mcp/workspace-router-runtime.ts +243 -0
  958. package/src/mcp/workspace-router.ts +151 -454
  959. package/src/metrics/logger.ts +22 -51
  960. package/src/metrics/types.ts +32 -4
  961. package/src/operations/cached-file.ts +40 -0
  962. package/src/operations/diff-identity.ts +127 -0
  963. package/src/operations/file-outline.ts +1 -1
  964. package/src/operations/graft-diff.ts +0 -1
  965. package/src/operations/observation-cache.ts +149 -0
  966. package/src/operations/read-range.ts +0 -1
  967. package/src/operations/repo-workspace.ts +339 -0
  968. package/src/operations/result-dto.ts +23 -0
  969. package/src/operations/safe-read.ts +3 -4
  970. package/src/operations/state.ts +42 -6
  971. package/src/operations/structured-buffer-compare.ts +429 -0
  972. package/src/operations/structured-buffer-model.ts +456 -0
  973. package/src/operations/structured-buffer-query.ts +794 -0
  974. package/src/operations/structured-buffer.ts +181 -0
  975. package/src/parser/diff.ts +172 -1
  976. package/src/parser/lang.ts +58 -15
  977. package/src/parser/markdown.ts +197 -0
  978. package/src/parser/outline.ts +8 -208
  979. package/src/parser/runtime.ts +71 -0
  980. package/src/policy/evaluate.ts +2 -2
  981. package/src/policy/types.ts +9 -9
  982. package/src/ports/guards.ts +68 -0
  983. package/src/ports/warp.ts +55 -0
  984. package/src/session/tracker.ts +7 -7
  985. package/src/session/types.ts +4 -1
  986. package/src/warp/identity-resolver.ts +35 -0
  987. package/src/warp/indexer-git.ts +182 -0
  988. package/src/warp/indexer-graph.ts +276 -0
  989. package/src/warp/indexer-model.ts +69 -0
  990. package/src/warp/indexer.ts +122 -449
  991. package/src/warp/observers.ts +7 -12
  992. package/src/warp/open.ts +66 -4
  993. package/src/warp/symbol-identity.ts +100 -0
  994. package/docs/ADVANCED_GUIDE.md +0 -49
  995. package/docs/GUIDE.md +0 -677
package/docs/GUIDE.md DELETED
@@ -1,677 +0,0 @@
1
- # Graft Setup Guide
2
-
3
- ## Install
4
-
5
- ```bash
6
- npm install -g @flyingrobots/graft
7
- ```
8
-
9
- Or run without installing:
10
-
11
- ```bash
12
- npx @flyingrobots/graft
13
- ```
14
-
15
- ## Quick setup
16
-
17
- ```bash
18
- npx @flyingrobots/graft init
19
- ```
20
-
21
- Scaffolds your project for graft in one command:
22
- - Creates `.graftignore` (template with examples)
23
- - Adds `.graft/` to `.gitignore`
24
- - Generates a `CLAUDE.md` snippet instructing agents to prefer graft tools
25
- - Prints Claude Code hook and MCP config for manual setup
26
-
27
- If you use `--write-codex-mcp`, `init` also seeds `AGENTS.md` so Codex
28
- has a repo-local instruction layer alongside the MCP config.
29
-
30
- Idempotent — safe to run again without duplicating entries.
31
-
32
- ## Choose Your Setup Path
33
-
34
- Use this table when you want the shortest path instead of reading the
35
- whole setup guide front-to-back.
36
-
37
- | If you want... | Use this path | What happens |
38
- |---|---|---|
39
- | Claude Code MCP only in this repo | `npx @flyingrobots/graft init --write-claude-mcp` | Writes or merges `.mcp.json` |
40
- | Claude Code MCP plus hook enforcement in this repo | `npx @flyingrobots/graft init --write-claude-mcp --write-claude-hooks` | Writes or merges `.mcp.json` and `.claude/settings.json` |
41
- | Cursor MCP in this repo | `npx @flyingrobots/graft init --write-cursor-mcp` | Writes or merges `.cursor/mcp.json` |
42
- | Windsurf MCP in this repo | `npx @flyingrobots/graft init --write-windsurf-mcp` | Writes or merges `.codeium/windsurf/mcp_config.json` |
43
- | Continue MCP in this repo | `npx @flyingrobots/graft init --write-continue-mcp` | Writes or merges `.continue/config.json` |
44
- | Cline MCP in this repo | `npx @flyingrobots/graft init --write-cline-mcp` | Writes or merges `.vscode/cline_mcp_settings.json` |
45
- | Codex MCP in this repo | `npx @flyingrobots/graft init --write-codex-mcp` | Writes or merges `.codex/config.toml` and seeds `AGENTS.md` |
46
- | Manual review before any config file write | `npx @flyingrobots/graft init` | Scaffolds repo files and prints the manual MCP / hook snippets |
47
- | Global config instead of project-local config | Edit your client's global MCP settings manually | Use the `npx @flyingrobots/graft serve` command + args shown below |
48
- | Another MCP-compatible client | Add graft manually to that client's MCP config | Use `command = npx`, `args = ["-y", "@flyingrobots/graft", "serve"]` |
49
-
50
- ## Governed Read Posture By Client
51
-
52
- MCP availability is not the same thing as a governed default read path.
53
- Use this table to see what each client actually gets today.
54
-
55
- | Client path | MCP bootstrap | Repo-local instruction layer | Native read guardrail | Current posture |
56
- |---|---|---|---|---|
57
- | Claude Code with hooks | `--write-claude-mcp --write-claude-hooks` | `CLAUDE.md` | Yes, via `PreToolUse` / `PostToolUse` | Closest current default-governed path |
58
- | Codex | `--write-codex-mcp` | `AGENTS.md` | No | Strong bootstrap guidance plus MCP, but no native-read interception |
59
- | Cursor / Windsurf / Continue / Cline | `--write-*-mcp` | None written automatically today | No | MCP available, but governed reads still depend on agent choice |
60
- | Other MCP-compatible clients | Manual MCP config | None written automatically today | No | MCP only |
61
-
62
- ## Deployment Posture
63
-
64
- Graft's supported deployment posture today is local-user with two
65
- distinct runtime paths:
66
-
67
- - repo-local `serve`: one stdio MCP server per repo checkout plus
68
- repo-local bootstrap files such as `CLAUDE.md` or `AGENTS.md`
69
- - `graft daemon`: a separate same-user local runtime on a Unix socket or
70
- Windows named pipe, with `/mcp` for MCP traffic and `/healthz` for
71
- liveness
72
-
73
- The daemon is intentionally not the default editor bootstrap story yet.
74
- It uses a stricter contract:
75
-
76
- - daemon sessions start unbound
77
- - workspace binding requires prior authorization through the daemon
78
- control plane
79
- - canonical repo identity, live worktree identity, and session-local
80
- state remain separate
81
- - `run_capture` stays default-denied unless an authorized workspace
82
- explicitly enables it
83
-
84
- Daemon control-plane inspection now exists through MCP tools:
85
-
86
- - `daemon_status`
87
- - `daemon_repos`
88
- - `daemon_sessions`
89
- - `daemon_monitors`
90
- - `monitor_start`
91
- - `monitor_pause`
92
- - `monitor_resume`
93
- - `monitor_stop`
94
- - `workspace_authorizations`
95
- - `workspace_authorize`
96
- - `workspace_revoke`
97
-
98
- ### One-step bootstrap
99
-
100
- Write project-local client config directly when you want `init` to do
101
- the wiring for you:
102
-
103
- ```bash
104
- npx @flyingrobots/graft init --write-claude-mcp --write-claude-hooks
105
- npx @flyingrobots/graft init --write-cursor-mcp
106
- npx @flyingrobots/graft init --write-windsurf-mcp
107
- npx @flyingrobots/graft init --write-continue-mcp
108
- npx @flyingrobots/graft init --write-cline-mcp
109
- npx @flyingrobots/graft init --write-codex-mcp
110
- ```
111
-
112
- Supported write flags:
113
-
114
- - `--write-claude-mcp` -> writes or merges `.mcp.json`
115
- - `--write-claude-hooks` -> writes or merges `.claude/settings.json`
116
- - `--write-cursor-mcp` -> writes or merges `.cursor/mcp.json`
117
- - `--write-windsurf-mcp` -> writes or merges `.codeium/windsurf/mcp_config.json`
118
- - `--write-continue-mcp` -> writes or merges `.continue/config.json`
119
- - `--write-cline-mcp` -> writes or merges `.vscode/cline_mcp_settings.json`
120
- - `--write-codex-mcp` -> writes or merges `.codex/config.toml` and
121
- seeds `AGENTS.md`
122
-
123
- These writes are project-local and idempotent. Existing config is
124
- preserved, and graft entries are only added when missing.
125
-
126
- For automation, CLI commands support `--json`:
127
-
128
- ```bash
129
- npx @flyingrobots/graft init --json
130
- npx @flyingrobots/graft index --json
131
- npx @flyingrobots/graft read safe src/app.ts --json
132
- npx @flyingrobots/graft struct diff --json
133
- npx @flyingrobots/graft symbol find 'create*' --json
134
- npx @flyingrobots/graft diag activity --json
135
- npx @flyingrobots/graft diag doctor --json
136
- ```
137
-
138
- Grouped CLI namespaces:
139
-
140
- - `read` — `safe`, `outline`, `range`, `changed`
141
- - `struct` — `diff`, `since`, `map`
142
- - `symbol` — `show`, `find`
143
- - `diag` — `activity`, `doctor`, `explain`, `stats`, `capture`
144
-
145
- ## MCP Configuration
146
-
147
- Graft runs as an MCP server over stdio. Add it to your editor or
148
- agent's MCP configuration.
149
-
150
- ### Claude Code
151
-
152
- Add to `.mcp.json` in your project root (per-project) or
153
- `~/.claude.json` (global):
154
-
155
- ```json
156
- {
157
- "mcpServers": {
158
- "graft": {
159
- "command": "npx",
160
- "args": ["-y", "@flyingrobots/graft", "serve"]
161
- }
162
- }
163
- }
164
- ```
165
-
166
- Project-local shortcut:
167
-
168
- ```bash
169
- npx @flyingrobots/graft init --write-claude-mcp
170
- ```
171
-
172
- ### Cursor
173
-
174
- Add to `.cursor/mcp.json` in your project root:
175
-
176
- ```json
177
- {
178
- "mcpServers": {
179
- "graft": {
180
- "command": "npx",
181
- "args": ["-y", "@flyingrobots/graft", "serve"]
182
- }
183
- }
184
- }
185
- ```
186
-
187
- Project-local shortcut:
188
-
189
- ```bash
190
- npx @flyingrobots/graft init --write-cursor-mcp
191
- ```
192
-
193
- ### Windsurf
194
-
195
- Add to `.codeium/windsurf/mcp_config.json` in your project root:
196
-
197
- ```json
198
- {
199
- "mcpServers": {
200
- "graft": {
201
- "command": "npx",
202
- "args": ["-y", "@flyingrobots/graft", "serve"]
203
- }
204
- }
205
- }
206
- ```
207
-
208
- Project-local shortcut:
209
-
210
- ```bash
211
- npx @flyingrobots/graft init --write-windsurf-mcp
212
- ```
213
-
214
- ### VS Code + Continue
215
-
216
- Add to `.continue/config.json`:
217
-
218
- ```json
219
- {
220
- "mcpServers": [
221
- {
222
- "name": "graft",
223
- "command": "npx",
224
- "args": ["-y", "@flyingrobots/graft", "serve"]
225
- }
226
- ]
227
- }
228
- ```
229
-
230
- Project-local shortcut:
231
-
232
- ```bash
233
- npx @flyingrobots/graft init --write-continue-mcp
234
- ```
235
-
236
- ### Cline
237
-
238
- Add via Cline's MCP settings UI, or in
239
- `.vscode/cline_mcp_settings.json`:
240
-
241
- ```json
242
- {
243
- "mcpServers": {
244
- "graft": {
245
- "command": "npx",
246
- "args": ["-y", "@flyingrobots/graft", "serve"]
247
- }
248
- }
249
- }
250
- ```
251
-
252
- Project-local shortcut:
253
-
254
- ```bash
255
- npx @flyingrobots/graft init --write-cline-mcp
256
- ```
257
-
258
- ### Codex
259
-
260
- Add to `.codex/config.toml` in your project root (per-project) or
261
- `~/.codex/config.toml` (global):
262
-
263
- ```toml
264
- [mcp_servers.graft]
265
- command = "npx"
266
- args = ["-y", "@flyingrobots/graft", "serve"]
267
- startup_timeout_sec = 120
268
- ```
269
-
270
- Project-local shortcut:
271
-
272
- ```bash
273
- npx @flyingrobots/graft init --write-codex-mcp
274
- ```
275
-
276
- That explicit write path also creates or merges `AGENTS.md` with graft
277
- read guidance so Codex sees repo-local instructions as well as the MCP
278
- server config.
279
- If you already have an older graft block in `.codex/config.toml`,
280
- rerunning that command will add the safer startup timeout without
281
- duplicating the server entry.
282
-
283
- The larger startup timeout is intentional. Cold `npx` startup can spend
284
- enough time in package acquisition and bootstrap to exceed Codex's
285
- default 30 second budget even when the graft server itself is healthy.
286
-
287
- **Note:** Codex may ask you to approve external MCP tool calls the
288
- first time it uses graft. If you trust the local server, choose
289
- "Always allow" so normal graft tool use does not require a prompt on
290
- every call.
291
-
292
- ### Any MCP-compatible client
293
-
294
- The pattern is the same everywhere:
295
-
296
- - **Command**: `npx`
297
- - **Args**: `["-y", "@flyingrobots/graft", "serve"]`
298
- - **Transport**: stdio (the default for most clients)
299
-
300
- If your client doesn't support `npx`, install globally and use:
301
-
302
- - **Command**: `graft`
303
- - **Args**: `["serve"]`
304
-
305
- ## Claude Code Hooks
306
-
307
- Two hooks work together to govern agent reads:
308
-
309
- - **PreToolUse** — blocks banned files and redirects large JS/TS reads
310
- before the native read happens
311
- - **PostToolUse** — backstop education if an oversized code read still
312
- completes
313
-
314
- ### Setup
315
-
316
- Add to `.claude/settings.json` in your project root:
317
-
318
- ```json
319
- {
320
- "hooks": {
321
- "PreToolUse": [
322
- {
323
- "matcher": "Read",
324
- "hooks": [
325
- {
326
- "type": "command",
327
- "command": "node --import tsx node_modules/@flyingrobots/graft/src/hooks/pretooluse-read.ts"
328
- }
329
- ]
330
- }
331
- ],
332
- "PostToolUse": [
333
- {
334
- "matcher": "Read",
335
- "hooks": [
336
- {
337
- "type": "command",
338
- "command": "node --import tsx node_modules/@flyingrobots/graft/src/hooks/posttooluse-read.ts"
339
- }
340
- ]
341
- }
342
- ]
343
- }
344
- }
345
- ```
346
-
347
- Project-local shortcut:
348
-
349
- ```bash
350
- npx @flyingrobots/graft init --write-claude-hooks
351
- ```
352
-
353
- If developing graft itself, replace the `node_modules/...` paths
354
- with local paths:
355
-
356
- ```
357
- src/hooks/pretooluse-read.ts (PreToolUse)
358
- src/hooks/posttooluse-read.ts (PostToolUse)
359
- ```
360
-
361
- ### PreToolUse — ban enforcement
362
-
363
- When the agent calls `Read(file_path)`, the PreToolUse hook:
364
-
365
- 1. Evaluates the file against graft's policy
366
- 2. **Banned files** (binaries, lockfiles, secrets, `.graftignore`
367
- matches): exits 2 (block) with refusal reason and next steps
368
- 3. **Large JS/TS files**: exits 2 with a redirect to `safe_read`,
369
- `file_outline`, and `read_range`
370
- 4. **Everything else**: exits 0 — lets native Read proceed
371
-
372
- This is the current "default governed" path for Claude Code: large
373
- code reads are redirected before the full file lands in context.
374
- Other file types and other clients still rely on MCP usage or future
375
- integration work.
376
-
377
- ### PostToolUse — backstop education
378
-
379
- After a Read completes, the PostToolUse hook evaluates what
380
- `safe_read` would have done for large JS/TS files and tells the agent
381
- the cost:
382
-
383
- ```
384
- [graft] This large code read bypassed graft's governed path for src/mcp/server.ts.
385
- safe_read would have returned a structural outline (2048 bytes) instead of 450 lines (18.0KB),
386
- saving 16.0KB of context. Threshold: 150 lines / 12KB.
387
- ```
388
-
389
- This feedback appears only if an oversized JS/TS read still completes.
390
- With a working PreToolUse hook, that should be a backstop signal rather
391
- than the normal path. Small files, non-JS/TS files, and nonexistent
392
- files produce no feedback. The hook always exits 0 — it never blocks.
393
-
394
- ### Limitations
395
-
396
- Both hooks run as standalone processes — they do not share state
397
- with the MCP server. This means:
398
-
399
- - No session-depth dynamic caps (early/mid/late)
400
- - No re-read suppression or cache hits
401
- - No structural diffs on changed files
402
- - No metrics tracking or receipts
403
-
404
- For the full experience, agents should use graft's MCP tools
405
- (`safe_read`, `file_outline`, `read_range`) directly. The hooks
406
- make Claude closer to a default-governed path for large code reads, but
407
- the MCP server remains the full governor and non-Claude clients still
408
- need explicit integration.
409
-
410
- ### Disabling
411
-
412
- To disable hooks locally without removing the project config,
413
- add to `.claude/settings.local.json`:
414
-
415
- ```json
416
- {
417
- "hooks": {}
418
- }
419
- ```
420
-
421
- ## Tool Reference
422
-
423
- | Tool | Description |
424
- |------|-------------|
425
- | `safe_read` | Policy-enforced file read. Returns full content for small files, structural outline with jump table for large files, or refusal with reason code for banned files. Detects re-reads and returns cached outlines or structural diffs. |
426
- | `file_outline` | Structural skeleton of a file — function signatures, class shapes, exports. Includes a jump table mapping each symbol to its line range for targeted `read_range` follow-ups. |
427
- | `read_range` | Read a bounded range of lines from a file. Maximum 250 lines. Use jump table entries from `file_outline` or `safe_read` to target specific symbols. |
428
- | `changed_since` | Check if a file changed since it was last read. Returns structural diff (added/removed/changed symbols) or "unchanged". Peek mode by default; pass `consume: true` to update the observation cache. |
429
- | `graft_diff` | Structural diff between two git refs. Shows added, removed, and changed symbols per file — not line hunks. Defaults to working tree vs HEAD. Policy-denied files are omitted from `files` and surfaced in `refused`. |
430
- | `graft_since` | Structural changes since a git ref. Shows added/removed/changed symbols per file and a summary line. Policy-denied files are omitted from `files` and surfaced in `refused`. |
431
- | `graft_map` | Structural directory map of files and symbols under a path, with explicit denied-file reporting. |
432
- | `code_show` | Focus on a symbol by name and return its source with line metadata. |
433
- | `code_find` | Search symbols across the project by approximate name or glob pattern, with optional kind/path filter. |
434
- | `code_refs` | Search import sites, callsites, property access, or literal text references with explicit text-fallback provenance, pattern, and scope. |
435
- | `activity_view` | Bounded between-commit activity for the active workspace, including commit anchor, grouped recent activity, and degraded posture. |
436
- | `doctor` | Runtime health check including layered-worldline repo state and burden summary. |
437
- | `stats` | Decision metrics for the current server session, including burden by tool kind. |
438
- | `explain` | Human-readable meaning and recommended action for a reason code. |
439
- | `run_capture` | Execute a shell command and return the last N lines of output (default 60). This tool is outside graft's bounded-read policy contract, responses include an explicit `policyBoundary` marker, log persistence can be disabled, and persisted output is redacted for obvious secrets by default. |
440
- | `state_save` | Save session working state (max 8 KB). Use for session bookmarks: current task, files modified, next planned actions. |
441
- | `state_load` | Load previously saved session state. Returns null if no state has been saved. |
442
-
443
- MCP responses include versioned `_schema` metadata and `_receipt`
444
- fields. CLI peer commands also return versioned `_schema` metadata;
445
- the declared contracts live in `src/contracts/output-schemas.ts`.
446
- | `doctor` | Runtime health check. Shows project root, parser status, active thresholds, session depth, message count, and a compact burden summary. |
447
- | `set_budget` | Declare a session byte budget. Graft tightens read thresholds as the budget drains — no single read may consume more than 5% of remaining budget. Call once at session start. |
448
- | `explain` | Explain a graft reason code. Returns human-readable meaning and recommended next action for any code (e.g., `BINARY`, `BUDGET_CAP`). Case-insensitive. |
449
- | `stats` | Decision metrics for the current session. Total reads, outlines, refusals, cache hits, bytes avoided, and returned-byte burden by tool kind. |
450
-
451
- Every MCP tool response includes:
452
- - `_receipt` — runtime decision metadata
453
- - `_schema` — versioned output contract metadata
454
-
455
- Declared output contracts live in `src/contracts/output-schemas.ts`.
456
- | `graft_since` | Structural changes since a git ref. Shows symbols added, removed, and changed per file — not line hunks. Includes per-file summary lines. Policy-denied files are omitted from `files` and surfaced in `refused`. |
457
- | `graft_map` | Structural map of a directory — all files and their symbols (function signatures, class shapes, exports) in one call. Uses tree-sitter to parse the working tree directly. Policy-denied files are omitted from `files` and surfaced in `refused`. |
458
-
459
- ## What the agent sees
460
-
461
- Once configured, the agent gains 17 MCP tools. Here's what
462
- happens when it uses them:
463
-
464
- ### Reading files
465
-
466
- The agent calls `safe_read` instead of reading files directly.
467
- Graft decides what to return:
468
-
469
- - **Small files** (< 150 lines, < 12 KB): full content, as normal.
470
- - **Large files**: a structural outline showing function signatures,
471
- class shapes, and exports — with a jump table mapping each symbol
472
- to its line range. The agent can then use `read_range` to read
473
- specific sections.
474
- - **Banned files** (binaries, lockfiles, `.env`, minified bundles,
475
- build output): refused with a reason code and suggested
476
- alternatives.
477
- - **Re-reads**: if the agent reads the same unchanged file twice,
478
- graft returns the cached outline instead of the full content.
479
- If the file changed, it returns a structural diff (added/removed/
480
- changed symbols).
481
-
482
- ### Structural memory (WARP)
483
-
484
- `graft_since` shows what changed structurally between any two git
485
- refs — symbols added, removed, and changed per file. Policy-denied
486
- files are excluded from the visible file list and reported explicitly
487
- in `refused`.
488
-
489
- `graft_map` gives a structural map of any directory — every file
490
- and its symbols (function signatures, class shapes, exports) in
491
- one call. Denied files are surfaced explicitly instead of silently
492
- disappearing.
493
-
494
- Both tools work on the current working tree. For persistent
495
- structural indexing across git history, use `graft index` from the
496
- CLI.
497
-
498
- ### Structural navigation
499
-
500
- `file_outline` returns the structural skeleton of any file —
501
- function signatures, class members, exports — without the bodies.
502
- Each symbol has a line range so the agent can follow up with
503
- `read_range` for the specific code it needs.
504
-
505
- ### Git diffs
506
-
507
- `graft_diff` shows what changed between git refs at the symbol
508
- level: "function `foo` gained a parameter" instead of line hunks.
509
- Denied files are excluded from the visible diff and reported in
510
- `refused`.
511
-
512
- ### Budget governor
513
-
514
- If the agent calls `set_budget(bytes)` at session start, graft
515
- tracks cumulative bytes consumed and tightens thresholds as the
516
- budget drains. No single read may consume more than 5% of remaining
517
- budget. When the budget is exhausted, all reads return outlines.
518
-
519
- Budget status appears in every receipt:
520
- ```json
521
- "budget": { "total": 500000, "consumed": 14345, "remaining": 485655, "fraction": 0.029 }
522
- ```
523
-
524
- ### Session awareness
525
-
526
- Graft tracks the session and tightens policy as context pressure
527
- grows:
528
-
529
- | Session stage | Max read size |
530
- |---------------|---------------|
531
- | Early (< 100 messages) | 20 KB |
532
- | Mid (100–500 messages) | 10 KB |
533
- | Late (> 500 messages) | 4 KB |
534
-
535
- Tripwires warn when sessions are going off the rails (> 500
536
- messages, edit-bash loops, runaway tool calls).
537
-
538
- ### Receipts
539
-
540
- Every response includes a `_receipt` block with session ID,
541
- trace ID, sequence number, latency, projection type, bytes
542
- returned, and cumulative counters. This is for usage analysis and
543
- correlation — you can usually ignore it.
544
-
545
- If MCP runtime observability is enabled, `traceId` and `seq` line up
546
- with `.graft/logs/mcp-runtime.ndjson`. `doctor` also reports the
547
- current runtime log path and policy.
548
-
549
- ## Configuration
550
-
551
- ### .graftignore
552
-
553
- Create a `.graftignore` file in your project root to ban
554
- additional file patterns:
555
-
556
- ```text
557
- # Generated files
558
- *.generated.ts
559
- *.snap
560
-
561
- # Vendor code
562
- vendor/**
563
-
564
- # Large data files
565
- data/**/*.json
566
- ```
567
-
568
- Patterns follow the same syntax as `.gitignore` (glob matching
569
- via picomatch).
570
-
571
- ### Policy defaults
572
-
573
- | Setting | Default | Description |
574
- |---------|---------|-------------|
575
- | Line threshold | 150 | Files over this → outline |
576
- | Byte threshold | 12 KB | Files over this → outline |
577
- | Max range | 250 lines | read_range cap |
578
- | State cap | 8 KB | state_save max size |
579
- | Capture tail | 60 lines | run_capture default |
580
-
581
- These are not yet configurable at runtime (planned for a future
582
- release).
583
-
584
- ### run_capture posture
585
-
586
- `run_capture` is a diagnostic shell escape hatch, not a bounded-read
587
- tool. For broader or more sensitive deployments:
588
-
589
- - set `GRAFT_ENABLE_RUN_CAPTURE=0` to disable execution entirely
590
- - set `GRAFT_RUN_CAPTURE_PERSIST=0` to avoid writing `.graft/logs/capture.log`
591
- - persisted capture output is redacted for obvious secret-shaped values
592
- by default
593
-
594
- In the local daemon runtime, `run_capture` stays disabled by default and
595
- requires an explicit operator-authorized capability profile rather than
596
- inheriting local repo-scoped trust.
597
-
598
- ### MCP runtime observability
599
-
600
- MCP runtime observability writes metadata-only session and tool-call
601
- events to `.graft/logs/mcp-runtime.ndjson`. The log intentionally does
602
- not include raw file content, query text, or other request payload
603
- values.
604
-
605
- - set `GRAFT_ENABLE_MCP_RUNTIME_LOG=0` to disable MCP runtime logging
606
- - set `GRAFT_MCP_RUNTIME_LOG_PATH=/abs/path/mcp-runtime.ndjson` to move
607
- the log
608
- - set `GRAFT_MCP_RUNTIME_LOG_MAX_BYTES=2097152` to change retention size
609
-
610
- ## Troubleshooting
611
-
612
- ### "Tool not found" or no graft tools visible
613
-
614
- - Verify the CLI is installed: `npx @flyingrobots/graft --help`
615
- - Verify the MCP transport starts: `npx @flyingrobots/graft serve`
616
- (should start the server; Ctrl+C to stop)
617
- - Check your MCP config syntax — JSON must be valid
618
- - Restart your editor/agent after adding MCP config
619
- - Some clients cache tool lists — try reopening the project
620
-
621
- ### Codex says `user cancelled MCP tool call`
622
-
623
- This can be a Codex approval issue rather than a graft failure.
624
- Codex may require permission for external MCP tool calls. If those
625
- prompts are denied, or cannot be shown in a non-interactive run, the
626
- tool call may appear as cancelled.
627
-
628
- - Run Codex interactively and approve graft tool calls
629
- - If you trust the server, choose "Always allow" for graft
630
- - Retry the call after granting permission
631
- - If graft still fails, run `doctor` first to separate Codex setup
632
- problems from graft runtime problems
633
-
634
- ### Agent keeps getting outlines instead of content
635
-
636
- Your files are over 150 lines or 12 KB. This is intentional.
637
- The agent should use the jump table from the outline to
638
- `read_range` the specific section it needs.
639
-
640
- ### Agent can't read a file (refused)
641
-
642
- Check the reason code in the response:
643
- - `BINARY` — binary file, use `ls -lh` or `file` for metadata
644
- - `LOCKFILE` — read `package.json` instead
645
- - `SECRET` — `.env` files are banned for safety
646
- - `BUILD_OUTPUT` — read the source file, not `dist/`
647
- - `UNSUPPORTED_LANGUAGE` — no parser-backed outline exists for this file type yet; use `read_range` or a full read when appropriate
648
- - `GRAFTIGNORE` — file matches a `.graftignore` pattern
649
-
650
- ### run_capture is disabled
651
-
652
- If `run_capture` returns `run_capture is disabled by configuration`,
653
- the server was started with shell capture turned off.
654
-
655
- - local repo-scoped sessions can re-enable it by unsetting
656
- `GRAFT_ENABLE_RUN_CAPTURE=0`
657
- - shared or harder security postures should generally leave it disabled
658
-
659
- ### graft is slow on first call
660
-
661
- Tree-sitter WASM grammars load on first parse (~200ms). Subsequent
662
- calls are fast.
663
-
664
- ## Verify it works
665
-
666
- After setup, ask your agent to read a large file in your project.
667
- Instead of dumping the entire file, it should return an outline
668
- with a jump table. That's graft working.
669
-
670
- You can also ask the agent to call `doctor` to verify:
671
-
672
- ```
673
- Use the doctor tool to check graft's health.
674
- ```
675
-
676
- This returns the project root, parser status, active thresholds,
677
- and session depth.