codebaseiq 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/augment-vue-worker.js +1 -1
  3. package/dist/{chunk-DQMDCD24.js → chunk-27PHVDKL.js} +2 -2
  4. package/dist/{chunk-ZMI2JSX2.js → chunk-2DMVFAY7.js} +2 -2
  5. package/dist/{chunk-5PUWMSDU.js → chunk-2E6BTWER.js} +2 -2
  6. package/dist/{chunk-YESXMKX3.js → chunk-2F5ERMNI.js} +2 -2
  7. package/dist/chunk-2VKB5CMA.js +60 -0
  8. package/dist/{chunk-NNJ2KZZG.js → chunk-327YK6TB.js} +4 -4
  9. package/dist/chunk-347TXATM.js +2 -0
  10. package/dist/{chunk-VEXUL62T.js → chunk-35YYZD3D.js} +2 -2
  11. package/dist/chunk-36WRYYTE.js +3 -0
  12. package/dist/chunk-37TKC6MB.js +2 -0
  13. package/dist/{chunk-FAJQ7LWY.js → chunk-3AC56WAR.js} +2 -2
  14. package/dist/{chunk-JE3WZ6II.js → chunk-3NUZVLR7.js} +2 -2
  15. package/dist/{chunk-UZGZB3VB.js → chunk-3XFJUWJE.js} +2 -2
  16. package/dist/{chunk-OVTS4DKB.js → chunk-4AOOSCZ7.js} +2 -2
  17. package/dist/{chunk-LU3BMVH2.js → chunk-4IFISPQW.js} +2 -2
  18. package/dist/chunk-4NHWNAWQ.js +11 -0
  19. package/dist/chunk-4O52YNKL.js +5 -0
  20. package/dist/{chunk-HPJRBHVT.js → chunk-54K6556S.js} +2 -2
  21. package/dist/{chunk-HRWGYWRJ.js → chunk-57GCCPLS.js} +2 -2
  22. package/dist/{chunk-J77SU6VA.js → chunk-57KEZDPT.js} +2 -2
  23. package/dist/{chunk-OFBE4NGP.js → chunk-57KFVPVZ.js} +2 -2
  24. package/dist/{chunk-WOQBZPIF.js → chunk-5BDK6QC3.js} +2 -2
  25. package/dist/{chunk-7MGU3HPH.js → chunk-5IO2APSS.js} +2 -2
  26. package/dist/chunk-5NJPH3QZ.js +61 -0
  27. package/dist/{chunk-GW6Z3WGY.js → chunk-5WXOEJ4G.js} +2 -2
  28. package/dist/chunk-5XEVXVTK.js +3 -0
  29. package/dist/{chunk-RR7SX44N.js → chunk-6OVNYYY4.js} +2 -2
  30. package/dist/{chunk-ZV3JV5G5.js → chunk-6SDEQTVY.js} +2 -2
  31. package/dist/{chunk-EF2R3WNQ.js → chunk-6URCE5QY.js} +2 -2
  32. package/dist/{chunk-UCD3H3UZ.js → chunk-6ZV5EDUT.js} +2 -2
  33. package/dist/{chunk-C6SBF2WH.js → chunk-77GHPR2R.js} +2 -2
  34. package/dist/{chunk-YVCIMIOC.js → chunk-7R64XY4Y.js} +2 -2
  35. package/dist/{chunk-VXYS3FZD.js → chunk-7Z7HCZ7J.js} +2 -2
  36. package/dist/{chunk-CO5R3UNA.js → chunk-A67HT5FR.js} +2 -2
  37. package/dist/{chunk-UDS562V4.js → chunk-A7XQT7MH.js} +2 -2
  38. package/dist/{chunk-RDBI2RXU.js → chunk-ACZDU5GK.js} +2 -2
  39. package/dist/{chunk-FETNQCFO.js → chunk-AM5SUGHF.js} +2 -2
  40. package/dist/{chunk-NNOKTMZT.js → chunk-B2E3HZ2A.js} +2 -2
  41. package/dist/{chunk-CVYSU6BX.js → chunk-BH5CE4LN.js} +2 -2
  42. package/dist/chunk-BLKYYQ7C.js +543 -0
  43. package/dist/{chunk-4WKDMDEW.js → chunk-BX2U3QQV.js} +2 -2
  44. package/dist/{chunk-ZKX2FRS6.js → chunk-CANBLFVQ.js} +2 -2
  45. package/dist/{chunk-SMRBZ6EC.js → chunk-CCRZLRWJ.js} +2 -2
  46. package/dist/chunk-CDWSLAPN.js +21 -0
  47. package/dist/chunk-CIVYHK7U.js +22 -0
  48. package/dist/{chunk-L57ZKWVG.js → chunk-CMXW7MFV.js} +2 -2
  49. package/dist/{chunk-T3DGWPXM.js → chunk-CSZOQ7YO.js} +2 -2
  50. package/dist/{chunk-ZZXSWSN6.js → chunk-CWMHWD56.js} +2 -2
  51. package/dist/{chunk-6NW7MU72.js → chunk-CZEIHYMP.js} +2 -2
  52. package/dist/{chunk-DO6WQD2T.js → chunk-D62CTZX6.js} +2 -2
  53. package/dist/{chunk-XWUOUWYI.js → chunk-DFPAZXLU.js} +2 -2
  54. package/dist/{chunk-MOVBWNIP.js → chunk-DKJXK3HA.js} +2 -2
  55. package/dist/{chunk-XMQ23E27.js → chunk-DLC6JDN7.js} +2 -2
  56. package/dist/chunk-DUKHVPU5.js +4 -0
  57. package/dist/{chunk-ID63777H.js → chunk-DVYG3JTA.js} +2 -2
  58. package/dist/{chunk-NE6IU5ZD.js → chunk-EFFMFK7C.js} +2 -2
  59. package/dist/{chunk-I2T2LLK2.js → chunk-EM5UHLAM.js} +2 -2
  60. package/dist/chunk-EN4AHLL3.js +3 -0
  61. package/dist/chunk-EXMVF3JR.js +3 -0
  62. package/dist/{chunk-SWHMHUKF.js → chunk-FEBLLMTL.js} +2 -2
  63. package/dist/chunk-FIXYHQ3W.js +3 -0
  64. package/dist/{chunk-RKEJ6VTF.js → chunk-FLLXYUOL.js} +2 -2
  65. package/dist/{chunk-KWVHSKHK.js → chunk-FPDL2TUB.js} +2 -2
  66. package/dist/chunk-FQA3KIFX.js +17 -0
  67. package/dist/chunk-FWY2PRIF.js +3 -0
  68. package/dist/chunk-FY5V4V4F.js +2 -0
  69. package/dist/chunk-G2XUZCF2.js +88 -0
  70. package/dist/{chunk-QHRNXP3C.js → chunk-GXVDTHFC.js} +2 -2
  71. package/dist/{chunk-6MUIJMVL.js → chunk-H3CKAL6P.js} +2 -2
  72. package/dist/chunk-H5QXP63L.js +2 -0
  73. package/dist/{chunk-VUIYB2V3.js → chunk-HBQGKMM3.js} +2 -2
  74. package/dist/{chunk-PYAB5SM6.js → chunk-HBXZAGY6.js} +2 -2
  75. package/dist/{chunk-NNO6A2PO.js → chunk-HCMQZPEO.js} +2 -2
  76. package/dist/{chunk-Q65CQ4XL.js → chunk-HHBBGWES.js} +2 -2
  77. package/dist/{chunk-GTXSJDCO.js → chunk-HIEXRDJF.js} +2 -2
  78. package/dist/{chunk-4FC325IF.js → chunk-HYKSLTAR.js} +2 -2
  79. package/dist/{chunk-XLQ3GLWZ.js → chunk-I2KP4AGR.js} +2 -2
  80. package/dist/chunk-I5FCDTK2.js +2 -0
  81. package/dist/{chunk-QKPLA6IC.js → chunk-I645ZF75.js} +2 -2
  82. package/dist/{chunk-FDGD5AB5.js → chunk-IBM3F2BJ.js} +2 -2
  83. package/dist/{chunk-Q72QSKXC.js → chunk-IEL6Q5W3.js} +38 -38
  84. package/dist/{chunk-NCZUNH3E.js → chunk-IGQQUENU.js} +12 -12
  85. package/dist/chunk-IGYAZPRX.js +4 -0
  86. package/dist/chunk-IOVPAZWP.js +3 -0
  87. package/dist/{chunk-OL6KJP3N.js → chunk-IVJJNVSX.js} +2 -2
  88. package/dist/{chunk-AKB7V7TV.js → chunk-IWAMYGPN.js} +2 -2
  89. package/dist/chunk-IYBIBMPF.js +90 -0
  90. package/dist/{chunk-IOP6FWIM.js → chunk-J24VICI5.js} +2 -2
  91. package/dist/{chunk-C7QOQX32.js → chunk-JN5LIBT3.js} +2 -2
  92. package/dist/{chunk-O6QTXQPJ.js → chunk-JOALNFY3.js} +2 -2
  93. package/dist/{chunk-GCHRX4YW.js → chunk-JUO3Z644.js} +2 -2
  94. package/dist/{chunk-BJ6SQAEN.js → chunk-JXHLB7TP.js} +2 -2
  95. package/dist/{chunk-IJ4HMYBE.js → chunk-JYX5UZSZ.js} +2 -2
  96. package/dist/chunk-K2O7SBAU.js +2 -0
  97. package/dist/{chunk-OLF4MA5W.js → chunk-K5G7SPAG.js} +2 -2
  98. package/dist/{chunk-YSNONTJ2.js → chunk-KDYQQJ6X.js} +2 -2
  99. package/dist/{chunk-7NVGT435.js → chunk-KM4QRWI5.js} +2 -2
  100. package/dist/{chunk-HKQUXIFO.js → chunk-KNV5VFDV.js} +2 -2
  101. package/dist/chunk-L3YSDLNB.js +2 -0
  102. package/dist/{chunk-EZNMUY67.js → chunk-LAGDJXFY.js} +2 -2
  103. package/dist/{chunk-ENCCHKM6.js → chunk-LY2NB5XR.js} +4 -4
  104. package/dist/chunk-M4EVGA5S.js +14 -0
  105. package/dist/chunk-M7LAIM77.js +127 -0
  106. package/dist/{chunk-BVAJLC5A.js → chunk-MRGTCMDK.js} +2 -2
  107. package/dist/{chunk-OZYRSMSH.js → chunk-MT5W4DUG.js} +2 -2
  108. package/dist/{chunk-VE5AVNMP.js → chunk-MTMF4N7F.js} +2 -2
  109. package/dist/chunk-N3Q3AWGW.js +545 -0
  110. package/dist/{chunk-TXXOEMZJ.js → chunk-NDGTJHQN.js} +2 -2
  111. package/dist/chunk-NIO346UL.js +2 -0
  112. package/dist/chunk-NJA4MMBD.js +2 -0
  113. package/dist/{chunk-7FND7D7N.js → chunk-NK76RSB6.js} +2 -2
  114. package/dist/{chunk-H3LGFZVK.js → chunk-NTRW52UR.js} +2 -2
  115. package/dist/{chunk-JOIRNPPY.js → chunk-OJFLPVBP.js} +2 -2
  116. package/dist/{chunk-KMITESMT.js → chunk-OMBRP7BB.js} +2 -2
  117. package/dist/{chunk-UP3BUZR5.js → chunk-OVKZM2XI.js} +2 -2
  118. package/dist/{chunk-MVB3DAEY.js → chunk-PARCKE3Q.js} +2 -2
  119. package/dist/{chunk-CAUCPUOF.js → chunk-PFPHS4NO.js} +2 -2
  120. package/dist/chunk-PHPQ24UG.js +22 -0
  121. package/dist/chunk-PLZXWZHY.js +77 -0
  122. package/dist/{chunk-34WBMAYK.js → chunk-PNVZIJ57.js} +2 -2
  123. package/dist/{chunk-SYDJMPES.js → chunk-QKVTWODE.js} +2 -2
  124. package/dist/{chunk-FW53T7EB.js → chunk-QLTFXVUI.js} +2 -2
  125. package/dist/{chunk-PBI2LFKH.js → chunk-QMGWSEPL.js} +2 -2
  126. package/dist/{chunk-CQP3THUZ.js → chunk-QVHZB75Z.js} +2 -2
  127. package/dist/{chunk-6BQ3DSPK.js → chunk-QVWDQTMG.js} +2 -2
  128. package/dist/{chunk-ST7V3SKN.js → chunk-RCPZOPV6.js} +2 -2
  129. package/dist/chunk-RJWAB4VR.js +345 -0
  130. package/dist/chunk-RRPK327J.js +20 -0
  131. package/dist/chunk-RVYLJDXC.js +21 -0
  132. package/dist/chunk-RWKEXCHU.js +3 -0
  133. package/dist/{chunk-L4NRUAGJ.js → chunk-S5SKXCND.js} +2 -2
  134. package/dist/{chunk-RBAS5ZHI.js → chunk-S64NCE2Z.js} +2 -2
  135. package/dist/{chunk-WMPRTGH2.js → chunk-SF34QLK2.js} +2 -2
  136. package/dist/{chunk-ANFVSJWQ.js → chunk-SJZQ2PTZ.js} +2 -2
  137. package/dist/{chunk-4XTAUQFD.js → chunk-SRY26ITJ.js} +2 -2
  138. package/dist/chunk-SV2LEFVM.js +2 -0
  139. package/dist/{chunk-7XAN6GKB.js → chunk-T3YFIJ5P.js} +2 -2
  140. package/dist/chunk-T55YPJGB.js +3 -0
  141. package/dist/chunk-TAJ6UGCO.js +21 -0
  142. package/dist/{chunk-PIOMTC27.js → chunk-TUTSO7UZ.js} +2 -2
  143. package/dist/{chunk-FQKZWM4L.js → chunk-U24M5RQM.js} +5 -5
  144. package/dist/{chunk-XME3HPXZ.js → chunk-U2XX3BT4.js} +2 -2
  145. package/dist/{chunk-SZD2KF7Q.js → chunk-UWB5WMC2.js} +2 -2
  146. package/dist/{chunk-6CS3UQTN.js → chunk-VCL7FK3E.js} +2 -2
  147. package/dist/{chunk-N3IQCBCF.js → chunk-VCWAJPXQ.js} +2 -2
  148. package/dist/{chunk-LZYFLFEH.js → chunk-VG55NFXF.js} +2 -2
  149. package/dist/{chunk-PTAWHLVJ.js → chunk-VLTUX4IF.js} +2 -2
  150. package/dist/{chunk-JEJLSICM.js → chunk-VVCBMH5O.js} +2 -2
  151. package/dist/{chunk-JSOYNVWH.js → chunk-VYZQZ4ZN.js} +2 -2
  152. package/dist/chunk-W3FK73MD.js +8 -0
  153. package/dist/{chunk-UNBY47BC.js → chunk-W6C6QTXJ.js} +2 -2
  154. package/dist/chunk-WH5SYOMD.js +2 -0
  155. package/dist/chunk-WJOQC4P7.js +7 -0
  156. package/dist/chunk-WO47BIPY.js +3 -0
  157. package/dist/chunk-WOOTEWQT.js +239 -0
  158. package/dist/{chunk-UBGWN7I4.js → chunk-X5I2BQGX.js} +2 -2
  159. package/dist/{chunk-PX4RYAAK.js → chunk-XNUWRTYM.js} +2 -2
  160. package/dist/{chunk-ICFDQHAM.js → chunk-XUJM6474.js} +2 -2
  161. package/dist/chunk-XYLV727H.js +21 -0
  162. package/dist/{chunk-TRRC4ZJ7.js → chunk-YFQPWKHR.js} +2 -2
  163. package/dist/{chunk-NEDP5RFQ.js → chunk-YIOQJ45A.js} +2 -2
  164. package/dist/{chunk-Y6KHROC3.js → chunk-YXJ4IAHH.js} +2 -2
  165. package/dist/chunk-YYFV32WR.js +3 -0
  166. package/dist/{chunk-BH5F2Q4O.js → chunk-ZB3V5QM7.js} +2 -2
  167. package/dist/chunk-ZJZQ7Q2Q.js +3 -0
  168. package/dist/{chunk-EMNIHCRB.js → chunk-ZNQCR656.js} +2 -2
  169. package/dist/{chunk-TIIC3ZE7.js → chunk-ZOEDRCR4.js} +2 -2
  170. package/dist/cli-context-TSADTXLB.js +2 -0
  171. package/dist/cli-context-XEPPF4RX.js +3 -0
  172. package/dist/cli-program-KJGQEM72.js +7 -0
  173. package/dist/cli.js +1 -1
  174. package/dist/{code-DlqpBDd0.d.ts → code-CDe-mIjx.d.ts} +1 -1
  175. package/dist/code-viewer-YGDON6SY.js +12 -0
  176. package/dist/code-viewer-ZCTHXQ5C.js +11 -0
  177. package/dist/command-descriptors-5VAB2MZX.js +335 -0
  178. package/dist/command-descriptors-EAHKIRAG.js +337 -0
  179. package/dist/{config-types-BNoC96J3.d.ts → config-types-D6X5S68_.d.ts} +50 -0
  180. package/dist/{db-D7sauVFH.d.ts → db-DmRNdCtm.d.ts} +1 -1
  181. package/dist/direct-navigation-B3SGOOBW.js +2 -0
  182. package/dist/direct-navigation-ZL362KXF.js +3 -0
  183. package/dist/{graph-evidence-BIFqyisO.d.ts → graph-evidence-Bs54NWws.d.ts} +1 -1
  184. package/dist/{health-DJaZXg8I.d.ts → health-BnzbSLCE.d.ts} +1 -1
  185. package/dist/index.d.ts +2 -2
  186. package/dist/index.js +1 -1
  187. package/dist/invocation-command-descriptors-CSUGUHTT.js +2 -0
  188. package/dist/invocation-command-descriptors-PPVZOIE5.js +3 -0
  189. package/dist/output-continuation-command-FTVVBVSN.js +2 -0
  190. package/dist/output-continuation-command-ITPRC3YV.js +3 -0
  191. package/dist/project-reindex-7HZSLLLY.js +3 -0
  192. package/dist/project-reindex-NGM3DYBN.js +2 -0
  193. package/dist/queries/affected.d.ts +2 -2
  194. package/dist/queries/affected.js +1 -1
  195. package/dist/queries/anchors.d.ts +2 -2
  196. package/dist/queries/anchors.js +1 -1
  197. package/dist/queries/architecture.d.ts +2 -2
  198. package/dist/queries/architecture.js +1 -1
  199. package/dist/queries/bottlenecks.d.ts +2 -2
  200. package/dist/queries/bottlenecks.js +1 -1
  201. package/dist/queries/by-kind.d.ts +2 -2
  202. package/dist/queries/by-kind.js +1 -1
  203. package/dist/queries/call-graph.d.ts +2 -2
  204. package/dist/queries/call-graph.js +1 -1
  205. package/dist/queries/change-surface.d.ts +2 -2
  206. package/dist/queries/change-surface.js +1 -1
  207. package/dist/queries/cleanup-plan.d.ts +2 -2
  208. package/dist/queries/cleanup-plan.js +1 -1
  209. package/dist/queries/co-change.d.ts +2 -2
  210. package/dist/queries/co-change.js +1 -1
  211. package/dist/queries/code.d.ts +3 -3
  212. package/dist/queries/code.js +1 -1
  213. package/dist/queries/complexity-hotspots.d.ts +2 -2
  214. package/dist/queries/complexity-hotspots.js +1 -1
  215. package/dist/queries/complexity.d.ts +2 -2
  216. package/dist/queries/complexity.js +1 -1
  217. package/dist/queries/context.d.ts +2 -2
  218. package/dist/queries/context.js +1 -1
  219. package/dist/queries/convergence.d.ts +2 -2
  220. package/dist/queries/convergence.js +1 -1
  221. package/dist/queries/coupling.d.ts +2 -2
  222. package/dist/queries/coupling.js +1 -1
  223. package/dist/queries/cycles.d.ts +2 -2
  224. package/dist/queries/cycles.js +1 -1
  225. package/dist/queries/dataflow.d.ts +2 -2
  226. package/dist/queries/dataflow.js +1 -1
  227. package/dist/queries/dead.d.ts +2 -2
  228. package/dist/queries/dead.js +1 -1
  229. package/dist/queries/decorative-checkers.d.ts +2 -2
  230. package/dist/queries/decorative-checkers.js +1 -1
  231. package/dist/queries/deep-chains.d.ts +2 -2
  232. package/dist/queries/deep-chains.js +1 -1
  233. package/dist/queries/dependence-slice.d.ts +3 -3
  234. package/dist/queries/dependence-slice.js +1 -1
  235. package/dist/queries/dependency-depth.d.ts +2 -2
  236. package/dist/queries/dependency-depth.js +1 -1
  237. package/dist/queries/deps.d.ts +2 -2
  238. package/dist/queries/deps.js +1 -1
  239. package/dist/queries/diff-impact.d.ts +2 -2
  240. package/dist/queries/diff-impact.js +1 -1
  241. package/dist/queries/doc-drift.d.ts +2 -2
  242. package/dist/queries/doc-drift.js +1 -1
  243. package/dist/queries/drift.d.ts +2 -2
  244. package/dist/queries/drift.js +1 -1
  245. package/dist/queries/duplicate-bodies.d.ts +2 -2
  246. package/dist/queries/duplicate-bodies.js +1 -1
  247. package/dist/queries/entry-map.d.ts +2 -2
  248. package/dist/queries/entry-map.js +1 -1
  249. package/dist/queries/evidence.d.ts +3 -3
  250. package/dist/queries/evidence.js +1 -1
  251. package/dist/queries/extract-candidates.d.ts +2 -2
  252. package/dist/queries/extract-candidates.js +1 -1
  253. package/dist/queries/fan.d.ts +2 -2
  254. package/dist/queries/fan.js +1 -1
  255. package/dist/queries/files.d.ts +2 -2
  256. package/dist/queries/files.js +1 -1
  257. package/dist/queries/health.d.ts +3 -3
  258. package/dist/queries/health.js +1 -1
  259. package/dist/queries/hierarchy.d.ts +2 -2
  260. package/dist/queries/hierarchy.js +1 -1
  261. package/dist/queries/hotspots.d.ts +2 -2
  262. package/dist/queries/hotspots.js +1 -1
  263. package/dist/queries/imports.d.ts +2 -2
  264. package/dist/queries/imports.js +1 -1
  265. package/dist/queries/incomplete-migration.d.ts +2 -2
  266. package/dist/queries/incomplete-migration.js +1 -1
  267. package/dist/queries/index.d.ts +5 -5
  268. package/dist/queries/index.js +1 -1
  269. package/dist/queries/isolated.d.ts +2 -2
  270. package/dist/queries/isolated.js +1 -1
  271. package/dist/queries/locality-candidates.d.ts +2 -2
  272. package/dist/queries/locality-candidates.js +1 -1
  273. package/dist/queries/members.d.ts +2 -2
  274. package/dist/queries/members.js +1 -1
  275. package/dist/queries/methods.d.ts +2 -2
  276. package/dist/queries/methods.js +1 -1
  277. package/dist/queries/not-implemented.d.ts +2 -2
  278. package/dist/queries/not-implemented.js +1 -1
  279. package/dist/queries/outline.d.ts +2 -2
  280. package/dist/queries/outline.js +1 -1
  281. package/dist/queries/passthrough-candidates.d.ts +2 -2
  282. package/dist/queries/passthrough-candidates.js +1 -1
  283. package/dist/queries/plan-context.d.ts +2 -2
  284. package/dist/queries/plan-context.js +1 -1
  285. package/dist/queries/react-component-duplicates.d.ts +2 -2
  286. package/dist/queries/react-component-duplicates.js +1 -1
  287. package/dist/queries/react-hook-candidates.d.ts +2 -2
  288. package/dist/queries/react-hook-candidates.js +1 -1
  289. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  290. package/dist/queries/react-large-component-pressure.js +1 -1
  291. package/dist/queries/recent-duplicates.d.ts +2 -2
  292. package/dist/queries/recent-duplicates.js +1 -1
  293. package/dist/queries/redundant-reexports.d.ts +2 -2
  294. package/dist/queries/redundant-reexports.js +1 -1
  295. package/dist/queries/reference-neighborhood.d.ts +2 -2
  296. package/dist/queries/reference-neighborhood.js +1 -1
  297. package/dist/queries/reference-reachability.d.ts +2 -2
  298. package/dist/queries/reference-reachability.js +1 -1
  299. package/dist/queries/refs.d.ts +2 -2
  300. package/dist/queries/refs.js +1 -1
  301. package/dist/queries/self-audit.d.ts +2 -2
  302. package/dist/queries/self-audit.js +1 -1
  303. package/dist/queries/similar-chains.d.ts +2 -2
  304. package/dist/queries/similar-chains.js +1 -1
  305. package/dist/queries/similar-files.d.ts +2 -2
  306. package/dist/queries/similar-files.js +1 -1
  307. package/dist/queries/similar-signatures.d.ts +2 -2
  308. package/dist/queries/similar-signatures.js +1 -1
  309. package/dist/queries/similar.d.ts +2 -2
  310. package/dist/queries/similar.js +1 -1
  311. package/dist/queries/slice.d.ts +2 -2
  312. package/dist/queries/slice.js +1 -1
  313. package/dist/queries/source-inspection.d.ts +4 -4
  314. package/dist/queries/source-inspection.js +1 -1
  315. package/dist/queries/source-search.d.ts +2 -2
  316. package/dist/queries/source-search.js +1 -1
  317. package/dist/queries/stale-abstractions.d.ts +2 -2
  318. package/dist/queries/stale-abstractions.js +1 -1
  319. package/dist/queries/stats.d.ts +2 -2
  320. package/dist/queries/surface.d.ts +2 -2
  321. package/dist/queries/surface.js +1 -1
  322. package/dist/queries/symbols.d.ts +2 -2
  323. package/dist/queries/symbols.js +1 -1
  324. package/dist/queries/system-map.d.ts +2 -2
  325. package/dist/queries/system-map.js +1 -1
  326. package/dist/queries/system.d.ts +2 -2
  327. package/dist/queries/system.js +1 -1
  328. package/dist/queries/test-quality.d.ts +2 -2
  329. package/dist/queries/test-quality.js +1 -1
  330. package/dist/queries/trace.d.ts +2 -2
  331. package/dist/queries/trace.js +1 -1
  332. package/dist/queries/twin-ab.d.ts +2 -2
  333. package/dist/queries/twin-ab.js +1 -1
  334. package/dist/queries/twin-drift.d.ts +2 -2
  335. package/dist/queries/twin-drift.js +1 -1
  336. package/dist/queries/unused-imports.d.ts +2 -2
  337. package/dist/queries/unused-imports.js +1 -1
  338. package/dist/queries/unused-params.d.ts +2 -2
  339. package/dist/queries/unused-params.js +1 -1
  340. package/dist/queries/value-flow.d.ts +3 -3
  341. package/dist/queries/value-flow.js +1 -1
  342. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  343. package/dist/queries/vue-component-duplicates.js +1 -1
  344. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  345. package/dist/queries/vue-composable-candidates.js +1 -1
  346. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  347. package/dist/queries/vue-large-view-pressure.js +1 -1
  348. package/dist/queries/wrapper-candidates.d.ts +2 -2
  349. package/dist/queries/wrapper-candidates.js +1 -1
  350. package/dist/reindex-worker.js +1 -1
  351. package/dist/reindex.d.ts +3 -3
  352. package/dist/reindex.js +31 -31
  353. package/dist/runtime.d.ts +24 -4
  354. package/dist/runtime.js +3 -3
  355. package/dist/rust-semantic-session-server.js +1 -1
  356. package/dist/rust-semantic-session-worker.js +1 -1
  357. package/dist/rust-semantic-worker.js +1 -1
  358. package/dist/{scip-cli-B7N3haxa.d.ts → scip-cli-BRFKkHQn.d.ts} +1 -1
  359. package/dist/sentinel-ensure-command-KYYULCFU.js +2 -0
  360. package/dist/sentinel-ensure-command-RIZA3RY7.js +3 -0
  361. package/dist/sentinel-hook.js +39 -0
  362. package/dist/sentinel-worker.js +16 -0
  363. package/dist/typescript-mailbox-worker.js +1 -1
  364. package/dist/watch-server.js +6 -6
  365. package/docs/COMMAND_REFERENCE.md +5 -3
  366. package/docs/schemas/project-config.schema.json +159 -0
  367. package/package.json +9 -5
  368. package/skills/codebaseiq/SKILL.md +1 -1
  369. package/skills/concrete-plan/SKILL.md +1 -1
  370. package/ui/view/api.js +450 -0
  371. package/ui/view/app.js +394 -0
  372. package/ui/view/builder.js +323 -0
  373. package/ui/view/file-panel.js +170 -0
  374. package/ui/view/focus.js +379 -0
  375. package/ui/view/index.html +54 -0
  376. package/ui/view/map.js +424 -0
  377. package/ui/view/styles.css +1125 -0
  378. package/dist/chunk-2X7V4HS4.js +0 -88
  379. package/dist/chunk-3IER7Q6H.js +0 -12
  380. package/dist/chunk-3JSXXYTZ.js +0 -345
  381. package/dist/chunk-476NR5B7.js +0 -2
  382. package/dist/chunk-5VKBFZZU.js +0 -3
  383. package/dist/chunk-ADTBPVUZ.js +0 -21
  384. package/dist/chunk-BFFZDZQV.js +0 -2
  385. package/dist/chunk-BMYOV5GP.js +0 -77
  386. package/dist/chunk-C74PPYLA.js +0 -3
  387. package/dist/chunk-CWONGW6P.js +0 -3
  388. package/dist/chunk-DDZ7VHWV.js +0 -20
  389. package/dist/chunk-DR2LURYU.js +0 -3
  390. package/dist/chunk-ECQBG7PW.js +0 -564
  391. package/dist/chunk-FM5BPL4V.js +0 -60
  392. package/dist/chunk-G6XFR4ZL.js +0 -4
  393. package/dist/chunk-GTIYTDRE.js +0 -562
  394. package/dist/chunk-HOA5YGOH.js +0 -3
  395. package/dist/chunk-KUW32IRO.js +0 -2
  396. package/dist/chunk-LTA3BRZX.js +0 -2
  397. package/dist/chunk-NAUD7LCA.js +0 -2
  398. package/dist/chunk-OGTFJ3XD.js +0 -2
  399. package/dist/chunk-Q5ELPRKQ.js +0 -2
  400. package/dist/chunk-QCN62RTF.js +0 -3
  401. package/dist/chunk-QW7EP6WI.js +0 -21
  402. package/dist/chunk-RU65DDUP.js +0 -215
  403. package/dist/chunk-SELM5MER.js +0 -2
  404. package/dist/chunk-SNNWPCN7.js +0 -4
  405. package/dist/chunk-TFZB6XTM.js +0 -239
  406. package/dist/chunk-UXM43C7T.js +0 -3
  407. package/dist/chunk-VFY6Y2H6.js +0 -61
  408. package/dist/chunk-WE5RZHZ7.js +0 -5
  409. package/dist/chunk-Z54RD7VL.js +0 -3
  410. package/dist/cli-context-3SNLDYBM.js +0 -3
  411. package/dist/cli-context-T3B7W6GG.js +0 -2
  412. package/dist/cli-program-YNOXO72B.js +0 -7
  413. package/dist/command-descriptors-6AOUKWW7.js +0 -346
  414. package/dist/command-descriptors-ZFKJSRUP.js +0 -344
  415. package/dist/direct-navigation-DP4LVMRX.js +0 -3
  416. package/dist/direct-navigation-FLUS3BT6.js +0 -2
  417. package/dist/invocation-command-descriptors-QT2JMY5J.js +0 -3
  418. package/dist/invocation-command-descriptors-YN4QJEAX.js +0 -2
  419. package/dist/output-continuation-command-2V2SL4TD.js +0 -2
  420. package/dist/output-continuation-command-65J5IP3O.js +0 -3
  421. package/dist/project-reindex-5JOKXAXT.js +0 -2
  422. package/dist/project-reindex-UQBIKO4M.js +0 -3
