scip-query 0.6.6 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +20 -1
  2. package/dist/chunk-2OP63JQQ.js +2 -0
  3. package/dist/chunk-33Z6HQBX.js +5 -0
  4. package/dist/chunk-3F453KPT.js +2 -0
  5. package/dist/{chunk-7PRMSA4Z.js → chunk-3JGBAAP7.js} +2 -2
  6. package/dist/chunk-3PKPUCIJ.js +11 -0
  7. package/dist/chunk-42BWO2NN.js +2 -0
  8. package/dist/chunk-4MDCFY3E.js +2 -0
  9. package/dist/chunk-4QWTQ6YV.js +2 -0
  10. package/dist/{chunk-Y4DS3MDC.js → chunk-5IRX5I64.js} +2 -2
  11. package/dist/chunk-5MPZ2A7J.js +2 -0
  12. package/dist/chunk-67OMD56K.js +90 -0
  13. package/dist/chunk-6UVVA5I4.js +7 -0
  14. package/dist/{chunk-OQZF2DQJ.js → chunk-AXHDRSRI.js} +2 -2
  15. package/dist/{chunk-TLRA5TR6.js → chunk-BAA4EJRX.js} +2 -2
  16. package/dist/{chunk-ZHHMG4UC.js → chunk-BT36WY5B.js} +2 -2
  17. package/dist/chunk-CLKFDBS6.js +39 -0
  18. package/dist/{chunk-CSRPJCWO.js → chunk-CWMWTHV3.js} +2 -2
  19. package/dist/chunk-DXO2ECRF.js +7 -0
  20. package/dist/chunk-EHEZLULQ.js +85 -0
  21. package/dist/{chunk-PIRXZGV6.js → chunk-GRAEZYYU.js} +2 -2
  22. package/dist/chunk-GWBRU65E.js +2 -0
  23. package/dist/chunk-I2KUHGMX.js +16 -0
  24. package/dist/chunk-I5BB33E6.js +10 -0
  25. package/dist/{chunk-YXMHTJYY.js → chunk-IIKNAXAE.js} +2 -2
  26. package/dist/{chunk-MXWC53GJ.js → chunk-IX45SWX5.js} +2 -2
  27. package/dist/{chunk-ERRUE5G4.js → chunk-JLFAQ2E2.js} +2 -2
  28. package/dist/chunk-JMASYYSW.js +2 -0
  29. package/dist/{chunk-E2V5SE6M.js → chunk-LBWLO7NA.js} +2 -2
  30. package/dist/{chunk-MO65UK5V.js → chunk-LLDPR3DG.js} +2 -2
  31. package/dist/chunk-LNUZWWWL.js +2 -0
  32. package/dist/{chunk-QFZE73XF.js → chunk-NLJCXHFU.js} +8 -8
  33. package/dist/chunk-NRAJIFQA.js +2 -0
  34. package/dist/chunk-OYRGWW6Z.js +2 -0
  35. package/dist/chunk-PVMRIOM6.js +33 -0
  36. package/dist/chunk-SF2HYG53.js +4 -0
  37. package/dist/chunk-SHGPRVWH.js +2 -0
  38. package/dist/chunk-SMOUOKAO.js +2 -0
  39. package/dist/chunk-TPXWXKL6.js +2 -0
  40. package/dist/chunk-TTCUMJ43.js +19 -0
  41. package/dist/chunk-TYR7QY5G.js +2 -0
  42. package/dist/{chunk-HVNVO6UW.js → chunk-U3GYMGBX.js} +2 -2
  43. package/dist/{chunk-Q2ALKKSE.js → chunk-UIM4WALN.js} +2 -2
  44. package/dist/chunk-UZG3QXTG.js +2 -0
  45. package/dist/{chunk-7LSCW7NF.js → chunk-V4WRHJU3.js} +2 -2
  46. package/dist/chunk-VDMRAGBK.js +6 -0
  47. package/dist/chunk-W6SRVK2Y.js +5 -0
  48. package/dist/{chunk-QFBJZHMV.js → chunk-WGYJDGBI.js} +2 -2
  49. package/dist/{chunk-KBGFYKOJ.js → chunk-WYX3RU2K.js} +2 -2
  50. package/dist/chunk-WZYA234B.js +2 -0
  51. package/dist/{chunk-O6VBAW7P.js → chunk-Y6ZFXZ7B.js} +2 -2
  52. package/dist/chunk-YCN5XEST.js +7 -0
  53. package/dist/{chunk-DLWRLPKO.js → chunk-ZO5IFJRM.js} +2 -2
  54. package/dist/cli.js +198 -166
  55. package/dist/{db-BZPa7dzJ.d.ts → db-Rx8Ho_JF.d.ts} +4 -0
  56. package/dist/index.d.ts +13 -6
  57. package/dist/index.js +23 -23
  58. package/dist/queries/affected.d.ts +1 -1
  59. package/dist/queries/affected.js +1 -1
  60. package/dist/queries/bottlenecks.d.ts +3 -1
  61. package/dist/queries/bottlenecks.js +1 -1
  62. package/dist/queries/by-kind.d.ts +1 -1
  63. package/dist/queries/by-kind.js +1 -1
  64. package/dist/queries/call-graph.d.ts +4 -2
  65. package/dist/queries/call-graph.js +1 -1
  66. package/dist/queries/change-surface.d.ts +4 -2
  67. package/dist/queries/change-surface.js +1 -1
  68. package/dist/queries/code.d.ts +1 -1
  69. package/dist/queries/code.js +1 -1
  70. package/dist/queries/complexity-hotspots.d.ts +3 -1
  71. package/dist/queries/complexity-hotspots.js +1 -1
  72. package/dist/queries/complexity.d.ts +4 -2
  73. package/dist/queries/complexity.js +1 -1
  74. package/dist/queries/convergence.d.ts +4 -2
  75. package/dist/queries/convergence.js +1 -1
  76. package/dist/queries/coupling.d.ts +1 -1
  77. package/dist/queries/coupling.js +1 -1
  78. package/dist/queries/cycles.d.ts +1 -1
  79. package/dist/queries/cycles.js +1 -1
  80. package/dist/queries/dataflow.d.ts +4 -2
  81. package/dist/queries/dataflow.js +1 -1
  82. package/dist/queries/dead.d.ts +1 -1
  83. package/dist/queries/dead.js +1 -1
  84. package/dist/queries/deep-chains.d.ts +1 -1
  85. package/dist/queries/deep-chains.js +1 -1
  86. package/dist/queries/deps.d.ts +1 -1
  87. package/dist/queries/deps.js +1 -1
  88. package/dist/queries/diff-impact.d.ts +20 -2
  89. package/dist/queries/diff-impact.js +1 -1
  90. package/dist/queries/drift.d.ts +2 -1
  91. package/dist/queries/drift.js +1 -1
  92. package/dist/queries/extract-candidates.d.ts +3 -1
  93. package/dist/queries/extract-candidates.js +1 -1
  94. package/dist/queries/fan.d.ts +1 -1
  95. package/dist/queries/fan.js +1 -1
  96. package/dist/queries/files.d.ts +1 -1
  97. package/dist/queries/health-cache-control.d.ts +15 -0
  98. package/dist/queries/health-cache-control.js +2 -0
  99. package/dist/queries/health.d.ts +66 -2
  100. package/dist/queries/health.js +1 -1
  101. package/dist/queries/hierarchy.d.ts +1 -1
  102. package/dist/queries/hierarchy.js +1 -1
  103. package/dist/queries/hotspots.d.ts +1 -1
  104. package/dist/queries/hotspots.js +1 -1
  105. package/dist/queries/imports.d.ts +7 -3
  106. package/dist/queries/imports.js +1 -1
  107. package/dist/queries/index.d.ts +3 -3
  108. package/dist/queries/index.js +1 -1
  109. package/dist/queries/isolated.d.ts +3 -1
  110. package/dist/queries/isolated.js +1 -1
  111. package/dist/queries/members.d.ts +1 -1
  112. package/dist/queries/members.js +1 -1
  113. package/dist/queries/methods.d.ts +1 -1
  114. package/dist/queries/methods.js +1 -1
  115. package/dist/queries/outline.d.ts +1 -1
  116. package/dist/queries/outline.js +1 -1
  117. package/dist/queries/passthrough-candidates.d.ts +3 -1
  118. package/dist/queries/passthrough-candidates.js +1 -1
  119. package/dist/queries/redundant-reexports.d.ts +1 -1
  120. package/dist/queries/redundant-reexports.js +1 -1
  121. package/dist/queries/refs.d.ts +4 -2
  122. package/dist/queries/refs.js +1 -1
  123. package/dist/queries/similar-chains.d.ts +1 -1
  124. package/dist/queries/similar-chains.js +1 -1
  125. package/dist/queries/similar-files.d.ts +1 -1
  126. package/dist/queries/similar-files.js +1 -1
  127. package/dist/queries/similar-signatures.d.ts +3 -1
  128. package/dist/queries/similar-signatures.js +1 -1
  129. package/dist/queries/similar.d.ts +5 -1
  130. package/dist/queries/similar.js +1 -1
  131. package/dist/queries/slice.d.ts +2 -1
  132. package/dist/queries/slice.js +1 -1
  133. package/dist/queries/stale-abstractions.d.ts +5 -2
  134. package/dist/queries/stale-abstractions.js +1 -1
  135. package/dist/queries/stats.d.ts +1 -1
  136. package/dist/queries/surface.d.ts +1 -1
  137. package/dist/queries/surface.js +1 -1
  138. package/dist/queries/symbols.d.ts +1 -1
  139. package/dist/queries/symbols.js +1 -1
  140. package/dist/queries/system.d.ts +1 -1
  141. package/dist/queries/system.js +1 -1
  142. package/dist/queries/trace.d.ts +4 -2
  143. package/dist/queries/trace.js +1 -1
  144. package/dist/queries/wrapper-candidates.d.ts +3 -1
  145. package/dist/queries/wrapper-candidates.js +1 -1
  146. package/package.json +1 -1
  147. package/dist/chunk-25HOGELX.js +0 -2
  148. package/dist/chunk-2TLYCK2L.js +0 -11
  149. package/dist/chunk-3PVIYZ74.js +0 -84
  150. package/dist/chunk-4TX5IMMK.js +0 -12
  151. package/dist/chunk-6DVA22YE.js +0 -2
  152. package/dist/chunk-6GPFHZP3.js +0 -2
  153. package/dist/chunk-7X7FLQC5.js +0 -2
  154. package/dist/chunk-7YI2M2AQ.js +0 -2
  155. package/dist/chunk-AADJ7MCQ.js +0 -2
  156. package/dist/chunk-AV7BOODV.js +0 -4
  157. package/dist/chunk-AXP4H62Q.js +0 -6
  158. package/dist/chunk-C4C3T4K3.js +0 -2
  159. package/dist/chunk-CYJMOTIH.js +0 -2
  160. package/dist/chunk-GBDZY73J.js +0 -2
  161. package/dist/chunk-GPY33RTH.js +0 -19
  162. package/dist/chunk-I377UMS2.js +0 -2
  163. package/dist/chunk-IKQYNTW3.js +0 -2
  164. package/dist/chunk-IZ4KV37N.js +0 -7
  165. package/dist/chunk-KW2F3WSV.js +0 -5
  166. package/dist/chunk-NIN762LD.js +0 -5
  167. package/dist/chunk-Q4R2IYA3.js +0 -7
  168. package/dist/chunk-QPJG6VRT.js +0 -16
  169. package/dist/chunk-TUV2VI7D.js +0 -7
  170. package/dist/chunk-UAPNU7UP.js +0 -2
  171. package/dist/chunk-URCJTFOD.js +0 -2
  172. package/dist/chunk-UUIWMLDX.js +0 -39
  173. package/dist/chunk-VEXS3I3N.js +0 -2
  174. package/dist/chunk-VRC3WKKE.js +0 -2
  175. package/dist/chunk-WFDTS7XL.js +0 -2
  176. package/dist/chunk-YJODB2F5.js +0 -2
  177. package/dist/chunk-Z4AMQWVY.js +0 -90
