@arcforge/axon 2.0.133 → 2.0.134

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/app.js +2 -2
  2. package/package.json +1 -1
package/app.js CHANGED
@@ -3834,7 +3834,7 @@ ${s.map(([p,d])=>`${i}${/^[A-Za-z_$][\w$]*$/.test(p)?p:JSON.stringify(p)}: ${$Re
3834
3834
  ${A}}`}var vE,Sor="profile.config.ts";var R2n=Lt(()=>{sc();_h();Hxt();Mbt();vE=qp(mhe(),1)});import{join as K2n}from"path";function Y2n(){let e=null;return{open(){e=[]},close(){let n=e??[];return e=null,n},track(n){e?.push(n)}}}async function Zqa(e){await import(`${e}?t=${crypto.randomUUID()}`)}async function Nor(e){let n=K2n(e,"plugins");if(!xo.exists(n))return[];return(await xo.list(n)).filter((i)=>i.endsWith(".ts")).sort().map((i)=>K2n(n,i))}async function j2n(e){let{root:n,label:A,sink:i,mainError:s}=e;i.open();let u=[],p=K2n(n,"main.ts");if(xo.exists(p))try{await Zqa(p),u.push({path:p,error:null})}catch(d){u.push({path:p,error:sa(s,{detail:`${p} \u2014 ${d instanceof Error?d.message:String(d)}`,context:{path:p,source:A},cause:d})})}for(let d of await Nor(n))try{await Zqa(d),u.push({path:d,error:null})}catch(b){u.push({path:d,error:sa("PLUGIN_FAILED",{detail:`${d} \u2014 ${b instanceof Error?b.message:String(b)}`,context:{path:d,source:A},cause:b})})}return{root:n,label:A,files:u,disposers:i.close()}}function Vqa(e){for(let n of[...e.disposers].reverse())try{n()}catch{}}var H2n=Lt(()=>{sc();_h()});import{mkdir as Gor,rename as Mor,rm as P2n}from"fs/promises";import{dirname as Lor,join as Xqa}from"path";function J2n(e){return xo.exists(Xqa(e,"extension.config.ts"))}function O2n(e){let n=e.store??PRe(),A=Y2n(),i=[],s=[];async function u(){s=await zRe(e.root())}async function p(y,D){let F=await VFt(y,D);return await u(),F}async function d(y,D){let F=await XFt(y,D);return await u(),F}let b=null;async function E(y){if(y.kind==="registry"&&!J2n(y.root)){if(xo.exists(y.root))await P2n(y.root,{recursive:!0,force:!0});if(!e.install)return sa("EXTENSION_NOT_FOUND",{detail:`${y.source} is not installed`,context:{source:y.source,root:y.root}});try{await e.install(y.source,y.root)}catch(D){return sa("EXTENSION_INSTALL_FAILED",{detail:`${y.source} \u2014 ${D instanceof Error?D.message:String(D)}`,context:{source:y.source,root:y.root},cause:D})}}if(!xo.exists(y.root))return sa("EXTENSION_NOT_FOUND",{detail:`${y.source} \u2192 ${y.root}`,context:{source:y.source,root:y.root}});if(!J2n(y.root))return sa("EXTENSION_NOT_AN_EXTENSION",{detail:`${y.root} has no extension.config.ts`,context:{source:y.source,root:y.root}});return null}return{get sources(){return i},get declared(){return s},syncDeclared:u,list(){return zRe(e.root())},settings(){return evt(e.root())},async setSetting(y,D){let F=e.root(),S=()=>U2n(F,y,D);return b?b(S):S()},isLocalExtension(y){try{return J2n(WMe(y,e.root(),n).root)}catch{return!1}},async install(y){let D=e.root();if(WMe(y,D,n).kind==="local"){let Be=WMe(y,D,n),Qe=await E(Be);if(Qe)throw Qe;let{changed:me}=await p(D,y);return{root:Be.root,declared:me,ref:y}}let{name:F,version:S}=H6(y),T=S?n.resolve(y):null;if(T){let Be=Gbt(T.name,T.version),{changed:Qe}=await p(D,Be);return{root:T.root,declared:Qe,ref:Be}}if(!e.install)throw sa("EXTENSION_NOT_FOUND",{detail:`${y} is not installed`,context:{source:y}});let U=Xqa(n.root,".staging",crypto.randomUUID()),$;try{({version:$}=await e.install(y,U))}catch(Be){throw await P2n(U,{recursive:!0,force:!0}),sa("EXTENSION_INSTALL_FAILED",{detail:`${y} \u2014 ${Be instanceof Error?Be.message:String(Be)}`,context:{source:y},cause:Be})}let X=n.pathFor(F,$);if(n.isUsable(X))await P2n(U,{recursive:!0,force:!0});else await Gor(Lor(X),{recursive:!0}),await Mor(U,X);let Ae=Gbt(F,$),{changed:ne}=await p(D,Ae);return{root:X,declared:ne,ref:Ae}},async uninstall(y){let D=e.root(),F=await zRe(D),{name:S}=H6(y),T=F.find(($)=>H6($).name===S)??y,{changed:U}=await d(D,T);return{changed:U,removed:!1}},async updates(){if(!e.latest)return[];let y=e.root(),D=await zRe(y);return(await Promise.all(D.map(async(S)=>{if(WMe(S,y,n).kind==="local")return null;let{name:T,version:U}=H6(S);try{let $=await e.latest(T);return{source:S,name:T,current:U,latest:$,outdated:U!==null&&$!==U}}catch{return{source:S,name:T,current:U,latest:null,outdated:!1}}}))).filter((S)=>S!==null)},async update(y,D){let{root:F,ref:S}=await this.install(Gbt(y,D));return{root:F,ref:S}},get disposers(){return A},async load(){let y=[],D=[],F=e.root();if(xo.exists(F))D.push(await j2n({root:F,label:"profile",sink:A,mainError:"PROFILE_MAIN_FAILED"}));let S=await N2n(F,n);if(S.error)y.push(S.error);s=S.entries.map((T)=>T.source);for(let T of S.entries){let U=await E(T);if(U){y.push(U);continue}D.push(await j2n({root:T.root,label:T.source,sink:A,mainError:"EXTENSION_LOAD_FAILED"}))}return i=D,{sources:D,errors:y}},unload(){for(let y of[...i].reverse())Vqa(y);i=[]},async reload(){return this.unload(),this.load()},watch(y){let D=$Me({root:e.root(),ignore:["node_modules",".git",".axon","agents","store"],debounceMs:150}),F=400;b=($)=>D.during($,{selfReloads:!0});let S=!1,T=0,U=D.onChange(()=>{if(S||Date.now()<T)return;S=!0,(async()=>{try{await y()}finally{S=!1,T=Date.now()+400}})()});return D.start(),()=>{b=null,U(),D.stop()}}}}var eTa=Lt(()=>{sc();_h();HFt();G2n();R2n();Mbt();H2n()});var $2n=Lt(()=>{eTa();G2n();R2n();H2n();Mbt()});import{execFile as qor}from"child_process";import{createHash as Tor}from"crypto";import{existsSync as W2n}from"fs";import{mkdir as Uor,readFile as Ror,readdir as Ubt,rm as tTa,writeFile as ATa}from"fs/promises";import{basename as Kor,join as VMe,resolve as nTa}from"path";function iTa(e){function n(A,i){return VMe(e.root,"cache","prompts",...A.split("/"),i)}return{async ensure(A){if(!A)throw sa("CLONE_REF_REQUIRED");let{name:i,version:s}=RBe(A),u=await e.cloud.registry.resolve(i,s),p=n(u.name,u.version);if(!W2n(p)||(await Ubt(p)).length===0)await V2n(await Z2n(u.downloadUrl),p);return{name:u.name,version:u.version,root:p}},async cached(){let A=VMe(e.root,"cache","prompts");if(!W2n(A))return[];let i=[];for(let s of await Ubt(A))for(let u of await Ubt(VMe(A,s)).catch(()=>[]))for(let p of await Ubt(VMe(A,s,u)).catch(()=>[]))i.push({name:`${s}/${u}`,version:p,root:VMe(A,s,u,p)});return i}}}function rTa(e){async function n(i,s,u={}){if(!i)throw sa("CLONE_REF_REQUIRED");let{name:p,version:d}=RBe(i),b=await e.cloud.registry.resolve(p,d),E=nTa(s,u.dir??aTa(b.name));return await V2n(await Z2n(b.downloadUrl),E),await e.prepare(E),{...b,root:E}}async function A(i,s,u={}){if(!u.as)throw sa("FORK_NAME_REQUIRED");if(!i)throw sa("FORK_REF_REQUIRED");let{name:p,version:d}=RBe(i),b=await e.cloud.registry.resolve(p,d),E=nTa(s,u.dir??aTa(u.as));await V2n(await Z2n(b.downloadUrl),E);let y={...b,root:E},D=VMe(y.root,"package.json"),F=JSON.parse(await Ror(D,"utf-8")),S=F.axon&&typeof F.axon==="object"&&!Array.isArray(F.axon)?F.axon:{};return F.name=u.as,F.version="0.1.0",F.axon={...S,forkedFrom:{name:y.name,version:y.version}},await ATa(D,JSON.stringify(F,null,2)+`
3835
3835
  `),await e.prepare(E),{...y,name:u.as,version:"0.1.0"}}return{clone:n,fork:A}}function aTa(e){return Kor(e)}function z2n(e){return new Promise((n)=>{qor("tar",e,{maxBuffer:67108864},(A,i,s)=>{n({exitCode:A?typeof A.code==="number"?A.code:1:0,stdout:i,stderr:s||(A?A.message:"")})})})}async function Z2n(e){let n=await fetch(e);if(!n.ok)throw sa("ARTIFACT_DOWNLOAD_FAILED",{detail:`${n.status} ${n.statusText}`,context:{status:n.status}});return n.arrayBuffer()}async function V2n(e,n){let A=!1;if(W2n(n)){if((await Ubt(n)).length>0)throw sa("CLONE_TARGET_EXISTS",{detail:`${n} is not empty`,context:{target:n}})}else await Uor(n,{recursive:!0}),A=!0;let i=VMe(n,`.axon-clone-${Tor("sha256").update(new Uint8Array(e)).digest("hex")}.tar.gz`);try{await ATa(i,new Uint8Array(e));let u=(await z2n(["-tzf",i])).stdout.split(`
3836
3836
  `).filter(Boolean),d=u.length>0&&u.every((b)=>b==="package/"||b.startsWith("package/"))?await z2n(["-xzf",i,"-C",n,"--strip-components=1"]):await z2n(["-xzf",i,"-C",n]);if(d.exitCode!==0)throw sa("ARTIFACT_EXTRACT_FAILED",{detail:d.stderr.trim(),context:{exitCode:d.exitCode}})}catch(s){if(A)await tTa(n,{recursive:!0,force:!0});throw s}finally{await tTa(i,{force:!0})}}var oTa=Lt(()=>{sc();nFt()});import{join as Yor}from"path";async function sTa(e,n){let A=xo.exists(Yor(e,"src","prompts")),i=await hRe(e,{prefix:n,...A?{}:{dir:"."}}),s=i.entries.filter((d)=>d.name!==`${n}:README`),u=n.split("/").at(-1),p=s.find((d)=>d.name===`${n}:${u}`);if(p&&s.length===1)s.push({...p,name:n});return{entries:s,warnings:i.warnings}}var cTa=Lt(()=>{_h();Qxt()});function uTa(e){async function n(A){let{name:i,root:s}=await e.cache.ensure(A),u=await sTa(s,i);if(u.entries.length===0)throw sa("PROMPT_NOT_FOUND",{detail:`${i} is published but ships no prompt files`,context:{name:i}});return u.entries}return{entries:n,async entry(A){let i=await n(A),s=i.find((u)=>u.name===A);if(s)return s;if(i.length>1)throw sa("PROMPT_NOT_FOUND",{detail:`${A} ships ${i.length} prompts \u2014 name one of: ${i.map((u)=>u.name).join(", ")}`,context:{name:A}});return i[0]}}}var lTa=Lt(()=>{sc();cTa()});var Rbt=75,X2n="AXON_UPDATE_REQUEST";var exn=Lt(()=>{sc()});import{existsSync as jor,realpathSync as Hor}from"fs";import{mkdir as Por,rename as Jor,writeFile as Oor}from"fs/promises";import{dirname as gTa,join as $or}from"path";function txn(e){let n=e.currentVersion,A=process.argv[1]??import.meta.path,i=e.helperPath??pTa(A),s=e.bunPath??process.execPath,u=e.axonPath??(typeof Bun>"u"?"axon":Bun.which("axon")??"axon"),p=e.requestPath??process.env[X2n];function d(){return jor(i)&&Boolean(p)}async function b(y,D={}){if(!Kbt.valid(n))throw sa("UPDATE_CURRENT_VERSION_INVALID",{context:{version:n}});let F=await e.cloud.cloud.releases.axon(y,D);if(F.package!=="@arcforge/axon"||F.channel!=="latest"||!Kbt.valid(F.version))throw sa("UPDATE_RELEASE_INVALID",{context:{package:F.package,channel:F.channel,version:F.version}});return{status:Kbt.gt(F.version,n)?"available":"current",current:n,latest:F.version}}async function E(y){let D=await b(y,{fresh:!0});if(D.status==="current")return D;if(!d())throw sa("UPDATE_UNAVAILABLE_IN_DEVELOPMENT");e.store.update.state.set({status:"pending",from:D.current,to:D.latest,updatedAt:new Date().toISOString()});try{let F={from:D.current,to:D.latest,bun:s,axon:u,state:e.store.update.statePath};if(!p)throw sa("UPDATE_SUPERVISOR_UNAVAILABLE");await Por(gTa(p),{recursive:!0});let S=`${p}.${process.pid}.tmp`;await Oor(S,JSON.stringify(F,null,2)+`
3837
- `,"utf-8"),await Jor(S,p)}catch(F){throw e.store.update.state.set({status:"failed",from:D.current,to:D.latest,updatedAt:new Date().toISOString(),error:F instanceof Error?F.message:String(F)}),F}return D}return{currentVersion:n,supported:d,check:b,handoff:E}}function pTa(e){let n=e;try{n=Hor(e)}catch{}return $or(gTa(n),"update-helper.js")}var Kbt;var mTa=Lt(()=>{exn();sc();Kbt=qp(gDn(),1)});var dTa=()=>{};var tvt=Lt(()=>{mTa();dTa();exn()});import{join as zor,resolve as Wor}from"path";function Ybt(e){let n=Wor(e.cwd??process.cwd()),A=e.distribution??Zor,i={},s=VIn({root:e.store??XIn(A),settings:()=>i,setSetting:async(ne,Be)=>{let Qe=await Ae.setSetting(ne,Be);return await X(),Qe}}),u=L_a({store:s,distribution:A}),p=tEn(),d=MEa(),b=qEa({root:n}),E=l2n(),y=m2n({cloud:u.client,frameworkVersion:e.version,...e.frameworkSource?{frameworkSource:e.frameworkSource}:{},...e.repoRoot?{repoRoot:e.repoRoot}:{},bench:{tests:E,clone:(ne,Be,Qe)=>F.clone(ne,Be,Qe),prepare:async(ne)=>{await(await y.open(ne)).prepare()}}}),D=D2n({store:s,projects:y,cloud:u.client,cwd:n,clone:(ne,Be,Qe)=>F.clone(ne,Be,Qe),...e.control?{control:e.control}:{}}),F=rTa({cloud:u.client,async prepare(ne){await(await y.open(ne)).prepare()}}),S=uTa({cache:iTa({cloud:u.client,root:s.root})}),T=txn({cloud:u.client,store:s,currentVersion:e.version}),U=T_a({cloud:u.client}),$=x2n({store:s,projects:y,frameworkVersion:e.version});async function X(){try{i=await Ae.settings()}catch{i={}}}let Ae=O2n({root:()=>$.root,install:async(ne,Be)=>{return{version:(await F.clone(ne,zor(Be,".."),{dir:Be.split("/").at(-1)})).version}},latest:async(ne)=>(await u.client.registry.artifacts.resolve(ne)).version});return{cloud:u,store:s,deployments:U,projects:y,profile:$,extensions:Ae,refreshSettings:X,agents:D,registry:F,prompts:S,tests:E,mic:d,files:b,ollama:p,updates:T}}var Zor="production";var fTa=Lt(()=>{fEa();QEa();aEn();TEa();q_a();HFt();Oqa();$2n();g2n();oTa();lTa();tvt()});var nxn=Lt(()=>{fTa()});var XMe;var nvt=Lt(()=>{XMe={name:"@arcforge/axon",version:"2.0.133",description:"coding agent cli",module:"index.ts",type:"module",scripts:{build:"vterm build",deploy:"bun run scripts/release.ts patch","deploy:major":"bun run scripts/release.ts major","deploy:minor":"bun run scripts/release.ts minor","deploy:patch":"bun run scripts/release.ts patch",dev:"vterm dev","dev:local":"vterm dev --dotenv .env.local",prepare:"vterm prepare",tail:"vterm tail",test:"bun test --parallel=4","test:serial":"bun test","test:watch":"bun test --watch",typecheck:"bun run scripts/typecheck.ts"},dependencies:{"@arcforge/cognet":"workspace:*","@arcforge/engines":"workspace:*","@arcforge/err":"workspace:*","@arcforge/platform":"workspace:*","@arcforge/types":"workspace:*","@arcforge/vterm":"workspace:*","@arclabs/cloud":"workspace:*","@arclabs/repo":"workspace:*","@arclabs/tools":"workspace:*","@axon/capsule":"workspace:*","@axon/core":"workspace:*","@axon/theme":"workspace:*","@axon/vstr":"workspace:*","@vue/compiler-sfc":"3.5.39",arcline:"workspace:*",chalk:"^5.6.2","fft.js":"^4.0.4",h3:"^1.15.11","markdown-it":"^14.3.0",open:"^11.0.0",semver:"^7.7.4",sharp:"^0.35.3"},devDependencies:{"@types/bun":"latest","@types/markdown-it":"^14.1.2","@types/semver":"^7.7.1","@vue/typescript-plugin":"^3.2.5",postgres:"^3.4.5"},peerDependencies:{typescript:"^5"},bin:{axon:"./bin/axon"}}});function avt(e,n){let A=e;for(let i of n){if(A===null||typeof A!=="object"||!(i in A))throw sa("CONTROL_PATH_NOT_FOUND",{detail:`no such method on the peer: ${n.join(".")}`,context:{path:n.join(".")}});A=A[i]}return A}function Avt(e){let n=new Map,A=new Map,i=new Map,s=!1,u=0,p=()=>`${++u}`;async function d(D){try{let F=avt(e.handle,D.path.slice(0,-1)),S=avt(e.handle,D.path);if(typeof S!=="function")throw sa("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${D.path.join(".")}`,context:{path:D.path.join(".")}});let T=await S.apply(F,D.args);e.send({type:"rpc.result",id:D.id,ok:!0,value:T})}catch(F){e.send({type:"rpc.result",id:D.id,ok:!1,error:F instanceof Error?F.message:String(F)})}}function b(D){try{let F=avt(e.handle,D.path.slice(0,-1)),S=avt(e.handle,D.path);if(typeof S!=="function")throw sa("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${D.path.join(".")}`,context:{path:D.path.join(".")}});let T=($)=>e.send({type:"rpc.event",id:D.id,value:$}),U=S.apply(F,[...D.args,T]);A.set(D.id,U)}catch(F){e.send({type:"rpc.result",id:D.id,ok:!1,error:F instanceof Error?F.message:String(F)})}}function E(D){A.get(D.id)?.(),A.delete(D.id)}function y(D){let F=n.get(D.id);if(!F)return;if(n.delete(D.id),D.ok)F.resolve(D.value);else F.reject(sa("CONTROL_CALL_FAILED",{detail:D.error,context:{error:D.error}}))}return{accept(D){if(D.type==="rpc.call")return void d(D);if(D.type==="rpc.subscribe")return b(D);if(D.type==="rpc.unsubscribe")return E(D);if(D.type==="rpc.result")return y(D);i.get(D.id)?.(D.value)},call(D,F=[]){if(s)return Promise.reject(sa("CONTROL_CLOSED",{detail:`channel closed before ${D.join(".")} could be sent`,context:{path:D.join(".")}}));let S=p();return new Promise((T,U)=>{n.set(S,{resolve:T,reject:U}),e.send({type:"rpc.call",id:S,path:D,args:F})})},subscribe(D,F,S){if(s)throw sa("CONTROL_CLOSED",{detail:`channel closed before ${D.join(".")} could be sent`,context:{path:D.join(".")}});let T=p();return i.set(T,S),e.send({type:"rpc.subscribe",id:T,path:D,args:F}),()=>{if(!i.delete(T))return;if(!s)e.send({type:"rpc.unsubscribe",id:T})}},close(D){if(s)return;s=!0;for(let F of A.values())F();A.clear(),i.clear();for(let F of n.values())F.reject(sa("CONTROL_CLOSED",{detail:D,context:{error:D}}));n.clear()}}}var ivt=Lt(()=>{sc()});function axn(e){if(typeof e!=="object"||e===null)return!1;let n=e.type;return n==="rpc.call"||n==="rpc.result"||n==="rpc.subscribe"||n==="rpc.unsubscribe"||n==="rpc.event"}import{randomBytes as Xor}from"crypto";function jbt(e){let n=Xor(32).toString("hex"),A=null,i=new Set;function s(){for(let b of i)b(u.size)}let u=new Map;function p(b,E){let y=u.get(b);if(!y)return;y.dispatch.close(E),u.delete(b),s()}async function d(b){let E=[...u.values()];if(E.length===0)throw sa("CONTROL_CLOSED",{detail:"no editor attached"});if(E.length===1)return E[0].dispatch;let y=await Promise.all(E.map(async(D)=>{try{let F=await D.dispatch.call(["editor","claim"],[b??null]);return{dispatch:D.dispatch,contains:F?.contains===!0,focusedAt:F?.focusedAt??0}}catch{return{dispatch:D.dispatch,contains:!1,focusedAt:0}}}));return y.sort((D,F)=>D.contains!==F.contains?D.contains?-1:1:F.focusedAt-D.focusedAt),y[0].dispatch}return{token:n,get port(){return A?.port??null},get attached(){return u.size>0},get peerCount(){return u.size},watch(b){return i.add(b),()=>{i.delete(b)}},listen(){if(A)return A.port;return A=Bun.serve({port:e.port??0,hostname:"127.0.0.1",fetch(b,E){if(E.upgrade(b,{data:null}))return;return new Response("axon control channel",{status:426})},websocket:{message(b,E){let y;try{y=JSON.parse(String(E))}catch{b.close(1003,"malformed frame");return}let D=u.get(b);if(!D){let F=y;if(F?.type!=="control.hello"||F.token!==n){b.close(1008,"unauthorized");return}let S={send:(T)=>b.send(T),close:()=>b.close()};u.set(b,{socket:S,dispatch:Avt({handle:e.handle,send:(T)=>S.send(JSON.stringify(T))})}),b.send(JSON.stringify({type:"control.welcome",peer:"tui"})),s();return}if(!axn(y))return;D.dispatch.accept(y)},close(b){p(b,"editor disconnected")}}}),A.port},editor:{async call(b,...E){return await(await d()).call(["editor",String(b)],E)},async about(b,E,...y){return await(await d(b)).call(["editor",String(E)],y)}},close(){for(let[b,E]of u)p(b,"tui shutting down"),E.socket.close();A?.stop(!0),A=null}}}var hTa=Lt(()=>{sc();ivt()});var bTa=Lt(()=>{sc();ivt()});var Axn=Lt(()=>{hTa();bTa();ivt()});function rvt(){let e=(n)=>{let A=CTa[n];if(!A)throw Error(`TUI_NOT_READY: this TUI cannot ${n} yet \u2014 it is still starting up`);return A};return{send:(n)=>e("send")(n),interrupt:()=>e("interrupt")(),focus:(n)=>e("focus")(n),capsule:(n,A)=>e("capsule")(n,A),lastActiveAt:async()=>BTa}}function ITa(e){CTa=e}function ixn(){BTa=Date.now()}var CTa,BTa;var Hbt=Lt(()=>{CTa={},BTa=Date.now()});function Hhe(){if(!rxn)rxn=esr();return rxn}function esr(){let e=null,n=XA.ref(0);function A(){if(e)return;let b=jbt({handle:{tui:rvt()}});b.watch(()=>{n.value++}),b.listen(),e=b}function i(){let b=e?.port;if(!e||b===null||b===void 0)return null;return{port:b,token:e.token}}let s=XA.computed(()=>{return n.value,(e?.peerCount??0)>0});async function u(b,...E){if(!e)throw Error("CONTROL_NOT_LISTENING: this TUI is not serving a control channel");return e.editor.call(b,...E)}async function p(b,E,...y){if(!e)throw Error("CONTROL_NOT_LISTENING: this TUI is not serving a control channel");return e.editor.about(b,E,...y)}function d(){e?.close(),e=null,n.value++}return{listen:A,control:i,available:s,editor:u,editorAbout:p,close:d}}var rxn;var ovt=Lt(()=>{Ac();Axn();Hbt()});function SE(){if(!oxn)oxn=Ybt({version:XMe.version,cwd:process.env.PWD??process.cwd(),control:()=>Hhe().control()});return oxn}var oxn=null;var d3=Lt(()=>{nxn();nvt();ovt()});function tsr(e,n){let A=XA.ref("idle"),i=XA.ref(null),s=XA.ref(null),u=XA.ref(0);function p(){u.value++}function d(Ae,ne){let Be=XA.ref(!1),Qe=XA.ref(null),me=XA.ref(!1);async function De(){if(!e.authenticated){me.value=!1;return}let lt=await Ae.status();me.value=lt.connected&&lt.status==="active"}De().catch((lt)=>{Qe.value=lt instanceof Error?lt:Error(String(lt))});async function Ke(...lt){Be.value=!0,Qe.value=null;try{await ne(...lt),me.value=!0}catch(We){throw Qe.value=We instanceof Error?We:Error(String(We)),We}finally{Be.value=!1,p()}}async function at(){await Ae.disconnect(),me.value=!1,p()}return{connected:me,connecting:Be,error:Qe,connect:Ke,disconnect:at,refreshStatus:De}}let b=d(e.connections.openai,()=>e.connections.openai.connect({open:(Ae)=>{PGe(Ae)}})),E=d(e.connections.openrouter,(Ae)=>e.connections.openrouter.connect({key:Ae})),y=XA.ref(e.authenticated?"checking":"signed-out"),D=XA.computed(()=>{return u.value,y.value==="verified"});async function F(){if(!e.authenticated)return y.value="signed-out",p(),y.value;y.value="checking",p();try{let Ae=await e.validate();y.value=Ae==="valid"?"verified":Ae==="rejected"?"signed-out":"unreachable"}catch{y.value="unreachable"}return p(),y.value}if(y.value==="checking")F();e.onSessionExpired(()=>{y.value="signed-out",p()});let S=XA.computed(()=>{return u.value,e.client.user.auth.user}),T=XA.computed(()=>{return u.value,n.profiles.list().flatMap((Ae)=>{let ne=n.profiles.get(Ae).record.get();if(!ne)return[];let Be=!!(ne.auth.accessToken||ne.auth.apiKey);return[{id:Ae,email:ne.user.email,authenticated:Be}]})});async function U(Ae){A.value="authorizing",i.value=null;try{await e.login({...Ae!==void 0?{hint:Ae}:{},onCode:(ne)=>{i.value=ne,A.value="polling",PGe(ne.verificationUriComplete)}}),y.value="verified"}finally{A.value="idle",i.value=null,p()}}async function $(Ae){s.value=Ae;try{return await e.switch(Ae),y.value="verified","verified"}catch(ne){let Be=bDt(ne)&&ne.code==="AX-TUI-044";return y.value=Be?"unreachable":"signed-out",Be?"unreachable":"rejected"}finally{s.value=null,p()}}async function X(){await e.logout(),y.value="signed-out",p()}return{isAuthenticated:D,gate:XA.computed(()=>y.value),verify:F,identity:S,profiles:T,loginStatus:A,deviceAuthorization:i,switchingProfileId:s,startLogin:U,switchProfile:$,logout:X,connections:{openai:b,openrouter:E}}}function P6(){if(!sxn){let e=SE();sxn=tsr(e.cloud,e.store)}return sxn}var sxn;var e6e=Lt(()=>{Ac();dDt();sc();d3()});var lxn={};JA(lxn,{useSettings:()=>Obt});function lsr(){let e=SE();async function n(){try{Jbt.value=await e.extensions.settings()}catch{Jbt.value={}}cxn.value++}return{settings:XA.computed(()=>{return cxn.value,Jbt.value}),refresh:n,async set(A,i){Jbt.value={...Jbt.value,[A]:i},cxn.value++,await e.extensions.setSetting(A,i)}}}function Obt(){if(!uxn)uxn=lsr();return uxn}var Jbt,cxn,uxn;var $bt=Lt(()=>{Ac();d3();Jbt=XA.ref({}),cxn=XA.ref(0)});var wTa={};JA(wTa,{useTheme:()=>$1});async function psr(e){try{let{useSettings:n}=await Promise.resolve().then(() => ($bt(),lxn));await n().set("theme",e)}catch{}}function ZBe(e){return rne.value.find((n)=>n.name===e)??null}function t6e(e){uLe.register(gsr,{":root":{cssVariables:Vcn(e)}}),Elt({theme:e.syntax==="arcnight"?vEt:e.syntax}),n6e.value++,pxn?.()}function $1(){if(!pxn)try{pxn=QE()}catch{}return{themes:XA.computed(()=>{return n6e.value,rne.value}),active:XA.computed(()=>{return n6e.value,ZBe(oJ.value)??rne.value[0]}),committedName:XA.computed(()=>WBe.value??oJ.value),themeClass:XA.computed(()=>{return n6e.value,`theme-${oJ.value}`}),create(e){if(ZBe(e.name))throw Error(`theme "${e.name}" is already registered`);if(rne.value=[...rne.value,e],n6e.value++,gxn.value===e.name)oJ.value=e.name,t6e(e);return()=>{if(rne.value=rne.value.filter((n)=>n.name!==e.name),oJ.value===e.name)oJ.value=rne.value[0].name,t6e(rne.value[0]);n6e.value++}},set(e){let n=ZBe(e);if(!n)throw Error(`no theme named "${e}"`);oJ.value=e,gxn.value=e,WBe.value=null,t6e(n),psr(e)},preview(e){let n=ZBe(e);if(!n)return;if(WBe.value===null)WBe.value=oJ.value;oJ.value=e,t6e(n)},cancelPreview(){if(WBe.value===null)return;let e=ZBe(WBe.value);if(oJ.value=WBe.value,WBe.value=null,e)t6e(e)},mount(){let e=ZBe(oJ.value)??rne.value[0];t6e(e)},adopt(e){if(!e)return;gxn.value=e;let n=ZBe(e);if(!n)return;oJ.value=e,t6e(n)},colors:XA.computed(()=>{n6e.value;let e=ZBe(oJ.value)??rne.value[0];return{primary:String(e.primary),background:String(e.background),text:String(e.text),dim:String(e.dim),warn:String(e.warn),error:String(e.error)}})}}var gsr="axon:theme:tokens",rne,oJ,WBe,gxn,n6e,pxn=null;var sJ=Lt(()=>{Ac();Ac();Xcn();rne=XA.ref([...FEt]),oJ=XA.ref(FEt[0].name),WBe=XA.ref(null),gxn=XA.ref(null),n6e=XA.ref(0)});function kTa(){let e=0;return{claim(){let n=++e;return{get latest(){return e===n}}}}}function DTa(e){for(let n=e.length-1;n>=0;n--){let A=e[n];if(A.type!=="kernel:engine:complete")continue;return A.data.meta.model}return null}function xTa(e){if(!e)return null;if((e.provider??e.name)!=="axon")return null;if(e.model!=="auto")return null;return{model:"auto",...e.optimize!==void 0?{optimize:e.optimize}:{},...e.limit!==void 0?{limit:e.limit}:{}}}function mxn(e){let{provider:n,declared:A,resolved:i}=e;if(!A)return n;let s=`${n}/${A}`;if(A!=="auto")return s;if(!i||i==="auto")return s;return`${i} (${A})`}function msr(e,n,A){if(A<=0||n<=0)return;let i=n/A,s=dxn.get(e);dxn.set(e,s===void 0?i:s*0.7+i*0.3)}function dsr(e){return(e?dxn.get(e):void 0)??4.5}function FTa(e,n=[]){let A=null,i=null,s=null,u=-1;for(let d=e.length-1;d>=0;d--){let b=e[d];if(b.type==="kernel:engine:complete"){let E=b.data.meta;if(A??=E.model,E.tokens){i=E.tokens.in+E.tokens.out,u=b.time.seq;break}continue}if(b.type==="kernel:engine:input"){s=b.data.bytes,u=b.time.seq,A??=fsr(e,d);break}}if(i===null&&s===null)return null;if(i!==null){let d=hsr(e,u);if(A&&d!==null)msr(A,d,i);return{tokens:i,model:A}}let p=bsr(n,u);return{tokens:Math.round(s/dsr(A))+Math.round(p/3.3),model:A}}function fsr(e,n){for(let A=n;A>=0;A--){let i=e[A];if(i.type==="kernel:engine:start"){let s=i.data.model;if(s)return s}if(i.type==="kernel:engine:complete")return i.data.meta.model??null}return null}function hsr(e,n){for(let A=e.length-1;A>=0;A--){let i=e[A];if(i.time.seq>=n)continue;if(i.type==="kernel:engine:input")return i.data.bytes;if(i.type==="kernel:engine:complete")return null}return null}function bsr(e,n){let A=0;for(let i=e.length-1;i>=0;i--){let s=e[i];if(s.time.seq<=n)break;if(s.type!=="cognet:output:text")continue;let u=s.data.content;if(u)A+=u.length}return A}function vTa(){let A=0,i=null;return{step(s){if(!s)return null;if(s.model!==i)return i=s.model,A=s.tokens,A;if(s.tokens>=A)return A=s.tokens,A;let u=A-s.tokens;if(u<=200)return A;if(A=Math.round(A-u*0.25),A-s.tokens<=200)A=s.tokens;return A},reset(){A=0,i=null}}}function Csr(e){if(e>=1e6){let n=e/1e6;return`${n.toFixed(n>=10?0:1)}m`}if(e===0)return"0k";return`${(e/1000).toFixed(1)}k`}function Bsr(e){if(e>=1e6){let n=Number((e/1e6).toFixed(1));return`${n%1===0?n.toFixed(0):n.toFixed(1)}m`}return`${Math.round(e/1000)}k`}function STa(e,n){let A=e.find((s)=>s.id===n);if(A)return A.context;return e.find((s)=>s.id.slice(s.id.indexOf("/")+1)===n)?.context??0}function NTa(e,n){if(e===null||n<=0)return null;return`${Csr(e)}/${Bsr(n)}`}var dxn;var fxn=Lt(()=>{dxn=new Map});import{homedir as Isr}from"os";import{basename as Esr,relative as ysr,sep as GTa}from"path";function MTa(e,n){if(!e)return null;if(n&&_sr(e,n))return`axon:${Esr(e)}`;return Qsr(e)}function _sr(e,n){let A=ysr(n,e);return A.length>0&&!A.startsWith("..")&&!A.includes(GTa)}function Qsr(e){let n=Isr();if(e===n)return"~";return e.startsWith(n+GTa)?"~"+e.slice(n.length):e}var LTa=()=>{};function ZRe(){i6e.value++}function qTa(e){return e.join(" ")}function wsr(){let e=[];for(let n of k1.commands){let A=e;for(let s of n.path.slice(0,-1)){let u=A.find((d)=>d.kind==="group"&&d.label===s);if(u){A=Array.isArray(u.children)?u.children:[];continue}let p={kind:"group",label:s,description:"",children:[]};A.push(p),A=p.children}let i=n.path.at(-1);A.push({kind:"action",label:i,description:n.description??"",action:n.action,...n.workingMessage?{workingMessage:n.workingMessage}:{}})}return e}var A6e,zbt,a6e,Wbt,i6e,k1,uvt;var r6e=Lt(()=>{Ac();sc();A6e=XA.ref([]),zbt=XA.ref(new Map),a6e=XA.ref(new Map),Wbt=XA.ref(new Map),i6e=XA.ref(0);k1={command(e){let n=qTa(e.path);if(A6e.value.some((i)=>qTa(i.path)===n))throw sa("COMMAND_PATH_TAKEN",{detail:n,context:{path:e.path}});let A=crypto.randomUUID();return A6e.value=[...A6e.value,{...e,id:A}],ZRe(),()=>{A6e.value=A6e.value.filter((i)=>i.id!==A),ZRe()}},get commands(){return A6e.value},key(e,n){if(zbt.value.has(e))throw sa("KEY_CHORD_TAKEN",{detail:e,context:{chord:e}});zbt.value.set(e,n),ZRe();let A=!1;return()=>{if(A)return;A=!0,zbt.value.delete(e),ZRe()}},keyHandler(e){return zbt.value.get(e)??null},chords:XA.computed(()=>{return i6e.value,[...zbt.value.keys()]}),palette(e,n){if(a6e.value.has(e))throw sa("PALETTE_NAME_TAKEN",{detail:e,context:{name:e}});let A={name:e,definition:n,cache:null};a6e.value.set(e,A);let i=null;if(n.key){let s=Wbt.value.get(n.key);if(s)throw a6e.value.delete(e),sa("MODE_KEY_TAKEN",{detail:`${n.key} is bound to "${s}"`,context:{key:n.key,name:e,taken:s}});Wbt.value.set(n.key,e),i=()=>{Wbt.value.delete(n.key)}}return ZRe(),()=>{a6e.value.delete(e),i?.(),ZRe()}},paletteFor(e){return i6e.value,a6e.value.get(e)??null},paletteForKey(e){i6e.value;let n=Wbt.value.get(e);return n?a6e.value.get(n)??null:null},names:XA.computed(()=>{return i6e.value,[...a6e.value.keys()]}),modeKeys:XA.computed(()=>{return i6e.value,[...Wbt.value.entries()].map(([e,n])=>({key:e,name:n}))})};uvt=XA.computed(()=>{return i6e.value,A6e.value,wsr()})});function TTa(e,n){if(n.prefix===void 0)return!1;if(!e.endsWith(n.prefix))return!1;let A=e[e.length-n.prefix.length-1];return A===void 0||A===" "}function UTa(e,n){if(n.resolve!=="splice")return null;let A=ksr(e,n);if(A===-1)return null;let i=e.slice(A+n.key.length);if(/\s/.test(i))return null;return{start:A,query:i}}function RTa(e,n){let A=(n.prefix??"")+n.key;if(!e.endsWith(A))return-1;let i=e.length-A.length,s=e[i-1];return s===void 0||s===" "?i:-1}function ksr(e,n){for(let A=e.length-1;A>=0;A--){if(e[A]!==n.key)continue;let i=e[A-1];if(i===void 0||i===" ")return A}return-1}var o6e;var hxn=Lt(()=>{o6e=[{mode:"voice",key:"#",prefix:">",resolve:"append"},{mode:"file",key:"@",resolve:"splice"}]});function YTa(e,n=()=>!0){let A=XA.ref("normal"),i=XA.ref(!1),s=XA.ref(null),u=XA.ref(0),p=null;XA.watch([A,i],([y,D])=>{if((y==="loading"||D)&&!p)p=setInterval(()=>{u.value++},80);else if(y!=="loading"&&!D&&p)clearInterval(p),p=null}),XA.onUnmounted(()=>{if(p)clearInterval(p)});let d=XA.computed(()=>{if(i.value||A.value==="loading")return KTa[u.value%KTa.length];let y=Zbt[A.value];if(y)return y;let D=k1.paletteFor(A.value);return D?.definition.symbol??D?.definition.key??Dsr});function b(y){A.value=y}function E(){for(let[y,D]of Object.entries(one))$h(y,(F)=>{if(!n())return;if(A.value==="loading")return;if(A.value==="voice"&&D==="voice"){s.value="confirm",A.value="normal",F.consumed=!0;return}if(e().length>0)return;A.value=A.value===D?"normal":D,F.consumed=!0});$h("up",(y)=>{if(!n())return;if(A.value!=="normal")return;if(e().length>0)return;A.value="history",y.consumed=!0})}return{mode:A,symbol:d,processing:i,setMode:b,voiceExitReason:s,bindKeys:E}}var one,Kso,lvt,Zbt,Dsr="\xB7",KTa;var VRe=Lt(()=>{Ac();r6e();hxn();one={":":"command","/":"instance","*":"model","^":"session","~":"agent","#":"voice","?":"help",">":"prompt","%":"module",'"':"theme"},Kso=new Set(o6e.map((e)=>e.mode)),lvt={command:"run app commands",instance:"switch to a running conversation",session:"reopen a past session",agent:"start an agent",model:"set the agent's model",voice:"voice input via microphone",help:"show this help",prompt:"insert a prompt into your message",module:"manage agent modules",theme:"switch colour theme",file:"reference a file in your message"},Zbt={normal:"\xBB",command:":",instance:"/",model:"*",session:"^",agent:"~",voice:"#",help:"?",history:"\u2191",loading:"\u280B",escalation:"\u203C",prompt:">",module:"%",theme:'"',file:"@",question:"\xB7"},KTa=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});var jTa={};JA(jTa,{useQuestions:()=>GO});function GO(){if(!bxn)bxn=xsr();return bxn}function xsr(){function e(n){if(s6e.value)throw sa("PALETTE_ALREADY_OPEN",{detail:"a question is already open"});return new Promise((A)=>{let i=(s)=>{if(!s6e.value)return;s6e.value=null,A(s)};s6e.value={...n(i),settle:i}})}return{pending:XA.computed(()=>s6e.value),cancel(){let n=s6e.value;if(!n)return;n.settle(n.kind==="confirm"?!1:void 0)},submitText(n){let A=s6e.value;if(A?.kind!=="prompt")return;A.settle(n.length>0?n:void 0)},async pick(n,A){return e((i)=>({kind:"pick",message:A?.placeholder??"",items:n.map((s,u)=>{let p=typeof s==="string",d=p?s:s.label,b=p?s:s.value;return{id:`pick-${u}`,label:d,...p?{}:s.description?{description:s.description}:{},action:()=>{i(b)}}})}))},async confirm(n){return e((A)=>({kind:"confirm",message:n,items:[{id:"yes",label:"yes",action:()=>{A(!0)}},{id:"no",label:"no",action:()=>{A(!1)}}]}))},async prompt(n,A){return e(()=>({kind:"prompt",message:n,items:[],...A?.placeholder?{placeholder:A.placeholder}:{}}))}}}var s6e,bxn;var Vbt=Lt(()=>{Ac();sc();s6e=XA.ref(null)});function Fsr(e,n,A){return`${e}\x00${n}\x00${A??""}`}function Ixn(e){return{id:e.id,label:e.label,...e.description!==void 0?{description:e.description}:{},...e.chunks!==void 0?{chunks:e.chunks}:{},...e.descendQuery!==void 0?{descendQuery:e.descendQuery}:{},...e.workingMessage!==void 0?{workingMessage:e.workingMessage}:{},...e.detach!==void 0?{detach:e.detach}:{},...e.header!==void 0?{header:e.header}:{},...e.separator!==void 0?{separator:e.separator}:{},...e.preview!==void 0?{preview:e.preview}:{},...e.choices!==void 0?{choices:()=>e.choices().map(Ixn)}:{},action:e.action??(()=>{})}}function vsr(e){if(Array.isArray(e))return{items:e.map(Ixn)};return{items:e.items.map(Ixn),...e.breadcrumb!==void 0?{breadcrumb:e.breadcrumb}:{},...e.status!==void 0?{status:e.status}:{},...e.invalid!==void 0?{invalid:e.invalid}:{}}}function Ssr(e,n,A){let i=Fsr(e.name,n,A);HTa.value;let s=Cxn.value.get(i);if(s)return{items:s.items,...s.breadcrumb!==void 0?{breadcrumb:s.breadcrumb}:{},...s.status!==void 0?{status:s.status}:{},...s.invalid!==void 0?{invalid:s.invalid}:{}};if(!Bxn.has(i))Bxn.add(i),(async()=>{try{let u=await e.definition.list(n,A);Cxn.value.set(i,{key:i,...vsr(u)})}catch(u){Cxn.value.set(i,{key:i,items:[],status:{kind:"error",message:u instanceof Error?u.message:String(u)}})}finally{Bxn.delete(i),HTa.value++}})();return{items:[],status:{kind:"loading",message:"loading..."}}}function PTa(e){return{id:e,resolve:XA.computed(()=>(n,A)=>{let i=GO().pending.value;if(i)return{items:i.items,...i.message?{breadcrumb:i.message}:{}};let s=k1.paletteFor(e);if(!s)return{items:[]};return Ssr(s,n,A)}),get skipDefaultFilter(){return k1.paletteFor(e)?.definition.filter===!1},get tabs(){return k1.paletteFor(e)?.definition.tabs},get anchor(){return k1.paletteFor(e)?.definition.anchor},get maxHeight(){return k1.paletteFor(e)?.definition.maxHeight}}}var Cxn,Bxn,HTa,XRe="question",JTa;var Exn=Lt(()=>{Ac();r6e();Vbt();Cxn=XA.ref(new Map),Bxn=new Set,HTa=XA.ref(0);JTa={id:XRe,skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=GO().pending.value;if(!n)return{items:[]};if(n.kind==="prompt"){let A=e.length>0;return{items:[{id:"prompt",label:A?e:n.placeholder??"type an answer",placeholder:!A,description:A?"enter to confirm":"",action:()=>{}}],breadcrumb:n.message}}return{items:n.items,...n.message?{breadcrumb:n.message}:{}}})}});function $Ta(e){OTa.set(e.id,e)}function gvt(e){let n=OTa.get(e);if(n)return n;if(e===XRe)return JTa;return k1.paletteFor(e)?PTa(e):void 0}var OTa;var zTa=Lt(()=>{r6e();Exn();OTa=new Map});function Nsr(e,n){if(e.length===0)return!0;if(e.length>n.length)return!1;let A=0;for(let i of n)if(i===e[A]){if(A++,A===e.length)return!0}return!1}function Gsr(e,n){if(n===e)return 100;if(n.startsWith(e))return 75;if(n.includes(e))return 50;if(e.length>=Msr&&n.length<=e.length*Lsr){if(Nsr(e,n))return 25}return null}function c6e(e,n){let A=e.toLowerCase().split(/[\s:]+/).filter(Boolean);if(A.length===0)return 0;let i=n.map((u)=>u.toLowerCase()),s=0;for(let u of A){let p=null;for(let d of i){let b=Gsr(u,d);if(b!==null&&(p===null||b>p))p=b}if(p===null)return null;s+=p}return s}var Msr=3,Lsr=4;function WTa(e){return typeof e.children==="function"?e.children():e.children}function ZTa(e,n){let A=e.endsWith(" "),i=e.split(" "),s=i.map((D)=>D.toLowerCase()),u=n,p=[],d=A?s.length:s.length-1;for(let D=0;D<d;D++){let F=s[D];if(!F)continue;let S=u.find((T)=>T.label.toLowerCase()===F);if(!S)return{nodes:[],breadcrumb:p,partial:F,exactMatch:null,noMatch:!0,input:null};if(S.kind==="action")return{nodes:[],breadcrumb:p,partial:"",exactMatch:S,noMatch:!1,input:null};if(S.kind==="input")return{nodes:[],breadcrumb:[...p,S.label],partial:"",exactMatch:null,noMatch:!1,input:{node:S,value:i.slice(D+1).join(" ").trim()}};p.push(S.label),u=WTa(S)}let b=A?"":s[s.length-1]??"",E=b?u.filter((D)=>D.label.toLowerCase().startsWith(b.toLowerCase())):u;if(b&&E.length===0)return{nodes:E,breadcrumb:p,partial:b,exactMatch:null,noMatch:!0,input:null};let y=b?E.find((D)=>D.label.toLowerCase()===b.toLowerCase())??null:null;if(y&&y.kind==="group")return{nodes:WTa(y),breadcrumb:[...p,y.label],partial:"",exactMatch:null,noMatch:!1,input:null};return{nodes:E,breadcrumb:p,partial:b,exactMatch:y,noMatch:!1,input:null}}function VTa(e,n){return[...e,n].join(" ")+" "}function pvt(e){if(e.length===0)return null;let n=3,A=e.length>n?e.slice(-n):e;return(e.length>n?"\u2026 \u203A ":"")+A.join(" \u203A ")+" \u203A"}import{existsSync as qsr}from"fs";import{join as XTa,resolve as Tsr}from"path";import{homedir as eUa}from"os";function Usr(){let e=SE();function n(){let b=e.store.profiles.active();if(!b)throw sa("NOT_AUTHENTICATED");return b}function A(b){let E=eUa();return b===E||b.startsWith(E+"/")?"~"+b.slice(E.length):b}function i(){let b=n(),E={dir:XTa(e.store.root,"profiles",b.id,"agents"),label:"~/.axon (default)"},y=b.agents.extraRoots().map((D)=>({dir:D,label:A(D)}));return[E,...y]}function s(){let b=e.store.profiles.active();if(!b)return[];return b.agents.extraRoots().map((E)=>({dir:E,label:A(E)}))}async function u(b,E){await e.projects.create("agent",{name:b,dir:E})}async function p(b){let E=Tsr(b.startsWith("~")?XTa(eUa(),b.slice(1)):b);if(!qsr(E))throw sa("WATCH_PATH_NOT_FOUND",{context:{path:E}});return await n().agents.watch(E),Ml().refreshAvailable(),E}async function d(b){await n().agents.unwatch(b),Ml().refreshAvailable()}return{locations:i,watched:s,create:u,watch:p,unwatch:d}}function eKe(){if(!yxn)yxn=Usr();return yxn}var yxn;var tUa=Lt(()=>{d3();mF();sc()});function VBe(){if(!_xn)_xn=Ksr();return _xn}function Ksr(){let e=XA.ref(null),n=0,A=null,i=!1,s=null,u=!1,p=null;function d(D){s=D}function b(D){p=D}function E(){if(i)return!0;if(p?.()){if(n=0,A)clearTimeout(A);return e.value=null,!1}if(n++,A)clearTimeout(A);if(n===1)return e.value="press ctrl+c again to quit",A=setTimeout(()=>{n=0,e.value=null},Rsr),!1;if(n===2)return y(),!1;return process.exit(130),!1}async function y(D=0){if(u)return;if(u=!0,n=Math.max(n,2),A)clearTimeout(A);e.value="shutting down \xB7 ctrl+c to force quit";let F=new Promise((T)=>{setTimeout(()=>{console.error(`shutdown exceeded ${nUa}ms \u2014 exiting without waiting further`),T()},nUa)});await Promise.race([Ml().shutdown().catch((T)=>{console.error("shutdown failed during exit:",T)}),F]),i=!0,setTimeout(()=>{console.error(`exit exceeded ${aUa}ms \u2014 forcing`),process.exit(D)},aUa).unref?.(),s?.(D)}return{hint:e,bind:d,bindDraft:b,onQuit:E,gracefulExit:y}}var Rsr=500,nUa=2000,aUa=1500,_xn;var Xbt=Lt(()=>{Ac();mF()});function tKe(){if(!Qxn)Qxn=jsr();return Qxn}function jsr(){let e=SE().updates,n=XA.ref(null),A=XA.ref(!1),i=XA.computed(()=>n.value!==null),s=null;async function u(E){if(!e.supported()||A.value)return;A.value=!0;try{let y=await e.check(E);n.value=y.status==="available"?y.latest:null}finally{A.value=!1}}function p(){if(!e.supported())return()=>{};if(u().catch(()=>{}),!s)s=setInterval(()=>{u().catch(()=>{})},Ysr);return d}function d(){if(s)clearInterval(s);s=null}async function b(E){if((await e.handoff(E)).status==="current"){n.value=null;return}await VBe().gracefulExit(Rbt)}return{current:e.currentVersion,latest:n,available:i,checking:A,check:u,start:p,stop:d,update:b}}var Ysr=21600000,Qxn;var mvt=Lt(()=>{Ac();d3();Xbt();tvt()});function AUa(){return{entries:XA.computed(()=>eCt.value),checking:XA.computed(()=>wxn.value),outdated:XA.computed(()=>eCt.value.filter((e)=>e.outdated)),refresh(){if(tCt)return tCt;if(kxn!==null)return Promise.resolve();if(Date.now()<Dxn)return Promise.resolve();return wxn.value=!0,tCt=(async()=>{let e=!1;try{let n=await cJ().updates();eCt.value=n,e=n.every((A)=>A.latest!==null)}catch{eCt.value=[]}finally{if(e)kxn=Date.now();else Dxn=Date.now()+Hsr;wxn.value=!1,tCt=null}})(),tCt},invalidate(){kxn=null,Dxn=0,eCt.value=[]}}}var eCt,wxn,kxn=null,Dxn=0,Hsr=1e4,tCt=null;var iUa=Lt(()=>{Ac();u6e();eCt=XA.ref([]),wxn=XA.ref(!1)});function rUa({entries:e,checking:n}){if(n&&e.length===0)return[{kind:"message",label:"checking\u2026",description:"Asking the registry what is published"}];if(e.length===0)return[{kind:"message",label:"none installed",description:"Your profile declares no registry extensions"}];let A=e.filter((u)=>u.outdated),i=e.filter((u)=>u.latest===null);if(A.length===0){if(i.length>0)return[{kind:"message",label:"could not reach the registry",description:`${i.length} extension${i.length===1?"":"s"} could not be checked`}];return[{kind:"message",label:"up to date",description:`All ${e.length} extension${e.length===1?"":"s"} are current`}]}let s=[];if(A.length>1)s.push({kind:"all",count:A.length,entries:A});for(let u of A)s.push({kind:"entry",entry:u});return s}function Psr(){let e=process.env.AXON_API_BASE??(process.env.AXON_STAGING_MODE==="true"?"http://localhost:3099":"production"),n=0;for(let A=0;A<e.length;A++)n=Math.imul(31,n)+e.charCodeAt(A)|0;return(n>>>0).toString(36)}function Jsr(e){let n=SE(),A=n.cloud.client.registry.artifacts,i=n.store.cache.file(`registry-${e}-${Psr()}`),s=XA.ref([]),u=XA.ref(!1),p=XA.ref(null),d=!1;function b(){if(d)return;d=!0;try{let y=i.get();if(y?.entries?.length)s.value=y.entries}catch{}E()}function E(){if(u.value)return;u.value=!0,p.value=null,A.of(e).search().then((y)=>{s.value=y;try{i.set({fetchedAt:Date.now(),entries:y})}catch{}}).catch((y)=>{p.value=y instanceof Error?y:Error(String(y))}).finally(()=>{u.value=!1})}return{entries:s,loading:u,error:p,ensure:b,reset(){if(p.value)p.value=null,E()}}}function nKe(e){let n=oUa.get(e);if(!n)n=Jsr(e),oUa.set(e,n);return n}var oUa;var dvt=Lt(()=>{Ac();d3();oUa=new Map});function HN(){return{current:fvt,show(e,n="info",A){let i=e.trim();if(i.length===0)return;fvt.value={message:i.length>sUa?`${i.slice(0,sUa-1)}\u2026`:i,level:n};let s=A!==void 0&&Number.isFinite(A)&&A>0?Math.min(A,$sr):Osr;if(l6e)clearTimeout(l6e);l6e=setTimeout(()=>{fvt.value=null,l6e=null},s)},clear(){if(l6e)clearTimeout(l6e);l6e=null,fvt.value=null}}}var sUa=50,Osr=300,$sr=5000,fvt,l6e=null;var g6e=Lt(()=>{Ac();fvt=XA.ref(null)});function aKe(){let e=Ml(),n=XA.computed(()=>e.prompts.list());function A(s){return e.prompts.render(s)}function i(s){return e.prompts.fetch(s)}return{entries:n,render:A,fetch:i}}var cUa=Lt(()=>{Ac();mF()});function zsr(){let e=SE().cloud.client.registry.artifacts,n=XA.ref([]),A=XA.ref(!1),i=XA.ref(null),s=!1;function u(){if(s||A.value||i.value)return;A.value=!0,e.of("prompt").search().then((d)=>{n.value=d,s=!0}).catch((d)=>{i.value=d instanceof Error?d:Error(String(d))}).finally(()=>{A.value=!1})}function p(){if(i.value)i.value=null}return{entries:n,loading:A,error:i,ensure:u,reset:p}}function uUa(){if(!xxn)xxn=zsr();return xxn}var xxn;var lUa=Lt(()=>{Ac();d3()});function Wsr(e,n){let A=e.trim().toLowerCase();return{items:aKe().entries.value.filter((s)=>AKe(A,s.name,s.description)).map((s)=>({id:`prompt:${s.name}`,label:s.name,...s.description?{description:s.description}:{},completeQuery:s.name,inlineResult:!0,workingMessage:`rendering ${s.name}...`,action:async()=>{try{n(await aKe().render(s.name))}catch(u){vb().sendError.value=mUa(u)}}}))}}function gUa(e,n,A){let i=uUa();if(i.ensure(),i.error.value)return{items:[],status:{kind:"error",message:`registry unavailable \u2014 ${i.error.value.message}`}};let s=e.trim().toLowerCase(),u=new Set(aKe().entries.value.map((d)=>d.name)),p=i.entries.value.filter((d)=>AKe(s,d.name,d.description)).filter((d)=>!(A?.excludeDeclared&&u.has(d.name))).map((d)=>({id:`registry-prompt:${d.name}`,label:d.name,description:d.description??"no description",completeQuery:d.name,inlineResult:!0,workingMessage:`rendering ${d.name}...`,action:async()=>{try{n(await aKe().fetch(d.name))}catch(b){vb().sendError.value=mUa(b)}}}));if(i.loading.value){let d={kind:"loading",message:"loading registry prompts..."};return p.length===0?{items:[],status:d}:{items:p,status:d}}return{items:p}}function Fxn(e,n=[]){if(!e.startsWith("@"))return!1;let A=e.trim().toLowerCase();return!n.some((i)=>i.toLowerCase()===A)}function AKe(e,n,A){if(!e)return!0;let i=e.toLowerCase();return n.toLowerCase().includes(i)||(A?.toLowerCase().includes(i)??!1)}function mUa(e){return e instanceof Error?e:Error(String(e))}var pUa;var hvt=Lt(()=>{Ac();cUa();lUa();hR();pUa={id:"prompt",maxHeight:8,skipDefaultFilter:!0,resolve:XA.computed(()=>(e,n,A)=>{let i=aKe().entries.value.map((p)=>p.name);if(Fxn(e,i))return gUa(e,A);let s=Wsr(e,A),u=gUa(e,A,{excludeDeclared:!0});if(u.items.length===0)return s;return{items:[{id:"hdr:registry",label:"registry",header:!0,action:()=>{}},...u.items,...s.items.length>0?[{id:"sep:declared",separator:!0,label:"",action:()=>{}},{id:"hdr:declared",label:"this agent",header:!0,action:()=>{}},...s.items]:[]],...u.status?{status:u.status}:{}}})}});function bvt(e,n){return nKe(e).entries.value.filter((i)=>AKe(n.term,i.name,i.description)).filter((i)=>!(n.mode==="install"&&n.installed.has(i.name))).map((i)=>{let s=n.installed.has(i.name);return{id:`registry-${e}:${i.name}`,label:i.name,description:s?`installed \xB7 ${i.description??""}`.trimEnd():`install \xB7 ${i.description??"no description"}`,completeQuery:i.name,action:()=>{if(s)return;Zsr(e,i.name)}}})}async function Zsr(e,n){try{if(e==="extension"){await Ml().installExtension(n),HN().show(`installed ${n}`);return}if((await Ml().installModule(n)).status==="not-found")throw Error(`${n} could not be resolved for install`)}catch(A){vb().sendError.value=A instanceof Error?A:Error(String(A))}}var vxn=Lt(()=>{dvt();mF();g6e();hR();hvt()});import{join as dUa}from"path";function Vsr(e){let n=e.lastIndexOf("@");return n>0?e.slice(0,n):e}function nCt(e,n=""){return{kind:"action",label:`(${e})`,description:n,invalid:!0,action:()=>{}}}function fUa(e){let n=nKe(e);n.ensure();let A=e==="module"?new Set(Ml().modules.value.map((s)=>s.packageName).filter((s)=>Boolean(s))):new Set(cJ().declared.value.map(Vsr)),i=bvt(e,{term:"",installed:A,mode:"install"});if(i.length===0){let s=n.error.value?`registry unavailable \u2014 ${n.error.value.message}`:n.loading.value?"loading catalogue...":`no ${e}s available to install`;return[nCt(s)]}return i.map((s)=>({kind:"action",label:s.label,description:s.description??"",action:(u)=>{s.action(u)}}))}var Xsr,aCt;var Sxn=Lt(()=>{dDt();e6e();mF();tUa();sc();mvt();Xbt();ovt();hR();u6e();iUa();dvt();vxn();d3();g6e();Xsr=[{label:"log",kind:"events",description:"This session's full event log, as an editor buffer"},{label:"flame",kind:"trace",description:"This session's trace \u2014 the flame graph"},{label:"engine",kind:"engine",description:"Engine calls and responses for this session"}],aCt=[{kind:"group",label:"open",description:"Open one of this session's runtime panes in the editor",children:()=>{let e=Ml(),n=Hhe();if(!n.available.value)return[{kind:"action",label:"(no editor attached)",description:"Open this project in an editor running Axon Fleet",action:()=>{throw sa("NO_EDITOR_ATTACHED")}}];if(e.sessionId.value===null)return[{kind:"action",label:"(no session)",description:"Start or focus an agent first",action:()=>{throw sa("NO_SESSION_TO_OPEN")}}];return Xsr.map((A)=>({kind:"action",label:A.label,description:A.description,workingMessage:`opening ${A.label}...`,action:async()=>{let i=e.sessionId.value;if(!i)throw sa("NO_SESSION_TO_OPEN");let s=e.home.value;if(s)await n.editorAbout(s,"buffer",A.kind,i);else await n.editor("buffer",A.kind,i)}}))}},{kind:"group",label:"agent",description:"The running agent \u2014 spawn, close, reboot, clear",children:()=>[{kind:"action",label:"spawn",description:"Start another agent instance \u2014 the ~ key does this",action:()=>{let e=vb();e.text.value="",e.mode.setMode("agent")}},{kind:"action",label:"switch",description:"Go to another running conversation \u2014 the / key does this",action:()=>{let e=vb();e.text.value="",e.mode.setMode("instance")}},{kind:"action",label:"close",description:"Shut down the focused agent instance",workingMessage:"closing instance...",action:()=>Ml().close()},{kind:"action",label:"reboot",description:"Reload the running agent (blueprint rescan + hot-swap)",workingMessage:"rebooting...",action:()=>Ml().reboot()},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Ml().clear()},{kind:"action",label:"model",description:"Set the focused agent's model",action:()=>{let e=vb();e.text.value="",e.mode.setMode("model")}}]},{kind:"action",label:"reload",description:"Reload your config \u2014 main.ts, plugins and extensions",workingMessage:"reloading config...",action:async()=>{let e=cJ();await e.reload();let n=e.problems.value.length,A=HN();if(n>0)A.show(`config reloaded \u2014 ${n} problem${n===1?"":"s"}`,"error");else A.show("config reloaded")}},{kind:"input",label:"init",description:"Scaffold a new agent",placeholder:"agent name",token:"name",workingMessage:"creating agent...",confirm:{choices:()=>[...eKe().locations().map((e)=>({label:e.label})),{label:"watch a new directory..."}]},action:async(e,n)=>{let A=eKe();if(!n)throw sa("PALETTE_CHOICE_REQUIRED");if(n==="watch a new directory...")throw sa("NOT_WIRED",{detail:"typing a path for a new watch target isn't wired into this choice step yet \u2014 run `axon watch <dir>` first, then `init` again"});let i=A.locations().find((s)=>s.label===n)?.dir;if(!i)throw sa("PROJECT_NOT_FOUND",{context:{location:n}});await A.create(e,i),await Ml().select(e)}},{kind:"action",label:"exit",description:"Exit the application",action:()=>VBe().gracefulExit()},{kind:"action",label:"update",description:"Install the latest Axon release and exit",workingMessage:"preparing update...",action:(e)=>tKe().update(e)},{kind:"action",label:"logout",description:"Sign out of your Axon account",workingMessage:"logging out...",action:()=>P6().logout()},{kind:"action",label:"docs",description:"Open Axon documentation",action:()=>{PGe("https://axon.arclabs.it/docs")}},{kind:"group",label:"module",description:"Agent modules \u2014 install into the focused agent, or remove one",children:()=>[{kind:"group",label:"install",description:"Install a registry module into the running agent",children:()=>fUa("module")},{kind:"group",label:"uninstall",description:"Remove a module from the running agent",children:()=>{let e=Ml().modules.value;if(e.length===0)return[nCt("none installed","This agent has no installed modules")];return e.filter((n)=>n.packageName).map((n)=>({kind:"action",label:n.packageName,description:n.version?`v${n.version}`:"",workingMessage:`removing ${n.packageName}...`,action:()=>{Ml().uninstallModule(n.packageName)}}))}}]},{kind:"group",label:"ext",description:"Terminal extensions \u2014 commands, keys, palettes, themes",children:()=>[{kind:"group",label:"install",description:"Install a registry extension into your terminal",children:()=>fUa("extension")},{kind:"group",label:"update",description:"Update installed extensions",children:()=>{let e=AUa();return e.refresh(),rUa({entries:e.entries.value,checking:e.checking.value}).map((n)=>{if(n.kind==="message")return nCt(n.label,n.description);if(n.kind==="all")return{kind:"action",label:"all",description:`Update ${n.count} extensions`,workingMessage:`updating ${n.count} extensions...`,action:async()=>{for(let i of n.entries)await cJ().update(i.name,i.latest);e.invalidate(),HN().show(`updated ${n.count} extensions`)}};let A=n.entry;return{kind:"action",label:A.name,description:`${A.current} \u2192 ${A.latest}`,workingMessage:`updating ${A.name}...`,keepOpen:!0,action:async()=>{await cJ().update(A.name,A.latest),e.invalidate(),HN().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove an extension from your terminal",children:()=>{let e=cJ().declared.value;if(e.length===0)return[nCt("none installed","Your profile declares no extensions")];return e.map((n)=>({kind:"action",label:n,description:"",workingMessage:`removing ${n}...`,action:async()=>{await Ml().uninstallExtension(n),HN().show(`removed ${n}`)}}))}}]},{kind:"group",label:"session",description:"This conversation \u2014 fork it, name it, open its log",children:()=>[{kind:"action",label:"pick",description:"Reopen a past conversation \u2014 the ^ key does this",action:()=>{let e=vb();e.text.value="",e.mode.setMode("session")}},{kind:"action",label:"fork",description:"Copy this conversation \u2014 the copy diverges, this one is untouched",workingMessage:"forking session...",action:async()=>{let e=await Ml().forkSession();HN().show(`forked \u2192 ${e.sessionId.slice(0,8)} \xB7 open it with ^`)}},{kind:"input",label:"rename",description:"Give this conversation a name",placeholder:"a short name",token:"title",workingMessage:"renaming session...",action:async(e)=>{await Ml().renameSession(e),HN().show(`renamed \u2192 ${e}`)}},{kind:"action",label:"open",description:"Open this session's .jsonl in the editor",workingMessage:"opening session log...",action:async()=>{let e=Ml(),n=Hhe(),A=e.sessionFile.value;if(!A)throw sa("NO_SESSION_TO_OPEN");if(!n.available.value)throw sa("NO_EDITOR_ATTACHED");let i=e.home.value;if(i)await n.editorAbout(i,"open",A);else await n.editor("open",A)}}]},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Ml().clear()},{kind:"action",label:"model",description:"Set the focused agent's model",action:()=>{let e=vb();e.text.value="",e.mode.setMode("model")}},{kind:"action",label:"config",description:"Open your main.ts in the editor \u2014 your own commands, keys and plugins",workingMessage:"opening config...",action:async()=>{let e=Hhe();if(!e.available.value)throw sa("NO_EDITOR_ATTACHED");await e.editor("open",dUa(SE().profile.root,"main.ts"))}},{kind:"action",label:"profile",description:"Open your profile.config.ts in the editor \u2014 extensions, theme, paths",workingMessage:"opening profile...",action:async()=>{let e=Hhe();if(!e.available.value)throw sa("NO_EDITOR_ATTACHED");await e.editor("open",dUa(SE().profile.root,"profile.config.ts"))}},{kind:"input",label:"watch",description:"Register a directory as an agent location \u2014 scanned by init and the agent list",placeholder:"~/path/to/directory",token:"dir",workingMessage:"watching directory...",action:async(e)=>{await eKe().watch(e)}},{kind:"group",label:"unwatch",description:"Stop scanning a directory for agents",children:()=>{let e=eKe().watched();if(e.length===0)return[nCt("no watched directories")];return e.map((n)=>({kind:"action",label:n.label,description:n.dir,workingMessage:"unwatching directory...",action:async()=>{await eKe().unwatch(n.dir)}}))}},{kind:"group",label:"provider",description:"Manage provider credentials",children:[{kind:"group",label:"codex",description:"OpenAI Codex subscription (BYOK)",children:()=>{let e=P6().connections.openai;if(!e.connected.value)return[{kind:"action",label:"connect",description:"Sign in with your OpenAI account",workingMessage:"waiting for browser sign-in...",action:()=>e.connect()}];return[{kind:"action",label:"disconnect",description:"Remove the OpenAI connection from your account",workingMessage:"disconnecting...",action:()=>e.disconnect()}]}},{kind:"group",label:"openrouter",description:"OpenRouter API key (BYOK)",children:()=>{let e=P6().connections.openrouter;if(!e.connected.value)return[{kind:"input",label:"connect",description:"Store this OpenRouter API key in your account vault",placeholder:"paste your OpenRouter API key (openrouter.ai/keys)",token:"key",workingMessage:"verifying and storing key...",action:(n)=>e.connect(n)}];return[{kind:"action",label:"disconnect",description:"Remove the OpenRouter key from your account",workingMessage:"disconnecting...",action:()=>e.disconnect()}]}}]}]});var hUa;var bUa=Lt(()=>{Ac();Sxn();r6e();hUa={id:"command",skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=ZTa(e,[...aCt,...uvt.value]);function A(s){if(s.kind==="group"||s.kind==="input"){let u=VTa(n.breadcrumb,s.label);return{id:s.label,label:s.label,description:s.description,descendQuery:u,completeQuery:u,action:()=>{}}}return{...s.invalid?{invalid:!0}:{},...s.keepOpen?{keepOpen:!0}:{},id:s.label,label:s.label,description:s.description,workingMessage:s.workingMessage,completeQuery:[...n.breadcrumb,s.label].join(" "),action:s.action}}if(n.nodes.length===0&&n.exactMatch?.kind==="action"&&!n.input){let s=n.exactMatch;return{items:[A(s)],breadcrumb:pvt(n.breadcrumb),invalid:!1}}if(n.input){let{node:s,value:u}=n.input;return{items:[{id:s.label,label:u||`<${s.token}>`,placeholder:!u,...u?{}:{invalid:!0},description:u?s.description:s.placeholder,workingMessage:s.workingMessage,...s.confirm?{choices:()=>{return s.confirm.choices(u).map((p)=>({id:p.label,label:p.label,description:p.description,workingMessage:s.workingMessage,action:(d)=>Promise.resolve(s.action(u,p.label,d))}))},action:()=>{}}:{action:(p)=>Promise.resolve(s.action(u,void 0,p))}}],breadcrumb:pvt(n.breadcrumb),invalid:!1}}let i=n.exactMatch!==null&&n.exactMatch.kind==="action";return{items:n.nodes.map(A),breadcrumb:pvt(n.breadcrumb),invalid:!i}})}});function ncr(){let e=SE(),n=e.cloud.client.registry.models,A=e.store.cache.file(ecr),i=XA.ref([]),s=XA.ref([]),u=XA.ref(!1),p=XA.ref(null),d=0,b=!1;function E(){if(d>0)return;let S=null;try{S=A.get()}catch{S=null}if(!S?.models?.length)return;i.value=S.models,s.value=S.failures??[],d=S.at??1}function y(){if(b)return;if(b=!0,i.value.length===0)u.value=!0;n.all().then((S)=>{i.value=S.models,s.value=S.failures,d=Date.now();try{A.set({...S,at:d})}catch{}p.value=null}).catch((S)=>{if(i.value.length===0)p.value=S instanceof Error?S:Error(String(S))}).finally(()=>{b=!1,u.value=!1})}function D(){if(E(),d===0||Date.now()-d>tcr)y()}function F(){if(!p.value)return;p.value=null,y()}return{models:i,failures:s,loading:u,error:p,ensure:D,reset:F}}function p6e(){if(!Nxn)Nxn=ncr();return Nxn}function CUa(){p6e().ensure()}var ecr="models",tcr=1800000,Nxn;var Cvt=Lt(()=>{Ac();d3()});function Acr(){let e=SE().store,n=XA.ref(e.state.get()?.recentModels??[]),A=XA.computed(()=>n.value);function i(s){let u=[s,...n.value.filter((p)=>p!==s)].slice(0,acr);n.value=u;try{e.state.update((p)=>({...p,recentModels:u}))}catch{}}return{order:A,record:i}}function iKe(){if(!Gxn)Gxn=Acr();return Gxn}var acr=25,Gxn;var BUa=Lt(()=>{Ac();d3()});function ocr(){let e=SE(),n=e.ollama,A=e.store.cache.file(icr),i=XA.ref(null),s=XA.ref([]),u=XA.ref({}),p=XA.ref(null),d=XA.ref(null),b=0,E=!1;function y(){let U=new Set(s.value.map(($)=>$.name));return n.registry.browse().map(($)=>({...$,installed:U.has($.name),...u.value[$.name]===void 0?{}:{size:u.value[$.name]}}))}function D(){if(b>0)return;try{let U=A.get();if(!U?.sizes)return;u.value=U.sizes,b=U.at??1}catch{}}async function F(){if(E)return;E=!0;try{let U=await n.status();if(i.value=U.running,!U.running){s.value=[];return}s.value=await n.models.list(),d.value=null;let $=n.registry.browse(),X=await Promise.all($.map(async(ne)=>{try{let Be=await n.registry.resolve(ne.name);return Be?[ne.name,Be.size]:null}catch{return null}})),Ae={};for(let ne of X)if(ne)Ae[ne[0]]=ne[1];if(Object.keys(Ae).length>0){u.value=Ae,b=Date.now();try{A.set({sizes:Ae,at:b})}catch{}}}catch(U){d.value=U instanceof Error?U:Error(String(U)),i.value=!1}finally{E=!1}}function S(){if(D(),i.value===null||b===0||Date.now()-b>rcr)F()}async function T(U){if(p.value)throw Error(`already downloading ${p.value.name}`);p.value={name:U,percent:null,status:"starting",bytes:null};try{for await(let $ of n.models.pull(U))if(p.value=scr(U,$),$.done)break;s.value=await n.models.list()}catch($){throw d.value=$ instanceof Error?$:Error(String($)),$}finally{p.value=null}}return{running:i,installed:s,catalog:y,sizes:u,pulling:p,error:d,ensure:S,refresh:F,pull:T}}function scr(e,n){return{name:e,percent:n.percent,status:n.status,bytes:n.total!==void 0&&n.completed!==void 0?{completed:n.completed,total:n.total}:null}}function rKe(){if(!Mxn)Mxn=ocr();return Mxn}var icr="ollama-sizes",rcr=86400000,Mxn;var Lxn=Lt(()=>{Ac();d3()});function ucr(e){let n=new Set;for(let A of e)for(let i of A.routes)n.add(i.via);if(n.add("axon"),rKe().running.value)n.add("ollama");return ccr.filter((A)=>n.has(A))}function lcr(e,n){let A=0;for(let i of n)if(i.routes.some((s)=>s.via===e))A++;return A}function gcr(e){let n=p6e().models.value,A=lcr(e,n);return{id:`route:${e}`,label:e,description:fcr[e]??`${A} models`,descendQuery:`${e}:`,completeQuery:`${e}:`,action:()=>{}}}function pcr(e){let n=iKe().order.value;if(n.length===0)return[{...qxn(),label:"axon:auto"}];let A=[];for(let i of n.slice(0,mcr)){if(i==="axon:auto"){A.push({...qxn(),label:"axon:auto"});continue}let s=i.indexOf(":");if(s===-1)continue;let u=i.slice(0,s),p=i.slice(s+1),d=e.find((E)=>E.routes.some((y)=>y.via===u&&y.model===p)),b=d?.routes.find((E)=>E.via===u&&E.model===p);if(!d||!b)continue;A.push({...QUa(d,b),label:i})}return A}function IUa(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function dcr(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}function qxn(){let e=Ml().model.value,n=e?.provider==="axon"&&"model"in e&&e.model==="auto";return{id:"axon:auto",label:"auto",chunks:["axon","auto"],completeQuery:"axon:auto",description:n?"(current) axon picks per request":"axon picks per request",action:()=>{return iKe().record("axon:auto"),Txn({provider:"axon",model:"auto"})},workingMessage:"switching to auto..."}}function QUa(e,n){let A=Ml().model.value,i=A!==null&&"model"in A&&A.model===n.model&&A.provider===n.via;return{id:`${n.via}:${n.model}`,label:e.id,chunks:[n.via,e.id],completeQuery:`${n.via}:${n.model}`,description:`${i?"(current) ":""}${Bcr(e,n)}`,action:()=>{if(n.via==="openrouter"&&!P6().connections.openrouter.connected.value)return Promise.reject(sa("PROVIDER_NOT_CONNECTED",{detail:"OpenRouter key not connected \u2014 run :provider openrouter connect first",context:{provider:"openrouter"}}));if(n.via==="codex"&&!P6().connections.openai.connected.value)return Promise.reject(sa("PROVIDER_NOT_CONNECTED",{detail:"OpenAI account not connected \u2014 run :provider codex connect first",context:{provider:"codex"}}));return iKe().record(`${n.via}:${n.model}`),Txn(bcr(n))},workingMessage:`switching to ${Ccr(e)} via ${n.via}...`}}function hcr(){let e=rKe(),n=Ml().model.value,A=(s)=>n?.provider==="ollama"&&("model"in n)&&n.model===s;return e.catalog().map((s)=>{let u={provider:"ollama",model:s.name},p=s.size===void 0?null:`${(s.size/1e9).toFixed(1)}GB`,d=s.capabilities.filter((b)=>b!=="chat").join(" ");return{installed:s.installed===!0,id:`ollama:${s.name}`,label:s.name,chunks:["ollama",s.name],completeQuery:`ollama:${s.name}`,description:[A(s.name)?"(current)":null,s.installed?"installed":p?`download ${p}`:"download",s.parameters,d||null,s.description].filter(Boolean).join(" \xB7 "),action:async()=>{if(iKe().record(`ollama:${s.name}`),await Txn(u),!s.installed)e.pull(s.name).catch(()=>{})},workingMessage:s.installed?`switching to ${s.name}...`:`downloading ${s.name}...`}}).sort((s,u)=>Number(u.installed)-Number(s.installed)).map(({installed:s,...u})=>u)}async function Txn(e){await Ml().setModel(e)}function bcr(e){switch(e.via){case"axon":return{provider:"axon",model:e.model};case"openrouter":return{provider:"openrouter",model:e.model};case"codex":return{provider:"codex",model:e.model}}}function Ccr(e){let n=e.name.indexOf(": ");return n===-1?e.name:e.name.slice(n+2)}function Bcr(e,n){let A=P6().connections,i=[];if(n.via==="openrouter"&&!A.openrouter.connected.value)i.push("no key");if(n.via==="codex"&&!A.openai.connected.value)i.push("not connected");if(e.context>0)i.push(Icr(e.context));if(n.via==="axon")i.push(`${yUa(n.pricing.inPerMTok)}/${yUa(n.pricing.outPerMTok)}`);if(n.via==="openrouter"&&n.pricing)i.push(`${EUa(n.pricing.prompt)}/${EUa(n.pricing.completion)}`);if(n.via==="codex")i.push("sub");return i.join(" \xB7 ")}function Icr(e){if(e>=1e6)return`${(e/1e6).toFixed(e%1e6===0?0:1)}m`;return`${Math.round(e/1000)}k`}function EUa(e){return`$${e.toFixed(e>0&&e<0.01?4:2)}`}function yUa(e){let n=e/100;return`\xA3${n.toFixed(n>0&&n<0.01?4:2)}`}var _Ua,ccr,mcr=5,fcr;var wUa=Lt(()=>{Ac();sc();mF();e6e();Cvt();BUa();Lxn();_Ua={id:"model",maxHeight:8,onEnter:()=>{let e=p6e();e.ensure(),e.reset(),rKe().ensure()},skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=Ml(),A=p6e();if(!n.displayName.value)return{items:[{id:"model:no-agent",label:"no agent running",description:"press | to start one first",action:()=>{},invalid:!0}]};let s=[],u=A.models.value.length===0;if(u&&A.error.value)return s.push({id:"models:error",label:"error",description:A.error.value.message,action:()=>{},invalid:!0}),{items:s};if(u&&A.loading.value)return s.push({id:"models:loading",label:"\u2026",description:"loading models...",action:()=>{},invalid:!0}),{items:s};for(let X of A.failures.value)s.push({id:`failure:${X.source}`,label:X.source,description:X.message,action:()=>{},invalid:!0});let p=e.indexOf(":"),d=(p===-1?e:e.slice(0,p)).trim().toLowerCase(),b=p===-1?null:e.slice(p+1).trim().toLowerCase(),E=ucr(A.models.value);if(b===null){let X=pcr(A.models.value),Ae=E.filter((Be)=>Be.includes(d)),ne=d.length===0?X:X.filter((Be)=>{let Qe=Be.chunks?.[0];return Qe!==void 0&&Qe.includes(d)});if(Ae.length===0&&ne.length===0)return s.push({id:"route:none",label:"no such provider",description:E.join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};if(ne.length>0){if(s.push(IUa("recent"),...ne),Ae.length>0)s.push(dcr("providers"),IUa("providers"))}return s.push(...Ae.map(gcr)),{items:s}}let y=E.filter((X)=>X.includes(d));if(y.length!==1)return s.push({id:"route:ambiguous",label:y.length===0?"no such provider":"which provider?",description:(y.length===0?E:y).join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};let D=y[0],F=[];if(D==="axon")F.push(qxn());if(D==="ollama")F.push(...hcr());for(let X of A.models.value)for(let Ae of X.routes)if(Ae.via===D)F.push(QUa(X,Ae));let S=iKe().order.value,T=(X)=>{let Ae=S.indexOf(X.id);return Ae===-1?Number.MAX_SAFE_INTEGER:Ae},U=F.sort((X,Ae)=>T(X)-T(Ae)),$=b.length===0?U:U.filter((X)=>c6e(b,[X.label])!==null);if($.length===0)return s.push({id:"model:none",label:"no match",description:`${D} has no model matching "${b}"`,action:()=>{},invalid:!0}),{items:s,breadcrumb:`${D} \u203A`,invalid:!0};return s.push(...$),{items:s,breadcrumb:`${D} \u203A`}})},ccr=["axon","codex","openrouter","ollama"];fcr={axon:"managed inference \xB7 billed to your Axon ledger",codex:"your ChatGPT subscription",openrouter:"your own OpenRouter key",ollama:"models on this machine \xB7 free"}});var kUa;var DUa=Lt(()=>{Ac();VRe();hR();kUa={id:"help",resolve:XA.computed(()=>()=>{return{items:Object.entries(one).map(([n,A])=>({id:A,label:`${Zbt[A]} ${A}`,description:lvt[A]??n,action:()=>{vb().mode.setMode(A)}}))}})}});function Ecr(e){let n=XA.ref(0);function A(){n.value++}let i=XA.computed(()=>{return n.value,e.history.recent()});function s(u,p){e.history.append(u,p),A()}return{entries:i,append:s}}function ACt(){if(!Uxn)Uxn=Ecr(SE().store);return Uxn}var Uxn;var Rxn=Lt(()=>{Ac();d3()});var xUa;var FUa=Lt(()=>{Ac();Rxn();hR();xUa={id:"history",anchor:"bottom",skipDefaultFilter:!0,resolve:XA.computed(()=>()=>{return{items:ACt().entries.value.slice().reverse().map((n)=>({id:n.id,label:n.content,description:n.agentName??void 0,preview:()=>{vb().previewHistory(n.content)},action:()=>{}}))}})}});function ycr(){return{ordered:[],originSessionId:null,originRoute:null,committed:!1}}function _cr(e,n){let A=new Map(e.map((y)=>[y.sessionId,y])),i=new Map,s=[];for(let y of e){let D=y.parentSessionId,F=D?A.get(D):void 0;if(!F){s.push(y);continue}let S=i.get(F.sessionId);if(S)S.push(y);else i.set(F.sessionId,[y])}let u=new Map(n.map((y,D)=>[y,D])),p=(y)=>u.get(y.sessionId)??Number.MAX_SAFE_INTEGER;s.sort((y,D)=>p(y)-p(D));let d=[],b=new Set,E=(y,D,F)=>{if(b.has(y.sessionId))return;b.add(y.sessionId),d.push({...y,indent:D,last:F});let S=i.get(y.sessionId)??[];S.forEach((T,U)=>E(T,D+1,U===S.length-1))};s.forEach((y,D)=>E(y,0,D===s.length-1));for(let y of e){if(b.has(y.sessionId))continue;b.add(y.sessionId),d.push({...y,indent:0,last:!0})}return d}function Qcr(){let e=iCt.value;if(e.committed)return;let n=Ml();if(e.originSessionId&&n.instances.value.some((A)=>A.sessionId===e.originSessionId))n.focus(e.originSessionId);if(e.originRoute)_E().push(e.originRoute)}function wcr(e){let n=()=>{Ml().focus(e.sessionId),_E().push("/")},A=e.exitedAt!==null;return{id:`instance:${e.sessionId}`,label:`${kcr(e)}${e.name}`,completeQuery:e.name,description:Dcr(e),...A?{invalid:!0,action:()=>{}}:{preview:n,action:()=>{iCt.value={...iCt.value,committed:!0},n()}}}}function kcr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function Dcr(e){let n=[];if(e.exitedAt!==null)n.push(`exited ${xcr(e.exitedAt)}`);else{if(e.focused)n.push("active");if(e.activity)n.push(e.activity)}return n.push(e.sessionId.slice(0,8)),n.join(" \xB7 ")}function xcr(e){let n=Math.floor((Date.now()-e)/60000);return n<1?"just now":`${n}m ago`}var iCt,vUa;var SUa=Lt(()=>{Ac();mF();iCt=XA.ref(ycr()),vUa={id:"instance",maxHeight:8,onEnter:()=>{let n=Ml().instances.value,A=n.find((i)=>i.focused)?.sessionId??null;iCt.value={originSessionId:A,originRoute:_E().currentRoute.value.path,committed:!1,ordered:[...A?[A]:[],...n.filter((i)=>i.sessionId!==A).map((i)=>i.sessionId)]}},onCancel:Qcr,resolve:XA.computed(()=>(e)=>{let n=Ml().instances.value;if(n.length===0)return{items:[{id:"instance:none",label:"nothing running",description:"press ~ to start an agent",action:()=>{},invalid:!0}]};return{items:_cr(n,iCt.value.ordered).map(wcr)}})}});function Fcr(e,n){return{id:`agent:${e.name}`,label:e.name,description:n.length>0?`${n.length} running`:void 0,action:()=>Ml().spawnSibling(e.dir),detach:!0,workingMessage:`starting ${e.name}...`}}function vcr(e){return{id:`deployment:${e.deploymentId}`,label:e.name,description:`running \xB7 ${e.tier}`,action:()=>Ml().attachDeployment(e.deploymentId),detach:!0,workingMessage:`connecting to ${e.name}...`}}function Kxn(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function NUa(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}var GUa;var MUa=Lt(()=>{Ac();mF();GUa={id:"agent",maxHeight:8,resolve:XA.computed(()=>(e)=>{let n=Ml(),A=[],i=n.available.value,s=i.filter((p)=>p.kind==="local");if(s.length>0){A.push(Kxn("agents"));for(let p of s){let d=n.instancesByAgent.value.get(p.name)??[];A.push(Fcr(p,d))}}let u=i.filter((p)=>p.kind==="deployed");if(u.length>0){A.push(NUa("cloud"),Kxn("deployed"));for(let p of u)A.push(vcr(p))}if(n.deploymentsError.value)A.push(NUa("cloud"),Kxn("deployed")),A.push({id:"deployments:error",label:"unavailable",description:n.deploymentsError.value.message,action:()=>{},invalid:!0});return{items:A}})}});function Scr(e){return e.hasEntries||e.running||e.forkedFrom!==null}function Ncr(e){let n=new Map(e.map((y)=>[y.sessionId,y])),A=new Map,i=[];for(let y of e){let D=y.forkedFrom,F=D?n.get(D):void 0;if(!F){i.push(y);continue}let S=A.get(F.sessionId);if(S)S.push(y);else A.set(F.sessionId,[y])}let s=new Map,u=(y)=>{let D=s.get(y.sessionId);if(D!==void 0)return D;s.set(y.sessionId,y.modifiedAt);let F=y.modifiedAt;for(let S of A.get(y.sessionId)??[])F=Math.max(F,u(S));return s.set(y.sessionId,F),F},p=(y,D)=>u(y)-u(D);i.sort(p);for(let y of A.values())y.sort(p);let d=[],b=new Set,E=(y,D,F)=>{if(b.has(y.sessionId))return;b.add(y.sessionId),d.push({...y,indent:D,last:F});let S=A.get(y.sessionId)??[];S.forEach((T,U)=>E(T,D+1,U===S.length-1))};i.forEach((y,D)=>E(y,0,D===i.length-1));for(let y of e){if(b.has(y.sessionId))continue;b.add(y.sessionId),d.push({...y,indent:0,last:!0})}return d}function Gcr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function Mcr(e){let n=[qcr(e.modifiedAt)];if(e.running)n.push("running");if(e.title)n.push(e.sessionId.slice(0,8));return n.push(Lcr(e.sizeBytes)),n.join(" \xB7 ")}function Lcr(e){if(e<1024)return`${e}b`;if(e<1048576)return`${Math.round(e/1024)}k`;return`${(e/1048576).toFixed(1)}M`}function qcr(e){let n=Math.max(0,Math.round((Date.now()-e)/1000));if(n<60)return"just now";if(n<3600)return`${Math.round(n/60)}m ago`;if(n<86400)return`${Math.round(n/3600)}h ago`;return`${Math.round(n/86400)}d ago`}var LUa;var qUa=Lt(()=>{Ac();mF();LUa={id:"session",maxHeight:8,anchor:"bottom",resolve:XA.computed(()=>(e)=>{let n=Ml(),A=n.home.value,i=A?A.split("/").filter(Boolean).at(-1)??null:null,s=n.displayName.value;if(!s)return{items:[{id:"session:no-agent",label:"no agent running",description:"press ~ to start one first",action:()=>{},invalid:!0}]};let u=n.sessions.value.filter((d)=>d.agent===i&&Scr(d)).slice().reverse();if(u.length===0)return{items:[{id:"session:none",label:"no past sessions",description:`${s} has no history yet`,action:()=>{},invalid:!0}]};return{items:Ncr(u).map((d)=>({id:`session:${d.sessionId}`,label:`${Gcr(d)}${d.title??d.sessionId.slice(0,8)}`,completeQuery:d.title??d.sessionId.slice(0,8),description:Mcr(d),preview:()=>{n.preview.show(d)},action:()=>n.resume(d.agent,d.sessionId),detach:!0}))}})}});function KUa(){return Ml().modules.value.map((e)=>e.packageName).filter((e)=>e!==void 0)}function Tcr(e){return e.packageName!==void 0&&e.root.includes("node_modules")}function Ucr(e,n){let A=e.trim().toLowerCase();return{items:Ml().modules.value.filter((s)=>AKe(A,s.packageName??s.name,UUa(s))).map((s)=>{let u=s.packageName??s.name;return{id:`module:${u}`,label:u,description:UUa(s),completeQuery:u,choices:()=>Rcr(s,n),action:()=>{}}})}}function Rcr(e,n){let A=e.packageName??e.name,i=[];if(Tcr(e))i.push({id:`module:uninstall:${A}`,label:"\u2715 uninstall",description:`remove ${A} from this agent`,workingMessage:`uninstalling ${A}...`,action:async()=>{try{if((await Ml().uninstallModule(A)).status==="not-installed")vb().palette.signalNoMatch();else n("")}catch(s){vb().sendError.value=Kcr(s)}}});else i.push({id:`module:local:${A}`,label:"local module",description:"declared in axon.config.ts \u2014 remove the import to uninstall",placeholder:!0,action:()=>{}});return i}function TUa(e,n){let A=nKe("module");A.ensure();let i=e.trim().toLowerCase(),s=new Set(KUa()),u=bvt("module",{term:i,installed:s,mode:n?.excludeInstalled?"install":"browse"});if(A.error.value){let p={kind:"error",message:`registry unavailable \u2014 ${A.error.value.message}`};return u.length===0?{items:[],status:p}:{items:u,status:p}}if(A.loading.value){let p={kind:"loading",message:"loading registry modules..."};return u.length===0?{items:[],status:p}:{items:u,status:p}}return{items:u}}function UUa(e){if(e.version)return`v${e.version}`;return e.root.includes("node_modules")?"installed module":"local module"}function Kcr(e){return e instanceof Error?e:Error(String(e))}var RUa;var YUa=Lt(()=>{Ac();mF();dvt();vxn();hR();hvt();RUa={id:"module",maxHeight:8,skipDefaultFilter:!0,resolve:XA.computed(()=>(e,n,A)=>{let i=KUa();if(Fxn(e,i))return TUa(e);let s=Ucr(e,A),u=TUa(e,{excludeInstalled:!0});if(u.items.length===0)return s;return{items:[{id:"hdr:registry",label:"registry",header:!0,action:()=>{}},...u.items,...s.items.length>0?[{id:"sep:installed",separator:!0,label:"",action:()=>{}},{id:"hdr:installed",label:"installed",header:!0,action:()=>{}},...s.items]:[]],...u.status?{status:u.status}:{}}})}});var jUa;var HUa=Lt(()=>{Ac();sJ();jUa={id:"theme",resolve:XA.computed(()=>()=>{let e=$1(),n=e.committedName.value;return{items:e.themes.value.map((i)=>({id:i.name,label:i.name,description:i.name===n?"current":"",current:i.name===n,preview:()=>{e.preview(i.name)},action:()=>{e.set(i.name)}}))}}),onCancel:()=>{$1().cancelPreview()}}});function Ycr(){let e=SE().files,n=XA.ref([]),A=XA.ref(!1),i=XA.ref(null),s=XA.ref(!1),u=!1;function p(){if(u||A.value)return;A.value=!0,e.list().then((b)=>{n.value=b,s.value=e.truncated,i.value=null}).catch((b)=>{i.value=b instanceof Error?b:Error(String(b))}).finally(()=>{u=!0,A.value=!1})}function d(){e.invalidate(),u=!1,i.value=null}return{entries:n,loading:A,error:i,truncated:s,root:e.root,ensure:p,invalidate:d}}function jxn(){if(!Yxn)Yxn=Ycr();return Yxn}function PUa(){jxn().ensure()}var Yxn;var Hxn=Lt(()=>{Ac();d3()});function jcr(e){let n=e.split("/").filter(Boolean),A=3,i=n.length>3?n.slice(-3):n;return`${n.length>3?"\u2026 \u203A ":""}${i.join(" \u203A ")} \u203A`}function JUa(e){return e.startsWith(".")||e.includes("/.")}function Hcr(e,n){let A=n===""?"":n;return[...e.filter((u)=>{if(!u.path.startsWith(A))return!1;let p=u.path.slice(A.length);return p.length>0&&!p.includes("/")})].sort((u,p)=>{if(u.directory!==p.directory)return u.directory?-1:1;let d=u.name.startsWith(".");if(d!==p.name.startsWith("."))return d?1:-1;return u.name.localeCompare(p.name)}).slice(0,$Ua).map((u)=>zUa(u,u.name))}function Pcr(e,n){let A=[];for(let i of e){let s=c6e(n,[i.name,i.path]);if(s===null)continue;A.push({entry:i,score:s})}return A.sort((i,s)=>s.score-i.score||Number(i.entry.directory)-Number(s.entry.directory)||Number(JUa(i.entry.path))-Number(JUa(s.entry.path))||i.entry.path.length-s.entry.path.length),A.slice(0,$Ua).map((i)=>zUa(i.entry,i.entry.path))}function zUa(e,n){let A=e.directory?"/":"";return{id:`file:${e.path}`,label:n+A,chunks:[e.name,e.path],completeQuery:e.path+A,...e.directory?{descendQuery:`${e.path}/`}:{},action:e.directory?()=>{}:()=>{vb().resolveInline(e.path)}}}var OUa,$Ua=200;var WUa=Lt(()=>{Ac();Hxn();hR();OUa={id:"file",maxHeight:10,skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=jxn();if(n.ensure(),n.error.value)return{items:[],status:{kind:"error",message:`cannot read ${n.root} \u2014 ${n.error.value.message}`}};let A=n.entries.value,i=e.trim(),s=i===""||i.endsWith("/"),u=s?Hcr(A,i):Pcr(A,i);if(n.loading.value&&u.length===0)return{items:[],status:{kind:"loading",message:"reading working tree..."}};return{items:u,...s&&i!==""?{breadcrumb:jcr(i)}:{},...n.truncated.value?{status:{kind:"error",message:"tree too large \u2014 results are partial"}}:{}}})}});function Jcr(){if(ZUa)return;ZUa=!0;for(let e of[hUa,_Ua,kUa,xUa,vUa,GUa,LUa,pUa,RUa,jUa,OUa])$Ta(e)}function VUa(e){Jcr();let{mode:n,query:A,setQuery:i}=e,s=e.hint??(()=>null),u=XA.ref(0),p=XA.ref(0),d=XA.ref(!1),b=XA.ref(null),E=XA.computed(()=>gvt(n.value)),y=XA.ref(null),D=3,F=XA.ref(null),S=XA.ref(0),T=XA.computed(()=>E.value?.tabs??null),U=XA.computed(()=>{let Ua=T.value;if(!Ua)return null;return Ua.slice(S.value,S.value+D)});function $(Ua){let la=T.value;if(!la)return;let cr=la.findIndex((Ye)=>Ye.id===Ua);if(cr===-1)return;if(F.value=Ua,cr<S.value)S.value=cr;else if(cr>=S.value+D)S.value=cr-D+1;it()}let X=QE();XA.watch(n,(Ua,la)=>{if(la!==void 0&&la!==Ua)gvt(la)?.onCancel?.(y.value);let cr=gvt(Ua);if(y.value=cr?.createState?cr.createState():null,cr?.onEnter?.(y.value),F.value=cr?.tabs?.[0]?.id??null,S.value=0,u.value=0,p.value=0,d.value=!1,b.value=null,la!==void 0&&la!=="normal"&&Ua==="normal")setTimeout(()=>X(),0)},{immediate:!0});let Ae=XA.computed(()=>E.value?.resolve.value(A(),F.value,i)??{items:[]}),ne=XA.computed(()=>Ae.value.items),Be=XA.computed(()=>{let Ua=s();if(Ua!==null)return Ua;if(b.value!==null)return b.value;let la=ne.value;if(E.value?.skipDefaultFilter)return la;let cr=A().toLowerCase().trim();if(!cr)return la;let Ye=(SA)=>SA.chunks?c6e(A(),SA.chunks)!==null:SA.label.toLowerCase().includes(cr)||(SA.description?.toLowerCase().includes(cr)??!1),zn=[],dn=[],qa=!1;for(let SA of la){if(SA.separator){dn=[SA],qa=!1;continue}if(SA.header){dn=[...dn,SA],qa=Ye(SA);continue}if(qa||Ye(SA)){if(dn.length>0){if(zn.length===0&&dn[0]?.separator)dn.shift();zn.push(...dn),dn=[]}zn.push(SA)}}if(cr.length>0&&zn.length>1&&zn.every((SA)=>SA.chunks)){let SA=zn.map((tA,gi)=>({item:tA,index:gi,score:c6e(A(),tA.chunks)??0}));return SA.sort((tA,gi)=>gi.score-tA.score||tA.index-gi.index),SA.map((tA)=>tA.item)}return zn}),Qe=XA.computed(()=>{if(ze.value!==null)return 1;if(_a.value!==null)return 1;if(Be.value.length===0)return 1;let Ua=E.value?.maxHeight??5;return Math.min(Be.value.length,Ua)});function me(Ua,la){let cr=Ua[la];return!!cr&&!cr.header&&!cr.separator&&!cr.invalid}XA.watch(Be,(Ua)=>{let la=u.value>=Ua.length||!me(Ua,u.value);if(!d.value&&Ua.length>0){u.value=at.value,d.value=!0,We(),kt();return}if(la)u.value=at.value,We()});let De=XA.computed(()=>{let Ua=Be.value;for(let la=0;la<Ua.length;la++)if(me(Ua,la))return la;return 0}),Ke=XA.computed(()=>{let Ua=Be.value;for(let la=Ua.length-1;la>=0;la--)if(me(Ua,la))return la;return 0}),at=XA.computed(()=>{let Ua=Be.value;for(let la=0;la<Ua.length;la++)if(Ua[la].current&&me(Ua,la))return la;return E.value?.anchor==="bottom"?Ke.value:De.value});function lt(Ua){let la=Be.value;if(la[Ua]?.header)return!1;for(let cr=0;cr<=Ua&&cr<la.length;cr++)if(la[cr].header)return!0;return!1}function We(){let Ua=Qe.value,la=u.value;if(la<=p.value)p.value=lt(la)?Math.max(0,la-1):la;else if(la>=p.value+Ua)p.value=la-Ua+1}function it(){p.value=0,d.value=!1,u.value=at.value,We()}function kt(){Be.value[u.value]?.preview?.()}let ze=XA.ref(null),vt=null,rn=XA.ref(0);function bt(){rn.value++}function aa(){vt?.abort(),vt=null,ze.value=null}function Da(Ua){return Ua instanceof Error?Ua.message:"failed"}async function Ut(Ua){vt=new AbortController;let la=vt.signal,cr;try{cr=Ua.action(la)}catch(zn){vt=null,ze.value={kind:"error",label:Ua.label,message:Da(zn)};return}if(!(cr instanceof Promise)){vt=null;return}if(Ua.detach){if(vt=null,!Ua.inlineResult)i("");n.value="normal",cr.catch(()=>{});return}let Ye=Ua.label;ze.value={kind:"working",label:Ye,message:Ua.workingMessage??Ua.description??"working..."};try{if(await cr,!la.aborted){if(ze.value=null,Ua.keepOpen)return;if(!Ua.inlineResult)i("");n.value="normal"}}catch(zn){if(!la.aborted)ze.value={kind:"error",label:Ye,message:Da(zn)}}finally{vt=null}}function na(Ua){if(Ua.choices)try{b.value=Ua.choices(),u.value=0,p.value=0}catch(la){ze.value={kind:"error",label:Ua.label,message:Da(la)}}else if(Ua.descendQuery!==void 0)i(Ua.descendQuery);else Ut(Ua)}function Va(){if(ze.value!==null)return null;let Ua=Be.value[u.value]??null;if(Ua&&me(Be.value,u.value))na(Ua);return Ua}function Pn(Ua){if(ze.value!==null)return null;let la=Be.value[Ua]??null;if(la&&me(Be.value,Ua))u.value=Ua,na(la);return la}function Za(Ua){if(!me(Be.value,Ua))return;u.value=Ua,We(),kt()}$h("tab",(Ua)=>{if(ze.value===null){let la=Be.value[u.value]??null;if(la&&me(Be.value,u.value)){let cr=la.completeQuery??la.label;if(cr.length>0)i(cr)}}if(Ua)Ua.consumed=!0}),$h("up",(Ua)=>{let la=Be.value,cr=la.length;if(cr===0)return;for(let Ye=1;Ye<=cr;Ye++){let zn=(u.value-Ye+cr)%cr;if(me(la,zn)){u.value=zn,We(),kt();break}}if(Ua)Ua.consumed=!0}),$h("down",(Ua)=>{let la=Be.value,cr=la.length;if(cr===0)return;for(let Ye=1;Ye<=cr;Ye++){let zn=(u.value+Ye)%cr;if(me(la,zn)){u.value=zn,We(),kt();break}}if(Ua)Ua.consumed=!0}),$h("escape",(Ua)=>{if(ze.value?.kind==="working"){if(aa(),Ua)Ua.consumed=!0;return}if(ze.value!==null){if(aa(),Ua)Ua.consumed=!0;return}if(b.value!==null){if(b.value=null,u.value=De.value,p.value=0,Ua)Ua.consumed=!0;return}if(Be.value.length===0)return;if(y.value=E.value?.createState?E.value.createState():null,Ua)Ua.consumed=!0});function vA(){let Ua=Be.value;return me(Ua,u.value)?Ua[u.value]:null}$h("left",(Ua)=>{let la=T.value;if(la&&F.value){let zn=la.findIndex((dn)=>dn.id===F.value);if($(la[(zn-1+la.length)%la.length].id),Ua)Ua.consumed=!0;return}let cr=E.value?.onLeft,Ye=vA();if(cr&&Ye){if(cr(Ye),Ua)Ua.consumed=!0}}),$h("right",(Ua)=>{let la=T.value;if(la&&F.value){let zn=la.findIndex((dn)=>dn.id===F.value);if($(la[(zn+1)%la.length].id),Ua)Ua.consumed=!0;return}let cr=E.value?.onRight,Ye=vA();if(cr&&Ye){if(cr(Ye),Ua)Ua.consumed=!0}});let Cn=XA.computed(()=>{let Ua=Be.value,la=p.value,cr=null;for(let Ye=0;Ye<=la&&Ye<Ua.length;Ye++)if(Ua[Ye].header)cr=Ua[Ye].label;if(Ua[la]?.header)return null;return cr}),Ea=XA.computed(()=>Ae.value.breadcrumb??null),_a=XA.computed(()=>Ae.value.status??null),Yn=XA.computed(()=>Ae.value.invalid??!1);return{filtered:Be,height:Qe,isRegisteredMode:XA.computed(()=>E.value!==void 0),selectedIndex:XA.computed(()=>u.value),scrollY:XA.computed(()=>p.value),tabs:U,activeTabId:XA.computed(()=>F.value),stickyHeader:Cn,breadcrumb:Ea,status:_a,isInvalidCommand:Yn,hasNothingToRun:XA.computed(()=>Be.value.length>0&&vA()===null),working:XA.computed(()=>ze.value),noMatchSignal:XA.computed(()=>rn.value),signalNoMatch:bt,hasChoiceList:XA.computed(()=>b.value!==null),keepsOpen:XA.computed(()=>vA()?.keepOpen??!1),hasHint:XA.computed(()=>s()!==null),selectTab:$,reset:it,selectCurrent:Va,selectAt:Pn,hoverAt:Za,abortWorking:aa}}var ZUa=!1;var XUa=Lt(()=>{Ac();zTa();bUa();wUa();DUa();FUa();SUa();MUa();qUa();hvt();YUa();HUa();WUa()});function Bvt(){if(!Pxn)Pxn=Ocr();return Pxn}function Ocr(){let n=SE().mic,A=XA.ref(n.waveform()),i=XA.ref(n.isActive()),s=XA.ref(0),u=null,p=0;function d(){A.value=n.waveform(),i.value=n.isActive(),s.value=i.value?Math.floor((Date.now()-p)/1000):0}function b(){if(u)return;u=setInterval(d,Wdt.tickMs)}function E(){if(!u)return;clearInterval(u),u=null}return{waveform:XA.computed(()=>A.value),isActive:XA.computed(()=>i.value),elapsedSeconds:XA.computed(()=>s.value),async start(){p=Date.now(),await n.start(),d(),b()},async stop(){let y=await n.stop();return d(),E(),y}}}var Pxn;var Jxn=Lt(()=>{Ac();d3();aEn()});function Ivt(){if(!Oxn)Oxn=$cr();return Oxn}function $cr(){let e=XA.ref(!0);function n(){e.value=!0}function A(i){return i.onScroll(({scrollY:s,maxScroll:u})=>{e.value=s>=u})}return{following:e,attach:n,observe:A}}var Oxn;var $xn=Lt(()=>{Ac()});function eRa(e){if(e.working==="working")return{kind:"abort-working"};if(e.working!==null)return{kind:"dismiss-error"};if(e.mode==="normal")return{kind:"try-interrupt"};return{kind:"exit-mode"}}function m6e(){if(!Wxn)Wxn=zcr();return Wxn}function zcr(){let e=new Set;function n(A){return[...e].filter((i)=>i.name===A)}return{register(A,i){let s={name:A,handler:i};return e.add(s),()=>{e.delete(s)}},notify(A,...i){let s=[];for(let u of n(A))try{u.handler(...i)}catch(p){s.push(sa("HOOK_FAILED",{detail:`${A} \u2014 ${p instanceof Error?p.message:String(p)}`,context:{hook:A},cause:p}))}return s},async gate(A){let i=n(A);if(i.length===0)return[];let s=[],u,p=Promise.all(i.map(async(b)=>{try{await b.handler()}catch(E){s.push(sa("HOOK_FAILED",{detail:`${A} \u2014 ${E instanceof Error?E.message:String(E)}`,context:{hook:A},cause:E}))}})),d=new Promise((b)=>{u=setTimeout(()=>b("timeout"),zxn)});try{if(await Promise.race([p.then(()=>"done"),d])==="timeout")s.push(sa("HOOK_TIMED_OUT",{detail:`${A} did not finish within ${zxn}ms`,context:{hook:A,budgetMs:zxn}}))}finally{if(u)clearTimeout(u)}return s},count(A){return n(A).length}}}var zxn=5000,Wxn;var Evt=Lt(()=>{sc()});function yvt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function tRa(){let e=Ml(),n=vb(),A=m6e(),i=new Set;XA.watch(()=>e.instances.value,(u)=>{let p=new Set(u.map((d)=>d.sessionId));for(let d of u)if(!i.has(d.sessionId))A.notify("agent:ready",yvt(d));for(let d of i)if(!p.has(d))A.notify("agent:stopped",{id:d,name:"",focused:!1,activity:null});i=p},{immediate:!0}),XA.watch(()=>e.sessionId.value,(u)=>{if(!u)return;let p=e.instances.value.find((d)=>d.sessionId===u);if(p)A.notify("agent:focused",yvt(p))});let s=!1;XA.watch(()=>e.activity.value,(u)=>{let p=u==="working";if(s&&!p){let d=e.instances.value.find((b)=>b.focused);if(d)A.notify("message:received",{instance:yvt(d)})}s=p}),XA.watch(()=>n.mode.mode.value,(u,p)=>{if(p===void 0||p===u)return;A.notify("mode:changed",{from:p,to:u})})}function nRa(e){let A=Ml().instances.value.find((i)=>i.focused);if(!A)return;m6e().notify("message:sent",{content:e,instance:yvt(A)})}var Zxn=Lt(()=>{Ac();mF();hR();Evt()});var ARa={};JA(ARa,{useInput:()=>vb,DRAFT_MODES:()=>rCt});function vb(){if(!Vxn)Vxn=Wcr();return Vxn}function Wcr(){let e=P_(),n=XA.ref(""),A=null,i=null,s=YTa(()=>n.value,()=>e.value.path!=="/auth"),u=VUa({mode:s.mode,query:()=>$()??n.value,setQuery:(ze)=>{X(ze)},hint:()=>Ae()}),p=Bvt(),d=SE(),b=XA.ref(!1),E=XA.ref(null),y=null;function D(){if(b.value=!0,y)clearTimeout(y);y=setTimeout(()=>{b.value=!1,y=null},600)}XA.watch(()=>u.noMatchSignal.value,()=>{D()}),XA.watch(()=>GO().pending.value!==null,(ze)=>{if(ze)n.value="",s.setMode(XRe);else if(s.mode.value===XRe)n.value="",s.setMode("normal")});let F=null,S=null;function T(ze){S=ze,n.value=ze}XA.watch(n,(ze)=>{if(s.mode.value!=="history")return;if(ze===S)return;F=null,S=null,s.setMode("normal")});function U(){if(!(s.mode.value==="normal"||o6e.some((vt)=>vt.mode===s.mode.value)))return null;for(let vt of o6e){let rn=UTa(n.value,vt);if(rn)return{trigger:vt,start:rn.start,query:rn.query}}return null}function $(){return U()?.query??null}function X(ze){let vt=U();if(vt){n.value=n.value.slice(0,vt.start)+vt.trigger.key+ze;return}n.value=ze}function Ae(){if(s.mode.value!=="normal")return null;let ze=o6e.filter((vt)=>TTa(n.value,vt));if(ze.length===0)return null;return ze.map((vt)=>({id:vt.mode,label:`${Zbt[vt.mode]} ${vt.mode}`,description:lvt[vt.mode]??vt.key,action:()=>{n.value=n.value+vt.key}}))}XA.watch(n,(ze)=>{if(s.mode.value!=="normal")return;for(let vt of o6e){if(vt.resolve!=="append")continue;let rn=RTa(ze,vt);if(rn===-1)continue;i=vt,A=ze.slice(0,rn).replace(/ $/,""),s.setMode(vt.mode);return}}),XA.watch(n,()=>{let ze=U();if(ze&&s.mode.value==="normal"){i=ze.trigger,A=null,s.setMode(ze.trigger.mode);return}if(!ze&&i?.resolve==="splice"&&s.mode.value===i.mode)i=null,s.setMode("normal")});function ne(ze){let vt=U();if(!vt){i=null,s.setMode("normal");return}n.value=`${n.value.slice(0,vt.start)}${ze} `,i=null,s.setMode("normal")}function Be(){let ze=U();if(i=null,!ze)return;n.value=n.value.slice(0,ze.start).replace(/ $/,"")}XA.watch(s.mode,(ze,vt)=>{if(vt==="session"&&ze==="normal")Ml().preview.clear();if(ze==="history")F=n.value;if(vt==="history"&&ze==="normal"){if(S=null,F!==null)n.value=F,F=null}if(ze==="voice"&&vt!=="voice")p.start().catch((rn)=>{E.value=rn instanceof Error?rn:Error(String(rn)),s.setMode("normal")});if(vt==="voice"&&ze!=="voice"){let rn=s.voiceExitReason.value;s.voiceExitReason.value=null,Qe(rn)}},{flush:"sync"});async function Qe(ze){let vt=await p.stop();if(ze!=="confirm"){if(A!==null)n.value=A,A=null;return}s.processing.value=!0;try{let{text:rn}=await d.cloud.client.cloud.stt.transcribe(vt),bt=rn.trim();if(A!==null)if(bt){let aa=A.endsWith(" ")||A===""?"":" ";n.value=A+aa+bt}else n.value=A;else if(bt)n.value=bt;A=null}catch(rn){E.value=rn instanceof Error?rn:Error(String(rn))}finally{s.processing.value=!1}}let me=0,De=XA.ref(null),Ke=null;function at(){if(De.value="press esc again to clear",Ke)clearTimeout(Ke);Ke=setTimeout(()=>{De.value=null,Ke=null},aRa)}function lt(){if(Ke)clearTimeout(Ke);Ke=null,De.value=null}XA.watch(n,()=>{if(De.value!==null)lt()});function We(){if(ixn(),GO().pending.value){GO().cancel(),n.value="",s.setMode("normal");return}let ze=eRa({mode:s.mode.value,working:u.working.value?.kind??null});if(ze.kind==="abort-working"){u.abortWorking();return}if(ze.kind==="dismiss-error"){u.abortWorking(),n.value="",s.setMode("normal");return}if(ze.kind==="try-interrupt"){if(Ml().interrupt())return}let vt=Date.now(),rn=vt-me<aRa;if(me=vt,rn){if(lt(),n.value.trim())try{ACt().append(n.value,Ml().selected.value)}catch{}n.value=""}else{let bt=rCt.has(s.mode.value);if(!bt)n.value="";if(s.mode.value==="voice")s.voiceExitReason.value="cancel";if(Be(),s.setMode("normal"),bt&&n.value.length>0)at();else lt()}}function it(){if(ixn(),u.working.value!==null)return;if(GO().pending.value?.kind==="prompt"){GO().submitText(n.value),n.value="",s.setMode("normal");return}if(u.isInvalidCommand.value||u.hasNothingToRun.value){D();return}if(u.hasHint.value&&u.filtered.value.length>0){u.selectCurrent();return}if(s.mode.value!=="normal"&&u.filtered.value.length>0){F=null;let rn=s.mode.value,bt=u.hasChoiceList.value,aa=u.keepsOpen.value;if(u.selectCurrent(),aa)return;if(u.hasChoiceList.value||bt)return;if(u.reset(),s.mode.value===rn&&u.working.value===null){if(rn!=="history"&&!rCt.has(rn))n.value="";s.setMode("normal")}return}if(e.value.path==="/auth"){n.value="";return}if(s.mode.value==="normal"&&n.value.trim()){let rn=n.value;n.value="",u.reset(),E.value=null,Ivt().attach();try{ACt().append(rn,Ml().selected.value)}catch{}Ml().send(rn).catch((bt)=>{E.value=bt instanceof Error?bt:Error(String(bt))}),nRa(rn)}}function kt(ze){n.value+=ze}return{text:n,inputError:b,sendError:E,escHint:De,mode:s,palette:u,onEnter:it,onEscape:We,onPrintable:kt,previewHistory:T,resolveInline:ne}}var aRa=400,rCt,Vxn;var hR=Lt(()=>{Ac();VRe();XUa();mF();Jxn();d3();Rxn();$xn();hxn();Vbt();Zxn();Exn();Hbt();rCt=new Set(["normal","voice","file"])});function _vt(e){let n=e.toLowerCase().split("+").map((u)=>u.trim()).filter(Boolean),A=n.pop();if(!A)return e;let i=n.includes("ctrl")||n.includes("control"),s=n.includes("shift");if(i&&s)return`C-S-${A}`;if(i)return`C-${A}`;if(s)return`S-${A}`;return A}function Xxn(e){let n=_vt(e);return Zcr.has(n)||n in one}function Vcr(e){if(!e.name)return null;if(e.ctrl&&e.shift)return`C-S-${e.name}`;if(e.ctrl)return`C-${e.name}`;if(e.shift)return`S-${e.name}`;return e.name}function iRa(){let e=vb();$h("**",(n)=>{if(n?.consumed)return;let A=Vcr(n??{});if(!A)return;let i=k1.paletteForKey(A);if(i){if(e.text.value.length>0)return;let u=e.mode.mode.value;e.mode.setMode(u===i.name?"normal":i.name),n.consumed=!0;return}let s=k1.keyHandler(A);if(!s)return;n.consumed=!0,(async()=>{try{await s()}catch(u){HN().show(`${A} failed`,"error")}})()})}var Zcr;var eFn=Lt(()=>{Ac();r6e();g6e();hR();VRe();Zcr=new Set(["C-c","C-d","escape","return","enter","tab","up","down","left","right","backspace","delete"])});function rRa(e){return typeof e==="string"?e.split(" ").filter(Boolean):[...e]}function sRa(e,n){if(Array.isArray(e.children))return e.children;return n?e.children():[]}function oRa(e,n){let A=n,i=null;for(let s of e){let u=A.find((p)=>p.label.toLowerCase()===s.toLowerCase());if(!u)return null;i=u,A=u.kind==="group"?sRa(u,!0):[]}return i}function oCt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function cRa(e){let{track:n}=e,A=m6e(),i=GO(),s=$1();function u($){return n($),$}let p={register($,X,Ae){let ne=rRa($);if(ne.length===0)throw sa("COMMAND_PATH_TAKEN",{detail:"a command needs a path"});if(oRa(ne,aCt))throw sa("COMMAND_PATH_TAKEN",{detail:`${ne.join(" ")} is a built-in command`,context:{path:ne}});return u(k1.command({path:ne,action:X,...Ae?.description?{description:Ae.description}:{},...Ae?.workingMessage?{workingMessage:Ae.workingMessage}:{}}))},async run($){let X=rRa($),Ae=oRa(X,d());if(!Ae||Ae.kind!=="action")throw sa("COMMAND_NOT_FOUND",{detail:X.join(" "),context:{path:X}});await Ae.action(new AbortController().signal)},list(){let $=[],X=(Ae,ne)=>{for(let Be of Ae){let Qe=[...ne,Be.label];if(Be.kind!=="group"){$.push(Qe);continue}let me=sRa(Be,!1);if(me.length===0)$.push(Qe);else X(me,Qe)}};return X(d(),[]),$}};function d(){return[...aCt,...uvt.value]}let b={register($,X){if(Xxn($))throw sa("KEY_CHORD_TAKEN",{detail:`${$} belongs to the terminal`,context:{chord:$}});return u(k1.key(_vt($),X))},send($){let X=_vt($),Ae=k1.keyHandler(X);if(Ae){Ae();return}let ne=k1.paletteForKey(X);if(ne){vb().mode.setMode(ne.name);return}let Be=one[$]??one[X];if(Be){vb().mode.setMode(Be);return}throw sa("KEY_CHORD_UNBOUND",{detail:$,context:{chord:$}})}},E={async set($){let X=Object.values(one).includes($)||$==="normal",Ae=k1.paletteFor($)!==null;if(!X&&!Ae)throw sa("MODE_UNKNOWN",{detail:$,context:{mode:$}});vb().mode.setMode($)},get(){return vb().mode.mode.value},symbol(){return vb().mode.symbol.value}},y={get:()=>vb().text.value,set:($)=>{vb().text.value=$},append:($)=>{vb().text.value+=$},clear:()=>{vb().text.value=""},async submit(){vb().onEnter()}};function D(){let $=Ml().sessionId.value;if(!$)throw sa("NO_FOCUSED_AGENT");return $}let F={async targets(){let $=Ml();return $.available.value.map((X)=>({name:X.name,kind:X.kind,instances:$.instances.value.filter((Ae)=>Ae.name===X.name).map(oCt)}))},list:()=>Ml().instances.value.map(oCt),get($){let X=Ml().instances.value.find((Ae)=>Ae.sessionId===$);return X?oCt(X):null},focused(){let $=Ml().instances.value.find((X)=>X.focused);return $?oCt($):null},async spawn($){let X=Ml(),Ae=await X.spawn($,{focus:!1});if(!Ae)throw sa("AGENT_SPAWN_NO_INSTANCE",{detail:$,context:{name:$}});let ne=X.instances.value.find((Be)=>Be.sessionId===Ae);if(!ne)throw sa("AGENT_SPAWN_NO_INSTANCE",{detail:$,context:{name:$}});return oCt(ne)},focus($){if(!F.get($))throw sa("INSTANCE_NOT_RUNNING",{detail:$,context:{id:$}});Ml().focus($)},async stop($){let X=$??D();if(!F.get(X))throw sa("INSTANCE_NOT_RUNNING",{detail:X,context:{id:X}});await Ml().stop(X)},async reboot($){let X=Ml(),Ae=$??D();if(!F.get(Ae))throw sa("INSTANCE_NOT_RUNNING",{detail:Ae,context:{id:Ae}});if(Ae!==X.sessionId.value)X.focus(Ae);await X.reboot()},async send($){D(),await Ml().send($)},interrupt:()=>Ml().interrupt()},S={create($,X){if(X.key&&Xxn(X.key))throw sa("MODE_KEY_TAKEN",{detail:`${X.key} belongs to the terminal`,context:{key:X.key,name:$}});let Ae=u(k1.palette($,X));return{get name(){return $},open:()=>S.open($),refresh(){let ne=k1.paletteFor($);if(ne)ne.cache=null},dispose:Ae}},get($){let X=k1.paletteFor($);if(!X)return null;return{get name(){return $},open:()=>S.open($),refresh(){X.cache=null},dispose:()=>{}}},async open($){if(!k1.paletteFor($))throw sa("PALETTE_NOT_FOUND",{detail:$,context:{name:$}});if(S.isOpen)throw sa("PALETTE_ALREADY_OPEN",{detail:$,context:{name:$}});vb().mode.setMode($)},close(){vb().mode.setMode("normal")},get isOpen(){return vb().mode.mode.value!=="normal"},pick:($,X)=>i.pick($,X),confirm:($)=>i.confirm($),prompt:($,X)=>i.prompt($,X)};return{tui:{async nav($){await Ml().select($)},hook($,X){return u(A.register($,X))},info($,X){HN().show($,"info",X)},warn($,X){HN().show($,"warn",X)},error($,X){HN().show($,"error",X)},get size(){let $=qE();return{width:$.width.value,height:$.height.value}},get cwd(){return process.env.PWD??process.cwd()},get version(){return XMe.version},async exit(){await A.gate("tui:shutdown"),process.exit(0)}},palette:S,commands:p,keys:b,mode:E,input:y,agents:F,theme:{create($,X){return u(s.create({name:$,...X}))},set($){s.set($)},list:()=>s.themes.value,get active(){return s.active.value}}}}var uRa=Lt(()=>{Ac();sc();nvt();mF();hR();VRe();Sxn();r6e();eFn();Evt();Vbt();g6e();sJ()});var nFn={};JA(nFn,{useExtensions:()=>cJ});function cJ(){if(!tFn)tFn=eur();return tFn}async function Xcr(){let{useQuestions:e}=await Promise.resolve().then(() => (Vbt(),jTa)),{useInput:n}=await Promise.resolve().then(() => (hR(),ARa));e().cancel();let A=n();if(A.mode.mode.value!=="normal")A.text.value="",A.mode.setMode("normal")}function eur(){let e=SE(),n=m6e(),A=cRa({track:(s)=>e.extensions.disposers.track(s)});function i(){let s=globalThis;s.tui=A.tui,s.palette=A.palette,s.commands=A.commands,s.keys=A.keys,s.mode=A.mode,s.input=A.input,s.agents=A.agents,s.theme=A.theme}return{errors:XA.computed(()=>sCt.value),fileErrors:XA.computed(()=>e.extensions.sources.flatMap((s)=>s.files.filter((u)=>u.error!==null).map((u)=>({source:s.label,path:u.path,error:u.error})))),problems:XA.computed(()=>{d6e.value;let s=e.extensions.sources.flatMap((u)=>u.files.filter((p)=>p.error!==null).map((p)=>({label:p.path.split("/").slice(-2).join("/"),error:p.error})));return[...sCt.value.map((u)=>({label:"profile.config.ts",error:u})),...s]}),loaded:XA.computed(()=>d6e.value),sources:XA.computed(()=>e.extensions.sources),list(){return e.extensions.list()},declared:XA.computed(()=>{return d6e.value,Qvt.value,[...e.extensions.declared]}),async install(s){try{return await e.extensions.install(s)}finally{Qvt.value++}},async uninstall(s){try{return await e.extensions.uninstall(s)}finally{Qvt.value++}},updates(){return e.extensions.updates()},async update(s,u){try{return await e.extensions.update(s,u)}finally{Qvt.value++}},async load(s){let u=d6e.value;if(i(),d6e.value)await Xcr();let p=[];if(s?.prepare!==!1)try{await e.profile.ensure()}catch(F){p.push(F)}let d=d6e.value?await e.extensions.reload():await e.extensions.load();p.push(...d.errors),sCt.value=p,d6e.value=!0,await e.refreshSettings();let{useSettings:b}=await Promise.resolve().then(() => ($bt(),lxn)),E=b();await E.refresh();let{useTheme:y}=await Promise.resolve().then(() => (sJ(),wTa));y().adopt(E.settings.value.theme);let D=await n.gate("tui:boot");if(D.length>0)sCt.value=[...sCt.value,...D];if(u)n.notify("tui:reloaded")},async reload(s){await this.load({prepare:s?.prepare??!1})},watch(){if(wvt)return;wvt=e.extensions.watch(async()=>{await this.reload();let s=this.problems.value.length;if(s>0)HN().show(`config reloaded \u2014 ${s} problem${s===1?"":"s"}`,"error")})},unwatch(){wvt?.(),wvt=null},hooks:n}}var sCt,d6e,Qvt,wvt=null,tFn;var u6e=Lt(()=>{Ac();d3();uRa();Evt();g6e();sCt=XA.ref([]),d6e=XA.ref(!1),Qvt=XA.ref(0)});import{readFileSync as pRa,existsSync as mRa}from"fs";import{basename as aFn,join as dRa,resolve as tur}from"path";function uCt(){return{events:[],kernelEvents:[],entries:[],processes:[]}}function nur(e){let n=e?.context;return typeof n?.sessionFile==="string"?n.sessionFile:null}function AFn(e){if(!mRa(e))return[];let n=pRa(e,"utf-8").trim();if(n.length===0)return[];return n.split(`
3837
+ `,"utf-8"),await Jor(S,p)}catch(F){throw e.store.update.state.set({status:"failed",from:D.current,to:D.latest,updatedAt:new Date().toISOString(),error:F instanceof Error?F.message:String(F)}),F}return D}return{currentVersion:n,supported:d,check:b,handoff:E}}function pTa(e){let n=e;try{n=Hor(e)}catch{}return $or(gTa(n),"update-helper.js")}var Kbt;var mTa=Lt(()=>{exn();sc();Kbt=qp(gDn(),1)});var dTa=()=>{};var tvt=Lt(()=>{mTa();dTa();exn()});import{join as zor,resolve as Wor}from"path";function Ybt(e){let n=Wor(e.cwd??process.cwd()),A=e.distribution??Zor,i={},s=VIn({root:e.store??XIn(A),settings:()=>i,setSetting:async(ne,Be)=>{let Qe=await Ae.setSetting(ne,Be);return await X(),Qe}}),u=L_a({store:s,distribution:A}),p=tEn(),d=MEa(),b=qEa({root:n}),E=l2n(),y=m2n({cloud:u.client,frameworkVersion:e.version,...e.frameworkSource?{frameworkSource:e.frameworkSource}:{},...e.repoRoot?{repoRoot:e.repoRoot}:{},bench:{tests:E,clone:(ne,Be,Qe)=>F.clone(ne,Be,Qe),prepare:async(ne)=>{await(await y.open(ne)).prepare()}}}),D=D2n({store:s,projects:y,cloud:u.client,cwd:n,clone:(ne,Be,Qe)=>F.clone(ne,Be,Qe),...e.control?{control:e.control}:{}}),F=rTa({cloud:u.client,async prepare(ne){await(await y.open(ne)).prepare()}}),S=uTa({cache:iTa({cloud:u.client,root:s.root})}),T=txn({cloud:u.client,store:s,currentVersion:e.version}),U=T_a({cloud:u.client}),$=x2n({store:s,projects:y,frameworkVersion:e.version});async function X(){try{i=await Ae.settings()}catch{i={}}}let Ae=O2n({root:()=>$.root,install:async(ne,Be)=>{return{version:(await F.clone(ne,zor(Be,".."),{dir:Be.split("/").at(-1)})).version}},latest:async(ne)=>(await u.client.registry.artifacts.resolve(ne)).version});return{cloud:u,store:s,deployments:U,projects:y,profile:$,extensions:Ae,refreshSettings:X,agents:D,registry:F,prompts:S,tests:E,mic:d,files:b,ollama:p,updates:T}}var Zor="production";var fTa=Lt(()=>{fEa();QEa();aEn();TEa();q_a();HFt();Oqa();$2n();g2n();oTa();lTa();tvt()});var nxn=Lt(()=>{fTa()});var XMe;var nvt=Lt(()=>{XMe={name:"@arcforge/axon",version:"2.0.134",description:"coding agent cli",module:"index.ts",type:"module",scripts:{build:"vterm build",deploy:"bun run scripts/release.ts patch","deploy:major":"bun run scripts/release.ts major","deploy:minor":"bun run scripts/release.ts minor","deploy:patch":"bun run scripts/release.ts patch",dev:"vterm dev","dev:local":"vterm dev --dotenv .env.local",prepare:"vterm prepare",tail:"vterm tail",test:"bun test --parallel=4","test:serial":"bun test","test:watch":"bun test --watch",typecheck:"bun run scripts/typecheck.ts"},dependencies:{"@arcforge/cognet":"workspace:*","@arcforge/engines":"workspace:*","@arcforge/err":"workspace:*","@arcforge/platform":"workspace:*","@arcforge/types":"workspace:*","@arcforge/vterm":"workspace:*","@arclabs/cloud":"workspace:*","@arclabs/repo":"workspace:*","@arclabs/tools":"workspace:*","@axon/capsule":"workspace:*","@axon/core":"workspace:*","@axon/theme":"workspace:*","@axon/vstr":"workspace:*","@vue/compiler-sfc":"3.5.39",arcline:"workspace:*",chalk:"^5.6.2","fft.js":"^4.0.4",h3:"^1.15.11","markdown-it":"^14.3.0",open:"^11.0.0",semver:"^7.7.4",sharp:"^0.35.3"},devDependencies:{"@types/bun":"latest","@types/markdown-it":"^14.1.2","@types/semver":"^7.7.1","@vue/typescript-plugin":"^3.2.5",postgres:"^3.4.5"},peerDependencies:{typescript:"^5"},bin:{axon:"./bin/axon"}}});function avt(e,n){let A=e;for(let i of n){if(A===null||typeof A!=="object"||!(i in A))throw sa("CONTROL_PATH_NOT_FOUND",{detail:`no such method on the peer: ${n.join(".")}`,context:{path:n.join(".")}});A=A[i]}return A}function Avt(e){let n=new Map,A=new Map,i=new Map,s=!1,u=0,p=()=>`${++u}`;async function d(D){try{let F=avt(e.handle,D.path.slice(0,-1)),S=avt(e.handle,D.path);if(typeof S!=="function")throw sa("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${D.path.join(".")}`,context:{path:D.path.join(".")}});let T=await S.apply(F,D.args);e.send({type:"rpc.result",id:D.id,ok:!0,value:T})}catch(F){e.send({type:"rpc.result",id:D.id,ok:!1,error:F instanceof Error?F.message:String(F)})}}function b(D){try{let F=avt(e.handle,D.path.slice(0,-1)),S=avt(e.handle,D.path);if(typeof S!=="function")throw sa("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${D.path.join(".")}`,context:{path:D.path.join(".")}});let T=($)=>e.send({type:"rpc.event",id:D.id,value:$}),U=S.apply(F,[...D.args,T]);A.set(D.id,U)}catch(F){e.send({type:"rpc.result",id:D.id,ok:!1,error:F instanceof Error?F.message:String(F)})}}function E(D){A.get(D.id)?.(),A.delete(D.id)}function y(D){let F=n.get(D.id);if(!F)return;if(n.delete(D.id),D.ok)F.resolve(D.value);else F.reject(sa("CONTROL_CALL_FAILED",{detail:D.error,context:{error:D.error}}))}return{accept(D){if(D.type==="rpc.call")return void d(D);if(D.type==="rpc.subscribe")return b(D);if(D.type==="rpc.unsubscribe")return E(D);if(D.type==="rpc.result")return y(D);i.get(D.id)?.(D.value)},call(D,F=[]){if(s)return Promise.reject(sa("CONTROL_CLOSED",{detail:`channel closed before ${D.join(".")} could be sent`,context:{path:D.join(".")}}));let S=p();return new Promise((T,U)=>{n.set(S,{resolve:T,reject:U}),e.send({type:"rpc.call",id:S,path:D,args:F})})},subscribe(D,F,S){if(s)throw sa("CONTROL_CLOSED",{detail:`channel closed before ${D.join(".")} could be sent`,context:{path:D.join(".")}});let T=p();return i.set(T,S),e.send({type:"rpc.subscribe",id:T,path:D,args:F}),()=>{if(!i.delete(T))return;if(!s)e.send({type:"rpc.unsubscribe",id:T})}},close(D){if(s)return;s=!0;for(let F of A.values())F();A.clear(),i.clear();for(let F of n.values())F.reject(sa("CONTROL_CLOSED",{detail:D,context:{error:D}}));n.clear()}}}var ivt=Lt(()=>{sc()});function axn(e){if(typeof e!=="object"||e===null)return!1;let n=e.type;return n==="rpc.call"||n==="rpc.result"||n==="rpc.subscribe"||n==="rpc.unsubscribe"||n==="rpc.event"}import{randomBytes as Xor}from"crypto";function jbt(e){let n=Xor(32).toString("hex"),A=null,i=new Set;function s(){for(let b of i)b(u.size)}let u=new Map;function p(b,E){let y=u.get(b);if(!y)return;y.dispatch.close(E),u.delete(b),s()}async function d(b){let E=[...u.values()];if(E.length===0)throw sa("CONTROL_CLOSED",{detail:"no editor attached"});if(E.length===1)return E[0].dispatch;let y=await Promise.all(E.map(async(D)=>{try{let F=await D.dispatch.call(["editor","claim"],[b??null]);return{dispatch:D.dispatch,contains:F?.contains===!0,focusedAt:F?.focusedAt??0}}catch{return{dispatch:D.dispatch,contains:!1,focusedAt:0}}}));return y.sort((D,F)=>D.contains!==F.contains?D.contains?-1:1:F.focusedAt-D.focusedAt),y[0].dispatch}return{token:n,get port(){return A?.port??null},get attached(){return u.size>0},get peerCount(){return u.size},watch(b){return i.add(b),()=>{i.delete(b)}},listen(){if(A)return A.port;return A=Bun.serve({port:e.port??0,hostname:"127.0.0.1",fetch(b,E){if(E.upgrade(b,{data:null}))return;return new Response("axon control channel",{status:426})},websocket:{message(b,E){let y;try{y=JSON.parse(String(E))}catch{b.close(1003,"malformed frame");return}let D=u.get(b);if(!D){let F=y;if(F?.type!=="control.hello"||F.token!==n){b.close(1008,"unauthorized");return}let S={send:(T)=>b.send(T),close:()=>b.close()};u.set(b,{socket:S,dispatch:Avt({handle:e.handle,send:(T)=>S.send(JSON.stringify(T))})}),b.send(JSON.stringify({type:"control.welcome",peer:"tui"})),s();return}if(!axn(y))return;D.dispatch.accept(y)},close(b){p(b,"editor disconnected")}}}),A.port},editor:{async call(b,...E){return await(await d()).call(["editor",String(b)],E)},async about(b,E,...y){return await(await d(b)).call(["editor",String(E)],y)}},close(){for(let[b,E]of u)p(b,"tui shutting down"),E.socket.close();A?.stop(!0),A=null}}}var hTa=Lt(()=>{sc();ivt()});var bTa=Lt(()=>{sc();ivt()});var Axn=Lt(()=>{hTa();bTa();ivt()});function rvt(){let e=(n)=>{let A=CTa[n];if(!A)throw Error(`TUI_NOT_READY: this TUI cannot ${n} yet \u2014 it is still starting up`);return A};return{send:(n)=>e("send")(n),interrupt:()=>e("interrupt")(),focus:(n)=>e("focus")(n),capsule:(n,A)=>e("capsule")(n,A),lastActiveAt:async()=>BTa}}function ITa(e){CTa=e}function ixn(){BTa=Date.now()}var CTa,BTa;var Hbt=Lt(()=>{CTa={},BTa=Date.now()});function Hhe(){if(!rxn)rxn=esr();return rxn}function esr(){let e=null,n=XA.ref(0);function A(){if(e)return;let b=jbt({handle:{tui:rvt()}});b.watch(()=>{n.value++}),b.listen(),e=b}function i(){let b=e?.port;if(!e||b===null||b===void 0)return null;return{port:b,token:e.token}}let s=XA.computed(()=>{return n.value,(e?.peerCount??0)>0});async function u(b,...E){if(!e)throw Error("CONTROL_NOT_LISTENING: this TUI is not serving a control channel");return e.editor.call(b,...E)}async function p(b,E,...y){if(!e)throw Error("CONTROL_NOT_LISTENING: this TUI is not serving a control channel");return e.editor.about(b,E,...y)}function d(){e?.close(),e=null,n.value++}return{listen:A,control:i,available:s,editor:u,editorAbout:p,close:d}}var rxn;var ovt=Lt(()=>{Ac();Axn();Hbt()});function SE(){if(!oxn)oxn=Ybt({version:XMe.version,cwd:process.env.PWD??process.cwd(),control:()=>Hhe().control()});return oxn}var oxn=null;var d3=Lt(()=>{nxn();nvt();ovt()});function tsr(e,n){let A=XA.ref("idle"),i=XA.ref(null),s=XA.ref(null),u=XA.ref(0);function p(){u.value++}function d(Ae,ne){let Be=XA.ref(!1),Qe=XA.ref(null),me=XA.ref(!1);async function De(){if(!e.authenticated){me.value=!1;return}let lt=await Ae.status();me.value=lt.connected&&lt.status==="active"}De().catch((lt)=>{Qe.value=lt instanceof Error?lt:Error(String(lt))});async function Ke(...lt){Be.value=!0,Qe.value=null;try{await ne(...lt),me.value=!0}catch(We){throw Qe.value=We instanceof Error?We:Error(String(We)),We}finally{Be.value=!1,p()}}async function at(){await Ae.disconnect(),me.value=!1,p()}return{connected:me,connecting:Be,error:Qe,connect:Ke,disconnect:at,refreshStatus:De}}let b=d(e.connections.openai,()=>e.connections.openai.connect({open:(Ae)=>{PGe(Ae)}})),E=d(e.connections.openrouter,(Ae)=>e.connections.openrouter.connect({key:Ae})),y=XA.ref(e.authenticated?"checking":"signed-out"),D=XA.computed(()=>{return u.value,y.value==="verified"});async function F(){if(!e.authenticated)return y.value="signed-out",p(),y.value;y.value="checking",p();try{let Ae=await e.validate();y.value=Ae==="valid"?"verified":Ae==="rejected"?"signed-out":"unreachable"}catch{y.value="unreachable"}return p(),y.value}if(y.value==="checking")F();e.onSessionExpired(()=>{y.value="signed-out",p()});let S=XA.computed(()=>{return u.value,e.client.user.auth.user}),T=XA.computed(()=>{return u.value,n.profiles.list().flatMap((Ae)=>{let ne=n.profiles.get(Ae).record.get();if(!ne)return[];let Be=!!(ne.auth.accessToken||ne.auth.apiKey);return[{id:Ae,email:ne.user.email,authenticated:Be}]})});async function U(Ae){A.value="authorizing",i.value=null;try{await e.login({...Ae!==void 0?{hint:Ae}:{},onCode:(ne)=>{i.value=ne,A.value="polling",PGe(ne.verificationUriComplete)}}),y.value="verified"}finally{A.value="idle",i.value=null,p()}}async function $(Ae){s.value=Ae;try{return await e.switch(Ae),y.value="verified","verified"}catch(ne){let Be=bDt(ne)&&ne.code==="AX-TUI-044";return y.value=Be?"unreachable":"signed-out",Be?"unreachable":"rejected"}finally{s.value=null,p()}}async function X(){await e.logout(),y.value="signed-out",p()}return{isAuthenticated:D,gate:XA.computed(()=>y.value),verify:F,identity:S,profiles:T,loginStatus:A,deviceAuthorization:i,switchingProfileId:s,startLogin:U,switchProfile:$,logout:X,connections:{openai:b,openrouter:E}}}function P6(){if(!sxn){let e=SE();sxn=tsr(e.cloud,e.store)}return sxn}var sxn;var e6e=Lt(()=>{Ac();dDt();sc();d3()});var lxn={};JA(lxn,{useSettings:()=>Obt});function lsr(){let e=SE();async function n(){try{Jbt.value=await e.extensions.settings()}catch{Jbt.value={}}cxn.value++}return{settings:XA.computed(()=>{return cxn.value,Jbt.value}),refresh:n,async set(A,i){Jbt.value={...Jbt.value,[A]:i},cxn.value++,await e.extensions.setSetting(A,i)}}}function Obt(){if(!uxn)uxn=lsr();return uxn}var Jbt,cxn,uxn;var $bt=Lt(()=>{Ac();d3();Jbt=XA.ref({}),cxn=XA.ref(0)});var wTa={};JA(wTa,{useTheme:()=>$1});async function psr(e){try{let{useSettings:n}=await Promise.resolve().then(() => ($bt(),lxn));await n().set("theme",e)}catch{}}function ZBe(e){return rne.value.find((n)=>n.name===e)??null}function t6e(e){uLe.register(gsr,{":root":{cssVariables:Vcn(e)}}),Elt({theme:e.syntax==="arcnight"?vEt:e.syntax}),n6e.value++,pxn?.()}function $1(){if(!pxn)try{pxn=QE()}catch{}return{themes:XA.computed(()=>{return n6e.value,rne.value}),active:XA.computed(()=>{return n6e.value,ZBe(oJ.value)??rne.value[0]}),committedName:XA.computed(()=>WBe.value??oJ.value),themeClass:XA.computed(()=>{return n6e.value,`theme-${oJ.value}`}),create(e){if(ZBe(e.name))throw Error(`theme "${e.name}" is already registered`);if(rne.value=[...rne.value,e],n6e.value++,gxn.value===e.name)oJ.value=e.name,t6e(e);return()=>{if(rne.value=rne.value.filter((n)=>n.name!==e.name),oJ.value===e.name)oJ.value=rne.value[0].name,t6e(rne.value[0]);n6e.value++}},set(e){let n=ZBe(e);if(!n)throw Error(`no theme named "${e}"`);oJ.value=e,gxn.value=e,WBe.value=null,t6e(n),psr(e)},preview(e){let n=ZBe(e);if(!n)return;if(WBe.value===null)WBe.value=oJ.value;oJ.value=e,t6e(n)},cancelPreview(){if(WBe.value===null)return;let e=ZBe(WBe.value);if(oJ.value=WBe.value,WBe.value=null,e)t6e(e)},mount(){let e=ZBe(oJ.value)??rne.value[0];t6e(e)},adopt(e){if(!e)return;gxn.value=e;let n=ZBe(e);if(!n)return;oJ.value=e,t6e(n)},colors:XA.computed(()=>{n6e.value;let e=ZBe(oJ.value)??rne.value[0];return{primary:String(e.primary),background:String(e.background),text:String(e.text),dim:String(e.dim),warn:String(e.warn),error:String(e.error)}})}}var gsr="axon:theme:tokens",rne,oJ,WBe,gxn,n6e,pxn=null;var sJ=Lt(()=>{Ac();Ac();Xcn();rne=XA.ref([...FEt]),oJ=XA.ref(FEt[0].name),WBe=XA.ref(null),gxn=XA.ref(null),n6e=XA.ref(0)});function kTa(){let e=0;return{claim(){let n=++e;return{get latest(){return e===n}}}}}function DTa(e){for(let n=e.length-1;n>=0;n--){let A=e[n];if(A.type!=="kernel:engine:complete")continue;return A.data.meta.model}return null}function xTa(e){if(!e)return null;if((e.provider??e.name)!=="axon")return null;if(e.model!=="auto")return null;return{model:"auto",...e.optimize!==void 0?{optimize:e.optimize}:{},...e.limit!==void 0?{limit:e.limit}:{}}}function mxn(e){let{provider:n,declared:A,resolved:i}=e;if(!A)return n;let s=`${n}/${A}`;if(A!=="auto")return s;if(!i||i==="auto")return s;return`${i} (${A})`}function msr(e,n,A){if(A<=0||n<=0)return;let i=n/A,s=dxn.get(e);dxn.set(e,s===void 0?i:s*0.7+i*0.3)}function dsr(e){return(e?dxn.get(e):void 0)??4.5}function FTa(e,n=[]){let A=null,i=null,s=null,u=-1;for(let d=e.length-1;d>=0;d--){let b=e[d];if(b.type==="kernel:engine:complete"){let E=b.data.meta;if(A??=E.model,E.tokens){i=E.tokens.in+E.tokens.out,u=b.time.seq;break}continue}if(b.type==="kernel:engine:input"){s=b.data.bytes,u=b.time.seq,A??=fsr(e,d);break}}if(i===null&&s===null)return null;if(i!==null){let d=hsr(e,u);if(A&&d!==null)msr(A,d,i);return{tokens:i,model:A}}let p=bsr(n,u);return{tokens:Math.round(s/dsr(A))+Math.round(p/3.3),model:A}}function fsr(e,n){for(let A=n;A>=0;A--){let i=e[A];if(i.type==="kernel:engine:start"){let s=i.data.model;if(s)return s}if(i.type==="kernel:engine:complete")return i.data.meta.model??null}return null}function hsr(e,n){for(let A=e.length-1;A>=0;A--){let i=e[A];if(i.time.seq>=n)continue;if(i.type==="kernel:engine:input")return i.data.bytes;if(i.type==="kernel:engine:complete")return null}return null}function bsr(e,n){let A=0;for(let i=e.length-1;i>=0;i--){let s=e[i];if(s.time.seq<=n)break;if(s.type!=="cognet:output:text")continue;let u=s.data.content;if(u)A+=u.length}return A}function vTa(){let A=0,i=null;return{step(s){if(!s)return null;if(s.model!==i)return i=s.model,A=s.tokens,A;if(s.tokens>=A)return A=s.tokens,A;let u=A-s.tokens;if(u<=200)return A;if(A=Math.round(A-u*0.25),A-s.tokens<=200)A=s.tokens;return A},reset(){A=0,i=null}}}function Csr(e){if(e>=1e6){let n=e/1e6;return`${n.toFixed(n>=10?0:1)}m`}if(e===0)return"0k";return`${(e/1000).toFixed(1)}k`}function Bsr(e){if(e>=1e6){let n=Number((e/1e6).toFixed(1));return`${n%1===0?n.toFixed(0):n.toFixed(1)}m`}return`${Math.round(e/1000)}k`}function STa(e,n){let A=e.find((s)=>s.id===n);if(A)return A.context;return e.find((s)=>s.id.slice(s.id.indexOf("/")+1)===n)?.context??0}function NTa(e,n){if(e===null||n<=0)return null;return`${Csr(e)}/${Bsr(n)}`}var dxn;var fxn=Lt(()=>{dxn=new Map});import{homedir as Isr}from"os";import{basename as Esr,relative as ysr,sep as GTa}from"path";function MTa(e,n){if(!e)return null;if(n&&_sr(e,n))return`axon:${Esr(e)}`;return Qsr(e)}function _sr(e,n){let A=ysr(n,e);return A.length>0&&!A.startsWith("..")&&!A.includes(GTa)}function Qsr(e){let n=Isr();if(e===n)return"~";return e.startsWith(n+GTa)?"~"+e.slice(n.length):e}var LTa=()=>{};function ZRe(){i6e.value++}function qTa(e){return e.join(" ")}function wsr(){let e=[];for(let n of k1.commands){let A=e;for(let s of n.path.slice(0,-1)){let u=A.find((d)=>d.kind==="group"&&d.label===s);if(u){A=Array.isArray(u.children)?u.children:[];continue}let p={kind:"group",label:s,description:"",children:[]};A.push(p),A=p.children}let i=n.path.at(-1);A.push({kind:"action",label:i,description:n.description??"",action:n.action,...n.workingMessage?{workingMessage:n.workingMessage}:{}})}return e}var A6e,zbt,a6e,Wbt,i6e,k1,uvt;var r6e=Lt(()=>{Ac();sc();A6e=XA.ref([]),zbt=XA.ref(new Map),a6e=XA.ref(new Map),Wbt=XA.ref(new Map),i6e=XA.ref(0);k1={command(e){let n=qTa(e.path);if(A6e.value.some((i)=>qTa(i.path)===n))throw sa("COMMAND_PATH_TAKEN",{detail:n,context:{path:e.path}});let A=crypto.randomUUID();return A6e.value=[...A6e.value,{...e,id:A}],ZRe(),()=>{A6e.value=A6e.value.filter((i)=>i.id!==A),ZRe()}},get commands(){return A6e.value},key(e,n){if(zbt.value.has(e))throw sa("KEY_CHORD_TAKEN",{detail:e,context:{chord:e}});zbt.value.set(e,n),ZRe();let A=!1;return()=>{if(A)return;A=!0,zbt.value.delete(e),ZRe()}},keyHandler(e){return zbt.value.get(e)??null},chords:XA.computed(()=>{return i6e.value,[...zbt.value.keys()]}),palette(e,n){if(a6e.value.has(e))throw sa("PALETTE_NAME_TAKEN",{detail:e,context:{name:e}});let A={name:e,definition:n,cache:null};a6e.value.set(e,A);let i=null;if(n.key){let s=Wbt.value.get(n.key);if(s)throw a6e.value.delete(e),sa("MODE_KEY_TAKEN",{detail:`${n.key} is bound to "${s}"`,context:{key:n.key,name:e,taken:s}});Wbt.value.set(n.key,e),i=()=>{Wbt.value.delete(n.key)}}return ZRe(),()=>{a6e.value.delete(e),i?.(),ZRe()}},paletteFor(e){return i6e.value,a6e.value.get(e)??null},paletteForKey(e){i6e.value;let n=Wbt.value.get(e);return n?a6e.value.get(n)??null:null},names:XA.computed(()=>{return i6e.value,[...a6e.value.keys()]}),modeKeys:XA.computed(()=>{return i6e.value,[...Wbt.value.entries()].map(([e,n])=>({key:e,name:n}))})};uvt=XA.computed(()=>{return i6e.value,A6e.value,wsr()})});function TTa(e,n){if(n.prefix===void 0)return!1;if(!e.endsWith(n.prefix))return!1;let A=e[e.length-n.prefix.length-1];return A===void 0||A===" "}function UTa(e,n){if(n.resolve!=="splice")return null;let A=ksr(e,n);if(A===-1)return null;let i=e.slice(A+n.key.length);if(/\s/.test(i))return null;return{start:A,query:i}}function RTa(e,n){let A=(n.prefix??"")+n.key;if(!e.endsWith(A))return-1;let i=e.length-A.length,s=e[i-1];return s===void 0||s===" "?i:-1}function ksr(e,n){for(let A=e.length-1;A>=0;A--){if(e[A]!==n.key)continue;let i=e[A-1];if(i===void 0||i===" ")return A}return-1}var o6e;var hxn=Lt(()=>{o6e=[{mode:"voice",key:"#",prefix:">",resolve:"append"},{mode:"file",key:"@",resolve:"splice"}]});function YTa(e,n=()=>!0){let A=XA.ref("normal"),i=XA.ref(!1),s=XA.ref(null),u=XA.ref(0),p=null;XA.watch([A,i],([y,D])=>{if((y==="loading"||D)&&!p)p=setInterval(()=>{u.value++},80);else if(y!=="loading"&&!D&&p)clearInterval(p),p=null}),XA.onUnmounted(()=>{if(p)clearInterval(p)});let d=XA.computed(()=>{if(i.value||A.value==="loading")return KTa[u.value%KTa.length];let y=Zbt[A.value];if(y)return y;let D=k1.paletteFor(A.value);return D?.definition.symbol??D?.definition.key??Dsr});function b(y){A.value=y}function E(){for(let[y,D]of Object.entries(one))$h(y,(F)=>{if(!n())return;if(A.value==="loading")return;if(A.value==="voice"&&D==="voice"){s.value="confirm",A.value="normal",F.consumed=!0;return}if(e().length>0)return;A.value=A.value===D?"normal":D,F.consumed=!0});$h("up",(y)=>{if(!n())return;if(A.value!=="normal")return;if(e().length>0)return;A.value="history",y.consumed=!0})}return{mode:A,symbol:d,processing:i,setMode:b,voiceExitReason:s,bindKeys:E}}var one,Kso,lvt,Zbt,Dsr="\xB7",KTa;var VRe=Lt(()=>{Ac();r6e();hxn();one={":":"command","/":"instance","*":"model","^":"session","~":"agent","#":"voice","?":"help",">":"prompt","%":"module",'"':"theme"},Kso=new Set(o6e.map((e)=>e.mode)),lvt={command:"run app commands",instance:"switch to a running conversation",session:"reopen a past session",agent:"start an agent",model:"set the agent's model",voice:"voice input via microphone",help:"show this help",prompt:"insert a prompt into your message",module:"manage agent modules",theme:"switch colour theme",file:"reference a file in your message"},Zbt={normal:"\xBB",command:":",instance:"/",model:"*",session:"^",agent:"~",voice:"#",help:"?",history:"\u2191",loading:"\u280B",escalation:"\u203C",prompt:">",module:"%",theme:'"',file:"@",question:"\xB7"},KTa=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});var jTa={};JA(jTa,{useQuestions:()=>GO});function GO(){if(!bxn)bxn=xsr();return bxn}function xsr(){function e(n){if(s6e.value)throw sa("PALETTE_ALREADY_OPEN",{detail:"a question is already open"});return new Promise((A)=>{let i=(s)=>{if(!s6e.value)return;s6e.value=null,A(s)};s6e.value={...n(i),settle:i}})}return{pending:XA.computed(()=>s6e.value),cancel(){let n=s6e.value;if(!n)return;n.settle(n.kind==="confirm"?!1:void 0)},submitText(n){let A=s6e.value;if(A?.kind!=="prompt")return;A.settle(n.length>0?n:void 0)},async pick(n,A){return e((i)=>({kind:"pick",message:A?.placeholder??"",items:n.map((s,u)=>{let p=typeof s==="string",d=p?s:s.label,b=p?s:s.value;return{id:`pick-${u}`,label:d,...p?{}:s.description?{description:s.description}:{},action:()=>{i(b)}}})}))},async confirm(n){return e((A)=>({kind:"confirm",message:n,items:[{id:"yes",label:"yes",action:()=>{A(!0)}},{id:"no",label:"no",action:()=>{A(!1)}}]}))},async prompt(n,A){return e(()=>({kind:"prompt",message:n,items:[],...A?.placeholder?{placeholder:A.placeholder}:{}}))}}}var s6e,bxn;var Vbt=Lt(()=>{Ac();sc();s6e=XA.ref(null)});function Fsr(e,n,A){return`${e}\x00${n}\x00${A??""}`}function Ixn(e){return{id:e.id,label:e.label,...e.description!==void 0?{description:e.description}:{},...e.chunks!==void 0?{chunks:e.chunks}:{},...e.descendQuery!==void 0?{descendQuery:e.descendQuery}:{},...e.workingMessage!==void 0?{workingMessage:e.workingMessage}:{},...e.detach!==void 0?{detach:e.detach}:{},...e.header!==void 0?{header:e.header}:{},...e.separator!==void 0?{separator:e.separator}:{},...e.preview!==void 0?{preview:e.preview}:{},...e.choices!==void 0?{choices:()=>e.choices().map(Ixn)}:{},action:e.action??(()=>{})}}function vsr(e){if(Array.isArray(e))return{items:e.map(Ixn)};return{items:e.items.map(Ixn),...e.breadcrumb!==void 0?{breadcrumb:e.breadcrumb}:{},...e.status!==void 0?{status:e.status}:{},...e.invalid!==void 0?{invalid:e.invalid}:{}}}function Ssr(e,n,A){let i=Fsr(e.name,n,A);HTa.value;let s=Cxn.value.get(i);if(s)return{items:s.items,...s.breadcrumb!==void 0?{breadcrumb:s.breadcrumb}:{},...s.status!==void 0?{status:s.status}:{},...s.invalid!==void 0?{invalid:s.invalid}:{}};if(!Bxn.has(i))Bxn.add(i),(async()=>{try{let u=await e.definition.list(n,A);Cxn.value.set(i,{key:i,...vsr(u)})}catch(u){Cxn.value.set(i,{key:i,items:[],status:{kind:"error",message:u instanceof Error?u.message:String(u)}})}finally{Bxn.delete(i),HTa.value++}})();return{items:[],status:{kind:"loading",message:"loading..."}}}function PTa(e){return{id:e,resolve:XA.computed(()=>(n,A)=>{let i=GO().pending.value;if(i)return{items:i.items,...i.message?{breadcrumb:i.message}:{}};let s=k1.paletteFor(e);if(!s)return{items:[]};return Ssr(s,n,A)}),get skipDefaultFilter(){return k1.paletteFor(e)?.definition.filter===!1},get tabs(){return k1.paletteFor(e)?.definition.tabs},get anchor(){return k1.paletteFor(e)?.definition.anchor},get maxHeight(){return k1.paletteFor(e)?.definition.maxHeight}}}var Cxn,Bxn,HTa,XRe="question",JTa;var Exn=Lt(()=>{Ac();r6e();Vbt();Cxn=XA.ref(new Map),Bxn=new Set,HTa=XA.ref(0);JTa={id:XRe,skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=GO().pending.value;if(!n)return{items:[]};if(n.kind==="prompt"){let A=e.length>0;return{items:[{id:"prompt",label:A?e:n.placeholder??"type an answer",placeholder:!A,description:A?"enter to confirm":"",action:()=>{}}],breadcrumb:n.message}}return{items:n.items,...n.message?{breadcrumb:n.message}:{}}})}});function $Ta(e){OTa.set(e.id,e)}function gvt(e){let n=OTa.get(e);if(n)return n;if(e===XRe)return JTa;return k1.paletteFor(e)?PTa(e):void 0}var OTa;var zTa=Lt(()=>{r6e();Exn();OTa=new Map});function Nsr(e,n){if(e.length===0)return!0;if(e.length>n.length)return!1;let A=0;for(let i of n)if(i===e[A]){if(A++,A===e.length)return!0}return!1}function Gsr(e,n){if(n===e)return 100;if(n.startsWith(e))return 75;if(n.includes(e))return 50;if(e.length>=Msr&&n.length<=e.length*Lsr){if(Nsr(e,n))return 25}return null}function c6e(e,n){let A=e.toLowerCase().split(/[\s:]+/).filter(Boolean);if(A.length===0)return 0;let i=n.map((u)=>u.toLowerCase()),s=0;for(let u of A){let p=null;for(let d of i){let b=Gsr(u,d);if(b!==null&&(p===null||b>p))p=b}if(p===null)return null;s+=p}return s}var Msr=3,Lsr=4;function WTa(e){return typeof e.children==="function"?e.children():e.children}function ZTa(e,n){let A=e.endsWith(" "),i=e.split(" "),s=i.map((D)=>D.toLowerCase()),u=n,p=[],d=A?s.length:s.length-1;for(let D=0;D<d;D++){let F=s[D];if(!F)continue;let S=u.find((T)=>T.label.toLowerCase()===F);if(!S)return{nodes:[],breadcrumb:p,partial:F,exactMatch:null,noMatch:!0,input:null};if(S.kind==="action")return{nodes:[],breadcrumb:p,partial:"",exactMatch:S,noMatch:!1,input:null};if(S.kind==="input")return{nodes:[],breadcrumb:[...p,S.label],partial:"",exactMatch:null,noMatch:!1,input:{node:S,value:i.slice(D+1).join(" ").trim()}};p.push(S.label),u=WTa(S)}let b=A?"":s[s.length-1]??"",E=b?u.filter((D)=>D.label.toLowerCase().startsWith(b.toLowerCase())):u;if(b&&E.length===0)return{nodes:E,breadcrumb:p,partial:b,exactMatch:null,noMatch:!0,input:null};let y=b?E.find((D)=>D.label.toLowerCase()===b.toLowerCase())??null:null;if(y&&y.kind==="group")return{nodes:WTa(y),breadcrumb:[...p,y.label],partial:"",exactMatch:null,noMatch:!1,input:null};return{nodes:E,breadcrumb:p,partial:b,exactMatch:y,noMatch:!1,input:null}}function VTa(e,n){return[...e,n].join(" ")+" "}function pvt(e){if(e.length===0)return null;let n=3,A=e.length>n?e.slice(-n):e;return(e.length>n?"\u2026 \u203A ":"")+A.join(" \u203A ")+" \u203A"}import{existsSync as qsr}from"fs";import{join as XTa,resolve as Tsr}from"path";import{homedir as eUa}from"os";function Usr(){let e=SE();function n(){let b=e.store.profiles.active();if(!b)throw sa("NOT_AUTHENTICATED");return b}function A(b){let E=eUa();return b===E||b.startsWith(E+"/")?"~"+b.slice(E.length):b}function i(){let b=n(),E={dir:XTa(e.store.root,"profiles",b.id,"agents"),label:"~/.axon (default)"},y=b.agents.extraRoots().map((D)=>({dir:D,label:A(D)}));return[E,...y]}function s(){let b=e.store.profiles.active();if(!b)return[];return b.agents.extraRoots().map((E)=>({dir:E,label:A(E)}))}async function u(b,E){await e.projects.create("agent",{name:b,dir:E})}async function p(b){let E=Tsr(b.startsWith("~")?XTa(eUa(),b.slice(1)):b);if(!qsr(E))throw sa("WATCH_PATH_NOT_FOUND",{context:{path:E}});return await n().agents.watch(E),Ml().refreshAvailable(),E}async function d(b){await n().agents.unwatch(b),Ml().refreshAvailable()}return{locations:i,watched:s,create:u,watch:p,unwatch:d}}function eKe(){if(!yxn)yxn=Usr();return yxn}var yxn;var tUa=Lt(()=>{d3();mF();sc()});function VBe(){if(!_xn)_xn=Ksr();return _xn}function Ksr(){let e=XA.ref(null),n=0,A=null,i=!1,s=null,u=!1,p=null;function d(D){s=D}function b(D){p=D}function E(){if(i)return!0;if(p?.()){if(n=0,A)clearTimeout(A);return e.value=null,!1}if(n++,A)clearTimeout(A);if(n===1)return e.value="press ctrl+c again to quit",A=setTimeout(()=>{n=0,e.value=null},Rsr),!1;if(n===2)return y(),!1;return process.exit(130),!1}async function y(D=0){if(u)return;if(u=!0,n=Math.max(n,2),A)clearTimeout(A);e.value="shutting down \xB7 ctrl+c to force quit";let F=new Promise((T)=>{setTimeout(()=>{console.error(`shutdown exceeded ${nUa}ms \u2014 exiting without waiting further`),T()},nUa)});await Promise.race([Ml().shutdown().catch((T)=>{console.error("shutdown failed during exit:",T)}),F]),i=!0,setTimeout(()=>{console.error(`exit exceeded ${aUa}ms \u2014 forcing`),process.exit(D)},aUa).unref?.(),s?.(D)}return{hint:e,bind:d,bindDraft:b,onQuit:E,gracefulExit:y}}var Rsr=500,nUa=2000,aUa=1500,_xn;var Xbt=Lt(()=>{Ac();mF()});function tKe(){if(!Qxn)Qxn=jsr();return Qxn}function jsr(){let e=SE().updates,n=XA.ref(null),A=XA.ref(!1),i=XA.computed(()=>n.value!==null),s=null;async function u(E){if(!e.supported()||A.value)return;A.value=!0;try{let y=await e.check(E);n.value=y.status==="available"?y.latest:null}finally{A.value=!1}}function p(){if(!e.supported())return()=>{};if(u().catch(()=>{}),!s)s=setInterval(()=>{u().catch(()=>{})},Ysr);return d}function d(){if(s)clearInterval(s);s=null}async function b(E){if((await e.handoff(E)).status==="current"){n.value=null;return}await VBe().gracefulExit(Rbt)}return{current:e.currentVersion,latest:n,available:i,checking:A,check:u,start:p,stop:d,update:b}}var Ysr=21600000,Qxn;var mvt=Lt(()=>{Ac();d3();Xbt();tvt()});function AUa(){return{entries:XA.computed(()=>eCt.value),checking:XA.computed(()=>wxn.value),outdated:XA.computed(()=>eCt.value.filter((e)=>e.outdated)),refresh(){if(tCt)return tCt;if(kxn!==null)return Promise.resolve();if(Date.now()<Dxn)return Promise.resolve();return wxn.value=!0,tCt=(async()=>{let e=!1;try{let n=await cJ().updates();eCt.value=n,e=n.every((A)=>A.latest!==null)}catch{eCt.value=[]}finally{if(e)kxn=Date.now();else Dxn=Date.now()+Hsr;wxn.value=!1,tCt=null}})(),tCt},invalidate(){kxn=null,Dxn=0,eCt.value=[]}}}var eCt,wxn,kxn=null,Dxn=0,Hsr=1e4,tCt=null;var iUa=Lt(()=>{Ac();u6e();eCt=XA.ref([]),wxn=XA.ref(!1)});function rUa({entries:e,checking:n}){if(n&&e.length===0)return[{kind:"message",label:"checking\u2026",description:"Asking the registry what is published"}];if(e.length===0)return[{kind:"message",label:"none installed",description:"Your profile declares no registry extensions"}];let A=e.filter((u)=>u.outdated),i=e.filter((u)=>u.latest===null);if(A.length===0){if(i.length>0)return[{kind:"message",label:"could not reach the registry",description:`${i.length} extension${i.length===1?"":"s"} could not be checked`}];return[{kind:"message",label:"up to date",description:`All ${e.length} extension${e.length===1?"":"s"} are current`}]}let s=[];if(A.length>1)s.push({kind:"all",count:A.length,entries:A});for(let u of A)s.push({kind:"entry",entry:u});return s}function Psr(){let e=process.env.AXON_API_BASE??(process.env.AXON_STAGING_MODE==="true"?"http://localhost:3099":"production"),n=0;for(let A=0;A<e.length;A++)n=Math.imul(31,n)+e.charCodeAt(A)|0;return(n>>>0).toString(36)}function Jsr(e){let n=SE(),A=n.cloud.client.registry.artifacts,i=n.store.cache.file(`registry-${e}-${Psr()}`),s=XA.ref([]),u=XA.ref(!1),p=XA.ref(null),d=!1;function b(){if(d)return;d=!0;try{let y=i.get();if(y?.entries?.length)s.value=y.entries}catch{}E()}function E(){if(u.value)return;u.value=!0,p.value=null,A.of(e).search().then((y)=>{s.value=y;try{i.set({fetchedAt:Date.now(),entries:y})}catch{}}).catch((y)=>{p.value=y instanceof Error?y:Error(String(y))}).finally(()=>{u.value=!1})}return{entries:s,loading:u,error:p,ensure:b,reset(){if(p.value)p.value=null,E()}}}function nKe(e){let n=oUa.get(e);if(!n)n=Jsr(e),oUa.set(e,n);return n}var oUa;var dvt=Lt(()=>{Ac();d3();oUa=new Map});function HN(){return{current:fvt,show(e,n="info",A){let i=e.trim();if(i.length===0)return;fvt.value={message:i.length>sUa?`${i.slice(0,sUa-1)}\u2026`:i,level:n};let s=A!==void 0&&Number.isFinite(A)&&A>0?Math.min(A,$sr):Osr;if(l6e)clearTimeout(l6e);l6e=setTimeout(()=>{fvt.value=null,l6e=null},s)},clear(){if(l6e)clearTimeout(l6e);l6e=null,fvt.value=null}}}var sUa=50,Osr=300,$sr=5000,fvt,l6e=null;var g6e=Lt(()=>{Ac();fvt=XA.ref(null)});function aKe(){let e=Ml(),n=XA.computed(()=>e.prompts.list());function A(s){return e.prompts.render(s)}function i(s){return e.prompts.fetch(s)}return{entries:n,render:A,fetch:i}}var cUa=Lt(()=>{Ac();mF()});function zsr(){let e=SE().cloud.client.registry.artifacts,n=XA.ref([]),A=XA.ref(!1),i=XA.ref(null),s=!1;function u(){if(s||A.value||i.value)return;A.value=!0,e.of("prompt").search().then((d)=>{n.value=d,s=!0}).catch((d)=>{i.value=d instanceof Error?d:Error(String(d))}).finally(()=>{A.value=!1})}function p(){if(i.value)i.value=null}return{entries:n,loading:A,error:i,ensure:u,reset:p}}function uUa(){if(!xxn)xxn=zsr();return xxn}var xxn;var lUa=Lt(()=>{Ac();d3()});function Wsr(e,n){let A=e.trim().toLowerCase();return{items:aKe().entries.value.filter((s)=>AKe(A,s.name,s.description)).map((s)=>({id:`prompt:${s.name}`,label:s.name,...s.description?{description:s.description}:{},completeQuery:s.name,inlineResult:!0,workingMessage:`rendering ${s.name}...`,action:async()=>{try{n(await aKe().render(s.name))}catch(u){vb().sendError.value=mUa(u)}}}))}}function gUa(e,n,A){let i=uUa();if(i.ensure(),i.error.value)return{items:[],status:{kind:"error",message:`registry unavailable \u2014 ${i.error.value.message}`}};let s=e.trim().toLowerCase(),u=new Set(aKe().entries.value.map((d)=>d.name)),p=i.entries.value.filter((d)=>AKe(s,d.name,d.description)).filter((d)=>!(A?.excludeDeclared&&u.has(d.name))).map((d)=>({id:`registry-prompt:${d.name}`,label:d.name,description:d.description??"no description",completeQuery:d.name,inlineResult:!0,workingMessage:`rendering ${d.name}...`,action:async()=>{try{n(await aKe().fetch(d.name))}catch(b){vb().sendError.value=mUa(b)}}}));if(i.loading.value){let d={kind:"loading",message:"loading registry prompts..."};return p.length===0?{items:[],status:d}:{items:p,status:d}}return{items:p}}function Fxn(e,n=[]){if(!e.startsWith("@"))return!1;let A=e.trim().toLowerCase();return!n.some((i)=>i.toLowerCase()===A)}function AKe(e,n,A){if(!e)return!0;let i=e.toLowerCase();return n.toLowerCase().includes(i)||(A?.toLowerCase().includes(i)??!1)}function mUa(e){return e instanceof Error?e:Error(String(e))}var pUa;var hvt=Lt(()=>{Ac();cUa();lUa();hR();pUa={id:"prompt",maxHeight:8,skipDefaultFilter:!0,resolve:XA.computed(()=>(e,n,A)=>{let i=aKe().entries.value.map((p)=>p.name);if(Fxn(e,i))return gUa(e,A);let s=Wsr(e,A),u=gUa(e,A,{excludeDeclared:!0});if(u.items.length===0)return s;return{items:[{id:"hdr:registry",label:"registry",header:!0,action:()=>{}},...u.items,...s.items.length>0?[{id:"sep:declared",separator:!0,label:"",action:()=>{}},{id:"hdr:declared",label:"this agent",header:!0,action:()=>{}},...s.items]:[]],...u.status?{status:u.status}:{}}})}});function bvt(e,n){return nKe(e).entries.value.filter((i)=>AKe(n.term,i.name,i.description)).filter((i)=>!(n.mode==="install"&&n.installed.has(i.name))).map((i)=>{let s=n.installed.has(i.name);return{id:`registry-${e}:${i.name}`,label:i.name,description:s?`installed \xB7 ${i.description??""}`.trimEnd():`install \xB7 ${i.description??"no description"}`,completeQuery:i.name,action:()=>{if(s)return;Zsr(e,i.name)}}})}async function Zsr(e,n){try{if(e==="extension"){await Ml().installExtension(n),HN().show(`installed ${n}`);return}if((await Ml().installModule(n)).status==="not-found")throw Error(`${n} could not be resolved for install`)}catch(A){vb().sendError.value=A instanceof Error?A:Error(String(A))}}var vxn=Lt(()=>{dvt();mF();g6e();hR();hvt()});import{join as dUa}from"path";function Vsr(e){let n=e.lastIndexOf("@");return n>0?e.slice(0,n):e}function nCt(e,n=""){return{kind:"action",label:`(${e})`,description:n,invalid:!0,action:()=>{}}}function fUa(e){let n=nKe(e);n.ensure();let A=e==="module"?new Set(Ml().modules.value.map((s)=>s.packageName).filter((s)=>Boolean(s))):new Set(cJ().declared.value.map(Vsr)),i=bvt(e,{term:"",installed:A,mode:"install"});if(i.length===0){let s=n.error.value?`registry unavailable \u2014 ${n.error.value.message}`:n.loading.value?"loading catalogue...":`no ${e}s available to install`;return[nCt(s)]}return i.map((s)=>({kind:"action",label:s.label,description:s.description??"",action:(u)=>{s.action(u)}}))}var Xsr,aCt;var Sxn=Lt(()=>{dDt();e6e();mF();tUa();sc();mvt();Xbt();ovt();hR();u6e();iUa();dvt();vxn();d3();g6e();Xsr=[{label:"log",kind:"events",description:"This session's full event log, as an editor buffer"},{label:"flame",kind:"trace",description:"This session's trace \u2014 the flame graph"},{label:"engine",kind:"engine",description:"Engine calls and responses for this session"}],aCt=[{kind:"group",label:"open",description:"Open one of this session's runtime panes in the editor",children:()=>{let e=Ml(),n=Hhe();if(!n.available.value)return[{kind:"action",label:"(no editor attached)",description:"Open this project in an editor running Axon Fleet",action:()=>{throw sa("NO_EDITOR_ATTACHED")}}];if(e.sessionId.value===null)return[{kind:"action",label:"(no session)",description:"Start or focus an agent first",action:()=>{throw sa("NO_SESSION_TO_OPEN")}}];return Xsr.map((A)=>({kind:"action",label:A.label,description:A.description,workingMessage:`opening ${A.label}...`,action:async()=>{let i=e.sessionId.value;if(!i)throw sa("NO_SESSION_TO_OPEN");let s=e.home.value;if(s)await n.editorAbout(s,"buffer",A.kind,i);else await n.editor("buffer",A.kind,i)}}))}},{kind:"group",label:"agent",description:"The running agent \u2014 spawn, close, reboot, clear",children:()=>[{kind:"action",label:"spawn",description:"Start another agent instance \u2014 the ~ key does this",action:()=>{let e=vb();e.text.value="",e.mode.setMode("agent")}},{kind:"action",label:"switch",description:"Go to another running conversation \u2014 the / key does this",action:()=>{let e=vb();e.text.value="",e.mode.setMode("instance")}},{kind:"action",label:"close",description:"Shut down the focused agent instance",workingMessage:"closing instance...",action:()=>Ml().close()},{kind:"action",label:"reboot",description:"Reload the running agent (blueprint rescan + hot-swap)",workingMessage:"rebooting...",action:()=>Ml().reboot()},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Ml().clear()},{kind:"action",label:"model",description:"Set the focused agent's model",action:()=>{let e=vb();e.text.value="",e.mode.setMode("model")}}]},{kind:"action",label:"reload",description:"Reload your config \u2014 main.ts, plugins and extensions",workingMessage:"reloading config...",action:async()=>{let e=cJ();await e.reload();let n=e.problems.value.length,A=HN();if(n>0)A.show(`config reloaded \u2014 ${n} problem${n===1?"":"s"}`,"error");else A.show("config reloaded")}},{kind:"input",label:"init",description:"Scaffold a new agent",placeholder:"agent name",token:"name",workingMessage:"creating agent...",confirm:{choices:()=>[...eKe().locations().map((e)=>({label:e.label})),{label:"watch a new directory..."}]},action:async(e,n)=>{let A=eKe();if(!n)throw sa("PALETTE_CHOICE_REQUIRED");if(n==="watch a new directory...")throw sa("NOT_WIRED",{detail:"typing a path for a new watch target isn't wired into this choice step yet \u2014 run `axon watch <dir>` first, then `init` again"});let i=A.locations().find((s)=>s.label===n)?.dir;if(!i)throw sa("PROJECT_NOT_FOUND",{context:{location:n}});await A.create(e,i),await Ml().select(e)}},{kind:"action",label:"exit",description:"Exit the application",action:()=>VBe().gracefulExit()},{kind:"action",label:"update",description:"Install the latest Axon release and exit",workingMessage:"preparing update...",action:(e)=>tKe().update(e)},{kind:"action",label:"logout",description:"Sign out of your Axon account",workingMessage:"logging out...",action:()=>P6().logout()},{kind:"action",label:"docs",description:"Open Axon documentation",action:()=>{PGe("https://axon.arclabs.it/docs")}},{kind:"group",label:"module",description:"Agent modules \u2014 install into the focused agent, or remove one",children:()=>[{kind:"group",label:"install",description:"Install a registry module into the running agent",children:()=>fUa("module")},{kind:"group",label:"uninstall",description:"Remove a module from the running agent",children:()=>{let e=Ml().modules.value;if(e.length===0)return[nCt("none installed","This agent has no installed modules")];return e.filter((n)=>n.packageName).map((n)=>({kind:"action",label:n.packageName,description:n.version?`v${n.version}`:"",workingMessage:`removing ${n.packageName}...`,action:()=>{Ml().uninstallModule(n.packageName)}}))}}]},{kind:"group",label:"ext",description:"Terminal extensions \u2014 commands, keys, palettes, themes",children:()=>[{kind:"group",label:"install",description:"Install a registry extension into your terminal",children:()=>fUa("extension")},{kind:"group",label:"update",description:"Update installed extensions",children:()=>{let e=AUa();return e.refresh(),rUa({entries:e.entries.value,checking:e.checking.value}).map((n)=>{if(n.kind==="message")return nCt(n.label,n.description);if(n.kind==="all")return{kind:"action",label:"all",description:`Update ${n.count} extensions`,workingMessage:`updating ${n.count} extensions...`,action:async()=>{for(let i of n.entries)await cJ().update(i.name,i.latest);e.invalidate(),HN().show(`updated ${n.count} extensions`)}};let A=n.entry;return{kind:"action",label:A.name,description:`${A.current} \u2192 ${A.latest}`,workingMessage:`updating ${A.name}...`,keepOpen:!0,action:async()=>{await cJ().update(A.name,A.latest),e.invalidate(),HN().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove an extension from your terminal",children:()=>{let e=cJ().declared.value;if(e.length===0)return[nCt("none installed","Your profile declares no extensions")];return e.map((n)=>({kind:"action",label:n,description:"",workingMessage:`removing ${n}...`,action:async()=>{await Ml().uninstallExtension(n),HN().show(`removed ${n}`)}}))}}]},{kind:"group",label:"session",description:"This conversation \u2014 fork it, name it, open its log",children:()=>[{kind:"action",label:"pick",description:"Reopen a past conversation \u2014 the ^ key does this",action:()=>{let e=vb();e.text.value="",e.mode.setMode("session")}},{kind:"action",label:"fork",description:"Copy this conversation \u2014 the copy diverges, this one is untouched",workingMessage:"forking session...",action:async()=>{let e=await Ml().forkSession();HN().show(`forked \u2192 ${e.sessionId.slice(0,8)} \xB7 open it with ^`)}},{kind:"input",label:"rename",description:"Give this conversation a name",placeholder:"a short name",token:"title",workingMessage:"renaming session...",action:async(e)=>{await Ml().renameSession(e),HN().show(`renamed \u2192 ${e}`)}},{kind:"action",label:"open",description:"Open this session's .jsonl in the editor",workingMessage:"opening session log...",action:async()=>{let e=Ml(),n=Hhe(),A=e.sessionFile.value;if(!A)throw sa("NO_SESSION_TO_OPEN");if(!n.available.value)throw sa("NO_EDITOR_ATTACHED");let i=e.home.value;if(i)await n.editorAbout(i,"open",A);else await n.editor("open",A)}}]},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Ml().clear()},{kind:"action",label:"model",description:"Set the focused agent's model",action:()=>{let e=vb();e.text.value="",e.mode.setMode("model")}},{kind:"action",label:"config",description:"Open your main.ts in the editor \u2014 your own commands, keys and plugins",workingMessage:"opening config...",action:async()=>{let e=Hhe();if(!e.available.value)throw sa("NO_EDITOR_ATTACHED");await e.editor("open",dUa(SE().profile.root,"main.ts"))}},{kind:"action",label:"profile",description:"Open your profile.config.ts in the editor \u2014 extensions, theme, paths",workingMessage:"opening profile...",action:async()=>{let e=Hhe();if(!e.available.value)throw sa("NO_EDITOR_ATTACHED");await e.editor("open",dUa(SE().profile.root,"profile.config.ts"))}},{kind:"input",label:"watch",description:"Register a directory as an agent location \u2014 scanned by init and the agent list",placeholder:"~/path/to/directory",token:"dir",workingMessage:"watching directory...",action:async(e)=>{await eKe().watch(e)}},{kind:"group",label:"unwatch",description:"Stop scanning a directory for agents",children:()=>{let e=eKe().watched();if(e.length===0)return[nCt("no watched directories")];return e.map((n)=>({kind:"action",label:n.label,description:n.dir,workingMessage:"unwatching directory...",action:async()=>{await eKe().unwatch(n.dir)}}))}},{kind:"group",label:"provider",description:"Manage provider credentials",children:[{kind:"group",label:"codex",description:"OpenAI Codex subscription (BYOK)",children:()=>{let e=P6().connections.openai;if(!e.connected.value)return[{kind:"action",label:"connect",description:"Sign in with your OpenAI account",workingMessage:"waiting for browser sign-in...",action:()=>e.connect()}];return[{kind:"action",label:"disconnect",description:"Remove the OpenAI connection from your account",workingMessage:"disconnecting...",action:()=>e.disconnect()}]}},{kind:"group",label:"openrouter",description:"OpenRouter API key (BYOK)",children:()=>{let e=P6().connections.openrouter;if(!e.connected.value)return[{kind:"input",label:"connect",description:"Store this OpenRouter API key in your account vault",placeholder:"paste your OpenRouter API key (openrouter.ai/keys)",token:"key",workingMessage:"verifying and storing key...",action:(n)=>e.connect(n)}];return[{kind:"action",label:"disconnect",description:"Remove the OpenRouter key from your account",workingMessage:"disconnecting...",action:()=>e.disconnect()}]}}]}]});var hUa;var bUa=Lt(()=>{Ac();Sxn();r6e();hUa={id:"command",skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=ZTa(e,[...aCt,...uvt.value]);function A(s){if(s.kind==="group"||s.kind==="input"){let u=VTa(n.breadcrumb,s.label);return{id:s.label,label:s.label,description:s.description,descendQuery:u,completeQuery:u,action:()=>{}}}return{...s.invalid?{invalid:!0}:{},...s.keepOpen?{keepOpen:!0}:{},id:s.label,label:s.label,description:s.description,workingMessage:s.workingMessage,completeQuery:[...n.breadcrumb,s.label].join(" "),action:s.action}}if(n.nodes.length===0&&n.exactMatch?.kind==="action"&&!n.input){let s=n.exactMatch;return{items:[A(s)],breadcrumb:pvt(n.breadcrumb),invalid:!1}}if(n.input){let{node:s,value:u}=n.input;return{items:[{id:s.label,label:u||`<${s.token}>`,placeholder:!u,...u?{}:{invalid:!0},description:u?s.description:s.placeholder,workingMessage:s.workingMessage,...s.confirm?{choices:()=>{return s.confirm.choices(u).map((p)=>({id:p.label,label:p.label,description:p.description,workingMessage:s.workingMessage,action:(d)=>Promise.resolve(s.action(u,p.label,d))}))},action:()=>{}}:{action:(p)=>Promise.resolve(s.action(u,void 0,p))}}],breadcrumb:pvt(n.breadcrumb),invalid:!1}}let i=n.exactMatch!==null&&n.exactMatch.kind==="action";return{items:n.nodes.map(A),breadcrumb:pvt(n.breadcrumb),invalid:!i}})}});function ncr(){let e=SE(),n=e.cloud.client.registry.models,A=e.store.cache.file(ecr),i=XA.ref([]),s=XA.ref([]),u=XA.ref(!1),p=XA.ref(null),d=0,b=!1;function E(){if(d>0)return;let S=null;try{S=A.get()}catch{S=null}if(!S?.models?.length)return;i.value=S.models,s.value=S.failures??[],d=S.at??1}function y(){if(b)return;if(b=!0,i.value.length===0)u.value=!0;n.all().then((S)=>{i.value=S.models,s.value=S.failures,d=Date.now();try{A.set({...S,at:d})}catch{}p.value=null}).catch((S)=>{if(i.value.length===0)p.value=S instanceof Error?S:Error(String(S))}).finally(()=>{b=!1,u.value=!1})}function D(){if(E(),d===0||Date.now()-d>tcr)y()}function F(){if(!p.value)return;p.value=null,y()}return{models:i,failures:s,loading:u,error:p,ensure:D,reset:F}}function p6e(){if(!Nxn)Nxn=ncr();return Nxn}function CUa(){p6e().ensure()}var ecr="models",tcr=1800000,Nxn;var Cvt=Lt(()=>{Ac();d3()});function Acr(){let e=SE().store,n=XA.ref(e.state.get()?.recentModels??[]),A=XA.computed(()=>n.value);function i(s){let u=[s,...n.value.filter((p)=>p!==s)].slice(0,acr);n.value=u;try{e.state.update((p)=>({...p,recentModels:u}))}catch{}}return{order:A,record:i}}function iKe(){if(!Gxn)Gxn=Acr();return Gxn}var acr=25,Gxn;var BUa=Lt(()=>{Ac();d3()});function ocr(){let e=SE(),n=e.ollama,A=e.store.cache.file(icr),i=XA.ref(null),s=XA.ref([]),u=XA.ref({}),p=XA.ref(null),d=XA.ref(null),b=0,E=!1;function y(){let U=new Set(s.value.map(($)=>$.name));return n.registry.browse().map(($)=>({...$,installed:U.has($.name),...u.value[$.name]===void 0?{}:{size:u.value[$.name]}}))}function D(){if(b>0)return;try{let U=A.get();if(!U?.sizes)return;u.value=U.sizes,b=U.at??1}catch{}}async function F(){if(E)return;E=!0;try{let U=await n.status();if(i.value=U.running,!U.running){s.value=[];return}s.value=await n.models.list(),d.value=null;let $=n.registry.browse(),X=await Promise.all($.map(async(ne)=>{try{let Be=await n.registry.resolve(ne.name);return Be?[ne.name,Be.size]:null}catch{return null}})),Ae={};for(let ne of X)if(ne)Ae[ne[0]]=ne[1];if(Object.keys(Ae).length>0){u.value=Ae,b=Date.now();try{A.set({sizes:Ae,at:b})}catch{}}}catch(U){d.value=U instanceof Error?U:Error(String(U)),i.value=!1}finally{E=!1}}function S(){if(D(),i.value===null||b===0||Date.now()-b>rcr)F()}async function T(U){if(p.value)throw Error(`already downloading ${p.value.name}`);p.value={name:U,percent:null,status:"starting",bytes:null};try{for await(let $ of n.models.pull(U))if(p.value=scr(U,$),$.done)break;s.value=await n.models.list()}catch($){throw d.value=$ instanceof Error?$:Error(String($)),$}finally{p.value=null}}return{running:i,installed:s,catalog:y,sizes:u,pulling:p,error:d,ensure:S,refresh:F,pull:T}}function scr(e,n){return{name:e,percent:n.percent,status:n.status,bytes:n.total!==void 0&&n.completed!==void 0?{completed:n.completed,total:n.total}:null}}function rKe(){if(!Mxn)Mxn=ocr();return Mxn}var icr="ollama-sizes",rcr=86400000,Mxn;var Lxn=Lt(()=>{Ac();d3()});function ucr(e){let n=new Set;for(let A of e)for(let i of A.routes)n.add(i.via);if(n.add("axon"),rKe().running.value)n.add("ollama");return ccr.filter((A)=>n.has(A))}function lcr(e,n){let A=0;for(let i of n)if(i.routes.some((s)=>s.via===e))A++;return A}function gcr(e){let n=p6e().models.value,A=lcr(e,n);return{id:`route:${e}`,label:e,description:fcr[e]??`${A} models`,descendQuery:`${e}:`,completeQuery:`${e}:`,action:()=>{}}}function pcr(e){let n=iKe().order.value;if(n.length===0)return[{...qxn(),label:"axon:auto"}];let A=[];for(let i of n.slice(0,mcr)){if(i==="axon:auto"){A.push({...qxn(),label:"axon:auto"});continue}let s=i.indexOf(":");if(s===-1)continue;let u=i.slice(0,s),p=i.slice(s+1),d=e.find((E)=>E.routes.some((y)=>y.via===u&&y.model===p)),b=d?.routes.find((E)=>E.via===u&&E.model===p);if(!d||!b)continue;A.push({...QUa(d,b),label:i})}return A}function IUa(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function dcr(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}function qxn(){let e=Ml().model.value,n=e?.provider==="axon"&&"model"in e&&e.model==="auto";return{id:"axon:auto",label:"auto",chunks:["axon","auto"],completeQuery:"axon:auto",description:n?"(current) axon picks per request":"axon picks per request",action:()=>{return iKe().record("axon:auto"),Txn({provider:"axon",model:"auto"})},workingMessage:"switching to auto..."}}function QUa(e,n){let A=Ml().model.value,i=A!==null&&"model"in A&&A.model===n.model&&A.provider===n.via;return{id:`${n.via}:${n.model}`,label:e.id,chunks:[n.via,e.id],completeQuery:`${n.via}:${n.model}`,description:`${i?"(current) ":""}${Bcr(e,n)}`,action:()=>{if(n.via==="openrouter"&&!P6().connections.openrouter.connected.value)return Promise.reject(sa("PROVIDER_NOT_CONNECTED",{detail:"OpenRouter key not connected \u2014 run :provider openrouter connect first",context:{provider:"openrouter"}}));if(n.via==="codex"&&!P6().connections.openai.connected.value)return Promise.reject(sa("PROVIDER_NOT_CONNECTED",{detail:"OpenAI account not connected \u2014 run :provider codex connect first",context:{provider:"codex"}}));return iKe().record(`${n.via}:${n.model}`),Txn(bcr(n))},workingMessage:`switching to ${Ccr(e)} via ${n.via}...`}}function hcr(){let e=rKe(),n=Ml().model.value,A=(s)=>n?.provider==="ollama"&&("model"in n)&&n.model===s;return e.catalog().map((s)=>{let u={provider:"ollama",model:s.name},p=s.size===void 0?null:`${(s.size/1e9).toFixed(1)}GB`,d=s.capabilities.filter((b)=>b!=="chat").join(" ");return{installed:s.installed===!0,id:`ollama:${s.name}`,label:s.name,chunks:["ollama",s.name],completeQuery:`ollama:${s.name}`,description:[A(s.name)?"(current)":null,s.installed?"installed":p?`download ${p}`:"download",s.parameters,d||null,s.description].filter(Boolean).join(" \xB7 "),action:async()=>{if(iKe().record(`ollama:${s.name}`),await Txn(u),!s.installed)e.pull(s.name).catch(()=>{})},workingMessage:s.installed?`switching to ${s.name}...`:`downloading ${s.name}...`}}).sort((s,u)=>Number(u.installed)-Number(s.installed)).map(({installed:s,...u})=>u)}async function Txn(e){await Ml().setModel(e)}function bcr(e){switch(e.via){case"axon":return{provider:"axon",model:e.model};case"openrouter":return{provider:"openrouter",model:e.model};case"codex":return{provider:"codex",model:e.model}}}function Ccr(e){let n=e.name.indexOf(": ");return n===-1?e.name:e.name.slice(n+2)}function Bcr(e,n){let A=P6().connections,i=[];if(n.via==="openrouter"&&!A.openrouter.connected.value)i.push("no key");if(n.via==="codex"&&!A.openai.connected.value)i.push("not connected");if(e.context>0)i.push(Icr(e.context));if(n.via==="axon")i.push(`${yUa(n.pricing.inPerMTok)}/${yUa(n.pricing.outPerMTok)}`);if(n.via==="openrouter"&&n.pricing)i.push(`${EUa(n.pricing.prompt)}/${EUa(n.pricing.completion)}`);if(n.via==="codex")i.push("sub");return i.join(" \xB7 ")}function Icr(e){if(e>=1e6)return`${(e/1e6).toFixed(e%1e6===0?0:1)}m`;return`${Math.round(e/1000)}k`}function EUa(e){return`$${e.toFixed(e>0&&e<0.01?4:2)}`}function yUa(e){let n=e/100;return`\xA3${n.toFixed(n>0&&n<0.01?4:2)}`}var _Ua,ccr,mcr=5,fcr;var wUa=Lt(()=>{Ac();sc();mF();e6e();Cvt();BUa();Lxn();_Ua={id:"model",maxHeight:8,onEnter:()=>{let e=p6e();e.ensure(),e.reset(),rKe().ensure()},skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=Ml(),A=p6e();if(!n.displayName.value)return{items:[{id:"model:no-agent",label:"no agent running",description:"press | to start one first",action:()=>{},invalid:!0}]};let s=[],u=A.models.value.length===0;if(u&&A.error.value)return s.push({id:"models:error",label:"error",description:A.error.value.message,action:()=>{},invalid:!0}),{items:s};if(u&&A.loading.value)return s.push({id:"models:loading",label:"\u2026",description:"loading models...",action:()=>{},invalid:!0}),{items:s};for(let X of A.failures.value)s.push({id:`failure:${X.source}`,label:X.source,description:X.message,action:()=>{},invalid:!0});let p=e.indexOf(":"),d=(p===-1?e:e.slice(0,p)).trim().toLowerCase(),b=p===-1?null:e.slice(p+1).trim().toLowerCase(),E=ucr(A.models.value);if(b===null){let X=pcr(A.models.value),Ae=E.filter((Be)=>Be.includes(d)),ne=d.length===0?X:X.filter((Be)=>{let Qe=Be.chunks?.[0];return Qe!==void 0&&Qe.includes(d)});if(Ae.length===0&&ne.length===0)return s.push({id:"route:none",label:"no such provider",description:E.join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};if(ne.length>0){if(s.push(IUa("recent"),...ne),Ae.length>0)s.push(dcr("providers"),IUa("providers"))}return s.push(...Ae.map(gcr)),{items:s}}let y=E.filter((X)=>X.includes(d));if(y.length!==1)return s.push({id:"route:ambiguous",label:y.length===0?"no such provider":"which provider?",description:(y.length===0?E:y).join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};let D=y[0],F=[];if(D==="axon")F.push(qxn());if(D==="ollama")F.push(...hcr());for(let X of A.models.value)for(let Ae of X.routes)if(Ae.via===D)F.push(QUa(X,Ae));let S=iKe().order.value,T=(X)=>{let Ae=S.indexOf(X.id);return Ae===-1?Number.MAX_SAFE_INTEGER:Ae},U=F.sort((X,Ae)=>T(X)-T(Ae)),$=b.length===0?U:U.filter((X)=>c6e(b,[X.label])!==null);if($.length===0)return s.push({id:"model:none",label:"no match",description:`${D} has no model matching "${b}"`,action:()=>{},invalid:!0}),{items:s,breadcrumb:`${D} \u203A`,invalid:!0};return s.push(...$),{items:s,breadcrumb:`${D} \u203A`}})},ccr=["axon","codex","openrouter","ollama"];fcr={axon:"managed inference \xB7 billed to your Axon ledger",codex:"your ChatGPT subscription",openrouter:"your own OpenRouter key",ollama:"models on this machine \xB7 free"}});var kUa;var DUa=Lt(()=>{Ac();VRe();hR();kUa={id:"help",resolve:XA.computed(()=>()=>{return{items:Object.entries(one).map(([n,A])=>({id:A,label:`${Zbt[A]} ${A}`,description:lvt[A]??n,action:()=>{vb().mode.setMode(A)}}))}})}});function Ecr(e){let n=XA.ref(0);function A(){n.value++}let i=XA.computed(()=>{return n.value,e.history.recent()});function s(u,p){e.history.append(u,p),A()}return{entries:i,append:s}}function ACt(){if(!Uxn)Uxn=Ecr(SE().store);return Uxn}var Uxn;var Rxn=Lt(()=>{Ac();d3()});var xUa;var FUa=Lt(()=>{Ac();Rxn();hR();xUa={id:"history",anchor:"bottom",skipDefaultFilter:!0,resolve:XA.computed(()=>()=>{return{items:ACt().entries.value.slice().reverse().map((n)=>({id:n.id,label:n.content,description:n.agentName??void 0,preview:()=>{vb().previewHistory(n.content)},action:()=>{}}))}})}});function ycr(){return{ordered:[],originSessionId:null,originRoute:null,committed:!1}}function _cr(e,n){let A=new Map(e.map((y)=>[y.sessionId,y])),i=new Map,s=[];for(let y of e){let D=y.parentSessionId,F=D?A.get(D):void 0;if(!F){s.push(y);continue}let S=i.get(F.sessionId);if(S)S.push(y);else i.set(F.sessionId,[y])}let u=new Map(n.map((y,D)=>[y,D])),p=(y)=>u.get(y.sessionId)??Number.MAX_SAFE_INTEGER;s.sort((y,D)=>p(y)-p(D));let d=[],b=new Set,E=(y,D,F)=>{if(b.has(y.sessionId))return;b.add(y.sessionId),d.push({...y,indent:D,last:F});let S=i.get(y.sessionId)??[];S.forEach((T,U)=>E(T,D+1,U===S.length-1))};s.forEach((y,D)=>E(y,0,D===s.length-1));for(let y of e){if(b.has(y.sessionId))continue;b.add(y.sessionId),d.push({...y,indent:0,last:!0})}return d}function Qcr(){let e=iCt.value;if(e.committed)return;let n=Ml();if(e.originSessionId&&n.instances.value.some((A)=>A.sessionId===e.originSessionId))n.focus(e.originSessionId);if(e.originRoute)_E().push(e.originRoute)}function wcr(e){let n=()=>{Ml().focus(e.sessionId),_E().push("/")},A=e.exitedAt!==null;return{id:`instance:${e.sessionId}`,label:`${kcr(e)}${e.name}`,completeQuery:e.name,description:Dcr(e),...A?{invalid:!0,action:()=>{}}:{preview:n,action:()=>{iCt.value={...iCt.value,committed:!0},n()}}}}function kcr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function Dcr(e){let n=[];if(e.exitedAt!==null)n.push(`exited ${xcr(e.exitedAt)}`);else{if(e.focused)n.push("active");if(e.activity)n.push(e.activity)}return n.push(e.sessionId.slice(0,8)),n.join(" \xB7 ")}function xcr(e){let n=Math.floor((Date.now()-e)/60000);return n<1?"just now":`${n}m ago`}var iCt,vUa;var SUa=Lt(()=>{Ac();mF();iCt=XA.ref(ycr()),vUa={id:"instance",maxHeight:8,onEnter:()=>{let n=Ml().instances.value,A=n.find((i)=>i.focused)?.sessionId??null;iCt.value={originSessionId:A,originRoute:_E().currentRoute.value.path,committed:!1,ordered:[...A?[A]:[],...n.filter((i)=>i.sessionId!==A).map((i)=>i.sessionId)]}},onCancel:Qcr,resolve:XA.computed(()=>(e)=>{let n=Ml().instances.value;if(n.length===0)return{items:[{id:"instance:none",label:"nothing running",description:"press ~ to start an agent",action:()=>{},invalid:!0}]};return{items:_cr(n,iCt.value.ordered).map(wcr)}})}});function Fcr(e,n){return{id:`agent:${e.name}`,label:e.name,description:n.length>0?`${n.length} running`:void 0,action:()=>Ml().spawnSibling(e.dir),detach:!0,workingMessage:`starting ${e.name}...`}}function vcr(e){return{id:`deployment:${e.deploymentId}`,label:e.name,description:`running \xB7 ${e.tier}`,action:()=>Ml().attachDeployment(e.deploymentId),detach:!0,workingMessage:`connecting to ${e.name}...`}}function Kxn(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function NUa(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}var GUa;var MUa=Lt(()=>{Ac();mF();GUa={id:"agent",maxHeight:8,resolve:XA.computed(()=>(e)=>{let n=Ml(),A=[],i=n.available.value,s=i.filter((p)=>p.kind==="local");if(s.length>0){A.push(Kxn("agents"));for(let p of s){let d=n.instancesByAgent.value.get(p.name)??[];A.push(Fcr(p,d))}}let u=i.filter((p)=>p.kind==="deployed");if(u.length>0){A.push(NUa("cloud"),Kxn("deployed"));for(let p of u)A.push(vcr(p))}if(n.deploymentsError.value)A.push(NUa("cloud"),Kxn("deployed")),A.push({id:"deployments:error",label:"unavailable",description:n.deploymentsError.value.message,action:()=>{},invalid:!0});return{items:A}})}});function Scr(e){return e.hasEntries||e.running||e.forkedFrom!==null}function Ncr(e){let n=new Map(e.map((y)=>[y.sessionId,y])),A=new Map,i=[];for(let y of e){let D=y.forkedFrom,F=D?n.get(D):void 0;if(!F){i.push(y);continue}let S=A.get(F.sessionId);if(S)S.push(y);else A.set(F.sessionId,[y])}let s=new Map,u=(y)=>{let D=s.get(y.sessionId);if(D!==void 0)return D;s.set(y.sessionId,y.modifiedAt);let F=y.modifiedAt;for(let S of A.get(y.sessionId)??[])F=Math.max(F,u(S));return s.set(y.sessionId,F),F},p=(y,D)=>u(y)-u(D);i.sort(p);for(let y of A.values())y.sort(p);let d=[],b=new Set,E=(y,D,F)=>{if(b.has(y.sessionId))return;b.add(y.sessionId),d.push({...y,indent:D,last:F});let S=A.get(y.sessionId)??[];S.forEach((T,U)=>E(T,D+1,U===S.length-1))};i.forEach((y,D)=>E(y,0,D===i.length-1));for(let y of e){if(b.has(y.sessionId))continue;b.add(y.sessionId),d.push({...y,indent:0,last:!0})}return d}function Gcr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function Mcr(e){let n=[qcr(e.modifiedAt)];if(e.running)n.push("running");if(e.title)n.push(e.sessionId.slice(0,8));return n.push(Lcr(e.sizeBytes)),n.join(" \xB7 ")}function Lcr(e){if(e<1024)return`${e}b`;if(e<1048576)return`${Math.round(e/1024)}k`;return`${(e/1048576).toFixed(1)}M`}function qcr(e){let n=Math.max(0,Math.round((Date.now()-e)/1000));if(n<60)return"just now";if(n<3600)return`${Math.round(n/60)}m ago`;if(n<86400)return`${Math.round(n/3600)}h ago`;return`${Math.round(n/86400)}d ago`}var LUa;var qUa=Lt(()=>{Ac();mF();LUa={id:"session",maxHeight:8,anchor:"bottom",resolve:XA.computed(()=>(e)=>{let n=Ml(),A=n.home.value,i=A?A.split("/").filter(Boolean).at(-1)??null:null,s=n.displayName.value;if(!s)return{items:[{id:"session:no-agent",label:"no agent running",description:"press ~ to start one first",action:()=>{},invalid:!0}]};let u=n.sessions.value.filter((d)=>d.agent===i&&Scr(d)).slice().reverse();if(u.length===0)return{items:[{id:"session:none",label:"no past sessions",description:`${s} has no history yet`,action:()=>{},invalid:!0}]};return{items:Ncr(u).map((d)=>({id:`session:${d.sessionId}`,label:`${Gcr(d)}${d.title??d.sessionId.slice(0,8)}`,completeQuery:d.title??d.sessionId.slice(0,8),description:Mcr(d),preview:()=>{n.preview.show(d)},action:()=>n.resume(d.agent,d.sessionId),detach:!0}))}})}});function KUa(){return Ml().modules.value.map((e)=>e.packageName).filter((e)=>e!==void 0)}function Tcr(e){return e.packageName!==void 0&&e.root.includes("node_modules")}function Ucr(e,n){let A=e.trim().toLowerCase();return{items:Ml().modules.value.filter((s)=>AKe(A,s.packageName??s.name,UUa(s))).map((s)=>{let u=s.packageName??s.name;return{id:`module:${u}`,label:u,description:UUa(s),completeQuery:u,choices:()=>Rcr(s,n),action:()=>{}}})}}function Rcr(e,n){let A=e.packageName??e.name,i=[];if(Tcr(e))i.push({id:`module:uninstall:${A}`,label:"\u2715 uninstall",description:`remove ${A} from this agent`,workingMessage:`uninstalling ${A}...`,action:async()=>{try{if((await Ml().uninstallModule(A)).status==="not-installed")vb().palette.signalNoMatch();else n("")}catch(s){vb().sendError.value=Kcr(s)}}});else i.push({id:`module:local:${A}`,label:"local module",description:"declared in axon.config.ts \u2014 remove the import to uninstall",placeholder:!0,action:()=>{}});return i}function TUa(e,n){let A=nKe("module");A.ensure();let i=e.trim().toLowerCase(),s=new Set(KUa()),u=bvt("module",{term:i,installed:s,mode:n?.excludeInstalled?"install":"browse"});if(A.error.value){let p={kind:"error",message:`registry unavailable \u2014 ${A.error.value.message}`};return u.length===0?{items:[],status:p}:{items:u,status:p}}if(A.loading.value){let p={kind:"loading",message:"loading registry modules..."};return u.length===0?{items:[],status:p}:{items:u,status:p}}return{items:u}}function UUa(e){if(e.version)return`v${e.version}`;return e.root.includes("node_modules")?"installed module":"local module"}function Kcr(e){return e instanceof Error?e:Error(String(e))}var RUa;var YUa=Lt(()=>{Ac();mF();dvt();vxn();hR();hvt();RUa={id:"module",maxHeight:8,skipDefaultFilter:!0,resolve:XA.computed(()=>(e,n,A)=>{let i=KUa();if(Fxn(e,i))return TUa(e);let s=Ucr(e,A),u=TUa(e,{excludeInstalled:!0});if(u.items.length===0)return s;return{items:[{id:"hdr:registry",label:"registry",header:!0,action:()=>{}},...u.items,...s.items.length>0?[{id:"sep:installed",separator:!0,label:"",action:()=>{}},{id:"hdr:installed",label:"installed",header:!0,action:()=>{}},...s.items]:[]],...u.status?{status:u.status}:{}}})}});var jUa;var HUa=Lt(()=>{Ac();sJ();jUa={id:"theme",resolve:XA.computed(()=>()=>{let e=$1(),n=e.committedName.value;return{items:e.themes.value.map((i)=>({id:i.name,label:i.name,description:i.name===n?"current":"",current:i.name===n,preview:()=>{e.preview(i.name)},action:()=>{e.set(i.name)}}))}}),onCancel:()=>{$1().cancelPreview()}}});function Ycr(){let e=SE().files,n=XA.ref([]),A=XA.ref(!1),i=XA.ref(null),s=XA.ref(!1),u=!1;function p(){if(u||A.value)return;A.value=!0,e.list().then((b)=>{n.value=b,s.value=e.truncated,i.value=null}).catch((b)=>{i.value=b instanceof Error?b:Error(String(b))}).finally(()=>{u=!0,A.value=!1})}function d(){e.invalidate(),u=!1,i.value=null}return{entries:n,loading:A,error:i,truncated:s,root:e.root,ensure:p,invalidate:d}}function jxn(){if(!Yxn)Yxn=Ycr();return Yxn}function PUa(){jxn().ensure()}var Yxn;var Hxn=Lt(()=>{Ac();d3()});function jcr(e){let n=e.split("/").filter(Boolean),A=3,i=n.length>3?n.slice(-3):n;return`${n.length>3?"\u2026 \u203A ":""}${i.join(" \u203A ")} \u203A`}function JUa(e){return e.startsWith(".")||e.includes("/.")}function Hcr(e,n){let A=n===""?"":n;return[...e.filter((u)=>{if(!u.path.startsWith(A))return!1;let p=u.path.slice(A.length);return p.length>0&&!p.includes("/")})].sort((u,p)=>{if(u.directory!==p.directory)return u.directory?-1:1;let d=u.name.startsWith(".");if(d!==p.name.startsWith("."))return d?1:-1;return u.name.localeCompare(p.name)}).slice(0,$Ua).map((u)=>zUa(u,u.name))}function Pcr(e,n){let A=[];for(let i of e){let s=c6e(n,[i.name,i.path]);if(s===null)continue;A.push({entry:i,score:s})}return A.sort((i,s)=>s.score-i.score||Number(i.entry.directory)-Number(s.entry.directory)||Number(JUa(i.entry.path))-Number(JUa(s.entry.path))||i.entry.path.length-s.entry.path.length),A.slice(0,$Ua).map((i)=>zUa(i.entry,i.entry.path))}function zUa(e,n){let A=e.directory?"/":"";return{id:`file:${e.path}`,label:n+A,chunks:[e.name,e.path],completeQuery:e.path+A,...e.directory?{descendQuery:`${e.path}/`}:{},action:e.directory?()=>{}:()=>{vb().resolveInline(e.path)}}}var OUa,$Ua=200;var WUa=Lt(()=>{Ac();Hxn();hR();OUa={id:"file",maxHeight:10,skipDefaultFilter:!0,resolve:XA.computed(()=>(e)=>{let n=jxn();if(n.ensure(),n.error.value)return{items:[],status:{kind:"error",message:`cannot read ${n.root} \u2014 ${n.error.value.message}`}};let A=n.entries.value,i=e.trim(),s=i===""||i.endsWith("/"),u=s?Hcr(A,i):Pcr(A,i);if(n.loading.value&&u.length===0)return{items:[],status:{kind:"loading",message:"reading working tree..."}};return{items:u,...s&&i!==""?{breadcrumb:jcr(i)}:{},...n.truncated.value?{status:{kind:"error",message:"tree too large \u2014 results are partial"}}:{}}})}});function Jcr(){if(ZUa)return;ZUa=!0;for(let e of[hUa,_Ua,kUa,xUa,vUa,GUa,LUa,pUa,RUa,jUa,OUa])$Ta(e)}function VUa(e){Jcr();let{mode:n,query:A,setQuery:i}=e,s=e.hint??(()=>null),u=XA.ref(0),p=XA.ref(0),d=XA.ref(!1),b=XA.ref(null),E=XA.computed(()=>gvt(n.value)),y=XA.ref(null),D=3,F=XA.ref(null),S=XA.ref(0),T=XA.computed(()=>E.value?.tabs??null),U=XA.computed(()=>{let Ua=T.value;if(!Ua)return null;return Ua.slice(S.value,S.value+D)});function $(Ua){let la=T.value;if(!la)return;let cr=la.findIndex((Ye)=>Ye.id===Ua);if(cr===-1)return;if(F.value=Ua,cr<S.value)S.value=cr;else if(cr>=S.value+D)S.value=cr-D+1;it()}let X=QE();XA.watch(n,(Ua,la)=>{if(la!==void 0&&la!==Ua)gvt(la)?.onCancel?.(y.value);let cr=gvt(Ua);if(y.value=cr?.createState?cr.createState():null,cr?.onEnter?.(y.value),F.value=cr?.tabs?.[0]?.id??null,S.value=0,u.value=0,p.value=0,d.value=!1,b.value=null,la!==void 0&&la!=="normal"&&Ua==="normal")setTimeout(()=>X(),0)},{immediate:!0});let Ae=XA.computed(()=>E.value?.resolve.value(A(),F.value,i)??{items:[]}),ne=XA.computed(()=>Ae.value.items),Be=XA.computed(()=>{let Ua=s();if(Ua!==null)return Ua;if(b.value!==null)return b.value;let la=ne.value;if(E.value?.skipDefaultFilter)return la;let cr=A().toLowerCase().trim();if(!cr)return la;let Ye=(SA)=>SA.chunks?c6e(A(),SA.chunks)!==null:SA.label.toLowerCase().includes(cr)||(SA.description?.toLowerCase().includes(cr)??!1),zn=[],dn=[],qa=!1;for(let SA of la){if(SA.separator){dn=[SA],qa=!1;continue}if(SA.header){dn=[...dn,SA],qa=Ye(SA);continue}if(qa||Ye(SA)){if(dn.length>0){if(zn.length===0&&dn[0]?.separator)dn.shift();zn.push(...dn),dn=[]}zn.push(SA)}}if(cr.length>0&&zn.length>1&&zn.every((SA)=>SA.chunks)){let SA=zn.map((tA,gi)=>({item:tA,index:gi,score:c6e(A(),tA.chunks)??0}));return SA.sort((tA,gi)=>gi.score-tA.score||tA.index-gi.index),SA.map((tA)=>tA.item)}return zn}),Qe=XA.computed(()=>{if(ze.value!==null)return 1;if(_a.value!==null)return 1;if(Be.value.length===0)return 1;let Ua=E.value?.maxHeight??5;return Math.min(Be.value.length,Ua)});function me(Ua,la){let cr=Ua[la];return!!cr&&!cr.header&&!cr.separator&&!cr.invalid}XA.watch(Be,(Ua)=>{let la=u.value>=Ua.length||!me(Ua,u.value);if(!d.value&&Ua.length>0){u.value=at.value,d.value=!0,We(),kt();return}if(la)u.value=at.value,We()});let De=XA.computed(()=>{let Ua=Be.value;for(let la=0;la<Ua.length;la++)if(me(Ua,la))return la;return 0}),Ke=XA.computed(()=>{let Ua=Be.value;for(let la=Ua.length-1;la>=0;la--)if(me(Ua,la))return la;return 0}),at=XA.computed(()=>{let Ua=Be.value;for(let la=0;la<Ua.length;la++)if(Ua[la].current&&me(Ua,la))return la;return E.value?.anchor==="bottom"?Ke.value:De.value});function lt(Ua){let la=Be.value;if(la[Ua]?.header)return!1;for(let cr=0;cr<=Ua&&cr<la.length;cr++)if(la[cr].header)return!0;return!1}function We(){let Ua=Qe.value,la=u.value;if(la<=p.value)p.value=lt(la)?Math.max(0,la-1):la;else if(la>=p.value+Ua)p.value=la-Ua+1}function it(){p.value=0,d.value=!1,u.value=at.value,We()}function kt(){Be.value[u.value]?.preview?.()}let ze=XA.ref(null),vt=null,rn=XA.ref(0);function bt(){rn.value++}function aa(){vt?.abort(),vt=null,ze.value=null}function Da(Ua){return Ua instanceof Error?Ua.message:"failed"}async function Ut(Ua){vt=new AbortController;let la=vt.signal,cr;try{cr=Ua.action(la)}catch(zn){vt=null,ze.value={kind:"error",label:Ua.label,message:Da(zn)};return}if(!(cr instanceof Promise)){vt=null;return}if(Ua.detach){if(vt=null,!Ua.inlineResult)i("");n.value="normal",cr.catch(()=>{});return}let Ye=Ua.label;ze.value={kind:"working",label:Ye,message:Ua.workingMessage??Ua.description??"working..."};try{if(await cr,!la.aborted){if(ze.value=null,Ua.keepOpen)return;if(!Ua.inlineResult)i("");n.value="normal"}}catch(zn){if(!la.aborted)ze.value={kind:"error",label:Ye,message:Da(zn)}}finally{vt=null}}function na(Ua){if(Ua.choices)try{b.value=Ua.choices(),u.value=0,p.value=0}catch(la){ze.value={kind:"error",label:Ua.label,message:Da(la)}}else if(Ua.descendQuery!==void 0)i(Ua.descendQuery);else Ut(Ua)}function Va(){if(ze.value!==null)return null;let Ua=Be.value[u.value]??null;if(Ua&&me(Be.value,u.value))na(Ua);return Ua}function Pn(Ua){if(ze.value!==null)return null;let la=Be.value[Ua]??null;if(la&&me(Be.value,Ua))u.value=Ua,na(la);return la}function Za(Ua){if(!me(Be.value,Ua))return;u.value=Ua,We(),kt()}$h("tab",(Ua)=>{if(ze.value===null){let la=Be.value[u.value]??null;if(la&&me(Be.value,u.value)){let cr=la.completeQuery??la.label;if(cr.length>0)i(cr)}}if(Ua)Ua.consumed=!0}),$h("up",(Ua)=>{let la=Be.value,cr=la.length;if(cr===0)return;for(let Ye=1;Ye<=cr;Ye++){let zn=(u.value-Ye+cr)%cr;if(me(la,zn)){u.value=zn,We(),kt();break}}if(Ua)Ua.consumed=!0}),$h("down",(Ua)=>{let la=Be.value,cr=la.length;if(cr===0)return;for(let Ye=1;Ye<=cr;Ye++){let zn=(u.value+Ye)%cr;if(me(la,zn)){u.value=zn,We(),kt();break}}if(Ua)Ua.consumed=!0}),$h("escape",(Ua)=>{if(ze.value?.kind==="working"){if(aa(),Ua)Ua.consumed=!0;return}if(ze.value!==null){if(aa(),Ua)Ua.consumed=!0;return}if(b.value!==null){if(b.value=null,u.value=De.value,p.value=0,Ua)Ua.consumed=!0;return}if(Be.value.length===0)return;if(y.value=E.value?.createState?E.value.createState():null,Ua)Ua.consumed=!0});function vA(){let Ua=Be.value;return me(Ua,u.value)?Ua[u.value]:null}$h("left",(Ua)=>{let la=T.value;if(la&&F.value){let zn=la.findIndex((dn)=>dn.id===F.value);if($(la[(zn-1+la.length)%la.length].id),Ua)Ua.consumed=!0;return}let cr=E.value?.onLeft,Ye=vA();if(cr&&Ye){if(cr(Ye),Ua)Ua.consumed=!0}}),$h("right",(Ua)=>{let la=T.value;if(la&&F.value){let zn=la.findIndex((dn)=>dn.id===F.value);if($(la[(zn+1)%la.length].id),Ua)Ua.consumed=!0;return}let cr=E.value?.onRight,Ye=vA();if(cr&&Ye){if(cr(Ye),Ua)Ua.consumed=!0}});let Cn=XA.computed(()=>{let Ua=Be.value,la=p.value,cr=null;for(let Ye=0;Ye<=la&&Ye<Ua.length;Ye++)if(Ua[Ye].header)cr=Ua[Ye].label;if(Ua[la]?.header)return null;return cr}),Ea=XA.computed(()=>Ae.value.breadcrumb??null),_a=XA.computed(()=>Ae.value.status??null),Yn=XA.computed(()=>Ae.value.invalid??!1);return{filtered:Be,height:Qe,isRegisteredMode:XA.computed(()=>E.value!==void 0),selectedIndex:XA.computed(()=>u.value),scrollY:XA.computed(()=>p.value),tabs:U,activeTabId:XA.computed(()=>F.value),stickyHeader:Cn,breadcrumb:Ea,status:_a,isInvalidCommand:Yn,hasNothingToRun:XA.computed(()=>Be.value.length>0&&vA()===null),working:XA.computed(()=>ze.value),noMatchSignal:XA.computed(()=>rn.value),signalNoMatch:bt,hasChoiceList:XA.computed(()=>b.value!==null),keepsOpen:XA.computed(()=>vA()?.keepOpen??!1),hasHint:XA.computed(()=>s()!==null),selectTab:$,reset:it,selectCurrent:Va,selectAt:Pn,hoverAt:Za,abortWorking:aa}}var ZUa=!1;var XUa=Lt(()=>{Ac();zTa();bUa();wUa();DUa();FUa();SUa();MUa();qUa();hvt();YUa();HUa();WUa()});function Bvt(){if(!Pxn)Pxn=Ocr();return Pxn}function Ocr(){let n=SE().mic,A=XA.ref(n.waveform()),i=XA.ref(n.isActive()),s=XA.ref(0),u=null,p=0;function d(){A.value=n.waveform(),i.value=n.isActive(),s.value=i.value?Math.floor((Date.now()-p)/1000):0}function b(){if(u)return;u=setInterval(d,Wdt.tickMs)}function E(){if(!u)return;clearInterval(u),u=null}return{waveform:XA.computed(()=>A.value),isActive:XA.computed(()=>i.value),elapsedSeconds:XA.computed(()=>s.value),async start(){p=Date.now(),await n.start(),d(),b()},async stop(){let y=await n.stop();return d(),E(),y}}}var Pxn;var Jxn=Lt(()=>{Ac();d3();aEn()});function Ivt(){if(!Oxn)Oxn=$cr();return Oxn}function $cr(){let e=XA.ref(!0);function n(){e.value=!0}function A(i){return i.onScroll(({scrollY:s,maxScroll:u})=>{e.value=s>=u})}return{following:e,attach:n,observe:A}}var Oxn;var $xn=Lt(()=>{Ac()});function eRa(e){if(e.working==="working")return{kind:"abort-working"};if(e.working!==null)return{kind:"dismiss-error"};if(e.mode==="normal")return{kind:"try-interrupt"};return{kind:"exit-mode"}}function m6e(){if(!Wxn)Wxn=zcr();return Wxn}function zcr(){let e=new Set;function n(A){return[...e].filter((i)=>i.name===A)}return{register(A,i){let s={name:A,handler:i};return e.add(s),()=>{e.delete(s)}},notify(A,...i){let s=[];for(let u of n(A))try{u.handler(...i)}catch(p){s.push(sa("HOOK_FAILED",{detail:`${A} \u2014 ${p instanceof Error?p.message:String(p)}`,context:{hook:A},cause:p}))}return s},async gate(A){let i=n(A);if(i.length===0)return[];let s=[],u,p=Promise.all(i.map(async(b)=>{try{await b.handler()}catch(E){s.push(sa("HOOK_FAILED",{detail:`${A} \u2014 ${E instanceof Error?E.message:String(E)}`,context:{hook:A},cause:E}))}})),d=new Promise((b)=>{u=setTimeout(()=>b("timeout"),zxn)});try{if(await Promise.race([p.then(()=>"done"),d])==="timeout")s.push(sa("HOOK_TIMED_OUT",{detail:`${A} did not finish within ${zxn}ms`,context:{hook:A,budgetMs:zxn}}))}finally{if(u)clearTimeout(u)}return s},count(A){return n(A).length}}}var zxn=5000,Wxn;var Evt=Lt(()=>{sc()});function yvt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function tRa(){let e=Ml(),n=vb(),A=m6e(),i=new Set;XA.watch(()=>e.instances.value,(u)=>{let p=new Set(u.map((d)=>d.sessionId));for(let d of u)if(!i.has(d.sessionId))A.notify("agent:ready",yvt(d));for(let d of i)if(!p.has(d))A.notify("agent:stopped",{id:d,name:"",focused:!1,activity:null});i=p},{immediate:!0}),XA.watch(()=>e.sessionId.value,(u)=>{if(!u)return;let p=e.instances.value.find((d)=>d.sessionId===u);if(p)A.notify("agent:focused",yvt(p))});let s=!1;XA.watch(()=>e.activity.value,(u)=>{let p=u==="working";if(s&&!p){let d=e.instances.value.find((b)=>b.focused);if(d)A.notify("message:received",{instance:yvt(d)})}s=p}),XA.watch(()=>n.mode.mode.value,(u,p)=>{if(p===void 0||p===u)return;A.notify("mode:changed",{from:p,to:u})})}function nRa(e){let A=Ml().instances.value.find((i)=>i.focused);if(!A)return;m6e().notify("message:sent",{content:e,instance:yvt(A)})}var Zxn=Lt(()=>{Ac();mF();hR();Evt()});var ARa={};JA(ARa,{useInput:()=>vb,DRAFT_MODES:()=>rCt});function vb(){if(!Vxn)Vxn=Wcr();return Vxn}function Wcr(){let e=P_(),n=XA.ref(""),A=null,i=null,s=YTa(()=>n.value,()=>e.value.path!=="/auth"),u=VUa({mode:s.mode,query:()=>$()??n.value,setQuery:(ze)=>{X(ze)},hint:()=>Ae()}),p=Bvt(),d=SE(),b=XA.ref(!1),E=XA.ref(null),y=null;function D(){if(b.value=!0,y)clearTimeout(y);y=setTimeout(()=>{b.value=!1,y=null},600)}XA.watch(()=>u.noMatchSignal.value,()=>{D()}),XA.watch(()=>GO().pending.value!==null,(ze)=>{if(ze)n.value="",s.setMode(XRe);else if(s.mode.value===XRe)n.value="",s.setMode("normal")});let F=null,S=null;function T(ze){S=ze,n.value=ze}XA.watch(n,(ze)=>{if(s.mode.value!=="history")return;if(ze===S)return;F=null,S=null,s.setMode("normal")});function U(){if(!(s.mode.value==="normal"||o6e.some((vt)=>vt.mode===s.mode.value)))return null;for(let vt of o6e){let rn=UTa(n.value,vt);if(rn)return{trigger:vt,start:rn.start,query:rn.query}}return null}function $(){return U()?.query??null}function X(ze){let vt=U();if(vt){n.value=n.value.slice(0,vt.start)+vt.trigger.key+ze;return}n.value=ze}function Ae(){if(s.mode.value!=="normal")return null;let ze=o6e.filter((vt)=>TTa(n.value,vt));if(ze.length===0)return null;return ze.map((vt)=>({id:vt.mode,label:`${Zbt[vt.mode]} ${vt.mode}`,description:lvt[vt.mode]??vt.key,action:()=>{n.value=n.value+vt.key}}))}XA.watch(n,(ze)=>{if(s.mode.value!=="normal")return;for(let vt of o6e){if(vt.resolve!=="append")continue;let rn=RTa(ze,vt);if(rn===-1)continue;i=vt,A=ze.slice(0,rn).replace(/ $/,""),s.setMode(vt.mode);return}}),XA.watch(n,()=>{let ze=U();if(ze&&s.mode.value==="normal"){i=ze.trigger,A=null,s.setMode(ze.trigger.mode);return}if(!ze&&i?.resolve==="splice"&&s.mode.value===i.mode)i=null,s.setMode("normal")});function ne(ze){let vt=U();if(!vt){i=null,s.setMode("normal");return}n.value=`${n.value.slice(0,vt.start)}${ze} `,i=null,s.setMode("normal")}function Be(){let ze=U();if(i=null,!ze)return;n.value=n.value.slice(0,ze.start).replace(/ $/,"")}XA.watch(s.mode,(ze,vt)=>{if(vt==="session"&&ze==="normal")Ml().preview.clear();if(ze==="history")F=n.value;if(vt==="history"&&ze==="normal"){if(S=null,F!==null)n.value=F,F=null}if(ze==="voice"&&vt!=="voice")p.start().catch((rn)=>{E.value=rn instanceof Error?rn:Error(String(rn)),s.setMode("normal")});if(vt==="voice"&&ze!=="voice"){let rn=s.voiceExitReason.value;s.voiceExitReason.value=null,Qe(rn)}},{flush:"sync"});async function Qe(ze){let vt=await p.stop();if(ze!=="confirm"){if(A!==null)n.value=A,A=null;return}s.processing.value=!0;try{let{text:rn}=await d.cloud.client.cloud.stt.transcribe(vt),bt=rn.trim();if(A!==null)if(bt){let aa=A.endsWith(" ")||A===""?"":" ";n.value=A+aa+bt}else n.value=A;else if(bt)n.value=bt;A=null}catch(rn){E.value=rn instanceof Error?rn:Error(String(rn))}finally{s.processing.value=!1}}let me=0,De=XA.ref(null),Ke=null;function at(){if(De.value="press esc again to clear",Ke)clearTimeout(Ke);Ke=setTimeout(()=>{De.value=null,Ke=null},aRa)}function lt(){if(Ke)clearTimeout(Ke);Ke=null,De.value=null}XA.watch(n,()=>{if(De.value!==null)lt()});function We(){if(ixn(),GO().pending.value){GO().cancel(),n.value="",s.setMode("normal");return}let ze=eRa({mode:s.mode.value,working:u.working.value?.kind??null});if(ze.kind==="abort-working"){u.abortWorking();return}if(ze.kind==="dismiss-error"){u.abortWorking(),n.value="",s.setMode("normal");return}if(ze.kind==="try-interrupt"){if(Ml().interrupt())return}let vt=Date.now(),rn=vt-me<aRa;if(me=vt,rn){if(lt(),n.value.trim())try{ACt().append(n.value,Ml().selected.value)}catch{}n.value=""}else{let bt=rCt.has(s.mode.value);if(!bt)n.value="";if(s.mode.value==="voice")s.voiceExitReason.value="cancel";if(Be(),s.setMode("normal"),bt&&n.value.length>0)at();else lt()}}function it(){if(ixn(),u.working.value!==null)return;if(GO().pending.value?.kind==="prompt"){GO().submitText(n.value),n.value="",s.setMode("normal");return}if(u.isInvalidCommand.value||u.hasNothingToRun.value){D();return}if(u.hasHint.value&&u.filtered.value.length>0){u.selectCurrent();return}if(s.mode.value!=="normal"&&u.filtered.value.length>0){F=null;let rn=s.mode.value,bt=u.hasChoiceList.value,aa=u.keepsOpen.value;if(u.selectCurrent(),aa)return;if(u.hasChoiceList.value||bt)return;if(u.reset(),s.mode.value===rn&&u.working.value===null){if(rn!=="history"&&!rCt.has(rn))n.value="";s.setMode("normal")}return}if(e.value.path==="/auth"){n.value="";return}if(s.mode.value==="normal"&&n.value.trim()){let rn=n.value;n.value="",u.reset(),E.value=null,Ivt().attach();try{ACt().append(rn,Ml().selected.value)}catch{}Ml().send(rn).catch((bt)=>{E.value=bt instanceof Error?bt:Error(String(bt))}),nRa(rn)}}function kt(ze){n.value+=ze}return{text:n,inputError:b,sendError:E,escHint:De,mode:s,palette:u,onEnter:it,onEscape:We,onPrintable:kt,previewHistory:T,resolveInline:ne}}var aRa=400,rCt,Vxn;var hR=Lt(()=>{Ac();VRe();XUa();mF();Jxn();d3();Rxn();$xn();hxn();Vbt();Zxn();Exn();Hbt();rCt=new Set(["normal","voice","file"])});function _vt(e){let n=e.toLowerCase().split("+").map((u)=>u.trim()).filter(Boolean),A=n.pop();if(!A)return e;let i=n.includes("ctrl")||n.includes("control"),s=n.includes("shift");if(i&&s)return`C-S-${A}`;if(i)return`C-${A}`;if(s)return`S-${A}`;return A}function Xxn(e){let n=_vt(e);return Zcr.has(n)||n in one}function Vcr(e){if(!e.name)return null;if(e.ctrl&&e.shift)return`C-S-${e.name}`;if(e.ctrl)return`C-${e.name}`;if(e.shift)return`S-${e.name}`;return e.name}function iRa(){let e=vb();$h("**",(n)=>{if(n?.consumed)return;let A=Vcr(n??{});if(!A)return;let i=k1.paletteForKey(A);if(i){if(e.text.value.length>0)return;let u=e.mode.mode.value;e.mode.setMode(u===i.name?"normal":i.name),n.consumed=!0;return}let s=k1.keyHandler(A);if(!s)return;n.consumed=!0,(async()=>{try{await s()}catch(u){HN().show(`${A} failed`,"error")}})()})}var Zcr;var eFn=Lt(()=>{Ac();r6e();g6e();hR();VRe();Zcr=new Set(["C-c","C-d","escape","return","enter","tab","up","down","left","right","backspace","delete"])});function rRa(e){return typeof e==="string"?e.split(" ").filter(Boolean):[...e]}function sRa(e,n){if(Array.isArray(e.children))return e.children;return n?e.children():[]}function oRa(e,n){let A=n,i=null;for(let s of e){let u=A.find((p)=>p.label.toLowerCase()===s.toLowerCase());if(!u)return null;i=u,A=u.kind==="group"?sRa(u,!0):[]}return i}function oCt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function cRa(e){let{track:n}=e,A=m6e(),i=GO(),s=$1();function u($){return n($),$}let p={register($,X,Ae){let ne=rRa($);if(ne.length===0)throw sa("COMMAND_PATH_TAKEN",{detail:"a command needs a path"});if(oRa(ne,aCt))throw sa("COMMAND_PATH_TAKEN",{detail:`${ne.join(" ")} is a built-in command`,context:{path:ne}});return u(k1.command({path:ne,action:X,...Ae?.description?{description:Ae.description}:{},...Ae?.workingMessage?{workingMessage:Ae.workingMessage}:{}}))},async run($){let X=rRa($),Ae=oRa(X,d());if(!Ae||Ae.kind!=="action")throw sa("COMMAND_NOT_FOUND",{detail:X.join(" "),context:{path:X}});await Ae.action(new AbortController().signal)},list(){let $=[],X=(Ae,ne)=>{for(let Be of Ae){let Qe=[...ne,Be.label];if(Be.kind!=="group"){$.push(Qe);continue}let me=sRa(Be,!1);if(me.length===0)$.push(Qe);else X(me,Qe)}};return X(d(),[]),$}};function d(){return[...aCt,...uvt.value]}let b={register($,X){if(Xxn($))throw sa("KEY_CHORD_TAKEN",{detail:`${$} belongs to the terminal`,context:{chord:$}});return u(k1.key(_vt($),X))},send($){let X=_vt($),Ae=k1.keyHandler(X);if(Ae){Ae();return}let ne=k1.paletteForKey(X);if(ne){vb().mode.setMode(ne.name);return}let Be=one[$]??one[X];if(Be){vb().mode.setMode(Be);return}throw sa("KEY_CHORD_UNBOUND",{detail:$,context:{chord:$}})}},E={async set($){let X=Object.values(one).includes($)||$==="normal",Ae=k1.paletteFor($)!==null;if(!X&&!Ae)throw sa("MODE_UNKNOWN",{detail:$,context:{mode:$}});vb().mode.setMode($)},get(){return vb().mode.mode.value},symbol(){return vb().mode.symbol.value}},y={get:()=>vb().text.value,set:($)=>{vb().text.value=$},append:($)=>{vb().text.value+=$},clear:()=>{vb().text.value=""},async submit(){vb().onEnter()}};function D(){let $=Ml().sessionId.value;if(!$)throw sa("NO_FOCUSED_AGENT");return $}let F={async targets(){let $=Ml();return $.available.value.map((X)=>({name:X.name,kind:X.kind,instances:$.instances.value.filter((Ae)=>Ae.name===X.name).map(oCt)}))},list:()=>Ml().instances.value.map(oCt),get($){let X=Ml().instances.value.find((Ae)=>Ae.sessionId===$);return X?oCt(X):null},focused(){let $=Ml().instances.value.find((X)=>X.focused);return $?oCt($):null},async spawn($){let X=Ml(),Ae=await X.spawn($,{focus:!1});if(!Ae)throw sa("AGENT_SPAWN_NO_INSTANCE",{detail:$,context:{name:$}});let ne=X.instances.value.find((Be)=>Be.sessionId===Ae);if(!ne)throw sa("AGENT_SPAWN_NO_INSTANCE",{detail:$,context:{name:$}});return oCt(ne)},focus($){if(!F.get($))throw sa("INSTANCE_NOT_RUNNING",{detail:$,context:{id:$}});Ml().focus($)},async stop($){let X=$??D();if(!F.get(X))throw sa("INSTANCE_NOT_RUNNING",{detail:X,context:{id:X}});await Ml().stop(X)},async reboot($){let X=Ml(),Ae=$??D();if(!F.get(Ae))throw sa("INSTANCE_NOT_RUNNING",{detail:Ae,context:{id:Ae}});if(Ae!==X.sessionId.value)X.focus(Ae);await X.reboot()},async send($){D(),await Ml().send($)},interrupt:()=>Ml().interrupt()},S={create($,X){if(X.key&&Xxn(X.key))throw sa("MODE_KEY_TAKEN",{detail:`${X.key} belongs to the terminal`,context:{key:X.key,name:$}});let Ae=u(k1.palette($,X));return{get name(){return $},open:()=>S.open($),refresh(){let ne=k1.paletteFor($);if(ne)ne.cache=null},dispose:Ae}},get($){let X=k1.paletteFor($);if(!X)return null;return{get name(){return $},open:()=>S.open($),refresh(){X.cache=null},dispose:()=>{}}},async open($){if(!k1.paletteFor($))throw sa("PALETTE_NOT_FOUND",{detail:$,context:{name:$}});if(S.isOpen)throw sa("PALETTE_ALREADY_OPEN",{detail:$,context:{name:$}});vb().mode.setMode($)},close(){vb().mode.setMode("normal")},get isOpen(){return vb().mode.mode.value!=="normal"},pick:($,X)=>i.pick($,X),confirm:($)=>i.confirm($),prompt:($,X)=>i.prompt($,X)};return{tui:{async nav($){await Ml().select($)},hook($,X){return u(A.register($,X))},info($,X){HN().show($,"info",X)},warn($,X){HN().show($,"warn",X)},error($,X){HN().show($,"error",X)},get size(){let $=qE();return{width:$.width.value,height:$.height.value}},get cwd(){return process.env.PWD??process.cwd()},get version(){return XMe.version},async exit(){await A.gate("tui:shutdown"),process.exit(0)}},palette:S,commands:p,keys:b,mode:E,input:y,agents:F,theme:{create($,X){return u(s.create({name:$,...X}))},set($){s.set($)},list:()=>s.themes.value,get active(){return s.active.value}}}}var uRa=Lt(()=>{Ac();sc();nvt();mF();hR();VRe();Sxn();r6e();eFn();Evt();Vbt();g6e();sJ()});var nFn={};JA(nFn,{useExtensions:()=>cJ});function cJ(){if(!tFn)tFn=eur();return tFn}async function Xcr(){let{useQuestions:e}=await Promise.resolve().then(() => (Vbt(),jTa)),{useInput:n}=await Promise.resolve().then(() => (hR(),ARa));e().cancel();let A=n();if(A.mode.mode.value!=="normal")A.text.value="",A.mode.setMode("normal")}function eur(){let e=SE(),n=m6e(),A=cRa({track:(s)=>e.extensions.disposers.track(s)});function i(){let s=globalThis;s.tui=A.tui,s.palette=A.palette,s.commands=A.commands,s.keys=A.keys,s.mode=A.mode,s.input=A.input,s.agents=A.agents,s.theme=A.theme}return{errors:XA.computed(()=>sCt.value),fileErrors:XA.computed(()=>e.extensions.sources.flatMap((s)=>s.files.filter((u)=>u.error!==null).map((u)=>({source:s.label,path:u.path,error:u.error})))),problems:XA.computed(()=>{d6e.value;let s=e.extensions.sources.flatMap((u)=>u.files.filter((p)=>p.error!==null).map((p)=>({label:p.path.split("/").slice(-2).join("/"),error:p.error})));return[...sCt.value.map((u)=>({label:"profile.config.ts",error:u})),...s]}),loaded:XA.computed(()=>d6e.value),sources:XA.computed(()=>e.extensions.sources),list(){return e.extensions.list()},declared:XA.computed(()=>{return d6e.value,Qvt.value,[...e.extensions.declared]}),async install(s){try{return await e.extensions.install(s)}finally{Qvt.value++}},async uninstall(s){try{return await e.extensions.uninstall(s)}finally{Qvt.value++}},updates(){return e.extensions.updates()},async update(s,u){try{return await e.extensions.update(s,u)}finally{Qvt.value++}},async load(s){let u=d6e.value;if(i(),d6e.value)await Xcr();let p=[];if(s?.prepare!==!1)try{await e.profile.ensure()}catch(F){p.push(F)}let d=d6e.value?await e.extensions.reload():await e.extensions.load();p.push(...d.errors),sCt.value=p,d6e.value=!0,await e.refreshSettings();let{useSettings:b}=await Promise.resolve().then(() => ($bt(),lxn)),E=b();await E.refresh();let{useTheme:y}=await Promise.resolve().then(() => (sJ(),wTa));y().adopt(E.settings.value.theme);let D=await n.gate("tui:boot");if(D.length>0)sCt.value=[...sCt.value,...D];if(u)n.notify("tui:reloaded")},async reload(s){await this.load({prepare:s?.prepare??!1})},watch(){if(wvt)return;wvt=e.extensions.watch(async()=>{await this.reload();let s=this.problems.value.length;if(s>0)HN().show(`config reloaded \u2014 ${s} problem${s===1?"":"s"}`,"error")})},unwatch(){wvt?.(),wvt=null},hooks:n}}var sCt,d6e,Qvt,wvt=null,tFn;var u6e=Lt(()=>{Ac();d3();uRa();Evt();g6e();sCt=XA.ref([]),d6e=XA.ref(!1),Qvt=XA.ref(0)});import{readFileSync as pRa,existsSync as mRa}from"fs";import{basename as aFn,join as dRa,resolve as tur}from"path";function uCt(){return{events:[],kernelEvents:[],entries:[],processes:[]}}function nur(e){let n=e?.context;return typeof n?.sessionFile==="string"?n.sessionFile:null}function AFn(e){if(!mRa(e))return[];let n=pRa(e,"utf-8").trim();if(n.length===0)return[];return n.split(`
3838
3838
  `).map((A)=>JSON.parse(A))}function aur(e){if(e==="capsule:attach"||e==="capsule:detach")return!1;return e.startsWith("kernel:")||e.startsWith("cognet:")||e.startsWith("capsule:")}function Aur(e){let n=[],A=[],i=[];for(let s of AFn(e))if(JGe.some((u)=>s.type.startsWith(u)))A.push(s);else if(aur(s.type))i.push(s);else n.push(s);return{events:n,entries:A,kernelEvents:i,processes:[]}}function lRa(e){let n=e.lastIndexOf("@");return n>0?{name:e.slice(0,n),version:e.slice(n+1)}:{name:e,version:""}}function iur(e){return tur(e.blueprint.paths.root,e.blueprint.paths.data)}async function rur(e){let n=nur(e);if(!n)return[];for(let A=0;A<10;A++){let i=AFn(n);if(i.some((s)=>s.type.endsWith(":error")||s.type.endsWith(":failed")))return i;await new Promise((s)=>setTimeout(s,30))}return AFn(n)}function oKe(e){return e.source.kind==="local"?e.source.project.name:e.source.deployment.name}function gRa(e){let n=dRa(e,"package.json");if(mRa(n))try{let A=JSON.parse(pRa(n,"utf-8")).name;if(A)return A}catch{}return aFn(e)}function our(e){let{main:n,processes:A}=e.kernel.userland;return[{procId:"main",kind:"main",command:"capsule \xB7 ts runtime",pid:n.pid,status:n.status,startedAt:n.startedAt??Date.now(),main:!0,output:[]},...A.map((i)=>({procId:i.procId,kind:i.kind,command:i.command,pid:i.pid,status:i.status,exitCode:i.exitCode,startedAt:i.startedAt,output:i.tail(200,["stdout","stderr"]).split(`
3839
3839
  `)}))]}function sur(e){return e.source.kind==="remote"?{kind:"remote",instance:e,axon:e.source.agent}:{kind:"local",instance:e}}function cur(e){let n=e.instance,A=XA.ref(uCt()),i=XA.ref([]),s=XA.ref(0),u=XA.ref(!1),p=null,d=0,b=0,E=0;function y(){if(e.kind==="local"){let Be=e.instance.source.kind==="local"?e.instance.source.agent.current:null;if(!Be)throw Error("local cell without a runtime");return{log:Be.session.log,kernelLog:Be.session.kernelLog,entries:Be.session.entries,processes:our(Be)}}let ne=e.axon.session;return{log:ne.log,kernelLog:ne.kernelLog,entries:ne.entries,processes:[]}}function D(){let ne=y();d=ne.log.length,b=ne.kernelLog.length,E=ne.entries.length,A.value={events:[...ne.log],kernelEvents:[...ne.kernelLog],entries:[...ne.entries],processes:ne.processes}}D();function F(ne){let Be=y();if(ne.startsWith("capsule:"))A.value.processes=Be.processes;switch(OGe(ne)){case"entries":{let Qe=Be.entries.slice(E);if(E=Be.entries.length,Qe.length>0)A.value.entries.push(...Qe);break}case"kernelLog":{let Qe=Be.kernelLog.slice(b);if(b=Be.kernelLog.length,Qe.length>0)A.value.kernelEvents.push(...Qe);break}case"log":{let Qe=Be.log.slice(d);if(d=Be.log.length,Qe.length>0)A.value.events.push(...Qe);break}}}let S=e.kind==="local"?(()=>{let ne=n.source.kind==="local"?n.source.agent.current:null;if(!ne)throw Error("local cell without a runtime");return ne.bus.onAny((Be)=>F(Be))})():e.axon.session.subscribe({onEvent:(ne)=>F(ne.type),onError:(ne)=>{A.value.events.push({id:`stream-error-${Date.now()}`,type:"axon:error",time:{ms:Date.now(),seq:Number.MAX_SAFE_INTEGER},context:{},data:{error:{message:`event stream lost: ${ne.message}`}}})}});async function T(ne){let Be=e.kind==="local"?n.source.kind==="local"?n.source.agent.current.axon:null:e.axon;if(!Be)throw Error("cell has no invocation target");let Qe=Be.stream({prompt:ne}),{stream:me}=Qe;p=Qe,u.value=!1;try{for await(let De of me);}finally{if(p===Qe)p=null}}async function U(){while(i.value.length>0){let ne=i.value;i.value=[],await T(ne)}}async function $(ne){if(s.value>0){i.value=[...i.value,ne];return}s.value++;try{await T(ne),await U()}finally{s.value--}}function X(){let ne=p;if(!ne)return!1;return i.value=[],u.value=!0,ne.interrupt(),!0}let Ae=XA.computed(()=>{if(A.value.events.findLast((Be)=>Be.type.startsWith("axon:reload:"))?.type==="axon:reload:start")return"rebooting";if(s.value===0||u.value)return null;return"working"});return{instance:n,session:A,activity:Ae,queued:XA.computed(()=>i.value),busy:XA.computed(()=>s.value>0),send:$,interrupt:X,snapshot:D,promptNames(){if(e.kind!=="local"||n.source.kind!=="local")return[];return n.source.agent.current.axon.prompts.list()},renderPrompt(ne){if(e.kind!=="local"||n.source.kind!=="local")throw sa("NOT_WIRED",{detail:"prompt rendering is not available on a deployed agent"});return n.source.agent.current.axon.prompt(ne)},renderPromptEntry(ne){if(e.kind!=="local"||n.source.kind!=="local")throw sa("NOT_WIRED",{detail:"prompt rendering is not available on a deployed agent"});return n.source.agent.current.axon.prompts.renderEntry(ne)},dispose(){S()}}}function uur(e,n,A){let i=XA.ref("idle"),s=XA.ref(null),u=!1,p=XA.ref(0);function d(){p.value++}let b=new Map;function E(ka){return b.get(ka)??null}function y(ka){let Si=b.get(ka.sessionId);if(Si)return Si;let rs=cur(sur(ka));return b.set(ka.sessionId,rs),d(),rs}function D(ka){let Si=b.get(ka);if(!Si)return;Si.dispose(),b.delete(ka),d()}let F=300000,S=new Map,T=new Map,U=XA.ref(0),$=new Set;function X(){let ka=Date.now()-F;for(let[Si,rs]of S)if(rs.at<=ka)S.delete(Si)}e.onSpawn((ka)=>{if(T.set(ka.sessionId,{sessionId:ka.sessionId,parentSessionId:ka.parentSessionId,rootSessionId:ka.rootSessionId,depth:ka.depth,name:oKe(ka)}),S.delete(ka.sessionId))U.value++;y(ka)}),e.onStop((ka)=>{if(u)return;let Si=T.get(ka);if(Si){let rs=Date.now();S.set(ka,{view:{...Si,focused:!1,activity:null,exitedAt:rs},at:rs}),U.value++,$.add(setTimeout(()=>{U.value++},F+1000))}D(ka)});function Ae(){p.value;let ka=e.focused;return ka?b.get(ka.sessionId)??null:null}let ne=XA.ref([]),Be=XA.computed(()=>{return p.value,e.active}),Qe=XA.computed(()=>{p.value;let ka=n.profiles.active(),Si=ka?ka.agents.list().map(($o)=>({kind:"local",dir:$o,name:gRa(ka.agents.path($o))})):[],rs=A.deployments.list().map(($o)=>({kind:"deployed",name:$o.name,deploymentId:$o.deploymentId,tier:$o.tier,warmth:$o.warmth}));return[...Si,...rs]});async function me(){await A.deployments.refresh(),d()}let De=XA.computed(()=>{return p.value,A.deployments.error});async function Ke(ka){let Si=A.deployments.list().find((rs)=>rs.deploymentId===ka);if(!Si)throw sa("DEPLOYMENT_NOT_CONNECTABLE",{context:{deploymentId:ka}});i.value="booting",We.value=Si.name,it.value=null,s.value=null,ne.value=[];try{let rs=await e.attach(Si);y(rs),i.value="idle",ne.value=[],We.value=null,SA()}catch(rs){throw i.value="error",s.value=rs instanceof Error?rs:Error(String(rs)),rs}finally{d()}}function at(){d()}let lt=XA.computed(()=>{return p.value,e.project?.name??null}),We=XA.ref(null),it=XA.ref(null),kt=XA.ref(null),ze=XA.ref(null),vt=kTa(),rn=XA.computed(()=>lt.value??We.value),bt=XA.computed(()=>We.value!==null),aa=XA.computed(()=>{if(p.value,bt.value)return null;return e.focused?.sessionId??null}),Da=XA.computed(()=>{p.value;let ka=e.runtime,Si=aa.value;if(!ka||!Si)return null;return dRa(iur(ka),"sessions",`${Si}.jsonl`)}),Ut=XA.computed(()=>{if(p.value,bt.value)return it.value;return e.project?.root??null}),na=XA.computed(()=>{return p.value,MTa(Ut.value,n.profiles.active()?.agents.root??null)}),Va=XA.computed(()=>{if(p.value,bt.value){let Si=it.value;if(!Si)return null;return n.state.get()?.agentModels?.[aFn(Si)]??null}let ka=e.runtime?.blueprint.config.engine;if(!ka)return null;if("provider"in ka)return mxn({provider:ka.provider,declared:"model"in ka?ka.model??null:null,resolved:Ye.value});return mxn({provider:ka.name,declared:ka.model??null,resolved:Ye.value})}),Pn=vTa(),Za=XA.computed(()=>{if(p.value,bt.value)return null;return Pn.step(FTa(la.value.kernelEvents,la.value.entries))}),vA=XA.computed(()=>{p.value,U.value,X();let ka=e.focused?.sessionId??null,Si=e.list().map((Cs)=>({sessionId:Cs.sessionId,parentSessionId:Cs.parentSessionId,rootSessionId:Cs.rootSessionId,depth:Cs.depth,name:oKe(Cs),focused:Cs.sessionId===ka,activity:E(Cs.sessionId)?.activity.value??null,exitedAt:null}));if(S.size===0)return Si;let rs=new Map;for(let Cs of Si)rs.set(Cs.sessionId,Cs);for(let[Cs,jo]of S)rs.set(Cs,jo.view);let $o=[];for(let Cs of T.keys()){let jo=rs.get(Cs);if(jo)$o.push(jo),rs.delete(Cs)}return[...$o,...rs.values()]}),Cn=XA.computed(()=>{p.value;let ka=e.focused?.sessionId??null,Si=new Map;for(let rs of e.recent()){let $o=oKe(rs),Cs={sessionId:rs.sessionId,parentSessionId:rs.parentSessionId,rootSessionId:rs.rootSessionId,depth:rs.depth,name:$o,focused:rs.sessionId===ka,activity:E(rs.sessionId)?.activity.value??null,exitedAt:null},jo=Si.get($o);if(jo)jo.push(Cs);else Si.set($o,[Cs])}return Si}),Ea=XA.computed(()=>{return p.value,e.sessions()}),_a=XA.ref(null),Yn=new Map,Ua={id:XA.computed(()=>_a.value),show(ka){if(!Yn.has(ka.sessionId))Yn.set(ka.sessionId,Aur(ka.filePath));_a.value=ka.sessionId},clear(){_a.value=null,Yn.clear()}},la=XA.computed(()=>{if(_a.value!==null)return Yn.get(_a.value)??uCt();if(ne.value.length>0)return{...uCt(),events:ne.value};if(bt.value)return uCt();return Ae()?.session.value??uCt()}),cr=XA.ref(null),Ye=XA.computed(()=>{if(p.value,bt.value)return null;return DTa(la.value.kernelEvents)??cr.value}),zn=XA.computed(()=>{if(p.value,bt.value)return null;let ka=Ye.value;if(ka)return ka;let Si=e.runtime?.blueprint.config.engine;if(!Si)return null;let rs="provider"in Si?"model"in Si?Si.model??null:null:Si.model??null;return rs==="auto"?null:rs});async function dn(){let ka=xTa(e.runtime?.blueprint.config.engine);if(!ka){cr.value=null;return}try{let Si=await A.cloud.cloud.engine.resolve(ka);cr.value=Si.model}catch{cr.value=null}}let qa=XA.ref([]);async function SA(){let ka=Ae();if(!ka)return;while(qa.value.length>0&&Ae()===ka){let[Si,...rs]=qa.value;qa.value=rs,await ka.send(Si)}}async function tA(ka,Si){let rs=n.profiles.active(),$o=typeof ka==="string"?rs?rs.agents.path(ka):null:ka.root,Cs=typeof ka==="string"?$o?gRa($o):ka:ka.name,jo=vt.claim();i.value="booting",We.value=Cs,it.value=$o,kt.value=null,ze.value=null,s.value=null,ne.value=[];try{let Su=await e.spawn(ka,{...Si,focus:Si?.focus===!1?!1:jo.latest,onProgress:(qc)=>{if(jo.latest)kt.value=qc},onTiming:(qc)=>{if(jo.latest&&qc.unit==="modules")ze.value=qc.durationMs}});if(y(Su),!jo.latest)return d(),Su.sessionId;i.value="idle",ne.value=[];try{if(Su.source.kind==="local"){let qc=aFn(Su.source.project.root),lg=Va.value;n.state.update((Zr)=>({...Zr,lastAgent:qc,...lg?{agentModels:{...Zr.agentModels,[qc]:lg}}:{}}))}}catch{}return We.value=null,it.value=null,kt.value=null,dn(),SA(),Su.sessionId}catch(Su){if(!jo.latest)throw Su;throw i.value="error",s.value=Su instanceof Error?Su:Error(String(Su)),ne.value=await rur(Su),Su}finally{d()}}async function gi(ka){i.value="booting";let Si=e.focused;if(Si)await Fi(Si.sessionId);await tA(ka)}async function Ei(ka,Si){if(e.get(Si)){wr(Si);return}await tA(ka,{session:Si})}async function Hi(){let ka=e.focused;if(!ka)throw sa("NO_ACTIVE_AGENT");if(ka.source.kind!=="local")throw sa("CLEAR_IMMUTABLE_DEPLOYED",{detail:`${oKe(ka)} is a deployment \u2014 it owns its session in the cloud, so there is no fresh one to start from the TUI`,context:{name:oKe(ka)}});let Si=ka.source.project;await Fi(ka.sessionId),await tA(Si)}async function ei(ka){await tA(ka)}async function Qr(){let ka=e.focused;if(!ka)return;await Fi(ka.sessionId)}function wr(ka){e.focus(ka),Pn.reset(),d(),SA()}async function Fi(ka){try{await e.stop(ka)}finally{D(ka),d()}}async function Xa(ka){let Si=e.focused;if(!Si)throw sa("NO_ACTIVE_AGENT");if(Si.source.kind!=="local")throw sa("MODEL_IMMUTABLE_DEPLOYED",{detail:`${oKe(Si)} is a deployment \u2014 its model is set at deploy time, not from the TUI`,context:{sessionId:Si.sessionId}});let rs=e.project,$o=e.runtime?.session;if(!rs)throw sa("NO_FOCUSED_INSTANCE");let Cs=Date.now(),jo="model"in ka&&ka.model?`${ka.provider}/${ka.model}`:ka.provider;await $o?.commit("axon:model:start",{name:jo});try{let Su=await rs.engine.set(ka);if(await $o?.commit("axon:model:complete",{name:jo,durationMs:Date.now()-Cs,changed:Su.changed,dropped:Su.dropped}),Su.changed)d(),dn();return Su}catch(Su){let qc=sa(Su);throw await $o?.commit("axon:model:failed",{name:jo,error:qc,durationMs:Date.now()-Cs}),qc}}let Nt=XA.computed(()=>{p.value;let ka=e.runtime?.blueprint.config.engine;if(!ka||!("provider"in ka))return null;return ka});async function et(){u=!0,i.value="shutting-down";for(let ka of b.values())ka.dispose();for(let ka of $)clearTimeout(ka);$.clear();try{await e.shutdown()}catch(ka){throw ka}}async function an(){let ka=Da.value;if(!ka)throw sa("NO_SESSION_TO_OPEN");let Si=await e.history.fork(ka);return d(),Si}async function Qa(ka){let Si=Da.value;if(!Si)throw sa("NO_SESSION_TO_OPEN");await e.history.rename(Si,ka),d()}async function pn(){await e.current?.reload(),d(),Ae()?.snapshot(),dn()}let Ra=XA.computed(()=>{return p.value,e.runtime?.blueprint.modules??[]}),NA=XA.computed(()=>{if(p.value,bt.value)return null;let ka=e.runtime?.blueprint;if(!ka)return null;return{modules:ka.modules?.length??0,tools:ka.tools?.length??0,durationMs:ze.value}});async function Hr(ka){let Si=e.runtime?.session,rs=Date.now();await Si?.commit("axon:install:start",{name:ka,artifact:"extension"});try{let{useExtensions:$o}=await Promise.resolve().then(() => (u6e(),nFn)),Cs=await $o().install(ka),{name:jo,version:Su}=lRa(Cs.ref);return await Si?.commit("axon:install:complete",{name:jo,version:Su,durationMs:Date.now()-rs,alreadyInstalled:!Cs.declared,artifact:"extension"}),d(),{root:Cs.root,ref:Cs.ref}}catch($o){let Cs=$o instanceof Error&&"isAxonError"in $o?$o:sa("EXTENSION_INSTALL_FAILED",{detail:String($o),context:{source:ka}});throw await Si?.commit("axon:install:failed",{name:ka,error:Cs,durationMs:Date.now()-rs,artifact:"extension"}),Cs}}async function Ir(ka){let Si=e.runtime?.session,rs=Date.now(),{name:$o}=lRa(ka);await Si?.commit("axon:uninstall:start",{name:$o,artifact:"extension"});try{let{useExtensions:Cs}=await Promise.resolve().then(() => (u6e(),nFn)),jo=await Cs().uninstall(ka);return await Si?.commit("axon:uninstall:complete",{name:$o,durationMs:Date.now()-rs,artifact:"extension"}),d(),jo}catch(Cs){let jo=Cs instanceof Error&&"isAxonError"in Cs?Cs:sa("EXTENSION_UNINSTALL_FAILED",{detail:String(Cs),context:{source:ka}});throw await Si?.commit("axon:uninstall:failed",{name:$o,error:jo,durationMs:Date.now()-rs,artifact:"extension"}),jo}}async function As(ka){let Si=e.project,rs=e.runtime?.session;if(!Si)throw sa("NO_FOCUSED_INSTANCE",{context:{specifier:ka}});let $o=Date.now();await rs?.commit("axon:install:start",{name:ka});try{let[Cs]=await Si.modules.install([ka]);if(!Cs)throw sa("MODULE_INSTALL_FAILED",{detail:"installer returned no result",context:{specifier:ka}});if(Cs.status==="error")throw sa("MODULE_INSTALL_FAILED",{detail:Cs.error,context:{name:Cs.name}});if(Cs.status==="not-found")return await rs?.commit("axon:install:not-found",{name:ka,durationMs:Date.now()-$o}),Cs;let jo=Cs.status==="already-installed";if(await rs?.commit("axon:install:complete",{name:Cs.name,version:Cs.version,durationMs:Date.now()-$o,alreadyInstalled:jo}),!jo)await pn();return Cs}catch(Cs){let jo=sa(Cs);throw await rs?.commit("axon:install:failed",{name:ka,error:jo,durationMs:Date.now()-$o}),jo}}async function is(ka){let Si=e.project,rs=e.runtime?.session;if(!Si)throw sa("NO_FOCUSED_INSTANCE",{context:{name:ka}});let $o=Date.now();await rs?.commit("axon:uninstall:start",{name:ka});try{let Cs=await Si.modules.uninstall(ka);if(await rs?.commit("axon:uninstall:complete",{name:ka,durationMs:Date.now()-$o}),Cs.status==="removed")await pn();return Cs}catch(Cs){let jo=sa(Cs);throw await rs?.commit("axon:uninstall:failed",{name:ka,error:jo,durationMs:Date.now()-$o}),jo}}async function Mu(ka){let Si=bt.value?null:Ae();if(!Si){qa.value=[...qa.value,ka];return}await Si.send(ka)}let Cc={list(){return Ae()?.promptNames()??[]},render(ka){let Si=Ae();if(!Si)throw sa("NOT_BOOTED",{detail:"no running agent to render a prompt against"});return Si.renderPrompt(ka)},async fetch(ka){let Si=Ae();if(!Si)throw sa("NOT_BOOTED",{detail:"no running agent to render a prompt against"});return Si.renderPromptEntry(await A.prompts.entry(ka))}};function gl(){return Ae()?.interrupt()??!1}async function vo(ka,Si){let rs=e.get(ka);if(!rs)throw sa("SESSION_NOT_RUNNING",{context:{sessionId:ka}});if(rs.source.kind!=="local")throw Error(`CAPSULE_NOT_LOCAL: ${ka} is an attached deployment \u2014 its capsule runs in the cloud, not on this machine`);let $o=await rs.source.agent.current.kernel.run(Si,{origin:"host"});return{ok:$o.ok,...$o.value!==void 0?{value:$o.value}:{},stdout:$o.stdout,...$o.error?{error:$o.error}:{}}}let Wh=XA.computed(()=>bt.value?[...qa.value]:[...Ae()?.queued.value??[],...qa.value]),ri=XA.computed(()=>{if(i.value==="booting")return"booting";if(i.value==="shutting-down")return"shutting-down";return Ae()?.activity.value??null});return{active:Be,available:Qe,refreshAvailable:at,selected:lt,displayName:rn,switching:bt,model:Nt,sessionId:aa,sessionFile:Da,forkSession:an,renameSession:Qa,home:Ut,homeLabelled:na,loaded:NA,engineDescriptor:Va,context:Za,contextModel:zn,resolvedModel:Ye,bootStage:XA.computed(()=>kt.value),status:i,activity:ri,queued:Wh,error:s,session:la,instances:vA,instancesByAgent:Cn,sessions:Ea,modules:Ra,select:gi,spawn:tA,attachDeployment:Ke,refreshDeployments:me,deploymentsError:De,resume:Ei,clear:Hi,spawnSibling:ei,close:Qr,focus:wr,stop:Fi,setModel:Xa,shutdown:et,reboot:pn,send:Mu,interrupt:gl,capsule:vo,prompts:Cc,preview:Ua,installModule:As,installExtension:Hr,uninstallExtension:Ir,uninstallModule:is}}function Ml(){if(!cCt){let e=SE();cCt=uur(e.agents,e.store,{deployments:e.deployments,prompts:e.prompts,cloud:e.cloud.client});let n=cCt;ITa({async focus(A){n.focus(A)},async send(A){await n.send(A)},async interrupt(){n.interrupt()},async capsule(A,i){return n.capsule(A,i)}}),Hhe().listen(),cCt.refreshDeployments()}return cCt}var cCt;var mF=Lt(()=>{Ac();Yx();d3();sc();Hbt();ovt();fxn();LTa()});function Opr(){let e=new Map;for(let[n,A]of Object.entries(z1)){for(let[i,s]of Object.entries(A))z1[i]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},A[i]=z1[i],e.set(s[0],s[1]);Object.defineProperty(z1,n,{value:A,enumerable:!1})}return Object.defineProperty(z1,"codes",{value:e,enumerable:!1}),z1.color.close="\x1B[39m",z1.bgColor.close="\x1B[49m",z1.color.ansi=y5a(),z1.color.ansi256=_5a(),z1.color.ansi16m=Q5a(),z1.bgColor.ansi=y5a(10),z1.bgColor.ansi256=_5a(10),z1.bgColor.ansi16m=Q5a(10),Object.defineProperties(z1,{rgbToAnsi256:{value(n,A,i){if(n===A&&A===i){if(n<8)return 16;if(n>248)return 231;return Math.round((n-8)/247*24)+232}return 16+36*Math.round(n/255*5)+6*Math.round(A/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(n){let A=/[a-f\d]{6}|[a-f\d]{3}/i.exec(n.toString(16));if(!A)return[0,0,0];let[i]=A;if(i.length===3)i=[...i].map((u)=>u+u).join("");let s=Number.parseInt(i,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:(n)=>z1.rgbToAnsi256(...z1.hexToRgb(n)),enumerable:!1},ansi256ToAnsi:{value(n){if(n<8)return 30+n;if(n<16)return 90+(n-8);let A,i,s;if(n>=232)A=((n-232)*10+8)/255,i=A,s=A;else{n-=16;let d=n%36;A=Math.floor(n/36)/5,i=Math.floor(d/6)/5,s=d%6/5}let u=Math.max(A,i,s)*2;if(u===0)return 30;let p=30+(Math.round(s)<<2|Math.round(i)<<1|Math.round(A));if(u===2)p+=60;return p},enumerable:!1},rgbToAnsi:{value:(n,A,i)=>z1.ansi256ToAnsi(z1.rgbToAnsi256(n,A,i)),enumerable:!1},hexToAnsi:{value:(n)=>z1.ansi256ToAnsi(z1.hexToAnsi256(n)),enumerable:!1}}),z1}var y5a=(e=0)=>(n)=>`\x1B[${n+e}m`,_5a=(e=0)=>(n)=>`\x1B[${38+e};5;${n}m`,Q5a=(e=0)=>(n,A,i)=>`\x1B[${38+e};2;${n};${A};${i}m`,z1,xCo,Ppr,Jpr,FCo,$pr,dne;var w5a=Lt(()=>{z1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},xCo=Object.keys(z1.modifier),Ppr=Object.keys(z1.color),Jpr=Object.keys(z1.bgColor),FCo=[...Ppr,...Jpr];$pr=Opr(),dne=$pr});import Dvn from"process";import zpr from"os";import k5a from"tty";function UO(e,n=globalThis.Deno?globalThis.Deno.args:Dvn.argv){let A=e.startsWith("-")?"":e.length===1?"-":"--",i=n.indexOf(A+e),s=n.indexOf("--");return i!==-1&&(s===-1||i<s)}function Wpr(){if("FORCE_COLOR"in W1){if(W1.FORCE_COLOR==="true")return 1;if(W1.FORCE_COLOR==="false")return 0;return W1.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(W1.FORCE_COLOR,10),3)}}function Zpr(e){if(e===0)return!1;return{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Vpr(e,{streamIsTTY:n,sniffFlags:A=!0}={}){let i=Wpr();if(i!==void 0)iSt=i;let s=A?iSt:i;if(s===0)return 0;if(A){if(UO("color=16m")||UO("color=full")||UO("color=truecolor"))return 3;if(UO("color=256"))return 2}if("TF_BUILD"in W1&&"AGENT_NAME"in W1)return 1;if(e&&!n&&s===void 0)return 0;let u=s||0;if(W1.TERM==="dumb")return u;if(Dvn.platform==="win32"){let p=zpr.release().split(".");if(Number(p[0])>=10&&Number(p[2])>=10586)return Number(p[2])>=14931?3:2;return 1}if("CI"in W1){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((p)=>(p in W1)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((p)=>(p in W1))||W1.CI_NAME==="codeship")return 1;return u}if("TEAMCITY_VERSION"in W1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(W1.TEAMCITY_VERSION)?1:0;if(W1.COLORTERM==="truecolor")return 3;if(W1.TERM==="xterm-kitty")return 3;if(W1.TERM==="xterm-ghostty")return 3;if(W1.TERM==="wezterm")return 3;if("TERM_PROGRAM"in W1){let p=Number.parseInt((W1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(W1.TERM_PROGRAM){case"iTerm.app":return p>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(W1.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(W1.TERM))return 1;if("COLORTERM"in W1)return 1;return u}function D5a(e,n={}){let A=Vpr(e,{streamIsTTY:e&&e.isTTY,...n});return Zpr(A)}var W1,iSt,Xpr,x5a;var F5a=Lt(()=>{({env:W1}=Dvn);if(UO("no-color")||UO("no-colors")||UO("color=false")||UO("color=never"))iSt=0;else if(UO("color")||UO("colors")||UO("color=true")||UO("color=always"))iSt=1;Xpr={stdout:D5a({isTTY:k5a.isatty(1)}),stderr:D5a({isTTY:k5a.isatty(2)})},x5a=Xpr});function v5a(e,n,A){let i=e.indexOf(n);if(i===-1)return e;let s=n.length,u=0,p="";do p+=e.slice(u,i)+n+A,u=i+s,i=e.indexOf(n,u);while(i!==-1);return p+=e.slice(u),p}function S5a(e,n,A,i){let s=0,u="";do{let p=e[i-1]==="\r";u+=e.slice(s,p?i-1:i)+n+(p?`\r
3840
3840
  `:`
@@ -4023,4 +4023,4 @@ ${ne}`:ne,{stream:Qe}=Ae.current.axon.stream(Be),me=!1;for await(let De of Qe){i
4023
4023
  page, rather than tucked behind a command: a file that runs at boot
4024
4024
  is code someone is actively editing, and a config that silently
4025
4025
  did nothing is indistinguishable from one that never loaded. This
4026
- is the whole feedback loop for writing an extension. `),(I3(!0),CKe(kvn,null,C5a(JM(F),(ne,Be)=>{return I3(),CKe(kvn,{key:`config-${Be}`},[ne.axon?(I3(),TO(qO,{key:0,error:ne.axon},null,8,["error"])):(I3(),TO(zae,{key:1,message:`${ne.label}: ${ne.message}`},null,8,["message"]))],64)}),128))],8,["scroll-bottom"])}}});I5a.__scopeId="data-v-1ab3a5bb";var E5a=I5a;var mSt=!1;{let e=process.argv.slice(2),n={version:"2.0.133",cwd:process.cwd()},A={"--version":async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},"--help":async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},init:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},prepare:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},dev:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},run:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},build:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},deploy:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},publish:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},install:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},i:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},uninstall:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},list:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},clone:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},fork:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},watch:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},unwatch:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},settings:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},login:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},logout:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},update:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},whoami:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},cognet:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},prompt:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},ext:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},extension:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},module:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},ps:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},status:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},logs:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},undeploy:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},bench:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},staff:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)}};for(let[i,s]of Object.entries(A))if(i.startsWith("-")&&e.includes(i)){let u=e.indexOf(i);await s({...n,args:e.slice(u+1),command:i}),mSt=!0;break}if(!mSt){let i=e.findIndex((u)=>!u.startsWith("-")),s=i===-1?void 0:e[i];if(s&&s in A)await A[s]({...n,args:e.slice(i+1),command:s}),mSt=!0}}if(!mSt)_In({routes:[{path:"/logs/kernel",component:O7a,name:"logs-kernel"},{path:"/logs/session",component:Z7a,name:"logs-session"},{path:"/capsule/:id",component:t5a,name:"capsule-id"},{path:"/account",component:A5a,name:"account",meta:{layout:"default"}},{path:"/auth",component:s5a,name:"auth",meta:{layout:"default"}},{path:"/",component:E5a,name:"home",meta:{layout:"default"}}],styles:[fRa,QTa,yRa,jRa,wRa,$Ka,t7a,o7a,C7a,E7a,y7a,x7a,G7a,q7a,m7a,h7a,l7a,LRa,RRa,vRa,K7a,P7a,z7a,X7a,n5a,r5a,B5a],layouts:new Map([["default",j7a]]),middleware:[ETa],screen:{title:"VTerm"},quitKeys:["C-c"],highlight:{theme:{name:"arcnight",type:"dark",colors:{"editor.background":"#070b10","editor.foreground":"#c7eaff"},tokenColors:[{scope:["variable","variable.other","variable.other.property","variable.other.object.property","variable.other.readwrite","meta.object-literal.key","support.variable.property"],settings:{foreground:"#7cceff"}},{scope:["keyword","keyword.control","keyword.other","storage","storage.type","storage.modifier"],settings:{foreground:"#345a94"}},{scope:["constant.numeric","number"],settings:{foreground:"#326396"}},{scope:["entity.name.type","entity.name.class","constant","support.type"],settings:{foreground:"#3caed5"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"#3caed5"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"#4c6696"}},{scope:["keyword.operator","punctuation.accessor"],settings:{foreground:"#7cceff"}},{scope:["comment","comment.line","comment.block"],settings:{foreground:"#585858",fontStyle:"italic"}},{scope:["punctuation.definition.tag.air"],settings:{foreground:"#2a4a6a"}},{scope:["entity.name.tag.section.air"],settings:{foreground:"#345a94"}},{scope:["entity.name.tag.turn.air"],settings:{foreground:"#3caed5"}},{scope:["entity.name.tag.execute.air"],settings:{foreground:"#00B4D8"}},{scope:["entity.name.tag.stdout.air"],settings:{foreground:"#4c6696"}},{scope:["entity.name.tag.prose.air"],settings:{foreground:"#7cceff"}},{scope:["entity.name.tag.signal.air"],settings:{foreground:"#3caed5"}},{scope:["entity.name.tag.env.air"],settings:{foreground:"#345a94"}},{scope:["entity.name.tag.system.air"],settings:{foreground:"#b43c3c"}},{scope:["entity.name.tag.state.air"],settings:{foreground:"#585858"}},{scope:["entity.other.attribute-name.air"],settings:{foreground:"#4c6696"}},{scope:["string.quoted.double.air"],settings:{foreground:"#326396"}},{scope:["constant.character.entity.air"],settings:{foreground:"#4c6696"}}]}},ui:{cursor:{shape:"line",blink:!0},scrollbar:{thumb:"\u2502",track:"\u2502"}}});
4026
+ is the whole feedback loop for writing an extension. `),(I3(!0),CKe(kvn,null,C5a(JM(F),(ne,Be)=>{return I3(),CKe(kvn,{key:`config-${Be}`},[ne.axon?(I3(),TO(qO,{key:0,error:ne.axon},null,8,["error"])):(I3(),TO(zae,{key:1,message:`${ne.label}: ${ne.message}`},null,8,["message"]))],64)}),128))],8,["scroll-bottom"])}}});I5a.__scopeId="data-v-1ab3a5bb";var E5a=I5a;var mSt=!1;{let e=process.argv.slice(2),n={version:"2.0.134",cwd:process.cwd()},A={"--version":async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},"--help":async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},init:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},prepare:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},dev:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},run:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},build:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},deploy:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},publish:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},install:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},i:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},uninstall:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},list:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},clone:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},fork:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},watch:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},unwatch:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},settings:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},login:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},logout:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},update:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},whoami:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},cognet:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},prompt:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},ext:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},extension:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},module:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},ps:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},status:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},logs:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},undeploy:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},bench:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)},staff:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (NE(),RE));await u(s)}};for(let[i,s]of Object.entries(A))if(i.startsWith("-")&&e.includes(i)){let u=e.indexOf(i);await s({...n,args:e.slice(u+1),command:i}),mSt=!0;break}if(!mSt){let i=e.findIndex((u)=>!u.startsWith("-")),s=i===-1?void 0:e[i];if(s&&s in A)await A[s]({...n,args:e.slice(i+1),command:s}),mSt=!0}}if(!mSt)_In({routes:[{path:"/logs/kernel",component:O7a,name:"logs-kernel"},{path:"/logs/session",component:Z7a,name:"logs-session"},{path:"/capsule/:id",component:t5a,name:"capsule-id"},{path:"/account",component:A5a,name:"account",meta:{layout:"default"}},{path:"/auth",component:s5a,name:"auth",meta:{layout:"default"}},{path:"/",component:E5a,name:"home",meta:{layout:"default"}}],styles:[fRa,QTa,yRa,jRa,wRa,$Ka,t7a,o7a,C7a,E7a,y7a,x7a,G7a,q7a,m7a,h7a,l7a,LRa,RRa,vRa,K7a,P7a,z7a,X7a,n5a,r5a,B5a],layouts:new Map([["default",j7a]]),middleware:[ETa],screen:{title:"VTerm"},quitKeys:["C-c"],highlight:{theme:{name:"arcnight",type:"dark",colors:{"editor.background":"#070b10","editor.foreground":"#c7eaff"},tokenColors:[{scope:["variable","variable.other","variable.other.property","variable.other.object.property","variable.other.readwrite","meta.object-literal.key","support.variable.property"],settings:{foreground:"#7cceff"}},{scope:["keyword","keyword.control","keyword.other","storage","storage.type","storage.modifier"],settings:{foreground:"#345a94"}},{scope:["constant.numeric","number"],settings:{foreground:"#326396"}},{scope:["entity.name.type","entity.name.class","constant","support.type"],settings:{foreground:"#3caed5"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"#3caed5"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"#4c6696"}},{scope:["keyword.operator","punctuation.accessor"],settings:{foreground:"#7cceff"}},{scope:["comment","comment.line","comment.block"],settings:{foreground:"#585858",fontStyle:"italic"}},{scope:["punctuation.definition.tag.air"],settings:{foreground:"#2a4a6a"}},{scope:["entity.name.tag.section.air"],settings:{foreground:"#345a94"}},{scope:["entity.name.tag.turn.air"],settings:{foreground:"#3caed5"}},{scope:["entity.name.tag.execute.air"],settings:{foreground:"#00B4D8"}},{scope:["entity.name.tag.stdout.air"],settings:{foreground:"#4c6696"}},{scope:["entity.name.tag.prose.air"],settings:{foreground:"#7cceff"}},{scope:["entity.name.tag.signal.air"],settings:{foreground:"#3caed5"}},{scope:["entity.name.tag.env.air"],settings:{foreground:"#345a94"}},{scope:["entity.name.tag.system.air"],settings:{foreground:"#b43c3c"}},{scope:["entity.name.tag.state.air"],settings:{foreground:"#585858"}},{scope:["entity.other.attribute-name.air"],settings:{foreground:"#4c6696"}},{scope:["string.quoted.double.air"],settings:{foreground:"#326396"}},{scope:["constant.character.entity.air"],settings:{foreground:"#4c6696"}}]}},ui:{cursor:{shape:"line",blink:!0},scrollbar:{thumb:"\u2502",track:"\u2502"}}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcforge/axon",
3
- "version": "2.0.133",
3
+ "version": "2.0.134",
4
4
  "description": "coding agent cli",
5
5
  "type": "module",
6
6
  "bin": {