@aria-cli/cli 1.0.36 → 1.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/aria.mjs +2 -2
  2. package/package.json +4 -4
package/bin/aria.mjs CHANGED
@@ -13,7 +13,7 @@ import{createRequire as qJ0}from"node:module";var NJ0=Object.defineProperty;var
13
13
  `)});let F=()=>{K=!0,V.destroy(),B()};Y?.addEventListener("abort",F,{once:!0}),V.on("data",(D)=>{W+=D;while(!0){let O=W.indexOf(`
14
14
  `);if(O===-1)break;let A=W.slice(0,O).trim();if(W=W.slice(O+1),A.length===0)continue;try{let L=cZ.parse(JSON.parse(A));if(L.id!==G.id){H=Error("Local control socket response ID mismatch");break}if(!L.ok){let q=xZ(L.error,L.diagnostic);if("reason"in L&&typeof L.reason==="string")q.reason=L.reason;H=q;break}z.push(X(L.payload))}catch(L){H=L;break}}B()}),V.once("error",(D)=>{H=D,B()}),V.once("end",()=>{K=!0,B()}),V.once("close",()=>{K=!0,B()});try{while(!0){if(z.length>0){yield z.shift();continue}if(H)throw H;if(K)return;await new Promise((D)=>{U=D})}}finally{Y?.removeEventListener("abort",F),V.destroy()}}}}function XG($){let Z=$.pollIntervalMs??1000,J=async(X)=>o$($.runtimeSocket,"listInbox",d9.optional().parse(X),(Y)=>f8.array().parse(Y));return{async submitRun(X){let Y=O8.parse(X);return tm(o$($.runtimeSocket,"submitRun",Y,(Q)=>C9.parse(Q)))},async resumeRun(X){return o$($.runtimeSocket,"resumeRun",R4.parse(X),(Y)=>C9.parse(Y))},streamRun(X,Y){return OA($.runtimeSocket,"streamRun",O8.parse(X),(Q)=>X1.parse(Q),Y)},subscribeRuntimeEvents(X){return OA($.runtimeSocket,"subscribeRuntimeEvents",m2.optional().parse(X),(Y)=>R6.parse(Y))},async sendBestEffort(X){return o$($.runtimeSocket,"sendBestEffort",$8.parse(X),(Y)=>S4.parse(Y))},async sendDurable(X){return o$($.runtimeSocket,"sendDurable",$8.parse(X),(Y)=>b4.parse(Y))},listInbox:J,subscribeInbox(X){return rm(()=>J({limit:100,unreadOnly:!1}),{pollIntervalMs:Z,initialAfterCreatedAt:X?.afterCreatedAt??0})},async listPeers(){return o$($.runtimeSocket,"listPeers",void 0,(X)=>K4.array().parse(X))},async listNearbyPeers(){return o$($.runtimeSocket,"listNearbyPeers",void 0,(X)=>Y1.array().parse(X))},subscribePeers(){return rm(()=>o$($.runtimeSocket,"listPeers",void 0,(X)=>K4.array().parse(X)),{pollIntervalMs:Z,getVersionKey:(X)=>[X.updatedAt,X.endpointRevision,X.identityState,X.transportState,X.lastSeenAt??"",X.transportPublicKey,X.displayNameSnapshot??""].join("|")})},async getRuntimeStatus(){return o$($.runtimeSocket,"getRuntimeStatus",void 0,(X)=>a8.parse(X))},async startAutonomousLoop(X){return o$($.runtimeSocket,"startAutonomousLoop",E7.optional().parse(X),(Y)=>a8.parse(Y))},async stopAutonomousLoop(){return o$($.runtimeSocket,"stopAutonomousLoop",void 0,(X)=>a8.parse(X))},async getRuntimeBootstrap(){return o$($.runtimeSocket,"getRuntimeBootstrap",void 0,(X)=>T8.parse(X))},async listPendingPairRequests(){return o$($.runtimeSocket,"listPendingPairRequests",void 0,(X)=>Q1.array().parse(X))},async respondToPairRequest(X){return o$($.runtimeSocket,"respondToPairRequest",z4.parse(X),(Y)=>G1.parse(Y))},async createInvite(X){return o$($.runtimeSocket,"createInvite",I4.parse(X),(Y)=>k4.parse(Y))},async listPendingInvites(){return o$($.runtimeSocket,"listPendingInvites",void 0,(X)=>H4.array().parse(X))},async acceptInviteToken(X){return o$($.runtimeSocket,"acceptInviteToken",v4.parse(X),(Y)=>y4.parse(Y))},async cancelInvite(X){return o$($.runtimeSocket,"cancelInvite",w1.parse(X),(Y)=>R1.parse(Y))},async invitePeer(X){return o$($.runtimeSocket,"invitePeer",f4.parse(X),(Y)=>C1.parse(Y))},async acceptInvite(X){return o$($.runtimeSocket,"acceptInvite",W4.parse(X),(Y)=>b6.parse(Y))},async directPair(X){return o$($.runtimeSocket,"directPair",K9.parse(X),(Y)=>V1.parse(Y))},async revokePeer(X){return o$($.runtimeSocket,"revokePeer",U4.parse(X),(Y)=>W1.parse(Y))},async repairPeer(X){return o$($.runtimeSocket,"repairPeer",h4.parse(X),(Y)=>S1.parse(Y))}}}function YG($){let Z=b1.parse($.auth);return{...XG({runtimeSocket:$.runtimeSocket,pollIntervalMs:$.pollIntervalMs}),async sendBestEffort(Y){return o$($.runtimeSocket,"sendBestEffort",$8.parse(Y),(Q)=>S4.parse(Q),Z)},async sendDurable(Y){return o$($.runtimeSocket,"sendDurable",$8.parse(Y),(Q)=>b4.parse(Q),Z)},async submitRun(Y){let Q=O8.parse(Y);return tm(o$($.runtimeSocket,"submitRun",Q,(G)=>C9.parse(G),Z))},async resumeRun(Y){return o$($.runtimeSocket,"resumeRun",R4.parse(Y),(Q)=>C9.parse(Q),Z)},streamRun(Y,Q){return OA($.runtimeSocket,"streamRun",O8.parse(Y),(G)=>X1.parse(G),Q,Z)},async listAttachedClients(){return o$($.runtimeSocket,"listAttachedClients",void 0,(Y)=>J6.array().parse(Y),Z)},listDirectClientInbox:async(Y)=>o$($.runtimeSocket,"listDirectClientInbox",d9.optional().parse(Y),(Q)=>f8.array().parse(Q),Z),subscribeDirectClientInbox(Y){return OA($.runtimeSocket,"subscribeDirectClientInbox",c2.optional().parse(Y),(Q)=>f8.parse(Q),void 0,Z)}}}var em=E(()=>{N8()});var dJ="x-aria-local-client-id",lJ="x-aria-local-client-proof";import{EventEmitter as NX0}from"events";import{randomUUID as AX0}from"crypto";var M7;var QC=E(()=>{M7=class M7 extends NX0{stdin;stdout;pending=new Map;buffer="";requestTimeout;constructor($={}){super();this.requestTimeout=$.timeout??30000}connect($,Z){this.stdin=$,this.stdout=Z,Z.on("data",(J)=>{this.buffer+=J.toString(),this.processBuffer()}),Z.on("error",(J)=>{this.emit("error",J)}),Z.on("end",()=>{this.emit("close")})}processBuffer(){let $;while(($=this.buffer.indexOf(`
15
15
  `))!==-1){let Z=this.buffer.slice(0,$).trim();if(this.buffer=this.buffer.slice($+1),Z)try{this.handleMessage(JSON.parse(Z))}catch(J){this.emit("error",Error(`Invalid JSON: ${Z}`))}}}handleMessage($){if(typeof $!=="object"||$===null||!("jsonrpc"in $)||$.jsonrpc!=="2.0")return;let Z=$;if("id"in Z&&Z.id!==void 0){let J=Z,X=this.pending.get(String(J.id));if(X)if(this.pending.delete(String(J.id)),clearTimeout(X.timeout),J.error)X.reject(Error(`${J.error.code}: ${J.error.message}`));else X.resolve(J.result);return}if("method"in Z){let J=Z;this.emit(J.method,J.params),this.emit("notification",{method:J.method,params:J.params})}}async request($,Z){if(!this.stdin)throw Error("Not connected");let J=AX0(),X={jsonrpc:"2.0",id:J,method:$,params:Z};return new Promise((Y,Q)=>{let G=setTimeout(()=>{if(this.pending.has(J))this.pending.delete(J),Q(Error(`Request timeout: ${$}`))},this.requestTimeout);this.pending.set(J,{resolve:Y,reject:Q,timeout:G}),this.send(X)})}notify($,Z){let J={jsonrpc:"2.0",method:$,params:Z};this.send(J)}send($){if(!this.stdin)throw Error("Not connected");this.stdin.write(JSON.stringify($)+`
16
- `)}close(){for(let[,$]of this.pending)clearTimeout($.timeout),$.reject(Error("Connection closed"));this.pending.clear(),this.buffer="",this.stdin=void 0,this.stdout?.removeAllListeners(),this.stdout=void 0}}});import{spawn as LX0}from"child_process";import{EventEmitter as qX0}from"events";import{PassThrough as EX0,Writable as _X0}from"stream";function $c($=process.env){let Z={};for(let[J,X]of Object.entries($)){if(X===void 0)continue;if(J.toUpperCase().startsWith("GIT_"))continue;Z[J]=X}return Z}var PX0="1.0.36",G6;var GC=E(()=>{QC();G6=class G6 extends qX0{config;process;transport="stdio";rpc;capabilities={};_initialized=!1;sseAbortController;sseStreamPromise;ssePostUrl;sseSessionId;sseOutput;_disconnecting=!1;_reconnecting=!1;_reconnectAttempts=0;static RECONNECT_BASE_DELAY_MS=1000;static RECONNECT_MAX_DELAY_MS=30000;static RECONNECT_MAX_ATTEMPTS=5;constructor($){super();this.config=$,this.rpc=new M7}get name(){return this.config.name}get initialized(){return this._initialized}async initialize(){if(!this._reconnecting)this._disconnecting=!1,this._reconnectAttempts=0;this.transport=this.config.transport??"stdio";try{if(this.transport==="stdio")await this.initializeStdioTransport();else await this.initializeSSETransport();this.rpc.on("notifications/tools/list_changed",()=>this.emit("tools/list_changed")),this.rpc.on("notifications/resources/list_changed",()=>this.emit("resources/list_changed")),this.rpc.on("notifications/prompts/list_changed",()=>this.emit("prompts/list_changed"));let $=await this.rpc.request("initialize",{protocolVersion:"2024-11-05",capabilities:{roots:{listChanged:!0}},clientInfo:{name:"aria-cli",version:PX0}});return this.capabilities=$.capabilities||{},this._initialized=!0,this.rpc.notify("notifications/initialized",{}),this.capabilities}catch($){throw await this.cleanupAfterInitializeFailure(),$}}async attemptReconnect(){if(this._disconnecting||this._reconnecting)return;this._reconnecting=!0;while(this._reconnectAttempts<G6.RECONNECT_MAX_ATTEMPTS&&!this._disconnecting){this._reconnectAttempts++;let $=Math.min(G6.RECONNECT_BASE_DELAY_MS*Math.pow(2,this._reconnectAttempts-1),G6.RECONNECT_MAX_DELAY_MS);if(this.emit("log",{level:"info",message:`Reconnect attempt ${this._reconnectAttempts}/${G6.RECONNECT_MAX_ATTEMPTS} in ${$}ms`}),await new Promise((Z)=>setTimeout(Z,$)),this._disconnecting)break;try{this.rpc.close(),this.rpc=new M7,await this.initialize(),this._reconnectAttempts=0,this._reconnecting=!1,this.emit("reconnected");return}catch(Z){this.emit("log",{level:"error",message:`Reconnect attempt ${this._reconnectAttempts} failed: ${Z.message}`})}}if(this._reconnecting=!1,!this._disconnecting)this._initialized=!1,this.emit("error",Error(`Failed to reconnect after ${G6.RECONNECT_MAX_ATTEMPTS} attempts`))}async initializeStdioTransport(){if(!this.config.command)throw Error("Command required for stdio transport");if(this.process=LX0(this.config.command,this.config.args||[],{env:{...$c(),...$c(this.config.env??{})},stdio:["pipe","pipe","pipe"]}),!this.process.stdin||!this.process.stdout)throw Error("Failed to create stdio streams");this.rpc.connect(this.process.stdin,this.process.stdout),this.process.stderr?.on("data",($)=>{this.emit("log",{level:"error",message:$.toString()})}),this.process.on("exit",($)=>{if(this._initialized=!1,this.rpc.close(),this.emit("exit",$),!this._disconnecting)this.attemptReconnect()})}async initializeSSETransport(){let $=this.config.url;if(!$)throw Error("URL required for sse transport");let Z=new _X0({write:(Y,Q,G)=>{let V=Y.toString();this.postSSEMessages(V).then(()=>G()).catch((W)=>G(W))}}),J=new EX0;this.sseOutput=J,this.rpc.connect(Z,J),this.sseAbortController=new AbortController;let X=await fetch($,{method:"GET",headers:{Accept:"text/event-stream"},signal:this.sseAbortController.signal});if(!X.ok||!X.body){let Y=await X.text();throw Error(`Failed to connect SSE transport: ${X.status} ${X.statusText} ${Y}`)}this.sseSessionId=X.headers.get("mcp-session-id")??void 0,this.ssePostUrl=$,this.sseStreamPromise=this.consumeSSE(X.body,$)}async postSSEMessages($){let Z=$.trim();if(!Z)return;let J=this.ssePostUrl||this.config.url;if(!J)throw Error("SSE transport endpoint is not configured");let X=Z.split(`
16
+ `)}close(){for(let[,$]of this.pending)clearTimeout($.timeout),$.reject(Error("Connection closed"));this.pending.clear(),this.buffer="",this.stdin=void 0,this.stdout?.removeAllListeners(),this.stdout=void 0}}});import{spawn as LX0}from"child_process";import{EventEmitter as qX0}from"events";import{PassThrough as EX0,Writable as _X0}from"stream";function $c($=process.env){let Z={};for(let[J,X]of Object.entries($)){if(X===void 0)continue;if(J.toUpperCase().startsWith("GIT_"))continue;Z[J]=X}return Z}var PX0="1.0.38",G6;var GC=E(()=>{QC();G6=class G6 extends qX0{config;process;transport="stdio";rpc;capabilities={};_initialized=!1;sseAbortController;sseStreamPromise;ssePostUrl;sseSessionId;sseOutput;_disconnecting=!1;_reconnecting=!1;_reconnectAttempts=0;static RECONNECT_BASE_DELAY_MS=1000;static RECONNECT_MAX_DELAY_MS=30000;static RECONNECT_MAX_ATTEMPTS=5;constructor($){super();this.config=$,this.rpc=new M7}get name(){return this.config.name}get initialized(){return this._initialized}async initialize(){if(!this._reconnecting)this._disconnecting=!1,this._reconnectAttempts=0;this.transport=this.config.transport??"stdio";try{if(this.transport==="stdio")await this.initializeStdioTransport();else await this.initializeSSETransport();this.rpc.on("notifications/tools/list_changed",()=>this.emit("tools/list_changed")),this.rpc.on("notifications/resources/list_changed",()=>this.emit("resources/list_changed")),this.rpc.on("notifications/prompts/list_changed",()=>this.emit("prompts/list_changed"));let $=await this.rpc.request("initialize",{protocolVersion:"2024-11-05",capabilities:{roots:{listChanged:!0}},clientInfo:{name:"aria-cli",version:PX0}});return this.capabilities=$.capabilities||{},this._initialized=!0,this.rpc.notify("notifications/initialized",{}),this.capabilities}catch($){throw await this.cleanupAfterInitializeFailure(),$}}async attemptReconnect(){if(this._disconnecting||this._reconnecting)return;this._reconnecting=!0;while(this._reconnectAttempts<G6.RECONNECT_MAX_ATTEMPTS&&!this._disconnecting){this._reconnectAttempts++;let $=Math.min(G6.RECONNECT_BASE_DELAY_MS*Math.pow(2,this._reconnectAttempts-1),G6.RECONNECT_MAX_DELAY_MS);if(this.emit("log",{level:"info",message:`Reconnect attempt ${this._reconnectAttempts}/${G6.RECONNECT_MAX_ATTEMPTS} in ${$}ms`}),await new Promise((Z)=>setTimeout(Z,$)),this._disconnecting)break;try{this.rpc.close(),this.rpc=new M7,await this.initialize(),this._reconnectAttempts=0,this._reconnecting=!1,this.emit("reconnected");return}catch(Z){this.emit("log",{level:"error",message:`Reconnect attempt ${this._reconnectAttempts} failed: ${Z.message}`})}}if(this._reconnecting=!1,!this._disconnecting)this._initialized=!1,this.emit("error",Error(`Failed to reconnect after ${G6.RECONNECT_MAX_ATTEMPTS} attempts`))}async initializeStdioTransport(){if(!this.config.command)throw Error("Command required for stdio transport");if(this.process=LX0(this.config.command,this.config.args||[],{env:{...$c(),...$c(this.config.env??{})},stdio:["pipe","pipe","pipe"]}),!this.process.stdin||!this.process.stdout)throw Error("Failed to create stdio streams");this.rpc.connect(this.process.stdin,this.process.stdout),this.process.stderr?.on("data",($)=>{this.emit("log",{level:"error",message:$.toString()})}),this.process.on("exit",($)=>{if(this._initialized=!1,this.rpc.close(),this.emit("exit",$),!this._disconnecting)this.attemptReconnect()})}async initializeSSETransport(){let $=this.config.url;if(!$)throw Error("URL required for sse transport");let Z=new _X0({write:(Y,Q,G)=>{let V=Y.toString();this.postSSEMessages(V).then(()=>G()).catch((W)=>G(W))}}),J=new EX0;this.sseOutput=J,this.rpc.connect(Z,J),this.sseAbortController=new AbortController;let X=await fetch($,{method:"GET",headers:{Accept:"text/event-stream"},signal:this.sseAbortController.signal});if(!X.ok||!X.body){let Y=await X.text();throw Error(`Failed to connect SSE transport: ${X.status} ${X.statusText} ${Y}`)}this.sseSessionId=X.headers.get("mcp-session-id")??void 0,this.ssePostUrl=$,this.sseStreamPromise=this.consumeSSE(X.body,$)}async postSSEMessages($){let Z=$.trim();if(!Z)return;let J=this.ssePostUrl||this.config.url;if(!J)throw Error("SSE transport endpoint is not configured");let X=Z.split(`
17
17
  `).map((Y)=>Y.trim()).filter((Y)=>Y.length>0);for(let Y of X){let Q=await fetch(J,{method:"POST",headers:{"Content-Type":"application/json",...this.sseSessionId?{"mcp-session-id":this.sseSessionId}:{}},body:Y});if(!Q.ok){let V=await Q.text();throw Error(`SSE transport POST failed: ${Q.status} ${Q.statusText} ${V}`)}let G=(await Q.text()).trim();if(!G||!this.sseOutput)continue;for(let V of G.split(`
18
18
  `)){let W=V.trim();if(!W)continue;if(W.startsWith("{")&&W.endsWith("}"))this.sseOutput.write(`${W}
19
19
  `)}}}async consumeSSE($,Z){let J=$.getReader(),X=new TextDecoder,Y="",Q="",G=[],V=()=>{if(G.length===0){Q="";return}let W=G.join(`
