codebaseiq 0.3.0 → 0.3.1
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 +15 -0
- package/dist/{chunk-BFBIMTCJ.js → chunk-2XBJRZEM.js} +2 -2
- package/dist/{chunk-GDHWOA57.js → chunk-2Z7K66D7.js} +2 -2
- package/dist/{chunk-HVFB3PME.js → chunk-3H2H5ODK.js} +2 -2
- package/dist/{chunk-LZSQ6X7E.js → chunk-3LQJRS4I.js} +2 -2
- package/dist/{chunk-GIDCP7KV.js → chunk-3ON3A2QV.js} +2 -2
- package/dist/{chunk-TPO7XC5Z.js → chunk-4GWN76B2.js} +2 -2
- package/dist/{chunk-GL6UTNUB.js → chunk-53ELMZRF.js} +2 -2
- package/dist/{chunk-6VREELBC.js → chunk-57OPIQFM.js} +2 -2
- package/dist/{chunk-JSNTHRLQ.js → chunk-5CR4U5X2.js} +2 -2
- package/dist/{chunk-GUFPEFBG.js → chunk-5MPBSFZH.js} +2 -2
- package/dist/{chunk-K7JLSGCJ.js → chunk-5TZNHP4T.js} +3 -3
- package/dist/{chunk-DVWO7RBC.js → chunk-5YBDBY5L.js} +2 -2
- package/dist/{chunk-T5X7DK6C.js → chunk-6EYESTJM.js} +2 -2
- package/dist/{chunk-AQI4N64O.js → chunk-6FXXYYQM.js} +2 -2
- package/dist/{chunk-VWYGCMV5.js → chunk-AGGR2BKS.js} +2 -2
- package/dist/{chunk-FEIZXBLH.js → chunk-ALOEHWJS.js} +2 -2
- package/dist/{chunk-D53LWANR.js → chunk-AXQCHG77.js} +2 -2
- package/dist/{chunk-7JELP5YE.js → chunk-BFANZRQ5.js} +2 -2
- package/dist/{chunk-5IZRKWTZ.js → chunk-BGYRF5YX.js} +2 -2
- package/dist/{chunk-5IC2WZAL.js → chunk-BIADXGC3.js} +2 -2
- package/dist/{chunk-HENP2O4A.js → chunk-BPKNP3KZ.js} +2 -2
- package/dist/{chunk-GP7C5VAE.js → chunk-CB5AVJMM.js} +2 -2
- package/dist/{chunk-HQA7EBSK.js → chunk-CJTKGAGH.js} +2 -2
- package/dist/{chunk-JLZLLLW5.js → chunk-CLPCFGRT.js} +2 -2
- package/dist/{chunk-EXZ7VLRY.js → chunk-CSPDQLLU.js} +2 -2
- package/dist/{chunk-AEXQYQD7.js → chunk-CYJS33YX.js} +2 -2
- package/dist/{chunk-AURCQHSG.js → chunk-DDRA3QKN.js} +2 -2
- package/dist/{chunk-3RSBGWGL.js → chunk-DECN422G.js} +2 -2
- package/dist/{chunk-3RR2K7EZ.js → chunk-DJKOXMNG.js} +2 -2
- package/dist/{chunk-PFC44E6D.js → chunk-DWBAESVW.js} +2 -2
- package/dist/{chunk-FQTIFWLR.js → chunk-EHPOTEQX.js} +2 -2
- package/dist/{chunk-NBCQZSGR.js → chunk-ELYMY5S2.js} +2 -2
- package/dist/{chunk-FTTV7IRX.js → chunk-EOKVZXNF.js} +42 -42
- package/dist/{chunk-HINZQKSY.js → chunk-F5CJO5JN.js} +2 -2
- package/dist/{chunk-SMDIEDM4.js → chunk-G7GVV2TV.js} +2 -2
- package/dist/{chunk-67VJAYVR.js → chunk-HJTM3C4Y.js} +2 -2
- package/dist/{chunk-I22IZYDI.js → chunk-HNXRVGMY.js} +2 -2
- package/dist/{chunk-NCJILOAK.js → chunk-I3OK27P7.js} +2 -2
- package/dist/{chunk-FWQGH2N2.js → chunk-ILGTMRMZ.js} +2 -2
- package/dist/{chunk-DDN2F6GB.js → chunk-JAFDMV5I.js} +2 -2
- package/dist/{chunk-LONKINMJ.js → chunk-JNXI6NQ7.js} +2 -2
- package/dist/{chunk-6BF3VYEF.js → chunk-JSB43EX6.js} +2 -2
- package/dist/chunk-JYRJYXUV.js +2 -0
- package/dist/chunk-K4S2VH42.js +82 -0
- package/dist/{chunk-75KJGYX7.js → chunk-K6FNTQQW.js} +2 -2
- package/dist/{chunk-XQPPURLQ.js → chunk-KEJ2HLRW.js} +2 -2
- package/dist/{chunk-D7AZAOZX.js → chunk-KFTHI2R6.js} +2 -2
- package/dist/{chunk-J3GLP7Q5.js → chunk-KLX6NSWT.js} +2 -2
- package/dist/{chunk-TJBOJUVN.js → chunk-KUKKLWJD.js} +2 -2
- package/dist/{chunk-2EDX3JT5.js → chunk-KUKWHP4R.js} +2 -2
- package/dist/{chunk-JFIA2JI3.js → chunk-KWRQVLPX.js} +2 -2
- package/dist/{chunk-5DSL3NT2.js → chunk-L37EQYAX.js} +2 -2
- package/dist/{chunk-ITSJMNUD.js → chunk-LCW3PSGL.js} +2 -2
- package/dist/{chunk-2PRONPAS.js → chunk-LSZYMN2A.js} +2 -2
- package/dist/{chunk-Q23IMHXS.js → chunk-MC46AL7B.js} +2 -2
- package/dist/{chunk-JYI7CV25.js → chunk-MDFT325O.js} +2 -2
- package/dist/{chunk-CVHOQONG.js → chunk-N2XDMNVI.js} +2 -2
- package/dist/chunk-NNG6M6XD.js +3 -0
- package/dist/{chunk-MVRGB4KJ.js → chunk-O2KWU34K.js} +2 -2
- package/dist/{chunk-USOAJHY7.js → chunk-OBC7HSSO.js} +2 -2
- package/dist/{chunk-RIYJ4L33.js → chunk-OKAF4OQS.js} +2 -2
- package/dist/{chunk-GQXXOS55.js → chunk-OP6BUIV6.js} +2 -2
- package/dist/{chunk-23C5AD3B.js → chunk-OQ3DK7FW.js} +2 -2
- package/dist/chunk-OT5ISJSR.js +2 -0
- package/dist/{chunk-C7QWUBR2.js → chunk-OWJWOEDU.js} +2 -2
- package/dist/{chunk-RJVAPMHF.js → chunk-PIFYOWS4.js} +2 -2
- package/dist/{chunk-CR3OG6SQ.js → chunk-PTR3EOXC.js} +2 -2
- package/dist/{chunk-NBZKSTXP.js → chunk-QY7QB7I6.js} +2 -2
- package/dist/{chunk-Q3ZCQY2Y.js → chunk-R4OJGTMP.js} +2 -2
- package/dist/{chunk-UQE4XFSA.js → chunk-RIO3JXHM.js} +2 -2
- package/dist/{chunk-CW6AXOLR.js → chunk-SA7G6GJX.js} +2 -2
- package/dist/{chunk-Q4XEU3UH.js → chunk-SB53KPWA.js} +2 -2
- package/dist/{chunk-36JC5BG2.js → chunk-SUE7SHZL.js} +2 -2
- package/dist/{chunk-ZAFGY22Q.js → chunk-SZ4P7MF7.js} +2 -2
- package/dist/{chunk-BBP7HVBJ.js → chunk-T2M5HWBQ.js} +2 -2
- package/dist/{chunk-MHWMEZDA.js → chunk-TEMM2FEL.js} +2 -2
- package/dist/{chunk-JX6ZWDOS.js → chunk-TLTSESB4.js} +2 -2
- package/dist/{chunk-FOZ74V56.js → chunk-UIAUPFBJ.js} +2 -2
- package/dist/{chunk-PHNCEUXX.js → chunk-UJIXCI3L.js} +2 -2
- package/dist/{chunk-XMJ53WG4.js → chunk-UMEPSVKT.js} +2 -2
- package/dist/{chunk-GWYZVVKY.js → chunk-V4NGDIEA.js} +2 -2
- package/dist/{chunk-E52K4L2W.js → chunk-VSGOIZMQ.js} +2 -2
- package/dist/{chunk-Z6RL7XOE.js → chunk-W7QDASTN.js} +2 -2
- package/dist/{chunk-PTQPPPG2.js → chunk-WO6OFKUC.js} +2 -2
- package/dist/{chunk-C7OUW52M.js → chunk-XJBK3QDV.js} +2 -2
- package/dist/{chunk-FH5WG4LE.js → chunk-XUPFA6GH.js} +2 -2
- package/dist/{chunk-DAKIGMIK.js → chunk-YPBKBYPS.js} +2 -2
- package/dist/{chunk-ZQ62NNKN.js → chunk-Z66XYVLZ.js} +2 -2
- package/dist/{chunk-OFGOOL6U.js → chunk-ZMA5HWXY.js} +2 -2
- package/dist/{cli-program-UO7PZD6V.js → cli-program-SCHOHOQE.js} +2 -2
- package/dist/cli.js +1 -1
- package/dist/{code-viewer-VHLBLIUM.js → code-viewer-AMRXV444.js} +2 -2
- package/dist/{code-viewer-KIXEYQNJ.js → code-viewer-EXI5SFFR.js} +2 -2
- package/dist/{command-descriptors-F5P2V3NW.js → command-descriptors-H6A4UY72.js} +3 -3
- package/dist/{command-descriptors-YCLATF5I.js → command-descriptors-ROIOTCCW.js} +3 -3
- package/dist/direct-navigation-3JOYP2MO.js +3 -0
- package/dist/direct-navigation-SJMJLBY7.js +2 -0
- package/dist/index.js +1 -1
- package/dist/invocation-command-descriptors-GMZX3UAD.js +2 -0
- package/dist/invocation-command-descriptors-HNMKDEF6.js +3 -0
- package/dist/{output-continuation-command-BTETTXEC.js → output-continuation-command-5NWVDQT7.js} +2 -2
- package/dist/output-continuation-command-RNEHNYPU.js +3 -0
- package/dist/project-reindex-MIW5CYEG.js +3 -0
- package/dist/{project-reindex-CRJU3IFG.js → project-reindex-VQ23LWDA.js} +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/anchors.js +1 -1
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/context.js +1 -1
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/dependence-slice.js +1 -1
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/drift.js +1 -1
- package/dist/queries/entry-map.js +1 -1
- package/dist/queries/evidence.js +1 -1
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.js +1 -1
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/reference-neighborhood.js +1 -1
- package/dist/queries/reference-reachability.js +1 -1
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.js +1 -1
- package/dist/queries/source-inspection.js +1 -1
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/surface.js +1 -1
- package/dist/queries/system-map.js +1 -1
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/value-flow.js +1 -1
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +1 -1
- package/dist/reindex.js +1 -1
- package/dist/runtime.js +1 -1
- 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/{sentinel-ensure-command-SPW7XQLB.js → sentinel-ensure-command-H66AZ3VE.js} +2 -2
- package/dist/sentinel-ensure-command-R4YAUCJB.js +3 -0
- package/dist/watch-server.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-6JMAVFL4.js +0 -3
- package/dist/chunk-6WAPPQ5F.js +0 -82
- package/dist/chunk-P4NVCOM7.js +0 -2
- package/dist/chunk-Z35GOVEH.js +0 -2
- package/dist/direct-navigation-4XJTXIDT.js +0 -2
- package/dist/direct-navigation-J5MVYYAD.js +0 -3
- package/dist/invocation-command-descriptors-RWV4VAI4.js +0 -2
- package/dist/invocation-command-descriptors-U76PN7IY.js +0 -3
- package/dist/output-continuation-command-BL25S26S.js +0 -3
- package/dist/project-reindex-TQFCOA2O.js +0 -3
- package/dist/sentinel-ensure-command-OSWGCFFL.js +0 -3
package/dist/watch-server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as nr}from"./chunk-
|
|
1
|
+
import{c as nr}from"./chunk-CB5AVJMM.js";import{a as rr}from"./chunk-5YBDBY5L.js";import{a as It,b as j,d as w,e as Vt,f as Ce,g as Bt,h as Ft,i as Ut,j as Re,k as Qt,l as Gt,o as Ee}from"./chunk-ZMA5HWXY.js";import{c as Xt,d as Jt,e as Kt,f as Zt,g as er,h as tr}from"./chunk-XUPFA6GH.js";import{j as Ht,l as zt,n as Yt}from"./chunk-YPBKBYPS.js";import{a as Tt,b as Mt,c as At,d as we,e as Ot,f as xe,g as Lt,i as Wt,j as Dt,k as qt,o as _t,q as Nt,r as jt,s as $t}from"./chunk-V4NGDIEA.js";import"./chunk-JNXI6NQ7.js";import{f as it,g as J}from"./chunk-O2M3VNDY.js";import{a as ye,b as F}from"./chunk-ZZ3MWF33.js";import{N as lt,Q as ut}from"./chunk-K4S2VH42.js";import"./chunk-YUKYB54I.js";import{a as mt}from"./chunk-AAQQPKCU.js";import"./chunk-JAFDMV5I.js";import"./chunk-P5XHIJHI.js";import"./chunk-EQNMD62X.js";import"./chunk-LSZYMN2A.js";import"./chunk-JYRJYXUV.js";import{b as pt,d as Rt}from"./chunk-EIBGSU2R.js";import"./chunk-CIYA2KZN.js";import{c as K,d as ct,e as dt}from"./chunk-4LK5OIPW.js";import"./chunk-C6WKPKCF.js";import"./chunk-XQAVQVIL.js";import"./chunk-DRENNWRG.js";import{c as Et,d as Pt,j as kt}from"./chunk-PUVNH4PO.js";import"./chunk-SV2LEFVM.js";import{B as ft,D as ht,P as ve,Q as gt,R as yt,T as Z,U as vt,V as N,W as St,da as bt,ea as A,ga as ee,ja as wt,ka as Se,ma as xt,oa as be,pa as Ct}from"./chunk-MEUHIDI3.js";import{c as nt}from"./chunk-5FWR5HLG.js";import{d as ze}from"./chunk-T75DS2E6.js";import"./chunk-YT4DVWUV.js";import"./chunk-RCIGX23V.js";import{A as ot,B as st,C as fe,D as he,E as ge,F as at,j as tt}from"./chunk-D7DOB27N.js";import{a as Ye,b as Xe,c as Je,d as Ke,e as Ze}from"./chunk-R2NOK63J.js";import{a as D,e as q}from"./chunk-6O3KXIDL.js";import{G as R,N as et,Q as rt,T as _,Y as pe,b as Ue,h as X,m as Qe,n as Ge,o as He}from"./chunk-UQYQBLJX.js";import v from"process";import{rmSync as qr}from"fs";import{resolve as $n}from"path";import{pathToFileURL as Vn}from"url";var te=class{root;now;randomId;retryDelayMs;active;retryNotBeforeMs=0;currentStatus;constructor(t,r={}){this.root=t,this.now=r.now??Date.now,this.randomId=r.randomId,this.retryDelayMs=Math.max(1,Math.floor(r.retryDelayMs??1e3)),this.currentStatus=xe(t)}initializeAfterOwnershipAcquired(){let t=Ot(this.root),r=Lt(this.root,{now:()=>new Date(this.now())});return this.refreshStatus(),{recoveredClaims:t,prunedHistory:r}}observeLegacyRequest(t,r){Tt(this.root,r??"stale index observed by a legacy command",{idempotencyKey:`legacy-activity:${t}`,now:()=>new Date(t)}),this.refreshStatus()}poll(t,r){if(this.active||t.state!=="idle"||this.now()<this.retryNotBeforeMs)return!1;let i=Mt(this.root,{now:()=>new Date(this.now()),...this.randomId?{randomId:this.randomId}:{}});if(this.refreshStatus(),i.requests.length===0)return!1;this.active=i;try{return r(Nr(i)),!0}catch(n){throw we(this.root,i),this.active=void 0,this.retryNotBeforeMs=this.now()+this.retryDelayMs,this.refreshStatus(),n}}completeActive(){return this.active?(At(this.root,this.active,()=>new Date(this.now())),this.active=void 0,this.retryNotBeforeMs=0,this.refreshStatus(),!0):!1}failActive(){return this.active?(we(this.root,this.active),this.active=void 0,this.retryNotBeforeMs=this.now()+this.retryDelayMs,this.refreshStatus(),!0):!1}status(){return{...this.currentStatus}}refreshStatus(){this.currentStatus=xe(this.root)}};function Nr(e){if(e.requests.length===1)return e.requests[0].detail;let r=[...new Set(e.requests.map(i=>i.detail))].slice(0,3).join("; ");return`${e.requests.length} coalesced refresh requests${r?`: ${r}`:""}`.slice(0,2048)}import{createHash as yn}from"crypto";import{readdirSync as vn,statSync as Sn}from"fs";import{join as Me}from"path";import{performance as Ae}from"perf_hooks";var Pe;function ke(e){Pe=e}function ir(){return Pe||{argv:process.argv.slice(2),execPath:process.execPath,...process.argv[1]!==void 0?{scriptPath:process.argv[1]}:{},cwd:process.cwd()}}import{Command as ln,Help as un}from"commander";import{Option as $r}from"commander";function Ie(e){return e.evidence?e.evidence:jr.has(e.id)?"mixed":e.heuristic?"heuristic":"graph-fact"}var jr=new Set(["health","context","co-change"]);function or(e){if(e.claims){if(e.claims.origin==="mixed"&&!e.claims.families?.length)throw new Error(`Mixed command ${e.id} must declare at least one claim family.`);return e.claims}let t=Ie(e);if(t==="mixed")throw new Error(`Mixed command ${e.id} must declare claim families.`);let r=e.agent?Jt(e.agent.operation):[];return r.length>0&&r.every(n=>n==="repository-observation"||n==="repository-preview")?{origin:t==="heuristic"?"heuristic":"compiler-graph",observedSources:["index-generation"],producerValidation:{status:"not-evaluated"}}:{origin:"unknown",observedSources:["process"],producerValidation:{status:"not-evaluated"}}}function sr(e,t){return Zt(new Map(t.map(r=>[r.id,Ie(r)]))),tr(new Map(t.map(r=>[r.id,or(r)]))),er(new Map(t.flatMap(r=>r.agent?[[r.id,{...r.agent,resultUnits:Br(r)}]]:[]))),t.map(r=>{let i=r.hidden?e.command(r.command,{hidden:!0}):e.command(r.command);i.description(r.description),r.helpAfter&&i.addHelpText("after",`
|
|
2
2
|
${r.helpAfter.trim()}
|
|
3
3
|
`);for(let n of r.arguments??[])i.argument(n.name);for(let n of r.options??[])if(n.hidden){let o=new $r(n.flags,n.description).hideHelp();n.parser&&o.argParser(n.parser),Object.hasOwn(n,"defaultValue")&&o.default(n.defaultValue),i.addOption(o)}else n.parser&&Object.hasOwn(n,"defaultValue")?i.option(n.flags,n.description,n.parser,n.defaultValue):n.parser?i.option(n.flags,n.description,n.parser):Object.hasOwn(n,"defaultValue")?i.option(n.flags,n.description,n.defaultValue):i.option(n.flags,n.description);return i.action(async(...n)=>{try{let o=i.optsWithGlobals();Vr(o);let a=ir(),l=()=>r.id===Ht?r.handler(...n):zt({command:r.id,producerVersion:R,invocationPrefix:a.scriptPath?[a.execPath,a.scriptPath]:["codebaseiq"],argv:[...a.argv],cwd:a.cwd,json:o.json===!0,sourceSession:o.session!==!1,reemitSource:o.reemit===!0,...typeof o.outputPageSize=="number"?{pageSize:o.outputPageSize}:{},...typeof o.outputCursor=="string"?{cursor:o.outputCursor}:{}},()=>r.handler(...n)),y=r.agent?Xt(r.agent.operation,{args:n.slice(0,-1),options:o}):void 0;await(y?Kt(y,l):l())}catch(o){Fr(o)}finally{A(void 0),yt()}}),{descriptor:r,command:i}})}function Vr(e){if(e.resultOnly===!0&&e.json!==!0)throw new Error("--result-only requires --json.");if(e.compact===!0&&e.json!==!0)throw new Error("--compact requires --json.")}function Br(e){let t=e.agent?.resultUnits;if(t?.kind==="field"&&t.field.trim()==="")throw new Error(`Command ${e.id} declares an empty result-unit field.`);return t||(e.renderShape==="list"||e.renderShape==="table"||e.renderShape==="grouped-by-file"?{kind:"rows"}:{kind:"report"})}function Fr(e){let t=e instanceof Error?e.message:String(e);console.error(`error: ${F(t)}`),process.exitCode=1}var Ur=new Set(Ee),ar=new Map(Ee.map((e,t)=>[e,t])),Qr=new Set(["Navigation","Graph","Impact","Exploration"]),Gr=new Set(["Cleanup","Health"]),Hr=new Set(["Indexing","Core","Maintenance"]);function zr(e){if(e.hidden||e.agent?.semantic?.compatibility==="deprecated")return"compatibility";if(Ur.has(e.id))return"primary-exploration";let t=e.docs?.category;if(t&&Qr.has(t))return"specialized-analysis";if(t&&Gr.has(t))return"quality-cleanup";if(t&&Hr.has(t))return"maintenance";if(t==="Formal Models")return"formal-modeling";throw new Error(`Visible command ${e.id} has no cockpit panel (docs category: ${t??"missing"}).`)}function Yr(e,t={}){return[{id:"primary-exploration",title:"Primary exploration",purpose:"Locate exact referents, project chosen relationships, and read only named implementation gaps."},{id:"specialized-analysis",title:"Specialized analysis",purpose:"Run a named graph, impact, or structural analysis when that exact analysis answers the task."},{id:"quality-cleanup",title:"Quality and cleanup",purpose:"Evaluate repository quality, cleanup candidates, and configured architecture findings."},{id:"maintenance",title:"Maintenance",purpose:"Build, inspect, configure, and maintain the project index and local integrations."},{id:"formal-modeling",title:"Formal modeling",purpose:"Create, verify, and check explicit state-machine models and traces."},{id:"compatibility",title:"Compatibility and deprecated controls",purpose:"Preserved invocation surfaces for existing consumers; do not choose these for new workflows."}].map(n=>({...n,commands:e.filter(o=>zr(o)===n.id).sort((o,a)=>n.id==="primary-exploration"?(ar.get(o.id)??Number.MAX_SAFE_INTEGER)-(ar.get(a.id)??Number.MAX_SAFE_INTEGER):0)})).filter(n=>n.commands.length>0&&(t.includeCompatibility||n.id!=="compatibility"))}function cr(e,t,r={}){let i=[`Usage: ${e.name()} [options] [command]`,"",e.description(),"","Options:"],n=e.options.map(a=>a.flags),o=Math.max(...n.map(a=>a.length),0);for(let a of e.options)i.push(` ${a.flags.padEnd(o)} ${a.description}`);i.push(` ${"-h, --help".padEnd(o)} Display this grouped command help`);for(let a of Yr(t,r)){i.push("",`${a.title}:`,` ${a.purpose}`);let l=Math.max(...a.commands.map(y=>y.command.length),0);for(let y of a.commands)i.push(` ${y.command.padEnd(l)} ${y.description}`)}return r.includeCompatibility||i.push("","Run `codebaseiq --help-all` to include compatibility and deprecated controls."),i.push("Run `codebaseiq <command> --help` for one control's options and examples.",""),i.join(`
|
|
4
4
|
`)}import{existsSync as Xr,mkdirSync as Jr,writeFileSync as Kr}from"fs";import{homedir as Zr}from"os";import{join as re}from"path";var en=1440*60*1e3,lr="update-check.json",tn="https://registry.npmjs.org/codebaseiq/latest";async function ur(e={}){let t=e.env??process.env;if(t.CODEBASEIQ_UPDATE_CHECK==="0"||t.NO_UPDATE_NOTIFIER)return;let r=e.cacheDir??on(t),i=e.now??Date.now(),n=e.currentVersion??R,o=sn(r),a=o&&i-o.checkedAt<en?o.latestVersion:await an(r,e.fetchLatestVersion??dn,i);if(!a||!nn(a,n))return;(e.writeNotice??(y=>console.error(y)))(rn(n,a))}function rn(e,t){return[`codebaseiq update available: ${e} -> ${t}.`,"Agent: tell your human to update with: npm install -g codebaseiq@latest",""].join(`
|
package/package.json
CHANGED
package/dist/chunk-6JMAVFL4.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{H as x,J as h,M as P,N as g,O as N,P as y,Q as f,R as p}from"./chunk-UC2FD2PS.js";var te=new Set(["aix","android","darwin","freebsd","haiku","linux","openbsd","sunos","win32","cygwin","netbsd"]);function S(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return r.version!==1||typeof r.pid!="number"||!Number.isSafeInteger(r.pid)||r.pid<=0||typeof r.platform!="string"||!te.has(r.platform)||typeof r.startToken!="string"||r.startToken.trim()===""?null:{version:1,pid:r.pid,platform:r.platform,startToken:r.startToken}}function m(e,r){return e.version===r.version&&e.pid===r.pid&&e.platform===r.platform&&e.startToken===r.startToken}import{execFileSync as ne}from"child_process";import{platform as oe}from"os";var A=new WeakMap,ie=1e3,_=16*1024;function k(e,r=le){if(!Number.isSafeInteger(e)||e<=0)return null;if(e===process.pid){let t=A.get(r);if(t)return t}try{let t=se(e,r);if(!t)return null;let n={version:1,pid:e,platform:r.platform,startToken:t};return e===process.pid&&A.set(r,n),n}catch{return null}}function se(e,r){if(r.platform==="linux"||r.platform==="android")return ce(r.readFile(`/proc/${e}/stat`));if(r.platform==="win32"){let t=`([DateTimeOffset](Get-Process -Id ${e} -ErrorAction Stop).StartTime).ToUnixTimeMilliseconds()`;return M(r.run("powershell.exe",["-NoProfile","-NonInteractive","-Command",t]))}return r.platform==="darwin"||r.platform==="freebsd"||r.platform==="openbsd"||r.platform==="netbsd"?M(r.run("ps",["-p",String(e),"-o","lstart="])):null}function ce(e){let r=e.lastIndexOf(")");if(r<0)return null;let n=e.slice(r+1).trim().split(/\s+/)[19];return n&&/^\d+$/.test(n)?n:null}function M(e){let r=e.trim();return r===""?null:r}var le={platform:oe(),readFile(e){return h(e,{maxBytes:_,inputKind:"process identity pseudo-file"})},run(e,r){return ne(e,[...r],{encoding:"utf8",timeout:ie,maxBuffer:_,env:{...process.env,LC_ALL:"C",LANG:"C"},stdio:["ignore","pipe","ignore"],windowsHide:!0})}};function C(e){try{return process.kill(e,0),!0}catch(r){return typeof r=="object"&&r!==null&&"code"in r&&r.code==="EPERM"}}function Qe(){return performance.now()}import{randomUUID as ae}from"crypto";import{closeSync as de,fsyncSync as ue,linkSync as me,mkdirSync as fe,openSync as ye,statSync as pe,unlinkSync as be,writeSync as Pe}from"fs";import{dirname as L}from"path";var R="codebaseiq-process-lock",T=1,w=Object.freeze({wallNow:()=>Date.now(),isProcessAlive:C,readProcessIdentity:k,randomToken:()=>ae(),makeDirectory:e=>fe(e,{recursive:!0}),openFile:(e,r,t)=>ye(e,r,t),writeFile:(e,r,t,n)=>Pe(e,r,t,n),syncFile:e=>ue(e),closeFile:e=>de(e),linkFile:(e,r)=>me(e,r),readFile:e=>x(e,"process lock record"),statFile:e=>{let r=pe(e);return{dev:r.dev,ino:r.ino,size:r.size,mtimeMs:r.mtimeMs}},removeFile:e=>be(e)});function cr(e,r){let t=r.runtime??w;t.makeDirectory(L(e));let n;for(let o=0;o<2;o+=1)try{return{kind:"acquired",lock:B(e,r,t),...n?{reclaimed:n}:{}}}catch(i){if(i.code!=="EEXIST")throw i;let s=b(e,{parseLegacy:r.parseLegacy,runtime:t});if(o===0&&ke(e,s,{creationGraceMs:r.creationGraceMs,parseLegacy:r.parseLegacy,runtime:t})){n=s;continue}return{kind:"contended",observation:s}}return{kind:"contended",observation:b(e,{parseLegacy:r.parseLegacy,runtime:t})}}function b(e,r={}){let t=r.runtime??w,n,o;try{n=t.statFile(e),o=t.readFile(e)}catch(a){return a.code==="ENOENT"?{state:"missing"}:{state:"malformed"}}let i;try{i=JSON.parse(o)}catch{return{state:"malformed",raw:o,identity:n}}let s=Fe(i);if(s)return{state:"valid",raw:o,identity:n,record:s,owner:ge(s),parsed:i};let c=r.parseLegacy?.(i)??null;return c?{state:"legacy",raw:o,identity:n,owner:c,parsed:i}:{state:"malformed",raw:o,identity:n,parsed:i}}function Fe(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;if(r.protocol!==R||r.version!==T||typeof r.kind!="string"||r.kind.trim()===""||typeof r.pid!="number"||!Number.isSafeInteger(r.pid)||r.pid<=0||typeof r.token!="string"||r.token.trim()===""||typeof r.startedAt!="string"||!Number.isFinite(Date.parse(r.startedAt))||r.detail!==void 0&&(typeof r.detail!="object"||r.detail===null||Array.isArray(r.detail)))return null;let t=r.processIdentity===void 0?null:S(r.processIdentity);return r.processIdentity!==void 0&&(!t||t.pid!==r.pid)?null:{protocol:R,version:T,kind:r.kind,pid:r.pid,token:r.token,...t?{processIdentity:t}:{},startedAt:r.startedAt,...r.detail?{detail:r.detail}:{}}}function ke(e,r,t={}){let n=t.runtime??w;if(!E(r,n))return!1;let o=we(`${e}.reclaim`,n);if(!o)return!1;try{let i=b(e,{parseLegacy:t.parseLegacy,runtime:n});return!W(r,i)||!E(i,n)?!1:O(e,n)}finally{o.release()}}function B(e,r,t){let n=r.pid??process.pid,o=t.randomToken(),i=r.processIdentity===void 0?t.readProcessIdentity(n):r.processIdentity,s={protocol:R,version:T,kind:r.kind,pid:n,token:o,...i?{processIdentity:i}:{},startedAt:new Date(t.wallNow()).toISOString(),...r.detail?{detail:r.detail}:{}},c=`${e}.${o}.candidate`,a=t.openFile(c,"wx",384),l;try{P(a,Buffer.from(`${JSON.stringify(s)}
|
|
2
|
-
`),t,"process lock"),t.syncFile(a)}catch(u){l=u}try{t.closeFile(a)}catch(u){l??=u}if(l!==void 0)throw I(c,t),l;try{t.linkFile(c,e)}catch(u){throw I(c,t),u}I(c,t);try{J(L(e),t)}catch(u){throw U(e,s,t),u}let d=!1;return{path:e,record:s,release:()=>d?!1:(d=!0,U(e,s,t))}}function U(e,r,t=w){let n=b(e,{runtime:t});return n.state!=="valid"||!n.record||n.record.pid!==r.pid||n.record.token!==r.token||r.processIdentity&&(!n.record.processIdentity||!m(r.processIdentity,n.record.processIdentity))?!1:O(e,t)}function we(e,r){for(let t=0;t<2;t+=1)try{return B(e,{kind:"reclaim-guard",runtime:r},r)}catch(n){if(n.code!=="EEXIST")return null;let o=b(e,{runtime:r});if(t>0||!E(o,r))return null;let i=b(e,{runtime:r});if(!W(o,i)||!O(e,r))return null}return null}function E(e,r){if(e.state==="missing")return!1;if(e.owner){if(!r.isProcessAlive(e.owner.pid))return!0;if(!e.owner.processIdentity)return!1;let t=r.readProcessIdentity(e.owner.pid);return t!==null&&!m(e.owner.processIdentity,t)}return!1}function W(e,r){return e.state===r.state&&e.raw===r.raw&&e.identity!==void 0&&r.identity!==void 0&&e.identity.dev===r.identity.dev&&e.identity.ino===r.identity.ino&&e.identity.size===r.identity.size&&e.identity.mtimeMs===r.identity.mtimeMs}function ge(e){return{pid:e.pid,...e.processIdentity?{processIdentity:e.processIdentity}:{}}}function J(e,r){let t;try{t=r.openFile(e,"r")}catch(n){if(g(n,process.platform))return;throw n}try{r.syncFile(t)}catch(n){if(!g(n,process.platform))throw n}finally{r.closeFile(t)}}function O(e,r){try{return r.removeFile(e),J(L(e),r),!0}catch{return!1}}function I(e,r){try{r.removeFile(e)}catch{}}var Se=Object.freeze(["EPERM","EACCES","EBUSY"]),Ie=Object.freeze([10,20,40,80,160,320,640,1e3,1e3,1e3]);function Re(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,e)}var v=Object.freeze({platform:process.platform,sleep:Re});function Te(e,r){if(r!=="win32")return!1;let t=e?.code;return typeof t=="string"&&Se.includes(t)}function q(e,r={}){let t=r.runtime??v,n=r.delaysMs??Ie;for(let o of n)try{return e()}catch(i){if(!Te(i,t.platform))throw i;t.sleep(o)}return e()}import{chmodSync as Ee,constants as Le,copyFileSync as Oe}from"fs";import{dirname as ve}from"path";var $=Object.freeze({...N,copyFile:(e,r)=>Oe(e,r,Le.COPYFILE_FICLONE),chmodFile:(e,r)=>Ee(e,r)});function De(e,r,t={}){let n=t.runtime??$,o=ve(r),i=y(o,n);if(n.copyFile(e,r),n.platform==="win32")xe(r,t.mode,n);else{t.mode!==void 0&&n.chmodFile(r,t.mode);let s=n.openFile(r,"r");try{n.syncFile(s)}finally{n.closeFile(s)}}return p(i,f(o,n))}function xe(e,r,t){let n=!1,o;try{o=t.openFile(e,"r+")}catch(i){let s=i.code;if(s!=="EACCES"&&s!=="EPERM")throw i;t.chmodFile(e,384),n=!0,o=t.openFile(e,"r+")}try{t.syncFile(o)}finally{t.closeFile(o)}r!==void 0?t.chmodFile(e,r):n&&t.chmodFile(e,292)}import{randomUUID as he}from"crypto";import{closeSync as Ne,existsSync as Ae,fsyncSync as _e,linkSync as Me,mkdirSync as Ce,openSync as Ue,renameSync as Be,unlinkSync as We,writeSync as Je}from"fs";import{dirname as G}from"path";var j=Object.freeze({platform:process.platform,randomToken:()=>he(),pathExists:e=>Ae(e),makeDirectory:e=>Ce(e,{recursive:!0}),openFile:(e,r,t)=>Ue(e,r,t),writeFile:(e,r,t,n)=>Je(e,r,t,n),syncFile:e=>_e(e),closeFile:e=>Ne(e),renameFile:(e,r)=>Be(e,r),linkFile:(e,r)=>Me(e,r),removeFile:e=>We(e)});function wr(e,r,t={}){let n=t.durability??"visibility",o=t.runtime??j,i=G(e),s=n==="durable"?y(i,o):(o.makeDirectory(i),"not-requested"),c=`${e}.tmp-${o.randomToken()}`,a=typeof r=="string"?Buffer.from(r):r,l,d=!1;try{l=o.openFile(c,"wx",t.mode??384),d=!0,P(l,a,o,"atomic file"),n==="durable"&&o.syncFile(l),o.closeFile(l),l=void 0,q(()=>o.renameFile(c,e),{runtime:{platform:o.platform,sleep:o.sleep??v.sleep}}),d=!1;let u=n==="durable"?p(s,f(i,o)):"not-requested";return Y(n,u)}finally{if(l!==void 0)try{o.closeFile(l)}catch{}if(d)try{o.removeFile(c)}catch{}}}function gr(e,r,t={}){let n=t.durability??"visibility",o=t.runtime??j;if(!o.linkFile)throw new Error("Exclusive atomic file publication requires hard-link support.");let i=G(e),s=n==="durable"?y(i,o):(o.makeDirectory(i),"not-requested"),c=`${e}.tmp-${o.randomToken()}`,a=typeof r=="string"?Buffer.from(r):r,l,d=!1;try{l=o.openFile(c,"wx",t.mode??384),d=!0,P(l,a,o,"exclusive atomic file"),n==="durable"&&o.syncFile(l),o.closeFile(l),l=void 0,o.linkFile(c,e);let u=n==="durable"?f(i,o):"not-requested";o.removeFile(c),d=!1;let re=n==="durable"?p(s,u,f(i,o)):"not-requested";return Y(n,re)}finally{if(l!==void 0)try{o.closeFile(l)}catch{}if(d)try{o.removeFile(c)}catch{}}}function Y(e,r){return{requestedDurability:e,achievedDurability:e==="visibility"?"visibility":r==="synced"?"directory-durable":"file-flushed",directorySync:r}}import{execFileSync as H}from"child_process";import{platform as qe}from"os";var X=1e3,V=2*1024*1024,$e=25;function Or(e,r,t=ee){let n=t.readIdentity(e),o=new Map;return n&&o.set(e,n),{rootPid:e,rootIdentity:n,ownsProcessGroup:r,knownMembers:o}}async function vr(e,r,t=ee){if(!e.rootIdentity){let a=await F(e,r.gracefulMs+r.forceMs,t);return{reaped:a,reason:a?"terminated":"identity-unavailable",detail:a?void 0:`Could not establish the birth identity of process ${e.rootPid}.`}}let n=Q(e,t);if(n==="mismatch")return{reaped:!1,reason:"identity-mismatch",detail:`Process ${e.rootPid} no longer has the identity owned by this runner.`};if(n==="exited"&&!Z(e,t))return{reaped:!0,reason:"terminated"};if(t.platform==="win32"){try{t.terminateWindowsTree(e.rootPid)}catch(l){let d=await F(e,r.forceMs,t);return{reaped:d,reason:d?"terminated":"signal-failed",detail:d?void 0:D(l)}}let a=await F(e,r.forceMs,t);return{reaped:a,reason:a?"terminated":"deadline"}}let o=z(e,"SIGTERM",t);if(await F(e,r.gracefulMs,t))return{reaped:!0,reason:"terminated"};let s=z(e,"SIGKILL",t);return await F(e,r.forceMs,t)?{reaped:!0,reason:"terminated"}:s?{reaped:!1,reason:s.reason,detail:s.detail}:o?{reaped:!1,reason:o.reason,detail:o.detail}:{reaped:!1,reason:"deadline",detail:`Process tree ${e.rootPid} did not exit before its termination deadline.`}}function Q(e,r){let t=r.readIdentity(e.rootPid);if(!t)return"exited";if(!e.rootIdentity||!m(e.rootIdentity,t))return"mismatch";e.knownMembers.set(e.rootPid,t);for(let n of r.listDescendantPids(e.rootPid)){let o=r.readIdentity(n);o&&e.knownMembers.set(n,o)}return"owned"}function z(e,r,t){let n=Q(e,t);if(n==="mismatch")return{reason:"identity-mismatch",detail:`Process ${e.rootPid} changed identity before ${r}.`};if(n==="owned"&&e.ownsProcessGroup)try{return t.signal(-e.rootPid,r),null}catch(i){if(!K(i))return{reason:"signal-failed",detail:D(i)}}let o=null;for(let i of e.knownMembers.values()){let s=t.readIdentity(i.pid);if(!(!s||!m(i,s)))try{t.signal(i.pid,r)}catch(c){!K(c)&&o===null&&(o=D(c))}}return o===null?null:{reason:"signal-failed",detail:o}}async function F(e,r,t){let n=t.now()+r;for(;Z(e,t);){if(t.now()>=n)return!1;await t.sleep(Math.min($e,Math.max(1,n-t.now())))}return!0}function Z(e,r){if(!e.rootIdentity&&r.isProcessAlive(e.rootPid))return!0;for(let t of e.knownMembers.values()){let n=r.readIdentity(t.pid);if(n&&m(t,n))return!0}return!!(e.ownsProcessGroup&&r.isProcessGroupAlive(e.rootPid))}function Ge(e){let r=H("ps",["-axo","pid=,ppid="],{encoding:"utf8",timeout:X,maxBuffer:V,env:{...process.env,LC_ALL:"C",LANG:"C"},stdio:["ignore","pipe","ignore"],windowsHide:!0}),t=new Map;for(let s of r.split(/\r?\n/)){let c=/^\s*(\d+)\s+(\d+)\s*$/.exec(s);if(!c)continue;let a=Number(c[1]),l=Number(c[2]),d=t.get(l)??[];d.push(a),t.set(l,d)}let n=[],o=[...t.get(e)??[]],i=new Set;for(;o.length>0;){let s=o.pop();i.has(s)||(i.add(s),n.push(s),o.push(...t.get(s)??[]))}return n}function K(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ESRCH"}function D(e){return e instanceof Error?e.message:String(e)}var ee={platform:qe(),now:Date.now,readIdentity:k,isProcessAlive(e){try{return process.kill(e,0),!0}catch(r){return typeof r=="object"&&r!==null&&"code"in r&&r.code==="EPERM"}},isProcessGroupAlive(e){if(this.platform==="win32")return!1;try{return process.kill(-e,0),!0}catch(r){return typeof r=="object"&&r!==null&&"code"in r&&r.code==="EPERM"}},listDescendantPids(e){if(this.platform==="win32")return[];try{return Ge(e)}catch{return[]}},signal(e,r){process.kill(e,r)},terminateWindowsTree(e){H("taskkill.exe",["/PID",String(e),"/T","/F"],{timeout:X,maxBuffer:V,stdio:"ignore",windowsHide:!0})},async sleep(e){await new Promise(r=>setTimeout(r,e))}};export{S as a,m as b,k as c,C as d,Qe as e,cr as f,b as g,ke as h,q as i,De as j,wr as k,gr as l,Or as m,vr as n};
|
|
3
|
-
//# sourceMappingURL=chunk-6JMAVFL4.js.map
|
package/dist/chunk-6WAPPQ5F.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import{q as on}from"./chunk-EQNMD62X.js";import{a as sn,b as ln}from"./chunk-P4NVCOM7.js";import{B as W,C as X,F as ie,H as N,O as ae,P as Ae,e as U,o as ne,p as A,s as Te,u as ke,x as $e,y as rn}from"./chunk-C6WKPKCF.js";import{c as z}from"./chunk-XQAVQVIL.js";import{b as fe,c as re,d as M,f as st,g as lt,h as an}from"./chunk-DRENNWRG.js";import{G as D,J as nn,a as pe,c as Zt,i as Xt,j as Qt,k as _e,l as L,q as Yt,r as en,y as Be,z as tn}from"./chunk-5FWR5HLG.js";import{a as Gt,d as Ht}from"./chunk-T75DS2E6.js";import{a as $,b as Pe,e as Le,f as Jt}from"./chunk-YT4DVWUV.js";import{a as zt}from"./chunk-RCIGX23V.js";import{b as Vt,e as S,h as qt}from"./chunk-D7DOB27N.js";import{i as Z}from"./chunk-R2NOK63J.js";import{c as Kt}from"./chunk-6O3KXIDL.js";import{A as Wt,B as te,h as Mt,n as Ot,o as jt,z as Ut}from"./chunk-UQYQBLJX.js";import{join as De}from"path";var Zo=6,Xo=5e3,Sr="watch.lock",br="watch-state.json",vr="watch-activity.json",xr="watch-refresh-requests";function Qo(e){return{lockPath:De(e,Sr),statePath:De(e,br),activityPath:De(e,vr),refreshRequestsPath:De(e,xr)}}function Jo(e){try{return Rr(JSON.parse(Mt(e,"watch service state")))}catch{return null}}function Rr(e){if(!e||typeof e!="object")return null;let t=e;if(t.version!==1||typeof t.protocolVersion!="number"||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.projectRoot!="string"||t.worktreeId!==void 0&&(typeof t.worktreeId!="string"||t.worktreeId.length===0)||typeof t.cliVersion!="string"||!P(t.startedAt)||!P(t.heartbeatAt)||!P(t.lastActivityAt)||!Ir(t.watcher)||t.idleDeadlineAt!==void 0&&!P(t.idleDeadlineAt))return null;if(t.processIdentity!==void 0){let n=Kt(t.processIdentity);if(!n||n.pid!==t.pid)return null;t.processIdentity=n}return t.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(t.indexGeneration)||t.lastError!==void 0&&!wr(t.lastError)||t.lastRefresh!==void 0&&!Cr(t.lastRefresh)||t.reindexActivity!==void 0&&!Nr(t.reindexActivity)||t.refreshRequests!==void 0&&!Er(t.refreshRequests)||t.typescriptSemantic!==void 0&&!Pr(t.typescriptSemantic)||t.typescriptIndex!==void 0&&!_r(t.typescriptIndex)||t.queryLane!==void 0&&!Lr(t.queryLane)?null:t}function P(e){return Vt(e)}function Ir(e){if(!e||typeof e!="object"||!("state"in e))return!1;let t=e;switch(t.state){case"idle":return!0;case"waiting":return B(t.changedFiles)&&B(t.reindexAt);case"indexing":return B(t.startedAt);case"cooldown":return B(t.until)&&typeof t.dirty=="boolean";case"budget-paused":return B(t.until)&&typeof t.dirty=="boolean"&&typeof t.reason=="string"&&S(t.rebuilt)&&S(t.estimatedWriteBytes);case"draining":return B(t.startedAt)&&typeof t.reason=="string";default:return!1}}function wr(e){if(!e||typeof e!="object")return!1;let t=e;return P(t.at)&&typeof t.message=="string"}function Cr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.trigger?.kind=="string"&&typeof t.result=="string"&&P(t.startedAt)&&P(t.completedAt)&&B(t.durationMs)}function Nr(e){if(!e||typeof e!="object")return!1;let t=e;return t.confidence!==void 0&&t.confidence!=="complete"&&t.confidence!=="partial"&&t.confidence!=="unavailable"||t.recordsRead!==void 0&&!S(t.recordsRead)||t.invalidRecords!==void 0&&!S(t.invalidRecords)||t.skippedRecords!==void 0&&!S(t.skippedRecords)||t.readErrors!==void 0&&!S(t.readErrors)||t.ignoredPartialTailBytes!==void 0&&!S(t.ignoredPartialTailBytes)||!P(t.windowStartedAt)||!P(t.windowEndedAt)||!S(t.runs)||!S(t.rebuilt)||!S(t.reused)||!S(t.failed)||!S(t.suppressed)||!B(t.estimatedLogicalOutputBytes)||t.estimatedWriteBytes!==void 0&&!S(t.estimatedWriteBytes)||t.reflinkedBytes!==void 0&&!S(t.reflinkedBytes)||t.fallbackCopiedBytes!==void 0&&!S(t.fallbackCopiedBytes)||t.oldestRebuildAt!==void 0&&!P(t.oldestRebuildAt)||t.oldestWriteAt!==void 0&&!P(t.oldestWriteAt)||t.languageAttribution!==void 0&&t.languageAttribution!=="complete"&&t.languageAttribution!=="partial"&&t.languageAttribution!=="unavailable"||t.attributedRuns!==void 0&&!S(t.attributedRuns)||t.unattributedRuns!==void 0&&!S(t.unattributedRuns)||t.invalidLanguageDetails!==void 0&&!S(t.invalidLanguageDetails)||t.estimatedLogicalOutputBytes<0||!t.byTrigger||typeof t.byTrigger!="object"||Array.isArray(t.byTrigger)||t.byLanguage!==void 0&&!Fr(t.byLanguage)?!1:Object.values(t.byTrigger).every(n=>n===void 0||S(n))}function Fr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;for(let[t,n]of Object.entries(e)){if(!Gt.includes(t)||!n||typeof n!="object")return!1;let r=n;if(!S(r.runs)||!S(r.rebuilt)||!S(r.reused)||!S(r.producedOutputBytes)||!qt(r.durationMs)||r.rebuilt+r.reused!==r.runs)return!1}return!0}function Er(e){if(!e||typeof e!="object")return!1;let t=e;return S(t.pending)&&S(t.claimed)&&S(t.completed)&&S(t.expired)&&S(t.invalid)&&(t.oldestPendingAt===void 0||P(t.oldestPendingAt))}function Pr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.protocolVersion=="number"&&(t.state==="idle"||t.state==="ready"||t.state==="unavailable"||t.state==="error")&&B(t.requests)&&B(t.sessionsCreated)&&B(t.sessionsReused)&&B(t.sessionsRefreshed)&&B(t.sessionsReplaced)&&B(t.projectsCreated)&&(t.lastRequestAt===void 0||P(t.lastRequestAt))&&(t.lastError===void 0||typeof t.lastError=="string")&&(t.busyUntil===void 0||P(t.busyUntil))&&(t.mailbox===void 0||cn(t.mailbox))}function _r(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.protocolVersion=="number"&&(t.state==="idle"||t.state==="ready"||t.state==="unavailable"||t.state==="error")&&S(t.requests)&&S(t.sessionsCreated)&&S(t.sessionsReplaced)&&S(t.initializations)&&S(t.programUpdates)&&S(t.documentsEmitted)&&S(t.documentsRemoved)&&(t.lastRequestAt===void 0||P(t.lastRequestAt))&&(t.lastDurationMs===void 0||B(t.lastDurationMs)&&t.lastDurationMs>=0)&&(t.lastError===void 0||typeof t.lastError=="string")&&(t.busyUntil===void 0||P(t.busyUntil))&&(t.mailbox===void 0||cn(t.mailbox))}function Lr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.protocolVersion=="number"&&typeof t.socketPath=="string"&&t.socketPath.length>0&&S(t.requests)&&(t.lastRequestAt===void 0||P(t.lastRequestAt))&&(t.lastError===void 0||typeof t.lastError=="string")}function cn(e){if(!e||typeof e!="object")return!1;let t=e;return S(t.pending)&&S(t.inflight)&&S(t.responses)&&S(t.deadLetters)&&S(t.invalid)&&S(t.totalItems)&&B(t.totalBytes)&&t.totalBytes>=0&&t.totalItems===t.pending+t.inflight+t.responses+t.deadLetters&&(t.oldestPendingAt===void 0||P(t.oldestPendingAt))}function B(e){return typeof e=="number"&&Number.isFinite(e)}var un=Qt({kind:"file-dependency-graph",invalidation:_e("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:Mr}),Br=$("file-dep-graph",{clearGroups:["whole-project"]});function Me(e,t,n={}){let r=n.scipEdges??"all-references",i=n.sourceEdges??"imports-only",a=$r(t,r,i);return Br.get(e,a,()=>{let o=new Set(Le(e,{includeIgnored:!1})),s=Zt(e),l=0,c=0,u=null,d=!1,p=0,f=0;return Z("file-dep-graph.product",()=>{if(s){let h=un.read(e,a,s);if(h){d=!0;let v=Dr(h);return l=h.sourceFileCount,c=h.sourceEdgeCount,p=h.scipEdgeCount,f=v.size,u=h.sourceDependencyFingerprint,v}}let m=Z("file-dep-graph.source-imports",()=>{let h=Tr(e,o,t,i);return l=h.files.length,c=h.edges.length,u=h.fingerprint,h},()=>({scope:t??null,sourceEdges:i,files:l,edges:c})),g=new Map,b=(h,v)=>qr(e,g,o,h,v);Z("file-dep-graph.scip-edges",()=>{for(let h of Vr(e,t,r))p+=1,b(h.from_file,h.to_file)},()=>({scope:t??null,edges:p}));for(let h of m.edges)b(h.fromFile,h.toFile);return f=g.size,s&&un.write(e,a,s,{sourceDependencyFingerprint:m.fingerprint,sourceFileCount:m.files.length,sourceEdgeCount:m.edges.length,scipEdgeCount:p,graph:Ar(g)}),g},()=>({scope:t??null,available:s!==null,hit:d,files:l,sourceEdges:c,sourceEdgeMode:i,scipEdges:p,graphFiles:f,sourceDependencyFingerprint:u}))})}function Tr(e,t,n,r){let i=[],a=[];for(let o of t)if(!(n&&!o.includes(n))){i.push(o);for(let s of A(e,o))s.sourcePath&&a.push({fromFile:o,toFile:s.sourcePath});if(r==="imports-and-reexports")for(let s of ne(e,o))s.sourcePath&&a.push({fromFile:o,toFile:s.sourcePath})}return{files:i,edges:a,fingerprint:kr(i,a)}}function kr(e,t){let n=t.map(r=>`${r.fromFile}\0${r.toFile}`).sort();return pe(JSON.stringify({files:e,edges:n}))}function $r(e,t,n){return`edge-mode-v3:${t}:${n}:${e??"<all>"}`}function Ar(e){return[...e].map(([t,n])=>[t,[...n]])}function Dr(e){return new Map(e.graph.map(([t,n])=>[t,new Set(n)]))}function Mr(e){let t=JSON.parse(e);return Or(t)?t:null}function Or(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.sourceDependencyFingerprint=="string"&&typeof t.sourceFileCount=="number"&&typeof t.sourceEdgeCount=="number"&&typeof t.scipEdgeCount=="number"&&Array.isArray(t.graph)&&t.graph.every(jr)}function jr(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(t=>typeof t=="string")}function Vr(e,t,n){let r=t?"AND d1.relative_path LIKE ?":"",i=t?[`%${t}%`]:[],a=n==="imports-only"?"AND m.role = 2":"AND m.role != 1";return e.all(`SELECT DISTINCT
|
|
2
|
-
d1.relative_path AS from_file,
|
|
3
|
-
d2.relative_path AS to_file
|
|
4
|
-
FROM mentions m
|
|
5
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
6
|
-
JOIN documents d1 ON c.document_id = d1.id
|
|
7
|
-
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
8
|
-
JOIN (
|
|
9
|
-
SELECT m2.symbol_id, c2.document_id
|
|
10
|
-
FROM mentions m2
|
|
11
|
-
JOIN chunks c2 ON m2.chunk_id = c2.id
|
|
12
|
-
WHERE m2.role = 1
|
|
13
|
-
GROUP BY m2.symbol_id
|
|
14
|
-
) sym_def ON sym_def.symbol_id = gs.id
|
|
15
|
-
JOIN documents d2 ON sym_def.document_id = d2.id
|
|
16
|
-
WHERE d1.id != d2.id
|
|
17
|
-
${a}
|
|
18
|
-
${e.pathExclusionsFor("d1","d2")}
|
|
19
|
-
${r}`,...i)}function qr(e,t,n,r,i){if(r===i||e.isIgnored(r)||e.isIgnored(i)||!n.has(i))return;let a=t.get(r);a||(a=new Set,t.set(r,a)),a.add(i)}function je(e){let t=Oe(e.projectFiles),n=new Set(t),r=new Map(e.snapshot.files.map(d=>[d.path,d])),i=e.snapshot.files.filter(d=>{let p=Ot(d.path,["typescript"]);return p==="config"||p==="ambient"}).map(d=>d.path),a=Oe([...t,...i]),o=a.find(d=>!r.has(d)),s=new Set(e.snapshot.files.map(d=>d.path)).size!==e.snapshot.files.length,l=!o&&a.some(d=>dn(r.get(d))),c=pe(JSON.stringify({pnpmWorkspaces:e.snapshot.pnpmWorkspaces,typescriptProjectMode:e.snapshot.typescriptProjectMode,typescriptProjects:Oe(e.snapshot.typescriptProjects),membership:t})),u=new Map;return{identityFor(d,p){if(!n.has(d))return oe("target-outside-project");if(s)return oe("duplicate-input-path");if(o)return oe("missing-input-fingerprint");if(l)return oe("unreadable-input");let f=[],m,g;if(e.graph===null)f.push("dependency-graph-unavailable"),g="whole-project",m=a;else{let v=Hr(d,e.graph,u);if(v.find(x=>!r.has(x)))return oe("missing-input-fingerprint");if(m=Oe([...v,...i]),m.some(x=>dn(r.get(x))))return oe("unreadable-input");g="dependency-closure"}let b=m.map(v=>zr(r.get(v)));return{version:1,key:pe(JSON.stringify({version:1,engineIdentity:e.engineIdentity,schemaVersion:p,projectIdentity:c,inputs:b})),mode:g,inputFiles:m,reasons:f}}}}function Gr(e,t){let n=new Set,r=[e];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a===void 0||n.has(a))){n.add(a);for(let o of[...t.get(a)??[]].sort())n.has(o)||r.push(o)}}return[...n].sort()}function Hr(e,t,n){let r=n.get(e);if(r)return r;let i=Gr(e,t);return n.set(e,i),i}function zr(e){return{path:e.path,size:e.size,hash:e.hash}}function dn(e){return e.size<0||e.hash==="unreadable"}function oe(e){return{version:1,key:null,mode:"unkeyed",inputFiles:[],reasons:[e]}}function Oe(e){return[...new Set(e)].sort()}var Ur=Pe("typescript-semantic-identity-context",{clearGroups:["whole-project"]});function ct(e,t,n){let r=Ur.get(e,()=>Wr(e));if(!r)return null;let i=`${n}\0${t}`,a=r.identities.get(i);if(a)return a;let o=r.builder.identityFor(t,n);return r.identities.set(i,o),o}function me(e){return Le(e,{includeIgnored:!1}).filter(Te).sort()}function Wr(e){try{if(!e.generation.metadataRaw)return null;let t=Ht(e.generation.metadataRaw);if(t.kind!=="legacy"&&t.kind!=="supported"||!t.capabilities.usableForEvidenceCache)return null;let n=jt(t.metadata.fingerprint);return n?{builder:je({projectFiles:me(e),snapshot:n,graph:Me(e),engineIdentity:ke()}),identities:new Map}:null}catch{return null}}var ut="typescript-reference-fragment-v3-incomplete-scan",Ve=Xt({kind:"typescript-reference-fragments",invalidation:_e("typescript-reference-fragments"),serialize:e=>JSON.stringify(e),deserialize:Zr});function Fs(e,t,n,r=e){let i=me(e),a=je({projectFiles:i,snapshot:t,graph:Me(e),engineIdentity:ke()}),o=[...n].map(([s,l])=>({relativePath:s,contentHash:a.identityFor(s,ut).key,value:[...l]}));if(o.some(s=>s.contentHash===null))throw new Error("TypeScript reference fragment identity is unavailable for an affected document.");return Ve.writeBatch(r,o.map(s=>({...s,contentHash:s.contentHash}))),o.length}function Es(e,t,n,r){let i=t.filter(o=>Te(o.relativePath));if(i.length===0)return ye("no TypeScript definitions");let a=ye("shadow did not run");return Z("typescript.reference-fragments.shadow",()=>{try{let o=r(i[0].relativePath);if(!o.availability().available||!o.referenceFragmentsForFiles)return a=ye("TypeScript reference fragment provider is unavailable"),a;let s=me(e),l=new Set(s),c=o.referenceFragmentsForFiles(s),u=s.filter(m=>!c.has(m));if(u.length>0)return a=ye(`TypeScript reference lookup was incomplete for ${u.length} file(s)`),a;let d=$e(i,c),p=rn(i,Kr(n,l),d);if(!p.passed)return a={state:"failing",files:s.length,keyedFiles:0,writtenFiles:0,...p},a;let f=[];for(let m of s){let g=ct(e,m,ut);g?.key&&f.push({relativePath:m,contentHash:g.key,value:c.get(m)??[]})}return Ve.writeBatch(e,f),a={state:"passing",files:s.length,keyedFiles:f.length,writtenFiles:f.length,...p},a}catch(o){return a=ye(o instanceof Error?o.message:String(o)),a}},()=>({...a}))}function Kr(e,t){return new Map([...e].map(([n,r])=>[n,r.filter(i=>t.has(i.file))]))}function Ps(e,t,n){if(t.length===0)return{references:new Map,files:0,cacheHits:0,cacheMisses:0,computedFiles:0};let r="fallback",i=0,a=0,o=0,s=0;return Z("typescript.reference-fragments.materialize",()=>{try{let l=me(e);i=l.length;let c=new Map,u=new Map,d=[];for(let m of l){let g=ct(e,m,ut);if(!g?.key)return null;c.set(m,g.key);let b=Ve.read(e,m,g.key);b===null?(o+=1,d.push(m)):(a+=1,u.set(m,b))}if(o===0)return r="hit",{references:$e(t,u),files:i,cacheHits:a,cacheMisses:o,computedFiles:s};let p=n(t[0].relativePath);if(!p.availability().available||!p.referenceFragmentsForFiles)return null;let f=p.referenceFragmentsForFiles(d);if(d.some(m=>!f.has(m)))return null;s=f.size,Ve.writeBatch(e,d.map(m=>({relativePath:m,contentHash:c.get(m),value:f.get(m)??[]})));for(let[m,g]of f)u.set(m,g);return r="computed",{references:$e(t,u),files:i,cacheHits:a,cacheMisses:o,computedFiles:s}}catch{return null}},()=>({state:r,files:i,cacheHits:a,cacheMisses:o,computedFiles:s}))}function ye(e){return{state:"unavailable",files:0,keyedFiles:0,writtenFiles:0,expectedCount:0,actualCount:0,missing:[],extra:[],reason:e}}function Zr(e){try{let t=JSON.parse(e);return!Array.isArray(t)||!t.every(Xr)?null:t}catch{return null}}function Xr(e){if(!e||typeof e!="object")return!1;let t=e,n=t.location;return typeof t.targetSymbol=="string"&&!!n&&typeof n.file=="string"&&typeof n.line=="number"&&typeof n.column=="number"}var Qr=$("symbol-resolution",{clearGroups:[]});function Os(e,t){return Jr(e,t).match}function Jr(e,t){return Qr.get(e,t,()=>{let n=mn(e,t.trim()).filter(o=>!e.isIgnored(o.relative_path));if(n.length>0)return se(e,n);let r=oi(e,t);if(r&&!e.isIgnored(r.relative_path))return se(e,[r]);let i=Yr(e,t);if(i.length>0)return se(e,i);let a=ei(e,t);return a.length>0?se(e,a):ii(e,t)})}function Yr(e,t){let n=t.trim().replace(/\(\)$/u,""),r=n.lastIndexOf(":");if(r<=0||r===n.length-1||n.startsWith("local:"))return[];let i=n.slice(r+1);if(!/^[\p{L}_$][\p{L}\p{N}_$]*$/u.test(i))return[];let a=[`/${i}().`,`/${i}.`,`/${i}#`,`#${i}().`,`#${i}.`,`/${i}/`],o=`gs.display_name = ? OR ${a.map(()=>"instr(gs.symbol, ?) > 0").join(" OR ")}`,s=[i,...a],l=W(e,{where:o,params:s,orderBy:"d.relative_path, der.start_line",limit:200}),c=l.length>0?[]:X(e,{where:o,params:s,orderBy:"d.relative_path, start_line",limit:200}),u=ie(l,c).filter(d=>!e.isIgnored(d.relative_path)).filter(d=>re(d.symbol).replace(/\(\)$/u,"")===n);return[...new Map(u.map(d=>[`${d.symbol}\0${d.relative_path}`,d])).values()]}function ei(e,t){let n=qe(t),r=dt(n);if(!r)return[];let i=`%${r.path}%`,a=r.leaf;return ti(e,i,a,n)}function ti(e,t,n,r){let i=ie([],[...ni(e,t,n),...ri(e,t,n)]).filter(a=>!e.isIgnored(a.relative_path)).filter(a=>le(a,r)>1);return i.sort((a,o)=>le(o,r)-le(a,r)||a.end_line-a.start_line-(o.end_line-o.start_line)||a.start_line-o.start_line||a.symbol.localeCompare(o.symbol)),i}function ni(e,t,n){return W(e,{where:"d.relative_path LIKE ? AND (gs.display_name = ? OR gs.symbol LIKE ?)",params:[t,n,`%/${n}.%`]})}function ri(e,t,n){return X(e,{where:"d.relative_path LIKE ? AND (gs.display_name = ? OR gs.symbol LIKE ?)",params:[t,n,`%/${n}.%`]})}function ii(e,t){let n=qe(t),r=pi(t),i=ui(e,r),a=fi(i,t,n).filter(s=>!e.isIgnored(s.relative_path));if(a.length>0)return se(e,a);let o=[];for(let s of i){if(e.isIgnored(s.relative_path))continue;let l=di(s,t,n,r);l<=0||o.push({row:s,score:l})}return o.sort((s,l)=>l.score-s.score||s.row.end_line-s.row.start_line-(l.row.end_line-l.row.start_line)||s.row.relative_path.localeCompare(l.row.relative_path)||s.row.symbol.localeCompare(l.row.symbol)),se(e,o.map(s=>s.row))}function se(e,t){let n=t.map(i=>Ae(e,i)),r=n[0]??null;return{match:r,candidates:r?ai(n,r):[],total:n.length}}function ai(e,t){let n=new Set([`${t.symbolId}:${t.relativePath}:${t.startLine}`]),r=[];for(let i of e){let a=`${i.symbolId}:${i.relativePath}:${i.startLine}`;if(!n.has(a)&&(n.add(a),r.push({symbol:i.symbol,shortName:re(i.symbol),relativePath:i.relativePath,startLine:i.startLine}),r.length>=5))break}return r}function oi(e,t){let n=t.match(/^(.+):(\d+)(?:-(\d+))?$/);if(!n)return;let[,r,i,a]=n,o=Jt(e,r,{allowMultiple:!1})[0]?.relativePath;if(!o)return;let s=Math.max(0,parseInt(i,10)-1),l=a?Math.max(s,parseInt(a,10)-1):s;return si(e,o,s,l)??li(e,o,s,l)}function si(e,t,n,r){return W(e,{where:"d.relative_path = ? AND der.start_line <= ? AND der.end_line >= ?",params:[t,n,r],orderBy:"(der.end_line - der.start_line) ASC",limit:1})[0]}function li(e,t,n,r){return X(e,{where:"d.relative_path = ? AND c.start_line <= ? AND c.end_line >= ?",params:[t,n,r],orderBy:"(MAX(c.end_line) - MIN(c.start_line)) ASC",limit:1})[0]}function js(e,t){let n=mn(e,t).find(r=>!e.isIgnored(r.relative_path));return n?Ae(e,n):null}function mn(e,t){let n=W(e,{where:"gs.symbol = ?",params:[t],orderBy:"d.relative_path, der.start_line"}),r=n.length>0?[]:X(e,{where:"gs.symbol = ?",params:[t],orderBy:"d.relative_path, start_line"});return ie(n,r)}function ge(e,t){if("symbol"in t&&"relativePath"in t)return t;let n=ci(e,t.symbolId)[0];return n?Ae(e,n):null}function ci(e,t){let n=W(e,{where:"gs.id = ?",params:[t],orderBy:"der.start_line, der.end_line"}),r=X(e,{where:"gs.id = ?",params:[t],orderBy:"start_line, end_line"});return ie(n,r)}function ui(e,t){let n=t.map(()=>"(gs.symbol LIKE ? OR d.relative_path LIKE ? OR COALESCE(gs.display_name, '') LIKE ?)"),r=t.flatMap(s=>{let l=`%${s}%`;return[l,l,l]}),i=n.join(`
|
|
20
|
-
AND `),a=W(e,{where:i,params:r,limit:200}),o=X(e,{where:i,params:r,limit:200});return ie(a,o)}function di(e,t,n,r){let i=t.trim(),a=n,o=a.replace(/\(\)$/,""),s=t.toLowerCase(),l=n.toLowerCase(),c=l.replace(/\(\)$/,""),u=e.symbol,d=re(e.symbol),p=M(e.symbol),f=e.display_name??"",m=e.symbol.toLowerCase(),g=d.toLowerCase(),b=p.toLowerCase(),h=f.toLowerCase(),v=e.relative_path.toLowerCase(),F=/[/:.]/.test(n),x=dt(n),w=x?.leaf.toLowerCase(),y=0;return(u===i||u===a)&&(y+=1150),(d===i||d===a)&&(y+=1100),f===o&&(y+=1180),p===o&&(y+=1160),(`${p}()`===i||`${p}()`===a)&&(y+=955),(m===s||m===l)&&(y+=1e3),(g===s||g===l)&&(y+=950),(v===s||v===l)&&(y+=925),(v.endsWith(`/${l}`)||v.endsWith(`/${s}`))&&(y+=875),h===c&&(y+=850),b===c&&(y+=825),(`${b}()`===s||`${b}()`===l)&&(y+=820),(g.endsWith(`:${l}`)||g.endsWith(`:${c}`)||g.endsWith(`:${c}()`))&&(y+=800),m.includes(l)&&(y+=120),g.includes(l)&&(y+=140),v.includes(l)&&(y+=140),h.includes(l)&&(y+=110),r.every(R=>{let I=R.toLowerCase();return m.includes(I)||g.includes(I)||v.includes(I)||h.includes(I)})&&(y+=100+r.length*15),x&&v.includes(x.path.toLowerCase())&&(y+=360,w&&(b===w||`${b}()`===w||`${b}()`==`${w}()`)&&(y+=700),st(e.symbol)&&(y+=180)),lt(e.symbol)&&b===c&&(y+=60),!F&&an(e.symbol)&&(y-=160),y-=Math.min(50,Math.max(0,e.end_line-e.start_line)),y}function dt(e){let t=e.trim().replace(/\\/g,"/"),n=t.lastIndexOf("/");if(n<=0||n===t.length-1)return null;let r=t.slice(n+1).replace(/\(\)$/,"");return!r||r.includes(".")?null:{path:t.slice(0,n),leaf:r}}function qe(e){return e.trim().replace(/\(\)$/,"").replace(/\(.*$/,"")}function pi(e){let t=qe(e),n=t.split(/[^A-Za-z0-9_]+/).map(r=>r.trim()).filter(r=>r.length>0);return n.length>0?[...new Set(n)]:[t]}function fi(e,t,n){let r=t.trim(),i=e.filter(s=>{let l=re(s.symbol),c=M(s.symbol),u=(s.display_name??"").trim();return s.symbol===r||l===r||l===n||c===r||c===n||`${c}()`===r||u===r||u===n||`${u}()`===r||le(s,n)>1||s.relative_path===r});if(i.length===0)return[];let a=n.replace(/\(\)$/u,""),o=i.filter(s=>M(s.symbol)===a);if(o.length>0){o.sort((l,c)=>pn(l,c,n));let s=o.filter(l=>lt(l.symbol));return s.length>0?s:o}return i.sort((s,l)=>pn(s,l,n)),i}function pn(e,t,n){return le(t,n)-le(e,n)||e.end_line-e.start_line-(t.end_line-t.start_line)||e.relative_path.localeCompare(t.relative_path)||e.symbol.localeCompare(t.symbol)}function le(e,t){let n=dt(t);if(!n)return 0;let r=e.relative_path.toLowerCase(),i=M(e.symbol).toLowerCase(),a=n.path.toLowerCase(),o=n.leaf.toLowerCase();return r.includes(a)?i!==o?1:st(e.symbol)?fe(e.symbol)===null?5:4:fe(e.symbol)===null?3:2:0}function Vs(e,t,n=5){let r=fn(t);if(!r)return[];let i=W(e,{where:"1 = 1",orderBy:"d.relative_path, der.start_line",limit:5e3}),a=new Map;for(let o of i){if(e.isIgnored(o.relative_path))continue;let s=re(o.symbol),l=M(o.symbol),c=o.display_name??l,u=[s,l,c].filter(f=>f.trim().length>0),d=Math.min(...u.map(f=>mi(fn(f),r))),p=a.get(s);(!p||d<p.distance)&&a.set(s,{shortName:s,distance:d})}return[...a.values()].sort((o,s)=>o.distance-s.distance||o.shortName.localeCompare(s.shortName)).slice(0,n).map(o=>o.shortName)}function fn(e){return qe(e).toLowerCase().replace(/[^a-z0-9_]+/g,"")}function mi(e,t){if(e===t)return 0;if(e.length===0)return t.length;if(t.length===0)return e.length;let n=Array.from({length:t.length+1},(r,i)=>i);for(let r=0;r<e.length;r++){let i=[r+1];for(let a=0;a<t.length;a++){let o=e[r]===t[a]?0:1;i[a+1]=Math.min(i[a]+1,n[a+1]+1,n[a]+o)}n=i}return n[t.length]}function Xs(e,t){let n=yn(e);return n?t.filter(r=>yn(r.file)===n):t}function Qs(e,t,n,r,i){let a=n.find(o=>o.file===t);if(a)return a;if(r){let o=i?.match(/^[A-Za-z_$][\w$]*/u)?.[0];if(!o)return null;let s=A(e,t),l=new Set(s.filter(p=>p.localName===o||p.importedName===o).map(p=>p.sourcePath).filter(p=>!!p));for(let p of n)for(let f of l)if(te(f,p.file))return p;let c=yi(L(e,t)??"",o);if(c.size===0)return null;let u=new Set(s.filter(p=>c.has(p.localName??p.importedName)).map(p=>p.sourcePath).filter(p=>!!p)),d=n.filter(p=>c.has(fe(p.symbol)??"")&&[...u].some(f=>te(f,p.file)));return d.length===1?d[0]:null}return n.length===1?n[0]:null}function yi(e,t){let n=t.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),r=new Set,i=[new RegExp(`\\b${n}\\s*:\\s*([A-Za-z_$][\\w$]*)`,"gu"),new RegExp(`\\b${n}\\s*=\\s*(?:new\\s+)?([A-Za-z_$][\\w$]*)\\s*\\(`,"gu")];for(let a of i)for(let o of e.matchAll(a))r.add(o[1]);return r.size===1?r:new Set}function yn(e){let t=Be(e);return t?t==="typescript"||t==="tsx"||t==="javascript"?"javascript-family":t:null}var gi=Pe("global-leaf-index",{clearGroups:["whole-project"]});function pt(e){return gi.get(e,()=>{let t=e.all(`SELECT gs.id, gs.symbol,
|
|
21
|
-
COALESCE(der_doc.relative_path, mention_doc.relative_path) AS relative_path
|
|
22
|
-
FROM global_symbols gs
|
|
23
|
-
LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
|
|
24
|
-
LEFT JOIN documents der_doc ON der_doc.id = der.document_id
|
|
25
|
-
LEFT JOIN (
|
|
26
|
-
SELECT m.symbol_id, MIN(d.relative_path) AS relative_path
|
|
27
|
-
FROM mentions m
|
|
28
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
29
|
-
JOIN documents d ON c.document_id = d.id
|
|
30
|
-
WHERE m.role = 1
|
|
31
|
-
GROUP BY m.symbol_id
|
|
32
|
-
) mention_doc ON mention_doc.symbol_id = gs.id
|
|
33
|
-
WHERE 1 = 1
|
|
34
|
-
${e.symbolNoiseFor("gs")}`),n=new Map;for(let r of t){if(!r.relative_path||e.isIgnored(r.relative_path))continue;let i=M(r.symbol);if(!i)continue;let a=n.get(i);a||(a=[],n.set(i,a)),a.some(o=>o.symbolId===r.id)||a.push({symbol:r.symbol,symbolId:r.id,file:r.relative_path})}return n})}function Ge(e,t,n,r={}){if(!n)return[];let i=L(e,t);return i?i.indexOf(n)===-1?[]:(ft(e,t).get(n)??[]).filter(o=>!hi(o,r)):[]}function hi(e,t){return typeof t.excludeStartLine=="number"&&typeof t.excludeEndLine=="number"&&e>=t.excludeStartLine&&e<=t.excludeEndLine}var Si=$("file-identifiers",{clearGroups:["whole-project","source-file"]});function gn(e,t){let n=U(e,t);return n?n.fileIdentifiers:Si.get(e,t,()=>new Set(ft(e,t).keys()))}var bi=$("file-ident-lines",{clearGroups:["whole-project","source-file"]});function ft(e,t){let n=U(e,t);return n?n.identifierLineMap:bi.get(e,t,()=>xi(e,t))}var vi=$("file-idents-by-line",{clearGroups:["whole-project","source-file"]});function rl(e,t){let n=U(e,t);return n?n.identifiersByLine:vi.get(e,t,()=>{let r=ft(e,t),i=0;for(let o of r.values()){let s=o[o.length-1];s!==void 0&&s>i&&(i=s)}let a=new Array(i+1);for(let o=0;o<=i;o+=1)a[o]=new Set;for(let[o,s]of r)for(let l of s)a[l].add(o);return a})}function xi(e,t){let n=new Map,r=(s,l)=>{let c=n.get(s);if(!c){n.set(s,[l]);return}c[c.length-1]!==l&&c.push(l)},i=L(e,t);if(!i)return n;let a=en(i).split(/\r?\n/),o=/\b([A-Za-z_$][\w$]*)\b/g;for(let s=0;s<a.length;s+=1){let l=a[s]??"";for(let c of l.matchAll(o))c[1]&&r(c[1],s)}return n}var hn=/[A-Za-z_$][A-Za-z0-9_$]*/g,Sn=/^[A-Za-z_$][A-Za-z0-9_$]*$/,Ri=512;function mt(e){let t=[],n=!1;for(let r of e)r&&(n=!0,Sn.test(r)||t.push(r));return{candidateNames:e,hasUsableCandidate:n,nonIdentifierNames:t}}function bn(e,t){let n=Ii(t)?t:mt(t);if(n.candidateNames.size===0||!n.hasUsableCandidate)return!0;if(n.candidateNames.size<=Ri){for(let i of n.candidateNames)if(i){if(Sn.test(i)){if(wi(i).test(e))return!0;continue}if(e.includes(i))return!0}return!1}hn.lastIndex=0;let r;for(;(r=hn.exec(e))!==null;)if(n.candidateNames.has(r[0]))return!0;for(let i of n.nonIdentifierNames)if(e.includes(i))return!0;return!1}function Ii(e){return"candidateNames"in e}function wi(e){return new RegExp(`(?<![A-Za-z_$0-9])${Yt(e)}(?![A-Za-z_$0-9])`)}var Ci=$("source-import-paths-by-local-name",{clearGroups:["whole-project","source-file"]});function xn(e,t){let n=Ut(t);return Ci.get(e,n,()=>Ni(e,n))}function Ni(e,t){let n=new Map;for(let r of A(e,t)){if(!r.sourcePath)continue;let i=r.localName??r.importedName;if(i&&vn(n,i,r.sourcePath),r.kind==="namespace")for(let a of r.usedMembers)vn(n,a,r.sourcePath)}return n}function vn(e,t,n){let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)}function yt(e,t,n){let r=pt(e).get(n);if(!r||r.length===0)return[];if(r.length===1)return[he(r[0])];let i=r.filter(l=>l.file===t);if(i.length>0)return i.map(he);let a=xn(e,t),o=a.get(n);if(o)for(let l of o){let c=r.filter(u=>te(l,u.file));if(c.length>0)return c.map(he)}let s=new Set;for(let l of a.values())for(let c of l)s.add(c);for(let l of s){let c=r.filter(u=>te(l,u.file));if(c.length>0&&c.length===r.length)return c.map(he)}return[]}function xl(e,t,n){let r=yt(e,t,n);if(r.length>0)return r;let i=pt(e).get(n);return!i||i.length===0?[]:i.map(he)}function Rn(e,t,n={}){let r=Fi(e,t);if(!r)return[];let i=ge(e,t);if(n.semantic!==!1&&n.semanticEvidence){let o=n.semanticEvidence.references(e,{...i,leaf:r.identifier,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(o.length>0){let s=new Map;for(let l of o){let c=s.get(l.file)??[];c.push(l.line),s.set(l.file,c)}return He(e,s)}}let a=new Map;for(let o of z(e)){let s=Ei(e,r,o);s.length>0&&a.set(o,s)}return He(e,a)}function Fi(e,t){let n=ge(e,t);if(!n)return null;let r=M(n.symbol);return r?{symbolId:n.symbolId,relativePath:n.relativePath,startLine:n.startLine,endLine:n.endLine,identifier:r}:null}function Ei(e,t,n){let r=L(e,n);return!r||r.indexOf(t.identifier)===-1?[]:n!==t.relativePath&&!yt(e,n,t.identifier).some(a=>a.symbolId===t.symbolId)?[]:Ge(e,n,t.identifier,n===t.relativePath?{excludeStartLine:t.startLine,excludeEndLine:t.endLine}:{})}function Rl(e,t,n={}){let r=new Map;for(let l of t){if(!l.leaf)continue;let c=r.get(l.leaf)??[];c.push(l),r.set(l.leaf,c)}if(r.size===0)return new Map;let i=new Set(t.map(l=>l.symbolId)),a=new Set(r.keys()),o=mt(a),s=new Map;for(let l of z(e)){if(n.skipPath?.(l)||!bn(L(e,l),o))continue;let c=gn(e,l);if(c.size!==0){for(let u of c)if(r.has(u))for(let d of yt(e,l,u)){if(!i.has(d.symbolId)||l===d.relativePath)continue;let p=s.get(d.symbolId);p||(p=new Set,s.set(d.symbolId,p)),p.add(l)}}}return s}function he(e){return{symbolId:e.symbolId,symbol:e.symbol,relativePath:e.file}}function He(e,t){let n=[],r=new Set;for(let[i,a]of t){let o=N(e,i);for(let s of a){let l=ae(o,s),c=`${i}|${s}|${l?.symbol??""}`;r.has(c)||(r.add(c),n.push({file:i,line:s,enclosingSymbol:l?.symbol??null}))}}return n}function Pi(e,t){return _i(e,[t]).get(t.symbolId)??[]}function _i(e,t){let n=t.map(a=>({symbolId:a.symbolId,prelude:$i(e,a)})).filter(a=>a.prelude!==null),r=Bi(e,n.map(a=>a.symbolId)),i=new Map;for(let{symbolId:a,prelude:o}of n){let s=Li(e,r.get(a)??new Map,o.match,o.identifier);i.set(a,He(e,s))}return i}function Pl(e,t,n={}){return gt(e,t,n).map(r=>({file:r.file,line:r.line,enclosingSymbol:r.enclosingSymbol}))}function gt(e,t,n={}){let r=Rn(e,t,{semantic:n.semantic,semanticEvidence:n.semanticEvidence}),i=r.length>0?In(r,"source-attribution"):In(Pi(e,t),"scip-reference-chunk");return n.includeIgnored===!0?i:i.filter(a=>!e.isIgnored(a.file))}function In(e,t){return e.map(n=>({...n,provenance:t}))}function Li(e,t,n,r){let i=new Map;for(let[a,o]of t)i.set(a,Ti(e,a,o,n,r));return i}function Bi(e,t){let n=new Map;for(let r of on(e,t)){if(e.isIgnored(r.relative_path))continue;let i=n.get(r.symbol_id);i||(i=new Map,n.set(r.symbol_id,i));let a=i.get(r.relative_path);a||(a=[],i.set(r.relative_path,a)),a.push({start_line:r.chunk_start,end_line:r.chunk_end})}return n}function Ti(e,t,n,r,i){let a=t===r.relativePath?{excludeStartLine:r.startLine,excludeEndLine:r.endLine}:{},o=i?Ge(e,t,i,a):[];return n.flatMap(s=>ki(o,s))}function ki(e,t){let n=e.filter(r=>r>=t.start_line&&r<=t.end_line);return n.length>0?n:[t.start_line]}function $i(e,t){let n=ge(e,t);return n?{match:n,identifier:M(n.symbol)||null}:null}import{spawn as Ai}from"child_process";import{platform as wn}from"os";import{performance as Cn}from"perf_hooks";var $l={probe:1e4,git:3e4,analysis:18e4,install:3e5,indexer:6e5},be=class extends Error{constructor(n,r,i,a={}){super(i,a.cause===void 0?void 0:{cause:a.cause});this.kind=n;this.label=r;this.name="BoundedProcessError",this.timedOut=a.timedOut??!1,this.reaped=a.reaped??!1,this.stdout=a.stdout??"",this.stderr=a.stderr??"",this.stdoutTruncated=a.stdoutTruncated??!1,this.stderrTruncated=a.stderrTruncated??!1}kind;label;timedOut;reaped;stdout;stderr;stdoutTruncated;stderrTruncated};function Se(e,t){if(!Number.isFinite(e)||e<=0)throw new TypeError(`${t} must be a positive finite number.`)}function Nn(e,t,n,r){let i=Math.max(0,r-n);i>0&&e.push(t.subarray(0,i))}function Fn(e,t,n){let r=Buffer.concat([...e,t]);e.length=0,e.push(r.subarray(Math.max(0,r.length-n)))}function Al(e){Se(e.timeoutMs,"timeoutMs"),Se(e.maxStdoutBytes,"maxStdoutBytes"),Se(e.maxStderrBytes,"maxStderrBytes");let t=e.terminationGraceMs??1e3;Se(t,"terminationGraceMs");let n=e.terminationForceMs??t;return Se(n,"terminationForceMs"),new Promise((r,i)=>{let a=Cn.now(),o;try{let y=wn()!=="win32";o=Ai(e.command,[...e.args??[]],{cwd:e.cwd,env:e.env,detached:y?!0:e.detached,stdio:["pipe","pipe","pipe"],windowsHide:!0})}catch(y){i(new be("spawn",e.label,`${e.label} could not start.`,{cause:y,reaped:!0}));return}let s=[],l=[],c=0,u=0,d=!1,p=!1,f=null,m=!1,g=wn()!=="win32",b=o.pid===void 0?null:sn(o.pid,g),h=()=>{clearTimeout(x),e.signal?.removeEventListener("abort",w)},v=y=>{if(m||!f)return;m=!0,h();let R=Buffer.concat(s).toString("utf8"),I=Buffer.concat(l).toString("utf8"),E=y.reaped||!y.detail?"":` Process-tree cleanup failed: ${y.detail}`;i(new be(f.kind,e.label,`${f.message}${E}`,{timedOut:f.timedOut,reaped:y.reaped,stdout:R,stderr:I,stdoutTruncated:d,stderrTruncated:p}))},F=y=>{if(!(f||m)){if(f=y,!b){v({reaped:o.pid===void 0,reason:o.pid===void 0?"terminated":"identity-unavailable"});return}ln(b,{gracefulMs:t,forceMs:n}).then(v,R=>{v({reaped:!1,reason:"signal-failed",detail:R instanceof Error?R.message:String(R)})})}},x=setTimeout(()=>{F({kind:"timeout",timedOut:!0,message:`${e.label} timed out after ${e.timeoutMs}ms.`})},e.timeoutMs);x.unref();let w=()=>{F({kind:"aborted",timedOut:!1,message:`${e.label} was cancelled.`})};e.signal?.addEventListener("abort",w,{once:!0}),e.signal?.aborted&&w(),o.stdout.on("data",y=>{let R=Buffer.isBuffer(y)?y:Buffer.from(y);e.outputLimitBehavior==="truncate-tail"?Fn(s,R,e.maxStdoutBytes):Nn(s,R,c,e.maxStdoutBytes),c+=R.length,c>e.maxStdoutBytes&&(d=!0,e.outputLimitBehavior!=="truncate-tail"&&F({kind:"stdout-limit",timedOut:!1,message:`${e.label} exceeded stdout limit (${e.maxStdoutBytes} bytes).`}))}),o.stderr.on("data",y=>{let R=Buffer.isBuffer(y)?y:Buffer.from(y);e.outputLimitBehavior==="truncate-tail"?Fn(l,R,e.maxStderrBytes):Nn(l,R,u,e.maxStderrBytes),u+=R.length,u>e.maxStderrBytes&&(p=!0,e.outputLimitBehavior!=="truncate-tail"&&F({kind:"stderr-limit",timedOut:!1,message:`${e.label} exceeded stderr limit (${e.maxStderrBytes} bytes).`}))}),o.on("error",y=>{if(!m&&!f){if(o.pid===void 0){h(),m=!0,i(new be("spawn",e.label,`${e.label} could not start: ${y.message}`,{cause:y,reaped:!0}));return}F({kind:"spawn",timedOut:!1,message:`${e.label} failed after start: ${y.message}`})}}),o.on("close",(y,R)=>{if(m||f)return;m=!0,h();let I=Buffer.concat(s).toString("utf8"),E=Buffer.concat(l).toString("utf8");r({status:y,signal:R,stdout:I,stderr:E,timedOut:!1,durationMs:Cn.now()-a,stdoutTruncated:d,stderrTruncated:p})}),e.input===void 0?o.stdin.end():o.stdin.end(e.input)})}function En(e){let t=Wt(e);return Di(t)?"test":Mi(t)?"worker":Oi(t)?"entry":ji(t)?"barrel":"source"}function Di(e){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(e)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(e)||/(?:^|\/)spec_[^/]+$/i.test(e)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(e)||/(?:^|\/)[^/]+_tests\.rs$/i.test(e)||/(?:^|\/)tests\.rs$/i.test(e)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(e)||/(?:^|\/)__tests__\//i.test(e)||/(?:^|\/)test\//i.test(e)||/(?:^|\/)tests\//i.test(e)||/(?:^|\/)__fixtures__\//i.test(e)||/(?:^|\/)__mocks__\//i.test(e)||/(?:^|\/)test-support\//i.test(e)||/(?:^|\/)test-utils\//i.test(e)||/(?:^|\/)testing\//i.test(e))}function Mi(e){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(e)}function Oi(e){let t=e.split("/"),n=t[t.length-1]??e;return n==="cli.ts"||n==="cli.js"||n==="postinstall.ts"||n==="postinstall.js"||n==="main.ts"||n==="main.js"||n==="main.rs"||n==="main.go"||n==="main.py"||n==="build.rs"||n==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(e)||/(?:^|\/)examples\/[^/]+\.rs$/.test(e)||/(?:^|\/)tests\/[^/]+\.rs$/.test(e)||/(?:^|\/)benches\/[^/]+\.rs$/.test(e)?!0:n==="index.ts"||n==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(e)?!0:t.length<=2:!1}function ji(e){return e==="index.ts"||e==="index.js"||e.endsWith("/index.ts")||e.endsWith("/index.js")||e.endsWith("/mod.rs")||e.endsWith("/__init__.py")}function ze(e){let t=e.replaceAll("\\","/");return En(t)==="test"?/(?:^|\/)__fixtures__\//iu.test(t)?"fixture":"test":/(?:^|\/)(?:fixtures?|testdata)\//iu.test(t)?"fixture":/(?:^|\/)(?:examples?|demos?|previews?)\//iu.test(t)?"example":/(?:^|\/)(?:generated|dist|build|coverage)\//iu.test(t)||/\.generated\./iu.test(t)?"generated":/^(?:scripts?|tools?)\//iu.test(t)?"script":"production"}var Vi=4;function Q(e,t,n,r={}){return Pn(e,t,n,r.maxReexportDepth??Vi,0,new Set)}function Pn(e,t,n,r,i,a){let o=`${t}\0${n}`;if(a.has(o)||i>r)return[];a.add(o);let s=N(e,t).filter(l=>l.leaf===n);return s.length>0?s:ne(e,t).flatMap(l=>l.sourcePath?l.kind==="named"&&!l.names.includes(n)?[]:Pn(e,l.sourcePath,n,r,i+1,new Set(a)):[])}import{createHash as mr}from"crypto";import{createHash as oa}from"crypto";var Ue=8;function ce(e,t,n){return xt(_n(e,t,bt(n),0,new Set))}function vt(e,t,n){return ht(e,t,n,0,new Set)}function _n(e,t,n,r,i){if(r>Ue)return[];let a=/^([A-Za-z_$][\w$]*)\.([A-Za-z_$][\w$]*)$/u.exec(n);return a?Ln(e,t,a[1],a[2],r,i):/^[A-Za-z_$][\w$]*$/u.test(n)?Bn(e,t,n,r,i):[]}function Ln(e,t,n,r,i,a){let o=[];for(let s of ht(e,t,n,i+1,new Set(a))){let l=Ui(s.initializer);for(let c of l.namedChildren){if(c.type==="pair"){let u=c.childForFieldName("key")??c.namedChild(0);if(Wi(u)!==r)continue;let d=c.childForFieldName("value")??c.namedChild(1);d&&o.push(..._n(e,s.definition.relativePath,bt(d.text),i+1,new Set(a)));continue}if(/(?:method|function)/u.test(c.type)){if((c.childForFieldName("name")??c.namedChild(0))?.text!==r)continue;let d=Hi(e,s.definition.relativePath,r,c);o.push(...d.length>0?d:[qi(s.definition,r,c)]);continue}if(c.type==="spread_element"){let u=c.namedChild(0);if(!u)continue;for(let d of ht(e,s.definition.relativePath,bt(u.text),i+1,new Set(a)))o.push(...Ln(e,d.definition.relativePath,d.definition.leaf,r,i+1,new Set(a)))}}}return xt(o)}function qi(e,t,n){return{documentId:e.documentId,symbolId:-1,symbol:`source-callable:${e.relativePath}:${n.startPosition.row}:${t}`,relativePath:e.relativePath,startLine:n.startPosition.row,startChar:n.startPosition.column,endLine:n.endPosition.row,endChar:n.endPosition.column,leaf:t,parentTypeName:e.leaf,isFunctionLike:!0,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:e.symbol}}function ht(e,t,n,r,i){return r>Ue||!/^[A-Za-z_$][\w$]*$/u.test(n)?[]:Bn(e,t,n,r,i).flatMap(a=>{let o=D(e,a.relativePath)?.rootNode,s=o?zi(o,a.leaf):null;return s?[{definition:a,initializer:s}]:[]})}function Bn(e,t,n,r,i){if(r>Ue)return[];let a=`${t}\0${n}`;if(i.has(a))return[];i.add(a);let o=N(e,t).filter(c=>c.leaf===n);if(o.length>0)return o;let s=Gi(e,t,n);if(s.length>0)return s;let l=A(e,t).find(c=>c.localName===n&&c.sourcePath);if(l?.sourcePath){let c=l.kind==="namespace"||l.importedName==="default"?n:l.importedName;return St(e,l.sourcePath,c,r+1,new Set(i))}return St(e,t,n,r+1,new Set(i))}function Gi(e,t,n){let r=e.get("SELECT id FROM documents WHERE relative_path = ?",t)?.id;return r===void 0?[]:(U(e,t)?.callables??[]).filter(i=>i.name===n).map(i=>({documentId:r,symbolId:-1,symbol:`source-callable:${t}:${i.startLine}:${n}`,relativePath:t,startLine:i.startLine,startChar:0,endLine:i.endLine,endChar:0,leaf:n,parentTypeName:null,isFunctionLike:!0,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null}))}function St(e,t,n,r,i){if(r>Ue)return[];let a=N(e,t).filter(o=>o.leaf===n);return a.length>0?a:xt(ne(e,t).flatMap(o=>o.sourcePath?o.kind==="named"&&!o.names.includes(n)?[]:St(e,o.sourcePath,n,r+1,new Set(i)):[]))}function Hi(e,t,n,r){return N(e,t).filter(i=>i.leaf===n&&i.startLine<=r.startPosition.row&&i.endLine>=r.endPosition.row)}function zi(e,t){let n=null;return Tn(e,r=>{n||r.type!=="variable_declarator"||(r.childForFieldName("name")??r.namedChild(0))?.text.trim()!==t||(n=r.childForFieldName("value")??r.namedChild(1))}),n}function Ui(e){let t=e;for(;["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(t.type)&&t.namedChildren.length>0;)t=t.namedChildren[0];return t}function Wi(e){return e?.text.replace(/^['"`]|['"`]$/gu,"")??null}function bt(e){return e.replace(/\s+/gu,"").replace(/^\.\.\./u,"")}function xt(e){return[...new Map(e.map(t=>[t.symbol,t])).values()]}function Tn(e,t){t(e);for(let n of e.namedChildren)Tn(n,t)}var Ki=8;function V(e,t){return t?ue(e,t,0,new Set):null}function ue(e,t,n,r){if(n>Ki)return G(t,"value-evaluation-depth");let i=$n(t),a=ea(i);if(a)return ta(e.file,i,a.term,a.value,a.precision);if(i.type==="binary_expression"&&/\+/u.test(i.text)){let l=i.namedChildren.map(c=>ue(e,c,n+1,new Set(r)));if(l.length>=2&&l.every(c=>c!==null)){let c={kind:"concat",parts:l.map(d=>d.term)},u=l.map(d=>d.value).join("");return na(e.file,i,c,u,l.some(d=>d.precision!=="literal")?"constrained-pattern":"literal",l)}}let o=i.text.trim();if(/^[A-Za-z_$][\w$]*$/u.test(o))return Ji(e,o,i,n,r);let s=ra(i);return s?Yi(e,s.base,s.properties,i,n,r):i.type==="call_expression"||i.type==="call"?Zi(e,i,n,r):G(i,`unsupported-expression:${i.type}`)}function Zi(e,t,n,r){let a=(t.childForFieldName("function")??t.namedChild(0))?.text.replace(/\s+/gu,"").replace(/<.*>$/u,"")??"",o=Xi(e,a);if(o.length!==1)return G(t,o.length===0?"call-target-unresolved":"call-target-ambiguous");let s=o[0],l=`${s.relativePath}\0${s.symbol}`;if(r.has(l))return G(t,"call-return-cycle");let c=D(e.db,s.relativePath)?.rootNode;if(!c)return G(t,"call-target-unparsed");let u=aa(c,s.startLine,s.endLine);if(!u)return G(t,"call-target-syntax-unavailable");let d=Qi(u);if(!d)return G(t,"call-return-not-single-expression");let p=new Set(r);p.add(l);let f=ue({db:e.db,file:s.relativePath,root:c},d,n+1,p);return f?We(t,"bounded-call-return",f,s.symbol):G(t,"call-return-unresolved")}function Xi(e,t){if(/^[A-Za-z_$][\w$]*$/u.test(t)){let i=N(e.db,e.file).filter(o=>o.isFunctionLike&&o.leaf===t);if(i.length>0)return i;let a=A(e.db,e.file).find(o=>o.localName===t&&o.sourcePath&&o.kind!=="namespace");return a?.sourcePath?Q(e.db,a.sourcePath,a.importedName==="default"?t:a.importedName).filter(o=>o.isFunctionLike):[]}let n=/^([A-Za-z_$][\w$]*)\.([A-Za-z_$][\w$]*)$/u.exec(t);if(!n)return[];let r=A(e.db,e.file).find(i=>i.kind==="namespace"&&i.localName===n[1]&&i.sourcePath);return r?.sourcePath?Q(e.db,r.sourcePath,n[2]).filter(i=>i.isFunctionLike):[]}function Qi(e){let t=e.childForFieldName("body");if(e.type==="arrow_function"&&t&&t.type!=="statement_block")return t;let n=[];return kn(t??e,t??e,n),n.length!==1?null:n[0].childForFieldName("argument")??n[0].namedChild(0)}function kn(e,t,n){if(!(t!==e&&(/(?:function|method|lambda)/u.test(t.type)||t.type==="arrow_function"))){if(t.type==="return_statement"){n.push(t);return}for(let r of t.namedChildren)kn(e,r,n)}}function Ji(e,t,n,r,i){let a=`${e.file}\0${t}`;if(i.has(a))return G(n,"value-cycle");i.add(a);let o=Rt(e.root,t);if(o){let m=ue(e,o,r+1,i);return m?We(n,"local-constant",m):G(n,"non-foldable-local")}let s=A(e.db,e.file).find(m=>m.localName===t&&m.sourcePath);if(!s?.sourcePath)return j(n,t,"unresolved-identifier");if(s.kind==="namespace")return j(n,t,"namespace-import-requires-property");let l=s.importedName==="default"?t:s.importedName,c=Q(e.db,s.sourcePath,l);if(c.length!==1)return j(n,t,c.length===0?"import-definition-missing":"import-definition-ambiguous");let u=c[0],d=D(e.db,u.relativePath)?.rootNode;if(!d)return j(n,u.symbol,"import-definition-unparsed");let p=Rt(d,u.leaf);if(!p)return j(n,u.symbol,"import-definition-non-value");let f=ue({db:e.db,file:u.relativePath,root:d},p,r+1,i);return f?We(n,"imported-constant",f,u.symbol):j(n,u.symbol,"import-value-unresolved")}function Yi(e,t,n,r,i,a){let o=A(e.db,e.file).find(f=>f.localName===t&&f.sourcePath),s=e.file,l=t,c;if(o?.sourcePath){o.kind==="namespace"?(l=n[0]??"",n=n.slice(1)):l=o.importedName==="default"?t:o.importedName;let f=Q(e.db,o.sourcePath,l);if(f.length!==1)return j(r,`${t}.${n.join(".")}`,f.length===0?"member-definition-missing":"member-definition-ambiguous");s=f[0].relativePath,l=f[0].leaf,c=f[0].symbol}let u=s===e.file?e.root:D(e.db,s)?.rootNode;if(!u)return j(r,c??t,"member-definition-unparsed");let d=Rt(u,l);if(!d)return j(r,c??t,"member-base-non-value");for(let f of n){let m=$n(d);if(d=ia(m,f),!d)return j(r,c??`${t}.${n.join(".")}`,`member-property-missing:${f}`)}let p=ue({db:e.db,file:s,root:u},d,i+1,a);return p?We(r,"member-constant",p,c):j(r,c??t,"member-value-unresolved")}function ea(e){let t=e.text.trim(),n=t[0];if(n!=="'"&&n!=='"'&&n!=="`"||t.at(-1)!==n)return null;let r=t.slice(1,-1);if(n!=="`"||!r.includes("${"))return{term:{kind:"literal",value:r},value:r,precision:"literal"};let i=[],a=0,o=/\$\{([^}]*)\}/gu;for(let s of r.matchAll(o)){let l=s.index??0;l>a&&i.push({kind:"literal",value:r.slice(a,l)}),i.push({kind:"unknown",reason:`template-hole:${s[1]?.trim()||"expression"}`}),a=l+s[0].length}return a<r.length&&i.push({kind:"literal",value:r.slice(a)}),{term:{kind:"pattern",language:"template",value:r.replace(o,"{}")},value:r.replace(o,"{}"),precision:"constrained-pattern"}}function ta(e,t,n,r,i){return{value:r,evidence:"literal",term:n,precision:i,derivation:Ke("direct-literal","direct",e,t)}}function na(e,t,n,r,i,a){return{value:r,evidence:"constant",term:n,precision:i,derivation:{...Ke("constant-concatenation","mechanically-derived",e,t),inputFactIds:a.flatMap(o=>o.derivation.inputFactIds),sourceSpans:a.flatMap(o=>o.derivation.sourceSpans)}}}function We(e,t,n,r){return n.evidence==="expression"?{...n,derivation:{kind:"heuristic",rule:t,ruleVersion:"1",inputFactIds:[...n.derivation.inputFactIds,...r?[r]:[]],sourceSpans:n.derivation.sourceSpans}}:{...n,evidence:"constant",derivation:{kind:"mechanically-derived",rule:t,ruleVersion:"1",inputFactIds:[...n.derivation.inputFactIds,...r?[r]:[]],sourceSpans:n.derivation.sourceSpans}}}function j(e,t,n){return{value:e.text.trim(),evidence:"expression",term:{kind:"symbol",symbol:t},precision:"symbolic",derivation:Ke(n,"heuristic","",e)}}function G(e,t){return{value:e.text.trim(),evidence:"expression",term:{kind:"unknown",reason:t},precision:"unknown",derivation:Ke(t,"heuristic","",e)}}function Ke(e,t,n,r){return{kind:t,rule:e,ruleVersion:"1",inputFactIds:[],sourceSpans:n?[{file:n,startLine:r.startPosition.row,endLine:r.endPosition.row}]:[]}}function ra(e){let t=e.text.replace(/\s+/gu,"");if(!/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)+$/u.test(t))return null;let[n,...r]=t.split(".");return n?{base:n,properties:r}:null}function Rt(e,t){let n=null;return It(e,r=>{if(n||r.type!=="variable_declarator"||(r.childForFieldName("name")??r.namedChild(0))?.text.trim()!==t)return;let a=r.parent;!a||a.type!=="lexical_declaration"||!/^\s*(?:export\s+)?const\b/u.test(a.text)||(n=r.childForFieldName("value")??r.namedChild(1))}),n}function ia(e,t){for(let n of e.namedChildren)if(!(n.type!=="pair"||(n.childForFieldName("key")??n.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"")!==t))return n.childForFieldName("value")??n.namedChild(1);return null}function $n(e){let t=e;for(;["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(t.type)&&t.namedChildren.length>0;)t=t.namedChildren[0];return t}function aa(e,t,n){let r=null;return It(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function It(e,t){t(e);for(let n of e.namedChildren)It(n,t)}var On=new Set(["delete","get","head","options","patch","post","put"]),sa=/(?:^|\.)(?:app|router|server)$/u,la=new Set(["findFirst","findMany","findUnique","from","get","select"]),ca=new Set(["create","delete","insert","remove","update","upsert"]),ua=new Set(["execute","query","raw"]),Nt=[ma(),fa(),da(),ya(),ha(),Sa(),va()],Ct=new Set(["exec","execFile","execFileSync","execSync","fork","spawn","spawnSync"]);function da(){return{id:"builtin.node-child-process",supports:e=>/(?:from\s*|require\s*\(\s*)['"](?:node:)?child_process['"]/u.test(e)&&/\b(?:exec|execFile|execFileSync|execSync|fork|spawn|spawnSync)\s*\(/u.test(e),extract:e=>{let t=pa(e.source),n=[];return q(e.root,r=>{if(r.type!=="call_expression")return;let i=Re(r);if(!i)return;let a=t.direct.get(i),o=/^(.*?)\.([A-Za-z_$][\w$]*)$/u.exec(i),s=o&&t.namespaces.has(o[1])?o[2]:null,l=a??s;if(!l||!Ct.has(l))return;let c=J(r),u=O(c[0],e)??{value:c[0]?.text.trim()||"<missing>",evidence:"expression"},d=["exec","execFile","execFileSync","execSync"].includes(l)?"process.exec":"process.spawn";n.push(T(e,r,"builtin.node-child-process",d,[{name:"operation",value:l,evidence:"literal"},{name:"executable",...u}],"exact","node-child-process-import"))}),n}}}function pa(e){let t=new Map,n=new Set,r=String.raw`['"](?:node:)?child_process['"]`,i=new RegExp(String.raw`\bimport\s*\{([^}]*)\}\s*from\s*${r}`,"gu");for(let l of e.matchAll(i))for(let c of(l[1]??"").split(",")){let u=/^\s*([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?\s*$/u.exec(c);u&&Ct.has(u[1])&&t.set(u[2]??u[1],u[1])}let a=new RegExp(String.raw`\b(?:const|let)\s*\{([^}]*)\}\s*=\s*require\s*\(\s*${r}\s*\)`,"gu");for(let l of e.matchAll(a))for(let c of(l[1]??"").split(",")){let u=/^\s*([A-Za-z_$][\w$]*)(?:\s*:\s*([A-Za-z_$][\w$]*))?\s*$/u.exec(c);u&&Ct.has(u[1])&&t.set(u[2]??u[1],u[1])}let o=new RegExp(String.raw`\bimport\s*\*\s*as\s*([A-Za-z_$][\w$]*)\s*from\s*${r}`,"gu");for(let l of e.matchAll(o))n.add(l[1]);let s=new RegExp(String.raw`\b(?:const|let)\s+([A-Za-z_$][\w$]*)\s*=\s*require\s*\(\s*${r}\s*\)`,"gu");for(let l of e.matchAll(s))n.add(l[1]);return{direct:t,namespaces:n}}function k(e,t){let n=D(e,t)?.rootNode;if(!n)return null;let r=L(e,t),i=N(e,t),a=U(e,t)?.callables??[];return{db:e,file:t,source:r,root:n,constants:Na(n),ownerAt:o=>{let s=i.filter(c=>c.startLine<=o&&c.endLine>=o).sort((c,u)=>c.endLine-c.startLine-(u.endLine-u.startLine)||c.startLine-u.startLine)[0];if(s)return{file:t,symbol:s.symbol,name:s.leaf,startLine:s.startLine,endLine:s.endLine};let l=a.filter(c=>c.startLine<=o&&c.endLine>=o).sort((c,u)=>c.endLine-c.startLine-(u.endLine-u.startLine)||c.startLine-u.startLine)[0];return{file:t,symbol:null,name:l?.name??null,startLine:l?.startLine??o,endLine:l?.endLine??o}}}}function fa(){return{id:"builtin.effect-httpapi",supports:e=>ve(e,"HttpApiEndpoint").size>0||ve(e,"HttpApiBuilder").size>0,extract:e=>{let t=[],n=ve(e.source,"HttpApiEndpoint"),r=ve(e.source,"HttpApiGroup"),i=ve(e.source,"HttpApiBuilder");return q(e.root,a=>{if(a.type!=="call_expression")return;let o=jn(a);if(!o)return;let s=J(a);if(n.has(o.receiver)&&On.has(o.member)){let g=O(s[0],e),b=O(s[1],e),h=Dn(a,r,"make",0,e);if(!g||!b||!h)return;let v=o.member.toUpperCase();t.push(T(e,a,"builtin.effect-httpapi","http.handle",[{name:"method",value:v,evidence:"literal"},{name:"path",...b}],H([{name:"path",...b}]),"effect-httpapi-endpoint-declaration")),t.push(T(e,a,"builtin.effect-httpapi","framework.declare",wt(h,g),H(wt(h,g)),"effect-httpapi-operation-declaration"));return}if(!["handle","handleRaw"].includes(o.member))return;let l=Dn(a,i,"group",1,e),c=O(s[0],e),u=s[1];if(!l||!c||!u)return;let d=wt(l,c),p=ce(e.db,e.file,u.text),f=T(e,a,"builtin.effect-httpapi","framework.handle",d,p.length===1?H(d):"candidate","effect-httpapi-handler-registration"),m=p[0];p.length===1&&m&&(f.owner={file:m.relativePath,symbol:m.symbol,name:m.leaf,startLine:m.startLine,endLine:m.endLine}),t.push(f)}),t}}}function wt(e,t){return[{name:"adapter",value:"effect-httpapi",evidence:"literal"},{name:"group",...e},{name:"operation",...t}]}function ve(e,t){let n=new Set,r=/\bimport\s*\{([\s\S]*?)\}\s*from\s*['"]([^'"]+)['"]/gu;for(let a of e.matchAll(r)){let o=a[2]??"";if(An(o))for(let s of(a[1]??"").split(",")){let l=s.trim().replace(/^type\s+/u,""),c=/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/u.exec(l);c?.[1]===t&&n.add(c[2]??c[1])}}let i=/\bimport\s*\*\s*as\s*([A-Za-z_$][\w$]*)\s*from\s*['"]([^'"]+)['"]/gu;for(let a of e.matchAll(i)){let o=a[2]??"";o.endsWith(`/${t}`)&&An(o)&&n.add(a[1])}return n}function An(e){return e==="effect/unstable/httpapi"||e==="@effect/platform"||e.startsWith("@effect/platform/HttpApi")}function Dn(e,t,n,r,i){let a=e.parent;for(;a;){if(a.type==="call_expression"){let o=Mn(a,t,n,r,i);if(o)return o;let s=a.childForFieldName("function")??a.namedChild(0),l=null;if(s&&q(s,c=>{!l&&c.type==="call_expression"&&(l=Mn(c,t,n,r,i))}),l)return l}a=a.parent}return null}function Mn(e,t,n,r,i){let a=jn(e);return!a||a.member!==n||!t.has(a.receiver)?null:O(J(e)[r],i)}function jn(e){let t=e.childForFieldName("function")??e.namedChild(0);if(!t||!["member_expression","subscript_expression"].includes(t.type))return null;let n=t.childForFieldName("object")??t.namedChild(0),r=t.childForFieldName("property")??t.childForFieldName("index")??t.namedChild(1);return!n||!r?null:{receiver:n.text.replace(/\s+/gu,""),member:r.text.replace(/^['"`]|['"`]$/gu,"")}}function ma(){return{id:"builtin.http",supports:e=>/\bfetch\s*\(|\baxios\b|\b(?:app|router|server)\s*\.\s*(?:get|post|put|patch|delete|options|head)\s*\(/u.test(e)||xe(e,["axios"])||/\b(?:FastAPI|Flask|APIRouter|axum|Router::new)\b/u.test(e),extract:e=>{let t=[];return q(e.root,n=>{if(n.type==="decorator"){let p=/^@[^\s(]+\.(get|post|put|patch|delete|options|head)\s*\(\s*(['"`])([^'"`]+)\2/iu.exec(n.text.trim());if(!p||!xe(e.source,["fastapi","flask"]))return;t.push(T(e,n,"builtin.http","http.handle",[{name:"method",value:p[1].toUpperCase(),evidence:"literal"},{name:"path",value:p[3],evidence:"literal"}],"exact","framework-decorator"));return}if(n.type!=="call_expression")return;let r=Re(n);if(!r)return;let i=r.split(".").at(-1)?.toLowerCase()??"",a=r.includes(".")?r.slice(0,r.lastIndexOf(".")):"",o=J(n);if(i==="route"&&xe(e.source,["axum"])){let p=O(o[0],e),f=/^\s*(get|post|put|patch|delete|options|head)\s*\(/iu.exec(o[1]?.text??"")?.[1];if(!p||!f)return;t.push(T(e,n,"builtin.http","http.handle",[{name:"method",value:f.toUpperCase(),evidence:"literal"},{name:"path",...p}],H([{name:"path",...p}]),"framework-adapter"));return}if(r==="fetch"||r.endsWith(".fetch")){let p=O(o[0],e);if(!p)return;let m=/\bmethod\s*:\s*['"`]([A-Za-z]+)['"`]/u.exec(o[1]?.text??"")?.[1]?.toUpperCase()??(o[1]?null:"GET"),g=[...m?[{name:"method",value:m,evidence:"literal"}]:[],{name:"path",...p}];t.push(T(e,n,"builtin.http","http.request",g,m?H(g):"candidate","call-expression"));return}if(!On.has(i))return;let s=O(o[0],e);if(!s)return;let l=i.toUpperCase();if(sa.test(a)&&xe(e.source,["express","fastify","hono","koa-router","@koa/router"])){t.push(T(e,n,"builtin.http","http.handle",[{name:"method",value:l,evidence:"literal"},{name:"path",...s}],H([{name:"path",...s}]),"framework-adapter"));return}let u=Ia(e.source,["axios"]),d=a.split(".")[0]??"";u.has(d)&&t.push(T(e,n,"builtin.http","http.request",[{name:"method",value:l,evidence:"literal"},{name:"path",...s}],H([{name:"path",...s}]),"client-adapter"))}),t}}}function ya(){return{id:"builtin.capability-registry",supports:e=>/\b(?:execute|handler|invoke|run)\s*(?:[:(])/u.test(e)||/['"`][^'"`\n]{0,256}\b[A-Za-z_$][\w$-]*\s*\(/u.test(e),extract:e=>{let t=[],n=new Set;return q(e.root,r=>{if(r.type==="pair"){let a=r.childForFieldName("key")??r.namedChild(0),o=r.childForFieldName("value")??r.namedChild(1),s=a?.text.replace(/^['"`]|['"`]$/gu,"");if(s!=="name"&&s!=="id")return;let l=Vn(o,e),c=Ea(r);if(!l||l.evidence!=="literal"||!c)return;let u=`handle\0${l.value}\0${c.startPosition.row}`;if(n.has(u))return;n.add(u),t.push(T(e,c,"builtin.capability-registry","registry.handle",[{name:"key",...l}],"exact","capability-descriptor"));return}if(!["string","string_literal","template_string"].includes(r.type))return;let i=r.text.replace(/^['"`]|['"`]$/gu,"");for(let a of i.matchAll(/\b([A-Za-z_$][\w$-]*)\s*\(/gu)){let o=a[1];if(!ga(i,o,a.index))continue;let s=`reference\0${o}\0${r.startPosition.row}`;n.has(s)||(n.add(s),t.push(T(e,r,"builtin.capability-registry","registry.reference",[{name:"key",value:o,evidence:"literal"}],"exact","capability-instruction-reference")))}}),t}}}function ga(e,t,n){if(t.includes("_")||t.includes("-"))return!0;let r=e.slice(Math.max(0,n-64),n);return/\b(?:use|call|invoke|run|via|with|read|stop)(?:\s+the)?(?:\s+(?:tool|capability|command))?\s*$/iu.test(r)}function ha(){return{id:"builtin.registry",supports:e=>/(?:Handlers?|Registry|Routes?)\b/iu.test(e),extract:e=>{let t=[];return q(e.root,n=>{if(n.type==="pair"){let a=Fa(n);if(!a)return;let o=n.childForFieldName("key")??n.namedChild(0),s=n.childForFieldName("value")??n.namedChild(1),l=Vn(o,e);if(!l||!s||!qn(s))return;let c=Ft(s)?"exact":"candidate";t.push(T(e,n,"builtin.registry","registry.handle",[{name:"registry",value:a,evidence:"identifier"},{name:"key",...l}],H([{name:"key",...l}],c),"object-member"));return}if(n.type!=="call_expression")return;let r=n.childForFieldName("function")??n.namedChild(0);if(!r)return;let i=/^([A-Za-z_$][\w$]*)\s*\[\s*(['"`])([^'"`]+)\2\s*\]$/u.exec(r.text.trim());i&&t.push(T(e,n,"builtin.registry","registry.dispatch",[{name:"registry",value:i[1],evidence:"identifier"},{name:"key",value:i[3],evidence:"literal"}],"exact","indexed-access-call"))}),t}}}function Sa(){return{id:"builtin.persistence",supports:e=>/\b(?:db|database|prisma|drizzle|[A-Za-z_$][\w$]*(?:Repository|Repo))\b[^;]{0,1024}?\.\s*(?:findFirst|findMany|findUnique|from|get|select|create|delete|insert|remove|update|upsert|execute|query|raw|transaction)(?:\s*<[^()]{1,512}>)?\s*\(/iu.test(e),extract:e=>{let t=[],n=_a(e.root);return q(e.root,r=>{if(r.type!=="call_expression")return;let i=Re(r);if(!i)return;let a=i.split("."),o=a.at(-1)??"",s=J(r),l=s[0]?.text??"",c=Pa(o,l);if(!c)return;let u=Gn(a,n);if(!u)return;let d=ba(s[0],e)??La(l),p=Ba(u,a,o,d);if(!p)return;let f=o==="insert"?"persistence-insert":c==="database.read"&&/\bFOR\s+UPDATE\s+SKIP\s+LOCKED\b/iu.test(l)?"persistence-skip-locked-claim":"persistence-adapter";t.push(T(e,r,"builtin.persistence",c,[{name:"resource",...p}],H([{name:"resource",...p}]),f))}),t}}}function ba(e,t){if(!e)return null;let n=e.text.replace(/\s+/gu,"");return/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*$/u.test(n)?{value:n.split(".").at(-1),evidence:"identifier",term:{kind:"symbol",symbol:n}}:O(e,t)}function va(){return{id:"builtin.queue",supports:e=>xe(e,["amqplib","bullmq","kafkajs","@aws-sdk/client-sqs","rabbitmq"])&&/\.(?:sendToQueue|consume|send|subscribe)\s*\(/u.test(e),extract:e=>{let t=[];return q(e.root,n=>{if(n.type!=="call_expression")return;let r=Re(n);if(!r)return;let i=r.split(".").at(-1)??"",a=J(n),o=i==="sendToQueue"||i==="send"?"queue.send":i==="consume"||i==="subscribe"?"queue.consume":null;if(!o)return;let s=i==="send"||i==="subscribe"?wa(a[0],"topic",e):O(a[0],e);s&&t.push(T(e,n,"builtin.queue",o,[{name:"address",...s}],H([{name:"address",...s}]),"framework-adapter"))}),t}}}function T(e,t,n,r,i,a,o){let s=e.ownerAt(t.startPosition.row),l=JSON.stringify({extractor:n,action:r,file:e.file,line:t.startPosition.row,keyParts:i});return{id:`boundary:${oa("sha256").update(l).digest("hex").slice(0,16)}`,extractor:n,action:r,owner:s,source:{file:e.file,startLine:t.startPosition.row,endLine:t.endPosition.row},keyParts:i,evidence:o,strength:a,protocol:r.split(".")[0]??r,role:xa(r),executionDomain:Ra(e.file),derivation:{kind:a==="candidate"?"heuristic":a==="derived"?"mechanically-derived":"direct",rule:o,ruleVersion:"1",inputFactIds:i.flatMap(c=>c.derivation?.inputFactIds??[]),sourceSpans:[{file:e.file,startLine:t.startPosition.row,endLine:t.endPosition.row},...i.flatMap(c=>c.derivation?.sourceSpans??[])]},valuePrecision:i.some(c=>c.evidence==="expression")?"unknown":i.some(c=>c.evidence==="identifier")?"symbolic":"literal",modality:"may",resolution:"unresolved",sourceScope:ze(e.file)}}function xa(e){let t=e.split(".").at(-1)??e;return["handle","subscribe","consume","read"].includes(t)?"consumer":["request","publish","send","write","dispatch","reference","invoke","spawn","exec"].includes(t)?"producer":"observe"}function Ra(e){let t=e.replaceAll("\\","/"),n=/^(apps|services|packages)\/([^/]+)/u.exec(t);return n?`${n[1]}/${n[2]}`:null}function xe(e,t){return t.some(n=>{let r=n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");return new RegExp(`(?:\\bfrom\\s+${r}\\b|\\buse\\s+${r}\\b|(?:\\bfrom\\s*|\\brequire\\s*\\(\\s*)['"]${r}(?:[/']|"))`,"u").test(e)})}function Ia(e,t){let n=new Set;for(let r of t){let i=r.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),a=new RegExp(`(?:import\\s+([A-Za-z_$][\\w$]*)[^;]*?\\sfrom\\s*|(?:const|let)\\s+([A-Za-z_$][\\w$]*)\\s*=\\s*require\\s*\\(\\s*)['"]${i}(?:[/']|")`,"gu");for(let o of e.matchAll(a)){let s=o[1]??o[2];s&&n.add(s)}}return n}function Ze(e,t,n,r,i,a,o){return T(e,t,n,r,i,a,o)}function Re(e){return(e.childForFieldName("function")??e.namedChild(0))?.text.replace(/\s+/gu,"")??null}function J(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function O(e,t){let n=V(t,e);return n?{value:n.value,evidence:n.evidence,term:n.term,derivation:n.derivation}:null}function wa(e,t,n){if(!e)return null;let r=e.namedChildren.find(a=>a.type!=="pair"?!1:(a.childForFieldName("key")??a.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"")===t),i=r?.childForFieldName("value")??r?.namedChild(1);return O(i,n)}function Vn(e,t){if(!e)return null;let n=O(e,t);if(n?.evidence==="literal"||n?.evidence==="constant")return n;let r=e.text.trim();return/^[A-Za-z_$][\w$]*$/u.test(r)?{value:r,evidence:"identifier",term:{kind:"symbol",symbol:r}}:n}function H(e,t="exact"){return t==="candidate"||e.some(n=>n.evidence==="expression")?"candidate":t==="derived"||e.some(n=>n.evidence==="constant")?"derived":"exact"}function Ca(e){let t=e.text.trim(),n=t[0];if(n!=="'"&&n!=='"'&&n!=="`"||t.at(-1)!==n)return null;let r=t.slice(1,-1);return n==="`"&&r.includes("${")?null:r}function Na(e){let t=new Map;return q(e,n=>{if(n.type!=="variable_declarator")return;let r=n.childForFieldName("name")??n.namedChild(0),i=n.childForFieldName("value")??n.namedChild(1);if(!r||!i||!/^[A-Za-z_$][\w$]*$/u.test(r.text))return;let a=Ca(i);a!==null&&t.set(r.text,a)}),t}function Fa(e){let t=e.parent,n=t?.parent??null;for(;n&&["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(n.type);)n=n.parent;if(!t||!n||n.type!=="variable_declarator")return null;let i=(n.childForFieldName("name")??n.namedChild(0))?.text??"";return/(?:handlers?|registry|routes?)$/iu.test(i)?i:null}function Ft(e){return/(?:function|lambda|method)/u.test(e.type)||e.type==="arrow_function"}function qn(e){return Ft(e)||e.type==="member_expression"?!0:e.type==="identifier"&&/(?:command|controller|dispatch|handle|handler)/iu.test(e.text)}function Ea(e){let t=e.parent;for(;t&&t.type!=="variable_declarator";){if(["object","object_literal","dictionary"].includes(t.type))for(let n of t.namedChildren){if(n.type==="pair"){let i=n.childForFieldName("key")??n.namedChild(0),a=n.childForFieldName("value")??n.namedChild(1),o=i?.text.replace(/^['"`]|['"`]$/gu,"");if(o&&["execute","handler","invoke","run"].includes(o)&&a&&qn(a))return t}let r=n.childForFieldName("name")??n.namedChild(0);if(r&&["execute","handler","invoke","run"].includes(r.text.replace(/^['"`]|['"`]$/gu,""))&&/(?:function|method)/u.test(n.type))return t}t=t.parent}return null}function Gn(e,t=new Set){let n=e.slice(0,-1).map(r=>r.replace(/\([^)]*\)/gu,""));return n.some(r=>/^(?:prisma|drizzle)$/iu.test(r))?"orm":n.some(r=>/(?:Repository|Repo)$/u.test(r))?"repository":n.some(r=>/^(?:db|database)$/iu.test(r)||t.has(r))?"database":null}function Pa(e,t){if(la.has(e))return"database.read";if(ca.has(e))return"database.write";if(!ua.has(e))return null;let n=/\b(SELECT|INSERT|UPDATE|DELETE)\b/iu.exec(t)?.[1]?.toUpperCase();return n==="SELECT"?"database.read":n?"database.write":null}function _a(e){let t=new Set;return q(e,n=>{if(n.type!=="call_expression")return;let r=Re(n);if(!r)return;let i=r.split(".");if(!(i.at(-1)!=="transaction"||!Gn(i)))for(let a of J(n)){if(!Ft(a))continue;let s=(a.childForFieldName("parameters")??a.namedChildren.find(c=>/parameters/u.test(c.type)))?.namedChildren[0],l=s?Hn(s):null;l&&t.add(l)}}),t}function Hn(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?Hn(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function La(e){let t=zn(e);return t?{value:t,evidence:"identifier",term:{kind:"symbol",symbol:t}}:null}function Ba(e,t,n,r){if(e==="orm"&&t.length>=3)return{value:t.at(-2).replace(/\([^)]*\)/gu,""),evidence:"identifier"};if(e==="repository"){let a=t.at(-2)?.replace(/(?:Repository|Repo)$/u,"");return a?{value:a,evidence:"identifier"}:null}if(!r)return null;if(n==="from"||n==="insert")return r;let i=zn(r.value);return i?{value:i,evidence:r.evidence}:null}function zn(e){return/\b(?:from|into|update|table)\s+(?:\$\{\s*)?['"`]?([A-Za-z_$][\w$.-]*)/iu.exec(e)?.[1]??null}function q(e,t){t(e);for(let n of e.namedChildren)q(n,t)}var Ta=$("resolved-call-syntax",{clearGroups:[]}),ka=$("resolved-call-sites",{clearGroups:[]});function Ie(e,t){return ka.get(e,t.symbolId,()=>$a(e,t))}function $a(e,t){let n=[],r=[],i=new Set,a=new Set;for(let o of gt(e,t,{semantic:!1})){i.add(o.file);let s=Ta.get(e,o.file,()=>Aa(e,o.file));if(!s){r.push({callee:t,file:o.file,line:o.line,reason:"ast-unavailable",candidates:0,referenceProvenance:o.provenance});continue}let l=(s.byLeaf.get(t.leaf)??[]).filter(({callNode:d})=>d.startPosition.row<=o.line&&d.endPosition.row>=o.line);if(l.length!==1){r.push({callee:t,file:o.file,line:o.line,reason:l.length===0?"call-not-found":"ambiguous-call",candidates:l.length,referenceProvenance:o.provenance});continue}let c=l[0],u=`${o.file}\0${c.callNode.startIndex}\0${c.callNode.endIndex}`;a.has(u)||(a.add(u),n.push({callee:t,caller:ae(N(e,o.file),c.callNode.startPosition.row),file:o.file,line:o.line,startLine:c.callNode.startPosition.row,endLine:c.callNode.endPosition.row,targetText:c.targetNode.text,callNode:c.callNode,targetNode:c.targetNode,arguments:c.arguments,referenceProvenance:o.provenance}))}return{sites:n,unresolved:r,filesVisited:i.size}}function Aa(e,t){let n=D(e,t)?.rootNode;if(!n)return null;let r=new Map;return Un(n,i=>{if(i.type!=="call_expression"&&i.type!=="call")return;let a=i.childForFieldName("function")??i.namedChild(0);if(!a)return;let o=nn(a);if(!o)return;let s=i.childForFieldName("arguments")??i.namedChildren.find(u=>u.type==="arguments"),l={callNode:i,targetNode:a,arguments:s?.namedChildren??[]},c=r.get(o);c?c.push(l):r.set(o,[l])}),{byLeaf:r}}function Un(e,t){t(e);for(let n of e.namedChildren)Un(n,t)}var Da=$("call-parameter-value-flow",{clearGroups:[]});function we(e,t){let n=`${t.callee.symbolId}\0${t.file}\0${t.callNode.startIndex}\0${t.callNode.endIndex}`;return Da.get(e,n,()=>Ma(e,t))}function Ce(e,t){let n=new Set(t);return[...new Set(e.transfers.flatMap(r=>n.has(r.calleePosition)?[r.callerPosition]:[]))].sort((r,i)=>r-i)}function Ma(e,t){let n={file:t.file,startLine:t.startLine,endLine:t.endLine};if(!t.caller)return{callee:t.callee,caller:null,call:n,transfers:[],unknown:t.arguments.map((l,c)=>({calleePosition:c,argumentText:l.text.trim(),reason:"caller-unavailable",proof:n}))};let r=D(e,t.caller.relativePath)?.rootNode,i=r?Oa(r,t.caller.startLine,t.caller.endLine):null;if(!i)return{callee:t.callee,caller:t.caller,call:n,transfers:[],unknown:t.arguments.map((l,c)=>({calleePosition:c,argumentText:l.text.trim(),reason:"caller-syntax-unavailable",proof:n}))};let a=ja(i),o=[],s=[];return t.arguments.forEach((l,c)=>{let u=l.text.trim(),d=a.indexOf(u);d>=0?o.push({calleePosition:c,callerPosition:d,argumentText:u,proof:n}):s.push({calleePosition:c,argumentText:u,reason:"argument-not-direct-parameter",proof:n})}),{callee:t.callee,caller:t.caller,call:n,transfers:o,unknown:s}}function Oa(e,t,n){let r=null;return Kn(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function ja(e){return(e.childForFieldName("parameters")??e.namedChildren.find(n=>/parameters/u.test(n.type)))?.namedChildren.map(Wn)??[]}function Wn(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?Wn(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function Kn(e,t){t(e);for(let n of e.namedChildren)Kn(n,t)}var Va=8,qa=8;function Xn(e,t){let n=[],r=Ga(e,n),i=r.summaries,a=Ha(e,t,i,n),o=za(e,t,n);return{observations:no([...a.observations,...o]),bodySummaries:i.size,discriminatorSummaries:a.summaries,filesInspected:r.filesInspected,errors:n}}function Ga(e,t){let n=new Map,r=[],i=z(e);for(let a of i){let o=L(e,a);if(!/\bJSON\.stringify\s*\(/u.test(o)||!/\bbody\s*:/u.test(o))continue;let s=k(e,a);if(s)for(let[l,c]of Ua(s)){let u={definition:l,parameterIndexes:c,depth:0,proofSpans:[{file:a,startLine:l.startLine,endLine:l.endLine}]};n.set(l.symbol,u),r.push(u)}}for(;r.length>0;){let a=r.shift();if(!(a.depth>=Va))try{for(let o of Ie(e,a.definition).sites){if(!k(e,o.file))continue;let l=o.caller;if(!l)continue;let c=Ce(we(e,o),a.parameterIndexes);if(c.length===0)continue;let u={definition:l,parameterIndexes:rr(c),depth:a.depth+1,proofSpans:[...a.proofSpans,{file:o.file,startLine:o.startLine,endLine:o.endLine}]};Xa(n,u)&&r.push(n.get(l.symbol))}}catch(o){t.push(`builtin.carrier body summary failed for ${a.definition.relativePath}: ${Lt(o)}`)}}return{summaries:n,filesInspected:i.length}}function Ha(e,t,n,r){let i=new Map,a=[],o=[];for(let s of t){if(s.action!=="http.request"||s.strength==="candidate"||s.sourceScope!=="production")continue;let l=Qn(s);if(!l)continue;let c=k(e,s.source.file);if(!c)continue;let u=er(c.root,s.source.startLine),d=u.find(v=>v.startPosition.row===s.source.startLine)??u[0];if(!d)continue;let p=_t(d);if(!p)continue;let f=ce(e,s.source.file,p.text);if(f.length!==1)continue;let m=n.get(f[0].symbol);if(!m)continue;let g=s.owner.symbol?N(e,s.owner.file).find(v=>v.symbol===s.owner.symbol):null;if(!g)continue;let b=Qa(c,g),h=Qe(d);for(let v of m.parameterIndexes){let F=Ya(c,h[v]);if(F)for(let x of eo(F)){let w=tr(x),y=nr(x);if(!w||!y)continue;let R=b.indexOf(y.text.trim());if(R>=0){let E={definition:g,carrier:l,field:w,parameterIndex:R,depth:0,proofObservationIds:[s.id],proofSpans:[s.source,{file:s.source.file,startLine:x.startPosition.row,endLine:x.endPosition.row}]},_=Zn(E);i.has(_)||(i.set(_,E),a.push(E));continue}let I=V(c,y);!I||I.evidence==="expression"||o.push(Pt(c,x,"carrier.publish",l,w,I.value,[s.id]))}}}for(;a.length>0;){let s=a.shift();if(!(s.depth>=qa))try{for(let l of Ie(e,s.definition).sites){let c=k(e,l.file);if(!c)continue;let u=l.callNode,d=Qe(u)[s.parameterIndex];if(!d)continue;let p=V(c,d);p&&p.evidence!=="expression"&&o.push(Pt(c,u,"carrier.publish",s.carrier,s.field,p.value,s.proofObservationIds));let f=l.caller;if(!f)continue;let m=we(e,l).transfers.find(h=>h.calleePosition===s.parameterIndex)?.callerPosition;if(m===void 0)continue;let g={...s,definition:f,parameterIndex:m,depth:s.depth+1,proofSpans:[...s.proofSpans,{file:l.file,startLine:l.startLine,endLine:l.endLine}]},b=Zn(g);i.has(b)||(i.set(b,g),a.push(g))}}catch(l){r.push(`builtin.carrier discriminator summary failed for ${s.definition.relativePath}: ${Lt(l)}`)}}return{observations:o,summaries:i.size}}function za(e,t,n){let r=[],i=t.filter(a=>a.action==="registry.handle"&&a.strength!=="candidate"&&a.sourceScope==="production");for(let a of t){if(a.action!=="http.handle"||a.strength==="candidate"||a.sourceScope!=="production")continue;let o=Qn(a);if(!o)continue;let s=k(e,a.source.file);if(!s)continue;let l=er(s.root,a.source.startLine)[0];if(l)for(let c of Qe(l).slice(1)){let u=ce(e,a.source.file,c.text);for(let d of u)try{let p=k(e,d.relativePath);if(!p)continue;let f=Xe(p.root,d.startLine,d.endLine);if(!f)continue;K(f,m=>{if(m.type!=="call_expression")return;let g=_t(m);if(!g)return;let b=/^([A-Za-z_$][\w$]*)\s*\[\s*([A-Za-z_$][\w$]*)\s*\]$/u.exec(g.text.trim());if(!b)return;let h=b[1],v=b[2],F=Ka(e,p,d,v);if(!F)return;let x=Za(e,d.relativePath,h);for(let w of i){let y=w.keyParts.find(_=>_.name==="registry")?.value,R=w.keyParts.find(_=>_.name==="key")?.value;if(!y||!R||!x.some(_=>_.file===w.source.file&&_.binding===y))continue;let I=k(e,w.source.file),E=I?Ja(I.root,w.source.startLine):null;!I||!E||r.push(Pt(I,E,"carrier.consume",o,F,R,[a.id,w.id]))}})}catch(p){n.push(`builtin.carrier consumer analysis failed for ${d.relativePath}: ${Lt(p)}`)}}}return r}function Ua(e){let t=N(e.db,e.file),n=new Map;return K(e.root,r=>{if(r.type!=="pair"||tr(r)?.toLowerCase()!=="body")return;let i=nr(r);if(!i||!/\bJSON\.stringify\s*\(/u.test(i.text))return;let a=ae(t,r.startPosition.row),o=Wa(r);if(!a||!o)return;let s=Jn(o),l=new Set;to(i,s,l);let c=n.get(a.symbol)??new Set;s.forEach((u,d)=>{u&&l.has(u)&&c.add(d)}),c.size>0&&n.set(a.symbol,c)}),t.flatMap(r=>{let i=n.get(r.symbol);return i?[[r,[...i].sort((a,o)=>a-o)]]:[]})}function Wa(e){let t=e.parent;for(;t;){if(/(?:function|method|lambda)/u.test(t.type)||t.type==="arrow_function")return t;t=t.parent}return null}function Ka(e,t,n,r){let i=Xe(t.root,n.startLine,n.endLine);if(!i)return null;let a=new RegExp(`\\.body\\??\\.${Et(r)}\\b`,"u");if(a.test(i.text))return r;let o=null;if(K(i,u=>{if(o||u.type!=="variable_declarator")return;let d=u.childForFieldName("name")??u.namedChild(0),p=u.childForFieldName("value")??u.namedChild(1);!d||!p||!new RegExp(`(?:^|[,{}])\\s*${Et(r)}\\s*(?:[,}]|$)`,"u").test(d.text)||p.type==="call_expression"&&(o=_t(p)?.text??null)}),!o)return null;let s=ce(e,n.relativePath,o);if(s.length!==1)return null;let l=k(e,s[0].relativePath),c=l?Xe(l.root,s[0].startLine,s[0].endLine):null;return c&&a.test(c.text)&&new RegExp(`\\b${Et(r)}\\s*[,}]`,"u").test(c.text)?r:null}function Za(e,t,n){let r=[];for(let i of vt(e,t,n)){let a=Ne(i.initializer);if(a.type==="call_expression")for(let o of Qe(a)){let s=o.text.trim();if(/^[A-Za-z_$][\w$]*$/u.test(s))for(let l of vt(e,i.definition.relativePath,s))r.push({file:l.definition.relativePath,binding:l.definition.leaf})}}return[...new Map(r.map(i=>[`${i.file}\0${i.binding}`,i])).values()]}function Pt(e,t,n,r,i,a,o){let l=Ze(e,t,"builtin.carrier",n,[{name:"carrier",value:r,evidence:"constant",term:{kind:"literal",value:r}},{name:"field",value:i,evidence:"literal",term:{kind:"literal",value:i}},{name:"value",value:a,evidence:"constant",term:{kind:"literal",value:a}}],"derived","http-body-registry-discriminator");return l.derivation={kind:"mechanically-derived",rule:"http-body-registry-discriminator",ruleVersion:"1",inputFactIds:[...o],sourceSpans:[l.source]},l}function Qn(e){let t=e.keyParts.find(r=>r.name==="method"&&r.evidence!=="expression")?.value,n=e.keyParts.find(r=>r.name==="path"&&r.evidence!=="expression")?.value;return t&&n?`${t.toUpperCase()} ${n}`:null}function Xa(e,t){let n=e.get(t.definition.symbol);if(!n)return e.set(t.definition.symbol,t),!0;let r=rr([...n.parameterIndexes,...t.parameterIndexes]);return r.length===n.parameterIndexes.length&&t.depth>=n.depth?!1:(e.set(t.definition.symbol,{...n,parameterIndexes:r,depth:Math.min(n.depth,t.depth),proofSpans:[...n.proofSpans,...t.proofSpans]}),!0)}function Zn(e){return`${e.definition.symbol}\0${e.carrier}\0${e.field}\0${e.parameterIndex}`}function Qa(e,t){let n=Xe(e.root,t.startLine,t.endLine);return n?Jn(n):[]}function Jn(e){return(e.childForFieldName("parameters")??e.namedChildren.find(n=>/parameters/u.test(n.type)))?.namedChildren.map(Yn)??[]}function Yn(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?Yn(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function Xe(e,t,n){let r=null;return K(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function Ja(e,t){let n=null;return K(e,r=>{r.startPosition.row>t||r.endPosition.row<t||(!n||r.endIndex-r.startIndex<n.endIndex-n.startIndex)&&(n=r)}),n}function er(e,t){let n=[];return K(e,r=>{r.type==="call_expression"&&r.startPosition.row<=t&&r.endPosition.row>=t&&n.push(r)}),n.sort((r,i)=>r.endIndex-r.startIndex-(i.endIndex-i.startIndex))}function _t(e){return e.childForFieldName("function")??e.namedChild(0)}function Qe(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function Ya(e,t){if(!t)return null;let n=t.text.trim();if(!/^[A-Za-z_$][\w$]*$/u.test(n))return Ne(t);let r=null;return K(e.root,i=>{r||i.type!=="variable_declarator"||(i.childForFieldName("name")??i.namedChild(0))?.text.trim()!==n||(r=i.childForFieldName("value")??i.namedChild(1))}),Ne(r||t)}function eo(e){let t=Ne(e);return t.type==="object"?t.namedChildren.filter(n=>n.type==="pair"||n.type==="shorthand_property_identifier"):[]}function tr(e){return e.type==="shorthand_property_identifier"?e.text:(e.childForFieldName("key")??e.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"")??null}function nr(e){return e.type==="shorthand_property_identifier"?e:e.childForFieldName("value")??e.namedChild(1)}function Ne(e){let t=e;for(;["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(t.type)&&t.namedChildren.length>0;)t=t.namedChildren[0];return t}function to(e,t,n){let r=new Set(e.text.match(/[A-Za-z_$][\w$]*/gu)??[]);for(let i of t)i&&r.has(i)&&n.add(i)}function rr(e){return[...new Set(e)].sort((t,n)=>t-n)}function no(e){return[...new Map(e.map(t=>[t.id,t])).values()]}function Et(e){return e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}function Lt(e){return e instanceof Error?e.message:String(e)}function K(e,t){t(e);for(let n of e.namedChildren)K(n,t)}import{createHash as ro}from"crypto";function ir(e,t){let n=new Map;for(let a of t){if(a.action!=="http.handle"||a.sourceScope!=="production")continue;let o=n.get(a.source.file)??[];o.push(a),n.set(a.source.file,o)}let r=[],i=io(e);for(let a of i.mounts)for(let o of a.targetFiles)for(let s of n.get(o)??[]){let l=s.keyParts.find(p=>p.name==="path");if(!l||l.evidence==="expression")continue;let c=oo(a.prefix.value,l.value),u=s.keyParts.map(p=>p.name==="path"?{name:"path",value:c,evidence:"constant",term:{kind:"concat",parts:[a.prefix.term??{kind:"literal",value:a.prefix.value},l.term??{kind:"literal",value:l.value}]},derivation:{kind:"mechanically-derived",rule:"http.mount-prefix",ruleVersion:"1",inputFactIds:[s.id],sourceSpans:[s.source,{file:a.file,startLine:a.line,endLine:a.line},...a.prefix.derivation?.sourceSpans??[],...l.derivation?.sourceSpans??[]]}}:p),d=`${s.id}\0${a.file}\0${a.line}\0${c}`;r.push({...s,id:`boundary:${ro("sha256").update(d).digest("hex").slice(0,16)}`,keyParts:u,strength:"derived",evidence:"framework-mount-composition",derivation:{kind:"mechanically-derived",rule:"http.mount-prefix",ruleVersion:"1",inputFactIds:[s.id],sourceSpans:[s.source,{file:a.file,startLine:a.line,endLine:a.line}]},resolution:"unresolved"}),s.strength="candidate",s.resolution="unresolved"}return{observations:r,filesInspected:i.filesInspected,mounts:i.mounts.length}}function io(e){let t=[],n=z(e);for(let r of n){let i=L(e,r);if(!so(i))continue;let a=k(e,r);a&&ar(a.root,o=>{if(o.type!=="call_expression")return;let s=o.childForFieldName("function")??o.namedChild(0);if(!s||!/\.use$/u.test(s.text.replace(/\s+/gu,"")))return;let l=lo(o);if(l.length<2)return;let c=V(a,l[0]);if(!c||c.evidence==="expression")return;let u=ao(e,r,l[1]);u.length!==0&&t.push({file:r,line:o.startPosition.row,prefix:{value:c.value,evidence:c.evidence,term:c.term,derivation:c.derivation},targetFiles:u})})}return{mounts:t,filesInspected:n.length}}function ao(e,t,n){let r=n.text.replace(/\s+/gu,""),i=/^([A-Za-z_$][\w$]*)/u.exec(r)?.[1];if(!i)return[];let a=A(e,t).find(l=>l.localName===i&&l.sourcePath);if(!a?.sourcePath)return[t];if(a.kind==="namespace")return[a.sourcePath];let o=a.importedName==="default"?i:a.importedName,s=Q(e,a.sourcePath,o);return[...new Set(s.map(l=>l.relativePath))]}function oo(e,t){let n=e==="/"?"":e.replace(/\/+$/u,""),r=t.startsWith("/")?t:`/${t}`;return`${n}${r}`||"/"}function so(e){return/(?:\bfrom\s*|\brequire\s*\(\s*)['"](?:express|fastify|hono|koa-router|@koa\/router)(?:[/']|")/u.test(e)}function lo(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function ar(e,t){t(e);for(let n of e.namedChildren)ar(n,t)}import{createHash as co}from"crypto";var Bt=new Set(["DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT"]),uo=8;function lr(e,t){let n=new Map,r=[],i=[],a=new Set,o=[],s=[];for(let l of t){if(l.action!=="http.request"||!l.owner.symbol||l.evidence!=="call-expression"&&l.evidence!=="client-adapter")continue;let c=N(e,l.owner.file).find(f=>f.symbol===l.owner.symbol);if(!c)continue;let u=k(e,c.relativePath);if(!u)continue;let d=or(u,c),p={definition:c,...d,constantMethods:l.keyParts.flatMap(f=>f.name==="method"&&f.evidence!=="expression"&&Bt.has(f.value.toUpperCase())?[f.value.toUpperCase()]:[]),depth:0,proofObservationIds:[l.id],proofSpans:[l.source]};sr(n,p)&&r.push(n.get(c.symbol))}for(;r.length>0;){let l=r.shift();if(!(l.depth>=uo))try{let c=Ie(e,l.definition);s.push(...c.unresolved.map(u=>po(l,u)));for(let u of c.sites){let d=k(e,u.file);if(!d)continue;a.add(u.file);let p=u.callNode,f=mo(l,p,d);f&&i.push(f);let m=u.caller;if(!m)continue;let g=or(d,m),b=yo(e,l,u),h={definition:m,pathParameterIndexes:Je([...g.pathParameterIndexes,...b.pathParameterIndexes]),methodParameterIndexes:Je([...g.methodParameterIndexes,...b.methodParameterIndexes]),constantMethods:de([...l.constantMethods,...g.constantMethods]),depth:l.depth+1,proofObservationIds:de([...l.proofObservationIds,...f?[f.id]:[]]),proofSpans:[...l.proofSpans,{file:u.file,startLine:u.startLine,endLine:u.endLine}]};sr(n,h)&&r.push(n.get(m.symbol))}}catch(c){o.push(`builtin.http-summary failed for ${l.definition.relativePath}:${l.definition.startLine+1}: ${c instanceof Error?c.message:String(c)}`)}}return{observations:i,frontiers:fo(s),summaries:n.size,filesInspected:a.size,errors:o}}function po(e,t){let n=de([...e.pathParameterIndexes.length>0?["path"]:[],...e.methodParameterIndexes.length>0&&e.constantMethods.length!==1?["method"]:[]]),r=e.constantMethods.length===1?e.constantMethods[0]:"?",i=`${e.definition.symbol}\0${t.file}\0${t.line}\0${t.reason}`;return{observationId:`frontier:${co("sha256").update(i).digest("hex").slice(0,16)}`,kind:"call-resolution",action:"http.request",strength:"candidate",source:{file:t.file,startLine:t.line,endLine:t.line},ownerShortName:null,address:`method=${r??"?"} path=?`,reason:`Compiler identity found a reference to ${e.definition.leaf}, but exact call recovery stopped with ${t.reason} (${t.candidates} syntax candidate(s)); HTTP value propagation did not cross this site.`,missingKeyParts:n.length>0?n:["call"],sourceScope:ze(t.file)}}function fo(e){return[...new Map(e.map(t=>[t.observationId,t])).values()].sort((t,n)=>t.observationId.localeCompare(n.observationId))}function mo(e,t,n){let r=ur(t),i=e.pathParameterIndexes.flatMap(d=>{let p=V(n,r[d]);return p&&p.evidence!=="expression"&&bo(p.value)?[{index:d,value:p}]:[]}),a=e.methodParameterIndexes.flatMap(d=>{let p=V(n,r[d]),f=p?.value.toUpperCase();return p&&f&&p.evidence!=="expression"&&Bt.has(f)?[{index:d,value:{...p,value:f}}]:[]}),o=de([...e.constantMethods,...a.map(d=>d.value.value)]);if(i.length!==1||o.length!==1)return null;let s=i[0].value,l=a.find(d=>d.value.value===o[0])?.value,c=[{name:"method",value:o[0],evidence:l?"constant":"literal",term:l?.term??{kind:"literal",value:o[0]},derivation:l?.derivation},{name:"path",value:s.value,evidence:"constant",term:s.term,derivation:s.derivation}],u=Ze(n,t,"builtin.http-summary","http.request",c,"derived","compiler-resolved-http-summary");return u.derivation={kind:"mechanically-derived",rule:"compiler-resolved-http-summary",ruleVersion:"1",inputFactIds:e.proofObservationIds,sourceSpans:[...e.proofSpans,u.source]},u}function or(e,t){let n=So(e.root,t.startLine,t.endLine);if(!n)return{pathParameterIndexes:[],methodParameterIndexes:[],constantMethods:[]};let r=ho(n),i=new Set,a=new Set,o=new Set;return Tt(n,s=>{if(s.type==="call_expression"&&((s.childForFieldName("function")??s.namedChild(0))?.text.replace(/\s+/gu,"").split(".").at(-1)??"")==="fetch"){let f=ur(s);Fe(f[0],r,i);let m=go(f[1],"method");if(m){Fe(m,r,a);let g=V(e,m),b=g?.value.toUpperCase();b&&g?.evidence!=="expression"&&Bt.has(b)&&o.add(b)}else Fe(f[1],r,a)}if(s.type!=="pair")return;let l=s.childForFieldName("key")??s.namedChild(0),c=s.childForFieldName("value")??s.namedChild(1),u=l?.text.replace(/^['"`]|['"`]$/gu,"").toLowerCase();(u==="url"||u==="path"||u==="endpoint")&&Fe(c,r,i),(u==="init"||u==="requestinit"||u==="options")&&Fe(c,r,a)}),{pathParameterIndexes:r.flatMap((s,l)=>s&&i.has(s)?[l]:[]),methodParameterIndexes:r.flatMap((s,l)=>s&&a.has(s)?[l]:[]),constantMethods:[...o].sort()}}function yo(e,t,n){let r=we(e,n);return{pathParameterIndexes:Ce(r,t.pathParameterIndexes),methodParameterIndexes:Ce(r,t.methodParameterIndexes)}}function sr(e,t){let n=e.get(t.definition.symbol);if(!n)return e.set(t.definition.symbol,t),!0;let r=Je([...n.pathParameterIndexes,...t.pathParameterIndexes]),i=Je([...n.methodParameterIndexes,...t.methodParameterIndexes]),a=de([...n.constantMethods,...t.constantMethods]);return r.length!==n.pathParameterIndexes.length||i.length!==n.methodParameterIndexes.length||a.length!==n.constantMethods.length||t.depth<n.depth?(e.set(t.definition.symbol,{...n,pathParameterIndexes:r,methodParameterIndexes:i,constantMethods:a,depth:Math.min(n.depth,t.depth),proofObservationIds:de([...n.proofObservationIds,...t.proofObservationIds]),proofSpans:[...n.proofSpans,...t.proofSpans]}),!0):!1}function go(e,t){if(!e)return null;for(let n of e.namedChildren)if(!(n.type!=="pair"||(n.childForFieldName("key")??n.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"").toLowerCase()!==t))return n.childForFieldName("value")??n.namedChild(1);return null}function Fe(e,t,n){if(!e)return;let r=new Set(e.text.match(/[A-Za-z_$][\w$]*/gu)??[]);for(let i of t)i&&r.has(i)&&n.add(i)}function ho(e){return(e.childForFieldName("parameters")??e.namedChildren.find(n=>/parameters/u.test(n.type)))?.namedChildren.map(cr)??[]}function cr(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?cr(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function So(e,t,n){let r=null;return Tt(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function ur(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function bo(e){return e.startsWith("/")||/^https?:\/\//iu.test(e)}function Je(e){return[...new Set(e)].sort((t,n)=>t-n)}function de(e){return[...new Set(e)].sort()}function Tt(e,t){t(e);for(let n of e.namedChildren)Tt(n,t)}import{createHash as vo}from"crypto";function fr(e){let t=dr(e.filter(r=>r.action==="database.read"&&r.evidence==="persistence-skip-locked-claim")),n=dr(e.filter(r=>r.action==="database.write"&&r.evidence==="persistence-insert"));return e.flatMap(r=>r.action==="database.write"&&r.evidence==="persistence-insert"?kt(r).flatMap(i=>{let a=t.get(i)?.[0];return a?[pr(r,a,i,"queue.send")]:[]}):r.action==="database.read"&&r.evidence==="persistence-skip-locked-claim"?kt(r).flatMap(i=>{let a=n.get(i)?.[0];return a?[pr(r,a,i,"queue.consume")]:[]}):[])}function dr(e){let t=new Map;for(let n of e)for(let r of kt(n)){let i=t.get(r);i?i.push(n):t.set(r,[n])}for(let n of t.values())n.sort((r,i)=>r.id.localeCompare(i.id));return t}function kt(e){return e.keyParts.filter(t=>t.name==="resource").map(t=>t.value)}function pr(e,t,n,r){let i=`database:${n}`,a=r==="queue.send"?"database-queue-insert":"database-queue-skip-locked-claim",o=[e.id,r,i,a].join("\0");return{...e,id:`boundary:${vo("sha256").update(o).digest("hex").slice(0,16)}`,extractor:"builtin.database-queue",action:r,keyParts:[{name:"address",value:i,evidence:"identifier",term:{kind:"symbol",symbol:n},derivation:{kind:"mechanically-derived",rule:"database-work-queue.resource",ruleVersion:"1",inputFactIds:[e.id,t.id],sourceSpans:[e.source,t.source]}}],evidence:a,strength:"derived",protocol:"queue",role:r==="queue.send"?"producer":"consumer",derivation:{kind:"mechanically-derived",rule:"database-work-queue.insert-skip-locked",ruleVersion:"1",inputFactIds:[e.id,t.id],sourceSpans:[e.source,t.source]},valuePrecision:"symbolic",resolution:"unresolved"}}var $t="runtime-boundaries-v15",tt=[{id:"http.method-path",protocol:"http",producerActions:["http.request"],consumerActions:["http.handle"],keyNames:["method","path"],traversable:!0},{id:"registry.identity-key",protocol:"registry",producerActions:["registry.dispatch"],consumerActions:["registry.handle"],keyNames:["registry","key"],traversable:!0},{id:"registry.capability-key",protocol:"registry",producerActions:["registry.reference"],consumerActions:["registry.handle"],keyNames:["key"],traversable:!0,requireUniqueConsumer:!0},{id:"queue.address",protocol:"queue",producerActions:["queue.send"],consumerActions:["queue.consume"],keyNames:["address"],traversable:!0},{id:"carrier.discriminator",protocol:"carrier",producerActions:["carrier.publish"],consumerActions:["carrier.consume"],keyNames:["carrier","field","value"],traversable:!0},{id:"resource.identity",protocol:"database",producerActions:["database.write"],consumerActions:["database.read"],keyNames:["resource"],traversable:!1},{id:"framework.effect-httpapi-operation",protocol:"framework",producerActions:[],consumerActions:["framework.handle"],declarationActions:["framework.declare"],keyNames:["adapter","group","operation"],traversable:!0,linkFrom:"declaration",requireUniquePair:!0}],xo=64;function Ro(e,t={}){let n=z(e),r=new Set(n),i=new Set((t.affectedFiles??[]).map(No)),a=t.previousGraph?.fileCoverage,o=i.size>0&&t.previousGraph?.extractorVersion===$t&&a!==void 0&&a.length===t.previousGraph.coverage.filesScanned,s=o?a.filter(C=>r.has(C.file)&&!i.has(C.file)):[],l=new Set(s.flatMap(C=>C.observationIds)),c=o?t.previousGraph.observations.filter(C=>l.has(C.id)&&r.has(C.source.file)):[],u=o?n.filter(C=>i.has(C)):n,d=[],p=a?.reduce((C,ot)=>C+ot.observationIds.length,0)??0,f=performance.now(),m=Io(e,u);Y(d,"direct-extraction",f,u.length,m.observations.length,{filesVisited:u.length,filesReused:s.length,factsReused:c.length,factsInvalidated:Math.max(0,p-c.length)});let g=[...s,...m.fileCoverage].sort((C,ot)=>C.file.localeCompare(ot.file)),b=Co(g),h=g.flatMap(C=>C.extractionErrors),v=Ee([...c,...m.observations]),F=Ee([...v,...fr(v)]);f=performance.now();let x=lr(e,F);Y(d,"http-summary",f,F.length,x.observations.length,{filesVisited:x.filesInspected}),b.set("builtin.wrapper",{id:"builtin.wrapper",applicableFiles:x.filesInspected,observations:x.observations.length,errors:x.errors.length}),h.push(...x.errors);let w=Ee([...F,...x.observations]);f=performance.now();let y=ir(e,w);Y(d,"http-mount",f,w.length,y.observations.length,{filesVisited:y.filesInspected});let R=Ee([...w,...y.observations]);f=performance.now();let I=Xn(e,R);Y(d,"carrier",f,R.length,I.observations.length,{filesVisited:I.filesInspected}),b.set("builtin.carrier",{id:"builtin.carrier",applicableFiles:I.bodySummaries,observations:I.observations.length,errors:I.errors.length}),h.push(...I.errors);let E=Ee([...R,...I.observations]);f=performance.now();let _=Fo(E);Y(d,"relations",f,E.length,_.length),f=performance.now();let At=Po(E,_);Y(d,"links",f,_.length,At.length),_o(E,_),f=performance.now();let Dt=To([...Lo(E,_),...x.frontiers]);return Y(d,"frontiers",f,E.length,Dt.length),{schemaVersion:2,extractorVersion:$t,observations:E,relationGroups:_,links:At,frontiers:Dt,coverage:{filesScanned:n.length,filesWithAst:g.filter(C=>C.hasAst).length,filesWithoutAst:g.filter(C=>!C.hasAst).length,...o?{filesReused:s.length}:{},extractors:[...b.values()],extractionErrors:h,phases:d},fileCoverage:g}}function Y(e,t,n,r,i,a={}){e.push({id:t,durationMs:Math.max(0,performance.now()-n),inputFacts:r,outputFacts:i,...a})}function Io(e,t){let n=[],r=[];for(let i of t){let a=L(e,i),o=Nt.filter(c=>c.supports(a)),s=o.length>0?k(e,i):null,l={file:i,hasAst:s!==null||wo(i,a),observationIds:[],extractors:[],extractionErrors:[]};if(s)for(let c of o){let u={id:c.id,applicableFiles:1,observations:0,errors:0};try{let d=c.extract(s);u.observations=d.length,n.push(...d),l.observationIds.push(...d.map(p=>p.id))}catch(d){u.errors=1,l.extractionErrors.push(`${c.id} failed for ${i}: ${d instanceof Error?d.message:String(d)}`)}l.extractors.push(u)}r.push(l)}return{observations:n,fileCoverage:r}}function wo(e,t){return t?tn(e)?/<script\b/iu.test(t):Be(e)!==null:!1}function Co(e){let t=new Map(Nt.map(n=>[n.id,{id:n.id,applicableFiles:0,observations:0,errors:0}]));for(let n of e)for(let r of n.extractors){let i=t.get(r.id);i&&(i.applicableFiles+=r.applicableFiles,i.observations+=r.observations,i.errors+=r.errors)}return t}function No(e){return e.replaceAll("\\","/").replace(/^\.\//u,"")}function Fo(e){let t=new Map;for(let n of tt){let r=new Set([...n.producerActions,...n.consumerActions,...n.declarationActions??[]]);for(let i of e){if(!r.has(i.action)||i.strength==="candidate")continue;let a=ko(i,n.keyNames);if(!a)continue;let o=a.map(d=>`${d.name}=${gr(d.name,d.value)}`).join("\0"),s=i.sourceScope==="production"?"production":i.sourceScope,l=`${n.id}\0${s}\0${o}`,c=`boundary-group:${mr("sha256").update(l).digest("hex").slice(0,16)}`,u=t.get(c)??{id:c,protocol:n.protocol,joinRule:n.id,normalizedKey:o,keyParts:a,producerIds:[],consumerIds:[],declarationIds:[],derivation:{kind:"mechanically-derived",rule:n.id,ruleVersion:"2",inputFactIds:[],sourceSpans:[]}};n.producerActions.includes(i.action)&&u.producerIds.push(i.id),n.consumerActions.includes(i.action)&&u.consumerIds.push(i.id),n.declarationActions?.includes(i.action)&&u.declarationIds.push(i.id),u.derivation.inputFactIds.push(i.id),u.derivation.sourceSpans.push(i.source),t.set(c,u)}}return[...t.values()].map(Eo).sort(Ao)}function Eo(e){return{...e,producerIds:Ye(e.producerIds),consumerIds:Ye(e.consumerIds),declarationIds:Ye(e.declarationIds),derivation:{...e.derivation,inputFactIds:Ye(e.derivation.inputFactIds),sourceSpans:[...new Map(e.derivation.sourceSpans.map(t=>[`${t.file}:${t.startLine}:${t.endLine}`,t])).values()]}}}function Po(e,t){let n=new Map(e.map(i=>[i.id,i])),r=new Map;for(let i of t){let a=tt.find(s=>s.id===i.joinRule);if(!a?.traversable)continue;let o=a.linkFrom==="declaration"?i.declarationIds:i.producerIds;if(!(o.length===0||i.consumerIds.length===0)&&!(a.requireUniquePair&&(o.length!==1||i.consumerIds.length!==1))&&!(a.requireUniqueConsumer&&i.consumerIds.length!==1)&&!(o.length*i.consumerIds.length>xo))for(let s of o)for(let l of i.consumerIds){let c=n.get(s),u=n.get(l);if(!c||!u||$o(c,u))continue;let d=c.strength==="derived"||u.strength==="derived"?"derived":"exact",p=`${i.joinRule}\0${s}\0${l}`,f={id:`boundary-link:${mr("sha256").update(p).digest("hex").slice(0,16)}`,from:s,to:l,joinRule:i.joinRule,matchedKeyParts:i.keyParts,strength:d,derivation:{kind:"mechanically-derived",rule:i.joinRule,ruleVersion:"2",inputFactIds:[s,l],sourceSpans:[c.source,u.source]}};r.set(f.id,f)}}return[...r.values()].sort(Do)}function _o(e,t){let n=new Set(t.filter(yr).flatMap(et)),r=new Set(t.filter(Bo).flatMap(et));for(let i of e)i.resolution=n.has(i.id)?"locally-linked":r.has(i.id)?"ambiguous":"unresolved"}function Lo(e,t){let n=new Set(e.filter(a=>a.strength!=="candidate").map(a=>`${a.action}\0${a.source.file}\0${a.source.startLine}\0${a.source.endLine}`)),r=new Set(t.flatMap(et)),i=new Set(t.filter(yr).flatMap(et));return e.filter(a=>a.sourceScope==="production").filter(a=>a.strength!=="candidate"||!n.has(`${a.action}\0${a.source.file}\0${a.source.startLine}\0${a.source.endLine}`)).filter(a=>!i.has(a.id)).map(a=>{let o=a.keyParts.filter(l=>l.evidence==="expression"||l.value.length===0).map(l=>l.name),s=o.length>0?`${a.extractor} observed ${a.action}, but ${o.join(", ")} remained symbolic or unknown.`:a.resolution==="ambiguous"?`${a.extractor} established the address for ${a.action}, but more than one indexed peer has the same runtime key.`:r.has(a.id)?`${a.extractor} established the address for ${a.action}, but the indexed production scope contains no counterpart role in that relation group.`:`${a.extractor} observed ${a.action}, but no supported factorization rule could establish its addressed relation.`;return{observationId:a.id,reason:s,missingKeyParts:o,sourceScope:a.sourceScope}}).sort((a,o)=>a.observationId.localeCompare(o.observationId))}function et(e){return[...e.producerIds,...e.consumerIds,...e.declarationIds]}function yr(e){let t=tt.find(r=>r.id===e.joinRule);if(!t)return!1;let n=t.linkFrom==="declaration"?e.declarationIds:e.producerIds;return n.length===0||e.consumerIds.length===0?!1:!t.requireUniquePair||n.length===1&&e.consumerIds.length===1}function Bo(e){let t=tt.find(r=>r.id===e.joinRule);if(!t?.requireUniquePair)return!1;let n=t.linkFrom==="declaration"?e.declarationIds:e.producerIds;return n.length>0&&e.consumerIds.length>0&&(n.length!==1||e.consumerIds.length!==1)}function To(e){return[...new Map(e.map(t=>[t.observationId,t])).values()].sort((t,n)=>t.observationId.localeCompare(n.observationId))}function ko(e,t){let n=[];for(let r of t){let i=e.keyParts.find(a=>a.name===r);if(!i||i.evidence==="expression"||i.value.length===0)return null;n.push({...i,value:gr(r,i.value)})}return n}function gr(e,t){if(e==="method")return t.toUpperCase();if(e!=="path")return t;let n=t.startsWith("/")?t:`/${t}`;return n.length>1?n.replace(/\/+$/u,""):n}function $o(e,t){return e.source.file===t.source.file&&e.source.startLine===t.source.startLine}function Ee(e){return[...new Map(e.map(t=>[t.id,t])).values()].sort((t,n)=>t.source.file.localeCompare(n.source.file)||t.source.startLine-n.source.startLine||t.action.localeCompare(n.action))}function Ye(e){return[...new Set(e)].sort()}function Ao(e,t){return e.joinRule.localeCompare(t.joinRule)||e.normalizedKey.localeCompare(t.normalizedKey)}function Do(e,t){return e.joinRule.localeCompare(t.joinRule)||e.from.localeCompare(t.from)||e.to.localeCompare(t.to)}import Mo from"better-sqlite3";var rt="codebaseiq_runtime_boundaries",ee="codebaseiq_runtime_observations",it="codebaseiq_runtime_relation_groups",at="codebaseiq_runtime_relation_participants";function Oo(e,t){let n=new Mo(zt(e));try{n.exec(`
|
|
35
|
-
CREATE TABLE IF NOT EXISTS ${rt} (
|
|
36
|
-
singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
|
|
37
|
-
schema_version INTEGER NOT NULL,
|
|
38
|
-
extractor_version TEXT NOT NULL,
|
|
39
|
-
payload TEXT NOT NULL
|
|
40
|
-
)
|
|
41
|
-
`),Vo(n),n.transaction(()=>{n.prepare(`INSERT OR REPLACE INTO ${rt} (singleton, schema_version, extractor_version, payload) VALUES (1, ?, ?, ?)`).run(t.schemaVersion,t.extractorVersion,JSON.stringify(t)),n.prepare(`DELETE FROM ${ee}`).run(),n.prepare(`DELETE FROM ${at}`).run(),n.prepare(`DELETE FROM ${it}`).run();let r=n.prepare(`INSERT INTO ${ee}
|
|
42
|
-
(id, protocol, action, role, strength, source_scope, resolution, file, start_line, end_line, owner_symbol, payload)
|
|
43
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);for(let o of t.observations)r.run(o.id,o.protocol,o.action,o.role,o.strength,o.sourceScope,o.resolution,o.source.file,o.source.startLine,o.source.endLine,o.owner.symbol,JSON.stringify(o));let i=n.prepare(`INSERT INTO ${it} (id, protocol, join_rule, normalized_key, payload) VALUES (?, ?, ?, ?, ?)`),a=n.prepare(`INSERT INTO ${at} (group_id, observation_id, participant_role) VALUES (?, ?, ?)`);for(let o of t.relationGroups){i.run(o.id,o.protocol,o.joinRule,o.normalizedKey,JSON.stringify(o));for(let s of o.producerIds)a.run(o.id,s,"producer");for(let s of o.consumerIds)a.run(o.id,s,"consumer");for(let s of o.declarationIds)a.run(o.id,s,"declaration")}})()}finally{n.close()}}function jo(e,t={}){if(!qo(e,ee))return hr(e)?.observations??[];let n=[],r=[];return nt(n,r,"protocol",t.protocols),nt(n,r,"action",t.actions),nt(n,r,"source_scope",t.sourceScopes),nt(n,r,"file",t.files),e.all(`SELECT payload FROM ${ee}${n.length>0?` WHERE ${n.join(" AND ")}`:""} ORDER BY file, start_line, id`,...r).flatMap(a=>Go(a.payload))}function Vo(e){e.exec(`
|
|
44
|
-
CREATE TABLE IF NOT EXISTS ${ee} (
|
|
45
|
-
id TEXT PRIMARY KEY,
|
|
46
|
-
protocol TEXT NOT NULL,
|
|
47
|
-
action TEXT NOT NULL,
|
|
48
|
-
role TEXT NOT NULL,
|
|
49
|
-
strength TEXT NOT NULL,
|
|
50
|
-
source_scope TEXT NOT NULL,
|
|
51
|
-
resolution TEXT NOT NULL,
|
|
52
|
-
file TEXT NOT NULL,
|
|
53
|
-
start_line INTEGER NOT NULL,
|
|
54
|
-
end_line INTEGER NOT NULL,
|
|
55
|
-
owner_symbol TEXT,
|
|
56
|
-
payload TEXT NOT NULL
|
|
57
|
-
);
|
|
58
|
-
CREATE INDEX IF NOT EXISTS idx_runtime_observations_protocol_action_scope
|
|
59
|
-
ON ${ee}(protocol, action, source_scope);
|
|
60
|
-
CREATE INDEX IF NOT EXISTS idx_runtime_observations_file_line
|
|
61
|
-
ON ${ee}(file, start_line);
|
|
62
|
-
|
|
63
|
-
CREATE TABLE IF NOT EXISTS ${it} (
|
|
64
|
-
id TEXT PRIMARY KEY,
|
|
65
|
-
protocol TEXT NOT NULL,
|
|
66
|
-
join_rule TEXT NOT NULL,
|
|
67
|
-
normalized_key TEXT NOT NULL,
|
|
68
|
-
payload TEXT NOT NULL
|
|
69
|
-
);
|
|
70
|
-
CREATE INDEX IF NOT EXISTS idx_runtime_groups_protocol_key
|
|
71
|
-
ON ${it}(protocol, join_rule, normalized_key);
|
|
72
|
-
|
|
73
|
-
CREATE TABLE IF NOT EXISTS ${at} (
|
|
74
|
-
group_id TEXT NOT NULL,
|
|
75
|
-
observation_id TEXT NOT NULL,
|
|
76
|
-
participant_role TEXT NOT NULL,
|
|
77
|
-
PRIMARY KEY (group_id, observation_id, participant_role)
|
|
78
|
-
);
|
|
79
|
-
CREATE INDEX IF NOT EXISTS idx_runtime_participants_observation
|
|
80
|
-
ON ${at}(observation_id, participant_role);
|
|
81
|
-
`)}function qo(e,t){return!!e.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",t)}function nt(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Go(e){try{return[JSON.parse(e)]}catch{return[]}}function hr(e){if(!e.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",rt))return null;let n=e.get(`SELECT schema_version, payload FROM ${rt} WHERE singleton = 1`);if(!n||n.schema_version!==2)return null;try{let r=JSON.parse(n.payload);return r.schemaVersion===2&&Array.isArray(r.observations)&&Array.isArray(r.relationGroups)&&Array.isArray(r.links)?r:null}catch{return null}}export{Me as a,je as b,ct as c,Fs as d,Es as e,Ps as f,En as g,ze as h,Q as i,V as j,Ge as k,ft as l,rl as m,Os as n,Jr as o,js as p,Vs as q,Xs as r,Qs as s,pt as t,mt as u,bn as v,xn as w,yt as x,xl as y,Fi as z,Ei as A,Rl as B,Pi as C,_i as D,Pl as E,gt as F,Ie as G,we as H,$t as I,Ro as J,Oo as K,jo as L,hr as M,Zo as N,Xo as O,Sr as P,Qo as Q,Jo as R,P as S,$l as T,be as U,Al as V};
|
|
82
|
-
//# sourceMappingURL=chunk-6WAPPQ5F.js.map
|
package/dist/chunk-P4NVCOM7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as f,e as p}from"./chunk-6O3KXIDL.js";import{execFileSync as y}from"child_process";import{platform as I}from"os";var b=1e3,T=2*1024*1024,M=25;function v(e,n,r=S){let t=r.readIdentity(e),o=new Map;return t&&o.set(e,t),{rootPid:e,rootIdentity:t,ownsProcessGroup:n,knownMembers:o}}async function k(e,n,r=S){if(!e.rootIdentity){let a=await l(e,n.gracefulMs+n.forceMs,r);return{reaped:a,reason:a?"terminated":"identity-unavailable",detail:a?void 0:`Could not establish the birth identity of process ${e.rootPid}.`}}let t=g(e,r);if(t==="mismatch")return{reaped:!1,reason:"identity-mismatch",detail:`Process ${e.rootPid} no longer has the identity owned by this runner.`};if(t==="exited"&&!h(e,r))return{reaped:!0,reason:"terminated"};if(r.platform==="win32"){try{r.terminateWindowsTree(e.rootPid)}catch(u){let c=await l(e,n.forceMs,r);return{reaped:c,reason:c?"terminated":"signal-failed",detail:c?void 0:m(u)}}let a=await l(e,n.forceMs,r);return{reaped:a,reason:a?"terminated":"deadline"}}let o=P(e,"SIGTERM",r);if(await l(e,n.gracefulMs,r))return{reaped:!0,reason:"terminated"};let s=P(e,"SIGKILL",r);return await l(e,n.forceMs,r)?{reaped:!0,reason:"terminated"}:s?{reaped:!1,reason:s.reason,detail:s.detail}:o?{reaped:!1,reason:o.reason,detail:o.detail}:{reaped:!1,reason:"deadline",detail:`Process tree ${e.rootPid} did not exit before its termination deadline.`}}function g(e,n){let r=n.readIdentity(e.rootPid);if(!r)return"exited";if(!e.rootIdentity||!f(e.rootIdentity,r))return"mismatch";e.knownMembers.set(e.rootPid,r);for(let t of n.listDescendantPids(e.rootPid)){let o=n.readIdentity(t);o&&e.knownMembers.set(t,o)}return"owned"}function P(e,n,r){let t=g(e,r);if(t==="mismatch")return{reason:"identity-mismatch",detail:`Process ${e.rootPid} changed identity before ${n}.`};if(t==="owned"&&e.ownsProcessGroup)try{return r.signal(-e.rootPid,n),null}catch(i){if(!w(i))return{reason:"signal-failed",detail:m(i)}}let o=null;for(let i of e.knownMembers.values()){let s=r.readIdentity(i.pid);if(!(!s||!f(i,s)))try{r.signal(i.pid,n)}catch(d){!w(d)&&o===null&&(o=m(d))}}return o===null?null:{reason:"signal-failed",detail:o}}async function l(e,n,r){let t=r.now()+n;for(;h(e,r);){if(r.now()>=t)return!1;await r.sleep(Math.min(M,Math.max(1,t-r.now())))}return!0}function h(e,n){if(!e.rootIdentity&&n.isProcessAlive(e.rootPid))return!0;for(let r of e.knownMembers.values()){let t=n.readIdentity(r.pid);if(t&&f(r,t))return!0}return!!(e.ownsProcessGroup&&n.isProcessGroupAlive(e.rootPid))}function R(e){let n=y("ps",["-axo","pid=,ppid="],{encoding:"utf8",timeout:b,maxBuffer:T,env:{...process.env,LC_ALL:"C",LANG:"C"},stdio:["ignore","pipe","ignore"],windowsHide:!0}),r=new Map;for(let s of n.split(/\r?\n/)){let d=/^\s*(\d+)\s+(\d+)\s*$/.exec(s);if(!d)continue;let a=Number(d[1]),u=Number(d[2]),c=r.get(u)??[];c.push(a),r.set(u,c)}let t=[],o=[...r.get(e)??[]],i=new Set;for(;o.length>0;){let s=o.pop();i.has(s)||(i.add(s),t.push(s),o.push(...r.get(s)??[]))}return t}function w(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ESRCH"}function m(e){return e instanceof Error?e.message:String(e)}var S={platform:I(),now:Date.now,readIdentity:p,isProcessAlive(e){try{return process.kill(e,0),!0}catch(n){return typeof n=="object"&&n!==null&&"code"in n&&n.code==="EPERM"}},isProcessGroupAlive(e){if(this.platform==="win32")return!1;try{return process.kill(-e,0),!0}catch(n){return typeof n=="object"&&n!==null&&"code"in n&&n.code==="EPERM"}},listDescendantPids(e){if(this.platform==="win32")return[];try{return R(e)}catch{return[]}},signal(e,n){process.kill(e,n)},terminateWindowsTree(e){y("taskkill.exe",["/PID",String(e),"/T","/F"],{timeout:b,maxBuffer:T,stdio:"ignore",windowsHide:!0})},async sleep(e){await new Promise(n=>setTimeout(n,e))}};export{v as a,k as b};
|
|
2
|
-
//# sourceMappingURL=chunk-P4NVCOM7.js.map
|
package/dist/chunk-Z35GOVEH.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{z as a}from"./chunk-PTQPPPG2.js";import"./chunk-FH5WG4LE.js";import"./chunk-DAKIGMIK.js";import"./chunk-LONKINMJ.js";import"./chunk-ZZ3MWF33.js";import"./chunk-6WAPPQ5F.js";import"./chunk-YUKYB54I.js";import"./chunk-DDN2F6GB.js";import"./chunk-P5XHIJHI.js";import"./chunk-EQNMD62X.js";import"./chunk-2PRONPAS.js";import"./chunk-P4NVCOM7.js";import"./chunk-CIYA2KZN.js";import"./chunk-C6WKPKCF.js";import"./chunk-XQAVQVIL.js";import"./chunk-DRENNWRG.js";import"./chunk-SV2LEFVM.js";import"./chunk-MEUHIDI3.js";import"./chunk-5FWR5HLG.js";import"./chunk-T75DS2E6.js";import"./chunk-YT4DVWUV.js";import"./chunk-RCIGX23V.js";import"./chunk-D7DOB27N.js";import"./chunk-R2NOK63J.js";import"./chunk-6O3KXIDL.js";import"./chunk-UQYQBLJX.js";export{a as directNavigationQueryCommandDescriptors};
|
|
2
|
-
//# sourceMappingURL=direct-navigation-4XJTXIDT.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{z as a}from"./chunk-USOAJHY7.js";import"./chunk-JLZLLLW5.js";import"./chunk-AQI4N64O.js";import"./chunk-C7QWUBR2.js";import"./chunk-B2OB55RR.js";import"./chunk-XZEE23VG.js";import"./chunk-7UCDGXRW.js";import"./chunk-FTTV7IRX.js";import"./chunk-D62CTZX6.js";import"./chunk-5T44HG5Y.js";import"./chunk-DUKHVPU5.js";export{a as directNavigationQueryCommandDescriptors};
|
|
3
|
-
//# sourceMappingURL=direct-navigation-J5MVYYAD.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a}from"./chunk-CVHOQONG.js";import"./chunk-AQI4N64O.js";import"./chunk-C7QWUBR2.js";import"./chunk-B2OB55RR.js";import"./chunk-XZEE23VG.js";import"./chunk-7UCDGXRW.js";import"./chunk-FTTV7IRX.js";import"./chunk-D62CTZX6.js";import"./chunk-5T44HG5Y.js";import"./chunk-DUKHVPU5.js";export{a as outputContinuationCommandDescriptor};
|
|
3
|
-
//# sourceMappingURL=output-continuation-command-BL25S26S.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{k as a}from"./chunk-Q23IMHXS.js";import"./chunk-EN4AHLL3.js";import"./chunk-FTTV7IRX.js";import"./chunk-D62CTZX6.js";import"./chunk-5T44HG5Y.js";import"./chunk-DUKHVPU5.js";export{a as reindexConfiguredProject};
|
|
3
|
-
//# sourceMappingURL=project-reindex-TQFCOA2O.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{d as a,e as b}from"./chunk-T5X7DK6C.js";import"./chunk-5IC2WZAL.js";import"./chunk-C7QWUBR2.js";import"./chunk-B2OB55RR.js";import"./chunk-XZEE23VG.js";import"./chunk-7UCDGXRW.js";import"./chunk-FTTV7IRX.js";import"./chunk-D62CTZX6.js";import"./chunk-5T44HG5Y.js";import"./chunk-DUKHVPU5.js";export{a as ensureSentinelService,b as sentinelEnsureCommandDescriptor};
|
|
3
|
-
//# sourceMappingURL=sentinel-ensure-command-OSWGCFFL.js.map
|