@@ -0,0 +1,1125 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ --font-ui: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
4
+ --font-code: ui-monospace, SFMono-Regular, 'Cascadia Code', Menlo, Consolas, 'Liberation Mono', monospace;
5
+
6
+ --bg: #f4f6f9;
7
+ --surface: #ffffff;
8
+ --raised: #eef1f6;
9
+ --text: #1b2230;
10
+ --muted: #566074;
11
+ --border: #d5dbe5;
12
+ --accent: #1f4fbf;
13
+ --accent-text: #ffffff;
14
+ --accent-soft: #e4ebfa;
15
+ --danger: #b3261e;
16
+ --danger-soft: #fbe9e7;
17
+ --ok: #1c6b3a;
18
+ --warn: #8a5a00;
19
+ --focus: #1f4fbf;
20
+ --shadow: 0 8px 28px rgb(20 30 50 / 18%);
21
+
22
+ --map-bg: #fbfcfe;
23
+ --map-text: #1b2230;
24
+ --map-muted: #566074;
25
+ --map-dir-fill: #e3ebfb;
26
+ --map-dir-border: #5b7fcf;
27
+ --map-file-fill: #ffffff;
28
+ --map-file-border: #8591a6;
29
+ --map-external-fill: #eceff3;
30
+ --map-external-border: #7b8596;
31
+ --map-edge: #7d8798;
32
+ --map-cycle: #b3261e;
33
+ --map-accent: #1f4fbf;
34
+ }
35
+
36
+ @media (prefers-color-scheme: dark) {
37
+ :root {
38
+ --bg: #0e1117;
39
+ --surface: #161b24;
40
+ --raised: #1d2430;
41
+ --text: #e6e9ef;
42
+ --muted: #9aa5b8;
43
+ --border: #2b3341;
44
+ --accent: #8cb0ff;
45
+ --accent-text: #0b1220;
46
+ --accent-soft: #1d2a47;
47
+ --danger: #ff8f86;
48
+ --danger-soft: #3a1f1d;
49
+ --ok: #6fcf97;
50
+ --warn: #f2c94c;
51
+ --focus: #8cb0ff;
52
+ --shadow: 0 8px 28px rgb(0 0 0 / 55%);
53
+
54
+ --map-bg: #11151d;
55
+ --map-text: #e6e9ef;
56
+ --map-muted: #9aa5b8;
57
+ --map-dir-fill: #1e2b47;
58
+ --map-dir-border: #6b8fd8;
59
+ --map-file-fill: #1b212c;
60
+ --map-file-border: #66738a;
61
+ --map-external-fill: #141922;
62
+ --map-external-border: #667085;
63
+ --map-edge: #7d8aa0;
64
+ --map-cycle: #ff8f86;
65
+ --map-accent: #8cb0ff;
66
+ }
67
+ }
68
+
69
+ *,
70
+ *::before,
71
+ *::after {
72
+ box-sizing: border-box;
73
+ }
74
+
75
+ [hidden] {
76
+ display: none !important;
77
+ }
78
+
79
+ html,
80
+ body {
81
+ height: 100%;
82
+ }
83
+
84
+ body {
85
+ margin: 0;
86
+ display: flex;
87
+ flex-direction: column;
88
+ font: 14px/1.5 var(--font-ui);
89
+ color: var(--text);
90
+ background: var(--bg);
91
+ }
92
+
93
+ a {
94
+ color: var(--accent);
95
+ text-decoration-thickness: 1px;
96
+ text-underline-offset: 2px;
97
+ }
98
+
99
+ a:hover {
100
+ text-decoration-thickness: 2px;
101
+ }
102
+
103
+ code,
104
+ pre,
105
+ .path-dir,
106
+ .path-base,
107
+ .path-title {
108
+ font-family: var(--font-code);
109
+ }
110
+
111
+ h2,
112
+ h3,
113
+ p {
114
+ margin: 0;
115
+ }
116
+
117
+ :focus-visible {
118
+ outline: 2px solid var(--focus);
119
+ outline-offset: 2px;
120
+ }
121
+
122
+ .visually-hidden {
123
+ position: absolute;
124
+ width: 1px;
125
+ height: 1px;
126
+ margin: -1px;
127
+ padding: 0;
128
+ overflow: hidden;
129
+ clip-path: inset(50%);
130
+ white-space: nowrap;
131
+ }
132
+
133
+ .skip-link {
134
+ position: absolute;
135
+ left: 8px;
136
+ top: -48px;
137
+ z-index: 50;
138
+ padding: 6px 10px;
139
+ border-radius: 6px;
140
+ background: var(--accent);
141
+ color: var(--accent-text);
142
+ }
143
+
144
+ .skip-link:focus {
145
+ top: 8px;
146
+ }
147
+
148
+ .muted {
149
+ color: var(--muted);
150
+ }
151
+
152
+ .pad {
153
+ padding: 16px;
154
+ }
155
+
156
+ .hint,
157
+ .empty {
158
+ color: var(--muted);
159
+ font-size: 13px;
160
+ }
161
+
162
+ /* Top bar */
163
+
164
+ .topbar {
165
+ position: relative;
166
+ display: flex;
167
+ flex-wrap: wrap;
168
+ align-items: center;
169
+ gap: 8px 16px;
170
+ padding: 8px 16px;
171
+ background: var(--surface);
172
+ border-bottom: 1px solid var(--border);
173
+ }
174
+
175
+ .brand {
176
+ font-weight: 700;
177
+ color: var(--text);
178
+ text-decoration: none;
179
+ white-space: nowrap;
180
+ }
181
+
182
+ .crumbs {
183
+ flex: 1 1 260px;
184
+ min-width: 0;
185
+ overflow-x: auto;
186
+ }
187
+
188
+ .crumbs ol {
189
+ display: flex;
190
+ align-items: center;
191
+ gap: 2px;
192
+ margin: 0;
193
+ padding: 0;
194
+ list-style: none;
195
+ white-space: nowrap;
196
+ }
197
+
198
+ .crumbs li + li::before {
199
+ content: '›';
200
+ margin: 0 6px;
201
+ color: var(--muted);
202
+ }
203
+
204
+ .crumbs [aria-current='page'] {
205
+ font-weight: 600;
206
+ }
207
+
208
+ .tools {
209
+ display: flex;
210
+ flex-wrap: wrap;
211
+ align-items: center;
212
+ gap: 8px;
213
+ }
214
+
215
+ .search {
216
+ display: flex;
217
+ gap: 4px;
218
+ }
219
+
220
+ input[type='search'],
221
+ input[type='text'],
222
+ textarea {
223
+ width: 100%;
224
+ padding: 6px 8px;
225
+ font: inherit;
226
+ color: var(--text);
227
+ background: var(--bg);
228
+ border: 1px solid var(--border);
229
+ border-radius: 6px;
230
+ }
231
+
232
+ .search input {
233
+ width: 200px;
234
+ }
235
+
236
+ textarea {
237
+ resize: vertical;
238
+ }
239
+
240
+ button {
241
+ font: inherit;
242
+ color: var(--text);
243
+ background: var(--raised);
244
+ border: 1px solid var(--border);
245
+ border-radius: 6px;
246
+ padding: 5px 10px;
247
+ cursor: pointer;
248
+ }
249
+
250
+ button:hover:not(:disabled) {
251
+ border-color: var(--accent);
252
+ }
253
+
254
+ button:disabled {
255
+ opacity: 0.6;
256
+ cursor: progress;
257
+ }
258
+
259
+ button.accent {
260
+ color: var(--accent-text);
261
+ background: var(--accent);
262
+ border-color: var(--accent);
263
+ font-weight: 600;
264
+ }
265
+
266
+ .icon-button {
267
+ width: 30px;
268
+ height: 30px;
269
+ padding: 0;
270
+ line-height: 1;
271
+ font-size: 16px;
272
+ }
273
+
274
+ .link-button {
275
+ padding: 2px 4px;
276
+ color: var(--accent);
277
+ background: none;
278
+ border: none;
279
+ text-decoration: underline;
280
+ }
281
+
282
+ .segmented {
283
+ display: inline-flex;
284
+ }
285
+
286
+ .segmented button {
287
+ border-radius: 0;
288
+ }
289
+
290
+ .segmented button:first-child {
291
+ border-radius: 6px 0 0 6px;
292
+ }
293
+
294
+ .segmented button:last-child {
295
+ border-radius: 0 6px 6px 0;
296
+ margin-left: -1px;
297
+ }
298
+
299
+ .segmented button[aria-pressed='true'],
300
+ .toggle[aria-pressed='true'] {
301
+ color: var(--accent-text);
302
+ background: var(--accent);
303
+ border-color: var(--accent);
304
+ }
305
+
306
+ .pill {
307
+ padding: 2px 10px;
308
+ font-size: 12px;
309
+ color: var(--muted);
310
+ border: 1px solid var(--border);
311
+ border-radius: 999px;
312
+ white-space: nowrap;
313
+ }
314
+
315
+ .pill[data-state='ok'] {
316
+ color: var(--ok);
317
+ }
318
+
319
+ .pill[data-state='warn'],
320
+ .pill[data-state='offline'] {
321
+ color: var(--warn);
322
+ border-color: var(--warn);
323
+ }
324
+
325
+ .progress {
326
+ position: absolute;
327
+ left: 0;
328
+ right: 0;
329
+ bottom: -1px;
330
+ height: 2px;
331
+ overflow: hidden;
332
+ opacity: 0;
333
+ }
334
+
335
+ body[data-busy] .progress {
336
+ opacity: 1;
337
+ }
338
+
339
+ .progress::after {
340
+ content: '';
341
+ display: block;
342
+ width: 30%;
343
+ height: 100%;
344
+ background: var(--accent);
345
+ }
346
+
347
+ @media (prefers-reduced-motion: no-preference) {
348
+ .progress::after {
349
+ animation: sweep 1.1s ease-in-out infinite;
350
+ }
351
+ }
352
+
353
+ @keyframes sweep {
354
+ from {
355
+ transform: translateX(-100%);
356
+ }
357
+
358
+ to {
359
+ transform: translateX(340%);
360
+ }
361
+ }
362
+
363
+ /* Two-pane split */
364
+
365
+ .split {
366
+ flex: 1;
367
+ min-height: 0;
368
+ display: grid;
369
+ grid-template-columns: minmax(0, 11fr) minmax(320px, 9fr);
370
+ }
371
+
372
+ .split[data-view='focus'] {
373
+ grid-template-columns: minmax(0, 2fr) minmax(360px, 3fr);
374
+ }
375
+
376
+ .pane {
377
+ min-width: 0;
378
+ min-height: 0;
379
+ }
380
+
381
+ .map-pane {
382
+ position: relative;
383
+ background: var(--map-bg);
384
+ }
385
+
386
+ .map-canvas {
387
+ position: absolute;
388
+ inset: 0;
389
+ }
390
+
391
+ .map-controls {
392
+ position: absolute;
393
+ right: 12px;
394
+ bottom: 12px;
395
+ display: flex;
396
+ flex-direction: column;
397
+ gap: 4px;
398
+ }
399
+
400
+ .map-message {
401
+ position: absolute;
402
+ inset: 0;
403
+ display: flex;
404
+ align-items: center;
405
+ justify-content: center;
406
+ padding: 24px;
407
+ text-align: center;
408
+ }
409
+
410
+ .map-tooltip {
411
+ position: absolute;
412
+ z-index: 5;
413
+ max-width: 320px;
414
+ padding: 8px 10px;
415
+ font-size: 12px;
416
+ color: var(--text);
417
+ background: var(--surface);
418
+ border: 1px solid var(--border);
419
+ border-radius: 6px;
420
+ box-shadow: var(--shadow);
421
+ pointer-events: none;
422
+ overflow-wrap: anywhere;
423
+ }
424
+
425
+ .map-tooltip strong {
426
+ font-family: var(--font-code);
427
+ }
428
+
429
+ .tip-list {
430
+ margin: 2px 0 0;
431
+ padding-left: 16px;
432
+ font-family: var(--font-code);
433
+ }
434
+
435
+ .cycle-flag {
436
+ color: var(--danger);
437
+ font-weight: 600;
438
+ }
439
+
440
+ .detail-pane {
441
+ container: detail / inline-size;
442
+ overflow: auto;
443
+ padding: 16px;
444
+ background: var(--surface);
445
+ border-left: 1px solid var(--border);
446
+ }
447
+
448
+ .detail-pane:focus,
449
+ [tabindex='-1']:focus {
450
+ outline: none;
451
+ }
452
+
453
+ /* Detail panels */
454
+
455
+ .panel-head {
456
+ display: grid;
457
+ gap: 6px;
458
+ margin-bottom: 16px;
459
+ }
460
+
461
+ .eyebrow {
462
+ font-size: 11px;
463
+ font-weight: 600;
464
+ letter-spacing: 0.06em;
465
+ text-transform: uppercase;
466
+ color: var(--muted);
467
+ }
468
+
469
+ .path-title {
470
+ font-size: 15px;
471
+ font-weight: 600;
472
+ overflow-wrap: anywhere;
473
+ }
474
+
475
+ .path-dir {
476
+ color: var(--muted);
477
+ }
478
+
479
+ .head-actions {
480
+ display: flex;
481
+ flex-wrap: wrap;
482
+ align-items: center;
483
+ gap: 8px 16px;
484
+ }
485
+
486
+ .stats {
487
+ display: flex;
488
+ flex-wrap: wrap;
489
+ gap: 16px;
490
+ }
491
+
492
+ .stat {
493
+ display: grid;
494
+ }
495
+
496
+ .stat strong {
497
+ font-size: 18px;
498
+ }
499
+
500
+ .stat span {
501
+ font-size: 12px;
502
+ color: var(--muted);
503
+ }
504
+
505
+ .block {
506
+ margin-bottom: 20px;
507
+ }
508
+
509
+ .block h3,
510
+ .lane h3,
511
+ .bucket h3 {
512
+ display: flex;
513
+ align-items: baseline;
514
+ gap: 6px;
515
+ margin-bottom: 6px;
516
+ font-size: 12px;
517
+ font-weight: 700;
518
+ letter-spacing: 0.04em;
519
+ text-transform: uppercase;
520
+ color: var(--muted);
521
+ }
522
+
523
+ .block-head {
524
+ display: flex;
525
+ align-items: center;
526
+ justify-content: space-between;
527
+ margin-bottom: 6px;
528
+ }
529
+
530
+ .block-head h3 {
531
+ margin: 0;
532
+ }
533
+
534
+ .count {
535
+ margin-left: 6px;
536
+ font-weight: 400;
537
+ letter-spacing: 0;
538
+ color: var(--muted);
539
+ }
540
+
541
+ .plain-list,
542
+ .outline-list,
543
+ .lane-list,
544
+ .cards,
545
+ .why {
546
+ margin: 0;
547
+ padding: 0;
548
+ list-style: none;
549
+ }
550
+
551
+ .plain-list > li {
552
+ display: flex;
553
+ flex-wrap: wrap;
554
+ align-items: baseline;
555
+ gap: 2px 10px;
556
+ padding: 2px 0;
557
+ }
558
+
559
+ .plain-list.stacked > li {
560
+ display: block;
561
+ }
562
+
563
+ .plain-list.columns {
564
+ display: grid;
565
+ grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
566
+ gap: 0 12px;
567
+ }
568
+
569
+ .path-link {
570
+ overflow-wrap: anywhere;
571
+ font-size: 13px;
572
+ }
573
+
574
+ .more-row {
575
+ padding-top: 4px;
576
+ }
577
+
578
+ .edge-row {
579
+ justify-content: space-between;
580
+ font-size: 13px;
581
+ }
582
+
583
+ .edge-row.cycle {
584
+ color: var(--danger);
585
+ }
586
+
587
+ .chip {
588
+ display: inline-block;
589
+ padding: 0 7px;
590
+ font-size: 11px;
591
+ line-height: 18px;
592
+ color: var(--muted);
593
+ background: var(--raised);
594
+ border: 1px solid var(--border);
595
+ border-radius: 999px;
596
+ }
597
+
598
+ .chip.kind {
599
+ margin-right: 6px;
600
+ border-radius: 4px;
601
+ }
602
+
603
+ .chip.danger {
604
+ color: var(--danger);
605
+ border-color: var(--danger);
606
+ }
607
+
608
+ .chip.strong {
609
+ color: var(--accent);
610
+ border-color: var(--accent);
611
+ }
612
+
613
+ .chip.subtle {
614
+ background: none;
615
+ }
616
+
617
+ /* Outline */
618
+
619
+ .outline-list.root {
620
+ margin-left: -4px;
621
+ }
622
+
623
+ .outline-list .outline-list {
624
+ margin-left: 14px;
625
+ padding-left: 8px;
626
+ border-left: 1px solid var(--border);
627
+ }
628
+
629
+ .outline-list li {
630
+ padding: 2px 0;
631
+ }
632
+
633
+ .outline-row {
634
+ display: flex;
635
+ flex-wrap: wrap;
636
+ align-items: baseline;
637
+ justify-content: space-between;
638
+ gap: 2px 8px;
639
+ }
640
+
641
+ .outline-link {
642
+ overflow-wrap: anywhere;
643
+ }
644
+
645
+ .outline-name {
646
+ font-family: var(--font-code);
647
+ font-size: 13px;
648
+ }
649
+
650
+ .outline-signature {
651
+ display: block;
652
+ margin: 0 0 2px 4px;
653
+ font-size: 12px;
654
+ color: var(--muted);
655
+ overflow-wrap: anywhere;
656
+ }
657
+
658
+ .lines {
659
+ font-size: 12px;
660
+ color: var(--muted);
661
+ }
662
+
663
+ /* Focus view */
664
+
665
+ .signature {
666
+ margin: 0;
667
+ padding: 8px 10px;
668
+ overflow-x: auto;
669
+ font-size: 12px;
670
+ background: var(--raised);
671
+ border-radius: 6px;
672
+ }
673
+
674
+ .documentation {
675
+ max-height: 11em;
676
+ overflow: auto;
677
+ white-space: pre-wrap;
678
+ color: var(--muted);
679
+ font-size: 13px;
680
+ }
681
+
682
+ .relatives p {
683
+ margin-bottom: 6px;
684
+ }
685
+
686
+ .lanes {
687
+ display: grid;
688
+ gap: 16px;
689
+ margin-bottom: 20px;
690
+ }
691
+
692
+ .lanes-main {
693
+ display: grid;
694
+ grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1fr);
695
+ gap: 12px;
696
+ align-items: start;
697
+ }
698
+
699
+ .lanes-more {
700
+ display: grid;
701
+ grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
702
+ gap: 12px 16px;
703
+ }
704
+
705
+ .symbol-card {
706
+ padding: 12px;
707
+ text-align: center;
708
+ background: var(--accent-soft);
709
+ border: 2px solid var(--accent);
710
+ border-radius: 10px;
711
+ overflow-wrap: anywhere;
712
+ }
713
+
714
+ .symbol-card-name {
715
+ display: block;
716
+ font-family: var(--font-code);
717
+ font-size: 14px;
718
+ }
719
+
720
+ .lane-list {
721
+ display: grid;
722
+ gap: 6px;
723
+ }
724
+
725
+ .lane-item {
726
+ padding: 6px 8px;
727
+ background: var(--bg);
728
+ border: 1px solid var(--border);
729
+ border-left-width: 4px;
730
+ border-radius: 6px;
731
+ overflow-wrap: anywhere;
732
+ }
733
+
734
+ .lane-item[data-strength='exact'] {
735
+ border-style: solid;
736
+ border-color: var(--accent);
737
+ }
738
+
739
+ .lane-item[data-strength='derived'] {
740
+ border-style: solid;
741
+ border-color: var(--muted);
742
+ }
743
+
744
+ .lane-item[data-strength='candidate'],
745
+ .lane-item[data-strength='mixed'] {
746
+ border-style: dashed;
747
+ border-color: var(--muted);
748
+ }
749
+
750
+ .lane-item[data-strength='mixed'] {
751
+ border-left-color: var(--accent);
752
+ }
753
+
754
+ .lane-item[data-strength='unknown'] {
755
+ border-style: dotted;
756
+ border-color: var(--muted);
757
+ }
758
+
759
+ .lane-title {
760
+ font-family: var(--font-code);
761
+ font-size: 13px;
762
+ font-weight: 600;
763
+ }
764
+
765
+ .lane-meta {
766
+ display: flex;
767
+ flex-wrap: wrap;
768
+ align-items: center;
769
+ gap: 4px 8px;
770
+ margin-top: 2px;
771
+ font-size: 12px;
772
+ color: var(--muted);
773
+ }
774
+
775
+ .lane-place {
776
+ font-family: var(--font-code);
777
+ }
778
+
779
+ .lane-strength {
780
+ font-style: italic;
781
+ }
782
+
783
+ .coverage {
784
+ margin-bottom: 20px;
785
+ font-size: 12px;
786
+ color: var(--muted);
787
+ }
788
+
789
+ .collapsible > summary {
790
+ cursor: pointer;
791
+ font-size: 12px;
792
+ font-weight: 700;
793
+ letter-spacing: 0.04em;
794
+ text-transform: uppercase;
795
+ color: var(--muted);
796
+ }
797
+
798
+ .collapsible > summary + * {
799
+ margin-top: 8px;
800
+ }
801
+
802
+ .source-actions {
803
+ display: flex;
804
+ flex-wrap: wrap;
805
+ align-items: center;
806
+ gap: 8px;
807
+ }
808
+
809
+ .code-view {
810
+ display: grid;
811
+ grid-template-columns: auto minmax(0, 1fr);
812
+ margin-top: 6px;
813
+ font-size: 12px;
814
+ line-height: 1.5;
815
+ background: var(--bg);
816
+ border: 1px solid var(--border);
817
+ border-radius: 6px;
818
+ overflow: hidden;
819
+ }
820
+
821
+ .code-view pre {
822
+ margin: 0;
823
+ padding: 8px 10px;
824
+ }
825
+
826
+ .gutter {
827
+ text-align: right;
828
+ color: var(--muted);
829
+ border-right: 1px solid var(--border);
830
+ user-select: none;
831
+ }
832
+
833
+ .code {
834
+ overflow-x: auto;
835
+ tab-size: 2;
836
+ }
837
+
838
+ .statements {
839
+ width: 100%;
840
+ margin-bottom: 12px;
841
+ font-size: 12px;
842
+ border-collapse: collapse;
843
+ }
844
+
845
+ .statements caption {
846
+ padding: 4px 0;
847
+ text-align: left;
848
+ font-weight: 700;
849
+ color: var(--muted);
850
+ }
851
+
852
+ .statements th,
853
+ .statements td {
854
+ padding: 3px 8px;
855
+ text-align: left;
856
+ vertical-align: top;
857
+ border-top: 1px solid var(--border);
858
+ }
859
+
860
+ .statements .num {
861
+ width: 3.5em;
862
+ text-align: right;
863
+ color: var(--muted);
864
+ }
865
+
866
+ .statements code {
867
+ white-space: pre-wrap;
868
+ overflow-wrap: anywhere;
869
+ }
870
+
871
+ /* Notices, toast */
872
+
873
+ .notice {
874
+ padding: 10px 12px;
875
+ font-size: 13px;
876
+ background: var(--raised);
877
+ border: 1px solid var(--border);
878
+ border-radius: 6px;
879
+ }
880
+
881
+ .notice.error {
882
+ color: var(--danger);
883
+ background: var(--danger-soft);
884
+ border-color: var(--danger);
885
+ }
886
+
887
+ .notice.warn {
888
+ color: var(--warn);
889
+ border-color: var(--warn);
890
+ }
891
+
892
+ .toast {
893
+ position: fixed;
894
+ left: 50%;
895
+ bottom: 20px;
896
+ z-index: 60;
897
+ padding: 6px 14px;
898
+ font-size: 13px;
899
+ color: var(--text);
900
+ background: var(--surface);
901
+ border: 1px solid var(--border);
902
+ border-radius: 999px;
903
+ box-shadow: var(--shadow);
904
+ transform: translateX(-50%);
905
+ opacity: 0;
906
+ pointer-events: none;
907
+ }
908
+
909
+ .toast.visible {
910
+ opacity: 1;
911
+ }
912
+
913
+ @media (prefers-reduced-motion: no-preference) {
914
+ .toast {
915
+ transition: opacity 0.2s ease;
916
+ }
917
+ }
918
+
919
+ /* Builder drawer */
920
+
921
+ .drawer {
922
+ position: fixed;
923
+ top: 0;
924
+ right: 0;
925
+ bottom: 0;
926
+ z-index: 40;
927
+ display: flex;
928
+ flex-direction: column;
929
+ width: min(640px, 100vw);
930
+ background: var(--surface);
931
+ border-left: 1px solid var(--border);
932
+ box-shadow: var(--shadow);
933
+ }
934
+
935
+ .drawer-head {
936
+ display: flex;
937
+ align-items: center;
938
+ justify-content: space-between;
939
+ padding: 10px 16px;
940
+ border-bottom: 1px solid var(--border);
941
+ }
942
+
943
+ .drawer-head h2 {
944
+ font-size: 15px;
945
+ }
946
+
947
+ .drawer-body {
948
+ flex: 1;
949
+ overflow: auto;
950
+ padding: 16px;
951
+ }
952
+
953
+ .drawer-form {
954
+ display: grid;
955
+ gap: 8px;
956
+ }
957
+
958
+ .drawer-form label {
959
+ font-size: 12px;
960
+ font-weight: 600;
961
+ color: var(--muted);
962
+ }
963
+
964
+ .modes {
965
+ display: flex;
966
+ flex-wrap: wrap;
967
+ gap: 4px 16px;
968
+ margin: 0;
969
+ padding: 0;
970
+ border: none;
971
+ }
972
+
973
+ .modes legend {
974
+ padding: 0;
975
+ font-size: 12px;
976
+ font-weight: 600;
977
+ color: var(--muted);
978
+ }
979
+
980
+ .radio {
981
+ display: inline-flex;
982
+ align-items: center;
983
+ gap: 6px;
984
+ font-size: 13px;
985
+ font-weight: 400;
986
+ color: var(--text);
987
+ }
988
+
989
+ .form-actions {
990
+ display: flex;
991
+ align-items: center;
992
+ gap: 12px;
993
+ }
994
+
995
+ .results {
996
+ display: grid;
997
+ gap: 12px;
998
+ margin-top: 16px;
999
+ }
1000
+
1001
+ .result-summary {
1002
+ display: flex;
1003
+ flex-wrap: wrap;
1004
+ align-items: center;
1005
+ gap: 6px;
1006
+ }
1007
+
1008
+ .result-summary p {
1009
+ flex-basis: 100%;
1010
+ }
1011
+
1012
+ .probe-list {
1013
+ display: grid;
1014
+ grid-template-columns: auto 1fr;
1015
+ gap: 4px 12px;
1016
+ margin: 0;
1017
+ }
1018
+
1019
+ .probe-list dt {
1020
+ font-size: 12px;
1021
+ color: var(--muted);
1022
+ }
1023
+
1024
+ .probe-list dd {
1025
+ display: flex;
1026
+ flex-wrap: wrap;
1027
+ gap: 4px;
1028
+ margin: 0;
1029
+ }
1030
+
1031
+ .buckets {
1032
+ display: grid;
1033
+ grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
1034
+ gap: 12px;
1035
+ align-items: start;
1036
+ }
1037
+
1038
+ .cards {
1039
+ display: grid;
1040
+ gap: 8px;
1041
+ }
1042
+
1043
+ .card {
1044
+ display: grid;
1045
+ gap: 4px;
1046
+ padding: 8px 10px;
1047
+ background: var(--bg);
1048
+ border: 1px solid var(--border);
1049
+ border-radius: 8px;
1050
+ overflow-wrap: anywhere;
1051
+ }
1052
+
1053
+ .card-signature {
1054
+ font-size: 12px;
1055
+ color: var(--muted);
1056
+ }
1057
+
1058
+ .why {
1059
+ display: grid;
1060
+ gap: 2px;
1061
+ font-size: 12px;
1062
+ color: var(--muted);
1063
+ }
1064
+
1065
+ .why li::before {
1066
+ content: '• ';
1067
+ }
1068
+
1069
+ /* Narrow layouts: the panes stack and the page scrolls */
1070
+
1071
+ @container detail (max-width: 640px) {
1072
+ .lanes-main {
1073
+ grid-template-columns: minmax(0, 1fr);
1074
+ }
1075
+
1076
+ .symbol-card {
1077
+ order: -1;
1078
+ }
1079
+ }
1080
+
1081
+ @media (max-width: 899px) {
1082
+ html,
1083
+ body {
1084
+ height: auto;
1085
+ }
1086
+
1087
+ body {
1088
+ min-height: 100vh;
1089
+ }
1090
+
1091
+ .split,
1092
+ .split[data-view='focus'] {
1093
+ display: block;
1094
+ }
1095
+
1096
+ .map-pane {
1097
+ height: 55vh;
1098
+ min-height: 320px;
1099
+ }
1100
+
1101
+ .detail-pane {
1102
+ overflow: visible;
1103
+ border-left: none;
1104
+ border-top: 1px solid var(--border);
1105
+ }
1106
+
1107
+ .search input {
1108
+ width: 150px;
1109
+ }
1110
+
1111
+ .crumbs {
1112
+ order: 3;
1113
+ flex-basis: 100%;
1114
+ }
1115
+ }
1116
+
1117
+ .statements .place {
1118
+ font-family: var(--font-code);
1119
+ font-size: 11px;
1120
+ }
1121
+
1122
+ .statements tr[data-strength='candidate'] td,
1123
+ .statements tr[data-strength='mixed'] td {
1124
+ border-top-style: dashed;
1125
+ }