@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,442 +0,0 @@
1
- /**
2
- * `validate` — §15 static validation: env/config checks.
3
- * Omits a var unless its read fails-on-absence AND declaration surface is complete
4
- * (18/107 wrong findings measured otherwise); refuses rather than `ok` when no reads
5
- * exist. Pass `files` for NEW_READ_UNDECLARED — catches accessor-shape-independent reads.
6
- * Add `changedLines` (from get_git_diff's patch) to verify against an added line rather
7
- * than a file scope, and get `defect` instead of `lead` back for it — see C2, UAT phase 4. */
8
- import { existsSync } from "node:fs";
9
- import { join } from "node:path";
10
- import { buildConfigGraph, checkAttributeExistence, checkEnvironment, checkMigrationIntegrity, checkObservedRoutes, checkOrmModelRegistration, checkRollbackReadiness, declaredRoutesFrom, scanConfigSurfaces, scanMigrations, } from "@descryy/core";
11
- import { EvidenceStore } from "@descryy/runtime-evidence-store";
12
- import { extractObservedRouteEvidence } from "../evidence/observed-route-evidence.js";
13
- import { optionalInteger, optionalStringArray, ToolInputError, } from "./kit.js";
14
- import { DEFAULT_EVIDENCE_RELATIVE_PATH } from "./observe-runtime.js";
15
- /**
16
- * Flattens every one of `validate`'s finding sources into one array: the
17
- * top-level env array plus the nested reports (`rollback`, `attributeExistence`,
18
- * `migrationIntegrity`, `ormRegistration`, `observedRoutes`).
19
- *
20
- * `validate` publishes findings across several separate sub-objects because
21
- * each check examines a different kind of evidence and discloses its own
22
- * `ran`/`examined`/`withheld` detail alongside its findings. A composer that
23
- * reads only one of them silently drops the rest — the exact failure UAT
24
- * phase 5 §4 found in `pre_push`, which read `data.findings` and nothing
25
- * else. This function is the one place that knows the full list, so a new
26
- * sub-check added here is inherited by every composer automatically instead
27
- * of requiring a second, easily-forgotten edit at each call site.
28
- */
29
- export function collectValidateFindings(data) {
30
- return [
31
- ...data.findings,
32
- ...data.rollback.findings,
33
- ...data.attributeExistence.findings,
34
- ...data.migrationIntegrity.findings,
35
- ...data.ormRegistration.findings,
36
- ...data.observedRoutes.findings,
37
- ];
38
- }
39
- const SCHEMA = {
40
- type: "object",
41
- properties: {
42
- files: {
43
- type: "array",
44
- items: { type: "string" },
45
- description: "Restrict the code side to these repo-relative files — the scoped-subgraph run. " +
46
- "Configuration files are always read in full, because a declaration is repository-wide. " +
47
- "Also enables a second, stronger env-var rule (NEW_READ_UNDECLARED): a variable read in " +
48
- "one of these files and declared nowhere is reported regardless of whether the accessor " +
49
- "fails on absence, catching a case the default rule structurally cannot.",
50
- },
51
- coverageFloor: {
52
- type: "number",
53
- minimum: 0,
54
- maximum: 1,
55
- description: "Fraction of required variables the repository must declare somewhere before any " +
56
- "missing-variable finding is emitted. Default 0.6. Lowering it trades precision for " +
57
- "recall on a repository whose configuration lives outside the code.",
58
- },
59
- maxFindings: {
60
- type: "integer",
61
- minimum: 1,
62
- description: "Cap on findings returned. Default 25; overflow is disclosed, not dropped.",
63
- },
64
- changedLines: {
65
- type: "array",
66
- items: {
67
- type: "object",
68
- properties: {
69
- file: {
70
- type: "string",
71
- description: "A repo-relative path, matching one entry of \"files\".",
72
- },
73
- ranges: {
74
- type: "array",
75
- items: {
76
- type: "object",
77
- properties: {
78
- start: { type: "integer", minimum: 1 },
79
- end: { type: "integer", minimum: 1 },
80
- },
81
- required: ["start", "end"],
82
- additionalProperties: false,
83
- },
84
- description: "1-based, inclusive line ranges this file's diff actually added.",
85
- },
86
- },
87
- required: ["file", "ranges"],
88
- additionalProperties: false,
89
- },
90
- description: "Which lines the diff actually added, per file — e.g. from get_git_diff's patch text run " +
91
- "through addedLineRanges. Sharpens NEW_READ_UNDECLARED (which \"files\" alone already " +
92
- "enables) from \"in a file this call scoped to\" to \"on a line this diff actually added\": " +
93
- "without it, a pre-existing undeclared read in a file you touched for an unrelated reason is " +
94
- "reported as a lead rather than a defect, because this call cannot tell it apart from a read " +
95
- "the change just introduced. A file named in \"files\" but absent here is treated the same as " +
96
- "when this argument is omitted entirely, for that file only.",
97
- },
98
- },
99
- additionalProperties: false,
100
- };
101
- /** `changedLines`' wire shape ({ file, ranges }[], JSON-schema-friendly) into the
102
- * `Map` `checkEnvironment` takes. Malformed input is refused, not silently dropped —
103
- * a caller that thinks it narrowed the check and did not is worse off than one who
104
- * never tried. */
105
- function parseChangedLines(args) {
106
- const raw = args["changedLines"];
107
- if (raw === undefined)
108
- return undefined;
109
- if (!Array.isArray(raw)) {
110
- throw new ToolInputError('"changedLines" must be an array of { file, ranges }.');
111
- }
112
- const map = new Map();
113
- for (const entry of raw) {
114
- if (typeof entry !== "object" || entry === null) {
115
- throw new ToolInputError('Each "changedLines" entry must be an object with "file" and "ranges".');
116
- }
117
- const row = entry;
118
- const file = row["file"];
119
- const ranges = row["ranges"];
120
- if (typeof file !== "string" || file === "" || !Array.isArray(ranges)) {
121
- throw new ToolInputError('Each "changedLines" entry needs a non-empty "file" and a "ranges" array.');
122
- }
123
- const parsedRanges = [];
124
- for (const range of ranges) {
125
- const r = typeof range === "object" && range !== null ? range : null;
126
- const start = r?.["start"];
127
- const end = r?.["end"];
128
- if (typeof start !== "number" || typeof end !== "number") {
129
- throw new ToolInputError(`"changedLines" entry for "${file}" has a range that is not { start, end }.`);
130
- }
131
- parsedRanges.push({ start, end });
132
- }
133
- map.set(file, parsedRanges);
134
- }
135
- return map;
136
- }
137
- /**
138
- * UAT phase 5 §5 (D2): reads `observe_runtime`'s own evidence database, if one
139
- * already exists, and checks its `NETWORK_RESPONSE`/`HTTP_ERROR` evidence
140
- * against the graph's declared routes.
141
- *
142
- * Never creates the database — this is a read tool, and `observe_runtime` (an
143
- * action tool) is the only thing with a legitimate reason to write one.
144
- */
145
- function readObservedRoutes(repoPath, provider) {
146
- const evidencePath = join(repoPath, DEFAULT_EVIDENCE_RELATIVE_PATH);
147
- if (!existsSync(evidencePath)) {
148
- return {
149
- findings: [],
150
- examined: 0,
151
- ran: false,
152
- note: `No evidence database exists yet at ${evidencePath} — observe_runtime has not run against ` +
153
- "this repository. observedRoutes did not run.",
154
- };
155
- }
156
- const store = new EvidenceStore({ path: evidencePath });
157
- try {
158
- const events = [
159
- ...store.query({ executionId: null, eventType: "NETWORK_REQUEST" }),
160
- ...store.query({ executionId: null, eventType: "NETWORK_RESPONSE" }),
161
- ...store.query({ executionId: null, eventType: "HTTP_ERROR" }),
162
- ];
163
- const observed = extractObservedRouteEvidence(events);
164
- if (observed.length === 0) {
165
- return {
166
- findings: [],
167
- examined: 0,
168
- ran: false,
169
- note: "The evidence database exists but holds no NETWORK_RESPONSE/HTTP_ERROR evidence with a " +
170
- "usable method, URL and status. observedRoutes did not run.",
171
- };
172
- }
173
- const result = checkObservedRoutes(observed, declaredRoutesFrom(provider));
174
- return { findings: result.findings, examined: result.examined, ran: true, note: null };
175
- }
176
- finally {
177
- store.close();
178
- }
179
- }
180
- async function run(args, ctx) {
181
- const files = optionalStringArray(args, "files");
182
- const maxFindings = optionalInteger(args, "maxFindings", 1);
183
- const rawFloor = args["coverageFloor"];
184
- const coverageFloor = typeof rawFloor === "number" && rawFloor >= 0 && rawFloor <= 1 ? rawFloor : undefined;
185
- const changedLines = parseChangedLines(args);
186
- ctx.progress("Reading configuration files");
187
- const scan = scanConfigSurfaces(ctx.session.repoPath);
188
- ctx.progress("Cross-checking against environment reads in the graph");
189
- const provider = ctx.session.provider();
190
- const checked = checkEnvironment(provider, scan, {
191
- ...(files === undefined ? {} : { files }),
192
- ...(maxFindings === undefined ? {} : { maxFindings }),
193
- ...(coverageFloor === undefined ? {} : { coverageFloor }),
194
- ...(changedLines === undefined ? {} : { changedLines }),
195
- });
196
- ctx.progress("Tracing what depends on each configuration variable");
197
- const configGraph = buildConfigGraph(provider, scan);
198
- ctx.progress("Reading migrations for destructive operations");
199
- const rollback = checkRollbackReadiness(provider, scanMigrations(ctx.session.repoPath), {
200
- ...(files === undefined ? {} : { files }),
201
- ...(maxFindings === undefined ? {} : { maxFindings }),
202
- });
203
- ctx.progress("Checking attribute reads against declared types");
204
- const attributeExistence = checkAttributeExistence(provider, {
205
- ...(files === undefined ? {} : { files }),
206
- ...(maxFindings === undefined ? {} : { maxFindings }),
207
- });
208
- ctx.progress("Checking migration location and revision chain");
209
- const migrationIntegrity = checkMigrationIntegrity(provider, {
210
- ...(files === undefined ? {} : { files }),
211
- ...(maxFindings === undefined ? {} : { maxFindings }),
212
- });
213
- ctx.progress("Checking ORM models are reached by their package's __init__");
214
- const ormRegistration = checkOrmModelRegistration(provider, {
215
- ...(files === undefined ? {} : { files }),
216
- ...(maxFindings === undefined ? {} : { maxFindings }),
217
- });
218
- ctx.progress("Checking observed HTTP responses against declared routes");
219
- const observedRoutes = readObservedRoutes(ctx.session.repoPath, provider);
220
- const report = checked.data;
221
- const defects = report.findings.filter((f) => f.claim === "defect").length +
222
- attributeExistence.data.findings.length +
223
- migrationIntegrity.data.findings.length;
224
- const leads = report.findings.length - report.findings.filter((f) => f.claim === "defect").length;
225
- // Nothing compared at all: no config files, reads, migrations, attribute reads,
226
- // or migration revisions — any one alone is a real answer, none of them is not.
227
- const nothingToCheck = report.surfaces.length === 0 &&
228
- !report.readsAvailable &&
229
- !rollback.data.ran &&
230
- !attributeExistence.data.ran &&
231
- !migrationIntegrity.data.ran &&
232
- !ormRegistration.data.ran &&
233
- !observedRoutes.ran;
234
- // A `files` scope matching zero FILE nodes means those files were never read into
235
- // the graph (bad path, or unparsed) — not "read and clean". Same collapse as
236
- // `contracts(paths)`, one level down.
237
- const filesMatchedNothing = files !== undefined && report.reads.filesWithReads + report.reads.filesWithoutReads === 0;
238
- // Leads and rollback findings are worth a look; defects are what this tool exists
239
- // to catch. Never blur the two into one count (see EnvFindingReport.claim).
240
- const otherFindings = leads + rollback.data.findings.length + ormRegistration.data.findings.length + observedRoutes.findings.length;
241
- // A "Clean" verdict from a files scope matching nothing would misreport "checked,
242
- // fine" when nothing was read. Only pure-Clean is downgraded — real findings from
243
- // unscoped checks still surface.
244
- const falseClean = filesMatchedNothing && defects === 0 && otherFindings === 0;
245
- const verdict = falseClean
246
- ? "not checked"
247
- : defects > 0
248
- ? `${defects} defect(s) found`
249
- : otherFindings > 0
250
- ? `No defects; ${otherFindings} lead(s)/rollback finding(s) to review`
251
- : "Clean";
252
- const scopeNotes = filesMatchedNothing
253
- ? [
254
- `0 of the ${(files ?? []).length} named file(s) matched a FILE node this graph's read side ` +
255
- "considered — either the path is wrong, or the file was never read into the graph. The " +
256
- "environment-read half of this report has nothing to say about them; it is not evidence " +
257
- "they are clean.",
258
- ]
259
- : [];
260
- // render.ts requires truncatedDetail whenever truncated=true. `truncated` folds 5
261
- // independently-truncatable sources; shown/total cover the finding lists a
262
- // maxFindings cap acts on — configGraph's own truncation stays prose-only.
263
- // `observedRoutes` has no cap of its own (bounded by evidence volume, not by
264
- // this tool), so it contributes the same count to both.
265
- const shown = report.findings.length +
266
- rollback.data.findings.length +
267
- attributeExistence.data.findings.length +
268
- migrationIntegrity.data.findings.length +
269
- ormRegistration.data.findings.length +
270
- observedRoutes.findings.length;
271
- const total = report.findingsTotal +
272
- rollback.data.findingsTotal +
273
- attributeExistence.data.findingsTotal +
274
- migrationIntegrity.data.findingsTotal +
275
- ormRegistration.data.findingsTotal +
276
- observedRoutes.findings.length;
277
- const truncated = checked.truncated ||
278
- rollback.truncated ||
279
- attributeExistence.truncated ||
280
- migrationIntegrity.truncated ||
281
- ormRegistration.truncated ||
282
- configGraph.truncated;
283
- const truncatedDetail = truncated
284
- ? { shown, total: Math.max(total, shown), more: null }
285
- : undefined;
286
- return {
287
- result: {
288
- ...checked,
289
- data: {
290
- findings: report.findings.map((f) => ({
291
- kind: f.kind,
292
- name: f.name,
293
- claim: f.claim,
294
- detail: f.detail,
295
- evidence: f.evidence,
296
- resolution: f.resolution,
297
- })),
298
- findingsTotal: report.findingsTotal,
299
- surfaces: report.surfaces,
300
- reads: report.reads,
301
- coverage: report.coverage,
302
- declaredNeverRead: report.declaredNeverRead,
303
- readsAvailable: report.readsAvailable,
304
- // §15.3's third check feeds the first. Only variables with a computable
305
- // dependent set are carried — unknown count is not a zero, not worth a row.
306
- configGraph: {
307
- counts: configGraph.data.counts,
308
- importsAvailable: configGraph.data.importsAvailable,
309
- mostDependedOn: configGraph.data.variables
310
- .filter((v) => v.dependents !== null && v.dependents > 0)
311
- .slice(0, 10)
312
- .map((v) => ({
313
- name: v.name,
314
- dependents: v.dependents,
315
- truncated: v.dependentsTruncated,
316
- readAt: v.readAt.slice(0, 3),
317
- sample: v.dependentSample,
318
- })),
319
- },
320
- rollback: {
321
- findings: rollback.data.findings,
322
- findingsTotal: rollback.data.findingsTotal,
323
- examined: rollback.data.examined,
324
- withheld: rollback.data.withheld,
325
- ran: rollback.data.ran,
326
- blockers: rollback.data.blockers,
327
- },
328
- attributeExistence: {
329
- findings: attributeExistence.data.findings,
330
- findingsTotal: attributeExistence.data.findingsTotal,
331
- examined: attributeExistence.data.examined,
332
- ran: attributeExistence.data.ran,
333
- },
334
- migrationIntegrity: {
335
- findings: migrationIntegrity.data.findings,
336
- findingsTotal: migrationIntegrity.data.findingsTotal,
337
- examined: migrationIntegrity.data.examined,
338
- migrationsDirectory: migrationIntegrity.data.migrationsDirectory,
339
- ran: migrationIntegrity.data.ran,
340
- withheld: migrationIntegrity.data.withheld,
341
- },
342
- ormRegistration: {
343
- findings: ormRegistration.data.findings,
344
- findingsTotal: ormRegistration.data.findingsTotal,
345
- examined: ormRegistration.data.examined,
346
- ran: ormRegistration.data.ran,
347
- withheld: ormRegistration.data.withheld,
348
- },
349
- observedRoutes: {
350
- findings: observedRoutes.findings,
351
- findingsTotal: observedRoutes.findings.length,
352
- examined: observedRoutes.examined,
353
- ran: observedRoutes.ran,
354
- },
355
- },
356
- // Every check's disclosures reach the reader — dropping one half silently
357
- // is the degradation rule 7 exists to prevent.
358
- notes: [
359
- ...scopeNotes,
360
- ...(observedRoutes.note === null ? [] : [observedRoutes.note]),
361
- ...checked.notes,
362
- ...rollback.notes,
363
- ...attributeExistence.notes,
364
- ...migrationIntegrity.notes,
365
- ...ormRegistration.notes,
366
- ...configGraph.notes,
367
- ],
368
- truncated,
369
- stamp: {
370
- ...checked.stamp,
371
- resolutionFloor: Math.min(checked.stamp.resolutionFloor, rollback.stamp.resolutionFloor, attributeExistence.stamp.resolutionFloor, migrationIntegrity.stamp.resolutionFloor, ormRegistration.stamp.resolutionFloor, configGraph.stamp.resolutionFloor),
372
- },
373
- },
374
- // §11A.5's canonical name-level fact (exists or not) — the one claim R2 supports
375
- // at class A. Value shape is never asserted here.
376
- nameLevel: true,
377
- ...(truncatedDetail === undefined ? {} : { truncatedDetail }),
378
- ...(nothingToCheck
379
- ? { state: "refused" }
380
- : falseClean
381
- ? { state: "empty" }
382
- : {}),
383
- headline: nothingToCheck
384
- ? "No configuration files, environment reads, migrations or attribute reads were found, so " +
385
- "there was nothing to check."
386
- : falseClean
387
- ? `0 of the ${(files ?? []).length} named file(s) matched anything on the read side. Not ` +
388
- "checked, not clean."
389
- : `${verdict}. ${report.surfaces.length} configuration file(s) declare ` +
390
- `${countDeclared(report.surfaces)} variable(s); ` +
391
- `${report.reads.required} variable(s) are read through an accessor that fails when unset; ` +
392
- `${rollback.data.examined.operations} destructive migration operation(s) examined; ` +
393
- `${attributeExistence.data.examined.readEdgesExamined} attribute read(s) checked against ` +
394
- `a declared type; ${migrationIntegrity.data.examined.modulesWithRevision} migration(s) ` +
395
- "checked for location and revision-chain integrity; " +
396
- `${ormRegistration.data.examined.candidates} ORM model(s) inheriting a declarative base ` +
397
- "checked for package-import reachability; " +
398
- `${observedRoutes.examined} observed HTTP response(s) checked against declared routes.`,
399
- };
400
- }
401
- function countDeclared(surfaces) {
402
- return surfaces.reduce((total, s) => total + s.declared, 0);
403
- }
404
- export const validateTool = {
405
- name: "validate",
406
- class: "read",
407
- tier: "conclusion",
408
- // 1.1.0 (C2, UAT phase 4): without "changedLines", NEW_READ_UNDECLARED for a
409
- // pre-existing read in a "files"-scoped file is now a `lead`, worded without
410
- // an authorship claim, where it used to be a `defect` calling it "a new read
411
- // this change introduces" — a claim `files` alone never supported. A caller
412
- // that passes "changedLines" gets the stronger `defect` back, now genuinely
413
- // verified against an added line rather than assumed from file scope.
414
- version: "1.1.0",
415
- title: "Environment and configuration checks",
416
- description: "Cross-check the environment variables the code requires against the ones this repository " +
417
- "declares. Reports a variable only when the code reads it with no fallback and no " +
418
- "configuration file declares it, and only when the repository's declaration surface is " +
419
- "complete enough for that absence to mean something — a variable supplied by a secrets " +
420
- "manager or a platform is disclosed with a count, never reported as missing. Pass \"files\" " +
421
- "(the diff you are about to push) to also catch a variable your change reads that no " +
422
- "declaration surface declares, regardless of whether the accessor fails on absence — the " +
423
- "usual shape on a codebase where almost no read is required; without \"changedLines\" this is " +
424
- "reported as a lead, because a file-scoped read cannot yet be told apart from one the diff never " +
425
- "touched. Pass \"changedLines\" (from get_git_diff's patch text) to sharpen it to a defect, " +
426
- "verified against a line the diff actually added. Also reports variables set in " +
427
- "one configuration file and documented in no example file, stated as a lead rather than a " +
428
- "defect. Two further checks, both always defects because both are provable from the graph " +
429
- "alone: an attribute read on a value whose declared type does not name it (from a READS " +
430
- "edge's attrs.unresolvedFields), and a migration whose location or declared parent revision " +
431
- "disagrees with the rest of the project's migrations (from attrs.migrationRevision, " +
432
- "migrationDownRevision and migrationDir). Both are silent wherever the producer supplied no " +
433
- "signal — absence of the attrs key is never read as a clean result. A fifth check reports a " +
434
- "class inheriting an ORM declarative base (a MODEL node with an INHERITS edge) whose own " +
435
- "module no __init__.py in its package reaches, directly or transitively — the shape behind a " +
436
- "model silently missing from Base.metadata and having its table dropped by the next " +
437
- "autogenerate. Always a lead, never a defect: an explicit scan/glob registration or a " +
438
- "deliberately excluded model triggers it without being a bug.",
439
- inputSchema: SCHEMA,
440
- run,
441
- };
442
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Per-verb argument validation for a merged tool.
3
- *
4
- * ## Why a merged tool needs this at all
5
- *
6
- * The dispatch loop refuses any argument no schema declares
7
- * (`server.ts`'s `unknownArgumentKeys`, built for UAT phase 5's F12 after
8
- * `browser_start_session({ profile })` silently read `environment` and issued
9
- * the wrong consent sentence). That check reads one flat `inputSchema`.
10
- *
11
- * A merged tool has one schema for many verbs, so its schema must declare the
12
- * *union* of every verb's properties. `text` is then a declared property of the
13
- * `browser` tool as a whole, and `browser({ verb: "snapshot", text: "hi" })`
14
- * sails through the dispatch gate — the same silent-acceptance defect, one
15
- * level further down, and invisible to the test that caught it the first time.
16
- *
17
- * So the strength the flat schema loses is re-established here, per verb. This
18
- * is the price of merging, paid explicitly rather than absorbed.
19
- *
20
- * ## Why it names the other verb
21
- *
22
- * "unknown argument" is true but useless when the argument is real and the verb
23
- * is wrong — the caller who sent `text` to `snapshot` did not misspell
24
- * anything, they picked the wrong verb. Saying *`"text"` belongs to `type`*
25
- * turns a refusal the caller must debug into one they can act on, which is the
26
- * same reason `ToolInputError` exists separately from a thrown `Error`.
27
- */
28
- export interface VerbSpec<V extends string = string> {
29
- readonly verb: V;
30
- /** Properties this verb accepts, beyond the shared ones. */
31
- readonly accepts: readonly string[];
32
- }
33
- /**
34
- * Resolve and validate the verb of a merged tool call.
35
- *
36
- * Refuses, rather than defaulting or ignoring, on: a missing verb, an unknown
37
- * verb, and any property that belongs to a different verb. Returns the verb so
38
- * the caller can switch on a value already known to be valid.
39
- *
40
- * `shared` are properties every verb accepts — a session id, a budget. A
41
- * property in neither `shared` nor any verb's `accepts` is not this function's
42
- * to judge: the dispatch gate already refused it against the declared schema,
43
- * and re-refusing it here would put the tool's property list in two places.
44
- */
45
- export declare function selectVerb<V extends string>(args: Record<string, unknown>, key: string, specs: readonly VerbSpec<V>[], shared?: readonly string[]): V;
46
- //# sourceMappingURL=verb.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verb.d.ts","sourceRoot":"","sources":["../../src/tools/verb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACjD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC7B,MAAM,GAAE,SAAS,MAAM,EAAO,GAC7B,CAAC,CAwCH"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Per-verb argument validation for a merged tool.
3
- *
4
- * ## Why a merged tool needs this at all
5
- *
6
- * The dispatch loop refuses any argument no schema declares
7
- * (`server.ts`'s `unknownArgumentKeys`, built for UAT phase 5's F12 after
8
- * `browser_start_session({ profile })` silently read `environment` and issued
9
- * the wrong consent sentence). That check reads one flat `inputSchema`.
10
- *
11
- * A merged tool has one schema for many verbs, so its schema must declare the
12
- * *union* of every verb's properties. `text` is then a declared property of the
13
- * `browser` tool as a whole, and `browser({ verb: "snapshot", text: "hi" })`
14
- * sails through the dispatch gate — the same silent-acceptance defect, one
15
- * level further down, and invisible to the test that caught it the first time.
16
- *
17
- * So the strength the flat schema loses is re-established here, per verb. This
18
- * is the price of merging, paid explicitly rather than absorbed.
19
- *
20
- * ## Why it names the other verb
21
- *
22
- * "unknown argument" is true but useless when the argument is real and the verb
23
- * is wrong — the caller who sent `text` to `snapshot` did not misspell
24
- * anything, they picked the wrong verb. Saying *`"text"` belongs to `type`*
25
- * turns a refusal the caller must debug into one they can act on, which is the
26
- * same reason `ToolInputError` exists separately from a thrown `Error`.
27
- */
28
- import { ToolInputError } from "./kit.js";
29
- /**
30
- * Resolve and validate the verb of a merged tool call.
31
- *
32
- * Refuses, rather than defaulting or ignoring, on: a missing verb, an unknown
33
- * verb, and any property that belongs to a different verb. Returns the verb so
34
- * the caller can switch on a value already known to be valid.
35
- *
36
- * `shared` are properties every verb accepts — a session id, a budget. A
37
- * property in neither `shared` nor any verb's `accepts` is not this function's
38
- * to judge: the dispatch gate already refused it against the declared schema,
39
- * and re-refusing it here would put the tool's property list in two places.
40
- */
41
- export function selectVerb(args, key, specs, shared = []) {
42
- const raw = args[key];
43
- if (raw === undefined || raw === null || raw === "") {
44
- throw new ToolInputError(`"${key}" is required — one of: ${specs.map((s) => s.verb).join(", ")}`);
45
- }
46
- if (typeof raw !== "string")
47
- throw new ToolInputError(`"${key}" must be a string`);
48
- const spec = specs.find((s) => s.verb === raw);
49
- if (spec === undefined) {
50
- throw new ToolInputError(`"${key}" must be one of: ${specs.map((s) => s.verb).join(", ")}`);
51
- }
52
- // Where each property that is not this verb's does belong. Built per call
53
- // rather than hoisted: the specs are a handful of entries, and a module-level
54
- // cache keyed on a caller-supplied array is a lifetime question this does not
55
- // need to have.
56
- const ownerOf = new Map();
57
- for (const other of specs) {
58
- if (other.verb === spec.verb)
59
- continue;
60
- for (const property of other.accepts) {
61
- if (spec.accepts.includes(property))
62
- continue;
63
- // First owner wins only for the message; the refusal is the same either
64
- // way, and listing every owner of a property shared by two other verbs
65
- // would bury the one fact the caller needs.
66
- if (!ownerOf.has(property))
67
- ownerOf.set(property, other.verb);
68
- }
69
- }
70
- const strays = Object.keys(args).filter((property) => property !== key && !shared.includes(property) && ownerOf.has(property));
71
- if (strays.length > 0) {
72
- const detail = strays.map((property) => `"${property}" belongs to ${ownerOf.get(property)}`).join("; ");
73
- throw new ToolInputError(`${spec.verb} does not accept ${strays.map((p) => `"${p}"`).join(", ")} — ${detail}. ` +
74
- `${spec.verb} accepts: ${[...shared, ...spec.accepts].join(", ") || "no arguments beyond the verb"}.`);
75
- }
76
- return spec.verb;
77
- }
78
- //# sourceMappingURL=verb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verb.js","sourceRoot":"","sources":["../../src/tools/verb.ts"],"names":[],"mappings":"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"}
@@ -1,38 +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 type { ResolutionLevel } from "@descryy/ir";
10
- import { type ToolDefinition } from "./kit.ts";
11
- export interface VerificationStatusExercisedItem {
12
- readonly ref: string;
13
- readonly resolution: ResolutionLevel;
14
- }
15
- export interface VerificationStatusData {
16
- readonly checked: readonly string[];
17
- readonly exercised: readonly VerificationStatusExercisedItem[];
18
- readonly notExercised: readonly {
19
- readonly scope: string;
20
- readonly reason: string;
21
- }[];
22
- /** The runtime half: refs a real test run bore on and how those tests finished. Empty means
23
- * either "nothing covers this" or "no suite run yet" — the notes disambiguate. */
24
- readonly verifiedByTests: readonly VerificationStatusTestedItem[];
25
- }
26
- export interface VerificationStatusTestedItem {
27
- readonly ref: string;
28
- /** `false` when reached via a static `TESTS` edge, not observed directly — the run witnessed the
29
- * test execute, not that it touched this ref. Carried per item, not just in a disclosure. */
30
- readonly direct: boolean;
31
- readonly tests: readonly {
32
- readonly qualifiedName: string;
33
- readonly outcome: string;
34
- readonly runId: string;
35
- }[];
36
- }
37
- export declare const verificationStatusTool: ToolDefinition;
38
- //# sourceMappingURL=verification-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification-status.d.ts","sourceRoot":"","sources":["../../src/tools/verification-status.ts"],"names":[],"mappings":"AAAA;;;;;;;mGAOmG;AAUnG,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAqBlB,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtF;uFACmF;IACnF,QAAQ,CAAC,eAAe,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;kGAC8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL;AAyLD,eAAO,MAAM,sBAAsB,EAAE,cAkBpC,CAAC"}