codeplane-linux-x64-baseline-musl 27.4.52 → 27.4.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/codeplane +0 -0
- package/bin/runtime/tui/node-main.js +3 -3
- package/package.json +1 -1
package/bin/codeplane
CHANGED
|
Binary file
|
|
@@ -739,7 +739,7 @@ ${A?A().outerHTML:""}`);return A()}if(L5.completed)L5.completed.add(u);return L5
|
|
|
739
739
|
`)}if(s6.hasName(A,"UICancelledError"))return""}function $rA(A){return OJA(A)}var Bn0=k(()=>{ng();JY()});var gl,oI1;var FZA=k(async()=>{Bn0();CaA();await Z0([TA(),gU()]);({use:gl,provider:oI1}=_8({name:"Exit",init:(A)=>{let u=vq(),q,F,G={set:(Q)=>{let g=q;return q=Q,()=>{q=g}},clear:()=>{q=void 0},get:()=>q},w=Object.assign((Q)=>{if(F)return F;return F=(async()=>{if(await A.onBeforeExit?.(),u.setTerminalTitle(""),u.destroy(),SaA(),Q){let j=YrA(Q)??$rA(Q);if(j)process.stderr.write(j+`
|
|
740
740
|
`)}let g=G.get();if(g)process.stdout.write(g+`
|
|
741
741
|
`);await A.onExit?.()})(),F},{message:G});return process.on("SIGHUP",()=>w()),w}}))});var gP,sI1;var QqA=k(async()=>{await gU();({use:gP,provider:sI1}=_8({name:"Args",init:(A)=>A}))});var VrA,Mn0;var Ln0=k(()=>{d0();C5();VrA=class VrA extends E.Class("ConsoleState")({consoleManagedProviders:E.mutable(E.Array(E.String)),activeOrgName:E.optional(E.String),switchableOrgCount:E.Number}){static zod=N0(this)};Mn0=VrA.make({consoleManagedProviders:[],activeOrgName:void 0,switchableOrgCount:0})});import eI1 from"path";var $4,Ak1;var jg=k(async()=>{yF();aI1();U6();Ln0();await Z0([Uz(),wqA(),JQ(),gU(),FZA(),QqA(),Np(),Ao()]);({use:$4,provider:Ak1}=_8({name:"Sync",init:()=>{let[A,u]=u4({provider_next:{all:[],catalog:[],default:{},connected:[]},console_state:Mn0,provider_auth:{},config:{},status:"loading",agent:[],permission:{},question:{},command:[],provider:[],provider_default:{},session:[],session_status:{},session_diff:{},todo:{},message:{},part:{},lsp:[],mcp:{},mcp_resource:{},formatter:[],vcs:void 0}),q=QP(),F=jU(),G=I4(),w=RB(),Q=new Set,g=F.workspace.current();function j(){if(!w.get("session_directory_filter_enabled",!0))return{scope:"project"};if(!F.data.instance.path.worktree||!F.data.instance.path.directory)return{scope:"project"};return{path:eI1.relative(eI1.resolve(F.data.instance.path.worktree),F.data.instance.path.directory).replaceAll("\\","/")}}function K(){return G.client.session.list({start:Date.now()-2592000000,...j()}).then((X)=>(X.data??[]).toSorted((Y,$)=>Y.id.localeCompare($.id)))}q.subscribe((X)=>{switch(X.type){case"server.instance.disposed":O();break;case"permission.replied":{let Y=A.permission[X.properties.sessionID];if(!Y)break;let $=AX.search(Y,X.properties.requestID,(V)=>V.id);if(!$.found)break;u("permission",X.properties.sessionID,T8((V)=>{V.splice($.index,1)}));break}case"permission.asked":{let Y=X.properties,$=A.permission[Y.sessionID];if(!$){u("permission",Y.sessionID,[Y]);break}let V=AX.search($,Y.id,(H)=>H.id);if(V.found){u("permission",Y.sessionID,V.index,V8(Y));break}u("permission",Y.sessionID,T8((H)=>{H.splice(V.index,0,Y)}));break}case"question.replied":case"question.rejected":{let Y=A.question[X.properties.sessionID];if(!Y)break;let $=AX.search(Y,X.properties.requestID,(V)=>V.id);if(!$.found)break;u("question",X.properties.sessionID,T8((V)=>{V.splice($.index,1)}));break}case"question.asked":{let Y=X.properties,$=A.question[Y.sessionID];if(!$){u("question",Y.sessionID,[Y]);break}let V=AX.search($,Y.id,(H)=>H.id);if(V.found){u("question",Y.sessionID,V.index,V8(Y));break}u("question",Y.sessionID,T8((H)=>{H.splice(V.index,0,Y)}));break}case"todo.updated":u("todo",X.properties.sessionID,X.properties.todos);break;case"session.diff":u("session_diff",X.properties.sessionID,X.properties.diff);break;case"session.deleted":{let Y=AX.search(A.session,X.properties.info.id,($)=>$.id);if(Y.found)u("session",T8(($)=>{$.splice(Y.index,1)}));break}case"session.updated":{let Y=AX.search(A.session,X.properties.info.id,($)=>$.id);if(Y.found){u("session",Y.index,V8(X.properties.info));break}u("session",T8(($)=>{$.splice(Y.index,0,X.properties.info)}));break}case"session.status":{u("session_status",X.properties.sessionID,X.properties.status);break}case"message.updated":{let Y=A.message[X.properties.info.sessionID];if(!Y){u("message",X.properties.info.sessionID,[X.properties.info]);break}let $=AX.search(Y,X.properties.info.id,(H)=>H.id);if($.found){u("message",X.properties.info.sessionID,$.index,V8(X.properties.info));break}u("message",X.properties.info.sessionID,T8((H)=>{H.splice($.index,0,X.properties.info)}));let V=A.message[X.properties.info.sessionID];if(V.length>100){let H=V[0];Y7(()=>{u("message",X.properties.info.sessionID,T8((Z)=>{Z.shift()})),u("part",T8((Z)=>{delete Z[H.id]}))})}break}case"message.removed":{let Y=A.message[X.properties.sessionID],$=AX.search(Y,X.properties.messageID,(V)=>V.id);if($.found)u("message",X.properties.sessionID,T8((V)=>{V.splice($.index,1)}));break}case"message.part.updated":{let Y=A.part[X.properties.part.messageID];if(!Y){u("part",X.properties.part.messageID,[X.properties.part]);break}let $=AX.search(Y,X.properties.part.id,(V)=>V.id);if($.found){u("part",X.properties.part.messageID,$.index,V8(X.properties.part));break}u("part",X.properties.part.messageID,T8((V)=>{V.splice($.index,0,X.properties.part)}));break}case"message.part.delta":{let Y=A.part[X.properties.messageID];if(!Y)break;let $=AX.search(Y,X.properties.partID,(V)=>V.id);if(!$.found)break;u("part",X.properties.messageID,T8((V)=>{let H=V[$.index],Z=X.properties.field,N=H[Z];H[Z]=(N??"")+X.properties.delta}));break}case"message.part.removed":{let Y=A.part[X.properties.messageID],$=AX.search(Y,X.properties.partID,(V)=>V.id);if($.found)u("part",X.properties.messageID,T8((V)=>{V.splice($.index,1)}));break}case"lsp.updated":{let Y=F.workspace.current();G.client.lsp.status({workspace:Y}).then(($)=>u("lsp",$.data??[]));break}case"vcs.branch.updated":{u("vcs",{branch:X.properties.branch});break}}});let U=gl(),_=gP();async function O(X={}){let Y=X.fatal??!0,$=F.workspace.current();if($!==g)Q.clear(),g=$;let V=F.sync(),H=V.then(()=>K()),Z=G.client.config.providers({workspace:$},{throwOnError:!0}),N=G.client.provider.list({workspace:$},{throwOnError:!0}),B=G.client.experimental.console.get({workspace:$},{throwOnError:!0}).then((x)=>x.data).catch(()=>Mn0),z=G.client.app.agents({workspace:$},{throwOnError:!0}),M=G.client.config.get({workspace:$},{throwOnError:!0}),L=[Z,N,z,M,V,..._.continue?[H]:[]];await Promise.all(L).then(async()=>{let x=Z.then((f)=>f.data),P=N.then((f)=>f.data),D=B,C=z.then((f)=>f.data??[]),y=M.then((f)=>f.data),S=_.continue?H:void 0;return Promise.all([x,P,D,C,y,...S?[S]:[]]).then((f)=>{let r=f[0],l=f[1],o=f[2],a=f[3],n=f[4],s=f[5];Y7(()=>{if(u("provider",V8(r.providers)),u("provider_default",V8(r.default)),u("provider_next",V8(l)),u("console_state",V8(o)),u("agent",V8(a)),u("config",V8(n)),s!==void 0)u("session",V8(s))})})}).then(()=>{if(A.status!=="complete")u("status","partial");Promise.all([..._.continue?[]:[H.then((x)=>u("session",V8(x)))],B.then((x)=>u("console_state",V8(x))),G.client.command.list({workspace:$}).then((x)=>u("command",V8(x.data??[]))),G.client.lsp.status({workspace:$}).then((x)=>u("lsp",V8(x.data??[]))),G.client.mcp.status({workspace:$}).then((x)=>u("mcp",V8(x.data??{}))),G.client.experimental.resource.list({workspace:$}).then((x)=>u("mcp_resource",V8(x.data??{}))),G.client.formatter.status({workspace:$}).then((x)=>u("formatter",V8(x.data??[]))),G.client.session.status({workspace:$}).then((x)=>{u("session_status",V8(x.data??{}))}),G.client.provider.auth({workspace:$}).then((x)=>u("provider_auth",V8(x.data??{}))),G.client.vcs.get({workspace:$}).then((x)=>u("vcs",V8(x.data))),F.workspace.sync()]).then(()=>{u("status","complete")})}).catch(async(x)=>{if(hc0.error("tui bootstrap failed",{error:x instanceof Error?x.message:String(x),name:x instanceof Error?x.name:void 0,stack:x instanceof Error?x.stack:void 0}),Y)await U(x);else throw x})}fu(()=>{O()});let W={data:A,set:u,get status(){return A.status},get ready(){if(process.env.CODEPLANE_FAST_BOOT)return!0;return A.status!=="loading"},get path(){return F.instance.path()},session:{get(X){let Y=AX.search(A.session,X,($)=>$.id);if(Y.found)return A.session[Y.index];return},query(){return j()},async refresh(){let X=await K();u("session",V8(X))},status(X){let Y=W.session.get(X);if(!Y)return"idle";if(Y.time.compacting)return"compacting";let V=(A.message[X]??[]).at(-1);if(!V)return"idle";if(V.role==="user")return"working";return V.time.completed?"idle":"working"},async sync(X){if(Q.has(X))return;let[Y,$,V,H]=await Promise.all([G.client.session.get({sessionID:X},{throwOnError:!0}),G.client.session.messages({sessionID:X,limit:100}),G.client.session.todo({sessionID:X}),G.client.session.diff({sessionID:X})]);u(T8((Z)=>{let N=AX.search(Z.session,X,(B)=>B.id);if(N.found)Z.session[N.index]=Y.data;if(!N.found)Z.session.splice(N.index,0,Y.data);Z.todo[X]=V.data??[],Z.message[X]=$.data.map((B)=>B.info);for(let B of $.data)Z.part[B.info.id]=B.parts;Z.session_diff[X]=H.data??[]})),Q.add(X)}},bootstrap:O};return W}}))});var gqA=T((uk1,ZrA)=>{((A,u)=>{if(typeof define==="function"&&define.amd)define([],u);else if(typeof ZrA==="object"&&ZrA.exports)ZrA.exports=u();else A.fuzzysort=u()})(uk1,(A)=>{var u=(b,p)=>{if(!b||!p)return a;var KA=W(b);if(!f(p))p=O(p);var d=KA.bitflags;if((d&p._bitflags)!==d)return a;return Y(KA,p)},q=(b,p,KA)=>{if(!b)return KA?.all?X(p,KA):o;var d=W(b),GA=d.bitflags,OA=d.containsSpace,v=U(KA?.threshold||0),c=KA?.limit||r,uA=0,gA=0,wA=p.length;function h(ZA){if(uA<c)t.add(ZA),++uA;else if(++gA,ZA._score>t.peek()._score)t.replaceTop(ZA)}if(KA?.key){var e=KA.key;for(var qA=0;qA<wA;++qA){var AA=p[qA],FA=S(AA,e);if(!FA)continue;if(!f(FA))FA=O(FA);if((GA&FA._bitflags)!==GA)continue;var WA=Y(d,FA);if(WA===a)continue;if(WA._score<v)continue;WA.obj=AA,h(WA)}}else if(KA?.keys){var NA=KA.keys,PA=NA.length;A:for(var qA=0;qA<wA;++qA){var AA=p[qA];{var DA=0;for(var lA=0;lA<PA;++lA){var e=NA[lA],FA=S(AA,e);if(!FA){C[lA]=n;continue}if(!f(FA))FA=O(FA);C[lA]=FA,DA|=FA._bitflags}if((GA&DA)!==GA)continue}if(OA)for(let eA=0;eA<d.spaceSearches.length;eA++)P[eA]=l;for(var lA=0;lA<PA;++lA){if(FA=C[lA],FA===n){y[lA]=n;continue}if(y[lA]=Y(d,FA,!1,OA),y[lA]===a){y[lA]=n;continue}if(OA)for(let Y0=0;Y0<d.spaceSearches.length;Y0++){if(D[Y0]>-1000){if(P[Y0]>l){var j0=(P[Y0]+D[Y0])/4;if(j0>P[Y0])P[Y0]=j0}}if(D[Y0]>P[Y0])P[Y0]=D[Y0]}}if(OA){for(let eA=0;eA<d.spaceSearches.length;eA++)if(P[eA]===l)continue A}else{var $0=!1;for(let eA=0;eA<PA;eA++)if(y[eA]._score!==l){$0=!0;break}if(!$0)continue}var T0=new g(PA);for(let eA=0;eA<PA;eA++)T0[eA]=y[eA];if(OA){var k0=0;for(let eA=0;eA<d.spaceSearches.length;eA++)k0+=P[eA]}else{var k0=l;for(let Y0=0;Y0<PA;Y0++){var WA=T0[Y0];if(WA._score>-1000){if(k0>l){var j0=(k0+WA._score)/4;if(j0>k0)k0=j0}}if(WA._score>k0)k0=WA._score}}if(T0.obj=AA,T0._score=k0,KA?.scoreFn){if(k0=KA.scoreFn(T0),!k0)continue;k0=U(k0),T0._score=k0}if(k0<v)continue;h(T0)}}else for(var qA=0;qA<wA;++qA){var FA=p[qA];if(!FA)continue;if(!f(FA))FA=O(FA);if((GA&FA._bitflags)!==GA)continue;var WA=Y(d,FA);if(WA===a)continue;if(WA._score<v)continue;h(WA)}if(uA===0)return o;var XA=Array(uA);for(var qA=uA-1;qA>=0;--qA)XA[qA]=t.poll();return XA.total=uA+gA,XA},F=(b,p="<b>",KA="</b>")=>{var d=typeof p==="function"?p:void 0,GA=b.target,OA=GA.length,v=b.indexes,c="",uA=0,gA=0,wA=!1,h=[];for(var e=0;e<OA;++e){var qA=GA[e];if(v[gA]===e){if(++gA,!wA)if(wA=!0,d)h.push(c),c="";else c+=p;if(gA===v.length){if(d)c+=qA,h.push(d(c,uA++)),c="",h.push(GA.substr(e+1));else c+=qA+KA+GA.substr(e+1);break}}else if(wA)if(wA=!1,d)h.push(d(c,uA++)),c="";else c+=KA;c+=qA}return d?h:c},G=(b)=>{if(typeof b==="number")b=""+b;else if(typeof b!=="string")b="";var p=H(b);return j(b,{_targetLower:p._lower,_targetLowerCodes:p.lowerCodes,_bitflags:p.bitflags})},w=()=>{B.clear(),z.clear()};class Q{get["indexes"](){return this._indexes.slice(0,this._indexes.len).sort((b,p)=>b-p)}set["indexes"](b){return this._indexes=b}["highlight"](b,p){return F(this,b,p)}get["score"](){return K(this._score)}set["score"](b){this._score=U(b)}}class g extends Array{get["score"](){return K(this._score)}set["score"](b){this._score=U(b)}}var j=(b,p)=>{let KA=new Q;return KA.target=b,KA.obj=p.obj??a,KA._score=p._score??l,KA._indexes=p._indexes??[],KA._targetLower=p._targetLower??"",KA._targetLowerCodes=p._targetLowerCodes??a,KA._nextBeginningIndexes=p._nextBeginningIndexes??a,KA._bitflags=p._bitflags??0,KA},K=(b)=>{if(b===l)return 0;if(b>1)return b;return Math.E**(((-b+1)**0.04307-1)*-2)},U=(b)=>{if(b===0)return l;if(b>1)return b;return 1-Math.pow(Math.log(b)/-2+1,23.218017181332716)},_=(b)=>{if(typeof b==="number")b=""+b;else if(typeof b!=="string")b="";b=b.trim();var p=H(b),KA=[];if(p.containsSpace){var d=b.split(/\s+/);d=[...new Set(d)];for(var GA=0;GA<d.length;GA++){if(d[GA]==="")continue;var OA=H(d[GA]);KA.push({lowerCodes:OA.lowerCodes,_lower:d[GA].toLowerCase(),containsSpace:!1})}}return{lowerCodes:p.lowerCodes,_lower:p._lower,containsSpace:p.containsSpace,bitflags:p.bitflags,spaceSearches:KA}},O=(b)=>{if(b.length>999)return G(b);var p=B.get(b);if(p!==void 0)return p;return p=G(b),B.set(b,p),p},W=(b)=>{if(b.length>999)return _(b);var p=z.get(b);if(p!==void 0)return p;return p=_(b),z.set(b,p),p},X=(b,p)=>{var KA=[];KA.total=b.length;var d=p?.limit||r;if(p?.key)for(var GA=0;GA<b.length;GA++){var OA=b[GA],v=S(OA,p.key);if(v==a)continue;if(!f(v))v=O(v);var c=j(v.target,{_score:v._score,obj:OA});if(KA.push(c),KA.length>=d)return KA}else if(p?.keys)for(var GA=0;GA<b.length;GA++){var OA=b[GA],uA=new g(p.keys.length);for(var gA=p.keys.length-1;gA>=0;--gA){var v=S(OA,p.keys[gA]);if(!v){uA[gA]=n;continue}if(!f(v))v=O(v);v._score=l,v._indexes.len=0,uA[gA]=v}if(uA.obj=OA,uA._score=l,KA.push(uA),KA.length>=d)return KA}else for(var GA=0;GA<b.length;GA++){var v=b[GA];if(v==a)continue;if(!f(v))v=O(v);if(v._score=l,v._indexes.len=0,KA.push(v),KA.length>=d)return KA}return KA},Y=(b,p,KA=!1,d=!1)=>{if(KA===!1&&b.containsSpace)return $(b,p,d);var{_lower:GA,lowerCodes:OA}=b,v=OA[0],c=p._targetLowerCodes,uA=OA.length,gA=c.length,qA=0,wA=0,h=0;for(;;){var e=v===c[wA];if(e){if(M[h++]=wA,++qA,qA===uA)break;v=OA[qA]}if(++wA,wA>=gA)return a}var qA=0,AA=!1,FA=0,WA=p._nextBeginningIndexes;if(WA===a)WA=p._nextBeginningIndexes=N(p.target);wA=M[0]===0?0:WA[M[0]-1];var NA=0;if(wA!==gA)for(;;)if(wA>=gA){if(qA<=0)break;if(++NA,NA>200)break;--qA;var PA=L[--FA];wA=WA[PA]}else{var e=OA[qA]===c[wA];if(e){if(L[FA++]=wA,++qA,qA===uA){AA=!0;break}++wA}else wA=WA[wA]}var DA=uA<=1?-1:p._targetLower.indexOf(GA,M[0]),lA=!!~DA,j0=!lA?!1:DA===0||p._nextBeginningIndexes[DA-1]===DA;if(lA&&!j0)for(var $0=0;$0<WA.length;$0=WA[$0]){if($0<=DA)continue;for(var T0=0;T0<uA;T0++)if(OA[T0]!==p._targetLowerCodes[$0+T0])break;if(T0===uA){DA=$0,j0=!0;break}}var k0=(eA)=>{var Y0=0,w0=0;for(var Q0=1;Q0<uA;++Q0)if(eA[Q0]-eA[Q0-1]!==1)Y0-=eA[Q0],++w0;var MA=eA[uA-1]-eA[0]-(uA-1);if(Y0-=(12+MA)*w0,eA[0]!==0)Y0-=eA[0]*eA[0]*0.2;if(!AA)Y0*=1000;else{var EA=1;for(var Q0=WA[0];Q0<gA;Q0=WA[Q0])++EA;if(EA>24)Y0*=(EA-24)*10}if(Y0-=(gA-uA)/2,lA)Y0/=1+uA*uA*1;if(j0)Y0/=1+uA*uA*1;return Y0-=(gA-uA)/2,Y0};if(!AA){if(lA)for(var $0=0;$0<uA;++$0)M[$0]=DA+$0;var XA=M,ZA=k0(XA)}else if(j0){for(var $0=0;$0<uA;++$0)M[$0]=DA+$0;var XA=M,ZA=k0(M)}else var XA=L,ZA=k0(L);p._score=ZA;for(var $0=0;$0<uA;++$0)p._indexes[$0]=XA[$0];p._indexes.len=uA;let vA=new Q;return vA.target=p.target,vA._score=p._score,vA._indexes=p._indexes,vA},$=(b,p,KA)=>{var d=new Set,GA=0,OA=a,v=0,c=b.spaceSearches,uA=c.length,gA=0,wA=()=>{for(let j0=gA-1;j0>=0;j0--)p._nextBeginningIndexes[x[j0*2+0]]=x[j0*2+1]},h=!1;for(var lA=0;lA<uA;++lA){D[lA]=l;var e=c[lA];if(OA=Y(e,p),KA){if(OA===a)continue;h=!0}else if(OA===a)return wA(),a;var qA=lA===uA-1;if(!qA){var AA=OA._indexes,FA=!0;for(let $0=0;$0<AA.len-1;$0++)if(AA[$0+1]-AA[$0]!==1){FA=!1;break}if(FA){var WA=AA[AA.len-1]+1,NA=p._nextBeginningIndexes[WA-1];for(let $0=WA-1;$0>=0;$0--){if(NA!==p._nextBeginningIndexes[$0])break;p._nextBeginningIndexes[$0]=WA,x[gA*2+0]=$0,x[gA*2+1]=NA,gA++}}}if(GA+=OA._score/uA,D[lA]=OA._score/uA,OA._indexes[0]<v)GA-=(v-OA._indexes[0])*2;v=OA._indexes[0];for(var PA=0;PA<OA._indexes.len;++PA)d.add(OA._indexes[PA])}if(KA&&!h)return a;wA();var DA=Y(b,p,!0);if(DA!==a&&DA._score>GA){if(KA)for(var lA=0;lA<uA;++lA)D[lA]=DA._score/uA;return DA}if(KA)OA=p;OA._score=GA;var lA=0;for(let j0 of d)OA._indexes[lA++]=j0;return OA._indexes.len=lA,OA},V=(b)=>b.replace(/\p{Script=Latin}+/gu,(p)=>p.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),H=(b)=>{b=V(b);var p=b.length,KA=b.toLowerCase(),d=[],GA=0,OA=!1;for(var v=0;v<p;++v){var c=d[v]=KA.charCodeAt(v);if(c===32){OA=!0;continue}var uA=c>=97&&c<=122?c-97:c>=48&&c<=57?26:c<=127?30:31;GA|=1<<uA}return{lowerCodes:d,bitflags:GA,containsSpace:OA,_lower:KA}},Z=(b)=>{var p=b.length,KA=[],d=0,GA=!1,OA=!1;for(var v=0;v<p;++v){var c=b.charCodeAt(v),uA=c>=65&&c<=90,gA=uA||c>=97&&c<=122||c>=48&&c<=57,wA=uA&&!GA||!OA||!gA;if(GA=uA,OA=gA,wA)KA[d++]=v}return KA},N=(b)=>{b=V(b);var p=b.length,KA=Z(b),d=[],GA=KA[0],OA=0;for(var v=0;v<p;++v)if(GA>v)d[v]=GA;else GA=KA[++OA],d[v]=GA===void 0?p:GA;return d},B=new Map,z=new Map,M=[],L=[],x=[],P=[],D=[],C=[],y=[],S=(b,p)=>{var KA=b[p];if(KA!==void 0)return KA;if(typeof p==="function")return p(b);var d=p;if(!Array.isArray(p))d=p.split(".");var GA=d.length,OA=-1;while(b&&++OA<GA)b=b[d[OA]];return b},f=(b)=>{return typeof b==="object"&&typeof b._bitflags==="number"},r=1/0,l=-r,o=[];o.total=0;var a=null,n=G(""),s=(b)=>{var p=[],KA=0,d={},GA=(OA)=>{for(var v=0,c=p[v],uA=1;uA<KA;){var gA=uA+1;v=uA,gA<KA&&p[gA]._score<p[uA]._score&&(v=gA),p[v-1>>1]=p[v],uA=1+(v<<1)}for(var wA=v-1>>1;v>0&&c._score<p[wA]._score;wA=(v=wA)-1>>1)p[v]=p[wA];p[v]=c};return d.add=(OA)=>{var v=KA;p[KA++]=OA;for(var c=v-1>>1;v>0&&OA._score<p[c]._score;c=(v=c)-1>>1)p[v]=p[c];p[v]=OA},d.poll=(OA)=>{if(KA!==0){var v=p[0];return p[0]=p[--KA],GA(),v}},d.peek=(OA)=>{if(KA!==0)return p[0]},d.replaceTop=(OA)=>{p[0]=OA,GA()},d},t=s();return{single:u,go:q,prepare:G,cleanup:w}})});var c8;var jl=k(()=>{_L0();c8={match:R91,fromParsedKey:D91,toString:P91,parse:T91}});var r7,qk1;var aY=k(async()=>{U6();jl();pw();yF();await Z0([TA(),gU(),jC()]);({use:r7,provider:qk1}=_8({name:"Keybind",init:()=>{let A=eJ(),u=bA(()=>{return tF(A.keybinds??{},YY((K)=>c8.parse(K)))}),[q,F]=u4({leader:!1}),G=vq(),w,Q;function g(K){if(K){if(F("leader",!0),w=G.currentFocusedRenderable,w?.blur(),Q)clearTimeout(Q);Q=setTimeout(()=>{if(!q.leader)return;if(g(!1),!w||w.isDestroyed)return;w.focus()},2000);return}if(!K){if(w&&!G.currentFocusedRenderable)w.focus();F("leader",!1)}}q4(async(K)=>{if(!q.leader&&j.match("leader",K)){g(!0);return}if(q.leader&&K.name)setImmediate(()=>{if(w&&G.currentFocusedRenderable===w)w.focus();g(!1)})});let j={get all(){return u()},get leader(){return q.leader},parse(K){if(K.name==="\x1F")return c8.fromParsedKey({...K,name:"_",ctrl:!0},q.leader);return c8.fromParsedKey(K,q.leader)},match(K,U){let _=u()[K]??c8.parse(K);if(!_.length)return!1;let O=j.parse(U);for(let W of _)if(c8.match(W,O))return!0;return!1},print(K){let U=u()[K]?.at(0)??c8.parse(K).at(0);if(!U)return"";let _=c8.toString(U),O=u().leader?.[0];if(!O)return _;return _.replace("<leader>",c8.toString(O))}};return j}}))});var s4;var rY=k(()=>{s4={titlecase:S91,time:xyA,datetime:OL0,todayTimeOrDateTime:C91,number:f91,duration:h91,truncate:b91,truncateMiddle:m91,pluralize:y91}});class En0{speed;constructor(A){this.speed=A}tick(A){return this.speed}reset(){}}function TB(A){if(A?.scroll_acceleration?.enabled)return new ed;if(A?.scroll_speed!==void 0)return new En0(A.scroll_speed);return new En0(3)}var qo=k(async()=>{await Mq()});function P3(A){let u=U5(),{theme:q}=r2(),F=eJ(),G=bA(()=>TB(F)),[w,Q]=u4({selected:0,filter:"",input:"keyboard"});N4(qN(()=>A.current,(L)=>{if(L){let x=_().findIndex((P)=>wE(P.value,L));if(x>=0)Q("selected",x)}}));let g,j=bA(()=>{if(A.skipFilter)return A.options.filter((D)=>D.disabled!==!0);let L=w.filter.toLowerCase(),x=tF(A.options,Pk((D)=>D.disabled!==!0));if(!L)return x;return Fk1.go(L,x,{keys:["title","category"],scoreFn:(D)=>D[0].score*2+D[1].score}).map((D)=>D.obj)});N4(()=>{j(),Q("input","keyboard")});let K=bA(()=>A.flat&&w.filter.length>0),U=bA(()=>{if(K())return[["",j()]];return tF(j(),KL0((x)=>x.category??""),Hp())}),_=bA(()=>{return tF(U(),CJA(([L,x])=>x))}),O=bA(()=>{let L=U().reduce((x,[P],D)=>{if(!P)return x;return x+(D>0?2:1)},0);return _().length+L}),W=m7(),X=bA(()=>Math.min(O(),Math.floor(W().height/2)-6)),Y=bA(()=>_()[w.selected]);N4(qN([()=>w.filter,()=>A.current],([L,x])=>{setTimeout(()=>{if(L.length>0)V(0,!0);else if(x){let P=_().findIndex((D)=>wE(D.value,x));if(P>=0)V(P,!0)}},0)}));function $(L){if(_().length===0)return;let x=w.selected+L;if(x<0)x=_().length-1;if(x>=_().length)x=0;V(x,!0)}function V(L,x=!1){Q("selected",L);let P=Y();if(P)A.onMove?.(P);if(!Z)return;let D=Z.getChildren().find((y)=>{return y.id===JSON.stringify(Y()?.value)});if(!D)return;let C=D.y-Z.y;if(x){let y=Math.floor(Z.height/2);Z.scrollBy(C-y)}else{if(C>=Z.height)Z.scrollBy(C-Z.height+1);if(C<0){if(Z.scrollBy(C),wE(_()[0].value,Y()?.value))Z.scrollTo(0)}}}let H=r7();q4((L)=>{if(Q("input","keyboard"),L.name==="up"||L.ctrl&&L.name==="p")$(-1);if(L.name==="down"||L.ctrl&&L.name==="n")$(1);if(L.name==="pageup")$(-10);if(L.name==="pagedown")$(10);if(L.name==="home")V(0);if(L.name==="end")V(_().length-1);if(L.name==="return"){let x=Y();if(x){if(L.preventDefault(),L.stopPropagation(),x.onSelect)x.onSelect(u);A.onSelect?.(x)}}for(let x of A.keybind??[]){if(x.disabled||!x.keybind)continue;if(c8.match(x.keybind,H.parse(L))){let P=Y();if(P)L.preventDefault(),x.onTrigger(P)}}});let Z,N={get filter(){return w.filter},get filtered(){return j()}};A.ref?.(N);let B=bA(()=>A.keybind?.filter((L)=>!L.disabled&&L.keybind)??[]),z=bA(()=>B().filter((L)=>L.side!=="right")),M=bA(()=>B().filter((L)=>L.side==="right"));return(()=>{var L=QA("box"),x=QA("box"),P=QA("box"),D=QA("text"),C=QA("text"),y=QA("box"),S=QA("input");return UA(L,x),I(L,"gap",1),I(L,"paddingBottom",1),UA(x,P),UA(x,y),I(x,"paddingLeft",4),I(x,"paddingRight",4),UA(P,D),UA(P,C),I(P,"flexDirection","row"),I(P,"justifyContent","space-between"),BA(D,()=>A.title),UA(C,aA("esc")),I(C,"onMouseUp",()=>u.clear()),UA(y,S),I(y,"paddingTop",1),fQ((f)=>{g=f,g.traits={status:"FILTER"},setTimeout(()=>{if(!g)return;if(g.isDestroyed)return;g.focus()},1)},S),I(S,"onInput",(f)=>{Y7(()=>{Q("filter",f),A.onFilter?.(f)})}),BA(L,JA(R0,{get when(){return U().length>0},get fallback(){return(()=>{var f=QA("box"),r=QA("text");return UA(f,r),I(f,"paddingLeft",4),I(f,"paddingRight",4),I(f,"paddingTop",1),UA(r,aA("No results found")),yA((l)=>I(r,"fg",q.textMuted,l)),f})()},get children(){var f=QA("scrollbox");return fQ((r)=>Z=r,f),I(f,"paddingLeft",1),I(f,"paddingRight",1),I(f,"scrollbarOptions",{visible:!1}),BA(f,JA(W5,{get each(){return U()},children:([r,l],o)=>[JA(R0,{when:r,get children(){var a=QA("box");return I(a,"paddingLeft",3),BA(a,JA(R0,{get when(){return l[0]?.categoryView},get fallback(){return(()=>{var n=QA("text");return BA(n,r),yA((s)=>{var t=q.accent,b=E6.BOLD;return t!==s.e&&(s.e=I(n,"fg",t,s.e)),b!==s.t&&(s.t=I(n,"attributes",b,s.t)),s},{e:void 0,t:void 0}),n})()},get children(){return l[0]?.categoryView}})),yA((n)=>I(a,"paddingTop",o()>0?1:0,n)),a}}),JA(W5,{each:l,children:(a)=>{let n=bA(()=>wE(a.value,Y()?.value)),s=bA(()=>wE(a.value,A.current));return(()=>{var t=QA("box");return I(t,"flexDirection","row"),I(t,"position","relative"),I(t,"onMouseMove",()=>{Q("input","mouse")}),I(t,"onMouseUp",()=>{a.onSelect?.(u),A.onSelect?.(a)}),I(t,"onMouseOver",()=>{if(w.input!=="mouse")return;let b=_().findIndex((p)=>wE(p.value,a.value));if(b===-1)return;V(b)}),I(t,"onMouseDown",()=>{let b=_().findIndex((p)=>wE(p.value,a.value));if(b===-1)return;V(b)}),I(t,"paddingRight",3),I(t,"gap",1),BA(t,JA(R0,{get when(){return v2(()=>!s())()&&a.margin},get children(){var b=QA("box");return I(b,"position","absolute"),I(b,"left",1),I(b,"flexShrink",0),BA(b,()=>a.margin),b}}),null),BA(t,JA(BI3,{get title(){return a.title},get footer(){return v2(()=>!!K())()?a.category??a.footer:a.footer},get description(){return v2(()=>a.description!==r)()?a.description:void 0},get active(){return n()},get current(){return s()},get gutter(){return a.gutter}}),null),yA((b)=>{var p=JSON.stringify(a.value),KA=n()?a.bg??q.primary:C2.fromInts(0,0,0,0),d=s()||a.gutter?1:3;return p!==b.e&&(b.e=I(t,"id",p,b.e)),KA!==b.t&&(b.t=I(t,"backgroundColor",KA,b.t)),d!==b.a&&(b.a=I(t,"paddingLeft",d,b.a)),b},{e:void 0,t:void 0,a:void 0}),t})()}})]})),yA((r)=>{var l=G(),o=X();return l!==r.e&&(r.e=I(f,"scrollAcceleration",l,r.e)),o!==r.t&&(r.t=I(f,"maxHeight",o,r.t)),r},{e:void 0,t:void 0}),f}}),null),BA(L,JA(R0,{get when(){return B().length},get fallback(){return(()=>{var f=QA("box");return I(f,"flexShrink",0),f})()},get children(){var f=QA("box"),r=QA("box"),l=QA("box");return UA(f,r),UA(f,l),I(f,"paddingRight",2),I(f,"paddingLeft",4),I(f,"flexDirection","row"),I(f,"justifyContent","space-between"),I(f,"flexShrink",0),I(f,"paddingTop",1),I(r,"flexDirection","row"),I(r,"gap",2),BA(r,JA(W5,{get each(){return z()},children:(o)=>(()=>{var a=QA("text"),n=QA("span"),s=QA("b"),t=aA(" "),b=QA("span");return UA(a,n),UA(a,b),UA(n,s),UA(n,t),BA(s,()=>o.title),BA(b,()=>c8.toString(o.keybind)),yA((p)=>{var KA={fg:q.text},d={fg:q.textMuted};return KA!==p.e&&(p.e=I(n,"style",KA,p.e)),d!==p.t&&(p.t=I(b,"style",d,p.t)),p},{e:void 0,t:void 0}),a})()})),I(l,"flexDirection","row"),I(l,"gap",2),BA(l,JA(W5,{get each(){return M()},children:(o)=>(()=>{var a=QA("text"),n=QA("span"),s=QA("b"),t=aA(" "),b=QA("span");return UA(a,n),UA(a,b),UA(n,s),UA(n,t),BA(s,()=>o.title),BA(b,()=>c8.toString(o.keybind)),yA((p)=>{var KA={fg:q.text},d={fg:q.textMuted};return KA!==p.e&&(p.e=I(n,"style",KA,p.e)),d!==p.t&&(p.t=I(b,"style",d,p.t)),p},{e:void 0,t:void 0}),a})()})),f}}),null),yA((f)=>{var r=q.text,l=E6.BOLD,o=q.textMuted,a=q.backgroundPanel,n=q.primary,s=q.textMuted,t=A.placeholder??"Search",b=q.textMuted;return r!==f.e&&(f.e=I(D,"fg",r,f.e)),l!==f.t&&(f.t=I(D,"attributes",l,f.t)),o!==f.a&&(f.a=I(C,"fg",o,f.a)),a!==f.o&&(f.o=I(S,"focusedBackgroundColor",a,f.o)),n!==f.i&&(f.i=I(S,"cursorColor",n,f.i)),s!==f.n&&(f.n=I(S,"focusedTextColor",s,f.n)),t!==f.s&&(f.s=I(S,"placeholder",t,f.s)),b!==f.h&&(f.h=I(S,"placeholderColor",b,f.h)),f},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),L})()}function BI3(A){let{theme:u}=r2(),q=DB(u);return[JA(R0,{get when(){return A.current},get children(){var F=QA("text");return UA(F,aA("\u25CF")),I(F,"flexShrink",0),I(F,"marginRight",0),yA((G)=>I(F,"fg",A.active?q:A.current?u.primary:u.text,G)),F}}),JA(R0,{get when(){return v2(()=>!A.current)()&&A.gutter},get children(){var F=QA("box");return I(F,"flexShrink",0),I(F,"marginRight",0),BA(F,()=>A.gutter?.()),F}}),(()=>{var F=QA("text");return I(F,"flexGrow",1),I(F,"overflow","hidden"),I(F,"wrapMode","none"),I(F,"paddingLeft",3),BA(F,()=>s4.truncate(A.title,61),null),BA(F,JA(R0,{get when(){return A.description},get children(){var G=QA("span"),w=aA(" ");return UA(G,w),BA(G,()=>A.description,null),yA((Q)=>I(G,"style",{fg:A.active?q:u.textMuted},Q)),G}}),null),yA((G)=>{var w=A.active?q:A.current?u.primary:u.text,Q=A.active?E6.BOLD:void 0;return w!==G.e&&(G.e=I(F,"fg",w,G.e)),Q!==G.t&&(G.t=I(F,"attributes",Q,G.t)),G},{e:void 0,t:void 0}),F})(),JA(R0,{get when(){return A.footer},get children(){var F=QA("box"),G=QA("text");return UA(F,G),I(F,"flexShrink",0),BA(G,()=>A.footer),yA((w)=>I(G,"fg",A.active?q:u.textMuted,w)),F}})]}var Fk1;var ij=k(async()=>{pw();U6();yF();pw();jl();rY();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),Mq(),Cq(),TA(),w7(),aY(),qo(),jC()]);Fk1=u2(gqA(),1)});var zn0;var Gk1=k(()=>{zn0={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots14:{interval:80,frames:["\u2809\u2809","\u2808\u2819","\u2800\u2839","\u2800\u28B8","\u2800\u28F0","\u2880\u28E0","\u28C0\u28C0","\u28C4\u2840","\u28C6\u2800","\u2847\u2800","\u280F\u2800","\u280B\u2801"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},dotsCircle:{interval:80,frames:["\u288E ","\u280E\u2801","\u280A\u2811","\u2808\u2831"," \u2871","\u2880\u2870","\u2884\u2860","\u2886\u2840"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},rollingLine:{interval:80,frames:["/ "," - "," \\ "," |"," |"," \\ "," - ","/ "]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\uD83D\uDE04 ","\uD83D\uDE1D "]},monkey:{interval:300,frames:["\uD83D\uDE48 ","\uD83D\uDE48 ","\uD83D\uDE49 ","\uD83D\uDE4A "]},hearts:{interval:100,frames:["\uD83D\uDC9B ","\uD83D\uDC99 ","\uD83D\uDC9C ","\uD83D\uDC9A ","\uD83D\uDC97 "]},clock:{interval:100,frames:["\uD83D\uDD5B ","\uD83D\uDD50 ","\uD83D\uDD51 ","\uD83D\uDD52 ","\uD83D\uDD53 ","\uD83D\uDD54 ","\uD83D\uDD55 ","\uD83D\uDD56 ","\uD83D\uDD57 ","\uD83D\uDD58 ","\uD83D\uDD59 ","\uD83D\uDD5A "]},earth:{interval:180,frames:["\uD83C\uDF0D ","\uD83C\uDF0E ","\uD83C\uDF0F "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\uD83C\uDF11 ","\uD83C\uDF12 ","\uD83C\uDF13 ","\uD83C\uDF14 ","\uD83C\uDF15 ","\uD83C\uDF16 ","\uD83C\uDF17 ","\uD83C\uDF18 "]},runner:{interval:140,frames:["\uD83D\uDEB6 ","\uD83C\uDFC3 "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\uD83C\uDF24 ","\u26C5\uFE0F ","\uD83C\uDF25 ","\u2601\uFE0F ","\uD83C\uDF27 ","\uD83C\uDF28 ","\uD83C\uDF27 ","\uD83C\uDF28 ","\uD83C\uDF27 ","\uD83C\uDF28 ","\u26C8 ","\uD83C\uDF28 ","\uD83C\uDF27 ","\uD83C\uDF28 ","\u2601\uFE0F ","\uD83C\uDF25 ","\u26C5\uFE0F ","\uD83C\uDF24 ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\uD83C\uDF32","\uD83C\uDF84"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\uD83E\uDD18 ","\uD83E\uDD1F ","\uD83D\uDD96 ","\u270B ","\uD83E\uDD1A ","\uD83D\uDC46 "]},fistBump:{interval:80,frames:["\uD83E\uDD1C\u3000\u3000\u3000\u3000\uD83E\uDD1B ","\uD83E\uDD1C\u3000\u3000\u3000\u3000\uD83E\uDD1B ","\uD83E\uDD1C\u3000\u3000\u3000\u3000\uD83E\uDD1B ","\u3000\uD83E\uDD1C\u3000\u3000\uD83E\uDD1B\u3000 ","\u3000\u3000\uD83E\uDD1C\uD83E\uDD1B\u3000\u3000 ","\u3000\uD83E\uDD1C\u2728\uD83E\uDD1B\u3000\u3000 ","\uD83E\uDD1C\u3000\u2728\u3000\uD83E\uDD1B\u3000 "]},soccerHeader:{interval:80,frames:[" \uD83E\uDDD1\u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F\uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 ","\uD83E\uDDD1 \u26BD\uFE0F \uD83E\uDDD1 "]},mindblown:{interval:160,frames:["\uD83D\uDE10 ","\uD83D\uDE10 ","\uD83D\uDE2E ","\uD83D\uDE2E ","\uD83D\uDE26 ","\uD83D\uDE26 ","\uD83D\uDE27 ","\uD83D\uDE27 ","\uD83E\uDD2F ","\uD83D\uDCA5 ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\uD83D\uDD08 ","\uD83D\uDD09 ","\uD83D\uDD0A ","\uD83D\uDD09 "]},orangePulse:{interval:100,frames:["\uD83D\uDD38 ","\uD83D\uDD36 ","\uD83D\uDFE0 ","\uD83D\uDFE0 ","\uD83D\uDD36 "]},bluePulse:{interval:100,frames:["\uD83D\uDD39 ","\uD83D\uDD37 ","\uD83D\uDD35 ","\uD83D\uDD35 ","\uD83D\uDD37 "]},orangeBluePulse:{interval:100,frames:["\uD83D\uDD38 ","\uD83D\uDD36 ","\uD83D\uDFE0 ","\uD83D\uDFE0 ","\uD83D\uDD36 ","\uD83D\uDD39 ","\uD83D\uDD37 ","\uD83D\uDD35 ","\uD83D\uDD35 ","\uD83D\uDD37 "]},timeTravel:{interval:100,frames:["\uD83D\uDD5B ","\uD83D\uDD5A ","\uD83D\uDD59 ","\uD83D\uDD58 ","\uD83D\uDD57 ","\uD83D\uDD56 ","\uD83D\uDD55 ","\uD83D\uDD54 ","\uD83D\uDD53 ","\uD83D\uDD52 ","\uD83D\uDD51 ","\uD83D\uDD50 "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]},fish:{interval:80,frames:["~~~~~~~~~~~~~~~~~~~~","> ~~~~~~~~~~~~~~~~~~","\xBA> ~~~~~~~~~~~~~~~~~","(\xBA> ~~~~~~~~~~~~~~~~","((\xBA> ~~~~~~~~~~~~~~~","<((\xBA> ~~~~~~~~~~~~~~","><((\xBA> ~~~~~~~~~~~~~"," ><((\xBA> ~~~~~~~~~~~~","~ ><((\xBA> ~~~~~~~~~~~","~~ <>((\xBA> ~~~~~~~~~~","~~~ ><((\xBA> ~~~~~~~~~","~~~~ <>((\xBA> ~~~~~~~~","~~~~~ ><((\xBA> ~~~~~~~","~~~~~~ <>((\xBA> ~~~~~~","~~~~~~~ ><((\xBA> ~~~~~","~~~~~~~~ <>((\xBA> ~~~~","~~~~~~~~~ ><((\xBA> ~~~","~~~~~~~~~~ <>((\xBA> ~~","~~~~~~~~~~~ ><((\xBA> ~","~~~~~~~~~~~~ <>((\xBA> ","~~~~~~~~~~~~~ ><((\xBA>","~~~~~~~~~~~~~~ <>((\xBA","~~~~~~~~~~~~~~~ ><((","~~~~~~~~~~~~~~~~ <>(","~~~~~~~~~~~~~~~~~ ><","~~~~~~~~~~~~~~~~~~ <","~~~~~~~~~~~~~~~~~~~~"]}}});var Fo,II9;var wk1=k(()=>{Gk1();Fo=zn0,II9=Object.keys(zn0)});var Qk1;var gk1=k(async()=>{wk1();await Mq();Qk1=class extends yq{_name;_frames;_interval;_autoplay;_backgroundColor;_color;_currentFrameIndex=0;_encodedFrames={};_lib=SQ();_intervalId=null;_defaultOptions={name:"dots",frames:Fo.dots.frames,interval:Fo.dots.interval,autoplay:!0,backgroundColor:"transparent",color:"white"};constructor(A,u){super(A,u),this._name=u.name,this._frames=this._name?Fo[this._name].frames:u.frames??this._defaultOptions.frames,this._interval=this._name?Fo[this._name].interval:u.interval??this._defaultOptions.interval,this._autoplay=u.autoplay??this._defaultOptions.autoplay,this._backgroundColor=u.backgroundColor??this._defaultOptions.backgroundColor,this._color=u.color??this._defaultOptions.color,this.width=Math.max(...this._frames.map((q)=>q.length)),this.height=1,this._encodeFrames(),this._autoplay&&this.start()}_encodeFrames(){for(let A of this._frames){let u=this._lib.encodeUnicode(A,this.ctx.widthMethod);u&&(this._encodedFrames[A]=u)}}_freeFrames(){for(let A in this._encodedFrames)this._encodedFrames[A]&&this._lib.freeUnicode(this._encodedFrames[A]);this._encodedFrames={}}get interval(){return this._interval}set interval(A){this.stop(),this._interval=A,this.start()}get name(){return this._name}set name(A){this._freeFrames(),this._name=A,this._frames=this._name?Fo[this._name].frames:this._defaultOptions.frames,this._interval=this._name?Fo[this._name].interval:this._defaultOptions.interval,this.width=Math.max(...this._frames.map((u)=>u.length)),this._encodeFrames(),this.requestRender()}get frames(){return this._frames}set frames(A){this._freeFrames(),this._frames=A.length===0?this._defaultOptions.frames:A,this._encodeFrames(),this.width=Math.max(...this._frames.map((u)=>u.length)),this.requestRender()}get color(){return this._color}set color(A){this._color=A,this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(A){this._backgroundColor=A,this.requestRender()}start(){this._intervalId||=setInterval(()=>{this._currentFrameIndex=(this._currentFrameIndex+1)%this._frames.length,this.requestRender()},this._interval)}stop(){this._intervalId&&=(clearInterval(this._intervalId),null)}renderSelf(A){if(!this.visible)return;let u=this._frames[this._currentFrameIndex];if(!u)return;let q=this._encodedFrames[u];if(!q)return;let F=this.x;for(let G=0;G<q.data.length;G++){let w=typeof this._color=="function"?this._color(this._currentFrameIndex,G,this._frames.length,q.data.length):this._color;A.drawChar(q.data[G].char,F,this.y,v0(w),v0(this._backgroundColor)),F+=q.data[G].width}}destroySelf(){this.stop(),this._freeFrames(),super.destroySelf()}}});var xn0=k(async()=>{await Z0([gk1(),TA()]);rCA({spinner:Qk1})});function IB(A){let{theme:u}=r2(),q=RB(),F=()=>A.color??u.textMuted;return JA(R0,{get when(){return q.get("animations_enabled",!0)},get fallback(){return(()=>{var G=QA("text"),w=aA("\u22EF ");return UA(G,w),BA(G,()=>A.children,null),yA((Q)=>I(G,"fg",F(),Q)),G})()},get children(){var G=QA("box"),w=QA("spinner");return UA(G,w),I(G,"flexDirection","row"),I(G,"gap",1),I(w,"frames",LI3),I(w,"interval",80),BA(G,JA(R0,{get when(){return A.children},get children(){var Q=QA("text");return BA(Q,()=>A.children),yA((g)=>I(Q,"fg",F(),g)),Q}}),null),yA((Q)=>I(w,"color",F(),Q)),G}})}var LI3;var jqA=k(async()=>{U6();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),Cq(),Ao(),xn0()]);LI3=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});function oY(A){let u=U5(),{theme:q}=r2(),F;return q4((G)=>{if(A.busy){if(G.name==="escape")return;G.preventDefault(),G.stopPropagation();return}if(G.name==="return")G.preventDefault(),G.stopPropagation(),A.onConfirm?.(F.plainText)}),fu(()=>{u.setSize("medium"),setTimeout(()=>{if(!F||F.isDestroyed)return;if(A.busy)return;F.focus()},1),F.gotoLineEnd()}),N4(()=>{if(!F||F.isDestroyed)return;let G=A.busy?{suspend:!0,status:"BUSY"}:{};if(F.traits=G,A.busy){F.blur();return}F.focus()}),(()=>{var G=QA("box"),w=QA("box"),Q=QA("text"),g=QA("text"),j=QA("box"),K=QA("textarea"),U=QA("box");return UA(G,w),UA(G,j),UA(G,U),I(G,"paddingLeft",2),I(G,"paddingRight",2),I(G,"gap",1),UA(w,Q),UA(w,g),I(w,"flexDirection","row"),I(w,"justifyContent","space-between"),BA(Q,()=>A.title),UA(g,aA("esc")),I(g,"onMouseUp",()=>u.clear()),UA(j,K),I(j,"gap",1),BA(j,()=>A.description,K),fQ((_)=>{F=_},K),I(K,"onSubmit",()=>{if(A.busy)return;A.onConfirm?.(F.plainText)}),I(K,"height",3),BA(j,JA(R0,{get when(){return A.busy},get children(){return JA(IB,{get color(){return q.textMuted},get children(){return A.busyText??"Working..."}})}}),null),I(U,"paddingBottom",1),I(U,"gap",1),I(U,"flexDirection","row"),BA(U,JA(R0,{get when(){return!A.busy},get fallback(){return(()=>{var _=QA("text");return UA(_,aA("processing...")),yA((O)=>I(_,"fg",q.textMuted,O)),_})()},get children(){var _=QA("text"),O=aA("enter "),W=QA("span");return UA(_,O),UA(_,W),UA(W,aA("submit")),yA((X)=>{var Y=q.text,$={fg:q.textMuted};return Y!==X.e&&(X.e=I(_,"fg",Y,X.e)),$!==X.t&&(X.t=I(W,"style",$,X.t)),X},{e:void 0,t:void 0}),_}})),yA((_)=>{var O=E6.BOLD,W=q.text,X=q.textMuted,Y=A.busy?[]:[{name:"return",action:"submit"}],$=A.value,V=A.placeholder??"Enter text",H=q.textMuted,Z=A.busy?q.textMuted:q.text,N=A.busy?q.textMuted:q.text,B=A.busy?q.backgroundElement:q.text;return O!==_.e&&(_.e=I(Q,"attributes",O,_.e)),W!==_.t&&(_.t=I(Q,"fg",W,_.t)),X!==_.a&&(_.a=I(g,"fg",X,_.a)),Y!==_.o&&(_.o=I(K,"keyBindings",Y,_.o)),$!==_.i&&(_.i=I(K,"initialValue",$,_.i)),V!==_.n&&(_.n=I(K,"placeholder",V,_.n)),H!==_.s&&(_.s=I(K,"placeholderColor",H,_.s)),Z!==_.h&&(_.h=I(K,"textColor",Z,_.h)),N!==_.r&&(_.r=I(K,"focusedTextColor",N,_.r)),B!==_.d&&(_.d=I(K,"cursorColor",B,_.d)),_},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),G})()}var GZA=k(async()=>{U6();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),Mq(),Cq(),w7(),TA(),jqA()]);oY.show=(A,u,q)=>{return new Promise((F)=>{A.replace(()=>JA(oY,QY({title:u},q,{onConfirm:(G)=>F(G),onCancel:()=>F(null)})),()=>F(null))})}});function sY(A,u,q){let F=(G)=>Object.defineProperty(A,u,{value:G,enumerable:!0,writable:!0});return Object.defineProperty(A,u,{configurable:!0,enumerable:!0,get(){let G=q();return F(G),G},set(G){F(G)}}),A}import{promisify as EI3}from"util";import zI3 from"process";import{execFile as xI3}from"child_process";async function Rn0(){if(zI3.platform!=="darwin")throw Error("macOS only");let{stdout:A}=await RI3("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),q=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(A)?.groups.id??"com.apple.Safari";if(q==="com.apple.safari")return"com.apple.Safari";return q}var RI3;var jk1=k(()=>{RI3=EI3(xI3)});import DI3 from"process";import{promisify as PI3}from"util";import{execFile as TI3,execFileSync as Mk9}from"child_process";async function Kk1(A,{humanReadableOutput:u=!0,signal:q}={}){if(DI3.platform!=="darwin")throw Error("macOS only");let F=u?[]:["-ss"],G={};if(q)G.signal=q;let{stdout:w}=await II3("osascript",["-e",A,F],G);return w.trim()}var II3;var Uk1=k(()=>{II3=PI3(TI3)});async function Dn0(A){return Kk1(`tell application "Finder" to set app_path to application file id "${A}" as string
|
|
742
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var _k1=k(()=>{Uk1()});import{promisify as kI3}from"util";import{execFile as SI3}from"child_process";async function Pn0(A=CI3){let{stdout:u}=await A("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),q=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(u);if(!q)throw new Jk1(`Cannot find Windows browser in stdout: ${JSON.stringify(u)}`);let{id:F}=q.groups,G=F.lastIndexOf("."),w=F.lastIndexOf("-"),Q=G===-1?void 0:F.slice(0,G),g=w===-1?void 0:F.slice(0,w);return HrA[F]??HrA[Q]??HrA[g]??{name:F,id:F}}var CI3,HrA,Dk9,Jk1;var Ok1=k(()=>{CI3=kI3(SI3),HrA={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},Dk9=new Map(Object.entries(HrA));Jk1=class Jk1 extends Error{}});import{promisify as fI3}from"util";import Tn0 from"process";import{execFile as hI3}from"child_process";async function wZA(){if(Tn0.platform==="darwin"){let A=await Rn0();return{name:await Dn0(A),id:A}}if(Tn0.platform==="linux"){let{stdout:A}=await bI3("xdg-mime",["query","default","x-scheme-handler/http"]),u=A.trim();return{name:mI3(u.replace(/.desktop$/,"").replace("-"," ")),id:u}}if(Tn0.platform==="win32")return Pn0();throw Error("Only macOS, Linux, and Windows are supported")}var bI3,mI3=(A)=>A.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(u)=>u.toUpperCase());var In0=k(()=>{jk1();_k1();Ok1();bI3=fI3(hI3)});import QZA from"process";import{Buffer as Vk1}from"buffer";import Zk1 from"path";import{fileURLToPath as yI3}from"url";import vI3 from"util";import Hk1 from"child_process";import kn0,{constants as Nk1}from"fs/promises";async function iI3(){let A=await Bk1(),u='(Get-ItemProperty -Path "HKCU:\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice").ProgId',q=Vk1.from('(Get-ItemProperty -Path "HKCU:\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice").ProgId',"utf16le").toString("base64"),{stdout:F}=await lI3(A,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",q],{encoding:"utf8"}),G=F.trim(),w={ChromeHTML:"com.google.chrome",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return w[G]?{id:w[G]}:{}}function $k1(A){if(typeof A==="string"||Array.isArray(A))return A;let{[Xk1]:u}=A;if(!u)throw Error(`${Xk1} is not supported`);return u}function Cn0({[KqA]:A},{wsl:u}){if(u&&rJ)return $k1(u);if(!A)throw Error(`${KqA} is not supported`);return $k1(A)}var lI3,Sn0,Wk1,KqA,Xk1,tI3,Bk1=async()=>{return`${await tI3()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},Yk1=async(A,u)=>{let q;for(let F of A)try{return await u(F)}catch(G){q=G}throw q},NrA=async(A)=>{if(A={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...A},Array.isArray(A.app))return Yk1(A.app,(g)=>NrA({...A,app:g}));let{name:u,arguments:q=[]}=A.app??{};if(q=[...q],Array.isArray(u))return Yk1(u,(g)=>NrA({...A,app:{name:g,arguments:q}}));if(u==="browser"||u==="browserPrivate"){let g={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},j={chrome:"--incognito",firefox:"--private-window",edge:"--inPrivate"},K=rJ?await iI3():await wZA();if(K.id in g){let U=g[K.id];if(u==="browserPrivate")q.push(j[U]);return NrA({...A,app:{name:UqA[U],arguments:q}})}throw Error(`${K.name} is not supported as a default browser`)}let F,G=[],w={};if(KqA==="darwin"){if(F="open",A.wait)G.push("--wait-apps");if(A.background)G.push("--background");if(A.newInstance)G.push("--new");if(u)G.push("-a",u)}else if(KqA==="win32"||rJ&&!wC()&&!u){if(F=rJ?await Bk1():`${QZA.env.SYSTEMROOT||QZA.env.windir||"C:\\Windows"}\\System32\\WindowsPowerShell\\v1.0\\powershell`,G.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),!rJ)w.windowsVerbatimArguments=!0;let g=["Start"];if(A.wait)g.push("-Wait");if(u){if(g.push(`"\`"${u}\`""`),A.target)q.push(A.target)}else if(A.target)g.push(`"${A.target}"`);if(q.length>0)q=q.map((j)=>`"\`"${j}\`""`),g.push("-ArgumentList",q.join(","));A.target=Vk1.from(g.join(" "),"utf16le").toString("base64")}else{if(u)F=u;else{let g=!Sn0||Sn0==="/",j=!1;try{await kn0.access(Wk1,Nk1.X_OK),j=!0}catch{}F=QZA.versions.electron??(KqA==="android"||g||!j)?"xdg-open":Wk1}if(q.length>0)G.push(...q);if(!A.wait)w.stdio="ignore",w.detached=!0}if(KqA==="darwin"&&q.length>0)G.push("--args",...q);if(A.target)G.push(A.target);let Q=Hk1.spawn(F,G,w);if(A.wait)return new Promise((g,j)=>{Q.once("error",j),Q.once("close",(K)=>{if(!A.allowNonzeroExitCode&&K>0){j(Error(`Exited with code ${K}`));return}g(Q)})});return Q.unref(),Q},cI3=(A,u)=>{if(typeof A!=="string")throw TypeError("Expected a `target`");return NrA({...u,target:A})},UqA,_qA;var BrA=k(()=>{CVA();In0();XaA();lI3=vI3.promisify(Hk1.execFile),Sn0=Zk1.dirname(yI3(import.meta.url)),Wk1=Zk1.join(Sn0,"xdg-open"),{platform:KqA,arch:Xk1}=QZA,tI3=(()=>{let u;return async function(){if(u)return u;let q="/etc/wsl.conf",F=!1;try{await kn0.access(q,Nk1.F_OK),F=!0}catch{}if(!F)return"/mnt/";let G=await kn0.readFile(q,{encoding:"utf8"}),w=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(G);if(!w)return"/mnt/";return u=w.groups.mountPoint.trim(),u=u.endsWith("/")?u:`${u}/`,u}})();UqA={};sY(UqA,"chrome",()=>Cn0({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));sY(UqA,"firefox",()=>Cn0({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));sY(UqA,"edge",()=>Cn0({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));sY(UqA,"browser",()=>"browser");sY(UqA,"browserPrivate",()=>"browserPrivate");_qA=cI3});function fn0(A){let u=A.children??A.href;return(()=>{var q=QA("text");return I(q,"onMouseUp",()=>{_qA(A.href).catch(()=>{})}),BA(q,u),yA((F)=>I(q,"fg",A.fg,F)),q})()}var Mk1=k(async()=>{BrA();await Z0([TA(),TA(),TA(),TA()])});function P7(A){return A()}import dI3 from"path";function Lk1(A){let[u,...q]=A.split("/");return{providerID:u,modelID:q.join("/")}}var Kg,Ek1;var jP=k(async()=>{yF();U6();pw();aJ();await Z0([gU(),jg(),Cq(),R3(),Kz(),QqA(),JQ(),Mq()]);({use:Kg,provider:Ek1}=_8({name:"Local",init:()=>{let A=$4(),u=I4(),q=dg();function F(K){return!!A.data.provider.find((_)=>_.id===K.providerID)?.models[K.modelID]}function G(...K){for(let U of K){let _=U();if(!_)continue;if(F(_))return _}}let w=P7(()=>{let K=bA(()=>A.data.agent.filter((Y)=>Y.mode!=="subagent"&&!Y.hidden)),U=bA(()=>A.data.agent.filter((Y)=>!Y.hidden)),[_,O]=u4({current:void 0}),{theme:W}=r2(),X=bA(()=>[W.secondary,W.accent,W.success,W.warning,W.primary,W.error,W.info]);return{list(){return K()},current(){return K().find((Y)=>Y.name===_.current)??K().at(0)},set(Y){if(!K().some(($)=>$.name===Y))return q.show({variant:"warning",message:`Agent not found: ${Y}`,duration:3000});O("current",Y)},move(Y){Y7(()=>{let $=this.current();if(!$)return;let V=K().findIndex((Z)=>Z.name===$.name)+Y;if(V<0)V=K().length-1;if(V>=K().length)V=0;let H=K()[V];O("current",H.name)})},color(Y){let $=U().findIndex((H)=>H.name===Y);if($===-1)return X()[0];let V=U()[$];if(V?.color){let H=V.color;if(H.startsWith("#"))return C2.fromHex(H);return W[H]}return X()[$%X().length]}}}),Q=P7(()=>{let[K,U]=u4({ready:!1,model:{},recent:[],favorite:[],variant:{}}),_=dI3.join(K2.Path.state,"model.json"),O={pending:!1};function W(){if(!K.ready){O.pending=!0;return}O.pending=!1,Bu.writeJson(_,{recent:K.recent,favorite:K.favorite,variant:K.variant})}Bu.readJson(_).then((V)=>{if(Array.isArray(V.recent))U("recent",V.recent);if(Array.isArray(V.favorite))U("favorite",V.favorite);if(typeof V.variant==="object"&&V.variant!==null)U("variant",V.variant)}).catch(()=>{}).finally(()=>{if(U("ready",!0),O.pending)W()});let X=gP(),Y=bA(()=>{if(X.model){let{providerID:B,modelID:z}=Lk1(X.model);if(F({providerID:B,modelID:z}))return{providerID:B,modelID:z}}if(A.data.config.model){let{providerID:B,modelID:z}=Lk1(A.data.config.model);if(F({providerID:B,modelID:z}))return{providerID:B,modelID:z}}for(let B of K.recent)if(F(B))return B;let V=A.data.provider[0];if(!V)return;let H=A.data.provider_default[V.id],Z=Object.values(V.models)[0],N=H??Z?.id;if(!N)return;return{providerID:V.id,modelID:N}}),$=bA(()=>{let V=w.current();return G(()=>V&&K.model[V.name],()=>V&&V.model,Y)??void 0});return{current:$,get ready(){return K.ready},recent(){return K.recent},favorite(){return K.favorite},parsed:bA(()=>{let V=$();if(!V)return{provider:"Connect a provider",model:"No provider selected",reasoning:!1};let H=A.data.provider.find((N)=>N.id===V.providerID),Z=H?.models[V.modelID];return{provider:H?.name??V.providerID,model:Z?.name??V.modelID,reasoning:Z?.capabilities?.reasoning??!1}}),cycle(V){let H=$();if(!H)return;let Z=K.recent,N=Z.findIndex((L)=>L.providerID===H.providerID&&L.modelID===H.modelID);if(N===-1)return;let B=N+V;if(B<0)B=Z.length-1;if(B>=Z.length)B=0;let z=Z[B];if(!z)return;let M=w.current();if(!M)return;U("model",M.name,{...z})},cycleFavorite(V){let H=K.favorite.filter((L)=>F(L));if(!H.length){q.show({variant:"info",message:"Add a favorite model to use this shortcut",duration:3000});return}let Z=$(),N=-1;if(Z)N=H.findIndex((L)=>L.providerID===Z.providerID&&L.modelID===Z.modelID);if(N===-1)N=V===1?0:H.length-1;else{if(N+=V,N<0)N=H.length-1;if(N>=H.length)N=0}let B=H[N];if(!B)return;let z=w.current();if(!z)return;U("model",z.name,{...B});let M=MyA([B,...K.recent],(L)=>`${L.providerID}/${L.modelID}`);if(M.length>10)M.pop();U("recent",M.map((L)=>({providerID:L.providerID,modelID:L.modelID}))),W()},set(V,H){Y7(()=>{if(!F(V)){q.show({message:`Model ${V.providerID}/${V.modelID} is not valid`,variant:"warning",duration:3000});return}let Z=w.current();if(!Z)return;if(U("model",Z.name,V),H?.recent){let N=MyA([V,...K.recent],(B)=>`${B.providerID}/${B.modelID}`);if(N.length>10)N.pop();U("recent",N.map((B)=>({providerID:B.providerID,modelID:B.modelID}))),W()}})},toggleFavorite(V){Y7(()=>{if(!F(V)){q.show({message:`Model ${V.providerID}/${V.modelID} is not valid`,variant:"warning",duration:3000});return}let Z=K.favorite.some((N)=>N.providerID===V.providerID&&N.modelID===V.modelID)?K.favorite.filter((N)=>N.providerID!==V.providerID||N.modelID!==V.modelID):[V,...K.favorite];U("favorite",Z.map((N)=>({providerID:N.providerID,modelID:N.modelID}))),W()})},variant:{selected(){let V=$();if(!V)return;let H=`${V.providerID}/${V.modelID}`;return K.variant[H]},current(){let V=this.selected();if(!V)return;if(!this.list().includes(V))return;return V},list(){let V=$();if(!V)return[];let Z=A.data.provider.find((N)=>N.id===V.providerID)?.models[V.modelID];if(!Z?.variants)return[];return Object.keys(Z.variants)},set(V){let H=$();if(!H)return;let Z=`${H.providerID}/${H.modelID}`;U("variant",Z,V??"default"),W()},cycle(){let V=this.list();if(V.length===0)return;let H=this.current();if(!H){this.set(V[0]);return}let Z=V.indexOf(H);if(Z===-1||Z===V.length-1){this.set(void 0);return}this.set(V[Z+1])}}}}),g={isEnabled(K){return A.data.mcp[K]?.status==="connected"},async toggle(K){if(A.data.mcp[K]?.status==="connected")await u.client.mcp.disconnect({name:K});else await u.client.mcp.connect({name:K})}};return N4(()=>{let K=w.current();if(!K)return;if(K.model)if(F(K.model))Q.set({providerID:K.model.providerID,modelID:K.model.modelID});else q.show({variant:"warning",message:`Agent ${K.name}'s configured model ${K.model.providerID}/${K.model.modelID} is not valid`,duration:3000})}),{model:Q,agent:w,mcp:g}}}))});function MrA(){let A=Kg(),u=U5(),q=bA(()=>{return[{value:"default",title:"Default",onSelect:()=>{u.clear(),A.model.variant.set(void 0)}},...A.model.variant.list().map((F)=>({value:F,title:F,onSelect:()=>{u.clear(),A.model.variant.set(F)}}))]});return JA(P3,{get options(){return q()},title:"Select variant",get current(){return A.model.variant.selected()},flat:!0})}var hn0=k(async()=>{U6();await Z0([TA(),jP(),ij(),w7()])});function JqA(){let A=$4();return bA(()=>A.data.provider.some((u)=>u.id!=="opencode"||Object.values(u.models).some((q)=>q.cost?.input!==0)))}var LrA=k(async()=>{U6();await jg()});function OqA(A){let u=Kg(),q=$4(),F=U5(),G=r7(),[w,Q]=j2(""),g=JqA(),j=yn0(),K=bA(()=>g()&&!A.providerID),U=bA(()=>{let X=w().trim(),Y=K()&&X.length===0,$=g()?u.model.favorite():[],V=u.model.recent();function H(M,L){if(!Y)return[];return M.flatMap((x)=>{let P=q.data.provider.find((C)=>C.id===x.providerID);if(!P)return[];let D=P.models[x.modelID];if(!D)return[];return[{key:x,value:{providerID:P.id,modelID:D.id},title:D.name??x.modelID,description:P.name,category:L,disabled:P.id==="opencode"&&D.id.includes("-nano"),footer:D.cost?.input===0&&P.id==="opencode"?"Free":void 0,onSelect:()=>{W(P.id,D.id)}}]})}let Z=H($,"Favorites"),N=H(V.filter((M)=>!$.some((L)=>L.providerID===M.providerID&&L.modelID===M.modelID)),"Recent"),B=tF(q.data.provider,xW((M)=>M.id!=="opencode",(M)=>M.name),CJA((M)=>tF(M.models,Hp(),Pk(([L,x])=>x.status!=="deprecated"),Pk(([L,x])=>A.providerID?x.providerID===A.providerID:!0),Yy(([L,x])=>({value:{providerID:M.id,modelID:L},title:x.name??L,description:$.some((P)=>P.providerID===M.id&&P.modelID===L)?"(Favorite)":void 0,category:g()?M.name:void 0,disabled:M.id==="opencode"&&L.includes("-nano"),footer:x.cost?.input===0&&M.id==="opencode"?"Free":void 0,onSelect(){W(M.id,L)}})),Pk((L)=>{if(!Y)return!0;if($.some((x)=>x.providerID===L.value.providerID&&x.modelID===L.value.modelID))return!1;if(V.some((x)=>x.providerID===L.value.providerID&&x.modelID===L.value.modelID))return!1;return!0}),xW((L)=>L.footer!=="Free",(L)=>L.title)))),z=!g()?tF(j(),Yy((M)=>({...M,category:"Popular providers"})),GL0(6)):[];if(X)return[...bn0.go(X,B,{keys:["title","category"]}).map((M)=>M.obj),...bn0.go(X,z,{keys:["title"]}).map((M)=>M.obj)];return[...Z,...N,...B,...z]}),_=bA(()=>A.providerID?q.data.provider.find((X)=>X.id===A.providerID):null),O=bA(()=>{let X=_();if(!X)return"Select model";return X.name});function W(X,Y){u.model.set({providerID:X,modelID:Y},{recent:!0});let $=u.model.variant.list(),V=u.model.variant.selected();if(V==="default"||V&&$.includes(V)){F.clear();return}if($.length>0){F.replace(()=>JA(MrA,{}));return}F.clear()}return JA(P3,{get options(){return U()},get keybind(){return[{keybind:G.all.model_provider_list?.[0],title:g()?"Connect provider":"View all providers",onTrigger(){F.replace(()=>JA(Go,{}))}},{keybind:G.all.model_favorite_toggle?.[0],title:"Favorite",disabled:!g(),onTrigger:(X)=>{u.model.toggleFavorite(X.value)}}]},onFilter:Q,flat:!0,skipFilter:!0,get title(){return O()},get current(){return u.model.current()}})}var bn0;var mn0=k(async()=>{U6();pw();await Z0([TA(),jP(),jg(),ij(),w7(),ErA(),hn0(),aY(),LrA()]);bn0=u2(gqA(),1)});var nI3=(A,u)=>Array.isArray(A)?A.includes(u):A.has(u),zk1=(A,u)=>nI3(A,u);function yn0(){let A=$4(),u=U5(),q=I4(),F=dg(),{theme:G}=r2(),w=JqA();return bA(()=>{return tF(A.data.provider_next.all,Pk((g)=>g.id!=="opencode"),xW((g)=>xk1[g.id]??99),Yy((g)=>{let j=zk1(A.data.console_state.consoleManagedProviders,g.id),K=A.data.provider_next.connected.includes(g.id);return{title:g.name,value:g.id,description:{anthropic:"(API key)",openai:"(ChatGPT Plus/Pro or API key)"}[g.id],footer:j?A.data.console_state.activeOrgName:void 0,category:g.id in xk1?"Popular":"Other",gutter:K&&w()?()=>(()=>{var U=QA("text");return UA(U,aA("\u2713")),yA((_)=>I(U,"fg",G.success,_)),U})():void 0,async onSelect(){if(j)return;let U=A.data.provider_auth[g.id]??[{type:"api",label:"API key"}],_=0;if(U.length>1)_=await new Promise((W)=>{u.replace(()=>JA(P3,{title:"Select auth method",get options(){return U.map((X,Y)=>({title:X.label,value:Y}))},onSelect:(X)=>W(X.value)}),()=>W(null))});if(_==null)return;let O=U[_];if(O.type==="oauth"){let W;if(O.prompts?.length){let Y=await Rk1({dialog:u,prompts:O.prompts});if(!Y)return;W=Y}let X=await q.client.provider.oauth.authorize({providerID:g.id,method:_,inputs:W});if(X.error){F.show({variant:"error",message:JSON.stringify(X.error)}),u.clear();return}if(X.data?.method==="code")u.replace(()=>JA(aI3,{get providerID(){return g.id},get title(){return O.label},index:_,get authorization(){return X.data}}));if(X.data?.method==="auto")u.replace(()=>JA(pI3,{get providerID(){return g.id},get title(){return O.label},index:_,get authorization(){return X.data}}))}if(O.type==="api"){let W;if(O.prompts?.length){let X=await Rk1({dialog:u,prompts:O.prompts});if(!X)return;W=X}return u.replace(()=>JA(rI3,{get providerID(){return g.id},get title(){return O.label},metadata:W}))}}}}))})}function Go(){let A=yn0();return JA(P3,{title:"Connect a provider",get options(){return A()}})}function pI3(A){let{theme:u}=r2(),q=I4(),F=U5(),G=$4(),w=dg();return q4((Q)=>{if(Q.name==="c"&&!Q.ctrl&&!Q.meta){let g=A.authorization.instructions.match(/[A-Z0-9]{4}-[A-Z0-9]{4,5}/)?.[0]??A.authorization.url;oW(g).then(()=>w.show({message:"Copied to clipboard",variant:"info"})).catch(w.error)}}),fu(async()=>{if((await q.client.provider.oauth.callback({providerID:A.providerID,method:A.index})).error){F.clear();return}await q.client.instance.dispose(),await G.bootstrap(),F.replace(()=>JA(OqA,{get providerID(){return A.providerID}}))}),(()=>{var Q=QA("box"),g=QA("box"),j=QA("text"),K=QA("text"),U=QA("box"),_=QA("text"),O=QA("text"),W=QA("text"),X=aA("c "),Y=QA("span");return UA(Q,g),UA(Q,U),UA(Q,O),UA(Q,W),I(Q,"paddingLeft",2),I(Q,"paddingRight",2),I(Q,"gap",1),I(Q,"paddingBottom",1),UA(g,j),UA(g,K),I(g,"flexDirection","row"),I(g,"justifyContent","space-between"),BA(j,()=>A.title),UA(K,aA("esc")),I(K,"onMouseUp",()=>F.clear()),UA(U,_),I(U,"gap",1),BA(U,JA(fn0,{get href(){return A.authorization.url},get fg(){return u.primary}}),_),BA(_,()=>A.authorization.instructions),UA(O,aA("Waiting for authorization...")),UA(W,X),UA(W,Y),UA(Y,aA("copy")),yA(($)=>{var V=E6.BOLD,H=u.text,Z=u.textMuted,N=u.textMuted,B=u.textMuted,z=u.text,M={fg:u.textMuted};return V!==$.e&&($.e=I(j,"attributes",V,$.e)),H!==$.t&&($.t=I(j,"fg",H,$.t)),Z!==$.a&&($.a=I(K,"fg",Z,$.a)),N!==$.o&&($.o=I(_,"fg",N,$.o)),B!==$.i&&($.i=I(O,"fg",B,$.i)),z!==$.n&&($.n=I(W,"fg",z,$.n)),M!==$.s&&($.s=I(Y,"style",M,$.s)),$},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),Q})()}function aI3(A){let{theme:u}=r2(),q=I4(),F=$4(),G=U5(),[w,Q]=j2(!1);return JA(oY,{get title(){return A.title},placeholder:"Authorization code",onConfirm:async(g)=>{let{error:j}=await q.client.provider.oauth.callback({providerID:A.providerID,method:A.index,code:g});if(!j){await q.client.instance.dispose(),await F.bootstrap(),G.replace(()=>JA(OqA,{get providerID(){return A.providerID}}));return}Q(!0)},description:()=>(()=>{var g=QA("box"),j=QA("text");return UA(g,j),I(g,"gap",1),BA(j,()=>A.authorization.instructions),BA(g,JA(fn0,{get href(){return A.authorization.url},get fg(){return u.primary}}),null),BA(g,JA(R0,{get when(){return w()},get children(){var K=QA("text");return UA(K,aA("Invalid code")),yA((U)=>I(K,"fg",u.error,U)),K}}),null),yA((K)=>I(j,"fg",u.textMuted,K)),g})()})}function rI3(A){let u=U5(),q=I4(),F=$4();return JA(oY,{get title(){return A.title},placeholder:"API key",onConfirm:async(G)=>{if(!G)return;await q.client.auth.set({providerID:A.providerID,auth:{type:"api",key:G,...A.metadata?{metadata:A.metadata}:{}}}),await q.client.instance.dispose(),await F.bootstrap(),u.replace(()=>JA(OqA,{get providerID(){return A.providerID}}))}})}async function Rk1(A){let u={};for(let q of A.prompts){if(q.when){let G=u[q.when.key];if(G===void 0)continue;if(!(q.when.op==="eq"?G===q.when.value:G!==q.when.value))continue}if(q.type==="select"){let G=await new Promise((w)=>{A.dialog.replace(()=>JA(P3,{get title(){return q.message},get options(){return q.options.map((Q)=>({title:Q.label,value:Q.value,description:Q.hint}))},onSelect:(Q)=>w(Q.value)}),()=>w(null))});if(G===null)return null;u[q.key]=G;continue}let F=await new Promise((G)=>{A.dialog.replace(()=>JA(oY,{get title(){return q.message},get placeholder(){return q.placeholder},onConfirm:(w)=>G(w)}),()=>G(null))});if(F===null)return null;u[q.key]=F}return u}var xk1;var ErA=k(async()=>{U6();pw();QC();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),jg(),ij(),w7(),JQ(),GZA(),Mk1(),Cq(),Mq(),mn0(),TA(),Kz(),LrA()]);xk1={openai:1,"github-copilot":2,anthropic:3,google:4}});var _z="27.4.52",Dk1="-desktop";function AO(A){return A.trim().replace(/^v/,"")}function jZA(A){return AO(A).endsWith(oI3)}function JC(A){let u=AO(A);return gZA.default.valid(u)??gZA.default.coerce(u)?.version}function vn0(A,u){let q=JC(A),F=JC(u);if(q&&F)return gZA.default.eq(q,F);return AO(A)===AO(u)}function zrA(A,u){if(vn0(A,u))return!1;let q=JC(A),F=JC(u);if(q&&F)return gZA.default.gt(F,q);return AO(A)!==AO(u)}var gZA,k4,eY,WqA,oI3;var cj=k(()=>{gZA=u2(Nw(),1),k4=typeof CODEPLANE_VERSION==="string"?CODEPLANE_VERSION:"local",eY=typeof CODEPLANE_CHANNEL==="string"?CODEPLANE_CHANNEL:"local",WqA=eY==="local",oI3=Dk1});function Pk1(A){let u=m7(),q=vq(),F=async()=>{await A.onBeforeExit?.(),q.setTerminalTitle(""),q.destroy(),SaA(),await A.onExit()};q4((U)=>{if(U.ctrl&&U.name==="c")F()});let[G,w]=j2(!1),Q=new URL("https://github.com/anomalyco/codeplane/issues/new?template=bug-report.yml"),g=A.mode==="light",j={bg:g?"#ffffff":"#0a0a0a",text:g?"#1a1a1a":"#eeeeee",muted:g?"#8a8a8a":"#808080",primary:g?"#3b7dd8":"#fab283"};if(A.error.message)Q.searchParams.set("title",`opentui: fatal: ${A.error.message}`);if(A.error.stack)Q.searchParams.set("description","```\n"+A.error.stack.substring(0,6000-Q.toString().length)+"...\n```");Q.searchParams.set("opencode-version",k4);let K=()=>{oW(Q.toString()).then(()=>{w(!0)})};return(()=>{var U=QA("box"),_=QA("box"),O=QA("text"),W=QA("box"),X=QA("text"),Y=QA("box"),$=QA("text"),V=QA("box"),H=QA("text"),Z=QA("box"),N=QA("text"),B=QA("scrollbox"),z=QA("text"),M=QA("text");return UA(U,_),UA(U,Y),UA(U,B),UA(U,M),I(U,"flexDirection","column"),I(U,"gap",1),UA(_,O),UA(_,W),I(_,"flexDirection","row"),I(_,"gap",1),I(_,"alignItems","center"),UA(O,aA("Please report an issue.")),UA(W,X),I(W,"onMouseUp",K),I(W,"padding",1),UA(X,aA("Copy issue URL (exception info pre-filled)")),BA(_,(()=>{var L=v2(()=>!!G());return()=>L()&&(()=>{var x=QA("text");return UA(x,aA("Successfully copied")),yA((P)=>I(x,"fg",j.muted,P)),x})()})(),null),UA(Y,$),UA(Y,V),UA(Y,Z),I(Y,"flexDirection","row"),I(Y,"gap",2),I(Y,"alignItems","center"),UA($,aA("A fatal error occurred!")),UA(V,H),I(V,"padding",1),UA(H,aA("Reset TUI")),UA(Z,N),I(Z,"onMouseUp",F),I(Z,"padding",1),UA(N,aA("Exit")),UA(B,z),BA(z,()=>A.error.stack),BA(M,()=>A.error.message),yA((L)=>{var x=j.bg,P=E6.BOLD,D=j.text,C=j.primary,y=E6.BOLD,S=j.bg,f=j.text,r=A.reset,l=j.primary,o=j.bg,a=j.primary,n=j.bg,s=Math.floor(u().height*0.7),t=TB(),b=j.muted,p=j.text;return x!==L.e&&(L.e=I(U,"backgroundColor",x,L.e)),P!==L.t&&(L.t=I(O,"attributes",P,L.t)),D!==L.a&&(L.a=I(O,"fg",D,L.a)),C!==L.o&&(L.o=I(W,"backgroundColor",C,L.o)),y!==L.i&&(L.i=I(X,"attributes",y,L.i)),S!==L.n&&(L.n=I(X,"fg",S,L.n)),f!==L.s&&(L.s=I($,"fg",f,L.s)),r!==L.h&&(L.h=I(V,"onMouseUp",r,L.h)),l!==L.r&&(L.r=I(V,"backgroundColor",l,L.r)),o!==L.d&&(L.d=I(H,"fg",o,L.d)),a!==L.l&&(L.l=I(Z,"backgroundColor",a,L.l)),n!==L.u&&(L.u=I(N,"fg",n,L.u)),s!==L.c&&(L.c=I(B,"height",s,L.c)),t!==L.w&&(L.w=I(B,"scrollAcceleration",t,L.w)),b!==L.m&&(L.m=I(z,"fg",b,L.m)),p!==L.f&&(L.f=I(M,"fg",p,L.f)),L},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0,f:void 0}),U})()}var Tk1=k(async()=>{QC();U6();cj();CaA();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),Mq(),TA(),qo()])});function Ik1(A){let{theme:u}=r2();return(()=>{var q=QA("box"),F=QA("text"),G=aA("Unknown plugin route: "),w=QA("box"),Q=QA("text");return UA(q,F),UA(q,w),I(q,"width","100%"),I(q,"height","100%"),I(q,"alignItems","center"),I(q,"justifyContent","center"),I(q,"flexDirection","column"),I(q,"gap",1),UA(F,G),BA(F,()=>A.id,null),UA(w,Q),I(w,"paddingLeft",1),I(w,"paddingRight",1),UA(Q,aA("go home")),yA((g)=>{var j=u.warning,K=A.onHome,U=u.backgroundElement,_=u.text;return j!==g.e&&(g.e=I(F,"fg",j,g.e)),K!==g.t&&(g.t=I(w,"onMouseUp",K,g.t)),U!==g.a&&(g.a=I(w,"backgroundColor",U,g.a)),_!==g.o&&(g.o=I(Q,"fg",_,g.o)),g},{e:void 0,t:void 0,a:void 0,o:void 0}),q})()}var kk1=k(async()=>{await Z0([TA(),TA(),TA(),TA(),TA(),TA(),Cq()])});import{Database as ln0}from"bun:sqlite";import Sk1 from"os";import wo from"path";async function fk1(A,u=process.cwd()){let q=qk3(A,u);if(q.type!=="row")return q;let F=q.row;if(!F.buffer_path)return{type:"empty"};let G=Fk3(A,F);if(G.type!=="selections")return G;let w=G.selections.flatMap((K)=>{if(K.selection_start==null||K.selection_end==null)return[];return[{start:Math.min(K.selection_start,K.selection_end),end:Math.max(K.selection_start,K.selection_end)}]}).sort((K,U)=>K.start-U.start||K.end-U.end);if(w.length===0)return{type:"unavailable"};let Q=Gk3(A,F),g=Q.type==="contents"&&Q.contents!=null?Q.contents:await Bun.file(F.buffer_path).text().catch(()=>{return});if(g==null)return{type:"unavailable"};let j=w.map((K)=>{let U=Ck1(g,K.start),_=Ck1(g,K.end);return{text:g.slice(U,_),selection:Kk3(g,U,_)}});return{type:"selection",selection:{filePath:F.buffer_path,source:"zed",ranges:j}}}function qk3(A,u){let q;try{q=new ln0(A,{readonly:!0});let F=q.query(`select
|
|
742
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var _k1=k(()=>{Uk1()});import{promisify as kI3}from"util";import{execFile as SI3}from"child_process";async function Pn0(A=CI3){let{stdout:u}=await A("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),q=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(u);if(!q)throw new Jk1(`Cannot find Windows browser in stdout: ${JSON.stringify(u)}`);let{id:F}=q.groups,G=F.lastIndexOf("."),w=F.lastIndexOf("-"),Q=G===-1?void 0:F.slice(0,G),g=w===-1?void 0:F.slice(0,w);return HrA[F]??HrA[Q]??HrA[g]??{name:F,id:F}}var CI3,HrA,Dk9,Jk1;var Ok1=k(()=>{CI3=kI3(SI3),HrA={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},Dk9=new Map(Object.entries(HrA));Jk1=class Jk1 extends Error{}});import{promisify as fI3}from"util";import Tn0 from"process";import{execFile as hI3}from"child_process";async function wZA(){if(Tn0.platform==="darwin"){let A=await Rn0();return{name:await Dn0(A),id:A}}if(Tn0.platform==="linux"){let{stdout:A}=await bI3("xdg-mime",["query","default","x-scheme-handler/http"]),u=A.trim();return{name:mI3(u.replace(/.desktop$/,"").replace("-"," ")),id:u}}if(Tn0.platform==="win32")return Pn0();throw Error("Only macOS, Linux, and Windows are supported")}var bI3,mI3=(A)=>A.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(u)=>u.toUpperCase());var In0=k(()=>{jk1();_k1();Ok1();bI3=fI3(hI3)});import QZA from"process";import{Buffer as Vk1}from"buffer";import Zk1 from"path";import{fileURLToPath as yI3}from"url";import vI3 from"util";import Hk1 from"child_process";import kn0,{constants as Nk1}from"fs/promises";async function iI3(){let A=await Bk1(),u='(Get-ItemProperty -Path "HKCU:\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice").ProgId',q=Vk1.from('(Get-ItemProperty -Path "HKCU:\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice").ProgId',"utf16le").toString("base64"),{stdout:F}=await lI3(A,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",q],{encoding:"utf8"}),G=F.trim(),w={ChromeHTML:"com.google.chrome",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return w[G]?{id:w[G]}:{}}function $k1(A){if(typeof A==="string"||Array.isArray(A))return A;let{[Xk1]:u}=A;if(!u)throw Error(`${Xk1} is not supported`);return u}function Cn0({[KqA]:A},{wsl:u}){if(u&&rJ)return $k1(u);if(!A)throw Error(`${KqA} is not supported`);return $k1(A)}var lI3,Sn0,Wk1,KqA,Xk1,tI3,Bk1=async()=>{return`${await tI3()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},Yk1=async(A,u)=>{let q;for(let F of A)try{return await u(F)}catch(G){q=G}throw q},NrA=async(A)=>{if(A={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...A},Array.isArray(A.app))return Yk1(A.app,(g)=>NrA({...A,app:g}));let{name:u,arguments:q=[]}=A.app??{};if(q=[...q],Array.isArray(u))return Yk1(u,(g)=>NrA({...A,app:{name:g,arguments:q}}));if(u==="browser"||u==="browserPrivate"){let g={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},j={chrome:"--incognito",firefox:"--private-window",edge:"--inPrivate"},K=rJ?await iI3():await wZA();if(K.id in g){let U=g[K.id];if(u==="browserPrivate")q.push(j[U]);return NrA({...A,app:{name:UqA[U],arguments:q}})}throw Error(`${K.name} is not supported as a default browser`)}let F,G=[],w={};if(KqA==="darwin"){if(F="open",A.wait)G.push("--wait-apps");if(A.background)G.push("--background");if(A.newInstance)G.push("--new");if(u)G.push("-a",u)}else if(KqA==="win32"||rJ&&!wC()&&!u){if(F=rJ?await Bk1():`${QZA.env.SYSTEMROOT||QZA.env.windir||"C:\\Windows"}\\System32\\WindowsPowerShell\\v1.0\\powershell`,G.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),!rJ)w.windowsVerbatimArguments=!0;let g=["Start"];if(A.wait)g.push("-Wait");if(u){if(g.push(`"\`"${u}\`""`),A.target)q.push(A.target)}else if(A.target)g.push(`"${A.target}"`);if(q.length>0)q=q.map((j)=>`"\`"${j}\`""`),g.push("-ArgumentList",q.join(","));A.target=Vk1.from(g.join(" "),"utf16le").toString("base64")}else{if(u)F=u;else{let g=!Sn0||Sn0==="/",j=!1;try{await kn0.access(Wk1,Nk1.X_OK),j=!0}catch{}F=QZA.versions.electron??(KqA==="android"||g||!j)?"xdg-open":Wk1}if(q.length>0)G.push(...q);if(!A.wait)w.stdio="ignore",w.detached=!0}if(KqA==="darwin"&&q.length>0)G.push("--args",...q);if(A.target)G.push(A.target);let Q=Hk1.spawn(F,G,w);if(A.wait)return new Promise((g,j)=>{Q.once("error",j),Q.once("close",(K)=>{if(!A.allowNonzeroExitCode&&K>0){j(Error(`Exited with code ${K}`));return}g(Q)})});return Q.unref(),Q},cI3=(A,u)=>{if(typeof A!=="string")throw TypeError("Expected a `target`");return NrA({...u,target:A})},UqA,_qA;var BrA=k(()=>{CVA();In0();XaA();lI3=vI3.promisify(Hk1.execFile),Sn0=Zk1.dirname(yI3(import.meta.url)),Wk1=Zk1.join(Sn0,"xdg-open"),{platform:KqA,arch:Xk1}=QZA,tI3=(()=>{let u;return async function(){if(u)return u;let q="/etc/wsl.conf",F=!1;try{await kn0.access(q,Nk1.F_OK),F=!0}catch{}if(!F)return"/mnt/";let G=await kn0.readFile(q,{encoding:"utf8"}),w=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(G);if(!w)return"/mnt/";return u=w.groups.mountPoint.trim(),u=u.endsWith("/")?u:`${u}/`,u}})();UqA={};sY(UqA,"chrome",()=>Cn0({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));sY(UqA,"firefox",()=>Cn0({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));sY(UqA,"edge",()=>Cn0({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));sY(UqA,"browser",()=>"browser");sY(UqA,"browserPrivate",()=>"browserPrivate");_qA=cI3});function fn0(A){let u=A.children??A.href;return(()=>{var q=QA("text");return I(q,"onMouseUp",()=>{_qA(A.href).catch(()=>{})}),BA(q,u),yA((F)=>I(q,"fg",A.fg,F)),q})()}var Mk1=k(async()=>{BrA();await Z0([TA(),TA(),TA(),TA()])});function P7(A){return A()}import dI3 from"path";function Lk1(A){let[u,...q]=A.split("/");return{providerID:u,modelID:q.join("/")}}var Kg,Ek1;var jP=k(async()=>{yF();U6();pw();aJ();await Z0([gU(),jg(),Cq(),R3(),Kz(),QqA(),JQ(),Mq()]);({use:Kg,provider:Ek1}=_8({name:"Local",init:()=>{let A=$4(),u=I4(),q=dg();function F(K){return!!A.data.provider.find((_)=>_.id===K.providerID)?.models[K.modelID]}function G(...K){for(let U of K){let _=U();if(!_)continue;if(F(_))return _}}let w=P7(()=>{let K=bA(()=>A.data.agent.filter((Y)=>Y.mode!=="subagent"&&!Y.hidden)),U=bA(()=>A.data.agent.filter((Y)=>!Y.hidden)),[_,O]=u4({current:void 0}),{theme:W}=r2(),X=bA(()=>[W.secondary,W.accent,W.success,W.warning,W.primary,W.error,W.info]);return{list(){return K()},current(){return K().find((Y)=>Y.name===_.current)??K().at(0)},set(Y){if(!K().some(($)=>$.name===Y))return q.show({variant:"warning",message:`Agent not found: ${Y}`,duration:3000});O("current",Y)},move(Y){Y7(()=>{let $=this.current();if(!$)return;let V=K().findIndex((Z)=>Z.name===$.name)+Y;if(V<0)V=K().length-1;if(V>=K().length)V=0;let H=K()[V];O("current",H.name)})},color(Y){let $=U().findIndex((H)=>H.name===Y);if($===-1)return X()[0];let V=U()[$];if(V?.color){let H=V.color;if(H.startsWith("#"))return C2.fromHex(H);return W[H]}return X()[$%X().length]}}}),Q=P7(()=>{let[K,U]=u4({ready:!1,model:{},recent:[],favorite:[],variant:{}}),_=dI3.join(K2.Path.state,"model.json"),O={pending:!1};function W(){if(!K.ready){O.pending=!0;return}O.pending=!1,Bu.writeJson(_,{recent:K.recent,favorite:K.favorite,variant:K.variant})}Bu.readJson(_).then((V)=>{if(Array.isArray(V.recent))U("recent",V.recent);if(Array.isArray(V.favorite))U("favorite",V.favorite);if(typeof V.variant==="object"&&V.variant!==null)U("variant",V.variant)}).catch(()=>{}).finally(()=>{if(U("ready",!0),O.pending)W()});let X=gP(),Y=bA(()=>{if(X.model){let{providerID:B,modelID:z}=Lk1(X.model);if(F({providerID:B,modelID:z}))return{providerID:B,modelID:z}}if(A.data.config.model){let{providerID:B,modelID:z}=Lk1(A.data.config.model);if(F({providerID:B,modelID:z}))return{providerID:B,modelID:z}}for(let B of K.recent)if(F(B))return B;let V=A.data.provider[0];if(!V)return;let H=A.data.provider_default[V.id],Z=Object.values(V.models)[0],N=H??Z?.id;if(!N)return;return{providerID:V.id,modelID:N}}),$=bA(()=>{let V=w.current();return G(()=>V&&K.model[V.name],()=>V&&V.model,Y)??void 0});return{current:$,get ready(){return K.ready},recent(){return K.recent},favorite(){return K.favorite},parsed:bA(()=>{let V=$();if(!V)return{provider:"Connect a provider",model:"No provider selected",reasoning:!1};let H=A.data.provider.find((N)=>N.id===V.providerID),Z=H?.models[V.modelID];return{provider:H?.name??V.providerID,model:Z?.name??V.modelID,reasoning:Z?.capabilities?.reasoning??!1}}),cycle(V){let H=$();if(!H)return;let Z=K.recent,N=Z.findIndex((L)=>L.providerID===H.providerID&&L.modelID===H.modelID);if(N===-1)return;let B=N+V;if(B<0)B=Z.length-1;if(B>=Z.length)B=0;let z=Z[B];if(!z)return;let M=w.current();if(!M)return;U("model",M.name,{...z})},cycleFavorite(V){let H=K.favorite.filter((L)=>F(L));if(!H.length){q.show({variant:"info",message:"Add a favorite model to use this shortcut",duration:3000});return}let Z=$(),N=-1;if(Z)N=H.findIndex((L)=>L.providerID===Z.providerID&&L.modelID===Z.modelID);if(N===-1)N=V===1?0:H.length-1;else{if(N+=V,N<0)N=H.length-1;if(N>=H.length)N=0}let B=H[N];if(!B)return;let z=w.current();if(!z)return;U("model",z.name,{...B});let M=MyA([B,...K.recent],(L)=>`${L.providerID}/${L.modelID}`);if(M.length>10)M.pop();U("recent",M.map((L)=>({providerID:L.providerID,modelID:L.modelID}))),W()},set(V,H){Y7(()=>{if(!F(V)){q.show({message:`Model ${V.providerID}/${V.modelID} is not valid`,variant:"warning",duration:3000});return}let Z=w.current();if(!Z)return;if(U("model",Z.name,V),H?.recent){let N=MyA([V,...K.recent],(B)=>`${B.providerID}/${B.modelID}`);if(N.length>10)N.pop();U("recent",N.map((B)=>({providerID:B.providerID,modelID:B.modelID}))),W()}})},toggleFavorite(V){Y7(()=>{if(!F(V)){q.show({message:`Model ${V.providerID}/${V.modelID} is not valid`,variant:"warning",duration:3000});return}let Z=K.favorite.some((N)=>N.providerID===V.providerID&&N.modelID===V.modelID)?K.favorite.filter((N)=>N.providerID!==V.providerID||N.modelID!==V.modelID):[V,...K.favorite];U("favorite",Z.map((N)=>({providerID:N.providerID,modelID:N.modelID}))),W()})},variant:{selected(){let V=$();if(!V)return;let H=`${V.providerID}/${V.modelID}`;return K.variant[H]},current(){let V=this.selected();if(!V)return;if(!this.list().includes(V))return;return V},list(){let V=$();if(!V)return[];let Z=A.data.provider.find((N)=>N.id===V.providerID)?.models[V.modelID];if(!Z?.variants)return[];return Object.keys(Z.variants)},set(V){let H=$();if(!H)return;let Z=`${H.providerID}/${H.modelID}`;U("variant",Z,V??"default"),W()},cycle(){let V=this.list();if(V.length===0)return;let H=this.current();if(!H){this.set(V[0]);return}let Z=V.indexOf(H);if(Z===-1||Z===V.length-1){this.set(void 0);return}this.set(V[Z+1])}}}}),g={isEnabled(K){return A.data.mcp[K]?.status==="connected"},async toggle(K){if(A.data.mcp[K]?.status==="connected")await u.client.mcp.disconnect({name:K});else await u.client.mcp.connect({name:K})}};return N4(()=>{let K=w.current();if(!K)return;if(K.model)if(F(K.model))Q.set({providerID:K.model.providerID,modelID:K.model.modelID});else q.show({variant:"warning",message:`Agent ${K.name}'s configured model ${K.model.providerID}/${K.model.modelID} is not valid`,duration:3000})}),{model:Q,agent:w,mcp:g}}}))});function MrA(){let A=Kg(),u=U5(),q=bA(()=>{return[{value:"default",title:"Default",onSelect:()=>{u.clear(),A.model.variant.set(void 0)}},...A.model.variant.list().map((F)=>({value:F,title:F,onSelect:()=>{u.clear(),A.model.variant.set(F)}}))]});return JA(P3,{get options(){return q()},title:"Select variant",get current(){return A.model.variant.selected()},flat:!0})}var hn0=k(async()=>{U6();await Z0([TA(),jP(),ij(),w7()])});function JqA(){let A=$4();return bA(()=>A.data.provider.some((u)=>u.id!=="opencode"||Object.values(u.models).some((q)=>q.cost?.input!==0)))}var LrA=k(async()=>{U6();await jg()});function OqA(A){let u=Kg(),q=$4(),F=U5(),G=r7(),[w,Q]=j2(""),g=JqA(),j=yn0(),K=bA(()=>g()&&!A.providerID),U=bA(()=>{let X=w().trim(),Y=K()&&X.length===0,$=g()?u.model.favorite():[],V=u.model.recent();function H(M,L){if(!Y)return[];return M.flatMap((x)=>{let P=q.data.provider.find((C)=>C.id===x.providerID);if(!P)return[];let D=P.models[x.modelID];if(!D)return[];return[{key:x,value:{providerID:P.id,modelID:D.id},title:D.name??x.modelID,description:P.name,category:L,disabled:P.id==="opencode"&&D.id.includes("-nano"),footer:D.cost?.input===0&&P.id==="opencode"?"Free":void 0,onSelect:()=>{W(P.id,D.id)}}]})}let Z=H($,"Favorites"),N=H(V.filter((M)=>!$.some((L)=>L.providerID===M.providerID&&L.modelID===M.modelID)),"Recent"),B=tF(q.data.provider,xW((M)=>M.id!=="opencode",(M)=>M.name),CJA((M)=>tF(M.models,Hp(),Pk(([L,x])=>x.status!=="deprecated"),Pk(([L,x])=>A.providerID?x.providerID===A.providerID:!0),Yy(([L,x])=>({value:{providerID:M.id,modelID:L},title:x.name??L,description:$.some((P)=>P.providerID===M.id&&P.modelID===L)?"(Favorite)":void 0,category:g()?M.name:void 0,disabled:M.id==="opencode"&&L.includes("-nano"),footer:x.cost?.input===0&&M.id==="opencode"?"Free":void 0,onSelect(){W(M.id,L)}})),Pk((L)=>{if(!Y)return!0;if($.some((x)=>x.providerID===L.value.providerID&&x.modelID===L.value.modelID))return!1;if(V.some((x)=>x.providerID===L.value.providerID&&x.modelID===L.value.modelID))return!1;return!0}),xW((L)=>L.footer!=="Free",(L)=>L.title)))),z=!g()?tF(j(),Yy((M)=>({...M,category:"Popular providers"})),GL0(6)):[];if(X)return[...bn0.go(X,B,{keys:["title","category"]}).map((M)=>M.obj),...bn0.go(X,z,{keys:["title"]}).map((M)=>M.obj)];return[...Z,...N,...B,...z]}),_=bA(()=>A.providerID?q.data.provider.find((X)=>X.id===A.providerID):null),O=bA(()=>{let X=_();if(!X)return"Select model";return X.name});function W(X,Y){u.model.set({providerID:X,modelID:Y},{recent:!0});let $=u.model.variant.list(),V=u.model.variant.selected();if(V==="default"||V&&$.includes(V)){F.clear();return}if($.length>0){F.replace(()=>JA(MrA,{}));return}F.clear()}return JA(P3,{get options(){return U()},get keybind(){return[{keybind:G.all.model_provider_list?.[0],title:g()?"Connect provider":"View all providers",onTrigger(){F.replace(()=>JA(Go,{}))}},{keybind:G.all.model_favorite_toggle?.[0],title:"Favorite",disabled:!g(),onTrigger:(X)=>{u.model.toggleFavorite(X.value)}}]},onFilter:Q,flat:!0,skipFilter:!0,get title(){return O()},get current(){return u.model.current()}})}var bn0;var mn0=k(async()=>{U6();pw();await Z0([TA(),jP(),jg(),ij(),w7(),ErA(),hn0(),aY(),LrA()]);bn0=u2(gqA(),1)});var nI3=(A,u)=>Array.isArray(A)?A.includes(u):A.has(u),zk1=(A,u)=>nI3(A,u);function yn0(){let A=$4(),u=U5(),q=I4(),F=dg(),{theme:G}=r2(),w=JqA();return bA(()=>{return tF(A.data.provider_next.all,Pk((g)=>g.id!=="opencode"),xW((g)=>xk1[g.id]??99),Yy((g)=>{let j=zk1(A.data.console_state.consoleManagedProviders,g.id),K=A.data.provider_next.connected.includes(g.id);return{title:g.name,value:g.id,description:{anthropic:"(API key)",openai:"(ChatGPT Plus/Pro or API key)"}[g.id],footer:j?A.data.console_state.activeOrgName:void 0,category:g.id in xk1?"Popular":"Other",gutter:K&&w()?()=>(()=>{var U=QA("text");return UA(U,aA("\u2713")),yA((_)=>I(U,"fg",G.success,_)),U})():void 0,async onSelect(){if(j)return;let U=A.data.provider_auth[g.id]??[{type:"api",label:"API key"}],_=0;if(U.length>1)_=await new Promise((W)=>{u.replace(()=>JA(P3,{title:"Select auth method",get options(){return U.map((X,Y)=>({title:X.label,value:Y}))},onSelect:(X)=>W(X.value)}),()=>W(null))});if(_==null)return;let O=U[_];if(O.type==="oauth"){let W;if(O.prompts?.length){let Y=await Rk1({dialog:u,prompts:O.prompts});if(!Y)return;W=Y}let X=await q.client.provider.oauth.authorize({providerID:g.id,method:_,inputs:W});if(X.error){F.show({variant:"error",message:JSON.stringify(X.error)}),u.clear();return}if(X.data?.method==="code")u.replace(()=>JA(aI3,{get providerID(){return g.id},get title(){return O.label},index:_,get authorization(){return X.data}}));if(X.data?.method==="auto")u.replace(()=>JA(pI3,{get providerID(){return g.id},get title(){return O.label},index:_,get authorization(){return X.data}}))}if(O.type==="api"){let W;if(O.prompts?.length){let X=await Rk1({dialog:u,prompts:O.prompts});if(!X)return;W=X}return u.replace(()=>JA(rI3,{get providerID(){return g.id},get title(){return O.label},metadata:W}))}}}}))})}function Go(){let A=yn0();return JA(P3,{title:"Connect a provider",get options(){return A()}})}function pI3(A){let{theme:u}=r2(),q=I4(),F=U5(),G=$4(),w=dg();return q4((Q)=>{if(Q.name==="c"&&!Q.ctrl&&!Q.meta){let g=A.authorization.instructions.match(/[A-Z0-9]{4}-[A-Z0-9]{4,5}/)?.[0]??A.authorization.url;oW(g).then(()=>w.show({message:"Copied to clipboard",variant:"info"})).catch(w.error)}}),fu(async()=>{if((await q.client.provider.oauth.callback({providerID:A.providerID,method:A.index})).error){F.clear();return}await q.client.instance.dispose(),await G.bootstrap(),F.replace(()=>JA(OqA,{get providerID(){return A.providerID}}))}),(()=>{var Q=QA("box"),g=QA("box"),j=QA("text"),K=QA("text"),U=QA("box"),_=QA("text"),O=QA("text"),W=QA("text"),X=aA("c "),Y=QA("span");return UA(Q,g),UA(Q,U),UA(Q,O),UA(Q,W),I(Q,"paddingLeft",2),I(Q,"paddingRight",2),I(Q,"gap",1),I(Q,"paddingBottom",1),UA(g,j),UA(g,K),I(g,"flexDirection","row"),I(g,"justifyContent","space-between"),BA(j,()=>A.title),UA(K,aA("esc")),I(K,"onMouseUp",()=>F.clear()),UA(U,_),I(U,"gap",1),BA(U,JA(fn0,{get href(){return A.authorization.url},get fg(){return u.primary}}),_),BA(_,()=>A.authorization.instructions),UA(O,aA("Waiting for authorization...")),UA(W,X),UA(W,Y),UA(Y,aA("copy")),yA(($)=>{var V=E6.BOLD,H=u.text,Z=u.textMuted,N=u.textMuted,B=u.textMuted,z=u.text,M={fg:u.textMuted};return V!==$.e&&($.e=I(j,"attributes",V,$.e)),H!==$.t&&($.t=I(j,"fg",H,$.t)),Z!==$.a&&($.a=I(K,"fg",Z,$.a)),N!==$.o&&($.o=I(_,"fg",N,$.o)),B!==$.i&&($.i=I(O,"fg",B,$.i)),z!==$.n&&($.n=I(W,"fg",z,$.n)),M!==$.s&&($.s=I(Y,"style",M,$.s)),$},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),Q})()}function aI3(A){let{theme:u}=r2(),q=I4(),F=$4(),G=U5(),[w,Q]=j2(!1);return JA(oY,{get title(){return A.title},placeholder:"Authorization code",onConfirm:async(g)=>{let{error:j}=await q.client.provider.oauth.callback({providerID:A.providerID,method:A.index,code:g});if(!j){await q.client.instance.dispose(),await F.bootstrap(),G.replace(()=>JA(OqA,{get providerID(){return A.providerID}}));return}Q(!0)},description:()=>(()=>{var g=QA("box"),j=QA("text");return UA(g,j),I(g,"gap",1),BA(j,()=>A.authorization.instructions),BA(g,JA(fn0,{get href(){return A.authorization.url},get fg(){return u.primary}}),null),BA(g,JA(R0,{get when(){return w()},get children(){var K=QA("text");return UA(K,aA("Invalid code")),yA((U)=>I(K,"fg",u.error,U)),K}}),null),yA((K)=>I(j,"fg",u.textMuted,K)),g})()})}function rI3(A){let u=U5(),q=I4(),F=$4();return JA(oY,{get title(){return A.title},placeholder:"API key",onConfirm:async(G)=>{if(!G)return;await q.client.auth.set({providerID:A.providerID,auth:{type:"api",key:G,...A.metadata?{metadata:A.metadata}:{}}}),await q.client.instance.dispose(),await F.bootstrap(),u.replace(()=>JA(OqA,{get providerID(){return A.providerID}}))}})}async function Rk1(A){let u={};for(let q of A.prompts){if(q.when){let G=u[q.when.key];if(G===void 0)continue;if(!(q.when.op==="eq"?G===q.when.value:G!==q.when.value))continue}if(q.type==="select"){let G=await new Promise((w)=>{A.dialog.replace(()=>JA(P3,{get title(){return q.message},get options(){return q.options.map((Q)=>({title:Q.label,value:Q.value,description:Q.hint}))},onSelect:(Q)=>w(Q.value)}),()=>w(null))});if(G===null)return null;u[q.key]=G;continue}let F=await new Promise((G)=>{A.dialog.replace(()=>JA(oY,{get title(){return q.message},get placeholder(){return q.placeholder},onConfirm:(w)=>G(w)}),()=>G(null))});if(F===null)return null;u[q.key]=F}return u}var xk1;var ErA=k(async()=>{U6();pw();QC();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),jg(),ij(),w7(),JQ(),GZA(),Mk1(),Cq(),Mq(),mn0(),TA(),Kz(),LrA()]);xk1={openai:1,"github-copilot":2,anthropic:3,google:4}});var _z="27.4.53",Dk1="-desktop";function AO(A){return A.trim().replace(/^v/,"")}function jZA(A){return AO(A).endsWith(oI3)}function JC(A){let u=AO(A);return gZA.default.valid(u)??gZA.default.coerce(u)?.version}function vn0(A,u){let q=JC(A),F=JC(u);if(q&&F)return gZA.default.eq(q,F);return AO(A)===AO(u)}function zrA(A,u){if(vn0(A,u))return!1;let q=JC(A),F=JC(u);if(q&&F)return gZA.default.gt(F,q);return AO(A)!==AO(u)}var gZA,k4,eY,WqA,oI3;var cj=k(()=>{gZA=u2(Nw(),1),k4=typeof CODEPLANE_VERSION==="string"?CODEPLANE_VERSION:"local",eY=typeof CODEPLANE_CHANNEL==="string"?CODEPLANE_CHANNEL:"local",WqA=eY==="local",oI3=Dk1});function Pk1(A){let u=m7(),q=vq(),F=async()=>{await A.onBeforeExit?.(),q.setTerminalTitle(""),q.destroy(),SaA(),await A.onExit()};q4((U)=>{if(U.ctrl&&U.name==="c")F()});let[G,w]=j2(!1),Q=new URL("https://github.com/anomalyco/codeplane/issues/new?template=bug-report.yml"),g=A.mode==="light",j={bg:g?"#ffffff":"#0a0a0a",text:g?"#1a1a1a":"#eeeeee",muted:g?"#8a8a8a":"#808080",primary:g?"#3b7dd8":"#fab283"};if(A.error.message)Q.searchParams.set("title",`opentui: fatal: ${A.error.message}`);if(A.error.stack)Q.searchParams.set("description","```\n"+A.error.stack.substring(0,6000-Q.toString().length)+"...\n```");Q.searchParams.set("opencode-version",k4);let K=()=>{oW(Q.toString()).then(()=>{w(!0)})};return(()=>{var U=QA("box"),_=QA("box"),O=QA("text"),W=QA("box"),X=QA("text"),Y=QA("box"),$=QA("text"),V=QA("box"),H=QA("text"),Z=QA("box"),N=QA("text"),B=QA("scrollbox"),z=QA("text"),M=QA("text");return UA(U,_),UA(U,Y),UA(U,B),UA(U,M),I(U,"flexDirection","column"),I(U,"gap",1),UA(_,O),UA(_,W),I(_,"flexDirection","row"),I(_,"gap",1),I(_,"alignItems","center"),UA(O,aA("Please report an issue.")),UA(W,X),I(W,"onMouseUp",K),I(W,"padding",1),UA(X,aA("Copy issue URL (exception info pre-filled)")),BA(_,(()=>{var L=v2(()=>!!G());return()=>L()&&(()=>{var x=QA("text");return UA(x,aA("Successfully copied")),yA((P)=>I(x,"fg",j.muted,P)),x})()})(),null),UA(Y,$),UA(Y,V),UA(Y,Z),I(Y,"flexDirection","row"),I(Y,"gap",2),I(Y,"alignItems","center"),UA($,aA("A fatal error occurred!")),UA(V,H),I(V,"padding",1),UA(H,aA("Reset TUI")),UA(Z,N),I(Z,"onMouseUp",F),I(Z,"padding",1),UA(N,aA("Exit")),UA(B,z),BA(z,()=>A.error.stack),BA(M,()=>A.error.message),yA((L)=>{var x=j.bg,P=E6.BOLD,D=j.text,C=j.primary,y=E6.BOLD,S=j.bg,f=j.text,r=A.reset,l=j.primary,o=j.bg,a=j.primary,n=j.bg,s=Math.floor(u().height*0.7),t=TB(),b=j.muted,p=j.text;return x!==L.e&&(L.e=I(U,"backgroundColor",x,L.e)),P!==L.t&&(L.t=I(O,"attributes",P,L.t)),D!==L.a&&(L.a=I(O,"fg",D,L.a)),C!==L.o&&(L.o=I(W,"backgroundColor",C,L.o)),y!==L.i&&(L.i=I(X,"attributes",y,L.i)),S!==L.n&&(L.n=I(X,"fg",S,L.n)),f!==L.s&&(L.s=I($,"fg",f,L.s)),r!==L.h&&(L.h=I(V,"onMouseUp",r,L.h)),l!==L.r&&(L.r=I(V,"backgroundColor",l,L.r)),o!==L.d&&(L.d=I(H,"fg",o,L.d)),a!==L.l&&(L.l=I(Z,"backgroundColor",a,L.l)),n!==L.u&&(L.u=I(N,"fg",n,L.u)),s!==L.c&&(L.c=I(B,"height",s,L.c)),t!==L.w&&(L.w=I(B,"scrollAcceleration",t,L.w)),b!==L.m&&(L.m=I(z,"fg",b,L.m)),p!==L.f&&(L.f=I(M,"fg",p,L.f)),L},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0,f:void 0}),U})()}var Tk1=k(async()=>{QC();U6();cj();CaA();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),Mq(),TA(),qo()])});function Ik1(A){let{theme:u}=r2();return(()=>{var q=QA("box"),F=QA("text"),G=aA("Unknown plugin route: "),w=QA("box"),Q=QA("text");return UA(q,F),UA(q,w),I(q,"width","100%"),I(q,"height","100%"),I(q,"alignItems","center"),I(q,"justifyContent","center"),I(q,"flexDirection","column"),I(q,"gap",1),UA(F,G),BA(F,()=>A.id,null),UA(w,Q),I(w,"paddingLeft",1),I(w,"paddingRight",1),UA(Q,aA("go home")),yA((g)=>{var j=u.warning,K=A.onHome,U=u.backgroundElement,_=u.text;return j!==g.e&&(g.e=I(F,"fg",j,g.e)),K!==g.t&&(g.t=I(w,"onMouseUp",K,g.t)),U!==g.a&&(g.a=I(w,"backgroundColor",U,g.a)),_!==g.o&&(g.o=I(Q,"fg",_,g.o)),g},{e:void 0,t:void 0,a:void 0,o:void 0}),q})()}var kk1=k(async()=>{await Z0([TA(),TA(),TA(),TA(),TA(),TA(),Cq()])});import{Database as ln0}from"bun:sqlite";import Sk1 from"os";import wo from"path";async function fk1(A,u=process.cwd()){let q=qk3(A,u);if(q.type!=="row")return q;let F=q.row;if(!F.buffer_path)return{type:"empty"};let G=Fk3(A,F);if(G.type!=="selections")return G;let w=G.selections.flatMap((K)=>{if(K.selection_start==null||K.selection_end==null)return[];return[{start:Math.min(K.selection_start,K.selection_end),end:Math.max(K.selection_start,K.selection_end)}]}).sort((K,U)=>K.start-U.start||K.end-U.end);if(w.length===0)return{type:"unavailable"};let Q=Gk3(A,F),g=Q.type==="contents"&&Q.contents!=null?Q.contents:await Bun.file(F.buffer_path).text().catch(()=>{return});if(g==null)return{type:"unavailable"};let j=w.map((K)=>{let U=Ck1(g,K.start),_=Ck1(g,K.end);return{text:g.slice(U,_),selection:Kk3(g,U,_)}});return{type:"selection",selection:{filePath:F.buffer_path,source:"zed",ranges:j}}}function qk3(A,u){let q;try{q=new ln0(A,{readonly:!0});let F=q.query(`select
|
|
743
743
|
i.kind as item_kind,
|
|
744
744
|
e.item_id as editor_id,
|
|
745
745
|
i.workspace_id as workspace_id,
|
|
@@ -5275,9 +5275,9 @@ Tried to update to v${p}. The server's /global/upgrade returned this. Re-run aft
|
|
|
5275
5275
|
`)G=!1,u+=g;continue}if(w){if(g==="*"&&j==="/"){w=!1,Q++;continue}if(g===`
|
|
5276
5276
|
`)u+=g;continue}if(q){if(u+=g,F){F=!1;continue}if(g==="\\"){F=!0;continue}if(g==='"')q=!1;continue}if(g==='"'){q=!0,u+=g;continue}if(g==="/"&&j==="/"){G=!0,Q++;continue}if(g==="/"&&j==="*"){w=!0,Q++;continue}u+=g}return u}function Lp7(A){try{return JSON.parse(A)}catch{}try{return JSON.parse(Mp7(A).replace(/,\s*([}\]])/g,"$1"))}catch{}}async function Ep7(){for(let A of Bp7){let u=nH.join(SV.paths().config,A),q=await hU.readFile(u,"utf8").catch(()=>"");if(!q.trim())continue;try{let F=Lp7(q);if(!F||typeof F!=="object"||!("npm"in F))continue;let G=F.npm;if(!G||typeof G!=="object")continue;return{registry:MI2(typeof G.registry==="string"?G.registry:void 0),token:typeof G.token==="string"?G.token.trim()||void 0:void 0,alwaysAuth:G.always_auth===!0}}catch{}}}async function U2u(){let A=await Ep7();if(A)return A;return{registry:MI2(process.env.CODEPLANE_NPM_REGISTRY?.trim()||process.env.npm_config_registry?.trim()),token:void 0,alwaysAuth:void 0}}function _2u(){if(process.arch==="arm64")return"arm64";return"x64"}function LI2(){if(process.platform==="darwin")return"darwin";if(process.platform==="win32")return"windows";return"linux"}function xp7(){if(LI2()!=="linux")return!1;try{if($A("fs").existsSync("/etc/alpine-release"))return!0}catch{}try{let A=ZI2("ldd",["--version"],{encoding:"utf8",timeout:1500});return`${A.stdout||""}${A.stderr||""}`.toLowerCase().includes("musl")}catch{return!1}}function Rp7(){if(_2u()!=="x64")return!0;let A=LI2();if(A==="darwin")try{let u=ZI2("sysctl",["-n","hw.optional.avx2_0"],{encoding:"utf8",timeout:1500});return u.status===0&&(u.stdout||"").trim()==="1"}catch{return!1}if(A==="linux")try{let u=$A("fs").readFileSync("/proc/cpuinfo","utf8");return/(?:^|\s)avx2(?:\s|$)/i.test(u)}catch{return!1}if(A==="windows")for(let q of["powershell.exe","pwsh.exe","pwsh","powershell"])try{let F=ZI2(q,["-NoProfile","-NonInteractive","-Command",'(Add-Type -MemberDefinition "[DllImport(""kernel32.dll"")] public static extern bool IsProcessorFeaturePresent(int ProcessorFeature);" -Name Kernel32 -Namespace Win32 -PassThru)::IsProcessorFeaturePresent(40)'],{encoding:"utf8",timeout:3000,windowsHide:!0});if(F.status!==0)continue;let G=(F.stdout||"").trim().toLowerCase();if(G==="true"||G==="1")return!0;if(G==="false"||G==="0")return!1}catch{continue}return!1}function Dp7(A){return["codeplane",A.os,A.arch,A.baseline?"baseline":void 0,A.musl?"musl":void 0].filter(Boolean).join("-")}function ijA(){let A=LI2(),u=_2u(),q=xp7(),F=u==="x64"&&!Rp7(),G=Dp7({os:A,arch:u,musl:q,baseline:F});return{packageName:G,archiveName:`${G}.tgz`,archiveExt:".tgz",binaryName:A==="windows"?"codeplane.exe":"codeplane",os:A,arch:u}}function J2u(){return nH.join(SV.paths().bin,ijA().binaryName)}function O2u(A,u){return[nH.join(A,"bin",u),nH.join(A,u)]}async function z_0(A,u){for(let q of O2u(A,u))if(await EI2(q))return q}async function x_0(){let A=J2u(),u=await EI2(A),q=Pd(await hU.readFile(j2u(),"utf8").catch(()=>""));return{cliInstalled:u,cliPath:A,cliVersion:q||void 0}}async function W2u(A){let u=Pd(A.version);BI2(u,"installManagedCodeplaneCli");let q=ijA(),F=J2u(),G=nH.join(SV.paths().local_server_binaries,u),w=(A.binaryPath&&await EI2(A.binaryPath)?A.binaryPath:void 0)??await z_0(G,q.binaryName);if(!w)throw Error(`Codeplane ${u} binary not found in ${G}. Tried ${O2u(G,q.binaryName).join(" and ")}.`);let Q=await x_0();if(Q.cliInstalled&&Q.cliVersion===u)return{cliInstalled:!0,cliPath:F,version:u};let g=`${F}.tmp-${Date.now()}-${Math.random().toString(36).slice(2)}`;if(await hU.mkdir(nH.dirname(F),{recursive:!0}),await hU.copyFile(w,g),q.os!=="windows")await hU.chmod(g,493).catch(()=>{return});return await hU.rm(F,{force:!0}).catch(()=>{return}),await hU.rename(g,F),await hU.writeFile(j2u(),`${u}
|
|
5277
5277
|
`),{cliInstalled:!0,cliPath:F,version:u}}async function lkA(A=_z){let u=await hU.readFile(HI2(),"utf8").catch(()=>""),q=Pd(u);return q&&NI2.test(q)?q:A}async function X2u(A){let u=Pd(A);return BI2(u,"writePreferredLocalVersion"),await hU.mkdir(nH.dirname(HI2()),{recursive:!0}),await hU.writeFile(HI2(),`${u}
|
|
5278
|
-
`),u}async function Y2u(A){let u=A.registry?{registry:MI2(A.registry)}:await U2u(),q=Pd(A.version||"latest");if(q!=="latest"&&!NI2.test(q))throw Error(`Invalid version "${q}" requested for ${A.name}`);let F=new URL(`${zp7(A.name)}/${q}`,u.registry),G=await K2u(F,{headers:{accept:"application/json",...u.token&&(u.alwaysAuth||F.origin===new URL(u.registry).origin)?{authorization:`Bearer ${u.token}`}:{}},description:`npm manifest ${A.name}@${q}`});if(!G.ok)throw Error(`npm registry lookup failed for ${A.name}@${q} with HTTP ${G.status}`);let w=await G.json();if(typeof w.version!=="string"||typeof w.dist?.tarball!=="string")throw Error(`npm registry payload for ${A.name}@${q} is missing version or tarball`);return{version:Pd(w.version),tarball:w.dist.tarball,integrity:typeof w.dist.integrity==="string"?w.dist.integrity:void 0,shasum:typeof w.dist.shasum==="string"?w.dist.shasum:void 0}}function Pp7(A,u,q){let F=u.split(/\s+/).filter(Boolean),G;for(let w of F){let[Q,g]=w.split("-",2);if(!Q||!g)continue;try{let j=Q2u(Q).update(A).digest("base64");if(j===g)return;G=Error(`${Q} integrity mismatch for ${q}: expected ${g}, got ${j}`)}catch(j){G=j instanceof Error?j:Error(String(j))}}throw G??Error(`No supported algorithm in integrity field for ${q}: ${u}`)}function Tp7(A,u,q){let F=Q2u("sha1").update(A).digest("hex");if(F!==u)throw Error(`sha1 shasum mismatch for ${q}: expected ${u}, got ${F}`)}async function R_0(A="latest"){return(await Y2u({name:"codeplane-ai",version:A})).version}function Ip7(A,u){return new Promise((q,F)=>{let G=$p7("tar",["-xzf",A,"-C",u,"--strip-components","1"],{stdio:"ignore",windowsHide:!0});G.on("error",F),G.on("exit",(w,Q)=>{if(w===0){q();return}F(Error(`tar exited with code ${w??Q??"unknown"} while extracting ${A}`))})})}async function $2u(A){let u=ijA(),q=Pd(A.version);BI2(q,"installCodeplaneLocalPackage");let F=await U2u();A.progress?.({version:q,phase:"detect",message:`Detected ${u.os}/${u.arch}. Resolving ${u.packageName}@${q} from npm\u2026`,percent:4,binaryVersion:q});let G=await Y2u({name:u.packageName,version:q,registry:F.registry});if(Pd(G.version)!==q)throw Error(`npm resolved ${u.packageName}@${G.version} instead of ${q}`);let w=`${A.directory}.tmp-${Date.now()}`,Q=nH.join(w,"package"),g=nH.join(w,u.archiveName);await hU.rm(w,{recursive:!0,force:!0}),await hU.mkdir(Q,{recursive:!0}),A.progress?.({version:q,phase:"download",message:`Downloading ${u.packageName}@${q} from npm\u2026`,percent:8,binaryVersion:q});let j=new URL(G.tarball),K=await K2u(j,{redirect:"follow",headers:F.token&&(F.alwaysAuth||j.origin===new URL(F.registry).origin)?{authorization:`Bearer ${F.token}`}:void 0,description:`npm tarball ${u.packageName}@${q}`,signal:A.signal,timeoutMs:g2u});if(!K.ok)throw Error(`npm tarball download failed for ${u.packageName}@${q} with HTTP ${K.status}`);if(!K.body)throw Error(`npm tarball download for ${u.packageName}@${q} returned an empty body`);let U=Number(K.headers.get("content-length")??"0"),_=0,O=[],W=Zp7.fromWeb(K.body),X=new Hp7({transform(H,Z,N){_+=H.length,O.push(H),A.progress?.({version:q,phase:"download",message:`Downloading ${u.packageName}@${q}\u2026`,percent:U>0?Math.min(82,8+Math.round(_/U*72)):40,binaryVersion:q,transferred:_,total:U||void 0}),N(null,H)}});await Np7(W,X,Vp7(g));let Y=Buffer.concat(O);if(G.integrity)Pp7(Y,G.integrity,`${u.packageName}@${q}`);else if(G.shasum)Tp7(Y,G.shasum,`${u.packageName}@${q}`);A.progress?.({version:q,phase:"extract",message:`Extracting ${u.packageName}@${q}\u2026`,percent:86,binaryVersion:q}),await Ip7(g,Q);let $=await z_0(Q,u.binaryName);if(!$)throw Error(`Extracted ${u.packageName}@${q} but binary ${u.binaryName} was not found in the package payload`);if(u.os!=="windows")await hU.chmod($,493).catch(()=>{return});await hU.rm(A.directory,{recursive:!0,force:!0}),await hU.rename(Q,A.directory),await hU.rm(w,{recursive:!0,force:!0});let V=nH.join(A.directory,nH.relative(Q,$));return A.progress?.({version:q,phase:"ready",message:`${u.packageName}@${q} is ready locally.`,percent:100,binaryVersion:q}),{binaryPath:V,packageName:u.packageName,target:u,version:q}}var Bp7,NI2,g2u,Pd=(A)=>(A??"").toString().trim().replace(/^[vV]+/,""),HI2=()=>nH.join(SV.paths().local_server,"default-version"),j2u=()=>nH.join(SV.paths().bin,".codeplane-version"),zp7=(A)=>{if(!A.startsWith("@"))return A;return A.replace("/","%2f")},EI2=(A)=>hU.access(A).then(()=>!0).catch(()=>!1);var tkA=k(()=>{JJA();Bp7=["codeplane.jsonc","codeplane.json","config.json"],NI2=/^\d+\.\d+\.\d+(?:-[\w.+-]+)?$/,g2u=Number(process.env.CODEPLANE_NPM_FETCH_TIMEOUT_MS)||120000});import kp7 from"path";function V2u(A){let[u,q]=j2("Local Codeplane"),[F,G]=j2(""),[w,Q]=j2(void 0),[g,j]=j2(void 0),[K,U]=j2("label"),[_,O]=j2(void 0),[W,X]=j2(void 0),[Y,$]=j2(!1),V=bA(()=>!!_()||Y());fu(async()=>{try{let[z,M]=await Promise.all([A.service.localTarget(),R_0().catch(()=>{return})]);Q(z);let L=M??z.defaultVersion??"";if(G(L),L){let x=await A.service.localStatus(L);j(x)}}catch(z){X(z instanceof Error?z.message:String(z))}});let H=async()=>{if(!F())return;try{j(await A.service.localStatus(F()))}catch{j(void 0)}},Z=async()=>{if(V())return;X(void 0),O({phase:"detect",message:"preparing",percent:0,version:F()||"latest"});try{await A.service.installLocal(F()||void 0,(z)=>O(z)),O(void 0),await H()}catch(z){X(z instanceof Error?z.message:String(z)),O(void 0)}},N=async()=>{if(V())return;if(!u().trim()){X("Label is required"),U("label");return}$(!0);try{let z=(u().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"local").slice(0,32),M=z,L=1;while(A.takenIds.has(M))L+=1,M=`${z}-${L}`;let x={id:M,url:VI2(M),label:u().trim(),local:{binaryVersion:F()||""}};await A.service.save(x),A.onDone({instance:x})}catch(z){X(z instanceof Error?z.message:String(z))}finally{$(!1)}};q4((z)=>{if(V()){if(z.ctrl&&z.name==="c")A.onDone({cancel:!0});return}if(z.ctrl&&z.name==="c")return A.onDone({cancel:!0});if(z.name==="escape")return A.onDone({cancel:!0});if(z.name==="tab"){U((M)=>M==="label"?"version":"label");return}if(z.name==="up"){U((M)=>M==="version"?"label":"label");return}if(z.name==="down"){U((M)=>M==="label"?"version":"version");return}if(z.ctrl&&z.name==="s")return void N();if(z.ctrl&&z.name==="i")return void Z();if(z.name==="return"&&K()==="version")return void N();if(z.name==="return"&&K()==="label"){U("version");return}if(K()==="label"){if(z.name==="backspace"){q(u().slice(0,-1));return}if(z.ctrl&&z.name==="u"){q("");return}if(z.sequence&&!z.ctrl&&!z.meta&&z.sequence.length===1&&z.sequence.charCodeAt(0)>=32)q(u()+z.sequence)}else if(K()==="version"){if(z.name==="backspace"){G(F().slice(0,-1)),H();return}if(z.ctrl&&z.name==="u"){G(""),H();return}if(z.sequence&&!z.ctrl&&!z.meta&&z.sequence.length===1&&z.sequence.charCodeAt(0)>=32)G(F()+z.sequence),H()}});let B=bA(()=>{let z=g();if(!F())return"(uses saved preferred version)";if(!z)return"checking\u2026";if(z.installed)return`\u2713 installed at ${z.binaryPath?kp7.basename(z.binaryPath):"known path"}`;return"not installed \u2014 Ctrl+I to install now or Ctrl+S to save & install on first use"});return(()=>{var z=QA("box"),M=QA("box"),L=QA("box"),x=QA("box");return UA(z,M),UA(z,L),UA(z,x),I(z,"flexDirection","column"),I(z,"flexGrow",1),BA(z,JA(V1A,{instance:"setup",cwd:"new local instance",status:"form",get statusColor(){return Q6.info}}),M),BA(z,JA(Z1A,{children:"NEW LOCAL INSTANCE"}),M),I(M,"marginTop",1),BA(M,JA(Dd,{label:"Label",get value(){return u()},get focused(){return K()==="label"},placeholder:"Local Codeplane",hint:"shown in the picker",validate:()=>({ok:!!u().trim(),message:u().trim()?void 0:"required"})})),I(L,"marginTop",1),BA(L,JA(Dd,{label:"Binary version",get value(){return F()},get focused(){return K()==="version"},get placeholder(){return w()?.defaultVersion??"latest"},get hint(){return B()}})),BA(z,JA(R0,{get when(){return w()},get children(){var P=QA("box"),D=QA("text"),C=aA("target: "),y=aA("/"),S=aA(" \xB7 binary "),f=aA(" \xB7 ");return UA(P,D),I(P,"marginTop",1),I(P,"paddingX",2),UA(D,C),UA(D,y),UA(D,S),UA(D,f),BA(D,()=>w().os,y),BA(D,()=>w().arch,S),BA(D,()=>w().binaryName,f),BA(D,()=>w().archiveName,null),yA((r)=>I(D,"fg",Q6.fgDim,r)),P}}),x),BA(z,JA(R0,{get when(){return _()},get children(){var P=QA("box"),D=QA("box"),C=QA("text"),y=QA("text"),S=QA("box");return UA(P,D),UA(P,S),I(P,"marginTop",1),I(P,"flexDirection","column"),UA(D,C),UA(D,y),I(D,"paddingX",2),UA(C,aA("installing\u2026 ")),BA(y,()=>_().phase),BA(D,JA(R0,{get when(){return _().binaryVersion},get children(){var f=QA("text"),r=aA(" v");return UA(f,r),BA(f,()=>_().binaryVersion,null),yA((l)=>I(f,"fg",Q6.fgDim,l)),f}}),null),I(S,"marginTop",0),BA(S,JA(G2u,{get percent(){return _().percent??0},get message(){return _().message}})),yA((f)=>{var r=Q6.accent,l=Q6.fgMuted;return r!==f.e&&(f.e=I(C,"fg",r,f.e)),l!==f.t&&(f.t=I(y,"fg",l,f.t)),f},{e:void 0,t:void 0}),P}}),x),BA(z,JA(R0,{get when(){return v2(()=>!!(!_()&&g()&&!g().installed))()&&F()},get children(){var P=QA("box");return I(P,"marginTop",1),BA(P,JA(H1A,{variant:"warn",children:"Binary not yet installed. Press Ctrl+I to install now, or Ctrl+S to save (it will install on first use)."})),P}}),x),BA(z,JA(R0,{get when(){return v2(()=>!_())()&&g()?.installed},get children(){var P=QA("box");return I(P,"marginTop",1),BA(P,JA(H1A,{variant:"success",children:"Binary installed and ready."})),P}}),x),BA(z,JA(R0,{get when(){return W()},get children(){var P=QA("box");return I(P,"marginTop",1),BA(P,JA(H1A,{variant:"error",get children(){return W()}})),P}}),x),I(x,"flexGrow",1),BA(z,JA($1A,{hints:[{keys:"ctrl+s",label:"save"},{keys:"ctrl+i",label:"install now"},{keys:"tab",label:"next field"},{keys:"esc",label:"cancel"},{keys:"ctrl+c",label:"quit"}]}),null),yA((P)=>I(z,"backgroundColor",Q6.bg,P)),z})()}var Z2u=k(async()=>{U6();tkA();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),E_0()])});function H2u(A,u){return(A.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||u).slice(0,32)}function Sp7(A,u){return`Basic ${Buffer.from(`${A}:${u}`,"utf8").toString("base64")}`}function N2u(A){let[u,q]=j2(""),[F,G]=j2(""),[w,Q]=j2(""),[g,j]=j2(""),[K,U]=j2("label"),[_,O]=j2(void 0),[W,X]=j2(!1),[Y,$]=j2({status:"idle"}),V=bA(()=>W()||Y().status==="checking"),H=(D)=>D==="label"?u():D==="url"?F():D==="username"?w():g(),Z=(D)=>D==="label"?q:D==="url"?G:D==="username"?Q:j,N=()=>{let D=w().trim(),C=g();if(!D&&!C)return;return{Authorization:Sp7(D,C)}},B=()=>{let D=u().trim();if(!D){O("Label is required"),U("label");return}let C=F().trim();if(!C){O("URL is required"),U("url");return}if(!/^https?:\/\//i.test(C)){O("URL must start with http:// or https://"),U("url");return}let y=H2u(D,"remote"),S=y,f=1;while(A.takenIds.has(S))f+=1,S=`${y}-${f}`;return{id:S,url:C,label:D,headers:N()}},z=async()=>{if(V())return;O(void 0);let D=B();if(!D)return;$({status:"checking"});try{let C=await A.service.probe(D);if(!C.ok){$({status:"error",message:C.status?`HTTP ${C.status}`:C.error||"Unreachable"});return}$({status:"ok",version:C.version??void 0})}catch(C){$({status:"error",message:C instanceof Error?C.message:String(C)})}},M=async()=>{if(V())return;O(void 0);let D=B();if(!D)return;X(!0);try{await A.service.save(D),A.onDone({instance:D})}catch(C){O(C instanceof Error?C.message:String(C))}finally{X(!1)}},L=(D)=>{let y=(D_0.indexOf(K())+D+D_0.length)%D_0.length;U(D_0[y])};q4((D)=>{if(V()){if(D.ctrl&&D.name==="c")A.onDone({cancel:!0});return}if(D.ctrl&&D.name==="c")return A.onDone({cancel:!0});if(D.name==="escape")return A.onDone({cancel:!0});if(D.name==="tab")return L(1);if(D.name==="up")return L(-1);if(D.name==="down")return L(1);if(D.ctrl&&D.name==="s")return void M();if(D.ctrl&&D.name==="p")return void z();if(D.name==="return"){if(K()==="password")return void M();L(1);return}let C=K(),y=H,S=Z(C);if(D.name==="backspace"){if(S(y(C).slice(0,-1)),Y().status!=="idle")$({status:"idle"});return}if(D.ctrl&&D.name==="u"){if(S(""),Y().status!=="idle")$({status:"idle"});return}if(D.sequence&&!D.ctrl&&!D.meta&&D.sequence.length===1&&D.sequence.charCodeAt(0)>=32){if(S(y(C)+D.sequence),Y().status!=="idle")$({status:"idle"})}});let x=bA(()=>{let D=g();if(K()!=="password")return D?"\u2022".repeat(D.length):"";if(D.length===0)return"";return"\u2022".repeat(Math.max(0,D.length-1))+D.slice(-1)}),P=bA(()=>{let D=Y();if(D.status==="checking")return{variant:"info",text:"Probing /global/version\u2026"};if(D.status==="ok")return{variant:"success",text:D.version?`Server reachable. Reports v${D.version}.`:"Server reachable but did not return a version (auth proxy?). Check the URL or use `codeplane instance sign-in <id>` after saving."};if(D.status==="error")return{variant:"error",text:`Probe failed: ${D.message}`};return});return(()=>{var D=QA("box"),C=QA("box"),y=QA("box"),S=QA("box"),f=QA("box"),r=QA("box"),l=QA("box"),o=QA("text"),a=aA("Cloudflare Access / SSO? Save first, then run `codeplane instance sign-in "),n=aA("` from a shell to capture the cookie automatically.");return UA(D,C),UA(D,y),UA(D,S),UA(D,f),UA(D,r),UA(D,l),I(D,"flexDirection","column"),I(D,"flexGrow",1),BA(D,JA(V1A,{instance:"setup",cwd:"new remote instance",status:"form",get statusColor(){return Q6.info}}),C),BA(D,JA(Z1A,{children:"NEW REMOTE INSTANCE"}),C),I(C,"marginTop",1),BA(C,JA(Dd,{label:"Label",get value(){return u()},get focused(){return K()==="label"},placeholder:"My Codeplane Server",hint:"shown in the picker",validate:()=>({ok:!!u().trim(),message:u().trim()?void 0:"required"})})),I(y,"marginTop",1),BA(y,JA(Dd,{label:"URL",get value(){return F()},get focused(){return K()==="url"},placeholder:"https://codeplane.example.com",hint:"https:// or http://",validate:()=>{let s=F().trim();if(!s)return{ok:!1,message:"required"};if(!/^https?:\/\//i.test(s))return{ok:!1,message:"must start with http:// or https://"};return{ok:!0}}})),I(S,"marginTop",1),BA(S,JA(Dd,{label:"Basic Auth username",get value(){return w()},get focused(){return K()==="username"},placeholder:"(optional)",hint:"leave empty if the server doesn't use Basic Auth"})),I(f,"marginTop",1),BA(f,JA(Dd,{label:"Basic Auth password",get value(){return x()},get focused(){return K()==="password"},placeholder:"(optional)",get hint(){return g()?"masked \u2014 Ctrl+U to clear":"leave empty if the server doesn't use Basic Auth"}})),BA(D,JA(R0,{get when(){return P()},get children(){var s=QA("box");return I(s,"marginTop",1),BA(s,JA(H1A,{get variant(){return P().variant},get children(){return P().text}})),s}}),r),BA(D,JA(R0,{get when(){return _()},get children(){var s=QA("box");return I(s,"marginTop",1),BA(s,JA(H1A,{variant:"error",get children(){return _()}})),s}}),r),I(r,"flexGrow",1),UA(l,o),I(l,"marginTop",1),I(l,"paddingX",2),UA(o,a),UA(o,n),BA(o,(()=>{var s=v2(()=>!!u().trim());return()=>s()?H2u(u().trim(),"remote"):"<id>"})(),n),BA(D,JA($1A,{hints:[{keys:"ctrl+s",label:"save"},{keys:"ctrl+p",label:"probe"},{keys:"tab/\u2191\u2193",label:"navigate"},{keys:"esc",label:"cancel"},{keys:"ctrl+c",label:"quit"}]}),null),yA((s)=>{var t=Q6.bg,b=Q6.fgDim;return t!==s.e&&(s.e=I(D,"backgroundColor",t,s.e)),b!==s.t&&(s.t=I(o,"fg",b,s.t)),s},{e:void 0,t:void 0}),D})()}var D_0;var B2u=k(async()=>{U6();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),E_0()]);D_0=["label","url","username","password"]});var E2u={};fA(E2u,{runBootWizard:()=>mp7});import zI2 from"path";import Cp7 from"fs/promises";import{homedir as M2u}from"os";function L2u(A){let u=M2u();return A.startsWith(u)?"~"+A.slice(u.length):A}function fp7(A){return q4((u)=>{if(A.busy){if(u.ctrl&&u.name==="c")A.onQuit();return}if(u.name==="up"||u.name==="k")A.onMove(-1);else if(u.name==="down"||u.name==="j")A.onMove(1);else if(u.name==="return")A.onPick(A.selected);else if(u.name==="n"||u.name==="l")A.onCreateLocal();else if(u.name==="r")A.onCreateRemote();else if(u.name==="d"||u.name==="delete")A.onDelete(A.selected);else if(u.name==="u")A.onUpdate(A.selected);else if(u.name==="q"||u.ctrl&&u.name==="c")A.onQuit()}),(()=>{var u=QA("box"),q=QA("box"),F=QA("box");return UA(u,q),UA(u,F),I(u,"flexDirection","column"),I(u,"flexGrow",1),BA(u,JA(V1A,{instance:"setup",get cwd(){return L2u(process.cwd())},status:"ready"}),q),BA(u,JA(Z1A,{children:"SELECT A SERVER"}),q),BA(u,JA(R0,{get when(){return A.instances.length===0},get children(){var G=QA("box"),w=QA("text"),Q=QA("text"),g=QA("text"),j=QA("text"),K=QA("text");return UA(G,w),UA(G,Q),UA(G,g),UA(G,j),UA(G,K),I(G,"marginTop",1),I(G,"paddingX",2),I(G,"flexDirection","row"),UA(w,aA("No saved instances. Press ")),UA(Q,aA("n")),UA(g,aA(" for a local one or ")),UA(j,aA("r")),UA(K,aA(" for a remote one.")),yA((U)=>{var _=Q6.fgMuted,O=Q6.accent,W=Q6.fgMuted,X=Q6.accent,Y=Q6.fgMuted;return _!==U.e&&(U.e=I(w,"fg",_,U.e)),O!==U.t&&(U.t=I(Q,"fg",O,U.t)),W!==U.a&&(U.a=I(g,"fg",W,U.a)),X!==U.o&&(U.o=I(j,"fg",X,U.o)),Y!==U.i&&(U.i=I(K,"fg",Y,U.i)),U},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),G}}),q),I(q,"flexDirection","column"),I(q,"marginTop",1),I(q,"paddingX",2),BA(q,JA(W5,{get each(){return A.instances},children:(G,w)=>{let Q=bA(()=>w()===A.selected),g=G.url.startsWith("local://")||!!G.local;return(()=>{var j=QA("box"),K=QA("box"),U=QA("text"),_=QA("text"),O=QA("text"),W=QA("text");return UA(j,K),I(j,"flexDirection","column"),UA(K,U),UA(K,_),UA(K,O),UA(K,W),I(K,"flexDirection","row"),BA(U,()=>Q()?"\u258D":" "),BA(_,` ${g?"local ":"remote"} `),BA(O,()=>G.label??G.id),BA(W,()=>` ${G.url}`),BA(j,JA(R0,{get when(){return Q()},get children(){var X=QA("box"),Y=QA("text");return UA(X,Y),I(X,"flexDirection","row"),I(X,"paddingLeft",4),BA(Y,()=>g?`binary ${G.local?.binaryVersion||"auto"} \xB7 starts on demand`:"tls verify enabled \xB7 no custom headers"),yA(($)=>I(Y,"fg",Q6.fgDim,$)),X}}),null),yA((X)=>{var Y=Q()?Q6.accent:Q6.divider,$=g?Q6.success:Q6.info,V=Q()?Q6.accent:Q6.fgMuted,H=Q()?E6.BOLD:0,Z=Q6.fgDim;return Y!==X.e&&(X.e=I(U,"fg",Y,X.e)),$!==X.t&&(X.t=I(_,"fg",$,X.t)),V!==X.a&&(X.a=I(O,"fg",V,X.a)),H!==X.o&&(X.o=I(O,"attributes",H,X.o)),Z!==X.i&&(X.i=I(W,"fg",Z,X.i)),X},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),j})()}})),BA(u,JA(R0,{get when(){return A.notice},get children(){var G=QA("box"),w=QA("text"),Q=QA("text");return UA(G,w),UA(G,Q),I(G,"marginTop",1),I(G,"paddingX",2),I(G,"flexDirection","row"),BA(w,(()=>{var g=v2(()=>A.notice.variant==="success");return()=>g()?"\u2713 ":v2(()=>A.notice.variant==="error")()?"\u2717 ":A.notice.variant==="warn"?"! ":"i "})()),BA(Q,()=>A.notice.message),yA((g)=>{var j=A.notice.variant==="success"?Q6.success:A.notice.variant==="error"?Q6.warn:A.notice.variant==="warn"?Q6.warn:Q6.info,K=Q6.fg;return j!==g.e&&(g.e=I(w,"fg",j,g.e)),K!==g.t&&(g.t=I(Q,"fg",K,g.t)),g},{e:void 0,t:void 0}),G}}),F),BA(u,JA(R0,{get when(){return A.busy},get children(){var G=QA("box"),w=QA("text"),Q=QA("text");return UA(G,w),UA(G,Q),I(G,"marginTop",1),I(G,"paddingX",2),I(G,"flexDirection","row"),UA(w,aA("\u27F3 ")),BA(Q,()=>A.busy.message),BA(G,JA(R0,{get when(){return typeof A.busy.percent==="number"},get children(){var g=QA("text");return BA(g,()=>` ${Math.round(A.busy.percent??0)}%`),yA((j)=>I(g,"fg",Q6.fgDim,j)),g}}),null),yA((g)=>{var j=Q6.accent,K=Q6.fg;return j!==g.e&&(g.e=I(w,"fg",j,g.e)),K!==g.t&&(g.t=I(Q,"fg",K,g.t)),g},{e:void 0,t:void 0}),G}}),F),I(F,"flexGrow",1),BA(u,JA($1A,{hints:[{keys:"\u21B5",label:"open"},{keys:"u",label:"update"},{keys:"n",label:"new local"},{keys:"r",label:"new remote"},{keys:"d",label:"delete"},{keys:"\u2191\u2193",label:"navigate"},{keys:"q",label:"quit"}]}),null),yA((G)=>I(u,"backgroundColor",Q6.bg,G)),u})()}async function hp7(A){try{let q=(await Cp7.readdir(A,{withFileTypes:!0})).filter((F)=>!F.name.startsWith(".")||F.name===".codeplane").map((F)=>({name:F.name,isDir:F.isDirectory()||F.isSymbolicLink()}));return q.sort((F,G)=>{if(F.isDir!==G.isDir)return F.isDir?-1:1;return F.name.localeCompare(G.name)}),q}catch{return[]}}function bp7(A){let[u,q]=j2(zI2.resolve(A.initialDirectory)),[F,G]=j2([]),[w,Q]=j2(0),[g,j]=j2(""),[K,U]=j2(0),[_]=j2(void 0),O=14,W=async(N)=>{let B=await hp7(N);Y7(()=>{q(N),G(B),Q(0),U(0)})};W(u());let X=bA(()=>{let N=g().toLowerCase(),B=F();if(!N)return B;return B.filter((z)=>z.name.toLowerCase().includes(N))}),Y=bA(()=>X().slice(K(),K()+14)),$=(N)=>{let B=X();if(B.length===0)return;let z=w()+N;if(z<0)z=0;if(z>B.length-1)z=B.length-1;if(Q(z),z<K())U(z);else if(z>=K()+14)U(z-14+1)},V=async()=>{let B=X()[w()];if(!B||!B.isDir)return;let z=zI2.join(u(),B.name);j(""),await W(z)},H=async()=>{let N=zI2.dirname(u());if(N===u())return;j(""),await W(N)},Z=async()=>{j(""),await W(M2u())};return q4((N)=>{if(N.name==="escape"){if(g())j("");else A.onBack();return}if(N.ctrl&&N.name==="c")return A.onQuit();if(N.name==="up")return $(-1);if(N.name==="down")return $(1);if(N.name==="pageup")return $(-14);if(N.name==="pagedown")return $(14);if(N.name==="home"&&!N.ctrl){Q(0),U(0);return}if(N.name==="end"){let B=X().length-1;Q(Math.max(0,B)),U(Math.max(0,B-14+1));return}if(N.name==="right")return void V();if(N.name==="left")return void H();if(N.name==="return"){let z=X()[w()];if(g()&&z?.isDir)return void V();A.onConfirm(u());return}if(N.ctrl&&N.name==="h")return void Z();if(N.ctrl&&(N.name==="u"||N.name==="w")){j("");return}if(N.name==="backspace"){if(g())j(g().slice(0,-1));else H();return}if(N.sequence&&!N.ctrl&&!N.meta&&N.sequence.length===1){let B=N.sequence;if(B.charCodeAt(0)>=32)j(g()+B),Q(0),U(0)}}),(()=>{var N=QA("box"),B=QA("box"),z=QA("text"),M=QA("text"),L=QA("text"),x=QA("box"),P=QA("text"),D=QA("text"),C=QA("text"),y=aA(" "),S=QA("text"),f=QA("box"),r=QA("text"),l=QA("box"),o=QA("box");return UA(N,B),UA(N,x),UA(N,f),UA(N,l),UA(N,o),I(N,"flexDirection","column"),I(N,"flexGrow",1),BA(N,JA(V1A,{get instance(){return A.instance.label??A.instance.id},get cwd(){return L2u(u())},status:"connected"}),B),BA(N,JA(Z1A,{children:"WHERE TO WORK"}),B),UA(B,z),UA(B,M),UA(B,L),I(B,"marginTop",1),I(B,"paddingX",2),UA(z,aA("Pick a working directory for ")),BA(M,()=>A.instance.label??A.instance.id),UA(L,aA(".")),UA(x,P),UA(x,D),UA(x,C),UA(x,S),I(x,"marginTop",1),I(x,"flexDirection","row"),I(x,"paddingX",2),UA(P,aA("search ")),UA(D,aA("\u203A")),UA(C,y),BA(C,()=>g()||" ",null),UA(S,aA("\u258E")),UA(f,r),I(f,"marginTop",1),I(f,"flexDirection","row"),I(f,"paddingX",2),UA(r,aA("\u2191\u2193 select \xB7 \u2192 enter dir \xB7 \u2190 up \xB7 \u21B5 open here")),I(l,"flexDirection","column"),I(l,"marginTop",1),I(l,"paddingX",2),BA(l,JA(R0,{get when(){return X().length===0},get children(){var a=QA("text");return BA(a,(()=>{var n=v2(()=>!!g());return()=>n()?`No matches for "${g()}".`:"Empty directory."})()),yA((n)=>I(a,"fg",Q6.fgMuted,n)),a}}),null),BA(l,JA(W5,{get each(){return Y()},children:(a,n)=>{let s=bA(()=>K()+n()),t=bA(()=>s()===w());return(()=>{var b=QA("box"),p=QA("text"),KA=QA("text"),d=QA("text");return UA(b,p),UA(b,KA),UA(b,d),I(b,"flexDirection","row"),BA(p,()=>t()?"\u258D":" "),BA(KA,()=>` ${a.isDir?"\uD83D\uDCC1":"\uD83D\uDCC4"} `),BA(d,()=>a.name),BA(b,JA(R0,{get when(){return a.isDir},get children(){var GA=QA("text");return UA(GA,aA("/")),yA((OA)=>I(GA,"fg",Q6.fgDim,OA)),GA}}),null),yA((GA)=>{var OA=t()?Q6.accent:Q6.divider,v=a.isDir?Q6.accent:Q6.fgDim,c=t()?Q6.accent:a.isDir?Q6.fg:Q6.fgMuted,uA=t()?E6.BOLD:0;return OA!==GA.e&&(GA.e=I(p,"fg",OA,GA.e)),v!==GA.t&&(GA.t=I(KA,"fg",v,GA.t)),c!==GA.a&&(GA.a=I(d,"fg",c,GA.a)),uA!==GA.o&&(GA.o=I(d,"attributes",uA,GA.o)),GA},{e:void 0,t:void 0,a:void 0,o:void 0}),b})()}}),null),BA(l,JA(R0,{get when(){return X().length>14},get children(){var a=QA("box"),n=QA("text"),s=aA("showing "),t=aA("\u2013"),b=aA(" of ");return UA(a,n),I(a,"marginTop",1),UA(n,s),UA(n,t),UA(n,b),BA(n,()=>K()+1,t),BA(n,()=>Math.min(K()+14,X().length),b),BA(n,()=>X().length,null),yA((p)=>I(n,"fg",Q6.fgDim,p)),a}}),null),BA(N,JA(R0,{get when(){return _()},get children(){var a=QA("box"),n=QA("text");return UA(a,n),I(a,"marginTop",1),I(a,"paddingX",2),BA(n,_),yA((s)=>I(n,"fg",Q6.warn,s)),a}}),o),I(o,"flexGrow",1),BA(N,JA($1A,{get hints(){return[{keys:"\u21B5",label:g()?"drill in / open here":"open here"},{keys:"\u2192",label:"enter dir"},{keys:"\u2190/\u232B",label:"up"},{keys:"ctrl+h",label:"home"},{keys:"esc",label:g()?"clear":"back"},{keys:"ctrl+c",label:"quit"}]}}),null),yA((a)=>{var n=Q6.bg,s=Q6.fg,t=Q6.accent,b=E6.BOLD,p=Q6.fg,KA=Q6.fgMuted,d=Q6.divider,GA=Q6.accent,OA=Q6.fg,v=Q6.fgDim;return n!==a.e&&(a.e=I(N,"backgroundColor",n,a.e)),s!==a.t&&(a.t=I(z,"fg",s,a.t)),t!==a.a&&(a.a=I(M,"fg",t,a.a)),b!==a.o&&(a.o=I(M,"attributes",b,a.o)),p!==a.i&&(a.i=I(L,"fg",p,a.i)),KA!==a.n&&(a.n=I(P,"fg",KA,a.n)),d!==a.s&&(a.s=I(D,"fg",d,a.s)),GA!==a.h&&(a.h=I(C,"fg",GA,a.h)),OA!==a.r&&(a.r=I(S,"fg",OA,a.r)),v!==a.d&&(a.d=I(r,"fg",v,a.d)),a},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),N})()}async function mp7(A){let u=await xR({targetFps:30}),q=!1,F,G=new Promise((H)=>{F=H}),w=async(H)=>{if(q)return;q=!0;try{u.destroy()}catch{}await new Promise((Z)=>setTimeout(Z,30)),F(H)},[Q,g]=j2(A.instances.slice()),[j,K]=j2("instance"),[U,_]=j2(0),[O]=j2(A.defaultDirectory??process.cwd()),[W,X]=j2(void 0),[Y,$]=j2(void 0),V=(H)=>{let Z=[...Q(),H];g(Z),_(Z.length-1),K("instance")};return await rKA(()=>JA(R0,{get when(){return j()==="instance"},get fallback(){return JA(R0,{get when(){return j()==="create-local"},get fallback(){return JA(R0,{get when(){return j()==="create-remote"},get fallback(){return JA(bp7,{get instance(){return Q()[U()]},get initialDirectory(){return O()},onConfirm:(H)=>void w({instance:Q()[U()],directory:H}),onBack:()=>K("instance"),onQuit:()=>void w(null)})},get children(){return JA(N2u,{get service(){return A.service},get takenIds(){return new Set(Q().map((H)=>H.id))},onDone:(H)=>{if("cancel"in H){K("instance");return}V(H.instance)}})}})},get children(){return JA(V2u,{get service(){return A.service},get takenIds(){return new Set(Q().map((H)=>H.id))},onDone:(H)=>{if("cancel"in H){K("instance");return}V(H.instance)}})}})},get children(){return JA(fp7,{get instances(){return Q()},get selected(){return U()},get busy(){return W()},get notice(){return Y()},onMove:(H)=>{let Z=Q().length;if(Z===0)return;let N=((U()+H)%Z+Z)%Z;_(N),$(void 0)},onPick:()=>{if(Q()[U()])K("directory")},onCreateLocal:()=>K("create-local"),onCreateRemote:()=>K("create-remote"),onDelete:async(H)=>{let Z=Q()[H];if(!Z)return;try{await A.service.remove(Z.id);let N=Q().filter((B,z)=>z!==H);g(N),_(Math.min(H,N.length-1))}catch{}},onUpdate:async(H)=>{let Z=Q()[H];if(!Z)return;$(void 0),X({message:"Starting update\u2026"});try{let N=await A.service.updateInstance(Z,(z)=>{X({message:z.message,percent:z.phase==="downloading"?z.percent:void 0})}),B=await A.service.list();switch(g(B),N.kind){case"updated-local":$({variant:"success",message:`${N.label??Z.id}: v${N.from||"?"} \u2192 v${N.to}.`});break;case"already-latest":$({variant:"info",message:`${N.label??Z.id} is already on v${N.version}.`});break;case"remote-current":$({variant:"info",message:`${N.label??Z.id} server is on v${N.version??"?"}.`});break;case"remote-update-available":$({variant:"warn",message:`${N.label??Z.id} server v${N.current??"?"} \u2192 v${N.latest} available. Open the instance to apply.`});break;case"remote-unreachable":$({variant:"error",message:`${N.label??Z.id}: ${N.message}`});break;case"error":$({variant:"error",message:`${N.label??Z.id}: ${N.message}`});break}}catch(N){$({variant:"error",message:N instanceof Error?N.message:String(N)})}finally{X(void 0)}},onQuit:()=>void w(null)})}}),u),s5(()=>{try{u.destroy()}catch{}}),G}var z2u=k(async()=>{U6();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),Mq(),E_0(),Z2u(),B2u()])});import xI2 from"fs/promises";import yp7 from"path";async function Td(A){return xI2.readFile(A,"utf8").then((u)=>JSON.parse(u)).then((u)=>({instances:Array.isArray(u.instances)?u.instances:[],lastInstanceID:u.lastInstanceID})).catch(()=>({instances:[]}))}async function ikA(A,u){await xI2.mkdir(yp7.dirname(A),{recursive:!0}),await xI2.writeFile(A,`${JSON.stringify(u,null,2)}
|
|
5278
|
+
`),u}async function Y2u(A){let u=A.registry?{registry:MI2(A.registry)}:await U2u(),q=Pd(A.version||"latest");if(q!=="latest"&&!NI2.test(q))throw Error(`Invalid version "${q}" requested for ${A.name}`);let F=new URL(`${zp7(A.name)}/${q}`,u.registry),G=await K2u(F,{headers:{accept:"application/json",...u.token&&(u.alwaysAuth||F.origin===new URL(u.registry).origin)?{authorization:`Bearer ${u.token}`}:{}},description:`npm manifest ${A.name}@${q}`});if(!G.ok)throw Error(`npm registry lookup failed for ${A.name}@${q} with HTTP ${G.status}`);let w=await G.json();if(typeof w.version!=="string"||typeof w.dist?.tarball!=="string")throw Error(`npm registry payload for ${A.name}@${q} is missing version or tarball`);return{version:Pd(w.version),tarball:w.dist.tarball,integrity:typeof w.dist.integrity==="string"?w.dist.integrity:void 0,shasum:typeof w.dist.shasum==="string"?w.dist.shasum:void 0}}function Pp7(A,u,q){let F=u.split(/\s+/).filter(Boolean),G;for(let w of F){let[Q,g]=w.split("-",2);if(!Q||!g)continue;try{let j=Q2u(Q).update(A).digest("base64");if(j===g)return;G=Error(`${Q} integrity mismatch for ${q}: expected ${g}, got ${j}`)}catch(j){G=j instanceof Error?j:Error(String(j))}}throw G??Error(`No supported algorithm in integrity field for ${q}: ${u}`)}function Tp7(A,u,q){let F=Q2u("sha1").update(A).digest("hex");if(F!==u)throw Error(`sha1 shasum mismatch for ${q}: expected ${u}, got ${F}`)}async function R_0(A="latest"){return(await Y2u({name:"codeplane-ai",version:A})).version}function Ip7(A,u){return new Promise((q,F)=>{let G=$p7("tar",["-xzf",A,"-C",u,"--strip-components","1"],{stdio:"ignore",windowsHide:!0});G.on("error",F),G.on("exit",(w,Q)=>{if(w===0){q();return}F(Error(`tar exited with code ${w??Q??"unknown"} while extracting ${A}`))})})}async function $2u(A){let u=ijA(),q=Pd(A.version);BI2(q,"installCodeplaneLocalPackage");let F=await U2u();A.progress?.({version:q,phase:"detect",message:`Detected ${u.os}/${u.arch}. Resolving ${u.packageName}@${q} from npm\u2026`,percent:4,binaryVersion:q});let G=await Y2u({name:u.packageName,version:q,registry:F.registry});if(Pd(G.version)!==q)throw Error(`npm resolved ${u.packageName}@${G.version} instead of ${q}`);let w=`${A.directory}.tmp-${Date.now()}`,Q=nH.join(w,"package"),g=nH.join(w,u.archiveName);await hU.rm(w,{recursive:!0,force:!0}),await hU.mkdir(Q,{recursive:!0}),A.progress?.({version:q,phase:"download",message:`Downloading ${u.packageName}@${q} from npm\u2026`,percent:8,binaryVersion:q});let j=new URL(G.tarball),K=await K2u(j,{redirect:"follow",headers:F.token&&(F.alwaysAuth||j.origin===new URL(F.registry).origin)?{authorization:`Bearer ${F.token}`}:void 0,description:`npm tarball ${u.packageName}@${q}`,signal:A.signal,timeoutMs:g2u});if(!K.ok)throw Error(`npm tarball download failed for ${u.packageName}@${q} with HTTP ${K.status}`);if(!K.body)throw Error(`npm tarball download for ${u.packageName}@${q} returned an empty body`);let U=Number(K.headers.get("content-length")??"0"),_=0,O=[],W=Zp7.fromWeb(K.body),X=new Hp7({transform(H,Z,N){_+=H.length,O.push(H),A.progress?.({version:q,phase:"download",message:`Downloading ${u.packageName}@${q}\u2026`,percent:U>0?Math.min(82,8+Math.round(_/U*72)):40,binaryVersion:q,transferred:_,total:U||void 0}),N(null,H)}});await Np7(W,X,Vp7(g));let Y=Buffer.concat(O);if(G.integrity)Pp7(Y,G.integrity,`${u.packageName}@${q}`);else if(G.shasum)Tp7(Y,G.shasum,`${u.packageName}@${q}`);A.progress?.({version:q,phase:"extract",message:`Extracting ${u.packageName}@${q}\u2026`,percent:86,binaryVersion:q}),await Ip7(g,Q);let $=await z_0(Q,u.binaryName);if(!$)throw Error(`Extracted ${u.packageName}@${q} but binary ${u.binaryName} was not found in the package payload`);if(u.os!=="windows")await hU.chmod($,493).catch(()=>{return});await hU.rm(A.directory,{recursive:!0,force:!0}),await hU.rename(Q,A.directory),await hU.rm(w,{recursive:!0,force:!0});let V=nH.join(A.directory,nH.relative(Q,$));return A.progress?.({version:q,phase:"ready",message:`${u.packageName}@${q} is ready locally.`,percent:100,binaryVersion:q}),{binaryPath:V,packageName:u.packageName,target:u,version:q}}var Bp7,NI2,g2u,Pd=(A)=>(A??"").toString().trim().replace(/^[vV]+/,""),HI2=()=>nH.join(SV.paths().local_server,"default-version"),j2u=()=>nH.join(SV.paths().bin,".codeplane-version"),zp7=(A)=>{if(!A.startsWith("@"))return A;return A.replace("/","%2f")},EI2=(A)=>hU.access(A).then(()=>!0).catch(()=>!1);var tkA=k(()=>{JJA();Bp7=["codeplane.jsonc","codeplane.json","config.json"],NI2=/^\d+\.\d+\.\d+(?:-[\w.+-]+)?$/,g2u=Number(process.env.CODEPLANE_NPM_FETCH_TIMEOUT_MS)||120000});import kp7 from"path";function V2u(A){let[u,q]=j2("Local Codeplane"),[F,G]=j2(""),[w,Q]=j2(void 0),[g,j]=j2(void 0),[K,U]=j2("label"),[_,O]=j2(void 0),[W,X]=j2(void 0),[Y,$]=j2(!1),V=bA(()=>!!_()||Y());fu(async()=>{try{let[z,M]=await Promise.all([A.service.localTarget(),R_0().catch(()=>{return})]);Q(z);let L=M??z.defaultVersion??"";if(G(L),L){let x=await A.service.localStatus(L);j(x)}}catch(z){X(z instanceof Error?z.message:String(z))}});let H=async()=>{if(!F())return;try{j(await A.service.localStatus(F()))}catch{j(void 0)}},Z=async()=>{if(V())return;X(void 0),O({phase:"detect",message:"preparing",percent:0,version:F()||"latest"});try{await A.service.installLocal(F()||void 0,(z)=>O(z)),O(void 0),await H()}catch(z){X(z instanceof Error?z.message:String(z)),O(void 0)}},N=async()=>{if(V())return;if(!u().trim()){X("Label is required"),U("label");return}$(!0);try{let z=(u().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"local").slice(0,32),M=z,L=1;while(A.takenIds.has(M))L+=1,M=`${z}-${L}`;let x={id:M,url:VI2(M),label:u().trim(),local:{binaryVersion:F()||""}};await A.service.save(x),A.onDone({instance:x})}catch(z){X(z instanceof Error?z.message:String(z))}finally{$(!1)}};q4((z)=>{if(V()){if(z.ctrl&&z.name==="c")A.onDone({cancel:!0});return}if(z.ctrl&&z.name==="c")return A.onDone({cancel:!0});if(z.name==="escape")return A.onDone({cancel:!0});if(z.name==="tab"){U((M)=>M==="label"?"version":"label");return}if(z.name==="up"){U((M)=>M==="version"?"label":"label");return}if(z.name==="down"){U((M)=>M==="label"?"version":"version");return}if(z.ctrl&&z.name==="s")return void N();if(z.ctrl&&z.name==="i")return void Z();if(z.name==="return"&&K()==="version")return void N();if(z.name==="return"&&K()==="label"){U("version");return}if(K()==="label"){if(z.name==="backspace"){q(u().slice(0,-1));return}if(z.ctrl&&z.name==="u"){q("");return}if(z.sequence&&!z.ctrl&&!z.meta&&z.sequence.length===1&&z.sequence.charCodeAt(0)>=32)q(u()+z.sequence)}else if(K()==="version"){if(z.name==="backspace"){G(F().slice(0,-1)),H();return}if(z.ctrl&&z.name==="u"){G(""),H();return}if(z.sequence&&!z.ctrl&&!z.meta&&z.sequence.length===1&&z.sequence.charCodeAt(0)>=32)G(F()+z.sequence),H()}});let B=bA(()=>{let z=g();if(!F())return"(uses saved preferred version)";if(!z)return"checking\u2026";if(z.installed)return`\u2713 installed at ${z.binaryPath?kp7.basename(z.binaryPath):"known path"}`;return"not installed \u2014 Ctrl+I to install now or Ctrl+S to save & install on first use"});return(()=>{var z=QA("box"),M=QA("box"),L=QA("box"),x=QA("box");return UA(z,M),UA(z,L),UA(z,x),I(z,"flexDirection","column"),I(z,"flexGrow",1),BA(z,JA(V1A,{instance:"setup",cwd:"new local instance",status:"form",get statusColor(){return Q6.info}}),M),BA(z,JA(Z1A,{children:"NEW LOCAL INSTANCE"}),M),I(M,"marginTop",1),BA(M,JA(Dd,{label:"Label",get value(){return u()},get focused(){return K()==="label"},placeholder:"Local Codeplane",hint:"shown in the picker",validate:()=>({ok:!!u().trim(),message:u().trim()?void 0:"required"})})),I(L,"marginTop",1),BA(L,JA(Dd,{label:"Binary version",get value(){return F()},get focused(){return K()==="version"},get placeholder(){return w()?.defaultVersion??"latest"},get hint(){return B()}})),BA(z,JA(R0,{get when(){return w()},get children(){var P=QA("box"),D=QA("text"),C=aA("target: "),y=aA("/"),S=aA(" \xB7 binary "),f=aA(" \xB7 ");return UA(P,D),I(P,"marginTop",1),I(P,"paddingX",2),UA(D,C),UA(D,y),UA(D,S),UA(D,f),BA(D,()=>w().os,y),BA(D,()=>w().arch,S),BA(D,()=>w().binaryName,f),BA(D,()=>w().archiveName,null),yA((r)=>I(D,"fg",Q6.fgDim,r)),P}}),x),BA(z,JA(R0,{get when(){return _()},get children(){var P=QA("box"),D=QA("box"),C=QA("text"),y=QA("text"),S=QA("box");return UA(P,D),UA(P,S),I(P,"marginTop",1),I(P,"flexDirection","column"),UA(D,C),UA(D,y),I(D,"paddingX",2),UA(C,aA("installing\u2026 ")),BA(y,()=>_().phase),BA(D,JA(R0,{get when(){return _().binaryVersion},get children(){var f=QA("text"),r=aA(" v");return UA(f,r),BA(f,()=>_().binaryVersion,null),yA((l)=>I(f,"fg",Q6.fgDim,l)),f}}),null),I(S,"marginTop",0),BA(S,JA(G2u,{get percent(){return _().percent??0},get message(){return _().message}})),yA((f)=>{var r=Q6.accent,l=Q6.fgMuted;return r!==f.e&&(f.e=I(C,"fg",r,f.e)),l!==f.t&&(f.t=I(y,"fg",l,f.t)),f},{e:void 0,t:void 0}),P}}),x),BA(z,JA(R0,{get when(){return v2(()=>!!(!_()&&g()&&!g().installed))()&&F()},get children(){var P=QA("box");return I(P,"marginTop",1),BA(P,JA(H1A,{variant:"warn",children:"Binary not yet installed. Press Ctrl+I to install now, or Ctrl+S to save (it will install on first use)."})),P}}),x),BA(z,JA(R0,{get when(){return v2(()=>!_())()&&g()?.installed},get children(){var P=QA("box");return I(P,"marginTop",1),BA(P,JA(H1A,{variant:"success",children:"Binary installed and ready."})),P}}),x),BA(z,JA(R0,{get when(){return W()},get children(){var P=QA("box");return I(P,"marginTop",1),BA(P,JA(H1A,{variant:"error",get children(){return W()}})),P}}),x),I(x,"flexGrow",1),BA(z,JA($1A,{hints:[{keys:"ctrl+s",label:"save"},{keys:"ctrl+i",label:"install now"},{keys:"tab",label:"next field"},{keys:"esc",label:"cancel"},{keys:"ctrl+c",label:"quit"}]}),null),yA((P)=>I(z,"backgroundColor",Q6.bg,P)),z})()}var Z2u=k(async()=>{U6();tkA();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),E_0()])});function H2u(A,u){return(A.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||u).slice(0,32)}function Sp7(A,u){return`Basic ${Buffer.from(`${A}:${u}`,"utf8").toString("base64")}`}function N2u(A){let[u,q]=j2(""),[F,G]=j2(""),[w,Q]=j2(""),[g,j]=j2(""),[K,U]=j2("label"),[_,O]=j2(void 0),[W,X]=j2(!1),[Y,$]=j2({status:"idle"}),V=bA(()=>W()||Y().status==="checking"),H=(D)=>D==="label"?u():D==="url"?F():D==="username"?w():g(),Z=(D)=>D==="label"?q:D==="url"?G:D==="username"?Q:j,N=()=>{let D=w().trim(),C=g();if(!D&&!C)return;return{Authorization:Sp7(D,C)}},B=()=>{let D=u().trim();if(!D){O("Label is required"),U("label");return}let C=F().trim();if(!C){O("URL is required"),U("url");return}if(!/^https?:\/\//i.test(C)){O("URL must start with http:// or https://"),U("url");return}let y=H2u(D,"remote"),S=y,f=1;while(A.takenIds.has(S))f+=1,S=`${y}-${f}`;return{id:S,url:C,label:D,headers:N()}},z=async()=>{if(V())return;O(void 0);let D=B();if(!D)return;$({status:"checking"});try{let C=await A.service.probe(D);if(!C.ok){$({status:"error",message:C.status?`HTTP ${C.status}`:C.error||"Unreachable"});return}$({status:"ok",version:C.version??void 0})}catch(C){$({status:"error",message:C instanceof Error?C.message:String(C)})}},M=async()=>{if(V())return;O(void 0);let D=B();if(!D)return;X(!0);try{await A.service.save(D),A.onDone({instance:D})}catch(C){O(C instanceof Error?C.message:String(C))}finally{X(!1)}},L=(D)=>{let y=(D_0.indexOf(K())+D+D_0.length)%D_0.length;U(D_0[y])};q4((D)=>{if(V()){if(D.ctrl&&D.name==="c")A.onDone({cancel:!0});return}if(D.ctrl&&D.name==="c")return A.onDone({cancel:!0});if(D.name==="escape")return A.onDone({cancel:!0});if(D.name==="tab")return L(1);if(D.name==="up")return L(-1);if(D.name==="down")return L(1);if(D.ctrl&&D.name==="s")return void M();if(D.ctrl&&D.name==="p")return void z();if(D.name==="return"){if(K()==="password")return void M();L(1);return}let C=K(),y=H,S=Z(C);if(D.name==="backspace"){if(S(y(C).slice(0,-1)),Y().status!=="idle")$({status:"idle"});return}if(D.ctrl&&D.name==="u"){if(S(""),Y().status!=="idle")$({status:"idle"});return}if(D.sequence&&!D.ctrl&&!D.meta&&D.sequence.length===1&&D.sequence.charCodeAt(0)>=32){if(S(y(C)+D.sequence),Y().status!=="idle")$({status:"idle"})}});let x=bA(()=>{let D=g();if(K()!=="password")return D?"\u2022".repeat(D.length):"";if(D.length===0)return"";return"\u2022".repeat(Math.max(0,D.length-1))+D.slice(-1)}),P=bA(()=>{let D=Y();if(D.status==="checking")return{variant:"info",text:"Probing /global/version\u2026"};if(D.status==="ok")return{variant:"success",text:D.version?`Server reachable. Reports v${D.version}.`:"Server reachable but did not return a version (auth proxy?). Check the URL or use `codeplane instance sign-in <id>` after saving."};if(D.status==="error")return{variant:"error",text:`Probe failed: ${D.message}`};return});return(()=>{var D=QA("box"),C=QA("box"),y=QA("box"),S=QA("box"),f=QA("box"),r=QA("box"),l=QA("box"),o=QA("text"),a=aA("Cloudflare Access / SSO? Save first, then run `codeplane instance sign-in "),n=aA("` from a shell to capture the cookie automatically.");return UA(D,C),UA(D,y),UA(D,S),UA(D,f),UA(D,r),UA(D,l),I(D,"flexDirection","column"),I(D,"flexGrow",1),BA(D,JA(V1A,{instance:"setup",cwd:"new remote instance",status:"form",get statusColor(){return Q6.info}}),C),BA(D,JA(Z1A,{children:"NEW REMOTE INSTANCE"}),C),I(C,"marginTop",1),BA(C,JA(Dd,{label:"Label",get value(){return u()},get focused(){return K()==="label"},placeholder:"My Codeplane Server",hint:"shown in the picker",validate:()=>({ok:!!u().trim(),message:u().trim()?void 0:"required"})})),I(y,"marginTop",1),BA(y,JA(Dd,{label:"URL",get value(){return F()},get focused(){return K()==="url"},placeholder:"https://codeplane.example.com",hint:"https:// or http://",validate:()=>{let s=F().trim();if(!s)return{ok:!1,message:"required"};if(!/^https?:\/\//i.test(s))return{ok:!1,message:"must start with http:// or https://"};return{ok:!0}}})),I(S,"marginTop",1),BA(S,JA(Dd,{label:"Basic Auth username",get value(){return w()},get focused(){return K()==="username"},placeholder:"(optional)",hint:"leave empty if the server doesn't use Basic Auth"})),I(f,"marginTop",1),BA(f,JA(Dd,{label:"Basic Auth password",get value(){return x()},get focused(){return K()==="password"},placeholder:"(optional)",get hint(){return g()?"masked \u2014 Ctrl+U to clear":"leave empty if the server doesn't use Basic Auth"}})),BA(D,JA(R0,{get when(){return P()},get children(){var s=QA("box");return I(s,"marginTop",1),BA(s,JA(H1A,{get variant(){return P().variant},get children(){return P().text}})),s}}),r),BA(D,JA(R0,{get when(){return _()},get children(){var s=QA("box");return I(s,"marginTop",1),BA(s,JA(H1A,{variant:"error",get children(){return _()}})),s}}),r),I(r,"flexGrow",1),UA(l,o),I(l,"marginTop",1),I(l,"paddingX",2),UA(o,a),UA(o,n),BA(o,(()=>{var s=v2(()=>!!u().trim());return()=>s()?H2u(u().trim(),"remote"):"<id>"})(),n),BA(D,JA($1A,{hints:[{keys:"ctrl+s",label:"save"},{keys:"ctrl+p",label:"probe"},{keys:"tab/\u2191\u2193",label:"navigate"},{keys:"esc",label:"cancel"},{keys:"ctrl+c",label:"quit"}]}),null),yA((s)=>{var t=Q6.bg,b=Q6.fgDim;return t!==s.e&&(s.e=I(D,"backgroundColor",t,s.e)),b!==s.t&&(s.t=I(o,"fg",b,s.t)),s},{e:void 0,t:void 0}),D})()}var D_0;var B2u=k(async()=>{U6();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),E_0()]);D_0=["label","url","username","password"]});var E2u={};fA(E2u,{runBootWizard:()=>mp7});import zI2 from"path";import Cp7 from"fs/promises";import{homedir as M2u}from"os";function L2u(A){let u=M2u();return A.startsWith(u)?"~"+A.slice(u.length):A}function fp7(A){return q4((u)=>{if(A.busy){if(u.ctrl&&u.name==="c")A.onQuit();return}if(u.name==="up"||u.name==="k")A.onMove(-1);else if(u.name==="down"||u.name==="j")A.onMove(1);else if(u.name==="return")A.onPick(A.selected);else if(u.name==="n"||u.name==="l")A.onCreateLocal();else if(u.name==="r")A.onCreateRemote();else if(u.name==="d"||u.name==="delete")A.onDelete(A.selected);else if(u.name==="u")A.onUpdate(A.selected);else if(u.name==="q"||u.ctrl&&u.name==="c")A.onQuit()}),(()=>{var u=QA("box"),q=QA("box"),F=QA("box");return UA(u,q),UA(u,F),I(u,"flexDirection","column"),I(u,"flexGrow",1),BA(u,JA(V1A,{instance:"setup",get cwd(){return L2u(process.cwd())},status:"ready"}),q),BA(u,JA(Z1A,{children:"SELECT A SERVER"}),q),BA(u,JA(R0,{get when(){return A.instances.length===0},get children(){var G=QA("box"),w=QA("text"),Q=QA("text"),g=QA("text"),j=QA("text"),K=QA("text");return UA(G,w),UA(G,Q),UA(G,g),UA(G,j),UA(G,K),I(G,"marginTop",1),I(G,"paddingX",2),I(G,"flexDirection","row"),UA(w,aA("No saved instances. Press ")),UA(Q,aA("n")),UA(g,aA(" for a local one or ")),UA(j,aA("r")),UA(K,aA(" for a remote one.")),yA((U)=>{var _=Q6.fgMuted,O=Q6.accent,W=Q6.fgMuted,X=Q6.accent,Y=Q6.fgMuted;return _!==U.e&&(U.e=I(w,"fg",_,U.e)),O!==U.t&&(U.t=I(Q,"fg",O,U.t)),W!==U.a&&(U.a=I(g,"fg",W,U.a)),X!==U.o&&(U.o=I(j,"fg",X,U.o)),Y!==U.i&&(U.i=I(K,"fg",Y,U.i)),U},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),G}}),q),I(q,"flexDirection","column"),I(q,"marginTop",1),I(q,"paddingX",2),BA(q,JA(W5,{get each(){return A.instances},children:(G,w)=>{let Q=bA(()=>w()===A.selected),g=G.url.startsWith("local://")||!!G.local;return(()=>{var j=QA("box"),K=QA("box"),U=QA("text"),_=QA("text"),O=QA("text"),W=QA("text");return UA(j,K),I(j,"flexDirection","column"),UA(K,U),UA(K,_),UA(K,O),UA(K,W),I(K,"flexDirection","row"),BA(U,()=>Q()?"\u258D":" "),BA(_,` ${g?"local ":"remote"} `),BA(O,()=>G.label??G.id),BA(W,()=>` ${G.url}`),BA(j,JA(R0,{get when(){return Q()},get children(){var X=QA("box"),Y=QA("text");return UA(X,Y),I(X,"flexDirection","row"),I(X,"paddingLeft",4),BA(Y,()=>g?`binary ${G.local?.binaryVersion||"auto"} \xB7 pick a directory next`:`runs on ${new URL(G.url).host} \xB7 uses server cwd`),yA(($)=>I(Y,"fg",Q6.fgDim,$)),X}}),null),yA((X)=>{var Y=Q()?Q6.accent:Q6.divider,$=g?Q6.success:Q6.info,V=Q()?Q6.accent:Q6.fgMuted,H=Q()?E6.BOLD:0,Z=Q6.fgDim;return Y!==X.e&&(X.e=I(U,"fg",Y,X.e)),$!==X.t&&(X.t=I(_,"fg",$,X.t)),V!==X.a&&(X.a=I(O,"fg",V,X.a)),H!==X.o&&(X.o=I(O,"attributes",H,X.o)),Z!==X.i&&(X.i=I(W,"fg",Z,X.i)),X},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),j})()}})),BA(u,JA(R0,{get when(){return A.notice},get children(){var G=QA("box"),w=QA("text"),Q=QA("text");return UA(G,w),UA(G,Q),I(G,"marginTop",1),I(G,"paddingX",2),I(G,"flexDirection","row"),BA(w,(()=>{var g=v2(()=>A.notice.variant==="success");return()=>g()?"\u2713 ":v2(()=>A.notice.variant==="error")()?"\u2717 ":A.notice.variant==="warn"?"! ":"i "})()),BA(Q,()=>A.notice.message),yA((g)=>{var j=A.notice.variant==="success"?Q6.success:A.notice.variant==="error"?Q6.warn:A.notice.variant==="warn"?Q6.warn:Q6.info,K=Q6.fg;return j!==g.e&&(g.e=I(w,"fg",j,g.e)),K!==g.t&&(g.t=I(Q,"fg",K,g.t)),g},{e:void 0,t:void 0}),G}}),F),BA(u,JA(R0,{get when(){return A.busy},get children(){var G=QA("box"),w=QA("text"),Q=QA("text");return UA(G,w),UA(G,Q),I(G,"marginTop",1),I(G,"paddingX",2),I(G,"flexDirection","row"),UA(w,aA("\u27F3 ")),BA(Q,()=>A.busy.message),BA(G,JA(R0,{get when(){return typeof A.busy.percent==="number"},get children(){var g=QA("text");return BA(g,()=>` ${Math.round(A.busy.percent??0)}%`),yA((j)=>I(g,"fg",Q6.fgDim,j)),g}}),null),yA((g)=>{var j=Q6.accent,K=Q6.fg;return j!==g.e&&(g.e=I(w,"fg",j,g.e)),K!==g.t&&(g.t=I(Q,"fg",K,g.t)),g},{e:void 0,t:void 0}),G}}),F),I(F,"flexGrow",1),BA(u,JA($1A,{hints:[{keys:"\u21B5",label:"open"},{keys:"u",label:"update"},{keys:"n",label:"new local"},{keys:"r",label:"new remote"},{keys:"d",label:"delete"},{keys:"\u2191\u2193",label:"navigate"},{keys:"q",label:"quit"}]}),null),yA((G)=>I(u,"backgroundColor",Q6.bg,G)),u})()}async function hp7(A){try{let q=(await Cp7.readdir(A,{withFileTypes:!0})).filter((F)=>!F.name.startsWith(".")||F.name===".codeplane").map((F)=>({name:F.name,isDir:F.isDirectory()||F.isSymbolicLink()}));return q.sort((F,G)=>{if(F.isDir!==G.isDir)return F.isDir?-1:1;return F.name.localeCompare(G.name)}),q}catch{return[]}}function bp7(A){let[u,q]=j2(zI2.resolve(A.initialDirectory)),[F,G]=j2([]),[w,Q]=j2(0),[g,j]=j2(""),[K,U]=j2(0),[_]=j2(void 0),O=14,W=async(N)=>{let B=await hp7(N);Y7(()=>{q(N),G(B),Q(0),U(0)})};W(u());let X=bA(()=>{let N=g().toLowerCase(),B=F();if(!N)return B;return B.filter((z)=>z.name.toLowerCase().includes(N))}),Y=bA(()=>X().slice(K(),K()+14)),$=(N)=>{let B=X();if(B.length===0)return;let z=w()+N;if(z<0)z=0;if(z>B.length-1)z=B.length-1;if(Q(z),z<K())U(z);else if(z>=K()+14)U(z-14+1)},V=async()=>{let B=X()[w()];if(!B||!B.isDir)return;let z=zI2.join(u(),B.name);j(""),await W(z)},H=async()=>{let N=zI2.dirname(u());if(N===u())return;j(""),await W(N)},Z=async()=>{j(""),await W(M2u())};return q4((N)=>{if(N.name==="escape"){if(g())j("");else A.onBack();return}if(N.ctrl&&N.name==="c")return A.onQuit();if(N.name==="up")return $(-1);if(N.name==="down")return $(1);if(N.name==="pageup")return $(-14);if(N.name==="pagedown")return $(14);if(N.name==="home"&&!N.ctrl){Q(0),U(0);return}if(N.name==="end"){let B=X().length-1;Q(Math.max(0,B)),U(Math.max(0,B-14+1));return}if(N.name==="right")return void V();if(N.name==="left")return void H();if(N.name==="return"){let z=X()[w()];if(g()&&z?.isDir)return void V();A.onConfirm(u());return}if(N.ctrl&&N.name==="h")return void Z();if(N.ctrl&&(N.name==="u"||N.name==="w")){j("");return}if(N.name==="backspace"){if(g())j(g().slice(0,-1));else H();return}if(N.sequence&&!N.ctrl&&!N.meta&&N.sequence.length===1){let B=N.sequence;if(B.charCodeAt(0)>=32)j(g()+B),Q(0),U(0)}}),(()=>{var N=QA("box"),B=QA("box"),z=QA("text"),M=QA("text"),L=QA("text"),x=QA("box"),P=QA("text"),D=QA("text"),C=QA("text"),y=aA(" "),S=QA("text"),f=QA("box"),r=QA("text"),l=QA("box"),o=QA("box");return UA(N,B),UA(N,x),UA(N,f),UA(N,l),UA(N,o),I(N,"flexDirection","column"),I(N,"flexGrow",1),BA(N,JA(V1A,{get instance(){return A.instance.label??A.instance.id},get cwd(){return L2u(u())},status:"connected"}),B),BA(N,JA(Z1A,{children:"WHERE TO WORK"}),B),UA(B,z),UA(B,M),UA(B,L),I(B,"marginTop",1),I(B,"paddingX",2),UA(z,aA("Pick a working directory for ")),BA(M,()=>A.instance.label??A.instance.id),UA(L,aA(".")),UA(x,P),UA(x,D),UA(x,C),UA(x,S),I(x,"marginTop",1),I(x,"flexDirection","row"),I(x,"paddingX",2),UA(P,aA("search ")),UA(D,aA("\u203A")),UA(C,y),BA(C,()=>g()||" ",null),UA(S,aA("\u258E")),UA(f,r),I(f,"marginTop",1),I(f,"flexDirection","row"),I(f,"paddingX",2),UA(r,aA("\u2191\u2193 select \xB7 \u2192 enter dir \xB7 \u2190 up \xB7 \u21B5 open here")),I(l,"flexDirection","column"),I(l,"marginTop",1),I(l,"paddingX",2),BA(l,JA(R0,{get when(){return X().length===0},get children(){var a=QA("text");return BA(a,(()=>{var n=v2(()=>!!g());return()=>n()?`No matches for "${g()}".`:"Empty directory."})()),yA((n)=>I(a,"fg",Q6.fgMuted,n)),a}}),null),BA(l,JA(W5,{get each(){return Y()},children:(a,n)=>{let s=bA(()=>K()+n()),t=bA(()=>s()===w());return(()=>{var b=QA("box"),p=QA("text"),KA=QA("text"),d=QA("text");return UA(b,p),UA(b,KA),UA(b,d),I(b,"flexDirection","row"),BA(p,()=>t()?"\u258D":" "),BA(KA,()=>` ${a.isDir?"\uD83D\uDCC1":"\uD83D\uDCC4"} `),BA(d,()=>a.name),BA(b,JA(R0,{get when(){return a.isDir},get children(){var GA=QA("text");return UA(GA,aA("/")),yA((OA)=>I(GA,"fg",Q6.fgDim,OA)),GA}}),null),yA((GA)=>{var OA=t()?Q6.accent:Q6.divider,v=a.isDir?Q6.accent:Q6.fgDim,c=t()?Q6.accent:a.isDir?Q6.fg:Q6.fgMuted,uA=t()?E6.BOLD:0;return OA!==GA.e&&(GA.e=I(p,"fg",OA,GA.e)),v!==GA.t&&(GA.t=I(KA,"fg",v,GA.t)),c!==GA.a&&(GA.a=I(d,"fg",c,GA.a)),uA!==GA.o&&(GA.o=I(d,"attributes",uA,GA.o)),GA},{e:void 0,t:void 0,a:void 0,o:void 0}),b})()}}),null),BA(l,JA(R0,{get when(){return X().length>14},get children(){var a=QA("box"),n=QA("text"),s=aA("showing "),t=aA("\u2013"),b=aA(" of ");return UA(a,n),I(a,"marginTop",1),UA(n,s),UA(n,t),UA(n,b),BA(n,()=>K()+1,t),BA(n,()=>Math.min(K()+14,X().length),b),BA(n,()=>X().length,null),yA((p)=>I(n,"fg",Q6.fgDim,p)),a}}),null),BA(N,JA(R0,{get when(){return _()},get children(){var a=QA("box"),n=QA("text");return UA(a,n),I(a,"marginTop",1),I(a,"paddingX",2),BA(n,_),yA((s)=>I(n,"fg",Q6.warn,s)),a}}),o),I(o,"flexGrow",1),BA(N,JA($1A,{get hints(){return[{keys:"\u21B5",label:g()?"drill in / open here":"open here"},{keys:"\u2192",label:"enter dir"},{keys:"\u2190/\u232B",label:"up"},{keys:"ctrl+h",label:"home"},{keys:"esc",label:g()?"clear":"back"},{keys:"ctrl+c",label:"quit"}]}}),null),yA((a)=>{var n=Q6.bg,s=Q6.fg,t=Q6.accent,b=E6.BOLD,p=Q6.fg,KA=Q6.fgMuted,d=Q6.divider,GA=Q6.accent,OA=Q6.fg,v=Q6.fgDim;return n!==a.e&&(a.e=I(N,"backgroundColor",n,a.e)),s!==a.t&&(a.t=I(z,"fg",s,a.t)),t!==a.a&&(a.a=I(M,"fg",t,a.a)),b!==a.o&&(a.o=I(M,"attributes",b,a.o)),p!==a.i&&(a.i=I(L,"fg",p,a.i)),KA!==a.n&&(a.n=I(P,"fg",KA,a.n)),d!==a.s&&(a.s=I(D,"fg",d,a.s)),GA!==a.h&&(a.h=I(C,"fg",GA,a.h)),OA!==a.r&&(a.r=I(S,"fg",OA,a.r)),v!==a.d&&(a.d=I(r,"fg",v,a.d)),a},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),N})()}async function mp7(A){let u=await xR({targetFps:30}),q=!1,F,G=new Promise((H)=>{F=H}),w=async(H)=>{if(q)return;q=!0;try{u.destroy()}catch{}await new Promise((Z)=>setTimeout(Z,30)),F(H)},[Q,g]=j2(A.instances.slice()),[j,K]=j2("instance"),[U,_]=j2(0),[O]=j2(A.defaultDirectory??process.cwd()),[W,X]=j2(void 0),[Y,$]=j2(void 0),V=(H)=>{let Z=[...Q(),H];g(Z),_(Z.length-1),K("instance")};return await rKA(()=>JA(R0,{get when(){return j()==="instance"},get fallback(){return JA(R0,{get when(){return j()==="create-local"},get fallback(){return JA(R0,{get when(){return j()==="create-remote"},get fallback(){return JA(bp7,{get instance(){return Q()[U()]},get initialDirectory(){return O()},onConfirm:(H)=>void w({instance:Q()[U()],directory:H}),onBack:()=>K("instance"),onQuit:()=>void w(null)})},get children(){return JA(N2u,{get service(){return A.service},get takenIds(){return new Set(Q().map((H)=>H.id))},onDone:(H)=>{if("cancel"in H){K("instance");return}V(H.instance)}})}})},get children(){return JA(V2u,{get service(){return A.service},get takenIds(){return new Set(Q().map((H)=>H.id))},onDone:(H)=>{if("cancel"in H){K("instance");return}V(H.instance)}})}})},get children(){return JA(fp7,{get instances(){return Q()},get selected(){return U()},get busy(){return W()},get notice(){return Y()},onMove:(H)=>{let Z=Q().length;if(Z===0)return;let N=((U()+H)%Z+Z)%Z;_(N),$(void 0)},onPick:()=>{let H=Q()[U()];if(!H)return;if(H.url.startsWith("local://")||!!H.local)K("directory");else w({instance:H})},onCreateLocal:()=>K("create-local"),onCreateRemote:()=>K("create-remote"),onDelete:async(H)=>{let Z=Q()[H];if(!Z)return;try{await A.service.remove(Z.id);let N=Q().filter((B,z)=>z!==H);g(N),_(Math.min(H,N.length-1))}catch{}},onUpdate:async(H)=>{let Z=Q()[H];if(!Z)return;$(void 0),X({message:"Starting update\u2026"});try{let N=await A.service.updateInstance(Z,(z)=>{X({message:z.message,percent:z.phase==="downloading"?z.percent:void 0})}),B=await A.service.list();switch(g(B),N.kind){case"updated-local":$({variant:"success",message:`${N.label??Z.id}: v${N.from||"?"} \u2192 v${N.to}.`});break;case"already-latest":$({variant:"info",message:`${N.label??Z.id} is already on v${N.version}.`});break;case"remote-current":$({variant:"info",message:`${N.label??Z.id} server is on v${N.version??"?"}.`});break;case"remote-update-available":$({variant:"warn",message:`${N.label??Z.id} server v${N.current??"?"} \u2192 v${N.latest} available. Open the instance to apply.`});break;case"remote-unreachable":$({variant:"error",message:`${N.label??Z.id}: ${N.message}`});break;case"error":$({variant:"error",message:`${N.label??Z.id}: ${N.message}`});break}}catch(N){$({variant:"error",message:N instanceof Error?N.message:String(N)})}finally{X(void 0)}},onQuit:()=>void w(null)})}}),u),s5(()=>{try{u.destroy()}catch{}}),G}var z2u=k(async()=>{U6();await Z0([TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),TA(),Mq(),E_0(),Z2u(),B2u()])});import xI2 from"fs/promises";import yp7 from"path";async function Td(A){return xI2.readFile(A,"utf8").then((u)=>JSON.parse(u)).then((u)=>({instances:Array.isArray(u.instances)?u.instances:[],lastInstanceID:u.lastInstanceID})).catch(()=>({instances:[]}))}async function ikA(A,u){await xI2.mkdir(yp7.dirname(A),{recursive:!0}),await xI2.writeFile(A,`${JSON.stringify(u,null,2)}
|
|
5279
5279
|
`)}function x2u(A){let u=()=>Td(A),q=()=>Td(A).then((K)=>K.instances),F=()=>Td(A).then((K)=>K.lastInstanceID);async function G(K){let U={instances:Array.isArray(K.instances)?K.instances:[],lastInstanceID:K.lastInstanceID};return await ikA(A,U),U}async function w(K){let U=await Td(A),_=U.instances.findIndex((W)=>W.id===K.id),O=_===-1?[...U.instances,K]:U.instances.map((W,X)=>X===_?K:W);return await ikA(A,{instances:O,lastInstanceID:K.id}),O}async function Q(K){let U=await Td(A),_=U.instances.filter((O)=>O.id!==K);return await ikA(A,{instances:_,lastInstanceID:U.lastInstanceID===K?_[0]?.id:U.lastInstanceID}),_}async function g(K){let U=await Td(A);return await ikA(A,{instances:U.instances,lastInstanceID:K}),K}async function j(K){let U=await Td(A);if(U.instances.length>0||U.lastInstanceID)return U;if(K===A)return U;let _=await Td(K);if(_.instances.length===0&&!_.lastInstanceID)return U;return await ikA(A,_),_}return{file:A,getLast:F,getState:u,list:q,migrate:j,remove:Q,replace:G,save:w,setLast:g}}var R2u=()=>{};var D2u={};fA(D2u,{wsUrlForInstance:()=>vp7,normalizeInstanceUrl:()=>N1A,headersForInstance:()=>P_0,createInstanceClient:()=>cjA});function N1A(A){let u=A.trim();if(!u)return;return(/^[a-z]+:\/\//i.test(u)?u:`http://${u}`).replace(/\/+$/,"")}function P_0(A){return{...A.headers??{}}}function cjA(A){let u=N1A(A.instance.url);if(!u)throw Error(`Invalid instance URL: ${A.instance.url}`);return Ql({baseUrl:u,directory:A.directory,headers:P_0(A.instance),signal:A.signal,throwOnError:A.throwOnError??!0})}function vp7(A,u){let q=N1A(A.url);if(!q)throw Error(`Invalid instance URL: ${A.url}`);let F=new URL(u.replace(/^\/+/,""),`${q}/`);return F.protocol=F.protocol==="https:"?"wss:":"ws:",F.toString()}var RI2=k(()=>{UrA()});import{spawn as P2u}from"child_process";import Am from"fs/promises";import T2u from"os";import bU from"path";function PI2(A){for(let u of lp7){let q=u.exec(A);if(!q)continue;let F=Number.parseInt(q[1]??"",10);if(Number.isFinite(F)&&F>0)return F}}function ip7(){let A=new Map;return async function(q,F){let w=(A.get(q)??Promise.resolve()).catch(()=>{return}).then(F);A.set(q,w.catch(()=>{return}));try{return await w}finally{let Q=A.get(q);if(Q===w||Q===w.catch(()=>{return}))A.delete(q)}}}function TI2(A){let u=(M,L)=>A.log?.(M,L),q=ijA(),F=new Map,G=ip7(),w=(M)=>bU.join(A.binariesDir,M),Q=(M)=>bU.join(w(M),"bin",q.binaryName),g=(M)=>z_0(w(M),q.binaryName),j=(M)=>bU.join(A.dataDir,M),K=(M)=>bU.join(j(M),"config");async function U(M){return!!await g(M)}async function _(M){let L=await x_0(),x=await g(M);return{archive:q.archiveName,binaryPath:x??Q(M),binaryVersion:M,installed:!!x,cliInstalled:L.cliInstalled,cliPath:L.cliPath}}async function O(M,L){let x=await x_0();if(x.cliInstalled&&x.cliVersion===M)return x;return W2u({version:M,binaryPath:L})}async function W(M,L){return G(`download:${M}`,async()=>{u("local.download.start",{archive:q.archiveName,version:M});let x=Date.now(),P=w(M),D=await g(M);if(D)return u("local.download.cached",{binary:D,version:M}),await O(M,D),L?.({version:M,phase:"ready",message:`Codeplane ${M} is already installed locally.`,percent:100,binaryVersion:M}),_(M);await $2u({version:M,directory:P,progress:(y)=>L?.(y)});let C=await g(M);if(!C)throw Error(`Codeplane ${M} download finished but binary was not found in ${P}`);return await O(M,C),u("local.download.success",{binary:C,durationMs:Date.now()-x,packageName:q.packageName,version:M}),_(M)})}async function X(M,L){return G(`start:${M.id}`,async()=>{let x=F.get(M.id);if(x)return{id:M.id,binaryVersion:x.binaryVersion,port:x.port,url:x.url};let P=await g(M.binaryVersion);if(!P){u("local.start.auto-download",{version:M.binaryVersion});try{await W(M.binaryVersion,(l)=>L?.(l))}catch(l){throw Error(`Codeplane ${M.binaryVersion} could not be installed: ${l instanceof Error?l.message:String(l)}`,{cause:l})}if(P=await g(M.binaryVersion),!P)throw Error(`Codeplane ${M.binaryVersion} download finished but binary was not found`)}if(q.os!=="windows")await Am.chmod(P,493).catch(()=>{return});await O(M.binaryVersion,P);let D=j(M.id),C=K(M.id);await Promise.all([Am.mkdir(bU.join(D,"data"),{recursive:!0}),Am.mkdir(C,{recursive:!0}),Am.mkdir(bU.join(D,"cache"),{recursive:!0}),Am.mkdir(bU.join(D,"state"),{recursive:!0}),Am.mkdir(bU.join(D,"bin"),{recursive:!0}),Am.mkdir(bU.join(D,"log"),{recursive:!0})]);let y={...process.env,CODEPLANE_HOME_DIR:C,CODEPLANE_DATA_DIR:bU.join(D,"data"),CODEPLANE_CACHE_DIR:bU.join(D,"cache"),CODEPLANE_STATE_DIR:bU.join(D,"state"),CODEPLANE_BIN_DIR:bU.join(D,"bin"),CODEPLANE_LOG_DIR:bU.join(D,"log"),XDG_DATA_HOME:bU.join(D,"data"),XDG_CONFIG_HOME:bU.join(D,"config"),XDG_CACHE_HOME:bU.join(D,"cache"),XDG_STATE_HOME:bU.join(D,"state"),HOME:process.env.HOME??T2u.homedir()};if(A.desktopManaged===!1)delete y.CODEPLANE_DESKTOP_MANAGED;else if(A.desktopManaged)y.CODEPLANE_DESKTOP_MANAGED="1";y.CODEPLANE_MANAGED_BY=A.desktopManaged?"desktop":"tui";let S=process.env.HOME?.trim()||process.env.USERPROFILE?.trim()||T2u.homedir();u("local.start",{binary:P,cwd:S,data:D,id:M.id});let f=P2u(P,["serve","--hostname","127.0.0.1","--port","0"],{cwd:S,env:y,stdio:["ignore","pipe","pipe"],windowsHide:!0}),r=()=>new Promise((l)=>{if(f.exitCode!==null||f.killed){F.delete(M.id),l();return}let o=()=>{F.delete(M.id),l()};f.once("exit",o);try{if(process.platform==="win32"){P2u("taskkill",["/pid",String(f.pid),"/t","/f"],{stdio:"ignore"}).on("exit",()=>{return});return}f.kill("SIGTERM"),setTimeout(()=>{if(f.exitCode===null&&!f.killed)f.kill("SIGKILL")},tp7).unref()}catch(a){u("local.stop.error",{error:a,id:M.id}),o()}});return L?.({version:M.binaryVersion,phase:"start",message:`Starting local Codeplane ${M.binaryVersion}\u2026`,percent:96,binaryVersion:M.binaryVersion}),new Promise((l,o)=>{let a=!1,n=[],s=[],t=(p)=>{if(a)return;a=!0,clearTimeout(b),r().finally(()=>o(Error(p)))},b=setTimeout(()=>{if(a)return;let p=s.join("").trim()||n.join("").trim();u("local.start.timeout",{id:M.id,stderr:s.join(""),stdout:n.join("")}),t(p?`Local Codeplane server did not start within ${DI2/1000}s: ${p}`:`Local Codeplane server did not start within ${DI2/1000}s`)},DI2);b.unref(),f.stdout?.on("data",(p)=>{let KA=p.toString("utf8");if(n.push(KA),u("local.stdout",{id:M.id,line:KA.trim()}),a)return;let d=PI2(KA)??PI2(n.join(""));if(d===void 0)return;a=!0,clearTimeout(b);let GA=`http://127.0.0.1:${d}`,OA={binaryVersion:M.binaryVersion,child:f,port:d,startedAt:Date.now(),stop:r,url:GA};F.set(M.id,OA),u("local.start.ready",{id:M.id,port:d,url:GA}),L?.({version:M.binaryVersion,phase:"ready",message:`Local Codeplane ${M.binaryVersion} is listening on ${GA}.`,percent:100,binaryVersion:M.binaryVersion}),l({id:M.id,binaryVersion:M.binaryVersion,port:d,url:GA})}),f.stderr?.on("data",(p)=>{let KA=p.toString("utf8");s.push(KA),u("local.stderr",{id:M.id,line:KA.trim()})}),f.on("error",(p)=>{if(a)return;a=!0,clearTimeout(b),u("local.start.error",{error:p,id:M.id}),o(p)}),f.on("exit",(p,KA)=>{if(F.delete(M.id),a){u("local.exit",{code:p,id:M.id,signal:KA});return}let d=s.join("").trim(),GA=n.join("").trim(),OA=d||GA;u("local.start.exit",{code:p,id:M.id,signal:KA,stderr:d}),t(OA?`Local Codeplane (${P}) exited with code ${p??KA??"unknown"}: ${OA}`:`Local Codeplane (${P}) exited with code ${p??KA??"unknown"}`)})})})}async function Y(M){let L=F.get(M);if(!L)return;u("local.stop",{id:M}),await L.stop()}async function $(){u("local.stopAll",{count:F.size}),await Promise.all([...F.values()].map((M)=>M.stop()))}function V(M){return F.has(M)}function H(M){let L=F.get(M);if(!L)return;return{id:M,binaryVersion:L.binaryVersion,port:L.port,url:L.url}}function Z(){return[...F.entries()].map(([M,L])=>({id:M,binaryVersion:L.binaryVersion,port:L.port,url:L.url}))}async function N(M,L){return await Y(M.id),X(M,L)}async function B(M){u("local.uninstall",{version:M}),await Am.rm(w(M),{force:!0,recursive:!0})}async function z(M){u("local.remove-data",{id:M}),await Am.rm(j(M),{force:!0,recursive:!0})}return{download:W,getRunning:H,isInstalled:U,isRunning:V,listRunning:Z,removeData:z,resolveTarget:async()=>q,restart:N,start:X,status:_,stop:Y,stopAll:$,target:q,uninstall:B}}var lp7,DI2=30000,tp7;var I2u=k(()=>{tkA();lp7=[/listening on https?:\/\/[^:\s]+:(\d+)/i,/listening at https?:\/\/[^:\s]+:(\d+)/i,/server (?:started|ready) (?:on|at) https?:\/\/[^:\s]+:(\d+)/i],tp7=Number(process.env.CODEPLANE_LOCAL_SHUTDOWN_GRACE_MS)||4000});var k2u=k(()=>{I2u();tkA()});var S2u={};fA(S2u,{createInstanceService:()=>np7,TUIAuthRequiredError:()=>SI2});import II2 from"fs/promises";import kI2 from"path";function dp7(A,u){let q=u.phase==="detect"||u.phase==="download"?"download":u.phase==="extract"?"finalize":u.phase==="start"?"probe":u.phase==="ready"?"done":"download";return{instanceID:A,phase:q,message:u.message,percent:u.percent,version:u.binaryVersion,completed:u.transferred,total:u.total}}function np7(){let A=SV.paths(),u=x2u(A.instances),q=TI2({binariesDir:A.local_server_binaries,configDir:A.root,dataDir:A.local_server,desktopManaged:!1}),F=!1;async function G(){if(F)return;F=!0,await u.migrate(kI2.join(SV.legacyPaths().state,"tui-instances.json")),await w()}async function w(){try{let V=kI2.join(A.globalRoot,"instances"),H=await II2.readdir(V,{withFileTypes:!0}).catch(()=>[]),Z=[],N=[];for(let L of H){if(!L.isDirectory())continue;let x=kI2.join(V,L.name,"instances.json"),P=await II2.readFile(x,"utf8").catch(()=>{return});if(P===void 0)continue;try{let D=JSON.parse(P);if(Array.isArray(D.instances)){for(let C of D.instances)N.push(C);Z.push(x)}}catch{}}if(N.length===0)return;let B=await u.list(),z=new Set(B.map((L)=>L.id)),M=0;for(let L of N){if(z.has(L.id))continue;await u.save({...L,url:N1A(L.url)??L.url}),z.add(L.id),M+=1}for(let L of Z)await II2.unlink(L).catch(()=>{return});if(M>0)process.stderr.write(`[codeplane] Migrated ${M} stranded instance(s) into the shared registry.
|
|
5280
|
-
`)}catch{}}async function Q(){return await G(),u.list()}async function g(V){return await G(),u.save({...V,url:N1A(V.url)??V.url})}async function j(V){return await G(),await q.stop(V).catch(()=>{return}),u.remove(V)}async function K(V){let H=typeof V==="string"?{id:`probe:${Date.now()}`,url:V}:V,Z=N1A(H.url);if(!Z)return{ok:!1,error:`Invalid instance URL: ${H.url}`};let N=new Headers(P_0(H));if(Z.includes("@")){let B=new URL(Z);if(B.username||B.password)N.set("Authorization",`Basic ${cp7(`${B.username}:${B.password}`)}`),B.username="",B.password=""}return fetch(new URL("/global/version",`${Z}/`),{headers:N,redirect:"follow"}).then(async(B)=>{let z=B.headers.get("content-type")?.includes("json")?await B.json().catch(()=>({})):{};if(!B.ok)return{ok:!1,status:B.status,error:`HTTP ${B.status}`};return{ok:!0,status:B.status,version:typeof z.current==="string"?z.current:void 0,latest:typeof z.latest==="string"?z.latest:void 0}}).catch((B)=>({ok:!1,error:B instanceof Error?B.message:String(B)}))}async function U(V,H){if(!V.local)return V;let Z=V.local.binaryVersion||await lkA(),N=(z)=>H?.(dp7(V.id,{...z,version:Z})),B=await q.start({id:V.id,binaryVersion:Z},N);return{...V,url:B.url,local:{binaryVersion:Z}}}async function _(V,H){await G(),H?.({instanceID:V.id,phase:"probe",message:"Resolving instance\u2026",percent:8});let Z=await U(V,H);if(H?.({instanceID:V.id,phase:"probe",message:"Checking server version\u2026",percent:20}),!Z.local){let L=await K(Z),x=()=>new SI2({authUrl:Z.url,instanceUrl:Z.url});if(!L.ok){let P=L.status;if(P===401||P===403)throw x();throw Error(L.error||`Could not reach ${Z.url}`)}if(!L.version)throw x();H?.({instanceID:V.id,phase:"finalize",message:`Opening Codeplane ${L.version}\u2026`,percent:60,version:L.version})}let N=cjA({instance:Z,throwOnError:!0}),B=(await N.global.version()).data?.current;if(!B)throw Error(`No version returned from ${Z.url}`);H?.({instanceID:V.id,phase:"finalize",message:`Opening Codeplane ${B}\u2026`,percent:88,version:B});let z=(await N.path.get()).data;if(!z)throw Error("No path info returned by server");let M=cjA({instance:Z,directory:z.directory,throwOnError:!0});return await u.setLast(V.id),H?.({instanceID:V.id,phase:"done",message:`Connected to Codeplane ${B}.`,percent:100,version:B}),{client:M,instance:V,live:Z,path:z,version:B}}async function O(V,H){let Z=await U(V),N=cjA({instance:Z,throwOnError:!0}),z=(await N.path.get({directory:H})).data;if(!z)throw Error(`Server did not resolve directory: ${H}`);let L=(await N.global.version()).data?.current??"";return{client:cjA({instance:Z,directory:z.directory,throwOnError:!0}),instance:V,live:Z,path:z,version:L}}async function W(){return{...await q.resolveTarget(),defaultVersion:await lkA()}}async function X(V){return q.status(V||await lkA())}async function Y(V,H){let Z=V||await lkA(),N=await q.download(Z,(B)=>H?.({version:Z,phase:B.phase,message:B.message,percent:B.percent,binaryVersion:B.binaryVersion,transferred:B.transferred,total:B.total}));return await X2u(Z),N}async function $(V,H,Z){let N=V.label??V.id;if(V.local){H?.({phase:"checking",message:"Checking npm for newer Codeplane\u2026"});let L=Z?.replace(/^v/,""),x=L??await R_0().catch(()=>{return});if(!x)return{kind:"error",message:"Could not reach the npm registry. Check your network and try again.",label:N};let P=V.local.binaryVersion||"";if(P&&!L){let C=B1A.default.coerce(P)?.version,y=B1A.default.coerce(x)?.version;if(C&&y&&!B1A.default.gt(y,C))return{kind:"already-latest",version:P,label:N}}H?.({phase:"downloading",message:`Downloading Codeplane v${x}\u2026`});try{await Y(x,(C)=>H?.({phase:"downloading",message:C.message??`Downloading v${x}\u2026`,percent:C.percent}))}catch(C){return{kind:"error",message:`Download failed: ${C instanceof Error?C.message:String(C)}`,label:N}}let D=await X(x);if(!D.installed)return{kind:"error",message:`Install of v${x} reported success but binary is missing on disk (expected at ${D.binaryPath||"unknown path"}). Saved binaryVersion was NOT updated. Re-try, or run \`codeplane upgrade ${x}\` from a shell.`,label:N};return H?.({phase:"saving",message:"Saving updated instance\u2026"}),await g({...V,local:{binaryVersion:x}}),H?.({phase:"done",message:`Updated ${N} to v${x}`}),{kind:"updated-local",from:P,to:x,label:N}}H?.({phase:"checking",message:"Probing remote server\u2026"});let B=await K(V);if(!B.ok)return{kind:"remote-unreachable",message:B.error||"Server is unreachable. Check the URL and credentials.",label:N};let z=B.version??void 0,M=B.latest??void 0;if(z&&M){let L=B1A.default.coerce(z)?.version,x=B1A.default.coerce(M)?.version;if(L&&x&&B1A.default.gt(x,L))return{kind:"remote-update-available",current:z,latest:M,label:N}}return{kind:"remote-current",version:z,label:N}}return{installLocal:Y,list:Q,localStatus:X,localTarget:W,open:_,reopen:O,probe:K,remove:j,save:g,setLast:u.setLast,updateInstance:$,stopAll:()=>q.stopAll(),store:u}}var B1A,SI2,cp7=(A)=>Buffer.from(A).toString("base64");var C2u=k(()=>{JJA();R2u();tkA();RI2();k2u();B1A=u2(Nw(),1);SI2=class SI2 extends Error{authUrl;instanceUrl;constructor(A){super(`Interactive sign-in is required for ${A.instanceUrl}`);this.name="TUIAuthRequiredError",this.authUrl=A.authUrl,this.instanceUrl=A.instanceUrl}}});await Mq();var{plugin:DI4}=globalThis.Bun;await Z0([kCA(),J6A()]);import{existsSync as D4u,readFileSync as nC2,realpathSync as P4u}from"fs";import{basename as xO0,dirname as bKA,isAbsolute as yC2,join as T4u}from"path";import{fileURLToPath as vC2}from"url";var pC2="@opentui/core",aC2="@opentui/core/testing",CCA="opentui:runtime-module:",I4u=64,lC2={nodeModulesRuntimeSpecifiers:!0,nodeModulesBareSpecifiers:!1},k4u=[pC2,aC2],S4u=new Set(k4u),DO0=(A)=>{return S4u.has(A)},C4u=async()=>{return await zO0().then(() => mC2)},rC2=(A)=>{return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},f4u=(A)=>{return new RegExp(`^${rC2(A)}$`)},h4u=(A)=>{let u=[...new Set(A.map(Lm))];return new RegExp(`^(?:${u.map(rC2).join("|")})(?:[?#].*)?$`)},mKA=(A)=>{return`${CCA}${encodeURIComponent(A)}`},b4u=async(A)=>{if(typeof A==="function")return await A();return A},Lm=(A)=>{let u=A.indexOf("?"),q=A.indexOf("#"),F=[u,q].filter((G)=>G>=0).sort((G,w)=>G-w)[0];return F===void 0?A:A.slice(0,F)},tC2=new Map,hKA=(A)=>{let u=Lm(A),q=tC2.get(u);if(q!==void 0)return q;let F=u;try{F=P4u(u)}catch{F=u}return tC2.set(u,F),F},RO0=(A)=>{return/(?:^|[/\\])node_modules(?:[/\\])/.test(A)},m4u=(A,u)=>{let q=bKA(A);while(!0){let F=T4u(q,"package.json");if(D4u(F)){let w=u.get(F);if(w)return w;let Q="commonjs";try{if(JSON.parse(nC2(F,"utf8")).type==="module")Q="module"}catch{Q="commonjs"}return u.set(F,Q),Q}let G=bKA(q);if(G===q)return"commonjs";q=G}},iC2=(A,u)=>{let q=hKA(A);if(!RO0(q))return!1;if(q.endsWith(".mjs")||q.endsWith(".mts")||q.endsWith(".ts")||q.endsWith(".tsx")||q.endsWith(".jsx"))return!0;if(q.endsWith(".cjs")||q.endsWith(".cts")||!q.endsWith(".js"))return!1;return m4u(q,u)==="module"},y4u=(A)=>{let u=bKA(A);while(!0){let q=bKA(u);if(q===u)return null;if(xO0(q)==="node_modules")return u;if(xO0(bKA(q))==="node_modules"&&xO0(q).startsWith("@"))return u;u=q}},v4u=(A)=>{return{nodeModulesRuntimeSpecifiers:A?.nodeModulesRuntimeSpecifiers??lC2.nodeModulesRuntimeSpecifiers,nodeModulesBareSpecifiers:A?.nodeModulesBareSpecifiers??lC2.nodeModulesBareSpecifiers}},cC2=(A)=>{let u=Lm(A);if(u.endsWith(".tsx"))return"tsx";if(u.endsWith(".jsx"))return"jsx";if(u.endsWith(".ts")||u.endsWith(".mts")||u.endsWith(".cts"))return"ts";if(u.endsWith(".js")||u.endsWith(".mjs")||u.endsWith(".cjs"))return"js";return null},oC2=[/(from\s+["'])([^"']+)(["'])/g,/(import\s+["'])([^"']+)(["'])/g,/(import\s*\(\s*["'])([^"']+)(["']\s*\))/g,/(require\s*\(\s*["'])([^"']+)(["']\s*\))/g],l4u=(A)=>{if(A.startsWith(".")||A.startsWith("/")||A.startsWith("\\"))return!1;if(A.startsWith("node:")||A.startsWith("bun:")||A.startsWith("http:")||A.startsWith("https:")||A.startsWith("file:")||A.startsWith("data:"))return!1;if(A.startsWith(CCA))return!1;return!0},t4u=(A,u)=>{let q=A.indexOf(u);if(q>=0)A.splice(q,1);if(A.push(u),A.length>I4u)A.shift()},sC2=(A,u)=>{let q=A;for(let F of oC2)q=q.replace(F,(G,w,Q,g)=>{let j=u(Q);if(!j||j===Q)return G;return`${w}${j}${g}`});return q},i4u=(A)=>{let u=new Set;for(let q of oC2)A.replace(q,(F,G,w)=>{return u.add(w),F});return[...u]},eC2=(A,u)=>{try{let q=import.meta.resolve(A,u);if(q===A||q.startsWith("node:")||q.startsWith("bun:"))return null;return q}catch{return null}},dC2=(A,u)=>{if(A.startsWith("node:")||A.startsWith("bun:")||A.startsWith("http:")||A.startsWith("https:")||A.startsWith("data:")||A.startsWith(CCA))return null;if(A.startsWith("file:"))return Lm(vC2(A));if(yC2(A))return Lm(A);let q=eC2(A,u);if(!q)return null;if(q.startsWith("file:"))return Lm(vC2(q));if(yC2(q))return Lm(q);return null},c4u=(A,u)=>{if(u.length===0)return A;return sC2(A,(F)=>{if(!l4u(F))return null;for(let G=u.length-1;G>=0;G-=1){let w=u[G],Q=eC2(F,w);if(Q)return Q}return null})},d4u=(A,u)=>{return sC2(A,(q)=>{return u.get(q)??null})};function PO0(A={}){let u=new Map;u.set(pC2,A.core??PJ0),u.set(aC2,C4u);let q=v4u(A.rewrite);for(let[G,w]of Object.entries(A.additional??{}))u.set(G,w);let F=new Map;for(let G of u.keys())F.set(G,mKA(G));return{name:"bun-plugin-opentui-runtime-modules",setup:(G)=>{let w=[],Q=new Set,g=new Set,j=new Map,K=new Map,U=new Map,_=(X)=>{let Y=Lm(X),$=hKA(Y);if(Q.has($))return;Q.add($),G.onLoad({filter:h4u([Y,$])},async(V)=>{let H=hKA(V.path);if(H!==$)return;let Z=RO0(H),N=!Z||q.nodeModulesRuntimeSpecifiers,B=!Z||q.nodeModulesBareSpecifiers,z=cC2(V.path);if(!z)throw Error(`Unable to determine runtime loader for path: ${V.path}`);let M=await Bun.file(H).text(),L=N?d4u(M,F):M;if(L!==M&&B)t4u(w,H);return{contents:B?c4u(L,w):L,loader:z}})},O=(X)=>{let Y=hKA(X),$=K.get(Y);if($)return $;let V=nC2(Y,"utf8"),H=i4u(V),Z={importSpecifiers:H,needsRuntimeSpecifierRewrite:H.some((N)=>F.has(N))};return K.set(Y,Z),Z},W=(X,Y=new Set)=>{let $=hKA(X);if(!iC2($,j))return[];let V=U.get($);if(V)return V;if(Y.has($))return[];Y.add($);let H=new Set,Z=O($);if(Z.needsRuntimeSpecifierRewrite)H.add($);for(let B of Z.importSpecifiers){let z=dC2(B,$);if(!z||!iC2(z,j))continue;for(let M of W(z,Y))H.add(M)}Y.delete($);let N=[...H];return U.set($,N),N};for(let[X,Y]of u.entries()){let $=F.get(X);if(!$)continue;G.module($,async()=>({exports:await b4u(Y),loader:"object"})),G.onResolve({filter:f4u(X)},()=>({path:$}))}G.onResolve({filter:/.*/},(X)=>{if(F.has(X.path)||X.path.startsWith(CCA))return;let Y=dC2(X.path,X.importer);if(!Y||!cC2(Y))return;if(!RO0(Y)){_(Y);return}if(!q.nodeModulesRuntimeSpecifiers&&!q.nodeModulesBareSpecifiers)return;for(let H of W(Y))_(H);let V=y4u(Y);if(q.nodeModulesBareSpecifiers&&V&&g.has(V)){_(Y);return}if(!q.nodeModulesRuntimeSpecifiers||!O(Y).needsRuntimeSpecifierRewrite)return;if(q.nodeModulesBareSpecifiers&&V)g.add(V);_(Y);return})}}}await Z0([kCA(),J6A()]);U6();yF();await TA();var Oq1=u2(Tg(),1),Wq1=u2(NH0(),1),Xq1=u2(Du1(),1),Yq1=u2(_q1(),1);var{plugin:zI4}=globalThis.Bun;var Jq1=Symbol.for("opentui.solid.transform"),$q1=()=>{let A=globalThis;return A[Jq1]??={installed:!1},A[Jq1]},xI4=()=>{return $q1().runtime??{}},rB0=(A)=>{let u=A.indexOf("?"),q=A.indexOf("#"),F=[u,q].filter((G)=>G>=0).sort((G,w)=>G-w)[0];return F===void 0?A:A.slice(0,F)},RI4=(A)=>{return A.moduleName!==void 0||A.resolvePath!==void 0};function Vq1(A={}){let u=$q1();if(RI4(A))u.runtime={moduleName:A.moduleName,resolvePath:A.resolvePath};if(u.installed)return!1;return zI4(Zq1()),u.installed=!0,!0}function Zq1(A={}){return{name:"bun-plugin-solid",setup:(u)=>{u.onLoad({filter:/[/\\]node_modules[/\\]solid-js[/\\]dist[/\\]server\.js(?:[?#].*)?$/},async(q)=>{let F=rB0(q.path).replace("server.js","solid.js");return{contents:await Bun.file(F).text(),loader:"js"}}),u.onLoad({filter:/[/\\]node_modules[/\\]solid-js[/\\]store[/\\]dist[/\\]server\.js(?:[?#].*)?$/},async(q)=>{let F=rB0(q.path).replace("server.js","store.js");return{contents:await Bun.file(F).text(),loader:"js"}}),u.onLoad({filter:/\.(js|ts)x(?:[?#].*)?$/},async(q)=>{let F=rB0(q.path),w=await Bun.file(F).text(),Q=xI4(),g=A.moduleName??Q.moduleName??"@opentui/solid",j=A.resolvePath??Q.resolvePath;return{contents:(await Oq1.transformAsync(w,{filename:F,configFile:!1,babelrc:!1,plugins:j?[[Xq1.default,{resolvePath(_){return j(_)??_}}]]:[],presets:[[Yq1.default,{moduleName:g,generate:"universal"}],[Wq1.default]]}))?.code??"",loader:"js"}})}}}var aF9=Zq1();var Hq1=Symbol.for("opentui.solid.runtime-plugin-support"),PI4={"@opentui/solid":YW0,"solid-js":nO0,"solid-js/store":oO0};function Nq1(A){return`${A?.nodeModulesRuntimeSpecifiers??!0}:${A?.nodeModulesBareSpecifiers??!1}`}function TI4(A){return{...PI4,...A?.additional??{}}}function II4(A,u,q){for(let F of Object.keys(u))if(!A.specifiers.has(F))throw Error(`OpenTUI Solid runtime plugin support is already installed without ${F}. Call ensureRuntimePluginSupport({ additional }) from @opentui/solid/runtime-plugin-support/configure before importing @opentui/solid/runtime-plugin-support.`);if(q?.core&&q.core!==A.core)throw Error("OpenTUI Solid runtime plugin support is already installed with a different core runtime module.");if(q?.rewrite&&Nq1(q.rewrite)!==A.rewriteKey)throw Error("OpenTUI Solid runtime plugin support is already installed with different rewrite options.")}function Bq1(A={}){let u=globalThis,q=TI4(A),F=A.core??LO0,G=Nq1(A.rewrite),w=u[Hq1];if(w)return II4(w,q,A),!1;return Vq1({moduleName:mKA("@opentui/solid"),resolvePath(Q){if(!DO0(Q)&&!q[Q])return null;return mKA(Q)}}),DI4(PO0({core:F,additional:q,rewrite:A.rewrite})),u[Hq1]={specifiers:new Set(Object.keys(q)),core:F,rewriteKey:G},!0}Bq1();await Np();await bc0({print:process.argv.includes("--print-logs"),level:process.env.CODEPLANE_LOG_LEVEL??"INFO"});var{tui:pp7}=await F2u().then(() => q2u),{TuiConfig:ap7}=await H60().then(() => je),{runBootWizard:rp7}=await z2u().then(() => E2u),{createInstanceService:op7}=await Promise.resolve().then(() => (C2u(),S2u)),{headersForInstance:sp7,normalizeInstanceUrl:ep7}=await Promise.resolve().then(() => (RI2(),D2u)),{localInstanceUrl:Aa7}=await Promise.resolve().then(() => w2u);function ua7(A){let u={};for(let q=0;q<A.length;q++){let F=A[q],G=A[q+1];if(F==="--instance")u.instance=G;if(F==="--route")u.route=G;if(F==="--dir"||F==="--directory")u.directory=G;if(F==="--session"||F==="-s")u.sessionID=G;if(F==="--continue"||F==="-c")u.continueSession=!0;if(F==="--fork")u.fork=!0}return u}function qa7(){return{id:"default",url:Aa7("default"),label:"Default local",local:{binaryVersion:""}}}async function Fa7(A){let u=qa7();return await A.save(u),u}async function Ga7(A,u){if(u.instance){let w=(await A.list()).find((Q)=>Q.id===u.instance);if(!w)throw Error(`Saved instance not found: ${u.instance}`);return{instance:w,directory:u.directory}}let q=await A.list();if(q.length===0)await Fa7(A),q=await A.list();let F=await rp7({service:A,instances:q,defaultDirectory:u.directory??process.cwd()});if(!F)return null;return{instance:F.instance,directory:F.directory}}async function wa7(A,u){let q=await Ga7(A,u);if(!q)return null;let F=await A.open(q.instance),G=ep7(F.live.url);if(!G)throw Error(`Resolved instance has invalid URL: ${F.live.url}`);return{url:G,headers:sp7(F.live)??{},directory:q.directory}}async function Qa7(){let A=op7(),u=!1,q=async()=>{if(u)return;u=!0,await A.stopAll().catch(()=>{return})};for(let F of["SIGTERM","SIGHUP","SIGINT"])process.once(F,()=>{q().finally(()=>process.exit(0))});try{let F=ua7(process.argv.slice(2)),G=await wa7(A,F);if(!G)await q(),process.exit(0);let w=await ap7.get(),Q={continue:F.continueSession,sessionID:F.sessionID,fork:F.fork};await pp7({url:G.url,config:w,args:Q,directory:G.directory,headers:G.headers})}finally{await q()}}function ga7(A){let u=A instanceof Error?A.message:String(A),q=u||"Unknown error",F=u.toLowerCase();if(F.includes("401")||F.includes("unauthorized"))return{kind:"auth-required",detail:q};if(F.includes("403")||F.includes("forbidden"))return{kind:"auth-required",detail:q};if(F.includes("fetch failed")||F.includes("econnrefused")||F.includes("ehostunreach")||F.includes("enotfound")||F.includes("etimedout")||F.includes("connection refused")||F.includes("network is unreachable")||F.includes("getaddrinfo")||F.includes("connect timeout"))return{kind:"unreachable",detail:q};return{kind:"unknown",detail:q}}Qa7().catch((A)=>{let u=ga7(A);if(u.kind==="unreachable")console.error(`
|
|
5280
|
+
`)}catch{}}async function Q(){return await G(),u.list()}async function g(V){return await G(),u.save({...V,url:N1A(V.url)??V.url})}async function j(V){return await G(),await q.stop(V).catch(()=>{return}),u.remove(V)}async function K(V){let H=typeof V==="string"?{id:`probe:${Date.now()}`,url:V}:V,Z=N1A(H.url);if(!Z)return{ok:!1,error:`Invalid instance URL: ${H.url}`};let N=new Headers(P_0(H));if(Z.includes("@")){let B=new URL(Z);if(B.username||B.password)N.set("Authorization",`Basic ${cp7(`${B.username}:${B.password}`)}`),B.username="",B.password=""}return fetch(new URL("/global/version",`${Z}/`),{headers:N,redirect:"follow"}).then(async(B)=>{let z=B.headers.get("content-type")?.includes("json")?await B.json().catch(()=>({})):{};if(!B.ok)return{ok:!1,status:B.status,error:`HTTP ${B.status}`};return{ok:!0,status:B.status,version:typeof z.current==="string"?z.current:void 0,latest:typeof z.latest==="string"?z.latest:void 0}}).catch((B)=>({ok:!1,error:B instanceof Error?B.message:String(B)}))}async function U(V,H){if(!V.local)return V;let Z=V.local.binaryVersion||await lkA(),N=(z)=>H?.(dp7(V.id,{...z,version:Z})),B=await q.start({id:V.id,binaryVersion:Z},N);return{...V,url:B.url,local:{binaryVersion:Z}}}async function _(V,H){await G(),H?.({instanceID:V.id,phase:"probe",message:"Resolving instance\u2026",percent:8});let Z=await U(V,H);if(H?.({instanceID:V.id,phase:"probe",message:"Checking server version\u2026",percent:20}),!Z.local){let L=await K(Z),x=()=>new SI2({authUrl:Z.url,instanceUrl:Z.url});if(!L.ok){let P=L.status;if(P===401||P===403)throw x();throw Error(L.error||`Could not reach ${Z.url}`)}if(!L.version)throw x();H?.({instanceID:V.id,phase:"finalize",message:`Opening Codeplane ${L.version}\u2026`,percent:60,version:L.version})}let N=cjA({instance:Z,throwOnError:!0}),B=(await N.global.version()).data?.current;if(!B)throw Error(`No version returned from ${Z.url}`);H?.({instanceID:V.id,phase:"finalize",message:`Opening Codeplane ${B}\u2026`,percent:88,version:B});let z=(await N.path.get()).data;if(!z)throw Error("No path info returned by server");let M=cjA({instance:Z,directory:z.directory,throwOnError:!0});return await u.setLast(V.id),H?.({instanceID:V.id,phase:"done",message:`Connected to Codeplane ${B}.`,percent:100,version:B}),{client:M,instance:V,live:Z,path:z,version:B}}async function O(V,H){let Z=await U(V),N=cjA({instance:Z,throwOnError:!0}),z=(await N.path.get({directory:H})).data;if(!z)throw Error(`Server did not resolve directory: ${H}`);let L=(await N.global.version()).data?.current??"";return{client:cjA({instance:Z,directory:z.directory,throwOnError:!0}),instance:V,live:Z,path:z,version:L}}async function W(){return{...await q.resolveTarget(),defaultVersion:await lkA()}}async function X(V){return q.status(V||await lkA())}async function Y(V,H){let Z=V||await lkA(),N=await q.download(Z,(B)=>H?.({version:Z,phase:B.phase,message:B.message,percent:B.percent,binaryVersion:B.binaryVersion,transferred:B.transferred,total:B.total}));return await X2u(Z),N}async function $(V,H,Z){let N=V.label??V.id;if(V.local){H?.({phase:"checking",message:"Checking npm for newer Codeplane\u2026"});let L=Z?.replace(/^v/,""),x=L??await R_0().catch(()=>{return});if(!x)return{kind:"error",message:"Could not reach the npm registry. Check your network and try again.",label:N};let P=V.local.binaryVersion||"";if(P&&!L){let C=B1A.default.coerce(P)?.version,y=B1A.default.coerce(x)?.version;if(C&&y&&!B1A.default.gt(y,C))return{kind:"already-latest",version:P,label:N}}H?.({phase:"downloading",message:`Downloading Codeplane v${x}\u2026`});try{await Y(x,(C)=>H?.({phase:"downloading",message:C.message??`Downloading v${x}\u2026`,percent:C.percent}))}catch(C){return{kind:"error",message:`Download failed: ${C instanceof Error?C.message:String(C)}`,label:N}}let D=await X(x);if(!D.installed)return{kind:"error",message:`Install of v${x} reported success but binary is missing on disk (expected at ${D.binaryPath||"unknown path"}). Saved binaryVersion was NOT updated. Re-try, or run \`codeplane upgrade ${x}\` from a shell.`,label:N};return H?.({phase:"saving",message:"Saving updated instance\u2026"}),await g({...V,local:{binaryVersion:x}}),H?.({phase:"done",message:`Updated ${N} to v${x}`}),{kind:"updated-local",from:P,to:x,label:N}}H?.({phase:"checking",message:"Probing remote server\u2026"});let B=await K(V);if(!B.ok)return{kind:"remote-unreachable",message:B.error||"Server is unreachable. Check the URL and credentials.",label:N};let z=B.version??void 0,M=B.latest??void 0;if(z&&M){let L=B1A.default.coerce(z)?.version,x=B1A.default.coerce(M)?.version;if(L&&x&&B1A.default.gt(x,L))return{kind:"remote-update-available",current:z,latest:M,label:N}}return{kind:"remote-current",version:z,label:N}}return{installLocal:Y,list:Q,localStatus:X,localTarget:W,open:_,reopen:O,probe:K,remove:j,save:g,setLast:u.setLast,updateInstance:$,stopAll:()=>q.stopAll(),store:u}}var B1A,SI2,cp7=(A)=>Buffer.from(A).toString("base64");var C2u=k(()=>{JJA();R2u();tkA();RI2();k2u();B1A=u2(Nw(),1);SI2=class SI2 extends Error{authUrl;instanceUrl;constructor(A){super(`Interactive sign-in is required for ${A.instanceUrl}`);this.name="TUIAuthRequiredError",this.authUrl=A.authUrl,this.instanceUrl=A.instanceUrl}}});await Mq();var{plugin:DI4}=globalThis.Bun;await Z0([kCA(),J6A()]);import{existsSync as D4u,readFileSync as nC2,realpathSync as P4u}from"fs";import{basename as xO0,dirname as bKA,isAbsolute as yC2,join as T4u}from"path";import{fileURLToPath as vC2}from"url";var pC2="@opentui/core",aC2="@opentui/core/testing",CCA="opentui:runtime-module:",I4u=64,lC2={nodeModulesRuntimeSpecifiers:!0,nodeModulesBareSpecifiers:!1},k4u=[pC2,aC2],S4u=new Set(k4u),DO0=(A)=>{return S4u.has(A)},C4u=async()=>{return await zO0().then(() => mC2)},rC2=(A)=>{return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},f4u=(A)=>{return new RegExp(`^${rC2(A)}$`)},h4u=(A)=>{let u=[...new Set(A.map(Lm))];return new RegExp(`^(?:${u.map(rC2).join("|")})(?:[?#].*)?$`)},mKA=(A)=>{return`${CCA}${encodeURIComponent(A)}`},b4u=async(A)=>{if(typeof A==="function")return await A();return A},Lm=(A)=>{let u=A.indexOf("?"),q=A.indexOf("#"),F=[u,q].filter((G)=>G>=0).sort((G,w)=>G-w)[0];return F===void 0?A:A.slice(0,F)},tC2=new Map,hKA=(A)=>{let u=Lm(A),q=tC2.get(u);if(q!==void 0)return q;let F=u;try{F=P4u(u)}catch{F=u}return tC2.set(u,F),F},RO0=(A)=>{return/(?:^|[/\\])node_modules(?:[/\\])/.test(A)},m4u=(A,u)=>{let q=bKA(A);while(!0){let F=T4u(q,"package.json");if(D4u(F)){let w=u.get(F);if(w)return w;let Q="commonjs";try{if(JSON.parse(nC2(F,"utf8")).type==="module")Q="module"}catch{Q="commonjs"}return u.set(F,Q),Q}let G=bKA(q);if(G===q)return"commonjs";q=G}},iC2=(A,u)=>{let q=hKA(A);if(!RO0(q))return!1;if(q.endsWith(".mjs")||q.endsWith(".mts")||q.endsWith(".ts")||q.endsWith(".tsx")||q.endsWith(".jsx"))return!0;if(q.endsWith(".cjs")||q.endsWith(".cts")||!q.endsWith(".js"))return!1;return m4u(q,u)==="module"},y4u=(A)=>{let u=bKA(A);while(!0){let q=bKA(u);if(q===u)return null;if(xO0(q)==="node_modules")return u;if(xO0(bKA(q))==="node_modules"&&xO0(q).startsWith("@"))return u;u=q}},v4u=(A)=>{return{nodeModulesRuntimeSpecifiers:A?.nodeModulesRuntimeSpecifiers??lC2.nodeModulesRuntimeSpecifiers,nodeModulesBareSpecifiers:A?.nodeModulesBareSpecifiers??lC2.nodeModulesBareSpecifiers}},cC2=(A)=>{let u=Lm(A);if(u.endsWith(".tsx"))return"tsx";if(u.endsWith(".jsx"))return"jsx";if(u.endsWith(".ts")||u.endsWith(".mts")||u.endsWith(".cts"))return"ts";if(u.endsWith(".js")||u.endsWith(".mjs")||u.endsWith(".cjs"))return"js";return null},oC2=[/(from\s+["'])([^"']+)(["'])/g,/(import\s+["'])([^"']+)(["'])/g,/(import\s*\(\s*["'])([^"']+)(["']\s*\))/g,/(require\s*\(\s*["'])([^"']+)(["']\s*\))/g],l4u=(A)=>{if(A.startsWith(".")||A.startsWith("/")||A.startsWith("\\"))return!1;if(A.startsWith("node:")||A.startsWith("bun:")||A.startsWith("http:")||A.startsWith("https:")||A.startsWith("file:")||A.startsWith("data:"))return!1;if(A.startsWith(CCA))return!1;return!0},t4u=(A,u)=>{let q=A.indexOf(u);if(q>=0)A.splice(q,1);if(A.push(u),A.length>I4u)A.shift()},sC2=(A,u)=>{let q=A;for(let F of oC2)q=q.replace(F,(G,w,Q,g)=>{let j=u(Q);if(!j||j===Q)return G;return`${w}${j}${g}`});return q},i4u=(A)=>{let u=new Set;for(let q of oC2)A.replace(q,(F,G,w)=>{return u.add(w),F});return[...u]},eC2=(A,u)=>{try{let q=import.meta.resolve(A,u);if(q===A||q.startsWith("node:")||q.startsWith("bun:"))return null;return q}catch{return null}},dC2=(A,u)=>{if(A.startsWith("node:")||A.startsWith("bun:")||A.startsWith("http:")||A.startsWith("https:")||A.startsWith("data:")||A.startsWith(CCA))return null;if(A.startsWith("file:"))return Lm(vC2(A));if(yC2(A))return Lm(A);let q=eC2(A,u);if(!q)return null;if(q.startsWith("file:"))return Lm(vC2(q));if(yC2(q))return Lm(q);return null},c4u=(A,u)=>{if(u.length===0)return A;return sC2(A,(F)=>{if(!l4u(F))return null;for(let G=u.length-1;G>=0;G-=1){let w=u[G],Q=eC2(F,w);if(Q)return Q}return null})},d4u=(A,u)=>{return sC2(A,(q)=>{return u.get(q)??null})};function PO0(A={}){let u=new Map;u.set(pC2,A.core??PJ0),u.set(aC2,C4u);let q=v4u(A.rewrite);for(let[G,w]of Object.entries(A.additional??{}))u.set(G,w);let F=new Map;for(let G of u.keys())F.set(G,mKA(G));return{name:"bun-plugin-opentui-runtime-modules",setup:(G)=>{let w=[],Q=new Set,g=new Set,j=new Map,K=new Map,U=new Map,_=(X)=>{let Y=Lm(X),$=hKA(Y);if(Q.has($))return;Q.add($),G.onLoad({filter:h4u([Y,$])},async(V)=>{let H=hKA(V.path);if(H!==$)return;let Z=RO0(H),N=!Z||q.nodeModulesRuntimeSpecifiers,B=!Z||q.nodeModulesBareSpecifiers,z=cC2(V.path);if(!z)throw Error(`Unable to determine runtime loader for path: ${V.path}`);let M=await Bun.file(H).text(),L=N?d4u(M,F):M;if(L!==M&&B)t4u(w,H);return{contents:B?c4u(L,w):L,loader:z}})},O=(X)=>{let Y=hKA(X),$=K.get(Y);if($)return $;let V=nC2(Y,"utf8"),H=i4u(V),Z={importSpecifiers:H,needsRuntimeSpecifierRewrite:H.some((N)=>F.has(N))};return K.set(Y,Z),Z},W=(X,Y=new Set)=>{let $=hKA(X);if(!iC2($,j))return[];let V=U.get($);if(V)return V;if(Y.has($))return[];Y.add($);let H=new Set,Z=O($);if(Z.needsRuntimeSpecifierRewrite)H.add($);for(let B of Z.importSpecifiers){let z=dC2(B,$);if(!z||!iC2(z,j))continue;for(let M of W(z,Y))H.add(M)}Y.delete($);let N=[...H];return U.set($,N),N};for(let[X,Y]of u.entries()){let $=F.get(X);if(!$)continue;G.module($,async()=>({exports:await b4u(Y),loader:"object"})),G.onResolve({filter:f4u(X)},()=>({path:$}))}G.onResolve({filter:/.*/},(X)=>{if(F.has(X.path)||X.path.startsWith(CCA))return;let Y=dC2(X.path,X.importer);if(!Y||!cC2(Y))return;if(!RO0(Y)){_(Y);return}if(!q.nodeModulesRuntimeSpecifiers&&!q.nodeModulesBareSpecifiers)return;for(let H of W(Y))_(H);let V=y4u(Y);if(q.nodeModulesBareSpecifiers&&V&&g.has(V)){_(Y);return}if(!q.nodeModulesRuntimeSpecifiers||!O(Y).needsRuntimeSpecifierRewrite)return;if(q.nodeModulesBareSpecifiers&&V)g.add(V);_(Y);return})}}}await Z0([kCA(),J6A()]);U6();yF();await TA();var Oq1=u2(Tg(),1),Wq1=u2(NH0(),1),Xq1=u2(Du1(),1),Yq1=u2(_q1(),1);var{plugin:zI4}=globalThis.Bun;var Jq1=Symbol.for("opentui.solid.transform"),$q1=()=>{let A=globalThis;return A[Jq1]??={installed:!1},A[Jq1]},xI4=()=>{return $q1().runtime??{}},rB0=(A)=>{let u=A.indexOf("?"),q=A.indexOf("#"),F=[u,q].filter((G)=>G>=0).sort((G,w)=>G-w)[0];return F===void 0?A:A.slice(0,F)},RI4=(A)=>{return A.moduleName!==void 0||A.resolvePath!==void 0};function Vq1(A={}){let u=$q1();if(RI4(A))u.runtime={moduleName:A.moduleName,resolvePath:A.resolvePath};if(u.installed)return!1;return zI4(Zq1()),u.installed=!0,!0}function Zq1(A={}){return{name:"bun-plugin-solid",setup:(u)=>{u.onLoad({filter:/[/\\]node_modules[/\\]solid-js[/\\]dist[/\\]server\.js(?:[?#].*)?$/},async(q)=>{let F=rB0(q.path).replace("server.js","solid.js");return{contents:await Bun.file(F).text(),loader:"js"}}),u.onLoad({filter:/[/\\]node_modules[/\\]solid-js[/\\]store[/\\]dist[/\\]server\.js(?:[?#].*)?$/},async(q)=>{let F=rB0(q.path).replace("server.js","store.js");return{contents:await Bun.file(F).text(),loader:"js"}}),u.onLoad({filter:/\.(js|ts)x(?:[?#].*)?$/},async(q)=>{let F=rB0(q.path),w=await Bun.file(F).text(),Q=xI4(),g=A.moduleName??Q.moduleName??"@opentui/solid",j=A.resolvePath??Q.resolvePath;return{contents:(await Oq1.transformAsync(w,{filename:F,configFile:!1,babelrc:!1,plugins:j?[[Xq1.default,{resolvePath(_){return j(_)??_}}]]:[],presets:[[Yq1.default,{moduleName:g,generate:"universal"}],[Wq1.default]]}))?.code??"",loader:"js"}})}}}var aF9=Zq1();var Hq1=Symbol.for("opentui.solid.runtime-plugin-support"),PI4={"@opentui/solid":YW0,"solid-js":nO0,"solid-js/store":oO0};function Nq1(A){return`${A?.nodeModulesRuntimeSpecifiers??!0}:${A?.nodeModulesBareSpecifiers??!1}`}function TI4(A){return{...PI4,...A?.additional??{}}}function II4(A,u,q){for(let F of Object.keys(u))if(!A.specifiers.has(F))throw Error(`OpenTUI Solid runtime plugin support is already installed without ${F}. Call ensureRuntimePluginSupport({ additional }) from @opentui/solid/runtime-plugin-support/configure before importing @opentui/solid/runtime-plugin-support.`);if(q?.core&&q.core!==A.core)throw Error("OpenTUI Solid runtime plugin support is already installed with a different core runtime module.");if(q?.rewrite&&Nq1(q.rewrite)!==A.rewriteKey)throw Error("OpenTUI Solid runtime plugin support is already installed with different rewrite options.")}function Bq1(A={}){let u=globalThis,q=TI4(A),F=A.core??LO0,G=Nq1(A.rewrite),w=u[Hq1];if(w)return II4(w,q,A),!1;return Vq1({moduleName:mKA("@opentui/solid"),resolvePath(Q){if(!DO0(Q)&&!q[Q])return null;return mKA(Q)}}),DI4(PO0({core:F,additional:q,rewrite:A.rewrite})),u[Hq1]={specifiers:new Set(Object.keys(q)),core:F,rewriteKey:G},!0}Bq1();await Np();await bc0({print:process.argv.includes("--print-logs"),level:process.env.CODEPLANE_LOG_LEVEL??"INFO"});var{tui:pp7}=await F2u().then(() => q2u),{TuiConfig:ap7}=await H60().then(() => je),{runBootWizard:rp7}=await z2u().then(() => E2u),{createInstanceService:op7}=await Promise.resolve().then(() => (C2u(),S2u)),{headersForInstance:sp7,normalizeInstanceUrl:ep7}=await Promise.resolve().then(() => (RI2(),D2u)),{localInstanceUrl:Aa7}=await Promise.resolve().then(() => w2u);function ua7(A){let u={};for(let q=0;q<A.length;q++){let F=A[q],G=A[q+1];if(F==="--instance")u.instance=G;if(F==="--route")u.route=G;if(F==="--dir"||F==="--directory")u.directory=G;if(F==="--session"||F==="-s")u.sessionID=G;if(F==="--continue"||F==="-c")u.continueSession=!0;if(F==="--fork")u.fork=!0}return u}function qa7(){return{id:"default",url:Aa7("default"),label:"Default local",local:{binaryVersion:""}}}async function Fa7(A){let u=qa7();return await A.save(u),u}async function Ga7(A,u){if(u.instance){let w=(await A.list()).find((Q)=>Q.id===u.instance);if(!w)throw Error(`Saved instance not found: ${u.instance}`);return{instance:w,directory:u.directory}}let q=await A.list();if(q.length===0)await Fa7(A),q=await A.list();let F=await rp7({service:A,instances:q,defaultDirectory:u.directory??process.cwd()});if(!F)return null;return{instance:F.instance,directory:F.directory}}async function wa7(A,u){let q=await Ga7(A,u);if(!q)return null;let F=await A.open(q.instance),G=ep7(F.live.url);if(!G)throw Error(`Resolved instance has invalid URL: ${F.live.url}`);let w=q.directory??F.path.directory??void 0;return{url:G,headers:sp7(F.live)??{},directory:w}}async function Qa7(){let A=op7(),u=!1,q=async()=>{if(u)return;u=!0,await A.stopAll().catch(()=>{return})};for(let F of["SIGTERM","SIGHUP","SIGINT"])process.once(F,()=>{q().finally(()=>process.exit(0))});try{let F=ua7(process.argv.slice(2)),G=await wa7(A,F);if(!G)await q(),process.exit(0);let w=await ap7.get(),Q={continue:F.continueSession,sessionID:F.sessionID,fork:F.fork};await pp7({url:G.url,config:w,args:Q,directory:G.directory,headers:G.headers})}finally{await q()}}function ga7(A){let u=A instanceof Error?A.message:String(A),q=u||"Unknown error",F=u.toLowerCase();if(F.includes("401")||F.includes("unauthorized"))return{kind:"auth-required",detail:q};if(F.includes("403")||F.includes("forbidden"))return{kind:"auth-required",detail:q};if(F.includes("fetch failed")||F.includes("econnrefused")||F.includes("ehostunreach")||F.includes("enotfound")||F.includes("etimedout")||F.includes("connection refused")||F.includes("network is unreachable")||F.includes("getaddrinfo")||F.includes("connect timeout"))return{kind:"unreachable",detail:q};return{kind:"unknown",detail:q}}Qa7().catch((A)=>{let u=ga7(A);if(u.kind==="unreachable")console.error(`
|
|
5281
5281
|
Instance unreachable: ${u.detail}
|
|
5282
5282
|
|
|
5283
5283
|
Re-run \`codeplane tui\` to pick a different instance from the boot wizard,
|