@@ -544,7 +544,7 @@ ${Y.join(`
544
544
  ██╔══██║██╔══██╗██║██╔══██║
545
545
  ██║ ██║██║ ██║██║██║ ██║
546
546
  ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝`,TU0="─────────────────",CU0="A R I A",wU0="─────────────────",RU0="✦ Adaptive Reasoning Intelligence Agent ✦";var $o=E(()=>{_0()});import{jsxs as e8$,jsx as $9$}from"react/jsx-runtime";import{Box as J9$,Text as X9$,useStdout as Y9$}from"ink";var Zo=E(()=>{_0()});import{jsx as W9$,jsxs as K9$}from"react/jsx-runtime";import{Box as z9$,Text as U9$}from"ink";var Jo=E(()=>{_0()});import{jsx as O9$,jsxs as N9$}from"react/jsx-runtime";import{useState as L9$,useRef as q9$}from"react";import{Box as _9$,Text as P9$,useInput as M9$}from"ink";var Xo=E(()=>{_0();BV()});import{jsx as B5,jsxs as mq}from"react/jsx-runtime";import{useState as bU0,useRef as Yo}from"react";import{Box as cU,Text as gX,useInput as IU0}from"ink";function rS({currentLevel:$,onSelect:Z,onCancel:J,isActive:X=!0}){let Y=t(),Q=l1.indexOf($),G=Q>=0?Q:0,[V,W]=bU0(G),K=Yo(G),H=Yo(!1),z=(B)=>{W((F)=>{let D=B(F);return K.current=D,D})},U=process.stdin.isTTY??!1;return IU0((B,F)=>{if(H.current)return;if(F.upArrow)z((D)=>Math.max(0,D-1));else if(F.downArrow)z((D)=>Math.min(l1.length-1,D+1));else if(F.return)H.current=!0,Z(l1[K.current]);else if(B$(B,F))H.current=!0,J()},{isActive:X&&U}),mq(cU,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,width:48,children:[B5(cU,{marginBottom:1,children:B5(gX,{bold:!0,children:"Autonomy Level"})}),B5(cU,{marginBottom:1,children:mq(gX,{children:["Current: ",B5(gX,{bold:!0,children:$})]})}),l1.map((B,F)=>{let D=F===V,O=D?"●":"○",A=B==="high"||B==="full";return mq(cU,{gap:1,children:[B5(gX,{color:D?Y.colors.primary:void 0,children:O}),B5(gX,{color:D?Y.colors.primary:A?Y.colors.warning:void 0,bold:D,children:B.padEnd(10)}),B5(gX,{color:Y.colors.textMuted,children:kU0[B]})]},B)}),B5(cU,{marginTop:1,children:mq(gX,{color:Y.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]})})]})}var kU0;var Qo=E(()=>{_0();Z8();kU0={minimal:"Confirm all tool calls",balanced:"Confirm dangerous only",high:"Auto-approve everything",full:"Auto-approve everything"}});import{jsxs as h9$,jsx as x9$}from"react/jsx-runtime";import{Box as m9$,Text as c9$}from"ink";var Go=E(()=>{_0()});import{jsx as mX,jsxs as cq}from"react/jsx-runtime";import{Box as uq,Text as cX}from"ink";function yU0($){if($<1000)return`${Math.round($)}ms`;if($<60000)return`${($/1000).toFixed(1)}s`;let Z=Math.floor($/60000),J=Math.round($%60000/1000);return`${Z}m ${J}s`}function Vo($,Z,J){let X=Math.round(Z*$),Y=Math.max(fU0,Math.round(J*$)),Q=Math.max(0,$-X-Y);return"░".repeat(X)+"█".repeat(Y)+"░".repeat(Q)}function tS({spans:$,width:Z}){let J=t(),X=Z??vU0,Y=$.filter((H)=>H.endTime!==void 0||H.durationMs!==void 0);if(Y.length===0)return mX(uq,{children:mX(cX,{dimColor:!0,children:"(no completed spans)"})});let Q=Y.map((H)=>{let z=H.durationMs??H.endTime-H.startTime,U=H.endTime??H.startTime+z;return{...H,durationMs:z,endTime:U}}),G=Math.min(...Q.map((H)=>H.startTime)),W=Math.max(...Q.map((H)=>H.endTime))-G;if(W<=0)return mX(uq,{flexDirection:"column",children:Q.map((H)=>cq(cX,{dimColor:!0,children:[sS[H.spanType]??H.spanType," ","█"," 0ms (",H.name,")"]},H.spanId))});let K=Math.max(...Q.map((H)=>{let z=sS[H.spanType]??H.spanType;return(H.parentSpanId!==void 0?2:0)+z.length}));return mX(uq,{flexDirection:"column",children:Q.map((H)=>{let z=H.parentSpanId!==void 0,U=z?" ":"",B=sS[H.spanType]??H.spanType,F=(U+B).padEnd(K),D=(H.startTime-G)/W,O=H.durationMs/W,A=Vo(X,D,O),L=yU0(H.durationMs),q=H.spanType==="tool_execution"&&H.name?` (${H.name})`:"";return cq(uq,{children:[cq(cX,{color:J.colors.textMuted,children:[" ",F]}),mX(cX,{children:" "}),mX(cX,{color:z?J.colors.info:J.colors.success,children:A}),mX(cX,{children:" "}),cq(cX,{dimColor:!0,children:[L,q]})]},H.spanId)})})}var fU0=1,vU0=20,sS;var Wo=E(()=>{_0();sS={model_call:"model_call",tool_execution:"tool_exec",handoff:"handoff",approval:"approval",session_phase:"session",runner_phase:"runner"}});import{jsxs as dV}from"react/jsx-runtime";import{Box as Ko,Text as pq}from"ink";function Ho($){if($<1000)return`${Math.round($)}ms`;return`${($/1000).toFixed(2)}s`}function eS({report:$}){let Z=t();if(!$||$.phases.length===0)return null;return dV(Ko,{flexDirection:"column",marginTop:1,children:[dV(pq,{color:Z.colors.textMuted,children:[" Pipeline timing (",Ho($.totalMs),")"]}),$.phases.map((J)=>dV(Ko,{children:[dV(pq,{color:Z.colors.info,children:[" ",J.phase.padEnd(24)]}),dV(pq,{color:Z.colors.text,children:[" ",Ho(J.durationMs)]}),dV(pq,{color:Z.colors.textMuted,children:[" (",J.pct,"%)"]})]},`${J.phase}:${J.durationMs}`))]})}var zo=E(()=>{_0()});import{jsxs as Uo,jsx as hU0}from"react/jsx-runtime";import{useRef as xU0}from"react";import{Box as gU0,Text as Fo}from"ink";import mU0 from"gradient-string";function Do($){if($<60)return`${$}s`;let Z=Math.floor($/60),J=$%60;return`${Z}m ${J}s`}function cU0($){if($>=1000)return`${($/1000).toFixed(1)}k tokens`;return`${$} tokens`}function Zb({state:$,elapsedSeconds:Z,totalTokens:J,thoughtForSeconds:X,currentVerb:Y}){let Q=[...Bo,...[...Bo].reverse()],G=Math.floor(Date.now()/120)%Q.length,V=xU0(l6().present),W=Y||V.current,K=t(),H=G%$b.length,z=[...$b.slice(H),...$b.slice(0,H)],U=mU0(z),B=`${Q[G]} ${W}…`,F=U(B),D=Do(Z),O=cU0(J),A;if($==="thinking")A="(thinking)";else if(X&&X>0)A=`(${D} · ↓ ${O} · thought for ${Do(X)})`;else A=`(${D} · ↓ ${O} · esc to cancel)`;return Uo(gU0,{flexDirection:"row",marginTop:1,children:[Uo(Fo,{children:[F," "]}),hU0(Fo,{color:K.colors.textMuted,children:A})]})}var $b,Bo;var Oo=E(()=>{_0();KV();$b=["#5f97cd","#7baed4","#97c4db","#7baed4"],Bo=process.platform==="darwin"?["·","✢","✳","∗","✻","✽"]:["·","✢","*","∗","✻","✽"]});import{jsxs as Ao,jsx as No}from"react/jsx-runtime";import{Box as uU0,Text as Lo}from"ink";function Jb($){return $>=70?"high":$>=30?"moderate":"low"}function pU0($){let Z=t();switch($){case"low":return{highlightColor:Z.colors.success,textColor:Z.colors.primary};case"moderate":return{highlightColor:Z.colors.warning,textColor:Z.colors.warning};case"high":return{highlightColor:Z.colors.error,textColor:Z.colors.error}}}function QZ($){if($===null)return t().colors.primary;let Z=Jb($);return pU0(Z).textColor}function dU0({riskScore:$}){let Z=Jb($);return Ao(Lo,{color:QZ($),children:["Risk: ",Z]})}function J2({title:$,riskScore:Z}){return Ao(uU0,{flexDirection:"column",children:[No(Lo,{bold:!0,color:t().colors.primary,children:$}),Z!==null&&No(dU0,{riskScore:Z})]})}var uX=E(()=>{_0()});function GZ($,Z){}import{structuredPatch as lU0}from"diff";function dq($,Z,J,X=3){let Y=lU0($,$,Z,J,"","",{context:X}),Q=0,G=0,V=Y.hunks.map((W)=>{let K=[],H=W.oldStart,z=W.newStart;for(let U of W.lines){let B=U.slice(1);if(U.startsWith("+"))K.push({type:"added",content:B,newLineNo:z++}),Q++;else if(U.startsWith("-"))K.push({type:"removed",content:B,oldLineNo:H++}),G++;else K.push({type:"unchanged",content:B,oldLineNo:H++,newLineNo:z++})}return{oldStart:W.oldStart,oldLines:W.oldLines,newStart:W.newStart,newLines:W.newLines,lines:K}});return{filePath:$,hunks:V,additions:Q,deletions:G}}var Xb=()=>{};import{jsx as lq,jsxs as aU0}from"react/jsx-runtime";import{existsSync as nU0,readFileSync as iU0}from"fs";import{useMemo as qo}from"react";import{Box as Yb,Text as oU0}from"ink";import{relative as rU0}from"path";function Eo({file_path:$,new_string:Z,old_string:J,verbose:X,useBorder:Y=!0,width:Q}){let G=qo(()=>nU0($)?iU0($,"utf8"):"",[$]),V=qo(()=>{let W=G.replace(J,Z);return dq($,G,W)},[$,G,J,Z]);return lq(Yb,{flexDirection:"column",children:aU0(Yb,{borderColor:t().colors.secondary,borderStyle:Y?"round":void 0,flexDirection:"column",paddingX:1,children:[lq(Yb,{paddingBottom:1,children:lq(oU0,{bold:!0,children:X?$:rU0(process.cwd(),$)})}),lq(HX,{diff:V,dim:!1,width:Q,showHeader:!1})]})})}var _o=E(()=>{BV();_0();Xb()});import{jsx as Qb,jsxs as sU0}from"react/jsx-runtime";import{Box as tU0,Text as Gb}from"ink";function Po({isFocused:$,isSelected:Z,smallPointer:J,children:X}){let Y=t();return sU0(tU0,{gap:1,children:[$&&Qb(Gb,{color:Y.colors.primary,children:J?$F0:eU0}),Qb(Gb,{color:$?Y.colors.primary:void 0,bold:Z,children:X}),Z&&Qb(Gb,{color:Y.colors.success,children:ZF0})]})}var eU0="❯",$F0="▾",ZF0="✔";var Mo=E(()=>{_0()});var aq;var jo=E(()=>{D5();aq=class aq extends Map{first;constructor($){let Z=[],J,X,Y=0;for(let Q of $){let G={...Q,previous:X,next:void 0,index:Y};if(X)X.next=G;J||=G;let V="value"in Q?Q.value:Vb(Q);Z.push([V,G]),Y++,X=G}super(Z);this.first=J}}});import{isDeepStrictEqual as JF0}from"node:util";import{useReducer as XF0,useCallback as Wb,useMemo as YF0,useState as QF0,useEffect as Kb}from"react";var GF0=($,Z)=>{switch(Z.type){case"focus-next-option":{if(!$.focusedValue)return $;let J=$.optionMap.get($.focusedValue);if(!J)return $;let X=J.next;while(X&&!("value"in X))X=X.next;if(!X)return $;if(!(X.index>=$.visibleToIndex))return{...$,focusedValue:X.value};let Q=Math.min($.optionMap.size,$.visibleToIndex+1),G=Q-$.visibleOptionCount;return{...$,focusedValue:X.value,visibleFromIndex:G,visibleToIndex:Q}}case"focus-previous-option":{if(!$.focusedValue)return $;let J=$.optionMap.get($.focusedValue);if(!J)return $;let X=J.previous;while(X&&!("value"in X))X=X.previous;if(!X)return $;if(!(X.index<=$.visibleFromIndex))return{...$,focusedValue:X.value};let Q=Math.max(0,$.visibleFromIndex-1),G=Q+$.visibleOptionCount;return{...$,focusedValue:X.value,visibleFromIndex:Q,visibleToIndex:G}}case"select-focused-option":return{...$,previousValue:$.value,value:$.focusedValue};case"reset":return Z.state;case"set-focus":return{...$,focusedValue:Z.value}}},Hb=($)=>$.flatMap((Z)=>{if("options"in Z){let J=Hb(Z.options),X=J.flatMap((Q)=>("value"in Q)?Q.value:[]);return[...Z.header!==void 0?[{header:Z.header,optionValues:X}]:[],...J]}return Z}),To=({visibleOptionCount:$,defaultValue:Z,options:J})=>{let X=Hb(J),Y=typeof $==="number"?Math.min($,X.length):X.length,Q=new aq(X),G=Q.first,V=G&&"value"in G?G.value:void 0;return{optionMap:Q,visibleOptionCount:Y,focusedValue:V,visibleFromIndex:0,visibleToIndex:Y,previousValue:Z,value:Z}},Co=({visibleOptionCount:$=5,options:Z,defaultValue:J,onChange:X,onFocus:Y,focusValue:Q})=>{let G=Hb(Z),[V,W]=XF0(GF0,{visibleOptionCount:$,defaultValue:J,options:Z},To),[K,H]=QF0(G);if(G!==K&&!JF0(G,K))W({type:"reset",state:To({visibleOptionCount:$,defaultValue:J,options:Z})}),H(G);let z=Wb(()=>{W({type:"focus-next-option"})},[]),U=Wb(()=>{W({type:"focus-previous-option"})},[]),B=Wb(()=>{W({type:"select-focused-option"})},[]),F=YF0(()=>{return G.map((D,O)=>({...D,index:O})).slice(V.visibleFromIndex,V.visibleToIndex)},[G,V.visibleFromIndex,V.visibleToIndex]);return Kb(()=>{if(V.value&&V.previousValue!==V.value)X?.(V.value)},[V.previousValue,V.value,Z,X]),Kb(()=>{if(V.focusedValue)Y?.(V.focusedValue)},[V.focusedValue,Y]),Kb(()=>{if(Q)W({type:"set-focus",value:Q})},[Q]),{focusedValue:V.focusedValue,visibleFromIndex:V.visibleFromIndex,visibleToIndex:V.visibleToIndex,value:V.value,visibleOptions:F,focusNextOption:z,focusPreviousOption:U,selectFocusedOption:B}};var wo=E(()=>{jo()});import{useInput as VF0}from"ink";var Ro=({isDisabled:$=!1,state:Z})=>{VF0((J,X)=>{if(X.downArrow)Z.focusNextOption();if(X.upArrow)Z.focusPreviousOption();if(X.return)Z.selectFocusedOption()},{isActive:!$})};var So=()=>{};import{jsx as zb,Fragment as WF0,jsxs as KF0}from"react/jsx-runtime";import{Box as HF0,Text as zF0}from"ink";function X2({isDisabled:$=!1,visibleOptionCount:Z=5,highlightText:J,options:X,defaultValue:Y,onChange:Q,onFocus:G,focusValue:V}){let W=Co({visibleOptionCount:Z,options:X,defaultValue:Y,onChange:Q,onFocus:G,focusValue:V});Ro({isDisabled:$,state:W});let K=t();return zb(HF0,{flexDirection:"column",children:W.visibleOptions.map((H)=>{let z="value"in H?H.value:Vb(H),U=!$&&W.focusedValue!==void 0&&("value"in H?W.focusedValue===H.value:H.optionValues.includes(W.focusedValue)),B=!!W.value&&("value"in H?W.value===H.value:H.optionValues.includes(W.value)),F="header"in H,D="label"in H?H.label:H.header,O=D;if(J&&D.includes(J)){let A=D.indexOf(J);O=KF0(WF0,{children:[D.slice(0,A),zb(zF0,{color:K.colors.primary,bold:!0,children:J}),D.slice(A+J.length)]})}return zb(Po,{isFocused:U,isSelected:B,smallPointer:F,children:O},z)})})}var Vb=($)=>`HEADER-${$.optionValues.join(",")}`;var D5=E(()=>{Mo();wo();So();_0()});import{jsx as nq,jsxs as Ub}from"react/jsx-runtime";import{Box as bo,Text as Io}from"ink";import{useMemo as UF0}from"react";import{basename as FF0,extname as BF0,isAbsolute as DF0,resolve as Fb}from"path";import OF0 from"chalk";function NF0($){return(DF0($)?Fb($):Fb(process.cwd(),$)).startsWith(Fb(process.cwd()))}function AF0($){let Z=NF0($)?[{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"}]:[];return[{label:"Yes",value:"yes"},...Z,{label:`No, and provide instructions (${OF0.bold.hex(t().colors.warning)("esc")})`,value:"no"}]}function ko({toolUseConfirm:$,onDone:Z,verbose:J}){let{columns:X}=o8(),{file_path:Y,new_string:Q,old_string:G}=$.input,V=UF0(()=>({completion_type:"str_replace_single",language_name:LF0(Y)}),[Y]);return GZ($,V),Ub(bo,{flexDirection:"column",borderStyle:"round",borderColor:QZ($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[nq(J2,{title:"Edit file",riskScore:$.riskScore}),nq(Eo,{file_path:Y,new_string:Q,old_string:G,verbose:J,width:X-12}),Ub(bo,{flexDirection:"column",children:[Ub(Io,{children:["Do you want to make this edit to ",nq(Io,{bold:!0,children:FF0(Y)}),"?"]}),nq(X2,{options:AF0(Y),onChange:(W)=>{switch(W){case"yes":Z(),$.onAllow("temporary");break;case"yes-dont-ask-again":Z(),$.onAllow("permanent");break;case"no":Z(),$.onReject();break}}})]})]})}function LF0($){let Z=BF0($);return Z?Z.slice(1):"unknown"}var fo=E(()=>{_0();uX();_o();d6();D5()});import uU from"chalk";function qF0($){let J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,"");if(/&&|\|\||[;|]/.test(J))return!0;if(/`/.test(J))return!0;if(/\$\(/.test(J))return!0;return!1}function vo({toolUseConfirm:$,command:Z}){let J=!qF0(Z)&&$.commandPrefix&&!$.commandPrefix.commandInjectionDetected,X=pU($),Y=J&&X!==null,Q=[];if(Y)Q=[{label:`Yes, and don't ask again for ${uU.bold(X)} commands in ${uU.bold(process.cwd())}`,value:"yes-dont-ask-again-prefix"}];else if(J)Q=[{label:`Yes, and don't ask again for ${uU.bold(Z)} commands in ${uU.bold(process.cwd())}`,value:"yes-dont-ask-again-full"}];return[{label:"Yes",value:"yes"},...Q,{label:`No, and provide instructions (${uU.bold.hex(t().colors.warning)("esc")})`,value:"no"}]}var yo=E(()=>{dU();_0()});import{jsx as lU,jsxs as Bb}from"react/jsx-runtime";import{Box as Db,Text as Ob}from"ink";import{useMemo as EF0}from"react";function ho({toolUseConfirm:$,onDone:Z}){let J=t(),{command:X}=$.tool.inputSchema.parse($.input),Y=EF0(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return GZ($,Y),Bb(Db,{flexDirection:"column",borderStyle:"round",borderColor:J.colors.primary,marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[lU(J2,{title:"Bash command",riskScore:$.riskScore}),Bb(Db,{flexDirection:"column",paddingX:2,paddingY:1,children:[lU(Ob,{children:$.tool.renderToolUseMessage({command:X},{verbose:!1})}),lU(Ob,{color:J.colors.textMuted,children:$.description})]}),Bb(Db,{flexDirection:"column",children:[lU(Ob,{children:"Do you want to proceed?"}),lU(X2,{options:vo({toolUseConfirm:$,command:X}),onChange:(Q)=>{switch(Q){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again-prefix":{if(pU($)!==null)$.onAllow("permanent"),Z();break}case"yes-dont-ask-again-full":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}var xo=E(()=>{_0();dU();uX();D5();yo()});import{jsx as aU,jsxs as iq}from"react/jsx-runtime";import{Box as Nb,Text as oq}from"ink";import{useMemo as _F0}from"react";import Ab from"chalk";function rq({toolUseConfirm:$,onDone:Z,verbose:J}){let X=t(),Y=$.tool.userFacingName($.input),Q=Y.endsWith(" (MCP)")?Y.slice(0,-6):Y,G=_F0(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return GZ($,G),iq(Nb,{flexDirection:"column",borderStyle:"round",borderColor:QZ($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[aU(J2,{title:"Tool use",riskScore:$.riskScore}),iq(Nb,{flexDirection:"column",paddingX:2,paddingY:1,children:[iq(oq,{children:[Q,"(",$.tool.renderToolUseMessage($.input,{verbose:J}),")",Y.endsWith(" (MCP)")?aU(oq,{color:X.colors.textMuted,children:" (MCP)"}):""]}),aU(oq,{color:X.colors.textMuted,children:$.description})]}),iq(Nb,{flexDirection:"column",children:[aU(oq,{children:"Do you want to proceed?"}),aU(X2,{options:[{label:"Yes",value:"yes"},{label:`Yes, and don't ask again for ${Ab.bold(Q)} commands in ${Ab.bold(process.cwd())}`,value:"yes-dont-ask-again"},{label:`No, and provide instructions (${Ab.bold.hex(t().colors.warning)("esc")})`,value:"no"}],onChange:(V)=>{switch(V){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}var Lb=E(()=>{_0();uX();D5()});import{jsx as sq,jsxs as PF0}from"react/jsx-runtime";import{existsSync as MF0,readFileSync as jF0}from"fs";import{useMemo as qb}from"react";import{Box as go,Text as TF0}from"ink";import{extname as CF0,relative as wF0}from"path";function mo({file_path:$,content:Z,verbose:J,width:X}){let Y=qb(()=>MF0($),[$]),Q=qb(()=>{if(!Y)return"";return jF0($,"utf8")},[$,Y]),G=qb(()=>{if(!Y)return null;return dq($,Q,Z)},[Y,$,Q,Z]);return PF0(go,{borderColor:t().colors.secondary,borderStyle:"round",flexDirection:"column",paddingX:1,children:[sq(go,{paddingBottom:1,children:sq(TF0,{bold:!0,children:J?$:wF0(process.cwd(),$)})}),G?sq(HX,{diff:G,dim:!1,width:X,showHeader:!1}):sq(n6,{code:Z||"(No content)",language:CF0($).slice(1)})]})}var co=E(()=>{BV();_0();OV();Xb()});import{jsx as nU,jsxs as Eb}from"react/jsx-runtime";import{Box as _b,Text as uo}from"ink";import{useMemo as po}from"react";import{basename as RF0,extname as SF0}from"path";import{existsSync as bF0}from"fs";import IF0 from"chalk";function lo({toolUseConfirm:$,onDone:Z,verbose:J}){let{file_path:X,content:Y}=$.input,Q=po(()=>bF0(X),[X]),G=po(()=>({completion_type:"write_file_single",language_name:kF0(X)}),[X]),{columns:V}=o8();return GZ($,G),Eb(_b,{flexDirection:"column",borderStyle:"round",borderColor:QZ($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[nU(J2,{title:`${Q?"Edit":"Create"} file`,riskScore:$.riskScore}),nU(_b,{flexDirection:"column",children:nU(mo,{file_path:X,content:Y,verbose:J,width:V-12})}),Eb(_b,{flexDirection:"column",children:[Eb(uo,{children:["Do you want to ",Q?"make this edit to":"create"," ",nU(uo,{bold:!0,children:RF0(X)}),"?"]}),nU(X2,{options:[{label:"Yes",value:"yes"},{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"},{label:`No, and provide instructions (${IF0.bold.hex(t().colors.warning)("esc")})`,value:"no"}],onChange:(W)=>{switch(W){case"yes":$.onAllow("temporary"),Z();break;case"yes-dont-ask-again":$.onAllow("permanent"),Z();break;case"no":$.onReject(),Z();break}}})]})]})}function kF0($){let Z=SF0($);return Z?Z.slice(1):"unknown"}var ao=E(()=>{_0();uX();co();d6();D5()});import{jsx as lV,jsxs as Pb}from"react/jsx-runtime";import{Box as Mb,Text as no}from"ink";import{useMemo as fF0}from"react";import vF0 from"chalk";import{isAbsolute as yF0,resolve as io}from"path";function tq($){return yF0($)?io($):io(process.cwd(),$)}function hF0($){return tq($).startsWith(tq(process.cwd()))}function gF0(){xF0=!0}function dF0($){let Z=$.tool.name;if(mF0.has(Z))return"file_path";if(cF0.has(Z))return"path";if(uF0.has(Z))return"notebook_path";return null}function lF0($){return pF0.has($.tool.name)}function aF0($){let Z=dF0($),J=$.input;if(Z&&Z in J)if(typeof J[Z]==="string")return tq(J[Z]);else return tq(process.cwd());return null}function oo({toolUseConfirm:$,onDone:Z,verbose:J}){let X=aF0($);if(!X)return lV(rq,{toolUseConfirm:$,onDone:Z,verbose:J});return lV(iF0,{toolUseConfirm:$,path:X,onDone:Z,verbose:J})}function nF0($,Z){if($.tool.isReadOnly())return[];return hF0(Z)?[{label:"Yes, and don't ask again for file edits this session",value:"yes-dont-ask-again"}]:[]}function iF0({toolUseConfirm:$,path:Z,onDone:J,verbose:X}){let Y=$.tool.userFacingName($.input),G=`${$.tool.isReadOnly()?"Read":"Edit"} ${lF0($)?"files":"file"}`,V=fF0(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return GZ($,V),Pb(Mb,{flexDirection:"column",borderStyle:"round",borderColor:QZ($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[lV(J2,{title:G,riskScore:$.riskScore}),lV(Mb,{flexDirection:"column",paddingX:2,paddingY:1,children:Pb(no,{children:[Y,"(",$.tool.renderToolUseMessage($.input,{verbose:X}),")"]})}),Pb(Mb,{flexDirection:"column",children:[lV(no,{children:"Do you want to proceed?"}),lV(X2,{options:[{label:"Yes",value:"yes"},...nF0($,Z),{label:`No, and provide instructions (${vF0.bold.hex(t().colors.warning)("esc")})`,value:"no"}],onChange:(W)=>{switch(W){case"yes":$.onAllow("temporary"),J();break;case"yes-dont-ask-again":gF0(),$.onAllow("permanent"),J();break;case"no":$.onReject(),J();break}}})]})]})}var xF0=!1,mF0,cF0,uF0,pF0;var ro=E(()=>{_0();uX();Lb();D5();mF0=new Set(["Edit","file_edit","str_replace_editor","Write","file_write","create_file","Read","file_read","read_file"]),cF0=new Set(["Glob","glob","Grep","grep","LS","ls"]),uF0=new Set(["NotebookEdit","notebook_edit","NotebookRead","notebook_read"]),pF0=new Set(["Glob","glob","Grep","grep","LS","ls"])});import{jsx as oF0}from"react/jsx-runtime";import{useInput as rF0}from"ink";function ZB0($){if(sF0.has($))return ko;if(tF0.has($))return lo;if(eF0.has($))return ho;if($B0.has($))return oo;return rq}function pU($){return $.commandPrefix&&!$.commandPrefix.commandInjectionDetected&&$.commandPrefix.commandPrefix||null}function jb({toolUseConfirm:$,onDone:Z,verbose:J}){rF0((Y,Q)=>{if(Q.ctrl&&Y==="c")Z(),$.onReject()});let X=ZB0($.tool.name);return oF0(X,{toolUseConfirm:$,onDone:Z,verbose:J})}var sF0,tF0,eF0,$B0;var dU=E(()=>{fo();xo();Lb();ao();ro();sF0=new Set(["Edit","file_edit","str_replace_editor"]),tF0=new Set(["Write","file_write","create_file"]),eF0=new Set(["Bash","bash","execute_command"]),$B0=new Set(["Glob","glob","Grep","grep","LS","ls","Read","file_read","read_file","NotebookRead","notebook_read","NotebookEdit","notebook_edit"])});import{jsx as eq,jsxs as aV}from"react/jsx-runtime";import{useState as so,useEffect as to}from"react";import{Box as $E,Text as nV,useInput as JB0}from"ink";function Tb($){return/\s/.test($.trimStart())}function XB0($){return $.trimStart().split(/\s+/,1)[0]??""}function Cb({commands:$,initialFilter:Z="",onSelect:J,onHandOffInput:X,onCancel:Y}){let[Q,G]=so(0),[V,W]=so(Z),K=XB0(V).toLowerCase(),H=$.filter((B)=>B.name.toLowerCase().includes(K));to(()=>{G((B)=>Math.min(B,Math.max(0,H.length-1)))},[H.length]),to(()=>{if(!X||!Tb(V))return;X(`/${V}`)},[V,X]);let z=H.length>0?Math.min(Q,H.length-1):0,U=process.stdin.isTTY??!1;return JB0((B,F)=>{if(B$(B,F)){Y();return}if(F.return&&Tb(V)&&X){X(`/${V}`);return}if(F.return&&H.length>0){J(H[z]);return}if(F.upArrow){G((D)=>Math.max(0,D-1));return}if(F.downArrow){G((D)=>Math.min(H.length-1,D+1));return}if(F.backspace||F.delete){W((D)=>D.slice(0,-1));return}if(B&&!F.ctrl&&!F.meta){let D=V+B;if(X&&Tb(D)){X(`/${D}`);return}W(D)}},{isActive:U}),aV($E,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[aV($E,{marginBottom:1,children:[eq(nV,{bold:!0,children:"Commands"}),V&&aV(nV,{dimColor:!0,children:[" /",V]})]}),H.map((B,F)=>aV($E,{children:[aV(nV,{inverse:F===z,children:["/",B.name]}),aV(nV,{dimColor:!0,children:[" ",B.description]})]},B.name)),H.length===0&&eq(nV,{dimColor:!0,children:"No matching commands"}),eq($E,{marginTop:1,children:eq(nV,{dimColor:!0,children:"↑↓ navigate ⏎ select esc cancel"})})]})}var eo=()=>{};import{jsx as iU,jsxs as iV}from"react/jsx-runtime";import{useState as $r,useEffect as YB0}from"react";import{Box as ZE,Text as pX,useInput as QB0}from"ink";function wb({arions:$,initialFilter:Z="",statusFilter:J="all",onSelect:X,onCancel:Y}){let[Q,G]=$r(0),[V,W]=$r(Z),K=$.filter((U)=>{if(J==="active"&&U.isResting)return!1;if(J==="resting"&&!U.isResting)return!1;return U.name.toLowerCase().includes(V.toLowerCase())});YB0(()=>{G((U)=>Math.min(U,Math.max(0,K.length-1)))},[K.length]);let H=K.length>0?Math.min(Q,K.length-1):0,z=process.stdin.isTTY??!1;return QB0((U,B)=>{if(B$(U,B)){Y();return}if(B.return&&K.length>0){X(K[H]);return}if(B.upArrow){G((F)=>Math.max(0,F-1));return}if(B.downArrow){G((F)=>Math.min(K.length-1,F+1));return}if(B.backspace||B.delete){W((F)=>F.slice(0,-1));return}if(U&&!B.ctrl&&!B.meta)W((F)=>F+U)},{isActive:z}),iV(ZE,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[iV(ZE,{marginBottom:1,children:[iU(pX,{bold:!0,children:J==="active"?"Active Arions":J==="resting"?"Resting Arions":"Arions"}),V&&iV(pX,{dimColor:!0,children:[" @",V]})]}),K.length===0&&iU(pX,{dimColor:!0,children:$.length===0?"No arions available. Create one with /hatch":J==="active"?"No active arions":J==="resting"?"No resting arions":"No matching arions"}),K.map((U,B)=>{let F=YU(U.color),D=U.isActive?" (active)":U.isResting?" (resting)":"";return iV(ZE,{children:[iV(pX,{inverse:B===H,children:[U.emoji," ",iU(pX,{color:F,children:U.name})]}),iV(pX,{dimColor:!0,children:[" ",U.description,D]})]},U.name)}),iU(ZE,{marginTop:1,children:iU(pX,{dimColor:!0,children:"↑↓ navigate ⏎ select esc cancel"})})]})}var Zr=E(()=>{JV()});import{jsx as a1,jsxs as Y2}from"react/jsx-runtime";import{useState as Rb,useEffect as GB0,useMemo as VB0}from"react";import{Box as O5,Text as L4,useInput as WB0}from"ink";function HB0($){return KB0[$]||$}function Xr($){let Z=Jr.indexOf($);return Z>=0?Z:Jr.length}function zB0($,Z,J){let X=new Map;for(let G of $){let V=G.provider||"other",W=X.get(V)??[];W.push(G),X.set(V,W)}let Y={powerful:0,balanced:1,fast:2,ensemble:3},Q=[...X.entries()].sort(([G],[V])=>Xr(G)-Xr(V));for(let[G,V]of Q){Z.push({type:"header",label:HB0(G),provider:G});let W=(U)=>{if(!U)return"balanced";let B=U.toLowerCase();if(B.includes("deep"))return"powerful";if(B.includes("quick"))return"fast";return"balanced"},K=[/^claude-opus-|^opus-|^bedrock-opus-/,/^claude-sonnet-|^sonnet-|^bedrock-sonnet-/,/^claude-haiku-|^haiku-|^bedrock-haiku-/,/^claude-/,/^gpt-/,/^o[0-9]/,/^gemini-/],H=(U)=>{let B=U.toLowerCase();for(let F=0;F<K.length;F++)if(K[F].test(B))return F;return K.length},z=[...V].sort((U,B)=>{let F=H(U.name),D=H(B.name);if(F!==D)return F-D;return B.name.localeCompare(U.name)});for(let U of z)J.push(Z.length),Z.push({type:"model",model:U})}}function Sb({models:$,initialFilter:Z="",effortLevel:J,onSelect:X,onCancel:Y}){let[Q,G]=Rb(Z),[V,W]=Rb(J??"high"),H=$.filter((q)=>q.name.toLowerCase().includes(Q.toLowerCase())),{items:z,selectableIndices:U}=VB0(()=>{if(!H.some((P)=>P.provider))return{items:H.map((P)=>({type:"model",model:P})),selectableIndices:H.map((P,T)=>T)};let N=[],_=[];return zB0(H,N,_),{items:N,selectableIndices:_}},[H]),B=U.findIndex((q)=>{let N=z[q];return N?.type==="model"&&N.model.isCurrent}),[F,D]=Rb(B>=0?B:0);GB0(()=>{D((q)=>Math.min(q,Math.max(0,U.length-1)))},[U.length]);let O=U.length>0?Math.min(F,U.length-1):0,A=process.stdin.isTTY??!1;WB0((q,N)=>{if(B$(q,N)){Y();return}if(N.return&&U.length>0){let _=U[O],P=z[_];if(P.type==="model")X(P.model,V);return}if(N.leftArrow){W((_)=>{let P=oU.indexOf(_);return oU[Math.max(0,P-1)]});return}if(N.rightArrow){W((_)=>{let P=oU.indexOf(_);return oU[Math.min(oU.length-1,P+1)]});return}if(N.upArrow){D((_)=>Math.max(0,_-1));return}if(N.downArrow){D((_)=>Math.min(U.length-1,_+1));return}if(N.backspace||N.delete){G((_)=>_.slice(0,-1));return}if(q&&!N.ctrl&&!N.meta)G((_)=>_+q)},{isActive:A});let L=U.length>0?` [${O+1}/${U.length}]`:"";return Y2(O5,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[Y2(O5,{marginBottom:1,children:[a1(L4,{bold:!0,children:"Model"}),a1(L4,{dimColor:!0,children:L}),a1(L4,{children:" "}),Q?a1(L4,{color:"cyan",children:Q}):a1(L4,{dimColor:!0,children:"Type to search..."})]}),H.length===0&&a1(L4,{dimColor:!0,children:"No matching models"}),(()=>{let q=z.reduce((N,_)=>{if(_.type!=="model")return N;return Math.max(N,_.model.name.length)},0);return z.map((N,_)=>{if(N.type==="header"){let l=$d(N.provider);return Y2(O5,{marginTop:_>0?1:0,children:[Y2(L4,{color:l.color,children:[l.icon," "]}),a1(L4,{bold:!0,color:l.color,children:N.label})]},`header-${N.label}-${_}`)}if(N.type==="hint")return a1(O5,{marginTop:1,children:a1(L4,{dimColor:!0,italic:!0,children:N.label})},"hint");let P=U[O]===_,T=N.model.description,w=N.model.name.padEnd(q),I=_L(N.model.name);return Y2(O5,{children:[Y2(L4,{inverse:P,color:P?void 0:I,dimColor:P?!1:!I,children:[N.model.isCurrent?"●":"○"," ",w]}),T&&Y2(L4,{dimColor:!0,children:[" ",N.model.description]})]},N.model.value??`${N.model.provider}-${N.model.name}`)})})(),Y2(O5,{marginTop:1,flexDirection:"column",children:[Y2(O5,{children:[Y2(L4,{color:Yr[V],children:[UB0[V]," "]}),Y2(L4,{color:Yr[V],bold:!0,children:[FB0[V]," effort"]}),V==="high"&&a1(L4,{dimColor:!0,children:" (default)"}),a1(L4,{dimColor:!0,children:" ← → to adjust"})]}),a1(O5,{marginTop:0,children:a1(L4,{dimColor:!0,children:"↑↓ navigate ← → effort ⏎ select esc cancel"})})]})]})}var KB0,Jr,oU,UB0,FB0,Yr;var Qr=E(()=>{JV();KB0={anthropic:"Anthropic","openai-codex":"OpenAI Codex",google:"Google",bedrock:"AWS Bedrock","bedrock-converse":"AWS Bedrock (Converse)","github-copilot":"GitHub Copilot",openai:"OpenAI",local:"Local"},Jr=["anthropic","openai-codex","google","bedrock","bedrock-converse","github-copilot","openai","local"];oU=["low","medium","high","max"],UB0={low:"▌",medium:"▌▌",high:"▌▌▌",max:"▌▌▌▌"},FB0={low:"Low",medium:"Medium",high:"High",max:"Max"},Yr={low:"blue",medium:"cyan",high:"yellow",max:"magenta"}});import{jsx as N5,jsxs as VZ}from"react/jsx-runtime";import{useState as bb,useEffect as BB0}from"react";import{Box as oV,Text as Q2,useInput as DB0}from"ink";import OB0 from"ink-spinner";function Ib({memories:$,mode:Z="browse",isLoading:J=!1,onSelect:X,onCancel:Y}){let[Q,G]=bb(0),[V,W]=bb(""),[K,H]=bb(0),z=8,U=$.filter((N)=>N.content.toLowerCase().includes(V.toLowerCase())),B=Math.max(1,Math.ceil(U.length/8)),F=U.slice(K*8,(K+1)*8);BB0(()=>{G((N)=>Math.min(N,Math.max(0,F.length-1)))},[F.length]);let D=F.length>0?Math.min(Q,F.length-1):0,O=process.stdin.isTTY??!1;DB0((N,_)=>{if(B$(N,_)){Y();return}if(_.return&&F.length>0&&Z==="forget"){X?.(F[D]);return}if(_.upArrow){G((P)=>Math.max(0,P-1));return}if(_.downArrow){G((P)=>Math.min(F.length-1,P+1));return}if(_.leftArrow&&K>0){H((P)=>P-1),G(0);return}if(_.rightArrow&&K<B-1){H((P)=>P+1),G(0);return}if(_.backspace||_.delete){W((P)=>P.slice(0,-1)),H(0),G(0);return}if(N&&!_.ctrl&&!_.meta)W((P)=>P+N),H(0),G(0)},{isActive:O});function A(N){let _=N instanceof Date?N:new Date(N);if(isNaN(_.getTime()))return"unknown";let T=new Date().getTime()-_.getTime(),w=Math.floor(T/86400000);if(w===0)return"today";if(w===1)return"yesterday";if(w<7)return`${w}d ago`;if(w<30)return`${Math.floor(w/7)}w ago`;return`${Math.floor(w/30)}mo ago`}function L(N,_){if(N.length<=_)return N;return N.slice(0,_-3)+"..."}return VZ(oV,{flexDirection:"column",borderStyle:"round",borderColor:Z==="forget"?"red":"cyan",paddingX:1,children:[VZ(oV,{marginBottom:1,children:[N5(Q2,{bold:!0,color:Z==="forget"?"red":"cyan",children:Z==="forget"?"Select Memory to Delete":"Memories"}),V&&VZ(Q2,{dimColor:!0,children:[' (filter: "',V,'")']}),VZ(Q2,{dimColor:!0,children:[" - ",U.length," memories"]})]}),J&&VZ(oV,{children:[N5(Q2,{color:"cyan",children:N5(OB0,{type:"dots"})}),N5(Q2,{dimColor:!0,children:" Loading memories..."})]}),!J&&U.length===0&&N5(Q2,{dimColor:!0,children:$.length===0?"No memories stored yet. Use /remember to add some.":"No memories match your filter."}),!J&&F.map((N,_)=>{let P=_===D,T=A(N.createdAt),w=L(N.content,60);return VZ(oV,{flexDirection:"row",children:[VZ(Q2,{inverse:P,children:[P?">":" "," ",w]}),VZ(Q2,{dimColor:!0,children:[" [",T,"]"]}),N.network&&VZ(Q2,{dimColor:!0,children:[" (",N.network,")"]})]},N.id)}),!J&&B>1&&N5(oV,{marginTop:1,children:VZ(Q2,{dimColor:!0,children:["Page ",K+1,"/",B]})}),N5(oV,{marginTop:1,children:N5(Q2,{dimColor:!0,children:Z==="forget"?"type to filter arrows navigate enter delete esc cancel":"type to filter arrows navigate esc close"})})]})}var Gr=()=>{};import{jsx as rU,jsxs as WZ}from"react/jsx-runtime";import{useState as kb,useEffect as Vr}from"react";import{Box as rV,Text as D3,useInput as NB0}from"ink";function AB0($){let J=Date.now()-$.getTime(),X=Math.floor(J/60000),Y=Math.floor(J/3600000),Q=Math.floor(J/86400000);if(X<1)return"just now";if(X<60)return`${X}m ago`;if(Y<24)return`${Y}h ago`;if(Q<7)return`${Q}d ago`;return $.toLocaleDateString()}function fb({sessions:$,onSelect:Z,onCancel:J,onSearch:X,onPageChange:Y}){let{columns:Q}=o8(),[G,V]=kb(0),[W,K]=kb(""),[H,z]=kb(0),U=8,B=Math.max(1,Math.ceil($.length/8)),F=$.slice(H*8,(H+1)*8);Vr(()=>{V((q)=>Math.min(q,Math.max(0,F.length-1)))},[F.length]),Vr(()=>{z((q)=>Math.min(q,Math.max(0,B-1)))},[B]);let D=F.length>0?Math.min(G,F.length-1):0,O=process.stdin.isTTY??!1;NB0((q,N)=>{if(B$(q,N))J();else if(N.return&&F.length>0)Z(F[D].id);else if(N.upArrow)V((_)=>Math.max(0,_-1));else if(N.downArrow)V((_)=>Math.min(F.length-1,_+1));else if(N.leftArrow&&H>0)z((_)=>_-1),V(0);else if(N.leftArrow&&H===0)Y?.("prev"),V(0);else if(N.rightArrow&&H<B-1)z((_)=>_+1),V(0);else if(N.rightArrow&&H===B-1)Y?.("next"),V(0);else if(N.backspace||N.delete){let _=W.slice(0,-1);K(_),z(0),V(0),X(_)}else if(q&&!N.ctrl&&!N.meta){let _=W+q;K(_),z(0),V(0),X(_)}},{isActive:O});function A(q,N){if(q.length<=N)return q;return q.slice(0,N-3)+"..."}let L=Math.max(30,Math.min(120,Q-28));return WZ(rV,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[WZ(rV,{marginBottom:1,children:[rU(D3,{bold:!0,color:"cyan",children:"Sessions"}),W&&WZ(D3,{dimColor:!0,children:[' (filter: "',W,'")']}),WZ(D3,{dimColor:!0,children:[" - ",$.length," sessions"]})]}),$.length===0?rU(D3,{dimColor:!0,children:W?"No sessions match your filter.":"No sessions yet."}):F.map((q,N)=>{let _=N===D,P=AB0(q.updatedAt),T=q.title??q.preview??"Untitled session",w=H*8+N;return WZ(rV,{flexDirection:"column",marginBottom:N<F.length-1?1:0,children:[WZ(rV,{flexDirection:"row",children:[WZ(D3,{inverse:_,children:[_?">":" "," ",w+1,". ",A(T,L)]}),WZ(D3,{dimColor:!0,children:[" [",P,"]"]})]}),WZ(D3,{dimColor:!0,children:[" ",q.arion," | ",q.model," | ",q.messageCount," messages"]})]},q.id)}),$.length>0&&B>1&&rU(rV,{marginTop:1,children:WZ(D3,{dimColor:!0,children:["Page ",H+1,"/",B]})}),rU(rV,{marginTop:1,children:rU(D3,{dimColor:!0,children:"type to search arrows navigate enter resume esc cancel"})})]})}var Wr=E(()=>{d6()});import{jsx as sU,jsxs as dX}from"react/jsx-runtime";import{useState as vb,useEffect as JE,useMemo as LB0}from"react";import{Box as XE,Text as A5,useInput as qB0}from"ink";function EB0($,Z){if($.length<=Z)return $;return $.slice(0,Z-3)+"…"}function _B0($){switch($){case"user":return"\uD83D\uDC64";case"assistant":return"\uD83E\uDD16";case"system":return"⚙️";case"tool":return"\uD83D\uDD27";default:return" "}}function PB0($){switch($){case"user":return"cyan";case"assistant":return"green";case"system":return"yellow";case"tool":return"gray";default:return"white"}}function yb({messages:$,onSelect:Z,onCancel:J}){let{columns:X,rows:Y}=o8(),[Q,G]=vb(0),[V,W]=vb(""),K=LB0(()=>{if(!V)return $;let A=V.toLowerCase();return $.filter((L)=>L.text.toLowerCase().includes(A)||L.role.toLowerCase().includes(A)||L.arion&&L.arion.toLowerCase().includes(A))},[$,V]);JE(()=>{G((A)=>Math.min(A,Math.max(0,K.length-1)))},[K.length]),JE(()=>{if(!V){let A=K.reduce((L,q,N)=>q.role==="user"?N:L,0);G(A)}},[]);let H=Math.max(4,Y-10),[z,U]=vb(0);JE(()=>{if(Q<z)U(Q);else if(Q>=z+H)U(Q-H+1)},[Q,H,z]),JE(()=>{let A=K.reduce((L,q,N)=>q.role==="user"?N:L,0);U(Math.max(0,A-H+2))},[V]);let B=K.slice(z,z+H),F=K.length>0?Math.min(Q,K.length-1):0,D=process.stdin.isTTY??!1;qB0((A,L)=>{if(B$(A,L))J();else if(L.return&&K.length>0){let q=K[F];if(q&&q.role==="user")Z(q.index,q.text)}else if(L.upArrow)G((q)=>Math.max(0,q-1));else if(L.downArrow)G((q)=>Math.min(K.length-1,q+1));else if(L.backspace||L.delete){let q=V.slice(0,-1);W(q),G(0)}else if(A&&!L.ctrl&&!L.meta){let q=V+A;W(q),G(0)}},{isActive:D});let O=Math.max(30,Math.min(120,X-16));return dX(XE,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[dX(XE,{marginBottom:1,children:[sU(A5,{bold:!0,color:"cyan",children:"Edit Message"}),V?dX(A5,{dimColor:!0,children:[" ",'(search: "',V,'") — ',K.length,"/",$.length," messages"]}):dX(A5,{dimColor:!0,children:[" — ",$.length," messages · select a user message to edit"]})]}),z>0&&dX(A5,{dimColor:!0,children:[" ↑ ",z," more above"]}),K.length===0?sU(A5,{dimColor:!0,children:V?`No messages match "${V}".`:"No messages."}):B.map((A,L)=>{let N=z+L===F,_=A.role==="user",P=_B0(A.role),T=PB0(A.role),w=N?"❯":" ",I=EB0(A.text.replace(/\n/g," ").trim()||"(empty)",O);return sU(XE,{flexDirection:"row",children:dX(A5,{inverse:N,color:N?void 0:T,dimColor:!_&&!N,bold:_,children:[w," ",P," ",I]})},`${A.index}-${L}`)}),z+H<K.length&&dX(A5,{dimColor:!0,children:[" ↓ ",K.length-z-H," more below"]}),sU(XE,{marginTop:1,children:sU(A5,{dimColor:!0,children:"type to search · ↑↓ navigate · enter select user message · esc cancel"})})]})}var Kr=E(()=>{d6()});import{jsx as Z$,jsxs as y9}from"react/jsx-runtime";import MB0,{useState as jB0,useMemo as hb}from"react";import{Box as v9,Text as Q$,useInput as TB0}from"ink";function Hr($){if($.includes("daltonized")||$.includes("accessible"))return"accessible";if($.startsWith("claude-"))return"claude";return"standard"}function RB0($){let Z=$.colors.text.replace("#",""),J=parseInt(Z.slice(0,2),16),X=parseInt(Z.slice(2,4),16),Y=parseInt(Z.slice(4,6),16);return(J*299+X*587+Y*114)/1000<128}function SB0($){return i2().map((Z)=>{let J=TL(Z);return{name:Z,displayName:J.displayName,isCurrent:Z===$,isLight:RB0(J),category:Hr(Z)}})}function bB0({theme:$}){let Z=$.colors,J=Z.primary,X=Z.info,Y=Z.success,Q=Z.textMuted,G=Z.text;return y9(v9,{flexDirection:"column",children:[Z$(Q$,{color:Q,children:"// fetch a user by ID"}),y9(v9,{children:[Z$(Q$,{color:J,children:"async function "}),Z$(Q$,{color:G,children:"fetchUser"}),Z$(Q$,{color:G,children:"("}),Z$(Q$,{color:G,children:"id"}),Z$(Q$,{color:G,children:": "}),Z$(Q$,{color:Y,children:"string"}),Z$(Q$,{color:G,children:") {"})]}),y9(v9,{children:[Z$(Q$,{color:G,children:" "}),Z$(Q$,{color:J,children:"const "}),Z$(Q$,{color:G,children:"res = "}),Z$(Q$,{color:J,children:"await "}),Z$(Q$,{color:G,children:"fetch("}),Z$(Q$,{color:X,children:"`/api/users/${"}),Z$(Q$,{color:G,children:"id"}),Z$(Q$,{color:X,children:"}`"}),Z$(Q$,{color:G,children:")"})]}),y9(v9,{children:[Z$(Q$,{color:G,children:" "}),Z$(Q$,{color:J,children:"if "}),Z$(Q$,{color:G,children:"(!res.ok) "}),Z$(Q$,{color:J,children:"throw new "}),Z$(Q$,{color:Y,children:"Error"}),Z$(Q$,{color:G,children:"("}),Z$(Q$,{color:X,children:"`HTTP ${"}),Z$(Q$,{color:G,children:"res.status"}),Z$(Q$,{color:X,children:"}`"}),Z$(Q$,{color:G,children:")"})]}),y9(v9,{children:[Z$(Q$,{color:G,children:" "}),Z$(Q$,{color:J,children:"return "}),Z$(Q$,{color:G,children:"res.json() "}),Z$(Q$,{color:J,children:"as "}),Z$(Q$,{color:Y,children:"Promise"}),Z$(Q$,{color:G,children:"<"}),Z$(Q$,{color:Y,children:"User"}),Z$(Q$,{color:G,children:">"})]}),Z$(Q$,{color:G,children:"}"})]})}function IB0({theme:$}){let{colors:Z,symbols:J}=$;return y9(v9,{flexDirection:"column",borderStyle:"single",borderColor:Z.secondary,paddingX:1,children:[y9(Q$,{bold:!0,color:Z.primary,children:[J.prompt," ",$.displayName]}),Z$(v9,{marginTop:1,flexDirection:"column",children:Z$(bB0,{theme:$})}),y9(v9,{marginTop:1,flexDirection:"column",children:[y9(Q$,{color:Z.success,children:[J.success," Tests passed (3/3)"]}),y9(Q$,{color:Z.error,children:[J.error," Error: connection refused"]}),y9(Q$,{color:Z.warning,children:[J.warning," Deprecated API call"]}),Z$(v9,{children:Z$(Q$,{color:Z.diffAdded,children:"+ const data = await fetch(url);"})}),Z$(v9,{children:Z$(Q$,{color:Z.diffRemoved,children:"- const data = http.get(url);"})}),y9(Q$,{color:Z.textMuted,children:[J.info," 1.2k tokens ",J.bullet," $0.01 ",J.bullet," 0.8s"]})]})]})}function xb({onSelect:$,onCancel:Z}){let J=hb(()=>t().name,[]),X=hb(()=>SB0(J),[J]),{items:Y,selectableIndices:Q}=hb(()=>{let D=[],O=[],A=new Map;for(let L of X){let q=A.get(L.category)??[];q.push(L),A.set(L.category,q)}for(let L of wB0){let q=A.get(L);if(!q?.length)continue;D.push({type:"header",label:CB0[L]??L});for(let N of q)O.push(D.length),D.push({type:"theme",option:N})}return{items:D,selectableIndices:O}},[X]),G=Q.findIndex((D)=>{let O=Y[D];return O?.type==="theme"&&O.option.isCurrent}),[V,W]=jB0(G>=0?G:0),K=Q.length>0?Math.min(V,Q.length-1):0,H=Y[Q[K]],z=H?.type==="theme"?H.option.name:null;if(z)n2(z);let U=MB0.useCallback(()=>{n2(J),Z()},[J,Z]),B=process.stdin.isTTY??!1;TB0((D,O)=>{if(B$(D,O)){U();return}if(O.return&&Q.length>0){let A=Q[K],L=Y[A];if(L.type==="theme")$({name:L.option.name,displayName:L.option.displayName});return}if(O.upArrow){W((A)=>Math.max(0,A-1));return}if(O.downArrow){W((A)=>Math.min(Q.length-1,A+1));return}},{isActive:B});let F=t();return y9(v9,{flexDirection:"column",borderStyle:"round",borderColor:F.colors.primary,paddingX:1,children:[y9(v9,{marginBottom:1,children:[Z$(Q$,{bold:!0,color:F.colors.primary,children:"Theme"}),y9(Q$,{color:F.colors.textMuted,children:[" ",F.symbols.arrow," select a color theme"]})]}),y9(v9,{children:[Z$(v9,{flexDirection:"column",width:38,children:Y.map((D,O)=>{if(D.type==="header")return Z$(v9,{marginTop:O>0?1:0,children:Z$(Q$,{bold:!0,color:F.colors.textMuted,children:D.label})},`header-${D.label}`);let A=Q[K]===O,{option:L}=D;return Z$(v9,{children:y9(Q$,{inverse:A,color:A?F.colors.primary:F.colors.text,children:[L.isCurrent?"●":"○"," ",L.displayName]})},L.name)})}),Z$(v9,{flexDirection:"column",flexGrow:1,marginLeft:2,children:Z$(IB0,{theme:F})})]}),Z$(v9,{marginTop:1,children:y9(Q$,{color:F.colors.textMuted,children:["↑↓"," navigate ","⏎"," select esc cancel"]})})]})}var CB0,wB0;var zr=E(()=>{_0();CB0={standard:"Standard",claude:"Claude",accessible:"Accessible"},wB0=["standard","claude","accessible"]});import{jsxs as lX,jsx as YE}from"react/jsx-runtime";import{useState as Ur,useEffect as kB0,useMemo as fB0}from"react";import{Box as gb,Text as L5,useInput as vB0}from"ink";function yB0($,Z){let J=Z.trim().toLowerCase();if(!J)return!0;return[$.displayNameSnapshot,$.nodeId,$.host,$.port?.toString(),$.principalFingerprint,$.transport,$.status].filter((Y)=>typeof Y==="string"&&Y.length>0).map((Y)=>Y.toLowerCase()).some((Y)=>Y.includes(J))}function mb($,Z){if(Z<=0)return 0;return Math.min($,Z-1)}function cb({peers:$,sameHomeClientsAvailable:Z=!1,onSelect:J,onCancel:X}){let[Y,Q]=Ur(0),[G,V]=Ur(""),W=t(),K=fB0(()=>$.filter((B)=>yB0(B,G)),[$,G]);kB0(()=>{Q((B)=>mb(B,K.length))},[K.length]);let H=mb(Y,K.length),z=process.stdin.isTTY??!1;vB0((B,F)=>{if(B$(B,F)){X();return}if(F.return){if(K.length>0)J(K[H]);return}if(F.upArrow){Q((D)=>Math.max(0,D-1));return}if(F.downArrow){Q((D)=>mb(D+1,K.length));return}if(F.backspace||F.delete){V((D)=>D.slice(0,-1)),Q(0);return}if(B&&!F.ctrl&&!F.meta){V((D)=>D+B),Q(0);return}},{isActive:z});let U=(B)=>`${B.slice(0,4)} ${B.slice(4,8)} ${B.slice(8,12)} ${B.slice(12,16)}`;return lX(gb,{flexDirection:"column",borderStyle:"round",borderColor:W.colors.secondary,paddingX:1,children:[lX(L5,{bold:!0,color:W.colors.primary,children:[" ","Nearby Peers"," "]}),G?lX(L5,{dimColor:!0,children:[' (filter: "',G,'")']}):null,K.length===0&&YE(L5,{dimColor:!0,children:G?"No peers match your filter.":Z?"No peer nodes. Use /clients for same-home terminals.":"Scanning... no peers found yet"}),K.map((B,F)=>lX(gb,{children:[lX(L5,{inverse:F===H,color:F===H?W.colors.primary:void 0,children:[F===H?" ▸ ":" ",B.displayNameSnapshot]}),B.status==="connected"?YE(L5,{color:"green",children:" ✓ connected"}):lX(L5,{dimColor:!0,children:[" ",B.host,":",B.port]}),B.principalFingerprint?lX(L5,{color:W.colors.secondary,children:[" ",U(B.principalFingerprint)]}):null]},`${B.displayNameSnapshot}-${B.nodeId}-${F}`)),YE(gb,{marginTop:K.length>0?1:0,children:YE(L5,{dimColor:!0,children:"type to search ↑↓ navigate ⏎ connect esc cancel"})})]})}var Fr=E(()=>{_0()});import{jsxs as sV,jsx as ub}from"react/jsx-runtime";import{useEffect as hB0,useMemo as xB0,useState as Br}from"react";import{Box as pb,Text as tV,useInput as gB0}from"ink";function mB0($,Z){let J=Z.trim().toLowerCase();if(!J)return!0;return $.displayLabel.toLowerCase().includes(J)||$.clientId.toLowerCase().includes(J)||$.clientKind.toLowerCase().includes(J)}function db($,Z){if(Z<=0)return 0;return Math.min($,Z-1)}function lb({clients:$,onSelect:Z,onCancel:J}){let[X,Y]=Br(0),[Q,G]=Br(""),V=t(),W=xB0(()=>$.filter((z)=>mB0(z,Q)),[$,Q]);hB0(()=>{Y((z)=>db(z,W.length))},[W.length]);let K=db(X,W.length),H=process.stdin.isTTY??!1;return gB0((z,U)=>{if(B$(z,U)){J();return}if(U.return){if(W.length>0&&!W[K]?.self)Z(W[K]);return}if(U.upArrow){Y((B)=>Math.max(0,B-1));return}if(U.downArrow){Y((B)=>db(B+1,W.length));return}if(U.backspace||U.delete){G((B)=>B.slice(0,-1)),Y(0);return}if(z&&!U.ctrl&&!U.meta)G((B)=>B+z),Y(0)},{isActive:H}),sV(pb,{flexDirection:"column",borderStyle:"round",borderColor:V.colors.secondary,paddingX:1,children:[sV(tV,{bold:!0,color:V.colors.primary,children:[" ","Same-Home Clients"," "]}),Q?sV(tV,{dimColor:!0,children:[' (filter: "',Q,'")']}):null,W.length===0&&ub(tV,{dimColor:!0,children:"No same-home clients found."}),W.map((z,U)=>sV(pb,{flexDirection:"column",children:[sV(tV,{inverse:U===K,color:U===K?V.colors.primary:void 0,children:[U===K?" ▸ ":" ",z.displayLabel]}),sV(tV,{dimColor:!0,children:[" ",z.clientId,z.self?" self · not sendable":""]})]},`${z.clientId}-${U}`)),ub(pb,{marginTop:W.length>0?1:0,children:ub(tV,{dimColor:!0,children:"type to search ↑↓ navigate ⏎ select esc cancel"})})]})}var Dr=E(()=>{_0()});import{jsx as q5,jsxs as tU}from"react/jsx-runtime";import{Box as QE,Text as O3,useInput as cB0}from"ink";function ab({inviteToken:$,inviteLabel:Z,expiresAt:J,onClose:X}){let Y=t(),Q=process.stdin.isTTY??!1;return cB0((G,V)=>{if(V.return||B$(G,V))X()},{isActive:Q}),tU(QE,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,children:[q5(O3,{bold:!0,color:Y.colors.primary,children:"Internet Invite"}),Z?tU(O3,{children:["Label: ",q5(O3,{bold:!0,children:Z})]}):null,J?tU(O3,{dimColor:!0,children:["Expires: ",J]}):null,tU(QE,{marginTop:1,flexDirection:"column",children:[q5(O3,{children:"Share this token:"}),q5(O3,{children:$})]}),tU(QE,{marginTop:1,flexDirection:"column",children:[q5(O3,{children:"Join with:"}),q5(O3,{children:`aria pairing join ${$}`})]}),q5(QE,{marginTop:1,children:q5(O3,{dimColor:!0,children:"Press Enter or Esc to close."})})]})}var Or=E(()=>{_0()});import{jsx as E5,jsxs as uB0}from"react/jsx-runtime";import{useState as pB0}from"react";import{Box as GE,Text as eU,useInput as dB0}from"ink";function nb({onSubmit:$,onCancel:Z,error:J}){let[X,Y]=pB0(""),Q=t(),G=process.stdin.isTTY??!1;return dB0((V,W)=>{if(B$(V,W)){Z();return}if(W.return){let K=X.trim();if(K.length>0)$(K);return}if(W.backspace||W.delete){Y((K)=>K.slice(0,-1));return}if(V&&!W.ctrl&&!W.meta)Y((K)=>K+V)},{isActive:G}),uB0(GE,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.secondary,paddingX:1,paddingY:1,children:[E5(eU,{bold:!0,color:Q.colors.primary,children:"Join Invite"}),E5(eU,{children:"Paste the invite token and press Enter."}),E5(GE,{marginTop:1,children:E5(eU,{children:X||" "})}),J?E5(GE,{marginTop:1,children:E5(eU,{color:Q.colors.error,children:J})}):null,E5(GE,{marginTop:1,children:E5(eU,{dimColor:!0,children:"Type token, Enter to join, Esc to cancel."})})]})}var Nr=E(()=>{_0()});import{jsxs as aX,jsx as $F}from"react/jsx-runtime";import{useState as lB0,useRef as aB0}from"react";import{Box as ZF,Text as nX,useInput as nB0}from"ink";function ib({request:$,onAccept:Z,onReject:J}){let[X,Y]=lB0("accept"),Q=aB0(!1),G=t(),V=process.stdin.isTTY??!1,W=(K)=>`${K.slice(0,4)} ${K.slice(4,8)} ${K.slice(8,12)} ${K.slice(12,16)}`;return nB0((K,H)=>{if(Q.current)return;if(H.return){if(Q.current=!0,X==="accept")Z();else J();return}if(B$(K,H)){Q.current=!0,J();return}if(H.leftArrow||H.rightArrow||H.tab)Y((z)=>z==="accept"?"reject":"accept")},{isActive:V}),aX(ZF,{flexDirection:"column",borderStyle:"round",borderColor:G.colors.warning,paddingX:2,paddingY:1,children:[aX(nX,{bold:!0,color:G.colors.warning,children:[" ","Connection Request"," "]}),$F(ZF,{marginTop:1,children:aX(nX,{children:[$F(nX,{bold:!0,children:$.displayNameSnapshot??$.nodeId})," wants to connect"]})}),$F(ZF,{children:aX(nX,{dimColor:!0,children:["Fingerprint: ",W($.principalFingerprint)]})}),aX(ZF,{marginTop:1,gap:2,children:[aX(nX,{inverse:X==="accept",color:X==="accept"?G.colors.success:void 0,children:[" ","Accept"," "]}),aX(nX,{inverse:X==="reject",color:X==="reject"?G.colors.error:void 0,children:[" ","Reject"," "]})]}),$F(ZF,{marginTop:1,children:$F(nX,{dimColor:!0,children:"←→ select ⏎ confirm esc reject"})})]})}var Ar=E(()=>{_0()});var Lr=E(()=>{eo();Zr();Qr();Gr();Wr();Kr();zr();Fr();Dr();Or();Nr();Ar()});var ob=E(()=>{UR();OR();ld();Gl();ni();yq();aS();iS();$o();Zo();Jo();BV();Xo();Qo();oR();Go();Wo();zo();sR();Oo();dU();uX();D5();Lr()});import{jsxs as $W,jsx as eV}from"react/jsx-runtime";import{useEffect as iB0,useState as oB0,useRef as qr}from"react";import{Box as VE,Text as iX,useInput as rB0}from"ink";function sB0({status:$}){let Z=t();switch($){case"connected":return $W(iX,{color:Z.colors.success,children:["✓"," connected"]});case"expired":return $W(iX,{color:Z.colors.error,children:["✗"," expired"]});case"none":return $W(iX,{color:Z.colors.textMuted,children:["·"," not connected"]})}}function Er({providers:$,onSelect:Z,onCancel:J,isActive:X=!0}){let Y=t(),[Q,G]=oB0(0),V=qr(0),W=qr(!1);iB0(()=>{W.current=!1,V.current=0,G(0)},[$]);let K=(z)=>{G((U)=>{let B=z(U);return V.current=B,B})},H=process.stdin.isTTY??!1;return rB0((z,U)=>{if(W.current)return;if(U.upArrow)K((B)=>Math.max(0,B-1));else if(U.downArrow)K((B)=>Math.min($.length-1,B+1));else if(U.return)W.current=!0,Z($[V.current]);else if(B$(z,U))W.current=!0,J()},{isActive:X&&H}),$W(VE,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,width:56,children:[eV(VE,{marginBottom:1,children:eV(iX,{bold:!0,children:"Select a provider:"})}),$.map((z,U)=>{let B=U===Q,F=B?"▸":" ";return $W(VE,{gap:1,children:[eV(iX,{color:B?Y.colors.primary:void 0,children:F}),eV(iX,{color:B?Y.colors.primary:void 0,bold:B,children:z.label.padEnd(28)}),eV(sB0,{status:z.status})]},z.id)}),eV(VE,{marginTop:1,children:$W(iX,{color:Y.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]})})]})}var _r=E(()=>{_0()});import{jsxs as N3,jsx as q4}from"react/jsx-runtime";import{useEffect as tB0,useRef as rb,useState as WE}from"react";import{Box as G2,Text as V2,useInput as eB0}from"ink";function Pr({provider:$,onCancel:Z,isActive:J=!0,onComplete:X,authorizeUrl:Y,expectedState:Q,onCodeSubmit:G}){let V=t(),[W,K]=WE("starting"),[H,z]=WE(""),[U,B]=WE(""),[F,D]=WE(""),O=rb(null),A=rb(!1),L=rb(!1),q=process.stdin.isTTY??!1;eB0((_,P)=>{if(B$(_,P))Z()},{isActive:J&&q}),tB0(()=>{if(A.current)return;A.current=!0,K("waiting");let _=new Promise((T)=>{O.current=T}),P=(T)=>{z(T),K("manual")};if(Y&&G){z(Y),FL($,{authorizeUrl:Y,expectedState:Q,onManualFallback:P,manualCodePromise:_}).then(async(T)=>{if(L.current)return;K("exchanging"),await G(T),L.current=!0,K("success")},(T)=>{if(L.current)return;let w=T instanceof Error?T.message:String(T);B(w),K("error")});return}Sw($,{onManualFallback:P,manualCodePromise:_}).then((T)=>{if(L.current)return;if(T.success)K("success"),L.current=!0,setTimeout(()=>{X?.({success:!0,message:T.message})},1000);else B(T.message),K("error")},(T)=>{if(L.current)return;let w=T instanceof Error?T.message:String(T);B(w),K("error")})},[Q,Y,G,X,$]);let N=(_)=>{let P=_.trim();if(!P)return;if(K("exchanging"),O.current)O.current(P),O.current=null};return N3(G2,{flexDirection:"column",borderStyle:"round",borderColor:V.colors.secondary,paddingX:1,paddingY:1,width:64,children:[q4(G2,{marginBottom:1,children:N3(V2,{bold:!0,children:["Sign in to ",$]})}),(W==="starting"||W==="waiting")&&N3(G2,{gap:1,children:[q4(cV,{}),q4(V2,{children:"Opening browser to sign in..."})]}),W==="manual"&&N3(G2,{flexDirection:"column",children:[q4(V2,{children:"Open this URL in your browser:"}),q4(G2,{marginTop:1,children:q4(V2,{color:V.colors.primary,wrap:"wrap",children:H})}),q4(G2,{marginTop:1,children:q4(V2,{children:"Paste the authorization code below:"})}),N3(G2,{marginTop:1,children:[q4(V2,{color:V.colors.textMuted,children:"> "}),q4(VV,{value:F,onChange:D,onSubmit:N,placeholder:"paste code here",focus:J,showCursor:!0})]})]}),W==="exchanging"&&N3(G2,{gap:1,children:[q4(cV,{}),q4(V2,{children:"Exchanging code for tokens..."})]}),W==="success"&&N3(V2,{color:V.colors.success,children:["✓"," Logged in to ",$]}),W==="error"&&N3(G2,{flexDirection:"column",children:[N3(V2,{color:V.colors.error,children:["✗"," ",U]}),q4(G2,{marginTop:1,children:q4(V2,{color:V.colors.textMuted,children:"Press Esc to dismiss"})})]}),W!=="success"&&W!=="error"&&q4(G2,{marginTop:1,children:q4(V2,{color:V.colors.textMuted,children:"Esc Cancel"})})]})}var Mr=E(()=>{u6();_0();yq();yR()});import{jsxs as JW,jsx as A3}from"react/jsx-runtime";import{useEffect as $D0,useRef as jr,useState as ZD0}from"react";import{Box as ZW,Text as _5,useInput as JD0}from"ink";function XD0({status:$}){let Z=t();if($==="connected")return JW(_5,{color:Z.colors.success,children:["✓"," connected"]});if($==="available")return JW(_5,{color:Z.colors.success,children:["✓"," available"]});return A3(_5,{color:Z.colors.textMuted,children:"·"})}function XW({options:$,onSelect:Z,onCancel:J,title:X="Select login method:",isActive:Y=!0}){let Q=t(),[G,V]=ZD0(0),W=jr(0),K=jr(!1),H=process.stdin.isTTY??!1;$D0(()=>{K.current=!1,W.current=0,V(0)},[$]);let z=(U)=>{V((B)=>{let F=U(B);return W.current=F,F})};return JD0((U,B)=>{if(K.current)return;if(B.upArrow)z((F)=>Math.max(0,F-1));else if(B.downArrow)z((F)=>Math.min($.length-1,F+1));else if(B.return)K.current=!0,Z($[W.current]);else if(B$(U,B))K.current=!0,J()},{isActive:Y&&H}),JW(ZW,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.secondary,paddingX:1,paddingY:1,width:64,children:[A3(ZW,{marginBottom:1,children:A3(_5,{bold:!0,children:X})}),$.map((U,B)=>{let F=B===G,D=F?"▸":" ";return JW(ZW,{flexDirection:"column",children:[JW(ZW,{gap:1,children:[A3(_5,{color:F?Q.colors.primary:void 0,children:D}),A3(_5,{color:F?Q.colors.primary:void 0,bold:F,children:U.label}),A3(XD0,{status:U.status})]}),U.description&&A3(ZW,{marginLeft:3,children:A3(_5,{color:Q.colors.textMuted,dimColor:!0,children:U.description})})]},U.id)}),A3(ZW,{marginTop:1,children:JW(_5,{color:Q.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]})})]})}var sb=E(()=>{_0()});import{jsx as YD0}from"react/jsx-runtime";function Tr({options:$,onSelect:Z,onCancel:J,isActive:X=!0}){return YD0(XW,{options:$,onSelect:Z,onCancel:J,title:"Select Anthropic login method:",isActive:X})}var Cr=E(()=>{sb()});import{jsx as P5,jsxs as tb}from"react/jsx-runtime";import{useRef as QD0,useState as GD0}from"react";import{Box as JF,Text as YW,useInput as VD0}from"ink";function QW({title:$,hint:Z,onSubmit:J,onCancel:X,isActive:Y=!0}){let Q=t(),[G,V]=GD0(""),W=QD0(!1),K=process.stdin.isTTY??!1;VD0((z,U)=>{if(W.current)return;if(B$(z,U)){W.current=!0,X();return}if(U.return){if(G.trim().length>0)W.current=!0,J(G.trim());return}if(U.backspace||U.delete){V((B)=>B.slice(0,-1));return}if(U.upArrow||U.downArrow||U.leftArrow||U.rightArrow||U.tab)return;if(z&&!U.ctrl&&!U.meta)V((B)=>B+z)},{isActive:Y&&K});let H=G.length>0?G.slice(0,4)+"•".repeat(Math.max(0,G.length-4)):"";return tb(JF,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.secondary,paddingX:1,paddingY:1,width:64,children:[P5(JF,{marginBottom:1,children:P5(YW,{bold:!0,children:$})}),Z&&P5(JF,{marginBottom:1,children:P5(YW,{color:Q.colors.textMuted,dimColor:!0,children:Z})}),tb(JF,{children:[tb(YW,{color:Q.colors.primary,children:["▸"," "]}),P5(YW,{children:H||" "}),P5(YW,{color:Q.colors.textMuted,children:"_"})]}),P5(JF,{marginTop:1,children:P5(YW,{color:Q.colors.textMuted,children:"Enter Submit Esc Cancel"})})]})}var wr=E(()=>{_0()});function Rr($,Z,J={}){let X=J.userName||"User",Y=[],Q=new Map;function G(V,W){for(let K of V.content)switch(K.type){case"text":{if(V.role==="user"){let H=lR(K.text);for(let z of H)if(z.type==="image"&&uL(z.dataUri))Y.push({kind:"user-image",id:`${V.id}-image-${Y.length}`,dataUri:z.dataUri,userName:X,committed:W});else if(z.type==="text"&&z.text.length>0)Y.push({kind:"user-message",id:`${V.id}-text-${Y.length}`,text:z.text,userName:X,committed:W})}else if(V.role==="system"&&K.text.length>0)Y.push({kind:"user-message",id:`${V.id}-text-${Y.length}`,text:K.text,userName:"System",committed:W});else if(V.role==="assistant"&&K.text.trim())Y.push({kind:"assistant-text",id:`${V.id}-text-${Y.length}`,text:K.text,arion:V.arion?{name:V.arion.name,emoji:V.arion.emoji||"\uD83E\uDD8B",color:V.arion.color||"cyan"}:void 0,committed:W});break}case"thinking":{if(K.content?.trim())Y.push({kind:"thinking",id:`${V.id}-thinking-${Y.length}`,content:K.content,durationSec:K.durationMs!=null?K.durationMs/1000:void 0,arion:V.arion?{name:V.arion.name,emoji:V.arion.emoji||"\uD83E\uDD8B",color:V.arion.color||"cyan"}:void 0,committed:W});break}case"tool_use":{let H={kind:"tool-execution",id:`${V.id}-tool-${K.id}`,toolName:K.name,input:K.arguments,output:void 0,status:"pending",durationMs:void 0,usage:void 0,committed:W};Q.set(K.id,H),Y.push(H);break}case"tool_result":{let H=Q.get(K.toolUseId);if(H){if(H.output=K.resultData??K.content,H.status=K.status==="error"?"error":"complete",K.status==="error")H.error=typeof K.content==="string"?K.content:"Tool error";if(K.durationMs!=null)H.durationMs=K.durationMs;if(K.usage)H.usage={inputTokens:K.usage.inputTokens??0,outputTokens:K.usage.outputTokens??0};if(!W)H.committed=!1}break}case"handoff":{Y.push({kind:"handoff",id:`${V.id}-handoff-${Y.length}`,target:K.target,direction:K.direction==="from"?"incoming":"outgoing",committed:W});break}case"error":{Y.push({kind:"error",id:`${V.id}-error-${Y.length}`,message:K.content,suggestion:K.suggestion,committed:W});break}}}for(let V of $)G(V,!0);for(let V of Z)G(V,!1);return Y}var Sr=E(()=>{pL()});function Ir($,Z){switch(Z.type){case"STREAM_START":return{kind:"composing",verb:Z.verb};case"THINKING_START":if($.kind!=="composing"&&$.kind!=="idle")return $;return{kind:"thinking",verb:Z.verb,startedAt:Z.startedAt};case"THINKING_END":if($.kind!=="thinking")return $;return{kind:"composing",verb:Z.verb,thoughtForSeconds:Z.durationSeconds};case"TOOL_START":{let J=new Map($.kind==="tool_running"?$.tools:[]);return J.set(Z.callId,Z.displayName),{kind:"tool_running",tools:J}}case"TOOL_END":{if($.kind!=="tool_running")return $;let J=new Map($.tools);if(J.delete(Z.callId),J.size===0)return{kind:"composing",verb:Z.verb};return{kind:"tool_running",tools:J}}case"STREAM_END":return{kind:"idle"};default:return $}}var br;var kr=E(()=>{br={kind:"idle"}});import{useReducer as WD0,useEffect as eb,useRef as fr}from"react";function vr($,Z){let[J,X]=WD0(Ir,br),Y=fr(!1);eb(()=>{if(Z&&!Y.current)X({type:"STREAM_START",verb:l6()});else if(!Z&&Y.current)X({type:"STREAM_END"});Y.current=Z},[Z]);let Q=fr(null);return eb(()=>{if($!==Q.current){if(Q.current!==null)X({type:"STREAM_END"});Q.current=$}},[$]),eb(()=>{if(!$)return;let G=()=>X({type:"THINKING_START",verb:l6(),startedAt:Date.now()}),V=(H)=>X({type:"THINKING_END",verb:l6(),durationSeconds:Math.round(H.durationMs/1000)}),W=(H)=>X({type:"TOOL_START",callId:H.id,displayName:zl(H.name,!0)}),K=(H)=>X({type:"TOOL_END",callId:H.id,verb:l6()});return $.on("thinking_start",G),$.on("thinking_end",V),$.on("tool_start",W),$.on("tool_result",K),()=>{$.off("thinking_start",G),$.off("thinking_end",V),$.off("tool_start",W),$.off("tool_result",K)}},[$]),J}var yr=E(()=>{kr();KV()});function KE($){let Z=typeof $.nodeId==="string"?$.nodeId.trim():"",J=typeof $.transport==="string"?$.transport:"unknown";if(Z)return`node:${Z}`;let X=typeof $.principalFingerprint==="string"?$.principalFingerprint.trim():"";if(X)return`principal:${X}`;return`endpoint:${J}:${$.host}:${$.port}:${$.displayNameSnapshot}`}function hr($,Z){let J=new Map;for(let X of[...$,...Z]){let Y=KE(X);if(!J.has(Y))J.set(Y,X)}return[...J.values()]}import{jsx as G$,jsxs as oX,Fragment as KD0}from"react/jsx-runtime";import{useState as M5,useCallback as L3,useMemo as j5,useEffect as W2}from"react";import{Box as KZ,Static as HD0,Text as q3,useApp as zD0,useInput as UD0}from"ink";function $I({session:$,model:Z,maxContextTokens:J,banner:X,messages:Y=[],previewMessages:Q=[],isStreaming:G=!1,queuedMessage:V,onCancelQueuedMessage:W,responseTime:K,commands:H=[],arions:z=[],models:U=[],memories:B=[],memoryBrowserMode:F="browse",isLoadingMemories:D=!1,userName:O,metrics:A,displayMode:L="standard",displayConfig:q,showThinking:N=!0,showCosts:_=!0,showTraces:P=!1,spans:T=[],pipelineTiming:w,activeArion:I,onSubmit:l,onCommand:o,onSelectArion:r,onSelectModel:f,onSelectTheme:s,onSelectMemory:v,onOpenMemoryBrowser:m,onToggleThinking:j,onToggleCosts:S,onToggleTraces:k,onCycleDisplayMode:g,sessions:C=[],onSelectSession:R,onLoadSessions:h,onSearchSessions:x,onLoadMoreSessions:$0,staticRenderEpoch:J0,openSessionOverlaySignal:c,openThemeOverlaySignal:n,inputHistory:e=[],onSaveInput:X0,obsCtx:a,onCancel:H0,approvalRequest:z0,onApprovalChoice:B0,effortLevel:j0,showAutonomySelector:T0,autonomyLevel:Y0,onAutonomySelect:V0,onAutonomyCancel:D0,onCycleAutonomy:F0,onCycleEffort:P0,loginPickerProviders:K0,onLoginProviderSelect:O0,onLoginPickerCancel:N0,copilotSourceOptions:E0,onCopilotSourceSelect:M0,onCopilotSourceCancel:S0,oauthProvider:v0,oauthAuthorizeUrl:q0,oauthExpectedState:y0,onOAuthComplete:V$,onOAuthCodeSubmit:M$,onOAuthCancel:U$,copilotDeviceProvider:i0,copilotDeviceProfileLabel:Q9,copilotDeviceVerificationUri:g$,copilotDeviceUserCode:L$,onCopilotDeviceComplete:_8,onCopilotDeviceApprove:C6,onCopilotDeviceCancel:KQ,anthropicMethodOptions:$H,onAnthropicMethodSelect:HQ,onAnthropicMethodCancel:KO,anthropicKeyInputVisible:zQ,onAnthropicKeySubmit:HO,onAnthropicKeyCancel:UQ,anthropicSetupTokenVisible:zO,onAnthropicSetupTokenSubmit:FQ,onAnthropicSetupTokenCancel:ZH,openaiMethodOptions:UJ,onOpenAIMethodSelect:UO,onOpenAIMethodCancel:BQ,openaiKeyInputVisible:FO,onOpenAIKeySubmit:DQ,onOpenAIKeyCancel:BO,googleMethodOptions:FJ,onGoogleMethodSelect:DO,onGoogleMethodCancel:OQ,googleKeyInputVisible:OO,onGoogleKeySubmit:NQ,onGoogleKeyCancel:NO,authInteractionOptions:BJ,authInteractionTitle:AT,onAuthInteractionSelect:AQ,onAuthInteractionCancel:AO,authInteractionInput:G7,onAuthInteractionInputSubmit:LO,onAuthInteractionInputCancel:LQ,nearbyPeers:qQ=[],localClients:EQ=[],onSelectPeer:LT,onSelectClient:JH,onPeerCancel:qO,onClientsCancel:DJ,openPeersOverlaySignal:EO,openClientsOverlaySignal:XH,inviteShare:V7,onInviteShareClose:_O,openJoinInviteOverlaySignal:TZ,onJoinInviteSubmit:PO,onJoinInviteCancel:qT,joinInviteError:ET,incomingPairRequest:OJ,onAcceptPairRequest:_T,onRejectPairRequest:PT,onCancelPairing:MO,openMessageEditOverlaySignal:jO,editableMessages:W7,onEditMessage:_Q,prefillInput:PQ,onPrefillConsumed:MT,meshMessageCount:jT=0,runtimeSocket:Hm=null,clientId:YH=null,clientAuthToken:T2=null,resolveCredentials:TO}){let{exit:CZ}=zD0(),{columns:QH,rows:GH}=o8(),[MQ,k8]=M5(""),[p0,H$]=M5("none"),[K7,jQ]=M5(""),[TQ,NJ]=M5(""),[AJ,wZ]=M5("become"),[TT,LJ]=M5("all"),[VH,CT]=M5(!1),C2=Boolean(BJ||$H||UJ||FJ),wT=Boolean(G7||zQ||zO||FO||OO),CO=Boolean(v0||i0||K0||E0);W2(()=>{if(C2)H$("login-method");else if(wT)H$("login-input");else if(CO)H$("login");else if(p0==="login"||p0==="login-method"||p0==="login-input")H$("none")},[C2,wT,CO]);let WH=L3(()=>{H$("session"),setTimeout(()=>h?.(),0)},[h]);W2(()=>{if(c===void 0)return;WH()},[c,WH]),W2(()=>{if(n===void 0)return;H$("theme")},[n]);let[qJ,EJ]=M5([]);W2(()=>{if(EO===void 0)return;EJ([...qQ]),H$("peers")},[EO]),W2(()=>{if(XH===void 0)return;H$("clients")},[XH]),W2(()=>{if(V7)H$("invite-share");else if(p0==="invite-share")H$("none")},[V7,p0]),W2(()=>{if(TZ===void 0)return;H$("join-invite")},[TZ]),W2(()=>{if(jO===void 0)return;if(W7&&W7.length>0)H$("message-edit")},[jO]),W2(()=>{if(PQ!==void 0)k8(PQ),MT?.()},[PQ]),W2(()=>{if(p0!=="peers")return;EJ((C0)=>{let _$=new Set(C0.map(KE)),J8=qQ.filter((z7)=>!_$.has(KE(z7)));return J8.length>0?[...C0,...J8]:C0})},[p0,qQ]),W2(()=>{if(OJ&&p0==="none"&&!G)H$("pair-request");else if(!OJ&&p0==="pair-request")H$("none")},[OJ,p0,G]);let RT=process.stdin.isTTY??!1;UD0((C0,_$)=>{if(C0==="\x03"||_$.ctrl&&C0==="c"){if(G&&H0){H0();return}CZ()}if(B$(C0,_$)){if(z0)return;if(p0!=="none"){V9();return}if(MO){MO();return}if(G&&V&&W)W();else if(G&&H0)H0();else k8("");return}if(_$.upArrow&&G&&V&&W){W();return}if(_$.ctrl&&C0==="\x1C"&&p0==="none"){g?.();return}if(_$.ctrl&&C0==="t"&&p0==="none"){j?.();return}if(_$.ctrl&&C0==="g"&&p0==="none"){S?.();return}if(_$.ctrl&&C0==="s"&&p0==="none"){k?.();return}if(_$.tab&&C0!=="\t"&&p0==="none"){F0?.();return}if(_$.ctrl&&C0==="\x05"&&p0==="none"){P0?.();return}if(_$.ctrl&&C0==="\x1F"&&p0==="none"){CT((J8)=>!J8);return}},{isActive:RT});let RZ=$.getPrimary(),ST=RZ?.name||"ARIA",j1=RZ?.color||"cyan",bT=RZ?.emoji||"\uD83E\uDD8B",SZ=vr(a??null,G??!1),IT=(p0==="none"&&!z0?4:0)+(!q||q.showStatusBar?1:0),KH=Math.max(GH-IT,1),H7=L3((C0,_$)=>{if(C0==="command")H$("command"),jQ(_$);else if(C0==="mention")H$("arion"),NJ(_$),wZ("mention")},[]),kT=L3((C0)=>{H$("none"),k8("");let _$=C0.requiresArgs===!0||(C0.args?.length??0)>0;if(C0.name==="become")H$("arion"),wZ("become"),LJ("all");else if(C0.name==="rest")H$("arion"),wZ("rest"),LJ("active");else if(C0.name==="wake")H$("arion"),wZ("wake"),LJ("resting");else if(C0.name==="model")H$("model");else if(C0.name==="theme")H$("theme");else if(C0.name==="memories")m?.("browse"),H$("memory");else if(C0.name==="forget")m?.("forget"),H$("memory");else if(C0.name==="resume")WH();else if(C0.name==="exit")CZ();else if(_$){k8(`/${C0.name} `);return}else o(C0.name)},[o,m,CZ]),wO=L3((C0)=>{if(H$("none"),AJ==="mention"){let _$=MQ.replace(/@\w*$/,"");k8(_$+"@"+C0.name+" ")}else r?.(C0.name,AJ)},[AJ,MQ,r]),HH=L3((C0,_$)=>{H$("none"),f?.(C0.value??C0.name,_$)},[f]),zH=L3((C0)=>{H$("none"),s?.(C0)},[s]),G9=L3((C0)=>{H$("none"),v?.(C0)},[v]),V9=L3(()=>{if(H$("none"),AJ!=="mention")k8("");jQ(""),NJ("")},[AJ]),w2=L3((C0)=>{H$("none"),k8(C0),jQ("")},[]),E$=j5(()=>Rr(Y,Q,{userName:O}),[Y,Q,O]),u9=j5(()=>uS(E$,L),[E$,L]),_J=j5(()=>u9.filter((C0)=>C0.committed),[u9]),PJ=j5(()=>u9.filter((C0)=>!C0.committed),[u9]),Z1=G&&V?V:null,CQ=Z1!==null,bZ=SZ.kind!=="idle",fT=Math.max(QH-4,20),zm=j5(()=>{if(!Z1)return 0;return Math.max(U9(Z1,{width:fT}).split(`
547
- `).length,1)},[fT,Z1]),RO=(CQ?4+zm:0)+(bZ?2:0),M9=Math.max(KH-RO,1),d0=j5(()=>{let C0=new Map,_$="";for(let J8 of u9){let z7=J8.kind==="user-message"||J8.kind==="user-image"?`user:${J8.userName}`:J8.kind==="assistant-text"?`assistant:${J8.arion?.name??"ARIA"}`:J8.kind==="thinking"?`assistant:${J8.arion?.name??"ARIA"}`:J8.kind==="tool-execution"?"tool":J8.kind,j9=J8.kind==="user-message"||J8.kind==="user-image"||J8.kind==="assistant-text"||J8.kind==="thinking";if(C0.set(J8.id,j9&&z7!==_$),j9)_$=z7}return C0},[u9]),wQ=j5(()=>{let C0=new Map;for(let _$=0;_$<u9.length;_$++){let J8=u9[_$],z7=_$>0?u9[_$-1]:void 0,j9=J8.kind==="tool-execution"&&z7?.kind==="tool-execution";C0.set(J8.id,_$>0&&!j9)}return C0},[u9]),SO=j5(()=>{let C0=[];if(X)C0.push({id:"header",_kind:"banner"});for(let _$ of _J)C0.push({..._$,_kind:"item"});return C0},[X,_J]);return oX(KD0,{children:[G$(HD0,{items:SO,children:(C0)=>{if(C0._kind==="banner")return G$(KZ,{width:"100%",justifyContent:"center",children:X},C0.id);return G$(KZ,{flexDirection:"column",marginTop:wQ.get(C0.id)?1:0,children:G$(vq,{item:C0,displayMode:L,showPrefix:d0.get(C0.id)??!1})},C0.id)}},`static-${J0}`),oX(KZ,{flexDirection:"column",width:"100%",children:[oX(KZ,{flexDirection:"column",maxHeight:KH,justifyContent:"flex-end",overflowY:"hidden",children:[PJ.length>0&&G$(KZ,{flexDirection:"column",maxHeight:M9,overflowY:"hidden",children:PJ.map((C0)=>G$(KZ,{flexDirection:"column",marginTop:wQ.get(C0.id)?1:0,children:G$(vq,{item:C0,displayMode:L,showPrefix:d0.get(C0.id)??!1,previewTailLines:M9})},C0.id))}),CQ&&oX(KZ,{marginTop:1,flexDirection:"column",children:[G$(cL,{param:{type:"text",text:Z1??""},userName:O??"User",columns:QH,showPrefix:!0,addMargin:!1}),G$(q3,{dimColor:!0,children:" ↑ queued — press esc or ↑ to cancel and edit"})]}),P&&T.length>0&&G$(tS,{spans:T}),q?.showPipelineTiming&&w&&w.phases.length>0&&G$(eS,{report:w}),VH&&oX(KZ,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,marginY:1,children:[G$(q3,{bold:!0,dimColor:!0,children:"Hotkeys"}),G$(q3,{dimColor:!0,children:" Ctrl+\\ — cycle display mode"}),G$(q3,{dimColor:!0,children:" Ctrl+t — toggle thinking blocks"}),G$(q3,{dimColor:!0,children:" Ctrl+g — toggle cost display"}),G$(q3,{dimColor:!0,children:" Ctrl+e — cycle effort level"}),G$(q3,{dimColor:!0,children:" Ctrl+s — toggle trace waterfall"}),G$(q3,{dimColor:!0,children:" Escape — cancel streaming / close overlay / clear input"}),G$(q3,{dimColor:!0,children:" Ctrl+/ — toggle this help"})]}),bZ&&G$(Zb,{state:SZ.kind==="thinking"?"thinking":"composing",elapsedSeconds:Math.floor(A?.wallTimeSeconds??0),totalTokens:A?.totalTokens??0,thoughtForSeconds:SZ.kind==="composing"?SZ.thoughtForSeconds:void 0,currentVerb:SZ.kind==="tool_running"?[...new Set(SZ.tools.values())].join(" · "):SZ.verb.present})]}),oX(KZ,{flexDirection:"column",flexShrink:0,children:[T0&&V0&&D0&&G$(rS,{currentLevel:Y0??E3.autonomy,onSelect:V0,onCancel:D0}),K0&&O0&&N0&&G$(Er,{providers:K0,onSelect:O0,onCancel:N0}),E0&&M0&&S0&&G$(nS,{options:E0,onSelect:M0,onCancel:S0}),p0==="login-method"&&BJ&&AQ&&AO&&G$(XW,{options:BJ,onSelect:(C0)=>AQ(C0.id),onCancel:AO,title:AT??"Choose an option:",isActive:p0==="login-method"}),p0==="login-method"&&$H&&HQ&&KO&&G$(Tr,{options:$H,onSelect:HQ,onCancel:KO,isActive:p0==="login-method"}),p0==="login-input"&&G7&&LO&&LQ&&G$(QW,{title:G7.title,hint:G7.hint,onSubmit:LO,onCancel:LQ,isActive:p0==="login-input"}),p0==="login-input"&&zQ&&HO&&UQ&&G$(QW,{title:"Enter Anthropic API key",hint:"Paste your sk-ant-api03-* key",onSubmit:HO,onCancel:UQ,isActive:p0==="login-input"}),p0==="login-input"&&zO&&FQ&&ZH&&G$(QW,{title:"Enter setup token",hint:"From `claude setup-token` or admin provisioning",onSubmit:FQ,onCancel:ZH,isActive:p0==="login-input"}),p0==="login-method"&&UJ&&UO&&BQ&&G$(XW,{options:UJ,onSelect:UO,onCancel:BQ,title:"Select OpenAI login method:",isActive:p0==="login-method"}),p0==="login-input"&&FO&&DQ&&BO&&G$(QW,{title:"Enter OpenAI API key",hint:"Paste your sk-* key",onSubmit:DQ,onCancel:BO,isActive:p0==="login-input"}),p0==="login-method"&&FJ&&DO&&OQ&&G$(XW,{options:FJ,onSelect:DO,onCancel:OQ,title:"Select Google login method:",isActive:p0==="login-method"}),p0==="login-input"&&OO&&NQ&&NO&&G$(QW,{title:"Enter Google API key",hint:"Paste your AIza* key",onSubmit:NQ,onCancel:NO,isActive:p0==="login-input"}),p0==="login"&&v0&&V$&&U$&&G$(Pr,{provider:v0,onCancel:U$,...q0&&M$?{authorizeUrl:q0,expectedState:y0??void 0,onCodeSubmit:M$}:{onComplete:V$},isActive:p0==="login"}),p0==="login"&&i0&&_8&&KQ&&G$(lS,{provider:i0,profileLabel:Q9??void 0,...g$&&L$&&C6?{verificationUri:g$,userCode:L$,onApprove:C6}:{onComplete:_8},onCancel:KQ}),oX(KZ,{flexDirection:"column",children:[p0==="command"&&G$(Cb,{commands:H,initialFilter:K7,onSelect:kT,onHandOffInput:w2,onCancel:V9}),p0==="arion"&&G$(wb,{arions:z,initialFilter:TQ,statusFilter:TT,onSelect:wO,onCancel:V9}),p0==="model"&&G$(Sb,{models:U,effortLevel:j0,onSelect:HH,onCancel:V9}),p0==="theme"&&G$(xb,{onSelect:zH,onCancel:V9}),p0==="invite-share"&&V7&&G$(ab,{inviteToken:V7.inviteToken,inviteLabel:V7.inviteLabel,expiresAt:V7.expiresAt,onClose:()=>{H$("none"),_O?.()}}),p0==="join-invite"&&G$(nb,{error:ET,onSubmit:(C0)=>{H$("none"),PO?.(C0)},onCancel:()=>{H$("none"),qT?.()}}),p0==="memory"&&G$(Ib,{memories:B,mode:F,isLoading:D,onSelect:G9,onCancel:V9}),p0==="peers"&&G$(cb,{peers:qJ.length>0?qJ:qQ,sameHomeClientsAvailable:EQ.length>0,onSelect:(C0)=>{H$("none"),LT?.(C0)},onCancel:V9}),p0==="clients"&&G$(lb,{clients:EQ,onSelect:(C0)=>{H$("none"),k8(`/send ${C0.clientId} `),JH?.(C0)},onCancel:()=>{H$("none"),DJ?.()}}),p0==="pair-request"&&OJ&&G$(ib,{request:OJ,onAccept:()=>{H$("none"),_T?.()},onReject:()=>{H$("none"),PT?.()}}),p0==="session"&&G$(fb,{sessions:C,onSelect:(C0)=>{H$("none"),R?.(C0)},onCancel:V9,onSearch:(C0)=>x?.(C0),onPageChange:(C0)=>$0?.(C0)}),p0==="message-edit"&&W7&&G$(yb,{messages:W7,onSelect:(C0,_$)=>{H$("none"),_Q?.(C0,_$)},onCancel:V9}),p0==="none"&&!z0&&G$(cR,{userName:O,value:MQ,onChange:k8,onSubmit:l,onTrigger:H7,onExit:()=>CZ(),history:e,onSaveInput:X0,focus:p0==="none",isStreaming:G,onDoubleEscape:()=>{if(W7&&W7.length>0)return H$("message-edit"),!0;return!1}})]}),(!q||q.showStatusBar)&&G$(zR,{arion:{name:ST,emoji:bT,color:j1,traits:RZ?.personality?.traits?.slice(0,2)},model:Z,maxContextTokens:J,responseTime:K,metrics:A,displayMode:L,showCosts:_,activeArion:I,effortLevel:j0,autonomyLevel:Y0,meshMessageCount:jT})]})]})]})}var xr=E(()=>{ob();_r();iS();Mr();aS();Cr();sb();wr();cS();dR();d6();Sr();p6();Z8();yr()});import{jsx as ZI,jsxs as FD0}from"react/jsx-runtime";import{useMemo as BD0,useState as DD0}from"react";import{Box as OD0,useStdout as ND0}from"ink";function AD0($){let Z=xU[$.toLowerCase()];return{name:$,userFacingName(J){if(Z)return Z.displayName(J);return $},renderToolUseMessage(J,X){if(Z)return Z.renderInput(J,X);return JSON.stringify(J)},isReadOnly(){return!1},inputSchema:{parse(J){return J??{}}}}}function qD0($){switch($){case"low":return 0.2;case"moderate":return 0.5;case"high":return 0.9}}function gr($){let{stdout:Z}=ND0(),J=Z?.columns??80,[X]=DD0(!1),Y=BD0(()=>{if(!$.approvalRequest)return null;let{toolName:Q,input:G,riskLevel:V,resolve:W}=$.approvalRequest;return{assistantMessage:LD0,tool:AD0(Q),description:`${Q} requires approval`,input:G??{},commandPrefix:null,riskScore:qD0(V),onAbort(){W(!1)},onAllow(K){W(!0)},onReject(){W(!1)}}},[$.approvalRequest]);if(Y)return FD0(OD0,{flexDirection:"column",width:"100%",children:[ZI($I,{...$}),ZI(jb,{toolUseConfirm:Y,onDone:()=>{},verbose:X})]});return ZI($I,{...$})}var LD0;var mr=E(()=>{xr();dU();fq();fq();LD0={message:{id:"aria-approval"}}});import{execFile as ED0}from"node:child_process";import{existsSync as pr,readdirSync as dr}from"node:fs";import{dirname as _D0,join as HE,resolve as PD0}from"node:path";import{fileURLToPath as MD0}from"node:url";function TD0(){let $=jD0;for(let Z=0;Z<10;Z++){let J=HE($,".comms","sounds","wav");if(pr(J))return J;let X=PD0($,"..");if(X===$)break;$=X}return null}function G8($){if(!YF)return[];try{return dr(YF).filter((Z)=>new RegExp($).test(Z)).map((Z)=>HE(YF,Z))}catch{return[]}}function cr($){if(!YF)return[];let Z=HE(YF,"cloned");try{return dr(Z).filter((J)=>new RegExp($).test(J)).map((J)=>HE(Z,J))}catch{return[]}}function _3($){if($.length===0)return null;return $[Math.floor(Math.random()*$.length)]}function XI($){JI=$}function lr(){return JI}function P3($){if(!JI||!$||!pr($))return;ED0("afplay",[$],()=>{})}function wD0(){let $=Date.now();if($-ur>CD0)XF=1;else XF++;if(ur=$,XF<=1)P3(_3(M3.acknowledge()));else if(XF===2)P3(_3(M3.annoyed()));else if(XF===3)P3(_3(M3.grumpy()));else P3(_3(M3.dark()))}function ar(){P3(_3(M3.readyToWork()))}function nr(){P3(_3(M3.fleetDown()))}function ir(){wD0()}function or(){P3(_3(M3.questDone()))}function rr($){switch($.type){case"error":P3(_3(M3.error()));break;case"guardrail_rejected":P3(_3(M3.defeat()));break}}var jD0,YF,JI=!0,M3,ur=0,XF=0,CD0=15000;var sr=E(()=>{jD0=_D0(MD0(import.meta.url));YF=TD0();M3={acknowledge:()=>G8("^(peasant|orc|human|dwarf|elf|troll)_acknowledge"),annoyed:()=>G8("^(peasant|orc|goblin_sapper|human|troll|ogre)_selected"),grumpy:()=>G8("^(goblin_sapper|ogre|ogre_mage)_selected"),dark:()=>[...G8("^ogre_mage_selected"),...G8("^ogre_selected"),...G8("^troll_selected")],defeat:()=>cr("^defeat_"),error:()=>cr("^error_"),readyToWork:()=>[...G8("^peasant_selected"),...G8("^orc_selected"),...G8("^human_selected"),...G8("^dwarf_selected")],fleetUp:()=>[...G8("^orc_acknowledge"),...G8("^troll_acknowledge"),...G8("^ogre_acknowledge"),...G8("^human_acknowledge"),...G8("^knight_acknowledge")],fleetDown:()=>[...G8("^ogre_mage_acknowledge"),...G8("^ship_acknowledge"),...G8("^horde_ship_acknowledge")],questDone:()=>[...G8("^jobs_done"),...G8("^orc_work_completed"),...G8("^peasant_selected"),...G8("^orc_selected"),...G8("^human_selected"),...G8("^peasant_acknowledge"),...G8("^orc_acknowledge")]}});var YI;var tr=E(()=>{YI=[{name:"become",description:"Switch to another arion",usage:"/become <name>",args:["<name>"],requiresArgs:!0},{name:"arions",description:"List all arions",args:[]},{name:"hatch",description:"Create a new arion",usage:"/hatch <name> [description]",args:["<name>","[description]"],requiresArgs:!0},{name:"rest",description:"Put an arion to rest",usage:"/rest <name>",args:["<name>"],requiresArgs:!0},{name:"wake",description:"Wake a resting arion",usage:"/wake <name>",args:["<name>"],requiresArgs:!0},{name:"model",description:"Change or view current AI model",args:["[name]"]},{name:"autonomy",description:"Change permission approval policy",usage:"/autonomy [level]",args:["[level]"]},{name:"sound",description:"Toggle Warcraft sound notifications on/off",usage:"/sound [on|off]",args:["[on|off]"]},{name:"remember",description:"Store a memory",usage:"/remember <text>",args:["<text>"],requiresArgs:!0},{name:"recall",description:"Search memories",usage:"/recall <query>",args:["<query>"],requiresArgs:!0},{name:"recall_knowledge",description:"Search learned tools (skills, procedures, techniques)",usage:"/recall_knowledge <topic>",args:["<topic>"],requiresArgs:!0},{name:"send",description:"Send a peer or same-home client message through the runtime transport",usage:"/send <peer-name|node-id|client-id> <message>",args:["<peer-name|node-id|client-id>","<message>"],requiresArgs:!0},{name:"forget",description:"Delete a memory",usage:"/forget <id>",args:["<id>"],requiresArgs:!0},{name:"memories",description:"Browse all memories",args:[]},{name:"resume",description:"Resume a previous session",args:["[session-id]"]},{name:"fork",description:"Fork the current session into a new branch",usage:"/fork [session-id] [message-count] [--stay]",args:["[session-id]","[message-count]","[--stay]"]},{name:"clear",description:"Clear the screen",args:[]},{name:"login",description:"Authenticate with provider (bedrock, anthropic, openai, google, copilot)",usage:"/login [provider] [api-key|--profile <label>|--source <gh|device>]",args:["[provider]","[api-key|flags]"]},{name:"logout",description:"Disconnect a provider or clear all credentials",usage:"/logout [provider|all]",args:["[provider|all]"]},{name:"help",description:"Show available commands",args:[]},{name:"restart",description:"Restart ARIA",usage:"/restart [reason]",args:["[reason]"]},{name:"terminal-setup",description:"Install Shift+Enter newline key binding for supported terminals",usage:"/terminal-setup",args:[]},{name:"theme",description:"View or change the color theme",usage:"/theme [name]",args:["[name]"]},{name:"invite",description:"Create an internet invite token",usage:"/invite [label]",args:["[label]"]},{name:"join",description:"Accept an internet invite token",usage:"/join [token]",args:["[token]"]},{name:"peers",description:"Show nearby peers and connect",args:[]},{name:"clients",description:"Show same-home attached clients",args:[]},{name:"exit",description:"Exit ARIA",args:[]}]});var zE="1.0.36",er;var QI=E(()=>{er=["⚡ Search millions of lines instantly with native Rust-powered code search","\uD83E\uDDE0 Jump to definitions & find references with real LSP intelligence","✏️ Press Esc×2 to edit and fork any previous message in-place","\uD83D\uDD0A Get audio cues when tasks finish — try /sound to configure","\uD83C\uDFA8 All 87 tools now render rich, beautiful output in the terminal"]});function $s($){let Z=GI.indexOf($);return GI[(Z+1)%GI.length]}function Zs($,Z){let J=QF[$],X={};if(Z.showThinking!==J.showThinking)X.showThinking=Z.showThinking;if(Z.showCosts!==J.showCosts)X.showCosts=Z.showCosts;if(Z.showToolArgs!==J.showToolArgs)X.showToolArgs=Z.showToolArgs;if(Z.toolOutput!==J.toolOutput)X.toolOutput=Z.toolOutput;if(Z.showTraces!==J.showTraces)X.showTraces=Z.showTraces;if(Z.showPipelineTiming!==J.showPipelineTiming)X.showPipelineTiming=Z.showPipelineTiming;if(Z.showStatusBar!==J.showStatusBar)X.showStatusBar=Z.showStatusBar;return X}function Js($,Z){return{...QF[$],...Z??{}}}var QF,GI;var VI=E(()=>{QF={minimal:{showThinking:!1,showCosts:!1,showToolArgs:!1,toolOutput:"hidden",showTraces:!1,showPipelineTiming:!1,showStatusBar:!1},standard:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"standard",showTraces:!1,showPipelineTiming:!1,showStatusBar:!0},debug:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"expanded",showTraces:!0,showPipelineTiming:!0,showStatusBar:!0}},GI=["minimal","standard","debug"]});function SD0($){return typeof $!=="string"||$.trim().length>0}function bD0($){let{toolCalls:Z,...J}=$;return J}function ID0($,Z,J){for(let X=Z;X<$.length;X++){let Y=$[X];if(Y.role==="tool"&&Y.toolCallId===J)return!0}return!1}function rX($){let Z=[];for(let J=0;J<$.length;J++){let X=$[J];if(X.role==="assistant"&&X.toolCalls?.length){let Y=new Set(X.toolCalls.map((H)=>H.id)),Q=new Set,G=[],V=J+1;while(V<$.length&&$[V].role==="tool"){let H=$[V];if(H.toolCallId&&Y.has(H.toolCallId)&&!Q.has(H.toolCallId))Q.add(H.toolCallId),G.push(H);V++}let W=X.toolCalls.filter((H)=>{if(Q.has(H.id))return!0;return!ID0($,V,H.id)}),K=W.filter((H)=>!Q.has(H.id));if(W.length===X.toolCalls.length)Z.push(X);else if(W.length>0)Z.push({...X,toolCalls:W});else if(SD0(X.content))Z.push(bD0(X));Z.push(...G);for(let H of K)Z.push({role:"tool",content:`[Tool execution interrupted — no result for ${H.name}]`,toolCallId:H.id});J=V-1;continue}if(X.role==="tool")continue;Z.push(X)}return Z}class T5{textParts=[];thinkingBlocks=[];toolUseBlocks=[];handoffBlocks=[];toolResultMessages=[];seenToolIds=new Set;toolArgsAccumulator=new Map;thinkingInProgress=!1;pendingThinkingContent="";arion;verb;tokenUsage;snapshotMessages;previewAssistantId=`preview-${Date.now()}`;ingest($){switch($.type){case"text_delta":return this.textParts.push($.content),"continue";case"thinking_start":return this.thinkingInProgress=!0,this.pendingThinkingContent="","continue";case"thinking_delta":return this.pendingThinkingContent+=$.content,"continue";case"thinking_end":{this.thinkingInProgress=!1;let Z=Array.isArray($.blocks)&&$.blocks.length>0?$.blocks[0]:void 0,J=typeof Z?.thinking==="string"?Z.thinking:this.pendingThinkingContent,X=J.split(/\s+/).filter(Boolean).length,Y={type:"thinking",content:J,wordCount:X,durationMs:$.durationMs,verb:this.verb};return this.thinkingBlocks.push(Y),this.pendingThinkingContent="","continue"}case"tool_start":{if(this.seenToolIds.has($.id))return"continue";this.seenToolIds.add($.id);let Z={type:"tool_use",id:$.id,name:$.name,arguments:$.input??{}};return this.toolUseBlocks.push(Z),"continue"}case"tool_args_delta":{let J=(this.toolArgsAccumulator.get($.id)??"")+$.args;this.toolArgsAccumulator.set($.id,J);try{let X=JSON.parse(J),Y=this.toolUseBlocks.find((Q)=>Q.type==="tool_use"&&Q.id===$.id);if(Y)Y.arguments=X}catch{}return"continue"}case"tool_result":{if($.input){let Q=this.toolUseBlocks.find((G)=>G.type==="tool_use"&&G.id===$.id);if(Q){let G=typeof $.input==="object"&&!Array.isArray($.input)?$.input:{};if(Object.keys(Q.arguments).length===0)Q.arguments=G}}let Z=$.result,J="usage"in $&&$.usage&&typeof $.usage==="object"&&typeof $.usage.inputTokens==="number"&&typeof $.usage.outputTokens==="number"&&typeof $.usage.totalTokens==="number"&&typeof $.usage.estimatedCost==="number"?$.usage:void 0,X={type:"tool_result",toolUseId:$.id,content:typeof Z.message==="string"?Z.message:"",status:Z.success===!0?"success":"error",durationMs:$.durationMs,resultData:Z.data,usage:J},Y={id:crypto.randomUUID(),role:"tool",content:[X],arion:this.arion,createdAt:new Date().toISOString()};return this.toolResultMessages.push(Y),"continue"}case"handoff_start":{let Z={type:"handoff",target:$.target,direction:"to"};return this.handoffBlocks.push(Z),"continue"}case"handoff_result":{let Z={type:"handoff",target:$.target,direction:"from"};return this.handoffBlocks.push(Z),"continue"}case"turn_complete":return"flush";case"messages_snapshot":return this.snapshotMessages=$.messages,"continue";default:return"continue"}}flush(){let $=[];if(this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent.trim(),Y=X.length===0?0:X.split(/\s+/).length,Q={type:"thinking",content:this.pendingThinkingContent,wordCount:Y,verb:this.verb};this.thinkingBlocks.push(Q)}let Z=[];Z.push(...this.thinkingBlocks);let J=this.textParts.join("");if(J)Z.push({type:"text",text:J});if(Z.push(...this.toolUseBlocks),Z.push(...this.handoffBlocks),Z.length>0){let X={id:crypto.randomUUID(),role:"assistant",content:Z,arion:this.arion,tokenUsage:this.tokenUsage,createdAt:new Date().toISOString()};$.push(X)}if($.push(...this.toolResultMessages),this.toolResultMessages.length>0&&this.toolUseBlocks.length>0){let X=new Set(this.toolResultMessages.flatMap((Y)=>Y.content.filter((Q)=>Q.type==="tool_result").map((Q)=>Q.toolUseId)));for(let Y of this.toolUseBlocks){let Q=Y.id;if(Q&&!X.has(Q)){let G={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:Q,content:"Tool execution cancelled by user.",status:"error"}],arion:this.arion,createdAt:new Date().toISOString()};$.push(G)}}}return this.textParts=[],this.thinkingBlocks=[],this.toolUseBlocks=[],this.handoffBlocks=[],this.toolResultMessages=[],this.seenToolIds=new Set,this.toolArgsAccumulator=new Map,this.thinkingInProgress=!1,this.pendingThinkingContent="",this.tokenUsage=void 0,this.verb=void 0,this.previewAssistantId=`preview-${Date.now()}`,$}snapshot(){let $=[];if($.push(...this.thinkingBlocks.map((X)=>({...X}))),this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent,Y={type:"thinking",content:X,wordCount:X.split(/\s+/).filter(Boolean).length,verb:this.verb};$.push(Y)}let Z=this.textParts.join("");if(Z){let X=Z.lastIndexOf(`
547
+ `).length,1)},[fT,Z1]),RO=(CQ?4+zm:0)+(bZ?2:0),M9=Math.max(KH-RO,1),d0=j5(()=>{let C0=new Map,_$="";for(let J8 of u9){let z7=J8.kind==="user-message"||J8.kind==="user-image"?`user:${J8.userName}`:J8.kind==="assistant-text"?`assistant:${J8.arion?.name??"ARIA"}`:J8.kind==="thinking"?`assistant:${J8.arion?.name??"ARIA"}`:J8.kind==="tool-execution"?"tool":J8.kind,j9=J8.kind==="user-message"||J8.kind==="user-image"||J8.kind==="assistant-text"||J8.kind==="thinking";if(C0.set(J8.id,j9&&z7!==_$),j9)_$=z7}return C0},[u9]),wQ=j5(()=>{let C0=new Map;for(let _$=0;_$<u9.length;_$++){let J8=u9[_$],z7=_$>0?u9[_$-1]:void 0,j9=J8.kind==="tool-execution"&&z7?.kind==="tool-execution";C0.set(J8.id,_$>0&&!j9)}return C0},[u9]),SO=j5(()=>{let C0=[];if(X)C0.push({id:"header",_kind:"banner"});for(let _$ of _J)C0.push({..._$,_kind:"item"});return C0},[X,_J]);return oX(KD0,{children:[G$(HD0,{items:SO,children:(C0)=>{if(C0._kind==="banner")return G$(KZ,{width:"100%",justifyContent:"center",children:X},C0.id);return G$(KZ,{flexDirection:"column",marginTop:wQ.get(C0.id)?1:0,children:G$(vq,{item:C0,displayMode:L,showPrefix:d0.get(C0.id)??!1})},C0.id)}},`static-${J0}`),oX(KZ,{flexDirection:"column",width:"100%",children:[oX(KZ,{flexDirection:"column",maxHeight:KH,justifyContent:"flex-end",overflowY:"hidden",children:[PJ.length>0&&G$(KZ,{flexDirection:"column",maxHeight:M9,overflowY:"hidden",children:PJ.map((C0)=>G$(KZ,{flexDirection:"column",marginTop:wQ.get(C0.id)?1:0,children:G$(vq,{item:C0,displayMode:L,showPrefix:d0.get(C0.id)??!1,previewTailLines:M9})},C0.id))}),CQ&&oX(KZ,{marginTop:1,flexDirection:"column",children:[G$(cL,{param:{type:"text",text:Z1??""},userName:O??"User",columns:QH,showPrefix:!0,addMargin:!1}),G$(q3,{dimColor:!0,children:" ↑ queued — press esc or ↑ to cancel and edit"})]}),P&&T.length>0&&G$(tS,{spans:T}),q?.showPipelineTiming&&w&&w.phases.length>0&&G$(eS,{report:w}),VH&&oX(KZ,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,marginY:1,children:[G$(q3,{bold:!0,dimColor:!0,children:"Hotkeys"}),G$(q3,{dimColor:!0,children:" Ctrl+\\ — cycle display mode"}),G$(q3,{dimColor:!0,children:" Ctrl+t — toggle thinking blocks"}),G$(q3,{dimColor:!0,children:" Ctrl+g — toggle cost display"}),G$(q3,{dimColor:!0,children:" Ctrl+e — cycle effort level"}),G$(q3,{dimColor:!0,children:" Ctrl+s — toggle trace waterfall"}),G$(q3,{dimColor:!0,children:" Escape — cancel streaming / close overlay / clear input"}),G$(q3,{dimColor:!0,children:" Ctrl+/ — toggle this help"})]}),bZ&&G$(Zb,{state:SZ.kind==="thinking"?"thinking":"composing",elapsedSeconds:Math.floor(A?.wallTimeSeconds??0),totalTokens:A?.totalTokens??0,thoughtForSeconds:SZ.kind==="composing"?SZ.thoughtForSeconds:void 0,currentVerb:SZ.kind==="tool_running"?[...new Set(SZ.tools.values())].join(" · "):SZ.verb.present})]}),oX(KZ,{flexDirection:"column",flexShrink:0,children:[T0&&V0&&D0&&G$(rS,{currentLevel:Y0??E3.autonomy,onSelect:V0,onCancel:D0}),K0&&O0&&N0&&G$(Er,{providers:K0,onSelect:O0,onCancel:N0}),E0&&M0&&S0&&G$(nS,{options:E0,onSelect:M0,onCancel:S0}),p0==="login-method"&&BJ&&AQ&&AO&&G$(XW,{options:BJ,onSelect:(C0)=>AQ(C0.id),onCancel:AO,title:AT??"Choose an option:",isActive:p0==="login-method"}),p0==="login-method"&&$H&&HQ&&KO&&G$(Tr,{options:$H,onSelect:HQ,onCancel:KO,isActive:p0==="login-method"}),p0==="login-input"&&G7&&LO&&LQ&&G$(QW,{title:G7.title,hint:G7.hint,onSubmit:LO,onCancel:LQ,isActive:p0==="login-input"}),p0==="login-input"&&zQ&&HO&&UQ&&G$(QW,{title:"Enter Anthropic API key",hint:"Paste your sk-ant-api03-* key",onSubmit:HO,onCancel:UQ,isActive:p0==="login-input"}),p0==="login-input"&&zO&&FQ&&ZH&&G$(QW,{title:"Enter setup token",hint:"From `claude setup-token` or admin provisioning",onSubmit:FQ,onCancel:ZH,isActive:p0==="login-input"}),p0==="login-method"&&UJ&&UO&&BQ&&G$(XW,{options:UJ,onSelect:UO,onCancel:BQ,title:"Select OpenAI login method:",isActive:p0==="login-method"}),p0==="login-input"&&FO&&DQ&&BO&&G$(QW,{title:"Enter OpenAI API key",hint:"Paste your sk-* key",onSubmit:DQ,onCancel:BO,isActive:p0==="login-input"}),p0==="login-method"&&FJ&&DO&&OQ&&G$(XW,{options:FJ,onSelect:DO,onCancel:OQ,title:"Select Google login method:",isActive:p0==="login-method"}),p0==="login-input"&&OO&&NQ&&NO&&G$(QW,{title:"Enter Google API key",hint:"Paste your AIza* key",onSubmit:NQ,onCancel:NO,isActive:p0==="login-input"}),p0==="login"&&v0&&V$&&U$&&G$(Pr,{provider:v0,onCancel:U$,...q0&&M$?{authorizeUrl:q0,expectedState:y0??void 0,onCodeSubmit:M$}:{onComplete:V$},isActive:p0==="login"}),p0==="login"&&i0&&_8&&KQ&&G$(lS,{provider:i0,profileLabel:Q9??void 0,...g$&&L$&&C6?{verificationUri:g$,userCode:L$,onApprove:C6}:{onComplete:_8},onCancel:KQ}),oX(KZ,{flexDirection:"column",children:[p0==="command"&&G$(Cb,{commands:H,initialFilter:K7,onSelect:kT,onHandOffInput:w2,onCancel:V9}),p0==="arion"&&G$(wb,{arions:z,initialFilter:TQ,statusFilter:TT,onSelect:wO,onCancel:V9}),p0==="model"&&G$(Sb,{models:U,effortLevel:j0,onSelect:HH,onCancel:V9}),p0==="theme"&&G$(xb,{onSelect:zH,onCancel:V9}),p0==="invite-share"&&V7&&G$(ab,{inviteToken:V7.inviteToken,inviteLabel:V7.inviteLabel,expiresAt:V7.expiresAt,onClose:()=>{H$("none"),_O?.()}}),p0==="join-invite"&&G$(nb,{error:ET,onSubmit:(C0)=>{H$("none"),PO?.(C0)},onCancel:()=>{H$("none"),qT?.()}}),p0==="memory"&&G$(Ib,{memories:B,mode:F,isLoading:D,onSelect:G9,onCancel:V9}),p0==="peers"&&G$(cb,{peers:qJ.length>0?qJ:qQ,sameHomeClientsAvailable:EQ.length>0,onSelect:(C0)=>{H$("none"),LT?.(C0)},onCancel:V9}),p0==="clients"&&G$(lb,{clients:EQ,onSelect:(C0)=>{H$("none"),k8(`/send ${C0.clientId} `),JH?.(C0)},onCancel:()=>{H$("none"),DJ?.()}}),p0==="pair-request"&&OJ&&G$(ib,{request:OJ,onAccept:()=>{H$("none"),_T?.()},onReject:()=>{H$("none"),PT?.()}}),p0==="session"&&G$(fb,{sessions:C,onSelect:(C0)=>{H$("none"),R?.(C0)},onCancel:V9,onSearch:(C0)=>x?.(C0),onPageChange:(C0)=>$0?.(C0)}),p0==="message-edit"&&W7&&G$(yb,{messages:W7,onSelect:(C0,_$)=>{H$("none"),_Q?.(C0,_$)},onCancel:V9}),p0==="none"&&!z0&&G$(cR,{userName:O,value:MQ,onChange:k8,onSubmit:l,onTrigger:H7,onExit:()=>CZ(),history:e,onSaveInput:X0,focus:p0==="none",isStreaming:G,onDoubleEscape:()=>{if(W7&&W7.length>0)return H$("message-edit"),!0;return!1}})]}),(!q||q.showStatusBar)&&G$(zR,{arion:{name:ST,emoji:bT,color:j1,traits:RZ?.personality?.traits?.slice(0,2)},model:Z,maxContextTokens:J,responseTime:K,metrics:A,displayMode:L,showCosts:_,activeArion:I,effortLevel:j0,autonomyLevel:Y0,meshMessageCount:jT})]})]})]})}var xr=E(()=>{ob();_r();iS();Mr();aS();Cr();sb();wr();cS();dR();d6();Sr();p6();Z8();yr()});import{jsx as ZI,jsxs as FD0}from"react/jsx-runtime";import{useMemo as BD0,useState as DD0}from"react";import{Box as OD0,useStdout as ND0}from"ink";function AD0($){let Z=xU[$.toLowerCase()];return{name:$,userFacingName(J){if(Z)return Z.displayName(J);return $},renderToolUseMessage(J,X){if(Z)return Z.renderInput(J,X);return JSON.stringify(J)},isReadOnly(){return!1},inputSchema:{parse(J){return J??{}}}}}function qD0($){switch($){case"low":return 0.2;case"moderate":return 0.5;case"high":return 0.9}}function gr($){let{stdout:Z}=ND0(),J=Z?.columns??80,[X]=DD0(!1),Y=BD0(()=>{if(!$.approvalRequest)return null;let{toolName:Q,input:G,riskLevel:V,resolve:W}=$.approvalRequest;return{assistantMessage:LD0,tool:AD0(Q),description:`${Q} requires approval`,input:G??{},commandPrefix:null,riskScore:qD0(V),onAbort(){W(!1)},onAllow(K){W(!0)},onReject(){W(!1)}}},[$.approvalRequest]);if(Y)return FD0(OD0,{flexDirection:"column",width:"100%",children:[ZI($I,{...$}),ZI(jb,{toolUseConfirm:Y,onDone:()=>{},verbose:X})]});return ZI($I,{...$})}var LD0;var mr=E(()=>{xr();dU();fq();fq();LD0={message:{id:"aria-approval"}}});import{execFile as ED0}from"node:child_process";import{existsSync as pr,readdirSync as dr}from"node:fs";import{dirname as _D0,join as HE,resolve as PD0}from"node:path";import{fileURLToPath as MD0}from"node:url";function TD0(){let $=jD0;for(let Z=0;Z<10;Z++){let J=HE($,".comms","sounds","wav");if(pr(J))return J;let X=PD0($,"..");if(X===$)break;$=X}return null}function G8($){if(!YF)return[];try{return dr(YF).filter((Z)=>new RegExp($).test(Z)).map((Z)=>HE(YF,Z))}catch{return[]}}function cr($){if(!YF)return[];let Z=HE(YF,"cloned");try{return dr(Z).filter((J)=>new RegExp($).test(J)).map((J)=>HE(Z,J))}catch{return[]}}function _3($){if($.length===0)return null;return $[Math.floor(Math.random()*$.length)]}function XI($){JI=$}function lr(){return JI}function P3($){if(!JI||!$||!pr($))return;ED0("afplay",[$],()=>{})}function wD0(){let $=Date.now();if($-ur>CD0)XF=1;else XF++;if(ur=$,XF<=1)P3(_3(M3.acknowledge()));else if(XF===2)P3(_3(M3.annoyed()));else if(XF===3)P3(_3(M3.grumpy()));else P3(_3(M3.dark()))}function ar(){P3(_3(M3.readyToWork()))}function nr(){P3(_3(M3.fleetDown()))}function ir(){wD0()}function or(){P3(_3(M3.questDone()))}function rr($){switch($.type){case"error":P3(_3(M3.error()));break;case"guardrail_rejected":P3(_3(M3.defeat()));break}}var jD0,YF,JI=!0,M3,ur=0,XF=0,CD0=15000;var sr=E(()=>{jD0=_D0(MD0(import.meta.url));YF=TD0();M3={acknowledge:()=>G8("^(peasant|orc|human|dwarf|elf|troll)_acknowledge"),annoyed:()=>G8("^(peasant|orc|goblin_sapper|human|troll|ogre)_selected"),grumpy:()=>G8("^(goblin_sapper|ogre|ogre_mage)_selected"),dark:()=>[...G8("^ogre_mage_selected"),...G8("^ogre_selected"),...G8("^troll_selected")],defeat:()=>cr("^defeat_"),error:()=>cr("^error_"),readyToWork:()=>[...G8("^peasant_selected"),...G8("^orc_selected"),...G8("^human_selected"),...G8("^dwarf_selected")],fleetUp:()=>[...G8("^orc_acknowledge"),...G8("^troll_acknowledge"),...G8("^ogre_acknowledge"),...G8("^human_acknowledge"),...G8("^knight_acknowledge")],fleetDown:()=>[...G8("^ogre_mage_acknowledge"),...G8("^ship_acknowledge"),...G8("^horde_ship_acknowledge")],questDone:()=>[...G8("^jobs_done"),...G8("^orc_work_completed"),...G8("^peasant_selected"),...G8("^orc_selected"),...G8("^human_selected"),...G8("^peasant_acknowledge"),...G8("^orc_acknowledge")]}});var YI;var tr=E(()=>{YI=[{name:"become",description:"Switch to another arion",usage:"/become <name>",args:["<name>"],requiresArgs:!0},{name:"arions",description:"List all arions",args:[]},{name:"hatch",description:"Create a new arion",usage:"/hatch <name> [description]",args:["<name>","[description]"],requiresArgs:!0},{name:"rest",description:"Put an arion to rest",usage:"/rest <name>",args:["<name>"],requiresArgs:!0},{name:"wake",description:"Wake a resting arion",usage:"/wake <name>",args:["<name>"],requiresArgs:!0},{name:"model",description:"Change or view current AI model",args:["[name]"]},{name:"autonomy",description:"Change permission approval policy",usage:"/autonomy [level]",args:["[level]"]},{name:"sound",description:"Toggle Warcraft sound notifications on/off",usage:"/sound [on|off]",args:["[on|off]"]},{name:"remember",description:"Store a memory",usage:"/remember <text>",args:["<text>"],requiresArgs:!0},{name:"recall",description:"Search memories",usage:"/recall <query>",args:["<query>"],requiresArgs:!0},{name:"recall_knowledge",description:"Search learned tools (skills, procedures, techniques)",usage:"/recall_knowledge <topic>",args:["<topic>"],requiresArgs:!0},{name:"send",description:"Send a peer or same-home client message through the runtime transport",usage:"/send <peer-name|node-id|client-id> <message>",args:["<peer-name|node-id|client-id>","<message>"],requiresArgs:!0},{name:"forget",description:"Delete a memory",usage:"/forget <id>",args:["<id>"],requiresArgs:!0},{name:"memories",description:"Browse all memories",args:[]},{name:"resume",description:"Resume a previous session",args:["[session-id]"]},{name:"fork",description:"Fork the current session into a new branch",usage:"/fork [session-id] [message-count] [--stay]",args:["[session-id]","[message-count]","[--stay]"]},{name:"clear",description:"Clear the screen",args:[]},{name:"login",description:"Authenticate with provider (bedrock, anthropic, openai, google, copilot)",usage:"/login [provider] [api-key|--profile <label>|--source <gh|device>]",args:["[provider]","[api-key|flags]"]},{name:"logout",description:"Disconnect a provider or clear all credentials",usage:"/logout [provider|all]",args:["[provider|all]"]},{name:"help",description:"Show available commands",args:[]},{name:"restart",description:"Restart ARIA",usage:"/restart [reason]",args:["[reason]"]},{name:"terminal-setup",description:"Install Shift+Enter newline key binding for supported terminals",usage:"/terminal-setup",args:[]},{name:"theme",description:"View or change the color theme",usage:"/theme [name]",args:["[name]"]},{name:"invite",description:"Create an internet invite token",usage:"/invite [label]",args:["[label]"]},{name:"join",description:"Accept an internet invite token",usage:"/join [token]",args:["[token]"]},{name:"peers",description:"Show nearby peers and connect",args:[]},{name:"clients",description:"Show same-home attached clients",args:[]},{name:"exit",description:"Exit ARIA",args:[]}]});var zE="1.0.38",er;var QI=E(()=>{er=["⚡ Search millions of lines instantly with native Rust-powered code search","\uD83E\uDDE0 Jump to definitions & find references with real LSP intelligence","✏️ Press Esc×2 to edit and fork any previous message in-place","\uD83D\uDD0A Get audio cues when tasks finish — try /sound to configure","\uD83C\uDFA8 All 87 tools now render rich, beautiful output in the terminal"]});function $s($){let Z=GI.indexOf($);return GI[(Z+1)%GI.length]}function Zs($,Z){let J=QF[$],X={};if(Z.showThinking!==J.showThinking)X.showThinking=Z.showThinking;if(Z.showCosts!==J.showCosts)X.showCosts=Z.showCosts;if(Z.showToolArgs!==J.showToolArgs)X.showToolArgs=Z.showToolArgs;if(Z.toolOutput!==J.toolOutput)X.toolOutput=Z.toolOutput;if(Z.showTraces!==J.showTraces)X.showTraces=Z.showTraces;if(Z.showPipelineTiming!==J.showPipelineTiming)X.showPipelineTiming=Z.showPipelineTiming;if(Z.showStatusBar!==J.showStatusBar)X.showStatusBar=Z.showStatusBar;return X}function Js($,Z){return{...QF[$],...Z??{}}}var QF,GI;var VI=E(()=>{QF={minimal:{showThinking:!1,showCosts:!1,showToolArgs:!1,toolOutput:"hidden",showTraces:!1,showPipelineTiming:!1,showStatusBar:!1},standard:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"standard",showTraces:!1,showPipelineTiming:!1,showStatusBar:!0},debug:{showThinking:!0,showCosts:!0,showToolArgs:!0,toolOutput:"expanded",showTraces:!0,showPipelineTiming:!0,showStatusBar:!0}},GI=["minimal","standard","debug"]});function SD0($){return typeof $!=="string"||$.trim().length>0}function bD0($){let{toolCalls:Z,...J}=$;return J}function ID0($,Z,J){for(let X=Z;X<$.length;X++){let Y=$[X];if(Y.role==="tool"&&Y.toolCallId===J)return!0}return!1}function rX($){let Z=[];for(let J=0;J<$.length;J++){let X=$[J];if(X.role==="assistant"&&X.toolCalls?.length){let Y=new Set(X.toolCalls.map((H)=>H.id)),Q=new Set,G=[],V=J+1;while(V<$.length&&$[V].role==="tool"){let H=$[V];if(H.toolCallId&&Y.has(H.toolCallId)&&!Q.has(H.toolCallId))Q.add(H.toolCallId),G.push(H);V++}let W=X.toolCalls.filter((H)=>{if(Q.has(H.id))return!0;return!ID0($,V,H.id)}),K=W.filter((H)=>!Q.has(H.id));if(W.length===X.toolCalls.length)Z.push(X);else if(W.length>0)Z.push({...X,toolCalls:W});else if(SD0(X.content))Z.push(bD0(X));Z.push(...G);for(let H of K)Z.push({role:"tool",content:`[Tool execution interrupted — no result for ${H.name}]`,toolCallId:H.id});J=V-1;continue}if(X.role==="tool")continue;Z.push(X)}return Z}class T5{textParts=[];thinkingBlocks=[];toolUseBlocks=[];handoffBlocks=[];toolResultMessages=[];seenToolIds=new Set;toolArgsAccumulator=new Map;thinkingInProgress=!1;pendingThinkingContent="";arion;verb;tokenUsage;snapshotMessages;previewAssistantId=`preview-${Date.now()}`;ingest($){switch($.type){case"text_delta":return this.textParts.push($.content),"continue";case"thinking_start":return this.thinkingInProgress=!0,this.pendingThinkingContent="","continue";case"thinking_delta":return this.pendingThinkingContent+=$.content,"continue";case"thinking_end":{this.thinkingInProgress=!1;let Z=Array.isArray($.blocks)&&$.blocks.length>0?$.blocks[0]:void 0,J=typeof Z?.thinking==="string"?Z.thinking:this.pendingThinkingContent,X=J.split(/\s+/).filter(Boolean).length,Y={type:"thinking",content:J,wordCount:X,durationMs:$.durationMs,verb:this.verb};return this.thinkingBlocks.push(Y),this.pendingThinkingContent="","continue"}case"tool_start":{if(this.seenToolIds.has($.id))return"continue";this.seenToolIds.add($.id);let Z={type:"tool_use",id:$.id,name:$.name,arguments:$.input??{}};return this.toolUseBlocks.push(Z),"continue"}case"tool_args_delta":{let J=(this.toolArgsAccumulator.get($.id)??"")+$.args;this.toolArgsAccumulator.set($.id,J);try{let X=JSON.parse(J),Y=this.toolUseBlocks.find((Q)=>Q.type==="tool_use"&&Q.id===$.id);if(Y)Y.arguments=X}catch{}return"continue"}case"tool_result":{if($.input){let Q=this.toolUseBlocks.find((G)=>G.type==="tool_use"&&G.id===$.id);if(Q){let G=typeof $.input==="object"&&!Array.isArray($.input)?$.input:{};if(Object.keys(Q.arguments).length===0)Q.arguments=G}}let Z=$.result,J="usage"in $&&$.usage&&typeof $.usage==="object"&&typeof $.usage.inputTokens==="number"&&typeof $.usage.outputTokens==="number"&&typeof $.usage.totalTokens==="number"&&typeof $.usage.estimatedCost==="number"?$.usage:void 0,X={type:"tool_result",toolUseId:$.id,content:typeof Z.message==="string"?Z.message:"",status:Z.success===!0?"success":"error",durationMs:$.durationMs,resultData:Z.data,usage:J},Y={id:crypto.randomUUID(),role:"tool",content:[X],arion:this.arion,createdAt:new Date().toISOString()};return this.toolResultMessages.push(Y),"continue"}case"handoff_start":{let Z={type:"handoff",target:$.target,direction:"to"};return this.handoffBlocks.push(Z),"continue"}case"handoff_result":{let Z={type:"handoff",target:$.target,direction:"from"};return this.handoffBlocks.push(Z),"continue"}case"turn_complete":return"flush";case"messages_snapshot":return this.snapshotMessages=$.messages,"continue";default:return"continue"}}flush(){let $=[];if(this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent.trim(),Y=X.length===0?0:X.split(/\s+/).length,Q={type:"thinking",content:this.pendingThinkingContent,wordCount:Y,verb:this.verb};this.thinkingBlocks.push(Q)}let Z=[];Z.push(...this.thinkingBlocks);let J=this.textParts.join("");if(J)Z.push({type:"text",text:J});if(Z.push(...this.toolUseBlocks),Z.push(...this.handoffBlocks),Z.length>0){let X={id:crypto.randomUUID(),role:"assistant",content:Z,arion:this.arion,tokenUsage:this.tokenUsage,createdAt:new Date().toISOString()};$.push(X)}if($.push(...this.toolResultMessages),this.toolResultMessages.length>0&&this.toolUseBlocks.length>0){let X=new Set(this.toolResultMessages.flatMap((Y)=>Y.content.filter((Q)=>Q.type==="tool_result").map((Q)=>Q.toolUseId)));for(let Y of this.toolUseBlocks){let Q=Y.id;if(Q&&!X.has(Q)){let G={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:Q,content:"Tool execution cancelled by user.",status:"error"}],arion:this.arion,createdAt:new Date().toISOString()};$.push(G)}}}return this.textParts=[],this.thinkingBlocks=[],this.toolUseBlocks=[],this.handoffBlocks=[],this.toolResultMessages=[],this.seenToolIds=new Set,this.toolArgsAccumulator=new Map,this.thinkingInProgress=!1,this.pendingThinkingContent="",this.tokenUsage=void 0,this.verb=void 0,this.previewAssistantId=`preview-${Date.now()}`,$}snapshot(){let $=[];if($.push(...this.thinkingBlocks.map((X)=>({...X}))),this.thinkingInProgress&&this.pendingThinkingContent){let X=this.pendingThinkingContent,Y={type:"thinking",content:X,wordCount:X.split(/\s+/).filter(Boolean).length,verb:this.verb};$.push(Y)}let Z=this.textParts.join("");if(Z){let X=Z.lastIndexOf(`
548
548
  `);if(X>=0)$.push({type:"text",text:Z.slice(0,X+1)})}for(let X of this.toolUseBlocks){let Y={...X};if(Y.type==="tool_use"&&Object.keys(Y.arguments).length===0){let Q=this.toolArgsAccumulator.get(Y.id);if(Q){let G=T5.tryParsePartialArgs(Q);if(G)Y.arguments=G}}$.push(Y)}$.push(...this.handoffBlocks.map((X)=>({...X})));let J=[];if($.length>0)J.push({id:this.previewAssistantId,role:"assistant",content:$,arion:this.arion,createdAt:new Date().toISOString()});return J.push(...this.toolResultMessages.map((X)=>({...X,content:[...X.content]}))),J}getSnapshotMessages(){return this.snapshotMessages}hasPendingContent(){return this.textParts.length>0||this.thinkingBlocks.length>0||this.toolUseBlocks.length>0||this.handoffBlocks.length>0||this.toolResultMessages.length>0||this.thinkingInProgress}setArion($){this.arion=$}setVerb($){this.verb=$}setTokenUsage($){if(this.tokenUsage)this.tokenUsage={input:this.tokenUsage.input+$.input,output:this.tokenUsage.output+$.output};else this.tokenUsage={...$}}static tryParsePartialArgs($){let Z=$.trim();if(!Z.startsWith("{")||Z.length<4)return;try{return JSON.parse(Z)}catch{}try{let J=JSON.parse(Z+"}");if(Object.keys(J).length>0)return J}catch{}try{let J=JSON.parse(Z+'"}');if(Object.keys(J).length>0)return J}catch{}for(let J=Z.length-1;J>0;J--)if(Z[J]===",")try{let X=JSON.parse(Z.slice(0,J)+"}");if(Object.keys(X).length>0)return X}catch{}return}}import{readFileSync as kD0,existsSync as WI}from"node:fs";function KI($){if(!WI($))return[];let J=kD0($,"utf-8").split(`
549
549
  `).filter((Q)=>Q.trim().length>0),X=new T5,Y=[];for(let Q of J){let G;try{G=JSON.parse(Q)}catch{continue}if(!G.event||typeof G.event.type!=="string")continue;if(G.event.type==="user_message"){if(X.hasPendingContent())Y.push(...X.flush());let W=G.event.content??"",K=G.event.id,H=IG(W);if(K)H.id=K;Y.push(H);continue}if(X.ingest(G.event)==="flush"){let W=X.flush();Y.push(...W)}}if(X.hasPendingContent()){let Q=X.flush();Y.push(...Q)}return Y}function Xs($){for(let J of $.content){if(J.type==="tool_use"&&J.id)return`tool_use:${J.id}`;if(J.type==="tool_result"&&J.toolUseId)return`tool_result:${J.toolUseId}`}let Z=$.content.filter((J)=>J.type==="text").map((J)=>J.text).join("");return`${$.role}:${Z}`}function UE($,Z){if(!Z)return{messages:$,backfillMessages:[]};let J;try{J=KI(Z)}catch{return{messages:$,backfillMessages:[]}}if(J.length===0)return{messages:$,backfillMessages:[]};if($.length>=J.length)return{messages:$,backfillMessages:[]};let X=new Set($.map(Xs)),Y=[];for(let G of J){let V=Xs(G);if(!X.has(V))Y.push(G)}return{messages:[...$,...Y],backfillMessages:Y}}function FE($,Z,J){let X=`${$}/arions/${Z}/logs/${J}.jsonl`;if(WI(X))return X;let Y=`${$}/logs/${J}.jsonl`;if(WI(Y))return Y;return null}var Ys=E(()=>{wz()});var HI={};F$(HI,{toModelMessages:()=>vA,replaySessionFromJsonl:()=>KI,repairToolCallPairing:()=>rX,mergeWithJsonlRecovery:()=>UE,fromV1Columns:()=>fG,fromModelMessages:()=>kG,findJsonlForSession:()=>FE,extractToolCalls:()=>yG,extractToolCallId:()=>xG,extractThinking:()=>hG,extractTextContent:()=>vG,createUserMessage:()=>IG,createSystemMessage:()=>n0,createIncomingMessagePair:()=>fA,createErrorMessage:()=>Y$,conversationMessageToHistoryMessages:()=>ic,TurnAccumulator:()=>T5,SessionHistory:()=>sZ,ConversationMessageSchema:()=>kA,ContentBlockSchema:()=>lc,ArionRefSchema:()=>nc});var GW=E(()=>{bC();wz();Ys()});function FI($){cO($)}function fD0($){if(!$||typeof $!=="object")return!1;let Z=$;return Z.code==="EPIPE"||Z.code==="EIO"||Z.code==="ERR_STREAM_DESTROYED"}function zI($){try{process.stderr.write($)}catch(Z){if(fD0(Z))return;throw Z}}function GF($){let Z=$?.trim()||null;if(Qs=Z,Z)process.env[$6]=Z;else delete process.env[$6]}function BE(){return Qs}function BI($){UI=$||"ARIA",process.env[IQ]=UI}function vD0(){return UI}function yD0(){return process.env[uT]==="true"}async function Gs($,Z){if(!yD0())throw Error("Restart requires RelaunchSupervisor; detached self-spawn has been removed.");let J=$||"Restart requested";if(Z!==void 0)GF(Z);let X=BE(),Y=vD0();zI(`[aria] Relaunch requested: ${J} (session=${X?.slice(0,8)??"none"}, arion=${Y})
550
550
  `);let Q=process.ppid||process.pid;FI({sessionId:X,arionName:Y,pid:Q,timestamp:new Date().toISOString()});try{let G=process.send;if(typeof G==="function"){let V=`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;if(await new Promise((K)=>{let H=!1,z=setTimeout(()=>{if(H)return;H=!0,process.off("message",U),K(!1)},120),U=(B)=>{if(!B||typeof B!=="object")return;let F=B;if(F.type!=="aria-relaunch-ack")return;if(F.nonce!==V)return;if(H)return;H=!0,clearTimeout(z),process.off("message",U),K(!0)};process.on("message",U),G({type:"aria-relaunch",nonce:V,resumeSessionId:X,arionName:Y},(B)=>{if(B&&!H)H=!0,clearTimeout(z),process.off("message",U),K(!1)})}))zI(`[aria] IPC handoff acknowledged by supervisor
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aria-cli/cli",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "description": "ARIA - Adaptive Reasoning Intelligence Agent",
5
5
  "type": "module",
6
6
  "bin": {
@@ -52,9 +52,9 @@
52
52
  "zod": "^4.3.6"
53
53
  },
54
54
  "optionalDependencies": {
55
- "@aria-cli/fastripgrep": "1.0.36",
56
- "@aria-cli/wireguard": "1.0.36",
57
- "@aria-cli/search": "1.0.36"
55
+ "@aria-cli/fastripgrep": "1.0.38",
56
+ "@aria-cli/wireguard": "1.0.38",
57
+ "@aria-cli/search": "1.0.38"
58
58
  },
59
59
  "license": "MIT"
60
60
  }