import{Bca as U,Jca as m,U7 as F,Y7 as f,b7 as K,c7 as E}from"./cli-0.5.12-g4wb8mj2.mjs";import{pea as v,qea as x}from"./cli-0.5.12-asbn3d19.mjs";import{Tfa as D,Xfa as g}from"./cli-0.5.12-p5ps8gf0.mjs";import{aoa as S}from"./cli-0.5.12-xzeb7mtb.mjs";import{basename as H,dirname as b,join as I,sep as O}from"path";function _(q,B){if(!q)return{directory:B||v(),prefix:""};let G=F(q,B);if(q.endsWith("/")||q.endsWith(O))return{directory:G,prefix:""};let N=b(G),J=H(q);return{directory:N,prefix:J}}async function k(q){let B=Z.get(q);if(B)return B;try{let J=(await D().readdir(q)).filter((M)=>M.isDirectory()&&!M.name.startsWith(".")).map((M)=>({name:M.name,path:I(q,M.name),type:"directory"})).slice(0,100);return Z.set(q,J),J}catch(G){return U(G),[]}}async function P(q,B={}){let{basePath:G=v(),maxResults:N=10}=B,{directory:J,prefix:M}=_(q,G),V=await k(J),z=M.toLowerCase();return V.filter((X)=>X.name.toLowerCase().startsWith(z)).slice(0,N).map((X)=>({id:X.path,displayText:X.name+"/",description:"directory",metadata:{type:"directory"}}))}function o(q){return q.startsWith("~/")||q.startsWith("/")||q.startsWith("./")||q.startsWith("../")||q==="~"||q==="."||q===".."}async function u(q,B=!1){let G=`${q}:${B}`,N=A.get(G);if(N)return N;try{let V=(await D().readdir(q)).filter((z)=>B||!z.name.startsWith(".")).map((z)=>({name:z.name,path:I(q,z.name),type:z.isDirectory()?"directory":"file"})).sort((z,W)=>{if(z.type==="directory"&&W.type!=="directory")return-1;if(z.type!=="directory"&&W.type==="directory")return 1;return z.name.localeCompare(W.name)}).slice(0,100);return A.set(G,V),V}catch(J){return U(J),[]}}async function h(q,B={}){let{basePath:G=v(),maxResults:N=10,includeFiles:J=!0,includeHidden:M=!1}=B,{directory:V,prefix:z}=_(q,G),W=await u(V,M),X=z.toLowerCase(),j=W.filter((Q)=>{if(!J&&Q.type==="file")return!1;return Q.name.toLowerCase().startsWith(X)}).slice(0,N),w=q.includes("/")||q.includes(O),Y="";if(w){let Q=q.lastIndexOf("/"),$=q.lastIndexOf(O),L=Math.max(Q,$);Y=q.substring(0,L+1)}if(Y.startsWith("./")||Y.startsWith("."+O))Y=Y.slice(2);return j.map((Q)=>{let $=Y+Q.name;return{id:$,displayText:Q.type==="directory"?$+"/":$,metadata:{type:Q.type}}})}var R=500,T=300000,Z,A;var C=S(()=>{E();x();g();m();f();Z=new K({max:R,ttl:T}),A=new K({max:R,ttl:T})});
export{P as Wg,o as Xg,h as Yg,C as Zg};
