@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,74 +0,0 @@
1
- /**
2
- * `contracts` — path half (name-level, R2→A) runs today; shape half (§13)
3
- * needs producer-attached shapes, reporting `refused` with named blockers
4
- * rather than an empty list. `defect` is provable here alone; `lead` is not.
5
- */
6
- import type { ContractCheck, ContractClaim, ContractFindingKind, EndpointKey, NearMissKind, ShapeDifference, ShapeDirection } from "@descryy/core";
7
- import type { ResolutionLevel } from "@descryy/ir";
8
- import { type BriefNode, type ToolDefinition } from "./kit.ts";
9
- /** A call that reaches no route, or a route nothing calls. */
10
- export interface ContractPathFinding {
11
- readonly kind: ContractFindingKind;
12
- /** `defect` (provable from this graph alone) or `lead` (needs outside knowledge) — see module header. */
13
- readonly claim: ContractClaim;
14
- /** 1-based position in this answer. See {@link ContractPathFinding.prominence} for what orders it. */
15
- readonly rank: number;
16
- /** `top`/`notable`/`rest`, ordered by evidence strength (own `resolution`), not `claim` — a claim-based ranking would be judgement dressed as measurement. */
17
- readonly prominence: "top" | "notable" | "rest";
18
- readonly method: string;
19
- /** The normalised path template, not the raw literal. */
20
- readonly path: string;
21
- readonly detail: string;
22
- /** Lowest resolution among the edges this finding rests on. Caps its class. */
23
- readonly resolution: ResolutionLevel;
24
- /** Absent when nothing resembles this endpoint on the other side — that gap is disclosed as unanalysed, never reported broken (typo vs. an outside service). */
25
- readonly nearMiss?: {
26
- readonly kind: NearMissKind;
27
- readonly against: EndpointKey;
28
- };
29
- /** Capped at five. Populated for a call that reaches no route. */
30
- readonly callers: readonly BriefNode[];
31
- /** Capped at five. Populated for a route nothing calls. */
32
- readonly routes: readonly BriefNode[];
33
- }
34
- /** A field one side reads that the other does not send. Requires R3. */
35
- export interface ContractShapeMismatchReport {
36
- readonly endpoint: string;
37
- readonly direction: ShapeDirection;
38
- /** The side a missing field breaks. */
39
- readonly reader: BriefNode;
40
- /** The side that declares the shape. */
41
- readonly writer: BriefNode;
42
- readonly differences: readonly ShapeDifference[];
43
- readonly resolution: ResolutionLevel;
44
- /** Always `"defect"` — see the module header. Carried rather than assumed by a caller. */
45
- readonly claim: ContractClaim;
46
- }
47
- /** Shape half's own status, carried in the payload not the envelope; the reply is `ok` when only the path half ran so a real finding isn't hidden behind a caveat. `ran`/`blockers` carry the status. */
48
- export interface ContractShapeStatus {
49
- readonly ran: boolean;
50
- readonly comparable: number;
51
- /** Endpoints with a shape on the consumer side only. */
52
- readonly consumerOnly: number;
53
- /** Endpoints with a shape on the provider side only. */
54
- readonly providerOnly: number;
55
- /** Routes naming a DTO with no request/response role, so direction is unknown. */
56
- readonly unroledDtos: number;
57
- /** Never empty when `ran` is false. */
58
- readonly blockers: readonly string[];
59
- }
60
- /** One shape, always. `checked` counts describe the whole graph even when filtered — a shrinking denominator would make a narrow query look healthy; the two lists describe the filter. */
61
- export interface ContractsData {
62
- readonly findings: readonly ContractPathFinding[];
63
- readonly shapeMismatches: readonly ContractShapeMismatchReport[];
64
- readonly checked: ContractCheck["paths"]["checked"];
65
- readonly shapes: ContractShapeStatus;
66
- /** Unmatched callers with nothing resembling them on the provider side — not findings, the size of the region this analysis couldn't speak about. */
67
- readonly unmatchedWithoutNearMiss: number;
68
- /** `findings` plus `shapeMismatches` with `claim === "defect"`. What a git hook should branch on. */
69
- readonly defects: number;
70
- /** `findings` with `claim === "lead"` — worth a look, never counted as blocking. */
71
- readonly leads: number;
72
- }
73
- export declare const contractsTool: ToolDefinition;
74
- //# sourceMappingURL=contracts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,yGAAyG;IACzG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,sGAAsG;IACtG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8JAA8J;IAC9J,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,gKAAgK;IAChK,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IACnF,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAED,wEAAwE;AACxE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED,yMAAyM;AACzM,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,2LAA2L;AAC3L,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAClD,QAAQ,CAAC,eAAe,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,qJAAqJ;IACrJ,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAiND,eAAO,MAAM,aAAa,EAAE,cAe3B,CAAC"}
@@ -1,196 +0,0 @@
1
- /**
2
- * `contracts` — path half (name-level, R2→A) runs today; shape half (§13)
3
- * needs producer-attached shapes, reporting `refused` with named blockers
4
- * rather than an empty list. `defect` is provable here alone; `lead` is not.
5
- */
6
- import { checkContracts, withProminence } from "@descryy/core";
7
- import { briefNode, optionalInteger, optionalStringArray, } from "./kit.js";
8
- const SCHEMA = {
9
- type: "object",
10
- properties: {
11
- paths: {
12
- type: "array",
13
- items: { type: "string" },
14
- description: "Restrict the report to endpoints whose normalised path template contains one of these " +
15
- "substrings, e.g. \"/orders\". Matching zero endpoints is reported as empty, not clean.",
16
- },
17
- files: {
18
- type: "array",
19
- items: { type: "string" },
20
- description: "Restrict the report to findings touching these repo-relative source files — e.g. what a " +
21
- "git hook is about to push. A finding is kept when any caller, route, or (for a shape " +
22
- "mismatch) reader/writer node's file is in this set.",
23
- },
24
- pathsOnly: {
25
- type: "boolean",
26
- description: "Skip the shape comparison. Faster, and the honest choice for a pre-push run on a graph " +
27
- "with no type checker behind it.",
28
- },
29
- maxFindings: {
30
- type: "integer",
31
- minimum: 1,
32
- description: "Cap on path findings returned. Default 25; overflow is disclosed, not dropped.",
33
- },
34
- },
35
- additionalProperties: false,
36
- };
37
- /** True when at least one of `nodes` has a `file` in `scope`. No scope given means every node passes. */
38
- function touchesFiles(nodes, scope) {
39
- return scope === undefined || nodes.some((n) => n.file !== null && scope.includes(n.file));
40
- }
41
- async function run(args, ctx) {
42
- const filters = optionalStringArray(args, "paths");
43
- const fileScope = optionalStringArray(args, "files");
44
- const maxFindings = optionalInteger(args, "maxFindings", 1);
45
- const pathsOnly = args["pathsOnly"] === true;
46
- const provider = ctx.session.provider();
47
- ctx.progress("Matching callers against routes");
48
- const checked = checkContracts(provider, {
49
- ...(maxFindings === undefined ? {} : { maxFindings }),
50
- ...(pathsOnly ? { pathsOnly: true } : {}),
51
- });
52
- const { paths, shapes } = checked.data;
53
- const notes = [...checked.notes];
54
- // Filtering happens after the check so the counts describe the whole graph
55
- // — a shrinking denominator would make a narrow query look healthy.
56
- const matchesPath = (template) => filters === undefined || filters.some((f) => template.includes(f));
57
- const findings = paths.findings.filter((f) => matchesPath(f.pathTemplate) && touchesFiles([...f.callers, ...f.routes], fileScope));
58
- const mismatches = shapes.mismatches.filter((m) => matchesPath(String(m.endpoint.attrs["pathTemplate"] ?? m.endpoint.name)) &&
59
- touchesFiles([m.reader, m.writer], fileScope));
60
- if (filters !== undefined) {
61
- notes.push(`Filtered to endpoints matching ${filters.map((f) => `"${f}"`).join(", ")}. The counts ` +
62
- "below describe the whole graph; the lists describe the filter.");
63
- }
64
- if (fileScope !== undefined) {
65
- notes.push(`Filtered to findings touching ${fileScope.length} named file(s). The counts below describe ` +
66
- "the whole graph; the lists describe the filter.");
67
- }
68
- // A `paths` filter matching zero endpoints means it named something never
69
- // parsed as a route/endpoint — a different claim than "checked, fine."
70
- // API_ROUTE is checked too: an unmounted route has no API_ENDPOINT at all.
71
- let pathsMatchedNothing = false;
72
- if (filters !== undefined) {
73
- const endpoints = provider.nodesOfType("API_ENDPOINT");
74
- const routes = provider.nodesOfType("API_ROUTE");
75
- const matched = (n) => matchesPath(String(n.attrs["pathTemplate"] ?? n.name));
76
- pathsMatchedNothing = !endpoints.nodes.some(matched) && !routes.nodes.some(matched);
77
- }
78
- const defects = findings.filter((f) => f.claim === "defect").length + mismatches.length;
79
- const leads = findings.filter((f) => f.claim === "lead").length;
80
- if (findings.length > 0) {
81
- notes.push("findings are ranked by evidence strength — their own resolution, strongest first — not by " +
82
- "claim. A call reaching no route and a route nothing calls can each rest on strong or weak " +
83
- "evidence; which of them is a defect versus a lead is a separate axis (claim), not a ranking.");
84
- }
85
- // Zero API_ENDPOINT nodes usually means nothing to check — but not when the
86
- // mount check found an independent ROUTE_NOT_MOUNTED finding with no
87
- // endpoint in the graph; refusing then would bury a real finding.
88
- const nothingToCheck = paths.checked.endpoints === 0 && paths.findingsTotal === 0;
89
- // MK-7: graded on `claim` — a lead is worth a look; a defect is provable
90
- // from this graph alone (`nearMiss` keeps a mere typo out of the count).
91
- const verdict = defects > 0
92
- ? `${defects} defect(s) found`
93
- : leads > 0
94
- ? `No defects; ${leads} lead(s) to review`
95
- : "Clean at path level";
96
- // render.ts refuses a `truncated` answer with no `truncatedDetail`, so this
97
- // must be supplied whenever `checked.truncated` is set; `total` is the
98
- // whole unfiltered graph, an honest upper bound on `shown`.
99
- const truncatedDetail = checked.truncated
100
- ? { shown: findings.length, total: Math.max(paths.findingsTotal, findings.length), more: null }
101
- : undefined;
102
- return {
103
- result: {
104
- ...checked,
105
- data: {
106
- findings: withProminence(
107
- // Sorted before ranking, because `withProminence` deliberately does
108
- // not sort: rank must follow the order the reply actually reports.
109
- // Ties keep the checker's own order, which is stable.
110
- [...findings]
111
- .sort((a, b) => b.resolution - a.resolution)
112
- .map((f) => ({
113
- kind: f.kind,
114
- // Whether this asserts a fault. Carried as a field because the
115
- // sentence below already said it and nothing could read prose.
116
- claim: f.claim,
117
- method: f.method,
118
- path: f.pathTemplate,
119
- detail: f.detail,
120
- resolution: f.resolution,
121
- ...(f.nearMiss === null
122
- ? {}
123
- : { nearMiss: { kind: f.nearMiss.kind, against: f.nearMiss.against } }),
124
- callers: f.callers.slice(0, 5).map(briefNode),
125
- routes: f.routes.slice(0, 5).map(briefNode),
126
- }))),
127
- shapeMismatches: mismatches.map((m) => ({
128
- endpoint: m.endpoint.name,
129
- direction: m.direction,
130
- reader: briefNode(m.reader),
131
- writer: briefNode(m.writer),
132
- differences: m.differences,
133
- resolution: m.resolution,
134
- // A field the reading side needs and the writing side does not
135
- // supply. There is no benign reading of that, so every mismatch is a
136
- // fault claim — unlike an uncalled route, whose usual explanation is
137
- // a consumer outside the graph.
138
- claim: m.claim,
139
- })),
140
- checked: paths.checked,
141
- shapes: {
142
- ran: shapes.ran,
143
- comparable: shapes.comparable,
144
- consumerOnly: shapes.consumerOnly,
145
- providerOnly: shapes.providerOnly,
146
- unroledDtos: shapes.unroledDtos,
147
- blockers: shapes.blockers,
148
- },
149
- unmatchedWithoutNearMiss: paths.unmatchedWithoutNearMiss,
150
- defects,
151
- leads,
152
- },
153
- notes: pathsMatchedNothing
154
- ? [
155
- `0 endpoint(s) matched ${(filters ?? []).map((f) => `"${f}"`).join(", ")}. Nothing in ` +
156
- "this graph was parsed as a route or endpoint under that filter, so there is nothing " +
157
- "for \"clean\" to describe — this is not a statement about whether the endpoint you " +
158
- "meant is correct.",
159
- ...notes,
160
- ]
161
- : notes,
162
- },
163
- // A path finding is a name-level claim (R2 fully supports); a shape
164
- // mismatch is not — `engine.ts` caps each individually. This flags the
165
- // answer's own headline claim, the path half.
166
- nameLevel: true,
167
- ...(truncatedDetail === undefined ? {} : { truncatedDetail }),
168
- ...(nothingToCheck
169
- ? { state: "refused" }
170
- : pathsMatchedNothing
171
- ? { state: "empty" }
172
- : {}),
173
- headline: nothingToCheck
174
- ? "No API endpoints are in the graph, so there is no contract to check."
175
- : pathsMatchedNothing
176
- ? `0 endpoint(s) matched this filter. Not checked, not clean.`
177
- : `${verdict}. ${paths.checked.joined} of ${paths.checked.endpoints} endpoint(s) have both ` +
178
- `a caller and a route${shapes.ran ? "" : "; request and response shapes were not compared"}.`,
179
- };
180
- }
181
- export const contractsTool = {
182
- name: "contracts",
183
- class: "read",
184
- tier: "conclusion",
185
- version: "1.0.0",
186
- title: "Frontend/backend contract mismatches",
187
- description: "Match every API caller against the route that serves it. Reports calls that reach no route " +
188
- "and routes nothing calls, and — when both sides declare a shape — fields one side reads that " +
189
- "the other does not send. A call with nothing resembling it on the provider side is disclosed " +
190
- "as unanalysed rather than reported as broken, because the usual cause is a service outside " +
191
- "this graph. Shape comparison requires R3 and is reported as not-run, with the reason, when " +
192
- "the producers do not supply shapes.",
193
- inputSchema: SCHEMA,
194
- run,
195
- };
196
- //# sourceMappingURL=contracts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAY/D,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,GAIpB,MAAM,UAAU,CAAC;AAoElB,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EACT,wFAAwF;gBACxF,wFAAwF;SAC3F;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EACT,0FAA0F;gBAC1F,uFAAuF;gBACvF,qDAAqD;SACxD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EACT,yFAAyF;gBACzF,iCAAiC;SACpC;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,gFAAgF;SAC9F;KACF;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,yGAAyG;AACzG,SAAS,YAAY,CAAC,KAAwB,EAAE,KAAoC;IAClF,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,GAAG,CAChB,IAA6B,EAC7B,GAAgB;IAEhB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAE7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE;QACvC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjC,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAW,EAAE,CAChD,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAC3F,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CACJ,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAChD,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,kCAAkC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;YACtF,gEAAgE,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,iCAAiC,SAAS,CAAC,MAAM,4CAA4C;YAC3F,iDAAiD,CACpD,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,mBAAmB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,4FAA4F;YAC1F,4FAA4F;YAC5F,8FAA8F,CACjG,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC;IAElF,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,OAAO,GACX,OAAO,GAAG,CAAC;QACT,CAAC,CAAC,GAAG,OAAO,kBAAkB;QAC9B,CAAC,CAAC,KAAK,GAAG,CAAC;YACT,CAAC,CAAC,eAAe,KAAK,oBAAoB;YAC1C,CAAC,CAAC,qBAAqB,CAAC;IAE9B,4EAA4E;IAC5E,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,eAAe,GAAiC,OAAO,CAAC,SAAS;QACrE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;QAC/F,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,MAAM,EAAE;YACN,GAAG,OAAO;YACV,IAAI,EAAE;gBACJ,QAAQ,EAAE,cAAc;gBACtB,oEAAoE;gBACpE,mEAAmE;gBACnE,sDAAsD;gBACtD,CAAC,GAAG,QAAQ,CAAC;qBACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;qBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,+DAA+D;oBAC/D,+DAA+D;oBAC/D,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,YAAY;oBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI;wBACrB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;oBACzE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;oBAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;iBAC5C,CAAC,CAAC,CACN;gBACD,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;oBACzB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,+DAA+D;oBAC/D,qEAAqE;oBACrE,qEAAqE;oBACrE,gCAAgC;oBAChC,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC;gBACH,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE;oBACN,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;gBACD,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;gBACxD,OAAO;gBACP,KAAK;aACN;YACD,KAAK,EAAE,mBAAmB;gBACxB,CAAC,CAAC;oBACE,yBAAyB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;wBACrF,sFAAsF;wBACtF,qFAAqF;wBACrF,mBAAmB;oBACrB,GAAG,KAAK;iBACT;gBACH,CAAC,CAAC,KAAK;SACV;QACD,oEAAoE;QACpE,uEAAuE;QACvE,8CAA8C;QAC9C,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE;YAC/B,CAAC,CAAC,mBAAmB;gBACnB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE;gBAC7B,CAAC,CAAC,EAAE,CAAC;QACT,QAAQ,EAAE,cAAc;YACtB,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,mBAAmB;gBACnB,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,yBAAyB;oBAC1F,uBAAuB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD,GAAG;KACpG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EACT,6FAA6F;QAC7F,+FAA+F;QAC/F,+FAA+F;QAC/F,6FAA6F;QAC7F,6FAA6F;QAC7F,qCAAqC;IACvC,WAAW,EAAE,MAA4C;IACzD,GAAG;CACJ,CAAC"}
@@ -1,178 +0,0 @@
1
- /**
2
- * `cross-pr` — "what does this change collide with, that reading the diff alone
3
- * would not show?"
4
- *
5
- * §14's multi-PR engine, at the protocol level. Four checks exist behind it,
6
- * for a reason worth stating rather than discovering: a check is available
7
- * exactly when something already produces its input.
8
- *
9
- * | check | § | input | today |
10
- * | --- | --- | --- | --- |
11
- * | hidden dependency | 14.8 | `CHANGES_WITH` edges, already in the graph | **runs** |
12
- * | overlap scoring | 14.3 | stored PR scopes | **runs, over whatever is stored** |
13
- * | superseded | 14.5 | git blob ids at head and at base's tip | **runs** |
14
- * | migration heads | 14.6 | base's and head's migration files, read directly from git | **runs** |
15
- *
16
- * §14.8 is first because it is the one that costs nothing: the edges already
17
- * exist, it needs no per-PR storage, and it works at R0 in any language with no
18
- * adapter beyond file paths. For a repository whose language has no adapter at
19
- * all, this is the check that still fires.
20
- *
21
- * **Migration heads answers the diff-precise question this section once said
22
- * was out of scope for an MCP tool call** — `readMigrationsAcrossChange`
23
- * (`sources/migrations/across-change.ts`) reads base's and head's migration
24
- * files directly with `git ls-tree`/`git show`, so it needs no language
25
- * adapter and no re-resolution of the graph against two commits. `ran` is
26
- * false only when neither side has a migration format this producer
27
- * recognises — never because a producer has not run yet.
28
- *
29
- * ## Why a check that still cannot run is declared rather than omitted
30
- *
31
- * `contracts.ts` set this precedent and the reasoning transfers unchanged: a
32
- * tool that silently offers three of four checks lets a caller read "nothing
33
- * found" as "nothing there". A blocked check names the producer it is
34
- * waiting for, so the gap is actionable rather than mysterious.
35
- *
36
- * ## Everything here is Class C and that is not a defect to be fixed
37
- *
38
- * Co-change is evidence about **people**, not program structure — a pair that
39
- * moved together two hundred times is a stronger hint and is still a hint. The
40
- * checks compute their own reliability rather than being told it, and each
41
- * finding carries the sentence that must travel with it. A caller rendering
42
- * these as defects has broken principle 4 at the last gate. Migration heads is
43
- * the one exception worth naming: a genuine fork in the revision chain is
44
- * closer to a defect than a hint, but it is left at Class C here too, because
45
- * this check cannot yet tell a legitimate two-branch merge-in-progress from an
46
- * actual conflict — that distinction is left to the migration-integrity
47
- * checks in `validate`, which are provable from the graph alone.
48
- */
49
- import type { DiffType, HiddenDependencyReport, MigrationsAcrossChange, IncomparablePair, NodeVerdict, OverlapFinding, SupersededReport } from "@descryy/core";
50
- import type { ReliabilityClass } from "@descryy/ir";
51
- import { type BriefNode, type ToolDefinition } from "./kit.ts";
52
- /**
53
- * A check whose input no producer writes yet.
54
- *
55
- * Declared rather than omitted, and `needs` says what would have to exist —
56
- * a tool silently offering three of four checks lets a caller read "nothing
57
- * found" as "nothing there".
58
- */
59
- export interface BlockedCheck {
60
- readonly check: string;
61
- /** The architecture section that specifies it. */
62
- readonly section: string;
63
- readonly question: string;
64
- readonly needs: string;
65
- }
66
- /**
67
- * A file that historically moves with the change and was not touched this time.
68
- *
69
- * Class C, always, and `disclosure` is the sentence that must travel with it:
70
- * co-change is evidence about **people**, not program structure. A caller
71
- * rendering this as a defect has broken principle 4 at the last gate.
72
- */
73
- export interface HiddenDependencyFinding extends BriefNode {
74
- readonly coupledTo: readonly {
75
- readonly file: string | null;
76
- readonly support: number;
77
- }[];
78
- readonly strongestSupport: number;
79
- readonly reliability: ReliabilityClass;
80
- readonly disclosure: string;
81
- }
82
- export interface HiddenDependencyCheck {
83
- /** False when no changed file had a single CHANGES_WITH edge: the history was not read. */
84
- readonly ran: boolean;
85
- readonly findings: readonly HiddenDependencyFinding[];
86
- /** The count before `limit` capped it — P27's disclosed remainder (§4 technique 5). */
87
- readonly findingsTotal: number;
88
- readonly checked: HiddenDependencyReport["checked"];
89
- /** Changed paths with no FILE node. Nothing looked at them. */
90
- readonly unresolvedChanged: readonly string[];
91
- }
92
- export interface OverlapCheck {
93
- /** False when fewer than two stored scopes exist: no pair could be compared. */
94
- readonly ran: boolean;
95
- readonly scopesCompared: number;
96
- readonly findings: readonly OverlapFinding[];
97
- /** The count before `limit` capped it — P27's disclosed remainder (§4 technique 5). */
98
- readonly findingsTotal: number;
99
- /** Pairs refused before comparison. An incomparable pair and a clean pair look identical otherwise. */
100
- readonly incomparable: readonly IncomparablePair[];
101
- readonly checked: OverlapReportChecked;
102
- }
103
- /** Named separately because `OverlapReport` itself is not re-exported field by field. */
104
- export type OverlapReportChecked = {
105
- readonly scopes: number;
106
- readonly pairs: number;
107
- readonly pairsOverlapping: number;
108
- readonly belowThreshold: number;
109
- readonly incomparable: number;
110
- };
111
- export interface SupersededCheck {
112
- /** False when there was nothing to compare — not the same as "not superseded". */
113
- readonly ran: boolean;
114
- readonly verdict: boolean;
115
- readonly counts: SupersededReport["counts"];
116
- readonly reliability: ReliabilityClass;
117
- readonly disclosure: string;
118
- /** Everything not already on base, so a reader sees what is left rather than what matched. */
119
- readonly remaining: readonly {
120
- /** Undefined for a comparison whose candidate carried no path. */
121
- readonly file: string | undefined;
122
- readonly diffType: DiffType;
123
- readonly verdict: NodeVerdict;
124
- }[];
125
- }
126
- /** git rejected the range: no diff-dependent check ran, and `blocked` is all there is to say. */
127
- export interface CrossPrGitFailure {
128
- readonly blocked: readonly BlockedCheck[];
129
- readonly migrationHeads: MigrationHeadCheck;
130
- }
131
- /** The diff is empty. A real answer: there is nothing to collide with. */
132
- export interface CrossPrEmptyDiff extends CrossPrGitFailure {
133
- readonly changedFiles: number;
134
- }
135
- /**
136
- * §14.6 — the heads this merge would leave.
137
- *
138
- * The set is base's migrations plus this change's, because that is the set the
139
- * migration runner sees after the merge. `ran` is false when neither side had a
140
- * migration format this producer recognises, which is **not** the same as a
141
- * clean answer: a repository whose framework declares no DAG cannot have this
142
- * failure at all, and one whose files were unreadable simply was not read.
143
- */
144
- export interface MigrationHeadCheck {
145
- readonly ran: boolean;
146
- /** Base's single head, or null when base has none or already forks. */
147
- readonly baseHead: string | null;
148
- /** At most one — either the merged set has a single head or it does not. */
149
- readonly conflict: MigrationsAcrossChange["report"]["conflict"];
150
- readonly dependencies: MigrationsAcrossChange["report"]["dependencies"];
151
- readonly duplicateRevisions: MigrationsAcrossChange["report"]["duplicateRevisions"];
152
- /** False when any parent list could not be read, so the DAG read is partial. */
153
- readonly complete: boolean;
154
- readonly checked: MigrationsAcrossChange["report"]["checked"];
155
- /** Files declined, with the reason recorded rather than guessed. */
156
- readonly refused: readonly {
157
- file: string;
158
- reason: string;
159
- }[];
160
- /**
161
- * Well-formed migrations sitting where no migration tool looks.
162
- *
163
- * Reported separately from the head computation because they are not in it —
164
- * the runner cannot see them either, so "the merge leaves one head" can be
165
- * true and incomplete in the same breath.
166
- */
167
- readonly misplaced: MigrationsAcrossChange["misplaced"];
168
- }
169
- export interface CrossPrReport extends CrossPrEmptyDiff {
170
- readonly resolvedNodes: number;
171
- readonly hiddenDependencies: HiddenDependencyCheck;
172
- readonly overlaps: OverlapCheck;
173
- readonly superseded: SupersededCheck;
174
- readonly migrationHeads: MigrationHeadCheck;
175
- }
176
- export type CrossPrData = CrossPrGitFailure | CrossPrEmptyDiff | CrossPrReport;
177
- export declare const crossPrTool: ToolDefinition;
178
- //# sourceMappingURL=cross-pr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-pr.d.ts","sourceRoot":"","sources":["../../src/tools/cross-pr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAaH,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAML,KAAK,SAAS,EAEd,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAIlB;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1F,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,2FAA2F;IAC3F,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACtD,uFAAuF;IACvF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpD,+DAA+D;IAC/D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,uFAAuF;IACvF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uGAAuG;IACvG,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,yFAAyF;AACzF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,kEAAkE;QAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;KAC/B,EAAE,CAAC;CACL;AAED,iGAAiG;AACjG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IACxE,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpF,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9D;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAqS/E,eAAO,MAAM,WAAW,EAAE,cAmBzB,CAAC"}