import{Hda as G,Ida as N,Lda as M,Oda as Y,Qda as O,Rda as S,Sda as _,wda as A,xda as k}from"./cli-0.5.12-7vxpqr5a.mjs";import{Kfa as K,Lfa as W,Pfa as j,fga as C,iga as R}from"./cli-0.5.12-p5ps8gf0.mjs";import"./cli-0.5.12-hp0508v9.mjs";import{Bga as y,Gga as c}from"./cli-0.5.12-tfdwzg37.mjs";import"./cli-0.5.12-60w1a0bs.mjs";import"./cli-0.5.12-c8f4daey.mjs";import"./cli-0.5.12-0qasc0ef.mjs";import"./cli-0.5.12-f8850v2j.mjs";import"./cli-0.5.12-xzeb7mtb.mjs";O();R();c();k();_();M();j();import{mkdir as m,readFile as z,stat as E,unlink as T,writeFile as f}from"fs/promises";import{dirname as B,join as b}from"path";var I=50,D=14400000,u=S(()=>Y.object({sessionId:Y.string(),environmentId:Y.string(),source:Y.enum(["standalone","repl"])}));function J(q){return b(N(),G(q),"bridge-pointer.json")}async function g(q,x){let v=J(q);try{await m(B(v),{recursive:!0}),await f(v,K(x),"utf8"),C(`[bridge:pointer] wrote ${v}`)}catch(V){C(`[bridge:pointer] write failed: ${V}`,{level:"warn"})}}async function U(q){let x=J(q),v,V;try{V=(await E(x)).mtimeMs,v=await z(x,"utf8")}catch{return null}let Z=u().safeParse(F(v));if(!Z.success)return C(`[bridge:pointer] invalid schema, clearing: ${x}`),await X(q),null;let $=Math.max(0,Date.now()-V);if($>D)return C(`[bridge:pointer] stale (>4h mtime), clearing: ${x}`),await X(q),null;return{...Z.data,ageMs:$}}async function s(q){let x=await U(q);if(x)return{pointer:x,dir:q};let v=await A(q);if(v.length<=1)return null;if(v.length>I)return C(`[bridge:pointer] ${v.length} worktrees exceeds fanout cap ${I}, skipping`),null;let V=G(q),Z=v.filter((H)=>G(H)!==V),$=await Promise.all(Z.map(async(H)=>{let L=await U(H);return L?{pointer:L,dir:H}:null})),Q=null;for(let H of $)if(H&&(!Q||H.pointer.ageMs<Q.pointer.ageMs))Q=H;if(Q)C(`[bridge:pointer] fanout found pointer in worktree ${Q.dir} (ageMs=${Q.pointer.ageMs})`);return Q}async function X(q){let x=J(q);try{await T(x),C(`[bridge:pointer] cleared ${x}`)}catch(v){if(!y(v))C(`[bridge:pointer] clear failed: ${v}`,{level:"warn"})}}function F(q){try{return W(q)}catch{return null}}export{g as writeBridgePointer,s as readBridgePointerAcrossWorktrees,U as readBridgePointer,J as getBridgePointerPath,X as clearBridgePointer,D as BRIDGE_POINTER_TTL_MS};