@@ -0,0 +1,2 @@
1
+ import{a as b}from"./chunk-LNUZWWWL.js";import{h as y,l as g,s as m,w as p}from"./chunk-NLJCXHFU.js";function C(n,t,s,o){let i=y(t);if(!i)return!0;let r=g(n,t);if(!r)return!0;let l=x.get(r);return l||(l=L(r,i),x.set(r,l)),l.get(`${s}:${o}`)??!0}var x=new WeakMap;function L(n,t){let s=t==="rust"?new Set(["function_item","function_signature_item"]):t==="python"?new Set(["function_definition"]):new Set(["function_declaration","method_definition","arrow_function","function_expression"]),o=new Map,i=r=>{s.has(r.type)&&o.set(`${r.startPosition.row}:${r.endPosition.row}`,_(r,t));for(let l of r.children)i(l)};return i(n.rootNode),o}function _(n,t){let s=n.namedChildren.find(e=>e.type==="block"||e.type==="statement_block");if(!s)return!1;let o=s.namedChildren.filter(e=>e.type!=="comment"&&e.type!=="line_comment"&&e.type!=="block_comment");if(o.length!==1)return!1;let i=o[0],r=null;if(i.type==="return_statement"||i.type==="expression_statement"?r=i.namedChild(0)??null:t==="rust"&&(i.type==="call_expression"||i.type==="macro_invocation")&&(r=i),!r)return!1;let l=t==="python"?"call":"call_expression";if(r.type!==l)return!1;let u=r.namedChildren.find(e=>e.type==="arguments"||e.type==="argument_list");if(!u)return!1;let d=u.namedChildren.filter(e=>e.type!=="comment"),c=n.namedChildren.find(e=>e.type==="parameters"||e.type==="formal_parameters");if(!c)return!1;let a=[];for(let e of c.namedChildren)if(e.type==="identifier")a.push(e.text);else{let f=e.namedChildren.find(S=>S.type==="identifier");f&&a.push(f.text)}if(d.length!==a.length)return!1;for(let e=0;e<a.length;e+=1){let f=d[e];if(f.type!=="identifier"||f.text!==a[e])return!1}return!0}function j(n,t){let{scope:s,maxLoc:o=15,limit:i=30,scanLimit:r}=t??{},l=new b(n),u=D(w(l,s,o).sort((a,e)=>h(a)-h(e)||a.relativePath.localeCompare(e.relativePath)),r),d=l.calleeMap(u,{semantic:t?.semantic!==!1}),c=[];for(let a of u){let e=P(n,a,d.get(a.symbolId)??[]);e&&c.push(e)}return c.sort((a,e)=>a.loc-e.loc||a.file.localeCompare(e.file)),c.slice(0,i)}function P(n,t,s){let o=T(s);if(o.size!==1||!C(n,t.relativePath,t.startLine,t.endLine))return null;let[,i]=[...o.entries()][0];return{symbol:t.symbol,shortName:m(t.symbol),file:t.relativePath,startLine:t.startLine,endLine:t.endLine,loc:h(t),forwardsTo:i.symbol,forwardsToShort:m(i.symbol),forwardsToFile:i.file}}function T(n){let t=n.some(o=>p(o.symbol))?n.filter(o=>p(o.symbol)):n,s=new Map;for(let o of t)s.has(o.symbol)||s.set(o.symbol,o);return s}function w(n,t,s){return n.productionCallableDefinitions({scope:t,minLoc:3,maxLoc:s,requireFunctionLikeSymbol:!0,excludeRustTraitImplMembers:!0})}function h(n){return n.endLine-n.startLine+1}function D(n,t){return typeof t!="number"||t<=0||n.length<=t?n:n.slice(0,t)}export{j as a};
2
+ //# sourceMappingURL=chunk-GWBRU65E.js.map
@@ -0,0 +1,16 @@
1
+ import{a as h}from"./chunk-LNUZWWWL.js";import{q as p}from"./chunk-67OMD56K.js";import{s as u,v as m,x as g}from"./chunk-NLJCXHFU.js";import{execFileSync as d}from"child_process";function O(e,n={}){let t=b(e,n);return t.note?C(t.note,t.changedFileLines):t.changedFiles.length===0?D(t.changedFileLines):I(t.changedFiles,[S(e,t.changedFiles,t.changedFiles)])}function b(e,n={}){let{base:t="HEAD"}=n;try{let s=F(e.config.projectRoot,t);return{changedFileLines:s,changedFiles:_(e,s),note:s.length===0?"No changed files found.":void 0}}catch{return{changedFileLines:[],changedFiles:[],note:"Unable to compute git diff."}}}function S(e,n,t){let s=new h(e),r=new Set(t),a=[],l=new Map,o=n.flatMap(i=>s.definitionsForFile(i)).filter(N).sort((i,f)=>i.relativePath.localeCompare(f.relativePath)||i.startLine-f.startLine),c=p(e,o);for(let i of o)R(e,i,t,r,a,l,c.get(i.symbolId)??new Set);return{changedSymbols:a,consumerEntries:[...l.entries()].map(([i,f])=>({file:i,symbols:[...f].sort()}))}}function I(e,n){let t=new Map,s=n.flatMap(a=>a.changedSymbols);for(let a of n)for(let l of a.consumerEntries){let o=t.get(l.file);o||(o=new Set,t.set(l.file,o));for(let c of l.symbols)o.add(c)}let r=E(t);return{changedFiles:[...e],changedSymbols:s,affectedConsumers:r,summary:{totalChangedFiles:e.length,totalChangedSymbols:s.length,totalAffectedFiles:r.length}}}function C(e,n=[]){return{changedFiles:n,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:n.length,totalChangedSymbols:0,totalAffectedFiles:0,note:e}}}function D(e){return{changedFiles:e,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:e.length,totalChangedSymbols:0,totalAffectedFiles:0,note:"Changed files are not present in the current SCIP index."}}}function F(e,n){let t=d("git",["diff","--name-only",n],{encoding:"utf-8",cwd:e,timeout:1e4}),s=d("git",["diff","--name-only","--cached",n],{encoding:"utf-8",cwd:e,timeout:1e4}),r=d("git",["ls-files","--others","--exclude-standard"],{encoding:"utf-8",cwd:e,timeout:1e4});return[...new Set([t,s,r].flatMap(a=>a.split(`
2
+ `)).map(a=>a.trim()).filter(a=>a.length>0))]}function _(e,n){let t=[];for(let s of n){let r=e.get(`SELECT relative_path FROM documents
3
+ WHERE relative_path LIKE ?
4
+ LIMIT 1`,`%${s}`);r&&!e.isIgnored(r.relative_path)&&t.push(r.relative_path)}return t}function R(e,n,t,s,r,a,l){let o=Math.max(x(e,n.symbolId),l.size);if(!v(n,o))return;let c=u(n.symbol);r.push({symbol:n.symbol,shortName:c,file:n.relativePath,fanIn:o});for(let i of M(e,n.symbolId,t))y(e,s,a,i,c);for(let i of l)y(e,s,a,i,c)}function x(e,n){return e.get(`SELECT COUNT(DISTINCT c.document_id) AS fan_in
5
+ FROM mentions m
6
+ JOIN chunks c ON m.chunk_id = c.id
7
+ WHERE m.symbol_id = ?
8
+ AND m.role != 1`,n)?.fan_in??0}function M(e,n,t){return t.length===0?[]:e.all(`SELECT DISTINCT ref_d.relative_path
9
+ FROM mentions m
10
+ JOIN chunks c ON m.chunk_id = c.id
11
+ JOIN documents ref_d ON c.document_id = ref_d.id
12
+ WHERE m.symbol_id = ?
13
+ AND m.role != 1
14
+ AND ref_d.relative_path NOT IN (${t.map(()=>"?").join(",")})
15
+ ${e.pathExclusionsFor("ref_d")}`,n,...t).map(r=>r.relative_path)}function y(e,n,t,s,r){if(e.isIgnored(s)||n.has(s))return;let a=t.get(s);a||(a=new Set,t.set(s,a)),a.add(r)}function E(e){return[...e.entries()].map(([n,t])=>({file:n,consumedSymbols:t.size})).sort((n,t)=>t.consumedSymbols-n.consumedSymbols)}function N(e){return!(g(e.symbol)||e.parentTypeName!==null&&!m(e.symbol))}function v(e,n){return m(e.symbol)||e.isTypeLike?!0:e.parentTypeName===null&&n>0}export{O as a,b,S as c,I as d};
16
+ //# sourceMappingURL=chunk-I2KUHGMX.js.map
@@ -0,0 +1,10 @@
1
+ import{l as N}from"./chunk-EHEZLULQ.js";import{a as I,b as S}from"./chunk-BT36WY5B.js";import{F as p,J as g,s as d,u as b}from"./chunk-NLJCXHFU.js";function $(o,s,r={}){let{maxDepth:c=5,scope:a}=r,l=I(o,s);if(!l)return[];let u=[],f=new Set([l.symbolId]),m=new Set,t=[l];for(let e=1;e<=c&&t.length!==0;e++){let i=[];for(let y of t)for(let n of D(o,y,a)){let h=`${n.file}|${n.shortName}`;if(n.symbolId!==null){if(f.has(n.symbolId))continue;f.add(n.symbolId)}else if(m.has(h))continue;m.add(h),u.push({symbol:n.symbol,shortName:n.shortName,file:n.file,depth:e}),n.symbolId!==null&&n.symbolMatch&&i.push(n.symbolMatch)}t=i}return u.sort((e,i)=>e.depth-i.depth||e.file.localeCompare(i.file)),u}function D(o,s,r){let c=N(o,s,{limit:500}).filter(t=>!o.isIgnored(t.file)).filter(t=>!r||t.file.includes(r)),a=new Set(c.map(t=>t.file)),l=[];for(let t of M(o,s,r)){if(a.has(t))continue;let e=p(o,t),i=e.length>0?g(e,e[0].startLine):null;l.push({symbol:i?.symbol??t,file:t})}let u=[...c,...l],f=[],m=new Set;for(let t of u){let e=S(o,t.symbol);if(!e){let y=`${t.file}|${t.symbol}`;if(m.has(y))continue;m.add(y),f.push({symbolId:null,symbol:t.symbol,shortName:d(t.symbol),file:t.file,symbolMatch:null});continue}if(e.symbolId===s.symbolId||o.isIgnored(e.relativePath)||!_(e.symbol))continue;let i=`${e.symbolId}|${e.relativePath}`;m.has(i)||(m.add(i),f.push({symbolId:e.symbolId,symbol:e.symbol,shortName:d(e.symbol),file:e.relativePath,symbolMatch:e}))}return f}function M(o,s,r){let c=r?"AND consumer_d.relative_path LIKE ?":"",a=[s.symbolId,s.documentId];return r&&a.push(`%${r}%`),new Set(o.all(`SELECT DISTINCT consumer_d.relative_path
2
+ FROM mentions m
3
+ JOIN chunks c ON m.chunk_id = c.id
4
+ JOIN documents consumer_d ON consumer_d.id = c.document_id
5
+ WHERE m.symbol_id = ?
6
+ AND m.role != 1
7
+ AND c.document_id != ?
8
+ ${o.pathExclusionsFor("consumer_d")}
9
+ ${c}`,...a).map(l=>l.relative_path).filter(l=>!o.isIgnored(l)))}function _(o){let s=b(o);return s==="method"||s==="type"||o.endsWith("().")}export{$ as a};
10
+ //# sourceMappingURL=chunk-I5BB33E6.js.map
@@ -1,2 +1,2 @@
1
- import{c as a}from"./chunk-Y4DS3MDC.js";import{g as p}from"./chunk-3PVIYZ74.js";import{b as f}from"./chunk-QFZE73XF.js";function c(t){let r=o(t);return x(r)?"test":S(r)?"worker":y(r)?"entry":P(r)?"barrel":"source"}function _(t){return c(t)==="barrel"}function g(t){return h.get(t,()=>{let r=p(t),e=a(t).filter(s=>{let u=c(s);return u==="entry"||u==="worker"}),n=new Set,i=new Set;for(;e.length>0;){let s=e.shift();if(!n.has(s)){n.add(s),c(s)==="barrel"&&i.add(s);for(let u of r.get(s)??[])n.has(u)||e.push(u)}}return i})}var h=f("live-barrels");function b(t,r){return g(t).has(o(r))}function w(t){let r=g(t);return a(t).filter(e=>_(e)&&!r.has(e))}function D(t,r){let e=c(r);return e==="entry"||e==="worker"||b(t,r)}function E(t,r,e){let n=t.config.entryRoots;if(!n)return!1;let i=o(e);return!!(n.files?.some(s=>o(s)===i)||n.pathPrefixes?.some(s=>i.startsWith(o(s)))||n.qualifiedVars?.some(s=>$(r,s))||n.symbolPatterns?.some(s=>{try{return new RegExp(s).test(r)}catch{return!1}}))}var v=["%/__tests__/%","%.test.%","%.spec.%","%/test/%","%/tests/%","%_test.%","%_spec.%","%/test_%.%","%/spec_%.%"],B=["%/test-utils/%"];function x(t){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(t)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(t)||/(?:^|\/)spec_[^/]+$/i.test(t)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(t)||/(?:^|\/)[^/]+_tests\.rs$/i.test(t)||/(?:^|\/)tests\.rs$/i.test(t)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(t)||/(?:^|\/)__tests__\//i.test(t)||/(?:^|\/)test\//i.test(t)||/(?:^|\/)tests\//i.test(t)||/(?:^|\/)__fixtures__\//i.test(t)||/(?:^|\/)__mocks__\//i.test(t)||/(?:^|\/)test-support\//i.test(t)||/(?:^|\/)test-utils\//i.test(t)||/(?:^|\/)testing\//i.test(t))}function S(t){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(t)}function y(t){let r=t.split("/"),e=r[r.length-1]??t;return e==="cli.ts"||e==="cli.js"||e==="postinstall.ts"||e==="postinstall.js"||e==="main.ts"||e==="main.js"||e==="main.rs"||e==="main.go"||e==="main.py"||e==="build.rs"||e==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(t)||/(?:^|\/)examples\/[^/]+\.rs$/.test(t)||/(?:^|\/)tests\/[^/]+\.rs$/.test(t)||/(?:^|\/)benches\/[^/]+\.rs$/.test(t)?!0:e==="index.ts"||e==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(t)?!0:r.length<=2:!1}function P(t){return t==="index.ts"||t==="index.js"||t.endsWith("/index.ts")||t.endsWith("/index.js")||t.endsWith("/mod.rs")||t.endsWith("/__init__.py")}function o(t){return t.replace(/\\/g,"/")}function $(t,r){let e=r.lastIndexOf("/");if(e<0)return!1;let n=r.slice(0,e),i=r.slice(e+1);return t.includes(l(n)+"/")&&t.includes(l(i)+".")}function l(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}export{c as a,_ as b,b as c,w as d,D as e,E as f,v as g,B as h};
2
- //# sourceMappingURL=chunk-YXMHTJYY.js.map
1
+ import{c as a}from"./chunk-5IRX5I64.js";import{j as p}from"./chunk-EHEZLULQ.js";import{b as f}from"./chunk-NLJCXHFU.js";function c(t){let r=o(t);return x(r)?"test":S(r)?"worker":y(r)?"entry":P(r)?"barrel":"source"}function _(t){return c(t)==="barrel"}function g(t){return h.get(t,()=>{let r=p(t),e=a(t).filter(s=>{let u=c(s);return u==="entry"||u==="worker"}),n=new Set,i=new Set;for(;e.length>0;){let s=e.shift();if(!n.has(s)){n.add(s),c(s)==="barrel"&&i.add(s);for(let u of r.get(s)??[])n.has(u)||e.push(u)}}return i})}var h=f("live-barrels");function b(t,r){return g(t).has(o(r))}function w(t){let r=g(t);return a(t).filter(e=>_(e)&&!r.has(e))}function D(t,r){let e=c(r);return e==="entry"||e==="worker"||b(t,r)}function E(t,r,e){let n=t.config.entryRoots;if(!n)return!1;let i=o(e);return!!(n.files?.some(s=>o(s)===i)||n.pathPrefixes?.some(s=>i.startsWith(o(s)))||n.qualifiedVars?.some(s=>$(r,s))||n.symbolPatterns?.some(s=>{try{return new RegExp(s).test(r)}catch{return!1}}))}var v=["%/__tests__/%","%.test.%","%.spec.%","%/test/%","%/tests/%","%_test.%","%_spec.%","%/test_%.%","%/spec_%.%"],B=["%/test-utils/%"];function x(t){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(t)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(t)||/(?:^|\/)spec_[^/]+$/i.test(t)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(t)||/(?:^|\/)[^/]+_tests\.rs$/i.test(t)||/(?:^|\/)tests\.rs$/i.test(t)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(t)||/(?:^|\/)__tests__\//i.test(t)||/(?:^|\/)test\//i.test(t)||/(?:^|\/)tests\//i.test(t)||/(?:^|\/)__fixtures__\//i.test(t)||/(?:^|\/)__mocks__\//i.test(t)||/(?:^|\/)test-support\//i.test(t)||/(?:^|\/)test-utils\//i.test(t)||/(?:^|\/)testing\//i.test(t))}function S(t){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(t)}function y(t){let r=t.split("/"),e=r[r.length-1]??t;return e==="cli.ts"||e==="cli.js"||e==="postinstall.ts"||e==="postinstall.js"||e==="main.ts"||e==="main.js"||e==="main.rs"||e==="main.go"||e==="main.py"||e==="build.rs"||e==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(t)||/(?:^|\/)examples\/[^/]+\.rs$/.test(t)||/(?:^|\/)tests\/[^/]+\.rs$/.test(t)||/(?:^|\/)benches\/[^/]+\.rs$/.test(t)?!0:e==="index.ts"||e==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(t)?!0:r.length<=2:!1}function P(t){return t==="index.ts"||t==="index.js"||t.endsWith("/index.ts")||t.endsWith("/index.js")||t.endsWith("/mod.rs")||t.endsWith("/__init__.py")}function o(t){return t.replace(/\\/g,"/")}function $(t,r){let e=r.lastIndexOf("/");if(e<0)return!1;let n=r.slice(0,e),i=r.slice(e+1);return t.includes(l(n)+"/")&&t.includes(l(i)+".")}function l(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}export{c as a,_ as b,b as c,w as d,D as e,E as f,v as g,B as h};
2
+ //# sourceMappingURL=chunk-IIKNAXAE.js.map
@@ -1,4 +1,4 @@
1
- import{b as m}from"./chunk-MO65UK5V.js";import{D as o}from"./chunk-QFZE73XF.js";function y(t,l){let s=m(t,l);if(s.length===0)return{files:[],symbols:[],dependsOn:[],dependedOnBy:[]};let d=s.map(()=>"?").join(", "),i=t.all(`SELECT relative_path FROM documents
1
+ import{b as m}from"./chunk-LLDPR3DG.js";import{I as o}from"./chunk-NLJCXHFU.js";function y(t,l){let s=m(t,l);if(s.length===0)return{files:[],symbols:[],dependsOn:[],dependedOnBy:[]};let d=s.map(()=>"?").join(", "),i=t.all(`SELECT relative_path FROM documents
2
2
  WHERE relative_path IN (${d})
3
3
  ORDER BY relative_path`,...s).map(e=>e.relative_path).filter(e=>!t.isIgnored(e)),a=o(t,i,{onlyDocumented:!0,sort:!0}).map(({relativePath:e,...c})=>c),n=t.all(`SELECT DISTINCT d2.relative_path
4
4
  FROM mentions m
@@ -32,4 +32,4 @@ import{b as m}from"./chunk-MO65UK5V.js";import{D as o}from"./chunk-QFZE73XF.js";
32
32
  WHERE d2.relative_path IN (${d})
33
33
  AND d1.relative_path NOT IN (${d})
34
34
  ORDER BY d1.relative_path`,...s,...s).map(e=>e.relative_path).filter(e=>!t.isIgnored(e));return{files:i,symbols:a,dependsOn:n,dependedOnBy:r}}export{y as a};
35
- //# sourceMappingURL=chunk-MXWC53GJ.js.map
35
+ //# sourceMappingURL=chunk-IX45SWX5.js.map
@@ -1,4 +1,4 @@
1
- import{a as s}from"./chunk-MO65UK5V.js";function a(e,d){let i=s(e,d);return i?e.all(`SELECT DISTINCT d2.relative_path
1
+ import{a as s}from"./chunk-LLDPR3DG.js";function a(e,d){let i=s(e,d);return i?e.all(`SELECT DISTINCT d2.relative_path
2
2
  FROM mentions m
3
3
  JOIN chunks c ON m.chunk_id = c.id
4
4
  JOIN documents d1 ON c.document_id = d1.id
@@ -30,4 +30,4 @@ import{a as s}from"./chunk-MO65UK5V.js";function a(e,d){let i=s(e,d);return i?e.
30
30
  WHERE d2.relative_path = ?
31
31
  AND d1.relative_path != ?
32
32
  ORDER BY d1.relative_path`,i,i).filter(t=>!e.isIgnored(t.relative_path)).map(t=>({relativePath:t.relative_path})):[]}export{a,r as b};
33
- //# sourceMappingURL=chunk-ERRUE5G4.js.map
33
+ //# sourceMappingURL=chunk-JLFAQ2E2.js.map
@@ -0,0 +1,2 @@
1
+ import{c as p}from"./chunk-5IRX5I64.js";import{d as b,e as S,o as u}from"./chunk-EHEZLULQ.js";import{g as y}from"./chunk-33Z6HQBX.js";import{p as L}from"./chunk-67OMD56K.js";import{c as x}from"./chunk-BT36WY5B.js";import{F as I,J as R,d,t as h}from"./chunk-NLJCXHFU.js";function g(t,c,o){let e=u(t).get(o);if(!e||e.length===0)return[];if(e.length===1)return[m(e[0])];let s=e.filter(r=>r.file===c);if(s.length>0)return s.map(m);let n=F(t,c),i=n.get(o);if(i)for(let r of i){let f=e.filter(l=>w(r,l.file));if(f.length>0)return f.map(m)}let a=new Set;for(let r of n.values())for(let f of r)a.add(f);for(let r of a){let f=e.filter(l=>w(r,l.file));if(f.length>0&&f.length===e.length)return f.map(m)}return[]}function C(t,c,o){let e=g(t,c,o);if(e.length>0)return e;let s=u(t).get(o);return!s||s.length===0?[]:s.map(m)}function E(t,c,o={}){let e=x(t,c);if(!e)return[];let s=h(e.symbol);if(!s)return[];if(o.semantic!==!1){let i=L(t,{...e,leaf:s,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(i.length>0){let a=new Map;for(let r of i){let f=a.get(r.file)??[];f.push(r.line),a.set(r.file,f)}return D(t,a)}}let n=new Map;for(let i of p(t)){let a=d(t,i);if(!a||a.indexOf(s)===-1||i!==e.relativePath&&!g(t,i,s).some(l=>l.symbolId===e.symbolId))continue;let r=b(t,i,s,i===e.relativePath?{excludeStartLine:e.startLine,excludeEndLine:e.endLine}:{});r.length>0&&n.set(i,r)}return D(t,n)}function A(t,c){let o=new Map;for(let n of c){if(!n.leaf)continue;let i=o.get(n.leaf)??[];i.push(n),o.set(n.leaf,i)}if(o.size===0)return new Map;let e=new Set(c.map(n=>n.symbolId)),s=new Map;for(let n of p(t)){let i=S(t,n);if(i.size!==0){for(let a of i)if(o.has(a))for(let r of g(t,n,a)){if(!e.has(r.symbolId)||n===r.relativePath)continue;let f=s.get(r.symbolId);f||(f=new Set,s.set(r.symbolId,f)),f.add(n)}}}return s}function F(t,c){let o=new Map;for(let e of y(t,c)){if(!e.sourcePath)continue;let s=e.localName??e.importedName;if(s){let n=o.get(s);n||(n=new Set,o.set(s,n)),n.add(e.sourcePath)}if(e.kind==="namespace")for(let n of e.usedMembers){let i=o.get(n);i||(i=new Set,o.set(n,i)),i.add(e.sourcePath)}}return o}function w(t,c){let o=e=>e.replace(/\\/g,"/").replace(/^\.\//,"");return o(t)===o(c)}function m(t){return{symbolId:t.symbolId,symbol:t.symbol,relativePath:t.file}}function D(t,c){let o=[],e=new Set;for(let[s,n]of c){let i=I(t,s);for(let a of n){let r=R(i,a),f=`${s}|${a}|${r?.symbol??""}`;e.has(f)||(e.add(f),o.push({file:s,line:a,enclosingSymbol:r?.symbol??null}))}}return o}export{g as a,C as b,E as c,A as d};
2
+ //# sourceMappingURL=chunk-JMASYYSW.js.map
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-UAPNU7UP.js";import{c as u}from"./chunk-YXMHTJYY.js";import{e as l,f as a}from"./chunk-KW2F3WSV.js";import{o as d,q as c}from"./chunk-QFZE73XF.js";function C(e,t={}){let{scope:o,limit:r}=t,n=new m(e),i=x([...p(e,o),...f(e,n,o)]);return N(i),r?i.slice(0,r):i}function p(e,t){let o=[];for(let r of R(e,t)){if(e.isIgnored(r.barrel_path)||e.isIgnored(r.original_path)||u(e,r.barrel_path))continue;let n=b(e,r),i=n?.barrel_consumers??0,s=n?.direct_consumers??0;i!==0||s!==0||o.push({barrelFile:r.barrel_path,symbol:r.symbol,shortName:d(r.symbol),originalFile:r.original_path,barrelConsumers:i,directConsumers:s})}return o}function R(e,t){let o=t?`AND barrel_d.relative_path LIKE '%${t}%'`:"";return e.all(`SELECT DISTINCT
1
+ import{a as m}from"./chunk-LNUZWWWL.js";import{c as u}from"./chunk-IIKNAXAE.js";import{g as l,h as a}from"./chunk-33Z6HQBX.js";import{s as d,u as c}from"./chunk-NLJCXHFU.js";function C(e,t={}){let{scope:o,limit:r}=t,n=new m(e),i=x([...p(e,o),...f(e,n,o)]);return N(i),r?i.slice(0,r):i}function p(e,t){let o=[];for(let r of R(e,t)){if(e.isIgnored(r.barrel_path)||e.isIgnored(r.original_path)||u(e,r.barrel_path))continue;let n=b(e,r),i=n?.barrel_consumers??0,s=n?.direct_consumers??0;i!==0||s!==0||o.push({barrelFile:r.barrel_path,symbol:r.symbol,shortName:d(r.symbol),originalFile:r.original_path,barrelConsumers:i,directConsumers:s})}return o}function R(e,t){let o=t?`AND barrel_d.relative_path LIKE '%${t}%'`:"";return e.all(`SELECT DISTINCT
2
2
  barrel_d.id AS barrel_doc_id,
3
3
  barrel_d.relative_path AS barrel_path,
4
4
  gs.id AS symbol_id,
@@ -67,4 +67,4 @@ import{a as m}from"./chunk-UAPNU7UP.js";import{c as u}from"./chunk-YXMHTJYY.js";
67
67
  WHERE 1 = 1
68
68
  ${e.pathExclusionsFor("documents")}
69
69
  ORDER BY relative_path`),n=new Set;for(let i of r)if(!(e.isIgnored(i.relative_path)||i.relative_path===o))for(let s of l(e,i.relative_path))s.sourcePath===t&&n.add(i.relative_path);return n.size}function S(e,t){let o=e.definitionsForFile(t);return o.find(r=>c(r.symbol)==="method")??o[0]??null}function x(e){let t=new Set,o=[];for(let r of e){let n=`${r.barrelFile}|${r.symbol}|${r.originalFile}`;t.has(n)||(t.add(n),o.push(r))}return o}function N(e){e.sort((t,o)=>o.directConsumers-t.directConsumers||t.barrelFile.localeCompare(o.barrelFile)||t.shortName.localeCompare(o.shortName))}export{C as a};
70
- //# sourceMappingURL=chunk-E2V5SE6M.js.map
70
+ //# sourceMappingURL=chunk-LBWLO7NA.js.map
@@ -1,6 +1,6 @@
1
- import{a as p}from"./chunk-ZHHMG4UC.js";import{existsSync as f}from"fs";import{basename as u,isAbsolute as g,join as d}from"path";function S(t,o){let e=h(t,o,{allowMultiple:!1})[0]?.relativePath;return e||v(t,o)}function b(t,o){return h(t,o,{allowMultiple:!0}).map(e=>e.relativePath)}function v(t,o){if(!o)return null;let e=o.replace(/\\/g,"/").replace(/^\.\//,""),i=g(e)&&e.startsWith(t.config.projectRoot)?e.slice(t.config.projectRoot.length).replace(/^\/+/,""):e,n=d(t.config.projectRoot,i);return f(n)?i:null}function h(t,o,e){let i=m(o);if(!i)return[];let a=t.all(`SELECT relative_path
1
+ import{a as p}from"./chunk-BT36WY5B.js";import{existsSync as f}from"fs";import{basename as u,isAbsolute as g,join as d}from"path";function S(t,o){let e=h(t,o,{allowMultiple:!1})[0]?.relativePath;return e||v(t,o)}function b(t,o){return h(t,o,{allowMultiple:!0}).map(e=>e.relativePath)}function v(t,o){if(!o)return null;let e=o.replace(/\\/g,"/").replace(/^\.\//,""),i=g(e)&&e.startsWith(t.config.projectRoot)?e.slice(t.config.projectRoot.length).replace(/^\/+/,""):e,n=d(t.config.projectRoot,i);return f(n)?i:null}function h(t,o,e){let i=m(o);if(!i)return[];let a=t.all(`SELECT relative_path
2
2
  FROM documents
3
3
  WHERE 1 = 1
4
4
  ${t.pathExclusionsFor("documents")}
5
5
  ORDER BY relative_path`).filter(r=>!t.isIgnored(r.relative_path)).map(r=>({relativePath:r.relative_path,score:x(r.relative_path,i)})).filter(r=>r.score>0).sort((r,c)=>c.score-r.score||r.relativePath.localeCompare(c.relativePath));if(a.length===0){let r=p(t,o);return!r||t.isIgnored(r.relativePath)?[]:[{relativePath:r.relativePath,score:700}]}let s=a.filter(r=>r.score>=1100);if(s.length>0)return e.allowMultiple?s:[s[0]];let l=a.filter(r=>r.score>=800);return l.length>0?e.allowMultiple?l:[l[0]]:e.allowMultiple?a:[a[0]]}function x(t,o){let e=m(t),i=u(e),n=u(o),a=0;return e===o&&(a+=1200),e.endsWith(`/${o}`)&&(a+=1100),i===n&&(a+=900),e.startsWith(`${o}/`)&&(a+=850),e.includes(o)&&(a+=250),a}function m(t){return t.trim().replace(/\\/g,"/").replace(/^\.\//,"").replace(/^\/+/,"").replace(/\/+$/,"")}export{S as a,b};
6
- //# sourceMappingURL=chunk-MO65UK5V.js.map
6
+ //# sourceMappingURL=chunk-LLDPR3DG.js.map
@@ -0,0 +1,2 @@
1
+ import{a as b,e as A}from"./chunk-IIKNAXAE.js";import{a as p,b as O,d as E}from"./chunk-JMASYYSW.js";import{c as q}from"./chunk-5IRX5I64.js";import{b as F,c as L,f as D,j as M,n as N,p as v}from"./chunk-EHEZLULQ.js";import{F as P,H as T,g as m,h as g,i as h,p as R,v as C,w as I,y as x,z as k}from"./chunk-NLJCXHFU.js";function V(i,e,r){let c=e.identifierResolution==="strict"?p:O;for(let n of e.paths){let l=g(n);if(!l&&!(e.includeVueSfc&&h(n))||i.isIgnored(n)||e.skipPath?.(n))continue;let u=D(i,n);for(let[t,a]of u)if(!(e.candidateNames&&!e.candidateNames.has(t)))for(let f of c(i,n,t))r({sourceFile:n,name:t,target:f,occurrences:a.length,kind:"identifier"});if(e.includeCrossLanguageDispatchNames){for(let t of L(i,n))if(!(e.candidateNames&&!e.candidateNames.has(t)))for(let a of p(i,n,t))r({sourceFile:n,name:t,target:a,occurrences:1,kind:"cross-language-dispatch"})}if(e.includeRustAttributeNames&&l==="rust"){for(let t of F(i,n))if(!(e.candidateNames&&!e.candidateNames.has(t)))for(let a of c(i,n,t))r({sourceFile:n,name:t,target:a,occurrences:1,kind:"rust-attribute"})}}}var G=class{constructor(e){this.db=e}db;scopedDefinitions(e){return T(this.db,e)}definitionsForFile(e){return P(this.db,e)}productionCallableDefinitions(e={}){let{scope:r,minLoc:c=1,maxLoc:n=Number.POSITIVE_INFINITY,excludeSymbol:l,excludeEntrySurfaces:u=!1,excludeTypesFiles:t=!1,requireFunctionLikeSymbol:a=!1,requireCallableSymbol:f=!1,excludeRustTraitImplMembers:K=!1,includeSuppressed:j=!1,sortByLocDesc:B=!1}=e,d=[];for(let o of this.scopedDefinitions(r)){let s=o.relativePath;if(this.db.isIgnored(s)||u&&A(this.db,s)||!H(o,{requireFunctionLikeSymbol:a,requireCallableSymbol:f})||l!==void 0&&o.symbol===l)continue;let S=y(o);S<c||S>n||t&&Y(s)||K&&x(o.symbol)||b(s)!=="test"&&(k(o.symbol)||!j&&m(this.db,s,o.startLine)||d.push(o))}return B?d.sort((o,s)=>y(s)-y(o)):d}calleeMap(e,r={}){return N(this.db,e,r)}crossFileCallerMap(e,r={}){return v(this.db,e,r)}sourceFallbackCallerFiles(e){return E(this.db,e)}fileDependencyGraph(e){return M(this.db,e)}fileKind(e){return b(e)}hasSuppressionComment(e){return m(this.db,e.relativePath,e.startLine)}sourceFiles(){return q(this.db)}scanSourceReferences(e,r){V(this.db,e,r)}callableSignature(e){return R(this.db,e.relativePath,e.startLine,e.endLine)}};function y(i){return i.endLine-i.startLine+1}function H(i,e){return e.requireCallableSymbol?C(i.symbol):e.requireFunctionLikeSymbol?I(i.symbol):i.isFunctionLike}function Y(i){return(i.split("/").pop()??"").includes("types")}export{G as a};
2
+ //# sourceMappingURL=chunk-LNUZWWWL.js.map
@@ -1,6 +1,6 @@
1
- function h(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(r,i)),i};return{get(r,i,a){let s=t(r);if(s.has(i))return s.get(i);let c=a();return s.set(i,c),c},invalidate(r,i){n.get(r)?.delete(i)},invalidateAll(r){n.delete(r)},size(r){return n.get(r)?.size??0}}}function Fe(e){let n=new WeakMap;return{get(t,r){let i=n.get(t);if(i)return i.value;let a=r();return n.set(t,{value:a}),a},invalidate(t){n.delete(t)},has(t){return n.has(t)}}}function I(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(r,i)),i};return{get(r,i,a,s){let c=t(r),o=c.get(i);if(o&&o.source===a)return o.value;let l=s();return c.set(i,{source:a,value:l}),l},invalidate(r,i){n.get(r)?.delete(i)},invalidateAll(r){n.delete(r)}}}import{existsSync as K,readFileSync as G}from"fs";import{join as q}from"path";var J=h("source-text");function m(e,n){let t=n.replace(/\\/g,"/");return J.get(e,t,()=>{let r=q(e.config.projectRoot,t);return K(r)?G(r,"utf-8"):""})}var X=/scip-query[\s:-]*ignore[\s:-]*(?:dead(?:-code)?|stale|wrapper|passthrough|drift|extract)?/i;function Be(e,n,t){if(t<=0)return!1;let r=m(e,n);if(!r)return!1;let i=r.split(`
2
- `);for(let a=t-1;a>=0&&a>=t-5;a-=1){let s=(i[a]??"").trim();if(s!==""){if(X.test(s))return!0;if(!s.startsWith("//")&&!s.startsWith("*")&&!s.startsWith("/*")&&!s.startsWith("@")&&!s.startsWith("#"))return!1}}return!1}import{extname as N}from"path";import{createRequire as Z}from"module";var f=Z(import.meta.url),x=null,M=!1;function T(){if(M)return null;if(x)return x;try{return x=f("tree-sitter"),x}catch{return M=!0,null}}var ee={".rs":"rust",".ts":"typescript",".mts":"typescript",".cts":"typescript",".tsx":"tsx",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".py":"python",".pyi":"python",".java":"java",".kt":"kotlin",".kts":"kotlin",".scala":"scala",".sc":"scala",".rb":"ruby",".c":"c",".h":"c",".cc":"cpp",".cpp":"cpp",".cxx":"cpp",".hpp":"cpp",".hh":"cpp",".hxx":"cpp",".cs":"csharp",".php":"php",".vb":"vb"},A=new Map,L=new Set;function E(e){if(L.has(e))return null;let n=A.get(e);if(n)return n;let t;try{switch(e){case"rust":t=f("tree-sitter-rust");break;case"typescript":t=f("tree-sitter-typescript").typescript;break;case"tsx":t=f("tree-sitter-typescript").tsx;break;case"javascript":t=f("tree-sitter-javascript");break;case"python":t=f("tree-sitter-python");break;case"java":t=f("tree-sitter-java");break;case"kotlin":t=f("tree-sitter-kotlin");break;case"scala":t=f("tree-sitter-scala");break;case"ruby":t=f("tree-sitter-ruby");break;case"c":t=f("tree-sitter-c");break;case"cpp":t=f("tree-sitter-cpp");break;case"csharp":t=f("tree-sitter-c-sharp");break;case"php":t=f("tree-sitter-php").php;break;case"vb":{let r=f("tree-sitter-vb-dotnet");t=r.language??r;break}}}catch{return L.add(e),null}return A.set(e,t),t}var w=new Map;function P(e){let n=w.get(e);if(n)return n;let t=E(e);if(!t)return null;let r=T();if(!r)return null;let i=new r;try{i.setLanguage(t)}catch{return L.add(e),null}return w.set(e,i),i}function S(e){return ee[N(e).toLowerCase()]??null}function te(e){return N(e).toLowerCase()===".vue"}var O=I("ast-trees");function C(e,n){if(te(n))return ne(e,n);let t=S(n);if(!t)return null;let r=m(e,n);return r?O.get(e,n,r,()=>{let i=P(t);if(!i)return null;try{return $(i,r)}catch{return null}}):null}function ne(e,n){let t=m(e,n);return t?O.get(e,n,t,()=>{let r=re(t);if(!r)return null;let i=P(r.language);if(!i)return null;let a=`
3
- `.repeat(r.startLine)+r.body;try{return $(i,a)}catch{return null}}):null}function $(e,n){return e.parse(r=>r>=n.length?null:n.slice(r,Math.min(n.length,r+16384)))}function re(e){let n=[],t=/<script\b([^>]*)>([\s\S]*?)<\/script>/g;for(let o of e.matchAll(t))typeof o.index=="number"&&n.push({tagOpen:o[1]??"",body:o[2]??"",openIdx:o.index+(o[0].length-(o[2]?.length??0)-9)});if(n.length===0)return null;let r=n.find(o=>/\bsetup\b/.test(o.tagOpen))??n[0],a=r.tagOpen.match(/\blang\s*=\s*["']?([\w-]+)/)?.[1]?.toLowerCase(),s=a==="ts"||a==="typescript"?"typescript":a==="tsx"?"tsx":"javascript",c=ie(e,r.openIdx);return{body:r.body,startLine:c,language:s}}function ie(e,n){let t=0;for(let r=0;r<n&&r<e.length;r++)e.charCodeAt(r)===10&&t++;return t}var g=new Map;function ae(e,n){let t=`${e}::${n}`;if(g.has(t))return g.get(t)??null;let r=E(e);if(!r)return g.set(t,null),null;let i=T();if(!i)return g.set(t,null),null;try{let a=new i.Query(r,n);return g.set(t,a),a}catch{return g.set(t,null),null}}var se={rust:`
1
+ function h(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(r,i)),i};return{get(r,i,a){let s=t(r);if(s.has(i))return s.get(i);let c=a();return s.set(i,c),c},invalidate(r,i){n.get(r)?.delete(i)},invalidateAll(r){n.delete(r)},size(r){return n.get(r)?.size??0}}}function $e(e){let n=new WeakMap;return{get(t,r){let i=n.get(t);if(i)return i.value;let a=r();return n.set(t,{value:a}),a},invalidate(t){n.delete(t)},has(t){return n.has(t)}}}function M(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(r,i)),i};return{get(r,i,a,s){let c=t(r),o=c.get(i);if(o&&o.source===a)return o.value;let l=s();return c.set(i,{source:a,value:l}),l},invalidate(r,i){n.get(r)?.delete(i)},invalidateAll(r){n.delete(r)}}}import{existsSync as q,readFileSync as J}from"fs";import{join as X}from"path";var D=h("source-text");function m(e,n){let t=n.replace(/\\/g,"/");return D.get(e,t,()=>{let r=X(e.config.projectRoot,t);return q(r)?J(r,"utf-8"):""})}function Be(e){D.invalidateAll(e)}function He(e,n){D.invalidate(e,n.replace(/\\/g,"/"))}var Z=/scip-query[\s:-]*ignore[\s:-]*(?:dead(?:-code)?|stale|wrapper|passthrough|drift|extract)?/i;function ze(e,n,t){if(t<=0)return!1;let r=m(e,n);if(!r)return!1;let i=r.split(`
2
+ `);for(let a=t-1;a>=0&&a>=t-5;a-=1){let s=(i[a]??"").trim();if(s!==""){if(Z.test(s))return!0;if(!s.startsWith("//")&&!s.startsWith("*")&&!s.startsWith("/*")&&!s.startsWith("@")&&!s.startsWith("#"))return!1}}return!1}import{extname as E}from"path";import{createRequire as ee}from"module";var f=ee(import.meta.url),x=null,w=!1;function P(){if(w)return null;if(x)return x;try{return x=f("tree-sitter"),x}catch{return w=!0,null}}var te={".rs":"rust",".ts":"typescript",".mts":"typescript",".cts":"typescript",".tsx":"tsx",".js":"javascript",".jsx":"javascript",".mjs":"javascript",".cjs":"javascript",".py":"python",".pyi":"python",".java":"java",".kt":"kotlin",".kts":"kotlin",".scala":"scala",".sc":"scala",".rb":"ruby",".c":"c",".h":"c",".cc":"cpp",".cpp":"cpp",".cxx":"cpp",".hpp":"cpp",".hh":"cpp",".hxx":"cpp",".cs":"csharp",".php":"php",".vb":"vb"},R=new Map,C=new Set;function F(e){if(C.has(e))return null;let n=R.get(e);if(n)return n;let t;try{switch(e){case"rust":t=f("tree-sitter-rust");break;case"typescript":t=f("tree-sitter-typescript").typescript;break;case"tsx":t=f("tree-sitter-typescript").tsx;break;case"javascript":t=f("tree-sitter-javascript");break;case"python":t=f("tree-sitter-python");break;case"java":t=f("tree-sitter-java");break;case"kotlin":t=f("tree-sitter-kotlin");break;case"scala":t=f("tree-sitter-scala");break;case"ruby":t=f("tree-sitter-ruby");break;case"c":t=f("tree-sitter-c");break;case"cpp":t=f("tree-sitter-cpp");break;case"csharp":t=f("tree-sitter-c-sharp");break;case"php":t=f("tree-sitter-php").php;break;case"vb":{let r=f("tree-sitter-vb-dotnet");t=r.language??r;break}}}catch{return C.add(e),null}return R.set(e,t),t}var N=new Map;function O(e){let n=N.get(e);if(n)return n;let t=F(e);if(!t)return null;let r=P();if(!r)return null;let i=new r;try{i.setLanguage(t)}catch{return C.add(e),null}return N.set(e,i),i}function S(e){return te[E(e).toLowerCase()]??null}function ne(e){return E(e).toLowerCase()===".vue"}var _=M("ast-trees");function Je(e){_.invalidateAll(e)}function Xe(e,n){_.invalidate(e,n)}function k(e,n){if(ne(n))return re(e,n);let t=S(n);if(!t)return null;let r=m(e,n);return r?_.get(e,n,r,()=>{let i=O(t);if(!i)return null;try{return $(i,r)}catch{return null}}):null}function re(e,n){let t=m(e,n);return t?_.get(e,n,t,()=>{let r=ie(t);if(!r)return null;let i=O(r.language);if(!i)return null;let a=`
3
+ `.repeat(r.startLine)+r.body;try{return $(i,a)}catch{return null}}):null}function $(e,n){return e.parse(r=>r>=n.length?null:n.slice(r,Math.min(n.length,r+16384)))}function ie(e){let n=[],t=/<script\b([^>]*)>([\s\S]*?)<\/script>/g;for(let o of e.matchAll(t))typeof o.index=="number"&&n.push({tagOpen:o[1]??"",body:o[2]??"",openIdx:o.index+(o[0].length-(o[2]?.length??0)-9)});if(n.length===0)return null;let r=n.find(o=>/\bsetup\b/.test(o.tagOpen))??n[0],a=r.tagOpen.match(/\blang\s*=\s*["']?([\w-]+)/)?.[1]?.toLowerCase(),s=a==="ts"||a==="typescript"?"typescript":a==="tsx"?"tsx":"javascript",c=ae(e,r.openIdx);return{body:r.body,startLine:c,language:s}}function ae(e,n){let t=0;for(let r=0;r<n&&r<e.length;r++)e.charCodeAt(r)===10&&t++;return t}var g=new Map;function se(e,n){let t=`${e}::${n}`;if(g.has(t))return g.get(t)??null;let r=F(e);if(!r)return g.set(t,null),null;let i=P();if(!i)return g.set(t,null),null;try{let a=new i.Query(r,n);return g.set(t,a),a}catch{return g.set(t,null),null}}var oe={rust:`
4
4
  (function_item name: (identifier) @name) @def
5
5
  (function_signature_item name: (identifier) @name) @def
6
6
  `,typescript:`
@@ -26,7 +26,7 @@ function h(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(
26
26
  (variable_declarator name: (identifier) @name value: (function_expression)) @def
27
27
  `,python:`
28
28
  (function_definition name: (identifier) @name) @def
29
- `},oe=new WeakMap;function F(e,n){return j(e,n,oe,se,t=>{let r=[];for(let i of t){let a=null,s=null;for(let c of i.captures)c.name==="name"?a=c.node.text:c.name==="def"&&(s={startLine:c.node.startPosition.row,endLine:c.node.endPosition.row});a&&s&&r.push({name:a,startLine:s.startLine,endLine:s.endLine})}return r})}var ce={rust:`
29
+ `},ce=new WeakMap;function j(e,n){return Q(e,n,ce,oe,t=>{let r=[];for(let i of t){let a=null,s=null;for(let c of i.captures)c.name==="name"?a=c.node.text:c.name==="def"&&(s={startLine:c.node.startPosition.row,endLine:c.node.endPosition.row});a&&s&&r.push({name:a,startLine:s.startLine,endLine:s.endLine})}return r})}var le={rust:`
30
30
  (call_expression function: (_) @target) @call
31
31
  (macro_invocation macro: (_) @target) @call
32
32
  `,typescript:`
@@ -40,7 +40,7 @@ function h(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(
40
40
  (new_expression constructor: (_) @target) @call
41
41
  `,python:`
42
42
  (call function: (_) @target) @call
43
- `},le=new WeakMap;function Ge(e,n){return j(e,n,le,ce,t=>{let r=[];for(let i of t){let a=null,s=null;for(let o of i.captures)o.name==="target"?a=o.node:o.name==="call"&&(s=o.node);if(!a||!s)continue;let c=D(a);c&&r.push({calleeLeaf:c,memberAccess:ue(a),line:s.startPosition.row})}return r})}function ue(e){switch(e.type){case"field_expression":case"member_expression":case"attribute":return!0;default:return!1}}function qe(e,n){return de(e,n,fe,()=>new Map,(t,r,i)=>{let a=(o,l)=>{if(o===l)return;let u=i.get(o);u||(u=new Set,i.set(o,u)),u.add(l)},s=r==="python"?new Set(["identifier"]):new Set(["type_identifier"]),c=(o,l)=>{let u=d=>{s.has(d.type)&&d.text!==l&&a(d.text,l);for(let y of d.children)u(y)};for(let d of o.children)u(d)};if(r==="rust")for(let o of t.rootNode.descendantsOfType(["struct_item","enum_item","union_item","type_item"])){let l=o.namedChildren.find(d=>d.type==="type_identifier")?.text;if(!l)continue;let u=o.namedChildren.find(d=>d.type==="field_declaration_list"||d.type==="enum_variant_list"||d.type==="ordered_field_declaration_list");u&&c(u,l),o.type==="type_item"&&c(o,l)}else if(r==="python")for(let o of t.rootNode.descendantsOfType("class_definition")){let l=o.namedChildren.find(d=>d.type==="identifier")?.text;if(!l)continue;let u=o.namedChildren.find(d=>d.type==="block");if(u)for(let d of u.descendantsOfType("type"))for(let y of d.descendantsOfType("identifier"))y.text!==l&&a(y.text,l)}else for(let o of t.rootNode.descendantsOfType(["interface_declaration","type_alias_declaration","class_declaration"])){let l=o.namedChildren.find(u=>u.type==="type_identifier")?.text;l&&c(o,l)}})??new Map}function de(e,n,t,r,i){let a=S(n);if(!a)return null;let s=C(e,n);if(!s)return null;let c=t.get(s);if(c)return c;let o=r();return i(s,a,o),t.set(s,o),o}function j(e,n,t,r,i){let a=S(n);if(!a)return null;let s=r[a];if(!s)return null;let c=C(e,n);if(!c)return null;let o=t.get(c);if(o)return o;let l=ae(a,s);if(!l)return null;let u=i(l.matches(c.rootNode));return t.set(c,u),u}var fe=new WeakMap,R=new WeakMap;function Je(e,n,t,r){let i=S(n);if(!i)return null;let a=C(e,n);if(!a)return null;let s=R.get(a);return s||(s=pe(a,i),R.set(a,s)),s.get(`${t}:${r}`)??null}function pe(e,n){let t=n==="rust"?new Set(["function_item","function_signature_item"]):n==="python"?new Set(["function_definition"]):new Set(["function_declaration","method_definition","arrow_function","function_expression"]),r=new Map,i=a=>{if(t.has(a.type)){let s=a.namedChildren.find(o=>o.type==="parameters"||o.type==="formal_parameters"),c=0;if(s)for(let o of s.namedChildren)o.type==="comment"||o.type==="line_comment"||o.type==="block_comment"||(c+=1);r.set(`${a.startPosition.row}:${a.endPosition.row}`,{paramCount:c})}for(let s of a.children)i(s)};return i(e.rootNode),r}function D(e){switch(e.type){case"identifier":case"type_identifier":case"property_identifier":case"shorthand_property_identifier":return e.text;case"field_expression":case"member_expression":case"attribute":{let n=e.namedChild(e.namedChildCount-1);return n?D(n):null}case"scoped_identifier":{let n=e.childForFieldName("name")??e.namedChild(e.namedChildCount-1);return n?D(n):null}case"super":case"self":case"this":return null;default:return null}}var me={"/":"namespace","#":"type",".":"term","[":"type-param",":":"meta","!":"macro"};function p(e){if(e.startsWith("local "))return{kind:"local",id:e.slice(6),raw:e};let n=e.split(" ");if(n.length<4)return{scheme:n[0]??"",manager:n[1]??"",packageName:n[2]??"",version:"",descriptors:[],raw:e};let t=n[0],r=n[1],i=e.slice(t.length+1+r.length+1),a;if(i.startsWith("`")){let l=i.indexOf("`",1);l===-1?(a=i.slice(1),i=""):(a=i.slice(1,l),i=i.slice(l+2))}else{let l=i.indexOf(" ");l===-1?(a=i,i=""):(a=i.slice(0,l),i=i.slice(l+1))}let s,c=i.indexOf(" ");c===-1?(s=i,i=""):(s=i.slice(0,c),i=i.slice(c+1));let o=ge(i);return{scheme:t,manager:r,packageName:a,version:s,descriptors:o,raw:e}}function ge(e){let n=[],t=0;for(;t<e.length;){if(e[t]==="["){let a=e.indexOf("]",t+1);if(a===-1){n.push({name:e.slice(t+1),suffix:"type-param"});break}n.push({name:e.slice(t+1,a),suffix:"type-param"}),t=a+1;continue}if(e[t]==="("&&(n.length===0||t===0||Q(e[t-1]))){let a=e.indexOf(")",t+1);if(a!==-1&&e[a+1]!=="."){n.push({name:e.slice(t+1,a),suffix:"parameter"}),t=a+1;continue}}let r;if(e[t]==="`"){let a=e.indexOf("`",t+1);if(a===-1){r=e.slice(t+1),n.push({name:r,suffix:"term"});break}r=e.slice(t+1,a),t=a+1}else{let a=t;for(;t<e.length&&!Q(e[t]);)t++;r=e.slice(a,t)}if(t>=e.length){r&&n.push({name:r,suffix:"term"});break}let i=e[t];if(i==="("){let a=e.indexOf(")",t+1);a!==-1&&e[a+1]==="."?(n.push({name:r,suffix:"method"}),t=a+2):a!==-1?(n.push({name:r,suffix:"method"}),t=a+1):(n.push({name:r,suffix:"term"}),t++)}else{let a=me[i];a&&n.push({name:r,suffix:a}),t+=1}}return n}function Q(e){return e==="/"||e==="#"||e==="."||e==="("||e==="["||e===":"||e==="!"}function V(e){let n=p(e);if("kind"in n&&n.kind==="local")return`local:${n.id}`;let t=n;if(t.descriptors.length===0)return t.raw;let r=[];for(let i of t.descriptors){let a=be(i);a&&r.push(a)}return r.join(":")}function be(e){let n=e.suffix==="namespace"?ye(e.name):e.name;return n?e.suffix==="method"?`${n}()`:n:""}function ye(e){return e.replace(/\.(ts|tsx|js|jsx|mjs|cjs)$/,"").replace(/\.(py|pyi)$/,"").replace(/\.(rs)$/,"").replace(/\.(java|scala|kt|kts)$/,"").replace(/\.(rb)$/,"").replace(/\.(go)$/,"").replace(/\.(cs|vb)$/,"").replace(/\.(dart)$/,"").replace(/\.(php)$/,"").replace(/\.(c|cc|cpp|cxx|h|hpp)$/,"")}function W(e){let n=p(e);if("kind"in n&&n.kind==="local")return n.id;let t=n;return t.descriptors.length===0?"":t.descriptors[t.descriptors.length-1].name}function b(e){let n=p(e);if("kind"in n&&n.kind==="local")return null;let t=n;return t.descriptors[t.descriptors.length-1]?.suffix??null}function Ze(e){return e.endsWith("().")||b(e)==="method"}function B(e){let n=b(e);return n==="method"||n==="term"}function et(e){return b(e)==="namespace"}var he=/^rust-analyzer\b.*[\s/]impl#\[[^\]]+\]\[[^\]]+\]/;function tt(e){return he.test(e)}var xe=new Set(["test","tests","_tests"]);function nt(e){let n=p(e);if("kind"in n)return!1;for(let t=0;t<n.descriptors.length-1;t+=1){let r=n.descriptors[t];if(r?.suffix==="namespace"&&r.name&&xe.has(r.name))return!0}return!1}function rt(e,n){let t=p(e),r=p(n);if("kind"in t||"kind"in r)return!1;let i=t.descriptors,a=r.descriptors;if(a.length!==i.length+1)return!1;for(let s=0;s<i.length;s++){let c=i[s],o=a[s];if(c.name!==o.name||c.suffix!==o.suffix)return!1}return!0}function it(e,n){let t=p(e),r=p(n);if("kind"in t||"kind"in r)return!1;let i=t.descriptors,a=r.descriptors;if(a.length<=i.length)return!1;for(let s=0;s<i.length;s++){let c=i[s],o=a[s];if(c.name!==o.name||c.suffix!==o.suffix)return!1}return!0}function z(e){return!e||!e.trim()?null:e.replace(/^```\w*\s*/,"").replace(/\s*```$/,"").replace(/^\(method\)\s*/,"").replace(/^\(property\)\s*/,"").replace(/^\(function\)\s*/,"").replace(/^\(class\)\s*/,"").replace(/^\(interface\)\s*/,"").replace(/^\(enum\)\s*/,"").replace(/^\(type alias\)\s*/,"").replace(/^\(const\)\s*/,"").replace(/^\(var\)\s*/,"").trim()||null}function U(e){if(!e)return null;let n=H(e);if(n)return n.replace(/\n/g," ");let t=e.indexOf("|");if(t===-1)return e.replace(/\n/g," ");let r=e.slice(t+1);return(H(r)??r).replace(/\n/g," ")}function H(e){return/^```(?:\w+)?\s*\n?([\s\S]*?)\n?```/.exec(e.trimStart())?.[1]?.trim()||null}var Se=h("file-definitions");function k(e,n){return Se.get(e,n,()=>{let t=Ce(_e(e,n),Le(e,n));return Ie(e,n,t.map(De))})}function _e(e,n){return e.all(`SELECT
43
+ `},ue=new WeakMap;function Ze(e,n){return Q(e,n,ue,le,t=>{let r=[];for(let i of t){let a=null,s=null;for(let o of i.captures)o.name==="target"?a=o.node:o.name==="call"&&(s=o.node);if(!a||!s)continue;let c=v(a);c&&r.push({calleeLeaf:c,memberAccess:de(a),line:s.startPosition.row})}return r})}function de(e){switch(e.type){case"field_expression":case"member_expression":case"attribute":return!0;default:return!1}}function et(e,n){return fe(e,n,pe,()=>new Map,(t,r,i)=>{let a=(o,l)=>{if(o===l)return;let u=i.get(o);u||(u=new Set,i.set(o,u)),u.add(l)},s=r==="python"?new Set(["identifier"]):new Set(["type_identifier"]),c=(o,l)=>{let u=d=>{s.has(d.type)&&d.text!==l&&a(d.text,l);for(let y of d.children)u(y)};for(let d of o.children)u(d)};if(r==="rust")for(let o of t.rootNode.descendantsOfType(["struct_item","enum_item","union_item","type_item"])){let l=o.namedChildren.find(d=>d.type==="type_identifier")?.text;if(!l)continue;let u=o.namedChildren.find(d=>d.type==="field_declaration_list"||d.type==="enum_variant_list"||d.type==="ordered_field_declaration_list");u&&c(u,l),o.type==="type_item"&&c(o,l)}else if(r==="python")for(let o of t.rootNode.descendantsOfType("class_definition")){let l=o.namedChildren.find(d=>d.type==="identifier")?.text;if(!l)continue;let u=o.namedChildren.find(d=>d.type==="block");if(u)for(let d of u.descendantsOfType("type"))for(let y of d.descendantsOfType("identifier"))y.text!==l&&a(y.text,l)}else for(let o of t.rootNode.descendantsOfType(["interface_declaration","type_alias_declaration","class_declaration"])){let l=o.namedChildren.find(u=>u.type==="type_identifier")?.text;l&&c(o,l)}})??new Map}function fe(e,n,t,r,i){let a=S(n);if(!a)return null;let s=k(e,n);if(!s)return null;let c=t.get(s);if(c)return c;let o=r();return i(s,a,o),t.set(s,o),o}function Q(e,n,t,r,i){let a=S(n);if(!a)return null;let s=r[a];if(!s)return null;let c=k(e,n);if(!c)return null;let o=t.get(c);if(o)return o;let l=se(a,s);if(!l)return null;let u=i(l.matches(c.rootNode));return t.set(c,u),u}var pe=new WeakMap,T=new WeakMap;function tt(e,n,t,r){let i=S(n);if(!i)return null;let a=k(e,n);if(!a)return null;let s=T.get(a);return s||(s=me(a,i),T.set(a,s)),s.get(`${t}:${r}`)??null}function me(e,n){let t=n==="rust"?new Set(["function_item","function_signature_item"]):n==="python"?new Set(["function_definition"]):new Set(["function_declaration","method_definition","arrow_function","function_expression"]),r=new Map,i=a=>{if(t.has(a.type)){let s=a.namedChildren.find(o=>o.type==="parameters"||o.type==="formal_parameters"),c=0;if(s)for(let o of s.namedChildren)o.type==="comment"||o.type==="line_comment"||o.type==="block_comment"||(c+=1);r.set(`${a.startPosition.row}:${a.endPosition.row}`,{paramCount:c})}for(let s of a.children)i(s)};return i(e.rootNode),r}function v(e){switch(e.type){case"identifier":case"type_identifier":case"property_identifier":case"shorthand_property_identifier":return e.text;case"field_expression":case"member_expression":case"attribute":{let n=e.namedChild(e.namedChildCount-1);return n?v(n):null}case"scoped_identifier":{let n=e.childForFieldName("name")??e.namedChild(e.namedChildCount-1);return n?v(n):null}case"super":case"self":case"this":return null;default:return null}}var ge={"/":"namespace","#":"type",".":"term","[":"type-param",":":"meta","!":"macro"};function p(e){if(e.startsWith("local "))return{kind:"local",id:e.slice(6),raw:e};let n=e.split(" ");if(n.length<4)return{scheme:n[0]??"",manager:n[1]??"",packageName:n[2]??"",version:"",descriptors:[],raw:e};let t=n[0],r=n[1],i=e.slice(t.length+1+r.length+1),a;if(i.startsWith("`")){let l=i.indexOf("`",1);l===-1?(a=i.slice(1),i=""):(a=i.slice(1,l),i=i.slice(l+2))}else{let l=i.indexOf(" ");l===-1?(a=i,i=""):(a=i.slice(0,l),i=i.slice(l+1))}let s,c=i.indexOf(" ");c===-1?(s=i,i=""):(s=i.slice(0,c),i=i.slice(c+1));let o=be(i);return{scheme:t,manager:r,packageName:a,version:s,descriptors:o,raw:e}}function be(e){let n=[],t=0;for(;t<e.length;){if(e[t]==="["){let a=e.indexOf("]",t+1);if(a===-1){n.push({name:e.slice(t+1),suffix:"type-param"});break}n.push({name:e.slice(t+1,a),suffix:"type-param"}),t=a+1;continue}if(e[t]==="("&&(n.length===0||t===0||V(e[t-1]))){let a=e.indexOf(")",t+1);if(a!==-1&&e[a+1]!=="."){n.push({name:e.slice(t+1,a),suffix:"parameter"}),t=a+1;continue}}let r;if(e[t]==="`"){let a=e.indexOf("`",t+1);if(a===-1){r=e.slice(t+1),n.push({name:r,suffix:"term"});break}r=e.slice(t+1,a),t=a+1}else{let a=t;for(;t<e.length&&!V(e[t]);)t++;r=e.slice(a,t)}if(t>=e.length){r&&n.push({name:r,suffix:"term"});break}let i=e[t];if(i==="("){let a=e.indexOf(")",t+1);a!==-1&&e[a+1]==="."?(n.push({name:r,suffix:"method"}),t=a+2):a!==-1?(n.push({name:r,suffix:"method"}),t=a+1):(n.push({name:r,suffix:"term"}),t++)}else{let a=ge[i];a&&n.push({name:r,suffix:a}),t+=1}}return n}function V(e){return e==="/"||e==="#"||e==="."||e==="("||e==="["||e===":"||e==="!"}function W(e){let n=p(e);if("kind"in n&&n.kind==="local")return`local:${n.id}`;let t=n;if(t.descriptors.length===0)return t.raw;let r=[];for(let i of t.descriptors){let a=ye(i);a&&r.push(a)}return r.join(":")}function ye(e){let n=e.suffix==="namespace"?he(e.name):e.name;return n?e.suffix==="method"?`${n}()`:n:""}function he(e){return e.replace(/\.(ts|tsx|js|jsx|mjs|cjs)$/,"").replace(/\.(py|pyi)$/,"").replace(/\.(rs)$/,"").replace(/\.(java|scala|kt|kts)$/,"").replace(/\.(rb)$/,"").replace(/\.(go)$/,"").replace(/\.(cs|vb)$/,"").replace(/\.(dart)$/,"").replace(/\.(php)$/,"").replace(/\.(c|cc|cpp|cxx|h|hpp)$/,"")}function B(e){let n=p(e);if("kind"in n&&n.kind==="local")return n.id;let t=n;return t.descriptors.length===0?"":t.descriptors[t.descriptors.length-1].name}function b(e){let n=p(e);if("kind"in n&&n.kind==="local")return null;let t=n;return t.descriptors[t.descriptors.length-1]?.suffix??null}function rt(e){return e.endsWith("().")||b(e)==="method"}function H(e){let n=b(e);return n==="method"||n==="term"}function it(e){return b(e)==="namespace"}var xe=/^rust-analyzer\b.*[\s/]impl#\[[^\]]+\]\[[^\]]+\]/;function at(e){return xe.test(e)}var Se=new Set(["test","tests","_tests"]);function st(e){let n=p(e);if("kind"in n)return!1;for(let t=0;t<n.descriptors.length-1;t+=1){let r=n.descriptors[t];if(r?.suffix==="namespace"&&r.name&&Se.has(r.name))return!0}return!1}function ot(e,n){let t=p(e),r=p(n);if("kind"in t||"kind"in r)return!1;let i=t.descriptors,a=r.descriptors;if(a.length!==i.length+1)return!1;for(let s=0;s<i.length;s++){let c=i[s],o=a[s];if(c.name!==o.name||c.suffix!==o.suffix)return!1}return!0}function ct(e,n){let t=p(e),r=p(n);if("kind"in t||"kind"in r)return!1;let i=t.descriptors,a=r.descriptors;if(a.length<=i.length)return!1;for(let s=0;s<i.length;s++){let c=i[s],o=a[s];if(c.name!==o.name||c.suffix!==o.suffix)return!1}return!0}function U(e){return!e||!e.trim()?null:e.replace(/^```\w*\s*/,"").replace(/\s*```$/,"").replace(/^\(method\)\s*/,"").replace(/^\(property\)\s*/,"").replace(/^\(function\)\s*/,"").replace(/^\(class\)\s*/,"").replace(/^\(interface\)\s*/,"").replace(/^\(enum\)\s*/,"").replace(/^\(type alias\)\s*/,"").replace(/^\(const\)\s*/,"").replace(/^\(var\)\s*/,"").trim()||null}function Y(e){if(!e)return null;let n=z(e);if(n)return n.replace(/\n/g," ");let t=e.indexOf("|");if(t===-1)return e.replace(/\n/g," ");let r=e.slice(t+1);return(z(r)??r).replace(/\n/g," ")}function z(e){return/^```(?:\w+)?\s*\n?([\s\S]*?)\n?```/.exec(e.trimStart())?.[1]?.trim()||null}var G=h("file-definitions");function bt(e,n){G.invalidate(e,n)}function I(e,n){return G.get(e,n,()=>{let t=Ce(_e(e,n),Le(e,n));return Ie(e,n,t.map(De))})}function _e(e,n){return e.all(`SELECT
44
44
  gs.id,
45
45
  gs.symbol,
46
46
  der.document_id,
@@ -75,10 +75,10 @@ function h(e){let n=new WeakMap,t=r=>{let i=n.get(r);return i||(i=new Map,n.set(
75
75
  AND m.role = 1
76
76
  ${e.symbolNoiseFor("gs")}
77
77
  GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path
78
- ORDER BY start_line, end_line`,n)}function De(e){return{symbolId:e.id,symbol:e.symbol,documentId:e.document_id,startLine:e.start_line,endLine:e.end_line,relativePath:e.relative_path,leaf:W(e.symbol),parentTypeName:v(e.symbol),isFunctionLike:B(e.symbol),isTypeLike:b(e.symbol)==="type",kind:e.kind??null,documentation:e.documentation??null,enclosingSymbol:e.enclosing_symbol??null}}function Ce(e,n){let t=new Map;for(let r of n)e.length>0&&!ke(r)||t.set(r.id,r);for(let r of e)t.set(r.id,r);return[...t.values()].sort((r,i)=>r.start_line-i.start_line||r.end_line-i.end_line||r.symbol.localeCompare(i.symbol))}function ke(e){if(v(e.symbol)!==null)return!1;let t=(e.documentation??"").replace(/^```\w*\s*/,"").replace(/\s*```$/,"").trim();return/^(?:var|let|const|function|class|interface|type|enum)\b/.test(t)}function ft(e,n={}){return ve(e,n.scope)}function ve(e,n){let t=n?`AND relative_path LIKE '%${n}%'`:"";return e.all(`SELECT relative_path
78
+ ORDER BY start_line, end_line`,n)}function De(e){return{symbolId:e.id,symbol:e.symbol,documentId:e.document_id,startLine:e.start_line,endLine:e.end_line,relativePath:e.relative_path,leaf:B(e.symbol),parentTypeName:A(e.symbol),isFunctionLike:H(e.symbol),isTypeLike:b(e.symbol)==="type",kind:e.kind??null,documentation:e.documentation??null,enclosingSymbol:e.enclosing_symbol??null}}function Ce(e,n){let t=new Map;for(let r of n)e.length>0&&!ve(r)||t.set(r.id,r);for(let r of e)t.set(r.id,r);return[...t.values()].sort((r,i)=>r.start_line-i.start_line||r.end_line-i.end_line||r.symbol.localeCompare(i.symbol))}function ve(e){if(A(e.symbol)!==null)return!1;let t=(e.documentation??"").replace(/^```\w*\s*/,"").replace(/\s*```$/,"").trim();return/^(?:var|let|const|function|class|interface|type|enum)\b/.test(t)}function yt(e,n={}){return ke(e,n.scope)}function ke(e,n){let t=n?`AND relative_path LIKE '%${n}%'`:"";return e.all(`SELECT relative_path
79
79
  FROM documents
80
80
  WHERE 1 = 1
81
81
  ${e.pathExclusionsFor("documents")}
82
82
  ${t}
83
- ORDER BY relative_path`).flatMap(r=>k(e,r.relative_path)).filter(r=>!e.isIgnored(r.relativePath))}function pt(e,n,t={}){if(n.length===0)return[];let r=n.flatMap(i=>k(e,i)).filter(i=>!e.isIgnored(i.relativePath));return t.onlyDocumented&&(r=r.filter(i=>i.documentation!==null&&i.documentation!=="")),t.sort&&(r=r.sort((i,a)=>i.relativePath.localeCompare(a.relativePath)||i.startLine-a.startLine||i.endLine-a.endLine)),r.map(i=>({startLine:i.startLine,endLine:i.endLine,symbol:i.symbol,shortName:V(i.symbol),signature:z(U(i.documentation)),relativePath:i.relativePath,enclosingSymbol:i.enclosingSymbol}))}function mt(e,n){let t=null;for(let r of e)r.startLine>n||r.endLine<n||(!t||r.endLine-r.startLine<t.endLine-t.startLine)&&(t=r);return t}function gt(e,n){let t=k(e,n.relative_path).find(r=>r.symbolId===n.id);return t?{symbolId:t.symbolId,symbol:t.symbol,documentId:t.documentId,startLine:t.startLine,endLine:t.endLine,relativePath:t.relativePath}:{symbolId:n.id,symbol:n.symbol,documentId:n.document_id,startLine:n.start_line,endLine:n.end_line,relativePath:n.relative_path}}function Ie(e,n,t){let r=m(e,n),i=F(e,n);return i?Te(t,i,r):r?Me(t,r):t}function Me(e,n){let t=n.split(/\r?\n/),r=Ae(e,t),i=we(e,r),a=Re(i,t);return Ne(e,a)}function Ae(e,n){let t=e.some(i=>_(i.symbol))?Pe(n):null,r=new Map;for(let i of e)r.set(i.symbolId,Ee(n,t,i));return r}function we(e,n){return e.filter(t=>_(t.symbol)).map(t=>({definition:t,startLine:n.get(t.symbolId)??t.startLine})).sort((t,r)=>t.startLine-r.startLine||t.definition.startLine-r.definition.startLine||t.definition.symbol.localeCompare(r.definition.symbol))}function Re(e,n){let t=new Map;for(let r=0;r<e.length;r+=1){let i=e[r],a=e[r+1],s=a?Math.max(i.startLine,a.startLine-1):n.length-1;t.set(i.definition.symbolId,{startLine:i.startLine,endLine:Oe(n,i.definition,i.startLine,s)})}return t}function Ne(e,n){return e.map(t=>{let r=n.get(t.symbolId);return r?{...t,startLine:r.startLine,endLine:r.endLine}:t})}function Te(e,n,t=null){let r=new Map;for(let i of n){let a=r.get(i.name);a?a.push(i):r.set(i.name,[i])}return e.map(i=>{if(!_(i.symbol)||!i.leaf)return Y(i,t);let a=r.get(i.leaf);if(!a||a.length===0)return Y(i,t);let s=a[0],c=Math.abs(s.startLine-i.startLine);for(let o=1;o<a.length;o+=1){let l=a[o],u=Math.abs(l.startLine-i.startLine);u<c&&(s=l,c=u)}return{...i,startLine:s.startLine,endLine:s.endLine}})}function Y(e,n){if(!n||!e.leaf||b(e.symbol)!=="term"||v(e.symbol)!==null)return e;let t=e.leaf.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\b(?:export\\s+)?(?:const|let|var)\\s+${t}\\b`),a=n.split(/\r?\n/).findIndex(s=>r.test(s));return a>=0?{...e,startLine:a,endLine:a}:e}function Ee(e,n,t){if(!_(t.symbol))return t.startLine;let r=Math.max(0,Math.min(t.startLine,e.length-1));if(!n)return r;let i=n.get(t.leaf);if(!i||i.length===0)return r;let a=null;for(let s of i){let c=Math.abs(s-t.startLine);(!a||c<a.distance)&&(a={line:s,distance:c})}return a?.line??r}function Pe(e){let n=/\b(?:function|def|fn)\s+([A-Za-z_$][\w$]*)/g,t=/\b([A-Za-z_$][\w$]*)\s*[:=]\s*(?:async\s*)?(?:function\b|\()/g,r=/^\s*(?:(?:export|public|private|protected|static|readonly|async|abstract|get|set)\s+)*([A-Za-z_$][\w$]*)\s*(?:<[^(]*>)?\s*\(/,i=/\b([A-Za-z_$][\w$]*)\s*\(/g,a=new Map,s=(c,o)=>{let l=a.get(c);if(!l){a.set(c,[o]);return}l[l.length-1]!==o&&l.push(o)};for(let c=0;c<e.length;c+=1){let o=e[c]??"";for(let u of o.matchAll(n))u[1]&&s(u[1],c);for(let u of o.matchAll(t))u[1]&&s(u[1],c);let l=o.match(r);l?.[1]&&s(l[1],c);for(let u of o.matchAll(i))u[1]&&s(u[1],c)}return a}function Oe(e,n,t,r){let i=Math.max(t,Math.min(e.length-1,r)),a=Math.max(t,Math.min(i,n.endLine)),s=0,c=0,o=!1;for(let l=t;l<=i;l+=1){let u=$e(e[l]??"");for(let d of u)d==="{"?(s+=1,o=!0):d==="}"?s=Math.max(0,s-1):d==="("?c+=1:d===")"&&(c=Math.max(0,c-1));if(o&&s===0||!o&&c===0&&l>=a)return l}return a}function $e(e){let n="",t=null,r=!1;for(let i=0;i<e.length;i+=1){let a=e[i],s=e[i+1];if(!t&&a==="/"&&s==="/"){n+=" ".repeat(e.length-i);break}if(t){if(r){r=!1,n+=" ";continue}if(a==="\\"){r=!0,n+=" ";continue}a===t&&(t=null),n+=" ";continue}if(a==='"'||a==="'"||a==="`"){t=a,n+=" ";continue}n+=a}return n}function _(e){return e.includes("().")}function v(e){let n=p(e);if("kind"in n)return null;for(let t=n.descriptors.length-2;t>=0;t--){let r=n.descriptors[t];if(r?.suffix==="type")return r.name}return null}function bt(e){let n=p(e);if("kind"in n)return[];let t=[];for(let r=n.descriptors.length-2;r>=0;r-=1){let i=n.descriptors[r];i?.suffix==="type"&&i.name&&t.push(i.name)}return t}export{h as a,Fe as b,I as c,m as d,Be as e,S as f,te as g,C as h,Ge as i,qe as j,de as k,Je as l,D as m,p as n,V as o,W as p,b as q,Ze as r,B as s,et as t,tt as u,nt as v,rt as w,it as x,z as y,U as z,k as A,ft as B,ve as C,pt as D,mt as E,gt as F,v as G,bt as H};
84
- //# sourceMappingURL=chunk-QFZE73XF.js.map
83
+ ORDER BY relative_path`).flatMap(r=>I(e,r.relative_path)).filter(r=>!e.isIgnored(r.relativePath))}function ht(e,n,t={}){if(n.length===0)return[];let r=n.flatMap(i=>I(e,i)).filter(i=>!e.isIgnored(i.relativePath));return t.onlyDocumented&&(r=r.filter(i=>i.documentation!==null&&i.documentation!=="")),t.sort&&(r=r.sort((i,a)=>i.relativePath.localeCompare(a.relativePath)||i.startLine-a.startLine||i.endLine-a.endLine)),r.map(i=>({startLine:i.startLine,endLine:i.endLine,symbol:i.symbol,shortName:W(i.symbol),signature:U(Y(i.documentation)),relativePath:i.relativePath,enclosingSymbol:i.enclosingSymbol}))}function xt(e,n){let t=null;for(let r of e)r.startLine>n||r.endLine<n||(!t||r.endLine-r.startLine<t.endLine-t.startLine)&&(t=r);return t}function St(e,n){let t=I(e,n.relative_path).find(r=>r.symbolId===n.id);return t?{symbolId:t.symbolId,symbol:t.symbol,documentId:t.documentId,startLine:t.startLine,endLine:t.endLine,relativePath:t.relativePath}:{symbolId:n.id,symbol:n.symbol,documentId:n.document_id,startLine:n.start_line,endLine:n.end_line,relativePath:n.relative_path}}function Ie(e,n,t){let r=m(e,n),i=j(e,n);return i?Te(t,i,r):r?Ae(t,r):t}function Ae(e,n){let t=n.split(/\r?\n/),r=Me(e,t),i=we(e,r),a=Re(i,t);return Ne(e,a)}function Me(e,n){let t=e.some(i=>L(i.symbol))?Pe(n):null,r=new Map;for(let i of e)r.set(i.symbolId,Ee(n,t,i));return r}function we(e,n){return e.filter(t=>L(t.symbol)).map(t=>({definition:t,startLine:n.get(t.symbolId)??t.startLine})).sort((t,r)=>t.startLine-r.startLine||t.definition.startLine-r.definition.startLine||t.definition.symbol.localeCompare(r.definition.symbol))}function Re(e,n){let t=new Map;for(let r=0;r<e.length;r+=1){let i=e[r],a=e[r+1],s=a?Math.max(i.startLine,a.startLine-1):n.length-1;t.set(i.definition.symbolId,{startLine:i.startLine,endLine:Fe(n,i.definition,i.startLine,s)})}return t}function Ne(e,n){return e.map(t=>{let r=n.get(t.symbolId);return r?{...t,startLine:r.startLine,endLine:r.endLine}:t})}function Te(e,n,t=null){let r=new Map;for(let i of n){let a=r.get(i.name);a?a.push(i):r.set(i.name,[i])}return e.map(i=>{if(!L(i.symbol)||!i.leaf)return K(i,t);let a=r.get(i.leaf);if(!a||a.length===0)return K(i,t);let s=a[0],c=Math.abs(s.startLine-i.startLine);for(let o=1;o<a.length;o+=1){let l=a[o],u=Math.abs(l.startLine-i.startLine);u<c&&(s=l,c=u)}return{...i,startLine:s.startLine,endLine:s.endLine}})}function K(e,n){if(!n||!e.leaf||b(e.symbol)!=="term"||A(e.symbol)!==null)return e;let t=e.leaf.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\b(?:export\\s+)?(?:const|let|var)\\s+${t}\\b`),a=n.split(/\r?\n/).findIndex(s=>r.test(s));return a>=0?{...e,startLine:a,endLine:a}:e}function Ee(e,n,t){if(!L(t.symbol))return t.startLine;let r=Math.max(0,Math.min(t.startLine,e.length-1));if(!n)return r;let i=n.get(t.leaf);if(!i||i.length===0)return r;let a=null;for(let s of i){let c=Math.abs(s-t.startLine);(!a||c<a.distance)&&(a={line:s,distance:c})}return a?.line??r}function Pe(e){let n=/\b(?:function|def|fn)\s+([A-Za-z_$][\w$]*)/g,t=/\b([A-Za-z_$][\w$]*)\s*[:=]\s*(?:async\s*)?(?:function\b|\()/g,r=/^\s*(?:(?:export|public|private|protected|static|readonly|async|abstract|get|set)\s+)*([A-Za-z_$][\w$]*)\s*(?:<[^(]*>)?\s*\(/,i=/\b([A-Za-z_$][\w$]*)\s*\(/g,a=new Map,s=(c,o)=>{let l=a.get(c);if(!l){a.set(c,[o]);return}l[l.length-1]!==o&&l.push(o)};for(let c=0;c<e.length;c+=1){let o=e[c]??"";for(let u of o.matchAll(n))u[1]&&s(u[1],c);for(let u of o.matchAll(t))u[1]&&s(u[1],c);let l=o.match(r);l?.[1]&&s(l[1],c);for(let u of o.matchAll(i))u[1]&&s(u[1],c)}return a}function Fe(e,n,t,r){let i=Math.max(t,Math.min(e.length-1,r)),a=Math.max(t,Math.min(i,n.endLine)),s=0,c=0,o=!1;for(let l=t;l<=i;l+=1){let u=Oe(e[l]??"");for(let d of u)d==="{"?(s+=1,o=!0):d==="}"?s=Math.max(0,s-1):d==="("?c+=1:d===")"&&(c=Math.max(0,c-1));if(o&&s===0||!o&&c===0&&l>=a)return l}return a}function Oe(e){let n="",t=null,r=!1;for(let i=0;i<e.length;i+=1){let a=e[i],s=e[i+1];if(!t&&a==="/"&&s==="/"){n+=" ".repeat(e.length-i);break}if(t){if(r){r=!1,n+=" ";continue}if(a==="\\"){r=!0,n+=" ";continue}a===t&&(t=null),n+=" ";continue}if(a==='"'||a==="'"||a==="`"){t=a,n+=" ";continue}n+=a}return n}function L(e){return e.includes("().")}function A(e){let n=p(e);if("kind"in n)return null;for(let t=n.descriptors.length-2;t>=0;t--){let r=n.descriptors[t];if(r?.suffix==="type")return r.name}return null}function _t(e){let n=p(e);if("kind"in n)return[];let t=[];for(let r=n.descriptors.length-2;r>=0;r-=1){let i=n.descriptors[r];i?.suffix==="type"&&i.name&&t.push(i.name)}return t}export{h as a,$e as b,M as c,m as d,Be as e,He as f,ze as g,S as h,ne as i,Je as j,Xe as k,k as l,Ze as m,et as n,fe as o,tt as p,v as q,p as r,W as s,B as t,b as u,rt as v,H as w,it as x,at as y,st as z,ot as A,ct as B,U as C,Y as D,bt as E,I as F,yt as G,ke as H,ht as I,xt as J,St as K,A as L,_t as M};
84
+ //# sourceMappingURL=chunk-NLJCXHFU.js.map
@@ -0,0 +1,2 @@
1
+ import{k as m,l as r}from"./chunk-EHEZLULQ.js";import{a as n}from"./chunk-BT36WY5B.js";import{s as i}from"./chunk-NLJCXHFU.js";function h(l,s,a={}){let e=n(l,s);if(!e)return null;let t=a.semantic!==!1,c=r(l,e,{limit:50,semantic:t}),y=f(m(l,e,{limit:50,additive:!0,callableOnly:!0,semantic:t}));return{symbol:e.symbol,shortName:i(e.symbol),callers:c.map(o=>({symbol:o.symbol,shortName:i(o.symbol),file:o.file})),callees:y.map(o=>({symbol:o.symbol,shortName:i(o.symbol),file:o.file}))}}function f(l){let s=new Set,a=[];for(let e of l){let t=`${e.symbol}|${e.file}`;s.has(t)||(s.add(t),a.push(e))}return a}export{h as a};
2
+ //# sourceMappingURL=chunk-NRAJIFQA.js.map
@@ -0,0 +1,2 @@
1
+ import{c as b}from"./chunk-JMASYYSW.js";import{k as y,l as g,m as S}from"./chunk-EHEZLULQ.js";import{a as f}from"./chunk-BT36WY5B.js";import{s as m}from"./chunk-NLJCXHFU.js";function D(l,t,i={}){let o=f(l,t);if(!o)return null;let n=[{file:o.relativePath,line:o.startLine}],r=b(l,o,{semantic:i.semantic}),s=(r.length>0?r:S(l,o)).filter(e=>!l.isIgnored(e.file)).map(e=>({file:e.file,line:e.line,enclosingSymbol:e.enclosingSymbol??"(top-level)",enclosingShort:e.enclosingSymbol?m(e.enclosingSymbol):"(top-level)"})),{producers:u,consumers:p}=d(l,o,s,{semantic:i.semantic!==!1});return{symbol:o.symbol,shortName:m(o.symbol),relativePath:o.relativePath,definitionSites:n.filter(e=>!l.isIgnored(e.file)),usageSites:s,producers:u.filter(e=>!l.isIgnored(e.file)).map(e=>({symbol:e.symbol,shortName:m(e.symbol),file:e.file})),consumers:p.filter(e=>!l.isIgnored(e.file)).map(e=>({symbol:e.symbol,shortName:e.symbol===e.file?"(top-level)":m(e.symbol),file:e.file}))}}function d(l,t,i,o){let n=a(y(l,t,{limit:30,semantic:o.semantic}).map(s=>({symbol:s.symbol,file:s.file}))),r=a(g(l,t,{limit:30,semantic:o.semantic})),c=r.length>0?r:a(i.map(s=>({symbol:s.enclosingSymbol==="(top-level)"?s.file:s.enclosingSymbol,file:s.file})));return{producers:n,consumers:c}}function a(l){let t=new Set,i=[];for(let o of l){let n=`${o.symbol}|${o.file}`;t.has(n)||(t.add(n),i.push(o))}return i}export{D as a};
2
+ //# sourceMappingURL=chunk-OYRGWW6Z.js.map
@@ -0,0 +1,33 @@
1
+ import{a as v}from"./chunk-LNUZWWWL.js";import{d as j,e as V,f as Y,g as G,h as z}from"./chunk-IIKNAXAE.js";import{a as L,b as M,c as E,f as T,h as x,l as U}from"./chunk-EHEZLULQ.js";import{d as w,g as _,j as N}from"./chunk-33Z6HQBX.js";import{E as W,F as J,M as R,f as F,h as I,i as C,k as P,s as O,v as k,w as A,x as B,y as $,z as H}from"./chunk-NLJCXHFU.js";var S=750;function Oe(e,n={}){let{scope:t,minLoc:i=1,includeTests:o=!1,skipBarrels:r=!1,includeMembers:s=!1,deadCodeOnly:a=!1,scanLimit:c,semantic:f=!0}=n,m=le(ae(e,{scope:t,minLoc:i,includeTests:o,includeMembers:s}),c),l=r?new Set(j(e)):new Set,u=a?new Map:te(e,l,m.map(d=>d.symbolId)),p=a?oe(e,m.map(d=>d.symbolId),l):new Set,g=a?m.filter(d=>!p.has(d.symbolId)):m;a?pe(e,g,u,l):de(e,g,u,l);let h=a?g.filter(d=>!K(u,d.symbolId)):m;Se(e,h,u,{includeTests:o,inactiveBarrelPaths:l,includeSemantic:!a&&f});let b=a?g.filter(d=>!K(u,d.symbolId)):m;return me(e,ue(b,u))}function te(e,n,t){if(t)return re(e,n,t);let i=e.all(`SELECT
2
+ m.symbol_id,
3
+ d.relative_path,
4
+ COUNT(*) AS ref_count
5
+ FROM mentions m
6
+ JOIN chunks c ON m.chunk_id = c.id
7
+ JOIN documents d ON c.document_id = d.id
8
+ WHERE m.role != 1
9
+ ${e.pathExclusionsFor("d")}
10
+ GROUP BY m.symbol_id, d.relative_path`),o=new Map;for(let r of i){if(e.isIgnored(r.relative_path)||n.has(r.relative_path))continue;let s=o.get(r.symbol_id);s||(s=new Map,o.set(r.symbol_id,s)),s.set(r.relative_path,r.ref_count)}return o}function re(e,n,t){let i=new Map;for(let o=0;o<t.length;o+=S)for(let r of ie(e,t.slice(o,o+S))){if(e.isIgnored(r.relative_path)||n.has(r.relative_path))continue;let s=i.get(r.symbol_id);s||(s=new Map,i.set(r.symbol_id,s)),s.set(r.relative_path,r.ref_count)}return i}function ie(e,n){return n.length===0?[]:e.all(`SELECT
11
+ m.symbol_id,
12
+ d.relative_path,
13
+ COUNT(*) AS ref_count
14
+ FROM mentions m
15
+ JOIN chunks c ON m.chunk_id = c.id
16
+ JOIN documents d ON c.document_id = d.id
17
+ WHERE m.role != 1
18
+ AND m.symbol_id IN (${n.map(()=>"?").join(",")})
19
+ ${e.pathExclusionsFor("d")}
20
+ GROUP BY m.symbol_id, d.relative_path`,...n)}function oe(e,n,t){let i=new Set;for(let o=0;o<n.length;o+=S)for(let r of se(e,n.slice(o,o+S)))e.isIgnored(r.relative_path)||t.has(r.relative_path)||i.add(r.symbol_id);return i}function se(e,n){return n.length===0?[]:e.all(`SELECT DISTINCT m.symbol_id, d.relative_path
21
+ FROM mentions m
22
+ JOIN chunks c ON m.chunk_id = c.id
23
+ JOIN documents d ON c.document_id = d.id
24
+ WHERE m.role != 1
25
+ AND m.symbol_id IN (${n.map(()=>"?").join(",")})
26
+ ${e.pathExclusionsFor("d")}`,...n).filter(t=>t.symbol_id!==null)}function ae(e,n){let t=_e(e),i=[];for(let o of ce(e,n.scope))try{for(let r of J(e,o))e.isIgnored(r.relativePath)||B(r.symbol)||Z(r.symbol)&&(!r.isFunctionLike&&r.enclosingSymbol&&Z(r.enclosingSymbol)||!n.includeTests&&!ne(r.relativePath)||!n.includeTests&&t(r.relativePath,r.startLine,r.symbol,r.parentTypeName)||$(r.symbol)||H(r.symbol)||!n.includeMembers&&!ve(r)||r.endLine-r.startLine+1<n.minLoc||i.push(r))}finally{W(e,o),q(e,o)}return i}function ce(e,n){let t=n?"AND relative_path LIKE ?":"",i=n?[`%${n}%`]:[];return e.all(`SELECT relative_path
27
+ FROM documents
28
+ WHERE 1 = 1
29
+ ${e.pathExclusionsFor("documents")}
30
+ ${t}
31
+ ORDER BY relative_path`,...i).map(o=>o.relative_path)}function le(e,n){return typeof n!="number"||n<=0||e.length<=n?e:e.slice(0,n)}function ue(e,n){return e.map(t=>fe(t,n)).filter(t=>t.cross_file_refs===0).sort((t,i)=>i.loc-t.loc||t.relative_path.localeCompare(i.relative_path)||t.start_line-i.start_line)}function fe(e,n){let t=n.get(e.symbolId)??new Map,i=t.get(e.relativePath)??0,o=0;for(let[r,s]of t)r!==e.relativePath&&(o+=s);return{relative_path:e.relativePath,start_line:e.startLine,end_line:e.endLine,loc:e.endLine-e.startLine+1,symbol:e.symbol,same_file_refs:i,cross_file_refs:o}}function me(e,n){let t=[],i=0,o=0,r=0;for(let s of n){if(e.isIgnored(s.relative_path)||V(e,s.relative_path)||Y(e,s.symbol,s.relative_path))continue;let a=s.same_file_refs===0?"dead-code":"file-internal";a==="dead-code"?i++:o++,r+=s.loc,t.push({relativePath:s.relative_path,startLine:s.start_line,endLine:s.end_line,loc:s.loc,symbol:s.symbol,shortName:O(s.symbol),sameFileRefs:s.same_file_refs,kind:a})}return{symbols:t,totalCount:t.length,deadCodeCount:i,fileInternalCount:o,totalLoc:r}}function de(e,n,t,i){if(n.length===0)return;let o=new v(e),r=new Set(n.map(c=>c.symbolId)),s=new Set(n.map(c=>c.leaf).filter(Boolean)),a=new Set(o.sourceFiles());for(let c of X(e))a.add(c);o.scanSourceReferences({paths:a,includeVueSfc:!0,includeCrossLanguageDispatchNames:!0,includeRustAttributeNames:!0,identifierResolution:"permissive",candidateNames:s,skipPath:c=>i.has(c)},c=>{r.has(c.target.symbolId)&&(he(e,c)||y(t,c.target.symbolId,c.sourceFile,be(c)))})}function pe(e,n,t,i){if(n.length===0)return;let o=new v(e),r=ge(n),s=new Set(o.sourceFiles());for(let a of X(e))s.add(a);for(let a of s){let c=I(a);if(!(!c&&!C(a))&&!e.isIgnored(a)&&!i.has(a))try{let f=ye(e,a),m=T(e,a);for(let[l,u]of m){let p=r.get(l);if(!p)continue;let g=D(a,l,p,f,{permissive:!0});for(let h of g){let b=a===h.relativePath?Math.max(0,u.length-1):u.length;ee(e,{sourceFile:a,name:l,target:h,occurrences:b})||y(t,h.symbolId,a,b)}}for(let l of E(e,a)){let u=r.get(l);if(u)for(let p of D(a,l,u,f,{permissive:!1}))y(t,p.symbolId,a,1)}if(c==="rust")for(let l of M(e,a)){let u=r.get(l);if(u)for(let p of D(a,l,u,f,{permissive:!0}))y(t,p.symbolId,a,1)}}finally{q(e,a)}}}function q(e,n){x(e,n),N(e,n),w(e,n),P(e,n),F(e,n)}function ge(e){let n=new Map;for(let t of e){if(!t.leaf)continue;let i=n.get(t.leaf)??[];i.push(t),n.set(t.leaf,i)}return n}function D(e,n,t,i,o){let r=t.filter(c=>c.relativePath===e);if(r.length>0)return r;let s=i.get(n);if(s)for(let c of s){let f=t.filter(m=>Q(c,m.relativePath));if(f.length>0)return f}let a=new Set;for(let c of i.values())for(let f of c)a.add(f);for(let c of a){let f=t.filter(m=>Q(c,m.relativePath));if(f.length>0&&f.length===t.length)return f}return o.permissive?[...t]:[]}function K(e,n){let t=e.get(n);if(!t)return!1;for(let i of t.values())if(i>0)return!0;return!1}function X(e){let n=e.all(`SELECT relative_path FROM documents
32
+ WHERE 1 = 1 ${e.pathExclusionsFor("documents")}`);return new Set(n.map(t=>t.relative_path))}function he(e,n){return n.kind==="cross-language-dispatch"&&n.target.relativePath===n.sourceFile?!0:n.kind==="identifier"&&ee(e,n)}function be(e){return e.kind==="identifier"&&e.target.relativePath===e.sourceFile?Math.max(0,e.occurrences-1):e.occurrences}function y(e,n,t,i){if(i<=0)return;let o=e.get(n);o||(o=new Map,e.set(n,o)),o.set(t,(o.get(t)??0)+i)}function ee(e,n){return n.occurrences>1?!1:_(e,n.sourceFile).some(t=>t.used||t.sourcePath!==n.target.relativePath?!1:t.importedName===n.name||t.localName===n.name)}function ye(e,n){let t=new Map;for(let i of _(e,n)){if(!i.sourcePath)continue;let o=i.localName??i.importedName;if(o){let r=t.get(o);r||(r=new Set,t.set(o,r)),r.add(i.sourcePath)}if(i.kind==="namespace")for(let r of i.usedMembers){let s=t.get(r);s||(s=new Set,t.set(r,s)),s.add(i.sourcePath)}}return t}function Q(e,n){let t=i=>i.replace(/\\/g,"/").replace(/^\.\//,"");return t(e)===t(n)}function Se(e,n,t,i){for(let o of n){let r=U(e,o,{semantic:i.includeSemantic!==!1});if(r.length===0)continue;let s=t.get(o.symbolId);s||(s=new Map,t.set(o.symbolId,s));for(let a of r){let c=a.file;c===o.relativePath||e.isIgnored(c)||i.inactiveBarrelPaths.has(c)||!i.includeTests&&!ne(c)||s.set(c,Math.max(1,s.get(c)??0))}}}function _e(e){let n=new Map,t=i=>{let o=n.get(i);if(o)return o;let r=L(e,i);return o={ranges:r.map(s=>({startLine:s.startLine,endLine:s.endLine})),containers:new Set(r.map(s=>s.containerName).filter(s=>!!s))},n.set(i,o),o};return(i,o,r,s)=>{let a=t(i);for(let c of a.ranges)if(o>=c.startLine&&o<=c.endLine)return!0;if(s&&a.containers.has(s))return!0;for(let c of R(r))if(a.containers.has(c))return!0;return!1}}function ne(e){return[...new Set([...G,...z])].every(t=>!Re(e,t))}function Re(e,n){return new RegExp(`^${n.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".")}$`).test(e)}function Z(e){return A(e)||e.endsWith("().")||e.endsWith(".")}function ve(e){return k(e.symbol)||R(e.symbol).length===0}export{Oe as a};
33
+ //# sourceMappingURL=chunk-PVMRIOM6.js.map
@@ -0,0 +1,4 @@
1
+ import{c as p}from"./chunk-JMASYYSW.js";import{m as S}from"./chunk-EHEZLULQ.js";import{a as d}from"./chunk-BT36WY5B.js";import{C as g,D as f,d as u,s as l,w as m}from"./chunk-NLJCXHFU.js";function j(n,o,r={}){let e=d(n,o);if(!e)return{definitions:[],referencedBy:[]};let t=n.get("SELECT display_name, documentation FROM global_symbols WHERE id = ?",e.symbolId),a=f(t?.documentation??null),s=n.isIgnored(e.relativePath)?[]:[{relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,signature:h(a,t?.display_name??null,e.symbol),source:b(n,e.relativePath,e.startLine,e.endLine)}],c=p(n,e,{semantic:r.semantic}),y=(c.length>0?c:S(n,e)).filter(i=>!n.isIgnored(i.file)).map(i=>({relativePath:i.file,line:i.line,enclosingSymbol:i.enclosingSymbol,enclosingShort:i.enclosingSymbol?l(i.enclosingSymbol):"(top-level)"}));return{definitions:s,referencedBy:y}}function b(n,o,r,e){let t=u(n,o);if(!t)return null;let s=t.split(`
2
+ `).slice(r,e+1).join(`
3
+ `).trimEnd();return s.length>0?s:null}function h(n,o,r){let e=g(n);if(e&&!v(e))return e;let t=(o??"").trim();return t?m(r)&&!t.endsWith("()")?`${t}()`:t:l(r)}function v(n){return n.startsWith("undefined")||n.includes("|")||n.includes("```")}export{j as a};
4
+ //# sourceMappingURL=chunk-SF2HYG53.js.map
@@ -0,0 +1,2 @@
1
+ import{a as b}from"./chunk-LNUZWWWL.js";import{s as u}from"./chunk-NLJCXHFU.js";function L(o,t){let{scope:n,minLoc:c=10,limit:r=30,scanLimit:a}=t??{},{definitions:d,callerMap:y,calleeMap:f}=C(o,n,a,t?.semantic!==!1);return d.map(e=>{let s=e.endLine-e.startLine+1,p=y.get(e.symbolId)?.size??0,i=f.get(e.symbolId)??[],x=i.filter(l=>l.file!==e.relativePath),m=new Set(x.map(l=>`${l.symbol}|${l.file}`)).size,M=new Set(i.map(l=>`${l.symbol}|${l.file}`)).size;return{symbol:e.symbol,shortName:u(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:s,fanIn:p,fanOut:m,calleeCount:M,score:Math.round(s/50*(p/5)*Math.max(m/5,1)*100)/100}}).filter(e=>e.loc>=c).sort((e,s)=>s.score-e.score||s.loc-e.loc).slice(0,r)}function C(o,t,n,c){let r=new b(o),a=S(r.productionCallableDefinitions({scope:t,requireCallableSymbol:!0,includeSuppressed:!0,sortByLocDesc:typeof n=="number"&&n>0}),n);return{definitions:a,callerMap:r.crossFileCallerMap(a,{semantic:c}),calleeMap:r.calleeMap(a,{semantic:c})}}function S(o,t){return typeof t!="number"||t<=0||o.length<=t?o:o.slice(0,t)}export{L as a};
2
+ //# sourceMappingURL=chunk-SHGPRVWH.js.map
@@ -0,0 +1,2 @@
1
+ import{b as e}from"./chunk-LLDPR3DG.js";import{I as o}from"./chunk-NLJCXHFU.js";function l(t,r){let s=e(t,r);return o(t,s).map(({relativePath:m,...a})=>a)}export{l as a};
2
+ //# sourceMappingURL=chunk-SMOUOKAO.js.map
@@ -0,0 +1,2 @@
1
+ import{s as D}from"./chunk-67OMD56K.js";import{C as y,D as L,G as $,d as x,s as S}from"./chunk-NLJCXHFU.js";function O(t,e={}){let{scope:l,minLoc:o=1,limit:s,scanLimit:c}=e,u=e.semantic!==!1,a=new Map,r=w($(t,{scope:l}).filter(n=>n.isFunctionLike&&!t.isIgnored(n.relativePath)).filter(n=>n.endLine-n.startLine+1>=o).sort((n,i)=>typeof c!="number"||c<=0?0:h(i)-h(n)||n.relativePath.localeCompare(i.relativePath)),c);for(let n of r){let i=h(n),f=v(t,n,{semantic:u});if(!f)continue;let p={symbol:n.symbol,shortName:S(n.symbol),file:n.relativePath,startLine:n.startLine,endLine:n.endLine,loc:i},g=a.get(f);g?g.push(p):a.set(f,[p])}let m=[];for(let[n,i]of a)i.length<2||m.push({signature:n,functions:i});return m.sort((n,i)=>{let f=i.functions.length-n.functions.length;if(f!==0)return f;let p=n.functions.reduce((d,b)=>d+b.loc,0);return i.functions.reduce((d,b)=>d+b.loc,0)-p}),s?m.slice(0,s):m}function v(t,e,l){if(l.semantic){let c=D(t,e);if(c)return c}let o=P(e.documentation),s=o?I(o):null;return s||R(z(t,e.relativePath,e.startLine,e.endLine,e.leaf),e.leaf)}function h(t){return t.endLine-t.startLine+1}function w(t,e){return typeof e!="number"||e<=0||t.length<=e?t:t.slice(0,e)}function P(t){return y(L(t))}function z(t,e,l,o,s){let c=x(t,e);if(!c)return null;let u=c.split(/\r?\n/),a=C(u,l,o,s);for(let r of a){let m=Math.min(u.length-1,Math.max(r,r+4)),n="";for(let i=r;i<=m;i+=1){let f=u[i]?.trim();if(f&&(n=n?`${n} ${f}`:f,A(n)))return n}if(n&&n.includes("("))return n}return null}function A(t){let e=t.replace(/\s+/g," ").trim();return!e.includes("(")||E(e)>0?!1:/[;{]$/.test(e)||/\)\s*(?::\s*[^={]+)?\s*(?:=>|=|throws\b|where\b|$)/i.test(e)||/\)\s*As\s+.+$/i.test(e)}function I(t){if(!t||!t.trim())return null;let e=t.replace(/^```\w*\s*/,"").replace(/\s*```$/,"").replace(/^\(method\)\s*/,"").replace(/^\(property\)\s*/,"").replace(/^\(function\)\s*/,"").replace(/^\(class\)\s*/,"").replace(/^\(interface\)\s*/,"").replace(/^\(enum\)\s*/,"").replace(/^\(type alias\)\s*/,"").replace(/^\(const\)\s*/,"").replace(/^\(var\)\s*/,"").trim(),l=e.indexOf("(");return l===-1||(e=e.slice(l),e=e.replace(/\s+/g,"").toLowerCase(),e.length<3)?null:e}function R(t,e){if(!t||!t.trim())return null;let l=t.replace(/\s+/g," ").trim(),o=l.indexOf("(");if(o===-1)return null;let s=l.slice(0,o),u=new RegExp(`\\b${M(e)}\\b`,"i").exec(s);u&&typeof u.index=="number"&&(s=s.slice(0,u.index)),s=s.replace(/\b(public|private|protected|internal|final|static|abstract|sealed|virtual|override|async|suspend|inline|constexpr|consteval|constinit|const|pub|fn|function|def|sub|friend|shared|readonly|new|open|partial|export)\b/gi," ").replace(/\s+/g," ").trim();let a=T(l.slice(o)).replace(/\)\s*=\s*[\s\S]*$/,")").replace(/\s+throws\s+[^={]+$/i,"").replace(/\s+where\s+.+$/i,"").replace(/\s+/g," ").trim();if(!a.startsWith("("))return null;let r=`${s?`${s} `:""}${a}`.replace(/\s+/g,"").toLowerCase();return r.length>=3?r:null}function T(t){let e=0,l=0,o=0,s=0,c=null,u=!1;for(let a=0;a<t.length;a+=1){let r=t[a];if(c){if(u){u=!1;continue}if(r==="\\"){u=!0;continue}r===c&&(c=null);continue}if(r==='"'||r==="'"||r==="`"){c=r;continue}if(r==="(")e+=1;else if(r===")")e=Math.max(0,e-1);else if(r==="[")o+=1;else if(r==="]")o=Math.max(0,o-1);else if(r==="<")s+=1;else if(r===">")s=Math.max(0,s-1);else if(r==="{"){if(e===0&&o===0&&s===0)return t.slice(0,a);l+=1}else if(r==="}")l=Math.max(0,l-1);else if(r==="="&&t[a+1]===">"&&e===0&&l===0&&o===0&&s===0)return t.slice(0,a)}return t}function C(t,e,l,o){let s=M(o),c=new RegExp(`\\b${s}\\b\\s*\\(`,"i"),u=new RegExp(`\\bdef\\s+${s}\\b`,"i"),a=[],r=new Set,m=Math.max(0,Math.min(e,t.length-1)),n=Math.max(m,Math.min(t.length-1,Math.max(l,e+4)));for(let i=m;i<=n;i+=1){let f=t[i]??"";(c.test(f)||u.test(f))&&!r.has(i)&&(r.add(i),a.push(i))}for(let i=0;i<t.length;i+=1){let f=t[i]??"";(c.test(f)||u.test(f))&&!r.has(i)&&(r.add(i),a.push(i))}return a}function E(t){let e=0;for(let l of t)l==="("&&(e+=1),l===")"&&(e-=1);return e}function M(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{O as a};
2
+ //# sourceMappingURL=chunk-TPXWXKL6.js.map
@@ -0,0 +1,19 @@
1
+ import{a as u,b as g,c as S}from"./chunk-LJ2YWNQF.js";import{a as p}from"./chunk-LNUZWWWL.js";import{a as y}from"./chunk-IIKNAXAE.js";import{g as d}from"./chunk-33Z6HQBX.js";import{o as m}from"./chunk-67OMD56K.js";import l from"path";function q(t,n){let{scope:i,minDeviation:r=5}=n??{},e=n?.semantic!==!1,a=new p(t).fileDependencyGraph(i),c=M(t,i);return R([...D(t,a,c,{semantic:e}),...v(a),...b(a,r)])}function D(t,n,i,r){let e=[];for(let[s,a]of n){if(f(s))continue;let c=i.get(s)??new Set;for(let o of a)if(!f(o)&&!c.has(o)){if(r.semantic&&F(t,s,o)||w(t,s,o)||L(t,s,o)||$(o)||x(t,s,o)||P(o))continue;e.push({file:s,kind:"unused-import",description:`Depends on ${o} but references none of its symbols`,dep:o})}}return e}function v(t){let n=[],i=N(t);for(let[r,e]of t){if(f(r))continue;let s=u(r);for(let a of e){if(f(a))continue;let c=u(a);if(s===c)continue;(g(s,c)??i.get(`${s}->${c}`))==="violation"&&n.push({file:r,kind:"layer-violation",description:`Imports from ${c}/ (${a}) \u2014 may cross architectural boundary`,dep:a,detail:`${s}/ should not depend on ${c}/`})}}return n}function b(t,n){let i=[];for(let[r,e]of _(t)){let s=e.filter(c=>!f(c));if(s.length<n)continue;let a=k(t,s);for(let c of s)for(let o of t.get(c)??[])f(o)||(a.get(o)??0)===1&&l.dirname(o)!==r&&l.dirname(o)!==l.dirname(r)&&(S(c,o)||i.push({file:c,kind:"pattern-deviation",description:`Only file in ${r}/ that depends on ${o}`,dep:o}))}return i}function R(t){return{results:t,unusedImports:t.filter(n=>n.kind==="unused-import").length,layerViolations:t.filter(n=>n.kind==="layer-violation").length,patternDeviations:t.filter(n=>n.kind==="pattern-deviation").length}}function _(t){let n=new Map;for(let i of t.keys()){let r=l.dirname(i),e=n.get(r);e||(e=[],n.set(r,e)),e.push(i)}return n}function k(t,n){let i=new Map;for(let r of n)for(let e of t.get(r)??[])f(e)||i.set(e,(i.get(e)??0)+1);return i}function M(t,n){let i=new Map;return E(t,i,n),O(t,i),i}function E(t,n,i){for(let r of I(t,i))h(t,n,r.from_file,r.to_file)}function I(t,n){let i=n?`AND d1.relative_path LIKE '%${n}%'`:"";return t.all(`SELECT DISTINCT d1.relative_path AS from_file, d2.relative_path AS to_file
2
+ FROM mentions m
3
+ JOIN chunks c ON m.chunk_id = c.id
4
+ JOIN documents d1 ON c.document_id = d1.id
5
+ JOIN global_symbols gs ON m.symbol_id = gs.id
6
+ JOIN (
7
+ SELECT m2.symbol_id, c2.document_id
8
+ FROM mentions m2
9
+ JOIN chunks c2 ON m2.chunk_id = c2.id
10
+ WHERE m2.role = 1
11
+ GROUP BY m2.symbol_id
12
+ ) sym_def ON sym_def.symbol_id = gs.id
13
+ JOIN documents d2 ON sym_def.document_id = d2.id
14
+ WHERE d1.id != d2.id
15
+ AND m.role != 1
16
+ ${t.pathExclusionsFor("d1","d2")}
17
+ ${i}`)}function O(t,n){let i=new p(t),r=t.all(`SELECT relative_path FROM documents
18
+ WHERE 1 = 1 ${t.pathExclusionsFor("documents")}`);i.scanSourceReferences({paths:r.map(e=>e.relative_path),includeRustAttributeNames:!0,identifierResolution:"permissive"},e=>{e.target.relativePath!==e.sourceFile&&(t.isIgnored(e.target.relativePath)||h(t,n,e.sourceFile,e.target.relativePath))})}function h(t,n,i,r){if(t.isIgnored(i)||t.isIgnored(r))return;let e=n.get(i);e||(e=new Set,n.set(i,e)),e.add(r)}function N(t){let n=new Map;for(let[r,e]of t){if(f(r))continue;let s=u(r);for(let a of e){if(f(a))continue;let c=u(a);if(s===c||g(s,c))continue;let o=`${s}->${c}`;n.set(o,(n.get(o)??0)+1)}}let i=new Map;for(let[r,e]of n)i.set(r,e<=2?"violation":"ok");return i}function $(t){return t.includes("types")||t.endsWith(".d.ts")}function F(t,n,i){let r=m(t,n).filter(e=>e.sourcePath===i);return r.length>0&&r.some(e=>e.isUsed)}function w(t,n,i){let r=d(t,n).filter(e=>e.sourcePath===i);return r.length>0&&r.some(e=>e.used)}function L(t,n,i){let r=d(t,n).filter(e=>e.sourcePath===i);return r.length>0&&r.every(e=>e.isTypeOnly===!0)}function P(t){return t.endsWith(".vue")}function x(t,n,i){let r=d(t,n).filter(e=>e.sourcePath===i);return r.length===0?!1:r.every(e=>e.kind==="side-effect"||e.kind==="namespace"&&e.usedMembers.length===0&&!e.used)}function f(t){let n=y(t);return!!(n==="entry"||n==="barrel"||n==="test"||n==="worker"||T(l.basename(t)))}function T(t){return!!(t==="index.ts"||t==="index.js"||t==="cli.ts"||t==="main.ts"||t==="main.rs"||t.includes("worker.")||t.includes("postinstall.")||t==="health.ts"||t==="health.js")}export{q as a};
19
+ //# sourceMappingURL=chunk-TTCUMJ43.js.map
@@ -0,0 +1,2 @@
1
+ import{a as L,b as R}from"./chunk-W6SRVK2Y.js";import{a as f}from"./chunk-QRYEOK3M.js";import{a as w}from"./chunk-DXO2ECRF.js";import{a as b}from"./chunk-GWBRU65E.js";import{b as C}from"./chunk-VDMRAGBK.js";import{a as y}from"./chunk-4QWTQ6YV.js";import{a as x}from"./chunk-TTCUMJ43.js";import{a as S}from"./chunk-UZG3QXTG.js";import{a as m,b as h}from"./chunk-3F453KPT.js";import{a as H}from"./chunk-GRAEZYYU.js";import{a as g}from"./chunk-PVMRIOM6.js";import{a as P}from"./chunk-SHGPRVWH.js";import{e as l,f as d}from"./chunk-IIKNAXAE.js";var O=50,j=75e3,W=5e3,A=2500,gt=["overview","dead","isolated","cycles","similar","extract-candidates","wrapper-candidates","passthrough-candidates","stale-abstractions","drift","complexity-hotspots"],q={overview:(t,a,e,r)=>({phase:"overview",statsResult:r,warnings:e.warnings}),dead:(t,a,e)=>({phase:"dead",dead:D(t,a,e)}),isolated:(t,a,e)=>({phase:"isolated",isolated:T(t,a,e)}),cycles:(t,a,e)=>({phase:"cycles",realCycleCount:B(t,a,e)}),similar:(t,a,e)=>({phase:"similar",similarCount:M(t,a,e)}),"extract-candidates":(t,a,e)=>({phase:"extract-candidates",extractCount:_(t,a,e)}),"wrapper-candidates":(t,a,e)=>({phase:"wrapper-candidates",wrappers:I(t,a,e)}),"passthrough-candidates":(t,a,e)=>({phase:"passthrough-candidates",passthroughs:$(t,a,e)}),"stale-abstractions":(t,a,e)=>({phase:"stale-abstractions",stale:z(t,a,e)}),drift:(t,a,e)=>({phase:"drift",drift:k(t,a,e)}),"complexity-hotspots":(t,a,e)=>({phase:"complexity-hotspots",complexity:N(t,a,e)})};function Ht(t,a={}){return E(t,a.full===!0,(e,r)=>{let i=F(t,a.scope,e,r);return v(i)})}function yt(t,a,e={}){return E(t,e.full===!0,(r,i)=>q[a](t,e.scope,i,r))}function E(t,a,e){let r=f(t),i=K(r,a);try{return e(r,i)}finally{m(t,{semanticProvider:!0}),h()}}function Ct(t){let a=n(t,"overview"),e={statsResult:a.statsResult,warnings:a.warnings,dead:n(t,"dead").dead,isolated:n(t,"isolated").isolated,realCycleCount:n(t,"cycles").realCycleCount,similarCount:n(t,"similar").similarCount,extractCount:n(t,"extract-candidates").extractCount,wrappers:n(t,"wrapper-candidates").wrappers,passthroughs:n(t,"passthrough-candidates").passthroughs,stale:n(t,"stale-abstractions").stale,drift:n(t,"drift").drift,complexity:n(t,"complexity-hotspots").complexity};return v(e)}function n(t,a){let e=t.find(r=>r.phase===a);if(!e)throw new Error(`Missing health phase result: ${a}`);return e}function v(t){let a=Q(t);return{score:J(t),overview:{documents:t.statsResult.documents,symbols:t.statsResult.symbols,indexSizeBytes:t.statsResult.indexSizeBytes},findings:{deadSymbols:t.dead.count,deadLoc:t.dead.loc,isolatedSymbols:t.isolated.count,isolatedLoc:t.isolated.loc,cycles:t.realCycleCount,similarPairs:t.similarCount,extractionCandidates:t.extractCount,wrappers:t.wrappers.count,passthroughs:t.passthroughs.count,staleTypes:t.stale.count,driftedFiles:t.drift.count,complexityHotspotCount:t.complexity.extremeCount},actions:a,topComplexity:t.complexity.top,warnings:t.warnings.length>0?t.warnings:void 0}}function F(t,a,e,r){let i=G(t,a,r),o=Y(t,a,r),c=X(t,a,r);return{statsResult:e,warnings:r.warnings,...i,...o,...c}}function G(t,a,e){return{dead:D(t,a,e),isolated:T(t,a,e),realCycleCount:B(t,a,e)}}function Y(t,a,e){return{similarCount:M(t,a,e),extractCount:_(t,a,e),wrappers:I(t,a,e),passthroughs:$(t,a,e),stale:z(t,a,e)}}function X(t,a,e){return{drift:k(t,a,e),complexity:N(t,a,e)}}function D(t,a,e){return s(t,e,"dead",()=>{let r=g(t,{scope:a,minLoc:3,skipBarrels:!0,deadCodeOnly:!0,scanLimit:e.candidateScanLimit,semantic:!1});return u(et(t,r.symbols))})}function T(t,a,e){return s(t,e,"isolated",()=>{let r=y(t,{scope:a,minLoc:3,scanLimit:e.candidateScanLimit,semantic:!1});return u(at(t,r))})}function B(t,a,e){return s(t,e,"cycles",()=>H(t,{scope:a}).filter(i=>i.kind==="real").length)}function M(t,a,e){return s(t,e,"similar",()=>C(t,{scope:a,minSimilarity:.6,limit:50,minCallees:4,scanLimit:e.candidateScanLimit,semantic:!1}).length)}function _(t,a,e){return s(t,e,"extract-candidates",()=>S(t,{scope:a,minLoc:15,minCallees:5,limit:50,scanLimit:e.candidateScanLimit,semantic:!1}).length)}function I(t,a,e){return s(t,e,"wrapper-candidates",()=>u(w(t,{scope:a,maxLoc:15,limit:50,scanLimit:e.candidateScanLimit,semantic:!1})))}function $(t,a,e){return s(t,e,"passthrough-candidates",()=>u(b(t,{scope:a,maxLoc:15,limit:50,scanLimit:e.candidateScanLimit,semantic:!1})))}function z(t,a,e){return s(t,e,"stale-abstractions",()=>{let r=L(t,{scope:a,minLoc:3,limit:50,scanLimit:e.candidateScanLimit,semantic:!1}),i=r.filter(o=>o.consumers===0).length;return{count:r.length,loc:r.reduce((o,c)=>o+c.loc,0),unused:i,singleUse:r.length-i}})}function k(t,a,e){return s(t,e,"drift",()=>{let r=x(t,{scope:a,semantic:!1});return{count:r.unusedImports+r.layerViolations,unusedImports:r.unusedImports,layerViolations:r.layerViolations}})}function N(t,a,e){return s(t,e,"complexity-hotspots",()=>{let r=P(t,{scope:a,minLoc:10,limit:10,scanLimit:e.candidateScanLimit,semantic:!1});return{top:r.slice(0,5).map(i=>({symbol:i.shortName,score:i.score})),extremeCount:r.filter(i=>i.score>O).length}})}function Q(t){let a=[];if(t.dead.count>0&&a.push({category:"Dead code",description:`${t.dead.count} symbols with zero references anywhere \u2014 safe to delete`,effort:"low",impact:"high",count:t.dead.count,locRecoverable:t.dead.loc}),t.isolated.count>0&&a.push({category:"Isolated symbols",description:`${t.isolated.count} symbols completely disconnected from the codebase graph`,effort:"low",impact:"medium",count:t.isolated.count,locRecoverable:t.isolated.loc}),t.realCycleCount>0&&a.push({category:"Circular dependencies",description:`${t.realCycleCount} cycle(s) \u2014 break with dependency inversion or module restructuring`,effort:"medium",impact:"high",count:t.realCycleCount,locRecoverable:0}),t.similarCount>0&&a.push({category:"Similar functions",description:`${t.similarCount} pairs with real logic overlap (beyond shared imports) \u2014 consolidation candidates`,effort:"medium",impact:"medium",count:t.similarCount,locRecoverable:0}),t.extractCount>0&&a.push({category:"Extraction candidates",description:`${t.extractCount} large functions with isolated callee clusters \u2014 extract method opportunities`,effort:"medium",impact:"medium",count:t.extractCount,locRecoverable:0}),t.wrappers.count>0&&a.push({category:"Wrapper functions",description:`${t.wrappers.count} single-consumer symbols that could be inlined`,effort:"low",impact:"low",count:t.wrappers.count,locRecoverable:t.wrappers.loc}),t.passthroughs.count>0&&a.push({category:"Passthrough functions",description:`${t.passthroughs.count} functions that just forward to one callee \u2014 unnecessary indirection`,effort:"low",impact:"low",count:t.passthroughs.count,locRecoverable:t.passthroughs.loc}),t.stale.count>0){let i=[];t.stale.unused>0&&i.push(`${t.stale.unused} unused`),t.stale.singleUse>0&&i.push(`${t.stale.singleUse} single-consumer (not in types file)`),a.push({category:"Stale abstractions",description:`${i.join(", ")} \u2014 premature abstraction`,effort:"low",impact:"medium",count:t.stale.count,locRecoverable:t.stale.loc})}if(t.drift.count>0){let i=[];t.drift.unusedImports>0&&i.push(`${t.drift.unusedImports} unused imports`),t.drift.layerViolations>0&&i.push(`${t.drift.layerViolations} layer violations`),a.push({category:"Structural drift",description:i.join(", "),effort:t.drift.layerViolations>0?"medium":"low",impact:t.drift.layerViolations>0?"medium":"low",count:t.drift.count,locRecoverable:0})}let e={high:3,medium:2,low:1},r={low:3,medium:2,high:1};return a.sort((i,o)=>{let c=e[i.impact]*r[i.effort];return e[o.impact]*r[o.effort]-c}),a}function J(t){let a=Math.max(t.statsResult.documents,1),e=Math.max(t.statsResult.symbols,1),r=100,i=t.dead.count/e;r-=Math.min(20,Math.round(i*200));let o=t.isolated.count/e;r-=Math.min(10,Math.round(o*200)),r-=Math.min(15,t.realCycleCount*5);let c=t.similarCount/e*1e3;r-=Math.min(10,Math.round(c));let p=t.extractCount/e*1e3;r-=Math.min(5,Math.round(p/2)),r-=Math.min(3,t.wrappers.count),r-=Math.min(3,t.passthroughs.count);let U=t.stale.count/Math.max(e*.1,1);r-=Math.min(8,Math.round(U*10));let V=t.drift.count/a;return r-=Math.min(5,Math.round(V*50)),r-=Math.min(5,t.complexity.extremeCount*2),Math.max(0,Math.min(100,r))}function K(t,a){return t.symbols>=j||t.documents>=W?a?{candidateScanLimit:void 0,releaseCachesBetweenPhases:!0,warnings:["Large index detected; running unbounded health analyses because --full was supplied."]}:{candidateScanLimit:A,releaseCachesBetweenPhases:!0,warnings:[`Large index detected; candidate-style health checks scanned their highest-priority ${A} symbols. Run "scip-query health --full" for unbounded candidate counts.`]}:{candidateScanLimit:void 0,releaseCachesBetweenPhases:!0,warnings:[]}}function Z(t,a){a.releaseCachesBetweenPhases&&(R(t),m(t),h())}function s(t,a,e,r){tt(e);try{return r()}finally{Z(t,a)}}function tt(t){process.env.SCIP_QUERY_HEALTH_TRACE==="1"&&console.error(`[health] ${t}`)}function et(t,a){return a.filter(e=>!l(t,e.relativePath)&&!d(t,e.symbol,e.relativePath)&&e.kind==="dead-code")}function at(t,a){return a.filter(e=>!l(t,e.relativePath)&&!d(t,e.symbol,e.relativePath))}function u(t){return{count:t.length,loc:t.reduce((a,e)=>a+e.loc,0)}}export{gt as a,Ht as b,yt as c,Ct as d};
2
+ //# sourceMappingURL=chunk-TYR7QY5G.js.map
@@ -1,4 +1,4 @@
1
- import{a as r}from"./chunk-MO65UK5V.js";import{g as l}from"./chunk-3PVIYZ74.js";import{a as c}from"./chunk-ZHHMG4UC.js";import{o as d}from"./chunk-QFZE73XF.js";function f(e,t){let o=c(e,t);if(!o)return[];let i=e.get(`SELECT COUNT(DISTINCT c.document_id) AS file_count
1
+ import{a as r}from"./chunk-LLDPR3DG.js";import{j as l}from"./chunk-EHEZLULQ.js";import{a as c}from"./chunk-BT36WY5B.js";import{s as d}from"./chunk-NLJCXHFU.js";function f(e,t){let o=c(e,t);if(!o)return[];let i=e.get(`SELECT COUNT(DISTINCT c.document_id) AS file_count
2
2
  FROM mentions m
3
3
  JOIN chunks c ON m.chunk_id = c.id
4
4
  WHERE m.symbol_id = ?
@@ -59,4 +59,4 @@ import{a as r}from"./chunk-MO65UK5V.js";import{g as l}from"./chunk-3PVIYZ74.js";
59
59
  GROUP BY d.id
60
60
  ORDER BY symbol_count DESC
61
61
  LIMIT ?`,o).filter(s=>!e.isIgnored(s.relative_path)).map(s=>({name:s.relative_path,count:s.symbol_count}))}export{f as a,y as b,b as c,I as d};
62
- //# sourceMappingURL=chunk-HVNVO6UW.js.map
62
+ //# sourceMappingURL=chunk-U3GYMGBX.js.map
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-MO65UK5V.js";function r(e,o,n){let d=m(e,o)??o,s=m(e,n)??n,t=e.get(`SELECT COUNT(DISTINCT gs.id) AS shared
1
+ import{a as m}from"./chunk-LLDPR3DG.js";function r(e,o,n){let d=m(e,o)??o,s=m(e,n)??n,t=e.get(`SELECT COUNT(DISTINCT gs.id) AS shared
2
2
  FROM global_symbols gs
3
3
  WHERE (
4
4
  -- Defined in file1, referenced in file2
@@ -53,4 +53,4 @@ import{a as m}from"./chunk-MO65UK5V.js";function r(e,o,n){let d=m(e,o)??o,s=m(e,
53
53
  GROUP BY def_d.id, ref_d.id
54
54
  ORDER BY shared DESC
55
55
  LIMIT ?`,n).filter(i=>!e.isIgnored(i.file1)&&!e.isIgnored(i.file2)).map(i=>({file1:i.file1,file2:i.file2,sharedSymbols:i.shared}))}export{r as a,c as b};
56
- //# sourceMappingURL=chunk-Q2ALKKSE.js.map
56
+ //# sourceMappingURL=chunk-UIM4WALN.js.map
@@ -0,0 +1,2 @@
1
+ import{a as g}from"./chunk-LNUZWWWL.js";import{s as f}from"./chunk-NLJCXHFU.js";function E(e,s={}){let{scope:t,minLoc:o=10,minCallees:l=6,limit:n=20,scanLimit:c}=s,r=new g(e),i=r.productionCallableDefinitions({scope:t,minLoc:o,excludeTypesFiles:!0,requireFunctionLikeSymbol:!0,sortByLocDesc:!0}),m=L(i,c),p=r.calleeMap(m,{semantic:s.semantic!==!1}),d=[];for(let a of m){let u=b(a,p.get(a.symbolId)??[],l);u&&d.push(u)}return d.sort((a,u)=>u.clusters.length-a.clusters.length||u.loc-a.loc),d.slice(0,n)}function b(e,s,t){let o=new Set(s.map(r=>r.symbol));if(o.size<t)return null;let l=h(o,s),n=S(o,l);if(n.length<2)return null;let c=C(n,l);return c.length===0?null:{symbol:e.symbol,shortName:f(e.symbol),relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:x(e),totalCallees:o.size,clusters:c}}function h(e,s){let t=new Map;for(let l of e)t.set(l,new Set);let o=new Map;for(let l of s){let n=o.get(l.chunkId);n||(n=new Set,o.set(l.chunkId,n)),n.add(l.symbol)}for(let l of o.values()){let n=[...l];for(let c=0;c<n.length;c++)for(let r=c+1;r<n.length;r++)t.get(n[c]).add(n[r]),t.get(n[r]).add(n[c])}return t}function S(e,s){let t=new Set,o=[];for(let l of e){if(t.has(l))continue;let n=new Set,c=[l];for(;c.length>0;){let r=c.pop();if(!t.has(r)){t.add(r),n.add(r);for(let i of s.get(r)??[])t.has(i)||c.push(i)}}o.push(n)}return o}function C(e,s){return e.filter(t=>t.size>=3).map(t=>y(t,e,s)).filter(t=>t.isolation>.5).sort((t,o)=>o.isolation-t.isolation)}function y(e,s,t){let o=new Set;for(let r of s)if(r!==e)for(let i of r)o.add(i);let l=0;for(let r of e)for(let i of t.get(r)??[])o.has(i)&&l++;let n=e.size*o.size,c=n>0?1-l/n:1;return{callees:[...e].map(f),isolation:c}}function x(e){return e.endLine-e.startLine+1}function L(e,s){return typeof s!="number"||s<=0||e.length<=s?e:e.slice(0,s)}export{E as a};
2
+ //# sourceMappingURL=chunk-UZG3QXTG.js.map
@@ -1,6 +1,6 @@
1
- import{a as m}from"./chunk-MO65UK5V.js";import{a as h}from"./chunk-ZHHMG4UC.js";import{o as g}from"./chunk-QFZE73XF.js";import{readFileSync as f}from"fs";import{extname as b,join as d}from"path";function M(t,e,a={}){let{context:s=0}=a,r=R(e);if(r)return L(t,r.filePath,r.startLine,r.endLine,s);let l=h(t,e);return l?j(t,l,s):null}function R(t){let e=t.match(/^(.+\.\w+):(\d+)-(\d+)$/);return e?{filePath:e[1],startLine:parseInt(e[2],10),endLine:parseInt(e[3],10)}:null}function j(t,e,a){let s=t.get("SELECT language FROM documents WHERE relative_path = ?",e.relativePath),r=d(t.config.projectRoot,e.relativePath),l;try{l=f(r,"utf-8")}catch{return null}let n=l.split(`
1
+ import{a as m}from"./chunk-LLDPR3DG.js";import{a as h}from"./chunk-BT36WY5B.js";import{s as g}from"./chunk-NLJCXHFU.js";import{readFileSync as f}from"fs";import{extname as b,join as d}from"path";function M(t,e,a={}){let{context:s=0}=a,r=R(e);if(r)return L(t,r.filePath,r.startLine,r.endLine,s);let l=h(t,e);return l?j(t,l,s):null}function R(t){let e=t.match(/^(.+\.\w+):(\d+)-(\d+)$/);return e?{filePath:e[1],startLine:parseInt(e[2],10),endLine:parseInt(e[3],10)}:null}function j(t,e,a){let s=t.get("SELECT language FROM documents WHERE relative_path = ?",e.relativePath),r=d(t.config.projectRoot,e.relativePath),l;try{l=f(r,"utf-8")}catch{return null}let n=l.split(`
2
2
  `),c=Math.max(0,e.startLine-a),i=Math.min(n.length-1,e.endLine+a),o=n.slice(c,i+1).join(`
3
3
  `);return{symbol:e.symbol,shortName:g(e.symbol),relativePath:e.relativePath,startLine:c,endLine:i,language:s?.language??v(e.relativePath),source:o}}function L(t,e,a,s,r){let l=m(t,e);if(!l)return null;let n=t.get("SELECT relative_path, language FROM documents WHERE relative_path = ?",l);if(!n)return null;let c=d(t.config.projectRoot,n.relative_path),i;try{i=f(c,"utf-8")}catch{return null}let o=i.split(`
4
4
  `),u=Math.max(0,a-1-r),p=Math.min(o.length-1,s-1+r),y=o.slice(u,p+1).join(`
5
5
  `);return{symbol:`${n.relative_path}:${a}-${s}`,shortName:`${n.relative_path}:${a}-${s}`,relativePath:n.relative_path,startLine:u,endLine:p,language:n.language??v(n.relative_path),source:y}}function v(t){switch(b(t).toLowerCase()){case".ts":case".tsx":case".mts":case".cts":return"typescript";case".js":case".jsx":case".mjs":case".cjs":return"javascript";case".py":case".pyi":return"python";case".rs":return"rust";case".go":return"go";case".java":return"java";case".kt":case".kts":return"kotlin";case".scala":return"scala";case".rb":return"ruby";case".php":return"php";case".cs":return"csharp";case".vb":return"vb";case".dart":return"dart";case".c":case".h":return"c";case".cc":case".cpp":case".cxx":case".hpp":case".hh":case".hxx":return"cpp";case".vue":return"vue";default:return null}}export{M as a};
6
- //# sourceMappingURL=chunk-7LSCW7NF.js.map
6
+ //# sourceMappingURL=chunk-V4WRHJU3.js.map
@@ -0,0 +1,6 @@
1
+ import{a as F,b as y,d as A,e as T}from"./chunk-RKTDEIHF.js";import{a as k}from"./chunk-LNUZWWWL.js";import{k as B}from"./chunk-EHEZLULQ.js";import{a as R}from"./chunk-BT36WY5B.js";import{d as P,s as p,t as M,w as x,z as q}from"./chunk-NLJCXHFU.js";function re(e,t,i={}){let{minSimilarity:s=.4,limit:r=20}=i,a=Z(e,t,{semantic:i.semantic!==!1});if(!a)return[];if(!x(a.symbol))return[];let n=O(e,a,s,{scanLimit:i.scanLimit,semantic:i.semantic!==!1});return n.length>0?n.slice(0,r):K(e,t,{minSimilarity:s,limit:r})}function O(e,t,i,s){let r=v(e,{minCallees:3,excludeSymbol:t.symbol,scanLimit:s.scanLimit,semantic:s.semantic}),a=A([t,...r].map(o=>o.callees)),n=[];for(let o of r){if(o.callees.size<3)continue;let l=$(t,o,a,{minSimilarity:i,requireSignificantShared:1,requireSharedCount:0});l&&n.push(l)}return n.sort((o,l)=>l.similarity-o.similarity),n}function $(e,t,i,s){let{similarity:r,significantShared:a}=T(e.callees,t.callees,i);if(r<s.minSimilarity)return null;let n=F(e.callees,t.callees).size;if(a.length<s.requireSignificantShared&&n<s.requireSharedCount)return null;let o=a.length>0?a:[...F(e.callees,t.callees)];return{symbolA:e.symbol,shortNameA:p(e.symbol),fileA:e.file,symbolB:t.symbol,shortNameB:p(t.symbol),fileB:t.file,similarity:r,similarityBasis:"callees",sharedCallees:o.map(p),uniqueToA:[...y(e.callees,t.callees)].map(p),uniqueToB:[...y(t.callees,e.callees)].map(p)}}function ae(e,t={}){let{minSimilarity:i=.5,limit:s=20,scope:r,minCallees:a=4,crossFileOnly:n=!1,scanLimit:o}=t,l=v(e,{minCallees:a,scope:r,scanLimit:o,semantic:t.semantic!==!1}),c=A(l.map(m=>m.callees)),u=new Map;for(let m of l)for(let f of m.callees)u.set(f,(u.get(f)??0)+1);let h=Math.max(8,Math.ceil(Math.sqrt(l.length))),w=new Map;for(let m=0;m<l.length;m+=1)for(let f of l[m].callees){if((u.get(f)??0)>h)continue;let g=w.get(f);g||(g=[],w.set(f,g)),g.push(m)}let C=[],z=new Set;e:for(let m=0;m<l.length;m+=1){let f=l[m],g=new Set;for(let D of f.callees){let S=w.get(D);if(S)for(let b of S)b>m&&g.add(b)}for(let D of g){let S=`${m}|${D}`;if(z.has(S))continue;z.add(S);let b=l[D];if(n&&f.file===b.file)continue;if(f.paramCount>=0&&b.paramCount>=0){let j=Math.abs(f.paramCount-b.paramCount),_=Math.max(2,Math.ceil(Math.max(f.paramCount,b.paramCount)*.5));if(j>_)continue}let L=$(f,b,c,{minSimilarity:i,requireSignificantShared:2,requireSharedCount:4});if(L&&(C.push(L),C.length>s*5))break e}}return C.sort((m,f)=>f.similarity-m.similarity),C.slice(0,s)}var V=["ScipDatabase#all","ScipDatabase#get","ScipDatabase#prepare","ScipDatabase#pathExclusionsFor","ScipDatabase#isIgnored","ScipDatabase#symbolNoiseFor","PerDbValue#get","PerDbValue#has",":storage:db:ScipDatabase:all",":storage:db:ScipDatabase:get",":storage:db:ScipDatabase:prepare",":storage:db:ScipDatabase:pathExclusionsFor",":storage:db:ScipDatabase:isIgnored",":storage:db:ScipDatabase:symbolNoiseFor",":storage:per-db-cache:PerDbValue:get",":storage:per-db-cache:PerDbValue:has"];function Z(e,t,i){let s=R(e,t),r=new k(e);if(!s)return null;let a=B(e,s,{semantic:i.semantic});return{symbol:s.symbol,file:s.relativePath,callees:E(a.map(n=>n.symbol)),paramCount:r.callableSignature(s)?.paramCount??-1}}function v(e,t){let{minCallees:i,scope:s,excludeSymbol:r,scanLimit:a}=t,n=new k(e),o=U(n.productionCallableDefinitions({scope:s,minLoc:5,excludeSymbol:r,sortByLocDesc:typeof a=="number"&&a>0}),a),l=n.calleeMap(o,{semantic:t.semantic!==!1});return o.map(c=>({symbol:c.symbol,file:c.relativePath,callees:E((l.get(c.symbolId)??[]).map(u=>u.symbol)),paramCount:n.callableSignature(c)?.paramCount??-1})).filter(c=>c.callees.size>=i)}function U(e,t){return typeof t!="number"||t<=0||e.length<=t?e:e.slice(0,t)}function E(e){return new Set([...e].filter(t=>!W(t)))}function W(e){return V.some(t=>e.includes(t))}function K(e,t,i){let s=G(e,t);if(!s||s.tokens.size<3)return[];let r=i.minSimilarity>=.5?i.minSimilarity:.3,a=[];for(let n of J(e)){if(n.symbol===s.symbol||n.tokens.size<3)continue;let o=F(s.tokens,n.tokens);if(o.size<2)continue;let l=new Set([...s.tokens,...n.tokens]),c=l.size>0?o.size/l.size:0;c<r||a.push({symbolA:s.symbol,shortNameA:p(s.symbol),fileA:s.file,symbolB:n.symbol,shortNameB:p(n.symbol),fileB:n.file,similarity:c,similarityBasis:"source-tokens",sharedCallees:[...o].sort(),uniqueToA:[...y(s.tokens,n.tokens)].sort(),uniqueToB:[...y(n.tokens,s.tokens)].sort()})}return a.sort((n,o)=>o.similarity-n.similarity||n.shortNameB.localeCompare(o.shortNameB)),a.slice(0,i.limit)}function G(e,t){let i=R(e,t);if(!i||!x(i.symbol))return null;let s=H(e,i);return s?{symbol:i.symbol,file:i.relativePath,tokens:s}:null}function H(e,t){let i=M(t.symbol),s=I(e,t.relativePath,t.startLine,t.endLine,i),r=N(s,i);return r.size>0?r:null}function J(e){let t=new k(e);return t.scopedDefinitions().filter(i=>i.isFunctionLike).filter(i=>t.fileKind(i.relativePath)!=="test").filter(i=>!q(i.symbol)).map(i=>({symbol:i.symbol,file:i.relativePath,tokens:N(I(e,i.relativePath,i.startLine,i.endLine,i.leaf),i.leaf)})).filter(i=>i.tokens.size>0)}function I(e,t,i,s,r){let a=P(e,t);if(!a)return"";let n=a.split(`
2
+ `);if(s>=i&&s-i<=12)return n.slice(i,s+1).join(`
3
+ `);let o=[new RegExp(`\\bdef\\s+${d(r)}\\b`),new RegExp(`\\bfun\\s+${d(r)}\\b`),new RegExp(`\\bfn\\s+${d(r)}\\b`),new RegExp(`\\bfunction\\s+${d(r)}\\b`),new RegExp(`\\b${d(r)}\\s*\\(`)],l=n.findIndex(c=>o.some(u=>u.test(c)));if(l>=0){let c=l;for(let u=l+1;u<n.length&&u<=l+8;u++){let h=n[u]??"";if(u>l&&X(h)||(c=u,h.trim()===""&&u>l+1))break}return n.slice(l,c+1).join(`
4
+ `)}return n.slice(i,Math.min(n.length,i+8)).join(`
5
+ `)}function N(e,t){if(!e)return new Set;let i=new Set(["public","private","protected","final","static","class","def","fun","fn","function","return","string","bool","boolean","void","unit","self","this","new","const","let","var","end","pub"]),s=Q(t),a=e.replace(/["'`]/g," ").replace(/\b\d+\b/g," NUM ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[^A-Za-z0-9_]+/g," ").replace(/_/g," ").toLowerCase().split(/\s+/).map(n=>n.trim()).filter(n=>n.length>1).filter(n=>!i.has(n)).filter(n=>!s.has(n));return new Set(a)}function Q(e){return new Set(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^A-Za-z0-9_]+|_/).map(t=>t.toLowerCase()).filter(t=>t.length>1))}function X(e){return/^\s*(?:def|fun|fn|function|class|trait|module|object|enum|interface|public|private|protected)\b/.test(e)}function d(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{re as a,ae as b};
6
+ //# sourceMappingURL=chunk-VDMRAGBK.js.map
@@ -0,0 +1,5 @@
1
+ import{a as P}from"./chunk-LNUZWWWL.js";import{f as D}from"./chunk-33Z6HQBX.js";import{a as S,d as b,h as C,l as x,n as I,r as L,s as v,t as d}from"./chunk-NLJCXHFU.js";function ue(n,e){let{scope:t,minLoc:i=3,maxLoc:s=80,limit:r=30,includeLowConfidence:a=!1,scanLimit:o}=e??{},f=e?.semantic!==!1,c=new P(n),u=c.scopedDefinitions(t),m=G(c,t),p=Y(B(n,c,u,{minLoc:i,maxLoc:s}).sort((l,g)=>y(g)-y(l)||l.relativePath.localeCompare(g.relativePath)),o),A=N(c,p,{semantic:f}),$=U(n,c,u,p,{semantic:f}),_=E(p);return j(n,p,A,_).filter(l=>!$.has(l.definition.symbolId)).filter(l=>!l.transitivelyReachable).filter(l=>l.realConsumers.length<=1).filter(l=>!(l.realConsumers.length===0&&l.barrelConsumers>0)).filter(l=>q(l.definition,l.realConsumers.length,m)).map(l=>O(n,l)).filter(l=>a||l.confidence!=="low").sort((l,g)=>{let h={high:0,medium:1,low:2};return h[l.confidence]-h[g.confidence]||g.loc-l.loc||l.file.localeCompare(g.file)||l.startLine-g.startLine}).slice(0,r)}function B(n,e,t,i){return t.filter(s=>s.isTypeLike&&y(s)>=i.minLoc).filter(s=>y(s)<=i.maxLoc).filter(s=>!n.isIgnored(s.relativePath)).filter(s=>!Z(s.symbol)).filter(s=>!e.hasSuppressionComment(s))}function N(n,e,t){return R(n.crossFileCallerMap(e,{semantic:t.semantic}),n.sourceFallbackCallerFiles(e))}function E(n){let e=new Map;for(let t of n){let i=e.get(t.relativePath);i||(i=new Map,e.set(t.relativePath,i));let s=d(t.symbol);s&&i.set(s,t)}return e}function j(n,e,t,i){return e.map(s=>{let a=[...t.get(s.symbolId)??new Set].filter(u=>u!==s.relativePath&&!n.isIgnored(u)),{realConsumers:o,barrelConsumers:f}=J(n,s.relativePath,s.symbol,a),c=Q(n,s,t,i);return{definition:s,realConsumers:o,barrelConsumers:f,transitivelyReachable:c}})}function O(n,e){let t=k(n,e.definition.relativePath,e.definition.startLine),i=M(e.definition.relativePath)?!0:ne(n,e.definition),{confidence:s,reason:r}=te(e.realConsumers.length,t,i);return{symbol:e.definition.symbol,shortName:v(e.definition.symbol),file:e.definition.relativePath,startLine:e.definition.startLine,endLine:e.definition.endLine,loc:y(e.definition),consumers:e.realConsumers.length,barrelConsumers:e.barrelConsumers,kind:t,definerUsesType:i,confidence:s,reason:r}}function U(n,e,t,i,s){let r=H(n,z(t),i),a=r.map(c=>c.singleton);if(r.length===0)return new Set;let o=R(e.crossFileCallerMap(a,{semantic:s.semantic}),e.sourceFallbackCallerFiles(a)),f=new Set;for(let{singleton:c,classId:u}of r)V(n,c,o)&&f.add(u);return f}function z(n){let e=new Map;for(let t of n){let i=d(t.symbol);i&&e.set(w(t.relativePath,i),t)}return e}function H(n,e,t){let i=[];for(let s of t){let r=K(n,e,s);r&&i.push({singleton:r,classId:s.symbolId})}return i}function K(n,e,t){if(k(n,t.relativePath,t.startLine)!=="class")return null;let i=d(t.symbol);if(!i)return null;let s=W(n,t.relativePath,i);return s?e.get(w(t.relativePath,s))??null:null}function V(n,e,t){let i=d(e.symbol),s=t.get(e.symbolId);return!i||!s?!1:[...s].some(r=>r!==e.relativePath&&!n.isIgnored(r)&&!T(n,r,i))}function w(n,e){return`${n}\0${e}`}function W(n,e,t){let i=b(n,e);if(!i)return null;let s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\bexport\\s+const\\s+([A-Za-z_$][\\w$]*)\\s*=\\s*new\\s+${s}\\s*\\(`);return i.match(r)?.[1]??null}function G(n,e){return new Set(n.scopedDefinitions(e).filter(t=>t.isFunctionLike).map(t=>t.relativePath))}function Z(n){let e=L(n);if("kind"in e)return!1;let t=e.descriptors;if(t.length<2)return!1;let i=t[t.length-1],s=t[t.length-2];return i?.suffix==="type"&&s?.suffix==="type"}function M(n){let t=(n.split("/").pop()??"").replace(/\.[^.]+$/,"");return!!(t==="types"||t==="models"||t==="schema"||t==="common"||t==="protocol"||t==="proto"||t==="dto"||t==="mod"||/(^|\/)types(\/|\.)/.test(n)||/(^|\/)models?(\/|\.)/.test(n)||/(^|\/)proto(?:col)?(\/|\.)/.test(n)||/(^|\/)schema(\/|\.)/.test(n))}function q(n,e,t){return!(M(n.relativePath)&&e>0||e===0&&t.has(n.relativePath))}function J(n,e,t,i){let s=[],r=0,a=d(t);for(let o of i)ee(n,o,e,a)||T(n,o,a)?r++:s.push(o);return{realConsumers:s,barrelConsumers:r}}function Q(n,e,t,i){let s=I(n,e.relativePath),r=d(e.symbol);if(!r)return!1;let a=s.get(r);if(!a||a.size===0)return!1;let o=i.get(e.relativePath);if(!o)return!1;for(let f of a){let c=o.get(f);if(!c)continue;let u=t.get(c.symbolId);if(u){for(let m of u)if(m!==e.relativePath&&!n.isIgnored(m))return!0}}return!1}var F=S("stale-abs-file-usage");function T(n,e,t){if(!t)return!1;let i=C(e);if(!i)return!1;let s=F.get(n,e,()=>X(n,e,i));return s.importedLeaves.has(t)&&!s.usedLeaves.has(t)}function X(n,e,t){let i=new Set,s=new Set,r=x(n,e);if(!r)return{importedLeaves:i,usedLeaves:s};let a=t==="rust"?new Set(["use_declaration"]):t==="python"?new Set(["import_statement","import_from_statement"]):new Set(["import_statement"]),o=(f,c)=>{let u=c||a.has(f.type);(f.type==="identifier"||f.type==="type_identifier"||f.type==="property_identifier"||f.type==="field_identifier")&&(u?i.add(f.text):s.add(f.text));for(let m of f.children)o(m,u)};return o(r.rootNode,!1),{importedLeaves:i,usedLeaves:s}}function Y(n,e){return typeof e!="number"||e<=0||n.length<=e?n:n.slice(0,e)}function de(n){F.invalidateAll(n)}function ee(n,e,t,i){if(!i)return!1;let s=b(n,e);if(!s)return!1;let r=D(n,e);if(r.length===0)return!1;let a=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(`\\b${a}\\b`),f=s.split(`
2
+ `),c=0;for(let u=0;u<f.length;u++){if(!o.test(f[u]??""))continue;if(c++,!r.find(p=>p.startLine<=u&&u<=p.endLine))return!1}return c>0}function k(n,e,t){let i=b(n,e);if(!i)return"other";let s=i.split(`
3
+ `),r=Math.max(0,t-2),a=Math.min(s.length-1,t+2);for(let o=r;o<=a;o++){let c=(s[o]??"").replace(/^\s*\/\/.*$/g,"");if(/\b(?:export\s+)?(?:abstract\s+)?class\s+\w/.test(c))return"class";if(/\b(?:export\s+)?interface\s+\w/.test(c))return"interface";if(/\b(?:export\s+)?type\s+\w/.test(c))return"type";if(/\b(?:export\s+)?(?:const\s+)?enum\s+\w/.test(c))return"enum"}return"other"}function ne(n,e){let t=b(n,e.relativePath);if(!t)return!1;let i=d(e.symbol);if(!i)return!1;let s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\b${s}\\b`),a=t.split(`
4
+ `);for(let o=0;o<a.length;o++)if(!(o>=e.startLine&&o<=e.endLine)&&r.test(a[o]??""))return!0;return!1}function te(n,e,t){return n===0?{confidence:"high",reason:"unused \u2014 no consumers and defining file has no real usage"}:n===1&&e==="class"?{confidence:"low",reason:"1 consumer + class kind \u2014 likely 1:1 encapsulation, not over-abstraction"}:n===1&&!t?{confidence:"high",reason:"1 consumer + defining file never uses it \u2014 type belongs with its consumer"}:{confidence:"medium",reason:"1 consumer \u2014 single-use abstraction"}}function y(n){return n.endLine-n.startLine+1}function R(...n){let e=new Map;for(let t of n)for(let[i,s]of t){let r=e.get(i);r||(r=new Set,e.set(i,r));for(let a of s)r.add(a)}return e}export{ue as a,de as b};
5
+ //# sourceMappingURL=chunk-W6SRVK2Y.js.map
@@ -1,4 +1,4 @@
1
- import{i as d}from"./chunk-3PVIYZ74.js";import{B as l,o as m}from"./chunk-QFZE73XF.js";function y(o,t={}){let{limit:s=30,scope:e}=t,n=e?`AND def_d.relative_path LIKE '%${e}%'`:"",r=o.all(`SELECT
1
+ import{l as d}from"./chunk-EHEZLULQ.js";import{G as l,s as m}from"./chunk-NLJCXHFU.js";function y(o,t={}){let{limit:s=30,scope:e}=t,n=e?`AND def_d.relative_path LIKE '%${e}%'`:"",r=o.all(`SELECT
2
2
  gs.symbol,
3
3
  COUNT(*) AS ref_count,
4
4
  COUNT(DISTINCT ref_d.id) AS file_count,
@@ -22,4 +22,4 @@ import{i as d}from"./chunk-3PVIYZ74.js";import{B as l,o as m}from"./chunk-QFZE73
22
22
  GROUP BY gs.id
23
23
  ORDER BY ref_count DESC
24
24
  LIMIT ?`,s).filter(i=>!o.isIgnored(i.defined_in)).map(i=>({symbol:i.symbol,shortName:m(i.symbol),refCount:i.ref_count,fileCount:i.file_count,definedIn:i.defined_in}));return r.length>0?r:f(o,e,s)}function f(o,t,s){return l(o,{scope:t}).filter(e=>!o.isIgnored(e.relativePath)).map(e=>u(o,e)).filter(e=>e.refCount>0).sort((e,n)=>n.refCount-e.refCount||n.fileCount-e.fileCount).slice(0,s)}function u(o,t){let s=d(o,t,{limit:500});return{symbol:t.symbol,shortName:m(t.symbol),refCount:s.length,fileCount:new Set(s.map(e=>e.file)).size,definedIn:t.relativePath}}export{y as a};
25
- //# sourceMappingURL=chunk-QFBJZHMV.js.map
25
+ //# sourceMappingURL=chunk-WGYJDGBI.js.map
@@ -1,2 +1,2 @@
1
- import{c as d}from"./chunk-RKTDEIHF.js";import{g as a}from"./chunk-3PVIYZ74.js";function F(t,i={}){let{minSimilarity:f=.5,limit:n=20,scope:o,filePattern:s}=i,u=i.minDeps??(s?1:3),e=g(t,{scope:o,minDeps:u}),p=[];if(s){let r=e.find(l=>l.file.includes(s));if(!r)return[];for(let l of e){if(l.file===r.file)continue;let c=m(r,l,f);c&&p.push(c)}}else for(let r=0;r<e.length;r++){for(let l=r+1;l<e.length;l++){let c=m(e[r],e[l],f);c&&p.push(c)}if(p.length>n*5)break}return p.sort((r,l)=>l.similarity-r.similarity),p.slice(0,n)}function g(t,i){let{scope:f,minDeps:n}=i,o=a(t,f),s=h(o),u=[];for(let[e,p]of o)p.size>=n&&u.push({file:e,deps:new Set([...p].filter(r=>!s.has(r)))});return u}function h(t){let i=new Set,f=t.size;if(f===0)return i;let n=new Map;for(let o of t.values())for(let s of o)n.set(s,(n.get(s)??0)+1);for(let[o,s]of n)s>=5&&s/f>.3&&i.add(o);return i}function m(t,i,f){let n=new Set;for(let e of t.deps)i.deps.has(e)&&n.add(e);if(n.size<3||t.deps.size<4||i.deps.size<4)return null;let o=d(t.deps,i.deps);if(o<f)return null;let s=[];for(let e of t.deps)i.deps.has(e)||s.push(e);let u=[];for(let e of i.deps)t.deps.has(e)||u.push(e);return{fileA:t.file,fileB:i.file,similarity:o,sharedDeps:[...n],uniqueToA:s,uniqueToB:u}}export{F as a};
2
- //# sourceMappingURL=chunk-KBGFYKOJ.js.map
1
+ import{c as d}from"./chunk-RKTDEIHF.js";import{j as a}from"./chunk-EHEZLULQ.js";function F(t,i={}){let{minSimilarity:f=.5,limit:n=20,scope:o,filePattern:s}=i,u=i.minDeps??(s?1:3),e=g(t,{scope:o,minDeps:u}),p=[];if(s){let r=e.find(l=>l.file.includes(s));if(!r)return[];for(let l of e){if(l.file===r.file)continue;let c=m(r,l,f);c&&p.push(c)}}else for(let r=0;r<e.length;r++){for(let l=r+1;l<e.length;l++){let c=m(e[r],e[l],f);c&&p.push(c)}if(p.length>n*5)break}return p.sort((r,l)=>l.similarity-r.similarity),p.slice(0,n)}function g(t,i){let{scope:f,minDeps:n}=i,o=a(t,f),s=h(o),u=[];for(let[e,p]of o)p.size>=n&&u.push({file:e,deps:new Set([...p].filter(r=>!s.has(r)))});return u}function h(t){let i=new Set,f=t.size;if(f===0)return i;let n=new Map;for(let o of t.values())for(let s of o)n.set(s,(n.get(s)??0)+1);for(let[o,s]of n)s>=5&&s/f>.3&&i.add(o);return i}function m(t,i,f){let n=new Set;for(let e of t.deps)i.deps.has(e)&&n.add(e);if(n.size<3||t.deps.size<4||i.deps.size<4)return null;let o=d(t.deps,i.deps);if(o<f)return null;let s=[];for(let e of t.deps)i.deps.has(e)||s.push(e);let u=[];for(let e of i.deps)t.deps.has(e)||u.push(e);return{fileA:t.file,fileB:i.file,similarity:o,sharedDeps:[...n],uniqueToA:s,uniqueToB:u}}export{F as a};
2
+ //# sourceMappingURL=chunk-WYX3RU2K.js.map
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-LNUZWWWL.js";import{a as i}from"./chunk-BT36WY5B.js";import{A as n,s,u as m}from"./chunk-NLJCXHFU.js";function c(r,a){let t=i(r,a);return t?new l(r).definitionsForFile(t.relativePath).filter(e=>e.symbol!==t.symbol).filter(e=>n(t.symbol,e.symbol)).sort((e,o)=>e.startLine-o.startLine||e.endLine-o.endLine).map(e=>({symbol:e.symbol,shortName:s(e.symbol),startLine:e.startLine,endLine:e.endLine,kind:m(e.symbol)??"unknown"})):[]}export{c as a};
2
+ //# sourceMappingURL=chunk-WZYA234B.js.map