import{fS as T,qS as c}from"./cli-0.5.3-yj9nbd9d.mjs";import{UT as w,XT as n}from"./cli-0.5.3-h8xs2818.mjs";import{M7 as y,N7 as g,O6 as M,Q6 as X,R6 as f}from"./cli-0.5.3-t65dek0m.mjs";import{Nfa as Z,Qfa as h,afa as E,cfa as S,qfa as K,rfa as v,vfa as m}from"./cli-0.5.3-n3cxyxpg.mjs";import{Zfa as R,kga as F}from"./cli-0.5.3-7wdgps7z.mjs";import{Ega as Y,Jga as W,Lga as D}from"./cli-0.5.3-c8bcrqa4.mjs";import{gma as j,pia as k,tia as A,via as N}from"./cli-0.5.3-qrvd6cmy.mjs";import{Xma as H}from"./cli-0.5.3-0df3r78b.mjs";function O(q){if(q<=1)return!1;try{return process.kill(q,0),!0}catch{return!1}}async function i(q,J=10){if(process.platform==="win32"){let Q=`
      $pid = ${String(q)}
      $ancestors = @()
      for ($i = 0; $i -lt ${J}; $i++) {
        $proc = Get-CimInstance Win32_Process -Filter "ProcessId=$pid" -ErrorAction SilentlyContinue
        if (-not $proc -or -not $proc.ParentProcessId -or $proc.ParentProcessId -eq 0) { break }
        $pid = $proc.ParentProcessId
        $ancestors += $pid
      }
      $ancestors -join ','
    `.trim(),V=await X("powershell.exe",["-NoProfile","-Command",Q],{timeout:3000});if(V.code!==0||!V.stdout?.trim())return[];return V.stdout.trim().split(",").filter(Boolean).map((G)=>parseInt(G,10)).filter((G)=>!isNaN(G))}let L=`pid=${String(q)}; for i in $(seq 1 ${J}); do ppid=$(ps -o ppid= -p $pid 2>/dev/null | tr -d ' '); if [ -z "$ppid" ] || [ "$ppid" = "0" ] || [ "$ppid" = "1" ]; then break; fi; echo $ppid; pid=$ppid; done`,z=await X("sh",["-c",L],{timeout:3000});if(z.code!==0||!z.stdout?.trim())return[];return z.stdout.trim().split(`
`).filter(Boolean).map((Q)=>parseInt(Q,10)).filter((Q)=>!isNaN(Q))}function e(q){try{let J=String(q),L=process.platform==="win32"?`powershell.exe -NoProfile -Command "(Get-CimInstance Win32_Process -Filter \\"ProcessId=${J}\\").CommandLine"`:`ps -o command= -p ${J}`,z=M(L,{timeout:1000});return z?z.trim():null}catch{return null}}async function qq(q,J=10){if(process.platform==="win32"){let Q=`
      $currentPid = ${String(q)}
      $commands = @()
      for ($i = 0; $i -lt ${J}; $i++) {
        $proc = Get-CimInstance Win32_Process -Filter "ProcessId=$currentPid" -ErrorAction SilentlyContinue
        if (-not $proc) { break }
        if ($proc.CommandLine) { $commands += $proc.CommandLine }
        if (-not $proc.ParentProcessId -or $proc.ParentProcessId -eq 0) { break }
        $currentPid = $proc.ParentProcessId
      }
      $commands -join [char]0
    `.trim(),V=await X("powershell.exe",["-NoProfile","-Command",Q],{timeout:3000});if(V.code!==0||!V.stdout?.trim())return[];return V.stdout.split("\x00").filter(Boolean)}let L=`currentpid=${String(q)}; for i in $(seq 1 ${J}); do cmd=$(ps -o command= -p $currentpid 2>/dev/null); if [ -n "$cmd" ]; then printf '%s\\0' "$cmd"; fi; ppid=$(ps -o ppid= -p $currentpid 2>/dev/null | tr -d ' '); if [ -z "$ppid" ] || [ "$ppid" = "0" ] || [ "$ppid" = "1" ]; then break; fi; currentpid=$ppid; done`,z=await X("sh",["-c",L],{timeout:3000});if(z.code!==0||!z.stdout?.trim())return[];return z.stdout.split("\x00").filter(Boolean)}var _=H(()=>{f()});import{chmod as u,mkdir as a,readdir as l,readFile as p,unlink as P,writeFile as b}from"fs/promises";import{join as $}from"path";function U(){return $(R(),"sessions")}function o(){return}async function Uq(){if(T()!=null)return!1;let q=o()??"interactive",J=U(),L=$(J,`${process.pid}.json`);E(async()=>{try{await P(L)}catch{}});try{return await a(J,{recursive:!0,mode:448}),await u(J,448),await b(L,K({pid:process.pid,sessionId:k(),cwd:N(),startedAt:Date.now(),kind:q,entrypoint:process.env.CLAUDE_CODE_ENTRYPOINT,...{},...{}})),A((z)=>{B({sessionId:z})}),!0}catch(z){return Z(`[concurrentSessions] register failed: ${Y(z)}`),!1}}async function B(q){let J=$(U(),`${process.pid}.json`);try{let L=v(await p(J,"utf8"));await b(J,K({...L,...q}))}catch(L){Z(`[concurrentSessions] updatePidFile failed: ${Y(L)}`)}}async function Bq(q){if(!q)return;await B({name:q})}async function C(q){await B({bridgeSessionId:q})}async function Mq(){let q=U(),J;try{J=await l(q)}catch(z){if(!W(z))Z(`[concurrentSessions] readdir failed: ${Y(z)}`);return 0}let L=0;for(let z of J){if(!/^\d+\.json$/.test(z))continue;let Q=parseInt(z.slice(0,-5),10);if(Q===process.pid){L++;continue}if(O(Q))L++;else if(y()!=="wsl")P($(q,z)).catch(()=>{})}return L}var I=H(()=>{j();S();h();F();D();_();g();m();c()});function Aq(q){x=q,C(r()??null).catch(()=>{})}function d(){return x}function r(){let q=d();return q?w(q.bridgeSessionId):void 0}var x=null;var t=H(()=>{I();n()});
export{O as MR,i as NR,e as OR,qq as PR,_ as QR,Uq as RR,Bq as SR,C as TR,Mq as UR,I as VR,Aq as WR,d as XR,r as YR,t as ZR};
