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.
- package/CHANGELOG.md +47 -0
- package/dist/augment-vue-worker.js +1 -1
- package/dist/{chunk-DQMDCD24.js → chunk-27PHVDKL.js} +2 -2
- package/dist/{chunk-ZMI2JSX2.js → chunk-2DMVFAY7.js} +2 -2
- package/dist/{chunk-5PUWMSDU.js → chunk-2E6BTWER.js} +2 -2
- package/dist/{chunk-YESXMKX3.js → chunk-2F5ERMNI.js} +2 -2
- package/dist/chunk-2VKB5CMA.js +60 -0
- package/dist/{chunk-NNJ2KZZG.js → chunk-327YK6TB.js} +4 -4
- package/dist/chunk-347TXATM.js +2 -0
- package/dist/{chunk-VEXUL62T.js → chunk-35YYZD3D.js} +2 -2
- package/dist/chunk-36WRYYTE.js +3 -0
- package/dist/chunk-37TKC6MB.js +2 -0
- package/dist/{chunk-FAJQ7LWY.js → chunk-3AC56WAR.js} +2 -2
- package/dist/{chunk-JE3WZ6II.js → chunk-3NUZVLR7.js} +2 -2
- package/dist/{chunk-UZGZB3VB.js → chunk-3XFJUWJE.js} +2 -2
- package/dist/{chunk-OVTS4DKB.js → chunk-4AOOSCZ7.js} +2 -2
- package/dist/{chunk-LU3BMVH2.js → chunk-4IFISPQW.js} +2 -2
- package/dist/chunk-4NHWNAWQ.js +11 -0
- package/dist/chunk-4O52YNKL.js +5 -0
- package/dist/{chunk-HPJRBHVT.js → chunk-54K6556S.js} +2 -2
- package/dist/{chunk-HRWGYWRJ.js → chunk-57GCCPLS.js} +2 -2
- package/dist/{chunk-J77SU6VA.js → chunk-57KEZDPT.js} +2 -2
- package/dist/{chunk-OFBE4NGP.js → chunk-57KFVPVZ.js} +2 -2
- package/dist/{chunk-WOQBZPIF.js → chunk-5BDK6QC3.js} +2 -2
- package/dist/{chunk-7MGU3HPH.js → chunk-5IO2APSS.js} +2 -2
- package/dist/chunk-5NJPH3QZ.js +61 -0
- package/dist/{chunk-GW6Z3WGY.js → chunk-5WXOEJ4G.js} +2 -2
- package/dist/chunk-5XEVXVTK.js +3 -0
- package/dist/{chunk-RR7SX44N.js → chunk-6OVNYYY4.js} +2 -2
- package/dist/{chunk-ZV3JV5G5.js → chunk-6SDEQTVY.js} +2 -2
- package/dist/{chunk-EF2R3WNQ.js → chunk-6URCE5QY.js} +2 -2
- package/dist/{chunk-UCD3H3UZ.js → chunk-6ZV5EDUT.js} +2 -2
- package/dist/{chunk-C6SBF2WH.js → chunk-77GHPR2R.js} +2 -2
- package/dist/{chunk-YVCIMIOC.js → chunk-7R64XY4Y.js} +2 -2
- package/dist/{chunk-VXYS3FZD.js → chunk-7Z7HCZ7J.js} +2 -2
- package/dist/{chunk-CO5R3UNA.js → chunk-A67HT5FR.js} +2 -2
- package/dist/{chunk-UDS562V4.js → chunk-A7XQT7MH.js} +2 -2
- package/dist/{chunk-RDBI2RXU.js → chunk-ACZDU5GK.js} +2 -2
- package/dist/{chunk-FETNQCFO.js → chunk-AM5SUGHF.js} +2 -2
- package/dist/{chunk-NNOKTMZT.js → chunk-B2E3HZ2A.js} +2 -2
- package/dist/{chunk-CVYSU6BX.js → chunk-BH5CE4LN.js} +2 -2
- package/dist/chunk-BLKYYQ7C.js +543 -0
- package/dist/{chunk-4WKDMDEW.js → chunk-BX2U3QQV.js} +2 -2
- package/dist/{chunk-ZKX2FRS6.js → chunk-CANBLFVQ.js} +2 -2
- package/dist/{chunk-SMRBZ6EC.js → chunk-CCRZLRWJ.js} +2 -2
- package/dist/chunk-CDWSLAPN.js +21 -0
- package/dist/chunk-CIVYHK7U.js +22 -0
- package/dist/{chunk-L57ZKWVG.js → chunk-CMXW7MFV.js} +2 -2
- package/dist/{chunk-T3DGWPXM.js → chunk-CSZOQ7YO.js} +2 -2
- package/dist/{chunk-ZZXSWSN6.js → chunk-CWMHWD56.js} +2 -2
- package/dist/{chunk-6NW7MU72.js → chunk-CZEIHYMP.js} +2 -2
- package/dist/{chunk-DO6WQD2T.js → chunk-D62CTZX6.js} +2 -2
- package/dist/{chunk-XWUOUWYI.js → chunk-DFPAZXLU.js} +2 -2
- package/dist/{chunk-MOVBWNIP.js → chunk-DKJXK3HA.js} +2 -2
- package/dist/{chunk-XMQ23E27.js → chunk-DLC6JDN7.js} +2 -2
- package/dist/chunk-DUKHVPU5.js +4 -0
- package/dist/{chunk-ID63777H.js → chunk-DVYG3JTA.js} +2 -2
- package/dist/{chunk-NE6IU5ZD.js → chunk-EFFMFK7C.js} +2 -2
- package/dist/{chunk-I2T2LLK2.js → chunk-EM5UHLAM.js} +2 -2
- package/dist/chunk-EN4AHLL3.js +3 -0
- package/dist/chunk-EXMVF3JR.js +3 -0
- package/dist/{chunk-SWHMHUKF.js → chunk-FEBLLMTL.js} +2 -2
- package/dist/chunk-FIXYHQ3W.js +3 -0
- package/dist/{chunk-RKEJ6VTF.js → chunk-FLLXYUOL.js} +2 -2
- package/dist/{chunk-KWVHSKHK.js → chunk-FPDL2TUB.js} +2 -2
- package/dist/chunk-FQA3KIFX.js +17 -0
- package/dist/chunk-FWY2PRIF.js +3 -0
- package/dist/chunk-FY5V4V4F.js +2 -0
- package/dist/chunk-G2XUZCF2.js +88 -0
- package/dist/{chunk-QHRNXP3C.js → chunk-GXVDTHFC.js} +2 -2
- package/dist/{chunk-6MUIJMVL.js → chunk-H3CKAL6P.js} +2 -2
- package/dist/chunk-H5QXP63L.js +2 -0
- package/dist/{chunk-VUIYB2V3.js → chunk-HBQGKMM3.js} +2 -2
- package/dist/{chunk-PYAB5SM6.js → chunk-HBXZAGY6.js} +2 -2
- package/dist/{chunk-NNO6A2PO.js → chunk-HCMQZPEO.js} +2 -2
- package/dist/{chunk-Q65CQ4XL.js → chunk-HHBBGWES.js} +2 -2
- package/dist/{chunk-GTXSJDCO.js → chunk-HIEXRDJF.js} +2 -2
- package/dist/{chunk-4FC325IF.js → chunk-HYKSLTAR.js} +2 -2
- package/dist/{chunk-XLQ3GLWZ.js → chunk-I2KP4AGR.js} +2 -2
- package/dist/chunk-I5FCDTK2.js +2 -0
- package/dist/{chunk-QKPLA6IC.js → chunk-I645ZF75.js} +2 -2
- package/dist/{chunk-FDGD5AB5.js → chunk-IBM3F2BJ.js} +2 -2
- package/dist/{chunk-Q72QSKXC.js → chunk-IEL6Q5W3.js} +38 -38
- package/dist/{chunk-NCZUNH3E.js → chunk-IGQQUENU.js} +12 -12
- package/dist/chunk-IGYAZPRX.js +4 -0
- package/dist/chunk-IOVPAZWP.js +3 -0
- package/dist/{chunk-OL6KJP3N.js → chunk-IVJJNVSX.js} +2 -2
- package/dist/{chunk-AKB7V7TV.js → chunk-IWAMYGPN.js} +2 -2
- package/dist/chunk-IYBIBMPF.js +90 -0
- package/dist/{chunk-IOP6FWIM.js → chunk-J24VICI5.js} +2 -2
- package/dist/{chunk-C7QOQX32.js → chunk-JN5LIBT3.js} +2 -2
- package/dist/{chunk-O6QTXQPJ.js → chunk-JOALNFY3.js} +2 -2
- package/dist/{chunk-GCHRX4YW.js → chunk-JUO3Z644.js} +2 -2
- package/dist/{chunk-BJ6SQAEN.js → chunk-JXHLB7TP.js} +2 -2
- package/dist/{chunk-IJ4HMYBE.js → chunk-JYX5UZSZ.js} +2 -2
- package/dist/chunk-K2O7SBAU.js +2 -0
- package/dist/{chunk-OLF4MA5W.js → chunk-K5G7SPAG.js} +2 -2
- package/dist/{chunk-YSNONTJ2.js → chunk-KDYQQJ6X.js} +2 -2
- package/dist/{chunk-7NVGT435.js → chunk-KM4QRWI5.js} +2 -2
- package/dist/{chunk-HKQUXIFO.js → chunk-KNV5VFDV.js} +2 -2
- package/dist/chunk-L3YSDLNB.js +2 -0
- package/dist/{chunk-EZNMUY67.js → chunk-LAGDJXFY.js} +2 -2
- package/dist/{chunk-ENCCHKM6.js → chunk-LY2NB5XR.js} +4 -4
- package/dist/chunk-M4EVGA5S.js +14 -0
- package/dist/chunk-M7LAIM77.js +127 -0
- package/dist/{chunk-BVAJLC5A.js → chunk-MRGTCMDK.js} +2 -2
- package/dist/{chunk-OZYRSMSH.js → chunk-MT5W4DUG.js} +2 -2
- package/dist/{chunk-VE5AVNMP.js → chunk-MTMF4N7F.js} +2 -2
- package/dist/chunk-N3Q3AWGW.js +545 -0
- package/dist/{chunk-TXXOEMZJ.js → chunk-NDGTJHQN.js} +2 -2
- package/dist/chunk-NIO346UL.js +2 -0
- package/dist/chunk-NJA4MMBD.js +2 -0
- package/dist/{chunk-7FND7D7N.js → chunk-NK76RSB6.js} +2 -2
- package/dist/{chunk-H3LGFZVK.js → chunk-NTRW52UR.js} +2 -2
- package/dist/{chunk-JOIRNPPY.js → chunk-OJFLPVBP.js} +2 -2
- package/dist/{chunk-KMITESMT.js → chunk-OMBRP7BB.js} +2 -2
- package/dist/{chunk-UP3BUZR5.js → chunk-OVKZM2XI.js} +2 -2
- package/dist/{chunk-MVB3DAEY.js → chunk-PARCKE3Q.js} +2 -2
- package/dist/{chunk-CAUCPUOF.js → chunk-PFPHS4NO.js} +2 -2
- package/dist/chunk-PHPQ24UG.js +22 -0
- package/dist/chunk-PLZXWZHY.js +77 -0
- package/dist/{chunk-34WBMAYK.js → chunk-PNVZIJ57.js} +2 -2
- package/dist/{chunk-SYDJMPES.js → chunk-QKVTWODE.js} +2 -2
- package/dist/{chunk-FW53T7EB.js → chunk-QLTFXVUI.js} +2 -2
- package/dist/{chunk-PBI2LFKH.js → chunk-QMGWSEPL.js} +2 -2
- package/dist/{chunk-CQP3THUZ.js → chunk-QVHZB75Z.js} +2 -2
- package/dist/{chunk-6BQ3DSPK.js → chunk-QVWDQTMG.js} +2 -2
- package/dist/{chunk-ST7V3SKN.js → chunk-RCPZOPV6.js} +2 -2
- package/dist/chunk-RJWAB4VR.js +345 -0
- package/dist/chunk-RRPK327J.js +20 -0
- package/dist/chunk-RVYLJDXC.js +21 -0
- package/dist/chunk-RWKEXCHU.js +3 -0
- package/dist/{chunk-L4NRUAGJ.js → chunk-S5SKXCND.js} +2 -2
- package/dist/{chunk-RBAS5ZHI.js → chunk-S64NCE2Z.js} +2 -2
- package/dist/{chunk-WMPRTGH2.js → chunk-SF34QLK2.js} +2 -2
- package/dist/{chunk-ANFVSJWQ.js → chunk-SJZQ2PTZ.js} +2 -2
- package/dist/{chunk-4XTAUQFD.js → chunk-SRY26ITJ.js} +2 -2
- package/dist/chunk-SV2LEFVM.js +2 -0
- package/dist/{chunk-7XAN6GKB.js → chunk-T3YFIJ5P.js} +2 -2
- package/dist/chunk-T55YPJGB.js +3 -0
- package/dist/chunk-TAJ6UGCO.js +21 -0
- package/dist/{chunk-PIOMTC27.js → chunk-TUTSO7UZ.js} +2 -2
- package/dist/{chunk-FQKZWM4L.js → chunk-U24M5RQM.js} +5 -5
- package/dist/{chunk-XME3HPXZ.js → chunk-U2XX3BT4.js} +2 -2
- package/dist/{chunk-SZD2KF7Q.js → chunk-UWB5WMC2.js} +2 -2
- package/dist/{chunk-6CS3UQTN.js → chunk-VCL7FK3E.js} +2 -2
- package/dist/{chunk-N3IQCBCF.js → chunk-VCWAJPXQ.js} +2 -2
- package/dist/{chunk-LZYFLFEH.js → chunk-VG55NFXF.js} +2 -2
- package/dist/{chunk-PTAWHLVJ.js → chunk-VLTUX4IF.js} +2 -2
- package/dist/{chunk-JEJLSICM.js → chunk-VVCBMH5O.js} +2 -2
- package/dist/{chunk-JSOYNVWH.js → chunk-VYZQZ4ZN.js} +2 -2
- package/dist/chunk-W3FK73MD.js +8 -0
- package/dist/{chunk-UNBY47BC.js → chunk-W6C6QTXJ.js} +2 -2
- package/dist/chunk-WH5SYOMD.js +2 -0
- package/dist/chunk-WJOQC4P7.js +7 -0
- package/dist/chunk-WO47BIPY.js +3 -0
- package/dist/chunk-WOOTEWQT.js +239 -0
- package/dist/{chunk-UBGWN7I4.js → chunk-X5I2BQGX.js} +2 -2
- package/dist/{chunk-PX4RYAAK.js → chunk-XNUWRTYM.js} +2 -2
- package/dist/{chunk-ICFDQHAM.js → chunk-XUJM6474.js} +2 -2
- package/dist/chunk-XYLV727H.js +21 -0
- package/dist/{chunk-TRRC4ZJ7.js → chunk-YFQPWKHR.js} +2 -2
- package/dist/{chunk-NEDP5RFQ.js → chunk-YIOQJ45A.js} +2 -2
- package/dist/{chunk-Y6KHROC3.js → chunk-YXJ4IAHH.js} +2 -2
- package/dist/chunk-YYFV32WR.js +3 -0
- package/dist/{chunk-BH5F2Q4O.js → chunk-ZB3V5QM7.js} +2 -2
- package/dist/chunk-ZJZQ7Q2Q.js +3 -0
- package/dist/{chunk-EMNIHCRB.js → chunk-ZNQCR656.js} +2 -2
- package/dist/{chunk-TIIC3ZE7.js → chunk-ZOEDRCR4.js} +2 -2
- package/dist/cli-context-TSADTXLB.js +2 -0
- package/dist/cli-context-XEPPF4RX.js +3 -0
- package/dist/cli-program-KJGQEM72.js +7 -0
- package/dist/cli.js +1 -1
- package/dist/{code-DlqpBDd0.d.ts → code-CDe-mIjx.d.ts} +1 -1
- package/dist/code-viewer-YGDON6SY.js +12 -0
- package/dist/code-viewer-ZCTHXQ5C.js +11 -0
- package/dist/command-descriptors-5VAB2MZX.js +335 -0
- package/dist/command-descriptors-EAHKIRAG.js +337 -0
- package/dist/{config-types-BNoC96J3.d.ts → config-types-D6X5S68_.d.ts} +50 -0
- package/dist/{db-D7sauVFH.d.ts → db-DmRNdCtm.d.ts} +1 -1
- package/dist/direct-navigation-B3SGOOBW.js +2 -0
- package/dist/direct-navigation-ZL362KXF.js +3 -0
- package/dist/{graph-evidence-BIFqyisO.d.ts → graph-evidence-Bs54NWws.d.ts} +1 -1
- package/dist/{health-DJaZXg8I.d.ts → health-BnzbSLCE.d.ts} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/invocation-command-descriptors-CSUGUHTT.js +2 -0
- package/dist/invocation-command-descriptors-PPVZOIE5.js +3 -0
- package/dist/output-continuation-command-FTVVBVSN.js +2 -0
- package/dist/output-continuation-command-ITPRC3YV.js +3 -0
- package/dist/project-reindex-7HZSLLLY.js +3 -0
- package/dist/project-reindex-NGM3DYBN.js +2 -0
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/anchors.d.ts +2 -2
- package/dist/queries/anchors.js +1 -1
- package/dist/queries/architecture.d.ts +2 -2
- package/dist/queries/architecture.js +1 -1
- package/dist/queries/bottlenecks.d.ts +2 -2
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +2 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +2 -2
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +2 -2
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +2 -2
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +2 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +3 -3
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +2 -2
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +2 -2
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/context.d.ts +2 -2
- package/dist/queries/context.js +1 -1
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +2 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +2 -2
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +2 -2
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +2 -2
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.d.ts +2 -2
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/deep-chains.d.ts +2 -2
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/dependence-slice.d.ts +3 -3
- package/dist/queries/dependence-slice.js +1 -1
- package/dist/queries/dependency-depth.d.ts +2 -2
- package/dist/queries/dependency-depth.js +1 -1
- package/dist/queries/deps.d.ts +2 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +2 -2
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +2 -2
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +2 -2
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +2 -2
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/entry-map.d.ts +2 -2
- package/dist/queries/entry-map.js +1 -1
- package/dist/queries/evidence.d.ts +3 -3
- package/dist/queries/evidence.js +1 -1
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +2 -2
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +2 -2
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +3 -3
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +2 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +2 -2
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +2 -2
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +2 -2
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +5 -5
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +2 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.d.ts +2 -2
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +2 -2
- package/dist/queries/methods.js +1 -1
- package/dist/queries/not-implemented.d.ts +2 -2
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/outline.d.ts +2 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +2 -2
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +2 -2
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +2 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +2 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +2 -2
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.d.ts +2 -2
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +2 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/reference-neighborhood.d.ts +2 -2
- package/dist/queries/reference-neighborhood.js +1 -1
- package/dist/queries/reference-reachability.d.ts +2 -2
- package/dist/queries/reference-reachability.js +1 -1
- package/dist/queries/refs.d.ts +2 -2
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +2 -2
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.d.ts +2 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +2 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +2 -2
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +2 -2
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +2 -2
- package/dist/queries/slice.js +1 -1
- package/dist/queries/source-inspection.d.ts +4 -4
- package/dist/queries/source-inspection.js +1 -1
- package/dist/queries/source-search.d.ts +2 -2
- package/dist/queries/source-search.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +2 -2
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +2 -2
- package/dist/queries/surface.d.ts +2 -2
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +2 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system-map.d.ts +2 -2
- package/dist/queries/system-map.js +1 -1
- package/dist/queries/system.d.ts +2 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/test-quality.d.ts +2 -2
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +2 -2
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.d.ts +2 -2
- package/dist/queries/twin-drift.js +1 -1
- package/dist/queries/unused-imports.d.ts +2 -2
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +2 -2
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/value-flow.d.ts +3 -3
- package/dist/queries/value-flow.js +1 -1
- package/dist/queries/vue-component-duplicates.d.ts +2 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +2 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +2 -2
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +2 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +1 -1
- package/dist/reindex.d.ts +3 -3
- package/dist/reindex.js +31 -31
- package/dist/runtime.d.ts +24 -4
- package/dist/runtime.js +3 -3
- package/dist/rust-semantic-session-server.js +1 -1
- package/dist/rust-semantic-session-worker.js +1 -1
- package/dist/rust-semantic-worker.js +1 -1
- package/dist/{scip-cli-B7N3haxa.d.ts → scip-cli-BRFKkHQn.d.ts} +1 -1
- package/dist/sentinel-ensure-command-KYYULCFU.js +2 -0
- package/dist/sentinel-ensure-command-RIZA3RY7.js +3 -0
- package/dist/sentinel-hook.js +39 -0
- package/dist/sentinel-worker.js +16 -0
- package/dist/typescript-mailbox-worker.js +1 -1
- package/dist/watch-server.js +6 -6
- package/docs/COMMAND_REFERENCE.md +5 -3
- package/docs/schemas/project-config.schema.json +159 -0
- package/package.json +9 -5
- package/skills/codebaseiq/SKILL.md +1 -1
- package/skills/concrete-plan/SKILL.md +1 -1
- package/ui/view/api.js +450 -0
- package/ui/view/app.js +394 -0
- package/ui/view/builder.js +323 -0
- package/ui/view/file-panel.js +170 -0
- package/ui/view/focus.js +379 -0
- package/ui/view/index.html +54 -0
- package/ui/view/map.js +424 -0
- package/ui/view/styles.css +1125 -0
- package/dist/chunk-2X7V4HS4.js +0 -88
- package/dist/chunk-3IER7Q6H.js +0 -12
- package/dist/chunk-3JSXXYTZ.js +0 -345
- package/dist/chunk-476NR5B7.js +0 -2
- package/dist/chunk-5VKBFZZU.js +0 -3
- package/dist/chunk-ADTBPVUZ.js +0 -21
- package/dist/chunk-BFFZDZQV.js +0 -2
- package/dist/chunk-BMYOV5GP.js +0 -77
- package/dist/chunk-C74PPYLA.js +0 -3
- package/dist/chunk-CWONGW6P.js +0 -3
- package/dist/chunk-DDZ7VHWV.js +0 -20
- package/dist/chunk-DR2LURYU.js +0 -3
- package/dist/chunk-ECQBG7PW.js +0 -564
- package/dist/chunk-FM5BPL4V.js +0 -60
- package/dist/chunk-G6XFR4ZL.js +0 -4
- package/dist/chunk-GTIYTDRE.js +0 -562
- package/dist/chunk-HOA5YGOH.js +0 -3
- package/dist/chunk-KUW32IRO.js +0 -2
- package/dist/chunk-LTA3BRZX.js +0 -2
- package/dist/chunk-NAUD7LCA.js +0 -2
- package/dist/chunk-OGTFJ3XD.js +0 -2
- package/dist/chunk-Q5ELPRKQ.js +0 -2
- package/dist/chunk-QCN62RTF.js +0 -3
- package/dist/chunk-QW7EP6WI.js +0 -21
- package/dist/chunk-RU65DDUP.js +0 -215
- package/dist/chunk-SELM5MER.js +0 -2
- package/dist/chunk-SNNWPCN7.js +0 -4
- package/dist/chunk-TFZB6XTM.js +0 -239
- package/dist/chunk-UXM43C7T.js +0 -3
- package/dist/chunk-VFY6Y2H6.js +0 -61
- package/dist/chunk-WE5RZHZ7.js +0 -5
- package/dist/chunk-Z54RD7VL.js +0 -3
- package/dist/cli-context-3SNLDYBM.js +0 -3
- package/dist/cli-context-T3B7W6GG.js +0 -2
- package/dist/cli-program-YNOXO72B.js +0 -7
- package/dist/command-descriptors-6AOUKWW7.js +0 -346
- package/dist/command-descriptors-ZFKJSRUP.js +0 -344
- package/dist/direct-navigation-DP4LVMRX.js +0 -3
- package/dist/direct-navigation-FLUS3BT6.js +0 -2
- package/dist/invocation-command-descriptors-QT2JMY5J.js +0 -3
- package/dist/invocation-command-descriptors-YN4QJEAX.js +0 -2
- package/dist/output-continuation-command-2V2SL4TD.js +0 -2
- package/dist/output-continuation-command-65J5IP3O.js +0 -3
- package/dist/project-reindex-5JOKXAXT.js +0 -2
- package/dist/project-reindex-UQBIKO4M.js +0 -3
package/dist/chunk-FM5BPL4V.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import{a as f,g as u}from"./chunk-WE5RZHZ7.js";import C from"ignore";import{existsSync as p,readdirSync as S}from"fs";import{dirname as g,isAbsolute as h,join as l,relative as x,resolve as D}from"path";function E(t){let e=C();return w(t,e)||e.add(T),{isIgnored:r=>d(e,t,r),filter:r=>r.filter(n=>!d(e,t,n))}}function w(t,e){let i=new Set,r=(s,a)=>{if(!(i.has(s)||!p(s)))try{let c=u(s,{maxBytes:f,inputKind:"gitignore file"});e.add(a?A(c,a):c),i.add(s)}catch{}},n=g(t),o=0;for(;n!==g(n)&&o<5&&(r(l(n,".gitignore"),""),!p(l(n,".git")));)n=g(n),o++;return b(t,"",e,r),i.size>0}function b(t,e,i,r){let n=e?l(t,e):t;r(l(n,".gitignore"),e);let o;try{o=S(n,{withFileTypes:!0})}catch{return}for(let s of o){if(!s.isDirectory()||s.name===".git")continue;let a=e?`${e}/${s.name}`:s.name;d(i,t,`${a}/`)||b(t,a,i,r)}}function A(t,e){let i=e.replaceAll("\\","/").replace(/\/+$/,"");return t.split(/\r?\n/).map(r=>F(r,i)).join(`
|
|
2
|
-
`)}function F(t,e){let i=t.trimStart();if(!i||i.startsWith("#"))return t;let r=t.slice(0,t.length-i.length),n=i.startsWith("!"),o=n?i.slice(1):i;if(!o||o.startsWith("#"))return t;let s=o.startsWith("/"),a=s?o.slice(1):o,v=(a.endsWith("/")?a.slice(0,-1):a).includes("/")||s?`${e}/${a}`:`${e}/**/${a}`;return`${r}${n?"!":""}${v}`}var T=`
|
|
3
|
-
# Dependencies
|
|
4
|
-
node_modules/
|
|
5
|
-
vendor/
|
|
6
|
-
.bundle/
|
|
7
|
-
|
|
8
|
-
# Build output
|
|
9
|
-
dist/
|
|
10
|
-
build/
|
|
11
|
-
out/
|
|
12
|
-
target/
|
|
13
|
-
bin/
|
|
14
|
-
obj/
|
|
15
|
-
|
|
16
|
-
# Python
|
|
17
|
-
__pycache__/
|
|
18
|
-
*.pyc
|
|
19
|
-
*.pyo
|
|
20
|
-
.venv/
|
|
21
|
-
venv/
|
|
22
|
-
.env/
|
|
23
|
-
env/
|
|
24
|
-
*.egg-info/
|
|
25
|
-
|
|
26
|
-
# Rust
|
|
27
|
-
target/
|
|
28
|
-
|
|
29
|
-
# Java / Kotlin / Scala
|
|
30
|
-
*.class
|
|
31
|
-
.gradle/
|
|
32
|
-
.mvn/
|
|
33
|
-
|
|
34
|
-
# C# / .NET
|
|
35
|
-
bin/
|
|
36
|
-
obj/
|
|
37
|
-
packages/
|
|
38
|
-
|
|
39
|
-
# Go
|
|
40
|
-
vendor/
|
|
41
|
-
|
|
42
|
-
# Dart
|
|
43
|
-
.dart_tool/
|
|
44
|
-
build/
|
|
45
|
-
|
|
46
|
-
# PHP
|
|
47
|
-
vendor/
|
|
48
|
-
|
|
49
|
-
# IDE / OS
|
|
50
|
-
.idea/
|
|
51
|
-
.vscode/
|
|
52
|
-
*.swp
|
|
53
|
-
*.swo
|
|
54
|
-
.DS_Store
|
|
55
|
-
Thumbs.db
|
|
56
|
-
|
|
57
|
-
# Type definitions (often noise in queries)
|
|
58
|
-
*.d.ts
|
|
59
|
-
`;function d(t,e,i){let r=_(e,i);if(!r)return!1;try{return t.ignores(r)}catch{return!1}}function _(t,e){if(!e||e===".")return null;if(!h(e)&&!e.startsWith(".."))return e.replaceAll("\\","/");let i=h(e)?e:D(t,e),r=x(t,i).replaceAll("\\","/");return!r||r==="."||r.startsWith("..")?null:r}var y=[],m=[];function L(t){t.groups.length>0&&y.push(t)}function k(t){m.push(t)}function O(t){let e=[];for(let i of m)try{i.close(t)}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Multiple database-owned resources failed to close.")}function P(t,e){let i=new Set(e.groups);for(let r of y)r.groups.some(n=>i.has(n))&&(e.file!==void 0&&r.clearFile?r.clearFile(t,e.file):r.clearAll(t))}export{L as a,k as b,O as c,P as d,E as e};
|
|
60
|
-
//# sourceMappingURL=chunk-FM5BPL4V.js.map
|
package/dist/chunk-G6XFR4ZL.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{C as be,Ca as Ae,H as ve,L as Se,S as xe,T as Ce,Ua as _e,W as Re,X as Oe,Y as Ie,Za as Te,_a as je,d as he,ea as we,r as ye,ra as Ee,sa as Pe,xa as ke}from"./chunk-2X7V4HS4.js";import{A as f,D as y,h as ue,j as pe,k as le,p as fe,q as F,s as me,y as J,z as ge}from"./chunk-SNNWPCN7.js";import{existsSync as W,statSync as Fn}from"fs";import{join as $n}from"path";import{existsSync as E}from"fs";import{randomUUID as tt}from"crypto";import{isAbsolute as ze,join as x,relative as Xe,resolve as Qe}from"path";var C=1,R=2,yt="./node_modules/codebaseiq/docs/schemas/project-config.schema.json";function z(e){let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch(a){return{kind:"malformed",reason:`invalid JSON: ${a instanceof Error?a.message:String(a)}`}}if(!f(t))return{kind:"malformed",reason:"project config must be a JSON object"};let n=t.schemaVersion;if(n!==void 0&&!Number.isInteger(n))return{kind:"malformed",reason:"schemaVersion must be an integer"};let r=n===void 0?C:n;if(r!==C&&r!==R)return{kind:"unsupported",schemaVersion:r,direction:r<C?"older":"future"};let i=t.$schema;if(i!==void 0&&(typeof i!="string"||i.trim()===""))return{kind:"malformed",reason:"$schema must be a non-empty string when present"};let o=$(t),s=r!==R||typeof t.$schema!="string";return r===C?{kind:"legacy",sourceVersion:C,config:o,needsMigration:s}:{kind:"supported",sourceVersion:R,config:o,needsMigration:s}}function $(e){let t=e,{$schema:n,schemaVersion:r,...i}=t;return{$schema:typeof n=="string"&&n.trim()!==""?n:yt,schemaVersion:R,...i}}function Me(e){return`${JSON.stringify($(e),null,2)}
|
|
3
|
-
`}import{createHash as bt}from"crypto";var v=1,A=2,Ve=1,ee=1,Z="sha256",vt=1;function Kn(e,t,n){if(!y(e)||!Ue(t))throw new Error("Observation identity requires a bounded projection name and positive projection version.");return{schemaVersion:Ve,canonicalizationVersion:ee,hashAlgorithm:Z,projection:{name:e,version:t},digest:bt(Z).update(St(e,t,n)).digest("hex")}}function St(e,t,n){return`{"canonicalizationVersion":${ee},"projection":${JSON.stringify(e)},"projectionVersion":${t},"value":${JSON.stringify(n)}}`}function xt(e){if(!f(e))return{kind:"malformed",reason:"observation receipt must be an object"};let t=e.schemaVersion;if(!Number.isInteger(t))return{kind:"malformed",reason:"observation receipt schemaVersion must be an integer"};if(t===v)return Pt(e)?{kind:"legacy",schemaVersion:v,receipt:e}:{kind:"malformed",reason:"observation receipt v1 fields are malformed or contradictory"};if(t===A)return kt(e)?{kind:"supported",schemaVersion:A,receipt:e}:{kind:"malformed",reason:"observation receipt v2 facts are malformed or contradictory"};let n=t;return{kind:"unsupported",schemaVersion:n,direction:n<v?"older":"future"}}function qe(e){let t=xt(e);return t.kind==="legacy"||t.kind==="supported"}function Ct(e,t){return{collaborationDomain:w(b(e,n=>n.facts.collaborationDomain),b(t,n=>n.facts.collaborationDomain)),repositoryLineage:w(b(e,n=>n.facts.repositoryLineage),b(t,n=>n.facts.repositoryLineage)),workspaceInstance:w(b(e,n=>n.facts.workspaceInstance),b(t,n=>n.facts.workspaceInstance)),wholeContent:w(b(e,n=>n.facts.wholeContent),b(t,n=>n.facts.wholeContent)),relevantInputs:Rt(e,t),indexInput:w(b(e,n=>n.facts.index?.inputs),b(t,n=>n.facts.index?.inputs)),indexGeneration:Ot(e,t),observationStability:wt(e,t)}}function Jn(e,t,n=Ct(e,t)){let r=[["collaborationDomain",n.collaborationDomain],["wholeContent",n.wholeContent],["observationStability",n.observationStability]],i=[];for(let[s,a]of r)a.state!=="established"&&i.push(`${s}:${a.state}`);for(let[s,a]of[["left",e],["right",t]]){let c=Et(a);c!=="not-applicable"&&c!=="established"&&i.push(`${s}IndexAlignment:${c}`)}let o=r.some(([,s])=>s.state==="disproven")||i.some(s=>s.endsWith(":disproven"));return{policyVersion:vt,authority:i.length===0?"completion":o?"none":"advisory",requiredRelationships:["collaborationDomain","wholeContent","observationStability"],reasons:i}}function Rt(e,t){let n=Ne(e),r=Ne(t);return[...new Set([...n.keys(),...r.keys()])].sort().map(o=>{let s=n.get(o),a=r.get(o),c=s?.subject??a?.subject??o,p=s?.identity.projection.name??a?.identity.projection.name??o;return{subject:c,projection:p,judgment:w(s?.identity,a?.identity)}})}function Ne(e){return e.schemaVersion!==A?new Map:new Map((e.facts.relevantInputs??[]).map(t=>[`${t.subject}\0${t.identity.projection.name}`,t]))}function Ot(e,t){return e.schemaVersion===v&&t.schemaVersion===v?It(e.index?.generationIdentity,t.index?.generationIdentity):e.schemaVersion===v||t.schemaVersion===v?S("unknown",["legacy-fact-not-comparable"],$e(e),$e(t)):w(e.facts.index?.generation,t.facts.index?.generation)}function It(e,t){let n=e?[{kind:"legacy-index-generation",value:e}]:[],r=t?[{kind:"legacy-index-generation",value:t}]:[];return e===void 0||t===void 0?Be(n,r):S(e===t?"established":"disproven",[e===t?"identities-equal":"identities-different"],n,r)}function w(e,t){let n=e?[{kind:"identity",identity:e}]:[],r=t?[{kind:"identity",identity:t}]:[];return!e||!t?Be(n,r):te(e,t)?S(e.digest===t.digest?"established":"disproven",[e.digest===t.digest?"identities-equal":"identities-different"],n,r):S("unknown",["identity-projections-not-comparable"],n,r)}function wt(e,t){if(e.schemaVersion===v||t.schemaVersion===v)return S("unknown",["legacy-fact-not-comparable"],[],[]);let n=De(e),r=De(t),i=Fe(e),o=Fe(t);return i==="invalidated"||o==="invalidated"?S("disproven",[...i==="invalidated"?["left-observation-invalidated"]:[],...o==="invalidated"?["right-observation-invalidated"]:[]],n,r):i!=="fixed"||o!=="fixed"?S("unknown",[...i==="no-repository-source"?["left-observation-has-no-repository-source"]:i!=="fixed"?["left-observation-not-fixed"]:[],...o==="no-repository-source"?["right-observation-has-no-repository-source"]:o!=="fixed"?["right-observation-not-fixed"]:[]],n,r):S("established",["all-observed-sources-fixed"],n,r)}function Fe(e){let t=e.observedSources.filter(r=>r.kind!=="process");if(t.length===0)return"no-repository-source";let n=new Map(e.stabilityProofs.map(r=>[r.source,r.kind]));return t.some(r=>n.get(r.kind)==="invalidated")?"invalidated":t.every(r=>{let i=n.get(r.kind);return i==="immutable"||i==="fixed-snapshot"})?"fixed":"unknown"}function Et(e){if(e.schemaVersion!==A)return e.index?"unknown":"not-applicable";if(!e.observedSources.some(r=>r.kind==="index-generation"))return"not-applicable";let t=e.facts.index?.inputs;if(!t)return"unknown";let n=(e.facts.relevantInputs??[]).find(r=>te(r.identity,t))?.identity;return n?n.digest===t.digest?"established":"disproven":"unknown"}function b(e,t){return e.schemaVersion===A?t(e):void 0}function $e(e){return e.schemaVersion===v&&e.index?[{kind:"legacy-index-generation",value:e.index.generationIdentity}]:e.schemaVersion===A&&e.facts.index?[{kind:"identity",identity:e.facts.index.generation}]:[]}function De(e){return e.stabilityProofs.map(t=>({kind:"stability",proof:t}))}function Be(e,t){let n=e.length===0&&t.length===0?"both-facts-missing":e.length===0?"left-fact-missing":"right-fact-missing";return S("unknown",[n],e,t)}function S(e,t,n,r){return{state:e,reasons:t,facts:{left:n,right:r}}}function te(e,t){return e.schemaVersion===t.schemaVersion&&e.canonicalizationVersion===t.canonicalizationVersion&&e.hashAlgorithm===t.hashAlgorithm&&e.projection.name===t.projection.name&&e.projection.version===t.projection.version}function Pt(e){if(!f(e))return!1;let t=e.index,n=e.worktree;return Ge(e.observedAt)&&y(e.projectIdentity)&&Ft(e.authorityKind)&&(t===void 0||f(t)&&y(t.generationIdentity)&&(t.source==="immutable"||t.source==="legacy")&&(t.alignment==="not-certified"||t.alignment==="leased"))&&(n===void 0||f(n)&&y(n.identity)&&typeof n.clean=="boolean"&&(n.headCommit===void 0||y(n.headCommit))&&(n.treeOid===void 0||y(n.treeOid)))&&Nt(e.authorityKind,t,n)}function kt(e){if(!f(e))return!1;let t=e.facts,n=e.observedSources,r=e.stabilityProofs;if(!Ge(e.observedAt)||!f(t)||!Array.isArray(n)||n.length===0||!n.every(_t)||!Q(n,c=>c.kind)||!Array.isArray(r)||!r.every(Tt)||!Q(r,c=>c.source)||r.some(c=>!n.some(p=>p.kind===c.source))||!r.every(c=>Mt(c,t))||["collaborationDomain","repositoryLineage","workspaceInstance","wholeContent"].some(c=>t[c]!==void 0&&!O(t[c])))return!1;let o=t.relevantInputs;if(o!==void 0&&(!Array.isArray(o)||!o.every(At)||!Q(o,c=>`${c.subject}\0${c.identity.projection.name}`)))return!1;let s=t.index;if(s!==void 0&&(!f(s)||!O(s.generation)||s.inputs!==void 0&&!O(s.inputs)||s.source!=="immutable"&&s.source!=="legacy"))return!1;let a=e.diagnostics;return(a===void 0||f(a)&&(a.clean===void 0||typeof a.clean=="boolean")&&(a.headCommit===void 0||y(a.headCommit))&&(a.treeOid===void 0||y(a.treeOid)))&&jt(t,n)}function O(e){return!f(e)||!f(e.projection)?!1:e.schemaVersion===Ve&&e.canonicalizationVersion===ee&&e.hashAlgorithm===Z&&y(e.projection.name)&&Ue(e.projection.version)&&typeof e.digest=="string"&&/^[a-f0-9]{64}$/u.test(e.digest)}function At(e){return f(e)&&y(e.subject)&&O(e.identity)}function _t(e){return f(e)&&Le(e.kind)&&(e.identity===void 0||O(e.identity))}function Tt(e){return f(e)&&Le(e.source)&&(e.kind==="immutable"||e.kind==="fixed-snapshot"||e.kind==="bracketed"||e.kind==="not-established"||e.kind==="invalidated")}function jt(e,t){let n=e.index,r=t.find(c=>c.kind==="index-generation");if(r){if(!f(n)||!O(n.generation)||r.identity&&!X(r.identity,n.generation))return!1}else if(n!==void 0)return!1;let i=e.workspaceInstance,o=t.find(c=>c.kind==="live-workspace");if(o?.identity&&(!O(i)||!X(o.identity,i)))return!1;let s=e.wholeContent,a=t.find(c=>c.kind==="repository-snapshot");return!(a?.identity&&(!O(s)||!X(a.identity,s)))}function Mt(e,t){return e.kind==="not-established"||e.kind==="invalidated"?!0:e.source==="index-generation"?e.kind==="immutable"&&f(t.index)&&t.index.source==="immutable":e.source==="repository-snapshot"?e.kind==="fixed-snapshot":e.source==="live-workspace"?e.kind==="bracketed":!1}function X(e,t){return te(e,t)&&e.digest===t.digest}function Nt(e,t,n){return e==="index-worktree"?t!==void 0&&n!==void 0:e==="index-only"?t!==void 0&&n===void 0:e==="worktree-only"?t===void 0&&n!==void 0:e==="process-local"&&t===void 0&&n===void 0}function Ft(e){return e==="index-worktree"||e==="index-only"||e==="worktree-only"||e==="process-local"}function Le(e){return e==="index-generation"||e==="repository-snapshot"||e==="live-workspace"||e==="process"}function Ge(e){return typeof e=="string"&&!Number.isNaN(Date.parse(e))}function Ue(e){return Number.isSafeInteger(e)&&e>0}function Q(e,t){return new Set(e.map(t)).size===e.length}function D(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=e;return t.kind==="automated-adjudication"&&t.policyVersion===1&&(t.decidedBy==="agent"||t.decidedBy==="human")&&ge.includes(t.reasonCode)&&Array.isArray(t.evidence)&&t.evidence.length>0&&t.evidence.every($t)&&(t.observation===void 0||qe(t.observation))&&!!t.invalidateOn&&typeof t.invalidateOn=="object"&&typeof t.invalidateOn.targetContentChange=="boolean"&&typeof t.invalidateOn.detectorMajorChange=="boolean"}function $t(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=e;return(t.kind==="source"||t.kind==="config"||t.kind==="test"||t.kind==="graph")&&typeof t.referent=="string"&&t.referent.trim()!==""&&typeof t.claim=="string"&&t.claim.trim()!==""&&(t.contentHash===void 0||/^[a-f0-9]{64}$/u.test(t.contentHash))&&(t.generation===void 0||typeof t.generation=="string"&&t.generation.length>0)}var V=class extends Error{constructor(n,r,i){super(`${n} is ${r} characters; the safety limit is ${i} characters`);this.inputKind=n;this.observedCharacters=r;this.limitCharacters=i;this.name="RegExpPatternBudgetError"}inputKind;observedCharacters;limitCharacters;code="CODEBASEIQ_REGEXP_PATTERN_BUDGET"};function ne(e,t,n,r=4096){if(!Number.isSafeInteger(r)||r<0)throw new RangeError(`maxCharacters must be a non-negative safe integer; received ${r}`);if(e.length>r)throw new V(t,e.length,r);return new RegExp(e,n)}import{createHash as He}from"crypto";import{closeSync as Dt,fstatSync as Ye,openSync as Vt,rmSync as qt}from"fs";import{dirname as Bt}from"path";var Lt=2e3,Gt=10,Ut=3,B=class extends Error{constructor(n,r,i){super(`Concurrent edit detected for ${n}; expected revision ${Ke(r)}, but found ${Ke(i)}. The latest file was left untouched.`);this.path=n;this.original=r;this.latest=i;this.name="FileRevisionConflictError"}path;original;latest},T=class extends Error{constructor(n,r){super(`Concurrent edit detected for ${n}: ${r} changed since it was read. The latest file was left untouched; reload it and retry.`);this.path=n;this.field=r;this.name="FileContentConflictError"}path;field};function j(e,t,n={}){let r=Ht(e,n.lockTimeoutMs??Lt,n.monotonicNow??ve);try{let i=Math.max(0,Math.floor(n.maxRetries??Ut));for(let o=0;;o+=1){let s=q(e),a=t(s,o);if(a.kind==="unchanged")return{changed:!1,attempts:o+1,previous:s,current:s};n.onBeforeCommit?.({attempt:o,snapshot:s,mutation:a});let c=q(e);if(!Wt(s.revision,c.revision)){if(o<i)continue;throw new B(e,s.revision,c.revision)}try{Yt(e,a,s.revision)}catch(p){if(p.code==="EEXIST"){let l=q(e);if(o<i)continue;throw new B(e,s.revision,l.revision)}throw p}return{changed:!0,attempts:o+1,previous:s,current:q(e)}}}finally{r.release()}}function q(e){for(let t=0;t<4;t+=1){let n;try{n=Vt(e,"r");let r=We(Ye(n)),i=me(n,{maxBytes:le,inputKind:"revisioned text file"}),o=We(Ye(n));if(!Je(r,o))continue;return{path:e,text:i,revision:{exists:!0,hash:He("sha256").update(i).digest("hex"),identity:o}}}catch(r){if(r.code==="ENOENT")return{path:e,text:"",revision:{exists:!1,hash:He("sha256").update("").digest("hex")}};throw r}finally{n!==void 0&&Dt(n)}}throw new Error(`Could not read a stable revision of ${e}; the file is changing continuously.`)}function Ht(e,t,n){let r=`${e}.codebaseiq-write.lock`,i=n()+Math.max(0,t);for(;;){let o=Se(r,{kind:"revisioned-file-mutation",detail:{target:e}});if(o.kind==="acquired")return o.lock;if(n()>=i)throw new Error(`Timed out after ${t}ms waiting to update ${e}; the file was left untouched.`);Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,Gt)}}function Yt(e,t,n){if(t.kind==="delete"){if(!n.exists)return;qt(e),he(Bt(e));return}let r=t.mode??n.identity?.mode;n.exists?xe(e,t.text,{durability:"durable",mode:r}):Ce(e,t.text,{durability:"durable",mode:r})}function Wt(e,t){return e.exists===t.exists&&e.hash===t.hash&&(e.identity===void 0?t.identity===void 0:t.identity!==void 0&&Je(e.identity,t.identity))}function We(e){return{dev:e.dev,ino:e.ino,size:e.size,mtimeMs:e.mtimeMs,mode:e.mode&511}}function Je(e,t){return e.dev===t.dev&&e.ino===t.ino&&e.size===t.size&&e.mtimeMs===t.mtimeMs&&e.mode===t.mode}function Ke(e){return e.exists?e.hash.slice(0,12):"<absent>"}var I=".codebaseiq.json",nt=2e3,L=5e3,re=L,ie=3*6e4,Kt=60*6e4,oe={enabled:!0,windowMs:15*6e4,maxRebuilds:2,maxEstimatedWriteBytes:1024*1024*1024},Jt={enabled:!1,debounceMs:nt,cooldownMs:re,gitPollMs:2e3,idleTimeoutMs:ie,autoRefresh:!0,ignore:[],resourceBudget:oe};var zt=new Set(["$schema","schemaVersion","collaborationDomainId","languages","indexerConcurrency","watch","indexer","dbPath","entryRoots","semantic","suppressions","declaredCouplings","locality","architecture","coverageContracts","docs"]),Xt=new Set(["enabled","debounceMs","cooldownMs","gitPollMs","idleTimeoutMs","autoRefresh","ignore","resourceBudget"]),Qt=new Set(["enabled","windowMs","maxRebuilds","maxEstimatedWriteBytes"]),Zt=new Set(["pathPrefixes","files","symbolPatterns","qualifiedVars"]),en=new Set(["typescript","rust"]),tn=new Set(["tsconfigs"]),nn=new Set(["rustAnalyzerPath"]),Ze=new Set(J),rn=new Set(["pnpmWorkspaces","projectMode","projects","configPath"]),on=new Set(["architecturalBoundarySegments"]),sn=new Set(["boundaries","allowedDependencies","requireCompletePolicy","requireCompleteCoverage","requireAcyclic","requireResolvedBoundaries","requireMinimalPolicy","maxBoundaryFanOut","maxBoundaryFiles","testPaths"]),an=new Set(["name","paths","subUnits","maxFiles"]),cn=new Set(["snapshotPaths"]),dn=new Set(["name","files","reason"]),un=new Set(["id","check","file","reason","expiresAt","createdAt","decision"]),pn=new Set(["kind","reasonCode","decidedBy","policyVersion","observation","evidence","invalidateOn"]),ln=new Set(["kind","referent","claim","contentHash","generation"]),fn=new Set(["targetContentChange","detectorMajorChange"]),mn=new Set(["name","file","keys","mustEqual","allowExtra"]),gn=new Set(["type","identifier","marker"]),hn=new Set(["type","path","pattern"]),yn=new Set(["object-literal-keys","string-array","markdown-list"]),bn=new Set(["top-level-dirs","file-glob","registered-commands","builtin-skills"]);function rt(e){let t=x(e,I);if(!E(t))return{};let n;try{n=fe(t,{maxBytes:pe,inputKind:"codebaseiq project config"})}catch(r){let i=r instanceof Error?r.message:String(r);throw new Error(`unable to read ${I} at ${t}: ${i}`,{cause:r})}return ot(z(n),t,"read").config}function Cr(e,t={}){let n=[];Rn(e,n);let r=e;r.schemaVersion!==void 0&&r.schemaVersion!==R&&n.push({level:"error",path:"schemaVersion",message:`Must be ${R}; unversioned and v${C} files are migrated while loading.`}),r.$schema!==void 0&&(typeof r.$schema!="string"||r.$schema.trim()==="")&&n.push({level:"error",path:"$schema",message:"Must be a non-empty string."}),e.collaborationDomainId!==void 0&&!/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/iu.test(e.collaborationDomainId)&&n.push({level:"error",path:"collaborationDomainId",message:"Must be a lowercase or uppercase UUID v4 generated for this collaboration domain."});let i=new Set(J);for(let[l,d]of(e.languages??[]).entries())i.has(d)||n.push({level:"error",path:`languages[${l}]`,message:`Unsupported language: ${d}`});for(let[l,d]of(e.entryRoots?.symbolPatterns??[]).entries())try{ne(d,`entryRoots.symbolPatterns[${l}]`)}catch(u){n.push({level:"error",path:`entryRoots.symbolPatterns[${l}]`,message:u instanceof Error?u.message:String(u)})}e.indexerConcurrency!==void 0&&(!Number.isInteger(e.indexerConcurrency)||e.indexerConcurrency<=0)&&n.push({level:"error",path:"indexerConcurrency",message:"Must be a positive integer."}),e.watch?.debounceMs!==void 0&&e.watch.debounceMs<=0&&n.push({level:"error",path:"watch.debounceMs",message:"Must be greater than 0."}),e.watch?.cooldownMs!==void 0&&(!Number.isInteger(e.watch.cooldownMs)||e.watch.cooldownMs<0)?n.push({level:"error",path:"watch.cooldownMs",message:"Must be a non-negative integer."}):e.watch?.cooldownMs!==void 0&&e.watch.cooldownMs<L&&n.push({level:"warning",path:"watch.cooldownMs",message:`Values below ${L}ms are raised to the safety floor at runtime.`}),e.watch?.gitPollMs!==void 0&&e.watch.gitPollMs<=0&&n.push({level:"error",path:"watch.gitPollMs",message:"Must be greater than 0."}),e.watch?.idleTimeoutMs!==void 0&&(!Number.isInteger(e.watch.idleTimeoutMs)||e.watch.idleTimeoutMs<0)&&n.push({level:"error",path:"watch.idleTimeoutMs",message:"Must be a non-negative integer; 0 disables idle shutdown."}),e.watch?.autoRefresh!==void 0&&typeof e.watch.autoRefresh!="boolean"&&n.push({level:"error",path:"watch.autoRefresh",message:"Must be a boolean."});let o=e.watch?.resourceBudget;o?.enabled!==void 0&&typeof o.enabled!="boolean"&&n.push({level:"error",path:"watch.resourceBudget.enabled",message:"Must be a boolean."});for(let[l,d]of[["windowMs",o?.windowMs],["maxRebuilds",o?.maxRebuilds],["maxEstimatedWriteBytes",o?.maxEstimatedWriteBytes]])d!==void 0&&(!Number.isSafeInteger(d)||d<=0)&&n.push({level:"error",path:`watch.resourceBudget.${l}`,message:"Must be a positive safe integer."});let s=e.indexer?.typescript;if(s?.projectMode!==void 0&&s.projectMode!=="single"&&s.projectMode!=="workspace"&&n.push({level:"error",path:"indexer.typescript.projectMode",message:'Must be "single" or "workspace".'}),s?.projects!==void 0)if(!Array.isArray(s.projects))n.push({level:"error",path:"indexer.typescript.projects",message:"Must be an array."});else for(let[l,d]of s.projects.entries()){let u=`indexer.typescript.projects[${l}]`;if(typeof d!="string"||d.trim()==="")n.push({level:"error",path:u,message:"Project path must be a non-empty string."});else if(t.projectRoot){let m=Qe(t.projectRoot,d),h=Xe(t.projectRoot,m);h.startsWith("..")||ze(h)?n.push({level:"error",path:u,message:"Project path must stay inside the project root."}):E(m)||n.push({level:"warning",path:u,message:`TypeScript project path does not exist: ${d}`})}}s?.projectMode==="workspace"&&s.pnpmWorkspaces===!0&&n.push({level:"warning",path:"indexer.typescript.pnpmWorkspaces",message:'Ignored when projectMode is "workspace"; explicit TypeScript projects are indexed directly.'});let a=e.semantic?.rust;a?.rustAnalyzerPath!==void 0&&(typeof a.rustAnalyzerPath!="string"||a.rustAnalyzerPath.trim()==="")&&n.push({level:"error",path:"semantic.rust.rustAnalyzerPath",message:"Rust analyzer path must be a non-empty string."});let c=e.indexer?.clojure;if(c?.configPath!==void 0){let l="indexer.clojure.configPath";if(typeof c.configPath!="string"||c.configPath.trim()==="")n.push({level:"error",path:l,message:"Config path must be a non-empty string."});else if(t.projectRoot){let d=Qe(t.projectRoot,c.configPath),u=Xe(t.projectRoot,d);u.startsWith("..")||ze(u)?n.push({level:"error",path:l,message:"Config path must stay inside the project root."}):E(d)||n.push({level:"warning",path:l,message:`Clojure indexer config path does not exist: ${c.configPath}`})}}if(e.locality!==void 0)if(!f(e.locality))n.push({level:"error",path:"locality",message:"Must be an object."});else{let l=e.locality.architecturalBoundarySegments;if(l!==void 0)if(!Array.isArray(l))n.push({level:"error",path:"locality.architecturalBoundarySegments",message:"Must be an array."});else for(let[d,u]of l.entries()){let m=`locality.architecturalBoundarySegments[${d}]`;typeof u!="string"||u.trim()===""?n.push({level:"error",path:m,message:"Boundary segment must be a non-empty string."}):(u.includes("/")||u.includes("\\"))&&n.push({level:"error",path:m,message:"Boundary segment must be a single folder name, not a path."})}}if(vn(e,n),e.declaredCouplings!==void 0&&!Array.isArray(e.declaredCouplings))n.push({level:"error",path:"declaredCouplings",message:"Must be an array."});else for(let[l,d]of(e.declaredCouplings??[]).entries()){let u=`declaredCouplings[${l}]`;if((!d.name||d.name.trim()==="")&&n.push({level:"error",path:`${u}.name`,message:"Declared coupling name is required."}),!Array.isArray(d.files)||d.files.length<2)n.push({level:"error",path:`${u}.files`,message:"Declared coupling needs at least two files."});else for(let[m,h]of d.files.entries())!h||h.trim()===""?n.push({level:"error",path:`${u}.files[${m}]`,message:"Declared coupling file path is required."}):t.projectRoot&&!E(x(t.projectRoot,h))&&n.push({level:"warning",path:`${u}.files[${m}]`,message:`Declared coupling file does not exist: ${h}`});d.reason!==void 0&&d.reason.trim()===""&&n.push({level:"error",path:`${u}.reason`,message:"Declared coupling reason cannot be blank."})}let p=t.now??new Date;e.suppressions!==void 0&&!Array.isArray(e.suppressions)&&n.push({level:"error",path:"suppressions",message:"Must be an array."});for(let[l,d]of(Array.isArray(e.suppressions)?e.suppressions:[]).entries()){let u=`suppressions[${l}]`;if(!f(d)){n.push({level:"error",path:u,message:"Suppression must be an object."});continue}if((!d.reason||d.reason.trim()==="")&&n.push({level:"error",path:`${u}.reason`,message:"Suppression reason is required."}),d.id!==void 0&&d.id.trim()===""&&n.push({level:"error",path:`${u}.id`,message:"Suppression id cannot be blank."}),d.check!==void 0&&d.check.trim()===""&&n.push({level:"error",path:`${u}.check`,message:"Suppression check cannot be blank."}),!d.id&&(!d.check||!d.file)?n.push({level:"error",path:u,message:"Suppression must include id or both check and file."}):!d.id&&d.check&&d.file&&n.push({level:"warning",path:u,message:"Check+file suppressions waive every matching finding in that file; prefer a stable id when available."}),d.file!==void 0&&(d.file.trim()===""?n.push({level:"error",path:`${u}.file`,message:"Suppression file path cannot be blank."}):t.projectRoot&&!E(x(t.projectRoot,d.file))&&n.push({level:"warning",path:`${u}.file`,message:`Suppression file does not exist: ${d.file}`})),d.expiresAt){let m=Date.parse(d.expiresAt);Number.isNaN(m)?n.push({level:"error",path:`${u}.expiresAt`,message:"Must be an ISO date string."}):m<=p.getTime()&&n.push({level:"warning",path:`${u}.expiresAt`,message:"Suppression has expired."})}if(d.decision!==void 0&&!D(d.decision))n.push({level:"error",path:`${u}.decision`,message:"Must be a valid automated-adjudication decision with reason code, evidence, and invalidation rules."});else if(d.decision&&t.projectRoot)for(let[m,h]of d.decision.evidence.entries())h.kind!=="graph"&&!E(x(t.projectRoot,h.referent))&&n.push({level:"error",path:`${u}.decision.evidence[${m}].referent`,message:`Suppression counterevidence does not exist: ${h.referent}`})}return Cn(e,n,t),xn(e,n),n}function vn(e,t){if(e.architecture===void 0)return;if(!f(e.architecture)){t.push({level:"error",path:"architecture",message:"Must be an object."});return}let n=e.architecture.boundaries;if(!Array.isArray(n)||n.length===0){t.push({level:"error",path:"architecture.boundaries",message:"Must be a non-empty array."});return}let r=new Set,i=new Set;for(let[a,c]of n.entries()){let p=`architecture.boundaries[${a}]`;if(!f(c)){t.push({level:"error",path:p,message:"Architecture boundary must be an object."});continue}let l=c.name;typeof l!="string"||l.trim()===""?t.push({level:"error",path:`${p}.name`,message:"Boundary name is required."}):r.has(l)?t.push({level:"error",path:`${p}.name`,message:`Duplicate boundary name: ${l}`}):r.add(l);let d=c.subUnits;d!==void 0&&d!=="directory"&&d!=="file"&&t.push({level:"error",path:`${p}.subUnits`,message:"Must be 'directory' or 'file'."});let u=c.maxFiles;u!==void 0&&(typeof u!="number"||!Number.isInteger(u)||u<0)&&t.push({level:"error",path:`${p}.maxFiles`,message:"Must be a non-negative integer."});let m=c.paths;if(!Array.isArray(m)||m.length===0){t.push({level:"error",path:`${p}.paths`,message:"Boundary paths must be a non-empty array."});continue}for(let[h,k]of m.entries()){let K=`${p}.paths[${h}]`;if(typeof k!="string"||k.trim()===""){t.push({level:"error",path:K,message:"Boundary path must be a non-empty string."});continue}Sn(k)||t.push({level:"error",path:K,message:"Boundary path must be project-relative and may use only one trailing /* or /** glob."}),i.has(k)?t.push({level:"error",path:K,message:`Duplicate boundary path: ${k}`}):i.add(k)}}let o=e.architecture.allowedDependencies;if(o!==void 0&&!f(o))t.push({level:"error",path:"architecture.allowedDependencies",message:"Must be an object keyed by boundary name."});else if(f(o))for(let[a,c]of Object.entries(o)){let p=`architecture.allowedDependencies.${a}`;if(r.has(a)||t.push({level:"error",path:p,message:`Unknown source boundary: ${a}`}),!Array.isArray(c)){t.push({level:"error",path:p,message:"Dependency row must be an array."});continue}let l=new Set;for(let[d,u]of c.entries()){let m=`${p}[${d}]`;typeof u!="string"||u.trim()===""?t.push({level:"error",path:m,message:"Target boundary name is required."}):r.has(u)?l.has(u)?t.push({level:"error",path:m,message:`Duplicate target boundary: ${u}`}):l.add(u):t.push({level:"error",path:m,message:`Unknown target boundary: ${u}`})}}e.architecture.requireAcyclic!==void 0&&typeof e.architecture.requireAcyclic!="boolean"&&t.push({level:"error",path:"architecture.requireAcyclic",message:"Must be a boolean."});for(let a of["requireCompleteCoverage","requireResolvedBoundaries","requireMinimalPolicy"])e.architecture[a]!==void 0&&typeof e.architecture[a]!="boolean"&&t.push({level:"error",path:`architecture.${a}`,message:"Must be a boolean."});for(let a of["maxBoundaryFanOut","maxBoundaryFiles"]){let c=e.architecture[a];c!==void 0&&(typeof c!="number"||!Number.isInteger(c)||c<0)&&t.push({level:"error",path:`architecture.${a}`,message:"Must be a non-negative integer."})}let s=e.architecture.testPaths;if(s!==void 0&&(!Array.isArray(s)||s.some(a=>typeof a!="string"))&&t.push({level:"error",path:"architecture.testPaths",message:"Must be an array of strings."}),e.architecture.requireCompletePolicy!==void 0&&typeof e.architecture.requireCompletePolicy!="boolean")t.push({level:"error",path:"architecture.requireCompletePolicy",message:"Must be a boolean."});else if(e.architecture.requireCompletePolicy===!0){let a=f(o)?o:{};for(let c of[...r].sort())Object.hasOwn(a,c)||t.push({level:"error",path:`architecture.allowedDependencies.${c}`,message:"A dependency row is required by architecture.requireCompletePolicy."})}}function Sn(e){let t=e.replace(/\\/g,"/");if(t.startsWith("/")||t==="."||t===".."||t.split("/").includes(".."))return!1;let n=t.replace(/\/\*\*?$/,"");return n.length>0&&!/[*?[\]]/.test(n)}function xn(e,t){let n=e.docs?.snapshotPaths;if(n!==void 0){if(!Array.isArray(n)){t.push({level:"error",path:"docs.snapshotPaths",message:"Must be an array."});return}for(let[r,i]of n.entries())(typeof i!="string"||i.trim()==="")&&t.push({level:"error",path:`docs.snapshotPaths[${r}]`,message:"Snapshot path glob must be a non-empty string."})}}function Cn(e,t,n){if(e.coverageContracts!==void 0){if(!Array.isArray(e.coverageContracts)){t.push({level:"error",path:"coverageContracts",message:"Must be an array."});return}for(let[r,i]of e.coverageContracts.entries()){let o=`coverageContracts[${r}]`;if(!f(i)){t.push({level:"error",path:o,message:"Coverage contract must be an object."});continue}(typeof i.name!="string"||i.name.trim()==="")&&t.push({level:"error",path:`${o}.name`,message:"Coverage contract name is required."}),typeof i.file!="string"||i.file.trim()===""?t.push({level:"error",path:`${o}.file`,message:"Coverage contract file is required."}):n.projectRoot&&!E(x(n.projectRoot,i.file))&&t.push({level:"warning",path:`${o}.file`,message:`Coverage contract file does not exist: ${i.file}`}),et(t,i.keys,`${o}.keys`,yn,"Unknown coverage-contract key extractor type."),et(t,i.mustEqual,`${o}.mustEqual`,bn,"Unknown coverage-contract ground-truth source type."),i.allowExtra!==void 0&&typeof i.allowExtra!="boolean"&&t.push({level:"error",path:`${o}.allowExtra`,message:"Must be a boolean."})}}}function et(e,t,n,r,i){if(!f(t)){e.push({level:"error",path:n,message:'Must be an object with a "type" field.'});return}if(typeof t.type!="string"||!r.has(t.type)){e.push({level:"error",path:`${n}.type`,message:`${i} Got: ${String(t.type)}`});return}let o={"object-literal-keys":["identifier"],"string-array":["identifier"],"markdown-list":["marker"],"top-level-dirs":["path"],"file-glob":["pattern"],"registered-commands":[],"builtin-skills":[]};for(let s of o[t.type]??[])(typeof t[s]!="string"||t[s].length===0)&&e.push({level:"error",path:`${n}.${s}`,message:`"${t.type}" requires a non-empty string "${s}".`})}function Rr(e){return{...Jt,...e.watch,idleTimeoutMs:e.watch?.idleTimeoutMs??(e.daemon?.enabled===!0?Kt:ie),cooldownMs:Math.max(L,e.watch?.cooldownMs??re),resourceBudget:{...oe,...e.watch?.resourceBudget}}}function Or(e,t){let n=x(e,I),r=tt(),i={collaborationDomainId:r,languages:t,watch:{enabled:!0,debounceMs:nt,cooldownMs:re,gitPollMs:2e3,idleTimeoutMs:ie,autoRefresh:!0,resourceBudget:{...oe}}},o=j(n,s=>{if(!s.revision.exists)return{kind:"write",text:M(i)};let a=U(s,i);return a.config.collaborationDomainId?{kind:"unchanged"}:{kind:"write",text:M({...a.config,collaborationDomainId:r})}});return{configPath:n,changed:o.changed}}function Ir(e,t,n=tt()){let r=x(e,I),i=t,o=j(r,s=>{let a=U(s,t);if(a.config.collaborationDomainId)return i=a.config,{kind:"unchanged"};let c={...a.config,collaborationDomainId:n};return i=c,{kind:"write",text:M(c)}});return{configPath:r,config:i,changed:o.changed}}function wr(e,t,n){let r=x(e,I),i=[...n],o=t,s=j(r,a=>{let c=U(a,t);if(it(t.languages,c.config.languages,i))throw new T(r,"languages");let p={...c.config,languages:i};return o=p,a.revision.exists&&!c.needsMigration&&G(p,c.config)?{kind:"unchanged"}:{kind:"write",text:M(p)}});return{configPath:r,config:o,changed:s.changed}}function Er(e,t,n){let r=x(e,I),i=t,o=j(r,s=>{let a=U(s,t);if(it(t.watch?.enabled,a.config.watch?.enabled,n))throw new T(r,"watch.enabled");let c={...a.config,watch:{...a.config.watch,enabled:n,...n&&a.config.watch?.autoRefresh===void 0?{autoRefresh:!0}:{}}};return i=c,s.revision.exists&&!a.needsMigration&&G(c,a.config)?{kind:"unchanged"}:{kind:"write",text:M(c)}});return{configPath:r,config:i,changed:o.changed}}function U(e,t){if(!e.revision.exists)return{config:$(t),needsMigration:!0};let n=ot(z(e.text),e.path,"update");return{config:n.config,needsMigration:n.needsMigration}}function M(e){return Me(e)}function G(e,t){return JSON.stringify(e)===JSON.stringify(t)}function it(e,t,n){return!G(e,t)&&!G(t,n)}function ot(e,t,n){if(e.kind==="legacy"||e.kind==="supported")return e;if(e.kind==="malformed"){let i=n==="read"?`invalid ${I} at ${t}: ${e.reason}`:`Cannot update ${t}: the latest project config is ${e.reason}.`;throw new Error(`${i} The file was left untouched.`)}let r=n==="read"?`invalid ${I} at ${t}`:`Cannot update ${t}: the latest project config is invalid`;throw new Error(`${r} (unsupported ${e.direction} schemaVersion ${e.schemaVersion}; this codebaseiq reads legacy v${C} and current v${R}). Upgrade codebaseiq before retrying; the file was left untouched.`)}function Rn(e,t){if(!f(e))return;let n=e;if(g(t,n,"",zt),g(t,n.watch,"watch",Xt),g(t,n.watch?.resourceBudget,"watch.resourceBudget",Qt),g(t,n.entryRoots,"entryRoots",Zt),g(t,n.semantic,"semantic",en),g(t,n.semantic?.typescript,"semantic.typescript",tn),g(t,n.semantic?.rust,"semantic.rust",nn),g(t,n.locality,"locality",on),g(t,n.architecture,"architecture",sn),g(t,n.docs,"docs",cn),Array.isArray(n.architecture?.boundaries))for(let[r,i]of n.architecture.boundaries.entries())g(t,i,`architecture.boundaries[${r}]`,an);if(f(n.indexer)){g(t,n.indexer,"indexer",Ze);for(let[r,i]of Object.entries(n.indexer))Ze.has(r)&&g(t,i,`indexer.${r}`,rn)}if(Array.isArray(n.declaredCouplings))for(let[r,i]of n.declaredCouplings.entries())g(t,i,`declaredCouplings[${r}]`,dn);if(Array.isArray(n.suppressions)){for(let[r,i]of n.suppressions.entries())if(g(t,i,`suppressions[${r}]`,un),f(i.decision)){if(g(t,i.decision,`suppressions[${r}].decision`,pn),Array.isArray(i.decision.evidence))for(let[o,s]of i.decision.evidence.entries())g(t,s,`suppressions[${r}].decision.evidence[${o}]`,ln);g(t,i.decision.invalidateOn,`suppressions[${r}].decision.invalidateOn`,fn)}}if(Array.isArray(n.coverageContracts))for(let[r,i]of n.coverageContracts.entries()){let o=`coverageContracts[${r}]`;g(t,i,o,mn),f(i)&&(g(t,i.keys,`${o}.keys`,gn),g(t,i.mustEqual,`${o}.mustEqual`,hn))}}function g(e,t,n,r){if(f(t))for(let i of Object.keys(t))r.has(i)||e.push({level:"warning",path:n?`${n}.${i}`:i,message:"Unknown config key."})}import{existsSync as st}from"fs";function at(e,t,n){let r=new Date().toISOString();if(!st(n.dbPath))return{state:"missing",checkedAt:r,metaPath:n.metaPath,reason:"No SQLite index database exists.",remedy:"Run: codebaseiq reindex"};if(!st(n.metaPath))return{state:"unknown",checkedAt:r,metaPath:n.metaPath,reason:"No reindex metadata file exists next to the SQLite index.",remedy:"Run: codebaseiq reindex"};try{let i=be(F(n.metaPath,"reindex metadata"));if(i.kind==="unsupported")return{state:"unknown",checkedAt:r,metaPath:n.metaPath,reason:`Reindex metadata version ${i.version} is unsupported by this codebaseiq build.`,remedy:"Upgrade codebaseiq or run: codebaseiq reindex"};if(i.kind==="malformed")return{state:"unknown",checkedAt:r,metaPath:n.metaPath,reason:`Could not decode reindex metadata: ${i.reason}`,remedy:"Run: codebaseiq reindex"};let o=i.metadata,s=t.languages??Pe(e),a=On(e,s,t),c=[...o.indexedLanguages??[]].sort(),p=i.capabilities.publishableGeneration&&JSON.stringify(o.fingerprint)===JSON.stringify(a)&&JSON.stringify(c)===JSON.stringify(a.languages),l=ke(n.dbPath,n.metaPath),d=l.state==="invalid"||l.state==="drifted",u=p&&!d;return{state:u?"fresh":"stale",checkedAt:r,metaPath:n.metaPath,updatedAt:o.updatedAt,lastRefresh:o.lastRefresh,reason:d?`SQLite generation requires repair: ${l.reason}`:p?"Index metadata fingerprint matches current source files.":"Index metadata fingerprint differs from current source files.",remedy:u?void 0:"Run: codebaseiq reindex"}}catch(i){return{state:"unknown",checkedAt:r,metaPath:n.metaPath,reason:`Could not read reindex metadata: ${i instanceof Error?i.message:String(i)}`,remedy:"Run: codebaseiq reindex"}}}var H=!1,ct,_=null;function $r(e){H=!0,ct=e?{headCommit:e.headCommit,treeOid:e.treeOid,clean:e.clean}:void 0,_=null}function Dr(){H=!1,ct=void 0,_=null}function Vr(){_=null}function On(e,t,n){let r=H?In(e,t,n):null;if(r&&_?.key===r)return _.value;let i=0,o=we("freshness.fingerprint",()=>{let s=Ee(e,t,dt(n));return i=s.files.length,s},()=>({files:i,memoScope:H}));return r&&(_={key:r,value:o}),o}function dt(e){return{pnpmWorkspaces:e.indexer?.typescript?.pnpmWorkspaces,typescriptProjectMode:e.indexer?.typescript?.projectMode,typescriptProjects:e.indexer?.typescript?.projects,clojureConfigPath:e.indexer?.clojure?.configPath}}function In(e,t,n){return JSON.stringify([ue(e),[...t].sort(),dt(n)])}import{join as wn}from"path";var Wr=4;var En="typescript-semantic";function Kr(e){let t=wn(e,En),n=Ae(t);return{...n,requestDir:n.legacyRequestDir}}function ut(e){return Re(e)}import{existsSync as Pn,readdirSync as kn}from"fs";import{createHash as An}from"crypto";import{join as ce}from"path";function ae(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let p of e)switch(p.state){case"legacy":t+=1;break;case"current":n+=1;break;case"unsupported-older":r+=1,s.push(se(p));break;case"unsupported-future":i+=1,s.push(se(p));break;case"malformed":o+=1,s.push(se(p));break}let a=t+n,c=r+i+o;return{complete:c===0,total:e.length,accepted:a,legacy:t,current:n,unsupportedOlder:r,unsupportedFuture:i,malformed:o,omitted:c,issues:s}}function se(e){if(e.state==="legacy"||e.state==="current")throw new Error(`accepted record ${e.path} cannot become a compatibility issue`);return{path:e.path,state:e.state,reason:e.reason??e.state}}var ft=ce(".codebaseiq","suppressions"),pt="codebaseiq-suppression",lt=1,Y=2;function _n(e){return ce(e,ft)}function Tn(e){if(e.id&&e.id.trim()!=="")return`${e.id.trim()}.json`;let t=`${e.check??""}\0${e.file??""}`;return`CHECK-${An("sha256").update(t).digest("hex").slice(0,12).toUpperCase()}.json`}function jn(e){return Tn(e).slice(0,-5)}function Mn(e,t){if(typeof e!="object"||e===null||Array.isArray(e))return{state:"malformed",error:"not a suppression object"};let n=e;if(n.schemaVersion===void 0&&(n.kind!==void 0||n.suppressionIdentity!==void 0||n.writer!==void 0))return{state:"malformed",error:"suppression envelope metadata requires schemaVersion"};if(n.schemaVersion!==void 0){if(!Number.isSafeInteger(n.schemaVersion))return{state:"malformed",error:"schemaVersion must be a positive safe integer"};if(n.schemaVersion!==lt&&n.schemaVersion!==Y)return{state:n.schemaVersion>Y?"unsupported-future":"unsupported-older",error:`unsupported schemaVersion ${String(n.schemaVersion)}`};if(n.kind!==void 0&&n.kind!==pt)return{state:"malformed",error:`kind must be ${pt}`}}if(n.schemaVersion===lt&&n.decision!==void 0)return{state:"malformed",error:"schemaVersion 1 cannot carry automated adjudication metadata"};if(n.schemaVersion===Y&&!D(n.decision))return{state:"malformed",error:"schemaVersion 2 requires a valid automated adjudication decision"};if(typeof n.reason!="string"||n.reason.trim()==="")return{state:"malformed",error:"missing reason"};if(!n.id&&!n.check)return{state:"malformed",error:"needs an id or a check"};let r=Nn(n);if(n.schemaVersion===void 0)return{state:"legacy",suppression:r,record:n,schemaVersion:0};let i=jn(r);return n.suppressionIdentity!==i||t!==void 0&&n.suppressionIdentity!==t?{state:"malformed",error:"suppressionIdentity does not match the suppression target or filename"}:!n.writer||n.writer.tool!=="codebaseiq"||typeof n.writer.version!="string"||n.writer.version.trim()===""?{state:"malformed",error:"missing valid writer metadata"}:typeof n.createdAt!="string"||!Number.isFinite(Date.parse(n.createdAt))?{state:"malformed",error:"missing valid createdAt timestamp"}:n.updatedAt!==void 0&&(typeof n.updatedAt!="string"||!Number.isFinite(Date.parse(n.updatedAt)))?{state:"malformed",error:"invalid updatedAt timestamp"}:{state:n.schemaVersion===Y?"current":"legacy",suppression:r,record:n,schemaVersion:n.schemaVersion}}function mt(e){let t=_n(e);if(!Pn(t))return{suppressions:[],compatibility:ae([]),warnings:[]};let n=[],r=[];for(let o of kn(t).sort()){if(!o.endsWith(".json"))continue;let s=ce(t,o),a=`${ft}/${o}`,c;try{c=JSON.parse(F(s,"suppression record"))}catch{r.push({path:a,state:"malformed",reason:"malformed JSON"});continue}let p=Mn(c,o.slice(0,-5));if("error"in p){r.push({path:a,state:p.state,reason:p.error});continue}r.push({path:a,state:p.state}),n.push(p.suppression)}let i=ae(r);return{suppressions:n,compatibility:i,warnings:i.issues.map(o=>`${o.path}: ${o.reason} \u2014 ignored`)}}function Nn(e){return{...typeof e.id=="string"?{id:e.id}:{},...typeof e.check=="string"?{check:e.check}:{},...typeof e.file=="string"?{file:e.file}:{},reason:e.reason,...typeof e.expiresAt=="string"?{expiresAt:e.expiresAt}:{},...typeof e.createdAt=="string"?{createdAt:e.createdAt}:{},...e.decision?{decision:e.decision}:{}}}function gt(){return process.env.CODEBASEIQ_PROJECT_ROOT??process.cwd()}var N,P;function mi(e){N=e}function gi(){return P}function ht(e=gt(),t=void 0){if(t===void 0&&N?.projectRoot===e&&!(N.dbPathSource==="root-fallback"&&W(N.paths.dbPath)))return N;let n=rt(e),r=ye(e,n),i=process.env.CODEBASEIQ_INDEX_DB;if(i)return{projectRoot:e,config:n,paths:r,dbPath:i,dbPathSource:"env",gitContext:t};if(W(r.dbPath))return{projectRoot:e,config:n,paths:r,dbPath:r.dbPath,dbPathSource:"configured",gitContext:t};let o=$n(e,"index.db");return{projectRoot:e,config:n,paths:r,dbPath:o,dbPathSource:"root-fallback",rootFallbackWarning:Bn(o,r.dbPath),gitContext:t}}function hi(e){return ht(e).dbPath}function yi(e,t,n,r={}){return W(n.dbPath)&&r.gitContext?.clean===!1&&r.watcherGeneration!==void 0&&ut(n.dbPath)===r.watcherGeneration?je(e,t,n,r.gitContext):at(e,t,n).state==="fresh"?{kind:"local-fresh"}:Te(e,t,n,r.gitContext)}function bi(e){return!e.startsWith("__")&&!Dn.has(e)}var Dn=new Set(["capabilities","check-deps","config-validate","doctor","init","install-skills","reindex","setup","setup-agent","status","suppress","uninstall","watch"]);function Vn(){return qn(gt(),{warnOnRootFallback:!0})}function qn(e,t={}){let{config:n,paths:r,dbPath:i,dbPathSource:o,rootFallbackWarning:s,gitContext:a}=ht(e);if(!W(i))throw new Error("No index.db found. Run: codebaseiq reindex");t.warnOnRootFallback&&o==="root-fallback"&&s&&console.error(s);let c=mt(e).suppressions,p={dbPath:i,indexPath:process.env.CODEBASEIQ_INDEX_SCIP??r.indexPath,projectRoot:e,collaborationDomainId:n.collaborationDomainId,sharedEvidenceDbPath:_e(e,n,a),entryRoots:n.entryRoots,semantic:n.semantic,suppressions:[...n.suppressions??[],...c],declaredCouplings:n.declaredCouplings,locality:n.locality,architecture:n.architecture,coverageContracts:n.coverageContracts,docs:n.docs},l=Ie(e);return new Oe(p,l)}function Bn(e,t){let n="unknown time";try{n=Fn(e).mtime.toISOString()}catch{}return`warning: using legacy project-root index.db (${e}, modified ${n}) because the configured index was not found at ${t}. This fallback may be stale; run 'codebaseiq reindex' to refresh the configured index.`}var de;function vi(e){de=e}function Si(e){if(de){let r=de(),i=P;P=r;try{return e(r)}finally{P=i}}let t=Vn(),n=P;P=t;try{return e(t)}finally{P=n,t.close()}}function xi(e,t){return t.concat([e])}function Ln(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(0)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}function Ci(e){switch(e.state){case"idle":return"Watching (idle)";case"waiting":{let t=Math.round((e.reindexAt-Date.now())/1e3);return`${e.changedFiles} file(s) changed, reindexing in ${t}s...`}case"indexing":return`Reindexing... (${Math.round((Date.now()-e.startedAt)/1e3)}s)`;case"cooldown":return`Cooldown (${Math.round((e.until-Date.now())/1e3)}s)${e.dirty?" \u2014 changes pending":""}`;case"budget-paused":return`Automatic reindex paused by resource budget (${Math.max(0,Math.round((e.until-Date.now())/1e3))}s; ${e.reason}; ${e.rebuilt} rebuilds, ${Ln(e.estimatedWriteBytes)} estimated writes)${e.dirty?" \u2014 changes pending":""}`;case"draining":return`Stopping safely \u2014 ${e.reason}`;default:return Gn(e)}}function Gn(e){throw new Error(`Unhandled watcher status: ${JSON.stringify(e)}`)}export{A as a,Kn as b,qe as c,Jn as d,D as e,ne as f,j as g,rt as h,Cr as i,Rr as j,Or as k,Ir as l,wr as m,Er as n,at as o,$r as p,Dr as q,Vr as r,Wr as s,Kr as t,pt as u,lt as v,Y as w,_n as x,Tn as y,jn as z,Mn as A,mt as B,gt as C,mi as D,gi as E,ht as F,hi as G,yi as H,bi as I,Vn as J,qn as K,Bn as L,vi as M,Si as N,xi as O,Ln as P,Ci as Q};
|
|
4
|
-
//# sourceMappingURL=chunk-G6XFR4ZL.js.map
|