@descryy/mcp 0.11.3 → 0.11.5

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 (441) hide show
  1. package/package.json +20 -20
  2. package/dist/action-handshake.d.ts +0 -38
  3. package/dist/action-handshake.d.ts.map +0 -1
  4. package/dist/action-handshake.js +0 -127
  5. package/dist/action-handshake.js.map +0 -1
  6. package/dist/bin/descry-mcp.d.ts +0 -7
  7. package/dist/bin/descry-mcp.d.ts.map +0 -1
  8. package/dist/bin/descry-mcp.js +0 -72
  9. package/dist/bin/descry-mcp.js.map +0 -1
  10. package/dist/browser/auth.d.ts +0 -84
  11. package/dist/browser/auth.d.ts.map +0 -1
  12. package/dist/browser/auth.js +0 -233
  13. package/dist/browser/auth.js.map +0 -1
  14. package/dist/browser/capability-probe.d.ts +0 -109
  15. package/dist/browser/capability-probe.d.ts.map +0 -1
  16. package/dist/browser/capability-probe.js +0 -201
  17. package/dist/browser/capability-probe.js.map +0 -1
  18. package/dist/browser/driver.d.ts +0 -570
  19. package/dist/browser/driver.d.ts.map +0 -1
  20. package/dist/browser/driver.js +0 -116
  21. package/dist/browser/driver.js.map +0 -1
  22. package/dist/browser/evidence.d.ts +0 -28
  23. package/dist/browser/evidence.d.ts.map +0 -1
  24. package/dist/browser/evidence.js +0 -82
  25. package/dist/browser/evidence.js.map +0 -1
  26. package/dist/browser/fake-driver.d.ts +0 -116
  27. package/dist/browser/fake-driver.d.ts.map +0 -1
  28. package/dist/browser/fake-driver.js +0 -416
  29. package/dist/browser/fake-driver.js.map +0 -1
  30. package/dist/browser/fault-attribution.d.ts +0 -178
  31. package/dist/browser/fault-attribution.d.ts.map +0 -1
  32. package/dist/browser/fault-attribution.js +0 -266
  33. package/dist/browser/fault-attribution.js.map +0 -1
  34. package/dist/browser/graph-write.d.ts +0 -45
  35. package/dist/browser/graph-write.d.ts.map +0 -1
  36. package/dist/browser/graph-write.js +0 -103
  37. package/dist/browser/graph-write.js.map +0 -1
  38. package/dist/browser/identity-graph-write.d.ts +0 -55
  39. package/dist/browser/identity-graph-write.d.ts.map +0 -1
  40. package/dist/browser/identity-graph-write.js +0 -45
  41. package/dist/browser/identity-graph-write.js.map +0 -1
  42. package/dist/browser/page-probe.d.ts +0 -81
  43. package/dist/browser/page-probe.d.ts.map +0 -1
  44. package/dist/browser/page-probe.js +0 -202
  45. package/dist/browser/page-probe.js.map +0 -1
  46. package/dist/browser/playwright-driver.d.ts +0 -114
  47. package/dist/browser/playwright-driver.d.ts.map +0 -1
  48. package/dist/browser/playwright-driver.js +0 -1479
  49. package/dist/browser/playwright-driver.js.map +0 -1
  50. package/dist/browser/provider.d.ts +0 -26
  51. package/dist/browser/provider.d.ts.map +0 -1
  52. package/dist/browser/provider.js +0 -14
  53. package/dist/browser/provider.js.map +0 -1
  54. package/dist/browser/reach-recording-session.d.ts +0 -44
  55. package/dist/browser/reach-recording-session.d.ts.map +0 -1
  56. package/dist/browser/reach-recording-session.js +0 -143
  57. package/dist/browser/reach-recording-session.js.map +0 -1
  58. package/dist/browser/reachability.d.ts +0 -168
  59. package/dist/browser/reachability.d.ts.map +0 -1
  60. package/dist/browser/reachability.js +0 -294
  61. package/dist/browser/reachability.js.map +0 -1
  62. package/dist/browser/registry.d.ts +0 -126
  63. package/dist/browser/registry.d.ts.map +0 -1
  64. package/dist/browser/registry.js +0 -177
  65. package/dist/browser/registry.js.map +0 -1
  66. package/dist/browser/scenario-provenance.d.ts +0 -23
  67. package/dist/browser/scenario-provenance.d.ts.map +0 -1
  68. package/dist/browser/scenario-provenance.js +0 -73
  69. package/dist/browser/scenario-provenance.js.map +0 -1
  70. package/dist/browser/scenario-resolve.d.ts +0 -28
  71. package/dist/browser/scenario-resolve.d.ts.map +0 -1
  72. package/dist/browser/scenario-resolve.js +0 -96
  73. package/dist/browser/scenario-resolve.js.map +0 -1
  74. package/dist/browser/scenario-runner.d.ts +0 -72
  75. package/dist/browser/scenario-runner.d.ts.map +0 -1
  76. package/dist/browser/scenario-runner.js +0 -353
  77. package/dist/browser/scenario-runner.js.map +0 -1
  78. package/dist/browser/stack-parser.d.ts +0 -19
  79. package/dist/browser/stack-parser.d.ts.map +0 -1
  80. package/dist/browser/stack-parser.js +0 -85
  81. package/dist/browser/stack-parser.js.map +0 -1
  82. package/dist/browser/tool-support.d.ts +0 -71
  83. package/dist/browser/tool-support.d.ts.map +0 -1
  84. package/dist/browser/tool-support.js +0 -216
  85. package/dist/browser/tool-support.js.map +0 -1
  86. package/dist/browser/url-scheme.d.ts +0 -14
  87. package/dist/browser/url-scheme.d.ts.map +0 -1
  88. package/dist/browser/url-scheme.js +0 -38
  89. package/dist/browser/url-scheme.js.map +0 -1
  90. package/dist/browser/wait-target.d.ts +0 -37
  91. package/dist/browser/wait-target.d.ts.map +0 -1
  92. package/dist/browser/wait-target.js +0 -54
  93. package/dist/browser/wait-target.js.map +0 -1
  94. package/dist/cancellation.d.ts +0 -20
  95. package/dist/cancellation.d.ts.map +0 -1
  96. package/dist/cancellation.js +0 -41
  97. package/dist/cancellation.js.map +0 -1
  98. package/dist/capped.d.ts +0 -17
  99. package/dist/capped.d.ts.map +0 -1
  100. package/dist/capped.js +0 -15
  101. package/dist/capped.js.map +0 -1
  102. package/dist/credential-store.d.ts +0 -22
  103. package/dist/credential-store.d.ts.map +0 -1
  104. package/dist/credential-store.js +0 -33
  105. package/dist/credential-store.js.map +0 -1
  106. package/dist/disclosure-ledger.d.ts +0 -14
  107. package/dist/disclosure-ledger.d.ts.map +0 -1
  108. package/dist/disclosure-ledger.js +0 -18
  109. package/dist/disclosure-ledger.js.map +0 -1
  110. package/dist/evidence/observed-route-evidence.d.ts +0 -25
  111. package/dist/evidence/observed-route-evidence.d.ts.map +0 -1
  112. package/dist/evidence/observed-route-evidence.js +0 -76
  113. package/dist/evidence/observed-route-evidence.js.map +0 -1
  114. package/dist/heap.d.ts +0 -61
  115. package/dist/heap.d.ts.map +0 -1
  116. package/dist/heap.js +0 -82
  117. package/dist/heap.js.map +0 -1
  118. package/dist/heartbeat.d.ts +0 -46
  119. package/dist/heartbeat.d.ts.map +0 -1
  120. package/dist/heartbeat.js +0 -66
  121. package/dist/heartbeat.js.map +0 -1
  122. package/dist/index.d.ts +0 -32
  123. package/dist/index.d.ts.map +0 -1
  124. package/dist/index.js +0 -19
  125. package/dist/index.js.map +0 -1
  126. package/dist/module-trust.d.ts +0 -37
  127. package/dist/module-trust.d.ts.map +0 -1
  128. package/dist/module-trust.js +0 -77
  129. package/dist/module-trust.js.map +0 -1
  130. package/dist/path-confinement.d.ts +0 -31
  131. package/dist/path-confinement.d.ts.map +0 -1
  132. package/dist/path-confinement.js +0 -44
  133. package/dist/path-confinement.js.map +0 -1
  134. package/dist/planner/predict-then-propose.d.ts +0 -134
  135. package/dist/planner/predict-then-propose.d.ts.map +0 -1
  136. package/dist/planner/predict-then-propose.js +0 -138
  137. package/dist/planner/predict-then-propose.js.map +0 -1
  138. package/dist/planner/propose-journey.d.ts +0 -75
  139. package/dist/planner/propose-journey.d.ts.map +0 -1
  140. package/dist/planner/propose-journey.js +0 -96
  141. package/dist/planner/propose-journey.js.map +0 -1
  142. package/dist/protocol.d.ts +0 -57
  143. package/dist/protocol.d.ts.map +0 -1
  144. package/dist/protocol.js +0 -90
  145. package/dist/protocol.js.map +0 -1
  146. package/dist/registry.d.ts +0 -103
  147. package/dist/registry.d.ts.map +0 -1
  148. package/dist/registry.js +0 -319
  149. package/dist/registry.js.map +0 -1
  150. package/dist/render.d.ts +0 -580
  151. package/dist/render.d.ts.map +0 -1
  152. package/dist/render.js +0 -867
  153. package/dist/render.js.map +0 -1
  154. package/dist/runtime-registry.d.ts +0 -22
  155. package/dist/runtime-registry.d.ts.map +0 -1
  156. package/dist/runtime-registry.js +0 -142
  157. package/dist/runtime-registry.js.map +0 -1
  158. package/dist/sandbox-defaults.d.ts +0 -41
  159. package/dist/sandbox-defaults.d.ts.map +0 -1
  160. package/dist/sandbox-defaults.js +0 -14
  161. package/dist/sandbox-defaults.js.map +0 -1
  162. package/dist/scenarios/browser-run-plan-projection.d.ts +0 -161
  163. package/dist/scenarios/browser-run-plan-projection.d.ts.map +0 -1
  164. package/dist/scenarios/browser-run-plan-projection.js +0 -264
  165. package/dist/scenarios/browser-run-plan-projection.js.map +0 -1
  166. package/dist/scenarios/credential-ref.d.ts +0 -102
  167. package/dist/scenarios/credential-ref.d.ts.map +0 -1
  168. package/dist/scenarios/credential-ref.js +0 -148
  169. package/dist/scenarios/credential-ref.js.map +0 -1
  170. package/dist/scenarios/index.d.ts +0 -7
  171. package/dist/scenarios/index.d.ts.map +0 -1
  172. package/dist/scenarios/index.js +0 -7
  173. package/dist/scenarios/index.js.map +0 -1
  174. package/dist/scenarios/parse.d.ts +0 -18
  175. package/dist/scenarios/parse.d.ts.map +0 -1
  176. package/dist/scenarios/parse.js +0 -212
  177. package/dist/scenarios/parse.js.map +0 -1
  178. package/dist/scenarios/scenario.d.ts +0 -93
  179. package/dist/scenarios/scenario.d.ts.map +0 -1
  180. package/dist/scenarios/scenario.js +0 -27
  181. package/dist/scenarios/scenario.js.map +0 -1
  182. package/dist/scenarios/secret-ref.d.ts +0 -86
  183. package/dist/scenarios/secret-ref.d.ts.map +0 -1
  184. package/dist/scenarios/secret-ref.js +0 -125
  185. package/dist/scenarios/secret-ref.js.map +0 -1
  186. package/dist/scenarios/storage.d.ts +0 -21
  187. package/dist/scenarios/storage.d.ts.map +0 -1
  188. package/dist/scenarios/storage.js +0 -103
  189. package/dist/scenarios/storage.js.map +0 -1
  190. package/dist/server.d.ts +0 -61
  191. package/dist/server.d.ts.map +0 -1
  192. package/dist/server.js +0 -541
  193. package/dist/server.js.map +0 -1
  194. package/dist/session.d.ts +0 -243
  195. package/dist/session.d.ts.map +0 -1
  196. package/dist/session.js +0 -602
  197. package/dist/session.js.map +0 -1
  198. package/dist/tools/alias-kit.d.ts +0 -29
  199. package/dist/tools/alias-kit.d.ts.map +0 -1
  200. package/dist/tools/alias-kit.js +0 -21
  201. package/dist/tools/alias-kit.js.map +0 -1
  202. package/dist/tools/aliases.d.ts +0 -42
  203. package/dist/tools/aliases.d.ts.map +0 -1
  204. package/dist/tools/aliases.js +0 -52
  205. package/dist/tools/aliases.js.map +0 -1
  206. package/dist/tools/analyze-workspace.d.ts +0 -52
  207. package/dist/tools/analyze-workspace.d.ts.map +0 -1
  208. package/dist/tools/analyze-workspace.js +0 -207
  209. package/dist/tools/analyze-workspace.js.map +0 -1
  210. package/dist/tools/analyze.d.ts +0 -163
  211. package/dist/tools/analyze.d.ts.map +0 -1
  212. package/dist/tools/analyze.js +0 -724
  213. package/dist/tools/analyze.js.map +0 -1
  214. package/dist/tools/browser-click.d.ts +0 -18
  215. package/dist/tools/browser-click.d.ts.map +0 -1
  216. package/dist/tools/browser-click.js +0 -110
  217. package/dist/tools/browser-click.js.map +0 -1
  218. package/dist/tools/browser-close-session.d.ts +0 -39
  219. package/dist/tools/browser-close-session.d.ts.map +0 -1
  220. package/dist/tools/browser-close-session.js +0 -120
  221. package/dist/tools/browser-close-session.js.map +0 -1
  222. package/dist/tools/browser-fill.d.ts +0 -18
  223. package/dist/tools/browser-fill.d.ts.map +0 -1
  224. package/dist/tools/browser-fill.js +0 -117
  225. package/dist/tools/browser-fill.js.map +0 -1
  226. package/dist/tools/browser-navigate.d.ts +0 -15
  227. package/dist/tools/browser-navigate.d.ts.map +0 -1
  228. package/dist/tools/browser-navigate.js +0 -104
  229. package/dist/tools/browser-navigate.js.map +0 -1
  230. package/dist/tools/browser-read.d.ts +0 -33
  231. package/dist/tools/browser-read.d.ts.map +0 -1
  232. package/dist/tools/browser-read.js +0 -113
  233. package/dist/tools/browser-read.js.map +0 -1
  234. package/dist/tools/browser-run-scenario.d.ts +0 -28
  235. package/dist/tools/browser-run-scenario.d.ts.map +0 -1
  236. package/dist/tools/browser-run-scenario.js +0 -206
  237. package/dist/tools/browser-run-scenario.js.map +0 -1
  238. package/dist/tools/browser-save-scenario.d.ts +0 -19
  239. package/dist/tools/browser-save-scenario.d.ts.map +0 -1
  240. package/dist/tools/browser-save-scenario.js +0 -447
  241. package/dist/tools/browser-save-scenario.js.map +0 -1
  242. package/dist/tools/browser-select.d.ts +0 -20
  243. package/dist/tools/browser-select.d.ts.map +0 -1
  244. package/dist/tools/browser-select.js +0 -120
  245. package/dist/tools/browser-select.js.map +0 -1
  246. package/dist/tools/browser-snapshot.d.ts +0 -46
  247. package/dist/tools/browser-snapshot.d.ts.map +0 -1
  248. package/dist/tools/browser-snapshot.js +0 -127
  249. package/dist/tools/browser-snapshot.js.map +0 -1
  250. package/dist/tools/browser-start-session.d.ts +0 -24
  251. package/dist/tools/browser-start-session.d.ts.map +0 -1
  252. package/dist/tools/browser-start-session.js +0 -622
  253. package/dist/tools/browser-start-session.js.map +0 -1
  254. package/dist/tools/browser-submit.d.ts +0 -18
  255. package/dist/tools/browser-submit.d.ts.map +0 -1
  256. package/dist/tools/browser-submit.js +0 -106
  257. package/dist/tools/browser-submit.js.map +0 -1
  258. package/dist/tools/browser-type.d.ts +0 -18
  259. package/dist/tools/browser-type.d.ts.map +0 -1
  260. package/dist/tools/browser-type.js +0 -115
  261. package/dist/tools/browser-type.js.map +0 -1
  262. package/dist/tools/browser-wait-for.d.ts +0 -45
  263. package/dist/tools/browser-wait-for.d.ts.map +0 -1
  264. package/dist/tools/browser-wait-for.js +0 -150
  265. package/dist/tools/browser-wait-for.js.map +0 -1
  266. package/dist/tools/browser.d.ts +0 -69
  267. package/dist/tools/browser.d.ts.map +0 -1
  268. package/dist/tools/browser.js +0 -386
  269. package/dist/tools/browser.js.map +0 -1
  270. package/dist/tools/chain.d.ts +0 -41
  271. package/dist/tools/chain.d.ts.map +0 -1
  272. package/dist/tools/chain.js +0 -105
  273. package/dist/tools/chain.js.map +0 -1
  274. package/dist/tools/change-scope.d.ts +0 -25
  275. package/dist/tools/change-scope.d.ts.map +0 -1
  276. package/dist/tools/change-scope.js +0 -110
  277. package/dist/tools/change-scope.js.map +0 -1
  278. package/dist/tools/code-context.d.ts +0 -83
  279. package/dist/tools/code-context.d.ts.map +0 -1
  280. package/dist/tools/code-context.js +0 -416
  281. package/dist/tools/code-context.js.map +0 -1
  282. package/dist/tools/contracts.d.ts +0 -74
  283. package/dist/tools/contracts.d.ts.map +0 -1
  284. package/dist/tools/contracts.js +0 -196
  285. package/dist/tools/contracts.js.map +0 -1
  286. package/dist/tools/cross-pr.d.ts +0 -178
  287. package/dist/tools/cross-pr.d.ts.map +0 -1
  288. package/dist/tools/cross-pr.js +0 -321
  289. package/dist/tools/cross-pr.js.map +0 -1
  290. package/dist/tools/disclosure.d.ts +0 -75
  291. package/dist/tools/disclosure.d.ts.map +0 -1
  292. package/dist/tools/disclosure.js +0 -288
  293. package/dist/tools/disclosure.js.map +0 -1
  294. package/dist/tools/draw-conclusion.d.ts +0 -55
  295. package/dist/tools/draw-conclusion.d.ts.map +0 -1
  296. package/dist/tools/draw-conclusion.js +0 -259
  297. package/dist/tools/draw-conclusion.js.map +0 -1
  298. package/dist/tools/git-context.d.ts +0 -39
  299. package/dist/tools/git-context.d.ts.map +0 -1
  300. package/dist/tools/git-context.js +0 -364
  301. package/dist/tools/git-context.js.map +0 -1
  302. package/dist/tools/git-diff.d.ts +0 -45
  303. package/dist/tools/git-diff.d.ts.map +0 -1
  304. package/dist/tools/git-diff.js +0 -338
  305. package/dist/tools/git-diff.js.map +0 -1
  306. package/dist/tools/git-history.d.ts +0 -16
  307. package/dist/tools/git-history.d.ts.map +0 -1
  308. package/dist/tools/git-history.js +0 -86
  309. package/dist/tools/git-history.js.map +0 -1
  310. package/dist/tools/history.d.ts +0 -34
  311. package/dist/tools/history.d.ts.map +0 -1
  312. package/dist/tools/history.js +0 -121
  313. package/dist/tools/history.js.map +0 -1
  314. package/dist/tools/impact.d.ts +0 -46
  315. package/dist/tools/impact.d.ts.map +0 -1
  316. package/dist/tools/impact.js +0 -225
  317. package/dist/tools/impact.js.map +0 -1
  318. package/dist/tools/index.d.ts +0 -59
  319. package/dist/tools/index.d.ts.map +0 -1
  320. package/dist/tools/index.js +0 -70
  321. package/dist/tools/index.js.map +0 -1
  322. package/dist/tools/kit.d.ts +0 -165
  323. package/dist/tools/kit.d.ts.map +0 -1
  324. package/dist/tools/kit.js +0 -153
  325. package/dist/tools/kit.js.map +0 -1
  326. package/dist/tools/link-workspace.d.ts +0 -24
  327. package/dist/tools/link-workspace.d.ts.map +0 -1
  328. package/dist/tools/link-workspace.js +0 -131
  329. package/dist/tools/link-workspace.js.map +0 -1
  330. package/dist/tools/lookup.d.ts +0 -19
  331. package/dist/tools/lookup.d.ts.map +0 -1
  332. package/dist/tools/lookup.js +0 -63
  333. package/dist/tools/lookup.js.map +0 -1
  334. package/dist/tools/mark-incident.d.ts +0 -28
  335. package/dist/tools/mark-incident.d.ts.map +0 -1
  336. package/dist/tools/mark-incident.js +0 -188
  337. package/dist/tools/mark-incident.js.map +0 -1
  338. package/dist/tools/merged-browser.d.ts +0 -11
  339. package/dist/tools/merged-browser.d.ts.map +0 -1
  340. package/dist/tools/merged-browser.js +0 -20
  341. package/dist/tools/merged-browser.js.map +0 -1
  342. package/dist/tools/merged-context.d.ts +0 -11
  343. package/dist/tools/merged-context.d.ts.map +0 -1
  344. package/dist/tools/merged-context.js +0 -21
  345. package/dist/tools/merged-context.js.map +0 -1
  346. package/dist/tools/merged-observe.d.ts +0 -13
  347. package/dist/tools/merged-observe.d.ts.map +0 -1
  348. package/dist/tools/merged-observe.js +0 -21
  349. package/dist/tools/merged-observe.js.map +0 -1
  350. package/dist/tools/merged-workspace.d.ts +0 -14
  351. package/dist/tools/merged-workspace.d.ts.map +0 -1
  352. package/dist/tools/merged-workspace.js +0 -21
  353. package/dist/tools/merged-workspace.js.map +0 -1
  354. package/dist/tools/observe-runtime.d.ts +0 -250
  355. package/dist/tools/observe-runtime.d.ts.map +0 -1
  356. package/dist/tools/observe-runtime.js +0 -1753
  357. package/dist/tools/observe-runtime.js.map +0 -1
  358. package/dist/tools/observe-tests.d.ts +0 -57
  359. package/dist/tools/observe-tests.d.ts.map +0 -1
  360. package/dist/tools/observe-tests.js +0 -368
  361. package/dist/tools/observe-tests.js.map +0 -1
  362. package/dist/tools/observe.d.ts +0 -28
  363. package/dist/tools/observe.d.ts.map +0 -1
  364. package/dist/tools/observe.js +0 -330
  365. package/dist/tools/observe.js.map +0 -1
  366. package/dist/tools/pr-analysis.d.ts +0 -189
  367. package/dist/tools/pr-analysis.d.ts.map +0 -1
  368. package/dist/tools/pr-analysis.js +0 -299
  369. package/dist/tools/pr-analysis.js.map +0 -1
  370. package/dist/tools/pre-push.d.ts +0 -168
  371. package/dist/tools/pre-push.d.ts.map +0 -1
  372. package/dist/tools/pre-push.js +0 -416
  373. package/dist/tools/pre-push.js.map +0 -1
  374. package/dist/tools/predict-reach.d.ts +0 -57
  375. package/dist/tools/predict-reach.d.ts.map +0 -1
  376. package/dist/tools/predict-reach.js +0 -159
  377. package/dist/tools/predict-reach.js.map +0 -1
  378. package/dist/tools/propagation.d.ts +0 -37
  379. package/dist/tools/propagation.d.ts.map +0 -1
  380. package/dist/tools/propagation.js +0 -162
  381. package/dist/tools/propagation.js.map +0 -1
  382. package/dist/tools/propose-journey.d.ts +0 -16
  383. package/dist/tools/propose-journey.d.ts.map +0 -1
  384. package/dist/tools/propose-journey.js +0 -121
  385. package/dist/tools/propose-journey.js.map +0 -1
  386. package/dist/tools/prove-reach.d.ts +0 -74
  387. package/dist/tools/prove-reach.d.ts.map +0 -1
  388. package/dist/tools/prove-reach.js +0 -286
  389. package/dist/tools/prove-reach.js.map +0 -1
  390. package/dist/tools/questions.d.ts +0 -30
  391. package/dist/tools/questions.d.ts.map +0 -1
  392. package/dist/tools/questions.js +0 -232
  393. package/dist/tools/questions.js.map +0 -1
  394. package/dist/tools/refusal-fetch.d.ts +0 -35
  395. package/dist/tools/refusal-fetch.d.ts.map +0 -1
  396. package/dist/tools/refusal-fetch.js +0 -103
  397. package/dist/tools/refusal-fetch.js.map +0 -1
  398. package/dist/tools/runtime-incident.d.ts +0 -33
  399. package/dist/tools/runtime-incident.d.ts.map +0 -1
  400. package/dist/tools/runtime-incident.js +0 -67
  401. package/dist/tools/runtime-incident.js.map +0 -1
  402. package/dist/tools/runtime-journey-drive.d.ts +0 -102
  403. package/dist/tools/runtime-journey-drive.d.ts.map +0 -1
  404. package/dist/tools/runtime-journey-drive.js +0 -247
  405. package/dist/tools/runtime-journey-drive.js.map +0 -1
  406. package/dist/tools/scope.d.ts +0 -45
  407. package/dist/tools/scope.d.ts.map +0 -1
  408. package/dist/tools/scope.js +0 -186
  409. package/dist/tools/scope.js.map +0 -1
  410. package/dist/tools/similar-incidents.d.ts +0 -43
  411. package/dist/tools/similar-incidents.d.ts.map +0 -1
  412. package/dist/tools/similar-incidents.js +0 -179
  413. package/dist/tools/similar-incidents.js.map +0 -1
  414. package/dist/tools/validate.d.ts +0 -133
  415. package/dist/tools/validate.d.ts.map +0 -1
  416. package/dist/tools/validate.js +0 -442
  417. package/dist/tools/validate.js.map +0 -1
  418. package/dist/tools/verb.d.ts +0 -46
  419. package/dist/tools/verb.d.ts.map +0 -1
  420. package/dist/tools/verb.js +0 -78
  421. package/dist/tools/verb.js.map +0 -1
  422. package/dist/tools/verification-status.d.ts +0 -38
  423. package/dist/tools/verification-status.d.ts.map +0 -1
  424. package/dist/tools/verification-status.js +0 -203
  425. package/dist/tools/verification-status.js.map +0 -1
  426. package/dist/tools/verify-claim.d.ts +0 -29
  427. package/dist/tools/verify-claim.d.ts.map +0 -1
  428. package/dist/tools/verify-claim.js +0 -220
  429. package/dist/tools/verify-claim.js.map +0 -1
  430. package/dist/tools/workspace.d.ts +0 -28
  431. package/dist/tools/workspace.d.ts.map +0 -1
  432. package/dist/tools/workspace.js +0 -101
  433. package/dist/tools/workspace.js.map +0 -1
  434. package/dist/transport.d.ts +0 -32
  435. package/dist/transport.d.ts.map +0 -1
  436. package/dist/transport.js +0 -85
  437. package/dist/transport.js.map +0 -1
  438. package/dist/workspace-index.d.ts +0 -164
  439. package/dist/workspace-index.d.ts.map +0 -1
  440. package/dist/workspace-index.js +0 -381
  441. package/dist/workspace-index.js.map +0 -1
