@descryy/mcp 0.11.5 → 0.11.6

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 (445) hide show
  1. package/dist/action-handshake.d.ts +38 -0
  2. package/dist/action-handshake.d.ts.map +1 -0
  3. package/dist/action-handshake.js +127 -0
  4. package/dist/action-handshake.js.map +1 -0
  5. package/dist/bin/descry-mcp.d.ts +7 -0
  6. package/dist/bin/descry-mcp.d.ts.map +1 -0
  7. package/dist/bin/descry-mcp.js +73 -0
  8. package/dist/bin/descry-mcp.js.map +1 -0
  9. package/dist/browser/auth.d.ts +84 -0
  10. package/dist/browser/auth.d.ts.map +1 -0
  11. package/dist/browser/auth.js +233 -0
  12. package/dist/browser/auth.js.map +1 -0
  13. package/dist/browser/capability-probe.d.ts +109 -0
  14. package/dist/browser/capability-probe.d.ts.map +1 -0
  15. package/dist/browser/capability-probe.js +201 -0
  16. package/dist/browser/capability-probe.js.map +1 -0
  17. package/dist/browser/driver.d.ts +591 -0
  18. package/dist/browser/driver.d.ts.map +1 -0
  19. package/dist/browser/driver.js +116 -0
  20. package/dist/browser/driver.js.map +1 -0
  21. package/dist/browser/evidence.d.ts +28 -0
  22. package/dist/browser/evidence.d.ts.map +1 -0
  23. package/dist/browser/evidence.js +82 -0
  24. package/dist/browser/evidence.js.map +1 -0
  25. package/dist/browser/fake-driver.d.ts +116 -0
  26. package/dist/browser/fake-driver.d.ts.map +1 -0
  27. package/dist/browser/fake-driver.js +416 -0
  28. package/dist/browser/fake-driver.js.map +1 -0
  29. package/dist/browser/fault-attribution.d.ts +178 -0
  30. package/dist/browser/fault-attribution.d.ts.map +1 -0
  31. package/dist/browser/fault-attribution.js +266 -0
  32. package/dist/browser/fault-attribution.js.map +1 -0
  33. package/dist/browser/graph-write.d.ts +45 -0
  34. package/dist/browser/graph-write.d.ts.map +1 -0
  35. package/dist/browser/graph-write.js +103 -0
  36. package/dist/browser/graph-write.js.map +1 -0
  37. package/dist/browser/identity-graph-write.d.ts +55 -0
  38. package/dist/browser/identity-graph-write.d.ts.map +1 -0
  39. package/dist/browser/identity-graph-write.js +45 -0
  40. package/dist/browser/identity-graph-write.js.map +1 -0
  41. package/dist/browser/page-probe.d.ts +81 -0
  42. package/dist/browser/page-probe.d.ts.map +1 -0
  43. package/dist/browser/page-probe.js +202 -0
  44. package/dist/browser/page-probe.js.map +1 -0
  45. package/dist/browser/playwright-driver.d.ts +115 -0
  46. package/dist/browser/playwright-driver.d.ts.map +1 -0
  47. package/dist/browser/playwright-driver.js +1545 -0
  48. package/dist/browser/playwright-driver.js.map +1 -0
  49. package/dist/browser/provider.d.ts +26 -0
  50. package/dist/browser/provider.d.ts.map +1 -0
  51. package/dist/browser/provider.js +14 -0
  52. package/dist/browser/provider.js.map +1 -0
  53. package/dist/browser/reach-recording-session.d.ts +44 -0
  54. package/dist/browser/reach-recording-session.d.ts.map +1 -0
  55. package/dist/browser/reach-recording-session.js +151 -0
  56. package/dist/browser/reach-recording-session.js.map +1 -0
  57. package/dist/browser/reachability.d.ts +168 -0
  58. package/dist/browser/reachability.d.ts.map +1 -0
  59. package/dist/browser/reachability.js +294 -0
  60. package/dist/browser/reachability.js.map +1 -0
  61. package/dist/browser/registry.d.ts +126 -0
  62. package/dist/browser/registry.d.ts.map +1 -0
  63. package/dist/browser/registry.js +177 -0
  64. package/dist/browser/registry.js.map +1 -0
  65. package/dist/browser/scenario-provenance.d.ts +23 -0
  66. package/dist/browser/scenario-provenance.d.ts.map +1 -0
  67. package/dist/browser/scenario-provenance.js +73 -0
  68. package/dist/browser/scenario-provenance.js.map +1 -0
  69. package/dist/browser/scenario-resolve.d.ts +28 -0
  70. package/dist/browser/scenario-resolve.d.ts.map +1 -0
  71. package/dist/browser/scenario-resolve.js +96 -0
  72. package/dist/browser/scenario-resolve.js.map +1 -0
  73. package/dist/browser/scenario-runner.d.ts +72 -0
  74. package/dist/browser/scenario-runner.d.ts.map +1 -0
  75. package/dist/browser/scenario-runner.js +353 -0
  76. package/dist/browser/scenario-runner.js.map +1 -0
  77. package/dist/browser/stack-parser.d.ts +19 -0
  78. package/dist/browser/stack-parser.d.ts.map +1 -0
  79. package/dist/browser/stack-parser.js +85 -0
  80. package/dist/browser/stack-parser.js.map +1 -0
  81. package/dist/browser/tool-support.d.ts +71 -0
  82. package/dist/browser/tool-support.d.ts.map +1 -0
  83. package/dist/browser/tool-support.js +216 -0
  84. package/dist/browser/tool-support.js.map +1 -0
  85. package/dist/browser/url-scheme.d.ts +14 -0
  86. package/dist/browser/url-scheme.d.ts.map +1 -0
  87. package/dist/browser/url-scheme.js +38 -0
  88. package/dist/browser/url-scheme.js.map +1 -0
  89. package/dist/browser/wait-target.d.ts +37 -0
  90. package/dist/browser/wait-target.d.ts.map +1 -0
  91. package/dist/browser/wait-target.js +54 -0
  92. package/dist/browser/wait-target.js.map +1 -0
  93. package/dist/cancellation.d.ts +20 -0
  94. package/dist/cancellation.d.ts.map +1 -0
  95. package/dist/cancellation.js +41 -0
  96. package/dist/cancellation.js.map +1 -0
  97. package/dist/capped.d.ts +39 -0
  98. package/dist/capped.d.ts.map +1 -0
  99. package/dist/capped.js +43 -0
  100. package/dist/capped.js.map +1 -0
  101. package/dist/credential-store.d.ts +22 -0
  102. package/dist/credential-store.d.ts.map +1 -0
  103. package/dist/credential-store.js +33 -0
  104. package/dist/credential-store.js.map +1 -0
  105. package/dist/disclosure-ledger.d.ts +14 -0
  106. package/dist/disclosure-ledger.d.ts.map +1 -0
  107. package/dist/disclosure-ledger.js +18 -0
  108. package/dist/disclosure-ledger.js.map +1 -0
  109. package/dist/evidence/observed-route-evidence.d.ts +25 -0
  110. package/dist/evidence/observed-route-evidence.d.ts.map +1 -0
  111. package/dist/evidence/observed-route-evidence.js +76 -0
  112. package/dist/evidence/observed-route-evidence.js.map +1 -0
  113. package/dist/heap.d.ts +61 -0
  114. package/dist/heap.d.ts.map +1 -0
  115. package/dist/heap.js +82 -0
  116. package/dist/heap.js.map +1 -0
  117. package/dist/heartbeat.d.ts +46 -0
  118. package/dist/heartbeat.d.ts.map +1 -0
  119. package/dist/heartbeat.js +66 -0
  120. package/dist/heartbeat.js.map +1 -0
  121. package/dist/index.d.ts +32 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +19 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/module-trust.d.ts +37 -0
  126. package/dist/module-trust.d.ts.map +1 -0
  127. package/dist/module-trust.js +77 -0
  128. package/dist/module-trust.js.map +1 -0
  129. package/dist/path-confinement.d.ts +31 -0
  130. package/dist/path-confinement.d.ts.map +1 -0
  131. package/dist/path-confinement.js +44 -0
  132. package/dist/path-confinement.js.map +1 -0
  133. package/dist/planner/predict-then-propose.d.ts +134 -0
  134. package/dist/planner/predict-then-propose.d.ts.map +1 -0
  135. package/dist/planner/predict-then-propose.js +138 -0
  136. package/dist/planner/predict-then-propose.js.map +1 -0
  137. package/dist/planner/propose-journey.d.ts +75 -0
  138. package/dist/planner/propose-journey.d.ts.map +1 -0
  139. package/dist/planner/propose-journey.js +96 -0
  140. package/dist/planner/propose-journey.js.map +1 -0
  141. package/dist/protocol.d.ts +57 -0
  142. package/dist/protocol.d.ts.map +1 -0
  143. package/dist/protocol.js +90 -0
  144. package/dist/protocol.js.map +1 -0
  145. package/dist/ready-checks.d.ts +12 -0
  146. package/dist/ready-checks.d.ts.map +1 -0
  147. package/dist/ready-checks.js +43 -0
  148. package/dist/ready-checks.js.map +1 -0
  149. package/dist/registry.d.ts +103 -0
  150. package/dist/registry.d.ts.map +1 -0
  151. package/dist/registry.js +327 -0
  152. package/dist/registry.js.map +1 -0
  153. package/dist/render.d.ts +623 -0
  154. package/dist/render.d.ts.map +1 -0
  155. package/dist/render.js +968 -0
  156. package/dist/render.js.map +1 -0
  157. package/dist/runtime-registry.d.ts +22 -0
  158. package/dist/runtime-registry.d.ts.map +1 -0
  159. package/dist/runtime-registry.js +142 -0
  160. package/dist/runtime-registry.js.map +1 -0
  161. package/dist/sandbox-defaults.d.ts +41 -0
  162. package/dist/sandbox-defaults.d.ts.map +1 -0
  163. package/dist/sandbox-defaults.js +14 -0
  164. package/dist/sandbox-defaults.js.map +1 -0
  165. package/dist/scenarios/browser-run-plan-projection.d.ts +161 -0
  166. package/dist/scenarios/browser-run-plan-projection.d.ts.map +1 -0
  167. package/dist/scenarios/browser-run-plan-projection.js +264 -0
  168. package/dist/scenarios/browser-run-plan-projection.js.map +1 -0
  169. package/dist/scenarios/credential-ref.d.ts +102 -0
  170. package/dist/scenarios/credential-ref.d.ts.map +1 -0
  171. package/dist/scenarios/credential-ref.js +148 -0
  172. package/dist/scenarios/credential-ref.js.map +1 -0
  173. package/dist/scenarios/index.d.ts +7 -0
  174. package/dist/scenarios/index.d.ts.map +1 -0
  175. package/dist/scenarios/index.js +7 -0
  176. package/dist/scenarios/index.js.map +1 -0
  177. package/dist/scenarios/parse.d.ts +18 -0
  178. package/dist/scenarios/parse.d.ts.map +1 -0
  179. package/dist/scenarios/parse.js +212 -0
  180. package/dist/scenarios/parse.js.map +1 -0
  181. package/dist/scenarios/scenario.d.ts +93 -0
  182. package/dist/scenarios/scenario.d.ts.map +1 -0
  183. package/dist/scenarios/scenario.js +27 -0
  184. package/dist/scenarios/scenario.js.map +1 -0
  185. package/dist/scenarios/secret-ref.d.ts +86 -0
  186. package/dist/scenarios/secret-ref.d.ts.map +1 -0
  187. package/dist/scenarios/secret-ref.js +125 -0
  188. package/dist/scenarios/secret-ref.js.map +1 -0
  189. package/dist/scenarios/storage.d.ts +21 -0
  190. package/dist/scenarios/storage.d.ts.map +1 -0
  191. package/dist/scenarios/storage.js +103 -0
  192. package/dist/scenarios/storage.js.map +1 -0
  193. package/dist/server.d.ts +61 -0
  194. package/dist/server.d.ts.map +1 -0
  195. package/dist/server.js +642 -0
  196. package/dist/server.js.map +1 -0
  197. package/dist/session.d.ts +356 -0
  198. package/dist/session.d.ts.map +1 -0
  199. package/dist/session.js +779 -0
  200. package/dist/session.js.map +1 -0
  201. package/dist/tools/alias-kit.d.ts +29 -0
  202. package/dist/tools/alias-kit.d.ts.map +1 -0
  203. package/dist/tools/alias-kit.js +21 -0
  204. package/dist/tools/alias-kit.js.map +1 -0
  205. package/dist/tools/aliases.d.ts +42 -0
  206. package/dist/tools/aliases.d.ts.map +1 -0
  207. package/dist/tools/aliases.js +52 -0
  208. package/dist/tools/aliases.js.map +1 -0
  209. package/dist/tools/analyze-workspace.d.ts +52 -0
  210. package/dist/tools/analyze-workspace.d.ts.map +1 -0
  211. package/dist/tools/analyze-workspace.js +207 -0
  212. package/dist/tools/analyze-workspace.js.map +1 -0
  213. package/dist/tools/analyze.d.ts +163 -0
  214. package/dist/tools/analyze.d.ts.map +1 -0
  215. package/dist/tools/analyze.js +724 -0
  216. package/dist/tools/analyze.js.map +1 -0
  217. package/dist/tools/browser-click.d.ts +18 -0
  218. package/dist/tools/browser-click.d.ts.map +1 -0
  219. package/dist/tools/browser-click.js +110 -0
  220. package/dist/tools/browser-click.js.map +1 -0
  221. package/dist/tools/browser-close-session.d.ts +39 -0
  222. package/dist/tools/browser-close-session.d.ts.map +1 -0
  223. package/dist/tools/browser-close-session.js +120 -0
  224. package/dist/tools/browser-close-session.js.map +1 -0
  225. package/dist/tools/browser-fill.d.ts +18 -0
  226. package/dist/tools/browser-fill.d.ts.map +1 -0
  227. package/dist/tools/browser-fill.js +117 -0
  228. package/dist/tools/browser-fill.js.map +1 -0
  229. package/dist/tools/browser-navigate.d.ts +15 -0
  230. package/dist/tools/browser-navigate.d.ts.map +1 -0
  231. package/dist/tools/browser-navigate.js +106 -0
  232. package/dist/tools/browser-navigate.js.map +1 -0
  233. package/dist/tools/browser-read.d.ts +33 -0
  234. package/dist/tools/browser-read.d.ts.map +1 -0
  235. package/dist/tools/browser-read.js +105 -0
  236. package/dist/tools/browser-read.js.map +1 -0
  237. package/dist/tools/browser-run-scenario.d.ts +28 -0
  238. package/dist/tools/browser-run-scenario.d.ts.map +1 -0
  239. package/dist/tools/browser-run-scenario.js +238 -0
  240. package/dist/tools/browser-run-scenario.js.map +1 -0
  241. package/dist/tools/browser-save-scenario.d.ts +19 -0
  242. package/dist/tools/browser-save-scenario.d.ts.map +1 -0
  243. package/dist/tools/browser-save-scenario.js +447 -0
  244. package/dist/tools/browser-save-scenario.js.map +1 -0
  245. package/dist/tools/browser-select.d.ts +20 -0
  246. package/dist/tools/browser-select.d.ts.map +1 -0
  247. package/dist/tools/browser-select.js +120 -0
  248. package/dist/tools/browser-select.js.map +1 -0
  249. package/dist/tools/browser-snapshot.d.ts +46 -0
  250. package/dist/tools/browser-snapshot.d.ts.map +1 -0
  251. package/dist/tools/browser-snapshot.js +127 -0
  252. package/dist/tools/browser-snapshot.js.map +1 -0
  253. package/dist/tools/browser-start-session.d.ts +24 -0
  254. package/dist/tools/browser-start-session.d.ts.map +1 -0
  255. package/dist/tools/browser-start-session.js +653 -0
  256. package/dist/tools/browser-start-session.js.map +1 -0
  257. package/dist/tools/browser-submit.d.ts +18 -0
  258. package/dist/tools/browser-submit.d.ts.map +1 -0
  259. package/dist/tools/browser-submit.js +106 -0
  260. package/dist/tools/browser-submit.js.map +1 -0
  261. package/dist/tools/browser-type.d.ts +18 -0
  262. package/dist/tools/browser-type.d.ts.map +1 -0
  263. package/dist/tools/browser-type.js +115 -0
  264. package/dist/tools/browser-type.js.map +1 -0
  265. package/dist/tools/browser-wait-for.d.ts +45 -0
  266. package/dist/tools/browser-wait-for.d.ts.map +1 -0
  267. package/dist/tools/browser-wait-for.js +164 -0
  268. package/dist/tools/browser-wait-for.js.map +1 -0
  269. package/dist/tools/browser.d.ts +69 -0
  270. package/dist/tools/browser.d.ts.map +1 -0
  271. package/dist/tools/browser.js +326 -0
  272. package/dist/tools/browser.js.map +1 -0
  273. package/dist/tools/chain.d.ts +41 -0
  274. package/dist/tools/chain.d.ts.map +1 -0
  275. package/dist/tools/chain.js +101 -0
  276. package/dist/tools/chain.js.map +1 -0
  277. package/dist/tools/change-scope.d.ts +25 -0
  278. package/dist/tools/change-scope.d.ts.map +1 -0
  279. package/dist/tools/change-scope.js +103 -0
  280. package/dist/tools/change-scope.js.map +1 -0
  281. package/dist/tools/code-context.d.ts +83 -0
  282. package/dist/tools/code-context.d.ts.map +1 -0
  283. package/dist/tools/code-context.js +432 -0
  284. package/dist/tools/code-context.js.map +1 -0
  285. package/dist/tools/contracts.d.ts +74 -0
  286. package/dist/tools/contracts.d.ts.map +1 -0
  287. package/dist/tools/contracts.js +214 -0
  288. package/dist/tools/contracts.js.map +1 -0
  289. package/dist/tools/cross-pr.d.ts +178 -0
  290. package/dist/tools/cross-pr.d.ts.map +1 -0
  291. package/dist/tools/cross-pr.js +362 -0
  292. package/dist/tools/cross-pr.js.map +1 -0
  293. package/dist/tools/disclosure.d.ts +75 -0
  294. package/dist/tools/disclosure.d.ts.map +1 -0
  295. package/dist/tools/disclosure.js +325 -0
  296. package/dist/tools/disclosure.js.map +1 -0
  297. package/dist/tools/draw-conclusion.d.ts +55 -0
  298. package/dist/tools/draw-conclusion.d.ts.map +1 -0
  299. package/dist/tools/draw-conclusion.js +243 -0
  300. package/dist/tools/draw-conclusion.js.map +1 -0
  301. package/dist/tools/git-context.d.ts +39 -0
  302. package/dist/tools/git-context.d.ts.map +1 -0
  303. package/dist/tools/git-context.js +374 -0
  304. package/dist/tools/git-context.js.map +1 -0
  305. package/dist/tools/git-diff.d.ts +45 -0
  306. package/dist/tools/git-diff.d.ts.map +1 -0
  307. package/dist/tools/git-diff.js +338 -0
  308. package/dist/tools/git-diff.js.map +1 -0
  309. package/dist/tools/git-history.d.ts +16 -0
  310. package/dist/tools/git-history.d.ts.map +1 -0
  311. package/dist/tools/git-history.js +106 -0
  312. package/dist/tools/git-history.js.map +1 -0
  313. package/dist/tools/history.d.ts +34 -0
  314. package/dist/tools/history.d.ts.map +1 -0
  315. package/dist/tools/history.js +121 -0
  316. package/dist/tools/history.js.map +1 -0
  317. package/dist/tools/impact.d.ts +46 -0
  318. package/dist/tools/impact.d.ts.map +1 -0
  319. package/dist/tools/impact.js +225 -0
  320. package/dist/tools/impact.js.map +1 -0
  321. package/dist/tools/index.d.ts +59 -0
  322. package/dist/tools/index.d.ts.map +1 -0
  323. package/dist/tools/index.js +70 -0
  324. package/dist/tools/index.js.map +1 -0
  325. package/dist/tools/kit.d.ts +165 -0
  326. package/dist/tools/kit.d.ts.map +1 -0
  327. package/dist/tools/kit.js +153 -0
  328. package/dist/tools/kit.js.map +1 -0
  329. package/dist/tools/link-workspace.d.ts +24 -0
  330. package/dist/tools/link-workspace.d.ts.map +1 -0
  331. package/dist/tools/link-workspace.js +131 -0
  332. package/dist/tools/link-workspace.js.map +1 -0
  333. package/dist/tools/lookup.d.ts +19 -0
  334. package/dist/tools/lookup.d.ts.map +1 -0
  335. package/dist/tools/lookup.js +63 -0
  336. package/dist/tools/lookup.js.map +1 -0
  337. package/dist/tools/mark-incident.d.ts +28 -0
  338. package/dist/tools/mark-incident.d.ts.map +1 -0
  339. package/dist/tools/mark-incident.js +171 -0
  340. package/dist/tools/mark-incident.js.map +1 -0
  341. package/dist/tools/merged-browser.d.ts +11 -0
  342. package/dist/tools/merged-browser.d.ts.map +1 -0
  343. package/dist/tools/merged-browser.js +20 -0
  344. package/dist/tools/merged-browser.js.map +1 -0
  345. package/dist/tools/merged-context.d.ts +11 -0
  346. package/dist/tools/merged-context.d.ts.map +1 -0
  347. package/dist/tools/merged-context.js +21 -0
  348. package/dist/tools/merged-context.js.map +1 -0
  349. package/dist/tools/merged-observe.d.ts +13 -0
  350. package/dist/tools/merged-observe.d.ts.map +1 -0
  351. package/dist/tools/merged-observe.js +21 -0
  352. package/dist/tools/merged-observe.js.map +1 -0
  353. package/dist/tools/merged-workspace.d.ts +14 -0
  354. package/dist/tools/merged-workspace.d.ts.map +1 -0
  355. package/dist/tools/merged-workspace.js +21 -0
  356. package/dist/tools/merged-workspace.js.map +1 -0
  357. package/dist/tools/observe-runtime.d.ts +262 -0
  358. package/dist/tools/observe-runtime.d.ts.map +1 -0
  359. package/dist/tools/observe-runtime.js +1966 -0
  360. package/dist/tools/observe-runtime.js.map +1 -0
  361. package/dist/tools/observe-tests.d.ts +57 -0
  362. package/dist/tools/observe-tests.d.ts.map +1 -0
  363. package/dist/tools/observe-tests.js +391 -0
  364. package/dist/tools/observe-tests.js.map +1 -0
  365. package/dist/tools/observe.d.ts +28 -0
  366. package/dist/tools/observe.d.ts.map +1 -0
  367. package/dist/tools/observe.js +291 -0
  368. package/dist/tools/observe.js.map +1 -0
  369. package/dist/tools/pr-analysis.d.ts +189 -0
  370. package/dist/tools/pr-analysis.d.ts.map +1 -0
  371. package/dist/tools/pr-analysis.js +365 -0
  372. package/dist/tools/pr-analysis.js.map +1 -0
  373. package/dist/tools/pre-push.d.ts +168 -0
  374. package/dist/tools/pre-push.d.ts.map +1 -0
  375. package/dist/tools/pre-push.js +416 -0
  376. package/dist/tools/pre-push.js.map +1 -0
  377. package/dist/tools/predict-reach.d.ts +57 -0
  378. package/dist/tools/predict-reach.d.ts.map +1 -0
  379. package/dist/tools/predict-reach.js +183 -0
  380. package/dist/tools/predict-reach.js.map +1 -0
  381. package/dist/tools/propagation.d.ts +37 -0
  382. package/dist/tools/propagation.d.ts.map +1 -0
  383. package/dist/tools/propagation.js +162 -0
  384. package/dist/tools/propagation.js.map +1 -0
  385. package/dist/tools/propose-journey.d.ts +16 -0
  386. package/dist/tools/propose-journey.d.ts.map +1 -0
  387. package/dist/tools/propose-journey.js +132 -0
  388. package/dist/tools/propose-journey.js.map +1 -0
  389. package/dist/tools/prove-reach.d.ts +74 -0
  390. package/dist/tools/prove-reach.d.ts.map +1 -0
  391. package/dist/tools/prove-reach.js +274 -0
  392. package/dist/tools/prove-reach.js.map +1 -0
  393. package/dist/tools/questions.d.ts +30 -0
  394. package/dist/tools/questions.d.ts.map +1 -0
  395. package/dist/tools/questions.js +230 -0
  396. package/dist/tools/questions.js.map +1 -0
  397. package/dist/tools/refusal-fetch.d.ts +35 -0
  398. package/dist/tools/refusal-fetch.d.ts.map +1 -0
  399. package/dist/tools/refusal-fetch.js +123 -0
  400. package/dist/tools/refusal-fetch.js.map +1 -0
  401. package/dist/tools/runtime-incident.d.ts +33 -0
  402. package/dist/tools/runtime-incident.d.ts.map +1 -0
  403. package/dist/tools/runtime-incident.js +67 -0
  404. package/dist/tools/runtime-incident.js.map +1 -0
  405. package/dist/tools/runtime-journey-drive.d.ts +102 -0
  406. package/dist/tools/runtime-journey-drive.d.ts.map +1 -0
  407. package/dist/tools/runtime-journey-drive.js +247 -0
  408. package/dist/tools/runtime-journey-drive.js.map +1 -0
  409. package/dist/tools/scope.d.ts +45 -0
  410. package/dist/tools/scope.d.ts.map +1 -0
  411. package/dist/tools/scope.js +217 -0
  412. package/dist/tools/scope.js.map +1 -0
  413. package/dist/tools/similar-incidents.d.ts +43 -0
  414. package/dist/tools/similar-incidents.d.ts.map +1 -0
  415. package/dist/tools/similar-incidents.js +190 -0
  416. package/dist/tools/similar-incidents.js.map +1 -0
  417. package/dist/tools/validate.d.ts +133 -0
  418. package/dist/tools/validate.d.ts.map +1 -0
  419. package/dist/tools/validate.js +488 -0
  420. package/dist/tools/validate.js.map +1 -0
  421. package/dist/tools/verb.d.ts +46 -0
  422. package/dist/tools/verb.d.ts.map +1 -0
  423. package/dist/tools/verb.js +78 -0
  424. package/dist/tools/verb.js.map +1 -0
  425. package/dist/tools/verification-status.d.ts +38 -0
  426. package/dist/tools/verification-status.d.ts.map +1 -0
  427. package/dist/tools/verification-status.js +203 -0
  428. package/dist/tools/verification-status.js.map +1 -0
  429. package/dist/tools/verify-claim.d.ts +29 -0
  430. package/dist/tools/verify-claim.d.ts.map +1 -0
  431. package/dist/tools/verify-claim.js +218 -0
  432. package/dist/tools/verify-claim.js.map +1 -0
  433. package/dist/tools/workspace.d.ts +28 -0
  434. package/dist/tools/workspace.d.ts.map +1 -0
  435. package/dist/tools/workspace.js +94 -0
  436. package/dist/tools/workspace.js.map +1 -0
  437. package/dist/transport.d.ts +32 -0
  438. package/dist/transport.d.ts.map +1 -0
  439. package/dist/transport.js +85 -0
  440. package/dist/transport.js.map +1 -0
  441. package/dist/workspace-index.d.ts +164 -0
  442. package/dist/workspace-index.d.ts.map +1 -0
  443. package/dist/workspace-index.js +381 -0
  444. package/dist/workspace-index.js.map +1 -0
  445. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draw-conclusion.js","sourceRoot":"","sources":["../../src/tools/draw-conclusion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * `git_context` — merges `get_git_diff` and `get_git_history` behind one
