@arcforge/axon 2.0.148 → 2.0.149
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/app.js +16 -16
- package/package.json +1 -1
package/app.js
CHANGED
|
@@ -2886,7 +2886,7 @@ export {}
|
|
|
2886
2886
|
workingMessage?: string
|
|
2887
2887
|
}
|
|
2888
2888
|
|
|
2889
|
-
type
|
|
2889
|
+
type AxonCommands = {
|
|
2890
2890
|
/**
|
|
2891
2891
|
* Add a command to the \`:\` tree.
|
|
2892
2892
|
*
|
|
@@ -2926,7 +2926,7 @@ export {}
|
|
|
2926
2926
|
|
|
2927
2927
|
// \u2500\u2500 Keys \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
2928
2928
|
|
|
2929
|
-
type
|
|
2929
|
+
type AxonKeys = {
|
|
2930
2930
|
/**
|
|
2931
2931
|
* Bind a chord, e.g. "ctrl+o".
|
|
2932
2932
|
*
|
|
@@ -2980,7 +2980,7 @@ export {}
|
|
|
2980
2980
|
// \u2500\u2500 Input \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
2981
2981
|
|
|
2982
2982
|
/** The message box the user types into. */
|
|
2983
|
-
type
|
|
2983
|
+
type AxonInput = {
|
|
2984
2984
|
get: () => string
|
|
2985
2985
|
set: (text: string) => void
|
|
2986
2986
|
/** Append to the current text without clearing it \u2014 the voice-transcript behaviour. */
|
|
@@ -3034,7 +3034,7 @@ export {}
|
|
|
3034
3034
|
* "which one", and collapsing the two would make siblings unreachable from
|
|
3035
3035
|
* extensions.
|
|
3036
3036
|
*/
|
|
3037
|
-
type
|
|
3037
|
+
type AxonAgents = {
|
|
3038
3038
|
/** Every agent that can be started, with its live instances. */
|
|
3039
3039
|
targets: () => Promise<readonly AgentTarget[]>
|
|
3040
3040
|
|
|
@@ -4797,25 +4797,25 @@ ${SUa}
|
|
|
4797
4797
|
// minified CLI bundle, so a handle it must reach for could not be typed.
|
|
4798
4798
|
|
|
4799
4799
|
/** The terminal itself \u2014 navigation, notifications, lifecycle hooks. */
|
|
4800
|
-
const tui:
|
|
4800
|
+
const tui: AxonTui
|
|
4801
4801
|
/** The interaction primitive \u2014 registered palettes, and pick/confirm/prompt. */
|
|
4802
|
-
const palette:
|
|
4802
|
+
const palette: AxonPalette
|
|
4803
4803
|
/** The \`:\` command tree. */
|
|
4804
|
-
const commands:
|
|
4804
|
+
const commands: AxonCommands
|
|
4805
4805
|
/** Key chords. */
|
|
4806
|
-
const keys:
|
|
4806
|
+
const keys: AxonKeys
|
|
4807
4807
|
/** Mode switching. */
|
|
4808
|
-
const mode:
|
|
4808
|
+
const mode: AxonMode
|
|
4809
4809
|
/** The message box. */
|
|
4810
|
-
const input:
|
|
4810
|
+
const input: AxonInput
|
|
4811
4811
|
/** Agent instances \u2014 spawn by name, everything else by instance. */
|
|
4812
|
-
const agents:
|
|
4812
|
+
const agents: AxonAgents
|
|
4813
4813
|
/** The terminal's colours, and switching between them. */
|
|
4814
|
-
const theme:
|
|
4814
|
+
const theme: AxonTheme
|
|
4815
4815
|
/** The configurable rows above the input bar. */
|
|
4816
|
-
const lines:
|
|
4816
|
+
const lines: AxonLines
|
|
4817
4817
|
/** The live values a line can show. */
|
|
4818
|
-
const components:
|
|
4818
|
+
const components: AxonComponents
|
|
4819
4819
|
|
|
4820
4820
|
/** identity declaration \u2014 extension.config.ts only */
|
|
4821
4821
|
function defineExtension(config?: ExtensionConfig): ExtensionDefinition
|
|
@@ -4938,7 +4938,7 @@ held by:
|
|
|
4938
4938
|
${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 lKa=vt(()=>{Zs();PFn();zFn()});var gKa=vt(()=>{lKa();zFn();PFn()});import{execFile as $gr}from"child_process";import{createHash as zgr}from"crypto";import{existsSync as VFn}from"fs";import{mkdir as Wgr,readFile as Zgr,readdir as DCt,rm as pKa,writeFile as fKa}from"fs/promises";import{basename as Vgr,join as N6e,resolve as mKa}from"path";function hKa(e){function n(A,i){return N6e(e.root,"cache","prompts",...A.split("/"),i)}return{async ensure(A){if(!A)throw zn("CLONE_REF_REQUIRED");let{name:i,version:s}=dIe(A),u=await e.cloud.registry.resolve(i,s),p=n(u.name,u.version);if(!VFn(p)||(await DCt(p)).length===0)await evn(await XFn(u.downloadUrl),p);return{name:u.name,version:u.version,root:p}},async cached(){let A=N6e(e.root,"cache","prompts");if(!VFn(A))return[];let i=[];for(let s of await DCt(A))for(let u of await DCt(N6e(A,s)).catch(()=>[]))for(let p of await DCt(N6e(A,s,u)).catch(()=>[]))i.push({name:`${s}/${u}`,version:p,root:N6e(A,s,u,p)});return i}}}function bKa(e){async function n(i,s,u={}){if(!i)throw zn("CLONE_REF_REQUIRED");let{name:p,version:d}=dIe(i),b=await e.cloud.registry.resolve(p,d),E=mKa(s,u.dir??dKa(b.name));return await evn(await XFn(b.downloadUrl),E),await e.prepare(E),{...b,root:E}}async function A(i,s,u={}){if(!u.as)throw zn("FORK_NAME_REQUIRED");if(!i)throw zn("FORK_REF_REQUIRED");let{name:p,version:d}=dIe(i),b=await e.cloud.registry.resolve(p,d),E=mKa(s,u.dir??dKa(u.as));await evn(await XFn(b.downloadUrl),E);let y={...b,root:E},k=N6e(y.root,"package.json"),x=JSON.parse(await Zgr(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 fKa(k,JSON.stringify(x,null,2)+`
|
|
4939
4939
|
`),await e.prepare(E),{...y,name:u.as,version:"0.1.0"}}return{clone:n,fork:A}}function dKa(e){return Vgr(e)}function ZFn(e){return new Promise((n)=>{$gr("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 XFn(e){let n=await fetch(e);if(!n.ok)throw zn("ARTIFACT_DOWNLOAD_FAILED",{detail:`${n.status} ${n.statusText}`,context:{status:n.status}});return n.arrayBuffer()}async function evn(e,n){let A=!1;if(VFn(n)){if((await DCt(n)).length>0)throw zn("CLONE_TARGET_EXISTS",{detail:`${n} is not empty`,context:{target:n}})}else await Wgr(n,{recursive:!0}),A=!0;let i=N6e(n,`.axon-clone-${zgr("sha256").update(new Uint8Array(e)).digest("hex")}.tar.gz`);try{await fKa(i,new Uint8Array(e));let u=(await ZFn(["-tzf",i])).stdout.split(`
|
|
4940
4940
|
`).filter(Boolean),d=u.length>0&&u.every((b)=>b==="package/"||b.startsWith("package/"))?await ZFn(["-xzf",i,"-C",n,"--strip-components=1"]):await ZFn(["-xzf",i,"-C",n]);if(d.exitCode!==0)throw zn("ARTIFACT_EXTRACT_FAILED",{detail:d.stderr.trim(),context:{exitCode:d.exitCode}})}catch(s){if(A)await pKa(n,{recursive:!0,force:!0});throw s}finally{await pKa(i,{force:!0})}}var CKa=vt(()=>{Zs();Cvt()});import{join as Xgr}from"path";async function BKa(e,n){let A=Jr.exists(Xgr(e,"src","prompts")),i=await PRe(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 IKa=vt(()=>{lh();HFt()});function EKa(e){async function n(A){let{name:i,root:s}=await e.cache.ensure(A),u=await BKa(s,i);if(u.entries.length===0)throw zn("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 zn("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 yKa=vt(()=>{Zs();IKa()});var xCt=75,tvn="AXON_UPDATE_REQUEST";var nvn=vt(()=>{Zs()});import{existsSync as epr,realpathSync as tpr}from"fs";import{mkdir as npr,rename as apr,writeFile as Apr}from"fs/promises";import{dirname as QKa,join as ipr}from"path";function avn(e){let n=e.currentVersion,A=process.argv[1]??import.meta.path,i=e.helperPath??_Ka(A),s=e.bunPath??process.execPath,u=e.axonPath??(typeof Bun>"u"?"axon":Bun.which("axon")??"axon"),p=e.requestPath??process.env[tvn];function d(){return epr(i)&&Boolean(p)}async function b(y,k={}){if(!FCt.valid(n))throw zn("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"||!FCt.valid(x.version))throw zn("UPDATE_RELEASE_INVALID",{context:{package:x.package,channel:x.channel,version:x.version}});return{status:FCt.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 zn("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 zn("UPDATE_SUPERVISOR_UNAVAILABLE");await npr(QKa(p),{recursive:!0});let S=`${p}.${process.pid}.tmp`;await Apr(S,JSON.stringify(x,null,2)+`
|
|
4941
|
-
`,"utf-8"),await apr(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 _Ka(e){let n=e;try{n=tpr(e)}catch{}return ipr(QKa(n),"update-helper.js")}var FCt;var wKa=vt(()=>{nvn();Zs();FCt=Bp(t2n(),1)});var kKa=()=>{};var DSt=vt(()=>{wKa();kKa();nvn()});import{join as rpr,resolve as opr}from"path";function vCt(e){let n=opr(e.cwd??process.cwd()),A=e.distribution??spr,i={},s=Ryn({root:e.store??Kyn(A),settings:()=>i,setSetting:async(de,oe)=>{let ke=await me.setSetting(de,oe);return await ne(),ke}}),u=i0a({store:s,distribution:A}),p=jyn(),d=w_a(),b=D_a({root:n}),E=aFn();async function y(){let de=s.profiles.active()?.root;if(!de)return;let{providers:oe}=await v6e(de);return oe}let k=WFn({budget:()=>{return}}),x=rFn({cloud:u.client,profileProviders:()=>y(),frameworkVersion:e.version,...e.frameworkSource?{frameworkSource:e.frameworkSource}:{},...e.repoRoot?{repoRoot:e.repoRoot}:{},bench:{tests:E,clone:(de,oe,ke)=>q.clone(de,oe,ke),prepare:async(de)=>{await(await x.open(de)).prepare()}}}),S=YFn({store:s,projects:x,cloud:u.client,cwd:n,clone:(de,oe,ke)=>q.clone(de,oe,ke),...e.control?{control:e.control}:{}}),q=bKa({cloud:u.client,async prepare(de){await(await x.open(de)).prepare()}}),U=EKa({cache:hKa({cloud:u.client,root:s.root})}),z=avn({cloud:u.client,store:s,currentVersion:e.version}),te=o0a({cloud:u.client}),Ae=jFn({store:s,projects:x,frameworkVersion:e.version});async function ne(){try{i=await me.settings()}catch{i={}}}let me=kFn({root:()=>Ae.root,install:async(de,oe)=>{return{version:(await q.clone(de,rpr(oe,".."),{dir:oe.split("/").at(-1)})).version}},latest:async(de)=>(await u.client.registry.artifacts.resolve(de)).version});return{cloud:u,store:s,deployments:te,projects:x,profile:Ae,extensions:me,refreshSettings:ne,agents:S,registry:q,prompts:U,tests:E,mic:d,files:b,ollama:p,resources:k,updates:z}}var spr="production";var DKa=vt(()=>{o_a();f_a();Pyn();x_a();r0a();BCt();rKa();bSt();gKa();AFn();CKa();yKa();DSt()});var Avn=vt(()=>{DKa()});var G6e;var xSt=vt(()=>{G6e={name:"@arcforge/axon",version:"2.0.148",description:"coding agent cli",module:"index.ts",type:"module",scripts:{build:"vterm build",deploy:"bun run scripts/release.ts patch","deploy:major":"bun run scripts/release.ts major","deploy:minor":"bun run scripts/release.ts minor","deploy:patch":"bun run scripts/release.ts patch",dev:"vterm dev","dev:local":"vterm dev --dotenv .env.local",prepare:"vterm prepare",tail:"vterm tail",test:"bun test --parallel=4","test:serial":"bun test","test:watch":"bun test --watch",typecheck:"bun run scripts/typecheck.ts"},dependencies:{"@arcforge/cognet":"workspace:*","@arcforge/engines":"workspace:*","@arcforge/err":"workspace:*","@arcforge/platform":"workspace:*","@arcforge/types":"workspace:*","@arcforge/vterm":"workspace:*","@arclabs/cloud":"workspace:*","@arclabs/repo":"workspace:*","@arclabs/tools":"workspace:*","@axon/capsule":"workspace:*","@axon/core":"workspace:*","@axon/theme":"workspace:*","@axon/vstr":"workspace:*","@vue/compiler-sfc":"3.5.39",arcline:"workspace:*",chalk:"^5.6.2","fft.js":"^4.0.4",h3:"^1.15.11","markdown-it":"^14.3.0",open:"^11.0.0",semver:"^7.7.4",sharp:"^0.35.3"},devDependencies:{"@types/bun":"latest","@types/markdown-it":"^14.1.2","@types/semver":"^7.7.1","@vue/typescript-plugin":"^3.2.5",postgres:"^3.4.5"},peerDependencies:{typescript:"^5"},bin:{axon:"./bin/axon"}}});function FSt(e,n){let A=e;for(let i of n){if(A===null||typeof A!=="object"||!(i in A))throw zn("CONTROL_PATH_NOT_FOUND",{detail:`no such method on the peer: ${n.join(".")}`,context:{path:n.join(".")}});A=A[i]}return A}function vSt(e){let n=new Map,A=new Map,i=new Map,s=!1,u=0,p=()=>`${++u}`;async function d(k){try{let x=FSt(e.handle,k.path.slice(0,-1)),S=FSt(e.handle,k.path);if(typeof S!=="function")throw zn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let q=await S.apply(x,k.args);e.send({type:"rpc.result",id:k.id,ok:!0,value:q})}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=FSt(e.handle,k.path.slice(0,-1)),S=FSt(e.handle,k.path);if(typeof S!=="function")throw zn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let q=(z)=>e.send({type:"rpc.event",id:k.id,value:z}),U=S.apply(x,[...k.args,q]);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(zn("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(zn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}}));let S=p();return new Promise((q,U)=>{n.set(S,{resolve:q,reject:U}),e.send({type:"rpc.call",id:S,path:k,args:x})})},subscribe(k,x,S){if(s)throw zn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}});let q=p();return i.set(q,S),e.send({type:"rpc.subscribe",id:q,path:k,args:x}),()=>{if(!i.delete(q))return;if(!s)e.send({type:"rpc.unsubscribe",id:q})}},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(zn("CONTROL_CLOSED",{detail:k,context:{error:k}}));n.clear()}}}var SSt=vt(()=>{Zs()});function ivn(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 upr}from"crypto";function SCt(e){let n=upr(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 zn("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:(q)=>b.send(q),close:()=>b.close()};u.set(b,{socket:S,dispatch:vSt({handle:e.handle,send:(q)=>S.send(JSON.stringify(q))})}),b.send(JSON.stringify({type:"control.welcome",peer:"tui"})),s();return}if(!ivn(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 xKa=vt(()=>{Zs();SSt()});var FKa=vt(()=>{Zs();SSt()});var rvn=vt(()=>{xKa();FKa();SSt()});function NSt(){let e=(n)=>{let A=vKa[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()=>SKa}}function NKa(e){vKa=e}function ovn(){SKa=Date.now()}var vKa,SKa;var NCt=vt(()=>{vKa={},SKa=Date.now()});function lAe(){if(!svn)svn=lpr();return svn}function lpr(){let e=null,n=gA.ref(0);function A(){if(e)return;let b=SCt({handle:{tui:NSt()}});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=gA.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 svn;var GSt=vt(()=>{Ns();rvn();NCt()});function IC(){if(!cvn)cvn=vCt({version:G6e.version,cwd:process.env.PWD??process.cwd(),control:()=>lAe().control()});return cvn}var cvn=null;var n3=vt(()=>{Avn();xSt();GSt()});function gpr(e,n){let A=gA.ref("idle"),i=gA.ref(null),s=gA.ref(null),u=gA.ref(0);function p(){u.value++}function d(me,de,oe){let ke=gA.ref(!1),Se=gA.ref(null),Ze=gA.ref(!1);async function lt(){if(!e.authenticated){Ze.value=!1;return}let ht=await me.status();Ze.value=ht.connected&&ht.status==="active"}lt().catch((ht)=>{Se.value=ht instanceof Error?ht:Error(String(ht))});async function ze(...ht){ke.value=!0,Se.value=null;try{if(await de(...ht),oe)await IC().extensions.addProvider(oe);Ze.value=!0}catch(We){throw Se.value=We instanceof Error?We:Error(String(We)),We}finally{ke.value=!1,p()}}async function nt(){if(await me.disconnect(),oe)await IC().extensions.removeProvider(oe);Ze.value=!1,p()}return{connected:Ze,connecting:ke,error:Se,connect:ze,disconnect:nt,refreshStatus:lt}}let b=d(e.connections.openai,()=>e.connections.openai.connect({open:(me)=>{QMe(me)}}),"Codex"),E=d(e.connections.openrouter,(me)=>e.connections.openrouter.connect({key:me}),"OpenRouter");function y(me){let de=gA.ref(!1),oe=gA.ref(!1),ke=gA.ref(null);async function Se(){let ze=await IC().extensions.readProviders();de.value=ze.includes(me)}Se().catch((ze)=>{ke.value=ze instanceof Error?ze:Error(String(ze))});async function Ze(){oe.value=!0,ke.value=null;try{await IC().extensions.addProvider(me),de.value=!0}catch(ze){throw ke.value=ze instanceof Error?ze:Error(String(ze)),ze}finally{oe.value=!1,p()}}async function lt(){await IC().extensions.removeProvider(me),de.value=!1,p()}return{connected:de,connecting:oe,error:ke,connect:Ze,disconnect:lt,refreshStatus:Se}}let k=y("Ollama"),x=gA.ref(e.authenticated?"checking":"signed-out"),S=gA.computed(()=>{return u.value,x.value==="verified"});async function q(){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")q();e.onSessionExpired(()=>{x.value="signed-out",p()});let U=gA.computed(()=>{return u.value,e.client.user.auth.user}),z=gA.computed(()=>{return u.value,n.profiles.list().flatMap((me)=>{let de=n.profiles.get(me).record.get();if(!de)return[];let oe=!!(de.auth.accessToken||de.auth.apiKey);return[{id:me,email:de.user.email,authenticated:oe}]})});async function te(me){A.value="authorizing",i.value=null;try{await e.login({...me!==void 0?{hint:me}:{},onCode:(de)=>{i.value=de,A.value="polling",QMe(de.verificationUriComplete)}}),x.value="verified"}finally{A.value="idle",i.value=null,p()}}async function Ae(me){s.value=me;try{return await e.switch(me),x.value="verified","verified"}catch(de){let oe=l1t(de)&&de.code==="AX-TUI-044";return x.value=oe?"unreachable":"signed-out",oe?"unreachable":"rejected"}finally{s.value=null,p()}}async function ne(){await e.logout(),x.value="signed-out",p()}return{isAuthenticated:S,gate:gA.computed(()=>x.value),verify:q,identity:U,profiles:z,loginStatus:A,deviceAuthorization:i,switchingProfileId:s,startLogin:te,switchProfile:Ae,logout:ne,connections:{openai:b,openrouter:E,ollama:k}}}function d8(){if(!uvn){let e=IC();uvn=gpr(e.cloud,e.store)}return uvn}var uvn;var wIe=vt(()=>{Ns();s1t();Zs();n3()});var pvn={};JA(pvn,{useSettings:()=>LCt});function Epr(){let e=IC();async function n(){try{MCt.value=await e.extensions.settings()}catch{MCt.value={}}lvn.value++}return{settings:gA.computed(()=>{return lvn.value,MCt.value}),refresh:n,async set(A,i){MCt.value={...MCt.value,[A]:i},lvn.value++,await e.extensions.setSetting(A,i)}}}function LCt(){if(!gvn)gvn=Epr();return gvn}var MCt,lvn,gvn;var qCt=vt(()=>{Ns();n3();MCt=gA.ref({}),lvn=gA.ref(0)});var fvn={};JA(fvn,{useTheme:()=>jE,DEFAULT_THEME_NAME:()=>qSt});async function Qpr(e){try{let{useSettings:n}=await Promise.resolve().then(() => (qCt(),pvn));await n().set("theme",e)}catch{}}function DIe(e){return wne.value.find((n)=>n.name===e)??null}function TKa(e){let n=DIe(e);if(!n)throw Error(`no theme named "${e}"`);EJ.value=e,mvn.value=e,kIe.value=null,L6e(n),Qpr(e)}function L6e(e){jLe.register(ypr,{":root":{cssVariables:Sln(e)}}),rgt({theme:e.syntax==="arcnight"?Qyt:e.syntax}),M6e.value++,dvn?.()}function jE(){if(!dvn)try{dvn=ZC()}catch{}return{themes:gA.computed(()=>{return M6e.value,wne.value}),active:gA.computed(()=>{return M6e.value,DIe(EJ.value)??wne.value[0]}),committedName:gA.computed(()=>kIe.value??EJ.value),themeClass:gA.computed(()=>{return M6e.value,`theme-${EJ.value}`}),create(e){if(DIe(e.name))throw Error(`theme "${e.name}" is already registered`);if(wne.value=[...wne.value,e],M6e.value++,mvn.value===e.name)EJ.value=e.name,L6e(e);return()=>{if(wne.value=wne.value.filter((n)=>n.name!==e.name),EJ.value===e.name)EJ.value=wne.value[0].name,L6e(wne.value[0]);M6e.value++}},set:TKa,reset(){TKa(qSt)},preview(e){let n=DIe(e);if(!n)return;if(kIe.value===null)kIe.value=EJ.value;EJ.value=e,L6e(n)},cancelPreview(){if(kIe.value===null)return;let e=DIe(kIe.value);if(EJ.value=kIe.value,kIe.value=null,e)L6e(e)},mount(){let e=DIe(EJ.value)??wne.value[0];L6e(e)},adopt(e){if(!e)return;mvn.value=e;let n=DIe(e);if(!n)return;EJ.value=e,L6e(n)},colors:gA.computed(()=>{M6e.value;let e=DIe(EJ.value)??wne.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 ypr="axon:theme:tokens",qSt,wne,EJ,kIe,mvn,M6e,dvn=null;var D3=vt(()=>{Ns();Ns();Nln();qSt=igt[0].name,wne=gA.ref([...igt]),EJ=gA.ref(igt[0].name),kIe=gA.ref(null),mvn=gA.ref(null),M6e=gA.ref(0)});function UKa(){let e=0;return{claim(){let n=++e;return{get latest(){return e===n}}}}}function RKa(e){for(let n=e.length-1;n>=0;n--){let A=e[n];if(A.type!=="kernel:engine:complete")continue;return A.data.meta.model}return null}function KKa(e){let n=Lhe(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 hvn(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 YKa=vt(()=>{OUe()});function _pr(e,n,A){if(A<=0||n<=0)return;let i=n/A,s=bvn.get(e);bvn.set(e,s===void 0?i:s*0.7+i*0.3)}function wpr(e){return(e?bvn.get(e):void 0)??4.5}function jKa(e,n=[]){let A=null,i=null,s=null,u=-1;for(let d=e.length-1;d>=0;d--){let b=e[d];if(b.type==="kernel:engine:complete"){let E=b.data.meta;if(A??=E.model,E.tokens){i=E.tokens.in+E.tokens.out,u=b.time.seq;break}continue}if(b.type==="kernel:engine:input"){s=b.data.bytes,u=b.time.seq,A??=kpr(e,d);break}}if(i===null&&s===null)return null;if(i!==null){let d=Dpr(e,u);if(A&&d!==null)_pr(A,d,i);return{tokens:i,model:A}}let p=xpr(n,u);return{tokens:Math.round(s/wpr(A))+Math.round(p/3.3),model:A}}function kpr(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 Dpr(e,n){for(let A=e.length-1;A>=0;A--){let i=e[A];if(i.time.seq>=n)continue;if(i.type==="kernel:engine:input")return i.data.bytes;if(i.type==="kernel:engine:complete")return null}return null}function xpr(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 HKa(){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 Fpr(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 vpr(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 PKa(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 JKa(e,n){if(e===null||n<=0)return null;return`${Fpr(e)}/${vpr(n)}`}var bvn;var Cvn=vt(()=>{bvn=new Map});import{homedir as Spr}from"os";import{basename as Npr,relative as Gpr,sep as OKa}from"path";function $Ka(e,n){if(!e)return null;if(/^https?:\/\//i.test(e))return e;if(n&&Mpr(e,n))return`axon:${Npr(e)}`;return Lpr(e)}function Mpr(e,n){let A=Gpr(n,e);return A.length>0&&!A.startsWith("..")&&!A.includes(OKa)}function Lpr(e){let n=Spr();if(e===n)return"~";return e.startsWith(n+OKa)?"~"+e.slice(n.length):e}var zKa=()=>{};function wKe(){U6e.value++}function WKa(e){return e.join(" ")}function qpr(){let e=[];for(let n of N1.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 T6e,TCt,q6e,UCt,U6e,N1,TSt;var R6e=vt(()=>{Ns();Zs();T6e=gA.ref([]),TCt=gA.ref(new Map),q6e=gA.ref(new Map),UCt=gA.ref(new Map),U6e=gA.ref(0);N1={command(e){let n=WKa(e.path);if(T6e.value.some((i)=>WKa(i.path)===n))throw zn("COMMAND_PATH_TAKEN",{detail:n,context:{path:e.path}});let A=crypto.randomUUID();return T6e.value=[...T6e.value,{...e,id:A}],wKe(),()=>{T6e.value=T6e.value.filter((i)=>i.id!==A),wKe()}},get commands(){return T6e.value},key(e,n){if(TCt.value.has(e))throw zn("KEY_CHORD_TAKEN",{detail:e,context:{chord:e}});TCt.value.set(e,n),wKe();let A=!1;return()=>{if(A)return;A=!0,TCt.value.delete(e),wKe()}},keyHandler(e){return TCt.value.get(e)??null},chords:gA.computed(()=>{return U6e.value,[...TCt.value.keys()]}),palette(e,n){if(q6e.value.has(e))throw zn("PALETTE_NAME_TAKEN",{detail:e,context:{name:e}});let A={name:e,definition:n,cache:null};q6e.value.set(e,A);let i=null;if(n.key){let s=UCt.value.get(n.key);if(s)throw q6e.value.delete(e),zn("MODE_KEY_TAKEN",{detail:`${n.key} is bound to "${s}"`,context:{key:n.key,name:e,taken:s}});UCt.value.set(n.key,e),i=()=>{UCt.value.delete(n.key)}}return wKe(),()=>{q6e.value.delete(e),i?.(),wKe()}},paletteFor(e){return U6e.value,q6e.value.get(e)??null},paletteForKey(e){U6e.value;let n=UCt.value.get(e);return n?q6e.value.get(n)??null:null},names:gA.computed(()=>{return U6e.value,[...q6e.value.keys()]}),modeKeys:gA.computed(()=>{return U6e.value,[...UCt.value.entries()].map(([e,n])=>({key:e,name:n}))})};TSt=gA.computed(()=>{return U6e.value,T6e.value,qpr()})});function ZKa(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 VKa(e,n){if(n.resolve!=="splice")return null;let A=Tpr(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 XKa(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 Tpr(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 K6e;var Bvn=vt(()=>{K6e=[{mode:"voice",key:"#",prefix:">",resolve:"append"},{mode:"file",key:"@",resolve:"splice"}]});function RCt(e){return!Upr.has(e)}function t7a(e,n=()=>!0){let A=gA.ref("normal"),i=gA.ref(!1),s=gA.ref(null),u=gA.ref(0),p=null;gA.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}),gA.onUnmounted(()=>{if(p)clearInterval(p)});let d=gA.computed(()=>{if(i.value||A.value==="loading")return e7a[u.value%e7a.length];let y=KCt[A.value];if(y)return y;let k=N1.paletteFor(A.value);return k?.definition.symbol??k?.definition.key??Rpr});function b(y){A.value=y}function E(){for(let[y,k]of Object.entries(kne))Eh(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});Eh("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 kne,Cho,Upr,USt,KCt,Rpr="\xB7",e7a;var Y6e=vt(()=>{Ns();R6e();Bvn();kne={":":"command","/":"instance","*":"model","^":"session","~":"agent","#":"voice","?":"help",">":"prompt","%":"module",'"':"theme"},Cho=new Set(K6e.map((e)=>e.mode)),Upr=new Set(["normal","loading","voice"]);USt={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"},KCt={normal:"\xBB",command:":",instance:"/",model:"*",session:"^",agent:"~",voice:"#",help:"?",history:"\u2191",loading:"\u280B",escalation:"\u203C",prompt:">",module:"%",theme:'"',file:"@",question:"\xB7"},e7a=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});var n7a={};JA(n7a,{useQuestions:()=>WO});function WO(){if(!Ivn)Ivn=Kpr();return Ivn}function Kpr(){function e(n){if(j6e.value)throw zn("PALETTE_ALREADY_OPEN",{detail:"a question is already open"});return new Promise((A)=>{let i=(s)=>{if(!j6e.value)return;j6e.value=null,A(s)};j6e.value={...n(i),settle:i}})}return{pending:gA.computed(()=>j6e.value),cancel(){let n=j6e.value;if(!n)return;n.settle(n.kind==="confirm"?!1:void 0)},submitText(n){let A=j6e.value;if(A?.kind!=="prompt")return;A.settle(n.length>0?n:void 0)},async pick(n,A){return e((i)=>({kind:"pick",message:A?.placeholder??"",items:n.map((s,u)=>{let p=typeof s==="string",d=p?s:s.label,b=p?s:s.value;return{id:`pick-${u}`,label:d,...p?{}:s.description?{description:s.description}:{},action:()=>{i(b)}}})}))},async confirm(n){return e((A)=>({kind:"confirm",message:n,items:[{id:"yes",label:"yes",action:()=>{A(!0)}},{id:"no",label:"no",action:()=>{A(!1)}}]}))},async prompt(n,A){return e(()=>({kind:"prompt",message:n,items:[],...A?.placeholder?{placeholder:A.placeholder}:{}}))}}}var j6e,Ivn;var YCt=vt(()=>{Ns();Zs();j6e=gA.ref(null)});function xIe(){if(!Evn)Evn=Ypr();return Evn}function Ypr(){function e(n,A){let i=pAe.value.find((s)=>s.id===n);if(!i)return;pAe.value=pAe.value.filter((s)=>s.id!==n),i.settle(A)}return{current:gA.computed(()=>pAe.value[0]??null),waiting:gA.computed(()=>Math.max(0,pAe.value.length-1)),ask(n){return new Promise((A)=>{pAe.value=[...pAe.value,{...n,settle:A}]})},answer(n,A=!1){let i=pAe.value[0];if(i)e(i.id,{allow:n,always:A})},denyAll(){let n=pAe.value;pAe.value=[];for(let A of n)A.settle({allow:!1,always:!1})}}}var pAe,Evn;var RSt=vt(()=>{Ns();pAe=gA.ref([])});function jpr(e,n,A){return`${e}\x00${n}\x00${A??""}`}function _vn(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(_vn)}:{},action:e.action??(()=>{})}}function Hpr(e){if(Array.isArray(e))return{items:e.map(_vn)};return{items:e.items.map(_vn),...e.breadcrumb!==void 0?{breadcrumb:e.breadcrumb}:{},...e.status!==void 0?{status:e.status}:{},...e.invalid!==void 0?{invalid:e.invalid}:{}}}function Ppr(e,n,A){let i=jpr(e.name,n,A);a7a.value;let s=yvn.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(!Qvn.has(i))Qvn.add(i),(async()=>{try{let u=await e.definition.list(n,A);yvn.value.set(i,{key:i,...Hpr(u)})}catch(u){yvn.value.set(i,{key:i,items:[],status:{kind:"error",message:u instanceof Error?u.message:String(u)}})}finally{Qvn.delete(i),a7a.value++}})();return{items:[],status:{kind:"loading",message:"loading..."}}}function A7a(e){return{id:e,resolve:gA.computed(()=>(n,A)=>{let i=WO().pending.value;if(i)return{items:i.items,...i.message?{breadcrumb:i.message}:{}};let s=N1.paletteFor(e);if(!s)return{items:[]};return Ppr(s,n,A)}),get skipDefaultFilter(){return N1.paletteFor(e)?.definition.filter===!1},get tabs(){return N1.paletteFor(e)?.definition.tabs},get anchor(){return N1.paletteFor(e)?.definition.anchor},get maxHeight(){return N1.paletteFor(e)?.definition.maxHeight}}}var yvn,Qvn,a7a,kKe="escalation",i7a,DKe="question",r7a;var wvn=vt(()=>{Ns();R6e();YCt();RSt();yvn=gA.ref(new Map),Qvn=new Set,a7a=gA.ref(0);i7a={id:kKe,skipDefaultFilter:!0,resolve:gA.computed(()=>()=>{let e=xIe(),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)`:"")}}})},r7a={id:DKe,skipDefaultFilter:!0,resolve:gA.computed(()=>(e)=>{let n=WO().pending.value;if(!n)return{items:[]};if(n.kind==="prompt"){let A=e.length>0;return{items:[{id:"prompt",label:A?e:n.placeholder??"type an answer",placeholder:!A,description:A?"enter to confirm":"",action:()=>{}}],breadcrumb:n.message}}return{items:n.items,...n.message?{breadcrumb:n.message}:{}}})}});function s7a(e){o7a.set(e.id,e)}function KSt(e){let n=o7a.get(e);if(n)return n;if(e===DKe)return r7a;if(e===kKe)return i7a;return N1.paletteFor(e)?A7a(e):void 0}var o7a;var c7a=vt(()=>{R6e();wvn();o7a=new Map});function Jpr(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 Opr(e,n){if(n===e)return 100;if(n.startsWith(e))return 75;if(n.includes(e))return 50;if(e.length>=$pr&&n.length<=e.length*zpr){if(Jpr(e,n))return 25}return null}function H6e(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=Opr(u,d);if(b!==null&&(p===null||b>p))p=b}if(p===null)return null;s+=p}return s}var $pr=3,zpr=4;function yJ(e,n){let A=e[n];return!!A&&!A.header&&!A.separator&&!A.invalid}function u7a(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||!yJ(n,i))&&!p)return i;let b=u?n.findIndex((E)=>E.id===u.id):-1;return b>=0&&yJ(n,b)?b:s}function l7a(e){return typeof e.children==="function"?e.children():e.children}function Wpr(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 Zpr(e,n){let A=n.toLowerCase();return e.map((i,s)=>({node:i,index:s,score:Wpr(i,A)})).filter((i)=>i.score>0).sort((i,s)=>s.score-i.score||i.index-s.index).map((i)=>i.node)}function g7a(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((q)=>q.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=l7a(S)}let b=A?"":s[s.length-1]??"",E=b?Zpr(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:l7a(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 p7a(e,n){return[...e,n].join(" ")+" "}function YSt(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 Vpr}from"fs";import{join as m7a,resolve as Xpr}from"path";import{homedir as d7a}from"os";function emr(){let e=IC();function n(){let b=e.store.profiles.active();if(!b)throw zn("NOT_AUTHENTICATED");return b}function A(b){let E=d7a();return b===E||b.startsWith(E+"/")?"~"+b.slice(E.length):b}function i(){let b=n(),E={dir:m7a(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=Xpr(b.startsWith("~")?m7a(d7a(),b.slice(1)):b);if(!Vpr(E))throw zn("WATCH_PATH_NOT_FOUND",{context:{path:E}});return await n().agents.watch(E),Yc().refreshAvailable(),E}async function d(b){await n().agents.unwatch(b),Yc().refreshAvailable()}return{locations:i,watched:s,create:u,watch:p,unwatch:d}}function xKe(){if(!kvn)kvn=emr();return kvn}var kvn;var f7a=vt(()=>{n3();Sk();Zs()});function FIe(){if(!Dvn)Dvn=nmr();return Dvn}function nmr(){let e=gA.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},tmr),!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=new Promise((q)=>{setTimeout(()=>{console.error(`shutdown exceeded ${h7a}ms \u2014 exiting without waiting further`),q()},h7a)});await Promise.race([Yc().shutdown().catch((q)=>{console.error("shutdown failed during exit:",q)}),x]),i=!0,setTimeout(()=>{console.error(`exit exceeded ${b7a}ms \u2014 forcing`),process.exit(k)},b7a).unref?.(),s?.(k)}return{hint:e,bind:d,bindDraft:b,onQuit:E,gracefulExit:y}}var tmr=500,h7a=2000,b7a=1500,Dvn;var jCt=vt(()=>{Ns();Sk()});function FKe(){if(!xvn)xvn=Amr();return xvn}function Amr(){let e=IC().updates,n=gA.ref(null),A=gA.ref(!1),i=gA.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(()=>{})},amr);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 FIe().gracefulExit(xCt)}return{current:e.currentVersion,latest:n,available:i,checking:A,check:u,start:p,stop:d,update:b}}var amr=21600000,xvn;var jSt=vt(()=>{Ns();n3();jCt();DSt()});function imr(){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 B7a(e,n){if(!e)return"";if(n==="none")return"";let A=C7a[e];if(!A)return e;return(n==="auto"?imr():n)==="nerd"?A.nerd:A.unicode}var C7a,Zho;var I7a=vt(()=>{C7a={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"}};Zho=Object.keys(C7a)});function xR(){if(!vvn)vvn=rmr();return vvn}function rmr(){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(zn("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(zn("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"),Fvn)});try{if(await Promise.race([d.then(()=>"done"),b])==="timeout")u.push(zn("HOOK_TIMED_OUT",{detail:`${A} did not finish within ${Fvn}ms`,context:{hook:A,budgetMs:Fvn}}))}finally{if(p)clearTimeout(p)}return u},count(A){return n(A).length}}}var Fvn=5000,vvn;var vIe=vt(()=>{Zs()});function e$(){if(!Nvn)Nvn=omr();return Nvn}function omr(){let e=xR();function n(b){try{let E=b.component.render(),y=E===null||E===void 0?"":String(E),k=B7a(b.component.icon,Svn.value);Cbe.value.set(b.name,y&&k?`${k} ${y}`:y)}catch(E){Cbe.value.set(b.name,""),console.error(`line component "${b.name}" failed to render:`,E)}Cbe.value=new Map(Cbe.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??HSt.value}function p(b){let E=eL.value.get(b);if(!E)throw zn("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((q)=>Cbe.value.get(q))]).filter(([S,q])=>E(S,q)).map(([,S])=>S),k=(x)=>i(x).map((S)=>[S,S.map((q)=>Cbe.value.get(q)??"").filter(Boolean)]).filter(([S,q])=>E(S,q)).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(eL.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(ZO.value.has(b))throw zn("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 ZO.value.set(b,y),ZO.value=new Map(ZO.value),n(y),()=>{for(let k of y.teardown)k();ZO.value.delete(b),Cbe.value.delete(b),ZO.value=new Map(ZO.value),Cbe.value=new Map(Cbe.value)}},listComponents(){return[...ZO.value.keys()].sort()},createLine(b,E,y){if(eL.value.has(b))throw zn("LINE_NAME_TAKEN",{detail:`a line named "${b}" is already registered`,context:{name:b}});let k=A(E);eL.value.set(b,{name:b,content:k}),eL.value=new Map(eL.value);let x=()=>{eL.value.delete(b),eL.value=new Map(eL.value),FR.value=FR.value.filter((q)=>q.name!==b),VO.value.delete(b)};y?.(x);let S=s(k).filter((q)=>!ZO.value.has(q));if(S.length>0)XO.value=[...XO.value,zn("COMPONENT_UNKNOWN",{detail:`line "${b}" names ${S.map((q)=>`"${q}"`).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(!eL.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,VO.value=k,y.length>0)XO.value=[...XO.value,zn("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 zn("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],[q]=S.splice(y,1);S.splice(x,0,q),FR.value=S},hide(b){p(b),VO.value=new Set(VO.value).add(b)},show(b){p(b);let E=new Set(VO.value);if(E.delete(b),VO.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(VO.value);if(E.has(b))E.delete(b);else E.add(b);VO.value=E},setTop(b,E){if(b===null){HCt.value=null;return}let y=typeof b==="string"?{line:b,...E}:b;if(!eL.value.has(y.line)){XO.value=[...XO.value,zn("LINE_UNKNOWN",{detail:`no line named "${y.line}"`,context:{name:y.line}})];return}HCt.value={id:`top:${y.line}`,name:y.line,...y.style?{style:y.style}:{}}},top(){let b=HCt.value;if(!b)return null;let E=eL.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=ZO.value.get(b)?.component.click;if(!y)return;try{let k=y();if(k instanceof Promise)k.catch((x)=>{XO.value=[...XO.value,x]})}catch(k){XO.value=[...XO.value,k]}},pressable(b){return Boolean(ZO.value.get(b)?.component.click)},icons(b){if(b!==void 0){Svn.value=b;for(let E of ZO.value.values())n(E)}return Svn.value},style(b){if(b!==void 0)HSt.value=b;return HSt.value},renderedTop:gA.computed(()=>{let b=HCt.value;if(!b)return[];let E=eL.value.get(b.name);if(!E)return[];return d([{placed:b,line:E}])}),faults:gA.computed(()=>XO.value),reset(){XO.value=[],FR.value=[],VO.value=new Set,HSt.value="powerline",HCt.value=null},listRegistered(){return[...eL.value.keys()].sort()},isVisible(b){return FR.value.some((E)=>E.name===b)&&!VO.value.has(b)},list(){let b=[];for(let E of FR.value){let y=eL.value.get(E.name);if(!y)continue;b.push({id:E.id,name:y.name,content:y.content,style:u(E,y),visible:!VO.value.has(y.name)})}return b},rendered:gA.computed(()=>d(FR.value.filter((b)=>!VO.value.has(b.name)).map((b)=>({placed:b,line:eL.value.get(b.name)})).filter((b)=>b.line!==void 0)))}}var ZO,eL,FR,VO,Cbe,XO,HSt,HCt,Svn,Nvn;var vKe=vt(()=>{Ns();Zs();I7a();vIe();ZO=gA.ref(new Map),eL=gA.ref(new Map),FR=gA.ref([]),VO=gA.ref(new Set),Cbe=gA.ref(new Map),XO=gA.ref([]),HSt=gA.ref("powerline"),HCt=gA.ref(null),Svn=gA.ref("auto")});function E7a(){return{entries:gA.computed(()=>PCt.value),checking:gA.computed(()=>Gvn.value),outdated:gA.computed(()=>PCt.value.filter((e)=>e.outdated)),refresh(){if(JCt)return JCt;if(Mvn!==null)return Promise.resolve();if(Date.now()<Lvn)return Promise.resolve();return Gvn.value=!0,JCt=(async()=>{let e=!1;try{let n=await tL().updates();PCt.value=n,e=n.every((A)=>A.latest!==null)}catch{PCt.value=[]}finally{if(e)Mvn=Date.now();else Lvn=Date.now()+smr;Gvn.value=!1,JCt=null}})(),JCt},invalidate(){Mvn=null,Lvn=0,PCt.value=[]}}}var PCt,Gvn,Mvn=null,Lvn=0,smr=1e4,JCt=null;var y7a=vt(()=>{Ns();SIe();PCt=gA.ref([]),Gvn=gA.ref(!1)});function PSt({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 umr(e){let n=NKe.get(e);if(!n)n={modules:[],checkedAt:null,retryAfter:0,inFlight:null},NKe.set(e,n);return n}function Q7a(){let e=Yc(),n=gA.computed(()=>e.projectRoot.value);return{entries:gA.computed(()=>{SKe.value;let A=n.value;if(!A)return[];return NKe.get(A)?.modules??[]}),checking:gA.computed(()=>{SKe.value;let A=n.value;if(!A)return!1;return NKe.get(A)?.inFlight!=null}),outdated:gA.computed(()=>{SKe.value;let A=n.value;if(!A)return[];return(NKe.get(A)?.modules??[]).filter((i)=>i.outdated)}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=umr(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()+cmr;i.inFlight=null,SKe.value++}})(),SKe.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;NKe.delete(A),SKe.value++}}}var NKe,SKe,cmr=1e4;var _7a=vt(()=>{Ns();Sk();NKe=new Map,SKe=gA.ref(0)});function gmr(e){let n=$Ct.get(e);if(!n)n={cognet:null,checkedAt:null,retryAfter:0,inFlight:null},$Ct.set(e,n);return n}function w7a(){let e=Yc(),n=gA.computed(()=>e.projectRoot.value);return{entry:gA.computed(()=>{OCt.value;let A=n.value;if(!A)return null;return $Ct.get(A)?.cognet??null}),checking:gA.computed(()=>{OCt.value;let A=n.value;if(!A)return!1;return $Ct.get(A)?.inFlight!=null}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=gmr(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()+lmr;i.inFlight=null,OCt.value++}})(),OCt.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;$Ct.delete(A),OCt.value++}}}var $Ct,OCt,lmr=1e4;var k7a=vt(()=>{Ns();Sk();$Ct=new Map,OCt=gA.ref(0)});function pmr(){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 mmr(e){let n=IC(),A=n.cloud.client.registry.artifacts,i=n.store.cache.file(`registry-${e}-${pmr()}`),s=gA.ref([]),u=gA.ref(!1),p=gA.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 GKe(e){let n=D7a.get(e);if(!n)n=mmr(e),D7a.set(e,n);return n}var D7a;var JSt=vt(()=>{Ns();n3();D7a=new Map});function Nk(){return{current:OSt,show(e,n="info",A){let i=e.trim();if(i.length===0)return;OSt.value={message:i.length>x7a?`${i.slice(0,x7a-1)}\u2026`:i,level:n};let s=A!==void 0&&Number.isFinite(A)&&A>0?Math.min(A,fmr):dmr;if(P6e)clearTimeout(P6e);P6e=setTimeout(()=>{OSt.value=null,P6e=null},s)},clear(){if(P6e)clearTimeout(P6e);P6e=null,OSt.value=null}}}var x7a=50,dmr=300,fmr=5000,OSt,P6e=null;var J6e=vt(()=>{Ns();OSt=gA.ref(null)});function MKe(){let e=Yc(),n=gA.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 F7a=vt(()=>{Ns();Sk()});function hmr(){let e=IC().cloud.client.registry.artifacts,n=gA.ref([]),A=gA.ref(!1),i=gA.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 v7a(){if(!qvn)qvn=hmr();return qvn}var qvn;var S7a=vt(()=>{Ns();n3()});function bmr(e,n){let A=e.trim().toLowerCase();return{items:MKe().entries.value.filter((s)=>LKe(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 MKe().render(s.name))}catch(u){Mb().sendError.value=M7a(u)}}}))}}function N7a(e,n,A){let i=v7a();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(MKe().entries.value.map((d)=>d.name)),p=i.entries.value.filter((d)=>LKe(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 MKe().fetch(d.name))}catch(b){Mb().sendError.value=M7a(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 Tvn(e,n=[]){if(!e.startsWith("@"))return!1;let A=e.trim().toLowerCase();return!n.some((i)=>i.toLowerCase()===A)}function LKe(e,n,A){if(!e)return!0;let i=e.toLowerCase();return n.toLowerCase().includes(i)||(A?.toLowerCase().includes(i)??!1)}function M7a(e){return e instanceof Error?e:Error(String(e))}var G7a;var $St=vt(()=>{Ns();F7a();S7a();nL();G7a={id:"prompt",maxHeight:8,skipDefaultFilter:!0,resolve:gA.computed(()=>(e,n,A)=>{let i=MKe().entries.value.map((p)=>p.name);if(Tvn(e,i))return N7a(e,A);let s=bmr(e,A),u=N7a(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 zSt(e,n){return GKe(e).entries.value.filter((i)=>LKe(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;Cmr(e,i.name)}}})}async function Cmr(e,n){try{if(e==="extension"){await Yc().installExtension(n),Nk().show(`installed ${n}`);return}if((await Yc().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 Uvn=vt(()=>{JSt();Sk();J6e();nL();$St()});function U7a(){return Yc().modules.value.map((e)=>e.packageName).filter((e)=>e!==void 0)}function Rvn(e){return e.packageName!==void 0&&e.root.includes("node_modules")}function Bmr(e,n){let A=e.trim().toLowerCase();return{items:Yc().modules.value.filter((s)=>LKe(A,s.packageName??s.name,q7a(s))).map((s)=>{let u=s.packageName??s.name;return{id:`module:${u}`,label:u,description:q7a(s),completeQuery:u,choices:()=>Imr(s,n),action:()=>{}}})}}function Imr(e,n){let A=e.packageName??e.name,i=[];if(Rvn(e))i.push({id:`module:uninstall:${A}`,label:"\u2715 uninstall",description:`remove ${A} from this agent`,workingMessage:`uninstalling ${A}...`,action:async()=>{try{if((await Yc().uninstallModule(A)).status==="not-installed")Mb().palette.signalNoMatch();else n("")}catch(s){Mb().sendError.value=Emr(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 L7a(e,n){let A=GKe("module");A.ensure();let i=e.trim().toLowerCase(),s=new Set(U7a()),u=zSt("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 q7a(e){if(e.version)return`v${e.version}`;return e.root.includes("node_modules")?"installed module":"local module"}function Emr(e){return e instanceof Error?e:Error(String(e))}var T7a;var Kvn=vt(()=>{Ns();Sk();JSt();Uvn();nL();$St();T7a={id:"module",maxHeight:8,skipDefaultFilter:!0,resolve:gA.computed(()=>(e,n,A)=>{let i=U7a();if(Tvn(e,i))return L7a(e);let s=Bmr(e,A),u=L7a(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 ymr(e){let n=WCt.get(e);if(!n)n={names:[],loaded:!1,inFlight:null},WCt.set(e,n);return n}function Yvn(){let e=Yc(),n=gA.computed(()=>e.projectRoot.value);return{names:gA.computed(()=>{zCt.value;let A=n.value;if(!A)return[];return WCt.get(A)?.names??[]}),checking:gA.computed(()=>{zCt.value;let A=n.value;if(!A)return!1;return WCt.get(A)?.inFlight!=null}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=ymr(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,zCt.value++}})(),zCt.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;WCt.delete(A),zCt.value++}}}var WCt,zCt;var R7a=vt(()=>{Ns();Sk();WCt=new Map,zCt=gA.ref(0)});import{join as jvn}from"path";function K7a(){return Qmr.map(({id:e,hint:n})=>({kind:"action",label:e,description:n,workingMessage:"setting thinking effort...",action:async()=>{await Yc().setThinking(e)}}))}function _mr(e){let n=e.lastIndexOf("@");return n>0?e.slice(0,n):e}function t$(e,n=""){return{kind:"action",label:`(${e})`,description:n,invalid:!0,action:()=>{}}}function Y7a(e){let n=GKe(e);n.ensure();let A=e==="module"?new Set(Yc().modules.value.map((s)=>s.packageName).filter((s)=>Boolean(s))):new Set(tL().declared.value.map(_mr)),i=zSt(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[t$(s)]}return i.map((s)=>({kind:"action",label:s.label,description:s.description??"",action:(u)=>{s.action(u)}}))}var Qmr,j7a,H7a="detail",hCo,ZCt;var Hvn=vt(()=>{s1t();wIe();Sk();f7a();Zs();jSt();jCt();GSt();nL();vKe();SIe();y7a();_7a();k7a();Kvn();R7a();JSt();Uvn();n3();J6e();D3();Qmr=[{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"}];j7a=[{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"}],hCo=[...j7a.map((e)=>e.label),H7a],ZCt=[{kind:"group",label:"open",description:"Open this session in the editor \u2014 a pane, or the console panel",children:()=>{let e=Yc(),n=lAe();if(!n.available.value)return[{kind:"action",label:"(no editor attached)",description:"Open this project in an editor running Axon Fleet",action:()=>{throw zn("NO_EDITOR_ATTACHED")}}];if(e.sessionId.value===null)return[{kind:"action",label:"(no session)",description:"Start or focus an agent first",action:()=>{throw zn("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[...j7a.map((s)=>({kind:"action",label:s.label,description:s.description,workingMessage:`opening ${s.label}...`,action:async()=>{let u=e.sessionId.value;if(!u)throw zn("NO_SESSION_TO_OPEN");await A("buffer",s.kind,u)}})),{kind:"action",label:H7a,description:"Bring the console panel forward on this instance",workingMessage:"opening console...",action:async()=>{let s=e.sessionId.value;if(!s)throw zn("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=Yc(),n=e.available.value;if(n.length===0)return[t$("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=Yc(),n=e.instances.value.filter((A)=>A.exitedAt===null);if(n.length===0)return[t$("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:()=>Yc().close()},{kind:"action",label:"reboot",description:"Reload the running agent (blueprint rescan + hot-swap)",workingMessage:"rebooting...",action:()=>Yc().reboot()},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Yc().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=lAe();if(!e.available.value)throw zn("NO_EDITOR_ATTACHED");let n=Yc().projectRoot.value;if(!n)throw zn("NO_LOCAL_PROJECT");await e.editor("open",jvn(n,"axon.config.ts"))}},{kind:"group",label:"thinking",description:"Set the focused agent's thinking effort",children:K7a}]},{kind:"action",label:"reload",description:"Reload your config \u2014 main.ts, plugins and extensions",workingMessage:"reloading config...",action:async()=>{let e=tL();await e.reload();let n=e.problems.value.length,A=Nk();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 zn("PALETTE_CHOICE_REQUIRED");if(n==="watch a new directory...")throw zn("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 zn("PROJECT_NOT_FOUND",{context:{location:n}});await A.create(e,i),await Yc().select(e)}},{kind:"action",label:"exit",description:"Exit the application",action:()=>FIe().gracefulExit()},{kind:"action",label:"update",description:"Install the latest Axon release and exit",workingMessage:"preparing update...",action:(e)=>FKe().update(e)},{kind:"action",label:"logout",description:"Sign out of your Axon account",workingMessage:"logging out...",action:()=>d8().logout()},{kind:"action",label:"docs",description:"Open Axon documentation",action:()=>{QMe("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:()=>Y7a("module")},{kind:"group",label:"update",description:"Update this agent's modules",children:()=>{let e=Q7a();return e.refresh(),PSt({entries:e.entries.value,checking:e.checking.value,noun:"module"}).map((n)=>{if(n.kind==="message")return t$(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 Yc().updateModules(n.entries.map((i)=>({name:i.name,version:i.latest}))),e.invalidate(),Nk().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 Yc().updateModules([{name:A.name,version:A.latest}]),e.invalidate(),Nk().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove a module from the running agent",children:()=>{let e=Yc().modules.value;if(e.length===0)return[t$("none installed","This agent has no installed modules")];let n=e.filter(Rvn);if(n.length===0)return[t$("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:()=>{Yc().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 Yc().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){Nk().show("usage: :key set NAME value");return}let i=n.slice(0,A),s=n.slice(A+1).trim();if(s===""){Nk().show("usage: :key set NAME value");return}await Yc().setKey(i,s),Yvn().invalidate(),Nk().show(`set ${i} \xB7 reloaded`)}},{kind:"group",label:"list",description:"What this agent's .env defines",children:()=>{let e=Yvn();if(e.refresh(),e.checking.value&&e.names.value.length===0)return[t$("reading\u2026","Reading this agent's .env")];if(e.names.value.length===0)return[t$("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=w7a();e.refresh();let n=e.entry.value;return PSt({entries:n?[n]:[],checking:e.checking.value,noun:"cognet"}).map((A)=>{if(A.kind==="message")return t$(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 Yc().updateCognet(s.name,s.latest);e.invalidate(),Nk().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 Yc().updateCognet(i.name,i.latest),e.invalidate(),Nk().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:()=>Y7a("extension")},{kind:"group",label:"update",description:"Update installed extensions",children:()=>{let e=E7a();return e.refresh(),PSt({entries:e.entries.value,checking:e.checking.value,noun:"extension"}).map((n)=>{if(n.kind==="message")return t$(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 tL().update(i.name,i.latest);e.invalidate(),Nk().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 tL().update(A.name,A.latest),e.invalidate(),Nk().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove an extension from your terminal",children:()=>{let e=tL().declared.value;if(e.length===0)return[t$("none installed","Your profile declares no extensions")];return e.map((n)=>({kind:"action",label:n,description:"",workingMessage:`removing ${n}...`,action:async()=>{await Yc().uninstallExtension(n),Nk().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 Yc().forkSession();Nk().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 Yc().renameSession(e),Nk().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=Yc(),n=lAe(),A=e.sessionFile.value;if(!A)throw zn("NO_SESSION_TO_OPEN");if(!n.available.value)throw zn("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:()=>Yc().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:K7a},{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=lAe();if(!e.available.value)throw zn("NO_EDITOR_ATTACHED");await e.editor("open",jvn(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=lAe();if(!e.available.value)throw zn("NO_EDITOR_ATTACHED");await e.editor("open",jvn(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[t$("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=d8().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=d8().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=d8().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=jE(),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 ${qSt}, the theme Axon ships with`,action:()=>jE().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=e$();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=e$();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=e$();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 qKe(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 Pvn=vt(()=>{vIe()});function kmr(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)} ${wmr}`}var wmr="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",P7a;var J7a=vt(()=>{Ns();Hvn();R6e();Pvn();D3();P7a={id:"command",skipDefaultFilter:!0,onCancel:()=>{jE().cancelPreview()},resolve:gA.computed(()=>(e)=>{let n=g7a(e,[...ZCt,...TSt.value]);if(n.breadcrumb[0]!=="theme")jE().cancelPreview();function A(s){if(s.kind==="group"||s.kind==="input"){let p=p7a(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:qKe(u,"palette",s.action)}}if(n.nodes.length===0&&n.exactMatch?.kind==="action"&&!n.input){let s=n.exactMatch;return{items:[A(s)],breadcrumb:YSt(n.breadcrumb),invalid:!1}}if(n.input){let{node:s,value:u}=n.input,p=n.breadcrumb,d=s.secret?kmr(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:qKe(p,"palette",(y)=>Promise.resolve(s.action(u,E.label,y)),b)}))},action:()=>{}}:{action:qKe(p,"palette",(E)=>Promise.resolve(s.action(u,void 0,E)),b)}}],breadcrumb:YSt(n.breadcrumb),invalid:!1}}let i=n.exactMatch!==null&&n.exactMatch.kind==="action";return{items:n.nodes.map(A),breadcrumb:YSt(n.breadcrumb),invalid:!i}})}});function Fmr(){let e=IC(),n=e.cloud.client.registry.models,A=e.store.cache.file(Dmr),i=gA.ref([]),s=gA.ref([]),u=gA.ref(!1),p=gA.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>xmr)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 O6e(){if(!Jvn)Jvn=Fmr();return Jvn}function O7a(){O6e().ensure()}var Dmr="models",xmr=1800000,Jvn;var WSt=vt(()=>{Ns();n3()});function Smr(){let e=IC().store,n=gA.ref(e.state.get()?.recentModels??[]),A=gA.computed(()=>n.value);function i(s){let u=[s,...n.value.filter((p)=>p!==s)].slice(0,vmr);n.value=u;try{e.state.update((p)=>({...p,recentModels:u}))}catch{}}return{order:A,record:i}}function TKe(){if(!Ovn)Ovn=Smr();return Ovn}var vmr=25,Ovn;var $7a=vt(()=>{Ns();n3()});function Mmr(){let e=IC(),n=e.ollama,A=e.store.cache.file(Nmr),i=gA.ref(null),s=gA.ref([]),u=gA.ref({}),p=gA.ref(null),d=gA.ref(null),b=0,E=!1;function y(){let U=new Set(s.value.map((z)=>z.name));return n.registry.browse().map((z)=>({...z,installed:U.has(z.name),...u.value[z.name]===void 0?{}:{size:u.value[z.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 z=n.registry.browse(),te=await Promise.all(z.map(async(ne)=>{try{let me=await n.registry.resolve(ne.name);return me?[ne.name,me.size]:null}catch{return null}})),Ae={};for(let ne of te)if(ne)Ae[ne[0]]=ne[1];if(Object.keys(Ae).length>0){u.value=Ae,b=Date.now();try{A.set({sizes:Ae,at:b})}catch{}}}catch(U){d.value=U instanceof Error?U:Error(String(U)),i.value=!1}finally{E=!1}}function S(){if(k(),i.value===null||b===0||Date.now()-b>Gmr)x()}async function q(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 z of n.models.pull(U))if(p.value=Lmr(U,z),z.done)break;s.value=await n.models.list()}catch(z){throw d.value=z instanceof Error?z:Error(String(z)),z}finally{p.value=null}}return{running:i,installed:s,catalog:y,sizes:u,pulling:p,error:d,ensure:S,refresh:x,pull:q}}function Lmr(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 UKe(){if(!$vn)$vn=Mmr();return $vn}var Nmr="ollama-sizes",Gmr=86400000,$vn;var zvn=vt(()=>{Ns();n3()});function Tmr(e){let n=new Set;for(let A of e)for(let i of A.routes)n.add(i.via);if(n.add("axon"),UKe().running.value)n.add("ollama");return qmr.filter((A)=>n.has(A))}function Umr(e,n){let A=0;for(let i of n)if(i.routes.some((s)=>s.via===e))A++;return A}function Rmr(e){let n=O6e().models.value,A=Umr(e,n),i=e5a(e);if(i&&!i.connected.value)return{id:`route:${e}`,label:e,description:`${W7a[e]??`${A} models`} \xB7 ${i.hint}`,...i.workingMessage?{workingMessage:i.workingMessage}:{},action:i.connect};return{id:`route:${e}`,label:e,description:W7a[e]??`${A} models`,descendQuery:`${e}:`,completeQuery:`${e}:`,action:()=>{}}}function e5a(e){let n=d8();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 Kmr(e){let n=TKe().order.value;if(n.length===0)return[{...Wvn(),label:"axon:auto"}];let A=[];for(let i of n.slice(0,Ymr)){if(i==="axon:auto"){A.push({...Wvn(),label:"axon:auto"});continue}let s=i.indexOf(":");if(s===-1)continue;let u=i.slice(0,s),p=i.slice(s+1),d=e5a(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({...t5a(b,E),label:i})}return A}function z7a(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function jmr(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}function Wvn(){let e=Yc().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 TKe().record("axon:auto"),Zvn("axon:auto")},workingMessage:"switching to auto..."}}function t5a(e,n){let A=Yc().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) ":""}${Omr(e,n)}`,action:()=>{if(n.via==="openrouter"&&!d8().connections.openrouter.connected.value)return Promise.reject(zn("PROVIDER_NOT_CONNECTED",{detail:"OpenRouter key not connected \u2014 run :provider openrouter connect first",context:{provider:"openrouter"}}));if(n.via==="codex"&&!d8().connections.openai.connected.value)return Promise.reject(zn("PROVIDER_NOT_CONNECTED",{detail:"OpenAI account not connected \u2014 run :provider codex connect first",context:{provider:"codex"}}));return TKe().record(`${n.via}:${n.model}`),Zvn(Pmr(n))},workingMessage:`switching to ${Jmr(e)} via ${n.via}...`}}function Hmr(){let e=UKe(),n=Yc().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(TKe().record(`ollama:${s.name}`),await Zvn(`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 Zvn(e){await Yc().setModel(e)}function Pmr(e){return`${e.via}:${e.model}`}function Jmr(e){let n=e.name.indexOf(": ");return n===-1?e.name:e.name.slice(n+2)}function Omr(e,n){let A=d8().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($mr(e.context));if(n.via==="axon")i.push(`${V7a(n.pricing.inPerMTok)}/${V7a(n.pricing.outPerMTok)}`);if(n.via==="openrouter"&&n.pricing)i.push(`${Z7a(n.pricing.prompt)}/${Z7a(n.pricing.completion)}`);if(n.via==="codex")i.push("sub");return i.join(" \xB7 ")}function $mr(e){if(e>=1e6)return`${(e/1e6).toFixed(e%1e6===0?0:1)}m`;return`${Math.round(e/1000)}k`}function Z7a(e){return`$${e.toFixed(e>0&&e<0.01?4:2)}`}function V7a(e){let n=e/100;return`\xA3${n.toFixed(n>0&&n<0.01?4:2)}`}var X7a,qmr,Ymr=5,W7a;var n5a=vt(()=>{Ns();Zs();Sk();wIe();WSt();$7a();zvn();X7a={id:"model",maxHeight:8,onEnter:()=>{let e=O6e();e.ensure(),e.reset(),UKe().ensure()},skipDefaultFilter:!0,resolve:gA.computed(()=>(e)=>{let n=Yc(),A=O6e();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 te of A.failures.value)s.push({id:`failure:${te.source}`,label:te.source,description:te.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=Tmr(A.models.value);if(b===null){let te=Kmr(A.models.value),Ae=E.filter((me)=>me.includes(d)),ne=d.length===0?te:te.filter((me)=>{let de=me.chunks?.[0];return de!==void 0&&de.includes(d)});if(Ae.length===0&&ne.length===0)return s.push({id:"route:none",label:"no such provider",description:E.join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};if(ne.length>0){if(s.push(z7a("recent"),...ne),Ae.length>0)s.push(jmr("providers"),z7a("providers"))}return s.push(...Ae.map(Rmr)),{items:s}}let y=E.filter((te)=>te.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(Wvn());if(k==="ollama")x.push(...Hmr());for(let te of A.models.value)for(let Ae of te.routes)if(Ae.via===k)x.push(t5a(te,Ae));let S=TKe().order.value,q=(te)=>{let Ae=S.indexOf(te.id);return Ae===-1?Number.MAX_SAFE_INTEGER:Ae},U=x.sort((te,Ae)=>q(te)-q(Ae)),z=b.length===0?U:U.filter((te)=>H6e(b,[te.label])!==null);if(z.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(...z),{items:s,breadcrumb:`${k} \u203A`}})},qmr=["axon","codex","openrouter","ollama"];W7a={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 a5a;var A5a=vt(()=>{Ns();Y6e();nL();a5a={id:"help",resolve:gA.computed(()=>()=>{return{items:Object.entries(kne).map(([n,A])=>({id:A,label:`${KCt[A]} ${A}`,description:USt[A]??n,action:()=>{Mb().mode.setMode(A)}}))}})}});function zmr(e){let n=gA.ref(0);function A(){n.value++}let i=gA.computed(()=>{return n.value,e.history.recent()});function s(u,p){e.history.append(u,p),A()}return{entries:i,append:s}}function VCt(){if(!Vvn)Vvn=zmr(IC().store);return Vvn}var Vvn;var Xvn=vt(()=>{Ns();n3()});var i5a;var r5a=vt(()=>{Ns();Xvn();nL();i5a={id:"history",anchor:"bottom",skipDefaultFilter:!0,resolve:gA.computed(()=>()=>{return{items:VCt().entries.value.slice().reverse().map((n)=>({id:n.id,label:n.content,description:n.agentName??void 0,preview:()=>{Mb().previewHistory(n.content)},action:()=>{}}))}})}});function Wmr(){return{ordered:[],originSessionId:null,originRoute:null,committed:!1}}function Zmr(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((q,U)=>E(q,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 Vmr(){let e=XCt.value;if(e.committed)return;let n=Yc();if(e.originSessionId&&n.instances.value.some((A)=>A.sessionId===e.originSessionId))n.focus(e.originSessionId);if(e.originRoute)TI().push(e.originRoute)}function Xmr(e){let n=()=>{Yc().focus(e.sessionId),TI().push("/")},A=e.exitedAt!==null;return{id:`instance:${e.sessionId}`,label:`${edr(e)}${e.name}`,completeQuery:e.name,description:tdr(e),...A?{invalid:!0,action:()=>{}}:{preview:n,action:()=>{XCt.value={...XCt.value,committed:!0},n()}}}}function edr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function tdr(e){let n=[];if(e.exitedAt!==null)n.push(`exited ${ndr(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 ndr(e){let n=Math.floor((Date.now()-e)/60000);return n<1?"just now":`${n}m ago`}var XCt,o5a;var s5a=vt(()=>{Ns();Sk();XCt=gA.ref(Wmr()),o5a={id:"instance",maxHeight:8,onEnter:()=>{let n=Yc().instances.value,A=n.find((i)=>i.focused)?.sessionId??null;XCt.value={originSessionId:A,originRoute:TI().currentRoute.value.path,committed:!1,ordered:[...A?[A]:[],...n.filter((i)=>i.sessionId!==A).map((i)=>i.sessionId)]}},onCancel:Vmr,resolve:gA.computed(()=>(e)=>{let n=Yc().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:Zmr(n,XCt.value.ordered).map(Xmr)}})}});function adr(e,n){return{id:`agent:${e.name}`,label:e.name,description:n.length>0?`${n.length} running`:void 0,action:()=>Yc().spawnSibling(e.dir),detach:!0,workingMessage:`starting ${e.name}...`}}function Adr(e){return{id:`deployment:${e.deploymentId}`,label:e.name,description:`running \xB7 ${e.tier}`,action:()=>Yc().attachDeployment(e.deploymentId),detach:!0,workingMessage:`connecting to ${e.name}...`}}function eSn(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function c5a(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}var u5a;var l5a=vt(()=>{Ns();Sk();u5a={id:"agent",maxHeight:8,resolve:gA.computed(()=>(e)=>{let n=Yc(),A=[],i=n.available.value,s=i.filter((p)=>p.kind==="local");if(s.length>0){A.push(eSn("agents"));for(let p of s){let d=n.instancesByAgent.value.get(p.name)??[];A.push(adr(p,d))}}let u=i.filter((p)=>p.kind==="deployed");if(u.length>0){A.push(c5a("cloud"),eSn("deployed"));for(let p of u)A.push(Adr(p))}if(n.deploymentsError.value)A.push(c5a("cloud"),eSn("deployed")),A.push({id:"deployments:error",label:"unavailable",description:n.deploymentsError.value.message,action:()=>{},invalid:!0});return{items:A}})}});function idr(e){return e.hasEntries||e.running||e.forkedFrom!==null}function rdr(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((q,U)=>E(q,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 odr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function sdr(e){let n=[udr(e.modifiedAt)];if(e.running)n.push("running");if(e.title)n.push(e.sessionId.slice(0,8));return n.push(cdr(e.sizeBytes)),n.join(" \xB7 ")}function cdr(e){if(e<1024)return`${e}b`;if(e<1048576)return`${Math.round(e/1024)}k`;return`${(e/1048576).toFixed(1)}M`}function udr(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 g5a;var p5a=vt(()=>{Ns();Sk();g5a={id:"session",maxHeight:8,anchor:"bottom",resolve:gA.computed(()=>(e)=>{let n=Yc(),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&&idr(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:rdr(u).map((d)=>({id:`session:${d.sessionId}`,label:`${odr(d)}${d.title??d.sessionId.slice(0,8)}`,completeQuery:d.title??d.sessionId.slice(0,8),description:sdr(d),preview:()=>{n.preview.show(d)},action:()=>n.resume(d.agent,d.sessionId),detach:!0}))}})}});var m5a;var d5a=vt(()=>{Ns();D3();m5a={id:"theme",resolve:gA.computed(()=>()=>{let e=jE(),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:()=>{jE().cancelPreview()}}});function ldr(){let e=IC().files,n=gA.ref([]),A=gA.ref(!1),i=gA.ref(null),s=gA.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 nSn(){if(!tSn)tSn=ldr();return tSn}function f5a(){nSn().ensure()}var tSn;var aSn=vt(()=>{Ns();n3()});function gdr(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 h5a(e){return e.startsWith(".")||e.includes("/.")}function pdr(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,C5a).map((u)=>B5a(u,u.name))}function mdr(e,n){let A=[];for(let i of e){let s=H6e(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(h5a(i.entry.path))-Number(h5a(s.entry.path))||i.entry.path.length-s.entry.path.length),A.slice(0,C5a).map((i)=>B5a(i.entry,i.entry.path))}function B5a(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 b5a,C5a=200;var I5a=vt(()=>{Ns();aSn();nL();b5a={id:"file",maxHeight:10,skipDefaultFilter:!0,resolve:gA.computed(()=>(e)=>{let n=nSn();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?pdr(A,i):mdr(A,i);if(n.loading.value&&u.length===0)return{items:[],status:{kind:"loading",message:"reading working tree..."}};return{items:u,...s&&i!==""?{breadcrumb:gdr(i)}:{},...n.truncated.value?{status:{kind:"error",message:"tree too large \u2014 results are partial"}}:{}}})}});function ddr(){if(E5a)return;E5a=!0;for(let e of[P7a,X7a,a5a,i5a,o5a,u5a,g5a,G7a,T7a,m5a,b5a])s7a(e)}function y5a(e){ddr();let{mode:n,query:A,setQuery:i}=e,s=e.hint??(()=>null),u=gA.ref(0),p=gA.ref(0),d=gA.ref(!1),b=gA.ref(null),E=gA.computed(()=>KSt(n.value)),y=gA.ref(null),k=3,x=gA.ref(null),S=gA.ref(0),q=gA.computed(()=>E.value?.tabs??null),U=gA.computed(()=>{let Ka=q.value;if(!Ka)return null;return Ka.slice(S.value,S.value+k)});function z(Ka){let ga=q.value;if(!ga)return;let mr=ga.findIndex((Ye)=>Ye.id===Ka);if(mr===-1)return;if(x.value=Ka,mr<S.value)S.value=mr;else if(mr>=S.value+k)S.value=mr-k+1;ze()}let te=ZC();gA.watch(n,(Ka,ga)=>{if(ga!==void 0&&ga!==Ka)KSt(ga)?.onCancel?.(y.value);let mr=KSt(Ka);if(y.value=mr?.createState?mr.createState():null,mr?.onEnter?.(y.value),x.value=mr?.tabs?.[0]?.id??null,S.value=0,u.value=0,p.value=0,d.value=!1,b.value=null,ga!==void 0&&ga!=="normal"&&Ka==="normal")setTimeout(()=>te(),0)},{immediate:!0});let Ae=gA.computed(()=>E.value?.resolve.value(A(),x.value,i)??{items:[]}),ne=gA.computed(()=>Ae.value.items),me=gA.computed(()=>{let Ka=s();if(Ka!==null)return Ka;if(b.value!==null)return b.value;let ga=ne.value;if(E.value?.skipDefaultFilter)return ga;let mr=A().toLowerCase().trim();if(!mr)return ga;let Ye=(SA)=>SA.chunks?H6e(A(),SA.chunks)!==null:SA.label.toLowerCase().includes(mr)||(SA.description?.toLowerCase().includes(mr)??!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(mr.length>0&&vn.length>1&&vn.every((SA)=>SA.chunks)){let SA=vn.map((Za,li)=>({item:Za,index:li,score:H6e(A(),Za.chunks)??0}));return SA.sort((Za,li)=>li.score-Za.score||Za.index-li.index),SA.map((Za)=>Za.item)}return vn}),de=gA.computed(()=>{if(ht.value!==null)return 1;if(wa.value!==null)return 1;if(me.value.length===0)return 1;let Ka=E.value?.maxHeight??5;return Math.min(me.value.length,Ka)});gA.watch(me,(Ka,ga)=>{if(!d.value&&Ka.length>0){u.value=Se.value,d.value=!0,lt(),nt();return}let mr=u7a({items:Ka,previous:ga,selectedIndex:u.value,homeIndex:Se.value});if(mr!==u.value)u.value=mr,lt()});let oe=gA.computed(()=>{let Ka=me.value;for(let ga=0;ga<Ka.length;ga++)if(yJ(Ka,ga))return ga;return 0}),ke=gA.computed(()=>{let Ka=me.value;for(let ga=Ka.length-1;ga>=0;ga--)if(yJ(Ka,ga))return ga;return 0}),Se=gA.computed(()=>{let Ka=me.value;for(let ga=0;ga<Ka.length;ga++)if(Ka[ga].current&&yJ(Ka,ga))return ga;return E.value?.anchor==="bottom"?ke.value:oe.value});function Ze(Ka){let ga=me.value;if(ga[Ka]?.header)return!1;for(let mr=0;mr<=Ka&&mr<ga.length;mr++)if(ga[mr].header)return!0;return!1}function lt(){let Ka=de.value,ga=u.value;if(ga<=p.value)p.value=Ze(ga)?Math.max(0,ga-1):ga;else if(ga>=p.value+Ka)p.value=ga-Ka+1}function ze(){p.value=0,d.value=!1,u.value=Se.value,lt()}function nt(){me.value[u.value]?.preview?.()}let ht=gA.ref(null),We=null,Dt=gA.ref(0);function Wt(){Dt.value++}function Ct(){We?.abort(),We=null,ht.value=null}function Xn(Ka){return Ka instanceof Error?Ka.message:"failed"}async function Qa(Ka){We=new AbortController;let ga=We.signal,mr;try{mr=Ka.action(ga)}catch(vn){We=null,ht.value={kind:"error",label:Ka.label,message:Xn(vn)};return}if(!(mr instanceof Promise)){We=null;return}if(Ka.detach){if(We=null,!Ka.inlineResult)i("");n.value="normal",mr.catch(()=>{});return}let Ye=Ka.label;ht.value={kind:"working",label:Ye,message:Ka.workingMessage??Ka.description??"working...",startedAt:Date.now()};try{if(await mr,!ga.aborted){if(ht.value=null,Ka.keepOpen)return;if(!Ka.inlineResult)i("");n.value="normal"}}catch(vn){if(!ga.aborted)ht.value={kind:"error",label:Ye,message:Xn(vn)}}finally{We=null}}function Ut(Ka){if(Ka.choices)try{b.value=Ka.choices(),u.value=0,p.value=0}catch(ga){ht.value={kind:"error",label:Ka.label,message:Xn(ga)}}else if(Ka.descendQuery!==void 0)i(Ka.descendQuery);else Qa(Ka)}function Aa(){if(ht.value!==null)return null;let Ka=me.value[u.value]??null;if(Ka&&yJ(me.value,u.value))Ut(Ka);return Ka}function eA(Ka){if(ht.value!==null)return null;let ga=me.value[Ka]??null;if(ga&&yJ(me.value,Ka))u.value=Ka,Ut(ga);return ga}function Pn(Ka){if(!yJ(me.value,Ka))return;u.value=Ka,lt(),nt()}Eh("tab",(Ka)=>{if(ht.value===null){let ga=me.value[u.value]??null;if(ga&&yJ(me.value,u.value)){let mr=ga.completeQuery??ga.label;if(mr.length>0)i(mr)}}if(Ka)Ka.consumed=!0}),Eh("up",(Ka)=>{let ga=me.value,mr=ga.length;if(mr===0)return;for(let Ye=1;Ye<=mr;Ye++){let vn=(u.value-Ye+mr)%mr;if(yJ(ga,vn)){u.value=vn,lt(),nt();break}}if(Ka)Ka.consumed=!0}),Eh("down",(Ka)=>{let ga=me.value,mr=ga.length;if(mr===0)return;for(let Ye=1;Ye<=mr;Ye++){let vn=(u.value+Ye)%mr;if(yJ(ga,vn)){u.value=vn,lt(),nt();break}}if(Ka)Ka.consumed=!0}),Eh("escape",(Ka)=>{if(ht.value?.kind==="working"){if(Ct(),Ka)Ka.consumed=!0;return}if(ht.value!==null){if(Ct(),Ka)Ka.consumed=!0;return}if(b.value!==null){if(b.value=null,u.value=oe.value,p.value=0,Ka)Ka.consumed=!0;return}if(me.value.length===0)return;if(y.value=E.value?.createState?E.value.createState():null,Ka)Ka.consumed=!0});function Oa(){let Ka=me.value;return yJ(Ka,u.value)?Ka[u.value]:null}Eh("left",(Ka)=>{let ga=q.value;if(ga&&x.value){let vn=ga.findIndex((mn)=>mn.id===x.value);if(z(ga[(vn-1+ga.length)%ga.length].id),Ka)Ka.consumed=!0;return}let mr=E.value?.onLeft,Ye=Oa();if(mr&&Ye){if(mr(Ye),Ka)Ka.consumed=!0}}),Eh("right",(Ka)=>{let ga=q.value;if(ga&&x.value){let vn=ga.findIndex((mn)=>mn.id===x.value);if(z(ga[(vn+1)%ga.length].id),Ka)Ka.consumed=!0;return}let mr=E.value?.onRight,Ye=Oa();if(mr&&Ye){if(mr(Ye),Ka)Ka.consumed=!0}});let MA=gA.computed(()=>{let Ka=me.value,ga=p.value,mr=null;for(let Ye=0;Ye<=ga&&Ye<Ka.length;Ye++)if(Ka[Ye].header)mr=Ka[Ye].label;if(Ka[ga]?.header)return null;return mr}),Cn=gA.computed(()=>Ae.value.breadcrumb??null),Ea=gA.computed(()=>Ae.value.header??null),wa=gA.computed(()=>Ae.value.status??null),aa=gA.computed(()=>Ae.value.invalid??!1);return{filtered:me,height:de,isRegisteredMode:gA.computed(()=>E.value!==void 0),selectedIndex:gA.computed(()=>u.value),scrollY:gA.computed(()=>p.value),tabs:U,activeTabId:gA.computed(()=>x.value),stickyHeader:MA,breadcrumb:Cn,header:Ea,status:wa,isInvalidCommand:aa,hasNothingToRun:gA.computed(()=>me.value.length>0&&Oa()===null),working:gA.computed(()=>ht.value),noMatchSignal:gA.computed(()=>Dt.value),signalNoMatch:Wt,hasChoiceList:gA.computed(()=>b.value!==null),keepsOpen:gA.computed(()=>Oa()?.keepOpen??!1),hasHint:gA.computed(()=>s()!==null),selectTab:z,reset:ze,selectCurrent:Aa,selectAt:eA,hoverAt:Pn,abortWorking:Ct}}var E5a=!1;var Q5a=vt(()=>{Ns();c7a();J7a();n5a();A5a();r5a();s5a();l5a();p5a();$St();Kvn();d5a();I5a()});function ZSt(){if(!ASn)ASn=fdr();return ASn}function fdr(){let n=IC().mic,A=gA.ref(n.waveform()),i=gA.ref(n.isActive()),s=gA.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,Mft.tickMs)}function E(){if(!u)return;clearInterval(u),u=null}return{waveform:gA.computed(()=>A.value),isActive:gA.computed(()=>i.value),elapsedSeconds:gA.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 ASn;var iSn=vt(()=>{Ns();n3();Pyn()});function VSt(){if(!rSn)rSn=hdr();return rSn}function hdr(){let e=gA.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 rSn;var oSn=vt(()=>{Ns()});function _5a(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 XSt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function w5a(){let e=Yc(),n=Mb(),A=xR(),i=new Set;gA.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:XSt(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}),gA.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:XSt(d)})});let s=PB();gA.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;gA.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:XSt(b)})}u=d}),gA.watch(()=>n.mode.mode.value,(p,d)=>{if(d===void 0||d===p)return;if(A.notify("mode:changed",{from:d,to:p}),RCt(d))A.notify("palette:closed",{name:d});if(RCt(p))A.notify("palette:opened",{name:p})})}function k5a(e){let A=Yc().instances.value.find((i)=>i.focused);if(!A)return;xR().notify("message:sent",{content:e,instance:XSt(A)})}var sSn=vt(()=>{Ns();Sk();nL();Y6e();vIe()});var x5a={};JA(x5a,{useInput:()=>Mb,DRAFT_MODES:()=>eBt});function Mb(){if(!cSn)cSn=bdr();return cSn}function bdr(){let e=Gy(),n=ZC(),A=gA.ref(""),i=null,s=null,u=t7a(()=>A.value,()=>e.value.path!=="/auth"),p=y5a({mode:u.mode,query:()=>te()??A.value,setQuery:(Dt)=>{Ae(Dt)},hint:()=>ne()}),d=ZSt(),b=IC(),E=gA.ref(!1),y=gA.ref(null),k=null;function x(){if(E.value=!0,k)clearTimeout(k);k=setTimeout(()=>{E.value=!1,k=null},600)}gA.watch(()=>p.noMatchSignal.value,()=>{x()}),gA.watch(()=>WO().pending.value!==null,(Dt)=>{if(Dt)A.value="",u.setMode(DKe);else if(u.mode.value===DKe)A.value="",u.setMode("normal")}),gA.watch(()=>xIe().current.value!==null,(Dt)=>{if(Dt)A.value="",u.setMode(kKe);else if(u.mode.value===kKe)A.value="",u.setMode("normal")});let S=null,q=null;function U(Dt){q=Dt,A.value=Dt}gA.watch(A,(Dt)=>{if(u.mode.value!=="history")return;if(Dt===q)return;S=null,q=null,u.setMode("normal")});function z(){if(!(u.mode.value==="normal"||K6e.some((Wt)=>Wt.mode===u.mode.value)))return null;for(let Wt of K6e){let Ct=VKa(A.value,Wt);if(Ct)return{trigger:Wt,start:Ct.start,query:Ct.query}}return null}function te(){return z()?.query??null}function Ae(Dt){let Wt=z();if(Wt){A.value=A.value.slice(0,Wt.start)+Wt.trigger.key+Dt;return}A.value=Dt}function ne(){if(u.mode.value!=="normal")return null;let Dt=K6e.filter((Wt)=>ZKa(A.value,Wt));if(Dt.length===0)return null;return Dt.map((Wt)=>({id:Wt.mode,label:`${KCt[Wt.mode]} ${Wt.mode}`,description:USt[Wt.mode]??Wt.key,action:()=>{A.value=A.value+Wt.key}}))}gA.watch(A,(Dt)=>{if(u.mode.value!=="normal")return;for(let Wt of K6e){if(Wt.resolve!=="append")continue;let Ct=XKa(Dt,Wt);if(Ct===-1)continue;s=Wt,i=Dt.slice(0,Ct).replace(/ $/,""),u.setMode(Wt.mode);return}}),gA.watch(A,()=>{let Dt=z();if(Dt&&u.mode.value==="normal"){s=Dt.trigger,i=null,u.setMode(Dt.trigger.mode);return}if(!Dt&&s?.resolve==="splice"&&u.mode.value===s.mode)s=null,u.setMode("normal")});function me(Dt){let Wt=z();if(!Wt){s=null,u.setMode("normal");return}A.value=`${A.value.slice(0,Wt.start)}${Dt} `,s=null,u.setMode("normal")}function de(){let Dt=z();if(s=null,!Dt)return;A.value=A.value.slice(0,Dt.start).replace(/ $/,"")}gA.watch(u.mode,(Dt,Wt)=>{if(Wt==="session"&&Dt==="normal")Yc().preview.clear();if(Dt==="history")S=A.value;if(Wt==="history"&&Dt==="normal"){if(q=null,S!==null)A.value=S,S=null}if(Dt==="voice"&&Wt!=="voice")d.start().catch((Ct)=>{y.value=Ct instanceof Error?Ct:Error(String(Ct)),u.setMode("normal")});if(Wt==="voice"&&Dt!=="voice"){let Ct=u.voiceExitReason.value;u.voiceExitReason.value=null,oe(Ct)}},{flush:"sync"});async function oe(Dt){let Wt=await d.stop();if(Dt!=="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(Wt),Xn=Ct.trim();if(i!==null)if(Xn){let Qa=i.endsWith(" ")||i===""?"":" ";A.value=i+Qa+Xn}else A.value=i;else if(Xn)A.value=Xn;i=null}catch(Ct){y.value=Ct instanceof Error?Ct:Error(String(Ct))}finally{u.processing.value=!1}}let ke=0,Se=gA.ref(null),Ze=null;function lt(){if(Se.value="press esc again to clear",Ze)clearTimeout(Ze);Ze=setTimeout(()=>{Se.value=null,Ze=null},D5a)}function ze(){if(Ze)clearTimeout(Ze);Ze=null,Se.value=null}gA.watch(A,()=>{if(Se.value!==null)ze()});function nt(){if(ovn(),xIe().current.value){xIe().denyAll(),A.value="",u.setMode("normal");return}if(WO().pending.value){WO().cancel(),A.value="",u.setMode("normal");return}let Dt=_5a({mode:u.mode.value,working:p.working.value?.kind??null});if(Dt.kind==="abort-working"){p.abortWorking();return}if(Dt.kind==="dismiss-error"){p.abortWorking(),A.value="",u.setMode("normal");return}if(Dt.kind==="try-interrupt"){if(Yc().interrupt()){setTimeout(()=>n(),0);return}}let Wt=Date.now(),Ct=Wt-ke<D5a;if(ke=Wt,Ct){if(ze(),A.value.trim())try{VCt().append(A.value,Yc().selected.value)}catch{}A.value=""}else{let Xn=eBt.has(u.mode.value);if(!Xn)A.value="";if(u.mode.value==="voice")u.voiceExitReason.value="cancel";if(de(),u.setMode("normal"),Xn&&A.value.length>0)lt();else ze()}}function ht(){if(ovn(),p.working.value!==null)return;if(WO().pending.value?.kind==="prompt"){WO().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,Xn=p.hasChoiceList.value,Qa=p.keepsOpen.value;if(p.selectCurrent(),Qa)return;if(p.hasChoiceList.value||Xn)return;if(p.reset(),u.mode.value===Ct&&p.working.value===null){if(Ct!=="history"&&!eBt.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,VSt().attach();try{VCt().append(Ct,Yc().selected.value)}catch{}Yc().send(Ct).catch((Xn)=>{y.value=Xn instanceof Error?Xn:Error(String(Xn))}),k5a(Ct)}}function We(Dt){A.value+=Dt}return{text:A,inputError:E,sendError:y,escHint:Se,mode:u,palette:p,onEnter:ht,onEscape:nt,onPrintable:We,previewHistory:U,resolveInline:me}}var D5a=400,eBt,cSn;var nL=vt(()=>{Ns();Y6e();Q5a();Sk();iSn();n3();Xvn();oSn();Bvn();YCt();sSn();wvn();RSt();NCt();eBt=new Set(["normal","voice","file"])});function e8t(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 Bdr(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 uSn(e){let n=e8t(e);return Cdr.has(n)||n in kne}function Idr(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 F5a(){let e=Mb();Eh("**",(n)=>{if(n?.consumed)return;let A=Idr(n??{});if(!A)return;let i=N1.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=N1.keyHandler(A);if(!s){xR().notify("key:pressed",{key:Bdr(A),mode:e.mode.mode.value});return}n.consumed=!0,(async()=>{try{await s()}catch(u){Nk().show(`${A} failed`,"error")}})()})}var Cdr;var lSn=vt(()=>{Ns();R6e();J6e();vIe();nL();Y6e();Cdr=new Set(["C-c","C-d","escape","return","enter","tab","up","down","left","right","backspace","delete"])});function RKe(){if(!pSn)pSn=ydr();return pSn}function Edr(){return process.env.PWD??process.cwd()}async function mSn(e){try{let n=Bun.spawn(["git",...e],{cwd:Edr(),stdout:"pipe",stderr:"ignore"}),A=await new Response(n.stdout).text();return await n.exited===0?A.trim():null}catch{return null}}function ydr(){return{state:t8t,async refresh(){if(gSn)return;gSn=!0;try{let e=await mSn(["rev-parse","--abbrev-ref","HEAD"]);if(e===null){t8t.value=dSn;return}let[n,A]=await Promise.all([mSn(["status","--porcelain"]),mSn(["rev-list","--left-right","--count","HEAD...@{upstream}"])]),i=e==="HEAD"?null:e,s=n?n.split(`
|
|
4941
|
+
`,"utf-8"),await apr(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 _Ka(e){let n=e;try{n=tpr(e)}catch{}return ipr(QKa(n),"update-helper.js")}var FCt;var wKa=vt(()=>{nvn();Zs();FCt=Bp(t2n(),1)});var kKa=()=>{};var DSt=vt(()=>{wKa();kKa();nvn()});import{join as rpr,resolve as opr}from"path";function vCt(e){let n=opr(e.cwd??process.cwd()),A=e.distribution??spr,i={},s=Ryn({root:e.store??Kyn(A),settings:()=>i,setSetting:async(de,oe)=>{let ke=await me.setSetting(de,oe);return await ne(),ke}}),u=i0a({store:s,distribution:A}),p=jyn(),d=w_a(),b=D_a({root:n}),E=aFn();async function y(){let de=s.profiles.active()?.root;if(!de)return;let{providers:oe}=await v6e(de);return oe}let k=WFn({budget:()=>{return}}),x=rFn({cloud:u.client,profileProviders:()=>y(),frameworkVersion:e.version,...e.frameworkSource?{frameworkSource:e.frameworkSource}:{},...e.repoRoot?{repoRoot:e.repoRoot}:{},bench:{tests:E,clone:(de,oe,ke)=>q.clone(de,oe,ke),prepare:async(de)=>{await(await x.open(de)).prepare()}}}),S=YFn({store:s,projects:x,cloud:u.client,cwd:n,clone:(de,oe,ke)=>q.clone(de,oe,ke),...e.control?{control:e.control}:{}}),q=bKa({cloud:u.client,async prepare(de){await(await x.open(de)).prepare()}}),U=EKa({cache:hKa({cloud:u.client,root:s.root})}),z=avn({cloud:u.client,store:s,currentVersion:e.version}),te=o0a({cloud:u.client}),Ae=jFn({store:s,projects:x,frameworkVersion:e.version});async function ne(){try{i=await me.settings()}catch{i={}}}let me=kFn({root:()=>Ae.root,install:async(de,oe)=>{return{version:(await q.clone(de,rpr(oe,".."),{dir:oe.split("/").at(-1)})).version}},latest:async(de)=>(await u.client.registry.artifacts.resolve(de)).version});return{cloud:u,store:s,deployments:te,projects:x,profile:Ae,extensions:me,refreshSettings:ne,agents:S,registry:q,prompts:U,tests:E,mic:d,files:b,ollama:p,resources:k,updates:z}}var spr="production";var DKa=vt(()=>{o_a();f_a();Pyn();x_a();r0a();BCt();rKa();bSt();gKa();AFn();CKa();yKa();DSt()});var Avn=vt(()=>{DKa()});var G6e;var xSt=vt(()=>{G6e={name:"@arcforge/axon",version:"2.0.149",description:"coding agent cli",module:"index.ts",type:"module",scripts:{build:"vterm build",deploy:"bun run scripts/release.ts patch","deploy:major":"bun run scripts/release.ts major","deploy:minor":"bun run scripts/release.ts minor","deploy:patch":"bun run scripts/release.ts patch",dev:"vterm dev","dev:local":"vterm dev --dotenv .env.local",prepare:"vterm prepare",tail:"vterm tail",test:"bun test --parallel=4","test:serial":"bun test","test:watch":"bun test --watch",typecheck:"bun run scripts/typecheck.ts"},dependencies:{"@arcforge/cognet":"workspace:*","@arcforge/engines":"workspace:*","@arcforge/err":"workspace:*","@arcforge/platform":"workspace:*","@arcforge/types":"workspace:*","@arcforge/vterm":"workspace:*","@arclabs/cloud":"workspace:*","@arclabs/repo":"workspace:*","@arclabs/tools":"workspace:*","@axon/capsule":"workspace:*","@axon/core":"workspace:*","@axon/theme":"workspace:*","@axon/vstr":"workspace:*","@vue/compiler-sfc":"3.5.39",arcline:"workspace:*",chalk:"^5.6.2","fft.js":"^4.0.4",h3:"^1.15.11","markdown-it":"^14.3.0",open:"^11.0.0",semver:"^7.7.4",sharp:"^0.35.3"},devDependencies:{"@types/bun":"latest","@types/markdown-it":"^14.1.2","@types/semver":"^7.7.1","@vue/typescript-plugin":"^3.2.5",postgres:"^3.4.5"},peerDependencies:{typescript:"^5"},bin:{axon:"./bin/axon"}}});function FSt(e,n){let A=e;for(let i of n){if(A===null||typeof A!=="object"||!(i in A))throw zn("CONTROL_PATH_NOT_FOUND",{detail:`no such method on the peer: ${n.join(".")}`,context:{path:n.join(".")}});A=A[i]}return A}function vSt(e){let n=new Map,A=new Map,i=new Map,s=!1,u=0,p=()=>`${++u}`;async function d(k){try{let x=FSt(e.handle,k.path.slice(0,-1)),S=FSt(e.handle,k.path);if(typeof S!=="function")throw zn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let q=await S.apply(x,k.args);e.send({type:"rpc.result",id:k.id,ok:!0,value:q})}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=FSt(e.handle,k.path.slice(0,-1)),S=FSt(e.handle,k.path);if(typeof S!=="function")throw zn("CONTROL_PATH_NOT_CALLABLE",{detail:`not callable on the peer: ${k.path.join(".")}`,context:{path:k.path.join(".")}});let q=(z)=>e.send({type:"rpc.event",id:k.id,value:z}),U=S.apply(x,[...k.args,q]);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(zn("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(zn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}}));let S=p();return new Promise((q,U)=>{n.set(S,{resolve:q,reject:U}),e.send({type:"rpc.call",id:S,path:k,args:x})})},subscribe(k,x,S){if(s)throw zn("CONTROL_CLOSED",{detail:`channel closed before ${k.join(".")} could be sent`,context:{path:k.join(".")}});let q=p();return i.set(q,S),e.send({type:"rpc.subscribe",id:q,path:k,args:x}),()=>{if(!i.delete(q))return;if(!s)e.send({type:"rpc.unsubscribe",id:q})}},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(zn("CONTROL_CLOSED",{detail:k,context:{error:k}}));n.clear()}}}var SSt=vt(()=>{Zs()});function ivn(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 upr}from"crypto";function SCt(e){let n=upr(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 zn("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:(q)=>b.send(q),close:()=>b.close()};u.set(b,{socket:S,dispatch:vSt({handle:e.handle,send:(q)=>S.send(JSON.stringify(q))})}),b.send(JSON.stringify({type:"control.welcome",peer:"tui"})),s();return}if(!ivn(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 xKa=vt(()=>{Zs();SSt()});var FKa=vt(()=>{Zs();SSt()});var rvn=vt(()=>{xKa();FKa();SSt()});function NSt(){let e=(n)=>{let A=vKa[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()=>SKa}}function NKa(e){vKa=e}function ovn(){SKa=Date.now()}var vKa,SKa;var NCt=vt(()=>{vKa={},SKa=Date.now()});function lAe(){if(!svn)svn=lpr();return svn}function lpr(){let e=null,n=gA.ref(0);function A(){if(e)return;let b=SCt({handle:{tui:NSt()}});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=gA.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 svn;var GSt=vt(()=>{Ns();rvn();NCt()});function IC(){if(!cvn)cvn=vCt({version:G6e.version,cwd:process.env.PWD??process.cwd(),control:()=>lAe().control()});return cvn}var cvn=null;var n3=vt(()=>{Avn();xSt();GSt()});function gpr(e,n){let A=gA.ref("idle"),i=gA.ref(null),s=gA.ref(null),u=gA.ref(0);function p(){u.value++}function d(me,de,oe){let ke=gA.ref(!1),Se=gA.ref(null),Ze=gA.ref(!1);async function lt(){if(!e.authenticated){Ze.value=!1;return}let ht=await me.status();Ze.value=ht.connected&&ht.status==="active"}lt().catch((ht)=>{Se.value=ht instanceof Error?ht:Error(String(ht))});async function ze(...ht){ke.value=!0,Se.value=null;try{if(await de(...ht),oe)await IC().extensions.addProvider(oe);Ze.value=!0}catch(We){throw Se.value=We instanceof Error?We:Error(String(We)),We}finally{ke.value=!1,p()}}async function nt(){if(await me.disconnect(),oe)await IC().extensions.removeProvider(oe);Ze.value=!1,p()}return{connected:Ze,connecting:ke,error:Se,connect:ze,disconnect:nt,refreshStatus:lt}}let b=d(e.connections.openai,()=>e.connections.openai.connect({open:(me)=>{QMe(me)}}),"Codex"),E=d(e.connections.openrouter,(me)=>e.connections.openrouter.connect({key:me}),"OpenRouter");function y(me){let de=gA.ref(!1),oe=gA.ref(!1),ke=gA.ref(null);async function Se(){let ze=await IC().extensions.readProviders();de.value=ze.includes(me)}Se().catch((ze)=>{ke.value=ze instanceof Error?ze:Error(String(ze))});async function Ze(){oe.value=!0,ke.value=null;try{await IC().extensions.addProvider(me),de.value=!0}catch(ze){throw ke.value=ze instanceof Error?ze:Error(String(ze)),ze}finally{oe.value=!1,p()}}async function lt(){await IC().extensions.removeProvider(me),de.value=!1,p()}return{connected:de,connecting:oe,error:ke,connect:Ze,disconnect:lt,refreshStatus:Se}}let k=y("Ollama"),x=gA.ref(e.authenticated?"checking":"signed-out"),S=gA.computed(()=>{return u.value,x.value==="verified"});async function q(){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")q();e.onSessionExpired(()=>{x.value="signed-out",p()});let U=gA.computed(()=>{return u.value,e.client.user.auth.user}),z=gA.computed(()=>{return u.value,n.profiles.list().flatMap((me)=>{let de=n.profiles.get(me).record.get();if(!de)return[];let oe=!!(de.auth.accessToken||de.auth.apiKey);return[{id:me,email:de.user.email,authenticated:oe}]})});async function te(me){A.value="authorizing",i.value=null;try{await e.login({...me!==void 0?{hint:me}:{},onCode:(de)=>{i.value=de,A.value="polling",QMe(de.verificationUriComplete)}}),x.value="verified"}finally{A.value="idle",i.value=null,p()}}async function Ae(me){s.value=me;try{return await e.switch(me),x.value="verified","verified"}catch(de){let oe=l1t(de)&&de.code==="AX-TUI-044";return x.value=oe?"unreachable":"signed-out",oe?"unreachable":"rejected"}finally{s.value=null,p()}}async function ne(){await e.logout(),x.value="signed-out",p()}return{isAuthenticated:S,gate:gA.computed(()=>x.value),verify:q,identity:U,profiles:z,loginStatus:A,deviceAuthorization:i,switchingProfileId:s,startLogin:te,switchProfile:Ae,logout:ne,connections:{openai:b,openrouter:E,ollama:k}}}function d8(){if(!uvn){let e=IC();uvn=gpr(e.cloud,e.store)}return uvn}var uvn;var wIe=vt(()=>{Ns();s1t();Zs();n3()});var pvn={};JA(pvn,{useSettings:()=>LCt});function Epr(){let e=IC();async function n(){try{MCt.value=await e.extensions.settings()}catch{MCt.value={}}lvn.value++}return{settings:gA.computed(()=>{return lvn.value,MCt.value}),refresh:n,async set(A,i){MCt.value={...MCt.value,[A]:i},lvn.value++,await e.extensions.setSetting(A,i)}}}function LCt(){if(!gvn)gvn=Epr();return gvn}var MCt,lvn,gvn;var qCt=vt(()=>{Ns();n3();MCt=gA.ref({}),lvn=gA.ref(0)});var fvn={};JA(fvn,{useTheme:()=>jE,DEFAULT_THEME_NAME:()=>qSt});async function Qpr(e){try{let{useSettings:n}=await Promise.resolve().then(() => (qCt(),pvn));await n().set("theme",e)}catch{}}function DIe(e){return wne.value.find((n)=>n.name===e)??null}function TKa(e){let n=DIe(e);if(!n)throw Error(`no theme named "${e}"`);EJ.value=e,mvn.value=e,kIe.value=null,L6e(n),Qpr(e)}function L6e(e){jLe.register(ypr,{":root":{cssVariables:Sln(e)}}),rgt({theme:e.syntax==="arcnight"?Qyt:e.syntax}),M6e.value++,dvn?.()}function jE(){if(!dvn)try{dvn=ZC()}catch{}return{themes:gA.computed(()=>{return M6e.value,wne.value}),active:gA.computed(()=>{return M6e.value,DIe(EJ.value)??wne.value[0]}),committedName:gA.computed(()=>kIe.value??EJ.value),themeClass:gA.computed(()=>{return M6e.value,`theme-${EJ.value}`}),create(e){if(DIe(e.name))throw Error(`theme "${e.name}" is already registered`);if(wne.value=[...wne.value,e],M6e.value++,mvn.value===e.name)EJ.value=e.name,L6e(e);return()=>{if(wne.value=wne.value.filter((n)=>n.name!==e.name),EJ.value===e.name)EJ.value=wne.value[0].name,L6e(wne.value[0]);M6e.value++}},set:TKa,reset(){TKa(qSt)},preview(e){let n=DIe(e);if(!n)return;if(kIe.value===null)kIe.value=EJ.value;EJ.value=e,L6e(n)},cancelPreview(){if(kIe.value===null)return;let e=DIe(kIe.value);if(EJ.value=kIe.value,kIe.value=null,e)L6e(e)},mount(){let e=DIe(EJ.value)??wne.value[0];L6e(e)},adopt(e){if(!e)return;mvn.value=e;let n=DIe(e);if(!n)return;EJ.value=e,L6e(n)},colors:gA.computed(()=>{M6e.value;let e=DIe(EJ.value)??wne.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 ypr="axon:theme:tokens",qSt,wne,EJ,kIe,mvn,M6e,dvn=null;var D3=vt(()=>{Ns();Ns();Nln();qSt=igt[0].name,wne=gA.ref([...igt]),EJ=gA.ref(igt[0].name),kIe=gA.ref(null),mvn=gA.ref(null),M6e=gA.ref(0)});function UKa(){let e=0;return{claim(){let n=++e;return{get latest(){return e===n}}}}}function RKa(e){for(let n=e.length-1;n>=0;n--){let A=e[n];if(A.type!=="kernel:engine:complete")continue;return A.data.meta.model}return null}function KKa(e){let n=Lhe(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 hvn(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 YKa=vt(()=>{OUe()});function _pr(e,n,A){if(A<=0||n<=0)return;let i=n/A,s=bvn.get(e);bvn.set(e,s===void 0?i:s*0.7+i*0.3)}function wpr(e){return(e?bvn.get(e):void 0)??4.5}function jKa(e,n=[]){let A=null,i=null,s=null,u=-1;for(let d=e.length-1;d>=0;d--){let b=e[d];if(b.type==="kernel:engine:complete"){let E=b.data.meta;if(A??=E.model,E.tokens){i=E.tokens.in+E.tokens.out,u=b.time.seq;break}continue}if(b.type==="kernel:engine:input"){s=b.data.bytes,u=b.time.seq,A??=kpr(e,d);break}}if(i===null&&s===null)return null;if(i!==null){let d=Dpr(e,u);if(A&&d!==null)_pr(A,d,i);return{tokens:i,model:A}}let p=xpr(n,u);return{tokens:Math.round(s/wpr(A))+Math.round(p/3.3),model:A}}function kpr(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 Dpr(e,n){for(let A=e.length-1;A>=0;A--){let i=e[A];if(i.time.seq>=n)continue;if(i.type==="kernel:engine:input")return i.data.bytes;if(i.type==="kernel:engine:complete")return null}return null}function xpr(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 HKa(){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 Fpr(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 vpr(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 PKa(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 JKa(e,n){if(e===null||n<=0)return null;return`${Fpr(e)}/${vpr(n)}`}var bvn;var Cvn=vt(()=>{bvn=new Map});import{homedir as Spr}from"os";import{basename as Npr,relative as Gpr,sep as OKa}from"path";function $Ka(e,n){if(!e)return null;if(/^https?:\/\//i.test(e))return e;if(n&&Mpr(e,n))return`axon:${Npr(e)}`;return Lpr(e)}function Mpr(e,n){let A=Gpr(n,e);return A.length>0&&!A.startsWith("..")&&!A.includes(OKa)}function Lpr(e){let n=Spr();if(e===n)return"~";return e.startsWith(n+OKa)?"~"+e.slice(n.length):e}var zKa=()=>{};function wKe(){U6e.value++}function WKa(e){return e.join(" ")}function qpr(){let e=[];for(let n of N1.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 T6e,TCt,q6e,UCt,U6e,N1,TSt;var R6e=vt(()=>{Ns();Zs();T6e=gA.ref([]),TCt=gA.ref(new Map),q6e=gA.ref(new Map),UCt=gA.ref(new Map),U6e=gA.ref(0);N1={command(e){let n=WKa(e.path);if(T6e.value.some((i)=>WKa(i.path)===n))throw zn("COMMAND_PATH_TAKEN",{detail:n,context:{path:e.path}});let A=crypto.randomUUID();return T6e.value=[...T6e.value,{...e,id:A}],wKe(),()=>{T6e.value=T6e.value.filter((i)=>i.id!==A),wKe()}},get commands(){return T6e.value},key(e,n){if(TCt.value.has(e))throw zn("KEY_CHORD_TAKEN",{detail:e,context:{chord:e}});TCt.value.set(e,n),wKe();let A=!1;return()=>{if(A)return;A=!0,TCt.value.delete(e),wKe()}},keyHandler(e){return TCt.value.get(e)??null},chords:gA.computed(()=>{return U6e.value,[...TCt.value.keys()]}),palette(e,n){if(q6e.value.has(e))throw zn("PALETTE_NAME_TAKEN",{detail:e,context:{name:e}});let A={name:e,definition:n,cache:null};q6e.value.set(e,A);let i=null;if(n.key){let s=UCt.value.get(n.key);if(s)throw q6e.value.delete(e),zn("MODE_KEY_TAKEN",{detail:`${n.key} is bound to "${s}"`,context:{key:n.key,name:e,taken:s}});UCt.value.set(n.key,e),i=()=>{UCt.value.delete(n.key)}}return wKe(),()=>{q6e.value.delete(e),i?.(),wKe()}},paletteFor(e){return U6e.value,q6e.value.get(e)??null},paletteForKey(e){U6e.value;let n=UCt.value.get(e);return n?q6e.value.get(n)??null:null},names:gA.computed(()=>{return U6e.value,[...q6e.value.keys()]}),modeKeys:gA.computed(()=>{return U6e.value,[...UCt.value.entries()].map(([e,n])=>({key:e,name:n}))})};TSt=gA.computed(()=>{return U6e.value,T6e.value,qpr()})});function ZKa(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 VKa(e,n){if(n.resolve!=="splice")return null;let A=Tpr(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 XKa(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 Tpr(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 K6e;var Bvn=vt(()=>{K6e=[{mode:"voice",key:"#",prefix:">",resolve:"append"},{mode:"file",key:"@",resolve:"splice"}]});function RCt(e){return!Upr.has(e)}function t7a(e,n=()=>!0){let A=gA.ref("normal"),i=gA.ref(!1),s=gA.ref(null),u=gA.ref(0),p=null;gA.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}),gA.onUnmounted(()=>{if(p)clearInterval(p)});let d=gA.computed(()=>{if(i.value||A.value==="loading")return e7a[u.value%e7a.length];let y=KCt[A.value];if(y)return y;let k=N1.paletteFor(A.value);return k?.definition.symbol??k?.definition.key??Rpr});function b(y){A.value=y}function E(){for(let[y,k]of Object.entries(kne))Eh(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});Eh("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 kne,Cho,Upr,USt,KCt,Rpr="\xB7",e7a;var Y6e=vt(()=>{Ns();R6e();Bvn();kne={":":"command","/":"instance","*":"model","^":"session","~":"agent","#":"voice","?":"help",">":"prompt","%":"module",'"':"theme"},Cho=new Set(K6e.map((e)=>e.mode)),Upr=new Set(["normal","loading","voice"]);USt={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"},KCt={normal:"\xBB",command:":",instance:"/",model:"*",session:"^",agent:"~",voice:"#",help:"?",history:"\u2191",loading:"\u280B",escalation:"\u203C",prompt:">",module:"%",theme:'"',file:"@",question:"\xB7"},e7a=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});var n7a={};JA(n7a,{useQuestions:()=>WO});function WO(){if(!Ivn)Ivn=Kpr();return Ivn}function Kpr(){function e(n){if(j6e.value)throw zn("PALETTE_ALREADY_OPEN",{detail:"a question is already open"});return new Promise((A)=>{let i=(s)=>{if(!j6e.value)return;j6e.value=null,A(s)};j6e.value={...n(i),settle:i}})}return{pending:gA.computed(()=>j6e.value),cancel(){let n=j6e.value;if(!n)return;n.settle(n.kind==="confirm"?!1:void 0)},submitText(n){let A=j6e.value;if(A?.kind!=="prompt")return;A.settle(n.length>0?n:void 0)},async pick(n,A){return e((i)=>({kind:"pick",message:A?.placeholder??"",items:n.map((s,u)=>{let p=typeof s==="string",d=p?s:s.label,b=p?s:s.value;return{id:`pick-${u}`,label:d,...p?{}:s.description?{description:s.description}:{},action:()=>{i(b)}}})}))},async confirm(n){return e((A)=>({kind:"confirm",message:n,items:[{id:"yes",label:"yes",action:()=>{A(!0)}},{id:"no",label:"no",action:()=>{A(!1)}}]}))},async prompt(n,A){return e(()=>({kind:"prompt",message:n,items:[],...A?.placeholder?{placeholder:A.placeholder}:{}}))}}}var j6e,Ivn;var YCt=vt(()=>{Ns();Zs();j6e=gA.ref(null)});function xIe(){if(!Evn)Evn=Ypr();return Evn}function Ypr(){function e(n,A){let i=pAe.value.find((s)=>s.id===n);if(!i)return;pAe.value=pAe.value.filter((s)=>s.id!==n),i.settle(A)}return{current:gA.computed(()=>pAe.value[0]??null),waiting:gA.computed(()=>Math.max(0,pAe.value.length-1)),ask(n){return new Promise((A)=>{pAe.value=[...pAe.value,{...n,settle:A}]})},answer(n,A=!1){let i=pAe.value[0];if(i)e(i.id,{allow:n,always:A})},denyAll(){let n=pAe.value;pAe.value=[];for(let A of n)A.settle({allow:!1,always:!1})}}}var pAe,Evn;var RSt=vt(()=>{Ns();pAe=gA.ref([])});function jpr(e,n,A){return`${e}\x00${n}\x00${A??""}`}function _vn(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(_vn)}:{},action:e.action??(()=>{})}}function Hpr(e){if(Array.isArray(e))return{items:e.map(_vn)};return{items:e.items.map(_vn),...e.breadcrumb!==void 0?{breadcrumb:e.breadcrumb}:{},...e.status!==void 0?{status:e.status}:{},...e.invalid!==void 0?{invalid:e.invalid}:{}}}function Ppr(e,n,A){let i=jpr(e.name,n,A);a7a.value;let s=yvn.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(!Qvn.has(i))Qvn.add(i),(async()=>{try{let u=await e.definition.list(n,A);yvn.value.set(i,{key:i,...Hpr(u)})}catch(u){yvn.value.set(i,{key:i,items:[],status:{kind:"error",message:u instanceof Error?u.message:String(u)}})}finally{Qvn.delete(i),a7a.value++}})();return{items:[],status:{kind:"loading",message:"loading..."}}}function A7a(e){return{id:e,resolve:gA.computed(()=>(n,A)=>{let i=WO().pending.value;if(i)return{items:i.items,...i.message?{breadcrumb:i.message}:{}};let s=N1.paletteFor(e);if(!s)return{items:[]};return Ppr(s,n,A)}),get skipDefaultFilter(){return N1.paletteFor(e)?.definition.filter===!1},get tabs(){return N1.paletteFor(e)?.definition.tabs},get anchor(){return N1.paletteFor(e)?.definition.anchor},get maxHeight(){return N1.paletteFor(e)?.definition.maxHeight}}}var yvn,Qvn,a7a,kKe="escalation",i7a,DKe="question",r7a;var wvn=vt(()=>{Ns();R6e();YCt();RSt();yvn=gA.ref(new Map),Qvn=new Set,a7a=gA.ref(0);i7a={id:kKe,skipDefaultFilter:!0,resolve:gA.computed(()=>()=>{let e=xIe(),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)`:"")}}})},r7a={id:DKe,skipDefaultFilter:!0,resolve:gA.computed(()=>(e)=>{let n=WO().pending.value;if(!n)return{items:[]};if(n.kind==="prompt"){let A=e.length>0;return{items:[{id:"prompt",label:A?e:n.placeholder??"type an answer",placeholder:!A,description:A?"enter to confirm":"",action:()=>{}}],breadcrumb:n.message}}return{items:n.items,...n.message?{breadcrumb:n.message}:{}}})}});function s7a(e){o7a.set(e.id,e)}function KSt(e){let n=o7a.get(e);if(n)return n;if(e===DKe)return r7a;if(e===kKe)return i7a;return N1.paletteFor(e)?A7a(e):void 0}var o7a;var c7a=vt(()=>{R6e();wvn();o7a=new Map});function Jpr(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 Opr(e,n){if(n===e)return 100;if(n.startsWith(e))return 75;if(n.includes(e))return 50;if(e.length>=$pr&&n.length<=e.length*zpr){if(Jpr(e,n))return 25}return null}function H6e(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=Opr(u,d);if(b!==null&&(p===null||b>p))p=b}if(p===null)return null;s+=p}return s}var $pr=3,zpr=4;function yJ(e,n){let A=e[n];return!!A&&!A.header&&!A.separator&&!A.invalid}function u7a(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||!yJ(n,i))&&!p)return i;let b=u?n.findIndex((E)=>E.id===u.id):-1;return b>=0&&yJ(n,b)?b:s}function l7a(e){return typeof e.children==="function"?e.children():e.children}function Wpr(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 Zpr(e,n){let A=n.toLowerCase();return e.map((i,s)=>({node:i,index:s,score:Wpr(i,A)})).filter((i)=>i.score>0).sort((i,s)=>s.score-i.score||i.index-s.index).map((i)=>i.node)}function g7a(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((q)=>q.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=l7a(S)}let b=A?"":s[s.length-1]??"",E=b?Zpr(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:l7a(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 p7a(e,n){return[...e,n].join(" ")+" "}function YSt(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 Vpr}from"fs";import{join as m7a,resolve as Xpr}from"path";import{homedir as d7a}from"os";function emr(){let e=IC();function n(){let b=e.store.profiles.active();if(!b)throw zn("NOT_AUTHENTICATED");return b}function A(b){let E=d7a();return b===E||b.startsWith(E+"/")?"~"+b.slice(E.length):b}function i(){let b=n(),E={dir:m7a(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=Xpr(b.startsWith("~")?m7a(d7a(),b.slice(1)):b);if(!Vpr(E))throw zn("WATCH_PATH_NOT_FOUND",{context:{path:E}});return await n().agents.watch(E),Yc().refreshAvailable(),E}async function d(b){await n().agents.unwatch(b),Yc().refreshAvailable()}return{locations:i,watched:s,create:u,watch:p,unwatch:d}}function xKe(){if(!kvn)kvn=emr();return kvn}var kvn;var f7a=vt(()=>{n3();Sk();Zs()});function FIe(){if(!Dvn)Dvn=nmr();return Dvn}function nmr(){let e=gA.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},tmr),!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=new Promise((q)=>{setTimeout(()=>{console.error(`shutdown exceeded ${h7a}ms \u2014 exiting without waiting further`),q()},h7a)});await Promise.race([Yc().shutdown().catch((q)=>{console.error("shutdown failed during exit:",q)}),x]),i=!0,setTimeout(()=>{console.error(`exit exceeded ${b7a}ms \u2014 forcing`),process.exit(k)},b7a).unref?.(),s?.(k)}return{hint:e,bind:d,bindDraft:b,onQuit:E,gracefulExit:y}}var tmr=500,h7a=2000,b7a=1500,Dvn;var jCt=vt(()=>{Ns();Sk()});function FKe(){if(!xvn)xvn=Amr();return xvn}function Amr(){let e=IC().updates,n=gA.ref(null),A=gA.ref(!1),i=gA.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(()=>{})},amr);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 FIe().gracefulExit(xCt)}return{current:e.currentVersion,latest:n,available:i,checking:A,check:u,start:p,stop:d,update:b}}var amr=21600000,xvn;var jSt=vt(()=>{Ns();n3();jCt();DSt()});function imr(){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 B7a(e,n){if(!e)return"";if(n==="none")return"";let A=C7a[e];if(!A)return e;return(n==="auto"?imr():n)==="nerd"?A.nerd:A.unicode}var C7a,Zho;var I7a=vt(()=>{C7a={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"}};Zho=Object.keys(C7a)});function xR(){if(!vvn)vvn=rmr();return vvn}function rmr(){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(zn("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(zn("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"),Fvn)});try{if(await Promise.race([d.then(()=>"done"),b])==="timeout")u.push(zn("HOOK_TIMED_OUT",{detail:`${A} did not finish within ${Fvn}ms`,context:{hook:A,budgetMs:Fvn}}))}finally{if(p)clearTimeout(p)}return u},count(A){return n(A).length}}}var Fvn=5000,vvn;var vIe=vt(()=>{Zs()});function e$(){if(!Nvn)Nvn=omr();return Nvn}function omr(){let e=xR();function n(b){try{let E=b.component.render(),y=E===null||E===void 0?"":String(E),k=B7a(b.component.icon,Svn.value);Cbe.value.set(b.name,y&&k?`${k} ${y}`:y)}catch(E){Cbe.value.set(b.name,""),console.error(`line component "${b.name}" failed to render:`,E)}Cbe.value=new Map(Cbe.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??HSt.value}function p(b){let E=eL.value.get(b);if(!E)throw zn("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((q)=>Cbe.value.get(q))]).filter(([S,q])=>E(S,q)).map(([,S])=>S),k=(x)=>i(x).map((S)=>[S,S.map((q)=>Cbe.value.get(q)??"").filter(Boolean)]).filter(([S,q])=>E(S,q)).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(eL.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(ZO.value.has(b))throw zn("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 ZO.value.set(b,y),ZO.value=new Map(ZO.value),n(y),()=>{for(let k of y.teardown)k();ZO.value.delete(b),Cbe.value.delete(b),ZO.value=new Map(ZO.value),Cbe.value=new Map(Cbe.value)}},listComponents(){return[...ZO.value.keys()].sort()},createLine(b,E,y){if(eL.value.has(b))throw zn("LINE_NAME_TAKEN",{detail:`a line named "${b}" is already registered`,context:{name:b}});let k=A(E);eL.value.set(b,{name:b,content:k}),eL.value=new Map(eL.value);let x=()=>{eL.value.delete(b),eL.value=new Map(eL.value),FR.value=FR.value.filter((q)=>q.name!==b),VO.value.delete(b)};y?.(x);let S=s(k).filter((q)=>!ZO.value.has(q));if(S.length>0)XO.value=[...XO.value,zn("COMPONENT_UNKNOWN",{detail:`line "${b}" names ${S.map((q)=>`"${q}"`).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(!eL.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,VO.value=k,y.length>0)XO.value=[...XO.value,zn("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 zn("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],[q]=S.splice(y,1);S.splice(x,0,q),FR.value=S},hide(b){p(b),VO.value=new Set(VO.value).add(b)},show(b){p(b);let E=new Set(VO.value);if(E.delete(b),VO.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(VO.value);if(E.has(b))E.delete(b);else E.add(b);VO.value=E},setTop(b,E){if(b===null){HCt.value=null;return}let y=typeof b==="string"?{line:b,...E}:b;if(!eL.value.has(y.line)){XO.value=[...XO.value,zn("LINE_UNKNOWN",{detail:`no line named "${y.line}"`,context:{name:y.line}})];return}HCt.value={id:`top:${y.line}`,name:y.line,...y.style?{style:y.style}:{}}},top(){let b=HCt.value;if(!b)return null;let E=eL.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=ZO.value.get(b)?.component.click;if(!y)return;try{let k=y();if(k instanceof Promise)k.catch((x)=>{XO.value=[...XO.value,x]})}catch(k){XO.value=[...XO.value,k]}},pressable(b){return Boolean(ZO.value.get(b)?.component.click)},icons(b){if(b!==void 0){Svn.value=b;for(let E of ZO.value.values())n(E)}return Svn.value},style(b){if(b!==void 0)HSt.value=b;return HSt.value},renderedTop:gA.computed(()=>{let b=HCt.value;if(!b)return[];let E=eL.value.get(b.name);if(!E)return[];return d([{placed:b,line:E}])}),faults:gA.computed(()=>XO.value),reset(){XO.value=[],FR.value=[],VO.value=new Set,HSt.value="powerline",HCt.value=null},listRegistered(){return[...eL.value.keys()].sort()},isVisible(b){return FR.value.some((E)=>E.name===b)&&!VO.value.has(b)},list(){let b=[];for(let E of FR.value){let y=eL.value.get(E.name);if(!y)continue;b.push({id:E.id,name:y.name,content:y.content,style:u(E,y),visible:!VO.value.has(y.name)})}return b},rendered:gA.computed(()=>d(FR.value.filter((b)=>!VO.value.has(b.name)).map((b)=>({placed:b,line:eL.value.get(b.name)})).filter((b)=>b.line!==void 0)))}}var ZO,eL,FR,VO,Cbe,XO,HSt,HCt,Svn,Nvn;var vKe=vt(()=>{Ns();Zs();I7a();vIe();ZO=gA.ref(new Map),eL=gA.ref(new Map),FR=gA.ref([]),VO=gA.ref(new Set),Cbe=gA.ref(new Map),XO=gA.ref([]),HSt=gA.ref("powerline"),HCt=gA.ref(null),Svn=gA.ref("auto")});function E7a(){return{entries:gA.computed(()=>PCt.value),checking:gA.computed(()=>Gvn.value),outdated:gA.computed(()=>PCt.value.filter((e)=>e.outdated)),refresh(){if(JCt)return JCt;if(Mvn!==null)return Promise.resolve();if(Date.now()<Lvn)return Promise.resolve();return Gvn.value=!0,JCt=(async()=>{let e=!1;try{let n=await tL().updates();PCt.value=n,e=n.every((A)=>A.latest!==null)}catch{PCt.value=[]}finally{if(e)Mvn=Date.now();else Lvn=Date.now()+smr;Gvn.value=!1,JCt=null}})(),JCt},invalidate(){Mvn=null,Lvn=0,PCt.value=[]}}}var PCt,Gvn,Mvn=null,Lvn=0,smr=1e4,JCt=null;var y7a=vt(()=>{Ns();SIe();PCt=gA.ref([]),Gvn=gA.ref(!1)});function PSt({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 umr(e){let n=NKe.get(e);if(!n)n={modules:[],checkedAt:null,retryAfter:0,inFlight:null},NKe.set(e,n);return n}function Q7a(){let e=Yc(),n=gA.computed(()=>e.projectRoot.value);return{entries:gA.computed(()=>{SKe.value;let A=n.value;if(!A)return[];return NKe.get(A)?.modules??[]}),checking:gA.computed(()=>{SKe.value;let A=n.value;if(!A)return!1;return NKe.get(A)?.inFlight!=null}),outdated:gA.computed(()=>{SKe.value;let A=n.value;if(!A)return[];return(NKe.get(A)?.modules??[]).filter((i)=>i.outdated)}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=umr(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()+cmr;i.inFlight=null,SKe.value++}})(),SKe.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;NKe.delete(A),SKe.value++}}}var NKe,SKe,cmr=1e4;var _7a=vt(()=>{Ns();Sk();NKe=new Map,SKe=gA.ref(0)});function gmr(e){let n=$Ct.get(e);if(!n)n={cognet:null,checkedAt:null,retryAfter:0,inFlight:null},$Ct.set(e,n);return n}function w7a(){let e=Yc(),n=gA.computed(()=>e.projectRoot.value);return{entry:gA.computed(()=>{OCt.value;let A=n.value;if(!A)return null;return $Ct.get(A)?.cognet??null}),checking:gA.computed(()=>{OCt.value;let A=n.value;if(!A)return!1;return $Ct.get(A)?.inFlight!=null}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=gmr(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()+lmr;i.inFlight=null,OCt.value++}})(),OCt.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;$Ct.delete(A),OCt.value++}}}var $Ct,OCt,lmr=1e4;var k7a=vt(()=>{Ns();Sk();$Ct=new Map,OCt=gA.ref(0)});function pmr(){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 mmr(e){let n=IC(),A=n.cloud.client.registry.artifacts,i=n.store.cache.file(`registry-${e}-${pmr()}`),s=gA.ref([]),u=gA.ref(!1),p=gA.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 GKe(e){let n=D7a.get(e);if(!n)n=mmr(e),D7a.set(e,n);return n}var D7a;var JSt=vt(()=>{Ns();n3();D7a=new Map});function Nk(){return{current:OSt,show(e,n="info",A){let i=e.trim();if(i.length===0)return;OSt.value={message:i.length>x7a?`${i.slice(0,x7a-1)}\u2026`:i,level:n};let s=A!==void 0&&Number.isFinite(A)&&A>0?Math.min(A,fmr):dmr;if(P6e)clearTimeout(P6e);P6e=setTimeout(()=>{OSt.value=null,P6e=null},s)},clear(){if(P6e)clearTimeout(P6e);P6e=null,OSt.value=null}}}var x7a=50,dmr=300,fmr=5000,OSt,P6e=null;var J6e=vt(()=>{Ns();OSt=gA.ref(null)});function MKe(){let e=Yc(),n=gA.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 F7a=vt(()=>{Ns();Sk()});function hmr(){let e=IC().cloud.client.registry.artifacts,n=gA.ref([]),A=gA.ref(!1),i=gA.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 v7a(){if(!qvn)qvn=hmr();return qvn}var qvn;var S7a=vt(()=>{Ns();n3()});function bmr(e,n){let A=e.trim().toLowerCase();return{items:MKe().entries.value.filter((s)=>LKe(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 MKe().render(s.name))}catch(u){Mb().sendError.value=M7a(u)}}}))}}function N7a(e,n,A){let i=v7a();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(MKe().entries.value.map((d)=>d.name)),p=i.entries.value.filter((d)=>LKe(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 MKe().fetch(d.name))}catch(b){Mb().sendError.value=M7a(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 Tvn(e,n=[]){if(!e.startsWith("@"))return!1;let A=e.trim().toLowerCase();return!n.some((i)=>i.toLowerCase()===A)}function LKe(e,n,A){if(!e)return!0;let i=e.toLowerCase();return n.toLowerCase().includes(i)||(A?.toLowerCase().includes(i)??!1)}function M7a(e){return e instanceof Error?e:Error(String(e))}var G7a;var $St=vt(()=>{Ns();F7a();S7a();nL();G7a={id:"prompt",maxHeight:8,skipDefaultFilter:!0,resolve:gA.computed(()=>(e,n,A)=>{let i=MKe().entries.value.map((p)=>p.name);if(Tvn(e,i))return N7a(e,A);let s=bmr(e,A),u=N7a(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 zSt(e,n){return GKe(e).entries.value.filter((i)=>LKe(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;Cmr(e,i.name)}}})}async function Cmr(e,n){try{if(e==="extension"){await Yc().installExtension(n),Nk().show(`installed ${n}`);return}if((await Yc().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 Uvn=vt(()=>{JSt();Sk();J6e();nL();$St()});function U7a(){return Yc().modules.value.map((e)=>e.packageName).filter((e)=>e!==void 0)}function Rvn(e){return e.packageName!==void 0&&e.root.includes("node_modules")}function Bmr(e,n){let A=e.trim().toLowerCase();return{items:Yc().modules.value.filter((s)=>LKe(A,s.packageName??s.name,q7a(s))).map((s)=>{let u=s.packageName??s.name;return{id:`module:${u}`,label:u,description:q7a(s),completeQuery:u,choices:()=>Imr(s,n),action:()=>{}}})}}function Imr(e,n){let A=e.packageName??e.name,i=[];if(Rvn(e))i.push({id:`module:uninstall:${A}`,label:"\u2715 uninstall",description:`remove ${A} from this agent`,workingMessage:`uninstalling ${A}...`,action:async()=>{try{if((await Yc().uninstallModule(A)).status==="not-installed")Mb().palette.signalNoMatch();else n("")}catch(s){Mb().sendError.value=Emr(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 L7a(e,n){let A=GKe("module");A.ensure();let i=e.trim().toLowerCase(),s=new Set(U7a()),u=zSt("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 q7a(e){if(e.version)return`v${e.version}`;return e.root.includes("node_modules")?"installed module":"local module"}function Emr(e){return e instanceof Error?e:Error(String(e))}var T7a;var Kvn=vt(()=>{Ns();Sk();JSt();Uvn();nL();$St();T7a={id:"module",maxHeight:8,skipDefaultFilter:!0,resolve:gA.computed(()=>(e,n,A)=>{let i=U7a();if(Tvn(e,i))return L7a(e);let s=Bmr(e,A),u=L7a(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 ymr(e){let n=WCt.get(e);if(!n)n={names:[],loaded:!1,inFlight:null},WCt.set(e,n);return n}function Yvn(){let e=Yc(),n=gA.computed(()=>e.projectRoot.value);return{names:gA.computed(()=>{zCt.value;let A=n.value;if(!A)return[];return WCt.get(A)?.names??[]}),checking:gA.computed(()=>{zCt.value;let A=n.value;if(!A)return!1;return WCt.get(A)?.inFlight!=null}),refresh(){let A=n.value;if(!A)return Promise.resolve();let i=ymr(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,zCt.value++}})(),zCt.value++,i.inFlight},invalidate(){let A=n.value;if(!A)return;WCt.delete(A),zCt.value++}}}var WCt,zCt;var R7a=vt(()=>{Ns();Sk();WCt=new Map,zCt=gA.ref(0)});import{join as jvn}from"path";function K7a(){return Qmr.map(({id:e,hint:n})=>({kind:"action",label:e,description:n,workingMessage:"setting thinking effort...",action:async()=>{await Yc().setThinking(e)}}))}function _mr(e){let n=e.lastIndexOf("@");return n>0?e.slice(0,n):e}function t$(e,n=""){return{kind:"action",label:`(${e})`,description:n,invalid:!0,action:()=>{}}}function Y7a(e){let n=GKe(e);n.ensure();let A=e==="module"?new Set(Yc().modules.value.map((s)=>s.packageName).filter((s)=>Boolean(s))):new Set(tL().declared.value.map(_mr)),i=zSt(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[t$(s)]}return i.map((s)=>({kind:"action",label:s.label,description:s.description??"",action:(u)=>{s.action(u)}}))}var Qmr,j7a,H7a="detail",hCo,ZCt;var Hvn=vt(()=>{s1t();wIe();Sk();f7a();Zs();jSt();jCt();GSt();nL();vKe();SIe();y7a();_7a();k7a();Kvn();R7a();JSt();Uvn();n3();J6e();D3();Qmr=[{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"}];j7a=[{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"}],hCo=[...j7a.map((e)=>e.label),H7a],ZCt=[{kind:"group",label:"open",description:"Open this session in the editor \u2014 a pane, or the console panel",children:()=>{let e=Yc(),n=lAe();if(!n.available.value)return[{kind:"action",label:"(no editor attached)",description:"Open this project in an editor running Axon Fleet",action:()=>{throw zn("NO_EDITOR_ATTACHED")}}];if(e.sessionId.value===null)return[{kind:"action",label:"(no session)",description:"Start or focus an agent first",action:()=>{throw zn("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[...j7a.map((s)=>({kind:"action",label:s.label,description:s.description,workingMessage:`opening ${s.label}...`,action:async()=>{let u=e.sessionId.value;if(!u)throw zn("NO_SESSION_TO_OPEN");await A("buffer",s.kind,u)}})),{kind:"action",label:H7a,description:"Bring the console panel forward on this instance",workingMessage:"opening console...",action:async()=>{let s=e.sessionId.value;if(!s)throw zn("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=Yc(),n=e.available.value;if(n.length===0)return[t$("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=Yc(),n=e.instances.value.filter((A)=>A.exitedAt===null);if(n.length===0)return[t$("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:()=>Yc().close()},{kind:"action",label:"reboot",description:"Reload the running agent (blueprint rescan + hot-swap)",workingMessage:"rebooting...",action:()=>Yc().reboot()},{kind:"action",label:"clear",description:"Clear the current conversation and start a fresh session",workingMessage:"clearing conversation...",action:()=>Yc().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=lAe();if(!e.available.value)throw zn("NO_EDITOR_ATTACHED");let n=Yc().projectRoot.value;if(!n)throw zn("NO_LOCAL_PROJECT");await e.editor("open",jvn(n,"axon.config.ts"))}},{kind:"group",label:"thinking",description:"Set the focused agent's thinking effort",children:K7a}]},{kind:"action",label:"reload",description:"Reload your config \u2014 main.ts, plugins and extensions",workingMessage:"reloading config...",action:async()=>{let e=tL();await e.reload();let n=e.problems.value.length,A=Nk();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 zn("PALETTE_CHOICE_REQUIRED");if(n==="watch a new directory...")throw zn("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 zn("PROJECT_NOT_FOUND",{context:{location:n}});await A.create(e,i),await Yc().select(e)}},{kind:"action",label:"exit",description:"Exit the application",action:()=>FIe().gracefulExit()},{kind:"action",label:"update",description:"Install the latest Axon release and exit",workingMessage:"preparing update...",action:(e)=>FKe().update(e)},{kind:"action",label:"logout",description:"Sign out of your Axon account",workingMessage:"logging out...",action:()=>d8().logout()},{kind:"action",label:"docs",description:"Open Axon documentation",action:()=>{QMe("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:()=>Y7a("module")},{kind:"group",label:"update",description:"Update this agent's modules",children:()=>{let e=Q7a();return e.refresh(),PSt({entries:e.entries.value,checking:e.checking.value,noun:"module"}).map((n)=>{if(n.kind==="message")return t$(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 Yc().updateModules(n.entries.map((i)=>({name:i.name,version:i.latest}))),e.invalidate(),Nk().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 Yc().updateModules([{name:A.name,version:A.latest}]),e.invalidate(),Nk().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove a module from the running agent",children:()=>{let e=Yc().modules.value;if(e.length===0)return[t$("none installed","This agent has no installed modules")];let n=e.filter(Rvn);if(n.length===0)return[t$("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:()=>{Yc().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 Yc().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){Nk().show("usage: :key set NAME value");return}let i=n.slice(0,A),s=n.slice(A+1).trim();if(s===""){Nk().show("usage: :key set NAME value");return}await Yc().setKey(i,s),Yvn().invalidate(),Nk().show(`set ${i} \xB7 reloaded`)}},{kind:"group",label:"list",description:"What this agent's .env defines",children:()=>{let e=Yvn();if(e.refresh(),e.checking.value&&e.names.value.length===0)return[t$("reading\u2026","Reading this agent's .env")];if(e.names.value.length===0)return[t$("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=w7a();e.refresh();let n=e.entry.value;return PSt({entries:n?[n]:[],checking:e.checking.value,noun:"cognet"}).map((A)=>{if(A.kind==="message")return t$(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 Yc().updateCognet(s.name,s.latest);e.invalidate(),Nk().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 Yc().updateCognet(i.name,i.latest),e.invalidate(),Nk().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:()=>Y7a("extension")},{kind:"group",label:"update",description:"Update installed extensions",children:()=>{let e=E7a();return e.refresh(),PSt({entries:e.entries.value,checking:e.checking.value,noun:"extension"}).map((n)=>{if(n.kind==="message")return t$(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 tL().update(i.name,i.latest);e.invalidate(),Nk().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 tL().update(A.name,A.latest),e.invalidate(),Nk().show(`updated ${A.name} to ${A.latest}`)}}})}},{kind:"group",label:"uninstall",description:"Remove an extension from your terminal",children:()=>{let e=tL().declared.value;if(e.length===0)return[t$("none installed","Your profile declares no extensions")];return e.map((n)=>({kind:"action",label:n,description:"",workingMessage:`removing ${n}...`,action:async()=>{await Yc().uninstallExtension(n),Nk().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 Yc().forkSession();Nk().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 Yc().renameSession(e),Nk().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=Yc(),n=lAe(),A=e.sessionFile.value;if(!A)throw zn("NO_SESSION_TO_OPEN");if(!n.available.value)throw zn("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:()=>Yc().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:K7a},{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=lAe();if(!e.available.value)throw zn("NO_EDITOR_ATTACHED");await e.editor("open",jvn(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=lAe();if(!e.available.value)throw zn("NO_EDITOR_ATTACHED");await e.editor("open",jvn(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[t$("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=d8().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=d8().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=d8().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=jE(),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 ${qSt}, the theme Axon ships with`,action:()=>jE().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=e$();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=e$();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=e$();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 qKe(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 Pvn=vt(()=>{vIe()});function kmr(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)} ${wmr}`}var wmr="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",P7a;var J7a=vt(()=>{Ns();Hvn();R6e();Pvn();D3();P7a={id:"command",skipDefaultFilter:!0,onCancel:()=>{jE().cancelPreview()},resolve:gA.computed(()=>(e)=>{let n=g7a(e,[...ZCt,...TSt.value]);if(n.breadcrumb[0]!=="theme")jE().cancelPreview();function A(s){if(s.kind==="group"||s.kind==="input"){let p=p7a(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:qKe(u,"palette",s.action)}}if(n.nodes.length===0&&n.exactMatch?.kind==="action"&&!n.input){let s=n.exactMatch;return{items:[A(s)],breadcrumb:YSt(n.breadcrumb),invalid:!1}}if(n.input){let{node:s,value:u}=n.input,p=n.breadcrumb,d=s.secret?kmr(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:qKe(p,"palette",(y)=>Promise.resolve(s.action(u,E.label,y)),b)}))},action:()=>{}}:{action:qKe(p,"palette",(E)=>Promise.resolve(s.action(u,void 0,E)),b)}}],breadcrumb:YSt(n.breadcrumb),invalid:!1}}let i=n.exactMatch!==null&&n.exactMatch.kind==="action";return{items:n.nodes.map(A),breadcrumb:YSt(n.breadcrumb),invalid:!i}})}});function Fmr(){let e=IC(),n=e.cloud.client.registry.models,A=e.store.cache.file(Dmr),i=gA.ref([]),s=gA.ref([]),u=gA.ref(!1),p=gA.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>xmr)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 O6e(){if(!Jvn)Jvn=Fmr();return Jvn}function O7a(){O6e().ensure()}var Dmr="models",xmr=1800000,Jvn;var WSt=vt(()=>{Ns();n3()});function Smr(){let e=IC().store,n=gA.ref(e.state.get()?.recentModels??[]),A=gA.computed(()=>n.value);function i(s){let u=[s,...n.value.filter((p)=>p!==s)].slice(0,vmr);n.value=u;try{e.state.update((p)=>({...p,recentModels:u}))}catch{}}return{order:A,record:i}}function TKe(){if(!Ovn)Ovn=Smr();return Ovn}var vmr=25,Ovn;var $7a=vt(()=>{Ns();n3()});function Mmr(){let e=IC(),n=e.ollama,A=e.store.cache.file(Nmr),i=gA.ref(null),s=gA.ref([]),u=gA.ref({}),p=gA.ref(null),d=gA.ref(null),b=0,E=!1;function y(){let U=new Set(s.value.map((z)=>z.name));return n.registry.browse().map((z)=>({...z,installed:U.has(z.name),...u.value[z.name]===void 0?{}:{size:u.value[z.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 z=n.registry.browse(),te=await Promise.all(z.map(async(ne)=>{try{let me=await n.registry.resolve(ne.name);return me?[ne.name,me.size]:null}catch{return null}})),Ae={};for(let ne of te)if(ne)Ae[ne[0]]=ne[1];if(Object.keys(Ae).length>0){u.value=Ae,b=Date.now();try{A.set({sizes:Ae,at:b})}catch{}}}catch(U){d.value=U instanceof Error?U:Error(String(U)),i.value=!1}finally{E=!1}}function S(){if(k(),i.value===null||b===0||Date.now()-b>Gmr)x()}async function q(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 z of n.models.pull(U))if(p.value=Lmr(U,z),z.done)break;s.value=await n.models.list()}catch(z){throw d.value=z instanceof Error?z:Error(String(z)),z}finally{p.value=null}}return{running:i,installed:s,catalog:y,sizes:u,pulling:p,error:d,ensure:S,refresh:x,pull:q}}function Lmr(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 UKe(){if(!$vn)$vn=Mmr();return $vn}var Nmr="ollama-sizes",Gmr=86400000,$vn;var zvn=vt(()=>{Ns();n3()});function Tmr(e){let n=new Set;for(let A of e)for(let i of A.routes)n.add(i.via);if(n.add("axon"),UKe().running.value)n.add("ollama");return qmr.filter((A)=>n.has(A))}function Umr(e,n){let A=0;for(let i of n)if(i.routes.some((s)=>s.via===e))A++;return A}function Rmr(e){let n=O6e().models.value,A=Umr(e,n),i=e5a(e);if(i&&!i.connected.value)return{id:`route:${e}`,label:e,description:`${W7a[e]??`${A} models`} \xB7 ${i.hint}`,...i.workingMessage?{workingMessage:i.workingMessage}:{},action:i.connect};return{id:`route:${e}`,label:e,description:W7a[e]??`${A} models`,descendQuery:`${e}:`,completeQuery:`${e}:`,action:()=>{}}}function e5a(e){let n=d8();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 Kmr(e){let n=TKe().order.value;if(n.length===0)return[{...Wvn(),label:"axon:auto"}];let A=[];for(let i of n.slice(0,Ymr)){if(i==="axon:auto"){A.push({...Wvn(),label:"axon:auto"});continue}let s=i.indexOf(":");if(s===-1)continue;let u=i.slice(0,s),p=i.slice(s+1),d=e5a(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({...t5a(b,E),label:i})}return A}function z7a(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function jmr(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}function Wvn(){let e=Yc().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 TKe().record("axon:auto"),Zvn("axon:auto")},workingMessage:"switching to auto..."}}function t5a(e,n){let A=Yc().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) ":""}${Omr(e,n)}`,action:()=>{if(n.via==="openrouter"&&!d8().connections.openrouter.connected.value)return Promise.reject(zn("PROVIDER_NOT_CONNECTED",{detail:"OpenRouter key not connected \u2014 run :provider openrouter connect first",context:{provider:"openrouter"}}));if(n.via==="codex"&&!d8().connections.openai.connected.value)return Promise.reject(zn("PROVIDER_NOT_CONNECTED",{detail:"OpenAI account not connected \u2014 run :provider codex connect first",context:{provider:"codex"}}));return TKe().record(`${n.via}:${n.model}`),Zvn(Pmr(n))},workingMessage:`switching to ${Jmr(e)} via ${n.via}...`}}function Hmr(){let e=UKe(),n=Yc().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(TKe().record(`ollama:${s.name}`),await Zvn(`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 Zvn(e){await Yc().setModel(e)}function Pmr(e){return`${e.via}:${e.model}`}function Jmr(e){let n=e.name.indexOf(": ");return n===-1?e.name:e.name.slice(n+2)}function Omr(e,n){let A=d8().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($mr(e.context));if(n.via==="axon")i.push(`${V7a(n.pricing.inPerMTok)}/${V7a(n.pricing.outPerMTok)}`);if(n.via==="openrouter"&&n.pricing)i.push(`${Z7a(n.pricing.prompt)}/${Z7a(n.pricing.completion)}`);if(n.via==="codex")i.push("sub");return i.join(" \xB7 ")}function $mr(e){if(e>=1e6)return`${(e/1e6).toFixed(e%1e6===0?0:1)}m`;return`${Math.round(e/1000)}k`}function Z7a(e){return`$${e.toFixed(e>0&&e<0.01?4:2)}`}function V7a(e){let n=e/100;return`\xA3${n.toFixed(n>0&&n<0.01?4:2)}`}var X7a,qmr,Ymr=5,W7a;var n5a=vt(()=>{Ns();Zs();Sk();wIe();WSt();$7a();zvn();X7a={id:"model",maxHeight:8,onEnter:()=>{let e=O6e();e.ensure(),e.reset(),UKe().ensure()},skipDefaultFilter:!0,resolve:gA.computed(()=>(e)=>{let n=Yc(),A=O6e();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 te of A.failures.value)s.push({id:`failure:${te.source}`,label:te.source,description:te.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=Tmr(A.models.value);if(b===null){let te=Kmr(A.models.value),Ae=E.filter((me)=>me.includes(d)),ne=d.length===0?te:te.filter((me)=>{let de=me.chunks?.[0];return de!==void 0&&de.includes(d)});if(Ae.length===0&&ne.length===0)return s.push({id:"route:none",label:"no such provider",description:E.join(" \xB7 "),action:()=>{},invalid:!0}),{items:s,invalid:!0};if(ne.length>0){if(s.push(z7a("recent"),...ne),Ae.length>0)s.push(jmr("providers"),z7a("providers"))}return s.push(...Ae.map(Rmr)),{items:s}}let y=E.filter((te)=>te.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(Wvn());if(k==="ollama")x.push(...Hmr());for(let te of A.models.value)for(let Ae of te.routes)if(Ae.via===k)x.push(t5a(te,Ae));let S=TKe().order.value,q=(te)=>{let Ae=S.indexOf(te.id);return Ae===-1?Number.MAX_SAFE_INTEGER:Ae},U=x.sort((te,Ae)=>q(te)-q(Ae)),z=b.length===0?U:U.filter((te)=>H6e(b,[te.label])!==null);if(z.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(...z),{items:s,breadcrumb:`${k} \u203A`}})},qmr=["axon","codex","openrouter","ollama"];W7a={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 a5a;var A5a=vt(()=>{Ns();Y6e();nL();a5a={id:"help",resolve:gA.computed(()=>()=>{return{items:Object.entries(kne).map(([n,A])=>({id:A,label:`${KCt[A]} ${A}`,description:USt[A]??n,action:()=>{Mb().mode.setMode(A)}}))}})}});function zmr(e){let n=gA.ref(0);function A(){n.value++}let i=gA.computed(()=>{return n.value,e.history.recent()});function s(u,p){e.history.append(u,p),A()}return{entries:i,append:s}}function VCt(){if(!Vvn)Vvn=zmr(IC().store);return Vvn}var Vvn;var Xvn=vt(()=>{Ns();n3()});var i5a;var r5a=vt(()=>{Ns();Xvn();nL();i5a={id:"history",anchor:"bottom",skipDefaultFilter:!0,resolve:gA.computed(()=>()=>{return{items:VCt().entries.value.slice().reverse().map((n)=>({id:n.id,label:n.content,description:n.agentName??void 0,preview:()=>{Mb().previewHistory(n.content)},action:()=>{}}))}})}});function Wmr(){return{ordered:[],originSessionId:null,originRoute:null,committed:!1}}function Zmr(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((q,U)=>E(q,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 Vmr(){let e=XCt.value;if(e.committed)return;let n=Yc();if(e.originSessionId&&n.instances.value.some((A)=>A.sessionId===e.originSessionId))n.focus(e.originSessionId);if(e.originRoute)TI().push(e.originRoute)}function Xmr(e){let n=()=>{Yc().focus(e.sessionId),TI().push("/")},A=e.exitedAt!==null;return{id:`instance:${e.sessionId}`,label:`${edr(e)}${e.name}`,completeQuery:e.name,description:tdr(e),...A?{invalid:!0,action:()=>{}}:{preview:n,action:()=>{XCt.value={...XCt.value,committed:!0},n()}}}}function edr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function tdr(e){let n=[];if(e.exitedAt!==null)n.push(`exited ${ndr(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 ndr(e){let n=Math.floor((Date.now()-e)/60000);return n<1?"just now":`${n}m ago`}var XCt,o5a;var s5a=vt(()=>{Ns();Sk();XCt=gA.ref(Wmr()),o5a={id:"instance",maxHeight:8,onEnter:()=>{let n=Yc().instances.value,A=n.find((i)=>i.focused)?.sessionId??null;XCt.value={originSessionId:A,originRoute:TI().currentRoute.value.path,committed:!1,ordered:[...A?[A]:[],...n.filter((i)=>i.sessionId!==A).map((i)=>i.sessionId)]}},onCancel:Vmr,resolve:gA.computed(()=>(e)=>{let n=Yc().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:Zmr(n,XCt.value.ordered).map(Xmr)}})}});function adr(e,n){return{id:`agent:${e.name}`,label:e.name,description:n.length>0?`${n.length} running`:void 0,action:()=>Yc().spawnSibling(e.dir),detach:!0,workingMessage:`starting ${e.name}...`}}function Adr(e){return{id:`deployment:${e.deploymentId}`,label:e.name,description:`running \xB7 ${e.tier}`,action:()=>Yc().attachDeployment(e.deploymentId),detach:!0,workingMessage:`connecting to ${e.name}...`}}function eSn(e){return{id:`header:${e}`,label:e,action:()=>{},header:!0}}function c5a(e){return{id:`sep:${e}`,label:"",action:()=>{},separator:!0}}var u5a;var l5a=vt(()=>{Ns();Sk();u5a={id:"agent",maxHeight:8,resolve:gA.computed(()=>(e)=>{let n=Yc(),A=[],i=n.available.value,s=i.filter((p)=>p.kind==="local");if(s.length>0){A.push(eSn("agents"));for(let p of s){let d=n.instancesByAgent.value.get(p.name)??[];A.push(adr(p,d))}}let u=i.filter((p)=>p.kind==="deployed");if(u.length>0){A.push(c5a("cloud"),eSn("deployed"));for(let p of u)A.push(Adr(p))}if(n.deploymentsError.value)A.push(c5a("cloud"),eSn("deployed")),A.push({id:"deployments:error",label:"unavailable",description:n.deploymentsError.value.message,action:()=>{},invalid:!0});return{items:A}})}});function idr(e){return e.hasEntries||e.running||e.forkedFrom!==null}function rdr(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((q,U)=>E(q,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 odr(e){if(e.indent===0)return"";return`${" ".repeat(e.indent-1)}${e.last?"\u2514\u2500 ":"\u251C\u2500 "}`}function sdr(e){let n=[udr(e.modifiedAt)];if(e.running)n.push("running");if(e.title)n.push(e.sessionId.slice(0,8));return n.push(cdr(e.sizeBytes)),n.join(" \xB7 ")}function cdr(e){if(e<1024)return`${e}b`;if(e<1048576)return`${Math.round(e/1024)}k`;return`${(e/1048576).toFixed(1)}M`}function udr(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 g5a;var p5a=vt(()=>{Ns();Sk();g5a={id:"session",maxHeight:8,anchor:"bottom",resolve:gA.computed(()=>(e)=>{let n=Yc(),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&&idr(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:rdr(u).map((d)=>({id:`session:${d.sessionId}`,label:`${odr(d)}${d.title??d.sessionId.slice(0,8)}`,completeQuery:d.title??d.sessionId.slice(0,8),description:sdr(d),preview:()=>{n.preview.show(d)},action:()=>n.resume(d.agent,d.sessionId),detach:!0}))}})}});var m5a;var d5a=vt(()=>{Ns();D3();m5a={id:"theme",resolve:gA.computed(()=>()=>{let e=jE(),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:()=>{jE().cancelPreview()}}});function ldr(){let e=IC().files,n=gA.ref([]),A=gA.ref(!1),i=gA.ref(null),s=gA.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 nSn(){if(!tSn)tSn=ldr();return tSn}function f5a(){nSn().ensure()}var tSn;var aSn=vt(()=>{Ns();n3()});function gdr(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 h5a(e){return e.startsWith(".")||e.includes("/.")}function pdr(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,C5a).map((u)=>B5a(u,u.name))}function mdr(e,n){let A=[];for(let i of e){let s=H6e(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(h5a(i.entry.path))-Number(h5a(s.entry.path))||i.entry.path.length-s.entry.path.length),A.slice(0,C5a).map((i)=>B5a(i.entry,i.entry.path))}function B5a(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 b5a,C5a=200;var I5a=vt(()=>{Ns();aSn();nL();b5a={id:"file",maxHeight:10,skipDefaultFilter:!0,resolve:gA.computed(()=>(e)=>{let n=nSn();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?pdr(A,i):mdr(A,i);if(n.loading.value&&u.length===0)return{items:[],status:{kind:"loading",message:"reading working tree..."}};return{items:u,...s&&i!==""?{breadcrumb:gdr(i)}:{},...n.truncated.value?{status:{kind:"error",message:"tree too large \u2014 results are partial"}}:{}}})}});function ddr(){if(E5a)return;E5a=!0;for(let e of[P7a,X7a,a5a,i5a,o5a,u5a,g5a,G7a,T7a,m5a,b5a])s7a(e)}function y5a(e){ddr();let{mode:n,query:A,setQuery:i}=e,s=e.hint??(()=>null),u=gA.ref(0),p=gA.ref(0),d=gA.ref(!1),b=gA.ref(null),E=gA.computed(()=>KSt(n.value)),y=gA.ref(null),k=3,x=gA.ref(null),S=gA.ref(0),q=gA.computed(()=>E.value?.tabs??null),U=gA.computed(()=>{let Ka=q.value;if(!Ka)return null;return Ka.slice(S.value,S.value+k)});function z(Ka){let ga=q.value;if(!ga)return;let mr=ga.findIndex((Ye)=>Ye.id===Ka);if(mr===-1)return;if(x.value=Ka,mr<S.value)S.value=mr;else if(mr>=S.value+k)S.value=mr-k+1;ze()}let te=ZC();gA.watch(n,(Ka,ga)=>{if(ga!==void 0&&ga!==Ka)KSt(ga)?.onCancel?.(y.value);let mr=KSt(Ka);if(y.value=mr?.createState?mr.createState():null,mr?.onEnter?.(y.value),x.value=mr?.tabs?.[0]?.id??null,S.value=0,u.value=0,p.value=0,d.value=!1,b.value=null,ga!==void 0&&ga!=="normal"&&Ka==="normal")setTimeout(()=>te(),0)},{immediate:!0});let Ae=gA.computed(()=>E.value?.resolve.value(A(),x.value,i)??{items:[]}),ne=gA.computed(()=>Ae.value.items),me=gA.computed(()=>{let Ka=s();if(Ka!==null)return Ka;if(b.value!==null)return b.value;let ga=ne.value;if(E.value?.skipDefaultFilter)return ga;let mr=A().toLowerCase().trim();if(!mr)return ga;let Ye=(SA)=>SA.chunks?H6e(A(),SA.chunks)!==null:SA.label.toLowerCase().includes(mr)||(SA.description?.toLowerCase().includes(mr)??!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(mr.length>0&&vn.length>1&&vn.every((SA)=>SA.chunks)){let SA=vn.map((Za,li)=>({item:Za,index:li,score:H6e(A(),Za.chunks)??0}));return SA.sort((Za,li)=>li.score-Za.score||Za.index-li.index),SA.map((Za)=>Za.item)}return vn}),de=gA.computed(()=>{if(ht.value!==null)return 1;if(wa.value!==null)return 1;if(me.value.length===0)return 1;let Ka=E.value?.maxHeight??5;return Math.min(me.value.length,Ka)});gA.watch(me,(Ka,ga)=>{if(!d.value&&Ka.length>0){u.value=Se.value,d.value=!0,lt(),nt();return}let mr=u7a({items:Ka,previous:ga,selectedIndex:u.value,homeIndex:Se.value});if(mr!==u.value)u.value=mr,lt()});let oe=gA.computed(()=>{let Ka=me.value;for(let ga=0;ga<Ka.length;ga++)if(yJ(Ka,ga))return ga;return 0}),ke=gA.computed(()=>{let Ka=me.value;for(let ga=Ka.length-1;ga>=0;ga--)if(yJ(Ka,ga))return ga;return 0}),Se=gA.computed(()=>{let Ka=me.value;for(let ga=0;ga<Ka.length;ga++)if(Ka[ga].current&&yJ(Ka,ga))return ga;return E.value?.anchor==="bottom"?ke.value:oe.value});function Ze(Ka){let ga=me.value;if(ga[Ka]?.header)return!1;for(let mr=0;mr<=Ka&&mr<ga.length;mr++)if(ga[mr].header)return!0;return!1}function lt(){let Ka=de.value,ga=u.value;if(ga<=p.value)p.value=Ze(ga)?Math.max(0,ga-1):ga;else if(ga>=p.value+Ka)p.value=ga-Ka+1}function ze(){p.value=0,d.value=!1,u.value=Se.value,lt()}function nt(){me.value[u.value]?.preview?.()}let ht=gA.ref(null),We=null,Dt=gA.ref(0);function Wt(){Dt.value++}function Ct(){We?.abort(),We=null,ht.value=null}function Xn(Ka){return Ka instanceof Error?Ka.message:"failed"}async function Qa(Ka){We=new AbortController;let ga=We.signal,mr;try{mr=Ka.action(ga)}catch(vn){We=null,ht.value={kind:"error",label:Ka.label,message:Xn(vn)};return}if(!(mr instanceof Promise)){We=null;return}if(Ka.detach){if(We=null,!Ka.inlineResult)i("");n.value="normal",mr.catch(()=>{});return}let Ye=Ka.label;ht.value={kind:"working",label:Ye,message:Ka.workingMessage??Ka.description??"working...",startedAt:Date.now()};try{if(await mr,!ga.aborted){if(ht.value=null,Ka.keepOpen)return;if(!Ka.inlineResult)i("");n.value="normal"}}catch(vn){if(!ga.aborted)ht.value={kind:"error",label:Ye,message:Xn(vn)}}finally{We=null}}function Ut(Ka){if(Ka.choices)try{b.value=Ka.choices(),u.value=0,p.value=0}catch(ga){ht.value={kind:"error",label:Ka.label,message:Xn(ga)}}else if(Ka.descendQuery!==void 0)i(Ka.descendQuery);else Qa(Ka)}function Aa(){if(ht.value!==null)return null;let Ka=me.value[u.value]??null;if(Ka&&yJ(me.value,u.value))Ut(Ka);return Ka}function eA(Ka){if(ht.value!==null)return null;let ga=me.value[Ka]??null;if(ga&&yJ(me.value,Ka))u.value=Ka,Ut(ga);return ga}function Pn(Ka){if(!yJ(me.value,Ka))return;u.value=Ka,lt(),nt()}Eh("tab",(Ka)=>{if(ht.value===null){let ga=me.value[u.value]??null;if(ga&&yJ(me.value,u.value)){let mr=ga.completeQuery??ga.label;if(mr.length>0)i(mr)}}if(Ka)Ka.consumed=!0}),Eh("up",(Ka)=>{let ga=me.value,mr=ga.length;if(mr===0)return;for(let Ye=1;Ye<=mr;Ye++){let vn=(u.value-Ye+mr)%mr;if(yJ(ga,vn)){u.value=vn,lt(),nt();break}}if(Ka)Ka.consumed=!0}),Eh("down",(Ka)=>{let ga=me.value,mr=ga.length;if(mr===0)return;for(let Ye=1;Ye<=mr;Ye++){let vn=(u.value+Ye)%mr;if(yJ(ga,vn)){u.value=vn,lt(),nt();break}}if(Ka)Ka.consumed=!0}),Eh("escape",(Ka)=>{if(ht.value?.kind==="working"){if(Ct(),Ka)Ka.consumed=!0;return}if(ht.value!==null){if(Ct(),Ka)Ka.consumed=!0;return}if(b.value!==null){if(b.value=null,u.value=oe.value,p.value=0,Ka)Ka.consumed=!0;return}if(me.value.length===0)return;if(y.value=E.value?.createState?E.value.createState():null,Ka)Ka.consumed=!0});function Oa(){let Ka=me.value;return yJ(Ka,u.value)?Ka[u.value]:null}Eh("left",(Ka)=>{let ga=q.value;if(ga&&x.value){let vn=ga.findIndex((mn)=>mn.id===x.value);if(z(ga[(vn-1+ga.length)%ga.length].id),Ka)Ka.consumed=!0;return}let mr=E.value?.onLeft,Ye=Oa();if(mr&&Ye){if(mr(Ye),Ka)Ka.consumed=!0}}),Eh("right",(Ka)=>{let ga=q.value;if(ga&&x.value){let vn=ga.findIndex((mn)=>mn.id===x.value);if(z(ga[(vn+1)%ga.length].id),Ka)Ka.consumed=!0;return}let mr=E.value?.onRight,Ye=Oa();if(mr&&Ye){if(mr(Ye),Ka)Ka.consumed=!0}});let MA=gA.computed(()=>{let Ka=me.value,ga=p.value,mr=null;for(let Ye=0;Ye<=ga&&Ye<Ka.length;Ye++)if(Ka[Ye].header)mr=Ka[Ye].label;if(Ka[ga]?.header)return null;return mr}),Cn=gA.computed(()=>Ae.value.breadcrumb??null),Ea=gA.computed(()=>Ae.value.header??null),wa=gA.computed(()=>Ae.value.status??null),aa=gA.computed(()=>Ae.value.invalid??!1);return{filtered:me,height:de,isRegisteredMode:gA.computed(()=>E.value!==void 0),selectedIndex:gA.computed(()=>u.value),scrollY:gA.computed(()=>p.value),tabs:U,activeTabId:gA.computed(()=>x.value),stickyHeader:MA,breadcrumb:Cn,header:Ea,status:wa,isInvalidCommand:aa,hasNothingToRun:gA.computed(()=>me.value.length>0&&Oa()===null),working:gA.computed(()=>ht.value),noMatchSignal:gA.computed(()=>Dt.value),signalNoMatch:Wt,hasChoiceList:gA.computed(()=>b.value!==null),keepsOpen:gA.computed(()=>Oa()?.keepOpen??!1),hasHint:gA.computed(()=>s()!==null),selectTab:z,reset:ze,selectCurrent:Aa,selectAt:eA,hoverAt:Pn,abortWorking:Ct}}var E5a=!1;var Q5a=vt(()=>{Ns();c7a();J7a();n5a();A5a();r5a();s5a();l5a();p5a();$St();Kvn();d5a();I5a()});function ZSt(){if(!ASn)ASn=fdr();return ASn}function fdr(){let n=IC().mic,A=gA.ref(n.waveform()),i=gA.ref(n.isActive()),s=gA.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,Mft.tickMs)}function E(){if(!u)return;clearInterval(u),u=null}return{waveform:gA.computed(()=>A.value),isActive:gA.computed(()=>i.value),elapsedSeconds:gA.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 ASn;var iSn=vt(()=>{Ns();n3();Pyn()});function VSt(){if(!rSn)rSn=hdr();return rSn}function hdr(){let e=gA.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 rSn;var oSn=vt(()=>{Ns()});function _5a(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 XSt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function w5a(){let e=Yc(),n=Mb(),A=xR(),i=new Set;gA.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:XSt(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}),gA.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:XSt(d)})});let s=PB();gA.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;gA.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:XSt(b)})}u=d}),gA.watch(()=>n.mode.mode.value,(p,d)=>{if(d===void 0||d===p)return;if(A.notify("mode:changed",{from:d,to:p}),RCt(d))A.notify("palette:closed",{name:d});if(RCt(p))A.notify("palette:opened",{name:p})})}function k5a(e){let A=Yc().instances.value.find((i)=>i.focused);if(!A)return;xR().notify("message:sent",{content:e,instance:XSt(A)})}var sSn=vt(()=>{Ns();Sk();nL();Y6e();vIe()});var x5a={};JA(x5a,{useInput:()=>Mb,DRAFT_MODES:()=>eBt});function Mb(){if(!cSn)cSn=bdr();return cSn}function bdr(){let e=Gy(),n=ZC(),A=gA.ref(""),i=null,s=null,u=t7a(()=>A.value,()=>e.value.path!=="/auth"),p=y5a({mode:u.mode,query:()=>te()??A.value,setQuery:(Dt)=>{Ae(Dt)},hint:()=>ne()}),d=ZSt(),b=IC(),E=gA.ref(!1),y=gA.ref(null),k=null;function x(){if(E.value=!0,k)clearTimeout(k);k=setTimeout(()=>{E.value=!1,k=null},600)}gA.watch(()=>p.noMatchSignal.value,()=>{x()}),gA.watch(()=>WO().pending.value!==null,(Dt)=>{if(Dt)A.value="",u.setMode(DKe);else if(u.mode.value===DKe)A.value="",u.setMode("normal")}),gA.watch(()=>xIe().current.value!==null,(Dt)=>{if(Dt)A.value="",u.setMode(kKe);else if(u.mode.value===kKe)A.value="",u.setMode("normal")});let S=null,q=null;function U(Dt){q=Dt,A.value=Dt}gA.watch(A,(Dt)=>{if(u.mode.value!=="history")return;if(Dt===q)return;S=null,q=null,u.setMode("normal")});function z(){if(!(u.mode.value==="normal"||K6e.some((Wt)=>Wt.mode===u.mode.value)))return null;for(let Wt of K6e){let Ct=VKa(A.value,Wt);if(Ct)return{trigger:Wt,start:Ct.start,query:Ct.query}}return null}function te(){return z()?.query??null}function Ae(Dt){let Wt=z();if(Wt){A.value=A.value.slice(0,Wt.start)+Wt.trigger.key+Dt;return}A.value=Dt}function ne(){if(u.mode.value!=="normal")return null;let Dt=K6e.filter((Wt)=>ZKa(A.value,Wt));if(Dt.length===0)return null;return Dt.map((Wt)=>({id:Wt.mode,label:`${KCt[Wt.mode]} ${Wt.mode}`,description:USt[Wt.mode]??Wt.key,action:()=>{A.value=A.value+Wt.key}}))}gA.watch(A,(Dt)=>{if(u.mode.value!=="normal")return;for(let Wt of K6e){if(Wt.resolve!=="append")continue;let Ct=XKa(Dt,Wt);if(Ct===-1)continue;s=Wt,i=Dt.slice(0,Ct).replace(/ $/,""),u.setMode(Wt.mode);return}}),gA.watch(A,()=>{let Dt=z();if(Dt&&u.mode.value==="normal"){s=Dt.trigger,i=null,u.setMode(Dt.trigger.mode);return}if(!Dt&&s?.resolve==="splice"&&u.mode.value===s.mode)s=null,u.setMode("normal")});function me(Dt){let Wt=z();if(!Wt){s=null,u.setMode("normal");return}A.value=`${A.value.slice(0,Wt.start)}${Dt} `,s=null,u.setMode("normal")}function de(){let Dt=z();if(s=null,!Dt)return;A.value=A.value.slice(0,Dt.start).replace(/ $/,"")}gA.watch(u.mode,(Dt,Wt)=>{if(Wt==="session"&&Dt==="normal")Yc().preview.clear();if(Dt==="history")S=A.value;if(Wt==="history"&&Dt==="normal"){if(q=null,S!==null)A.value=S,S=null}if(Dt==="voice"&&Wt!=="voice")d.start().catch((Ct)=>{y.value=Ct instanceof Error?Ct:Error(String(Ct)),u.setMode("normal")});if(Wt==="voice"&&Dt!=="voice"){let Ct=u.voiceExitReason.value;u.voiceExitReason.value=null,oe(Ct)}},{flush:"sync"});async function oe(Dt){let Wt=await d.stop();if(Dt!=="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(Wt),Xn=Ct.trim();if(i!==null)if(Xn){let Qa=i.endsWith(" ")||i===""?"":" ";A.value=i+Qa+Xn}else A.value=i;else if(Xn)A.value=Xn;i=null}catch(Ct){y.value=Ct instanceof Error?Ct:Error(String(Ct))}finally{u.processing.value=!1}}let ke=0,Se=gA.ref(null),Ze=null;function lt(){if(Se.value="press esc again to clear",Ze)clearTimeout(Ze);Ze=setTimeout(()=>{Se.value=null,Ze=null},D5a)}function ze(){if(Ze)clearTimeout(Ze);Ze=null,Se.value=null}gA.watch(A,()=>{if(Se.value!==null)ze()});function nt(){if(ovn(),xIe().current.value){xIe().denyAll(),A.value="",u.setMode("normal");return}if(WO().pending.value){WO().cancel(),A.value="",u.setMode("normal");return}let Dt=_5a({mode:u.mode.value,working:p.working.value?.kind??null});if(Dt.kind==="abort-working"){p.abortWorking();return}if(Dt.kind==="dismiss-error"){p.abortWorking(),A.value="",u.setMode("normal");return}if(Dt.kind==="try-interrupt"){if(Yc().interrupt()){setTimeout(()=>n(),0);return}}let Wt=Date.now(),Ct=Wt-ke<D5a;if(ke=Wt,Ct){if(ze(),A.value.trim())try{VCt().append(A.value,Yc().selected.value)}catch{}A.value=""}else{let Xn=eBt.has(u.mode.value);if(!Xn)A.value="";if(u.mode.value==="voice")u.voiceExitReason.value="cancel";if(de(),u.setMode("normal"),Xn&&A.value.length>0)lt();else ze()}}function ht(){if(ovn(),p.working.value!==null)return;if(WO().pending.value?.kind==="prompt"){WO().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,Xn=p.hasChoiceList.value,Qa=p.keepsOpen.value;if(p.selectCurrent(),Qa)return;if(p.hasChoiceList.value||Xn)return;if(p.reset(),u.mode.value===Ct&&p.working.value===null){if(Ct!=="history"&&!eBt.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,VSt().attach();try{VCt().append(Ct,Yc().selected.value)}catch{}Yc().send(Ct).catch((Xn)=>{y.value=Xn instanceof Error?Xn:Error(String(Xn))}),k5a(Ct)}}function We(Dt){A.value+=Dt}return{text:A,inputError:E,sendError:y,escHint:Se,mode:u,palette:p,onEnter:ht,onEscape:nt,onPrintable:We,previewHistory:U,resolveInline:me}}var D5a=400,eBt,cSn;var nL=vt(()=>{Ns();Y6e();Q5a();Sk();iSn();n3();Xvn();oSn();Bvn();YCt();sSn();wvn();RSt();NCt();eBt=new Set(["normal","voice","file"])});function e8t(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 Bdr(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 uSn(e){let n=e8t(e);return Cdr.has(n)||n in kne}function Idr(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 F5a(){let e=Mb();Eh("**",(n)=>{if(n?.consumed)return;let A=Idr(n??{});if(!A)return;let i=N1.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=N1.keyHandler(A);if(!s){xR().notify("key:pressed",{key:Bdr(A),mode:e.mode.mode.value});return}n.consumed=!0,(async()=>{try{await s()}catch(u){Nk().show(`${A} failed`,"error")}})()})}var Cdr;var lSn=vt(()=>{Ns();R6e();J6e();vIe();nL();Y6e();Cdr=new Set(["C-c","C-d","escape","return","enter","tab","up","down","left","right","backspace","delete"])});function RKe(){if(!pSn)pSn=ydr();return pSn}function Edr(){return process.env.PWD??process.cwd()}async function mSn(e){try{let n=Bun.spawn(["git",...e],{cwd:Edr(),stdout:"pipe",stderr:"ignore"}),A=await new Response(n.stdout).text();return await n.exited===0?A.trim():null}catch{return null}}function ydr(){return{state:t8t,async refresh(){if(gSn)return;gSn=!0;try{let e=await mSn(["rev-parse","--abbrev-ref","HEAD"]);if(e===null){t8t.value=dSn;return}let[n,A]=await Promise.all([mSn(["status","--porcelain"]),mSn(["rev-list","--left-right","--count","HEAD...@{upstream}"])]),i=e==="HEAD"?null:e,s=n?n.split(`
|
|
4942
4942
|
`).filter(Boolean).length:0,[u,p]=A?A.split(/\s+/).map((d)=>Number(d)||0):[0,0];t8t.value={branch:i,dirty:s,ahead:u??0,behind:p??0}}catch{t8t.value=dSn}finally{gSn=!1}}}}var dSn,t8t,gSn=!1,pSn;var v5a=vt(()=>{Ns();dSn={branch:null,dirty:0,ahead:0,behind:0},t8t=gA.ref(dSn)});function kdr(e){return wdr[e.toLowerCase()]??e}function Ddr(){if(S5a)return;S5a=!0,xR().register("key:pressed",({key:e})=>{tBt=[...tBt,{key:e,at:Date.now()}].slice(-_dr)})}function N5a(){Ddr();let e=Date.now()-Qdr;return tBt=tBt.filter((n)=>n.at>e),tBt.map((n)=>kdr(n.key))}var Qdr=1500,_dr=10,tBt,S5a=!1,wdr;var G5a=vt(()=>{vIe();tBt=[],wdr={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 fSn;var M5a=vt(()=>{Sk();wIe();SIe();v5a();nL();G5a();fSn={"axon:agent/name":{icon:"agent",on:["agent:focused","agent:ready","agent:stopped"],render:()=>Yc().displayName.value},"axon:agent/model":{icon:"model",on:["agent:focused","agent:ready","message:received"],render:()=>{let e=Yc();return e.contextModel.value??e.manifest.value?.model??null}},"axon:agent/modules":{icon:"modules",on:["agent:ready","agent:focused"],render:()=>{let e=Yc(),n=e.manifest.value;return n?n.modules??null:e.modules.value.length}},"axon:agents/active":{on:["agent:ready","agent:stopped"],render:()=>Yc().instances.value.length},"axon:agents/total":{on:["agent:ready","agent:stopped"],render:()=>Yc().available.value.length},"axon:session/name":{icon:"session",on:["agent:focused","agent:ready","message:received"],render:()=>{let e=Yc(),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=Yc();return e.sessionId.value??e.manifest.value?.sessionId??null}},"axon:session/tokens":{icon:"tokens",on:["message:sent","message:received","agent:focused"],render:()=>{let e=Yc(),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:()=>Yc().session.value.entries.length},"axon:profile/email":{icon:"user",on:["tui:reloaded"],render:()=>d8().identity.value?.email??null},"axon:ext/loaded":{on:["tui:reloaded"],render:()=>tL().sources.value.length},"axon:ext/degraded":{icon:"warning",on:["tui:reloaded"],render:()=>{let e=tL().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 RKe().refresh(),RKe().state.value.branch}},"axon:git/dirty":{icon:"changes",every:5000,render:()=>{let{dirty:e}=RKe().state.value;return e>0?`${e}`:null}},"axon:git/ahead":{icon:"ahead",every:5000,render:()=>{let{ahead:e}=RKe().state.value;return e>0?`${e}`:null}},"axon:git/behind":{icon:"behind",every:5000,render:()=>{let{behind:e}=RKe().state.value;return e>0?`${e}`:null}},"axon:agent/status":{on:["agent:ready","agent:focused","message:sent","message:received"],render:()=>Yc().activity.value},"axon:agent/error":{icon:"error",on:["agent:ready","agent:stopped","message:received"],render:()=>{let e=Yc().error.value;if(!e)return null;return(e instanceof Error?e.message:String(e)).split(`
|
|
4943
4943
|
`)[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=N5a();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 hSn;var L5a=vt(()=>{hSn={"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 T5a(){if(q5a)return;q5a=!0;let e=e$();for(let[n,A]of Object.entries(fSn))e.createComponent(n,A);for(let[n,A]of Object.entries(hSn))e.createLine(n,A)}function U5a(){return{components:Object.keys(fSn),lines:Object.keys(hSn)}}var q5a=!1;var bSn=vt(()=>{vKe();M5a();L5a()});function R5a(e){return typeof e==="string"?e.split(" ").filter(Boolean):[...e]}function Y5a(e,n){if(Array.isArray(e.children))return e.children;return n?e.children():[]}function K5a(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"?Y5a(u,!0):[]}return i}function nBt(e){return{id:e.sessionId,name:e.name,focused:e.focused,activity:e.activity}}function j5a(e){let{track:n}=e,A=xR(),i=WO(),s=jE();function u(me){let de=me[me.length-1],oe=typeof de==="object"&&de!==null&&!Array.isArray(de)&&"ms"in de&&typeof de.ms==="number",Se=(oe?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 oe?{message:Se,ms:de.ms}:{message:Se}}function p(me){return n(me),me}let d={register(me,de){let oe=R5a(me);if(oe.length===0)throw zn("COMMAND_INVALID",{detail:"a command needs a path"});if(K5a(oe,ZCt))throw zn("COMMAND_PATH_TAKEN",{detail:`${oe.join(" ")} is a built-in command`,context:{path:oe}});let ke=typeof de==="function"?{run:de}:de;if(typeof ke?.run!=="function")throw zn("COMMAND_INVALID",{detail:`${oe.join(" ")} needs a run() \u2014 commands.register(path, fn) or commands.register(path, { run })`,context:{path:oe}});return p(N1.command({path:oe,action:ke.run,...ke.description?{description:ke.description}:{},...ke.workingMessage?{workingMessage:ke.workingMessage}:{}}))},async run(me){let de=R5a(me),oe=K5a(de,b());if(!oe||oe.kind!=="action")throw zn("COMMAND_NOT_FOUND",{detail:de.join(" "),context:{path:de}});await qKe(de,"api",oe.action)(new AbortController().signal)},list(){let me=[],de=(oe,ke)=>{for(let Se of oe){let Ze=[...ke,Se.label];if(Se.kind!=="group"){me.push(Ze);continue}let lt=Y5a(Se,!1);if(lt.length===0)me.push(Ze);else de(lt,Ze)}};return de(b(),[]),me}};function b(){return[...ZCt,...TSt.value]}let E={register(me,de){if(uSn(me))throw zn("KEY_CHORD_TAKEN",{detail:`${me} belongs to the terminal`,context:{chord:me}});return p(N1.key(e8t(me),de))},send(me){let de=e8t(me),oe=N1.keyHandler(de);if(oe){oe();return}let ke=N1.paletteForKey(de);if(ke){Mb().mode.setMode(ke.name);return}let Se=kne[me]??kne[de];if(Se){Mb().mode.setMode(Se);return}throw zn("KEY_CHORD_UNBOUND",{detail:me,context:{chord:me}})}},y={async set(me){let de=Object.values(kne).includes(me)||me==="normal",oe=N1.paletteFor(me)!==null;if(!de&&!oe)throw zn("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=Yc().sessionId.value;if(!me)throw zn("NO_FOCUSED_AGENT");return me}let S={async targets(){let me=Yc();return me.available.value.map((de)=>({name:de.name,kind:de.kind,instances:me.instances.value.filter((oe)=>oe.name===de.name).map(nBt)}))},list:()=>Yc().instances.value.map(nBt),get(me){let de=Yc().instances.value.find((oe)=>oe.sessionId===me);return de?nBt(de):null},focused(){let me=Yc().instances.value.find((de)=>de.focused);return me?nBt(me):null},async spawn(me){let de=Yc(),oe=await de.spawn(me,{focus:!1});if(!oe)throw zn("AGENT_SPAWN_NO_INSTANCE",{detail:me,context:{name:me}});let ke=de.instances.value.find((Se)=>Se.sessionId===oe);if(!ke)throw zn("AGENT_SPAWN_NO_INSTANCE",{detail:me,context:{name:me}});return nBt(ke)},focus(me){if(!S.get(me))throw zn("INSTANCE_NOT_RUNNING",{detail:me,context:{id:me}});Yc().focus(me)},async stop(me){let de=me??x();if(!S.get(de))throw zn("INSTANCE_NOT_RUNNING",{detail:de,context:{id:de}});await Yc().stop(de)},async reboot(me){let de=Yc(),oe=me??x();if(!S.get(oe))throw zn("INSTANCE_NOT_RUNNING",{detail:oe,context:{id:oe}});if(oe!==de.sessionId.value)de.focus(oe);await de.reboot()},async send(me){x(),await Yc().send(me)},interrupt:()=>Yc().interrupt()},q={create(me,de){if(de.key&&uSn(de.key))throw zn("MODE_KEY_TAKEN",{detail:`${de.key} belongs to the terminal`,context:{key:de.key,name:me}});let oe=p(N1.palette(me,de));return{get name(){return me},open:()=>q.open(me),refresh(){let ke=N1.paletteFor(me);if(ke)ke.cache=null},dispose:oe}},get(me){let de=N1.paletteFor(me);if(!de)return null;return{get name(){return me},open:()=>q.open(me),refresh(){de.cache=null},dispose:()=>{}}},async open(me){if(!N1.paletteFor(me))throw zn("PALETTE_NOT_FOUND",{detail:me,context:{name:me}});if(q.isOpen)throw zn("PALETTE_ALREADY_OPEN",{detail:me,context:{name:me}});Mb().mode.setMode(me)},close(){Mb().mode.setMode("normal")},get isOpen(){return RCt(Mb().mode.mode.value)},pick:(me,de)=>i.pick(me,de),confirm:(me)=>i.confirm(me),prompt:(me,de)=>i.prompt(me,de)},U={async nav(me){await Yc().select(me)},hook(me,de){return p(A.register(me,de))},info(...me){let{message:de,ms:oe}=u(me);Nk().show(de,"info",oe)},warn(...me){let{message:de,ms:oe}=u(me);Nk().show(de,"warn",oe)},error(...me){let{message:de,ms:oe}=u(me);Nk().show(de,"error",oe)},get size(){let me=PB();return{width:me.width.value,height:me.height.value}},get cwd(){return process.env.PWD??process.cwd()},get version(){return G6e.version},async exit(){await A.gate("tui:shutdown",{}),process.exit(0)}},z=e$();return T5a(),{tui:U,palette:q,commands:d,keys:E,mode:y,input:k,agents:S,theme:{create(me,de){return p(s.create({name:me,...de}))},set(me){s.set(me)},list:()=>s.themes.value,get active(){return s.active.value}},lines:{create(me,de){return z.createLine(me,de,n)},set:(me)=>z.setStack(me),top:(me,de)=>me===void 0?z.top():z.setTop(me,de),style:(me)=>z.style(me),move:(me,de)=>z.move(me,de),hide:(me)=>z.hide(me),show:(me)=>z.show(me),toggle:(me)=>z.toggle(me),list:()=>z.list()},components:{create(me,de){return p(z.createComponent(me,de))},list:()=>z.listComponents()}}}var H5a=vt(()=>{Ns();Zs();xSt();Sk();nL();Y6e();Hvn();R6e();lSn();vIe();Pvn();YCt();J6e();D3();vKe();bSn()});var BSn={};JA(BSn,{useExtensions:()=>tL});function tL(){if(!CSn)CSn=Fdr();return CSn}async function xdr(){let{useQuestions:e}=await Promise.resolve().then(() => (YCt(),n7a)),{useInput:n}=await Promise.resolve().then(() => (nL(),x5a));e().cancel();let A=n();if(A.mode.mode.value!=="normal")A.text.value="",A.mode.setMode("normal")}function Fdr(){let e=IC(),n=xR(),A=e$(),i=j5a({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,U5a())}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:gA.computed(()=>KKe.value),fileErrors:gA.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:gA.computed(()=>{Bbe.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[...KKe.value.map((b)=>({label:"profile.config.ts",error:b})),...p,...d]}),loaded:gA.computed(()=>Bbe.value),sources:gA.computed(()=>e.extensions.sources),list(){return e.extensions.list()},declared:gA.computed(()=>{return Bbe.value,n8t.value,[...e.extensions.declared]}),async install(p){try{return await e.extensions.install(p)}finally{n8t.value++}},async uninstall(p){try{return await e.extensions.uninstall(p)}finally{n8t.value++}},updates(){return e.extensions.updates()},async update(p,d){try{return await e.extensions.update(p,d)}finally{n8t.value++}},async load(p){let d=Bbe.value;if(u(),Bbe.value)await xdr();if(Bbe.value)A.reset();let b=[];if(p?.prepare!==!1)try{await e.profile.ensure()}catch(q){b.push(q)}let E=Bbe.value?await e.extensions.reload():await e.extensions.load();b.push(...E.errors),KKe.value=b,Bbe.value=!0,s(),await e.refreshSettings();let{useSettings:y}=await Promise.resolve().then(() => (qCt(),pvn)),k=y();await k.refresh();let{useTheme:x}=await Promise.resolve().then(() => (D3(),fvn));x().adopt(k.settings.value.theme),A.icons(k.settings.value.icons??"auto");let S=await n.gate("tui:boot",{});if(S.length>0)KKe.value=[...KKe.value,...S];if(d)n.notify("tui:reloaded",{})},async reload(p){await this.load({prepare:p?.prepare??!1})},watch(){if(YKe)return;YKe=e.extensions.watch(async()=>{await this.reload();let p=this.problems.value.length;if(p>0)Nk().show(`config reloaded \u2014 ${p} problem${p===1?"":"s"}`,"error")})},unwatch(){YKe?.(),YKe=null},async logout(){YKe?.(),YKe=null,e.extensions.unload(),Bbe.value=!1,KKe.value=[],A.reset();let{useTheme:p}=await Promise.resolve().then(() => (D3(),fvn));p().reset()},hooks:n}}var KKe,Bbe,n8t,YKe=null,CSn;var SIe=vt(()=>{Ns();n3();H5a();vIe();vKe();bSn();J6e();KKe=gA.ref([]),Bbe=gA.ref(!1),n8t=gA.ref(0)});import{readFileSync as O5a,existsSync as $5a}from"fs";import{basename as a8t,join as z5a,resolve as vdr}from"path";function ABt(){return{events:[],kernelEvents:[],entries:[],processes:[]}}function Mdr(e){let n=e?.context;return typeof n?.sessionFile==="string"?n.sessionFile:null}function ISn(e){if(!$5a(e))return[];let n=O5a(e,"utf-8").trim();if(n.length===0)return[];return n.split(`
|
|
4944
4944
|
`).map((A)=>JSON.parse(A))}function Ldr(e){if(e==="capsule:attach"||e==="capsule:detach")return!1;return e.startsWith("kernel:")||e.startsWith("cognet:")||e.startsWith("capsule:")}function qdr(e){let n=[],A=[],i=[];for(let s of ISn(e))if(_Me.some((u)=>s.type.startsWith(u)))A.push(s);else if(Ldr(s.type))i.push(s);else n.push(s);return{events:n,entries:A,kernelEvents:i,processes:[]}}function P5a(e){let n=e.lastIndexOf("@");return n>0?{name:e.slice(0,n),version:e.slice(n+1)}:{name:e,version:""}}function Tdr(e){return vdr(e.blueprint.paths.root,e.blueprint.paths.data)}async function Udr(e){let n=Mdr(e);if(!n)return[];for(let A=0;A<10;A++){let i=ISn(n);if(i.some((s)=>s.type.endsWith(":error")||s.type.endsWith(":failed")))return i;await new Promise((s)=>setTimeout(s,30))}return ISn(n)}function jKe(e){return e.source.kind==="local"?e.source.project.name:e.source.target.name}function J5a(e){let n=z5a(e,"package.json");if($5a(n))try{let A=JSON.parse(O5a(n,"utf-8")).name;if(A)return A}catch{}return a8t(e)}function Rdr(e){let{main:n,processes:A}=e.kernel.userland;return[{procId:"main",kind:"main",command:"capsule \xB7 ts runtime",pid:n.pid,status:n.status,startedAt:n.startedAt??Date.now(),main:!0,output:[]},...A.map((i)=>({procId:i.procId,kind:i.kind,command:i.command,pid:i.pid,status:i.status,exitCode:i.exitCode,startedAt:i.startedAt,output:i.tail(200,["stdout","stderr"]).split(`
|
|
@@ -5209,4 +5209,4 @@ EXAMPLES
|
|
|
5209
5209
|
page, rather than tucked behind a command: a file that runs at boot
|
|
5210
5210
|
is code someone is actively editing, and a config that silently
|
|
5211
5211
|
did nothing is indistinguishable from one that never loaded. This
|
|
5212
|
-
is the whole feedback loop for writing an extension. `),(a3(!0),n7e($8n,null,mPa(t6(U),(oe,ke)=>{return a3(),n7e($8n,{key:`config-${ke}`},[oe.axon?(a3(),kJ(i$,{key:0,error:oe.axon},null,8,["error"])):(a3(),kJ(EAe,{key:1,message:`${oe.label}: ${oe.message}`},null,8,["message"]))],64)}),128))],8,["scroll-bottom"])}}});fPa.__scopeId="data-v-1ab3a5bb";var hPa=fPa;var O8t=!1;{let e=process.argv.slice(2),n={version:"2.0.
|
|
5212
|
+
is the whole feedback loop for writing an extension. `),(a3(!0),n7e($8n,null,mPa(t6(U),(oe,ke)=>{return a3(),n7e($8n,{key:`config-${ke}`},[oe.axon?(a3(),kJ(i$,{key:0,error:oe.axon},null,8,["error"])):(a3(),kJ(EAe,{key:1,message:`${oe.label}: ${oe.message}`},null,8,["message"]))],64)}),128))],8,["scroll-bottom"])}}});fPa.__scopeId="data-v-1ab3a5bb";var hPa=fPa;var O8t=!1;{let e=process.argv.slice(2),n={version:"2.0.149",cwd:process.cwd()},A={"--version":async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},"--help":async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},help:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},init:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},prepare:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},doctor:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},dev:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},run:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},build:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},deploy:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},publish:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},install:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},i:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},uninstall:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},list:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},search:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},clone:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},fork:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},watch:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},unwatch:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},settings:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},login:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},logout:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},update:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},whoami:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},cognet:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},prompt:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},ext:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},extension:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},module:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},attach:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},ps:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},status:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},logs:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},undeploy:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},bench:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)},staff:async function(s){let{dispatchCommand:u}=await Promise.resolve().then(() => (RB(),WB));return await u(s)}};for(let[i,s]of Object.entries(A))if(i.startsWith("-")&&e.includes(i)){let u=e.indexOf(i);O8t=await s({...n,args:e.slice(u+1),command:i})!=="boot";break}if(!O8t){let i=e.findIndex((u)=>!u.startsWith("-")),s=i===-1?void 0:e[i];if(s&&s in A)O8t=await A[s]({...n,args:e.slice(i+1),command:s})!=="boot"}}if(!O8t)Ayn({routes:[{path:"/logs/kernel",component:RHa,name:"logs-kernel"},{path:"/logs/session",component:HHa,name:"logs-session"},{path:"/capsule/:id",component:$Ha,name:"capsule-id"},{path:"/account",component:ZHa,name:"account",meta:{layout:"default"}},{path:"/auth",component:tPa,name:"auth",meta:{layout:"default"}},{path:"/",component:hPa,name:"home",meta:{layout:"default"}}],styles:[W5a,qKa,nYa,sYa,xYa,lYa,Gja,Kja,zja,oHa,uHa,lHa,hHa,EHa,_Ha,nHa,iHa,Xja,DHa,EYa,wYa,hYa,GHa,THa,YHa,JHa,zHa,XHa,dPa],layouts:new Map([["default",LHa]]),middleware:[GKa],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"}}});
|