@@ -1,203 +0,0 @@
1
- /** `verification_status`, §4 technique 6: coverage is a separate axis and call, paid once, only
2
- * when asked. Wraps `computeVerificationStatus` (the static half). Never names a language (rule
3
- * 1) — an earlier extension-guessing design tripped the boundary lint, so it now asks each
4
- * loaded adapter's `ownsPath` instead. Resolves a ref by node id first, then file (the file's own
5
- * informative `FILE` node when one carries real resolution, else the weakest-resolution member
6
- * among whatever real (non-stub) evidence exists for that file — a `git-history`-produced FILE
7
- * node at resolution 0 is a per-touched-file identity marker, not analysis, and must never win by
8
- * merely being present; see `representativeForFile`) — neither way found means `notExercised`. */
9
- import { getNode, findNodes, computeVerificationStatus, observedTestCoverage, resolutionOfExercised, } from "@descryy/core";
10
- import { answer, optionalStringArray, ToolInputError, } from "./kit.js";
11
- import { loadSources } from "../registry.js";
12
- const SCHEMA = {
13
- type: "object",
14
- properties: {
15
- refs: {
16
- type: "array",
17
- items: { type: "string" },
18
- minItems: 1,
19
- description: "Node ids and/or repository-relative file paths to check coverage for — typically ids " +
20
- "already returned by an earlier call (impact, scope, contracts) that you now want to know " +
21
- "whether the graph actually reached.",
22
- },
23
- },
24
- required: ["refs"],
25
- additionalProperties: false,
26
- };
27
- /** `git-history` (`packages/core/src/sources/git/source.ts`) emits a `FILE` node at resolution 0,
28
- * `language: null`, for *every* file it has ever seen touched — a co-change identity marker, not
29
- * analysis, and it is emitted regardless of what any language adapter separately produced for that
30
- * same file. `adapter-typescript` (and other language adapters) emit no `FILE`-type node at all,
31
- * only `FUNCTION`/`CLASS`/etc. So once git-history is configured (the default), that R0 stub is
32
- * routinely the *only* `FILE`-typed node for a file that a real adapter analysed at R3 — and this
33
- * function must not let "is a FILE node" stand in for "carries real information about the file". */
34
- function isInformativeFileNode(n) {
35
- return n.type === "FILE" && n.resolution > 0;
36
- }
37
- /** True for exactly the nodes a resolution-0 `FILE` stub (see `isInformativeFileNode`) covers —
38
- * used to exclude that stub from the "weakest link" pool below so it can never win by inclusion. */
39
- function isResolutionZeroFileStub(n) {
40
- return n.type === "FILE" && n.resolution === 0;
41
- }
42
- /** The file's own `FILE` node when it carries real per-file resolution (an adapter or future
43
- * producer that actually analysed the file as a whole, not a git-history co-change stub) — among
44
- * ties, the weakest, matching the fallback's convention below. Otherwise, the weakest-resolution
45
- * node among whatever *real* (non-stub) evidence exists for the file: the same "report the weakest
46
- * link" convention `resolutionFloor` uses elsewhere in this package, since a file is only as
47
- * verified as its least-resolved member — but a resolution-0 `FILE` stub must never be allowed to
48
- * supply that minimum merely by being present alongside real, higher-resolution nodes. Only when a
49
- * file's *only* evidence is such a stub (nothing else touched it) does this fall back to reporting
50
- * the stub itself — genuinely honest in that case, since there is nothing else to report. */
51
- function representativeForFile(nodes) {
52
- const informativeFileNodes = nodes.filter(isInformativeFileNode);
53
- if (informativeFileNodes.length > 0) {
54
- return informativeFileNodes.reduce((weakest, n) => (n.resolution < weakest.resolution ? n : weakest));
55
- }
56
- const realNodes = nodes.filter((n) => !isResolutionZeroFileStub(n));
57
- const pool = realNodes.length > 0 ? realNodes : nodes;
58
- return pool.reduce((weakest, n) => (n.resolution < weakest.resolution ? n : weakest));
59
- }
60
- function resolveRef(driver, ref) {
61
- const byId = getNode(driver, ref);
62
- if (byId !== undefined)
63
- return { ref, language: byId.language, node: byId };
64
- const inFile = findNodes(driver, { file: ref });
65
- if (inFile.length > 0) {
66
- const node = representativeForFile(inFile);
67
- return { ref, language: node.language, node };
68
- }
69
- return { ref, language: null, node: null };
70
- }
71
- /** Real capabilities for whichever loaded adapter owns each unresolved ref, via `ownsPath` —
72
- * never a language name compared here (see module header). */
73
- async function capabilitiesForUnresolvedRefs(sources, unresolvedRefs, repoPath) {
74
- const capabilitiesByRef = new Map();
75
- const failedNotes = [];
76
- if (unresolvedRefs.length === 0 || sources.length === 0)
77
- return { capabilitiesByRef, failedNotes };
78
- const { loaded, failed } = await loadSources(sources, repoPath);
79
- try {
80
- for (const ref of unresolvedRefs) {
81
- const owner = loaded.find((entry) => entry.adapter?.ownsPath?.(ref) === true);
82
- if (owner?.adapter !== undefined && owner?.adapter !== null) {
83
- capabilitiesByRef.set(ref, owner.adapter.capabilities());
84
- }
85
- }
86
- }
87
- finally {
88
- await Promise.all(loaded.map((entry) => entry.adapter?.dispose()));
89
- }
90
- for (const failure of failed) {
91
- failedNotes.push(`A configured source (${failure.spec.module}) did not import (${failure.reason}), so it could ` +
92
- "not be asked whether it owns any of this call's unresolved refs.");
93
- }
94
- return { capabilitiesByRef, failedNotes };
95
- }
96
- async function run(args, ctx) {
97
- const refs = optionalStringArray(args, "refs") ?? [];
98
- if (refs.length === 0) {
99
- throw new ToolInputError('"refs" must name at least one node id or file path — with none, there is nothing to report ' +
100
- "coverage for, and an empty answer would look like a check that ran");
101
- }
102
- const driver = ctx.session.store().driver;
103
- const base = ctx.session.provider().baseStamp();
104
- ctx.progress(`Checking coverage for ${refs.length} ref(s)`);
105
- const resolved = refs.map((ref) => resolveRef(driver, ref));
106
- const unresolvedRefs = resolved.filter((r) => r.node === null).map((r) => r.ref);
107
- const { capabilitiesByRef, failedNotes } = await capabilitiesForUnresolvedRefs(ctx.session.config.sources, unresolvedRefs, ctx.session.repoPath);
108
- const scope = resolved.map((r) => ({
109
- ref: r.ref,
110
- language: r.language,
111
- node: r.node,
112
- capabilities: r.node === null ? capabilitiesByRef.get(r.ref) : undefined,
113
- }));
114
- const status = computeVerificationStatus(scope);
115
- const exercised = status.exercised.map((entry) => resolutionOfExercised(entry));
116
- // The runtime half is composed here, not inside computeVerificationStatus (static-only by
117
- // design) — same posture as observe_runtime. Only resolved refs can be looked up.
118
- const lookupIds = resolved.filter((r) => r.node !== null).map((r) => r.node.id);
119
- const coverage = observedTestCoverage(driver, lookupIds);
120
- const verifiedByTests = resolved.flatMap((r) => {
121
- if (r.node === null)
122
- return [];
123
- const found = coverage.get(r.node.id);
124
- if (found === undefined)
125
- return [];
126
- return [
127
- {
128
- ref: r.ref,
129
- // Every test reaching this ref crossed the same kind of link, so the
130
- // ref is "direct" only when the caller asked about the test case itself.
131
- direct: found.tests.every((t) => t.direct),
132
- tests: found.tests.map((t) => ({
133
- qualifiedName: t.qualifiedName,
134
- outcome: t.outcome,
135
- runId: t.runId,
136
- })),
137
- },
138
- ];
139
- });
140
- return answer({
141
- headline: (exercised.length === refs.length
142
- ? `All ${refs.length} ref(s) were reached by the graph.`
143
- : `${exercised.length} of ${refs.length} ref(s) were reached by the graph; ` +
144
- `${status.notExercised.length} were not — see notExercised for why.`) +
145
- (verifiedByTests.length > 0
146
- ? ` ${verifiedByTests.length} of them ${verifiedByTests.length === 1 ? "has" : "have"} an observed test run behind ${verifiedByTests.length === 1 ? "it" : "them"}.`
147
- : ""),
148
- data: { checked: refs, exercised, notExercised: status.notExercised, verifiedByTests },
149
- resolutionFloor: exercised.length === 0 ? 0 : Math.min(...exercised.map((e) => e.resolution)),
150
- commitSha: base.commitSha,
151
- graphBuiltAt: base.graphBuiltAt,
152
- irSchemaVersion: base.irSchemaVersion,
153
- commitSpread: base.commitSpread,
154
- repoCount: base.repoCount,
155
- // A presence/coverage claim ("was this ref reached, and at what resolution")
156
- // is about identity, not shape — the same class impact/history/similar_incidents
157
- // already use.
158
- nameLevel: true,
159
- notes: [
160
- ...(status.notExercised.length === 0
161
- ? []
162
- : [
163
- "This tool never names a language for an absent ref — it only asks each configured, " +
164
- "loaded adapter whether it owns that path. See each notExercised reason for exactly " +
165
- "what was determined.",
166
- ]),
167
- // Two different facts wear the same empty list, and reading one as the
168
- // other is the whole failure this axis exists to prevent.
169
- ...(verifiedByTests.length === 0
170
- ? [
171
- "No observed test run bears on any of these refs. That is not the same as \"nothing " +
172
- "tests this\": it is also what you see when no suite has been run through observe_tests " +
173
- "yet, and this tool cannot tell those apart from the ledger alone.",
174
- ]
175
- : [
176
- "verifiedByTests reports that a test which claims to cover a ref actually ran, and how it " +
177
- "finished. Where direct is false the claim crosses a static TESTS edge: the run witnessed " +
178
- "the test executing, not the test touching that ref. An outcome of failed or skipped is " +
179
- "reported rather than filtered — being covered by a failing test is not being verified.",
180
- ]),
181
- ...failedNotes,
182
- ],
183
- });
184
- }
185
- export const verificationStatusTool = {
186
- name: "verification_status",
187
- class: "read",
188
- tier: "evidence",
189
- version: "1.0.0",
190
- title: "Was this actually checked, and at what resolution?",
191
- description: "Given a list of node ids and/or file paths, report which were actually reached by the graph " +
192
- "and at what resolution, and which were not — with why, where determinable. Coverage is a " +
193
- "separate axis from any finding's confidence (§19/§20): use this after another call to learn " +
194
- "what that call's answer does and does not actually cover, rather than trusting silence as " +
195
- "coverage. When a session's configured adapters can say whether they own an unreached file, " +
196
- "real declared capabilities are attached to explain the gap more precisely — see the tool's own " +
197
- "notes when some refs are not exercised. When a test suite has been run through observe_tests, " +
198
- "verifiedByTests additionally reports which of these refs a real run bore on and how those tests " +
199
- "finished — the difference between what the graph could reach and what was actually executed.",
200
- inputSchema: SCHEMA,
201
- run,
202
- };
203
- //# sourceMappingURL=verification-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification-status.js","sourceRoot":"","sources":["../../src/tools/verification-status.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /** `verify_claim`, MK-12: offers G1/G2 (`ai-governance-spec.md` §2/§3) as a voluntary lookup — the
2
- * full pipeline doesn't run here (MK-11). `path` checks a dot-path resolves in a recorded call's
3
- * result (G1); `target` is a plain substring search (G2-shaped, disclosed as weaker — it can't
4
- * see whether the string was accepted or rejected). Never returns `confirmed` (MK-11): it
5
- * enforces nothing, just converts "we cannot check" into "we offered and it declined." */
6
- import { type ToolDefinition } from "./kit.ts";
7
- /**
8
- * Three outcomes, not two (F1/F4, UAT Phase 5): "grounded" and "not grounded" are both
9
- * verdicts about a claim that was actually checked. A claim with neither `path` nor
10
- * `target` was never checked at all — reporting it as `notGrounded` would say "this is
11
- * false" about something nobody looked at, the same `empty`-vs-`refused` confusion the
12
- * envelope's own five-state contract exists to prevent, one layer further in.
13
- */
14
- export type ClaimVerdict = "grounded" | "notGrounded" | "unverifiable";
15
- export interface VerifyClaimResult {
16
- readonly statement: string;
17
- readonly callId: string;
18
- readonly verdict: ClaimVerdict;
19
- readonly reason: string;
20
- }
21
- export interface VerifyClaimData {
22
- readonly checked: number;
23
- readonly grounded: number;
24
- readonly notGrounded: number;
25
- readonly unverifiable: number;
26
- readonly results: readonly VerifyClaimResult[];
27
- }
28
- export declare const verifyClaimTool: ToolDefinition;
29
- //# sourceMappingURL=verify-claim.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-claim.d.ts","sourceRoot":"","sources":["../../src/tools/verify-claim.ts"],"names":[],"mappings":"AAAA;;;;2FAI2F;AAE3F,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAyClB;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAChD;AAgLD,eAAO,MAAM,eAAe,EAAE,cAc7B,CAAC"}
@@ -1,220 +0,0 @@
1
- /** `verify_claim`, MK-12: offers G1/G2 (`ai-governance-spec.md` §2/§3) as a voluntary lookup — the
2
- * full pipeline doesn't run here (MK-11). `path` checks a dot-path resolves in a recorded call's
3
- * result (G1); `target` is a plain substring search (G2-shaped, disclosed as weaker — it can't
4
- * see whether the string was accepted or rejected). Never returns `confirmed` (MK-11): it
5
- * enforces nothing, just converts "we cannot check" into "we offered and it declined." */
6
- import { answer, requiredString, ToolInputError, } from "./kit.js";
7
- const SCHEMA = {
8
- type: "object",
9
- properties: {
10
- claims: {
11
- type: "array",
12
- minItems: 1,
13
- items: {
14
- type: "object",
15
- properties: {
16
- statement: {
17
- type: "string",
18
- description: "The claim's own text, carried through unexamined — this tool checks its citation, not its wording.",
19
- },
20
- callId: {
21
- type: "string",
22
- description: 'The recorded call id this claim rests on — the "id" field from an earlier reply this session.',
23
- },
24
- path: {
25
- type: "string",
26
- description: 'A dot-path into that call\'s structuredContent, e.g. "data.affected.0.id" — checked to actually resolve, not just be well-formed.',
27
- },
28
- target: {
29
- type: "string",
30
- description: "A literal string (typically a node id or file path) that must appear somewhere in that call's recorded result — a plain substring search, not a structural check.",
31
- },
32
- },
33
- required: ["statement", "callId"],
34
- additionalProperties: false,
35
- },
36
- description: "Draft claims to check. Each must give a path, a target, or both — a callId alone with neither checks nothing.",
37
- },
38
- },
39
- required: ["claims"],
40
- additionalProperties: false,
41
- };
42
- function readClaims(args) {
43
- const raw = args["claims"];
44
- if (!Array.isArray(raw) || raw.length === 0) {
45
- throw new ToolInputError('"claims" must be a non-empty array — with none, there is nothing to verify');
46
- }
47
- return raw.map((entry, index) => {
48
- if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
49
- throw new ToolInputError(`claims[${index}] must be an object`);
50
- }
51
- const claim = entry;
52
- const statement = requiredString(claim, "statement");
53
- const callId = requiredString(claim, "callId");
54
- const path = claim["path"];
55
- const target = claim["target"];
56
- if (path !== undefined && typeof path !== "string")
57
- throw new ToolInputError(`claims[${index}].path must be a string`);
58
- if (target !== undefined && typeof target !== "string")
59
- throw new ToolInputError(`claims[${index}].target must be a string`);
60
- return {
61
- statement,
62
- callId,
63
- ...(path === undefined ? {} : { path }),
64
- ...(target === undefined ? {} : { target }),
65
- };
66
- });
67
- }
68
- /** Dot-path resolution, numeric segments indexing into an array. `undefined` means "does not resolve" — never thrown. */
69
- function resolvePath(root, path) {
70
- let current = root;
71
- for (const segment of path.split(".")) {
72
- if (current === null || current === undefined)
73
- return { found: false };
74
- if (Array.isArray(current)) {
75
- const index = Number(segment);
76
- if (!Number.isInteger(index) || index < 0 || index >= current.length)
77
- return { found: false };
78
- current = current[index];
79
- continue;
80
- }
81
- if (typeof current !== "object")
82
- return { found: false };
83
- if (!Object.hasOwn(current, segment))
84
- return { found: false };
85
- current = current[segment];
86
- }
87
- return { found: true, value: current };
88
- }
89
- /** A target string only ever matches a leaf value, never a key name — so a match inside
90
- * a node id used as an object key does not count as the target having been "returned". */
91
- function containsTargetAtValuePosition(node, target) {
92
- if (node === null || node === undefined)
93
- return false;
94
- if (typeof node === "string")
95
- return node.includes(target);
96
- if (typeof node === "number" || typeof node === "boolean")
97
- return String(node) === target || String(node).includes(target);
98
- if (Array.isArray(node))
99
- return node.some((item) => containsTargetAtValuePosition(item, target));
100
- if (typeof node === "object")
101
- return Object.values(node).some((v) => containsTargetAtValuePosition(v, target));
102
- return false;
103
- }
104
- /** Structural comparison for the case where a claim names both a path and a target: the
105
- * value actually found at that path must equal the target, not merely co-occur with it
106
- * somewhere in the same serialized result (F1 — this is the join that was missing). Only
107
- * scalars can match a string target; an object or array resolved at the path never does,
108
- * because a single string cannot faithfully assert "this whole structure". */
109
- function valueMatchesTarget(value, target) {
110
- if (typeof value === "string")
111
- return value === target;
112
- if (typeof value === "number" || typeof value === "boolean")
113
- return String(value) === target;
114
- return false;
115
- }
116
- function checkClaim(call, claim) {
117
- if (claim.path !== undefined && claim.target !== undefined) {
118
- const resolved = resolvePath(call.result, claim.path);
119
- if (!resolved.found) {
120
- return { ok: false, reason: `"${claim.path}" does not resolve in ${call.tool}'s recorded result` };
121
- }
122
- if (!valueMatchesTarget(resolved.value, claim.target)) {
123
- return {
124
- ok: false,
125
- reason: `"${claim.path}" resolves to ${JSON.stringify(resolved.value)} in ${call.tool}'s recorded result, not "${claim.target}"`,
126
- };
127
- }
128
- return { ok: true, reason: `cites ${call.tool}'s recorded result, where "${claim.path}" resolves to "${claim.target}"` };
129
- }
130
- if (claim.path !== undefined) {
131
- const resolved = resolvePath(call.result, claim.path);
132
- if (!resolved.found) {
133
- return { ok: false, reason: `"${claim.path}" does not resolve in ${call.tool}'s recorded result` };
134
- }
135
- return { ok: true, reason: `cites ${call.tool}'s recorded result, which has "${claim.path}"` };
136
- }
137
- // target only: a substring search, weaker than a path check, and the reason says so —
138
- // this is not a structural claim about which field the value came from (F1, part 2).
139
- const target = claim.target;
140
- if (!containsTargetAtValuePosition(call.result, target)) {
141
- return { ok: false, reason: `"${target}" does not appear anywhere in ${call.tool}'s recorded result — not part of what that call returned` };
142
- }
143
- return {
144
- ok: true,
145
- reason: `cites ${call.tool}'s recorded result, which contains "${target}" (a substring match only — no specific field was checked)`,
146
- };
147
- }
148
- function headlineFor(checked, grounded, notGrounded, unverifiable) {
149
- if (grounded === checked)
150
- return `All ${checked} claim(s) cite this session's own recorded facts.`;
151
- const parts = [`${grounded} of ${checked} claim(s) are grounded`];
152
- if (notGrounded > 0)
153
- parts.push(`${notGrounded} cite something this session never actually returned`);
154
- if (unverifiable > 0)
155
- parts.push(`${unverifiable} could not be checked — no path or target was given`);
156
- return `${parts.join("; ")}.`;
157
- }
158
- async function run(args, ctx) {
159
- const claims = readClaims(args);
160
- ctx.progress(`Checking ${claims.length} claim(s) against this session's recorded tool calls`);
161
- const results = claims.map((claim) => {
162
- if (claim.path === undefined && claim.target === undefined) {
163
- return {
164
- statement: claim.statement,
165
- callId: claim.callId,
166
- verdict: "unverifiable",
167
- reason: 'neither "path" nor "target" was given — a callId alone checks nothing, so this claim was never checked either way',
168
- };
169
- }
170
- const call = ctx.session.recordedCall(claim.callId);
171
- if (call === undefined) {
172
- return {
173
- statement: claim.statement,
174
- callId: claim.callId,
175
- verdict: "notGrounded",
176
- reason: `no recorded tool call with id "${claim.callId}" in this session — either it was never made, or it belongs to a different session's run (G1's own negative control)`,
177
- };
178
- }
179
- const outcome = checkClaim(call, claim);
180
- return { statement: claim.statement, callId: claim.callId, verdict: outcome.ok ? "grounded" : "notGrounded", reason: outcome.reason };
181
- });
182
- const grounded = results.filter((r) => r.verdict === "grounded").length;
183
- const notGrounded = results.filter((r) => r.verdict === "notGrounded").length;
184
- const unverifiable = results.filter((r) => r.verdict === "unverifiable").length;
185
- return answer({
186
- headline: headlineFor(results.length, grounded, notGrounded, unverifiable),
187
- data: { checked: results.length, grounded, notGrounded, unverifiable, results },
188
- // Not a graph query — no resolution level, no commit, no schema version
189
- // applies. `nameLevel: true` because this checks presence (did this
190
- // exact text appear), the same axis `verification_status` reports on.
191
- resolutionFloor: 0,
192
- commitSha: null,
193
- graphBuiltAt: null,
194
- irSchemaVersion: 0,
195
- // No graph consulted, so no commit spread — 0 says "not a graph question," not a hidden spread.
196
- commitSpread: 0,
197
- repoCount: 0,
198
- nameLevel: true,
199
- notes: [
200
- "This tool checks citations against calls made earlier in this same session only — it has no " +
201
- "memory across separate server processes, and it does not run the full governance pipeline " +
202
- '(MK-11): "grounded" here means "cites a real, recorded fact," never "confirmed."',
203
- ],
204
- });
205
- }
206
- export const verifyClaimTool = {
207
- name: "verify_claim",
208
- class: "read",
209
- tier: "evidence",
210
- version: "1.0.0",
211
- title: "Does this claim actually cite something this session returned?",
212
- description: "Given draft claims, each citing an earlier call in this session by its callId and a path and/or " +
213
- "a target string, report which are grounded in that call's real recorded result and which are not " +
214
- "— catching an invented path, a citation to a call that never happened, or a target string this " +
215
- "session never actually returned. Voluntary: nothing else in this surface reads or enforces the " +
216
- 'result. Never returns "confirmed" — see the tool\'s own module doc for why.',
217
- inputSchema: SCHEMA,
218
- run,
219
- };
220
- //# sourceMappingURL=verify-claim.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-claim.js","sourceRoot":"","sources":["../../src/tools/verify-claim.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * `workspace` — merges `analyze`, `analyze_workspace` and `link_workspace`
3
- * behind one `verb` (documents/plans/mcp-surface-consolidation.md §2, group 1).
4
- * All three are `stateful-read`/`evidence`, so the merge crosses neither
5
- * boundary.
6
- *
7
- * Dispatch only. Each verb's own `run()` body is untouched and stays in its
8
- * own module (`analyze.ts` / `analyze-workspace.ts` / `link-workspace.ts`) —
9
- * this file never holds a second copy of that logic, it only routes to it
10
- * after `selectVerb` has re-established, per verb, the argument strength a
11
- * flat union schema loses (`verb.ts`'s own header explains why that is
12
- * mandatory once a schema covers more than one verb).
13
- */
14
- import type { ToolDefinition } from "./kit.ts";
15
- import type { AnalyzeData } from "./analyze.ts";
16
- import type { AnalyzeWorkspaceData } from "./analyze-workspace.ts";
17
- import type { LinkWorkspaceData } from "./link-workspace.ts";
18
- /**
19
- * What this tool answers with: one verb's shape, never a merged one.
20
- *
21
- * The merge cost this its single concrete output type, and `unknown` would have
22
- * silently retired `output-shapes.test.ts`'s check that a declared shape is tied
23
- * to the code producing it. A union keeps that tie: a verb added without its
24
- * shape here stops compiling.
25
- */
26
- export type WorkspaceData = AnalyzeData | AnalyzeWorkspaceData | LinkWorkspaceData;
27
- export declare const workspaceTool: ToolDefinition;
28
- //# sourceMappingURL=workspace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,UAAU,CAAC;AAM5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,oBAAoB,GACpB,iBAAiB,CAAC;AAiFtB,eAAO,MAAM,aAAa,EAAE,cAa3B,CAAC"}
@@ -1,101 +0,0 @@
1
- /**
2
- * `workspace` — merges `analyze`, `analyze_workspace` and `link_workspace`
3
- * behind one `verb` (documents/plans/mcp-surface-consolidation.md §2, group 1).
4
- * All three are `stateful-read`/`evidence`, so the merge crosses neither
5
- * boundary.
6
- *
7
- * Dispatch only. Each verb's own `run()` body is untouched and stays in its
8
- * own module (`analyze.ts` / `analyze-workspace.ts` / `link-workspace.ts`) —
9
- * this file never holds a second copy of that logic, it only routes to it
10
- * after `selectVerb` has re-established, per verb, the argument strength a
11
- * flat union schema loses (`verb.ts`'s own header explains why that is
12
- * mandatory once a schema covers more than one verb).
13
- */
14
- import { selectVerb } from "./verb.js";
15
- import { analyzeTool } from "./analyze.js";
16
- import { analyzeWorkspaceTool } from "./analyze-workspace.js";
17
- import { linkWorkspaceTool } from "./link-workspace.js";
18
- const VERBS = ["analyze", "index", "link"];
19
- const VERB_SPECS = [
20
- { verb: "analyze", accepts: ["includeHistory", "maxCommits", "reload"] },
21
- { verb: "index", accepts: ["includeHistory", "maxCommits"] },
22
- { verb: "link", accepts: ["workspace", "repos"] },
23
- ];
24
- const SCHEMA = {
25
- type: "object",
26
- properties: {
27
- verb: {
28
- type: "string",
29
- enum: [...VERBS],
30
- description: '"analyze" — read this repository into the code graph. "index" — read every repository a ' +
31
- 'prior "link" declared into one shared graph. "link" — declare which repositories share a ' +
32
- "workspace.",
33
- },
34
- includeHistory: {
35
- type: "boolean",
36
- description: "analyze/index. Read git history for co-change coupling. Default true.",
37
- },
38
- maxCommits: {
39
- type: "integer",
40
- minimum: 1,
41
- description: "analyze/index. Cap on commits read from history. Default 2000.",
42
- },
43
- reload: {
44
- type: "boolean",
45
- description: "analyze only. Re-read .descry/config.json from disk before this run, instead of the " +
46
- "configuration this server started with.",
47
- },
48
- workspace: {
49
- type: "string",
50
- description: 'link only. The workspace id to write into every repository in "repos", byte-identical.',
51
- },
52
- repos: {
53
- type: "array",
54
- minItems: 2,
55
- items: {
56
- type: "object",
57
- properties: {
58
- path: { type: "string", description: "Absolute path to the repository on disk." },
59
- repo: { type: "string", description: "This repository's identity, written explicitly." },
60
- },
61
- required: ["path", "repo"],
62
- additionalProperties: false,
63
- },
64
- description: "link only. Every repository that should share this workspace, including the current one " +
65
- "if it should join. Only ones the user has explicitly confirmed belong together — never " +
66
- "inferred.",
67
- },
68
- },
69
- required: ["verb"],
70
- additionalProperties: false,
71
- };
72
- const DISPATCH = {
73
- analyze: analyzeTool,
74
- index: analyzeWorkspaceTool,
75
- link: linkWorkspaceTool,
76
- };
77
- async function run(args, ctx) {
78
- const verb = selectVerb(args, "verb", VERB_SPECS);
79
- // `ToolDefinition` erases its answer's type parameter — it has to, the
80
- // registry is one array of many shapes — so the delegated call comes back as
81
- // an erased answer type. The verb table is what makes the union true: every
82
- // entry's own `run` is declared against one of WorkspaceData's members, and a verb
83
- // added without its shape stops compiling at the union. The assertion
84
- // re-applies what the table already guarantees rather than asserting
85
- // something unchecked.
86
- return (await DISPATCH[verb].run(args, ctx));
87
- }
88
- export const workspaceTool = {
89
- name: "workspace",
90
- class: "stateful-read",
91
- tier: "evidence",
92
- version: "1.0.0",
93
- title: "Analyse a repository or workspace into the code graph",
94
- description: "Read source into the code graph, or declare which repositories share a workspace, by verb: " +
95
- '"analyze" (one repository, with its configured adapters), "index" (every repository a prior ' +
96
- '"link" call declared, into one shared graph), "link" (write a workspace id into each named ' +
97
- "repository's config — only after the user has explicitly confirmed they belong together).",
98
- inputSchema: SCHEMA,
99
- run,
100
- };
101
- //# sourceMappingURL=workspace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"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"}