@arcforge/axon 2.0.156 → 2.0.157
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-main.js +463 -270
- package/app.js +2 -2
- package/package.json +1 -1
package/app.js
CHANGED
|
@@ -5043,7 +5043,7 @@ held by:
|
|
|
5043
5043
|
${E}`:""),context:{model:u.model,needs:u.bytes,available:p.available}})}let d=A.take(u),b=!1;return()=>{if(b)return;b=!0,A.release(d)}},releaseAll(){A.releaseAll()}}}var C5a=xt(()=>{qs();mSn();bSn()});var B5a=xt(()=>{C5a();bSn();mSn()});import{execFile as afr}from"child_process";import{createHash as Afr}from"crypto";import{existsSync as ISn}from"fs";import{mkdir as ifr,readFile as rfr,readdir as sBt,rm as I5a,writeFile as Q5a}from"fs/promises";import{basename as ofr,join as P6e,resolve as E5a}from"path";function _5a(e){function n(A,i){return P6e(e.root,"cache","prompts",...A.split("/"),i)}return{async ensure(A){if(!A)throw Pn("CLONE_REF_REQUIRED");let{name:i,version:s}=yIe(A),u=await e.cloud.registry.resolve(i,s),p=n(u.name,u.version);if(!ISn(p)||(await sBt(p)).length===0)await ySn(await ESn(u.downloadUrl),p);return{name:u.name,version:u.version,root:p}},async cached(){let A=P6e(e.root,"cache","prompts");if(!ISn(A))return[];let i=[];for(let s of await sBt(A))for(let u of await sBt(P6e(A,s)).catch(()=>[]))for(let p of await sBt(P6e(A,s,u)).catch(()=>[]))i.push({name:`${s}/${u}`,version:p,root:P6e(A,s,u,p)});return i}}}function w5a(e){async function n(i,s,u={}){if(!i)throw Pn("CLONE_REF_REQUIRED");let{name:p,version:d}=yIe(i),b=await e.cloud.registry.resolve(p,d),E=E5a(s,u.dir??y5a(b.name));return await ySn(await ESn(b.downloadUrl),E),await e.prepare(E),{...b,root:E}}async function A(i,s,u={}){if(!u.as)throw Pn("FORK_NAME_REQUIRED");if(!i)throw Pn("FORK_REF_REQUIRED");let{name:p,version:d}=yIe(i),b=await e.cloud.registry.resolve(p,d),E=E5a(s,u.dir??y5a(u.as));await ySn(await ESn(b.downloadUrl),E);let y={...b,root:E},k=P6e(y.root,"package.json"),x=JSON.parse(await rfr(k,"utf-8")),S=x.axon&&typeof x.axon==="object"&&!Array.isArray(x.axon)?x.axon:{};return x.name=u.as,x.version="0.1.0",x.axon={...S,forkedFrom:{name:y.name,version:y.version}},await Q5a(k,JSON.stringify(x,null,2)+`
|
|
5044
5044
|
`),await e.prepare(E),{...y,name:u.as,version:"0.1.0"}}return{clone:n,fork:A}}function y5a(e){return ofr(e)}function BSn(e){return new Promise((n)=>{afr("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 ESn(e){let n=await fetch(e);if(!n.ok)throw Pn("ARTIFACT_DOWNLOAD_FAILED",{detail:`${n.status} ${n.statusText}`,context:{status:n.status}});return n.arrayBuffer()}async function ySn(e,n){let A=!1;if(ISn(n)){if((await sBt(n)).length>0)throw Pn("CLONE_TARGET_EXISTS",{detail:`${n} is not empty`,context:{target:n}})}else await ifr(n,{recursive:!0}),A=!0;let i=P6e(n,`.axon-clone-${Afr("sha256").update(new Uint8Array(e)).digest("hex")}.tar.gz`);try{await Q5a(i,new Uint8Array(e));let u=(await BSn(["-tzf",i])).stdout.split(`
|
|
5045
5045
|
`).filter(Boolean),d=u.length>0&&u.every((b)=>b==="package/"||b.startsWith("package/"))?await BSn(["-xzf",i,"-C",n,"--strip-components=1"]):await BSn(["-xzf",i,"-C",n]);if(d.exitCode!==0)throw Pn("ARTIFACT_EXTRACT_FAILED",{detail:d.stderr.trim(),context:{exitCode:d.exitCode}})}catch(s){if(A)await I5a(n,{recursive:!0,force:!0});throw s}finally{await I5a(i,{force:!0})}}var k5a=xt(()=>{qs();eSt()});import{join as sfr}from"path";async function D5a(e,n){let A=Or.exists(sfr(e,"src","prompts")),i=await lKe(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 x5a=xt(()=>{ph();_vt()});function F5a(e){async function n(A){let{name:i,root:s}=await e.cache.ensure(A),u=await D5a(s,i);if(u.entries.length===0)throw Pn("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 Pn("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 v5a=xt(()=>{qs();x5a()});var cBt=75,QSn="AXON_UPDATE_REQUEST";var _Sn=xt(()=>{qs()});import{existsSync as cfr,realpathSync as ufr}from"fs";import{mkdir as lfr,rename as gfr,writeFile as pfr}from"fs/promises";import{dirname as S5a,join as mfr}from"path";function wSn(e){let n=e.currentVersion,A=process.argv[1]??import.meta.path,i=e.helperPath??N5a(A),s=e.bunPath??process.execPath,u=e.axonPath??(typeof Bun>"u"?"axon":Bun.which("axon")??"axon"),p=e.requestPath??process.env[QSn];function d(){return cfr(i)&&Boolean(p)}async function b(y,k={}){if(!uBt.valid(n))throw Pn("UPDATE_CURRENT_VERSION_INVALID",{context:{version:n}});let x=await e.cloud.cloud.releases.axon(y,k);if(x.package!=="@arcforge/axon"||x.channel!=="latest"||!uBt.valid(x.version))throw Pn("UPDATE_RELEASE_INVALID",{context:{package:x.package,channel:x.channel,version:x.version}});return{status:uBt.gt(x.version,n)?"available":"current",current:n,latest:x.version}}async function E(y){let k=await b(y,{fresh:!0});if(k.status==="current")return k;if(!d())throw Pn("UPDATE_UNAVAILABLE_IN_DEVELOPMENT");e.store.update.state.set({status:"pending",from:k.current,to:k.latest,updatedAt:new Date().toISOString()});try{let x={from:k.current,to:k.latest,bun:s,axon:u,state:e.store.update.statePath};if(!p)throw Pn("UPDATE_SUPERVISOR_UNAVAILABLE");await lfr(S5a(p),{recursive:!0});let S=`${p}.${process.pid}.tmp`;await pfr(S,JSON.stringify(x,null,2)+`
|
|
5046
|
-
`,"utf-8"),await gfr(S,p)}catch(x){throw e.store.update.state.set({status:"failed",from:k.current,to:k.latest,updatedAt:new Date().toISOString(),error:x instanceof Error?x.message:String(x)}),x}return k}return{currentVersion:n,supported:d,check:b,handoff:E}}function N5a(e){let n=e;try{n=ufr(e)}catch{}return mfr(S5a(n),"update-helper.js")}var uBt;var G5a=xt(()=>{_Sn();qs();uBt=fp(txn(),1)});var M5a=()=>{};var C8t=xt(()=>{G5a();M5a();_Sn()});import{join as dfr,resolve as ffr}from"path";function lBt(e){let n=ffr(e.cwd??process.cwd()),A=e.distribution??hfr,i={},s=RQn({root:e.store??KQn(A),settings:()=>i,setSetting:async(be,ce)=>{let ke=await me.setSetting(be,ce);return await ee(),ke}}),u=Pka({store:s,distribution:A}),p=jQn(),d=e0a(),b=n0a({root:n}),E=VFn();async function y(){let be=s.profiles.active()?.root;if(!be)return;let{providers:ce}=await R6e(be);return ce}let k=CSn({budget:()=>{return}}),x=tvn({cloud:u.client,profileProviders:()=>y(),frameworkVersion:e.version,...e.frameworkSource?{frameworkSource:e.frameworkSource}:{},...e.repoRoot?{repoRoot:e.repoRoot}:{},bench:{tests:E,clone:(be,ce,ke)=>L.clone(be,ce,ke),prepare:async(be)=>{await(await x.open(be)).prepare()}}}),S=cSn({store:s,projects:x,cloud:u.client,cwd:n,clone:(be,ce,ke)=>L.clone(be,ce,ke),...e.control?{control:e.control}:{}}),L=w5a({cloud:u.client,async prepare(be){await(await x.open(be)).prepare()}}),U=F5a({cache:_5a({cloud:u.client,root:s.root})}),$=wSn({cloud:u.client,store:s,currentVersion:e.version}),V=Oka({cloud:u.client}),te=lSn({store:s,projects:x,frameworkVersion:e.version});async function ee(){try{i=await me.settings()}catch{i={}}}let me=Evn({root:()=>te.root,install:async(be,ce)=>{return{version:(await L.clone(be,dfr(ce,".."),{dir:ce.split("/").at(-1)})).version}},latest:async(be)=>(await u.client.registry.artifacts.resolve(be)).version});return{cloud:u,store:s,deployments:V,projects:x,profile:te,extensions:me,refreshSettings:ee,agents:S,registry:L,prompts:U,tests:E,mic:d,files:b,ollama:p,resources:k,updates:$}}var hfr="production";var L5a=xt(async()=>{Mwa();Hwa();PQn();a0a();Jka();XCt();n8t();B5a();XFn();k5a();v5a();C8t();await gSn()});function $Ke(e,n){let A=new Map;for(let s of e)switch(s.type){case"process:proc:start":{let u=s.data;A.set(u.procId,{procId:u.procId,kind:u.kind,command:u.command,pid:u.pid,cwd:u.cwd,status:"running",startedAt:typeof s.at==="number"?s.at:Date.now(),output:[]});break}case"process:proc:complete":{let u=s.data,p=A.get(u.procId);if(!p)break;if(p.status="exited",p.exitCode=u.code,typeof s.at==="number")p.endedAt=s.at;break}case"process:proc:failed":{let u=s.data,p=A.get(u.procId);if(!p)break;if(p.status="exited",typeof s.at==="number")p.endedAt=s.at;break}case"process:proc:denied":{let u=s.data,p=A.get(u.procId);if(p){p.status="exited",p.exitCode=-1;break}A.set(u.procId,{procId:u.procId,kind:"managed",command:u.command,status:"exited",exitCode:-1,startedAt:typeof s.at==="number"?s.at:Date.now(),output:[]});break}}let i=[...A.values()].sort((s,u)=>s.startedAt-u.startedAt);if(!n?.main)return i;return[{procId:"main",kind:"main",command:"agent \xB7 ts runtime",...n.main.pid!==void 0?{pid:n.main.pid}:{},status:n.main.status,startedAt:n.main.startedAt??i[0]?.startedAt??Date.now(),main:!0,output:[]},...i]}var q5a=async()=>{};var B8t=xt(async()=>{await Qk([L5a(),q5a(),Zvn()])});var J6e;var I8t=xt(()=>{J6e={name:"@arcforge/axon",version:"2.0.156",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 --path-ignore-patterns='**/tests/perf/**'","test:perf":"bun test tests/perf","test:serial":"bun test --path-ignore-patterns='**/tests/perf/**'","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 E8t(e,n){let A=e;for(let i of n){if(A===null||typeof A!=="object"||!(i in A))throw Pn("CONTROL_PATH_NOT_FOUND",{detail:`no such method on the peer: ${n.join(".")}`,context:{path:n.join(".")}});A=A[i]}return A}function y8t(e){let n=new Map,A=new Map,i=new Map,s=!1,u=0,p=()=>`${++u}`;async function d(k){try{let x=E8t(e.handle,k.path.slice(0,-1)),S=E8t(e.handle,k.path);if(typeof S!=="function")throw Pn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let L=await S.apply(x,k.args);e.send({type:"rpc.result",id:k.id,ok:!0,value:L})}catch(x){e.send({type:"rpc.result",id:k.id,ok:!1,error:x instanceof Error?x.message:String(x)})}}function b(k){try{let x=E8t(e.handle,k.path.slice(0,-1)),S=E8t(e.handle,k.path);if(typeof S!=="function")throw Pn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let L=($)=>e.send({type:"rpc.event",id:k.id,value:$}),U=S.apply(x,[...k.args,L]);A.set(k.id,U)}catch(x){e.send({type:"rpc.result",id:k.id,ok:!1,error:x instanceof Error?x.message:String(x)})}}function E(k){A.get(k.id)?.(),A.delete(k.id)}function y(k){let x=n.get(k.id);if(!x)return;if(n.delete(k.id),k.ok)x.resolve(k.value);else x.reject(Pn("CONTROL_CALL_FAILED",{detail:k.error,context:{error:k.error}}))}return{accept(k){if(k.type==="rpc.call")return void d(k);if(k.type==="rpc.subscribe")return b(k);if(k.type==="rpc.unsubscribe")return E(k);if(k.type==="rpc.result")return y(k);i.get(k.id)?.(k.value)},call(k,x=[]){if(s)return Promise.reject(Pn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}}));let S=p();return new Promise((L,U)=>{n.set(S,{resolve:L,reject:U}),e.send({type:"rpc.call",id:S,path:k,args:x})})},subscribe(k,x,S){if(s)throw Pn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}});let L=p();return i.set(L,S),e.send({type:"rpc.subscribe",id:L,path:k,args:x}),()=>{if(!i.delete(L))return;if(!s)e.send({type:"rpc.unsubscribe",id:L})}},close(k){if(s)return;s=!0;for(let x of A.values())x();A.clear(),i.clear();for(let x of n.values())x.reject(Pn("CONTROL_CLOSED",{detail:k,context:{error:k}}));n.clear()}}}var Q8t=xt(()=>{qs()});function kSn(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 Bfr}from"crypto";function gBt(e){let n=Bfr(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 Pn("CONTROL_CLOSED",{detail:"no editor attached"});if(E.length===1)return E[0].dispatch;let y=await Promise.all(E.map(async(k)=>{try{let x=await k.dispatch.call(["editor","claim"],[b??null]);return{dispatch:k.dispatch,contains:x?.contains===!0,focusedAt:x?.focusedAt??0}}catch{return{dispatch:k.dispatch,contains:!1,focusedAt:0}}}));return y.sort((k,x)=>k.contains!==x.contains?k.contains?-1:1:x.focusedAt-k.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 k=u.get(b);if(!k){let x=y;if(x?.type!=="control.hello"||x.token!==n){b.close(1008,"unauthorized");return}let S={send:(L)=>b.send(L),close:()=>b.close()};u.set(b,{socket:S,dispatch:y8t({handle:e.handle,send:(L)=>S.send(JSON.stringify(L))})}),b.send(JSON.stringify({type:"control.welcome",peer:"tui"})),s();return}if(!kSn(y))return;k.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 T5a=xt(()=>{qs();Q8t()});var U5a=xt(()=>{qs();Q8t()});var DSn=xt(()=>{T5a();U5a();Q8t()});function _8t(){let e=(n)=>{let A=R5a[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()=>K5a}}function Y5a(e){R5a=e}function xSn(){K5a=Date.now()}var R5a,K5a;var pBt=xt(()=>{R5a={},K5a=Date.now()});function bAe(){if(!FSn)FSn=Ifr();return FSn}function Ifr(){let e=null,n=uA.ref(0);function A(){if(e)return;let b=gBt({handle:{tui:_8t()}});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=uA.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 FSn;var w8t=xt(()=>{Fs();DSn();pBt()});function IC(){if(!vSn)vSn=lBt({version:J6e.version,cwd:process.env.PWD??process.cwd(),control:()=>bAe().control()});return vSn}var vSn=null;var a3=xt(async()=>{I8t();w8t();await B8t()});function Efr(e,n){let A=uA.ref("idle"),i=uA.ref(null),s=uA.ref(null),u=uA.ref(0);function p(){u.value++}function d(me,be,ce){let ke=uA.ref(!1),Te=uA.ref(null),Ze=uA.ref(!1);async function nt(){if(!e.authenticated){Ze.value=!1;return}let gt=await me.status();Ze.value=gt.connected&>.status==="active"}nt().catch((gt)=>{Te.value=gt instanceof Error?gt:Error(String(gt))});async function je(...gt){ke.value=!0,Te.value=null;try{if(await be(...gt),ce)await IC().extensions.addProvider(ce);Ze.value=!0}catch(Oe){throw Te.value=Oe instanceof Error?Oe:Error(String(Oe)),Oe}finally{ke.value=!1,p()}}async function Xe(){if(await me.disconnect(),ce)await IC().extensions.removeProvider(ce);Ze.value=!1,p()}return{connected:Ze,connecting:ke,error:Te,connect:je,disconnect:Xe,refreshStatus:nt}}let b=d(e.connections.openai,()=>e.connections.openai.connect({open:(me)=>{Uhe(me)}}),"Codex"),E=d(e.connections.openrouter,(me)=>e.connections.openrouter.connect({key:me}),"OpenRouter");function y(me){let be=uA.ref(!1),ce=uA.ref(!1),ke=uA.ref(null);async function Te(){let je=await IC().extensions.readProviders();be.value=je.includes(me)}Te().catch((je)=>{ke.value=je instanceof Error?je:Error(String(je))});async function Ze(){ce.value=!0,ke.value=null;try{await IC().extensions.addProvider(me),be.value=!0}catch(je){throw ke.value=je instanceof Error?je:Error(String(je)),je}finally{ce.value=!1,p()}}async function nt(){await IC().extensions.removeProvider(me),be.value=!1,p()}return{connected:be,connecting:ce,error:ke,connect:Ze,disconnect:nt,refreshStatus:Te}}let k=y("Ollama"),x=uA.ref(e.authenticated?"checking":"signed-out"),S=uA.computed(()=>{return u.value,x.value==="verified"});async function L(){if(!e.authenticated)return x.value="signed-out",p(),x.value;x.value="checking",p();try{let me=await e.validate();x.value=me==="valid"?"verified":me==="rejected"?"signed-out":"unreachable"}catch{x.value="unreachable"}return p(),x.value}if(x.value==="checking")L();e.onSessionExpired(()=>{x.value="signed-out",p()});let U=uA.computed(()=>{return u.value,e.client.user.auth.user}),$=uA.computed(()=>{return u.value,n.profiles.list().flatMap((me)=>{let be=n.profiles.get(me).record.get();if(!be)return[];let ce=!!(be.auth.accessToken||be.auth.apiKey);return[{id:me,email:be.user.email,authenticated:ce}]})});async function V(me){A.value="authorizing",i.value=null;try{await e.login({...me!==void 0?{hint:me}:{},onCode:(be)=>{i.value=be,A.value="polling",Uhe(be.verificationUriComplete)}}),x.value="verified"}finally{A.value="idle",i.value=null,p()}}async function te(me){s.value=me;try{return await e.switch(me),x.value="verified","verified"}catch(be){let ce=P1t(be)&&be.code==="AX-TUI-044";return x.value=ce?"unreachable":"signed-out",ce?"unreachable":"rejected"}finally{s.value=null,p()}}async function ee(){await e.logout(),x.value="signed-out",p()}return{isAuthenticated:S,gate:uA.computed(()=>x.value),verify:L,identity:U,profiles:$,loginStatus:A,deviceAuthorization:i,switchingProfileId:s,startLogin:V,switchProfile:te,logout:ee,connections:{openai:b,openrouter:E,ollama:k}}}function b8(){if(!SSn){let e=IC();SSn=Efr(e.cloud,e.store)}return SSn}var SSn;var MIe=xt(async()=>{Fs();Xft();qs();await a3()});var LSn={};OA(LSn,{useSettings:()=>fBt});function Nfr(){let e=IC();async function n(){try{dBt.value=await e.extensions.settings()}catch{dBt.value={}}GSn.value++}return{settings:uA.computed(()=>{return GSn.value,dBt.value}),refresh:n,async set(A,i){dBt.value={...dBt.value,[A]:i},GSn.value++,await e.extensions.setSetting(A,i)}}}function fBt(){if(!MSn)MSn=Nfr();return MSn}var dBt,GSn,MSn;var hBt=xt(async()=>{Fs();await a3();dBt=uA.ref({}),GSn=uA.ref(0)});var USn={};OA(USn,{useTheme:()=>nE,DEFAULT_THEME_NAME:()=>D8t});async function Mfr(e){try{let{useSettings:n}=await hBt().then(() => LSn);await n().set("theme",e)}catch{}}function qIe(e){return Fne.value.find((n)=>n.name===e)??null}function J5a(e){let n=qIe(e);if(!n)throw Error(`no theme named "${e}"`);DJ.value=e,qSn.value=e,LIe.value=null,$6e(n),Mfr(e)}function $6e(e){Aqe.register(Gfr,{":root":{cssVariables:kgn(e)}}),vgt({theme:e.syntax==="arcnight"?rQt:e.syntax}),O6e.value++,TSn?.()}function nE(){if(!TSn)try{TSn=HC()}catch{}return{themes:uA.computed(()=>{return O6e.value,Fne.value}),active:uA.computed(()=>{return O6e.value,qIe(DJ.value)??Fne.value[0]}),committedName:uA.computed(()=>LIe.value??DJ.value),themeClass:uA.computed(()=>{return O6e.value,`theme-${DJ.value}`}),create(e){if(qIe(e.name))throw Error(`theme "${e.name}" is already registered`);if(Fne.value=[...Fne.value,e],O6e.value++,qSn.value===e.name)DJ.value=e.name,$6e(e);return()=>{if(Fne.value=Fne.value.filter((n)=>n.name!==e.name),DJ.value===e.name)DJ.value=Fne.value[0].name,$6e(Fne.value[0]);O6e.value++}},set:J5a,reset(){J5a(D8t)},preview(e){let n=qIe(e);if(!n)return;if(LIe.value===null)LIe.value=DJ.value;DJ.value=e,$6e(n)},cancelPreview(){if(LIe.value===null)return;let e=qIe(LIe.value);if(DJ.value=LIe.value,LIe.value=null,e)$6e(e)},mount(){let e=qIe(DJ.value)??Fne.value[0];$6e(e)},adopt(e){if(!e)return;qSn.value=e;let n=qIe(e);if(!n)return;DJ.value=e,$6e(n)},colors:uA.computed(()=>{O6e.value;let e=qIe(DJ.value)??Fne.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 Gfr="axon:theme:tokens",D8t,Fne,DJ,LIe,qSn,O6e,TSn=null;var A3=xt(()=>{Fs();Fs();Dgn();D8t=Fgt[0].name,Fne=uA.ref([...Fgt]),DJ=uA.ref(Fgt[0].name),LIe=uA.ref(null),qSn=uA.ref(null),O6e=uA.ref(0)});function O5a(){let e=0;return{claim(){let n=++e;return{get latest(){return e===n}}}}}function $5a(e){for(let n=e.length-1;n>=0;n--){let A=e[n];if(A.type!=="kernel:engine:complete")continue;let i=A.data?.meta?.model;if(typeof i==="string")return i}return null}function z5a(e){let n=gne(e??void 0);if(!n)return null;if(n.provider!==void 0&&n.provider!=="axon")return null;if(n.model!=="auto")return null;return{model:"auto"}}function x8t(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})`}var W5a=xt(()=>{pRe()});function Lfr(e,n,A){if(A<=0||n<=0)return;let i=n/A,s=RSn.get(e);RSn.set(e,s===void 0?i:s*0.7+i*0.3)}function qfr(e){return(e?RSn.get(e):void 0)??4.5}function Z5a(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??s,u=b.time.seq,A??=Tfr(e,d);break}}if(i===null&&s===null)return null;if(i!==null){let d=Ufr(e,u);if(A&&d!==null)Lfr(A,d,i);return{tokens:i,model:A}}let p=Rfr(n,u);return{tokens:Math.round(s/qfr(A))+Math.round(p/3.3),model:A}}function Tfr(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 Ufr(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??null;if(i.type==="kernel:engine:complete")return null}return null}function Rfr(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 V5a(){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 Kfr(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 Yfr(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 X5a(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 eYa(e,n){if(e===null||n<=0)return null;return`${Kfr(e)}/${Yfr(n)}`}var RSn;var KSn=xt(()=>{RSn=new Map});import{homedir as jfr}from"os";import{basename as Hfr,relative as Pfr,sep as tYa}from"path";function nYa(e,n){if(!e)return null;if(/^https?:\/\//i.test(e))return e;if(n&&Jfr(e,n))return`axon:${Hfr(e)}`;return Ofr(e)}function Jfr(e,n){let A=Pfr(n,e);return A.length>0&&!A.startsWith("..")&&!A.includes(tYa)}function Ofr(e){let n=jfr();if(e===n)return"~";return e.startsWith(n+tYa)?"~"+e.slice(n.length):e}var aYa=()=>{};function WKe(){Z6e.value++}function AYa(e){return e.join(" ")}function $fr(){let e=[];for(let n of M1.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 W6e,bBt,z6e,CBt,Z6e,M1,F8t;var V6e=xt(()=>{Fs();qs();W6e=uA.ref([]),bBt=uA.ref(new Map),z6e=uA.ref(new Map),CBt=uA.ref(new Map),Z6e=uA.ref(0);M1={command(e){let n=AYa(e.path);if(W6e.value.some((i)=>AYa(i.path)===n))throw Pn("COMMAND_PATH_TAKEN",{detail:n,context:{path:e.path}});let A=crypto.randomUUID();return W6e.value=[...W6e.value,{...e,id:A}],WKe(),()=>{W6e.value=W6e.value.filter((i)=>i.id!==A),WKe()}},get commands(){return W6e.value},key(e,n){if(bBt.value.has(e))throw Pn("KEY_CHORD_TAKEN",{detail:e,context:{chord:e}});bBt.value.set(e,n),WKe();let A=!1;return()=>{if(A)return;A=!0,bBt.value.delete(e),WKe()}},keyHandler(e){return bBt.value.get(e)??null},chords:uA.computed(()=>{return Z6e.value,[...bBt.value.keys()]}),palette(e,n){if(z6e.value.has(e))throw Pn("PALETTE_NAME_TAKEN",{detail:e,context:{name:e}});let A={name:e,definition:n,cache:null};z6e.value.set(e,A);let i=null;if(n.key){let s=CBt.value.get(n.key);if(s)throw z6e.value.delete(e),Pn("MODE_KEY_TAKEN",{detail:`${n.key} is bound to "${s}"`,context:{key:n.key,name:e,taken:s}});CBt.value.set(n.key,e),i=()=>{CBt.value.delete(n.key)}}return WKe(),()=>{z6e.value.delete(e),i?.(),WKe()}},paletteFor(e){return Z6e.value,z6e.value.get(e)??null},paletteForKey(e){Z6e.value;let n=CBt.value.get(e);return n?z6e.value.get(n)??null:null},names:uA.computed(()=>{return Z6e.value,[...z6e.value.keys()]}),modeKeys:uA.computed(()=>{return Z6e.value,[...CBt.value.entries()].map(([e,n])=>({key:e,name:n}))})};F8t=uA.computed(()=>{return Z6e.value,W6e.value,$fr()})});function iYa(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 rYa(e,n){if(n.resolve!=="splice")return null;let A=zfr(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 oYa(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 zfr(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 X6e;var YSn=xt(()=>{X6e=[{mode:"voice",key:"#",prefix:">",resolve:"append"},{mode:"file",key:"@",resolve:"splice"}]});function BBt(e){return!Wfr.has(e)}function cYa(e,n=()=>!0){let A=uA.ref("normal"),i=uA.ref(!1),s=uA.ref(null),u=uA.ref(0),p=null;uA.watch([A,i],([y,k])=>{if((y==="loading"||k)&&!p)p=setInterval(()=>{u.value++},80);else if(y!=="loading"&&!k&&p)clearInterval(p),p=null}),uA.onUnmounted(()=>{if(p)clearInterval(p)});let d=uA.computed(()=>{if(i.value||A.value==="loading")return sYa[u.value%sYa.length];let y=IBt[A.value];if(y)return y;let k=M1.paletteFor(A.value);return k?.definition.symbol??k?.definition.key??Zfr});function b(y){A.value=y}function E(){for(let[y,k]of Object.entries(vne))fh(y,(x)=>{if(!n())return;if(A.value==="loading")return;if(A.value==="voice"&&k==="voice"){s.value="confirm",A.value="normal",x.consumed=!0;return}if(e().length>0)return;A.value=A.value===k?"normal":k,x.consumed=!0});fh("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 vne,Ayo,Wfr,v8t,IBt,Zfr="\xB7",sYa;var eLe=xt(()=>{Fs();V6e();YSn();vne={":":"command","/":"instance","*":"model","^":"session","~":"agent","#":"voice","?":"help",">":"prompt","%":"module",'"':"theme"},Ayo=new Set(X6e.map((e)=>e.mode)),Wfr=new Set(["normal","loading","voice"]);v8t={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"},IBt={normal:"\xBB",command:":",instance:"/",model:"*",session:"^",agent:"~",voice:"#",help:"?",history:"\u2191",loading:"\u280B",escalation:"\u203C",prompt:">",module:"%",theme:'"',file:"@",question:"\xB7"},sYa=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});var uYa={};OA(uYa,{useQuestions:()=>e6});function e6(){if(!jSn)jSn=Vfr();return jSn}function Vfr(){function e(n){if(tLe.value)throw Pn("PALETTE_ALREADY_OPEN",{detail:"a question is already open"});return new Promise((A)=>{let i=(s)=>{if(!tLe.value)return;tLe.value=null,A(s)};tLe.value={...n(i),settle:i}})}return{pending:uA.computed(()=>tLe.value),cancel(){let n=tLe.value;if(!n)return;n.settle(n.kind==="confirm"?!1:void 0)},submitText(n){let A=tLe.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,A){return e((i)=>({kind:"confirm",message:n,...A?.header?{header:A.header}:{},items:[{id:"yes",label:A?.choices?.yes??"yes",action:()=>{i(!0)}},{id:"no",label:A?.choices?.no??"no",action:()=>{i(!1)}}]}))},async prompt(n,A){return e(()=>({kind:"prompt",message:n,items:[],...A?.prompt?{prompt:A.prompt}:{},...A?.header?{header:A.header}:{},...A?.placeholder?{placeholder:A.placeholder}:{},...A?.secret?{secret:!0}:{}}))}}}var tLe,jSn;var nLe=xt(()=>{Fs();qs();tLe=uA.ref(null)});function TIe(){if(!HSn)HSn=Xfr();return HSn}function Xfr(){function e(n,A){let i=BAe.value.find((s)=>s.id===n);if(!i)return;BAe.value=BAe.value.filter((s)=>s.id!==n),i.settle(A)}return{current:uA.computed(()=>BAe.value[0]??null),waiting:uA.computed(()=>Math.max(0,BAe.value.length-1)),ask(n){return new Promise((A)=>{BAe.value=[...BAe.value,{...n,settle:A}]})},answer(n,A=!1){let i=BAe.value[0];if(i)e(i.id,{allow:n,always:A})},denyAll(){let n=BAe.value;BAe.value=[];for(let A of n)A.settle({allow:!1,always:!1})}}}var BAe,HSn;var S8t=xt(()=>{Fs();BAe=uA.ref([])});function ehr(e,n,A){return`${e}\x00${n}\x00${A??""}`}function OSn(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(OSn)}:{},action:e.action??(()=>{})}}function thr(e){if(Array.isArray(e))return{items:e.map(OSn)};return{items:e.items.map(OSn),...e.breadcrumb!==void 0?{breadcrumb:e.breadcrumb}:{},...e.status!==void 0?{status:e.status}:{},...e.invalid!==void 0?{invalid:e.invalid}:{}}}function nhr(e,n,A){let i=ehr(e.name,n,A);lYa.value;let s=PSn.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(!JSn.has(i))JSn.add(i),(async()=>{try{let u=await e.definition.list(n,A);PSn.value.set(i,{key:i,...thr(u)})}catch(u){PSn.value.set(i,{key:i,items:[],status:{kind:"error",message:u instanceof Error?u.message:String(u)}})}finally{JSn.delete(i),lYa.value++}})();return{items:[],status:{kind:"loading",message:"loading..."}}}function gYa(e){return{id:e,resolve:uA.computed(()=>(n,A)=>{let i=e6().pending.value;if(i)return{items:i.items,...i.message?{breadcrumb:i.message}:{}};let s=M1.paletteFor(e);if(!s)return{items:[]};return nhr(s,n,A)}),get skipDefaultFilter(){return M1.paletteFor(e)?.definition.filter===!1},get tabs(){return M1.paletteFor(e)?.definition.tabs},get anchor(){return M1.paletteFor(e)?.definition.anchor},get maxHeight(){return M1.paletteFor(e)?.definition.maxHeight}}}var PSn,JSn,lYa,ZKe="escalation",pYa,VKe="question",mYa;var $Sn=xt(()=>{Fs();V6e();nLe();S8t();PSn=uA.ref(new Map),JSn=new Set,lYa=uA.ref(0);pYa={id:ZKe,skipDefaultFilter:!0,resolve:uA.computed(()=>()=>{let e=TIe(),n=e.current.value;if(!n)return{items:[]};let A=e.waiting.value;return{items:[{id:"allow",label:"allow once",description:"just this call",action:()=>{e.answer(!0)}},{id:"always",label:"allow always",description:"remember this \u2014 revoke with :policy grants",action:()=>{e.answer(!0,!0)}},{id:"deny",label:"deny",description:"refuse this call",action:()=>{e.answer(!1)}}],header:{label:n.fn,detail:`"${n.subject}"`+(A>0?` (${A} more waiting)`:"")}}})},mYa={id:VKe,skipDefaultFilter:!0,resolve:uA.computed(()=>(e)=>{let n=e6().pending.value;if(!n)return{items:[]};if(n.kind==="prompt"){let A=e.length>0;return{items:[{id:"prompt",label:n.prompt??"waiting for input",placeholder:!n.prompt,description:A?"enter to confirm":"esc to cancel",action:()=>{}}],...n.header?{header:n.header}:{breadcrumb:n.message}}}return{items:n.items,...n.header?{header:n.header}:n.message?{breadcrumb:n.message}:{}}})}});function fYa(e){dYa.set(e.id,e)}function N8t(e){let n=dYa.get(e);if(n)return n;if(e===VKe)return mYa;if(e===ZKe)return pYa;return M1.paletteFor(e)?gYa(e):void 0}var dYa;var hYa=xt(()=>{V6e();$Sn();dYa=new Map});function ahr(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 Ahr(e,n){if(n===e)return 100;if(n.startsWith(e))return 75;if(n.includes(e))return 50;if(e.length>=ihr&&n.length<=e.length*rhr){if(ahr(e,n))return 25}return null}function aLe(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=Ahr(u,d);if(b!==null&&(p===null||b>p))p=b}if(p===null)return null;s+=p}return s}var ihr=3,rhr=4;function xJ(e,n){let A=e[n];return!!A&&!A.header&&!A.separator&&!A.invalid}function bYa(e){let{items:n,previous:A,selectedIndex:i,homeIndex:s}=e,u=A?.[i],p=u!==void 0&&n[i]?.id!==u.id;if(!(i>=n.length||!xJ(n,i))&&!p)return i;let b=u?n.findIndex((E)=>E.id===u.id):-1;return b>=0&&xJ(n,b)?b:s}function CYa(e){return typeof e.children==="function"?e.children():e.children}function ohr(e,n){let A=e.label.toLowerCase(),i=e.description.toLowerCase();if(A===n)return 5;if(A.split("/").at(-1)===n)return 4;if(A.startsWith(n))return 3;if(A.includes(n))return 2;if(i.includes(n))return 1;return 0}function shr(e,n){let A=n.toLowerCase();return e.map((i,s)=>({node:i,index:s,score:ohr(i,A)})).filter((i)=>i.score>0).sort((i,s)=>s.score-i.score||i.index-s.index).map((i)=>i.node)}function BYa(e,n){let A=e.endsWith(" "),i=e.split(" "),s=i.map((k)=>k.toLowerCase()),u=n,p=[],d=A?s.length:s.length-1;for(let k=0;k<d;k++){let x=s[k];if(!x)continue;let S=u.find((L)=>L.label.toLowerCase()===x);if(!S)return{nodes:[],breadcrumb:p,partial:x,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(k+1).join(" ").trim()}};p.push(S.label),u=CYa(S)}let b=A?"":s[s.length-1]??"",E=b?shr(u,b):u;if(b&&E.length===0)return{nodes:E,breadcrumb:p,partial:b,exactMatch:null,noMatch:!0,input:null};let y=b?E.find((k)=>k.label.toLowerCase()===b.toLowerCase())??null:null;if(y&&y.kind==="group")return{nodes:CYa(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 IYa(e,n){return[...e,n].join(" ")+" "}function G8t(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 chr}from"fs";import{join as EYa,resolve as uhr}from"path";import{homedir as yYa}from"os";function lhr(){let e=IC();function n(){let b=e.store.profiles.active();if(!b)throw Pn("NOT_AUTHENTICATED");return b}function A(b){let E=yYa();return b===E||b.startsWith(E+"/")?"~"+b.slice(E.length):b}function i(){let b=n(),E={dir:EYa(e.store.root,"profiles",b.id,"agents"),label:"~/.axon (default)"},y=b.agents.extraRoots().map((k)=>({dir:k,label:A(k)}));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=uhr(b.startsWith("~")?EYa(yYa(),b.slice(1)):b);if(!chr(E))throw Pn("WATCH_PATH_NOT_FOUND",{context:{path:E}});return await n().agents.watch(E),Uc().refreshAvailable(),E}async function d(b){await n().agents.unwatch(b),Uc().refreshAvailable()}return{locations:i,watched:s,create:u,watch:p,unwatch:d}}function XKe(){if(!zSn)zSn=lhr();return zSn}var zSn;var QYa=xt(async()=>{qs();await Qk([a3(),Ek()])});function UIe(){if(!WSn)WSn=phr();return WSn}function phr(){let e=uA.ref(null),n=0,A=null,i=!1,s=null,u=!1,p=null;function d(k){s=k}function b(k){p=k}function E(){if(i)return!0;if(p?.(),n++,A)clearTimeout(A);if(n===1)return e.value="press ctrl+c again to quit",A=setTimeout(()=>{n=0,e.value=null},ghr),!1;if(n===2)return y(),!1;return process.exit(130),!1}async function y(k=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 x=process.env.AXON_SHUTDOWN_TRACE==="1",S=Date.now(),L=(V)=>{if(x)process.stderr.write(`[exit] ${V} +${Date.now()-S}ms
|
|
5046
|
+
`,"utf-8"),await gfr(S,p)}catch(x){throw e.store.update.state.set({status:"failed",from:k.current,to:k.latest,updatedAt:new Date().toISOString(),error:x instanceof Error?x.message:String(x)}),x}return k}return{currentVersion:n,supported:d,check:b,handoff:E}}function N5a(e){let n=e;try{n=ufr(e)}catch{}return mfr(S5a(n),"update-helper.js")}var uBt;var G5a=xt(()=>{_Sn();qs();uBt=fp(txn(),1)});var M5a=()=>{};var C8t=xt(()=>{G5a();M5a();_Sn()});import{join as dfr,resolve as ffr}from"path";function lBt(e){let n=ffr(e.cwd??process.cwd()),A=e.distribution??hfr,i={},s=RQn({root:e.store??KQn(A),settings:()=>i,setSetting:async(be,ce)=>{let ke=await me.setSetting(be,ce);return await ee(),ke}}),u=Pka({store:s,distribution:A}),p=jQn(),d=e0a(),b=n0a({root:n}),E=VFn();async function y(){let be=s.profiles.active()?.root;if(!be)return;let{providers:ce}=await R6e(be);return ce}let k=CSn({budget:()=>{return}}),x=tvn({cloud:u.client,profileProviders:()=>y(),frameworkVersion:e.version,...e.frameworkSource?{frameworkSource:e.frameworkSource}:{},...e.repoRoot?{repoRoot:e.repoRoot}:{},bench:{tests:E,clone:(be,ce,ke)=>L.clone(be,ce,ke),prepare:async(be)=>{await(await x.open(be)).prepare()}}}),S=cSn({store:s,projects:x,cloud:u.client,cwd:n,clone:(be,ce,ke)=>L.clone(be,ce,ke),...e.control?{control:e.control}:{}}),L=w5a({cloud:u.client,async prepare(be){await(await x.open(be)).prepare()}}),U=F5a({cache:_5a({cloud:u.client,root:s.root})}),$=wSn({cloud:u.client,store:s,currentVersion:e.version}),V=Oka({cloud:u.client}),te=lSn({store:s,projects:x,frameworkVersion:e.version});async function ee(){try{i=await me.settings()}catch{i={}}}let me=Evn({root:()=>te.root,install:async(be,ce)=>{return{version:(await L.clone(be,dfr(ce,".."),{dir:ce.split("/").at(-1)})).version}},latest:async(be)=>(await u.client.registry.artifacts.resolve(be)).version});return{cloud:u,store:s,deployments:V,projects:x,profile:te,extensions:me,refreshSettings:ee,agents:S,registry:L,prompts:U,tests:E,mic:d,files:b,ollama:p,resources:k,updates:$}}var hfr="production";var L5a=xt(async()=>{Mwa();Hwa();PQn();a0a();Jka();XCt();n8t();B5a();XFn();k5a();v5a();C8t();await gSn()});function $Ke(e,n){let A=new Map;for(let s of e)switch(s.type){case"process:proc:start":{let u=s.data;A.set(u.procId,{procId:u.procId,kind:u.kind,command:u.command,pid:u.pid,cwd:u.cwd,status:"running",startedAt:typeof s.at==="number"?s.at:Date.now(),output:[]});break}case"process:proc:complete":{let u=s.data,p=A.get(u.procId);if(!p)break;if(p.status="exited",p.exitCode=u.code,typeof s.at==="number")p.endedAt=s.at;break}case"process:proc:failed":{let u=s.data,p=A.get(u.procId);if(!p)break;if(p.status="exited",typeof s.at==="number")p.endedAt=s.at;break}case"process:proc:denied":{let u=s.data,p=A.get(u.procId);if(p){p.status="exited",p.exitCode=-1;break}A.set(u.procId,{procId:u.procId,kind:"managed",command:u.command,status:"exited",exitCode:-1,startedAt:typeof s.at==="number"?s.at:Date.now(),output:[]});break}}let i=[...A.values()].sort((s,u)=>s.startedAt-u.startedAt);if(!n?.main)return i;return[{procId:"main",kind:"main",command:"agent \xB7 ts runtime",...n.main.pid!==void 0?{pid:n.main.pid}:{},status:n.main.status,startedAt:n.main.startedAt??i[0]?.startedAt??Date.now(),main:!0,output:[]},...i]}var q5a=async()=>{};var B8t=xt(async()=>{await Qk([L5a(),q5a(),Zvn()])});var J6e;var I8t=xt(()=>{J6e={name:"@arcforge/axon",version:"2.0.157",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 --path-ignore-patterns='**/tests/perf/**'","test:perf":"bun test tests/perf","test:serial":"bun test --path-ignore-patterns='**/tests/perf/**'","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 E8t(e,n){let A=e;for(let i of n){if(A===null||typeof A!=="object"||!(i in A))throw Pn("CONTROL_PATH_NOT_FOUND",{detail:`no such method on the peer: ${n.join(".")}`,context:{path:n.join(".")}});A=A[i]}return A}function y8t(e){let n=new Map,A=new Map,i=new Map,s=!1,u=0,p=()=>`${++u}`;async function d(k){try{let x=E8t(e.handle,k.path.slice(0,-1)),S=E8t(e.handle,k.path);if(typeof S!=="function")throw Pn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let L=await S.apply(x,k.args);e.send({type:"rpc.result",id:k.id,ok:!0,value:L})}catch(x){e.send({type:"rpc.result",id:k.id,ok:!1,error:x instanceof Error?x.message:String(x)})}}function b(k){try{let x=E8t(e.handle,k.path.slice(0,-1)),S=E8t(e.handle,k.path);if(typeof S!=="function")throw Pn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let L=($)=>e.send({type:"rpc.event",id:k.id,value:$}),U=S.apply(x,[...k.args,L]);A.set(k.id,U)}catch(x){e.send({type:"rpc.result",id:k.id,ok:!1,error:x instanceof Error?x.message:String(x)})}}function E(k){A.get(k.id)?.(),A.delete(k.id)}function y(k){let x=n.get(k.id);if(!x)return;if(n.delete(k.id),k.ok)x.resolve(k.value);else x.reject(Pn("CONTROL_CALL_FAILED",{detail:k.error,context:{error:k.error}}))}return{accept(k){if(k.type==="rpc.call")return void d(k);if(k.type==="rpc.subscribe")return b(k);if(k.type==="rpc.unsubscribe")return E(k);if(k.type==="rpc.result")return y(k);i.get(k.id)?.(k.value)},call(k,x=[]){if(s)return Promise.reject(Pn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}}));let S=p();return new Promise((L,U)=>{n.set(S,{resolve:L,reject:U}),e.send({type:"rpc.call",id:S,path:k,args:x})})},subscribe(k,x,S){if(s)throw Pn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}});let L=p();return i.set(L,S),e.send({type:"rpc.subscribe",id:L,path:k,args:x}),()=>{if(!i.delete(L))return;if(!s)e.send({type:"rpc.unsubscribe",id:L})}},close(k){if(s)return;s=!0;for(let x of A.values())x();A.clear(),i.clear();for(let x of n.values())x.reject(Pn("CONTROL_CLOSED",{detail:k,context:{error:k}}));n.clear()}}}var Q8t=xt(()=>{qs()});function kSn(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 Bfr}from"crypto";function gBt(e){let n=Bfr(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 Pn("CONTROL_CLOSED",{detail:"no editor attached"});if(E.length===1)return E[0].dispatch;let y=await Promise.all(E.map(async(k)=>{try{let x=await k.dispatch.call(["editor","claim"],[b??null]);return{dispatch:k.dispatch,contains:x?.contains===!0,focusedAt:x?.focusedAt??0}}catch{return{dispatch:k.dispatch,contains:!1,focusedAt:0}}}));return y.sort((k,x)=>k.contains!==x.contains?k.contains?-1:1:x.focusedAt-k.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 k=u.get(b);if(!k){let x=y;if(x?.type!=="control.hello"||x.token!==n){b.close(1008,"unauthorized");return}let S={send:(L)=>b.send(L),close:()=>b.close()};u.set(b,{socket:S,dispatch:y8t({handle:e.handle,send:(L)=>S.send(JSON.stringify(L))})}),b.send(JSON.stringify({type:"control.welcome",peer:"tui"})),s();return}if(!kSn(y))return;k.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 T5a=xt(()=>{qs();Q8t()});var U5a=xt(()=>{qs();Q8t()});var DSn=xt(()=>{T5a();U5a();Q8t()});function _8t(){let e=(n)=>{let A=R5a[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()=>K5a}}function Y5a(e){R5a=e}function xSn(){K5a=Date.now()}var R5a,K5a;var pBt=xt(()=>{R5a={},K5a=Date.now()});function bAe(){if(!FSn)FSn=Ifr();return FSn}function Ifr(){let e=null,n=uA.ref(0);function A(){if(e)return;let b=gBt({handle:{tui:_8t()}});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=uA.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 FSn;var w8t=xt(()=>{Fs();DSn();pBt()});function IC(){if(!vSn)vSn=lBt({version:J6e.version,cwd:process.env.PWD??process.cwd(),control:()=>bAe().control()});return vSn}var vSn=null;var a3=xt(async()=>{I8t();w8t();await B8t()});function Efr(e,n){let A=uA.ref("idle"),i=uA.ref(null),s=uA.ref(null),u=uA.ref(0);function p(){u.value++}function d(me,be,ce){let ke=uA.ref(!1),Te=uA.ref(null),Ze=uA.ref(!1);async function nt(){if(!e.authenticated){Ze.value=!1;return}let gt=await me.status();Ze.value=gt.connected&>.status==="active"}nt().catch((gt)=>{Te.value=gt instanceof Error?gt:Error(String(gt))});async function je(...gt){ke.value=!0,Te.value=null;try{if(await be(...gt),ce)await IC().extensions.addProvider(ce);Ze.value=!0}catch(Oe){throw Te.value=Oe instanceof Error?Oe:Error(String(Oe)),Oe}finally{ke.value=!1,p()}}async function Xe(){if(await me.disconnect(),ce)await IC().extensions.removeProvider(ce);Ze.value=!1,p()}return{connected:Ze,connecting:ke,error:Te,connect:je,disconnect:Xe,refreshStatus:nt}}let b=d(e.connections.openai,()=>e.connections.openai.connect({open:(me)=>{Uhe(me)}}),"Codex"),E=d(e.connections.openrouter,(me)=>e.connections.openrouter.connect({key:me}),"OpenRouter");function y(me){let be=uA.ref(!1),ce=uA.ref(!1),ke=uA.ref(null);async function Te(){let je=await IC().extensions.readProviders();be.value=je.includes(me)}Te().catch((je)=>{ke.value=je instanceof Error?je:Error(String(je))});async function Ze(){ce.value=!0,ke.value=null;try{await IC().extensions.addProvider(me),be.value=!0}catch(je){throw ke.value=je instanceof Error?je:Error(String(je)),je}finally{ce.value=!1,p()}}async function nt(){await IC().extensions.removeProvider(me),be.value=!1,p()}return{connected:be,connecting:ce,error:ke,connect:Ze,disconnect:nt,refreshStatus:Te}}let k=y("Ollama"),x=uA.ref(e.authenticated?"checking":"signed-out"),S=uA.computed(()=>{return u.value,x.value==="verified"});async function L(){if(!e.authenticated)return x.value="signed-out",p(),x.value;x.value="checking",p();try{let me=await e.validate();x.value=me==="valid"?"verified":me==="rejected"?"signed-out":"unreachable"}catch{x.value="unreachable"}return p(),x.value}if(x.value==="checking")L();e.onSessionExpired(()=>{x.value="signed-out",p()});let U=uA.computed(()=>{return u.value,e.client.user.auth.user}),$=uA.computed(()=>{return u.value,n.profiles.list().flatMap((me)=>{let be=n.profiles.get(me).record.get();if(!be)return[];let ce=!!(be.auth.accessToken||be.auth.apiKey);return[{id:me,email:be.user.email,authenticated:ce}]})});async function V(me){A.value="authorizing",i.value=null;try{await e.login({...me!==void 0?{hint:me}:{},onCode:(be)=>{i.value=be,A.value="polling",Uhe(be.verificationUriComplete)}}),x.value="verified"}finally{A.value="idle",i.value=null,p()}}async function te(me){s.value=me;try{return await e.switch(me),x.value="verified","verified"}catch(be){let ce=P1t(be)&&be.code==="AX-TUI-044";return x.value=ce?"unreachable":"signed-out",ce?"unreachable":"rejected"}finally{s.value=null,p()}}async function ee(){await e.logout(),x.value="signed-out",p()}return{isAuthenticated:S,gate:uA.computed(()=>x.value),verify:L,identity:U,profiles:$,loginStatus:A,deviceAuthorization:i,switchingProfileId:s,startLogin:V,switchProfile:te,logout:ee,connections:{openai:b,openrouter:E,ollama:k}}}function b8(){if(!SSn){let e=IC();SSn=Efr(e.cloud,e.store)}return SSn}var SSn;var MIe=xt(async()=>{Fs();Xft();qs();await a3()});var LSn={};OA(LSn,{useSettings:()=>fBt});function Nfr(){let e=IC();async function n(){try{dBt.value=await e.extensions.settings()}catch{dBt.value={}}GSn.value++}return{settings:uA.computed(()=>{return GSn.value,dBt.value}),refresh:n,async set(A,i){dBt.value={...dBt.value,[A]:i},GSn.value++,await e.extensions.setSetting(A,i)}}}function fBt(){if(!MSn)MSn=Nfr();return MSn}var dBt,GSn,MSn;var hBt=xt(async()=>{Fs();await a3();dBt=uA.ref({}),GSn=uA.ref(0)});var USn={};OA(USn,{useTheme:()=>nE,DEFAULT_THEME_NAME:()=>D8t});async function Mfr(e){try{let{useSettings:n}=await hBt().then(() => LSn);await n().set("theme",e)}catch{}}function qIe(e){return Fne.value.find((n)=>n.name===e)??null}function J5a(e){let n=qIe(e);if(!n)throw Error(`no theme named "${e}"`);DJ.value=e,qSn.value=e,LIe.value=null,$6e(n),Mfr(e)}function $6e(e){Aqe.register(Gfr,{":root":{cssVariables:kgn(e)}}),vgt({theme:e.syntax==="arcnight"?rQt:e.syntax}),O6e.value++,TSn?.()}function nE(){if(!TSn)try{TSn=HC()}catch{}return{themes:uA.computed(()=>{return O6e.value,Fne.value}),active:uA.computed(()=>{return O6e.value,qIe(DJ.value)??Fne.value[0]}),committedName:uA.computed(()=>LIe.value??DJ.value),themeClass:uA.computed(()=>{return O6e.value,`theme-${DJ.value}`}),create(e){if(qIe(e.name))throw Error(`theme "${e.name}" is already registered`);if(Fne.value=[...Fne.value,e],O6e.value++,qSn.value===e.name)DJ.value=e.name,$6e(e);return()=>{if(Fne.value=Fne.value.filter((n)=>n.name!==e.name),DJ.value===e.name)DJ.value=Fne.value[0].name,$6e(Fne.value[0]);O6e.value++}},set:J5a,reset(){J5a(D8t)},preview(e){let n=qIe(e);if(!n)return;if(LIe.value===null)LIe.value=DJ.value;DJ.value=e,$6e(n)},cancelPreview(){if(LIe.value===null)return;let e=qIe(LIe.value);if(DJ.value=LIe.value,LIe.value=null,e)$6e(e)},mount(){let e=qIe(DJ.value)??Fne.value[0];$6e(e)},adopt(e){if(!e)return;qSn.value=e;let n=qIe(e);if(!n)return;DJ.value=e,$6e(n)},colors:uA.computed(()=>{O6e.value;let e=qIe(DJ.value)??Fne.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 Gfr="axon:theme:tokens",D8t,Fne,DJ,LIe,qSn,O6e,TSn=null;var A3=xt(()=>{Fs();Fs();Dgn();D8t=Fgt[0].name,Fne=uA.ref([...Fgt]),DJ=uA.ref(Fgt[0].name),LIe=uA.ref(null),qSn=uA.ref(null),O6e=uA.ref(0)});function O5a(){let e=0;return{claim(){let n=++e;return{get latest(){return e===n}}}}}function $5a(e){for(let n=e.length-1;n>=0;n--){let A=e[n];if(A.type!=="kernel:engine:complete")continue;let i=A.data?.meta?.model;if(typeof i==="string")return i}return null}function z5a(e){let n=gne(e??void 0);if(!n)return null;if(n.provider!==void 0&&n.provider!=="axon")return null;if(n.model!=="auto")return null;return{model:"auto"}}function x8t(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})`}var W5a=xt(()=>{pRe()});function Lfr(e,n,A){if(A<=0||n<=0)return;let i=n/A,s=RSn.get(e);RSn.set(e,s===void 0?i:s*0.7+i*0.3)}function qfr(e){return(e?RSn.get(e):void 0)??4.5}function Z5a(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??s,u=b.time.seq,A??=Tfr(e,d);break}}if(i===null&&s===null)return null;if(i!==null){let d=Ufr(e,u);if(A&&d!==null)Lfr(A,d,i);return{tokens:i,model:A}}let p=Rfr(n,u);return{tokens:Math.round(s/qfr(A))+Math.round(p/3.3),model:A}}function Tfr(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 Ufr(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??null;if(i.type==="kernel:engine:complete")return null}return null}function Rfr(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 V5a(){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 Kfr(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 Yfr(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 X5a(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 eYa(e,n){if(e===null||n<=0)return null;return`${Kfr(e)}/${Yfr(n)}`}var RSn;var KSn=xt(()=>{RSn=new Map});import{homedir as jfr}from"os";import{basename as Hfr,relative as Pfr,sep as tYa}from"path";function nYa(e,n){if(!e)return null;if(/^https?:\/\//i.test(e))return e;if(n&&Jfr(e,n))return`axon:${Hfr(e)}`;return Ofr(e)}function Jfr(e,n){let A=Pfr(n,e);return A.length>0&&!A.startsWith("..")&&!A.includes(tYa)}function Ofr(e){let n=jfr();if(e===n)return"~";return e.startsWith(n+tYa)?"~"+e.slice(n.length):e}var aYa=()=>{};function WKe(){Z6e.value++}function AYa(e){return e.join(" ")}function $fr(){let e=[];for(let n of M1.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 W6e,bBt,z6e,CBt,Z6e,M1,F8t;var V6e=xt(()=>{Fs();qs();W6e=uA.ref([]),bBt=uA.ref(new Map),z6e=uA.ref(new Map),CBt=uA.ref(new Map),Z6e=uA.ref(0);M1={command(e){let n=AYa(e.path);if(W6e.value.some((i)=>AYa(i.path)===n))throw Pn("COMMAND_PATH_TAKEN",{detail:n,context:{path:e.path}});let A=crypto.randomUUID();return W6e.value=[...W6e.value,{...e,id:A}],WKe(),()=>{W6e.value=W6e.value.filter((i)=>i.id!==A),WKe()}},get commands(){return W6e.value},key(e,n){if(bBt.value.has(e))throw Pn("KEY_CHORD_TAKEN",{detail:e,context:{chord:e}});bBt.value.set(e,n),WKe();let A=!1;return()=>{if(A)return;A=!0,bBt.value.delete(e),WKe()}},keyHandler(e){return bBt.value.get(e)??null},chords:uA.computed(()=>{return Z6e.value,[...bBt.value.keys()]}),palette(e,n){if(z6e.value.has(e))throw Pn("PALETTE_NAME_TAKEN",{detail:e,context:{name:e}});let A={name:e,definition:n,cache:null};z6e.value.set(e,A);let i=null;if(n.key){let s=CBt.value.get(n.key);if(s)throw z6e.value.delete(e),Pn("MODE_KEY_TAKEN",{detail:`${n.key} is bound to "${s}"`,context:{key:n.key,name:e,taken:s}});CBt.value.set(n.key,e),i=()=>{CBt.value.delete(n.key)}}return WKe(),()=>{z6e.value.delete(e),i?.(),WKe()}},paletteFor(e){return Z6e.value,z6e.value.get(e)??null},paletteForKey(e){Z6e.value;let n=CBt.value.get(e);return n?z6e.value.get(n)??null:null},names:uA.computed(()=>{return Z6e.value,[...z6e.value.keys()]}),modeKeys:uA.computed(()=>{return Z6e.value,[...CBt.value.entries()].map(([e,n])=>({key:e,name:n}))})};F8t=uA.computed(()=>{return Z6e.value,W6e.value,$fr()})});function iYa(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 rYa(e,n){if(n.resolve!=="splice")return null;let A=zfr(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 oYa(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 zfr(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 X6e;var YSn=xt(()=>{X6e=[{mode:"voice",key:"#",prefix:">",resolve:"append"},{mode:"file",key:"@",resolve:"splice"}]});function BBt(e){return!Wfr.has(e)}function cYa(e,n=()=>!0){let A=uA.ref("normal"),i=uA.ref(!1),s=uA.ref(null),u=uA.ref(0),p=null;uA.watch([A,i],([y,k])=>{if((y==="loading"||k)&&!p)p=setInterval(()=>{u.value++},80);else if(y!=="loading"&&!k&&p)clearInterval(p),p=null}),uA.onUnmounted(()=>{if(p)clearInterval(p)});let d=uA.computed(()=>{if(i.value||A.value==="loading")return sYa[u.value%sYa.length];let y=IBt[A.value];if(y)return y;let k=M1.paletteFor(A.value);return k?.definition.symbol??k?.definition.key??Zfr});function b(y){A.value=y}function E(){for(let[y,k]of Object.entries(vne))fh(y,(x)=>{if(!n())return;if(A.value==="loading")return;if(A.value==="voice"&&k==="voice"){s.value="confirm",A.value="normal",x.consumed=!0;return}if(e().length>0)return;A.value=A.value===k?"normal":k,x.consumed=!0});fh("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 vne,Ayo,Wfr,v8t,IBt,Zfr="\xB7",sYa;var eLe=xt(()=>{Fs();V6e();YSn();vne={":":"command","/":"instance","*":"model","^":"session","~":"agent","#":"voice","?":"help",">":"prompt","%":"module",'"':"theme"},Ayo=new Set(X6e.map((e)=>e.mode)),Wfr=new Set(["normal","loading","voice"]);v8t={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"},IBt={normal:"\xBB",command:":",instance:"/",model:"*",session:"^",agent:"~",voice:"#",help:"?",history:"\u2191",loading:"\u280B",escalation:"\u203C",prompt:">",module:"%",theme:'"',file:"@",question:"\xB7"},sYa=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});var uYa={};OA(uYa,{useQuestions:()=>e6});function e6(){if(!jSn)jSn=Vfr();return jSn}function Vfr(){function e(n){if(tLe.value)throw Pn("PALETTE_ALREADY_OPEN",{detail:"a question is already open"});return new Promise((A)=>{let i=(s)=>{if(!tLe.value)return;tLe.value=null,A(s)};tLe.value={...n(i),settle:i}})}return{pending:uA.computed(()=>tLe.value),cancel(){let n=tLe.value;if(!n)return;n.settle(n.kind==="confirm"?!1:void 0)},submitText(n){let A=tLe.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,A){return e((i)=>({kind:"confirm",message:n,...A?.header?{header:A.header}:{},items:[{id:"yes",label:A?.choices?.yes??"yes",action:()=>{i(!0)}},{id:"no",label:A?.choices?.no??"no",action:()=>{i(!1)}}]}))},async prompt(n,A){return e(()=>({kind:"prompt",message:n,items:[],...A?.prompt?{prompt:A.prompt}:{},...A?.header?{header:A.header}:{},...A?.placeholder?{placeholder:A.placeholder}:{},...A?.secret?{secret:!0}:{}}))}}}var tLe,jSn;var nLe=xt(()=>{Fs();qs();tLe=uA.ref(null)});function TIe(){if(!HSn)HSn=Xfr();return HSn}function Xfr(){function e(n,A){let i=BAe.value.find((s)=>s.id===n);if(!i)return;BAe.value=BAe.value.filter((s)=>s.id!==n),i.settle(A)}return{current:uA.computed(()=>BAe.value[0]??null),waiting:uA.computed(()=>Math.max(0,BAe.value.length-1)),ask(n){return new Promise((A)=>{BAe.value=[...BAe.value,{...n,settle:A}]})},answer(n,A=!1){let i=BAe.value[0];if(i)e(i.id,{allow:n,always:A})},denyAll(){let n=BAe.value;BAe.value=[];for(let A of n)A.settle({allow:!1,always:!1})}}}var BAe,HSn;var S8t=xt(()=>{Fs();BAe=uA.ref([])});function ehr(e,n,A){return`${e}\x00${n}\x00${A??""}`}function OSn(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(OSn)}:{},action:e.action??(()=>{})}}function thr(e){if(Array.isArray(e))return{items:e.map(OSn)};return{items:e.items.map(OSn),...e.breadcrumb!==void 0?{breadcrumb:e.breadcrumb}:{},...e.status!==void 0?{status:e.status}:{},...e.invalid!==void 0?{invalid:e.invalid}:{}}}function nhr(e,n,A){let i=ehr(e.name,n,A);lYa.value;let s=PSn.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(!JSn.has(i))JSn.add(i),(async()=>{try{let u=await e.definition.list(n,A);PSn.value.set(i,{key:i,...thr(u)})}catch(u){PSn.value.set(i,{key:i,items:[],status:{kind:"error",message:u instanceof Error?u.message:String(u)}})}finally{JSn.delete(i),lYa.value++}})();return{items:[],status:{kind:"loading",message:"loading..."}}}function gYa(e){return{id:e,resolve:uA.computed(()=>(n,A)=>{let i=e6().pending.value;if(i)return{items:i.items,...i.message?{breadcrumb:i.message}:{}};let s=M1.paletteFor(e);if(!s)return{items:[]};return nhr(s,n,A)}),get skipDefaultFilter(){return M1.paletteFor(e)?.definition.filter===!1},get tabs(){return M1.paletteFor(e)?.definition.tabs},get anchor(){return M1.paletteFor(e)?.definition.anchor},get maxHeight(){return M1.paletteFor(e)?.definition.maxHeight}}}var PSn,JSn,lYa,ZKe="escalation",pYa,VKe="question",mYa;var $Sn=xt(()=>{Fs();V6e();nLe();S8t();PSn=uA.ref(new Map),JSn=new Set,lYa=uA.ref(0);pYa={id:ZKe,skipDefaultFilter:!0,resolve:uA.computed(()=>()=>{let e=TIe(),n=e.current.value;if(!n)return{items:[]};let A=e.waiting.value;return{items:[{id:"allow",label:"allow once",description:"just this call",action:()=>{e.answer(!0)}},{id:"always",label:"allow always",description:"remember this \u2014 revoke with :policy grants",action:()=>{e.answer(!0,!0)}},{id:"deny",label:"deny",description:"refuse this call",action:()=>{e.answer(!1)}}],header:{label:n.fn,detail:`"${n.subject}"`+(A>0?` (${A} more waiting)`:"")}}})},mYa={id:VKe,skipDefaultFilter:!0,resolve:uA.computed(()=>(e)=>{let n=e6().pending.value;if(!n)return{items:[]};if(n.kind==="prompt"){let A=e.length>0;return{items:[{id:"prompt",label:n.prompt??"waiting for input",placeholder:!n.prompt,description:A?"enter to confirm":"esc to cancel",action:()=>{}}],...n.header?{header:n.header}:{breadcrumb:n.message}}}return{items:n.items,...n.header?{header:n.header}:n.message?{breadcrumb:n.message}:{}}})}});function fYa(e){dYa.set(e.id,e)}function N8t(e){let n=dYa.get(e);if(n)return n;if(e===VKe)return mYa;if(e===ZKe)return pYa;return M1.paletteFor(e)?gYa(e):void 0}var dYa;var hYa=xt(()=>{V6e();$Sn();dYa=new Map});function ahr(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 Ahr(e,n){if(n===e)return 100;if(n.startsWith(e))return 75;if(n.includes(e))return 50;if(e.length>=ihr&&n.length<=e.length*rhr){if(ahr(e,n))return 25}return null}function aLe(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=Ahr(u,d);if(b!==null&&(p===null||b>p))p=b}if(p===null)return null;s+=p}return s}var ihr=3,rhr=4;function xJ(e,n){let A=e[n];return!!A&&!A.header&&!A.separator&&!A.invalid}function bYa(e){let{items:n,previous:A,selectedIndex:i,homeIndex:s}=e,u=A?.[i],p=u!==void 0&&n[i]?.id!==u.id;if(!(i>=n.length||!xJ(n,i))&&!p)return i;let b=u?n.findIndex((E)=>E.id===u.id):-1;return b>=0&&xJ(n,b)?b:s}function CYa(e){return typeof e.children==="function"?e.children():e.children}function ohr(e,n){let A=e.label.toLowerCase(),i=e.description.toLowerCase();if(A===n)return 5;if(A.split("/").at(-1)===n)return 4;if(A.startsWith(n))return 3;if(A.includes(n))return 2;if(i.includes(n))return 1;return 0}function shr(e,n){let A=n.toLowerCase();return e.map((i,s)=>({node:i,index:s,score:ohr(i,A)})).filter((i)=>i.score>0).sort((i,s)=>s.score-i.score||i.index-s.index).map((i)=>i.node)}function BYa(e,n){let A=e.endsWith(" "),i=e.split(" "),s=i.map((k)=>k.toLowerCase()),u=n,p=[],d=A?s.length:s.length-1;for(let k=0;k<d;k++){let x=s[k];if(!x)continue;let S=u.find((L)=>L.label.toLowerCase()===x);if(!S)return{nodes:[],breadcrumb:p,partial:x,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(k+1).join(" ").trim()}};p.push(S.label),u=CYa(S)}let b=A?"":s[s.length-1]??"",E=b?shr(u,b):u;if(b&&E.length===0)return{nodes:E,breadcrumb:p,partial:b,exactMatch:null,noMatch:!0,input:null};let y=b?E.find((k)=>k.label.toLowerCase()===b.toLowerCase())??null:null;if(y&&y.kind==="group")return{nodes:CYa(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 IYa(e,n){return[...e,n].join(" ")+" "}function G8t(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 chr}from"fs";import{join as EYa,resolve as uhr}from"path";import{homedir as yYa}from"os";function lhr(){let e=IC();function n(){let b=e.store.profiles.active();if(!b)throw Pn("NOT_AUTHENTICATED");return b}function A(b){let E=yYa();return b===E||b.startsWith(E+"/")?"~"+b.slice(E.length):b}function i(){let b=n(),E={dir:EYa(e.store.root,"profiles",b.id,"agents"),label:"~/.axon (default)"},y=b.agents.extraRoots().map((k)=>({dir:k,label:A(k)}));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=uhr(b.startsWith("~")?EYa(yYa(),b.slice(1)):b);if(!chr(E))throw Pn("WATCH_PATH_NOT_FOUND",{context:{path:E}});return await n().agents.watch(E),Uc().refreshAvailable(),E}async function d(b){await n().agents.unwatch(b),Uc().refreshAvailable()}return{locations:i,watched:s,create:u,watch:p,unwatch:d}}function XKe(){if(!zSn)zSn=lhr();return zSn}var zSn;var QYa=xt(async()=>{qs();await Qk([a3(),Ek()])});function UIe(){if(!WSn)WSn=phr();return WSn}function phr(){let e=uA.ref(null),n=0,A=null,i=!1,s=null,u=!1,p=null;function d(k){s=k}function b(k){p=k}function E(){if(i)return!0;if(p?.(),n++,A)clearTimeout(A);if(n===1)return e.value="press ctrl+c again to quit",A=setTimeout(()=>{n=0,e.value=null},ghr),!1;if(n===2)return y(),!1;return process.exit(130),!1}async function y(k=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 x=process.env.AXON_SHUTDOWN_TRACE==="1",S=Date.now(),L=(V)=>{if(x)process.stderr.write(`[exit] ${V} +${Date.now()-S}ms
|
|
5047
5047
|
`)};L("gracefulExit:start");let U=new Promise((V)=>{setTimeout(()=>{console.error(`shutdown exceeded ${_Ya}ms \u2014 exiting without waiting further`),V()},_Ya)});await Promise.race([Uc().shutdown().catch((V)=>{console.error("shutdown failed during exit:",V)}),U]),L("agents.shutdown settled"),i=!0,setTimeout(()=>{console.error(`exit exceeded ${wYa}ms \u2014 forcing`),process.exit(k)},wYa).unref?.(),L("calling vterm exit"),s?.(k),L("vterm exit returned")}return{hint:e,bind:d,bindDraft:b,onQuit:E,gracefulExit:y}}var ghr=500,_Ya=2000,wYa=1500,WSn;var EBt=xt(async()=>{Fs();await Ek()});function e7e(){if(!ZSn)ZSn=dhr();return ZSn}function dhr(){let e=IC().updates,n=uA.ref(null),A=uA.ref(!1),i=uA.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(()=>{})},mhr);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 UIe().gracefulExit(cBt)}return{current:e.currentVersion,latest:n,available:i,checking:A,check:u,start:p,stop:d,update:b}}var mhr=21600000,ZSn;var M8t=xt(async()=>{Fs();C8t();await Qk([a3(),EBt()])});function fhr(){let e=process.env.TERM_FONT??process.env.FONT??"";if(/nerd|\bnf\b/i.test(e))return"nerd";let n=process.env.TERM_PROGRAM??"";if(/ghostty|wezterm/i.test(n))return"nerd";return"unicode"}function DYa(e,n){if(!e)return"";if(n==="none")return"";let A=kYa[e];if(!A)return e;return(n==="auto"?fhr():n)==="nerd"?A.nerd:A.unicode}var kYa,Lyo;var xYa=xt(()=>{kYa={agent:{nerd:"\uE26E",unicode:"\u25C6"},model:{nerd:"\uF085",unicode:"\u25C7"},modules:{nerd:"\uF487",unicode:"\u25A3"},session:{nerd:"\uF075",unicode:"\u25B8"},tokens:{nerd:"\uF080",unicode:"\u25AA"},messages:{nerd:"\uF086",unicode:"\u25AB"},branch:{nerd:"\uE725",unicode:"\u2442"},changes:{nerd:"\uF448",unicode:"\xB1"},ahead:{nerd:"\uF55C",unicode:"\u2191"},behind:{nerd:"\uF544",unicode:"\u2193"},folder:{nerd:"\uF07B",unicode:"\u25A4"},clock:{nerd:"\uF017",unicode:"\u25F7"},user:{nerd:"\uF007",unicode:"\u25C9"},warning:{nerd:"\uF071",unicode:"\u25B2"},error:{nerd:"\uF057",unicode:"\u2715"}};Lyo=Object.keys(kYa)});function xR(){if(!XSn)XSn=hhr();return XSn}function hhr(){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(Pn("HOOK_FAILED",{detail:`${A} \u2014 ${p instanceof Error?p.message:String(p)}`,context:{hook:A},cause:p}))}return s},async gate(A,...i){let s=n(A);if(s.length===0)return[];let u=[],p,d=Promise.all(s.map(async(E)=>{try{await E.handler(...i)}catch(y){u.push(Pn("HOOK_FAILED",{detail:`${A} \u2014 ${y instanceof Error?y.message:String(y)}`,context:{hook:A},cause:y}))}})),b=new Promise((E)=>{p=setTimeout(()=>E("timeout"),VSn)});try{if(await Promise.race([d.then(()=>"done"),b])==="timeout")u.push(Pn("HOOK_TIMED_OUT",{detail:`${A} did not finish within ${VSn}ms`,context:{hook:A,budgetMs:VSn}}))}finally{if(p)clearTimeout(p)}return u},count(A){return n(A).length}}}var VSn=5000,XSn;var RIe=xt(()=>{qs()});function r$(){if(!t8n)t8n=bhr();return t8n}function bhr(){let e=xR();function n(b){try{let E=b.component.render(),y=E===null||E===void 0?"":String(E),k=DYa(b.component.icon,e8n.value);Dbe.value.set(b.name,y&&k?`${k} ${y}`:y)}catch(E){Dbe.value.set(b.name,""),console.error(`line component "${b.name}" failed to render:`,E)}Dbe.value=new Map(Dbe.value)}function A(b){return Array.isArray(b)?{left:[...b]}:{...b}}function i(b){if(!b||b.length===0)return[];return Array.isArray(b[0])?b.map((E)=>[...E]):[[...b]]}function s(b){return[b.left,b.middle,b.right].flatMap((E)=>i(E).flat())}function u(b,E){return b.style??E.content.style??L8t.value}function p(b){let E=tL.value.get(b);if(!E)throw Pn("LINE_UNKNOWN",{detail:`no line named "${b}"`,context:{name:b}});return E}function d(b){let E=(x,S)=>x.length===0||S.length>0,y=(x)=>i(x).map((S)=>[S,S.filter((L)=>Dbe.value.get(L))]).filter(([S,L])=>E(S,L)).map(([,S])=>S),k=(x)=>i(x).map((S)=>[S,S.map((L)=>Dbe.value.get(L)??"").filter(Boolean)]).filter(([S,L])=>E(S,L)).map(([,S])=>S);return b.map(({placed:x,line:S})=>({id:x.id,name:S.name,style:u(x,S),left:k(S.content.left),middle:k(S.content.middle),right:k(S.content.right),names:{left:y(S.content.left),middle:y(S.content.middle),right:y(S.content.right)}})).filter((x)=>{if(s(tL.value.get(x.name)?.content??{}).length===0)return!0;return x.left.length>0||x.middle.length>0||x.right.length>0})}return{createComponent(b,E){if(a$.value.has(b))throw Pn("COMPONENT_NAME_TAKEN",{detail:`a component named "${b}" is already registered`,context:{name:b}});let y={name:b,component:E,teardown:[]};for(let k of E.on??[])y.teardown.push(e.register(k,()=>n(y)));if(E.every!==void 0){let k=setInterval(()=>n(y),E.every);y.teardown.push(()=>clearInterval(k))}return a$.value.set(b,y),a$.value=new Map(a$.value),n(y),()=>{for(let k of y.teardown)k();a$.value.delete(b),Dbe.value.delete(b),a$.value=new Map(a$.value),Dbe.value=new Map(Dbe.value)}},listComponents(){return[...a$.value.keys()].sort()},createLine(b,E,y){if(tL.value.has(b))throw Pn("LINE_NAME_TAKEN",{detail:`a line named "${b}" is already registered`,context:{name:b}});let k=A(E);tL.value.set(b,{name:b,content:k}),tL.value=new Map(tL.value);let x=()=>{tL.value.delete(b),tL.value=new Map(tL.value),FR.value=FR.value.filter((L)=>L.name!==b),A$.value.delete(b)};y?.(x);let S=s(k).filter((L)=>!a$.value.has(L));if(S.length>0)i$.value=[...i$.value,Pn("COMPONENT_UNKNOWN",{detail:`line "${b}" names ${S.map((L)=>`"${L}"`).join(", ")}, which ${S.length>1?"are":"is"} not registered`,context:{line:b,components:S.join(", ")}})];return x},setStack(b){let E=[],y=[],k=new Set;for(let x of b){let S=typeof x==="string"?{line:x}:x;if(!tL.value.has(S.line)){y.push(S.line);continue}if(E.push({id:`${S.line}#${E.length}`,name:S.line,...S.style?{style:S.style}:{}}),S.hidden)k.add(S.line)}if(FR.value=E,A$.value=k,y.length>0)i$.value=[...i$.value,Pn("LINE_UNKNOWN",{detail:`no line named ${y.map((x)=>`"${x}"`).join(", ")}`,context:{names:y.join(", ")}})]},move(b,E){p(b);let y=FR.value.findIndex((U)=>U.name===b);if(y<0)throw Pn("LINE_UNKNOWN",{detail:`line "${b}" is not in the stack`,context:{name:b}});let k=E==="up"?y-1:E==="down"?y+1:E,x=Math.max(0,Math.min(FR.value.length-1,k)),S=[...FR.value],[L]=S.splice(y,1);S.splice(x,0,L),FR.value=S},hide(b){p(b),A$.value=new Set(A$.value).add(b)},show(b){p(b);let E=new Set(A$.value);if(E.delete(b),A$.value=E,!FR.value.some((y)=>y.name===b))FR.value=[...FR.value,{id:`${b}#${FR.value.length}`,name:b}]},toggle(b){p(b);let E=new Set(A$.value);if(E.has(b))E.delete(b);else E.add(b);A$.value=E},setTop(b,E){if(b===null){yBt.value=null;return}let y=typeof b==="string"?{line:b,...E}:b;if(!tL.value.has(y.line)){i$.value=[...i$.value,Pn("LINE_UNKNOWN",{detail:`no line named "${y.line}"`,context:{name:y.line}})];return}yBt.value={id:`top:${y.line}`,name:y.line,...y.style?{style:y.style}:{}}},top(){let b=yBt.value;if(!b)return null;let E=tL.value.get(b.name);if(!E)return null;return{id:b.id,name:E.name,content:E.content,style:u(b,E),visible:!0}},press(b){let y=a$.value.get(b)?.component.click;if(!y)return;try{let k=y();if(k instanceof Promise)k.catch((x)=>{i$.value=[...i$.value,x]})}catch(k){i$.value=[...i$.value,k]}},pressable(b){return Boolean(a$.value.get(b)?.component.click)},icons(b){if(b!==void 0){e8n.value=b;for(let E of a$.value.values())n(E)}return e8n.value},style(b){if(b!==void 0)L8t.value=b;return L8t.value},renderedTop:uA.computed(()=>{let b=yBt.value;if(!b)return[];let E=tL.value.get(b.name);if(!E)return[];return d([{placed:b,line:E}])}),faults:uA.computed(()=>i$.value),reset(){i$.value=[],FR.value=[],A$.value=new Set,L8t.value="powerline",yBt.value=null},listRegistered(){return[...tL.value.keys()].sort()},isVisible(b){return FR.value.some((E)=>E.name===b)&&!A$.value.has(b)},list(){let b=[];for(let E of FR.value){let y=tL.value.get(E.name);if(!y)continue;b.push({id:E.id,name:y.name,content:y.content,style:u(E,y),visible:!A$.value.has(y.name)})}return b},rendered:uA.computed(()=>d(FR.value.filter((b)=>!A$.value.has(b.name)).map((b)=>({placed:b,line:tL.value.get(b.name)})).filter((b)=>b.line!==void 0)))}}var a$,tL,FR,A$,Dbe,i$,L8t,yBt,e8n,t8n;var t7e=xt(()=>{Fs();qs();xYa();RIe();a$=uA.ref(new Map),tL=uA.ref(new Map),FR=uA.ref([]),A$=uA.ref(new Set),Dbe=uA.ref(new Map),i$=uA.ref([]),L8t=uA.ref("powerline"),yBt=uA.ref(null),e8n=uA.ref("auto")});function FYa(){return{entries:uA.computed(()=>QBt.value),checking:uA.computed(()=>n8n.value),outdated:uA.computed(()=>QBt.value.filter((e)=>e.outdated)),refresh(){if(_Bt)return _Bt;if(a8n!==null)return Promise.resolve();if(Date.now()<A8n)return Promise.resolve();return n8n.value=!0,_Bt=(async()=>{let e=!1;try{let n=await nL().updates();QBt.value=n,e=n.every((A)=>A.latest!==null)}catch{QBt.value=[]}finally{if(e)a8n=Date.now();else A8n=Date.now()+Chr;n8n.value=!1,_Bt=null}})(),_Bt},invalidate(){a8n=null,A8n=0,QBt.value=[]}}}var QBt,n8n,a8n=null,A8n=0,Chr=1e4,_Bt=null;var vYa=xt(async()=>{Fs();await KIe();QBt=uA.ref([]),n8n=uA.ref(!1)});function q8t({entries:e,checking:n,noun:A}){let i=(b)=>`${A}${b===1?"":"s"}`;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:`Nothing declares a registry ${A}`}];let s=e.filter((b)=>b.outdated),u=e.filter((b)=>b.latest===null),p=e.filter((b)=>b.current===null&&b.latest!==null);if(s.length===0){if(u.length>0)return[{kind:"message",label:"could not reach the registry",description:`${u.length} ${i(u.length)} could not be checked`}];if(p.length>0)return[{kind:"message",label:"not installed",description:`${p.length} declared ${i(p.length)} ${p.length===1?"is":"are"} not installed \u2014 run prepare`}];return[{kind:"message",label:"up to date",description:`All ${e.length} ${i(e.length)} are current`}]}let d=[];if(s.length>1)d.push({kind:"all",count:s.length,entries:s});for(let b of s)d.push({kind:"entry",entry:b});return d}function Ihr(e){let n=a7e.get(e);if(!n)n={modules:[],checkedAt:null,retryAfter:0,inFlight:null},a7e.set(e,n);return n}function SYa(){let e=Uc(),n=uA.computed(()=>e.projectRoot.value);return{entries:uA.computed(()=>{n7e.value;let A=n.value;if(!A)return[];return a7e.get(A)?.modules??[]}),checking:uA.computed(()=>{n7e.value;let A=n.value;if(!A)return!1;return a7e.get(A)?.inFlight!=null}),outdated:uA.computed(()=>{n7e.value;let A=n.value;if(!A)return[];return(a7e.get(A)?.modules??[]).filter((i)=>i.outdated)}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=Ihr(A);if(i.inFlight)return i.inFlight;if(i.checkedAt!==null)return Promise.resolve();if(Date.now()<i.retryAfter)return Promise.resolve();return i.inFlight=(async()=>{let s=!1;try{let u=await e.moduleUpdates();i.modules=u,s=u.every((p)=>p.latest!==null)}catch{i.modules=[]}finally{if(s)i.checkedAt=Date.now();else i.retryAfter=Date.now()+Bhr;i.inFlight=null,n7e.value++}})(),n7e.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;a7e.delete(A),n7e.value++}}}var a7e,n7e,Bhr=1e4;var NYa=xt(async()=>{Fs();await Ek();a7e=new Map,n7e=uA.ref(0)});function yhr(e){let n=kBt.get(e);if(!n)n={cognet:null,checkedAt:null,retryAfter:0,inFlight:null},kBt.set(e,n);return n}function GYa(){let e=Uc(),n=uA.computed(()=>e.projectRoot.value);return{entry:uA.computed(()=>{wBt.value;let A=n.value;if(!A)return null;return kBt.get(A)?.cognet??null}),checking:uA.computed(()=>{wBt.value;let A=n.value;if(!A)return!1;return kBt.get(A)?.inFlight!=null}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=yhr(A);if(i.inFlight)return i.inFlight;if(i.checkedAt!==null)return Promise.resolve();if(Date.now()<i.retryAfter)return Promise.resolve();return i.inFlight=(async()=>{let s=!1;try{let u=await e.cognetUpdate();i.cognet=u,s=u===null||u.latest!==null}catch{i.cognet=null}finally{if(s)i.checkedAt=Date.now();else i.retryAfter=Date.now()+Ehr;i.inFlight=null,wBt.value++}})(),wBt.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;kBt.delete(A),wBt.value++}}}var kBt,wBt,Ehr=1e4;var MYa=xt(async()=>{Fs();await Ek();kBt=new Map,wBt=uA.ref(0)});function Qhr(){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 _hr(e){let n=IC(),A=n.cloud.client.registry.artifacts,i=n.store.cache.file(`registry-${e}-${Qhr()}`),s=uA.ref([]),u=uA.ref(!1),p=uA.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 A7e(e){let n=LYa.get(e);if(!n)n=_hr(e),LYa.set(e,n);return n}var LYa;var T8t=xt(async()=>{Fs();await a3();LYa=new Map});function Mk(){return{current:U8t,show(e,n="info",A){let i=e.trim();if(i.length===0)return;U8t.value={message:i.length>qYa?`${i.slice(0,qYa-1)}\u2026`:i,level:n};let s=A!==void 0&&Number.isFinite(A)&&A>0?Math.min(A,khr):whr;if(ALe)clearTimeout(ALe);ALe=setTimeout(()=>{U8t.value=null,ALe=null},s)},clear(){if(ALe)clearTimeout(ALe);ALe=null,U8t.value=null}}}var qYa=50,whr=300,khr=5000,U8t,ALe=null;var iLe=xt(()=>{Fs();U8t=uA.ref(null)});function i7e(){let e=Uc(),n=uA.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 TYa=xt(async()=>{Fs();await Ek()});function Dhr(){let e=IC().cloud.client.registry.artifacts,n=uA.ref([]),A=uA.ref(!1),i=uA.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 UYa(){if(!i8n)i8n=Dhr();return i8n}var i8n;var RYa=xt(async()=>{Fs();await a3()});function xhr(e,n){let A=e.trim().toLowerCase();return{items:i7e().entries.value.filter((s)=>r7e(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 i7e().render(s.name))}catch(u){Mb().sendError.value=jYa(u)}}}))}}function KYa(e,n,A){let i=UYa();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(i7e().entries.value.map((d)=>d.name)),p=i.entries.value.filter((d)=>r7e(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 i7e().fetch(d.name))}catch(b){Mb().sendError.value=jYa(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 r8n(e,n=[]){if(!e.startsWith("@"))return!1;let A=e.trim().toLowerCase();return!n.some((i)=>i.toLowerCase()===A)}function r7e(e,n,A){if(!e)return!0;let i=e.toLowerCase();return n.toLowerCase().includes(i)||(A?.toLowerCase().includes(i)??!1)}function jYa(e){return e instanceof Error?e:Error(String(e))}var YYa;var R8t=xt(async()=>{Fs();await Qk([TYa(),RYa(),aL()]);YYa={id:"prompt",maxHeight:8,skipDefaultFilter:!0,resolve:uA.computed(()=>(e,n,A)=>{let i=i7e().entries.value.map((p)=>p.name);if(r8n(e,i))return KYa(e,A);let s=xhr(e,A),u=KYa(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 K8t(e,n){return A7e(e).entries.value.filter((i)=>r7e(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;Fhr(e,i.name)}}})}async function Fhr(e,n){try{if(e==="extension"){await Uc().installExtension(n),Mk().show(`installed ${n}`);return}if((await Uc().installModule(n)).status==="not-found")throw Error(`${n} could not be resolved for install`)}catch(A){Mb().sendError.value=A instanceof Error?A:Error(String(A))}}var o8n=xt(async()=>{iLe();await Qk([T8t(),Ek(),aL(),R8t()])});function OYa(){return Uc().modules.value.map((e)=>e.packageName).filter((e)=>e!==void 0)}function s8n(e){return e.packageName!==void 0&&e.root.includes("node_modules")}function vhr(e,n){let A=e.trim().toLowerCase();return{items:Uc().modules.value.filter((s)=>r7e(A,s.packageName??s.name,PYa(s))).map((s)=>{let u=s.packageName??s.name;return{id:`module:${u}`,label:u,description:PYa(s),completeQuery:u,choices:()=>Shr(s,n),action:()=>{}}})}}function Shr(e,n){let A=e.packageName??e.name,i=[];if(s8n(e))i.push({id:`module:uninstall:${A}`,label:"\u2715 uninstall",description:`remove ${A} from this agent`,workingMessage:`uninstalling ${A}...`,action:async()=>{try{if((await Uc().uninstallModule(A)).status==="not-installed")Mb().palette.signalNoMatch();else n("")}catch(s){Mb().sendError.value=Nhr(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 HYa(e,n){let A=A7e("module");A.ensure();let i=e.trim().toLowerCase(),s=new Set(OYa()),u=K8t("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 PYa(e){if(e.version)return`v${e.version}`;return e.root.includes("node_modules")?"installed module":"local module"}function Nhr(e){return e instanceof Error?e:Error(String(e))}var JYa;var c8n=xt(async()=>{Fs();await Qk([Ek(),T8t(),o8n(),aL(),R8t()]);JYa={id:"module",maxHeight:8,skipDefaultFilter:!0,resolve:uA.computed(()=>(e,n,A)=>{let i=OYa();if(r8n(e,i))return HYa(e);let s=vhr(e,A),u=HYa(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}:{}}})}});function Ghr(e){let n=xBt.get(e);if(!n)n={names:[],loaded:!1,inFlight:null},xBt.set(e,n);return n}function YIe(){let e=Uc(),n=uA.computed(()=>e.projectRoot.value);return{names:uA.computed(()=>{DBt.value;let A=n.value;if(!A)return[];return xBt.get(A)?.names??[]}),checking:uA.computed(()=>{DBt.value;let A=n.value;if(!A)return!1;return xBt.get(A)?.inFlight!=null}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=Ghr(A);if(i.inFlight)return i.inFlight;if(i.loaded)return Promise.resolve();return i.inFlight=(async()=>{try{i.names=await e.envKeys(),i.loaded=!0}catch{i.names=[]}finally{i.inFlight=null,DBt.value++}})(),DBt.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;xBt.delete(A),DBt.value++}}}var xBt,DBt;var u8n=xt(async()=>{Fs();await Ek();xBt=new Map,DBt=uA.ref(0)});async function Lhr(e){try{let n=await fetch("https://discord.com/api/v10/users/@me/guilds",{headers:{Authorization:`Bot ${e}`}});if(!n.ok)return!1;let A=await n.json();return Array.isArray(A)&&A.length>0}catch{return!1}}async function qhr(e){let n=await fetch("https://discord.com/api/v10/users/@me",{headers:{Authorization:`Bot ${e}`}});if(!n.ok){if(n.status===401)throw Error("token rejected \u2014 copy from Bot \u2192 Reset Token, not the OAuth2 Client Secret");throw Error(`Discord returned ${n.status}`)}let A=await n.json(),i=A.discriminator&&A.discriminator!=="0"?`${A.username}#${A.discriminator}`:A.username;return{id:A.id,tag:i}}async function Uhr(e){let n=await fetch(`https://api.telegram.org/bot${e}/getMe`);if(!n.ok){if(n.status===401)throw Error("token rejected \u2014 check you copied the whole line from @BotFather");throw Error(`Telegram returned ${n.status}`)}let A=await n.json();if(!A.ok||!A.result?.username)throw Error("Telegram accepted the token but returned no bot \u2014 try /newbot again");return{username:A.result.username}}async function Rhr(e){try{let n=await fetch(`https://api.telegram.org/bot${e}/getUpdates?limit=1`);if(!n.ok)return!1;let A=await n.json();return A.ok===!0&&Array.isArray(A.result)&&A.result.length>0}catch{return!1}}function Y8t(e){return l8n.find((n)=>n.id===e)}var Mhr,Thr,Khr,l8n;var $Ya=xt(()=>{Mhr=[1n<<10n,1n<<11n,1n<<16n,1n<<38n].reduce((e,n)=>e|n,0n).toString();Thr={id:"discord",title:"Discord agent setup",description:"chat with your agent from a Discord server",envKey:"DISCORD_BOT_TOKEN",module:"@axon/discord",steps:[{kind:"input",title:"get token",placeholder:"paste token",prompt:"Enter your Discord bot token below",secret:!0,validate:async(e,n)=>{try{let A=await qhr(e);if(n.set("botId",A.id),n.set("botTag",A.tag),await Lhr(e))n.set("inGuild","yes");return null}catch(A){return A instanceof Error?A.message:String(A)}},body:["1. Open the Discord developer portal:"," https://discord.com/developers/applications","","2. New Application \u2014 name it, then Create","","3. Open the Bot tab in the left sidebar","","4. Reset Token, confirm, then Copy"," Discord shows it once \u2014 copy before leaving the page","","5. Paste the token below. Nothing is written to your"," agent until it checks out."]},{kind:"work",title:"connecting",run:async(e)=>{await e.setEnv("DISCORD_BOT_TOKEN",e.input.trim()),await e.install("@axon/discord")}},{kind:"instruct",title:"invite",confirmLabel:"open the invite in my browser",skip:(e)=>e.get("inGuild")==="yes",url:(e)=>{return`https://discord.com/oauth2/authorize?${new URLSearchParams({client_id:e.get("botId")??"",scope:"bot",permissions:Mhr})}`},body:[{text:"\u2713 Token accepted \u2014 the module is installed and running.",tone:"success"},"","1. Open the invite below","","2. Pick the server your agent should join"," Permissions are already set: read messages, send"," replies, read history. Nothing to tick."]}]};Khr={id:"telegram",title:"Telegram agent setup",description:"your agent on your phone \u2014 no app to build",envKey:"TELEGRAM_BOT_TOKEN",module:"@axon/telegram",steps:[{kind:"input",title:"get token",placeholder:"paste token",prompt:"Enter your Telegram bot token below",secret:!0,body:["1. Open @BotFather in Telegram:"," https://t.me/BotFather","","2. Send /newbot","",'3. Pick a display name, then a username ending in "bot"',"","4. BotFather replies with a token:"," 123456789:ABC-DEF...","","5. Paste it below. Nothing is written until it checks out."],validate:async(e,n)=>{try{let A=await Uhr(e);return n.set("username",A.username),null}catch(A){return A instanceof Error?A.message:String(A)}}},{kind:"work",title:"connecting",run:async(e)=>{await e.setEnv("TELEGRAM_BOT_TOKEN",e.input.trim()),await e.install("@axon/telegram")}},{kind:"await",title:"say hello",waitingLabel:"waiting for your message...",url:(e)=>`https://t.me/${e.get("username")??""}`,body:[{text:"\u2713 Token accepted \u2014 the module is installed and running.",tone:"success"},"","Telegram will not let a bot message you first, so it cannot","reach you until you message it.","","1. Open your bot:","",'2. Send it anything \u2014 "hi" will do'],poll:async(e)=>Rhr(e.input.trim()),done:(e)=>`connected telegram \xB7 @${e.get("username")??""}`}]},l8n=[Thr,Khr]});function FBt(){let e=Uc(),n=e6();async function A(b){await e.commit("axon:connect:step",{connector:"connect",note:b})}async function i(b){let E=Y8t(b);if(!E)throw Pn("NOT_WIRED",{detail:`no connector named "${b}"`});let y=new Map,k="",x={get input(){return k},set:(S,L)=>{y.set(S,L)},get:(S)=>y.get(S),setEnv:async(S,L)=>{await e.setKey(S,L)},install:async(S)=>{await e.installModule(S)},note:async()=>{}};for(let[S,L]of E.steps.entries()){let U=E.steps.filter((te)=>te.kind!=="work"&&!(te.kind==="instruct"&&te.skip?.(x))),$=L.kind==="work"?0:U.indexOf(L)+1,V=`${L.title} \xB7 ${$}/${U.length}`;if(L.kind==="instruct"){if(L.skip?.(x))continue;let te=zYa(L,x);if(!await n.confirm(L.title,{header:{label:E.title,detail:V,body:[...L.body,...te?["",` ${te}`]:[]]},choices:{yes:L.confirmLabel,no:"cancel"}}))return await s(E.id);if(te)try{await Uhe(te)}catch{}continue}if(L.kind==="input"){let te=null;for(;;){let ee=await n.prompt(L.title,{placeholder:L.placeholder,...L.prompt?{prompt:L.prompt}:{},...L.secret?{secret:!0}:{},header:{label:E.title,detail:V,body:te?[...L.body??[],"",{text:`\u2717 ${te}`,tone:"error"}]:L.body??[]}});if(ee===void 0||ee.trim()==="")return await s(E.id);let me=ee.trim();if(te=L.validate?await L.validate(me,x):null,!te){k=me;break}}continue}if(L.kind==="await"){let te=zYa(L,x),ee=!1,me=(async()=>{while(!ee){if(await L.poll(x))return!0;await new Promise((ke)=>setTimeout(ke,1000))}return!1})(),be=n.confirm(L.title,{header:{label:E.title,detail:V,body:[...L.body,...te?["",` ${te}`]:[]]},choices:{yes:L.waitingLabel,no:"cancel"}});if(await Promise.race([me,be.then((ke)=>ke?"again":"abort")])==="abort")return ee=!0,await s(E.id);ee=!0,n.cancel(),await A(L.done(x));continue}try{await L.run(x)}catch(te){let ee=te instanceof Error?te.message:String(te);await A(`connect ${E.id} \u2014 ${ee}`);return}}YIe().invalidate(),await A(`connected ${E.id}${y.get("botTag")?` \xB7 ${y.get("botTag")}`:""}`)}async function s(b){await A(`connect ${b} \u2014 aborted`)}function u(b){let E=Y8t(b);if(!E)return!1;return YIe().names.value.includes(E.envKey)}async function p(b){let E=Y8t(b);if(!E)throw Pn("NOT_WIRED",{detail:`no connector named "${b}"`});if(!await n.confirm(`disconnect ${E.id}?`,{header:{label:`disconnect ${E.id}`,detail:"this cannot be undone",body:[`Removes ${E.module} and deletes ${E.envKey}`,"from your agent's .env.","",{text:"The token cannot be recovered \u2014 Discord shows it once.",tone:"warn"},"You would need a new one to reconnect."]},choices:{yes:`disconnect ${E.id}`,no:"keep it"}}))return;await e.uninstallModule(E.module),await e.unsetKey(E.envKey),YIe().invalidate(),await A(`disconnected ${E.id}`)}function d(){return YIe().refresh(),l8n.map((b)=>({id:b.id,description:b.description,connected:u(b.id)}))}return{begin:i,disconnect:p,isConnected:u,list:d}}function zYa(e,n){if(!e.url)return;return typeof e.url==="string"?e.url:e.url(n)}var WYa=xt(async()=>{Xft();qs();nLe();$Ya();await Qk([Ek(),u8n()])});import{join as g8n}from"path";function ZYa(){return Yhr.map(({id:e,hint:n})=>({kind:"action",label:e,description:n,workingMessage:"setting thinking effort...",action:async()=>{await Uc().setThinking(e)}}))}function jhr(e){let n=e.lastIndexOf("@");return n>0?e.slice(0,n):e}function o$(e,n=""){return{kind:"action",label:`(${e})`,description:n,invalid:!0,action:()=>{}}}function VYa(e){let n=A7e(e);n.ensure();let A=e==="module"?new Set(Uc().modules.value.map((s)=>s.packageName).filter((s)=>Boolean(s))):new Set(nL().declared.value.map(jhr)),i=K8t(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[o$(s)]}return i.map((s)=>({kind:"action",label:s.label,description:s.description??"",action:(u)=>{s.action(u)}}))}var Yhr,XYa,eja="detail",l_o,vBt;var p8n=xt(async()=>{Xft();qs();w8t();t7e();iLe();A3();await Qk([MIe(),Ek(),QYa(),M8t(),EBt(),aL(),KIe(),vYa(),NYa(),MYa(),c8n(),u8n(),T8t(),o8n(),a3(),WYa()]);Yhr=[{id:"low",hint:"fastest, cheapest \u2014 routine edits and lookups"},{id:"medium",hint:"balanced"},{id:"high",hint:"slower, more deliberate \u2014 debugging and design"},{id:"xhigh",hint:"maximum, where the provider offers it"}];XYa=[{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"}],l_o=[...XYa.map((e)=>e.label),eja],vBt=[{kind:"group",label:"connections",description:"Discord, Telegram, Slack \u2014 connect or disconnect",children:()=>FBt().list().map(({id:e,description:n,connected:A})=>({kind:"group",label:e,description:A?"connected":n,children:()=>A?[{kind:"action",label:"reconnect",description:"replace the credential \u2014 the flow runs again",action:()=>{FBt().begin(e)}},{kind:"action",label:"disconnect",description:"remove the module and delete the credential",action:()=>{FBt().disconnect(e)}}]:[{kind:"action",label:"connect",description:n,action:()=>{FBt().begin(e)}}]}))},{kind:"group",label:"open",description:"Open this session in the editor \u2014 a pane, or the console panel",children:()=>{let e=Uc(),n=bAe();if(!n.available.value)return[{kind:"action",label:"(no editor attached)",description:"Open this project in an editor running Axon Fleet",action:()=>{throw Pn("NO_EDITOR_ATTACHED")}}];if(e.sessionId.value===null)return[{kind:"action",label:"(no session)",description:"Start or focus an agent first",action:()=>{throw Pn("NO_SESSION_TO_OPEN")}}];let A=async(s,...u)=>{let p=e.home.value;if(p)await n.editorAbout(p,s,...u);else await n.editor(s,...u)};return[...XYa.map((s)=>({kind:"action",label:s.label,description:s.description,workingMessage:`opening ${s.label}...`,action:async()=>{let u=e.sessionId.value;if(!u)throw Pn("NO_SESSION_TO_OPEN");await A("buffer",s.kind,u)}})),{kind:"action",label:eja,description:"Bring the console panel forward on this instance",workingMessage:"opening console...",action:async()=>{let s=e.sessionId.value;if(!s)throw Pn("NO_SESSION_TO_OPEN");await A("focus",{sessionId:s})}}]}},{kind:"group",label:"agent",description:"The running agent \u2014 spawn, close, reboot, clear",children:()=>[{kind:"group",label:"spawn",description:"Start an agent instance and focus it \u2014 the ~ key is faster",children:()=>{let e=Uc(),n=e.available.value;if(n.length===0)return[o$("no agents","Nothing to spawn \u2014 create one with :agent init")];return n.map((A)=>{if(A.kind==="deployed")return{kind:"action",label:A.name,description:`deployed \xB7 ${A.tier} \u2014 attach`,workingMessage:`connecting to ${A.name}...`,action:()=>{e.attachDeployment(A.deploymentId)}};let i=e.instancesByAgent.value.get(A.name)??[];return{kind:"action",label:A.name,description:i.length>0?`${i.length} running`:"",workingMessage:`starting ${A.name}...`,action:()=>{e.spawnSibling(A.dir)}}})}},{kind:"group",label:"switch",description:"Go to another running conversation \u2014 the / key is faster",children:()=>{let e=Uc(),n=e.instances.value.filter((A)=>A.exitedAt===null);if(n.length===0)return[o$("nothing running","Start one with :agent spawn")];return n.map((A)=>({kind:"action",label:A.name,description:A.focused?"focused":`${A.sessionId.slice(0,8)}${A.activity?` \xB7 ${A.activity}`:""}`,...A.focused?{invalid:!0}:{},action:()=>{if(A.focused)return;e.focus(A.sessionId)}}))}},{kind:"action",label:"close",description:"Shut down the focused agent instance",workingMessage:"closing instance...",action:()=>Uc().close()},{kind:"action",label:"reboot",description:"Reload the running agent (blueprint rescan + hot-swap)",workingMessage:"rebooting...",action:()=>Uc().reboot()},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Uc().clear()},{kind:"action",label:"model",description:"Set the focused agent's model",action:()=>{let e=Mb();e.text.value="",e.mode.setMode("model")}},{kind:"action",label:"config",description:"Open the agent's axon.config.ts \u2014 modules, engine, policy",workingMessage:"opening agent config...",action:async()=>{let e=bAe();if(!e.available.value)throw Pn("NO_EDITOR_ATTACHED");let n=Uc().projectRoot.value;if(!n)throw Pn("NO_LOCAL_PROJECT");await e.editor("open",g8n(n,"axon.config.ts"))}},{kind:"group",label:"thinking",description:"Set the focused agent's thinking effort",children:ZYa}]},{kind:"action",label:"reload",description:"Reload your config \u2014 main.ts, plugins and extensions",workingMessage:"reloading config...",action:async()=>{let e=nL();await e.reload();let n=e.problems.value.length,A=Mk();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:()=>[...XKe().locations().map((e)=>({label:e.label})),{label:"watch a new directory..."}]},action:async(e,n)=>{let A=XKe();if(!n)throw Pn("PALETTE_CHOICE_REQUIRED");if(n==="watch a new directory...")throw Pn("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 Pn("PROJECT_NOT_FOUND",{context:{location:n}});await A.create(e,i),await Uc().select(e)}},{kind:"action",label:"exit",description:"Exit the application",action:()=>UIe().gracefulExit()},{kind:"action",label:"update",description:"Install the latest Axon release and exit",workingMessage:"preparing update...",action:(e)=>e7e().update(e)},{kind:"action",label:"logout",description:"Sign out of your Axon account",workingMessage:"logging out...",action:()=>b8().logout()},{kind:"action",label:"docs",description:"Open Axon documentation",action:()=>{Uhe("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:()=>VYa("module")},{kind:"group",label:"update",description:"Update this agent's modules",children:()=>{let e=SYa();return e.refresh(),q8t({entries:e.entries.value,checking:e.checking.value,noun:"module"}).map((n)=>{if(n.kind==="message")return o$(n.label,n.description);if(n.kind==="all")return{kind:"action",label:"all",description:`Update ${n.count} modules`,workingMessage:`updating ${n.count} modules...`,action:async()=>{await Uc().updateModules(n.entries.map((i)=>({name:i.name,version:i.latest}))),e.invalidate(),Mk().show(`updated ${n.count} modules`)}};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 Uc().updateModules([{name:A.name,version:A.latest}]),e.invalidate(),Mk().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove a module from the running agent",children:()=>{let e=Uc().modules.value;if(e.length===0)return[o$("none installed","This agent has no installed modules")];let n=e.filter(s8n);if(n.length===0)return[o$("none removable","This agent's modules are declared as imports \u2014 remove them from axon.config.ts")];return n.map((A)=>({kind:"action",label:A.packageName,description:A.version?`v${A.version}`:"",workingMessage:`removing ${A.packageName}...`,action:()=>{Uc().uninstallModule(A.packageName)}}))}}]},{kind:"input",label:"attach",description:"Bind to an agent already running at a URL",placeholder:"http://localhost:3010",token:"url",workingMessage:"attaching...",action:async(e)=>{await Uc().attachUrl(e)}},{kind:"group",label:"key",description:"The focused agent's own environment variables",children:()=>[{kind:"input",label:"set",description:"Set a variable in this agent's .env, then reload",placeholder:"NAME value",token:"NAME value",workingMessage:"setting key...",secret:!0,action:async(e)=>{let n=e.trim(),A=n.search(/\s/);if(A<1){Mk().show("usage: :key set NAME value");return}let i=n.slice(0,A),s=n.slice(A+1).trim();if(s===""){Mk().show("usage: :key set NAME value");return}await Uc().setKey(i,s),YIe().invalidate(),Mk().show(`set ${i} \xB7 reloaded`)}},{kind:"group",label:"list",description:"What this agent's .env defines",children:()=>{let e=YIe();if(e.refresh(),e.checking.value&&e.names.value.length===0)return[o$("reading\u2026","Reading this agent's .env")];if(e.names.value.length===0)return[o$("none set","This agent's .env defines nothing yet")];return e.names.value.map((n)=>({kind:"action",label:n,description:"set",invalid:!0,action:()=>{}}))}}]},{kind:"group",label:"cognet",description:"The agent's brain \u2014 move it to a newer version",children:()=>[{kind:"group",label:"update",description:"Update this agent's cognet",children:()=>{let e=GYa();e.refresh();let n=e.entry.value;return q8t({entries:n?[n]:[],checking:e.checking.value,noun:"cognet"}).map((A)=>{if(A.kind==="message")return o$(A.label,A.description);if(A.kind==="all")return{kind:"action",label:"all",description:`Update ${A.count} cognets`,workingMessage:"updating cognet...",action:async()=>{for(let s of A.entries)await Uc().updateCognet(s.name,s.latest);e.invalidate(),Mk().show("updated cognet")}};let i=A.entry;return{kind:"action",label:i.name,description:`${i.current} \u2192 ${i.latest}`,workingMessage:`updating ${i.name}...`,action:async()=>{await Uc().updateCognet(i.name,i.latest),e.invalidate(),Mk().show(`updated ${i.name} to ${i.latest}`)}}})}}]},{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:()=>VYa("extension")},{kind:"group",label:"update",description:"Update installed extensions",children:()=>{let e=FYa();return e.refresh(),q8t({entries:e.entries.value,checking:e.checking.value,noun:"extension"}).map((n)=>{if(n.kind==="message")return o$(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 nL().update(i.name,i.latest);e.invalidate(),Mk().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 nL().update(A.name,A.latest),e.invalidate(),Mk().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove an extension from your terminal",children:()=>{let e=nL().declared.value;if(e.length===0)return[o$("none installed","Your profile declares no extensions")];return e.map((n)=>({kind:"action",label:n,description:"",workingMessage:`removing ${n}...`,action:async()=>{await Uc().uninstallExtension(n),Mk().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=Mb();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 Uc().forkSession();Mk().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 Uc().renameSession(e),Mk().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=Uc(),n=bAe(),A=e.sessionFile.value;if(!A)throw Pn("NO_SESSION_TO_OPEN");if(!n.available.value)throw Pn("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:()=>Uc().clear()},{kind:"action",label:"model",description:"Set the focused agent's model",action:()=>{let e=Mb();e.text.value="",e.mode.setMode("model")}},{kind:"group",label:"thinking",description:"Set the focused agent's thinking effort",children:ZYa},{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=bAe();if(!e.available.value)throw Pn("NO_EDITOR_ATTACHED");await e.editor("open",g8n(IC().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=bAe();if(!e.available.value)throw Pn("NO_EDITOR_ATTACHED");await e.editor("open",g8n(IC().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 XKe().watch(e)}},{kind:"group",label:"unwatch",description:"Stop scanning a directory for agents",children:()=>{let e=XKe().watched();if(e.length===0)return[o$("no watched directories")];return e.map((n)=>({kind:"action",label:n.label,description:n.dir,workingMessage:"unwatching directory...",action:async()=>{await XKe().unwatch(n.dir)}}))}},{kind:"group",label:"provider",description:"Manage the inference sources your agents can use",children:[{kind:"group",label:"codex",description:"OpenAI Codex subscription (BYOK)",children:()=>{let e=b8().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=b8().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()}]}},{kind:"group",label:"ollama",description:"Local models through an Ollama daemon",children:()=>{let e=b8().connections.ollama;if(!e.connected.value)return[{kind:"action",label:"enable",description:"Use local Ollama models in your agents",workingMessage:"enabling...",action:()=>e.connect()}];return[{kind:"action",label:"disable",description:"Stop using local Ollama models",workingMessage:"disabling...",action:()=>e.disconnect()}]}}]},{kind:"group",label:"theme",description:"How the terminal looks \u2014 pick a theme, or go back to the default",children:()=>[{kind:"group",label:"set",description:"Choose a theme \u2014 previews as you move",children:()=>{let e=nE(),n=e.committedName.value;return e.themes.value.map((A)=>({kind:"action",label:A.name,description:A.name===n?"current":"",preview:()=>{e.preview(A.name)},action:()=>{e.set(A.name)}}))}},{kind:"action",label:"reset",description:`Go back to ${D8t}, the theme Axon ships with`,action:()=>nE().reset()}]},{kind:"group",label:"lines",description:"Turn status lines on and off",children:()=>[{kind:"group",label:"toggle",description:"Flip a line on or off \u2014 the list stays up",children:()=>{let e=r$();return e.listRegistered().map((n)=>{let A=e.isVisible(n);return{kind:"action",label:n,description:A?"on \u2014 press to hide":"off \u2014 press to show",keepOpen:!0,action:()=>A?e.hide(n):e.show(n)}})}},{kind:"group",label:"on",description:"Show a line",children:()=>{let e=r$();return e.listRegistered().filter((n)=>!e.isVisible(n)).map((n)=>({kind:"action",label:n,description:"Show this line",keepOpen:!0,action:()=>e.show(n)}))}},{kind:"group",label:"off",description:"Hide a line",children:()=>{let e=r$();return e.list().filter((n)=>n.visible).map((n)=>({kind:"action",label:n.name,description:"Hide this line",keepOpen:!0,action:()=>e.hide(n.name)}))}}]}]});function o7e(e,n,A,i){return(s)=>{let u=xR(),p={path:e,source:n,...i!==void 0?{arg:i}:{}},d;try{d=A(s)}catch(b){throw u.notify("command:failed",{...p,error:b}),b}if(!(d instanceof Promise)){u.notify("command:ran",p);return}return d.then(()=>{u.notify("command:ran",p)},(b)=>{throw u.notify("command:failed",{...p,error:b}),b})}}var m8n=xt(()=>{RIe()});function Phr(e){if(e==="")return"";let n=e.search(/\s/);if(n<0)return e;if(e.slice(n+1).trim()==="")return e;return`${e.slice(0,n)} ${Hhr}`}var Hhr="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",tja;var nja=xt(async()=>{Fs();V6e();m8n();A3();await p8n();tja={id:"command",skipDefaultFilter:!0,onCancel:()=>{nE().cancelPreview()},resolve:uA.computed(()=>(e)=>{let n=BYa(e,[...vBt,...F8t.value]);if(n.breadcrumb[0]!=="theme")nE().cancelPreview();function A(s){if(s.kind==="group"||s.kind==="input"){let p=IYa(n.breadcrumb,s.label);return{id:s.label,label:s.label,description:s.description,descendQuery:p,completeQuery:p,action:()=>{}}}let u=[...n.breadcrumb,s.label];return{...s.invalid?{invalid:!0}:{},...s.keepOpen?{keepOpen:!0}:{},...s.choices?{choices:s.choices}:{},...s.preview?{preview:s.preview}:{},id:s.label,label:s.label,description:s.description,workingMessage:s.workingMessage,completeQuery:u.join(" "),action:o7e(u,"palette",s.action)}}if(n.nodes.length===0&&n.exactMatch?.kind==="action"&&!n.input){let s=n.exactMatch;return{items:[A(s)],breadcrumb:G8t(n.breadcrumb),invalid:!1}}if(n.input){let{node:s,value:u}=n.input,p=n.breadcrumb,d=s.secret?Phr(u):u,b=s.secret?void 0:u;return{items:[{id:s.label,label:d||`<${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((E)=>({id:E.label,label:E.label,description:E.description,workingMessage:s.workingMessage,action:o7e(p,"palette",(y)=>Promise.resolve(s.action(u,E.label,y)),b)}))},action:()=>{}}:{action:o7e(p,"palette",(E)=>Promise.resolve(s.action(u,void 0,E)),b)}}],breadcrumb:G8t(n.breadcrumb),invalid:!1}}let i=n.exactMatch!==null&&n.exactMatch.kind==="action";return{items:n.nodes.map(A),breadcrumb:G8t(n.breadcrumb),invalid:!i}})}});function $hr(){let e=IC(),n=e.cloud.client.registry.models,A=e.store.cache.file(Jhr),i=uA.ref([]),s=uA.ref([]),u=uA.ref(!1),p=uA.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 k(){if(E(),d===0||Date.now()-d>Ohr)y()}function x(){if(!p.value)return;p.value=null,y()}return{models:i,failures:s,loading:u,error:p,ensure:k,reset:x}}function rLe(){if(!d8n)d8n=$hr();return d8n}function aja(){rLe().ensure()}var Jhr="models",Ohr=1800000,d8n;var j8t=xt(async()=>{Fs();await a3()});function Whr(){let e=IC().store,n=uA.ref(e.state.get()?.recentModels??[]),A=uA.computed(()=>n.value);function i(s){let u=[s,...n.value.filter((p)=>p!==s)].slice(0,zhr);n.value=u;try{e.state.update((p)=>({...p,recentModels:u}))}catch{}}return{order:A,record:i}}function s7e(){if(!f8n)f8n=Whr();return f8n}var zhr=25,f8n;var Aja=xt(async()=>{Fs();await a3()});function Xhr(){let e=IC(),n=e.ollama,A=e.store.cache.file(Zhr),i=uA.ref(null),s=uA.ref([]),u=uA.ref({}),p=uA.ref(null),d=uA.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 k(){if(b>0)return;try{let U=A.get();if(!U?.sizes)return;u.value=U.sizes,b=U.at??1}catch{}}async function x(){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(),V=await Promise.all($.map(async(ee)=>{try{let me=await n.registry.resolve(ee.name);return me?[ee.name,me.size]:null}catch{return null}})),te={};for(let ee of V)if(ee)te[ee[0]]=ee[1];if(Object.keys(te).length>0){u.value=te,b=Date.now();try{A.set({sizes:te,at:b})}catch{}}}catch(U){d.value=U instanceof Error?U:Error(String(U)),i.value=!1}finally{E=!1}}function S(){if(k(),i.value===null||b===0||Date.now()-b>Vhr)x()}async function L(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=ebr(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:x,pull:L}}function ebr(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 c7e(){if(!h8n)h8n=Xhr();return h8n}var Zhr="ollama-sizes",Vhr=86400000,h8n;var b8n=xt(async()=>{Fs();await a3()});function nbr(e){let n=new Set;for(let A of e)for(let i of A.routes)n.add(i.via);if(n.add("axon"),c7e().running.value)n.add("ollama");return tbr.filter((A)=>n.has(A))}function abr(e,n){let A=0;for(let i of n)if(i.routes.some((s)=>s.via===e))A++;return A}function Abr(e){let n=rLe().models.value,A=abr(e,n),i=uja(e);if(i&&!i.connected.value)return{id:`route:${e}`,label:e,description:`${rja[e]??`${A} models`} \xB7 ${i.hint}`,...i.workingMessage?{workingMessage:i.workingMessage}:{},action:i.connect};return{id:`route:${e}`,label:e,description:rja[e]??`${A} models`,descendQuery:`${e}:`,completeQuery:`${e}:`,action:()=>{}}}function uja(e){let n=b8();switch(e){case"codex":return{connected:n.connections.openai.connected,hint:"not connected \xB7 enter to sign in",workingMessage:"waiting for browser sign-in...",connect:()=>n.connections.openai.connect()};case"ollama":return{connected:n.connections.ollama.connected,hint:"not enabled \xB7 enter to enable",workingMessage:"enabling local models...",connect:()=>n.connections.ollama.connect()};case"openrouter":return{connected:n.connections.openrouter.connected,hint:"no key \xB7 run :provider openrouter connect",connect:()=>{}};default:return null}}function ibr(e){let n=s7e().order.value;if(n.length===0)return[{...C8n(),label:"axon:auto"}];let A=[];for(let i of n.slice(0,rbr)){if(i==="axon:auto"){A.push({...C8n(),label:"axon:auto"});continue}let s=i.indexOf(":");if(s===-1)continue;let u=i.slice(0,s),p=i.slice(s+1),d=uja(u);if(d&&!d.connected.value)continue;let b=e.find((y)=>y.routes.some((k)=>k.via===u&&k.model===p)),E=b?.routes.find((y)=>y.via===u&&y.model===p);if(!b||!E)continue;A.push({...lja(b,E),label:i})}return A}function ija(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function obr(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}function C8n(){let e=Uc().model.value==="axon:auto";return{id:"axon:auto",label:"auto",chunks:["axon","auto"],completeQuery:"axon:auto",description:e?"(current) axon picks per request":"axon picks per request",action:()=>{return s7e().record("axon:auto"),B8n("axon:auto")},workingMessage:"switching to auto..."}}function lja(e,n){let A=Uc().model.value===`${n.via}:${n.model}`;return{id:`${n.via}:${n.model}`,label:e.id,chunks:[n.via,e.id],completeQuery:`${n.via}:${n.model}`,description:`${A?"(current) ":""}${lbr(e,n)}`,action:()=>{if(n.via==="openrouter"&&!b8().connections.openrouter.connected.value)return Promise.reject(Pn("PROVIDER_NOT_CONNECTED",{detail:"OpenRouter key not connected \u2014 run :provider openrouter connect first",context:{provider:"openrouter"}}));if(n.via==="codex"&&!b8().connections.openai.connected.value)return Promise.reject(Pn("PROVIDER_NOT_CONNECTED",{detail:"OpenAI account not connected \u2014 run :provider codex connect first",context:{provider:"codex"}}));return s7e().record(`${n.via}:${n.model}`),B8n(cbr(n))},workingMessage:`switching to ${ubr(e)} via ${n.via}...`}}function sbr(){let e=c7e(),n=Uc().model.value,A=(s)=>n===`ollama:${s}`;return e.catalog().map((s)=>{let u=s.size===void 0?null:`${(s.size/1e9).toFixed(1)}GB`,p=s.capabilities.filter((d)=>d!=="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":u?`download ${u}`:"download",s.parameters,p||null,s.description].filter(Boolean).join(" \xB7 "),action:async()=>{if(s7e().record(`ollama:${s.name}`),await B8n(`ollama:${s.name}`),!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 B8n(e){await Uc().setModel(e)}function cbr(e){return`${e.via}:${e.model}`}function ubr(e){let n=e.name.indexOf(": ");return n===-1?e.name:e.name.slice(n+2)}function lbr(e,n){let A=b8().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(gbr(e.context));if(n.via==="axon")i.push(`${sja(n.pricing.inPerMTok)}/${sja(n.pricing.outPerMTok)}`);if(n.via==="openrouter"&&n.pricing)i.push(`${oja(n.pricing.prompt)}/${oja(n.pricing.completion)}`);if(n.via==="codex")i.push("sub");return i.join(" \xB7 ")}function gbr(e){if(e>=1e6)return`${(e/1e6).toFixed(e%1e6===0?0:1)}m`;return`${Math.round(e/1000)}k`}function oja(e){return`$${e.toFixed(e>0&&e<0.01?4:2)}`}function sja(e){let n=e/100;return`\xA3${n.toFixed(n>0&&n<0.01?4:2)}`}var cja,tbr,rbr=5,rja;var gja=xt(async()=>{Fs();qs();await Qk([Ek(),MIe(),j8t(),Aja(),b8n()]);cja={id:"model",maxHeight:8,onEnter:()=>{let e=rLe();e.ensure(),e.reset(),c7e().ensure()},skipDefaultFilter:!0,resolve:uA.computed(()=>(e)=>{let n=Uc(),A=rLe();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 V of A.failures.value)s.push({id:`failure:${V.source}`,label:V.source,description:V.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=nbr(A.models.value);if(b===null){let V=ibr(A.models.value),te=E.filter((me)=>me.includes(d)),ee=d.length===0?V:V.filter((me)=>{let be=me.chunks?.[0];return be!==void 0&&be.includes(d)});if(te.length===0&&ee.length===0)return s.push({id:"route:none",label:"no such provider",description:E.join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};if(ee.length>0){if(s.push(ija("recent"),...ee),te.length>0)s.push(obr("providers"),ija("providers"))}return s.push(...te.map(Abr)),{items:s}}let y=E.filter((V)=>V.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 k=y[0],x=[];if(k==="axon")x.push(C8n());if(k==="ollama")x.push(...sbr());for(let V of A.models.value)for(let te of V.routes)if(te.via===k)x.push(lja(V,te));let S=s7e().order.value,L=(V)=>{let te=S.indexOf(V.id);return te===-1?Number.MAX_SAFE_INTEGER:te},U=x.sort((V,te)=>L(V)-L(te)),$=b.length===0?U:U.filter((V)=>aLe(b,[V.label])!==null);if($.length===0)return s.push({id:"model:none",label:"no match",description:`${k} has no model matching "${b}"`,action:()=>{},invalid:!0}),{items:s,breadcrumb:`${k} \u203A`,invalid:!0};return s.push(...$),{items:s,breadcrumb:`${k} \u203A`}})},tbr=["axon","codex","openrouter","ollama"];rja={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 pja;var mja=xt(async()=>{Fs();eLe();await aL();pja={id:"help",resolve:uA.computed(()=>()=>{return{items:Object.entries(vne).map(([n,A])=>({id:A,label:`${IBt[A]} ${A}`,description:v8t[A]??n,action:()=>{Mb().mode.setMode(A)}}))}})}});function pbr(e){let n=uA.ref(0);function A(){n.value++}let i=uA.computed(()=>{return n.value,e.history.recent()});function s(u,p){e.history.append(u,p),A()}return{entries:i,append:s}}function SBt(){if(!I8n)I8n=pbr(IC().store);return I8n}var I8n;var E8n=xt(async()=>{Fs();await a3()});var dja;var fja=xt(async()=>{Fs();await Qk([E8n(),aL()]);dja={id:"history",anchor:"bottom",skipDefaultFilter:!0,resolve:uA.computed(()=>()=>{return{items:SBt().entries.value.slice().reverse().map((n)=>({id:n.id,label:n.content,description:n.agentName??void 0,preview:()=>{Mb().previewHistory(n.content)},action:()=>{}}))}})}});function mbr(){return{ordered:[],originSessionId:null,originRoute:null,committed:!1}}function dbr(e,n){let A=new Map(e.map((y)=>[y.sessionId,y])),i=new Map,s=[];for(let y of e){let k=y.parentSessionId,x=k?A.get(k):void 0;if(!x){s.push(y);continue}let S=i.get(x.sessionId);if(S)S.push(y);else i.set(x.sessionId,[y])}let u=new Map(n.map((y,k)=>[y,k])),p=(y)=>u.get(y.sessionId)??Number.MAX_SAFE_INTEGER;s.sort((y,k)=>p(y)-p(k));let d=[],b=new Set,E=(y,k,x)=>{if(b.has(y.sessionId))return;b.add(y.sessionId),d.push({...y,indent:k,last:x});let S=i.get(y.sessionId)??[];S.forEach((L,U)=>E(L,k+1,U===S.length-1))};s.forEach((y,k)=>E(y,0,k===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 fbr(){let e=NBt.value;if(e.committed)return;let n=Uc();if(e.originSessionId&&n.instances.value.some((A)=>A.sessionId===e.originSessionId))n.focus(e.originSessionId);if(e.originRoute)JB().push(e.originRoute)}function hbr(e){let n=()=>{Uc().focus(e.sessionId),JB().push("/")},A=e.exitedAt!==null;return{id:`instance:${e.sessionId}`,label:`${bbr(e)}${e.name}`,completeQuery:e.name,description:Cbr(e),...A?{invalid:!0,action:()=>{}}:{preview:n,action:()=>{NBt.value={...NBt.value,committed:!0},n()}}}}function bbr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function Cbr(e){let n=[];if(e.exitedAt!==null)n.push(`exited ${Bbr(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 Bbr(e){let n=Math.floor((Date.now()-e)/60000);return n<1?"just now":`${n}m ago`}var NBt,hja;var bja=xt(async()=>{Fs();await Ek();NBt=uA.ref(mbr()),hja={id:"instance",maxHeight:8,onEnter:()=>{let n=Uc().instances.value,A=n.find((i)=>i.focused)?.sessionId??null;NBt.value={originSessionId:A,originRoute:JB().currentRoute.value.path,committed:!1,ordered:[...A?[A]:[],...n.filter((i)=>i.sessionId!==A).map((i)=>i.sessionId)]}},onCancel:fbr,resolve:uA.computed(()=>(e)=>{let n=Uc().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:dbr(n,NBt.value.ordered).map(hbr)}})}});function Ibr(e,n){return{id:`agent:${e.name}`,label:e.name,description:n.length>0?`${n.length} running`:void 0,action:()=>Uc().spawnSibling(e.dir),detach:!0,workingMessage:`starting ${e.name}...`}}function Ebr(e){return{id:`deployment:${e.deploymentId}`,label:e.name,description:`running \xB7 ${e.tier}`,action:()=>Uc().attachDeployment(e.deploymentId),detach:!0,workingMessage:`connecting to ${e.name}...`}}function y8n(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function Cja(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}var Bja;var Ija=xt(async()=>{Fs();await Ek();Bja={id:"agent",maxHeight:8,resolve:uA.computed(()=>(e)=>{let n=Uc(),A=[],i=n.available.value,s=i.filter((p)=>p.kind==="local");if(s.length>0){A.push(y8n("agents"));for(let p of s){let d=n.instancesByAgent.value.get(p.name)??[];A.push(Ibr(p,d))}}let u=i.filter((p)=>p.kind==="deployed");if(u.length>0){A.push(Cja("cloud"),y8n("deployed"));for(let p of u)A.push(Ebr(p))}if(n.deploymentsError.value)A.push(Cja("cloud"),y8n("deployed")),A.push({id:"deployments:error",label:"unavailable",description:n.deploymentsError.value.message,action:()=>{},invalid:!0});return{items:A}})}});function ybr(e){return e.hasEntries||e.running||e.forkedFrom!==null}function Qbr(e){let n=new Map(e.map((y)=>[y.sessionId,y])),A=new Map,i=[];for(let y of e){let k=y.forkedFrom,x=k?n.get(k):void 0;if(!x){i.push(y);continue}let S=A.get(x.sessionId);if(S)S.push(y);else A.set(x.sessionId,[y])}let s=new Map,u=(y)=>{let k=s.get(y.sessionId);if(k!==void 0)return k;s.set(y.sessionId,y.modifiedAt);let x=y.modifiedAt;for(let S of A.get(y.sessionId)??[])x=Math.max(x,u(S));return s.set(y.sessionId,x),x},p=(y,k)=>u(y)-u(k);i.sort(p);for(let y of A.values())y.sort(p);let d=[],b=new Set,E=(y,k,x)=>{if(b.has(y.sessionId))return;b.add(y.sessionId),d.push({...y,indent:k,last:x});let S=A.get(y.sessionId)??[];S.forEach((L,U)=>E(L,k+1,U===S.length-1))};i.forEach((y,k)=>E(y,0,k===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 _br(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function wbr(e){let n=[Dbr(e.modifiedAt)];if(e.running)n.push("running");if(e.title)n.push(e.sessionId.slice(0,8));return n.push(kbr(e.sizeBytes)),n.join(" \xB7 ")}function kbr(e){if(e<1024)return`${e}b`;if(e<1048576)return`${Math.round(e/1024)}k`;return`${(e/1048576).toFixed(1)}M`}function Dbr(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 Eja;var yja=xt(async()=>{Fs();await Ek();Eja={id:"session",maxHeight:8,anchor:"bottom",resolve:uA.computed(()=>(e)=>{let n=Uc(),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&&ybr(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:Qbr(u).map((d)=>({id:`session:${d.sessionId}`,label:`${_br(d)}${d.title??d.sessionId.slice(0,8)}`,completeQuery:d.title??d.sessionId.slice(0,8),description:wbr(d),preview:()=>{n.preview.show(d)},action:()=>n.resume(d.agent,d.sessionId),detach:!0}))}})}});var Qja;var _ja=xt(()=>{Fs();A3();Qja={id:"theme",resolve:uA.computed(()=>()=>{let e=nE(),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:()=>{nE().cancelPreview()}}});function xbr(){let e=IC().files,n=uA.ref([]),A=uA.ref(!1),i=uA.ref(null),s=uA.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 _8n(){if(!Q8n)Q8n=xbr();return Q8n}function wja(){_8n().ensure()}var Q8n;var w8n=xt(async()=>{Fs();await a3()});function Fbr(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 kja(e){return e.startsWith(".")||e.includes("/.")}function vbr(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,xja).map((u)=>Fja(u,u.name))}function Sbr(e,n){let A=[];for(let i of e){let s=aLe(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(kja(i.entry.path))-Number(kja(s.entry.path))||i.entry.path.length-s.entry.path.length),A.slice(0,xja).map((i)=>Fja(i.entry,i.entry.path))}function Fja(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?()=>{}:()=>{Mb().resolveInline(e.path)}}}var Dja,xja=200;var vja=xt(async()=>{Fs();await Qk([w8n(),aL()]);Dja={id:"file",maxHeight:10,skipDefaultFilter:!0,resolve:uA.computed(()=>(e)=>{let n=_8n();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?vbr(A,i):Sbr(A,i);if(n.loading.value&&u.length===0)return{items:[],status:{kind:"loading",message:"reading working tree..."}};return{items:u,...s&&i!==""?{breadcrumb:Fbr(i)}:{},...n.truncated.value?{status:{kind:"error",message:"tree too large \u2014 results are partial"}}:{}}})}});function Nbr(){if(Sja)return;Sja=!0;for(let e of[tja,cja,pja,dja,hja,Bja,Eja,YYa,JYa,Qja,Dja])fYa(e)}function Nja(e){Nbr();let{mode:n,query:A,setQuery:i}=e,s=e.hint??(()=>null),u=uA.ref(0),p=uA.ref(0),d=uA.ref(!1),b=uA.ref(null),E=uA.computed(()=>N8t(n.value)),y=uA.ref(null),k=3,x=uA.ref(null),S=uA.ref(0),L=uA.computed(()=>E.value?.tabs??null),U=uA.computed(()=>{let Ya=L.value;if(!Ya)return null;return Ya.slice(S.value,S.value+k)});function $(Ya){let ga=L.value;if(!ga)return;let fr=ga.findIndex((Ye)=>Ye.id===Ya);if(fr===-1)return;if(x.value=Ya,fr<S.value)S.value=fr;else if(fr>=S.value+k)S.value=fr-k+1;je()}let V=HC();uA.watch(n,(Ya,ga)=>{if(ga!==void 0&&ga!==Ya)N8t(ga)?.onCancel?.(y.value);let fr=N8t(Ya);if(y.value=fr?.createState?fr.createState():null,fr?.onEnter?.(y.value),x.value=fr?.tabs?.[0]?.id??null,S.value=0,u.value=0,p.value=0,d.value=!1,b.value=null,ga!==void 0&&ga!=="normal"&&Ya==="normal")setTimeout(()=>V(),0)},{immediate:!0});let te=uA.computed(()=>E.value?.resolve.value(A(),x.value,i)??{items:[]}),ee=uA.computed(()=>te.value.items),me=uA.computed(()=>{let Ya=s();if(Ya!==null)return Ya;if(b.value!==null)return b.value;let ga=ee.value;if(E.value?.skipDefaultFilter)return ga;let fr=A().toLowerCase().trim();if(!fr)return ga;let Ye=(SA)=>SA.chunks?aLe(A(),SA.chunks)!==null:SA.label.toLowerCase().includes(fr)||(SA.description?.toLowerCase().includes(fr)??!1),vn=[],mn=[],qa=!1;for(let SA of ga){if(SA.separator){mn=[SA],qa=!1;continue}if(SA.header){mn=[...mn,SA],qa=Ye(SA);continue}if(qa||Ye(SA)){if(mn.length>0){if(vn.length===0&&mn[0]?.separator)mn.shift();vn.push(...mn),mn=[]}vn.push(SA)}}if(fr.length>0&&vn.length>1&&vn.every((SA)=>SA.chunks)){let SA=vn.map((Va,li)=>({item:Va,index:li,score:aLe(A(),Va.chunks)??0}));return SA.sort((Va,li)=>li.score-Va.score||Va.index-li.index),SA.map((Va)=>Va.item)}return vn}),be=uA.computed(()=>{if(gt.value!==null)return 1;if(wa.value!==null)return 1;if(me.value.length===0)return 1;let Ya=E.value?.maxHeight??5;return Math.min(me.value.length,Ya)});uA.watch(me,(Ya,ga)=>{if(!d.value&&Ya.length>0){u.value=Te.value,d.value=!0,nt(),Xe();return}let fr=bYa({items:Ya,previous:ga,selectedIndex:u.value,homeIndex:Te.value});if(fr!==u.value)u.value=fr,nt()});let ce=uA.computed(()=>{let Ya=me.value;for(let ga=0;ga<Ya.length;ga++)if(xJ(Ya,ga))return ga;return 0}),ke=uA.computed(()=>{let Ya=me.value;for(let ga=Ya.length-1;ga>=0;ga--)if(xJ(Ya,ga))return ga;return 0}),Te=uA.computed(()=>{let Ya=me.value;for(let ga=0;ga<Ya.length;ga++)if(Ya[ga].current&&xJ(Ya,ga))return ga;return E.value?.anchor==="bottom"?ke.value:ce.value});function Ze(Ya){let ga=me.value;if(ga[Ya]?.header)return!1;for(let fr=0;fr<=Ya&&fr<ga.length;fr++)if(ga[fr].header)return!0;return!1}function nt(){let Ya=be.value,ga=u.value;if(ga<=p.value)p.value=Ze(ga)?Math.max(0,ga-1):ga;else if(ga>=p.value+Ya)p.value=ga-Ya+1}function je(){p.value=0,d.value=!1,u.value=Te.value,nt()}function Xe(){me.value[u.value]?.preview?.()}let gt=uA.ref(null),Oe=null,_t=uA.ref(0);function tn(){_t.value++}function Ct(){Oe?.abort(),Oe=null,gt.value=null}function Kn(Ya){return Ya instanceof Error?Ya.message:"failed"}async function ma(Ya){Oe=new AbortController;let ga=Oe.signal,fr;try{fr=Ya.action(ga)}catch(vn){Oe=null,gt.value={kind:"error",label:Ya.label,message:Kn(vn)};return}if(!(fr instanceof Promise)){Oe=null;return}if(Ya.detach){if(Oe=null,!Ya.inlineResult)i("");n.value="normal",fr.catch(()=>{});return}let Ye=Ya.label;gt.value={kind:"working",label:Ye,message:Ya.workingMessage??Ya.description??"working...",startedAt:Date.now()};try{if(await fr,!ga.aborted){if(gt.value=null,Ya.keepOpen)return;if(!Ya.inlineResult)i("");n.value="normal"}}catch(vn){if(!ga.aborted)gt.value={kind:"error",label:Ye,message:Kn(vn)}}finally{Oe=null}}function Tt(Ya){if(Ya.choices)try{b.value=Ya.choices(),u.value=0,p.value=0}catch(ga){gt.value={kind:"error",label:Ya.label,message:Kn(ga)}}else if(Ya.descendQuery!==void 0)i(Ya.descendQuery);else ma(Ya)}function na(){if(gt.value!==null)return null;let Ya=me.value[u.value]??null;if(Ya&&xJ(me.value,u.value))Tt(Ya);return Ya}function Ra(Ya){if(gt.value!==null)return null;let ga=me.value[Ya]??null;if(ga&&xJ(me.value,Ya))u.value=Ya,Tt(ga);return ga}function Un(Ya){if(!xJ(me.value,Ya))return;u.value=Ya,nt(),Xe()}fh("tab",(Ya)=>{if(gt.value===null){let ga=me.value[u.value]??null;if(ga&&xJ(me.value,u.value)){let fr=ga.completeQuery??ga.label;if(fr.length>0)i(fr)}}if(Ya)Ya.consumed=!0}),fh("up",(Ya)=>{let ga=me.value,fr=ga.length;if(fr===0)return;for(let Ye=1;Ye<=fr;Ye++){let vn=(u.value-Ye+fr)%fr;if(xJ(ga,vn)){u.value=vn,nt(),Xe();break}}if(Ya)Ya.consumed=!0}),fh("down",(Ya)=>{let ga=me.value,fr=ga.length;if(fr===0)return;for(let Ye=1;Ye<=fr;Ye++){let vn=(u.value+Ye)%fr;if(xJ(ga,vn)){u.value=vn,nt(),Xe();break}}if(Ya)Ya.consumed=!0}),fh("escape",(Ya)=>{if(gt.value?.kind==="working"){if(Ct(),Ya)Ya.consumed=!0;return}if(gt.value!==null){if(Ct(),Ya)Ya.consumed=!0;return}if(b.value!==null){if(b.value=null,u.value=ce.value,p.value=0,Ya)Ya.consumed=!0;return}if(me.value.length===0)return;if(y.value=E.value?.createState?E.value.createState():null,Ya)Ya.consumed=!0});function Ja(){let Ya=me.value;return xJ(Ya,u.value)?Ya[u.value]:null}fh("left",(Ya)=>{let ga=L.value;if(ga&&x.value){let vn=ga.findIndex((mn)=>mn.id===x.value);if($(ga[(vn-1+ga.length)%ga.length].id),Ya)Ya.consumed=!0;return}let fr=E.value?.onLeft,Ye=Ja();if(fr&&Ye){if(fr(Ye),Ya)Ya.consumed=!0}}),fh("right",(Ya)=>{let ga=L.value;if(ga&&x.value){let vn=ga.findIndex((mn)=>mn.id===x.value);if($(ga[(vn+1)%ga.length].id),Ya)Ya.consumed=!0;return}let fr=E.value?.onRight,Ye=Ja();if(fr&&Ye){if(fr(Ye),Ya)Ya.consumed=!0}});let GA=uA.computed(()=>{let Ya=me.value,ga=p.value,fr=null;for(let Ye=0;Ye<=ga&&Ye<Ya.length;Ye++)if(Ya[Ye].header)fr=Ya[Ye].label;if(Ya[ga]?.header)return null;return fr}),bn=uA.computed(()=>te.value.breadcrumb??null),ya=uA.computed(()=>te.value.header??null),wa=uA.computed(()=>te.value.status??null),Aa=uA.computed(()=>te.value.invalid??!1);return{filtered:me,height:be,isRegisteredMode:uA.computed(()=>E.value!==void 0),selectedIndex:uA.computed(()=>u.value),scrollY:uA.computed(()=>p.value),tabs:U,activeTabId:uA.computed(()=>x.value),stickyHeader:GA,breadcrumb:bn,header:ya,status:wa,isInvalidCommand:Aa,hasNothingToRun:uA.computed(()=>me.value.length>0&&Ja()===null),working:uA.computed(()=>gt.value),noMatchSignal:uA.computed(()=>_t.value),signalNoMatch:tn,hasChoiceList:uA.computed(()=>b.value!==null),keepsOpen:uA.computed(()=>Ja()?.keepOpen??!1),hasHint:uA.computed(()=>s()!==null),selectTab:$,reset:je,selectCurrent:na,selectAt:Ra,hoverAt:Un,abortWorking:Ct}}var Sja=!1;var Gja=xt(async()=>{Fs();hYa();_ja();await Qk([nja(),gja(),mja(),fja(),bja(),Ija(),yja(),R8t(),c8n(),vja()])});function H8t(){if(!k8n)k8n=Gbr();return k8n}function Gbr(){let n=IC().mic,A=uA.ref(n.waveform()),i=uA.ref(n.isActive()),s=uA.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,cht.tickMs)}function E(){if(!u)return;clearInterval(u),u=null}return{waveform:uA.computed(()=>A.value),isActive:uA.computed(()=>i.value),elapsedSeconds:uA.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 k8n;var D8n=xt(async()=>{Fs();PQn();await a3()});function P8t(){if(!x8n)x8n=Mbr();return x8n}function Mbr(){let e=uA.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 x8n;var F8n=xt(()=>{Fs()});function Mja(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 J8t(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function Lja(){let e=Uc(),n=Mb(),A=xR(),i=new Set;uA.watch(()=>e.instances.value,(p)=>{let d=new Set(p.map((b)=>b.sessionId));for(let b of p)if(!i.has(b.sessionId))A.notify("agent:ready",{instance:J8t(b)});for(let b of i)if(!d.has(b))A.notify("agent:stopped",{instance:{id:b,name:"",focused:!1,activity:null}});i=d},{immediate:!0}),uA.watch(()=>e.sessionId.value,(p)=>{if(!p)return;let d=e.instances.value.find((b)=>b.sessionId===p);if(d)A.notify("agent:focused",{instance:J8t(d)})});let s=LB();uA.watch(()=>[s.width.value,s.height.value],([p,d])=>{A.notify("tui:resize",{width:p,height:d})}),s.selection.onCopy((p)=>{A.notify("tui:copy",{text:p})});let u=!1;uA.watch(()=>e.activity.value,(p)=>{let d=p==="working";if(u&&!d){let b=e.instances.value.find((E)=>E.focused);if(b)A.notify("message:received",{instance:J8t(b)})}u=d}),uA.watch(()=>n.mode.mode.value,(p,d)=>{if(d===void 0||d===p)return;if(A.notify("mode:changed",{from:d,to:p}),BBt(d))A.notify("palette:closed",{name:d});if(BBt(p))A.notify("palette:opened",{name:p})})}function qja(e){let A=Uc().instances.value.find((i)=>i.focused);if(!A)return;xR().notify("message:sent",{content:e,instance:J8t(A)})}var v8n=xt(async()=>{Fs();eLe();RIe();await Qk([Ek(),aL()])});var Uja={};OA(Uja,{useInput:()=>Mb,DRAFT_MODES:()=>GBt});function Mb(){if(!S8n)S8n=Lbr();return S8n}function Lbr(){let e=HE(),n=HC(),A=uA.ref(""),i=null,s=null,u=cYa(()=>A.value,()=>e.value.path!=="/auth"),p=Nja({mode:u.mode,query:()=>V()??A.value,setQuery:(_t)=>{te(_t)},hint:()=>ee()}),d=H8t(),b=IC(),E=uA.ref(!1),y=uA.ref(null),k=null;function x(){if(E.value=!0,k)clearTimeout(k);k=setTimeout(()=>{E.value=!1,k=null},600)}uA.watch(()=>p.noMatchSignal.value,()=>{x()}),uA.watch(()=>e6().pending.value!==null,(_t)=>{if(_t)A.value="",u.setMode(VKe);else if(A.value="",u.mode.value===VKe)u.setMode("normal")}),uA.watch(()=>TIe().current.value!==null,(_t)=>{if(_t)A.value="",u.setMode(ZKe);else if(u.mode.value===ZKe)A.value="",u.setMode("normal")});let S=null,L=null;function U(_t){L=_t,A.value=_t}uA.watch(A,(_t)=>{if(u.mode.value!=="history")return;if(_t===L)return;S=null,L=null,u.setMode("normal")});function $(){if(!(u.mode.value==="normal"||X6e.some((tn)=>tn.mode===u.mode.value)))return null;for(let tn of X6e){let Ct=rYa(A.value,tn);if(Ct)return{trigger:tn,start:Ct.start,query:Ct.query}}return null}function V(){return $()?.query??null}function te(_t){let tn=$();if(tn){A.value=A.value.slice(0,tn.start)+tn.trigger.key+_t;return}A.value=_t}function ee(){if(u.mode.value!=="normal")return null;let _t=X6e.filter((tn)=>iYa(A.value,tn));if(_t.length===0)return null;return _t.map((tn)=>({id:tn.mode,label:`${IBt[tn.mode]} ${tn.mode}`,description:v8t[tn.mode]??tn.key,action:()=>{A.value=A.value+tn.key}}))}uA.watch(A,(_t)=>{if(u.mode.value!=="normal")return;for(let tn of X6e){if(tn.resolve!=="append")continue;let Ct=oYa(_t,tn);if(Ct===-1)continue;s=tn,i=_t.slice(0,Ct).replace(/ $/,""),u.setMode(tn.mode);return}}),uA.watch(A,()=>{let _t=$();if(_t&&u.mode.value==="normal"){s=_t.trigger,i=null,u.setMode(_t.trigger.mode);return}if(!_t&&s?.resolve==="splice"&&u.mode.value===s.mode)s=null,u.setMode("normal")});function me(_t){let tn=$();if(!tn){s=null,u.setMode("normal");return}A.value=`${A.value.slice(0,tn.start)}${_t} `,s=null,u.setMode("normal")}function be(){let _t=$();if(s=null,!_t)return;A.value=A.value.slice(0,_t.start).replace(/ $/,"")}uA.watch(u.mode,(_t,tn)=>{if(tn==="session"&&_t==="normal")Uc().preview.clear();if(_t==="history")S=A.value;if(tn==="history"&&_t==="normal"){if(L=null,S!==null)A.value=S,S=null}if(_t==="voice"&&tn!=="voice")d.start().catch((Ct)=>{y.value=Ct instanceof Error?Ct:Error(String(Ct)),u.setMode("normal")});if(tn==="voice"&&_t!=="voice"){let Ct=u.voiceExitReason.value;u.voiceExitReason.value=null,ce(Ct)}},{flush:"sync"});async function ce(_t){let tn=await d.stop();if(_t!=="confirm"){if(i!==null)A.value=i,i=null;return}u.processing.value=!0;try{let{text:Ct}=await b.cloud.client.cloud.stt.transcribe(tn),Kn=Ct.trim();if(i!==null)if(Kn){let ma=i.endsWith(" ")||i===""?"":" ";A.value=i+ma+Kn}else A.value=i;else if(Kn)A.value=Kn;i=null}catch(Ct){y.value=Ct instanceof Error?Ct:Error(String(Ct))}finally{u.processing.value=!1}}let ke=0,Te=uA.ref(null),Ze=null;function nt(){if(Te.value="press esc again to clear",Ze)clearTimeout(Ze);Ze=setTimeout(()=>{Te.value=null,Ze=null},Tja)}function je(){if(Ze)clearTimeout(Ze);Ze=null,Te.value=null}uA.watch(A,()=>{if(Te.value!==null)je()});function Xe(){if(xSn(),TIe().current.value){TIe().denyAll(),A.value="",u.setMode("normal");return}if(e6().pending.value){e6().cancel(),A.value="",u.setMode("normal");return}let _t=Mja({mode:u.mode.value,working:p.working.value?.kind??null});if(_t.kind==="abort-working"){p.abortWorking();return}if(_t.kind==="dismiss-error"){p.abortWorking(),A.value="",u.setMode("normal");return}if(_t.kind==="try-interrupt"){if(Uc().interrupt()){setTimeout(()=>n(),0);return}}let tn=Date.now(),Ct=tn-ke<Tja;if(ke=tn,Ct){if(je(),A.value.trim())try{SBt().append(A.value,Uc().selected.value)}catch{}A.value=""}else{let Kn=GBt.has(u.mode.value);if(!Kn)A.value="";if(u.mode.value==="voice")u.voiceExitReason.value="cancel";if(be(),u.setMode("normal"),Kn&&A.value.length>0)nt();else je()}}function gt(){if(xSn(),p.working.value!==null)return;if(e6().pending.value?.kind==="prompt"){e6().submitText(A.value),A.value="",u.setMode("normal");return}if(p.isInvalidCommand.value||p.hasNothingToRun.value){x();return}if(p.hasHint.value&&p.filtered.value.length>0){p.selectCurrent();return}if(u.mode.value!=="normal"&&p.filtered.value.length>0){S=null;let Ct=u.mode.value,Kn=p.hasChoiceList.value,ma=p.keepsOpen.value;if(p.selectCurrent(),ma)return;if(p.hasChoiceList.value||Kn)return;if(p.reset(),u.mode.value===Ct&&p.working.value===null){if(Ct!=="history"&&!GBt.has(Ct))A.value="";u.setMode("normal")}return}if(e.value.path==="/auth"){A.value="";return}if(u.mode.value==="normal"&&A.value.trim()){let Ct=A.value;A.value="",p.reset(),y.value=null,P8t().attach();try{SBt().append(Ct,Uc().selected.value)}catch{}Uc().send(Ct).catch((Kn)=>{y.value=Kn instanceof Error?Kn:Error(String(Kn))}),qja(Ct)}}function Oe(_t){A.value+=_t}return{text:A,inputError:E,sendError:y,escHint:Te,mode:u,palette:p,onEnter:gt,onEscape:Xe,onPrintable:Oe,previewHistory:U,resolveInline:me}}var Tja=400,GBt,S8n;var aL=xt(async()=>{Fs();eLe();F8n();YSn();nLe();$Sn();S8t();pBt();await Qk([Gja(),Ek(),D8n(),a3(),E8n(),v8n()]);GBt=new Set(["normal","voice","file"])});function O8t(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 Tbr(e){let n=/^(C-)?(S-)?(.+)$/.exec(e);if(!n)return e;let[,A,i,s]=n,u=[];if(A)u.push("ctrl");if(i)u.push("shift");return u.push(s),u.join("+")}function N8n(e){let n=O8t(e);return qbr.has(n)||n in vne}function Ubr(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 Rja(){let e=Mb();fh("**",(n)=>{if(n?.consumed)return;let A=Ubr(n??{});if(!A)return;let i=M1.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=M1.keyHandler(A);if(!s){xR().notify("key:pressed",{key:Tbr(A),mode:e.mode.mode.value});return}n.consumed=!0,(async()=>{try{await s()}catch(u){Mk().show(`${A} failed`,"error")}})()})}var qbr;var G8n=xt(async()=>{Fs();V6e();iLe();RIe();eLe();await aL();qbr=new Set(["C-c","C-d","escape","return","enter","tab","up","down","left","right","backspace","delete"])});function u7e(){if(!L8n)L8n=Kbr();return L8n}function Rbr(){return process.env.PWD??process.cwd()}async function q8n(e){try{let n=Bun.spawn(["git",...e],{cwd:Rbr(),stdout:"pipe",stderr:"ignore"}),A=await new Response(n.stdout).text();return await n.exited===0?A.trim():null}catch{return null}}function Kbr(){return{state:$8t,async refresh(){if(M8n)return;M8n=!0;try{let e=await q8n(["rev-parse","--abbrev-ref","HEAD"]);if(e===null){$8t.value=T8n;return}let[n,A]=await Promise.all([q8n(["status","--porcelain"]),q8n(["rev-list","--left-right","--count","HEAD...@{upstream}"])]),i=e==="HEAD"?null:e,s=n?n.split(`
|
|
5048
5048
|
`).filter(Boolean).length:0,[u,p]=A?A.split(/\s+/).map((d)=>Number(d)||0):[0,0];$8t.value={branch:i,dirty:s,ahead:u??0,behind:p??0}}catch{$8t.value=T8n}finally{M8n=!1}}}}var T8n,$8t,M8n=!1,L8n;var Kja=xt(()=>{Fs();T8n={branch:null,dirty:0,ahead:0,behind:0},$8t=uA.ref(T8n)});function Pbr(e){return Hbr[e.toLowerCase()]??e}function Jbr(){if(Yja)return;Yja=!0,xR().register("key:pressed",({key:e})=>{MBt=[...MBt,{key:e,at:Date.now()}].slice(-jbr)})}function jja(){Jbr();let e=Date.now()-Ybr;return MBt=MBt.filter((n)=>n.at>e),MBt.map((n)=>Pbr(n.key))}var Ybr=1500,jbr=10,MBt,Yja=!1,Hbr;var Hja=xt(()=>{RIe();MBt=[],Hbr={enter:"\u23CE",return:"\u23CE",tab:"\u21E5",backspace:"\u232B",delete:"\u2326",escape:"esc",space:"\u2423",up:"\u2191",down:"\u2193",left:"\u2190",right:"\u2192",pageup:"\u21DE",pagedown:"\u21DF",home:"\u21F1",end:"\u21F2"}});var U8n;var Pja=xt(async()=>{Kja();Hja();await Qk([Ek(),MIe(),KIe(),aL()]);U8n={"axon:agent/name":{icon:"agent",on:["agent:focused","agent:ready","agent:stopped"],render:()=>Uc().displayName.value},"axon:agent/model":{icon:"model",on:["agent:focused","agent:ready","message:received"],render:()=>{let e=Uc();return e.contextModel.value??e.manifest.value?.model??null}},"axon:agent/modules":{icon:"modules",on:["agent:ready","agent:focused"],render:()=>{let e=Uc(),n=e.manifest.value;return n?n.modules??null:e.modules.value.length}},"axon:agents/active":{on:["agent:ready","agent:stopped"],render:()=>Uc().instances.value.length},"axon:agents/total":{on:["agent:ready","agent:stopped"],render:()=>Uc().available.value.length},"axon:session/name":{icon:"session",on:["agent:focused","agent:ready","message:received"],render:()=>{let e=Uc(),n=e.sessionId.value??e.manifest.value?.sessionId;if(!n)return null;return e.sessions.value.find((A)=>A.sessionId===n)?.title??n}},"axon:session/id":{on:["agent:focused","agent:ready"],render:()=>{let e=Uc();return e.sessionId.value??e.manifest.value?.sessionId??null}},"axon:session/tokens":{icon:"tokens",on:["message:sent","message:received","agent:focused"],render:()=>{let e=Uc(),n=e.context.value??e.manifest.value?.context??null;return n===null?null:`${Math.round(n/1000)}k`}},"axon:session/messages":{icon:"messages",on:["message:sent","message:received","agent:focused"],render:()=>Uc().session.value.entries.length},"axon:profile/email":{icon:"user",on:["tui:reloaded"],render:()=>b8().identity.value?.email??null},"axon:ext/loaded":{on:["tui:reloaded"],render:()=>nL().sources.value.length},"axon:ext/degraded":{icon:"warning",on:["tui:reloaded"],render:()=>{let e=nL().problems.value.length;return e>0?`${e} config errors`:null}},"axon:process/cwd":{icon:"folder",render:()=>process.env.PWD??process.cwd()},"axon:process/pid":{render:()=>process.pid},"axon:git/branch":{icon:"branch",every:5000,on:["agent:focused"],render:()=>{return u7e().refresh(),u7e().state.value.branch}},"axon:git/dirty":{icon:"changes",every:5000,render:()=>{let{dirty:e}=u7e().state.value;return e>0?`${e}`:null}},"axon:git/ahead":{icon:"ahead",every:5000,render:()=>{let{ahead:e}=u7e().state.value;return e>0?`${e}`:null}},"axon:git/behind":{icon:"behind",every:5000,render:()=>{let{behind:e}=u7e().state.value;return e>0?`${e}`:null}},"axon:agent/status":{on:["agent:ready","agent:focused","message:sent","message:received"],render:()=>Uc().activity.value},"axon:agent/error":{icon:"error",on:["agent:ready","agent:stopped","message:received"],render:()=>{let e=Uc().error.value;if(!e)return null;return(e instanceof Error?e.message:String(e)).split(`
|
|
5049
5049
|
`)[0].slice(0,40)}},"axon:mode":{on:["mode:changed"],render:()=>{try{return Mb().mode.symbol.value}catch{return null}}},"axon:keys":{on:["key:pressed"],every:250,render:()=>{let e=jja();return e.length>0?e.join(""):null}},"axon:clock":{icon:"clock",every:1000,render:()=>{let e=new Date,n=(A)=>String(A).padStart(2,"0");return`${n(e.getHours())}:${n(e.getMinutes())}:${n(e.getSeconds())}`}}}});var R8n;var Jja=xt(()=>{R8n={"axon:space":{left:[]},"axon:status":{left:[["axon:agent/name"],["axon:agent/model"]],right:[["axon:agent/status"],["axon:session/tokens"]]},"axon:git":{left:[["axon:git/branch"]],right:[["axon:git/dirty"],["axon:git/ahead","axon:git/behind"]]},"axon:context":{left:[["axon:process/cwd"]],right:[["axon:agents/active"],["axon:clock"]]},"axon:dev":{left:[["axon:mode"],["axon:agent/name"],["axon:agent/status"]],right:[["axon:git/branch","axon:git/dirty"],["axon:session/tokens"],["axon:clock"]]}}});function $ja(){if(Oja)return;Oja=!0;let e=r$();for(let[n,A]of Object.entries(U8n))e.createComponent(n,A);for(let[n,A]of Object.entries(R8n))e.createLine(n,A)}function zja(){return{components:Object.keys(U8n),lines:Object.keys(R8n)}}var Oja=!1;var K8n=xt(async()=>{t7e();Jja();await Pja()});function Wja(e){return typeof e==="string"?e.split(" ").filter(Boolean):[...e]}function Vja(e,n){if(Array.isArray(e.children))return e.children;return n?e.children():[]}function Zja(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"?Vja(u,!0):[]}return i}function LBt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function Xja(e){let{track:n}=e,A=xR(),i=e6(),s=nE();function u(me){let be=me[me.length-1],ce=typeof be==="object"&&be!==null&&!Array.isArray(be)&&"ms"in be&&typeof be.ms==="number",Te=(ce?me.slice(0,-1):me).map((Ze)=>{if(typeof Ze==="string")return Ze;if(Ze===null||Ze===void 0)return String(Ze);if(typeof Ze==="object")try{return JSON.stringify(Ze)}catch{return String(Ze)}return String(Ze)}).join(" ");return ce?{message:Te,ms:be.ms}:{message:Te}}function p(me){return n(me),me}let d={register(me,be){let ce=Wja(me);if(ce.length===0)throw Pn("COMMAND_INVALID",{detail:"a command needs a path"});if(Zja(ce,vBt))throw Pn("COMMAND_PATH_TAKEN",{detail:`${ce.join(" ")} is a built-in command`,context:{path:ce}});let ke=typeof be==="function"?{run:be}:be;if(typeof ke?.run!=="function")throw Pn("COMMAND_INVALID",{detail:`${ce.join(" ")} needs a run() \u2014 commands.register(path, fn) or commands.register(path, { run })`,context:{path:ce}});return p(M1.command({path:ce,action:ke.run,...ke.description?{description:ke.description}:{},...ke.workingMessage?{workingMessage:ke.workingMessage}:{}}))},async run(me){let be=Wja(me),ce=Zja(be,b());if(!ce||ce.kind!=="action")throw Pn("COMMAND_NOT_FOUND",{detail:be.join(" "),context:{path:be}});await o7e(be,"api",ce.action)(new AbortController().signal)},list(){let me=[],be=(ce,ke)=>{for(let Te of ce){let Ze=[...ke,Te.label];if(Te.kind!=="group"){me.push(Ze);continue}let nt=Vja(Te,!1);if(nt.length===0)me.push(Ze);else be(nt,Ze)}};return be(b(),[]),me}};function b(){return[...vBt,...F8t.value]}let E={register(me,be){if(N8n(me))throw Pn("KEY_CHORD_TAKEN",{detail:`${me} belongs to the terminal`,context:{chord:me}});return p(M1.key(O8t(me),be))},send(me){let be=O8t(me),ce=M1.keyHandler(be);if(ce){ce();return}let ke=M1.paletteForKey(be);if(ke){Mb().mode.setMode(ke.name);return}let Te=vne[me]??vne[be];if(Te){Mb().mode.setMode(Te);return}throw Pn("KEY_CHORD_UNBOUND",{detail:me,context:{chord:me}})}},y={async set(me){let be=Object.values(vne).includes(me)||me==="normal",ce=M1.paletteFor(me)!==null;if(!be&&!ce)throw Pn("MODE_UNKNOWN",{detail:me,context:{mode:me}});Mb().mode.setMode(me)},get(){return Mb().mode.mode.value},symbol(){return Mb().mode.symbol.value}},k={get:()=>Mb().text.value,set:(me)=>{Mb().text.value=me},append:(me)=>{Mb().text.value+=me},clear:()=>{Mb().text.value=""},async submit(){Mb().onEnter()}};function x(){let me=Uc().sessionId.value;if(!me)throw Pn("NO_FOCUSED_AGENT");return me}let S={async targets(){let me=Uc();return me.available.value.map((be)=>({name:be.name,kind:be.kind,instances:me.instances.value.filter((ce)=>ce.name===be.name).map(LBt)}))},list:()=>Uc().instances.value.map(LBt),get(me){let be=Uc().instances.value.find((ce)=>ce.sessionId===me);return be?LBt(be):null},focused(){let me=Uc().instances.value.find((be)=>be.focused);return me?LBt(me):null},async spawn(me){let be=Uc(),ce=await be.spawn(me,{focus:!1});if(!ce)throw Pn("AGENT_SPAWN_NO_INSTANCE",{detail:me,context:{name:me}});let ke=be.instances.value.find((Te)=>Te.sessionId===ce);if(!ke)throw Pn("AGENT_SPAWN_NO_INSTANCE",{detail:me,context:{name:me}});return LBt(ke)},focus(me){if(!S.get(me))throw Pn("INSTANCE_NOT_RUNNING",{detail:me,context:{id:me}});Uc().focus(me)},async stop(me){let be=me??x();if(!S.get(be))throw Pn("INSTANCE_NOT_RUNNING",{detail:be,context:{id:be}});await Uc().stop(be)},async reboot(me){let be=Uc(),ce=me??x();if(!S.get(ce))throw Pn("INSTANCE_NOT_RUNNING",{detail:ce,context:{id:ce}});if(ce!==be.sessionId.value)be.focus(ce);await be.reboot()},async send(me){x(),await Uc().send(me)},interrupt:()=>Uc().interrupt()},L={create(me,be){if(be.key&&N8n(be.key))throw Pn("MODE_KEY_TAKEN",{detail:`${be.key} belongs to the terminal`,context:{key:be.key,name:me}});let ce=p(M1.palette(me,be));return{get name(){return me},open:()=>L.open(me),refresh(){let ke=M1.paletteFor(me);if(ke)ke.cache=null},dispose:ce}},get(me){let be=M1.paletteFor(me);if(!be)return null;return{get name(){return me},open:()=>L.open(me),refresh(){be.cache=null},dispose:()=>{}}},async open(me){if(!M1.paletteFor(me))throw Pn("PALETTE_NOT_FOUND",{detail:me,context:{name:me}});if(L.isOpen)throw Pn("PALETTE_ALREADY_OPEN",{detail:me,context:{name:me}});Mb().mode.setMode(me)},close(){Mb().mode.setMode("normal")},get isOpen(){return BBt(Mb().mode.mode.value)},pick:(me,be)=>i.pick(me,be),confirm:(me)=>i.confirm(me),prompt:(me,be)=>i.prompt(me,be)},U={async nav(me){await Uc().select(me)},hook(me,be){return p(A.register(me,be))},info(...me){let{message:be,ms:ce}=u(me);Mk().show(be,"info",ce)},warn(...me){let{message:be,ms:ce}=u(me);Mk().show(be,"warn",ce)},error(...me){let{message:be,ms:ce}=u(me);Mk().show(be,"error",ce)},get size(){let me=LB();return{width:me.width.value,height:me.height.value}},get cwd(){return process.env.PWD??process.cwd()},get version(){return J6e.version},async exit(){await A.gate("tui:shutdown",{}),process.exit(0)}},$=r$();return $ja(),{tui:U,palette:L,commands:d,keys:E,mode:y,input:k,agents:S,theme:{create(me,be){return p(s.create({name:me,...be}))},set(me){s.set(me)},list:()=>s.themes.value,get active(){return s.active.value}},lines:{create(me,be){return $.createLine(me,be,n)},set:(me)=>$.setStack(me),top:(me,be)=>me===void 0?$.top():$.setTop(me,be),style:(me)=>$.style(me),move:(me,be)=>$.move(me,be),hide:(me)=>$.hide(me),show:(me)=>$.show(me),toggle:(me)=>$.toggle(me),list:()=>$.list()},components:{create(me,be){return p($.createComponent(me,be))},list:()=>$.listComponents()}}}var eHa=xt(async()=>{Fs();qs();I8t();eLe();V6e();RIe();m8n();nLe();iLe();A3();t7e();await Qk([Ek(),aL(),p8n(),G8n(),K8n()])});var j8n={};OA(j8n,{useExtensions:()=>nL});function nL(){if(!Y8n)Y8n=$br();return Y8n}async function Obr(){let{useQuestions:e}=await Promise.resolve().then(() => (nLe(),uYa)),{useInput:n}=await aL().then(() => Uja);e().cancel();let A=n();if(A.mode.mode.value!=="normal")A.text.value="",A.mode.setMode("normal")}function $br(){let e=IC(),n=xR(),A=r$(),i=Xja({track:(p)=>e.extensions.disposers.track(p)});async function s(){try{let p=e.store.profiles.active();if(!p)return;let d=await e.projects.open(p.root),b=e.extensions.sources.map((E)=>E.root);d.generate.registry(b,zja())}catch{}}function u(){let p=globalThis;p.tui=i.tui,p.palette=i.palette,p.commands=i.commands,p.keys=i.keys,p.mode=i.mode,p.input=i.input,p.agents=i.agents,p.theme=i.theme,p.lines=i.lines,p.components=i.components}return{errors:uA.computed(()=>l7e.value),fileErrors:uA.computed(()=>e.extensions.sources.flatMap((p)=>p.files.filter((d)=>d.error!==null).map((d)=>({source:p.label,path:d.path,error:d.error})))),problems:uA.computed(()=>{xbe.value;let p=e.extensions.sources.flatMap((b)=>b.files.filter((E)=>E.error!==null).map((E)=>({label:E.path.split("/").slice(-2).join("/"),error:E.error}))),d=A.faults.value.map((b)=>({label:"lines",error:b}));return[...l7e.value.map((b)=>({label:"profile.config.ts",error:b})),...p,...d]}),loaded:uA.computed(()=>xbe.value),sources:uA.computed(()=>e.extensions.sources),list(){return e.extensions.list()},declared:uA.computed(()=>{return xbe.value,z8t.value,[...e.extensions.declared]}),async install(p){try{return await e.extensions.install(p)}finally{z8t.value++}},async uninstall(p){try{return await e.extensions.uninstall(p)}finally{z8t.value++}},updates(){return e.extensions.updates()},async update(p,d){try{return await e.extensions.update(p,d)}finally{z8t.value++}},async load(p){let d=xbe.value;if(u(),xbe.value)await Obr();if(xbe.value)A.reset();let b=[];if(p?.prepare!==!1)try{await e.profile.ensure()}catch(L){b.push(L)}let E=xbe.value?await e.extensions.reload():await e.extensions.load();b.push(...E.errors),l7e.value=b,xbe.value=!0,s(),await e.refreshSettings();let{useSettings:y}=await hBt().then(() => LSn),k=y();await k.refresh();let{useTheme:x}=await Promise.resolve().then(() => (A3(),USn));x().adopt(k.settings.value.theme),A.icons(k.settings.value.icons??"auto");let S=await n.gate("tui:boot",{});if(S.length>0)l7e.value=[...l7e.value,...S];if(d)n.notify("tui:reloaded",{})},async reload(p){await this.load({prepare:p?.prepare??!1})},watch(){if(g7e)return;g7e=e.extensions.watch(async()=>{await this.reload();let p=this.problems.value.length;if(p>0)Mk().show(`config reloaded \u2014 ${p} problem${p===1?"":"s"}`,"error")})},unwatch(){g7e?.(),g7e=null},async logout(){g7e?.(),g7e=null,e.extensions.unload(),xbe.value=!1,l7e.value=[],A.reset();let{useTheme:p}=await Promise.resolve().then(() => (A3(),USn));p().reset()},hooks:n}}var l7e,xbe,z8t,g7e=null,Y8n;var KIe=xt(async()=>{Fs();RIe();t7e();iLe();await Qk([a3(),eHa(),K8n()]);l7e=uA.ref([]),xbe=uA.ref(!1),z8t=uA.ref(0)});import{readFileSync as aHa,existsSync as AHa}from"fs";import{basename as W8t,join as iHa,resolve as zbr}from"path";function TBt(){return{events:[],kernelEvents:[],entries:[],processes:[]}}function Xbr(e){let n=e?.context;return typeof n?.sessionFile==="string"?n.sessionFile:null}function H8n(e){if(!AHa(e))return[];let n=aHa(e,"utf-8").trim();if(n.length===0)return[];return n.split(`
|
|
@@ -5337,4 +5337,4 @@ EXAMPLES
|
|
|
5337
5337
|
page, rather than tucked behind a command: a file that runs at boot
|
|
5338
5338
|
is code someone is actively editing, and a config that silently
|
|
5339
5339
|
did nothing is indistinguishable from one that never loaded. This
|
|
5340
|
-
is the whole feedback loop for writing an extension. `),(i3(!0),eIt(bNn,null,DOa(h7(x),(ee,me)=>{return i3(),eIt(bNn,{key:`config-${me}`},[ee.axon?(i3(),f7(c$,{key:0,error:ee.axon},null,8,["error"])):(i3(),f7(xAe,{key:1,message:`${ee.label}: ${ee.message}`},null,8,["message"]))],64)}),128))],8,["scroll-bottom"])}}});FOa.__scopeId="data-v-1ab3a5bb";var vOa=FOa;var Y4t=!1;{let e=process.argv.slice(2),n={version:"2.0.
|
|
5340
|
+
is the whole feedback loop for writing an extension. `),(i3(!0),eIt(bNn,null,DOa(h7(x),(ee,me)=>{return i3(),eIt(bNn,{key:`config-${me}`},[ee.axon?(i3(),f7(c$,{key:0,error:ee.axon},null,8,["error"])):(i3(),f7(xAe,{key:1,message:`${ee.label}: ${ee.message}`},null,8,["message"]))],64)}),128))],8,["scroll-bottom"])}}});FOa.__scopeId="data-v-1ab3a5bb";var vOa=FOa;var Y4t=!1;{let e=process.argv.slice(2),n={version:"2.0.157",cwd:process.cwd()},A={"--version":async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},"--help":async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},help:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},init:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},prepare:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},doctor:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},dev:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},run:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},exec:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},build:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},deploy:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},publish:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},install:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},i:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},uninstall:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},list:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},search:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},clone:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},fork:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},watch:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},unwatch:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},settings:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},login:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},logout:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},update:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},whoami:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},cognet:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},prompt:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},ext:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},extension:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},module:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},attach:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},ps:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},status:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},logs:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},undeploy:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},bench:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)},staff:async function(s){let{dispatchCommand:u}=await tB().then(() => KB);return await u(s)}};for(let[i,s]of Object.entries(A))if(i.startsWith("-")&&e.includes(i)){let u=e.indexOf(i);Y4t=await s({...n,args:e.slice(u+1),command:i})!=="boot";break}if(!Y4t){let i=e.findIndex((u)=>!u.startsWith("-")),s=i===-1?void 0:e[i];if(s&&s in A)Y4t=await A[s]({...n,args:e.slice(i+1),command:s})!=="boot"}}if(!Y4t)tQn({routes:[{path:"/logs/kernel",component:XJa,name:"logs-kernel"},{path:"/logs/session",component:aOa,name:"logs-session"},{path:"/capsule/:id",component:oOa,name:"capsule-id"},{path:"/account",component:uOa,name:"account",meta:{layout:"default"}},{path:"/auth",component:mOa,name:"auth",meta:{layout:"default"}},{path:"/",component:vOa,name:"home",meta:{layout:"default"}}],styles:[rHa,P5a,gHa,bHa,RHa,IHa,PPa,ZPa,iJa,hJa,bJa,yJa,QJa,FJa,MJa,TJa,gJa,dJa,cJa,KJa,vHa,qHa,wHa,OJa,ZJa,tOa,iOa,sOa,gOa,xOa],layouts:new Map([["default",zJa]]),middleware:[j5a],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"}}});
|