3
+ * `verb` (mcp-surface-consolidation.md group 2: both read/evidence, both live
4
+ * git reads of the working repository, neither touches the stored graph).
5
+ *
6
+ * Each verb's behaviour is unchanged from the tool it replaces. The two
7
+ * verbs' property sets do not overlap ("diff" never took a singular "file";
8
+ * "log" never took a "files" array), so `selectVerb` mostly guards against a
9
+ * genuinely misrouted call rather than a naming collision — but it is still
10
+ * mandatory, per verb.ts's header: a flat unioned schema cannot discriminate
11
+ * on its own once `additionalProperties: false` has to admit both verbs'
12
+ * properties.
13
+ */
14
+ import type { GitDiffFile, PathLogCommit } from "@descryy/core";
15
+ import { type ToolDefinition } from "./kit.ts";
16
+ export type GitContextVerb = "diff" | "log";
17
+ export type GitDiffEntry = GitDiffFile;
18
+ export interface GitDiffData {
19
+ readonly mode: "range" | "working-tree";
20
+ readonly base: string | null;
21
+ readonly head: string | null;
22
+ readonly workingTree?: {
23
+ readonly scope: "unstaged" | "staged" | "all";
24
+ readonly includeUntracked: boolean;
25
+ readonly untrackedTotal: number;
26
+ readonly untrackedTruncated: boolean;
27
+ };
28
+ readonly files: readonly GitDiffEntry[];
29
+ readonly filesTotal: number;
30
+ }
31
+ export type GitHistoryCommit = PathLogCommit;
32
+ export interface GitHistoryData {
33
+ readonly file: string;
34
+ readonly commits: readonly GitHistoryCommit[];
35
+ readonly totalTouching: number;
36
+ }
37
+ export type GitContextData = GitDiffData | GitHistoryData;
38
+ export declare const gitContextTool: ToolDefinition;
39
+ //# sourceMappingURL=git-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-context.d.ts","sourceRoot":"","sources":["../../src/tools/git-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EASL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAMlB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;AAQ5C,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;QAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;QACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,cAAc,CAAC;AA2V1D,eAAO,MAAM,cAAc,EAAE,cAW5B,CAAC"}
@@ -0,0 +1,374 @@
1
+ /**
2
+ * `git_context` — merges `get_git_diff` and `get_git_history` behind one
3
+ * `verb` (mcp-surface-consolidation.md group 2: both read/evidence, both live
4
+ * git reads of the working repository, neither touches the stored graph).
5
+ *
6
+ * Each verb's behaviour is unchanged from the tool it replaces. The two
7
+ * verbs' property sets do not overlap ("diff" never took a singular "file";
8
+ * "log" never took a "files" array), so `selectVerb` mostly guards against a
9
+ * genuinely misrouted call rather than a naming collision — but it is still
10
+ * mandatory, per verb.ts's header: a flat unioned schema cannot discriminate
11
+ * on its own once `additionalProperties: false` has to admit both verbs'
12
+ * properties.
13
+ */
14
+ import { applyReplySizeBudget, changedFiles, gitDiff, gitWorkingTreeChange, logForPath, TOTAL_PATCH_BUDGET_REASON_PREFIX, } from "@descryy/core";
15
+ import { answer, descryOwnState, optionalInteger, optionalString, optionalStringArray, requiredString, ToolInputError, } from "./kit.js";
16
+ import { capBySize, sizeCapNote } from "../capped.js";
17
+ import { selectVerb } from "./verb.js";
18
+ // --- get_git_diff's own shapes, unchanged -----------------------------------
19
+ const DIFF_DEFAULT_LIMIT = 200;
20
+ const REPLY_BUDGET_REASON_PREFIX = "the reply's overall size ceiling";
21
+ function fileBytes(file) {
22
+ return Buffer.byteLength(JSON.stringify(file), "utf8") + 1;
23
+ }
24
+ function fitDiff(identity, shown, filesTotal, budgetBytes) {
25
+ const scaffold = Buffer.byteLength(JSON.stringify({ ...identity, files: [], filesTotal }), "utf8");
26
+ const fitted = applyReplySizeBudget(shown, {
27
+ maxTotalBytes: budgetBytes,
28
+ overheadBytes: scaffold,
29
+ sizeOf: fileBytes,
30
+ hasPayload: (f) => f.patch !== null,
31
+ withhold: (f) => ({
32
+ ...f,
33
+ patch: null,
34
+ patchOmittedReason: `${REPLY_BUDGET_REASON_PREFIX} left no room for it`,
35
+ }),
36
+ });
37
+ const notes = [];
38
+ if (fitted.withheldCount > 0) {
39
+ notes.push(`${fitted.withheldCount} of the listed file(s) had their patch text withheld to keep this ` +
40
+ "reply inside its overall size ceiling, not by either patch budget — their stats above are " +
41
+ 'complete. Re-request them with a narrowed "files" to read their patches.');
42
+ }
43
+ if (fitted.droppedCount > 0) {
44
+ notes.push(`${fitted.droppedCount} further changed file(s) are absent from this reply entirely — the ` +
45
+ "per-file rows for every changed file do not fit inside the reply's size ceiling on their " +
46
+ 'own. This is a limit of one reply, not a finding about those files: re-request them with ' +
47
+ '"files" to see them.');
48
+ }
49
+ return {
50
+ data: { ...identity, files: fitted.items, filesTotal },
51
+ notes,
52
+ ...(fitted.droppedCount > 0
53
+ ? {
54
+ truncatedDetail: {
55
+ shown: fitted.items.length,
56
+ total: filesTotal,
57
+ more: null,
58
+ },
59
+ }
60
+ : {}),
61
+ };
62
+ }
63
+ // --- get_git_history's own shapes, unchanged --------------------------------
64
+ const LOG_DEFAULT_MAX_COMMITS = 20;
65
+ /**
66
+ * `commits` scales with `maxCommits` (caller-controlled, no upper bound) and
67
+ * with how long each commit's own subject/body is, so even a file with a
68
+ * handful of commits carrying long bodies can overflow. Rows are
69
+ * self-contained, so shrinking means dropping trailing (older) commits.
70
+ */
71
+ function fitLog(rest, shownCommits, budgetBytes) {
72
+ const scaffoldBytes = Buffer.byteLength(JSON.stringify({ ...rest, commits: [] }), "utf8");
73
+ const fit = capBySize(shownCommits, budgetBytes, scaffoldBytes);
74
+ const notes = fit.droppedForSize === 0 ? [] : [sizeCapNote("commit", fit.shown.length, shownCommits.length, fit.droppedForSize)];
75
+ return {
76
+ data: { ...rest, commits: fit.shown },
77
+ notes,
78
+ ...(fit.droppedForSize === 0
79
+ ? {}
80
+ : { truncatedDetail: { shown: fit.shown.length, total: rest.totalTouching, more: null } }),
81
+ };
82
+ }
83
+ // --- per-verb argument ownership, for selectVerb ----------------------------
84
+ const VERB_SPECS = [
85
+ {
86
+ verb: "diff",
87
+ accepts: ["base", "workingTree", "includeUntracked", "head", "files", "maxPatchBytes", "maxTotalPatchBytes", "limit"],
88
+ },
89
+ { verb: "log", accepts: ["file", "maxCommits"] },
90
+ ];
91
+ const SCHEMA = {
92
+ type: "object",
93
+ properties: {
94
+ verb: {
95
+ type: "string",
96
+ enum: ["diff", "log"],
97
+ description: "diff: changes + patch text between refs or uncommitted state. log: commit history for one file.",
98
+ },
99
+ base: {
100
+ type: "string",
101
+ description: "diff only: ref to diff against. Required unless workingTree given.",
102
+ },
103
+ workingTree: {
104
+ type: "string",
105
+ enum: ["unstaged", "staged", "all"],
106
+ description: "diff only: uncommitted state instead of two refs. Exclusive with base.",
107
+ },
108
+ includeUntracked: {
109
+ type: "boolean",
110
+ description: "diff only, with workingTree: also report never-added files. Default true.",
111
+ },
112
+ head: { type: "string", description: "diff only: tip diffed. Default HEAD." },
113
+ files: {
114
+ type: "array",
115
+ items: { type: "string" },
116
+ description: "diff only: restrict to these paths. Default: whole diff.",
117
+ },
118
+ maxPatchBytes: {
119
+ type: "integer",
120
+ minimum: 1,
121
+ description: "diff only: omit a file's patch (stats kept) above this size. Default 20,000.",
122
+ },
123
+ maxTotalPatchBytes: {
124
+ type: "integer",
125
+ minimum: 1,
126
+ description: "diff only: cap on total patch text. Default 40,000; over it, patch withheld.",
127
+ },
128
+ file: {
129
+ type: "string",
130
+ description: "log only, REQUIRED: path to read history for.",
131
+ },
132
+ maxCommits: {
133
+ type: "integer",
134
+ minimum: 1,
135
+ description: "log only: cap on commits, newest-first. Default 20.",
136
+ },
137
+ limit: { type: "integer", minimum: 1, description: "diff only: cap on files in the reply. Default 200." },
138
+ },
139
+ required: ["verb"],
140
+ additionalProperties: false,
141
+ };
142
+ async function runDiff(args, ctx) {
143
+ const workingTree = optionalString(args, "workingTree");
144
+ const includeUntracked = args["includeUntracked"] !== false;
145
+ const baseArg = optionalString(args, "base");
146
+ if (workingTree === undefined && baseArg === undefined) {
147
+ throw new ToolInputError('Give either "base" (a ref range) or "workingTree" (uncommitted state). There is no ' +
148
+ "defensible default, and guessing one silently changes which diff the answer describes.");
149
+ }
150
+ if (workingTree !== undefined && baseArg !== undefined) {
151
+ throw new ToolInputError('"base" and "workingTree" are mutually exclusive — they are two different questions. ' +
152
+ "Ask one.");
153
+ }
154
+ if (workingTree !== undefined && !["unstaged", "staged", "all"].includes(workingTree)) {
155
+ throw new ToolInputError(`"workingTree" must be "unstaged", "staged" or "all" — got "${workingTree}".`);
156
+ }
157
+ const base = baseArg ?? null;
158
+ const head = base === null ? null : optionalString(args, "head") ?? "HEAD";
159
+ const files = optionalStringArray(args, "files");
160
+ const maxPatchBytes = optionalInteger(args, "maxPatchBytes", 1);
161
+ const maxTotalPatchBytes = optionalInteger(args, "maxTotalPatchBytes", 1);
162
+ const limit = optionalInteger(args, "limit", 1) ?? DIFF_DEFAULT_LIMIT;
163
+ const { session } = ctx;
164
+ const stamp = session.provider().baseStamp();
165
+ const envelope = {
166
+ resolutionFloor: 0,
167
+ commitSha: stamp.commitSha,
168
+ graphBuiltAt: stamp.graphBuiltAt,
169
+ irSchemaVersion: stamp.irSchemaVersion,
170
+ commitSpread: stamp.commitSpread,
171
+ repoCount: stamp.repoCount,
172
+ nameLevel: true,
173
+ };
174
+ const scope = (workingTree ?? "all");
175
+ const subject = base === null ? `the working tree (${scope})` : `${base}...${head}`;
176
+ const mode = base === null ? "working-tree" : "range";
177
+ ctx.progress(`Diffing ${subject}`);
178
+ let all;
179
+ let untrackedTotal = 0;
180
+ let untrackedTruncated = false;
181
+ try {
182
+ if (base === null) {
183
+ const change = await gitWorkingTreeChange(session.repoPath, {
184
+ scope,
185
+ includeUntracked,
186
+ exclude: descryOwnState(session.config.graph),
187
+ ...(files === undefined ? {} : { files }),
188
+ ...(maxPatchBytes === undefined ? {} : { maxPatchBytes }),
189
+ ...(maxTotalPatchBytes === undefined ? {} : { maxTotalPatchBytes }),
190
+ });
191
+ all = change.files;
192
+ untrackedTotal = change.untrackedTotal;
193
+ untrackedTruncated = change.untrackedTruncated;
194
+ }
195
+ else {
196
+ all = await gitDiff(session.repoPath, base, head, {
197
+ ...(files === undefined ? {} : { files }),
198
+ ...(maxPatchBytes === undefined ? {} : { maxPatchBytes }),
199
+ ...(maxTotalPatchBytes === undefined ? {} : { maxTotalPatchBytes }),
200
+ });
201
+ }
202
+ }
203
+ catch (error) {
204
+ return answer({
205
+ ...envelope,
206
+ headline: `Could not diff ${subject}.`,
207
+ state: "refused",
208
+ data: {
209
+ mode,
210
+ base,
211
+ head,
212
+ files: [],
213
+ filesTotal: 0,
214
+ ...(base === null
215
+ ? { workingTree: { scope, includeUntracked, untrackedTotal: 0, untrackedTruncated: false } }
216
+ : {}),
217
+ },
218
+ notes: [
219
+ `git rejected it: ${error.message.trim()}.`,
220
+ "No diff was read, which is not a finding that nothing changed.",
221
+ ],
222
+ });
223
+ }
224
+ let filesMatchedNothing = false;
225
+ let wholeDiffCount = 0;
226
+ if (base !== null && all.length === 0 && files !== undefined && files.length > 0) {
227
+ ctx.progress(`Checking whether ${base}...${head} has any changes at all`);
228
+ const wholeDiff = await changedFiles(session.repoPath, base, head).catch(() => null);
229
+ if (wholeDiff !== null && wholeDiff.length > 0) {
230
+ filesMatchedNothing = true;
231
+ wholeDiffCount = wholeDiff.length;
232
+ }
233
+ }
234
+ const shown = all.slice(0, limit);
235
+ const notes = [];
236
+ if (filesMatchedNothing) {
237
+ notes.push(`0 of the ${(files ?? []).length} named file(s) have any change in ${subject}, which ` +
238
+ `changes ${wholeDiffCount} file(s) in total when read without "files". This is not a ` +
239
+ "statement that the diff itself is empty.");
240
+ }
241
+ if (shown.length < all.length) {
242
+ notes.push(`${all.length - shown.length} further changed file(s) exist but are not listed — the reply ` +
243
+ `is capped at ${limit}.`);
244
+ }
245
+ const omittedPatches = shown.filter((f) => f.patchOmittedReason !== null).length;
246
+ if (omittedPatches > 0) {
247
+ notes.push(`${omittedPatches} of the listed file(s) had their patch text withheld — see each file's own ` +
248
+ '"patchOmittedReason".');
249
+ }
250
+ const budgetWithheld = shown.filter((f) => f.patchOmittedReason?.startsWith(TOTAL_PATCH_BUDGET_REASON_PREFIX)).length;
251
+ if (budgetWithheld > 0) {
252
+ notes.push(`${budgetWithheld} of those were withheld by the reply's total patch budget, not by their ` +
253
+ 'own size — their stats above are complete. Re-request them with a narrowed "files" to ' +
254
+ "read their patches.");
255
+ }
256
+ if (base === null && !includeUntracked) {
257
+ notes.push("Untracked files were not included — no form of git diff reports them, so a file written " +
258
+ 'and not yet added is absent from this answer. Pass "includeUntracked" to see them.');
259
+ }
260
+ if (untrackedTruncated) {
261
+ notes.push(`${untrackedTotal} untracked file(s) exist and only some were diffed. The rest were counted, ` +
262
+ "not examined.");
263
+ }
264
+ return answer({
265
+ ...envelope,
266
+ headline: all.length === 0
267
+ ? filesMatchedNothing
268
+ ? `0 of the ${(files ?? []).length} named file(s) have any change in ${subject}. ` +
269
+ "Not empty, not checked for those files."
270
+ : `${subject} has no changes.`
271
+ : `${subject} changes ${all.length} file(s)` +
272
+ (shown.length < all.length ? `, showing the first ${shown.length}.` : "."),
273
+ ...(all.length === 0 ? { state: "empty" } : {}),
274
+ data: {
275
+ mode,
276
+ base,
277
+ head,
278
+ files: shown,
279
+ filesTotal: all.length,
280
+ ...(base === null
281
+ ? { workingTree: { scope, includeUntracked, untrackedTotal, untrackedTruncated } }
282
+ : {}),
283
+ },
284
+ truncated: shown.length < all.length,
285
+ ...(shown.length < all.length
286
+ ? { truncatedDetail: { shown: shown.length, total: all.length, more: null } }
287
+ : {}),
288
+ notes,
289
+ fitToBudget: (budgetBytes) => fitDiff({
290
+ mode,
291
+ base,
292
+ head,
293
+ ...(base === null
294
+ ? { workingTree: { scope, includeUntracked, untrackedTotal, untrackedTruncated } }
295
+ : {}),
296
+ }, shown, all.length, budgetBytes),
297
+ });
298
+ }
299
+ async function runLog(args, ctx) {
300
+ const file = requiredString(args, "file");
301
+ const maxCommits = optionalInteger(args, "maxCommits", 1) ?? LOG_DEFAULT_MAX_COMMITS;
302
+ const { session } = ctx;
303
+ const stamp = session.provider().baseStamp();
304
+ const envelope = {
305
+ resolutionFloor: 0,
306
+ commitSha: stamp.commitSha,
307
+ graphBuiltAt: stamp.graphBuiltAt,
308
+ irSchemaVersion: stamp.irSchemaVersion,
309
+ commitSpread: stamp.commitSpread,
310
+ repoCount: stamp.repoCount,
311
+ nameLevel: true,
312
+ };
313
+ ctx.progress(`Reading live commit history for ${file}`);
314
+ let result;
315
+ try {
316
+ result = await logForPath(session.repoPath, file, { maxCommits });
317
+ }
318
+ catch (error) {
319
+ return answer({
320
+ ...envelope,
321
+ headline: `Could not read history for "${file}".`,
322
+ state: "refused",
323
+ data: { file, commits: [], totalTouching: 0 },
324
+ notes: [
325
+ `git rejected the read: ${error.message.trim()}.`,
326
+ "No history was read, which is not a finding that this file has none.",
327
+ ],
328
+ });
329
+ }
330
+ const notes = [];
331
+ if (result.totalTouching > result.commits.length) {
332
+ notes.push(`${result.totalTouching - result.commits.length} further commit(s) touch this file but are ` +
333
+ `not listed — the reply is capped at ${maxCommits}, newest-first.`);
334
+ }
335
+ const restOfLogData = { file, totalTouching: result.totalTouching };
336
+ return answer({
337
+ ...envelope,
338
+ headline: result.totalTouching === 0
339
+ ? `No commit reachable from HEAD touches "${file}".`
340
+ : `${result.totalTouching} commit(s) touch "${file}"` +
341
+ (result.commits.length < result.totalTouching
342
+ ? `; showing the ${result.commits.length} most recent.`
343
+ : "."),
344
+ ...(result.totalTouching === 0 ? { state: "empty" } : {}),
345
+ data: { ...restOfLogData, commits: result.commits },
346
+ truncated: result.commits.length < result.totalTouching,
347
+ ...(result.commits.length < result.totalTouching
348
+ ? { truncatedDetail: { shown: result.commits.length, total: result.totalTouching, more: null } }
349
+ : {}),
350
+ notes,
351
+ fitToBudget: (budgetBytes) => fitLog(restOfLogData, result.commits, budgetBytes),
352
+ });
353
+ }
354
+ async function run(args, ctx) {
355
+ const verb = selectVerb(args, "verb", VERB_SPECS);
356
+ switch (verb) {
357
+ case "diff":
358
+ return runDiff(args, ctx);
359
+ case "log":
360
+ return runLog(args, ctx);
361
+ }
362
+ }
363
+ export const gitContextTool = {
364
+ name: "git_context",
365
+ class: "read",
366
+ tier: "evidence",
367
+ version: "1.0.0",
368
+ title: "Live git diff or live git log, read directly from the repository",
369
+ description: "Live reads of the repository, never the stored graph. diff: changes + patch text between " +
370
+ "refs or uncommitted state. log: commit history for one file.",
371
+ inputSchema: SCHEMA,
372
+ run,
373
+ };
374
+ //# sourceMappingURL=git-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-context.js","sourceRoot":"","sources":["../../src/tools/git-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,MAAM,EACN,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,GAGf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAKtD,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAM,0BAA0B,GAAG,kCAAkC,CAAC;AAkBtE,SAAS,SAAS,CAAC,IAAkB;IACnC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,OAAO,CACd,QAAqE,EACrE,KAA8B,EAC9B,UAAkB,EAClB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAChC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EACtD,MAAM,CACP,CAAC;IAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE;QACzC,aAAa,EAAE,WAAW;QAC1B,aAAa,EAAE,QAAQ;QACvB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI;QACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,CAAC;YACJ,KAAK,EAAE,IAAI;YACX,kBAAkB,EAAE,GAAG,0BAA0B,sBAAsB;SACxE,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,aAAa,oEAAoE;YACzF,4FAA4F;YAC5F,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,YAAY,qEAAqE;YACzF,2FAA2F;YAC3F,2FAA2F;YAC3F,sBAAsB,CACzB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE;QACtD,KAAK;QACL,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC;YACzB,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAC1B,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,IAAI;iBACX;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAYnC;;;;;GAKG;AACH,SAAS,MAAM,CACb,IAAqC,EACrC,YAAyC,EACzC,WAAmB;IAEnB,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACjI,OAAO;QACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE;QACrC,KAAK;QACL,GAAG,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,GAAwC;IACtD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,CAAC;KACtH;IACD,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;CACjD,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;YACrB,WAAW,EAAE,iGAAiG;SAC/G;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oEAAoE;SAClF;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;YACnC,WAAW,EAAE,wEAAwE;SACtF;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,2EAA2E;SACzF;QACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;QAC7E,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE,0DAA0D;SACxE;QACD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8EAA8E;SAC5F;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8EAA8E;SAC5F;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+CAA+C;SAC7D;QACD,UAAU,EAAE;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,qDAAqD;SACnE;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE;KAC1G;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,KAAK,UAAU,OAAO,CAAC,IAA6B,EAAE,GAAgB;IACpE,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,KAAK,CAAC;IAC5D,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,cAAc,CACtB,qFAAqF;YACnF,wFAAwF,CAC3F,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,cAAc,CACtB,sFAAsF;YACpF,UAAU,CACb,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,cAAc,CAAC,8DAA8D,WAAW,IAAI,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;IAC3E,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,kBAAkB,CAAC;IAEtE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE,CAAU;QAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,KAAK,CAAkC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,EAAE,CAAC;IACpF,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,cAAwB,CAAC,CAAC,CAAE,OAAiB,CAAC;IAE5E,GAAG,CAAC,QAAQ,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IACnC,IAAI,GAA2B,CAAC;IAChC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC1D,KAAK;gBACL,gBAAgB;gBAChB,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;gBACzD,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;YACnB,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YACvC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAK,EAAE;gBACjD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;gBACzD,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;aACpE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAc;YACzB,GAAG,QAAQ;YACX,QAAQ,EAAE,kBAAkB,OAAO,GAAG;YACtC,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,KAAK,IAAI;oBACf,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE;oBAC5F,CAAC,CAAC,EAAE,CAAC;aACR;YACD,KAAK,EAAE;gBACL,oBAAqB,KAAe,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;gBACtD,gEAAgE;aACjE;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,QAAQ,CAAC,oBAAoB,IAAI,MAAM,IAAI,yBAAyB,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,mBAAmB,GAAG,IAAI,CAAC;YAC3B,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,qCAAqC,OAAO,UAAU;YACpF,WAAW,cAAc,6DAA6D;YACtF,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,gEAAgE;YAC1F,gBAAgB,KAAK,GAAG,CAC3B,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACjF,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,GAAG,cAAc,6EAA6E;YAC5F,uBAAuB,CAC1B,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC,gCAAgC,CAAC,CACnE,CAAC,MAAM,CAAC;IACT,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,GAAG,cAAc,0EAA0E;YACzF,wFAAwF;YACxF,qBAAqB,CACxB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CACR,0FAA0F;YACxF,oFAAoF,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,GAAG,cAAc,6EAA6E;YAC5F,eAAe,CAClB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAc;QACzB,GAAG,QAAQ;QACX,QAAQ,EACN,GAAG,CAAC,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,mBAAmB;gBACnB,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,qCAAqC,OAAO,IAAI;oBAChF,yCAAyC;gBAC3C,CAAC,CAAC,GAAG,OAAO,kBAAkB;YAChC,CAAC,CAAC,GAAG,OAAO,YAAY,GAAG,CAAC,MAAM,UAAU;gBAC1C,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChF,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,GAAG,CAAC,IAAI,KAAK,IAAI;gBACf,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE;gBAClF,CAAC,CAAC,EAAE,CAAC;SACR;QACD,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM;QACpC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM;YAC3B,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC7E,CAAC,CAAC,EAAE,CAAC;QACP,KAAK;QACL,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAC3B,OAAO,CACL;YACE,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,GAAG,CAAC,IAAI,KAAK,IAAI;gBACf,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE;gBAClF,CAAC,CAAC,EAAE,CAAC;SACR,EACD,KAAK,EACL,GAAG,CAAC,MAAM,EACV,WAAW,CACZ;KACJ,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAA6B,EAAE,GAAgB;IACnE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,uBAAuB,CAAC;IAErF,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE,CAAU;QAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,GAAG,CAAC,QAAQ,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,MAAoE,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAiB;YAC5B,GAAG,QAAQ;YACX,QAAQ,EAAE,+BAA+B,IAAI,IAAI;YACjD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;YAC7C,KAAK,EAAE;gBACL,0BAA2B,KAAe,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;gBAC5D,sEAAsE;aACvE;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,6CAA6C;YAC1F,uCAAuC,UAAU,iBAAiB,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACpE,OAAO,MAAM,CAAiB;QAC5B,GAAG,QAAQ;QACX,QAAQ,EACN,MAAM,CAAC,aAAa,KAAK,CAAC;YACxB,CAAC,CAAC,0CAA0C,IAAI,IAAI;YACpD,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,qBAAqB,IAAI,GAAG;gBACnD,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;oBAC3C,CAAC,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,MAAM,eAAe;oBACvD,CAAC,CAAC,GAAG,CAAC;QACd,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;QACnD,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;QACvD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;YAC9C,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAChG,CAAC,CAAC,EAAE,CAAC;QACP,KAAK;QACL,WAAW,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;KACzF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAA6B,EAAE,GAAgB;IAChE,MAAM,IAAI,GAAG,UAAU,CAAiB,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAClE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5B,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,kEAAkE;IACzE,WAAW,EACT,2FAA2F;QAC3F,8DAA8D;IAChE,WAAW,EAAE,MAA4C;IACzD,GAAG;CACJ,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * `get_git_diff` — §18's "other useful Git tool": a live textual diff
3
+ * between two refs. P27's disclosed remainder — `ai-layer-plan.md` §3's
4
+ * re-derivation found `history.ts`'s own header already stating why it
5
+ * cannot be stretched into this shape: it is scoped to the stored
6
+ * `CHANGES_WITH` ledger, not a live `git diff`. `changedFiles`
7
+ * (`cross-pr.ts`) answers "which files changed" as a bare path list; this
8
+ * answers "what changed in them" — per-file status and line counts always,
9
+ * plus the unified-diff patch text when it is cheap enough to hand to a
10
+ * model (§4: the client's context window is not this tool's to spend).
11
+ */
12
+ import type { GitDiffFile } from "@descryy/core";
13
+ import { type ToolDefinition } from "./kit.ts";
14
+ export type GitDiffEntry = GitDiffFile;
15
+ /**
16
+ * One shape for all three states (`ok` / `empty` / `refused`) — unlike
17
+ * `cross-pr`'s union, a git-rejected range and a genuinely empty diff carry
18
+ * the identical fields here (`files: []`, `filesTotal: 0`); `state` and
19
+ * `disclosures` are what tell them apart, not the payload's shape.
20
+ */
21
+ export interface GitDiffData {
22
+ /**
23
+ * Which question was answered — declared by the caller, never inferred.
24
+ *
25
+ * `range` compares two refs. `working-tree` reports what is uncommitted right
26
+ * now. They are different questions and a reply that did not say which one it
27
+ * answered would be readable as either.
28
+ */
29
+ readonly mode: "range" | "working-tree";
30
+ /** Null in working-tree mode: there is no second ref to compare against. */
31
+ readonly base: string | null;
32
+ readonly head: string | null;
33
+ /** Present in working-tree mode only. */
34
+ readonly workingTree?: {
35
+ readonly scope: "unstaged" | "staged" | "all";
36
+ readonly includeUntracked: boolean;
37
+ readonly untrackedTotal: number;
38
+ readonly untrackedTruncated: boolean;
39
+ };
40
+ /** Capped by `limit`; `filesTotal` is the uncapped count. Empty on a git failure. */
41
+ readonly files: readonly GitDiffEntry[];
42
+ readonly filesTotal: number;
43
+ }
44
+ export declare const gitDiffTool: ToolDefinition;
45
+ //# sourceMappingURL=git-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-diff.d.ts","sourceRoot":"","sources":["../../src/tools/git-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AA4FlB,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;QAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;QACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACtC,CAAC;IACF,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiRD,eAAO,MAAM,WAAW,EAAE,cAsBzB,CAAC"}