@aria-cli/cli 1.0.15 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1,503 @@
1
- import{a as e,b as a,h as o}from"./index-718zvjhe.js";import"./index-y2vy5jks.js";import"./index-j035n0mr.js";import{m as r}from"./index-92syx5hd.js";import"./index-00jaxgt2.js";import"./index-wbm34jf5.js";import{W as t}from"./index-76vaj0sr.js";import"./index-5v7br509.js";import"./index-xjwfqz7t.js";import"./index-sxga6d5s.js";import"./index-g5devafm.js";import"./index-sx36201d.js";import"./index-nnqfqvqh.js";import"./index-9j6r3gr8.js";export{r as startRepl,r as startInkRepl,o as program,a as createAuthCommand,e as createArionsCommand,t as SessionHistory};
1
+ import{createRequire as yN}from"node:module";var RN=Object.defineProperty;var fN=($)=>$;function BN($,J){this[$]=fN.bind(null,J)}var Z$=($,J)=>{for(var K in J)RN($,K,{get:J[K],enumerable:!0,configurable:!0,set:BN.bind(J,K)})};var $0=($,J)=>()=>($&&(J=$($=0)),J);var A1=yN(import.meta.url);var PQ={};Z$(PQ,{saveConfig:()=>T0,loadConfig:()=>_0,loadAndMigrateConfig:()=>FQ,getConfigPath:()=>CK,getAriaDir:()=>L1});import*as H$ from"fs";import*as NQ from"os";import{getModelById as MN,getModelByShortName as wN,isValidTier as qQ}from"@aria-cli/models";import{log as r2}from"@aria-cli/types";function L1(){if(process.env.ARIA_HOME)return process.env.ARIA_HOME;return`${process.env.HOME||NQ.homedir()}/.aria`}function CK(){return`${L1()}/config.json`}function FQ(){try{let $=CK();if(H$.existsSync($)){let J=JSON.parse(H$.readFileSync($,"utf-8"));try{if(J.defaultModel&&!J.preferredTier){let Z=MN(J.defaultModel)||wN(J.defaultModel);if(!Z)r2.warn(`Unknown model "${J.defaultModel}" migrated to balanced tier (Sonnet 4.5)`);let H=Z?.tier||"balanced";J.preferredTier=qQ(H)?H:"balanced",delete J.defaultModel,T0(J)}if(J.preferredTier!==void 0&&!qQ(J.preferredTier))r2.warn(`Invalid tier "${J.preferredTier}" corrected to balanced tier`),J.preferredTier="balanced",T0(J);let K=!1;if(!J.awsRegion&&process.env.AWS_REGION)J.awsRegion=process.env.AWS_REGION,K=!0;if(!J.awsProfile&&process.env.AWS_PROFILE)J.awsProfile=process.env.AWS_PROFILE,K=!0;if(K)T0(J)}catch(K){r2.warn("Config migration failed, using config as-is:",K instanceof Error?K.message:K)}return J}}catch($){r2.warn("[Config] Failed to load config file:",$)}return{}}function T0($){let J=L1();if(!H$.existsSync(J))H$.mkdirSync(J,{recursive:!0});H$.writeFileSync(CK(),JSON.stringify($,null,2),"utf-8")}var _0;var c1=$0(()=>{_0=FQ});function R1($){r8.__aria_stall_phase=$,r8.__aria_stall_phase_ts=performance.now()}function $1(){r8.__aria_stall_phase=void 0,r8.__aria_stall_phase_ts=void 0}function UQ(){let{__aria_stall_phase:$,__aria_stall_phase_ts:J}=r8;if(!$||typeof J!=="number")return;return{label:$,ageMs:performance.now()-J}}function OQ($){let J=$.thresholdMs??2000,K=performance.now(),Z=process.cpuUsage(),H=setInterval(()=>{let X=performance.now(),Q=X-K,G=process.cpuUsage(Z);if(K=X,Z=process.cpuUsage(),Q>J)if((G.user+G.system)/1000/Q<0.05)$.onSleep?.(Q);else $.onStall(Q)},500);if(typeof H==="object"&&H!==null&&"unref"in H)H.unref();return()=>clearInterval(H)}var IK=2000,r8;var a2=$0(()=>{r8=globalThis});import{z as i}from"zod";import{log as AQ}from"@aria-cli/types";function a8($){return{id:crypto.randomUUID(),role:"user",content:[{type:"text",text:$}],createdAt:new Date().toISOString()}}function a($){return{id:crypto.randomUUID(),role:"system",content:[{type:"text",text:$}],createdAt:new Date().toISOString()}}function i2($,J,K,Z){let H=`synthetic_inbox_${crypto.randomUUID().slice(0,8)}`,X=new Date().toISOString(),Q={id:crypto.randomUUID(),role:"assistant",content:[{type:"tool_use",id:H,name:"check_messages",arguments:{unreadOnly:!0}}],createdAt:X},G={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:H,content:JSON.stringify({messages:[{id:Z||crypto.randomUUID(),from:$,address:J,content:K,type:"incoming"}]}),status:"success"}],createdAt:X};return[Q,G]}function J0($,J){return{id:crypto.randomUUID(),role:"system",content:[{type:"error",content:$,...J?{suggestion:J}:{}}],createdAt:new Date().toISOString()}}function o2($){let J=[];for(let K of $)switch(K.role){case"assistant":{let Z=[],H=[];for(let Q of K.content)if(Q.type==="text")Z.push(Q.text);else if(Q.type==="tool_use")H.push({id:Q.id,name:Q.name,arguments:Q.arguments,...Q.thoughtSignature?{thoughtSignature:Q.thoughtSignature}:{}});let X={role:"assistant",content:Z.join("")};if(H.length>0)X.toolCalls=H;J.push(X);break}case"tool":{for(let Z of K.content)if(Z.type==="tool_result")J.push({role:"tool",content:Z.content,toolCallId:Z.toolUseId});break}case"user":case"system":{let Z=[];for(let H of K.content)if(H.type==="text")Z.push(H.text);J.push({role:K.role,content:Z.join("")});break}}return J}function n8($,J){let K=[];for(let Z of $){let H=[],X=Z;if(X.thinking)for(let Q of X.thinking){let G=Q.thinking?Q.thinking.split(/\s+/).filter(Boolean).length:0;H.push({type:"thinking",content:Q.thinking,wordCount:G})}if(Z.role==="assistant"&&Z.toolCalls){if(Z.content)H.push({type:"text",text:Z.content});for(let Q of Z.toolCalls)H.push({type:"tool_use",id:Q.id,name:Q.name,arguments:Q.arguments,...Q.thoughtSignature?{thoughtSignature:Q.thoughtSignature}:{}})}else if(Z.role==="tool")H.push({type:"tool_result",toolUseId:Z.toolCallId??"",content:Z.content,status:"success"});else if(Z.content)H.push({type:"text",text:Z.content});if(H.length===0)H.push({type:"text",text:""});K.push({id:crypto.randomUUID(),role:Z.role,content:H,arion:J?.arion,createdAt:new Date().toISOString()})}return K}function i8($){let J=[];if($.thinking)try{let K=JSON.parse($.thinking);for(let Z of K)J.push({type:"thinking",content:Z.content??"",wordCount:Z.wordCount??0})}catch{AQ.warn(`[fromV1Columns] Corrupted thinking JSON in message row ${$.id} (session ${$.session_id}), skipping`)}if($.tool_calls)try{let K=JSON.parse($.tool_calls);for(let Z of K)J.push({type:"tool_use",id:Z.id,name:Z.name,arguments:Z.arguments??{},...Z.thoughtSignature?{thoughtSignature:Z.thoughtSignature}:{}})}catch{AQ.warn(`[fromV1Columns] Corrupted tool_calls JSON in message row ${$.id} (session ${$.session_id}), skipping`)}if($.role==="tool"&&$.tool_call_id)J.push({type:"tool_result",toolUseId:$.tool_call_id,content:$.content,status:"success"});if($.role!=="tool"&&$.content)J.push({type:"text",text:$.content});return{id:crypto.randomUUID(),role:$.role,content:J.length>0?J:[{type:"text",text:$.content??""}],arion:$.arion?{name:$.arion,emoji:"",color:void 0}:void 0,createdAt:$.created_at}}function LQ($){let J=[];for(let K of $)for(let Z of K.content)switch(Z.type){case"thinking":J.push({id:`thinking-${crypto.randomUUID()}`,role:"thinking_history",content:Z.content,wordCount:Z.wordCount,durationSeconds:Z.durationMs?Z.durationMs/1000:void 0,verb:Z.verb,arionName:K.arion?.name,arionEmoji:K.arion?.emoji,arionColor:K.arion?.color});break;case"tool_use":J.push({id:`tool-${crypto.randomUUID()}`,role:"tool_history",tool:{id:Z.id,name:Z.name,status:"complete",args:Z.arguments,result:void 0,startTime:void 0,endTime:void 0}});break;case"tool_result":{let H;for(let X=J.length-1;X>=0;X--){let Q=J[X];if(Q.role==="tool_history"&&Q.tool.id===Z.toolUseId){H=Q;break}}if(H){if(H.tool.status=Z.status==="error"?"error":"complete",Z.status==="error")H.tool.error=Z.content;else H.tool.result=Z.content;if(Z.resultData!==void 0)H.tool.resultData=Z.resultData;if(Z.durationMs!==void 0)H.tool.durationMs=Z.durationMs;if(Z.usage!==void 0)H.tool.usage=Z.usage}break}case"handoff":J.push({id:`handoff-${crypto.randomUUID()}`,role:"handoff_history",target:Z.target,direction:Z.direction});break;case"error":J.push({id:`error-${crypto.randomUUID()}`,role:"error",content:Z.content,suggestion:Z.suggestion});break;case"text":J.push({id:`msg-${crypto.randomUUID()}`,role:K.role,content:Z.text,arion:K.arion?{name:K.arion.name,emoji:K.arion.emoji,color:K.arion.color}:void 0});break}return J}function o8($){return $.content.filter((J)=>J.type==="text").map((J)=>J.text).join("")}function s8($){let J=$.content.filter((K)=>K.type==="tool_use");if(J.length===0)return null;return JSON.stringify(J.map((K)=>({id:K.id,name:K.name,arguments:K.arguments,...K.thoughtSignature?{thoughtSignature:K.thoughtSignature}:{}})))}function t8($){let J=$.content.filter((K)=>K.type==="thinking");if(J.length===0)return null;return JSON.stringify(J.map((K)=>({id:crypto.randomUUID(),content:K.content,wordCount:K.wordCount})))}function e8($){for(let J of $.content)if(J.type==="tool_result")return J.toolUseId;return null}var CN,IN,SN,bN,kN,gN,SK,vN,bK,n2;var Q5=$0(()=>{CN=i.object({type:i.literal("text"),text:i.string()}),IN=i.object({type:i.literal("thinking"),content:i.string(),wordCount:i.number(),durationMs:i.number().optional(),verb:i.string().optional()}),SN=i.object({type:i.literal("tool_use"),id:i.string(),name:i.string(),arguments:i.record(i.string(),i.unknown()),thoughtSignature:i.string().optional()}),bN=i.object({type:i.literal("tool_result"),toolUseId:i.string(),content:i.string(),status:i.enum(["success","error"]),durationMs:i.number().optional(),resultData:i.unknown().optional(),usage:i.object({inputTokens:i.number(),outputTokens:i.number(),totalTokens:i.number(),estimatedCost:i.number()}).optional()}),kN=i.object({type:i.literal("handoff"),target:i.string(),direction:i.enum(["to","from"])}),gN=i.object({type:i.literal("error"),content:i.string(),suggestion:i.string().optional()}),SK=i.discriminatedUnion("type",[CN,IN,SN,bN,kN,gN]),vN=["cyan","magenta","yellow","green","blue","red","white"],bK=i.object({name:i.string(),emoji:i.string(),color:i.enum(vN).optional()}),n2=i.object({id:i.string(),role:i.enum(["user","assistant","system","tool"]),content:i.array(SK),arion:bK.optional(),costUSD:i.number().optional(),durationMs:i.number().optional(),tokenUsage:i.object({input:i.number(),output:i.number()}).optional(),createdAt:i.string()})});import TN from"better-sqlite3";import RQ from"node:crypto";import{existsSync as G5,copyFileSync as VN,mkdirSync as kK,readdirSync as hN}from"node:fs";import $7 from"node:path";import{log as J1}from"@aria-cli/types";class m${db;sessionFtsEnabled=!1;incrementalSessions=new Set;static resolvePerArionPath($,J){let K=$7.join($,"arions",J),Z=$7.join(K,"history.db");if(!G5(Z))kK(K,{recursive:!0});return Z}static migrateJsonlLogs($,J){let K=$7.join($,"arions",J,"logs"),Z=$7.join($,"logs");if(!G5(K)&&G5(Z)){kK(K,{recursive:!0});try{let H=hN(Z).filter((X)=>X.endsWith(".jsonl"));for(let X of H){let Q=$7.join(Z,X),G=$7.join(K,X);if(!G5(G))VN(Q,G)}}catch{}}if(!G5(K))kK(K,{recursive:!0});return K}constructor($){this.db=new TN($),this.db.pragma("journal_mode = WAL"),this.db.pragma("busy_timeout = 5000"),this.db.pragma("foreign_keys = ON"),this.initialize()}initialize(){this.db.exec(`
2
+ CREATE TABLE IF NOT EXISTS sessions (
3
+ id TEXT PRIMARY KEY,
4
+ created_at TEXT NOT NULL,
5
+ updated_at TEXT NOT NULL,
6
+ completed_at TEXT,
7
+ title TEXT,
8
+ arion TEXT NOT NULL,
9
+ model TEXT NOT NULL,
10
+ message_count INTEGER DEFAULT 0
11
+ );
12
+
13
+ CREATE TABLE IF NOT EXISTS messages (
14
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
15
+ session_id TEXT NOT NULL,
16
+ role TEXT NOT NULL,
17
+ content TEXT NOT NULL,
18
+ arion TEXT,
19
+ created_at TEXT NOT NULL,
20
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
21
+ );
22
+
23
+ CREATE TABLE IF NOT EXISTS input_history (
24
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
25
+ content TEXT NOT NULL UNIQUE,
26
+ used_at TEXT NOT NULL
27
+ );
28
+
29
+ CREATE INDEX IF NOT EXISTS idx_messages_session ON messages(session_id);
30
+ CREATE INDEX IF NOT EXISTS idx_sessions_updated ON sessions(updated_at DESC);
31
+ CREATE INDEX IF NOT EXISTS idx_input_history_used ON input_history(used_at DESC);
32
+ `);try{this.db.exec("ALTER TABLE sessions ADD COLUMN completed_at TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN tool_call_id TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN tool_calls TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN thinking TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}try{this.db.exec("ALTER TABLE messages ADD COLUMN data TEXT")}catch($){if(!($?.message??"").includes("duplicate column name"))throw $}this.db.exec(`
33
+ CREATE TABLE IF NOT EXISTS run_metrics (
34
+ id TEXT PRIMARY KEY,
35
+ session_id TEXT NOT NULL,
36
+ turn_count INTEGER,
37
+ input_tokens INTEGER,
38
+ output_tokens INTEGER,
39
+ total_tokens INTEGER,
40
+ estimated_cost REAL,
41
+ wall_time_ms INTEGER,
42
+ tool_count INTEGER,
43
+ guardrail_fires INTEGER,
44
+ handoff_count INTEGER,
45
+ created_at TEXT DEFAULT (datetime('now')),
46
+ FOREIGN KEY (session_id) REFERENCES sessions(id)
47
+ );
48
+
49
+ CREATE INDEX IF NOT EXISTS idx_run_metrics_session ON run_metrics(session_id);
50
+ `),this.db.exec(`
51
+ CREATE TABLE IF NOT EXISTS session_runtime_state (
52
+ session_id TEXT PRIMARY KEY,
53
+ state_status TEXT NOT NULL DEFAULT 'idle',
54
+ active_run_id TEXT,
55
+ paused_state_json TEXT,
56
+ policy_snapshot_json TEXT,
57
+ last_event_seq INTEGER NOT NULL DEFAULT 0,
58
+ revision INTEGER NOT NULL DEFAULT 0,
59
+ lease_owner TEXT,
60
+ lease_expires_at TEXT,
61
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
62
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
63
+ );
64
+
65
+ CREATE TABLE IF NOT EXISTS session_interactions (
66
+ interaction_id TEXT PRIMARY KEY,
67
+ session_id TEXT NOT NULL,
68
+ request_id TEXT NOT NULL,
69
+ source TEXT NOT NULL,
70
+ kind TEXT NOT NULL,
71
+ status TEXT NOT NULL,
72
+ prompt_json TEXT NOT NULL,
73
+ response_json TEXT,
74
+ created_at TEXT NOT NULL,
75
+ answered_at TEXT,
76
+ applied_at TEXT,
77
+ FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
78
+ );
79
+
80
+ CREATE INDEX IF NOT EXISTS idx_session_runtime_state_status
81
+ ON session_runtime_state(state_status, updated_at DESC);
82
+ CREATE INDEX IF NOT EXISTS idx_session_interactions_session
83
+ ON session_interactions(session_id, created_at DESC);
84
+ CREATE INDEX IF NOT EXISTS idx_session_interactions_status
85
+ ON session_interactions(status, created_at DESC);
86
+ `),this.initializeSessionFts();try{this.db.pragma("wal_checkpoint(PASSIVE)")}catch{}}initializeSessionFts(){try{this.db.exec(`
87
+ CREATE VIRTUAL TABLE IF NOT EXISTS fts_session_messages USING fts5(
88
+ message_id UNINDEXED,
89
+ session_id UNINDEXED,
90
+ content
91
+ );
92
+
93
+ CREATE TRIGGER IF NOT EXISTS trg_messages_ai_fts
94
+ AFTER INSERT ON messages BEGIN
95
+ INSERT INTO fts_session_messages (message_id, session_id, content)
96
+ VALUES (new.id, new.session_id, new.content);
97
+ END;
98
+
99
+ CREATE TRIGGER IF NOT EXISTS trg_messages_au_fts
100
+ AFTER UPDATE OF content, session_id ON messages BEGIN
101
+ DELETE FROM fts_session_messages WHERE message_id = old.id;
102
+ INSERT INTO fts_session_messages (message_id, session_id, content)
103
+ VALUES (new.id, new.session_id, new.content);
104
+ END;
105
+
106
+ CREATE TRIGGER IF NOT EXISTS trg_messages_ad_fts
107
+ AFTER DELETE ON messages BEGIN
108
+ DELETE FROM fts_session_messages WHERE message_id = old.id;
109
+ END;
110
+ `);let $=this.db.prepare("SELECT COUNT(*) as c FROM messages").get().c;if(this.db.prepare("SELECT COUNT(*) as c FROM fts_session_messages").get().c<$)this.db.exec(`
111
+ INSERT INTO fts_session_messages (message_id, session_id, content)
112
+ SELECT m.id, m.session_id, m.content
113
+ FROM messages m
114
+ LEFT JOIN fts_session_messages f ON f.message_id = m.id
115
+ WHERE f.message_id IS NULL;
116
+ `);this.sessionFtsEnabled=!0}catch($){this.sessionFtsEnabled=!1,J1.warn("[SessionHistory] Session FTS disabled:",$?.message??String($))}}toFtsPrefixQuery($){return $.trim().split(/\s+/).filter(Boolean).map((J)=>`"${J.replace(/"/g,'""')}"*`).join(" AND ")}withImmediateTransaction($){this.db.exec("BEGIN IMMEDIATE");try{let J=$();return this.db.exec("COMMIT"),J}catch(J){try{this.db.exec("ROLLBACK")}catch{}throw J}}ensureSessionRuntimeRow($){let J=new Date().toISOString();this.db.prepare(`INSERT INTO session_runtime_state (
117
+ session_id,
118
+ state_status,
119
+ last_event_seq,
120
+ revision,
121
+ updated_at
122
+ ) VALUES (?, 'idle', 0, 0, ?)
123
+ ON CONFLICT(session_id) DO NOTHING`).run($,J)}readSessionRuntimeStateRow($){return this.ensureSessionRuntimeRow($),this.db.prepare("SELECT * FROM session_runtime_state WHERE session_id = ?").get($)??null}parseJsonColumn($,J,K){if(!J)return K;try{return JSON.parse(J)}catch{return J1.warn(`[SessionHistory] Corrupted ${$} JSON, using fallback value`),K}}toSessionRuntimeState($){if(!$)return null;return{sessionId:$.session_id,stateStatus:$.state_status,activeRunId:$.active_run_id,pausedState:this.parseJsonColumn("paused_state_json",$.paused_state_json,null),policySnapshot:this.parseJsonColumn("policy_snapshot_json",$.policy_snapshot_json,null),lastEventSeq:$.last_event_seq,revision:$.revision,leaseOwner:$.lease_owner,leaseExpiresAt:$.lease_expires_at,updatedAt:$.updated_at}}toSessionInteractionRecord($){if(!$)return null;return{interactionId:$.interaction_id,sessionId:$.session_id,requestId:$.request_id,source:$.source,kind:$.kind,status:$.status,prompt:this.parseJsonColumn("prompt_json",$.prompt_json,{}),response:this.parseJsonColumn("response_json",$.response_json,null),createdAt:$.created_at,answeredAt:$.answered_at,appliedAt:$.applied_at}}assertSessionMutationGuard($,J,K){let Z=Date.now(),H=$.lease_expires_at?Date.parse($.lease_expires_at):null;if(J&&$.lease_owner&&$.lease_owner!==J&&H!==null&&Number.isFinite(H)&&H>Z)throw Error(`Session ${$.session_id} is leased by ${$.lease_owner} until ${$.lease_expires_at}`);if(K!==void 0&&$.revision!==K)throw Error(`Session ${$.session_id} revision mismatch: expected ${K}, got ${$.revision}`)}createSession($,J,K){K??=RQ.randomUUID();let Z=new Date().toISOString();return this.withImmediateTransaction(()=>{this.db.prepare(`
124
+ INSERT INTO sessions (id, created_at, updated_at, arion, model, message_count)
125
+ VALUES (?, ?, ?, ?, ?, 0)
126
+ `).run(K,Z,Z,$,J),this.db.prepare(`INSERT INTO session_runtime_state (
127
+ session_id,
128
+ state_status,
129
+ last_event_seq,
130
+ revision,
131
+ updated_at
132
+ ) VALUES (?, 'idle', 0, 0, ?)`).run(K,Z)}),K}forkSession($,J){let K=this.db.prepare("SELECT * FROM sessions WHERE id = ?").get($);if(!K)throw Error(`Source session not found: ${$}`);let Z=RQ.randomUUID(),H=new Date().toISOString(),X=J?.title??(K.title?`\uD83C\uDF74 ${K.title}`:"\uD83C\uDF74 Forked session"),Q=J?.messageLimit!==void 0&&J.messageLimit>=0?this.db.prepare("SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC LIMIT ?"):this.db.prepare("SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC"),G=J?.messageLimit!==void 0&&J.messageLimit>=0?Q.all($,J.messageLimit):Q.all($);return this.withImmediateTransaction(()=>{if(this.db.prepare(`INSERT INTO sessions (id, created_at, updated_at, arion, model, message_count, title)
133
+ VALUES (?, ?, ?, ?, ?, ?, ?)`).run(Z,H,H,K.arion,K.model,G.length,X),this.db.prepare(`INSERT INTO session_runtime_state (
134
+ session_id, state_status, last_event_seq, revision, updated_at
135
+ ) VALUES (?, 'idle', 0, 0, ?)`).run(Z,H),G.length>0){let Y=this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
136
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);for(let z of G)Y.run(Z,z.role,z.content,z.arion,z.tool_call_id,z.tool_calls,z.thinking,z.data,z.created_at)}}),{newSessionId:Z,sourceSessionId:$,messagesCopied:G.length,title:X}}addMessage($,J,K,Z){try{let H=new Date().toISOString(),X=Z?.arion??null,Q=Z?.toolCallId??null,G=Z?.toolCalls?JSON.stringify(Z.toolCalls):null,Y=Z?.thinking?JSON.stringify(Z.thinking):null;this.db.transaction(()=>{this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, created_at)
137
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run($,J,K,X,Q,G,Y,H),this.db.prepare(`UPDATE sessions
138
+ SET updated_at = ?,
139
+ message_count = message_count + 1,
140
+ title = COALESCE(title, CASE WHEN ? = 'user' THEN substr(?, 1, 60) END)
141
+ WHERE id = ?`).run(H,J,K,$)})()}catch(H){J1.warn("[SessionHistory] Failed to persist message:",H?.message??H)}}addConversationMessage($,J){try{let K=new Date().toISOString(),Z=o8(J);if(J.role==="tool"&&!Z){let W=J.content.find((N)=>N.type==="tool_result");if(W&&W.type==="tool_result")Z=W.content}let H=J.arion?.name??null,X=e8(J),Q=s8(J),G=t8(J),Y=JSON.stringify(J);this.db.transaction(()=>{this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
142
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run($,J.role,Z,H,X,Q,G,Y,K),this.db.prepare(`UPDATE sessions
143
+ SET updated_at = ?,
144
+ message_count = message_count + 1,
145
+ title = COALESCE(title, CASE WHEN ? = 'user' THEN substr(?, 1, 60) END)
146
+ WHERE id = ?`).run(K,J.role,Z,$)})(),this.incrementalSessions.add($)}catch(K){J1.warn("[SessionHistory] Failed to persist conversation message:",K?.message??K)}}addConversationMessages($,J){if(J.length===0)return;if(J.length===1){this.addConversationMessage($,J[0]);return}try{let K=new Date().toISOString(),Z=this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
147
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`),H=this.db.prepare(`UPDATE sessions
148
+ SET updated_at = ?,
149
+ message_count = message_count + ?,
150
+ title = COALESCE(title, CASE WHEN ? = 'user' THEN substr(?, 1, 60) END)
151
+ WHERE id = ?`);this.db.transaction(()=>{let Q=null;for(let G of J){let Y=o8(G);if(G.role==="tool"&&!Y){let A=G.content.find((f)=>f.type==="tool_result");if(A&&A.type==="tool_result")Y=A.content}if(G.role==="user"&&!Q)Q=Y;let z=G.arion?.name??null,W=e8(G),N=s8(G),q=t8(G),U=JSON.stringify(G);Z.run($,G.role,Y,z,W,N,q,U,K)}H.run(K,J.length,Q?"user":"assistant",Q??"",$)})()}catch(K){J1.warn("[SessionHistory] Failed to persist conversation messages batch:",K?.message??K)}}replaceConversationMessages($,J){if(this.incrementalSessions.has($))return;try{let K=performance.now(),Z=this.db.prepare("SELECT COUNT(*) as cnt FROM messages WHERE session_id = ?").get($)?.cnt??0,H=performance.now();R1(`SessionHistory:replaceConversationMessages(del=${Z},ins=${J.length})`);let X=new Date().toISOString(),Q=this.db.prepare(`INSERT INTO messages (session_id, role, content, arion, tool_call_id, tool_calls, thinking, data, created_at)
152
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);this.db.transaction(()=>{this.db.prepare("DELETE FROM messages WHERE session_id = ?").run($);let z=null;for(let W of J){let N=o8(W);if(W.role==="tool"&&!N){let q=W.content.find((U)=>U.type==="tool_result");if(q&&q.type==="tool_result")N=q.content}if(W.role==="user"&&!z)z=N;Q.run($,W.role,N,W.arion?.name??null,e8(W),s8(W),t8(W),JSON.stringify(W),X)}this.db.prepare(`UPDATE sessions
153
+ SET updated_at = ?,
154
+ message_count = ?,
155
+ title = CASE
156
+ WHEN ? IS NOT NULL AND length(?) > 0 THEN substr(?, 1, 60)
157
+ ELSE title
158
+ END
159
+ WHERE id = ?`).run(X,J.length,z,z,z,$)})();let Y=performance.now()-K;if($1(),process.env.DEBUG&&(Y>200||Z>500))try{process.stderr.write(`[SessionHistory][DIAG] replaceConversationMessages: total=${Y.toFixed(0)}ms (count=${(H-K).toFixed(0)}ms txn=${(Y-(H-K)).toFixed(0)}ms) existingRows=${Z} newRows=${J.length} session=${$}
160
+ `)}catch{}}catch(K){$1(),J1.warn("[SessionHistory] Failed to replace conversation messages batch:",K?.message??K)}}loadSessionMessages($){let J=this.db.prepare("SELECT * FROM sessions WHERE id = ?").get($);if(!J)return null;let Z=this.db.prepare("SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC").all($).map((H)=>{if(H.data)try{let X=JSON.parse(H.data),Q=n2.safeParse(X);if(Q.success)return Q.data;return J1.warn(`[loadSessionMessages] Schema validation failed for message row ${H.id} (session ${$}), falling back to v1 columns`),i8(H)}catch{return J1.warn(`[loadSessionMessages] Corrupted data column in message row ${H.id} (session ${$}), falling back to v1 columns`),i8(H)}return i8(H)});return{id:J.id,arion:J.arion,model:J.model,messages:Z}}loadSession($){let J=this.loadSessionMessages($);if(!J)return null;let K=this.toSessionRuntimeState(this.readSessionRuntimeStateRow($)),Z=this.db.prepare(`SELECT * FROM session_interactions
161
+ WHERE session_id = ?
162
+ AND status = 'pending'
163
+ ORDER BY created_at DESC
164
+ LIMIT 1`).get($)??null;return{session:J,runtimeState:K,pendingInteraction:this.toSessionInteractionRecord(Z)}}getSessionRuntimeState($){return this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))}getInteraction($){let J=this.db.prepare("SELECT * FROM session_interactions WHERE interaction_id = ?").get($)??null;return this.toSessionInteractionRecord(J)}claimSessionForMutation($,J,K){if(!J.trim())throw Error("claimSessionForMutation requires a non-empty ownerId");if(!Number.isFinite(K)||K<=0)throw Error("claimSessionForMutation requires a positive staleAfterMs");return this.withImmediateTransaction(()=>{let Z=this.readSessionRuntimeStateRow($);if(!Z)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(Z,J);let H=new Date().toISOString(),X=new Date(Date.now()+K).toISOString();return this.db.prepare(`UPDATE session_runtime_state
165
+ SET lease_owner = ?,
166
+ lease_expires_at = ?,
167
+ updated_at = ?
168
+ WHERE session_id = ?`).run(J,X,H,$),this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))})}recordPausedRun($,J,K,Z,H,X){return this.withImmediateTransaction(()=>{let Q=this.readSessionRuntimeStateRow($);if(!Q)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(Q,X?.ownerId,X?.expectedRevision);let G=new Date().toISOString(),Y=Q.revision+1;if(this.db.prepare(`UPDATE session_runtime_state
169
+ SET state_status = 'paused',
170
+ active_run_id = ?,
171
+ paused_state_json = ?,
172
+ policy_snapshot_json = ?,
173
+ last_event_seq = ?,
174
+ revision = ?,
175
+ updated_at = ?
176
+ WHERE session_id = ?`).run(J,JSON.stringify(K),JSON.stringify(Z),X?.lastEventSeq??Q.last_event_seq,Y,G,$),H)this.db.prepare(`INSERT INTO session_interactions (
177
+ interaction_id,
178
+ session_id,
179
+ request_id,
180
+ source,
181
+ kind,
182
+ status,
183
+ prompt_json,
184
+ created_at
185
+ ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?)`).run(H.interactionId,$,H.requestId,H.source,H.kind,JSON.stringify(H.prompt),G);return this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))})}recordInteractionResponse($,J,K,Z){return this.withImmediateTransaction(()=>{let H=this.readSessionRuntimeStateRow($);if(!H)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(H,Z?.ownerId,Z?.expectedRevision);let X=this.db.prepare(`SELECT * FROM session_interactions
186
+ WHERE session_id = ?
187
+ AND interaction_id = ?`).get($,J)??null;if(!X)throw Error(`Interaction ${J} not found for session ${$}`);if(X.status!=="pending")throw Error(`Interaction ${J} is not pending (current status: ${X.status})`);let Q=new Date().toISOString();this.db.prepare(`UPDATE session_interactions
188
+ SET status = 'answered',
189
+ response_json = ?,
190
+ answered_at = ?
191
+ WHERE interaction_id = ?`).run(JSON.stringify(K),Q,J),this.db.prepare(`UPDATE session_runtime_state
192
+ SET revision = revision + 1,
193
+ updated_at = ?
194
+ WHERE session_id = ?`).run(Q,$);let G=this.db.prepare("SELECT * FROM session_interactions WHERE interaction_id = ?").get(J)??null;return this.toSessionInteractionRecord(G)})}cancelInteraction($,J,K){return this.withImmediateTransaction(()=>{let Z=this.readSessionRuntimeStateRow($);if(!Z)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(Z,K?.ownerId,K?.expectedRevision);let H=this.db.prepare(`SELECT * FROM session_interactions
195
+ WHERE session_id = ?
196
+ AND interaction_id = ?`).get($,J)??null;if(!H)throw Error(`Interaction ${J} not found for session ${$}`);if(H.status!=="pending")throw Error(`Interaction ${J} is not pending (current status: ${H.status})`);let X=new Date().toISOString();this.db.prepare(`UPDATE session_interactions
197
+ SET status = 'canceled',
198
+ answered_at = ?
199
+ WHERE interaction_id = ?`).run(X,J),this.db.prepare(`UPDATE session_runtime_state
200
+ SET state_status = 'completed',
201
+ active_run_id = NULL,
202
+ paused_state_json = NULL,
203
+ policy_snapshot_json = NULL,
204
+ revision = revision + 1,
205
+ updated_at = ?
206
+ WHERE session_id = ?`).run(X,$),this.db.prepare(`UPDATE sessions
207
+ SET completed_at = COALESCE(completed_at, ?),
208
+ updated_at = ?
209
+ WHERE id = ?`).run(X,X,$);let Q=this.db.prepare("SELECT * FROM session_interactions WHERE interaction_id = ?").get(J)??null;return this.toSessionInteractionRecord(Q)})}completeRun($,J,K){return this.withImmediateTransaction(()=>{let Z=this.readSessionRuntimeStateRow($);if(!Z)throw Error(`Session ${$} not found`);this.assertSessionMutationGuard(Z,K?.ownerId,K?.expectedRevision);let H=new Date().toISOString();return this.db.prepare(`UPDATE session_runtime_state
210
+ SET state_status = 'completed',
211
+ active_run_id = NULL,
212
+ paused_state_json = NULL,
213
+ policy_snapshot_json = NULL,
214
+ revision = revision + 1,
215
+ updated_at = ?
216
+ WHERE session_id = ?`).run(H,$),this.db.prepare(`UPDATE session_interactions
217
+ SET status = CASE WHEN response_json IS NULL THEN 'expired' ELSE 'applied' END,
218
+ answered_at = COALESCE(answered_at, ?),
219
+ applied_at = CASE WHEN response_json IS NULL THEN applied_at ELSE ? END
220
+ WHERE session_id = ?
221
+ AND status IN ('pending', 'answered')`).run(H,H,$),this.db.prepare(`UPDATE sessions
222
+ SET completed_at = COALESCE(completed_at, ?),
223
+ updated_at = ?
224
+ WHERE id = ?`).run(H,H,$),this.toSessionRuntimeState(this.readSessionRuntimeStateRow($))})}releaseSessionClaim($,J){this.withImmediateTransaction(()=>{let K=this.readSessionRuntimeStateRow($);if(!K)throw Error(`Session ${$} not found`);if(K.lease_owner&&K.lease_owner!==J)throw Error(`Cannot release session ${$} lease owned by ${K.lease_owner} with ${J}`);let Z=new Date().toISOString();this.db.prepare(`UPDATE session_runtime_state
225
+ SET lease_owner = NULL,
226
+ lease_expires_at = NULL,
227
+ updated_at = ?
228
+ WHERE session_id = ?`).run(Z,$)})}listSessions($=20,J=0){return this.db.prepare(`
229
+ SELECT
230
+ s.*,
231
+ COALESCE(s.title, '') as preview
232
+ FROM sessions s
233
+ WHERE s.message_count > 0
234
+ ORDER BY s.updated_at DESC, s.rowid DESC
235
+ LIMIT ? OFFSET ?
236
+ `).all($,J).map((Z)=>({id:Z.id,createdAt:new Date(Z.created_at),updatedAt:new Date(Z.updated_at),completedAt:Z.completed_at?new Date(Z.completed_at):void 0,title:Z.title,arion:Z.arion,model:Z.model,messageCount:Z.message_count,preview:this.truncatePreview(Z.preview??"",60)}))}searchSessions($,J=20,K=0){let H=`%${$.replace(/[%_\\]/g,"\\$&")}%`;return this.db.prepare(`
237
+ SELECT DISTINCT
238
+ s.*,
239
+ (SELECT content FROM messages WHERE session_id = s.id AND role = 'user' ORDER BY id LIMIT 1) as preview
240
+ FROM sessions s
241
+ LEFT JOIN messages m ON m.session_id = s.id
242
+ WHERE s.message_count > 0
243
+ AND (s.title LIKE ? ESCAPE '\\' OR m.content LIKE ? ESCAPE '\\')
244
+ ORDER BY s.updated_at DESC, s.rowid DESC
245
+ LIMIT ? OFFSET ?
246
+ `).all(H,H,J,K).map((Q)=>({id:Q.id,createdAt:new Date(Q.created_at),updatedAt:new Date(Q.updated_at),completedAt:Q.completed_at?new Date(Q.completed_at):void 0,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.message_count,preview:this.truncatePreview(Q.preview??"",60)}))}searchSessionsFts($,J=100,K=0){let Z=$.trim();if(!Z)return[];if(!this.sessionFtsEnabled)return this.searchSessions(Z,J,K);let H=this.toFtsPrefixQuery(Z);if(!H)return[];try{return this.db.prepare(`
247
+ WITH matched AS (
248
+ SELECT session_id, MIN(bm25(fts_session_messages)) as rank
249
+ FROM fts_session_messages
250
+ WHERE fts_session_messages MATCH ?
251
+ GROUP BY session_id
252
+ )
253
+ SELECT
254
+ s.*,
255
+ COALESCE(s.title, '') as preview
256
+ FROM matched m
257
+ JOIN sessions s ON s.id = m.session_id
258
+ WHERE s.message_count > 0
259
+ ORDER BY m.rank ASC, s.updated_at DESC, s.rowid DESC
260
+ LIMIT ? OFFSET ?
261
+ `).all(H,J,K).map((Q)=>({id:Q.id,createdAt:new Date(Q.created_at),updatedAt:new Date(Q.updated_at),completedAt:Q.completed_at?new Date(Q.completed_at):void 0,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.message_count,preview:this.truncatePreview(Q.preview??"",60)}))}catch(X){return this.searchSessions(Z,J,K)}}searchSessionSummaries($,J=100,K=0){let H=`%${$.replace(/[%_\\]/g,"\\$&")}%`;return this.db.prepare(`
262
+ SELECT
263
+ s.*,
264
+ COALESCE(s.title, '') as preview
265
+ FROM sessions s
266
+ WHERE s.message_count > 0
267
+ AND (
268
+ s.title LIKE ? ESCAPE '\\'
269
+ OR s.arion LIKE ? ESCAPE '\\'
270
+ OR s.model LIKE ? ESCAPE '\\'
271
+ OR s.id LIKE ? ESCAPE '\\'
272
+ )
273
+ ORDER BY s.updated_at DESC, s.rowid DESC
274
+ LIMIT ? OFFSET ?
275
+ `).all(H,H,H,H,J,K).map((Q)=>({id:Q.id,createdAt:new Date(Q.created_at),updatedAt:new Date(Q.updated_at),completedAt:Q.completed_at?new Date(Q.completed_at):void 0,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.message_count,preview:this.truncatePreview(Q.preview??"",60)}))}getSession($){let J=this.db.prepare(`
276
+ SELECT * FROM sessions WHERE id = ?
277
+ `).get($);if(!J)return null;let K=this.db.prepare(`
278
+ SELECT * FROM messages WHERE session_id = ? ORDER BY id ASC
279
+ `).all($);return{id:J.id,arion:J.arion,model:J.model,messages:K.map((Z)=>({id:Z.id,role:Z.role,content:Z.content,arion:Z.arion??void 0,toolCallId:Z.tool_call_id??void 0,toolCalls:Z.tool_calls?(()=>{try{return JSON.parse(Z.tool_calls)}catch{J1.warn(`[getSession] Corrupted tool_calls JSON in message row ${Z.id} (session ${$})`);return}})():void 0,thinking:Z.thinking?(()=>{try{return JSON.parse(Z.thinking)}catch{J1.warn(`[getSession] Corrupted thinking JSON in message row ${Z.id} (session ${$})`);return}})():void 0,createdAt:new Date(Z.created_at)}))}}deleteSession($){this.db.prepare("DELETE FROM sessions WHERE id = ?").run($)}setSessionTitle($,J){try{this.db.prepare("UPDATE sessions SET title = ? WHERE id = ?").run(J,$)}catch(K){J1.warn("[SessionHistory] Failed to set session title:",K?.message??K)}}markCompleted($){try{let J=new Date().toISOString();this.withImmediateTransaction(()=>{this.db.prepare(`UPDATE sessions
280
+ SET completed_at = COALESCE(completed_at, ?),
281
+ updated_at = ?
282
+ WHERE id = ?`).run(J,J,$),this.ensureSessionRuntimeRow($),this.db.prepare(`UPDATE session_runtime_state
283
+ SET state_status = 'completed',
284
+ active_run_id = NULL,
285
+ paused_state_json = NULL,
286
+ policy_snapshot_json = NULL,
287
+ lease_owner = NULL,
288
+ lease_expires_at = NULL,
289
+ revision = revision + 1,
290
+ updated_at = ?
291
+ WHERE session_id = ?`).run(J,$)})}catch(J){J1.warn("[SessionHistory] Failed to mark session completed:",J?.message??J)}}markStaleSessionsCompleted($){try{let J=new Date(Date.now()-$*86400000).toISOString(),K=new Date().toISOString();return this.db.prepare(`UPDATE sessions
292
+ SET completed_at = COALESCE(completed_at, ?),
293
+ updated_at = ?
294
+ WHERE completed_at IS NULL
295
+ AND message_count > 0
296
+ AND updated_at < ?`).run(K,K,J).changes}catch(J){return J1.warn("[SessionHistory] Failed to mark stale sessions completed:",J?.message??J),0}}getIncompleteSessions($=10){return this.db.prepare(`
297
+ SELECT
298
+ s.*,
299
+ (SELECT content FROM messages WHERE session_id = s.id AND role = 'user' ORDER BY id LIMIT 1) as preview
300
+ FROM sessions s
301
+ WHERE s.message_count > 0
302
+ AND s.completed_at IS NULL
303
+ ORDER BY s.updated_at DESC, s.rowid DESC
304
+ LIMIT ?
305
+ `).all($).map((K)=>({id:K.id,createdAt:new Date(K.created_at),updatedAt:new Date(K.updated_at),completedAt:K.completed_at?new Date(K.completed_at):void 0,title:K.title,arion:K.arion,model:K.model,messageCount:K.message_count,preview:this.truncatePreview(K.preview??"",60)}))}findSessionByPrefix($){if($.length===36)return this.db.prepare("SELECT id FROM sessions WHERE id = ? AND message_count > 0").get($)?.id??null;if($.length<8)return null;let J=this.db.prepare("SELECT id FROM sessions WHERE id LIKE ? AND message_count > 0 LIMIT 2").all(`${$}%`);return J.length===1?J[0].id:null}getSessionCount(){return this.db.prepare("SELECT COUNT(*) as count FROM sessions WHERE message_count > 0").get()?.count??0}truncatePreview($,J){if($.length<=J)return $;return $.slice(0,J-3)+"..."}addInputHistory($){try{let J=new Date().toISOString();this.db.prepare(`
306
+ INSERT INTO input_history (content, used_at)
307
+ VALUES (?, ?)
308
+ ON CONFLICT(content) DO UPDATE SET used_at = excluded.used_at
309
+ `).run($,J),this.db.prepare(`
310
+ DELETE FROM input_history
311
+ WHERE id NOT IN (
312
+ SELECT id FROM input_history ORDER BY used_at DESC LIMIT 500
313
+ )
314
+ `).run()}catch(J){J1.warn("[SessionHistory] Failed to save input history:",J?.message??J)}}getInputHistory($=100){return this.db.prepare(`
315
+ SELECT content FROM input_history
316
+ ORDER BY used_at DESC
317
+ LIMIT ?
318
+ `).all($).map((K)=>K.content)}saveRunMetrics($,J){try{this.db.prepare(`INSERT INTO run_metrics (id, session_id, turn_count, input_tokens, output_tokens, total_tokens, estimated_cost, wall_time_ms, tool_count, guardrail_fires, handoff_count)
319
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(J.id,$,J.turnCount??null,J.inputTokens??null,J.outputTokens??null,J.totalTokens??null,J.estimatedCost??null,J.wallTimeMs??null,J.toolCount??null,J.guardrailFires??null,J.handoffCount??null)}catch(K){J1.warn("[SessionHistory] Failed to save run metrics:",K?.message??K)}}getRunMetrics($){return this.db.prepare("SELECT * FROM run_metrics WHERE session_id = ? ORDER BY created_at ASC").all($).map((K)=>({id:K.id,sessionId:K.session_id,turnCount:K.turn_count??void 0,inputTokens:K.input_tokens??void 0,outputTokens:K.output_tokens??void 0,totalTokens:K.total_tokens??void 0,estimatedCost:K.estimated_cost??void 0,wallTimeMs:K.wall_time_ms??void 0,toolCount:K.tool_count??void 0,guardrailFires:K.guardrail_fires??void 0,handoffCount:K.handoff_count??void 0,createdAt:K.created_at}))}close(){try{this.db.pragma("wal_checkpoint(TRUNCATE)")}catch{}this.db.close()}}var gK=$0(()=>{a2();Q5()});function DN($){return typeof $!=="string"||$.trim().length>0}function cN($){let{toolCalls:J,...K}=$;return K}function EN($,J,K){for(let Z=J;Z<$.length;Z++){let H=$[Z];if(H.role==="tool"&&H.toolCallId===K)return!0}return!1}function h3($){let J=[];for(let K=0;K<$.length;K++){let Z=$[K];if(Z.role==="assistant"&&Z.toolCalls?.length){let H=new Set(Z.toolCalls.map((W)=>W.id)),X=new Set,Q=[],G=K+1;while(G<$.length&&$[G].role==="tool"){let W=$[G];if(W.toolCallId&&H.has(W.toolCallId)&&!X.has(W.toolCallId))X.add(W.toolCallId),Q.push(W);G++}let Y=Z.toolCalls.filter((W)=>{if(X.has(W.id))return!0;return!EN($,G,W.id)}),z=Y.filter((W)=>!X.has(W.id));if(Y.length===Z.toolCalls.length)J.push(Z);else if(Y.length>0)J.push({...Z,toolCalls:Y});else if(DN(Z.content))J.push(cN(Z));J.push(...Q);for(let W of z)J.push({role:"tool",content:`[Tool execution interrupted — no result for ${W.name}]`,toolCallId:W.id});K=G-1;continue}if(Z.role==="tool")continue;J.push(Z)}return J}class d${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 J=Array.isArray($.blocks)&&$.blocks.length>0?$.blocks[0]:void 0,K=typeof J?.thinking==="string"?J.thinking:this.pendingThinkingContent,Z=K.split(/\s+/).filter(Boolean).length,H={type:"thinking",content:K,wordCount:Z,durationMs:$.durationMs,verb:this.verb};return this.thinkingBlocks.push(H),this.pendingThinkingContent="","continue"}case"tool_start":{if(this.seenToolIds.has($.id))return"continue";this.seenToolIds.add($.id);let J={type:"tool_use",id:$.id,name:$.name,arguments:$.input??{}};return this.toolUseBlocks.push(J),"continue"}case"tool_args_delta":{let K=(this.toolArgsAccumulator.get($.id)??"")+$.args;this.toolArgsAccumulator.set($.id,K);try{let Z=JSON.parse(K),H=this.toolUseBlocks.find((X)=>X.type==="tool_use"&&X.id===$.id);if(H)H.arguments=Z}catch{}return"continue"}case"tool_result":{if($.input){let X=this.toolUseBlocks.find((Q)=>Q.type==="tool_use"&&Q.id===$.id);if(X){let Q=typeof $.input==="object"&&!Array.isArray($.input)?$.input:{};if(Object.keys(X.arguments).length===0)X.arguments=Q}}let J=$.result,K="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,Z={type:"tool_result",toolUseId:$.id,content:typeof J.message==="string"?J.message:"",status:J.success===!0?"success":"error",durationMs:$.durationMs,resultData:J.data,usage:K},H={id:crypto.randomUUID(),role:"tool",content:[Z],arion:this.arion,createdAt:new Date().toISOString()};return this.toolResultMessages.push(H),"continue"}case"handoff_start":{let J={type:"handoff",target:$.target,direction:"to"};return this.handoffBlocks.push(J),"continue"}case"handoff_result":{let J={type:"handoff",target:$.target,direction:"from"};return this.handoffBlocks.push(J),"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 Z=this.pendingThinkingContent.trim(),H=Z.length===0?0:Z.split(/\s+/).length,X={type:"thinking",content:this.pendingThinkingContent,wordCount:H,verb:this.verb};this.thinkingBlocks.push(X)}let J=[];J.push(...this.thinkingBlocks);let K=this.textParts.join("");if(K)J.push({type:"text",text:K});if(J.push(...this.toolUseBlocks),J.push(...this.handoffBlocks),J.length>0){let Z={id:crypto.randomUUID(),role:"assistant",content:J,arion:this.arion,tokenUsage:this.tokenUsage,createdAt:new Date().toISOString()};$.push(Z)}if($.push(...this.toolResultMessages),this.toolResultMessages.length>0&&this.toolUseBlocks.length>0){let Z=new Set(this.toolResultMessages.flatMap((H)=>H.content.filter((X)=>X.type==="tool_result").map((X)=>X.toolUseId)));for(let H of this.toolUseBlocks){let X=H.id;if(X&&!Z.has(X)){let Q={id:crypto.randomUUID(),role:"tool",content:[{type:"tool_result",toolUseId:X,content:"Tool execution cancelled by user.",status:"error"}],arion:this.arion,createdAt:new Date().toISOString()};$.push(Q)}}}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((Z)=>({...Z}))),this.thinkingInProgress&&this.pendingThinkingContent){let Z=this.pendingThinkingContent,H={type:"thinking",content:Z,wordCount:Z.split(/\s+/).filter(Boolean).length,verb:this.verb};$.push(H)}let J=this.textParts.join("");if(J){let Z=J.lastIndexOf(`
320
+ `);if(Z>=0)$.push({type:"text",text:J.slice(0,Z+1)})}for(let Z of this.toolUseBlocks){let H={...Z};if(H.type==="tool_use"&&Object.keys(H.arguments).length===0){let X=this.toolArgsAccumulator.get(H.id);if(X){let Q=d$.tryParsePartialArgs(X);if(Q)H.arguments=Q}}$.push(H)}$.push(...this.handoffBlocks.map((Z)=>({...Z})));let K=[];if($.length>0)K.push({id:this.previewAssistantId,role:"assistant",content:$,arion:this.arion,createdAt:new Date().toISOString()});return K.push(...this.toolResultMessages.map((Z)=>({...Z,content:[...Z.content]}))),K}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 J=$.trim();if(!J.startsWith("{")||J.length<4)return;try{return JSON.parse(J)}catch{}try{let K=JSON.parse(J+"}");if(Object.keys(K).length>0)return K}catch{}try{let K=JSON.parse(J+'"}');if(Object.keys(K).length>0)return K}catch{}for(let K=J.length-1;K>0;K--)if(J[K]===",")try{let Z=JSON.parse(J.slice(0,K)+"}");if(Object.keys(Z).length>0)return Z}catch{}return}}import{readFileSync as jN,existsSync as vK}from"node:fs";function TK($){if(!vK($))return[];let K=jN($,"utf-8").split(`
321
+ `).filter((X)=>X.trim().length>0),Z=new d$,H=[];for(let X of K){let Q;try{Q=JSON.parse(X)}catch{continue}if(!Q.event||typeof Q.event.type!=="string")continue;if(Q.event.type==="user_message"){if(Z.hasPendingContent())H.push(...Z.flush());let Y=Q.event.content??"",z=Q.event.id,W=a8(Y);if(z)W.id=z;H.push(W);continue}if(Z.ingest(Q.event)==="flush"){let Y=Z.flush();H.push(...Y)}}if(Z.hasPendingContent()){let X=Z.flush();H.push(...X)}return H}function fQ($){for(let K of $.content){if(K.type==="tool_use"&&K.id)return`tool_use:${K.id}`;if(K.type==="tool_result"&&K.toolUseId)return`tool_result:${K.toolUseId}`}let J=$.content.filter((K)=>K.type==="text").map((K)=>K.text).join("");return`${$.role}:${J}`}function s2($,J){if(!J)return{messages:$,backfillMessages:[]};let K;try{K=TK(J)}catch{return{messages:$,backfillMessages:[]}}if(K.length===0)return{messages:$,backfillMessages:[]};if($.length>=K.length)return{messages:$,backfillMessages:[]};let Z=new Set($.map(fQ)),H=[];for(let Q of K){let G=fQ(Q);if(!Z.has(G))H.push(Q)}return{messages:[...$,...H],backfillMessages:H}}function t2($,J,K){let Z=`${$}/arions/${J}/logs/${K}.jsonl`;if(vK(Z))return Z;let H=`${$}/logs/${K}.jsonl`;if(vK(H))return H;return null}var BQ=$0(()=>{Q5()});var yQ={};Z$(yQ,{toModelMessages:()=>o2,replaySessionFromJsonl:()=>TK,repairToolCallPairing:()=>h3,mergeWithJsonlRecovery:()=>s2,fromV1Columns:()=>i8,fromModelMessages:()=>n8,findJsonlForSession:()=>t2,extractToolCalls:()=>s8,extractToolCallId:()=>e8,extractThinking:()=>t8,extractTextContent:()=>o8,createUserMessage:()=>a8,createSystemMessage:()=>a,createIncomingMessagePair:()=>i2,createErrorMessage:()=>J0,conversationMessageToHistoryMessages:()=>LQ,TurnAccumulator:()=>d$,SessionHistory:()=>m$,ConversationMessageSchema:()=>n2,ContentBlockSchema:()=>SK,ArionRefSchema:()=>bK});var Y5=$0(()=>{gK();Q5();BQ()});import{readFile as mN}from"fs/promises";import{join as MQ}from"path";import{homedir as dN}from"os";async function wQ($){try{let J=await mN($,"utf-8"),K=JSON.parse(J);if(K.mcp?.servers){for(let Z of K.mcp.servers)if(Z.env){for(let[H,X]of Object.entries(Z.env))if(typeof X==="string"&&X.startsWith("${")&&X.endsWith("}")){let Q=X.slice(2,-1);Z.env[H]=process.env[Q]||""}}}if(K.mcp?.servers)for(let Z of K.mcp.servers){if(!Z.name||typeof Z.name!=="string")throw Error('Invalid MCP server config: missing "name" field');if(!Z.transport)throw Error(`MCP server "${Z.name}": missing "transport" field`);if(Z.transport&&!["stdio","sse"].includes(Z.transport))throw Error(`MCP server "${Z.name}": unknown transport "${Z.transport}"`);if(Z.transport==="stdio"&&!Z.command)throw Error(`MCP server "${Z.name}": stdio transport requires "command" field`);if(Z.transport==="sse"&&!Z.url)throw Error(`MCP server "${Z.name}": sse transport requires "url" field`)}return K}catch(J){if(J.code==="ENOENT")return null;throw J}}function CQ($,J){let K=$.mcp?.servers||[],Z=J.mcp?.servers||[],H=new Set(Z.map((X)=>X.name));return{mcp:{servers:[...K.filter((X)=>!H.has(X.name)),...Z]}}}async function e2($){let J={...pN},K=MQ(dN(),".aria","config.json"),Z=await wQ(K);if(Z)J=CQ(J,Z);if($){let H=MQ($,"aria.config.json"),X=await wQ(H);if(X)J=CQ(J,X)}return J}var pN;var IQ=$0(()=>{pN={mcp:{servers:[]}}});function SQ($){let J=VK.indexOf($);return VK[(J+1)%VK.length]}function bQ($,J){let K=z5[$],Z={};if(J.showThinking!==K.showThinking)Z.showThinking=J.showThinking;if(J.showCosts!==K.showCosts)Z.showCosts=J.showCosts;if(J.showToolArgs!==K.showToolArgs)Z.showToolArgs=J.showToolArgs;if(J.toolOutput!==K.toolOutput)Z.toolOutput=J.toolOutput;if(J.showTraces!==K.showTraces)Z.showTraces=J.showTraces;if(J.showPipelineTiming!==K.showPipelineTiming)Z.showPipelineTiming=J.showPipelineTiming;if(J.showStatusBar!==K.showStatusBar)Z.showStatusBar=J.showStatusBar;return Z}function kQ($,J){return{...z5[$],...J??{}}}var z5,VK;var hK=$0(()=>{z5={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}},VK=["minimal","standard","debug"]});import{readFileSync as xN}from"fs";import{join as lN}from"path";import{homedir as uN}from"os";import{parse as rN}from"yaml";import{log as aN}from"@aria-cli/types";function oN(){return{display:{...z5.standard,...iN},persistence:{...nN}}}function $F($){return typeof $==="string"&&sN.has($)}function JF($){return typeof $==="string"&&tN.has($)}function KF($){return typeof $==="string"&&eN.has($)}function p$($){return typeof $==="boolean"}function DK($){return typeof $==="number"&&Number.isInteger($)&&$>0}function ZF($){return typeof $==="number"&&Number.isInteger($)&&$>=0}function HF($){try{let J=xN($,"utf-8"),K=rN(J);if(K===null||K===void 0||typeof K!=="object")return null;return K}catch(J){if(J.code==="ENOENT")return null;throw J}}function XF($){let J={};if($F($.mode))J.mode=$.mode;if(KF($.theme))J.theme=$.theme;if(p$($.thinking))J.showThinking=$.thinking;if(p$($.costs))J.showCosts=$.costs;if(p$($.toolArgs))J.showToolArgs=$.toolArgs;if(JF($.toolOutput))J.toolOutput=$.toolOutput;if(p$($.traces))J.showTraces=$.traces;if(p$($.pipelineTiming))J.showPipelineTiming=$.pipelineTiming;if(p$($.statusBar))J.showStatusBar=$.statusBar;if(p$($.syntaxHighlighting))J.syntaxHighlighting=$.syntaxHighlighting;if(DK($.maxToolOutputLines))J.maxToolOutputLines=$.maxToolOutputLines;if(ZF($.maxThinkingPreview))J.maxThinkingPreview=$.maxThinkingPreview;return J}function QF($){let J={};if(p$($.jsonlEnabled))J.jsonlEnabled=$.jsonlEnabled;if(DK($.jsonlRetentionDays)||$.jsonlRetentionDays===1/0)J.jsonlRetentionDays=$.jsonlRetentionDays;if(DK($.jsonlMaxSizeMb)||$.jsonlMaxSizeMb===1/0)J.jsonlMaxSizeMb=$.jsonlMaxSizeMb;if($.otelEndpoint===null)J.otelEndpoint=null;else if(typeof $.otelEndpoint==="string"&&$.otelEndpoint.length>0)J.otelEndpoint=$.otelEndpoint;return J}function gQ($,J,K){return{...$,...J?cK(J):{},...K?cK(K):{}}}function EK($){let J=oN(),K=$??lN(uN(),".aria","config.yaml"),Z;try{Z=HF(K)}catch(N){return aN.warn(`[AriaConfig] Failed to parse ${K}: ${N.message}. Using defaults.`),J}if(Z===null)return J;let H=typeof Z.display==="object"&&Z.display!==null?Z.display:{},X=XF(H),Q=X.mode??J.display.mode,G=z5[Q],Y=gQ(G,X),z=typeof Z.persistence==="object"&&Z.persistence!==null?Z.persistence:{},W=QF(z);return{display:{...Y,mode:Q,theme:X.theme,syntaxHighlighting:X.syntaxHighlighting??J.display.syntaxHighlighting,maxToolOutputLines:X.maxToolOutputLines??J.display.maxToolOutputLines,maxThinkingPreview:X.maxThinkingPreview??J.display.maxThinkingPreview},persistence:{...J.persistence,...cK(W)}}}function cK($){let J={};for(let[K,Z]of Object.entries($))if(Z!==void 0)J[K]=Z;return J}var nN,iN,sN,tN,eN;var vQ=$0(()=>{hK();nN={jsonlEnabled:!0,jsonlRetentionDays:1/0,jsonlMaxSizeMb:1/0,otelEndpoint:null},iN={mode:"standard",syntaxHighlighting:!0,maxToolOutputLines:5,maxThinkingPreview:80};sN=new Set(["minimal","standard","debug"]),tN=new Set(["hidden","collapsed","standard","expanded"]),eN=new Set(["dark","light","dark-accessible","light-accessible","claude-dark","claude-light","claude-dark-daltonized","claude-light-daltonized"])});var jK=$0(()=>{IQ();vQ()});import{createRuntimeDefaultRouter as GF,getCliModels as $4,ModelDiscovery as YF}from"@aria-cli/models";import{createRuntimeAuthContext as zF}from"@aria-cli/auth";import{MemoriaPool as WF}from"@aria-cli/aria";async function x$($){let J=_0(),K=await e2($?.cwd??process.cwd()),Z=$?.startupMode??"interactive",H=J.awsRegion||process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION,X=J.awsProfile||process.env.AWS_PROFILE,Q=!1;if(!J.awsRegion&&process.env.AWS_REGION)J.awsRegion=process.env.AWS_REGION,Q=!0;if(!J.awsProfile&&process.env.AWS_PROFILE)J.awsProfile=process.env.AWS_PROFILE,Q=!0;if(Q)T0(J);if(H&&!process.env.AWS_REGION)process.env.AWS_REGION=H;if(X&&!process.env.AWS_PROFILE)process.env.AWS_PROFILE=X;let Y=zF({ariaHome:L1(),...H||X?{bedrock:{awsRegion:H,awsProfile:X}}:{}}).authResolver,z=await GF({ariaHome:L1(),authResolver:Y,...H||X?{bedrock:{awsRegion:H,awsProfile:X}}:{}}),W=L1(),N=new WF(W,z),q=Z!=="daemon"?await Y.resolve("anthropic"):null,U=Z!=="daemon"?await Y.resolve("openai"):null,A=Z!=="daemon"?await Y.resolve("google"):null,f=Z!=="daemon"?await Y.resolve("github-copilot"):null,C=new YF({authResolver:Y,googleApiKey:A?.apiKey||J.googleApiKey,anthropicApiKey:q?.apiKey||J.anthropicApiKey,openaiApiKey:U?.apiKey,awsRegion:H,awsProfile:X,cacheDir:W}),b=Z==="daemon"?$4():$4(C.getCachedModels()),I=async(y)=>{if(Z==="daemon")return $4();let B=y?await C.refresh(!0):await C.getCachedOrRefresh();return $4(B)},w={availableProviders:[...H?["bedrock","bedrock-converse"]:[],...q?.apiKey?["anthropic"]:[],...U?.apiKey?["openai"]:[],...f?.apiKey?["github-copilot"]:[],...A?.apiKey?["google"]:[]]};return{config:J,router:z,pool:N,memoriaFactory:N.toFactory(),ariaDir:W,projectConfig:K,discovery:C,availableModels:b,refreshAvailableModels:I,credentialHints:w,authResolver:Y}}var J4=$0(()=>{c1();jK()});import{RuntimeBootstrapRecordSchema as Vw}from"@aria-cli/tools";function _F($){return $==="control_ready"||$==="network_ready"||$==="mesh_ready"}function TQ($,J){if(J.nodeId!==$)throw Error(`[local-control-client] Runtime bootstrap node mismatch for ${$}: received ${J.nodeId}`);if(!_F(J.phase))throw Error(`[local-control-client] Runtime bootstrap for ${$} is not attachable (phase=${J.phase})`);return J}var VQ=()=>{};async function qF(){let $=L1();if(mK?.ariaDir===$)return mK.handler;let{CentralErrorHandler:J}=await import("@aria-cli/aria/error-handler"),K=new J({ariaDir:$});return mK={ariaDir:$,handler:K},K}async function hQ($,J){await(await qF()).report($,{workingDir:process.cwd(),providerState:{lastProvider:"trusted-local-control",lastModel:J.endpoint,...typeof J.responseStatus==="number"?{lastStatusCode:J.responseStatus}:{}},configSnapshot:{transport:J.transport,endpoint:J.endpoint,...typeof J.responseStatus==="number"?{responseStatus:J.responseStatus}:{},payload:J.payload}})}var mK;var DQ=$0(()=>{c1()});var X4={};Z$(X4,{resolveLocalControlClientSync:()=>xK,resolveLocalControlClient:()=>q5,requestRuntimeSocketLease:()=>Z4,createResilientAttachedClient:()=>H4,attachLocalControlClient:()=>_5,attachExistingLocalControlClient:()=>pK});import*as dQ from"node:net";import{appendFileSync as NF,mkdirSync as FF}from"node:fs";import{join as pQ}from"node:path";import{randomUUID as PF}from"node:crypto";import{createRuntimeSocketAttachedLocalControlClient as xQ,createRuntimeSocketLocalControlClient as UF,createTrustedRuntimeError as OF,AttachedClientLeaseGrantSchema as AF,LocalControlSocketAttachClientRequestSchema as LF,LocalControlSocketAttachClientResponseSchema as RF,LocalControlSocketRequestSchema as fF,LocalControlSocketResponseSchema as BF}from"@aria-cli/tools";async function lQ($){await new Promise((J)=>setTimeout(J,Math.max($,0)))}function wF(){return cQ??=import("@aria-cli/server/runtime/host-supervisor"),cQ}function CF(){return EQ??=import("@aria-cli/server/runtime/node-metadata"),EQ}function IF(){return jQ??=import("@aria-cli/server/runtime/node-store"),jQ}async function uQ($){let{resolveOrCreateNode:J}=await CF();return J({ariaHome:$})}async function K4($,J){let{NodeStore:K}=await IF(),Z=new K({ariaHome:$});try{return Z.readRuntimeOwnerRecord(J)}finally{Z.close()}}function dK($){if(!($ instanceof Error))return!1;let J=$.message;return J.includes("connect ENOENT")||J.includes("ECONNREFUSED")||J.includes("Missing runtime owner record")||J.includes("not attachable")||J.includes("not control-ready")}async function W5($){let J=await K4($.ariaHome,$.nodeId);if(!J)throw Error(`[local-control-client] Missing runtime owner record for node ${$.nodeId}`);let K=SF({runtimeSocket:J.runtimeSocket,pollIntervalMs:$.pollIntervalMs}),Z=TQ($.nodeId,await K.getRuntimeBootstrap()),H,X,Q;if($.clientKind)Q=await H4({runtimeSocket:J.runtimeSocket,clientKind:$.clientKind,logDir:pQ($.ariaHome,"logs")}),H=Q.getClientId(),X=Q.getClientAuthToken();let G=null;return{nodeId:$.nodeId,runtimeId:Z.runtimeId,port:Z.controlEndpoint.port,ownership:$.ownership,...H?{attachedClientId:H}:{},...X?{attachedClientAuthToken:X}:{},control:Q?Q.api:K,release:async(Y)=>{if(G)return G;return G=(async()=>{let z=Q;Q=void 0,H=void 0,X=void 0,await z?.release().catch(()=>{}),await $.release(Y)})(),G}}}async function Z4($,J){let K=fF.parse({id:PF(),method:"attachClient",payload:J});return new Promise((Z,H)=>{let X=dQ.createConnection($),Q="",G=!1,Y=!1,z,W=new Promise((q)=>{z=q}),N=()=>{if(Y)return;if(Y=!0,z?.(),!G)G=!0,H(Error("Local control socket closed before establishing an attached-client lease"))};X.setEncoding("utf8"),X.once("connect",()=>{X.write(`${JSON.stringify(K)}
322
+ `)}),X.once("error",(q)=>{if(!G){G=!0,H(q);return}N()}),X.once("end",N),X.once("close",N),X.on("data",async(q)=>{Q+=q;let U=Q.indexOf(`
323
+ `);if(U===-1||G)return;try{let A=BF.parse(JSON.parse(Q.slice(0,U)));if(A.id!==K.id){G=!0,X.destroy(),H(Error("Local control socket response ID mismatch"));return}if(!A.ok){let C=OF(A.error,A.diagnostic);await hQ(C,{endpoint:"attachClient",responseStatus:null,payload:A,transport:"runtime_socket_attach"}),G=!0,X.destroy(),H(C);return}let f=AF.parse(RF.parse(A.payload));G=!0,Z({clientId:f.clientId,clientAuthToken:f.clientAuthToken,release:async()=>{if(!Y)X.destroy();await W}})}catch(A){G=!0,X.destroy(),H(A)}})})}async function pK($){let J=await uQ($.ariaHome);if(!await K4($.ariaHome,J.nodeId))return null;let K=Date.now()+yF;while(Date.now()<K)try{return await W5({ariaHome:$.ariaHome,nodeId:J.nodeId,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs,clientKind:$.clientKind})}catch(Z){if(!dK(Z))throw Z;if(!await K4($.ariaHome,J.nodeId))return null;await lQ(MF)}return null}function SF($){if($.auth)return xQ({runtimeSocket:$.runtimeSocket,pollIntervalMs:$.pollIntervalMs,auth:$.auth});return UF($)}async function _5($){let J=async(Q,G)=>{let Y=$.pollIntervalMs??100,z=Date.now()+Math.max(Y*20,2000),W=null;while(Date.now()<z){if($.signal?.aborted)throw Error(`[local-control-client] Attach-only client ${G} aborted while waiting for a live runtime owner on node ${Q}`);try{if(!await K4($.ariaHome,Q))W=Error(`[local-control-client] No live runtime owner available for attach-only client ${G} on node ${Q}`);else return await W5({ariaHome:$.ariaHome,nodeId:Q,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs,clientKind:G})}catch(N){if(!dK(N))throw N;W=N}await lQ(Y)}throw W??Error(`[local-control-client] No live runtime owner available for attach-only client ${G} on node ${Q}`)},{getHostSupervisor:K,HostSupervisorSplitBrainError:Z}=await wF(),H=K(),X;try{X=await H.attach({ariaHome:$.ariaHome,arionName:$.arionName,clientKind:$.clientKind,memoriaFactory:$.memoriaFactory,router:$.router,authResolver:$.authResolver,runSessionConfig:$.runSessionConfig,mcpServers:$.mcpServers,daemonSafetyPolicy:$.daemonSafetyPolicy,autonomousIntervalMs:$.autonomousIntervalMs,signal:$.signal,silent:$.silent,runtimeLifecycle:$.runtimeLifecycle,port:$.port})}catch(Q){if(Q instanceof Z)return W5({ariaHome:$.ariaHome,nodeId:Q.nodeId,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs,clientKind:$.clientKind});throw Q}try{return await X.runtime.waitForInitialDiscovery(),await W5({ariaHome:$.ariaHome,nodeId:X.nodeId,ownership:X.ownership,pollIntervalMs:$.pollIntervalMs,clientKind:$.clientKind,release:(Q)=>X.release(Q)})}catch(Q){throw await X.release(),Q}}async function q5($){let J=await uQ($.ariaHome);try{return(await W5({ariaHome:$.ariaHome,nodeId:J.nodeId,ownership:"reattached",release:async()=>{},pollIntervalMs:$.pollIntervalMs})).control}catch(K){if(dK(K))return null;throw K}}function xK($){return null}function J7($){if(!($ instanceof Error))return!1;let J=$.message;if(J.includes("attached-local-client-only"))return!0;if(J.includes("ECONNRESET"))return!0;if(J.includes("ECONNREFUSED"))return!0;if(J.includes("EPIPE"))return!0;if(J.includes("connect ENOENT"))return!0;if(J.includes("socket hang up"))return!0;if(J.includes("closed before"))return!0;return!1}function mQ($){if($<=0)return Promise.resolve();return new Promise((J)=>{setTimeout(J,$).unref?.()})}async function H4($){let{runtimeSocket:J,clientKind:K="local-api"}=$,Z=!1,H,X,Q=null,G=null,Y=(A)=>{if(!$.logDir)return;try{FF($.logDir,{recursive:!0}),NF(pQ($.logDir,"reattach.jsonl"),JSON.stringify({ts:new Date().toISOString(),pid:process.pid,...A})+`
324
+ `)}catch{}};async function z(){if(G)await G().catch(()=>{}),G=null;let A=await Z4(J,LF.parse({clientKind:K,lease:!0,pid:process.pid,displayName:$.displayName}));H=A.clientId,X=A.clientAuthToken,G=()=>A.release(),Q=xQ({runtimeSocket:J,auth:{clientId:A.clientId,clientAuthToken:A.clientAuthToken}}),Y({event:"lease_acquired",clientId:A.clientId})}await z();async function W(A,f){if(Z)throw Error("ResilientAttachedClient has been released");try{return await f(Q)}catch(C){if(!J7(C))throw C;Y({event:"reattach_start",method:A,error:C.message});for(let b=0;b<l$.length;b++){if(Z)throw Error("ResilientAttachedClient has been released");await mQ(l$[b]??0);try{await z();let I=await f(Q);return Y({event:"reattach_success",method:A,attempt:b}),I}catch(I){if(Y({event:"reattach_retry_failed",method:A,attempt:b,error:I.message,willRetry:J7(I)&&b<l$.length-1}),!J7(I)||b===l$.length-1)throw I}}throw C}}async function*N(A,f){if(Z)throw Error("ResilientAttachedClient has been released");try{yield*f(Q);return}catch(C){if(!J7(C))throw C;Y({event:"reattach_stream_start",method:A,error:C.message});for(let b=0;b<l$.length;b++){if(Z)throw Error("ResilientAttachedClient has been released");await mQ(l$[b]??0);try{await z(),yield*f(Q),Y({event:"reattach_stream_success",method:A,attempt:b});return}catch(I){if(Y({event:"reattach_stream_retry_failed",method:A,attempt:b,error:I.message,willRetry:J7(I)&&b<l$.length-1}),!J7(I)||b===l$.length-1)throw I}}}}let q=new Set(["streamRun","subscribeRuntimeEvents","subscribeInbox","subscribePeers","subscribeDirectClientInbox"]);return{api:new Proxy({},{get(A,f){if(f==="then"||f==="catch"||f==="finally")return;if(q.has(f))return(...C)=>N(f,(b)=>b[f](...C));return(...C)=>W(f,(b)=>b[f](...C))}}),getClientId:()=>H,getClientAuthToken:()=>X,release:async()=>{Z=!0;let A=Error("release() caller").stack;if(G)await G().catch(()=>{}),G=null;Y({event:"released",clientId:H,releaseStack:A})}}}var yF=1e4,MF=250,cQ,EQ,jQ,l$;var N5=$0(()=>{VQ();DQ();l$=[0,250,500,1000]});var rQ={};Z$(rQ,{resolveLocalControlClientSync:()=>xK,resolveLocalControlClient:()=>q5,requestRuntimeSocketLease:()=>Z4,createResilientAttachedClient:()=>H4,attachLocalControlClient:()=>_5,attachExistingLocalControlClient:()=>pK});var Q4=$0(()=>{N5()});var Z7;var sK=$0(()=>{Z7={name:"dark",displayName:"Dark",colors:{primary:"#5f97cd",secondary:"#888888",text:"#ffffff",textMuted:"#999999",textInverse:"#000000",success:"#4eba65",error:"#ff6b80",warning:"#ffc107",info:"#00d9ff",diffAdded:"#4eba65",diffAddedDimmed:"#2d5a35",diffRemoved:"#ff6b80",diffRemovedDimmed:"#8a3a45",arion:{cyan:"#00d9ff",magenta:"#bd00ff",yellow:"#ffc107",green:"#4eba65",blue:"#5f97cd",red:"#ff6b80",white:"#ffffff"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#00D9FF",middle:"#BD00FF",end:"#6366F1"},animationDuration:1600}}});var U5;var tK=$0(()=>{U5={name:"light",displayName:"Light",colors:{primary:"#5f97cd",secondary:"#999999",text:"#000000",textMuted:"#666666",textInverse:"#ffffff",success:"#2c7a39",error:"#ab2b3f",warning:"#b8860b",info:"#0077aa",diffAdded:"#2c7a39",diffAddedDimmed:"#a8d5b1",diffRemoved:"#ab2b3f",diffRemovedDimmed:"#e8b4bc",arion:{cyan:"#0077aa",magenta:"#aa0077",yellow:"#b8860b",green:"#2c7a39",blue:"#5f97cd",red:"#ab2b3f",white:"#333333"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#0077aa",middle:"#aa0077",end:"#5f5fd7"},animationDuration:1600}}});var tQ;var eQ=$0(()=>{sK();tQ={...Z7,name:"dark-accessible",displayName:"Dark (Accessible)",colors:{...Z7.colors,success:"#006699",error:"#cc0000",warning:"#ffaa00",diffAdded:"#006699",diffAddedDimmed:"#003d5c",diffRemoved:"#cc0000",diffRemovedDimmed:"#660000"}}});var $G;var JG=$0(()=>{tK();$G={...U5,name:"light-accessible",displayName:"Light (Accessible)",colors:{...U5.colors,success:"#005588",error:"#aa0000",warning:"#996600",diffAdded:"#005588",diffAddedDimmed:"#b3d4e8",diffRemoved:"#aa0000",diffRemovedDimmed:"#e8b3b3"}}});var KG;var ZG=$0(()=>{KG={name:"claude-dark",displayName:"Claude Dark",colors:{primary:"#5f97cd",secondary:"#888888",text:"#ffffff",textMuted:"#999999",textInverse:"#000000",success:"#4eba65",error:"#ff6b80",warning:"#ffc107",info:"#b1b9f9",diffAdded:"#225c2b",diffAddedDimmed:"#47584a",diffRemoved:"#7a2936",diffRemovedDimmed:"#69484d",arion:{cyan:"#b1b9f9",magenta:"#fd5db1",yellow:"#ffc107",green:"#4eba65",blue:"#5f97cd",red:"#ff6b80",white:"#ffffff"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#fd5db1",middle:"#5f97cd",end:"#b1b9f9"},animationDuration:1600}}});var HG;var XG=$0(()=>{HG={name:"claude-light",displayName:"Claude Light",colors:{primary:"#5f97cd",secondary:"#999999",text:"#000000",textMuted:"#666666",textInverse:"#ffffff",success:"#2c7a39",error:"#ab2b3f",warning:"#966c1e",info:"#5769f7",diffAdded:"#69db7c",diffAddedDimmed:"#c7e1cb",diffRemoved:"#ffa8b4",diffRemovedDimmed:"#fdd2d8",arion:{cyan:"#5769f7",magenta:"#ff0087",yellow:"#966c1e",green:"#2c7a39",blue:"#5f97cd",red:"#ab2b3f",white:"#333333"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#ff0087",middle:"#5f97cd",end:"#5769f7"},animationDuration:1600}}});var QG;var GG=$0(()=>{QG={name:"claude-dark-daltonized",displayName:"Claude Dark (Daltonized)",colors:{primary:"#5f97cd",secondary:"#888888",text:"#ffffff",textMuted:"#999999",textInverse:"#000000",success:"#3399ff",error:"#ff6666",warning:"#ffcc00",info:"#99ccff",diffAdded:"#004466",diffAddedDimmed:"#3e515b",diffRemoved:"#660000",diffRemovedDimmed:"#3e2c2c",arion:{cyan:"#99ccff",magenta:"#3399ff",yellow:"#ffcc00",green:"#3399ff",blue:"#5f97cd",red:"#ff6666",white:"#ffffff"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#3399ff",middle:"#5f97cd",end:"#99ccff"},animationDuration:1600}}});var YG;var zG=$0(()=>{YG={name:"claude-light-daltonized",displayName:"Claude Light (Daltonized)",colors:{primary:"#5f97cd",secondary:"#999999",text:"#000000",textMuted:"#666666",textInverse:"#ffffff",success:"#006699",error:"#cc0000",warning:"#ff9900",info:"#3366ff",diffAdded:"#99ccff",diffAddedDimmed:"#d1e7fd",diffRemoved:"#ffcccc",diffRemovedDimmed:"#ffe9e9",arion:{cyan:"#3366ff",magenta:"#0066cc",yellow:"#ff9900",green:"#006699",blue:"#5f97cd",red:"#cc0000",white:"#333333"}},symbols:{prompt:"❯",divider:"─",success:"✓",error:"✗",warning:"⚠",info:"ℹ",pending:"○",bullet:"•",arrow:"→"},banner:{gradient:{start:"#0066cc",middle:"#5f97cd",end:"#3366cc"},animationDuration:1600}}});function k6($){if(W4[$])WG=W4[$]}function L(){return WG}function g6(){return Object.keys(W4)}function _4($){return W4[$]}var W4,WG;var v=$0(()=>{sK();tK();eQ();JG();ZG();XG();GG();zG();W4={dark:Z7,light:U5,"dark-accessible":tQ,"light-accessible":$G,"claude-dark":KG,"claude-light":HG,"claude-dark-daltonized":QG,"claude-light-daltonized":YG},WG=Z7});import{EOL as Y7,homedir as iP,platform as qZ}from"os";import{readFileSync as oP,writeFileSync as sP}from"fs";import{join as L4}from"path";import{spawnSync as tP}from"node:child_process";function uG(){return _0().shiftEnterKeyBindingInstalled===!0}function D3(){let $=(process.env.TERM_PROGRAM??"").toLowerCase();return qZ()==="darwin"&&$==="iterm.app"||$==="vscode"}function eP(){if(tP("defaults",["write","com.googlecode.iterm2","GlobalKeyMap","-dict-add","0xd-0x20000-0x24",`<dict>
325
+ <key>Text</key>
326
+ <string>\\n</string>
327
+ <key>Action</key>
328
+ <integer>12</integer>
329
+ <key>Version</key>
330
+ <integer>1</integer>
331
+ <key>Keycode</key>
332
+ <integer>13</integer>
333
+ <key>Modifiers</key>
334
+ <integer>131072</integer>
335
+ </dict>`]).status!==0)throw Error("Failed to install iTerm2 Shift+Enter key binding");return`Installed iTerm2 Shift+Enter key binding${Y7}See iTerm2 → Preferences → Keys${Y7}`}function $U(){let $=L4(iP(),qZ()==="win32"?L4("AppData","Roaming","Code","User"):qZ()==="darwin"?L4("Library","Application Support","Code","User"):L4(".config","Code","User"),"keybindings.json"),J=[];try{let Z=oP($,"utf-8").trim();if(J=Z?JSON.parse(Z):[],!Array.isArray(J))J=[]}catch{J=[]}if(J.find((Z)=>Z.key==="shift+enter"&&Z.command==="workbench.action.terminal.sendSequence"&&Z.when==="terminalFocus"))return`Found existing VSCode terminal Shift+Enter key binding. Remove it to continue.${Y7}See ${$}${Y7}`;return J.push({key:"shift+enter",command:"workbench.action.terminal.sendSequence",args:{text:`\\\r
336
+ `},when:"terminalFocus"}),sP($,JSON.stringify(J,null,2),"utf-8"),`Installed VSCode terminal Shift+Enter key binding${Y7}See ${$}${Y7}`}function R4(){if(!D3())throw Error("terminal-setup is supported only in iTerm2 (macOS) and VSCode terminal");let J=(process.env.TERM_PROGRAM??"").toLowerCase()==="vscode"?$U():eP(),K=_0();return K.shiftEnterKeyBindingInstalled=!0,T0(K),J}var f4=$0(()=>{c1()});import{HEADLESS_OPERATION_SCHEMAS as Cf}from"@aria-cli/tools";function p($,J,K){let Z=Cf[J].result.safeParse(K);if(!Z.success)throw Error(`Invalid headless result for ${J}: ${Z.error.issues.map((H)=>`${H.path.join(".")||"<root>"} ${H.message}`).join("; ")}`);return{kind:"result",requestId:$,op:J,ok:!0,result:Z.data}}function Q0($,J,K,Z,H){return{kind:"result",requestId:$,op:J,ok:!1,error:{code:K,message:Z,...H?{details:H}:{}}}}function L0($,J){return async function*(K){yield Q0(K,J,"MISSING_SERVICE",`Kernel service ${$} is not configured for ${J}.`)}}var D1=()=>{};function If($){return{name:$.name??"ARIA",...$.emoji?{emoji:$.emoji}:{},personality:{traits:["helpful","curious"],style:"friendly"},...$.description?{profile:{background:$.description}}:{},createdBy:"headless"}}function Sf($,J){let K=J?.trim();return K?`I want to create a new arion named "${$}". ${K}`:`I want to create a new arion named "${$}". Help me design their personality.`}function QX($){let J=$.arionManager;if(!J?.list||!J.hatch||!J.get||!J.wake||!J.rest)return{"arion.list":L0("arionManager","arion.list"),"arion.hatch":L0("arionManager","arion.hatch"),"arion.become":L0("arionManager","arion.become"),"arion.rest":L0("arionManager","arion.rest"),"arion.wake":L0("arionManager","arion.wake"),"arion.create":L0("arionManager","arion.create")};return{"arion.list":async function*(K){let Z=J.list;yield p(K,"arion.list",{arions:await Z()})},"arion.hatch":async function*(K,Z){let H=J.get,X=Z.name?.trim(),Q=Z.description?.trim();if(!X){yield Q0(K,"arion.hatch","ARION_HATCH_FAILED","arion.hatch requires a name");return}if(await H(X)){yield Q0(K,"arion.hatch","ARION_ALREADY_EXISTS",`An arion named "${X}" already exists.`);return}yield p(K,"arion.hatch",{mode:"guided",prompt:Sf(X,Q),name:X,...Q?{description:Q}:{}})},"arion.create":async function*(K,Z){let H=J.hatch,X=await H(If(Z));yield p(K,"arion.create",{arion:X})},"arion.become":async function*(K,Z){let{get:H,wake:X}=J,Q=Z.name?.trim();if(!Q){yield Q0(K,"arion.become","ARION_BECOME_FAILED","arion.become requires a name");return}let G=await H(Q);if(!G){yield Q0(K,"arion.become","ARION_NOT_FOUND",`Arion ${Q} not found`);return}if(G.status==="resting")await X(Q);await $.config?.setActiveArion?.(Q);let Y=await $.config?.getActiveArion?.()??Q;yield p(K,"arion.become",{arion:G,activeArion:Y})},"arion.rest":async function*(K,Z){let H=J.rest,X=Z.name?.trim();if(!X){yield Q0(K,"arion.rest","ARION_REST_FAILED","arion.rest requires a name");return}await H(X),yield p(K,"arion.rest",{success:!0,name:X})},"arion.wake":async function*(K,Z){let H=J.wake,X=Z.name?.trim();if(!X){yield Q0(K,"arion.wake","ARION_WAKE_FAILED","arion.wake requires a name");return}await H(X),yield p(K,"arion.wake",{success:!0,name:X})}}}var GX=$0(()=>{D1()});function YX($,J){let K=$.auth;if(!K?.status||!K.login||!K.logout)return{"auth.status":L0("auth","auth.status"),"auth.login":L0("auth","auth.login"),"auth.logout":L0("auth","auth.logout")};return{"auth.status":async function*(Z){let H=await K.status();yield p(Z,"auth.status",{...H&&typeof H==="object"?H:{}})},"auth.login":async function*(Z,H,X){yield*J.login(Z,H,X)},"auth.logout":async function*(Z,H){yield*J.logout(Z,H)}}}var zX=$0(()=>{D1()});import{ensureAuthProfileStore as D7,syncExternalCliCredentials as K2,isProfileInCooldown as bf,upsertAuthProfile as I$,updateAuthProfileStoreWithLockSync as kf,refreshBedrockSsoToken as gf,loginBedrockSso as vf,listProfilesForProvider as c7,loginWithGitHubCopilotToken as WX,readClaudeCodeCredentialsCached as A_,readCodexCredentialsCached as L_,readGeminiCredentialsCached as R_,normalizeProviderId as Tf,OPENAI_CODEX_OAUTH_PROFILE_ID as Vf}from"@aria-cli/auth";import{spawnSync as jJ}from"node:child_process";function hf(){try{let $=jJ("gh",["auth","token","-h","github.com"],{encoding:"utf8",timeout:5000});if($.error)return{error:$.error.message};if($.status!==0){let K=($.stderr||"").trim(),Z=($.stdout||"").trim();return{error:K||Z||`gh auth token exited with status ${$.status}`}}let J=($.stdout||"").trim();if(J.length<8)return{error:"gh auth token returned an empty/short token"};return{token:J}}catch($){return{error:$ instanceof Error?$.message:String($)}}}function Df($="github.com"){try{let J=jJ("gh",["auth","status","-h",$],{encoding:"utf8",timeout:5000}),K=`${J.stdout||""}
337
+ ${J.stderr||""}`,Z=new Set;for(let H of K.split(/\r?\n/)){let X=H.match(/Logged in to .* account\s+([^\s]+)/i);if(X?.[1])Z.add(X[1])}return[...Z]}catch{return[]}}function cf($,J="github.com"){try{let K=jJ("gh",["auth","token","-h",J,"-u",$],{encoding:"utf8",timeout:5000});if(K.error)return{error:K.error.message};if(K.status!==0)return{error:(K.stderr||K.stdout||"").trim()||"gh token failed"};let Z=(K.stdout||"").trim();if(Z.length<8)return{error:"empty/short token"};return{token:Z}}catch(K){return{error:K instanceof Error?K.message:String(K)}}}function Ef(){try{let $=`${process.env.HOME||""}/.copilot/config.json`,K=(jJ("node",["-e",`const fs=require('fs');const p=${JSON.stringify($)};if(!fs.existsSync(p)){process.exit(0);}const j=JSON.parse(fs.readFileSync(p,'utf8'));const login=j?.last_logged_in_user?.login||j?.logged_in_users?.[0]?.login||'';if(login)process.stdout.write(login);`],{encoding:"utf8",timeout:5000}).stdout||"").trim();return K?{login:K}:{}}catch($){return{error:$ instanceof Error?$.message:String($)}}}function jf($){let J=$?.trim()??"";if(!J)return{useGhToken:!0,autoSelectSource:!0};let K=J.split(/\s+/).filter(Boolean),Z,H,X=!0,Q=!1,G=(Y)=>{let z=K[Y+1];return z&&!z.startsWith("--")?z:void 0};for(let Y=0;Y<K.length;Y+=1){let z=K[Y];if(z==="--profile"||z==="--label"){let W=G(Y);if(W)H=W,Y+=1;continue}if(z.startsWith("--profile=")||z.startsWith("--label=")){H=z.split("=",2)[1]?.trim()||H;continue}if(z==="--source"){let W=G(Y)?.toLowerCase();if(W==="device")X=!1;else if(W==="auto")Q=!0;Y+=W?1:0;continue}if(z.startsWith("--source=")){let W=z.split("=",2)[1]?.toLowerCase();if(W==="device")X=!1;else if(W==="auto")Q=!0;continue}if(!z.startsWith("--")&&!Z)Z=z,X=!1}if(Z&&Z.length>0)X=!1;return{token:Z,profileLabel:H,useGhToken:X,autoSelectSource:Q}}function EJ($){let J=($||"").trim();if(!J)return;return J.toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function f_(){let $=[],J=new Set,K=["GH_TOKEN","GITHUB_TOKEN","COPILOT_GITHUB_TOKEN"];for(let G of K){let Y=process.env[G]?.trim();if(Y&&Y.length>=8){let z=`env:${G}`;if(!J.has(z))$.push({id:z,label:`Using ${G} from environment`,source:"env",token:Y,status:"connected"}),J.add(z);break}}let Z=Df("github.com");for(let G of Z){let Y=cf(G,"github.com").token,z=`GitHub CLI account: ${G}`,W=`gh:${G}`;if(!J.has(W))$.push({id:W,label:z,source:"gh",login:G,token:Y,profileLabel:EJ(G),status:Y?"connected":"none"}),J.add(W)}let H=D7();K2(H);let X=c7(H,"github-copilot");for(let G of X){let Y=H.profiles[G];if(!Y)continue;let z=G.split(":").slice(1).join(":")||G,W=`profile:${z}`;if(J.has(W))continue;let N=Y.type==="oauth"&&Y.refresh?Y.refresh:void 0,q=Y.type==="oauth"&&Date.now()<Y.expires;$.push({id:W,label:`Copilot profile: ${z}`,source:"copilot",login:z,token:N,profileLabel:EJ(z),status:q||N?"connected":"none"}),J.add(W)}let Q=Ef();if(Q.login){let G=`copilot:${Q.login}`;if(!J.has(G)&&!J.has(`profile:${Q.login}`))$.push({id:G,label:`Copilot CLI last login: ${Q.login}`,source:"copilot",login:Q.login,profileLabel:EJ(Q.login),status:"connected"}),J.add(G)}return $.push({id:"device:new",label:"Sign in with a new GitHub account (device flow)",source:"device",status:"none"}),$}function mf(){let $=[],J=process.env.ANTHROPIC_API_KEY?.trim();if(J&&J.length>8){let X=J.startsWith("sk-ant-api");$.push({id:"env-key",label:"Using ANTHROPIC_API_KEY from environment",description:X?"API key detected":"Key format unrecognized",method:"env-key",status:X?"connected":"none"})}let K=D7();K2(K);let Z=c7(K,"anthropic");for(let X of Z){let Q=K.profiles[X];if(!Q)continue;let G=(Q.type==="oauth"||Q.type==="token")&&"expires"in Q&&typeof Q.expires==="number"&&Q.expires>Date.now();$.push({id:`profile:${X}`,label:`Saved profile: ${X}`,description:G?"Credentials active":"Credentials expired — will refresh on use",method:"api-key",status:G?"connected":"available"})}let H=A_();if(H){let X=H.expires>Date.now();$.push({id:"claude-cli",label:"Import from Claude Code CLI",description:X?"Use existing Claude Code credentials from keychain":"Credentials expired, will refresh",method:"claude-cli",status:X?"connected":"available"})}$.push({id:"subscription",label:"Claude account with subscription",description:"Pro, Max, Team, or Enterprise",method:"subscription",status:_X("anthropic")==="connected"?"connected":"none"}),$.push({id:"console",label:"Anthropic Console account",description:"API usage billing",method:"console",status:"none"}),$.push({id:"setup-token",label:"Paste setup-token",description:"From `claude setup-token` or admin provisioning",method:"setup-token",status:"none"});{let X=_X("bedrock"),Q=!!process.env.AWS_PROFILE?.trim();$.push({id:"bedrock",label:"3rd-party platform",description:Q?`Amazon Bedrock (AWS_PROFILE=${process.env.AWS_PROFILE})`:"Amazon Bedrock — set AWS_PROFILE to configure",method:"bedrock",status:X==="connected"?"connected":Q?"available":"none"})}return $}async function df($){switch($){case"subscription":return{mode:"oauth",provider:"anthropic"};case"console":case"api-key":return{mode:"anthropic_key_input",provider:"anthropic"};case"setup-token":return{mode:"anthropic_setup_token",provider:"anthropic"};case"env-key":{let J=process.env.ANTHROPIC_API_KEY?.trim();if(!J)return{mode:"direct",result:{success:!1,message:"ANTHROPIC_API_KEY not set in environment"}};return I$({profileId:"anthropic:env",credential:{type:"api_key",provider:"anthropic",key:J}}),{mode:"direct",result:{success:!0,message:"Saved ANTHROPIC_API_KEY from environment"}}}case"claude-cli":{let J=A_();if(!J)return{mode:"direct",result:{success:!1,message:"No Claude Code credentials found. Run `claude login` first."}};if(J.type==="oauth")return I$({profileId:"anthropic:claude-cli",credential:{type:"oauth",provider:"anthropic",access:J.access,refresh:J.refresh,expires:J.expires}}),{mode:"direct",result:{success:!0,message:"Imported Claude Code OAuth credentials"}};if(J.type==="token")return I$({profileId:"anthropic:claude-cli",credential:{type:"token",provider:"anthropic",token:J.token,expires:J.expires}}),{mode:"direct",result:{success:!0,message:"Imported Claude Code token"}};return{mode:"direct",result:{success:!1,message:"Unknown Claude Code credential type"}}}case"bedrock":return B_();default:{if($.startsWith("profile:"))return{mode:"direct",result:{success:!0,message:`Selected profile: ${$.replace("profile:","")}`}};return{mode:"direct",result:{success:!1,message:`Unknown method: ${$}`}}}}}function pf(){let $=[],J=process.env.OPENAI_API_KEY?.trim();if(J&&J.length>8){let X=J.startsWith("sk-");$.push({id:"env-key",label:"Using OPENAI_API_KEY from environment",description:X?"API key detected":"Key format unrecognized",method:"env-key",status:X?"connected":"none"})}let K=D7();K2(K);let Z=new Set;for(let X of["openai","openai-codex"]){let Q=c7(K,X);for(let G of Q){if(Z.has(G))continue;Z.add(G);let Y=K.profiles[G];if(!Y)continue;let z=(Y.type==="oauth"||Y.type==="token")&&"expires"in Y&&typeof Y.expires==="number"&&Y.expires>Date.now();$.push({id:`profile:${G}`,label:`Saved profile: ${G}`,description:z?"Credentials active":"Credentials expired — will refresh on use",method:"profile",status:z?"connected":"available"})}}let H=L_();if(H){let X=H.expires>Date.now();$.push({id:"codex-import",label:"Import from Codex CLI",description:X?"Use existing Codex credentials":"Credentials expired, will refresh",method:"codex-import",status:X?"connected":"available"})}return $.push({id:"api-key",label:"Paste API key",description:"Enter your OpenAI sk-* API key",method:"api-key",status:"none"}),$}async function xf($){switch($){case"api-key":return{mode:"openai_key_input",provider:"openai"};case"env-key":{let J=process.env.OPENAI_API_KEY?.trim();if(!J)return{mode:"direct",result:{success:!1,message:"OPENAI_API_KEY not set in environment"}};return I$({profileId:"openai:env",credential:{type:"api_key",provider:"openai",key:J}}),{mode:"direct",result:{success:!0,message:"Saved OPENAI_API_KEY from environment"}}}case"codex-import":{let J=L_();if(!J)return{mode:"direct",result:{success:!1,message:"No Codex CLI credentials found. Run `codex auth` first."}};return I$({profileId:Vf,credential:{type:"oauth",provider:"openai",access:J.access,refresh:J.refresh,expires:J.expires}}),{mode:"direct",result:{success:!0,message:"Imported Codex CLI OAuth credentials"}}}default:{if($.startsWith("profile:"))return{mode:"direct",result:{success:!0,message:`Selected profile: ${$.replace("profile:","")}`}};return{mode:"direct",result:{success:!1,message:`Unknown method: ${$}`}}}}}function lf(){let $=[],J=(process.env.GOOGLE_API_KEY??process.env.GEMINI_API_KEY)?.trim();if(J&&J.length>8){let X=J.startsWith("AIza");$.push({id:"env-key",label:`Using ${process.env.GOOGLE_API_KEY?"GOOGLE_API_KEY":"GEMINI_API_KEY"} from environment`,description:X?"API key detected":"Key format unrecognized",method:"env-key",status:X?"connected":"none"})}let K=D7();K2(K);let Z=c7(K,"google");for(let X of Z){let Q=K.profiles[X];if(!Q)continue;let G=(Q.type==="oauth"||Q.type==="token")&&"expires"in Q&&typeof Q.expires==="number"&&Q.expires>Date.now();$.push({id:`profile:${X}`,label:`Saved profile: ${X}`,description:G?"Credentials active":"Credentials expired — will refresh on use",method:"profile",status:G?"connected":"available"})}let H=R_();if(H){let X=H.expires>Date.now();$.push({id:"gemini-import",label:"Import from Gemini CLI",description:X?"Use existing Gemini CLI credentials":"Credentials expired, will refresh",method:"gemini-import",status:X?"connected":"available"})}return $.push({id:"api-key",label:"Paste API key",description:"Enter your Google AIza* API key",method:"api-key",status:"none"}),$.push({id:"oauth",label:"Gemini CLI OAuth",description:"Sign in via browser-based OAuth flow",method:"oauth",status:"none"}),$}async function uf($){switch($){case"api-key":return{mode:"google_key_input",provider:"google"};case"oauth":return{mode:"oauth",provider:"google"};case"env-key":{let J=(process.env.GOOGLE_API_KEY??process.env.GEMINI_API_KEY)?.trim();if(!J)return{mode:"direct",result:{success:!1,message:"GOOGLE_API_KEY / GEMINI_API_KEY not set in environment"}};return I$({profileId:"google:env",credential:{type:"api_key",provider:"google",key:J}}),{mode:"direct",result:{success:!0,message:"Saved Google API key from environment"}}}case"gemini-import":{let J=R_();if(!J)return{mode:"direct",result:{success:!1,message:"No Gemini CLI credentials found. Run `gemini auth` first."}};return I$({profileId:"google:gemini-cli",credential:{type:"oauth",provider:"google",access:J.access,refresh:J.refresh,expires:J.expires}}),{mode:"direct",result:{success:!0,message:"Imported Gemini CLI OAuth credentials"}}}default:{if($.startsWith("profile:"))return{mode:"direct",result:{success:!0,message:`Selected profile: ${$.replace("profile:","")}`}};return{mode:"direct",result:{success:!1,message:`Unknown method: ${$}`}}}}}function af($){return qX.includes($)}function _X($){let J=kf({updater:(X)=>K2(X)})??D7(),K=Tf($),Z=c7(J,K);for(let X of Z){let Q=J.profiles[X];if(!Q)continue;if(bf(J,X))continue;if(Q.type==="api_key"&&Q.key?.trim())return"connected";if(Q.type==="oauth"&&"expires"in Q){let G=Q.expires;if(G&&G<Date.now())continue;return"connected"}if(Q.type==="token"){let G=Q.expires;if(!G||Date.now()<G)return"connected";continue}return"connected"}let H=nf[K]??[];for(let X of H)if(process.env[X]?.trim())return"connected";return Z.length>0?"expired":"none"}function U8(){return qX.map(($)=>{let J=_X($),K=D7(),Z=c7(K,$),H;for(let X of Z){let Q=K.profiles[X];if(Q?.email){H=Q.email;break}}return{id:$,label:rf[$],status:J,...H?{email:H}:{}}})}async function B_($){if(await gf($))return{mode:"direct",result:{success:!0,message:"Bedrock SSO token refreshed (silent)"}};if(await vf($))return{mode:"direct",result:{success:!0,message:"Bedrock SSO login succeeded — credentials refreshed"}};return{mode:"direct",result:{success:!1,message:["Bedrock SSO login failed.","Try running manually: aws sso login --profile "+($||process.env.AWS_PROFILE||"default")].join(`
338
+ `)}}}function cJ($,J){if(J.length<8)return{mode:"direct",result:{success:!1,message:"API key too short (minimum 8 characters)"}};let K=`${$}:manual`;return I$({profileId:K,credential:{type:"api_key",provider:$,key:J}}),{mode:"direct",result:{success:!0,message:`Saved ${$} API key (profile: ${K})`}}}function of($){if($.length<8)return{mode:"direct",result:{success:!1,message:"Setup token too short (minimum 8 characters)"}};let J="anthropic:setup-token";return I$({profileId:J,credential:{type:"api_key",provider:"anthropic",key:$}}),{mode:"direct",result:{success:!0,message:`Saved Anthropic setup token (profile: ${J})`}}}async function sf($,J){if(!af($))return{mode:"direct",result:{success:!1,message:`Unknown provider "${$}". Supported: ${qX.join(", ")}`}};if($==="bedrock"){let Z=J?.trim()||void 0;return B_(Z)}if($==="github-copilot"){let Z=jf(J);if(!Z.token&&!Z.profileLabel&&Z.autoSelectSource)return{mode:"copilot_source_picker",provider:"github-copilot",options:f_()};if(Z.token){let H=await WX({githubToken:Z.token,profileLabel:Z.profileLabel});return{mode:"direct",result:{success:H.success,message:H.message}}}if(Z.useGhToken){let H=hf();if(H.token){let X=await WX({githubToken:H.token,profileLabel:Z.profileLabel});if(X.success)return{mode:"direct",result:{success:!0,message:`${X.message} (imported from gh auth token)`}};return{mode:"copilot_device",provider:"github-copilot",profileLabel:Z.profileLabel,message:`gh auth token import failed: ${X.message}
339
+ Falling back to interactive device login...`}}return{mode:"copilot_device",provider:"github-copilot",profileLabel:Z.profileLabel,...H.error?{message:`Could not read gh auth token: ${H.error}`}:{}}}return{mode:"copilot_device",provider:"github-copilot",profileLabel:Z.profileLabel}}if($==="anthropic"){let Z=J?.trim();if(Z?.startsWith("--setup-token")){let X=Z.replace(/^--setup-token\s*/,"").trim();return of(X)}if(Z?.startsWith("--method")){let X=Z.replace(/^--method\s*/,"").trim();return df(X)}if(Z)return cJ($,Z);return{mode:"anthropic_method_picker",provider:"anthropic",options:mf()}}if($==="openai"){let Z=J?.trim();if(Z?.startsWith("--method")){let X=Z.replace(/^--method\s*/,"").trim();return xf(X)}if(Z)return cJ($,Z);return{mode:"openai_method_picker",provider:"openai",options:pf()}}if($==="google"){let Z=J?.trim();if(Z?.startsWith("--method")){let X=Z.replace(/^--method\s*/,"").trim();return uf(X)}if(Z)return cJ($,Z);return{mode:"google_method_picker",provider:"google",options:lf()}}let K=J?.trim();if(K)return cJ($,K);return{mode:"oauth",provider:$}}async function mJ($){let J=$.trim().split(/\s+/),K=J[0]?.toLowerCase()||"",Z=J.slice(1).join(" ").trim();if(!K)return{mode:"picker",providers:U8()};if(K==="github-copilot"&&Z.startsWith("--from ")){let H=Z.slice(7).trim(),Q=f_().find((G)=>G.id===H);if(!Q)return{mode:"direct",result:{success:!1,message:`Unknown Copilot source: ${H}`}};if(Q.source==="device")return{mode:"copilot_device",provider:"github-copilot",profileLabel:Q.profileLabel};if(Q.token){let G=await WX({githubToken:Q.token,profileLabel:Q.profileLabel});return{mode:"direct",result:{success:G.success,message:G.message}}}if(Q.login)return{mode:"copilot_device",provider:"github-copilot",profileLabel:EJ(Q.login)}}return sf(K,Z||void 0)}var qX,rf,nf;var dJ=$0(()=>{qX=["bedrock","anthropic","google","openai","github-copilot"],rf={bedrock:"Bedrock (AWS SSO)",anthropic:"Anthropic",google:"Google (Gemini)",openai:"OpenAI","github-copilot":"GitHub Copilot"};nf={anthropic:["ANTHROPIC_API_KEY"],openai:["OPENAI_API_KEY"],google:["GOOGLE_API_KEY","GEMINI_API_KEY"],"github-copilot":["GH_TOKEN","GITHUB_TOKEN","COPILOT_GITHUB_TOKEN"],bedrock:["AWS_PROFILE"]}});import{ensureAuthProfileStore as y_,listProfilesForProvider as tf,updateAuthProfileStoreWithLockSync as M_}from"@aria-cli/auth";function ef($){let J=y_(),K=tf(J,$);if(K.length===0)return{success:!1,message:`No credentials found for "${$}"`};M_({updater:(H)=>{for(let X of K){let Q=H.profiles[X]?.provider;if(delete H.profiles[X],Q&&H.lastGood)delete H.lastGood[Q]}if(H.usageStats)for(let X of K)delete H.usageStats[X];return!0}});let Z=K.length===1?"profile":"profiles";return{success:!0,message:`Disconnected ${$} (removed ${K.length} ${Z})`}}function $B(){let $=y_(),J=Object.keys($.profiles).length;if(J===0)return{success:!1,message:"No providers connected"};return M_({updater:(Z)=>{return Z.profiles={},Z.lastGood=void 0,Z.usageStats=void 0,!0}}),{success:!0,message:`Cleared all credentials (${J} ${J===1?"profile":"profiles"} removed)`}}function pJ($){let J=$.trim().toLowerCase();if(J==="all")return{mode:"direct",result:$B()};if(J)return{mode:"direct",result:ef(J)};let Z=U8().filter((H)=>H.status!=="none");if(Z.length===0)return{mode:"direct",result:{success:!0,message:"No providers connected"}};return{mode:"picker",providers:Z}}var NX=$0(()=>{dJ()});function w_(){return U8()}async function C_($){return mJ($)}function I_($){return pJ($)}function S_($){if(typeof $.args==="string"&&$.args.trim().length>0)return $.args.trim();let J=[];if(typeof $.provider==="string"&&$.provider.trim().length>0)J.push($.provider.trim());if(typeof $.method==="string"&&$.method.trim().length>0)J.push($.method.trim());if(typeof $.source==="string"&&$.source.trim().length>0)J.push("--source",$.source.trim());if(typeof $.profileLabel==="string"&&$.profileLabel.trim().length>0)J.push("--profile",$.profileLabel.trim());if(typeof $.credential==="string"&&$.credential.trim().length>0)J.push($.credential.trim());return J.join(" ")}function b_($){if(typeof $.args==="string"&&$.args.trim().length>0)return $.args.trim();if(typeof $.provider==="string"&&$.provider.trim().length>0)return $.provider.trim();return""}var k_=$0(()=>{dJ();NX()});function g_($){return"listAttachedClients"in $&&typeof $.listAttachedClients==="function"&&"listDirectClientInbox"in $&&typeof $.listDirectClientInbox==="function"}function FX($){return{"client.list":async function*(J){if(!g_($.localControl)){yield Q0(J,"client.list","MISSING_SERVICE","Attached local-control client directory is unavailable.");return}yield p(J,"client.list",{clients:await $.localControl.listAttachedClients()})},"client.inbox.list":async function*(J,K){if(!g_($.localControl)){yield Q0(J,"client.inbox.list","MISSING_SERVICE","Attached local-control client inbox is unavailable.");return}yield p(J,"client.inbox.list",{events:await $.localControl.listDirectClientInbox(K)})}}}var PX=$0(()=>{D1()});function UX($){let J=$.config;if(!J?.getTheme||!J.setTheme||!J.getAutonomy||!J.setAutonomy)return{"config.theme.get":L0("config","config.theme.get"),"config.theme.set":L0("config","config.theme.set"),"config.autonomy.get":L0("config","config.autonomy.get"),"config.autonomy.set":L0("config","config.autonomy.set")};return{"config.theme.get":async function*(K){try{yield p(K,"config.theme.get",{theme:await J.getTheme()})}catch(Z){yield Q0(K,"config.theme.get","CONFIG_THEME_GET_FAILED",Z instanceof Error?Z.message:String(Z))}},"config.theme.set":async function*(K,Z){let H=Z.theme?.trim();if(!H){yield Q0(K,"config.theme.set","CONFIG_THEME_SET_FAILED","config.theme.set requires a theme");return}try{let X=await J.setTheme(H);yield p(K,"config.theme.set",{theme:H,...X&&typeof X==="object"?X:{}})}catch(X){yield Q0(K,"config.theme.set","CONFIG_THEME_SET_FAILED",X instanceof Error?X.message:String(X))}},"config.autonomy.get":async function*(K){try{yield p(K,"config.autonomy.get",{autonomy:await J.getAutonomy()})}catch(Z){yield Q0(K,"config.autonomy.get","CONFIG_AUTONOMY_GET_FAILED",Z instanceof Error?Z.message:String(Z))}},"config.autonomy.set":async function*(K,Z){let H=Z.autonomy?.trim();if(!H){yield Q0(K,"config.autonomy.set","CONFIG_AUTONOMY_SET_FAILED","config.autonomy.set requires an autonomy level");return}try{let X=await J.setAutonomy(H);yield p(K,"config.autonomy.set",{autonomy:H,...X&&typeof X==="object"?X:{}})}catch(X){yield Q0(K,"config.autonomy.set","CONFIG_AUTONOMY_SET_FAILED",X instanceof Error?X.message:String(X))}}}}var OX=$0(()=>{D1()});function v_($){let J=$.daemon;if(!J?.start||!J.status||!J.stop)return{"daemon.start":L0("daemon","daemon.start"),"daemon.status":L0("daemon","daemon.status"),"daemon.stop":L0("daemon","daemon.stop")};return{"daemon.start":async function*(K,Z){try{yield p(K,"daemon.start",await J.start(Z))}catch(H){yield Q0(K,"daemon.start","DAEMON_START_FAILED",H instanceof Error?H.message:String(H))}},"daemon.status":async function*(K,Z){try{yield p(K,"daemon.status",await J.status(Z))}catch(H){yield Q0(K,"daemon.status","DAEMON_STATUS_FAILED",H instanceof Error?H.message:String(H))}},"daemon.stop":async function*(K,Z){try{yield p(K,"daemon.stop",await J.stop(Z))}catch(H){yield Q0(K,"daemon.stop","DAEMON_STOP_FAILED",H instanceof Error?H.message:String(H))}}}}var T_=$0(()=>{D1()});function AX($){let J=$.memoria;if(!J)return{"memory.remember":L0("memoria","memory.remember"),"memory.recall":L0("memoria","memory.recall"),"memory.list":L0("memoria","memory.list"),"memory.forget":L0("memoria","memory.forget"),"memory.recall_knowledge":L0("memoria","memory.recall_knowledge")};return{"memory.remember":async function*(K,Z){let H=Z.text?.trim();if(!H){yield Q0(K,"memory.remember","MEMORY_REMEMBER_FAILED","memory.remember requires text");return}let X=await J.remember(H);if(!X?.id){yield Q0(K,"memory.remember","MEMORY_REMEMBER_FAILED","Failed to store memory");return}let Q=await J.count(),G=H.length>50?`${H.slice(0,50)}...`:H;yield p(K,"memory.remember",{success:!0,message:`Remembered: "${G}"`,data:{id:X.id,count:Q}})},"memory.recall":async function*(K,Z){let H=Z.query?.trim();if(!H){yield Q0(K,"memory.recall","MEMORY_RECALL_FAILED","memory.recall requires a query");return}let X=await J.recall(H),Q=Array.isArray(X.memories)?X.memories:[];if(Q.length===0){yield p(K,"memory.recall",{success:!0,message:"No memories found matching your query.",count:0,memories:[]});return}yield p(K,"memory.recall",{success:!0,message:`Found ${Q.length} memories:`,count:Q.length,memories:Q})},"memory.list":async function*(K,Z){let H=Z,X=await J.list({...typeof H.limit==="number"?{limit:H.limit}:{},...typeof H.offset==="number"?{offset:H.offset}:{}}),Q=typeof H.query==="string"&&H.query.trim().length>0?X.filter((G)=>G.content.toLowerCase().includes(H.query.trim().toLowerCase())):X;yield p(K,"memory.list",{memories:Q,count:Q.length})},"memory.forget":async function*(K,Z){let H=Z.id?.trim();if(!H){yield Q0(K,"memory.forget","MEMORY_FORGET_FAILED","memory.forget requires an id");return}let X=await J.deleteMemory(H);yield p(K,"memory.forget",{success:!0,message:X?`Deleted memory ${H}.`:`Memory ${H} not found or already deleted.`,deleted:X})},"memory.recall_knowledge":async function*(K,Z){let H=Z,X=H.topic?.trim();if(!X){yield Q0(K,"memory.recall_knowledge","MEMORY_RECALL_KNOWLEDGE_FAILED","memory.recall_knowledge requires a topic");return}let Q=await J.recallTools({query:X,...typeof H.limit==="number"?{limit:H.limit}:{}});yield p(K,"memory.recall_knowledge",{tools:Q,count:Q.length})}}}var LX=$0(()=>{D1()});import{randomUUID as h_}from"node:crypto";import{OutboundMessageSchema as JB}from"@aria-cli/tools";function KB($){let J=$.trim();if(!J)return null;let K=J.indexOf(" ");if(K<=0)return null;let Z=J.slice(0,K).trim(),H=J.slice(K+1).trim();if(!Z||!H)return null;return{recipient:Z,content:H}}function E7($){return $.displayNameSnapshot?.trim()||$.nodeId}function RX($){return $.displayLabel.trim()||$.clientId}function V_($){let J=RX($);return J===$.clientId?$.clientId:`${J} (${$.clientId})`}function D_($){let J=$.trim().replace(/^@/,""),K=J.indexOf("#");if(K>0)return{peer:J.slice(0,K),client:J.slice(K+1)||void 0};let Z=J.indexOf("/");if(Z>0)return{peer:J.slice(0,Z),arion:J.slice(Z+1)||void 0};return{peer:J}}function ZB($,J){let{peer:K}=D_(J),Z=$.find((X)=>X.nodeId.toLowerCase()===K);if(Z)return Z;let H=$.filter((X)=>E7(X).toLowerCase()===K);if(H.length===1)return H[0];return null}function HB($,J){let K=J.trim().toLowerCase().replace(/^@/,"");return $.filter((Z)=>E7(Z).toLowerCase()===K).length>1}function XB($,J){let K=J.trim().toLowerCase().replace(/^@/,"");return $.find((Z)=>Z.clientId.toLowerCase()===K)??null}function QB($,J){let K=J.trim().toLowerCase();return $.find((Z)=>RX(Z).toLowerCase()===K)??null}function GB($){let J={};if($.targetArion)J.targetArion=$.targetArion;if($.targetClient)J.targetClient=$.targetClient;let K=Object.keys(J).length>0;return{rawMessage:{version:1,id:`headless-send-${h_()}`,sender:{id:$.senderNodeId,name:$.senderName,type:"arion"},recipient:{id:$.recipient.nodeId,name:E7($.recipient),type:"peer"},type:"message",content:$.content,timestamp:Date.now(),priority:2,...K?{metadata:J}:{}},to:$.recipient.nodeId,type:"message",content:$.content,priority:2,...K?{metadata:J}:{}}}function YB($){return{rawMessage:{version:1,id:`headless-send-${h_()}`,sender:{id:$.senderNodeId,name:$.senderName,type:"arion"},recipient:{id:$.recipient.clientId,name:RX($.recipient),type:"client"},type:"message",content:$.content,timestamp:Date.now(),priority:2},recipientInbox:{kind:"client",clientId:$.recipient.clientId},type:"message",content:$.content,priority:2}}async function zB($,J){let K=typeof J.args==="string"&&J.args.trim().length>0?KB(J.args):J.recipient&&J.content?{recipient:J.recipient,content:J.content}:null;if(!K)return{ok:!1,code:"MESSAGE_SEND_FAILED",message:"Usage: /send <peer-name|node-id|client-id> <message>"};let[Z,H,X]=await Promise.all([$.localControl.listPeers(),$.localControl.listAttachedClients(),$.localControl.getRuntimeStatus()]),Q=J.senderName?.trim()||"ARIA",G=XB(H,K.recipient);if(G){if(G.self)return{ok:!1,code:"MESSAGE_SEND_FAILED",message:"Cannot send a same-home message to yourself."};return{ok:!0,outbound:YB({senderNodeId:X.nodeId,senderName:Q,recipient:G,content:K.content}),message:`Sent message to ${V_(G)}.`}}if(HB(Z,K.recipient))return{ok:!1,code:"MESSAGE_SEND_FAILED",message:`Multiple peers match "${K.recipient}". Use the nodeId instead.`};let Y=ZB(Z,K.recipient);if(!Y){let N=QB(H,K.recipient);if(N)return{ok:!1,code:"MESSAGE_SEND_FAILED",message:`Same-home clients require the exact clientId. Use /clients to choose ${V_(N)}.`};return{ok:!1,code:"MESSAGE_SEND_FAILED",message:`Recipient "${K.recipient}" not found.`}}let z=D_(K.recipient),W=z.arion?`${E7(Y)}/${z.arion}`:z.client?`${E7(Y)}#${z.client}`:E7(Y);return{ok:!0,outbound:GB({senderNodeId:X.nodeId,senderName:Q,recipient:Y,content:K.content,targetArion:z.arion,targetClient:z.client}),message:`Sent message to ${W}.`}}function WB($,J){if($.deliveryState==="queued_for_route")return J.replace(/^Sent/,"Queued");if($.deliveryState==="dispatching")return`${J.slice(0,-1)}; awaiting acknowledgement.`;if($.delivered)return J.replace(/^Sent/,"Delivered");return J}function fX($){return{"message.send":async function*(J,K){let Z=JB.safeParse(K);if(Z.success){yield p(J,"message.send",{receipt:await $.localControl.sendDurable(Z.data)});return}if(!(K&&typeof K==="object"&&(typeof K.args==="string"||typeof K.recipient==="string"||typeof K.content==="string"))){yield Q0(J,"message.send","INVALID_INPUT","Invalid input for message.send");return}let X=await zB($,K);if(!X.ok){yield Q0(J,"message.send",X.code,X.message);return}let Q=await $.localControl.sendDurable(X.outbound);yield p(J,"message.send",{receipt:Q,message:WB(Q,X.message)})},"message.inbox.list":async function*(J,K){yield p(J,"message.inbox.list",{events:await $.localControl.listInbox(K)})}}}var BX=$0(()=>{D1()});function yX($){let J=$.modelDiscovery;if(!J?.listAvailable||!J.refresh||!J.setCurrentModel)return{"model.list":L0("modelDiscovery","model.list"),"model.set":L0("modelDiscovery","model.set"),"model.refresh":L0("modelDiscovery","model.refresh")};return{"model.list":async function*(K){let Z=J.listAvailable;yield p(K,"model.list",{models:await Z(),currentModel:await J.getCurrentModel?.()})},"model.set":async function*(K,Z){let H=J.setCurrentModel,X=Z.model?.trim();if(!X){yield Q0(K,"model.set","MODEL_SET_FAILED","model.set requires a model");return}let Q=await H(X);yield p(K,"model.set",{currentModel:X,...Q&&typeof Q==="object"?Q:{}})},"model.refresh":async function*(K){let Z=J.refresh;yield p(K,"model.refresh",{models:await Z(!0)})}}}var MX=$0(()=>{D1()});function wX($){return{"peer.list":async function*(J){yield p(J,"peer.list",{peers:await $.localControl.listPeers()})},"peer.list_nearby":async function*(J){yield p(J,"peer.list_nearby",{peers:await $.localControl.listNearbyPeers()})},"peer.pending.list":async function*(J){yield p(J,"peer.pending.list",{requests:await $.localControl.listPendingPairRequests()})},"peer.pending.respond":async function*(J,K){yield p(J,"peer.pending.respond",{response:await $.localControl.respondToPairRequest(K)})},"peer.invite":async function*(J,K){yield p(J,"peer.invite",{invite:await $.localControl.createInvite(K)})},"peer.connect":async function*(J,K){yield p(J,"peer.connect",{invite:await $.localControl.invitePeer(K)})},"peer.accept_invite":async function*(J,K){yield p(J,"peer.accept_invite",{accepted:await $.localControl.acceptInviteToken(K)})},"peer.direct_pair":async function*(J,K){yield p(J,"peer.direct_pair",{pair:await $.localControl.directPair(K)})},"peer.repair":async function*(J,K){yield p(J,"peer.repair",{repair:await $.localControl.repairPeer(K)})},"peer.revoke":async function*(J,K){yield p(J,"peer.revoke",{revoke:await $.localControl.revokePeer(K)})}}}var CX=$0(()=>{D1()});function IX($){return{"run.start":async function*(J,K,Z){yield*$.start(J,K,Z?.signal)},"run.resume":async function*(J,K,Z){yield*$.resume(J,K,Z?.signal)},"run.abort":async function*(J,K,Z){yield*$.abort(J,K,Z?.activeRunController)},"interaction.respond":async function*(J,K,Z){let H=K&&typeof K==="object"&&"kind"in K?K:{kind:"interaction.respond",requestId:J,...K};yield*$.respond(H,Z?.signal)}}}var j_={};Z$(j_,{createSessionOperationHandlers:()=>xJ,buildSessionReadResult:()=>bX,buildSessionLoadResult:()=>kX,buildSessionListResult:()=>SX,buildSessionForkResult:()=>E_});function _B($){return{...$,createdAt:$.createdAt.toISOString(),updatedAt:$.updatedAt.toISOString(),...$.completedAt?{completedAt:$.completedAt.toISOString()}:{}}}function c_($){let J=$.sessionId;return typeof J==="string"?J.trim():""}function SX($,J,K){let Z=K,H=typeof Z.query==="string"&&Z.query.trim().length>0?J.searchSessionSummaries(Z.query,Z.limit??20,Z.offset??0):J.listSessions(Z.limit??20,Z.offset??0);return p($,"session.list",{sessions:H.map(_B)})}function bX($,J,K){let Z=c_(K);if(!Z)return Q0($,"session.read","SESSION_READ_FAILED","session.read requires a sessionId");let H=J.findSessionByPrefix(Z)??Z,X=J.loadSessionMessages(H);if(!X)return Q0($,"session.read","SESSION_NOT_FOUND",`Session ${Z} not found`);return p($,"session.read",{session:X})}function kX($,J,K){let Z=c_(K);if(!Z)return Q0($,"session.load","SESSION_LOAD_FAILED","session.load requires a sessionId");let H=J.findSessionByPrefix(Z)??Z,X=J.loadSession(H);if(!X)return Q0($,"session.load","SESSION_NOT_FOUND",`Session ${Z} not found`);return p($,"session.load",{session:X.session,loaded:!0,...X.runtimeState?{runtimeState:X.runtimeState}:{},...X.pendingInteraction?{pendingInteraction:X.pendingInteraction}:{}})}function E_($,J,K){let Z=K,H=typeof Z.sessionId==="string"?Z.sessionId.trim():"";if(!H)return Q0($,"session.fork","SESSION_FORK_FAILED","session.fork requires a sessionId");let X=J.findSessionByPrefix(H)??H;try{let Q=J.forkSession(X,{messageLimit:Z.messageLimit});return p($,"session.fork",{newSessionId:Q.newSessionId,sourceSessionId:Q.sourceSessionId,messagesCopied:Q.messagesCopied,title:Q.title})}catch(Q){return Q0($,"session.fork","SESSION_NOT_FOUND",Q.message)}}function xJ($){return{"session.list":async function*(J,K){yield SX(J,$.sessionLedger,K)},"session.read":async function*(J,K){yield bX(J,$.sessionLedger,K)},"session.load":async function*(J,K){yield kX(J,$.sessionLedger,K)},"session.fork":async function*(J,K){yield E_(J,$.sessionLedger,K)}}}var Z2=$0(()=>{D1()});var m_=$0(()=>{GX();zX();PX();OX();LX();BX();MX();CX();Z2()});function d_($){let J=$.hook;if(!J?.extract||!J.reflect||!J.consolidate||!J.ingest||!J.harvest)return{"hook.extract":L0("hook","hook.extract"),"hook.reflect":L0("hook","hook.reflect"),"hook.consolidate":L0("hook","hook.consolidate"),"hook.ingest":L0("hook","hook.ingest"),"hook.harvest":L0("hook","hook.harvest")};return{"hook.extract":async function*(K,Z,H){try{yield p(K,"hook.extract",await J.extract(Z,{signal:H?.signal}))}catch(X){yield Q0(K,"hook.extract","HOOK_EXTRACT_FAILED",X instanceof Error?X.message:String(X))}},"hook.reflect":async function*(K,Z,H){try{yield p(K,"hook.reflect",await J.reflect(Z,{signal:H?.signal}))}catch(X){yield Q0(K,"hook.reflect","HOOK_REFLECT_FAILED",X instanceof Error?X.message:String(X))}},"hook.consolidate":async function*(K,Z,H){try{yield p(K,"hook.consolidate",await J.consolidate(Z,{signal:H?.signal}))}catch(X){yield Q0(K,"hook.consolidate","HOOK_CONSOLIDATE_FAILED",X instanceof Error?X.message:String(X))}},"hook.ingest":async function*(K,Z,H){try{yield p(K,"hook.ingest",await J.ingest(Z,{signal:H?.signal}))}catch(X){yield Q0(K,"hook.ingest","HOOK_INGEST_FAILED",X instanceof Error?X.message:String(X))}},"hook.harvest":async function*(K,Z,H){try{yield p(K,"hook.harvest",await J.harvest(Z,{signal:H?.signal}))}catch(X){yield Q0(K,"hook.harvest","HOOK_HARVEST_FAILED",X instanceof Error?X.message:String(X))}}}}var p_=$0(()=>{D1()});function x_($){let J=$.system;if(!J?.restart||!J.terminalSetup)return{"system.restart":L0("system","system.restart"),"system.terminal_setup":L0("system","system.terminal_setup")};return{"system.restart":async function*(K,Z){yield p(K,"system.restart",await J.restart(Z))},"system.terminal_setup":async function*(K){yield p(K,"system.terminal_setup",await J.terminalSetup())}}}var l_=$0(()=>{D1()});var a_={};Z$(a_,{createDaemonService:()=>H2});import{spawn as qB}from"node:child_process";import{existsSync as u_,mkdirSync as NB,openSync as FB,closeSync as PB}from"node:fs";import r_ from"node:path";import{fileURLToPath as gX}from"node:url";function AB($){return new Promise((J)=>setTimeout(J,Math.max($,0)))}function LB(){let $=gX(new URL("../../../server/dist/daemon-launcher.js",import.meta.url));if(u_($))return{command:process.execPath,args:[$]};try{let K=gX(import.meta.resolve("@aria-cli/server/daemon-launcher"));if(u_(K))return{command:process.execPath,args:[K]}}catch{}let J=gX(new URL("../../../server/src/daemon-launcher.ts",import.meta.url));return{command:process.execPath,args:["--import","tsx",J]}}function RB($,J,K){return(typeof K.arion==="string"?K.arion.trim():"")||J||$.config.activeArion?.trim()||"ARIA"}function fB($){return{...typeof $.intervalMs==="number"?{intervalMs:$.intervalMs}:{},...$.allowedToolCategories||$.allowedShellCommands||typeof $.maxWriteOpsPerMinute==="number"||typeof $.maxGitPushesPerHour==="number"?{safetyPolicy:{...Array.isArray($.allowedToolCategories)?{allowedToolCategories:$.allowedToolCategories}:{},...Array.isArray($.allowedShellCommands)?{allowedShellCommands:$.allowedShellCommands}:{},...typeof $.maxWriteOpsPerMinute==="number"?{maxWriteOpsPerMinute:$.maxWriteOpsPerMinute}:{},...typeof $.maxGitPushesPerHour==="number"?{maxGitPushesPerHour:$.maxGitPushesPerHour}:{}}}:{}}}async function BB($){let J=Date.now()+UB,K=null;while(Date.now()<J){try{let Z=await q5({ariaHome:$.ariaHome});if(Z){let H=await Z.getRuntimeStatus();if(!$.requireRunning||H.autonomousLoop.status==="running")return H}}catch(Z){K=Z instanceof Error?Z:Error(String(Z))}await AB(OB)}throw Error(K?.message??"Timed out waiting for the daemon runtime to become reachable")}function yB($){let J=LB(),K=[...J.args,"--arion",$.arionName];if(typeof $.input.port==="number")K.push("--port",String($.input.port));if(typeof $.input.intervalMs==="number")K.push("--interval-ms",String($.input.intervalMs));if(Array.isArray($.input.allowedToolCategories)&&$.input.allowedToolCategories.length>0)K.push("--allowed-tool-categories",$.input.allowedToolCategories.join(","));if(Array.isArray($.input.allowedShellCommands)&&$.input.allowedShellCommands.length>0)K.push("--allowed-shell-commands",$.input.allowedShellCommands.join(","));if(typeof $.input.maxWriteOpsPerMinute==="number")K.push("--max-write-ops-per-minute",String($.input.maxWriteOpsPerMinute));if(typeof $.input.maxGitPushesPerHour==="number")K.push("--max-git-pushes-per-hour",String($.input.maxGitPushesPerHour));let Z=r_.join($.ariaHome,"logs");NB(Z,{recursive:!0});let H=FB(r_.join(Z,"daemon-stderr.log"),"a");qB(J.command,K,{cwd:$.cwd,env:{...process.env,ARIA_HOME:$.ariaHome},detached:!0,stdio:["ignore","ignore",H]}).unref(),PB(H)}function H2($){let J=$.cli.ariaDir,K=!1,Z=()=>$.getArionName?.()??$.arionName??"ARIA",H=(Q)=>{let G=typeof Q.arion==="string"?Q.arion.trim():"",Y=Z();if(G&&G!==Y)throw Error(`daemon operations are scoped to ${Y}; switch scope with arion.become before targeting ${G}`);return G||Y},X=async()=>{if(!$.localControl)return null;try{return await $.localControl.getRuntimeStatus(),$.localControl}catch{return null}};return{async start(Q){let G=RB($.cli,H(Q),Q),Y=await X();if(!Y)return K=!0,yB({ariaHome:J,cwd:$.cwd,arionName:G,input:Q}),BB({ariaHome:J,requireRunning:!0});let z=await Y.getRuntimeStatus();if(z.autonomousLoop.status==="running")return K=!1,z;if(!Y.startAutonomousLoop)throw Error("Live runtime does not expose autonomous-loop start control");return K=!0,Y.startAutonomousLoop(fB(Q))},async status(Q={}){H(Q);let G=await X();if(!G)throw Error("No live runtime is available for daemon.status");return G.getRuntimeStatus()},async stop(Q={}){H(Q);let G=await X();if(!G)throw Error("No live runtime is available for daemon.stop");if(!G.stopAutonomousLoop)throw Error("Live runtime does not expose autonomous-loop stop control");return K=!1,G.stopAutonomousLoop()},shouldStopOnShutdown(){return K},async releaseAll(){}}}var UB=15000,OB=250;var lJ=$0(()=>{Q4()});import{lightReflection as MB}from"@aria-cli/aria";import{ingestClaudeCodeHistory as wB}from"@aria-cli/memoria-bridge";function E9($){if(!$?.aborted)return;let J=$.reason instanceof Error&&$.reason.message?$.reason.message:"The operation was aborted",K=Error(J);throw K.name="AbortError",K}function IB($={}){let J={preHarvest:$.preHarvest===!0,feedback:$.feedback===!0,extract:$.extract===!0,stats:$.stats===!0,cleanup:$.cleanup===!0,cost:$.cost===!0,all:$.all===!0,limit:typeof $.limit==="number"&&Number.isInteger($.limit)&&$.limit>0?$.limit:50};if(J.all)J.preHarvest=!0,J.extract=!0,J.stats=!0;return J}async function i_($,J,K={}){if(E9(K.signal),!J)return{output:{error:"no input on stdin"},exitCode:1};let Z;try{if(Z=JSON.parse(J),!Array.isArray(Z))throw Error("expected array")}catch{return{output:{error:"stdin must be JSON array of {user, assistant} pairs"},exitCode:1}}if(Z.length>n_)return{output:{error:`hook.extract accepts at most ${n_} pairs per request`},exitCode:1};let H=[],X=0,Q=Array.from({length:Math.min(CB,Z.length)},async()=>{while(!0){E9(K.signal);let G=X;if(X+=1,G>=Z.length)return;let Y=Z[G];if(!Y.user||!Y.assistant){H[G]={user:Y.user??"",extracted:0,error:"missing user or assistant"};continue}try{let z=await $.extractFromConversation(Y.user,Y.assistant);E9(K.signal);let W=z?.learned;H[G]={user:Y.user.slice(0,80),extracted:Array.isArray(W)?W.length:0}}catch(z){E9(K.signal),H[G]={user:Y.user.slice(0,80),extracted:0,error:z instanceof Error?z.message:String(z)}}}});return await Promise.all(Q),{output:{extracted:H}}}async function vX($,J,K,Z={}){E9(Z.signal);let H=[];if(K)try{let X=JSON.parse(K);if(Array.isArray(X)){for(let Q of X)if(Q.role&&Q.content)H.push({role:Q.role,content:typeof Q.content==="string"?Q.content:JSON.stringify(Q.content)})}}catch{H.push({role:"user",content:"Session review"}),H.push({role:"assistant",content:K})}if(H.length<2)return{output:{findings:null,reason:"insufficient conversation"}};try{let X=await MB(J,$,H);return E9(Z.signal),{output:{findings:X}}}catch(X){return E9(Z.signal),{output:{findings:null,error:X instanceof Error?X.message:String(X)}}}}async function o_($,J={}){E9(J.signal);try{let K=await $.reflect({full:!1});return E9(J.signal),{output:K}}catch(K){return E9(J.signal),{output:{error:K instanceof Error?K.message:String(K)}}}}async function s_($,J={}){E9(J.signal);try{let K=await wB($);return E9(J.signal),{output:K}}catch(K){return E9(J.signal),{output:{error:K instanceof Error?K.message:String(K)}}}}async function t_($,J,K={},Z={}){E9(Z.signal);let H=IB(K);if(!H.feedback&&!H.extract&&!H.stats&&!H.cleanup)return{output:{help:"Use hook.harvest via `aria call` or the persistent headless server.",actions:["--extract: session extraction WITH LLM","--stats: health dashboard (includes learning velocity + dupe rate)","--cleanup: garbage removal","--all: extract + stats","--feedback: (deprecated, no-op)"]}};let X={};if(H.extract)process.stderr.write(`[harvest] Running extraction...
340
+ `),E9(Z.signal),X.extract=SB(await vX($,J,"",Z));if(H.stats)try{E9(Z.signal),X.stats=await $.reflect({full:!1}),E9(Z.signal)}catch(Q){E9(Z.signal),X.stats={error:Q instanceof Error?Q.message:String(Q)}}if(H.cleanup)X.cleanup={skipped:!0,message:"cleanup remains a no-op in headless cutover"};if(H.cost&&H.preHarvest)X.cost=X.preHarvest?.cost??null;if(H.feedback)process.stderr.write(`[harvest] --feedback is deprecated and has no effect. Use --pre-harvest instead.
341
+ `),X.feedback={deprecated:!0};return{output:X}}function SB($){return $.output}var n_=50,CB=5;var e_=()=>{};import bB from"node:path";function kB($){return bB.join("arions",$,"memory.db")}function X2($){if($.output&&typeof $.output==="object")return $.output;return{value:$.output}}function $q($){let J=()=>process.env.ARIA_MEMORY_PATH||kB($.getArionName?.()??$.arionName),K=async(Z)=>{let H=await $.cli.pool.get($.resolveMemoriaPath?await $.resolveMemoriaPath():J());return Z(H)};return{async extract(Z,H){return K(async(X)=>X2(await i_(X,JSON.stringify(Z.pairs??[]),{signal:H?.signal})))},async reflect(Z,H){let X=typeof Z.conversation==="string"?Z.conversation:JSON.stringify(Z.messages??[]);return K(async(Q)=>X2(await vX(Q,$.cli.router,X,H)))},async consolidate(Z,H){return K(async(X)=>X2(await o_(X,H)))},async ingest(Z,H){return K(async(X)=>X2(await s_(X,H)))},async harvest(Z,H){return K(async(X)=>X2(await t_(X,$.cli.router,Z,H)))}}}var Jq=$0(()=>{e_()});import{randomUUID as Kq}from"node:crypto";import{buildAuthorizeUrl as gB,completeGitHubCopilotDeviceFlow as vB,exchangeCodeForTokens as TB,generatePkce as VB,generateState as hB,getOAuthConfig as DB,requestGitHubCopilotDeviceCode as cB,upsertAuthProfile as EB}from"@aria-cli/auth";function Y9($,J,K,Z,H){return{kind:"result",requestId:$,op:J,ok:!1,error:{code:K,message:Z,...H?{details:H}:{}}}}function j7($,J,K){return{kind:"result",requestId:$,op:J,ok:!0,result:K}}function Zq($){return $.map((J)=>({id:J.id,label:J.label,...J.email||J.status?{description:[J.status,J.email].filter(Boolean).join(" · ")}:{}}))}function Hq($){return $.map((J)=>({id:J.id,label:J.label,...J.description||J.status?{description:[J.description,J.status].filter(Boolean).join(" · ")}:{}}))}function TX($){return{interactionId:$.interactionId,source:$.source,interaction:$.interaction}}function jB($,J){return{...$,__authPending:J}}function mB($){let J=$.__authPending;if(!J||typeof J!=="object")return null;return J}class VX{auth;sessionLedger;getActiveArionName;constructor($,J,K){this.auth=$;this.sessionLedger=J;this.getActiveArionName=K}async*login($,J,K){if(!this.auth?.login||!this.auth.status){yield Y9($,"auth.login","MISSING_SERVICE","Kernel service auth is not configured for auth.login.");return}let Z=await this.auth.login(J);yield*this.framesForInitialLoginResult($,"auth.login",Z,K)}async*logout($,J){if(!this.auth?.logout){yield Y9($,"auth.logout","MISSING_SERVICE","Kernel service auth is not configured for auth.logout.");return}let K=await this.auth.logout(J);if(K.mode==="direct"){if(K.result.success){yield j7($,"auth.logout",K.result);return}yield Y9($,"auth.logout","AUTH_LOGOUT_FAILED",K.result.message);return}let Z=await this.persistNewInteraction($,{pending:{type:"logout-provider"},interaction:{kind:"selection",prompt:"Choose a provider to disconnect.",options:Zq(K.providers)}});yield Z,yield Y9($,"auth.logout","INTERACTION_REQUIRED","auth.logout requires additional interaction before it can continue.",TX(Z))}async*respond($,J){let K=this.sessionLedger.getInteraction($.interactionId);if(!K||K.source!=="auth"){yield Y9($.requestId,"interaction.respond","INTERACTION_NOT_FOUND",`Unknown interaction ${$.interactionId}`);return}let Z=mB(K.prompt);if(!Z){yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_STATE",`Interaction ${$.interactionId} is missing auth resume state.`);return}let H=`auth:${$.requestId}`,X=this.sessionLedger.claimSessionForMutation(K.sessionId,H,30000),Q=!1,G=()=>{if(Q)return;Q=!0,this.sessionLedger.releaseSessionClaim(K.sessionId,H)};try{if($.response.kind==="cancel"){this.sessionLedger.cancelInteraction(K.sessionId,K.interactionId,{ownerId:H,expectedRevision:X.revision}),G(),yield Y9($.requestId,"interaction.respond","INTERACTION_CANCELED","Interaction canceled.");return}switch(Z.type){case"login-provider":{if($.response.kind!=="selection"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Provider selection requires a selection response.");return}let Y=await this.auth?.login?.({args:$.response.selected});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,Y,K.sessionId,H,X.revision+1,J);return}case"logout-provider":{if($.response.kind!=="selection"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Provider selection requires a selection response.");return}let Y=await this.auth?.logout?.({args:$.response.selected});if(this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision}),this.sessionLedger.completeRun(K.sessionId,{success:Y.mode==="direct"?Y.result.success:!1,message:Y.mode==="direct"?Y.result.message:"auth.logout requires additional interaction."},{ownerId:H,expectedRevision:X.revision+1}),G(),Y.mode==="direct"&&Y.result.success){yield j7($.requestId,"interaction.respond",Y.result);return}yield Y9($.requestId,"interaction.respond","AUTH_LOGOUT_FAILED",Y.mode==="direct"?Y.result.message:"auth.logout requires interaction.");return}case"login-method":{if($.response.kind!=="selection"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Method selection requires a selection response.");return}let Y=await this.auth?.login?.({args:`${Z.provider} --method ${$.response.selected}`});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,Y,K.sessionId,H,X.revision+1,J);return}case"copilot-source":{if($.response.kind!=="selection"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","GitHub Copilot source selection requires a selection response.");return}let Y=await this.auth?.login?.({args:`github-copilot --from ${$.response.selected}`});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,Y,K.sessionId,H,X.revision+1,J);return}case"credential-input":{if($.response.kind!=="credential_input"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","Credential input requires a credential_input response.");return}let Y=$.response.values[Z.fieldKey];if(typeof Y!=="string"||Y.trim().length===0){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE",`Missing credential field ${Z.fieldKey}.`);return}let z=await this.auth?.login?.({args:`${Z.commandPrefix} ${Y.trim()}`.trim()});this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision}),yield*this.framesForContinuedLoginResult($.requestId,z,K.sessionId,H,X.revision+1,J);return}case"oauth-code":{if($.response.kind!=="credential_input"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","OAuth code entry requires a credential_input response.");return}let Y=$.response.values[Z.fieldKey];if(typeof Y!=="string"||Y.trim().length===0){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE",`Missing credential field ${Z.fieldKey}.`);return}this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision});let z=await TB(Z.provider,Y.trim(),Z.codeVerifier);EB({profileId:`${Z.provider}:oauth`,credential:{type:"oauth",provider:Z.provider,access:z.access,refresh:z.refresh,expires:z.expires}}),this.sessionLedger.completeRun(K.sessionId,{success:!0,message:`Logged in to ${Z.provider} successfully`},{ownerId:H,expectedRevision:X.revision+1}),G(),yield j7($.requestId,"interaction.respond",{success:!0,message:`Logged in to ${Z.provider} successfully`});return}case"copilot-device":{if($.response.kind!=="oauth_device"){G(),yield Y9($.requestId,"interaction.respond","INVALID_INTERACTION_RESPONSE","GitHub Copilot device flow requires an oauth_device response.");return}this.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,$.response,{ownerId:H,expectedRevision:X.revision});let Y=await vB({deviceCode:Z.deviceCode,profileLabel:Z.profileLabel,signal:J?.signal});if(this.sessionLedger.completeRun(K.sessionId,Y,{ownerId:H,expectedRevision:X.revision+1}),G(),Y.success){yield j7($.requestId,"interaction.respond",Y);return}yield Y9($.requestId,"interaction.respond","AUTH_LOGIN_FAILED",Y.message);return}}}catch(Y){G(),yield Y9($.requestId,"interaction.respond","AUTH_INTERACTION_FAILED",Y instanceof Error?Y.message:String(Y))}}async*framesForInitialLoginResult($,J,K,Z){if(K.mode==="direct"){if(K.result.success){yield j7($,J,K.result);return}yield Y9($,J,"AUTH_LOGIN_FAILED",K.result.message);return}let H=await this.buildLoginInteractionSpec(K,Z),X=await this.persistNewInteraction($,H);yield X,yield Y9($,J,"INTERACTION_REQUIRED","auth.login requires additional interaction before it can continue.",TX(X))}async*framesForContinuedLoginResult($,J,K,Z,H,X){if(J.mode==="direct"){if(this.sessionLedger.completeRun(K,J.result,{ownerId:Z,expectedRevision:H}),this.sessionLedger.releaseSessionClaim(K,Z),J.result.success){yield j7($,"interaction.respond",J.result);return}yield Y9($,"interaction.respond","AUTH_LOGIN_FAILED",J.result.message);return}let Q=await this.buildLoginInteractionSpec(J,X),G=this.persistContinuedInteraction($,Q,K,Z,H);yield G,yield Y9($,"interaction.respond","INTERACTION_REQUIRED","auth.login requires additional interaction before it can continue.",TX(G))}async buildLoginInteractionSpec($,J){switch($.mode){case"picker":return{pending:{type:"login-provider"},interaction:{kind:"selection",prompt:"Choose a provider to sign in with.",options:Zq($.providers)}};case"anthropic_method_picker":case"openai_method_picker":case"google_method_picker":return{pending:{type:"login-method",provider:$.provider},interaction:{kind:"selection",prompt:`Choose how to sign in to ${$.provider}.`,options:Hq($.options)}};case"copilot_source_picker":return{pending:{type:"copilot-source"},interaction:{kind:"selection",prompt:"Choose a GitHub Copilot credential source.",options:Hq($.options)}};case"anthropic_key_input":case"openai_key_input":case"google_key_input":return{pending:{type:"credential-input",commandPrefix:$.provider,fieldKey:"apiKey"},interaction:{kind:"credential_input",prompt:`Enter the API key for ${$.provider}.`,provider:$.provider,fields:[this.secretField("apiKey",`${$.provider} API key`)]}};case"anthropic_setup_token":return{pending:{type:"credential-input",commandPrefix:"anthropic --setup-token",fieldKey:"setupToken"},interaction:{kind:"credential_input",prompt:"Enter the Anthropic setup token.",provider:"anthropic",fields:[this.secretField("setupToken","Anthropic setup token")]}};case"oauth":{let{codeVerifier:K,codeChallenge:Z}=VB(),H=DB($.provider),X=H.redirectUri.startsWith("http://127.0.0.1")?hB():K,Q=gB($.provider,Z,X);return{pending:{type:"oauth-code",provider:$.provider,fieldKey:"authorizationCode",codeVerifier:K},interaction:{kind:"credential_input",prompt:`Sign in to ${$.provider} to continue.`,provider:$.provider,mode:"oauth_authorization_code",authorizeUrl:Q,callbackMode:H.redirectUri.startsWith("http://127.0.0.1")?"local_callback":"manual_code",...H.redirectUri.startsWith("http://127.0.0.1")?{expectedState:X}:{},fields:[{key:"authorizationCode",label:"Authorization code"}]}}}case"copilot_device":{let K=await cB({signal:J?.signal});return{pending:{type:"copilot-device",profileLabel:$.profileLabel,deviceCode:K},interaction:{kind:"oauth_device",prompt:$.message??"Open the verification URL, enter the device code, then confirm to continue.",provider:"github-copilot",...$.profileLabel?{profileLabel:$.profileLabel}:{},verificationUri:K.verificationUri,userCode:K.userCode,expiresAt:new Date(K.expiresAt).toISOString(),intervalSeconds:Math.ceil(K.intervalMs/1000)}}}}}async persistNewInteraction($,J){let K=`auth:${Kq()}`;if(!this.sessionLedger.loadSession(K))this.sessionLedger.createSession(await this.getActiveArionName(),"auth",K);let Z=`auth:${$}`,H=this.sessionLedger.claimSessionForMutation(K,Z,30000);try{return this.persistInteractionRecord($,K,Z,H.revision,J.pending,J.interaction)}finally{this.sessionLedger.releaseSessionClaim(K,Z)}}persistContinuedInteraction($,J,K,Z,H){let X=this.persistInteractionRecord($,K,Z,H,J.pending,J.interaction);return this.sessionLedger.releaseSessionClaim(K,Z),X}persistInteractionRecord($,J,K,Z,H,X){let Q=`auth:${Kq()}`;return this.sessionLedger.recordPausedRun(J,`auth:${J}`,{kind:"auth"},{kind:"auth"},{interactionId:Q,requestId:$,source:"auth",kind:X.kind,prompt:jB(X,H)},{ownerId:K,expectedRevision:Z}),{kind:"interaction.required",requestId:$,interactionId:Q,source:"auth",interaction:X}}secretField($,J){return{key:$,label:J,secret:!0}}}var Xq=()=>{};import{randomUUID as Qq}from"node:crypto";import{isDeepStrictEqual as dB}from"node:util";import{resolveTrustedRuntimeErrorMessage as pB}from"@aria-cli/tools";function lB(){return{output:"",messages:[],toolCalls:[],usage:void 0,turnCount:0,thinking:[],nativeToolResults:[],pipelineTiming:void 0,guardrailEvents:[],handoffs:[],pausedState:null}}function uB($){return{success:!$.pausedState,...$.output?{output:$.output}:{},...$.messages.length>0?{messages:$.messages}:{},...$.toolCalls.length>0?{toolCalls:$.toolCalls}:{},...$.usage!==void 0?{usage:$.usage}:{},...$.turnCount>0?{turnCount:$.turnCount}:{},...$.thinking.length>0?{thinking:$.thinking}:{},...$.nativeToolResults.length>0?{nativeToolResults:$.nativeToolResults}:{},...$.pipelineTiming!==void 0?{pipelineTiming:$.pipelineTiming}:{},...$.guardrailEvents.length>0?{guardrailEvents:$.guardrailEvents}:{},...$.handoffs.length>0?{handoffs:$.handoffs}:{},...$.pausedState?{state:$.pausedState}:{}}}function rB($,J,K){return{code:$,message:J,...K?{details:K}:{}}}function F1($,J,K,Z,H){return{kind:"result",requestId:$,op:J,ok:!1,error:rB(K,Z,H)}}function hX($,J,K){return{kind:"result",requestId:$,op:J,ok:!0,result:K}}function Yq($){return{...$.arion?{arion:$.arion}:{},...$.cwd?{cwd:$.cwd}:{},...$.requestedModel?{requestedModel:$.requestedModel}:{},...$.preferredTier?{preferredTier:$.preferredTier}:{},...typeof $.budget==="number"?{budget:$.budget}:{},...typeof $.maxTurns==="number"?{maxTurns:$.maxTurns}:{},...$.autonomy?{autonomy:$.autonomy}:{},...$.allowedTools?{allowedTools:$.allowedTools}:{},...$.deniedTools?{deniedTools:$.deniedTools}:{},...typeof $.noMemory==="boolean"?{noMemory:$.noMemory}:{},...$.systemPrompt?{systemPrompt:$.systemPrompt}:{}}}function zq($,J){if($.arion||!J)return $;return{...$,arion:J}}function aB($){let{sessionId:J,...K}=$;return K}function nB($){let{sessionId:J,...K}=$;return K}function Wq($,J){if($.requestedModel||!J)return $;return{...$,requestedModel:J}}function A3($,J,K){if(!Array.isArray(K)||K.length===0)return;$.replaceConversationMessages(J,n8(K))}function DX($,J,K){if((K.pendingUserQuestions?.length??0)>0){let Z=`${J}:questionnaire:${Qq()}`,H={kind:"questionnaire",questions:K.pendingUserQuestions??[]};return{record:{interactionId:Z,requestId:$,source:"run",kind:H.kind,prompt:H},frame:{kind:"interaction.required",requestId:$,interactionId:Z,source:"run",interaction:H}}}if((K.pendingToolCalls?.length??0)>0){let Z=K.pendingToolCalls[0],H=`${J}:tool-approval:${Qq()}`,X={kind:"tool_approval",toolName:Z.name,toolInput:Z.arguments,prompt:`Approval required for ${Z.name}`};return{record:{interactionId:H,requestId:$,source:"run",kind:X.kind,prompt:X},frame:{kind:"interaction.required",requestId:$,interactionId:H,source:"run",interaction:X}}}return null}function iB($,J,K,Z,H){let X={state:$,...H??{}};if(J.kind==="tool_approval"){if(K.response.kind!=="confirm")throw Error(`Interaction ${J.interactionId} requires a confirm response`);return{...X,approvalMode:K.response.approved?"approve":"deny",...Z>=0?{}:{}}}if(J.kind==="questionnaire"){if(K.response.kind!=="questionnaire")throw Error(`Interaction ${J.interactionId} requires a questionnaire response`);return{...X,askUserAnswers:K.response.answers}}throw Error(`Unsupported run interaction kind ${J.kind}`)}class y1{ctx;constructor($){this.ctx=$}renewSessionLease($,J){let K=this.ctx.sessionLedger;if(typeof K.renewSessionClaim==="function")return K.renewSessionClaim($,J,Gq);return K.claimSessionForMutation($,J,Gq)}clearRunningSession($,J,K){let Z=this.ctx.sessionLedger;if(typeof Z.clearActiveRun==="function")return Z.clearActiveRun($,{ownerId:J,expectedRevision:K});return Z.completeRun($,{},{ownerId:J,expectedRevision:K})}releaseClaimOnce($,J){let K=!1;return()=>{if(K)return;K=!0,this.ctx.sessionLedger.releaseSessionClaim($,J)}}static isAbortError($){return $ instanceof Error&&($.name==="AbortError"||$.message==="The operation was aborted"||$.message==="This operation was aborted")}static createAbortReason($,J){let K=Error(J);return K.name="AbortError",K.code=$,K}static getAbortCode($,J){let K=$?.aborted?$.reason:J;if(K&&typeof K==="object"&&"code"in K&&typeof K.code==="string")return K.code;return $?.aborted||y1.isAbortError(J)?"RUN_ABORTED":null}static getAbortMessage($,J){let K=$?.aborted?$.reason:J;if(K instanceof Error&&K.message)return K.message;return"Run aborted before completion."}async*start($,J,K){let Z=J.sessionId?.trim()||$,H=`headless:${$}`,X=this.ctx.getSessionModel?.(),Q=this.ctx.getSessionArion?.(),G=Wq(zq(J,Q),X),Y=G.arion??this.ctx.getSessionArion?.()??"ARIA",z=G.requestedModel??G.preferredTier??"balanced",W=Yq(G);if(!this.ctx.sessionLedger.loadSession(Z))this.ctx.sessionLedger.createSession(Y,z,Z);let N=this.ctx.sessionLedger.claimSessionForMutation(Z,H,30000),q=this.releaseClaimOnce(Z,H),U=lB(),A=new AbortController,f=null,C=null,b=null;if(K){let I=()=>{A.abort(y1.createAbortReason("CONNECTION_CLOSED","Connection closed before request completed"))};if(K.aborted)I();else K.addEventListener("abort",I,{once:!0}),f=()=>K.removeEventListener("abort",I)}C=setInterval(()=>{try{N=this.renewSessionLease(Z,H)}catch(I){A.abort(y1.createAbortReason("SESSION_LEASE_LOST",I instanceof Error?I.message:String(I)))}},xB);try{for await(let w of this.ctx.localControl.streamRun(aB(G),A.signal)){if(A.signal.aborted){q();return}this.consumeRunEvent(U,w),yield{kind:"event",requestId:$,seq:U.turnCount+U.toolCalls.length+U.thinking.length,op:"run.start",event:w}}if(A.signal.aborted){A3(this.ctx.sessionLedger,Z,U.messages),this.clearRunningSession(Z,H,N.revision),q();let w=y1.getAbortCode(A.signal);if(w!=="CONNECTION_CLOSED")yield F1($,"run.start",w??"RUN_ABORTED",y1.getAbortMessage(A.signal),{sessionId:Z,runId:`run:${Z}`});return}if(U.pausedState){A3(this.ctx.sessionLedger,Z,U.pausedState.messages);let w=DX($,Z,U.pausedState);if(this.ctx.sessionLedger.recordPausedRun(Z,`run:${Z}`,U.pausedState,W,w?.record,{ownerId:H,expectedRevision:N.revision}),q(),w)yield w.frame;yield F1($,"run.start","INTERACTION_REQUIRED","Run paused and requires interaction before it can continue.",{sessionId:Z,...w?{interactionId:w.frame.interactionId,source:w.frame.source,interaction:w.frame.interaction}:{}});return}let I=uB(U);b=()=>{let w=Array.isArray(I.messages)?I.messages.length:0;R1(`orchestrator:persistTranscript(${w} msgs)`);let y=performance.now();A3(this.ctx.sessionLedger,Z,I.messages);let B=performance.now();R1("orchestrator:completeRun"),this.ctx.sessionLedger.completeRun(Z,I,{ownerId:H,expectedRevision:N.revision});let M=performance.now();$1(),q();let j=M-y;if(j>100)try{process.stderr.write(`[Orchestrator][DIAG] deferredPersistence: total=${j.toFixed(0)}ms transcript=${(B-y).toFixed(0)}ms completeRun=${(M-B).toFixed(0)}ms msgs=${w}
342
+ `)}catch{}},yield hX($,"run.start",I)}catch(I){try{if(A.signal.aborted||y1.isAbortError(I))A3(this.ctx.sessionLedger,Z,U.messages),this.clearRunningSession(Z,H,N.revision);q()}catch{}if(A.signal.aborted||y1.isAbortError(I)){let w=y1.getAbortCode(A.signal,I);if(w!=="CONNECTION_CLOSED")yield F1($,"run.start",w??"RUN_ABORTED",y1.getAbortMessage(A.signal,I),{sessionId:Z,runId:`run:${Z}`});return}yield F1($,"run.start","RUN_START_FAILED",I instanceof Error?I.message:String(I))}finally{if(C)clearInterval(C);if(f?.(),b){let I=b;b=null,setTimeout(()=>{try{R1("orchestrator:deferredPersistence");let w=performance.now();I();let y=performance.now()-w;if($1(),y>200)try{process.stderr.write(`[Orchestrator][DIAG] deferredPersistence blocked ${y.toFixed(0)}ms
343
+ `)}catch{}}catch{$1(),q()}},0)}}}async*resume($,J,K){let Z=J.sessionId?.trim(),H=`headless:${$}`,X=this.ctx.getSessionModel?.(),Q=this.ctx.getSessionArion?.(),G=Wq(zq(J,Q),X),Y=nB(G),z=Yq(Y),W=!1,N=null;try{if(K?.aborted)return;if(Z){if(!this.ctx.sessionLedger.loadSession(Z))this.ctx.sessionLedger.createSession(G.arion??this.ctx.getSessionArion?.()??"ARIA",G.requestedModel??G.preferredTier??"balanced",Z),W=!0;N=this.ctx.sessionLedger.claimSessionForMutation(Z,H,30000)}let q=await this.ctx.localControl.resumeRun(Y);if(K?.aborted){if(Z&&N){if(this.ctx.sessionLedger.releaseSessionClaim(Z,H),W)this.ctx.sessionLedger.deleteSession(Z)}return}if(Z&&N){if(q.state){let U=q.state;A3(this.ctx.sessionLedger,Z,U.messages);let A=DX($,Z,U);if(this.ctx.sessionLedger.recordPausedRun(Z,`run:${Z}`,U,z,A?.record,{ownerId:H,expectedRevision:N.revision}),this.ctx.sessionLedger.releaseSessionClaim(Z,H),A)yield A.frame;yield F1($,"run.resume","INTERACTION_REQUIRED","Run paused and requires interaction before it can continue.",{sessionId:Z,...A?{interactionId:A.frame.interactionId,source:A.frame.source,interaction:A.frame.interaction}:{}});return}A3(this.ctx.sessionLedger,Z,q.messages),this.ctx.sessionLedger.completeRun(Z,q,{ownerId:H,expectedRevision:N.revision}),this.ctx.sessionLedger.releaseSessionClaim(Z,H)}yield hX($,"run.resume",q)}catch(q){if(Z&&N)try{if(this.ctx.sessionLedger.releaseSessionClaim(Z,H),W)this.ctx.sessionLedger.deleteSession(Z)}catch{}if(K?.aborted||y1.isAbortError(q))return;yield F1($,"run.resume","RUN_RESUME_FAILED",q instanceof Error?q.message:String(q))}}async*abort($,J,K){if(await(K??this.ctx.activeRunController)?.abort(J)){yield{kind:"result",requestId:$,op:"run.abort",ok:!0,result:{aborted:!0,...J.runId?{runId:J.runId}:{},...J.sessionId?{sessionId:J.sessionId}:{}}};return}yield F1($,"run.abort","RUN_NOT_FOUND","No active run matched the requested runId or sessionId.",{...J.runId?{runId:J.runId}:{},...J.sessionId?{sessionId:J.sessionId}:{}})}async*respond($,J){let K=this.ctx.sessionLedger.getInteraction($.interactionId);if(!K){yield F1($.requestId,"interaction.respond","INTERACTION_NOT_FOUND",`Unknown interaction ${$.interactionId}`);return}if(K.source!=="run"){yield F1($.requestId,"interaction.respond","UNSUPPORTED_INTERACTION_SOURCE",`Interaction source ${K.source} is not handled by the run orchestrator`);return}let Z=this.ctx.sessionLedger.getSessionRuntimeState(K.sessionId);if(!Z?.pausedState){yield F1($.requestId,"interaction.respond","SESSION_NOT_PAUSED",`Session ${K.sessionId} is not paused`);return}let H=`headless:${$.requestId}`;try{if(J?.aborted)return;let X=this.ctx.sessionLedger.claimSessionForMutation(K.sessionId,H,30000),Q=$.response,G=X.revision;if(K.status==="pending")this.ctx.sessionLedger.recordInteractionResponse(K.sessionId,K.interactionId,Q,{ownerId:H,expectedRevision:X.revision}),G+=1;else if(K.status==="answered"){if(!K.response){this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H),yield F1($.requestId,"interaction.respond","INVALID_INTERACTION_STATE",`Interaction ${K.interactionId} is missing its recorded response`);return}if(!dB(K.response,Q)){this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H),yield F1($.requestId,"interaction.respond","INTERACTION_ALREADY_ANSWERED",`Interaction ${K.interactionId} was already answered with a different response`);return}Q=K.response}else{this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H),yield F1($.requestId,"interaction.respond","INTERACTION_NOT_PENDING",`Interaction ${K.interactionId} is not resumable in state ${K.status}`);return}let Y=iB(Z.pausedState,K,{...$,response:Q},Z.revision,Z.policySnapshot),z=await this.ctx.localControl.resumeRun(Y);if(J?.aborted){this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H);return}if(z.state){let W=z.state;A3(this.ctx.sessionLedger,K.sessionId,W.messages);let N=DX($.requestId,K.sessionId,W);if(this.ctx.sessionLedger.recordPausedRun(K.sessionId,Z.activeRunId??`run:${K.sessionId}`,W,Z.policySnapshot??{},N?.record,{ownerId:H,expectedRevision:G}),this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H),N)yield N.frame;yield F1($.requestId,"interaction.respond","INTERACTION_REQUIRED","Run paused again and requires another interaction.",{sessionId:K.sessionId,...N?{interactionId:N.frame.interactionId,source:N.frame.source,interaction:N.frame.interaction}:{}});return}A3(this.ctx.sessionLedger,K.sessionId,z.messages),this.ctx.sessionLedger.completeRun(K.sessionId,z,{ownerId:H,expectedRevision:G}),this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H),yield hX($.requestId,"interaction.respond",z)}catch(X){try{this.ctx.sessionLedger.releaseSessionClaim(K.sessionId,H)}catch{}if(J?.aborted||y1.isAbortError(X))return;yield F1($.requestId,"interaction.respond","INTERACTION_RESPONSE_FAILED",X instanceof Error?X.message:String(X))}}consumeRunEvent($,J){switch(J.type){case"text_delta":$.output+=J.content;break;case"tool_result":$.toolCalls.push({id:J.id,name:J.name,input:J.input,result:J.result,durationMs:J.durationMs});break;case"usage_update":$.usage=J.usage;break;case"turn_complete":$.turnCount=J.turnNumber;break;case"guardrail_rejected":$.guardrailEvents.push({stage:J.stage,message:J.message});break;case"pipeline_timing":$.pipelineTiming=J.report;break;case"messages_snapshot":$.messages=Array.isArray(J.messages)?J.messages:[];break;case"thinking_end":if(J.blocks)$.thinking.push(...J.blocks);break;case"native_tool_result":$.nativeToolResults.push(J.metadata);break;case"handoff_start":$.handoffs.push({type:"start",target:J.target,id:J.id});break;case"handoff_result":$.handoffs.push({type:"result",target:J.target,id:J.id,result:J.result});break;case"paused":$.pausedState=J.state;break;case"error":throw Error(pB(J.error.message,"diagnostic"in J.error?J.error.diagnostic:void 0)??J.error.message);default:break}}}var Gq=30000,xB=1e4;var _q=$0(()=>{a2();Q5()});var Aq={};Z$(Aq,{createHeadlessKernelRuntime:()=>EX,createHeadlessKernelHandlers:()=>Oq,HeadlessKernel:()=>Q2});import qq,{join as rJ}from"node:path";import{appendFileSync as oB,mkdirSync as sB}from"node:fs";import{ArionManager as tB,ArionStorage as eB,MemoriaPool as $y}from"@aria-cli/aria";import{selectRunnableModelVariant as A8}from"@aria-cli/models";import{HEADLESS_OPERATION_SCHEMAS as Nq}from"@aria-cli/tools";async function Jy($){let J=[];for(let K of $.sessionLedgers??[])try{K?.close()}catch(Z){J.push(Z)}for(let K of $.attachedClients??[])try{await K?.release()}catch(Z){J.push(Z)}try{await $.daemon?.releaseAll?.()}catch(K){J.push(K)}try{await $.managerPool?.closeAll()}catch(K){J.push(K)}try{await $.cli?.pool.closeAll()}catch(K){J.push(K)}if(J.length===1)throw J[0];if(J.length>1)throw AggregateError(J,"Failed to release headless kernel bootstrap resources")}function O8($){if(!($ instanceof Error))return!1;let J=$.message;if(J.includes("attached-local-client-only"))return!0;if(J.includes("ECONNRESET"))return!0;if(J.includes("ECONNREFUSED"))return!0;if(J.includes("EPIPE"))return!0;if(J.includes("connect ENOENT"))return!0;if(J.includes("socket hang up"))return!0;if(J.includes("closed before"))return!0;if(J.includes("has been released"))return!0;if(J.includes("no daemon found"))return!0;return!1}function cX($){if(!O8($))return $ instanceof Error?$:Error(String($));let J=$,K=J.message,Z=J.reason??"",H=K.includes("ECONNRESET")||K.includes("ECONNREFUSED")||K.includes("EPIPE")||K.includes("connect ENOENT")||K.includes("socket hang up")||K.includes("closed before"),X=H?"Lost connection to the ARIA daemon. It may have restarted. Run `aria` again to reconnect.":Z==="invalid_or_expired_lease"||Z===""?"The ARIA daemon restarted and your session could not be restored. Run `aria` again to start a new session.":Z==="missing_client_id"||Z==="missing_proof"?"Client credentials were not sent. This is likely a bug — please report it.":Z==="no_authority"?"The daemon has no attached-client authority configured. It may still be starting up.":`Session authentication failed (${Z}). Run \`aria\` again to start a new session.`;return Object.assign(Error(`Session expired: ${X} (${J.message})`),{code:"ARIA_SESSION_EXPIRED",reason:H?"connection_lost":Z,cause:J},J.diagnostic!==void 0?{diagnostic:J.diagnostic}:{})}function y6($,J){try{if(!uJ)uJ=rJ($,"logs"),sB(uJ,{recursive:!0});let K=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,...J});oB(rJ(uJ,"reattach.jsonl"),K+`
344
+ `)}catch{}}function Fq($){if($<=0)return Promise.resolve();return new Promise((J)=>{setTimeout(J,$).unref?.()})}function Uq($,J,K){let Z=null,H=()=>{if(!Z)Z=$();return Z},X=()=>{Z=null,J?.()};async function Q(Y){try{let z=await H();return await Y(z)}catch(z){if(!O8(z))throw z;let W=z instanceof Error?z.message:String(z),N=z.reason;if(K)y6(K,{event:"reattach_start",trigger:W,reason:N,maxAttempts:a6.length});for(let q=0;q<a6.length;q++){await Fq(a6[q]??0),X();try{let U=await H();if(K)y6(K,{event:"reattach_success",attempt:q,trigger:W});return await Y(U)}catch(U){let A=U instanceof Error?U.message:String(U);if(K)y6(K,{event:"reattach_retry_failed",attempt:q,error:A,willRetry:O8(U)&&q<a6.length-1});if(!O8(U)||q===a6.length-1){if(K)y6(K,{event:"reattach_exhausted",attempts:q+1,finalError:A});throw cX(U)}}}throw cX(z)}}async function*G(Y){let z;try{let q=await H();yield*Y(q);return}catch(q){if(!O8(q))throw q;z=q instanceof Error?q:Error(String(q))}let W=z?.message??"unknown",N=z?.reason;if(K)y6(K,{event:"reattach_stream_start",trigger:W,reason:N,maxAttempts:a6.length});for(let q=0;q<a6.length;q++){await Fq(a6[q]??0),X();try{let U=await H();if(K)y6(K,{event:"reattach_stream_success",attempt:q,trigger:W});yield*Y(U);return}catch(U){let A=U instanceof Error?U.message:String(U);if(K)y6(K,{event:"reattach_stream_retry_failed",attempt:q,error:A,willRetry:O8(U)&&q<a6.length-1});if(!O8(U)||q===a6.length-1){if(K)y6(K,{event:"reattach_stream_exhausted",attempts:q+1,finalError:A});throw cX(U)}}}}return{submitRun(Y){return Q((z)=>z.submitRun(Y))},resumeRun(Y){return Q((z)=>z.resumeRun(Y))},async*streamRun(Y,z){yield*G((W)=>W.streamRun(Y,z))},async*subscribeRuntimeEvents(Y){yield*G((z)=>z.subscribeRuntimeEvents(Y))},sendBestEffort(Y){return Q((z)=>z.sendBestEffort(Y))},sendDurable(Y){return Q((z)=>z.sendDurable(Y))},listInbox(Y){return Q((z)=>z.listInbox(Y))},async*subscribeInbox(Y){yield*G((z)=>z.subscribeInbox(Y))},listPeers(){return Q((Y)=>Y.listPeers())},listNearbyPeers(){return Q((Y)=>Y.listNearbyPeers())},async*subscribePeers(){yield*G((Y)=>Y.subscribePeers())},getRuntimeStatus(){return Q((Y)=>Y.getRuntimeStatus())},getRuntimeBootstrap(){return Q((Y)=>Y.getRuntimeBootstrap())},listPendingPairRequests(){return Q((Y)=>Y.listPendingPairRequests())},respondToPairRequest(Y){return Q((z)=>z.respondToPairRequest(Y))},createInvite(Y){return Q((z)=>z.createInvite(Y))},listPendingInvites(){return Q((Y)=>Y.listPendingInvites())},acceptInviteToken(Y){return Q((z)=>z.acceptInviteToken(Y))},cancelInvite(Y){return Q((z)=>z.cancelInvite(Y))},invitePeer(Y){return Q((z)=>z.invitePeer(Y))},acceptInvite(Y){return Q((z)=>z.acceptInvite(Y))},directPair(Y){return Q((z)=>z.directPair(Y))},revokePeer(Y){return Q((z)=>z.revokePeer(Y))},repairPeer(Y){return Q((z)=>z.repairPeer(Y))},listAttachedClients(){return Q((Y)=>Y.listAttachedClients())},listDirectClientInbox(Y){return Q((z)=>z.listDirectClientInbox(Y))},async*subscribeDirectClientInbox(Y){yield*G((z)=>z.subscribeDirectClientInbox(Y))}}}function Zy($,J,K){return new Promise((Z,H)=>{let X=setTimeout(()=>{H(Error(K))},J);X.unref?.(),$.then((Q)=>{clearTimeout(X),Z(Q)},(Q)=>{clearTimeout(X),H(Q)})})}function Pq($,J,K,Z,H){return{kind:"result",requestId:$,op:J,ok:!1,error:{code:K,message:Z,...H?{details:H}:{}}}}function Hy($,J,K){let Z=$.trim().toLowerCase();if(!Z)return;let H=[...J].sort((q,U)=>q.shortName.localeCompare(U.shortName)),X=H.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase()===Z});if(X)return X;let Q=H.find((q)=>q.shortName.toLowerCase()===Z);if(Q)return A8(Q,K);let G=H.find((q)=>q.shortName.toLowerCase().startsWith(Z));if(G)return A8(G,K);let Y=H.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase().startsWith(Z)});if(Y)return Y;let z=H.find((q)=>q.tier.toLowerCase()===Z);if(z)return A8(z,K);let W=H.find((q)=>q.displayName.toLowerCase().includes(Z));if(W)return A8(W,K);let N=H.find((q)=>q.provider.toLowerCase().includes(Z));return N?A8(N,K):void 0}function Oq($){let J=new y1({localControl:$.localControl,sessionLedger:$.sessionLedger,activeRunController:$.activeRunController,getSessionModel:$.getSessionModel,getSessionArion:$.getSessionArion}),K=new VX($.auth,$.sessionLedger,async()=>await $.config?.getActiveArion?.()??$.cli?.config?.activeArion??"ARIA"),Z=IX(J),H=AX($),X=QX($),Q=yX($),G=YX($,K),Y=UX($),z=v_($),W=d_($),N=x_($),q=wX($),U=FX($),A=fX($),f=xJ($);return{"run.start":Z["run.start"],"run.resume":Z["run.resume"],"run.abort":Z["run.abort"],"interaction.respond":async function*(C,b,I){let w=b&&typeof b==="object"&&"kind"in b?b:{kind:"interaction.respond",requestId:C,...b};if($.sessionLedger.getInteraction(w.interactionId)?.source==="auth"){yield*K.respond(w,I);return}yield*Z["interaction.respond"](C,w,I)},"session.list":f["session.list"],"session.read":f["session.read"],"session.load":f["session.load"],"session.fork":f["session.fork"],"memory.remember":H["memory.remember"],"memory.recall":H["memory.recall"],"memory.list":H["memory.list"],"memory.forget":H["memory.forget"],"memory.recall_knowledge":H["memory.recall_knowledge"],"arion.list":X["arion.list"],"arion.hatch":X["arion.hatch"],"arion.become":X["arion.become"],"arion.rest":X["arion.rest"],"arion.wake":X["arion.wake"],"arion.create":X["arion.create"],"model.list":Q["model.list"],"model.set":Q["model.set"],"model.refresh":Q["model.refresh"],"auth.status":G["auth.status"],"auth.login":G["auth.login"],"auth.logout":G["auth.logout"],"peer.list":q["peer.list"],"peer.list_nearby":q["peer.list_nearby"],"peer.pending.list":q["peer.pending.list"],"peer.pending.respond":q["peer.pending.respond"],"peer.invite":q["peer.invite"],"peer.connect":q["peer.connect"],"peer.accept_invite":q["peer.accept_invite"],"peer.direct_pair":q["peer.direct_pair"],"peer.repair":q["peer.repair"],"peer.revoke":q["peer.revoke"],"client.list":U["client.list"],"client.inbox.list":U["client.inbox.list"],"message.send":A["message.send"],"message.inbox.list":A["message.inbox.list"],"config.theme.get":Y["config.theme.get"],"config.theme.set":Y["config.theme.set"],"config.autonomy.get":Y["config.autonomy.get"],"config.autonomy.set":Y["config.autonomy.set"],"system.restart":N["system.restart"],"system.terminal_setup":N["system.terminal_setup"],"daemon.start":z["daemon.start"],"daemon.status":z["daemon.status"],"daemon.stop":z["daemon.stop"],"hook.extract":W["hook.extract"],"hook.reflect":W["hook.reflect"],"hook.consolidate":W["hook.consolidate"],"hook.ingest":W["hook.ingest"],"hook.harvest":W["hook.harvest"]}}class Q2{ctx;handlers;constructor($,J){this.ctx=$;if(!J){let K=!1,Z=$.localControl;$.localControl=Uq(async()=>{if(!K)return Z;let{createResilientAttachedClient:H}=await Promise.resolve().then(() => (N5(),X4)),X=await import("@aria-cli/server"),Q=X.resolveRuntimeRootDirectory(),G=X.findRuntimeOwnerRecordByAriaHome(Q,$.cli.ariaDir);if(!G?.runtimeSocket)throw Error("Cannot reconnect: no daemon found after restart");return(await H({runtimeSocket:G.runtimeSocket,clientKind:"local-api",logDir:rJ($.cli.ariaDir,"logs")})).api},()=>{K=!0},$.cli.ariaDir)}this.handlers=J??Oq($)}async*dispatch($,J={}){if($.kind==="interaction.respond"){let H=Nq["interaction.respond"].input.safeParse({interactionId:$.interactionId,response:$.response});if(!H.success){yield Pq($.requestId,"interaction.respond","INVALID_INPUT",H.error.issues.map((X)=>`${X.path.join(".")||"<root>"} ${X.message}`).join("; "));return}yield*this.handlers["interaction.respond"]($.requestId,$,J);return}let K=$,Z=Nq[K.op].input.safeParse(K.input);if(!Z.success){yield Pq(K.requestId,K.op,"INVALID_INPUT",Z.error.issues.map((H)=>`${H.path.join(".")||"<root>"} ${H.message}`).join("; "));return}yield*this.handlers[K.op](K.requestId,Z.data,J)}getContext(){return this.ctx}}async function EX($){let J=null,K=null,Z=null,H=new Map,X=new Map,Q=new Set,G=!1,Y=async()=>{if(G)return;G=!0;let z=await Promise.allSettled([...X.values(),...Q.values()]);await Jy({sessionLedgers:[...H.values()],attachedClients:z.flatMap((W)=>W.status==="fulfilled"?[W.value]:[]),daemon:Z,managerPool:K,cli:J})};try{J=await x$({cwd:$?.cwd,skipDiscoveryRefresh:!0});let z=J,W=$?.arionName??z.config.activeArion??"ARIA",N,q=()=>W,U=()=>N,A=(V)=>{W=V;let S=_0();S.activeArion=V,T0(S)},f=(V)=>{let S=H.get(V);if(!S)S=new m$(m$.resolvePerArionPath(z.ariaDir,V)),H.set(V,S);return S},C=async()=>{try{let{resolveRuntimeRootDirectory:V,findRuntimeOwnerRecordByAriaHome:S}=await import("@aria-cli/server"),{createResilientAttachedClient:d}=await Promise.resolve().then(() => (Q4(),rQ)),R0=V(),Y0=S(R0,z.ariaDir);if(!Y0?.runtimeSocket)return null;let H0=await d({runtimeSocket:Y0.runtimeSocket,clientKind:"local-api",logDir:rJ(z.ariaDir,"logs")});return{nodeId:Y0.nodeId,runtimeId:Y0.runtimeId??"daemon",port:0,ownership:"reattached",control:H0.api,attachedClientId:H0.getClientId(),attachedClientAuthToken:H0.getClientAuthToken(),release:()=>H0.release()}}catch(V){return y6(z.ariaDir,{event:"daemon_socket_connect_failed",error:V instanceof Error?V.message:String(V)}),null}},b=async(V)=>{let S=X.get(V);if(!S)S=(async()=>{let d=await C();if(d){if(y6(z.ariaDir,{event:"ensureAttachedClient_resolved",path:"daemon_socket",arionName:V}),G)await d.release().catch(()=>{});return d}y6(z.ariaDir,{event:"ensureAttachedClient_fallback",path:"attachLocalControlClient",arionName:V});let R0;try{R0=await _5({ariaHome:z.ariaDir,arionName:V,clientKind:"local-api",runtimeLifecycle:"scoped",memoriaFactory:z.memoriaFactory,router:z.router,authResolver:z.authResolver,runSessionConfig:z.config,mcpServers:z.projectConfig.mcp?.servers,silent:!0})}catch(Y0){if(Y0 instanceof Error&&Y0.message.includes("already in use"))throw Error("A daemon is running but could not be reached. Ensure ARIA_HOME matches the daemon's home directory, or stop the daemon with: aria-stop");throw Y0}if(G)await R0.release().catch(()=>{});return R0})(),X.set(V,S);return Zy(S,Ky,`Timed out attaching local control for ${V}`).catch((d)=>{throw Q.add(S),S.finally(()=>{Q.delete(S)}),X.delete(V),d})},I=Uq(async()=>{return(await b(q())).control},()=>{let V=q(),S=X.get(V);if(S)Q.add(S),S.then((d)=>d.release().catch(()=>{})).finally(()=>Q.delete(S)),X.delete(V)},z.ariaDir),w=new Proxy({},{get(V,S){let d=f(q()),R0=d[S];return typeof R0==="function"?R0.bind(d):R0}});f(W),K=new $y(z.ariaDir);let y=new tB(new eB(z.ariaDir),K.toFactory());y.setRouter(z.router),await y.initialize();let B=z.availableModels,M=async()=>{let V=q();return(await y.get(V))?.memoriaPath??qq.join("arions",V,"memory.db")},j=async()=>{return await z.pool.get(await M())},G0=new Proxy({},{get(V,S){return async(...d)=>{let R0=await j(),Y0=R0[S];if(typeof Y0!=="function")return Y0;return Y0.apply(R0,d)}}});Z=H2({cli:z,cwd:$?.cwd??process.cwd(),arionName:q(),getArionName:q,localControl:I});let U9=$q({cli:z,arionName:q(),getArionName:q,resolveMemoriaPath:M}),J9={cli:z,localControl:I,sessionLedger:w,arionManager:{list:()=>y.list(),hatch:(V)=>y.hatch(V),get:(V)=>y.get(V),wake:(V)=>y.wake(V),rest:(V,S)=>y.rest(V,S)},memoria:G0,config:{async getTheme(){return _0().theme??L().name},async setTheme(V){if(!g6().includes(V))throw Error(`Unknown theme: ${V}`);k6(V);let d=_0();return d.theme=V,T0(d),{theme:V}},async getAutonomy(){return _0().autonomy??"balanced"},async setAutonomy(V){if(!["minimal","balanced","high","full"].includes(V))throw Error(`Invalid autonomy level: ${V}`);let S=_0();return S.autonomy=V,T0(S),{autonomy:V}},async getActiveArion(){return q()},async setActiveArion(V){A(V)}},auth:{async status(){return{providers:w_()}},async login(V){return C_(S_(V))},async logout(V){return I_(b_(V))}},modelDiscovery:{async listAvailable(){return B},async refresh(V){return B=await z.refreshAvailableModels(V),B},async getCurrentModel(){if(N)return N;let V=await y.get(q());if(V?.preferredModel)return N=V.preferredModel,N;let S=_0().preferredTier??z.config.preferredTier;if(!S)return B[0]?.shortName;return N=A8(B.find((d)=>d.tier===S)??B[0],z.credentialHints)?.shortName??B[0]?.shortName,N},async setCurrentModel(V){let S=Hy(V,B,z.credentialHints);if(!S)throw Error(`Unknown model: ${V}`);N=S.shortName;let d=q();if(await y.get(d))await y.setPreferredModel(d,S.shortName);let Y0=_0();return Y0.preferredTier=S.tier,T0(Y0),{currentModel:S.shortName,tier:S.tier}},async getSessionModel(){return N}},daemon:Z,hook:U9,system:{async restart(V){return{accepted:!0,reason:typeof V.reason==="string"&&V.reason.trim().length>0?V.reason.trim():"Restart requested"}},async terminalSetup(){if(!D3())return{supported:!1,message:"terminal-setup is supported only in iTerm2 (macOS) and VSCode terminal."};return{supported:!0,output:R4().trim()}}},getSessionModel:U,getSessionArion:q},W0=await y.get(q());if(W0?.preferredModel)N=W0.preferredModel;else{let V=_0().preferredTier??z.config.preferredTier;N=A8(B.find((S)=>S.tier===V)??B[0],z.credentialHints)?.shortName??B[0]?.shortName}return{kernel:new Q2(J9),ctx:J9,async release(){await Y()}}}catch(z){try{await Y()}catch(W){throw AggregateError([z,W],"Headless kernel bootstrap failed and resource cleanup also failed")}throw z}}var a6,uJ,Ky=1e4;var aJ=$0(()=>{J4();c1();Y5();Q4();GX();zX();k_();PX();OX();T_();m_();p_();LX();BX();MX();CX();Z2();l_();lJ();Jq();Xq();_q();f4();v();a6=[0,250,500,1000,2000,3000]});var vq={};Z$(vq,{ensureDaemon:()=>iJ});import gq from"node:path";function cy($){try{return process.kill($,0),!0}catch{return!1}}function kq($){return(async()=>{try{let{resolveRuntimeRootDirectory:J,findRuntimeOwnerRecordByAriaHome:K,removeRuntimeOwnerRecord:Z}=await import("@aria-cli/server"),H=J(),X=K(H,$);if(!X?.runtimeSocket)return null;if(!cy(X.runtimePid))return Z(H,X.nodeId),null;let{createResilientAttachedClient:Q}=await Promise.resolve().then(() => (N5(),X4)),G=await Q({runtimeSocket:X.runtimeSocket,clientKind:"local-api",logDir:gq.join($,"logs")});try{let Y=await G.api.getRuntimeBootstrap();if(!Ey.has(Y.phase))return await G.release(),Z(H,X.nodeId),null}catch{return await G.release(),null}return{control:G.api,release:()=>G.release()}}catch{return null}})()}async function iJ($){let J=await kq($.ariaDir);if(J)return J;let{createDaemonService:K}=await Promise.resolve().then(() => (lJ(),a_)),Z=$.config.activeArion??"ARIA";await K({cli:$,cwd:process.cwd(),arionName:Z}).start({});let{resolveRuntimeRootDirectory:X}=await import("@aria-cli/server"),Q=X(),G=gq.join(Q,"owners"),Y=Date.now()+15000,z=null,W=null;try{let{watch:N,mkdirSync:q,existsSync:U}=await import("node:fs");if(!U(G))q(G,{recursive:!0,mode:448});try{z=N(G,()=>W?.()),z.on("error",()=>{})}catch{}let A=50;while(Date.now()<Y){let f=await kq($.ariaDir);if(f)return f;await new Promise((C)=>{W=C,setTimeout(C,A)}),W=null,A=Math.min(Math.round(A*1.5),200)}}finally{z?.close()}throw Error("Daemon started but socket not reachable. Check ARIA_HOME.")}var Ey;var rX=$0(()=>{Ey=new Set(["control_ready","network_ready","mesh_ready"])});var uq={};Z$(uq,{runtimeCutoverResetCommand:()=>lq,runRuntimeCutoverReset:()=>xq});import*as X9 from"node:fs";import*as M0 from"node:path";import{resolveRuntimeRootDirectory as mq,runtimeSocketsDirectory as PM}from"@aria-cli/server";import dq from"better-sqlite3";function UM($){let J=M0.resolve($);try{return X9.realpathSync.native(J)}catch{return J}}function pq(){return M0.join(process.env.HOME??"/tmp",".aria")}function eJ($){return M0.join($,"node","node-state.db")}function OM($){return`${eJ($)}.lock`}function AM($){return M0.join($,"node","runtime-cutover-last-report.json")}function eX($){if(!Number.isFinite($)||$<=0)return!1;try{return process.kill($,0),!0}catch{return!1}}function S9($,J){if(!X9.existsSync($)){J.skippedPaths.push($);return}X9.rmSync($,{recursive:!0,force:!0}),J.removedPaths.push($)}function Y2($,J){for(let K of[$,`${$}-wal`,`${$}-shm`])S9(K,J)}function LM($){let J=M0.join($,"arions");if(!X9.existsSync(J))return[];return X9.readdirSync(J,{withFileTypes:!0}).filter((K)=>K.isDirectory()).map((K)=>M0.join(J,K.name))}function RM($){let J=M0.join($,"owners");if(!X9.existsSync(J))return[];let K=new Set;for(let Z of X9.readdirSync(J)){if(!Z.endsWith(".json"))continue;try{let H=X9.readFileSync(M0.join(J,Z),"utf8"),X=JSON.parse(H);if(typeof X.runtimePid==="number"&&eX(X.runtimePid))K.add(X.runtimePid)}catch{}}return[...K]}function fM($,J,K){if(!X9.existsSync($))return[];let Z=new Set;for(let H of X9.readdirSync($)){if(!J(H))continue;try{let X=JSON.parse(X9.readFileSync(M0.join($,H),"utf8")),Q=K(X);if(Q!==null&&eX(Q))Z.add(Q)}catch{}}return[...Z]}function BM($){return fM($,(J)=>J.startsWith("presence-")&&J.endsWith(".json"),(J)=>{if(typeof J==="object"&&J!==null&&"pid"in J&&typeof J.pid==="number")return J.pid;return null})}function yM($){let J=eJ($);if(!X9.existsSync(J))return[];let K=new dq(J,{readonly:!0});try{return K.prepare(`SELECT runtime_pid
345
+ FROM runtime_owner_records`).all().map((H)=>H.runtime_pid).filter((H)=>Number.isFinite(H)&&eX(H))}catch{return[]}finally{K.close()}}function MM($,J){let K=pq(),Z=BM(K),H=RM(J),X=yM($),Q=[...new Set([...Z,...H,...X])];if(Q.length>0)throw Error(`[runtime-cutover-reset] refuse live runtime mutation while runtime is live (pids: ${Q.join(", ")}). Stop all ARIA daemons/clients first.`)}function wM($,J){let K=eJ($);if(!X9.existsSync(K))return{runtimeOwnerRecords:0,runtimeEvents:0};let Z=new dq(K);try{let H=Z.prepare("DELETE FROM runtime_owner_records").run().changes,X=Z.prepare("DELETE FROM runtime_events").run().changes;return J.preservedPaths.push(K),{runtimeOwnerRecords:H,runtimeEvents:X}}finally{Z.close()}}function CM($,J){let K=pq();S9(M0.join(K,"mesh-events.db"),J),S9(M0.join(K,"mesh-events.db-wal"),J),S9(M0.join(K,"mesh-events.db-shm"),J),S9(M0.join(K,"event_queue"),J),S9(M0.join(K,"event_queue.db"),J),S9(M0.join(K,"event_queue.db-wal"),J),S9(M0.join(K,"event_queue.db-shm"),J),S9(M0.join(mq(),"host-supervisor.sock"),J);let Z=[...new Set([K,$])];for(let H of Z){if(!X9.existsSync(H))continue;for(let X of X9.readdirSync(H)){let Q=X.startsWith("daemon-info-")&&(X.endsWith(".json")||X.endsWith(".json.lock")),G=H===K&&X.startsWith("presence-")&&X.endsWith(".json");if(Q||G)S9(M0.join(H,X),J)}}}function IM($,J,K,Z){Y2(M0.join($,"network","state.db"),Z),S9(M0.join($,"network","trusted-cas"),Z),S9(M0.join($,"server-session-history.json"),Z),S9(M0.join($,"sessions"),Z),Y2(M0.join($,"history.db"),Z);for(let H of LM($))Y2(M0.join(H,"memory.db"),Z),Y2(M0.join(H,"history.db"),Z),S9(M0.join(H,"daemon"),Z),S9(M0.join(H,"logs"),Z);if(S9(M0.join(J,"owners"),Z),S9(PM(J),Z),K)return Y2(eJ($),Z),S9(OM($),Z),S9(M0.join($,"network","config.json"),Z),S9(M0.join($,"network","tls"),Z),{runtimeOwnerRecords:0,runtimeEvents:0};return Z.preservedPaths.push(M0.join($,"network","config.json")),Z.preservedPaths.push(M0.join($,"network","tls")),wM($,Z)}function SM($){return X9.mkdirSync(M0.dirname($.reportPath),{recursive:!0}),X9.writeFileSync($.reportPath,`${JSON.stringify($,null,2)}
346
+ `,"utf8"),$}function bM($){console.log("[runtime-cutover-reset] completed"),console.log(` ariaHome: ${$.ariaHome}`),console.log(` fullReset: ${$.fullReset?"yes":"no"}`),console.log(` preserveLocalNodeIdentity: ${$.preserveLocalNodeIdentity?"yes":"no"}`),console.log(` deleted: ${$.deletedPaths.length}`),console.log(` preserved: ${$.preservedPaths.length}`),console.log(` cleared runtime owner records: ${$.cleared.runtimeOwnerRecords}`),console.log(` cleared runtime journal events: ${$.cleared.runtimeEvents}`),console.log(` report: ${$.reportPath}`)}async function xq($={}){let J=UM($.ariaHome??L1()),K=mq(),Z=$.fullNodeReset??$.fullReset??!1,H=$.preserveLocalNodeIdentity??!Z;MM(J,K);let X={ariaHome:J,runtimeRoot:K,generatedAt:new Date().toISOString(),fullReset:Z,fullNodeReset:Z,preserveLocalNodeIdentity:H,reportPath:AM(J),removedPaths:[],deletedPaths:[],preservedPaths:[],skippedPaths:[],cleared:{runtimeOwnerRecords:0,runtimeEvents:0}};return CM(J,X),X.cleared=IM(J,K,Z,X),X.deletedPaths=[...X.removedPaths],SM(X)}async function lq($={}){let J=await xq($);if($.json){console.log(JSON.stringify(J,null,2));return}bM(J)}var $Q=$0(()=>{c1()});import{useState as x,useCallback as s,useEffect as y9,useRef as k0,useMemo as G2}from"react";import{render as Uy,useApp as Oy}from"ink";import{useMemo as Kf,useState as Zf}from"react";import{Box as Hf,useStdout as Xf}from"ink";import{useState as U3,useCallback as B$,useMemo as O3,useEffect as B6}from"react";import{Box as r6,Static as sR,Text as y$,useApp as tR,useInput as eR}from"ink";import{Box as lK,Text as V0}from"ink";import{toShortName as bF}from"@aria-cli/models";var X$={colors:{cyan:"cyan",magenta:"magenta",yellow:"yellow",green:"green",blue:"blue",red:"red",white:"white",gray:"gray",dim:"gray"},prompt:{symbol:"❯"},divider:{char:"─"}};function F5($){if(!$||!($ in X$.colors))return X$.colors.white;return X$.colors[$]}function aQ($){return bF($)}var K7={"opus-4.6":"#B4A0FF","opus-4.5":"#A08AFF","sonnet-4.6":"#5FA8FF","sonnet-4.5":"#4A96FF","haiku-4.5":"#5CE0D0","gemini-3.1-pro":"#FFB84D","gemini-3-pro":"#FFA833","gemini-2.5-pro":"#FF9E22","gemini-3-flash":"#8AE065","gemini-2.5-flash":"#7BD055","gpt-5.4":"#5CD17A","gpt-5.2":"#50C878","gpt-5.1":"#45B86A","gpt-5.3-codex":"#20B2AA","gpt-5.2-codex":"#1CA8A0","gpt-5.1-codex":"#189090"};function G4($){if(K7[$])return K7[$];let J=$.replace(/^bedrock-/,"").replace(/^claude-/,"").replace(/-copilot$/,"");if(K7[J])return K7[J];let K=J.split("-");for(let Z=K.length-1;Z>=2;Z--){let H=K.slice(0,Z).join("-");if(K7[H])return K7[H]}return}var nQ={anthropic:{icon:"◆",color:"#B4A0FF"},google:{icon:"▲",color:"#4285F4"},bedrock:{icon:"⬢",color:"#FF9900"},"bedrock-converse":{icon:"⬢",color:"#FF9900"},openai:{icon:"◎",color:"#50C878"},"openai-codex":{icon:"◈",color:"#20B2AA"},"github-copilot":{icon:"⊡",color:"#6E40C9"},local:{icon:"○",color:"gray"}};function iQ($){return nQ[$]??{icon:"○",color:"gray"}}function kF($){if($.startsWith("bedrock-"))return"bedrock";if($.endsWith("-copilot")){if($.includes("gpt-")&&$.includes("-codex"))return"openai-codex";if($.includes("gemini-"))return"google";return"github-copilot"}if($.startsWith("gemini-"))return"google";if($.includes("-codex"))return"openai-codex";if($.startsWith("gpt-")||$.startsWith("o1")||$.startsWith("o3"))return"openai";if(/^(opus|sonnet|haiku)-/.test($))return"anthropic";return}function oQ($){let J=kF($);if(!J)return;return nQ[J]}import{jsxDEV as F0,Fragment as u$}from"react/jsx-dev-runtime";var gF="balanced";function z4($){if($<1000)return String($);if($<1e6){let K=$/1000;return K>=100?`${Math.round(K)}k`:`${K.toFixed(1)}k`}let J=$/1e6;return J>=100?`${Math.round(J)}M`:`${J.toFixed(1)}M`}function aK($){return`$${$.toFixed(2)}`}function vF($){if($<60)return`${$.toFixed(1)}s`;let J=Math.floor($/60),K=Math.round($%60);return`${J}m ${K}s`}function TF($,J){if(J<=0)return 0;return Math.min(100,Math.round($/J*100))}var uK="#B4A0FF",Y4={low:{bars:"▌",color:"blue"},medium:{bars:"▌▌",color:"cyan"},high:{bars:"▌▌▌",color:"yellow"},max:{bars:"▌▌▌▌",color:"magenta"}},VF={minimal:{symbol:"▸",label:"confirm all",color:"green"},balanced:{symbol:"▸▸",label:"confirm risky",color:"yellow"},high:{symbol:"▸▸▸",label:"auto-approve",color:"magenta"},full:{symbol:"⏵⏵",label:"full bypass",color:"red"}},rK=8,Q$=" · ";function nK({arion:$,model:J,maxContextTokens:K=0,responseTime:Z,metrics:H,showCosts:X=!0,displayMode:Q,activeArion:G,effortLevel:Y,autonomyLevel:z=gF,meshMessageCount:W=0}){let N=F5($.color),q=aQ(J),U=G4(q),A=oQ(q),f=Q==="debug",C=H&&H.turnCount>0,b=C?H.contextTokens:0,I=K>0?TF(b,K):0,w=Math.min(rK,Math.round(I/100*rK)),y=rK-w,B=C?`${I}%`:"–",M=VF[z];return F0(lK,{justifyContent:"space-between",children:[F0(lK,{children:[F0(V0,{children:[$.emoji," "]},void 0,!0,void 0,this),F0(V0,{color:N,bold:!0,children:$.name},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),C?F0(u$,{children:[A&&F0(V0,{color:A.color,children:[A.icon," "]},void 0,!0,void 0,this),F0(V0,{color:U,dimColor:!U,children:q},void 0,!1,void 0,this),Y&&F0(u$,{children:[F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{color:Y4[Y].color,children:Y4[Y].bars},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:["Turn ",H.turnCount]},void 0,!0,void 0,this),F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{color:H.contextStale?void 0:uK,dimColor:H.contextStale,children:[H.contextStale?"~":"",z4(H.contextTokens)]},void 0,!0,void 0,this),K>0&&F0(V0,{dimColor:!0,children:["/",z4(K)]},void 0,!0,void 0,this),f&&X&&F0(u$,{children:[F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:aK(H.estimatedCost)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f&&F0(u$,{children:[F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:vF(H.wallTimeSeconds)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G&&G!==$.name&&F0(u$,{children:[F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):F0(u$,{children:[A&&F0(V0,{color:A.color,children:[A.icon," "]},void 0,!0,void 0,this),F0(V0,{color:U,dimColor:!U,children:q},void 0,!1,void 0,this),Y&&F0(u$,{children:[F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{color:Y4[Y].color,children:Y4[Y].bars},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z!==void 0&&F0(u$,{children:[F0(V0,{dimColor:!0,children:Q$},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:[Z.toFixed(1),"s"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F0(lK,{gap:1,children:[W>0&&F0(V0,{color:"yellow",bold:!0,children:["msg ",W]},void 0,!0,void 0,this),F0(V0,{color:M.color,children:[M.symbol," ",M.label]},void 0,!0,void 0,this),F0(V0,{dimColor:!0,children:"ctx"},void 0,!1,void 0,this),F0(V0,{color:uK,children:"█".repeat(w)},void 0,!1,void 0,this),F0(V0,{dimColor:!0,children:"░".repeat(y)},void 0,!1,void 0,this),F0(V0,{color:uK,children:B},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{Box as sQ,Text as iK}from"ink";import{jsxDEV as P5}from"react/jsx-dev-runtime";function oK({userName:$}){if($)return P5(sQ,{children:[P5(iK,{color:X$.colors.cyan,children:$},void 0,!1,void 0,this),P5(iK,{children:[" ",X$.prompt.symbol," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return P5(sQ,{children:P5(iK,{color:X$.colors.cyan,children:[X$.prompt.symbol," "]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import{Box as jC,Text as mC}from"ink";v();import v6,{Chalk as fG}from"chalk";import BG from"color-name";import DF from"katex";import{Marked as cF}from"marked";import{markedTerminal as EF}from"marked-terminal";import{highlight as _G,supportsLanguage as qG}from"cli-highlight";function eK($,J){let K=hF(J);if(!qG(K)){if(qG("markdown"))return _G($,{language:"markdown"});return $}return _G($,{language:K})}function hF($){let J={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",sh:"bash",shell:"bash",zsh:"bash",yml:"yaml",py:"python",rb:"ruby",rs:"rust",go:"go",md:"markdown",dockerfile:"docker"},K=$.toLowerCase().trim();return J[K]??K}v();import{marked as MC}from"marked";var NG=["•","◦","▪","▫"];function g9($,J={}){let K=BP($),Z=J.mode==="streaming"?MP(K):K,{content:H,placeholders:X}=mF(Z),Q=pF(J.colorWordMode),G=new cF;G.use(EF({showSectionPrefix:!1,reflowText:!1,emoji:!1,unescape:!0,width:J.width??(process.stdout.columns||80),tab:2,hr:()=>v6.dim("─".repeat(J.width??40))})),G.use({renderer:{text(W){if("tokens"in W&&W.tokens)return this.parser.parseInline(W.tokens);return gG(W.text,Q)},paragraph(W){return this.parser.parseInline(W.tokens)+`
347
+
348
+ `},code(W){let N=L(),q=W.lang||"text";try{return`
349
+ `+eK(W.text,q)+`
350
+
351
+ `}catch{return`
352
+ `+v6.hex(N.colors.info)(W.text)+`
353
+
354
+ `}},codespan(W){let N=L();return v6.hex(N.colors.info)(W.text)},link(W){let N=L(),q=this.parser.parseInline(W.tokens),U=W.href;if(jF())return`\x1B]8;;${U}\x07${v6.hex(N.colors.info).underline(q)}\x1B]8;;\x07`;if(q===U)return v6.hex(N.colors.info).underline(q);return`${v6.hex(N.colors.info).underline(q)} (${v6.dim(U)})`},list(W){let{items:N,ordered:q}=W,U=typeof W.start==="number"?W.start:1,A=this._listDepth??0;return`
355
+ `+N.map((C,b)=>{let I=q?`${U+b}.`:NG[A%NG.length],w=" ".repeat(A),y=this._listDepth;this._listDepth=A+1;let B=this.parser.parse(C.tokens).trim();return this._listDepth=y,`${w}${I} ${B}`}).join(`
356
+ `)+`
357
+
358
+ `},blockquote(W){return this.parser.parse(W.tokens).split(`
359
+ `).filter((U)=>U.trim()).map((U)=>v6.dim.italic(`│ ${U}`)).join(`
360
+ `)+`
361
+
362
+ `},table(W){let N=J.width??(process.stdout.columns||80),q=W.header.length;if(q===0)return`
363
+ `;let U=W.header.map((y)=>this.parser.parseInline(y.tokens)),A=W.rows.map((y)=>y.map((B)=>this.parser.parseInline(B.tokens))),f=Array(q).fill(0),C=Array(q).fill(0);for(let y=0;y<q;y++){let B=[U[y]??"",...A.map((M)=>M[y]??"")];f[y]=B5(U[y]??"");for(let M of B)f[y]=Math.max(f[y],B5(M));C[y]=gP(B)}let b=q+1+q*2;if(f.reduce((y,B)=>y+B,0)+b>N)bP(f,N-b,C);let I=(y,B,M)=>y+f.map((j)=>"─".repeat(j+2)).join(B)+M,w=[I("┌","┬","┐")];w.push(...RG(U,f,W.align)),w.push(I("├","┼","┤"));for(let y=0;y<A.length;y++)if(w.push(...RG(A[y],f,W.align)),y<A.length-1)w.push(I("├","┼","┤"));return w.push(I("└","┴","┘")),w.join(`
364
+ `)+`
365
+
366
+ `}}});let Y=G.parse(H);return xF(Y,X,dF(J.mathRenderer),Q).replace(/\n{3,}/g,`
367
+
368
+ `).trimEnd()}function jF(){let $=process.env.TERM_PROGRAM??"";return["iTerm.app","WezTerm","Hyper","vscode"].some((K)=>$.includes(K))}function mF($){let J=[],K="",Z=0;while(Z<$.length){let H=nF($,Z);if(H){K+=H.segment,Z=H.end;continue}let X=iF($,Z);if(X){K+=X.segment,Z=X.end;continue}let Q=lF($,Z);if(Q){let z=`ARIAMATHTOKEN${J.length}X`;J.push({marker:z,original:Q.segment,kind:Q.kind}),K+=z,Z=Q.end;continue}let G=oF($,Z);if(G){let z=`ARIAMATHTOKEN${J.length}X`;J.push({marker:z,original:G.segment,kind:"bare_math"}),K+=z,Z=G.end;continue}let Y=q4($,Z);if(Y){let z=`ARIAMATHTOKEN${J.length}X`;J.push({marker:z,original:Y.segment,kind:"latex_command"}),K+=z,Z=Y.end;continue}K+=$[Z],Z+=1}return{content:K,placeholders:J}}function dF($){if($)return $;let J=(process.env.ARIA_MARKDOWN_MATH_RENDERER??"").trim().toLowerCase();if(J==="katex"||J==="fast")return J;return"fast"}function pF($){if($)return $;let J=(process.env.ARIA_MARKDOWN_COLOR_WORD_MODE??"").trim().toLowerCase();if(J==="always"||J==="never"||J==="auto")return J;return"auto"}function xF($,J,K,Z){let H=L(),X=$;for(let Q of J){let G=tF(Q,K),Y=G.style?v6.hex(H.colors.info)(G.text):G.text;Y=gG(Y,Z),X=X.split(Q.marker).join(Y)}return X}function lF($,J){if($[J]!=="$"||H7($,J))return null;if($[J+1]==="$"&&!H7($,J+1)){let H=rF($,"$$",J+2);if(H===-1)return null;if(!$.slice(J+2,H).trim())return null;return{segment:$.slice(J,H+2),end:H+2,kind:"display_math"}}let K=uF($,J+1);if(K===-1)return null;let Z=$.slice(J+1,K);if(!aF(Z))return null;return{segment:$.slice(J,K+1),end:K+1,kind:"inline_math"}}function uF($,J){for(let K=J;K<$.length;K+=1){let Z=$[K];if(Z===`
369
+ `)return-1;if(Z==="$"&&!H7($,K))return K}return-1}function rF($,J,K){let Z=$.indexOf(J,K);while(Z!==-1){if(!H7($,Z))return Z;Z=$.indexOf(J,Z+J.length)}return-1}function H7($,J){let K=0;for(let Z=J-1;Z>=0&&$[Z]==="\\";Z-=1)K+=1;return K%2===1}function aF($){let J=$.trim();if(!J)return!1;if(/\\/.test(J))return!0;if(/[{}^_=<>+\-*/]/.test(J))return!0;return!/\s/.test(J)}function nF($,J){if(!yP($,J))return null;let Z=$.slice(J).match(/^(```+|~~~+)[^\n]*\n/);if(!Z)return null;let H=Z[1],X=J+Z[0].length;while(X<$.length){let Q=$.indexOf(`
370
+ `,X),G=Q===-1?$.length:Q;if($.slice(X,G).trim().startsWith(H)){let z=Q===-1?$.length:Q+1;return{segment:$.slice(J,z),end:z}}if(Q===-1)break;X=Q+1}return{segment:$.slice(J),end:$.length}}function iF($,J){if($[J]!=="`")return null;let K=1;while($[J+K]==="`")K+=1;let Z="`".repeat(K),H=$.indexOf(Z,J+K);if(H===-1)return null;return{segment:$.slice(J,H+K),end:H+K}}function q4($,J){if($[J]!=="\\")return null;let K=$[J+1];if(!K)return null;if(/[A-Za-z]/.test(K)){let Z=J+2;while(Z<$.length&&/[A-Za-z]/.test($[Z]))Z+=1;return{segment:$.slice(J,Z),end:Z}}if(/[,:;!{}%$#&_ ]/.test(K))return{segment:$.slice(J,J+2),end:J+2};return null}function oF($,J){if($[J]!=="\\")return null;let K=q4($,J);if(!K)return null;let Z=K.segment.slice(1);if(!sF(Z))return null;let H=K.end;while(H<$.length){let Q=$[H];if(Q===`
371
+ `||Q==="$")break;if(Q==="\\"){let G=q4($,H);if(!G)break;H=G.end;continue}if(/[A-Za-z0-9^_{}()[\]+\-*/=.,:; ]/.test(Q)){H+=1;continue}break}let X=$.slice(J,H).trimEnd();if(X.length<=K.segment.length)return null;return{segment:X,end:J+X.length}}function sF($){if(!$)return!1;if(R5[$])return!0;if(ZZ.has($))return!0;return["frac","binom","sqrt","left","right","text"].includes($)}var R5={alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",varepsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",vartheta:"ϑ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",pi:"π",varpi:"ϖ",rho:"ρ",varrho:"ϱ",sigma:"σ",varsigma:"ς",tau:"τ",upsilon:"υ",phi:"ϕ",varphi:"φ",chi:"χ",psi:"ψ",omega:"ω",Gamma:"Γ",Delta:"Δ",Theta:"Θ",Lambda:"Λ",Xi:"Ξ",Pi:"Π",Sigma:"Σ",Upsilon:"Υ",Phi:"Φ",Psi:"Ψ",Omega:"Ω",int:"∫",sum:"∑",prod:"∏",infty:"∞",partial:"∂",nabla:"∇",times:"×",cdot:"·",pm:"±",mp:"∓",leq:"≤",geq:"≥",neq:"≠",approx:"≈",sim:"∼",to:"→",leftarrow:"←",rightarrow:"→",leftrightarrow:"↔",mapsto:"↦",in:"∈",notin:"∉",subset:"⊂",subseteq:"⊆",supset:"⊃",supseteq:"⊇",cup:"∪",cap:"∩",forall:"∀",exists:"∃",neg:"¬",lnot:"¬",land:"∧",lor:"∨"},ZZ=new Set(["sin","cos","tan","cot","sec","csc","log","ln","exp","max","min","lim"]),yG={"0":"⁰","1":"¹","2":"²","3":"³","4":"⁴","5":"⁵","6":"⁶","7":"⁷","8":"⁸","9":"⁹","+":"⁺","-":"⁻","=":"⁼","(":"⁽",")":"⁾",n:"ⁿ",i:"ⁱ",a:"ᵃ",b:"ᵇ",c:"ᶜ",d:"ᵈ",e:"ᵉ",f:"ᶠ",g:"ᵍ",h:"ʰ",j:"ʲ",k:"ᵏ",l:"ˡ",m:"ᵐ",o:"ᵒ",p:"ᵖ",r:"ʳ",s:"ˢ",t:"ᵗ",u:"ᵘ",v:"ᵛ",w:"ʷ",x:"ˣ",y:"ʸ",z:"ᶻ"},MG={"0":"₀","1":"₁","2":"₂","3":"₃","4":"₄","5":"₅","6":"₆","7":"₇","8":"₈","9":"₉","+":"₊","-":"₋","=":"₌","(":"₍",")":"₎",a:"ₐ",e:"ₑ",h:"ₕ",i:"ᵢ",j:"ⱼ",k:"ₖ",l:"ₗ",m:"ₘ",n:"ₙ",o:"ₒ",p:"ₚ",r:"ᵣ",s:"ₛ",t:"ₜ",u:"ᵤ",v:"ᵥ",x:"ₓ"};function tF($,J){if(J==="katex"){let H=$.kind==="display_math",X=$.kind==="inline_math"?$.original.slice(1,-1):$.kind==="display_math"?$.original.slice(2,-2):$.original,Q=JP(X,H);if(Q)return{text:Q,style:!0}}if($.kind==="inline_math"){let H=$.original.slice(1,-1);return{text:p9(H),style:!0}}if($.kind==="display_math"){let H=$.original.slice(2,-2);return{text:YP(H),style:!0}}if($.kind==="bare_math")return{text:p9($.original),style:!0};let K=zP($.original),Z=K!==$.original;return{text:K,style:Z}}var FG=new Map,eF=new Set(["math","semantics","mrow","mstyle"]),$P={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",ThinSpace:" ",NegativeThinSpace:"",MediumSpace:" ",ApplyFunction:"",InvisibleTimes:"·",InvisibleComma:","};function JP($,J){let K=$.trim();if(!K)return"";let Z=`${J?"display":"inline"}:${K}`,H=FG.get(Z);if(H!==void 0)return H;try{let X=DF.renderToString(K,{displayMode:J,throwOnError:!1,strict:"ignore",output:"mathml"}),Q=KP(X,J);if(Q!=null&&Q.trim().length>0){let G=Q.trimEnd();return FG.set(Z,G),G}}catch{}return null}function KP($,J){let K=$.match(/<math[\s\S]*<\/math>/i);if(!K)return null;let Z=K[0].replace(/<annotation[\s\S]*?<\/annotation>/gi,""),H=ZP(Z);if(!H)return null;if(J){let X=XP(H);if(X?.name==="mfrac"){let Q=T6(X),G=Q[0]?d9(Q[0],!1).trim():"",Y=Q[1]?d9(Q[1],!1).trim():"";return IG(G,Y)}}return d9(H,J)}function ZP($){let J={name:"__root__",attrs:{},children:[]},K=[J],Z=/<!--[\s\S]*?-->|<[^>]+>|[^<]+/g,H;while((H=Z.exec($))!==null){let Q=H[0];if(!Q)continue;if(Q.startsWith("<!--")||Q.startsWith("<?"))continue;if(Q.startsWith("</")){if(K.length>1)K.pop();continue}if(Q.startsWith("<")){let W=Q.endsWith("/>"),N=Q.slice(1,Q.length-(W?2:1)).trim();if(!N)continue;let q=N.match(/^([^\s/>]+)/);if(!q)continue;let U=q[1];if(!U)continue;let A=U.replace(/^.*:/,"").toLowerCase(),f=HP(N.slice(U.length)),C={name:A,attrs:f,children:[]},b=K[K.length-1];if(b)b.children.push(C);if(!W)K.push(C);continue}let G=wG(Q),Y=CG(G);if(!Y)continue;let z=K[K.length-1];if(z)z.children.push(Y)}return T6(J).find((Q)=>Q.name==="math")??null}function HP($){let J={},K=/([A-Za-z_:][A-Za-z0-9:._-]*)\s*=\s*("([^"]*)"|'([^']*)')/g,Z;while((Z=K.exec($))!==null){let H=Z[1];if(!H)continue;let X=Z[3]??Z[4]??"",Q=H.replace(/^.*:/,"").toLowerCase();J[Q]=wG(X)}return J}function wG($){return $.replace(/&#x([0-9a-fA-F]+);/g,(J,K)=>{let Z=Number.parseInt(K,16);return Number.isFinite(Z)?String.fromCodePoint(Z):""}).replace(/&#([0-9]+);/g,(J,K)=>{let Z=Number.parseInt(K,10);return Number.isFinite(Z)?String.fromCodePoint(Z):""}).replace(/&([A-Za-z][A-Za-z0-9]+);/g,(J,K)=>$P[K]??K)}function CG($){return $.replace(/[\u200b\u2061\u2062\u2063\u2064]/g,"").replace(/\s+/g," ").trim()}function XP($){let J=$;while(eF.has(J.name)){let K=T6(J);if(K.length!==1)break;J=K[0]}return J}function T6($){return $.children.filter((J)=>typeof J!=="string")}function $Z($){let J="";for(let K of $.children)if(typeof K==="string")J+=K;else J+=$Z(K);return CG(J)}function d9($,J){switch($.name){case"math":case"semantics":case"mrow":case"mstyle":case"mpadded":case"mphantom":case"none":return O5($,J);case"mi":case"mn":case"mtext":return $Z($);case"mo":{let K=$Z($);return QP(K)}case"mspace":return" ";case"mfrac":{let K=T6($),Z=K[0]?d9(K[0],!1).trim():"",H=K[1]?d9(K[1],!1).trim():"";return`${Z}⁄${H}`.trim()}case"msup":{let K=T6($),Z=K[0]?d9(K[0],!1):"",H=K[1]?d9(K[1],!1):"";return`${Z}${PG(H)}`}case"msub":{let K=T6($),Z=K[0]?d9(K[0],!1):"",H=K[1]?d9(K[1],!1):"";return`${Z}${UG(H)}`}case"msubsup":{let K=T6($),Z=K[0]?d9(K[0],!1):"",H=K[1]?d9(K[1],!1):"",X=K[2]?d9(K[2],!1):"";return`${Z}${UG(H)}${PG(X)}`}case"msqrt":{let K=O5($,!1);return K?`√(${K})`:"√"}case"mroot":{let K=T6($),Z=K[0]?d9(K[0],!1):"",H=K[1]?d9(K[1],!1):"";return H?`${H}√(${Z})`:`√(${Z})`}case"mfenced":{let K=$.attrs.open??"(",Z=$.attrs.close??")",H=O5($,!1);return`${K}${H}${Z}`}case"mtable":{let Z=T6($).filter((H)=>H.name==="mtr").map((H)=>d9(H,J).trim()).filter((H)=>H.length>0);if(Z.length===0)return"";if(J)return Z.join(`
372
+ `);return`[${Z.join("; ")}]`}case"mtr":return T6($).filter((Z)=>Z.name==="mtd").map((Z)=>d9(Z,J).trim()).filter((Z)=>Z.length>0).join(" ");case"mtd":return O5($,J);case"annotation":return"";default:return O5($,J)}}function O5($,J){let K=$.children.map((Z)=>{if(typeof Z==="string")return Z;return d9(Z,J)});return GP(K.join(""))}function QP($){if(!$)return"";if($==="−")return"-";return $}function GP($){return $.replace(/[\u200b\u2061\u2062\u2063\u2064]/g,"").replace(/([∫∑∏])([A-Za-z0-9α-ωΑ-Ω])/g,"$1 $2").replace(/([\u00B2\u00B3\u00B9\u2070-\u209F])([A-Za-zα-ωΑ-Ω])/g,"$1 $2").replace(/([)\]])([A-Za-zα-ωΑ-Ω])/g,"$1 $2").replace(/\s*([+\-−=≈≠≤≥<>×÷·∪∩])\s*/g," $1 ").replace(/\s*,\s*/g,", ").replace(/\s*;\s*/g,"; ").replace(/\s*:\s*/g,": ").replace(/\(\s+/g,"(").replace(/\s+\)/g,")").replace(/\s+/g," ").trim()}function PG($){let J=$.replace(/\s+/g,"");if(!J)return"";return N4(`{${J}}`,yG,"^")}function UG($){let J=$.replace(/\s+/g,"");if(!J)return"";return N4(`{${J}}`,MG,"_")}function YP($){let J=$.trim();if(!J)return"";let K=UP(J,"frac");if(K){let Z=p9(K.arg1).trim(),H=p9(K.arg2).trim();return IG(Z,H)}return J.split(`
373
+ `).map((Z)=>p9(Z)).join(`
374
+ `)}function p9($){let J=$.trim();return J=WP(J),J=J.replace(/\\left\s*/g,"").replace(/\\right\s*/g,""),J=A5(J,"text",(K)=>p9(K)),J=A5(J,"sqrt",(K)=>`√(${p9(K)})`),J=A5(J,"mathrm",(K)=>p9(K)),J=A5(J,"mathbf",(K)=>p9(K)),J=A5(J,"mathit",(K)=>p9(K)),J=L5(J,"textcolor",(K,Z)=>{return LG(K,p9(Z))}),J=L5(J,"color",(K,Z)=>{return LG(K,p9(Z))}),J=L5(J,"colorbox",(K,Z)=>{return fP(K,p9(Z))}),J=L5(J,"frac",(K,Z)=>{return`${p9(K)}⁄${p9(Z)}`}),J=L5(J,"binom",(K,Z)=>{return`C(${p9(K)}, ${p9(Z)})`}),J=_P(J),J=qP(J),J=NP(J),J=FP(J),J=J.replace(/\s{2,}/g," ").trim(),J}function zP($){if(!$.startsWith("\\"))return $;let J=$.slice(1);if($==="\\,")return" ";if($==="\\;")return" ";if($==="\\:")return" ";if($==="\\!")return"";if($==="\\ ")return" ";if($==="\\{")return"{";if($==="\\}")return"}";if($==="\\%")return"%";if($==="\\$")return"$";if($==="\\#")return"#";if($==="\\_")return"_";if($==="\\&")return"&";if(R5[J])return R5[J];if(ZZ.has(J))return J;return $}function WP($){return $.replace(/\\,/g," ").replace(/\\;/g," ").replace(/\\:/g," ").replace(/\\!/g,"").replace(/\\qquad/g," ").replace(/\\quad/g," ").replace(/~+/g," ").replace(/\\ /g," ")}function _P($){let J=$,K=Object.keys(R5).sort((Z,H)=>H.length-Z.length);for(let Z of K){let H=R5[Z],X=new RegExp(`\\\\${AG(Z)}\\b`,"g");J=J.replace(X,H)}for(let Z of ZZ){let H=new RegExp(`\\\\${AG(Z)}\\b`,"g");J=J.replace(H,Z)}return J}function qP($){return $.replace(/\\([{}%$#&_])/g,"$1")}function NP($){return $.replace(/\\\{/g,"__ARIA_ESCAPED_LBRACE__").replace(/\\\}/g,"__ARIA_ESCAPED_RBRACE__").replace(/[{}]/g,"").replaceAll("__ARIA_ESCAPED_LBRACE__","{").replaceAll("__ARIA_ESCAPED_RBRACE__","}")}function FP($){let J=$;return J=J.replace(/([A-Za-z0-9α-ωΑ-Ω)\]])\^(\{[^{}]*\}|.)/g,(K,Z,H)=>{return`${Z}${N4(H,yG,"^")}`}),J=J.replace(/([A-Za-z0-9α-ωΑ-Ω)\]])_(\{[^{}]*\}|.)/g,(K,Z,H)=>{return`${Z}${N4(H,MG,"_")}`}),J}function N4($,J,K){let Z=PP($);if(!Z)return"";let H="";for(let X of Z){let Q=J[X];if(!Q)return`${K}(${Z})`;H+=Q}return H}function PP($){if($.startsWith("{")&&$.endsWith("}"))return $.slice(1,-1);return $}function A5($,J,K){let Z="",H=0,X=`\\${J}`;while(H<$.length){if(HZ($,X,H)){let Q=f5($,H+X.length);if(Q){Z+=K(Q.value),H=Q.end;continue}}Z+=$[H],H+=1}return Z}function L5($,J,K){let Z="",H=0,X=`\\${J}`;while(H<$.length){if(HZ($,X,H)){let Q=f5($,H+X.length);if(Q){let G=f5($,Q.end);if(G){Z+=K(Q.value,G.value),H=G.end;continue}}}Z+=$[H],H+=1}return Z}function UP($,J){let K=`\\${J}`,Z=JZ($,0);if(!HZ($,K,Z))return null;let H=f5($,Z+K.length);if(!H)return null;let X=f5($,H.end);if(!X)return null;if(JZ($,X.end)!==$.length)return null;return{arg1:H.value,arg2:X.value}}function f5($,J){let K=JZ($,J);if(K>=$.length)return null;if($[K]==="{"){let Z=OP($,K);if(Z===-1)return null;return{value:$.slice(K+1,Z),end:Z+1}}if($[K]==="\\"){let Z=q4($,K);if(Z)return{value:Z.segment,end:Z.end}}return{value:$[K],end:K+1}}function HZ($,J,K){if(!$.startsWith(J,K))return!1;let Z=$[K+J.length];return!Z||!/[A-Za-z]/.test(Z)}function JZ($,J){let K=J;while(K<$.length&&/\s/.test($[K]))K+=1;return K}function OP($,J){let K=0;for(let Z=J;Z<$.length;Z+=1){let H=$[Z];if(H==="{"&&!H7($,Z))K+=1;if(H==="}"&&!H7($,Z)){if(K-=1,K===0)return Z}}return-1}function IG($,J){let K=Math.max(KZ($),KZ(J),1),Z="─".repeat(K),H=OG($,K),X=OG(J,K);return`${H}
375
+ ${Z}
376
+ ${X}`}function KZ($){return Array.from($).length}function OG($,J){let K=KZ($);if(K>=J)return $;let Z=Math.floor((J-K)/2),H=J-K-Z;return`${" ".repeat(Z)}${$}${" ".repeat(H)}`}function AG($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function SG($){let J={},K=BG;for(let[Z,H]of Object.entries(K)){let X=Z.toLowerCase(),[Q,G,Y]=H;if(Q===0&&G===0&&Y===0){J[X]=(z)=>$.blackBright(z);continue}J[X]=(z)=>$.rgb(Q,G,Y)(z)}if(J.gray&&!J.grey)J.grey=J.gray;if(J.grey&&!J.gray)J.gray=J.grey;return J}var bG=SG(v6),kG=SG(new fG({level:3})),AP=Object.keys(bG).sort(($,J)=>J.length-$.length),LP=new RegExp(`\\b(${AP.join("|")})\\b`,"gi"),RP=new fG({level:3});function LG($,J){let K=$.trim().toLowerCase(),Z=kG[K];if(Z)return Z(J);return J}function fP($,J){let K=$.trim().toLowerCase(),H=BG[K];if(H){let[X,Q,G]=H;return RP.bgRgb(X,Q,G)(J)}return J}function gG($,J="auto"){if(J==="never")return $;let K=J==="always"?kG:bG;return $.replace(LP,(Z)=>{let H=K[Z.toLowerCase()];return H?H(Z):Z})}function BP($){let J=$.split(`
377
+ `);return J.map((K,Z)=>{let H=K.match(/^(\d+)\.\s+(.+)$/);if(!H)return K;let X=Z===0||!J[Z-1].trim(),Q=Z===J.length-1||!J[Z+1].trim();if(!X||!Q)return K;return`${H[1]}\\. ${H[2]}`}).join(`
378
+ `)}function yP($,J){return J===0||$[J-1]===`
379
+ `}function MP($){let J=$.split(`
380
+ `),K=[];for(let Z=0;Z<J.length;Z+=1){let H=J[Z]??"",X=J[Z+1]??"";if(wP(H)&&CP(X)){let Q=Z;while(Q<J.length&&IP(J[Q]??""))K.push(SP(J[Q])),Q+=1;Z=Q-1;continue}K.push(H)}return K.join(`
381
+ `)}function wP($){let J=$.trim();if(!J.includes("|"))return!1;if(/^[-:|\s]+$/.test(J))return!1;let K=vG(J);return K.length>=2&&K.some((Z)=>Z.length>0)}function CP($){let J=vG($.trim());return J.length>=2&&J.every((K)=>/^:?-{3,}:?$/.test(K))}function IP($){let J=$.trim();return J.length>0&&J.includes("|")}function vG($){let J=$.trim();if(J.startsWith("|"))J=J.slice(1);if(J.endsWith("|"))J=J.slice(0,-1);return J.split("|").map((K)=>K.trim())}function SP($){return $.replace(/\|/g,"\\|")}var TG=/\x1b\[[0-9;]*m|\x1b\]8;;[^\x07]*\x07/g;function VG($){return $.replace(TG,"")}function B5($){return VG($).length}function bP($,J,K){let H=$.reduce((z,W)=>z+W,0);if(H<=J)return;let X=kP(K,J,3),Q=J,G=Q/H;for(let z=0;z<$.length;z++)$[z]=Math.max(X[z]??3,Math.floor($[z]*G));let Y=$.reduce((z,W)=>z+W,0);while(Y>Q){let z=0;for(let W=1;W<$.length;W++)if($[W]>$[z])z=W;if($[z]<=(X[z]??3))break;$[z]--,Y--}while(Y>Q){let z=0;for(let W=1;W<$.length;W++)if($[W]>$[z])z=W;if($[z]<=3)break;$[z]--,Y--}}function kP($,J,K){let Z=$.map((X)=>Math.max(X,K)),H=Z.reduce((X,Q)=>X+Q,0);while(H>J){let X=-1;for(let Q=0;Q<Z.length;Q++){if(Z[Q]<=K)continue;if(X===-1||Z[Q]>Z[X])X=Q}if(X===-1)break;Z[X]--,H--}return Z}function gP($){let Z=3,H=3;for(let X of $){let Q=DG(X);Z=Math.max(Z,B5(Q)),H=Math.max(H,vP(Q))}return Math.min(Math.max(3,H),24)}function vP($){return VG($).split(/\s+/).reduce((J,K)=>Math.max(J,K.length),0)}function hG($,J){let K=DG($);if(J<=0||!K)return[K||""];if(K.includes(`
382
+ `)){let N=[];for(let q of K.split(`
383
+ `))N.push(...hG(q,J));return N}if(B5(K)<=J)return[K];let Z=[],H=0,X=new RegExp(TG.source,"g"),Q;while((Q=X.exec(K))!==null){if(Q.index>H)Z.push({ansi:!1,value:K.slice(H,Q.index)});Z.push({ansi:!0,value:Q[0]}),H=X.lastIndex}if(H<K.length)Z.push({ansi:!1,value:K.slice(H)});let G=[],Y="",z=0,W=(N)=>{for(let q=0;q<N.length;q+=J){if(Y&&z>0)G.push(Y);Y=N.slice(q,q+J),z=Y.length}};for(let N of Z){if(N.ansi){Y+=N.value;continue}let q=N.value.split(/(\s+)/);for(let U of q){if(!U)continue;let A=U.length,f=!U.trim();if(f&&z===0)continue;if(z+A<=J)Y+=U,z+=A;else if(z===0)W(U);else if(f)G.push(Y),Y="",z=0;else if(G.push(Y),Y="",z=0,A>J)W(U);else Y=U,z=A}}if(Y||G.length===0)G.push(Y);return G}function DG($){return $.replace(/\s*\n+\s*/g," ").replace(/\(\s+/g,"(").replace(/\s+\)/g,")").replace(/\[\s+/g,"[").replace(/\s+\]/g,"]").replace(/[ \t]{2,}/g," ").trim()}function TP($,J,K){let Z=B5($);if(Z>=J)return $;let H=J-Z;if(K==="right")return" ".repeat(H)+$;if(K==="center"){let X=Math.floor(H/2);return" ".repeat(X)+$+" ".repeat(H-X)}return $+" ".repeat(H)}function RG($,J,K){let Z=$.map((Q,G)=>hG(Q,J[G])),H=Math.max(...Z.map((Q)=>Q.length),1),X=[];for(let Q=0;Q<H;Q++){let G=Z.map((Y,z)=>TP(Y[Q]??"",J[z],K[z]??null));X.push("│ "+G.join(" │ ")+" │")}return X}import{jsxDEV as uC}from"react/jsx-dev-runtime";import{useCallback as B4,useEffect as rG,useRef as y4,useState as r$}from"react";import{Box as M5,Text as M4}from"ink";import{useEffect as EP,useRef as WZ,useState as jP}from"react";import{Text as mP,useInput as dP}from"ink";import Q7 from"chalk";import{useState as DP}from"react";import{useRef as cG}from"react";var EG=2000;function y5($,J,K){let Z=cG(0),H=cG(void 0);return()=>{let X=Date.now();if(X-Z.current<=EG&&H.current){if(H.current)clearTimeout(H.current),H.current=void 0;J(),$(!1)}else K?.(),$(!0),H.current=setTimeout(()=>$(!1),EG);Z.current=X}}import VP from"string-width";class l9{measuredText;selection;offset;constructor($,J=0,K=0){this.measuredText=$;this.selection=K;this.offset=Math.max(0,Math.min(this.measuredText.text.length,J))}static fromText($,J,K=0,Z=0){return new l9(new XZ($,J-1),K,Z)}render($,J,K){let{line:Z,column:H}=this.getPosition();return this.measuredText.getWrappedText().map((X,Q,G)=>{let Y=X;if(J&&Q===G.length-1){let z=Math.max(0,X.length-6);Y=J.repeat(z)+X.slice(z)}if(Z!=Q)return Y.trimEnd();return Y.slice(0,H)+K(Y[H]||$)+Y.trimEnd().slice(H+1)}).join(`
384
+ `)}left(){return new l9(this.measuredText,this.offset-1)}right(){return new l9(this.measuredText,this.offset+1)}up(){let{line:$,column:J}=this.getPosition();if($==0)return new l9(this.measuredText,0,0);let K=this.getOffset({line:$-1,column:J});return new l9(this.measuredText,K,0)}down(){let{line:$,column:J}=this.getPosition();if($>=this.measuredText.lineCount-1)return new l9(this.measuredText,this.text.length,0);let K=this.getOffset({line:$+1,column:J});return new l9(this.measuredText,K,0)}startOfLine(){let{line:$}=this.getPosition();return new l9(this.measuredText,this.getOffset({line:$,column:0}),0)}endOfLine(){let{line:$}=this.getPosition(),J=this.measuredText.getLineLength($),K=this.getOffset({line:$,column:J});return new l9(this.measuredText,K,0)}nextWord(){let $=this;while($.isOverWordChar()&&!$.isAtEnd())$=$.right();while(!$.isOverWordChar()&&!$.isAtEnd())$=$.right();return $}prevWord(){let $=this;if(!$.left().isOverWordChar())$=$.left();while(!$.isOverWordChar()&&!$.isAtStart())$=$.left();if($.isOverWordChar())while($.left().isOverWordChar()&&!$.isAtStart())$=$.left();return $}modifyText($,J=""){let K=this.offset,Z=$.offset,H=this.text.slice(0,K)+J+this.text.slice(Z);return l9.fromText(H,this.columns,K+J.length)}insert($){return this.modifyText(this,$)}del(){if(this.isAtEnd())return this;return this.modifyText(this.right())}backspace(){if(this.isAtStart())return this;let $=this.offset,K=this.left().offset,Z=this.text.slice(0,K)+this.text.slice($);return l9.fromText(Z,this.columns,K)}deleteToLineStart(){return this.startOfLine().modifyText(this)}deleteToLineEnd(){if(this.text[this.offset]===`
385
+ `)return this.modifyText(this.right());return this.modifyText(this.endOfLine())}deleteWordBefore(){if(this.isAtStart())return this;return this.prevWord().modifyText(this)}deleteWordAfter(){if(this.isAtEnd())return this;return this.modifyText(this.nextWord())}isOverWordChar(){let $=this.text[this.offset]??"";return/\w/.test($)}equals($){return this.offset===$.offset&&this.measuredText==$.measuredText}isAtStart(){return this.offset==0}isAtEnd(){return this.offset==this.text.length}get text(){return this.measuredText.text}get columns(){return this.measuredText.columns+1}getPosition(){return this.measuredText.getPositionFromOffset(this.offset)}getOffset($){return this.measuredText.getOffsetFromPosition($)}}class X7{text;startOffset;isPrecededByNewline;endsWithNewline;constructor($,J,K,Z=!1){this.text=$;this.startOffset=J;this.isPrecededByNewline=K;this.endsWithNewline=Z}equals($){return this.text===$.text&&this.startOffset===$.startOffset}get length(){return this.text.length+(this.endsWithNewline?1:0)}}class XZ{text;columns;wrappedLines;constructor($,J){this.text=$;this.columns=J;this.wrappedLines=this.measureWrappedText()}measureWrappedText(){if(this.text.length===0)return[new X7("",0,!0,!1)];let $=[],J=0;while(J<this.text.length){let K=J,Z=J===0||this.text[J-1]===`
386
+ `,H=0,X=J,Q=-1;while(X<this.text.length){let G=this.text[X];if(G===`
387
+ `){$.push(new X7(this.text.slice(K,X),K,Z,!0)),J=X+1;break}let Y=this.text.codePointAt(X),z=String.fromCodePoint(Y),W=VP(z);if(H+W>this.columns){let N;if(Q>=K&&Q+1<X)N=Q+1;else if(X>K)N=X;else N=X+z.length;$.push(new X7(this.text.slice(K,N),K,Z,!1)),J=N;break}if(G===" "||G==="\t")Q=X;H+=W,X+=z.length}if(X>=this.text.length&&J===K)$.push(new X7(this.text.slice(K),K,Z,!1)),J=this.text.length}if(this.text.length>0&&this.text[this.text.length-1]===`
388
+ `)$.push(new X7("",this.text.length,!0,!1));return $}getWrappedText(){return this.wrappedLines.map(($)=>$.isPrecededByNewline?$.text:$.text.trimStart())}getLine($){return this.wrappedLines[Math.max(0,Math.min($,this.wrappedLines.length-1))]}getOffsetFromPosition($){let J=this.getLine($.line),K=J.startOffset+$.column;if(J.text.length===0&&J.endsWithNewline)return J.startOffset;let Z=J.startOffset+J.text.length,H=J.endsWithNewline?Z+1:Z;return Math.min(K,H)}getLineLength($){let J=this.getLine($),K=this.getLine($+1);if(K.equals(J))return this.text.length-J.startOffset;return K.startOffset-J.startOffset-1}getPositionFromOffset($){let J=this.wrappedLines;for(let Z=0;Z<J.length;Z++){let H=J[Z],X=J[Z+1];if($>=H.startOffset&&(!X||$<X.startOffset)){let Q=H.isPrecededByNewline?0:H.text.length-H.text.trimStart().length,G=Math.max(0,Math.min($-H.startOffset-Q,H.text.length));return{line:Z,column:G}}}let K=J.length-1;return{line:K,column:this.wrappedLines[K].text.length}}get lineCount(){return this.wrappedLines.length}equals($){return this.text===$.text&&this.columns===$.columns}}import{execSync as QZ}from"child_process";import{readFileSync as hP}from"fs";var GZ="/tmp/claude_cli_latest_screenshot.png",jG="No image found in clipboard. Use Cmd + Ctrl + Shift + 4 to copy a screenshot to clipboard.";function YZ(){if(process.platform!=="darwin")return null;try{QZ("osascript -e 'the clipboard as «class PNGf»'",{stdio:"ignore"}),QZ(`osascript -e 'set png_data to (the clipboard as «class PNGf»)' -e 'set fp to open for access POSIX file "${GZ}" with write permission' -e 'write png_data to fp' -e 'close access fp'`,{stdio:"ignore"});let J=hP(GZ).toString("base64");return QZ(`rm -f "${GZ}"`,{stdio:"ignore"}),J}catch{return null}}function q0($,J){return J.escape||$==="\x1B"}var cP="[Image pasted]";function mG($){return function(J){return(new Map($).get(J)??(()=>{}))(J)}}function zZ({value:$,onChange:J,onSubmit:K,onExit:Z,onExitMessage:H,onMessage:X,onHistoryUp:Q,onHistoryDown:G,onHistoryReset:Y,onDoubleEscape:z,mask:W="",multiline:N=!1,cursorChar:q,invert:U,columns:A,onImagePaste:f,disableCursorMovementForUpDownKeys:C=!1,externalOffset:b,onOffsetChange:I}){let w=b,y=I,B=l9.fromText($,A,w),[M,j]=DP(null);function G0(){if(!M)return;clearTimeout(M),j(null),X?.(!1)}let U9=y5((t)=>{G0(),H?.(t,"Ctrl-C")},()=>Z?.(),()=>{if($)J(""),Y?.()}),J9=y5((t)=>{G0(),X?.(!!$&&t,"Press Escape again to clear")},()=>{if(z?.())return;if($)J("")});function W0(){return l9.fromText("",A,0)}let V=y5((t)=>H?.(t,"Ctrl-D"),()=>Z?.());function S(){if(G0(),B.text==="")return V(),B;return B.del()}function d(){let t=YZ();if(t===null){if(process.platform!=="darwin")return B;return X?.(!0,jG),G0(),j(setTimeout(()=>{X?.(!1)},4000)),B}return f?.(t),B.insert(cP)}let R0=mG([["a",()=>B.startOfLine()],["b",()=>B.left()],["c",U9],["d",S],["e",()=>B.endOfLine()],["f",()=>B.right()],["h",()=>{return G0(),B.backspace()}],["k",()=>B.deleteToLineEnd()],["l",()=>W0()],["n",()=>u0()],["p",()=>I0()],["u",()=>B.deleteToLineStart()],["v",d],["w",()=>B.deleteWordBefore()]]),Y0=mG([["b",()=>B.prevWord()],["f",()=>B.nextWord()],["d",()=>B.deleteWordAfter()]]);function H0(t){if(N&&B.offset>0&&B.text[B.offset-1]==="\\")return B.backspace().insert(`
389
+ `);if(t.meta||t.shift)return B.insert(`
390
+ `);K?.($)}function I0(){if(C)return Q?.(),B;let t=B.up();if(t.equals(B))Q?.();return t}function u0(){if(C)return G?.(),B;let t=B.down();if(t.equals(B))G?.();return t}function M9(t,X0){if(X0.shift&&X0.delete||t==="\x1B[3;2~"){let o=B.deleteWordBefore();if(!B.equals(o)){if(y(o.offset),B.text!==o.text)J(o.text)}return}if(X0.meta&&(X0.backspace||X0.delete||t==="")){let o=B.deleteWordBefore();if(!B.equals(o)){if(y(o.offset),B.text!==o.text)J(o.text)}return}if(X0.backspace||X0.delete||t==="\b"||t===""||t==="\b"){let o=B.backspace();if(!B.equals(o)){if(y(o.offset),B.text!==o.text)J(o.text)}return}let m0=P1(t,X0)(t);if(m0){if(!B.equals(m0)){if(y(m0.offset),B.text!==m0.text)J(m0.text)}}}function P1(t,X0){if(q0(t,X0))return J9;if(X0.backspace||X0.delete)return G0(),()=>B.backspace();switch(!0){case(X0.leftArrow&&(X0.ctrl||X0.meta||X0.fn)):return()=>B.prevWord();case(X0.rightArrow&&(X0.ctrl||X0.meta||X0.fn)):return()=>B.nextWord();case X0.ctrl:return R0;case X0.home:return()=>B.startOfLine();case X0.end:return()=>B.endOfLine();case X0.pageDown:return()=>B.endOfLine();case X0.pageUp:return()=>B.startOfLine();case X0.return:return()=>H0(X0);case X0.meta:return Y0;case X0.tab:return()=>{};case X0.upArrow:return I0;case X0.downArrow:return u0;case X0.leftArrow:return()=>B.left();case X0.rightArrow:return()=>B.right()}return function(m0){switch(!0){case(m0=="\x1B[H"||m0=="\x1B[1~"):return B.startOfLine();case(m0=="\x1B[F"||m0=="\x1B[4~"):return B.endOfLine();case(m0==="\b"||m0===""||m0==="\b"):return G0(),B.backspace();default:return B.insert(m0.replace(/\r/g,`
391
+ `))}}}return{onInput:M9,renderedValue:B.render(q,W,U),offset:w,setOffset:y}}v();import{jsxDEV as xP}from"react/jsx-dev-runtime";var dG="[200~",F4="\x1B[201~",P4="[201~";function pP($){let J=$,K=!1,Z=!1;if(J.startsWith(dG))J=J.slice(dG.length),K=!0;if(J.endsWith(F4))J=J.slice(0,-F4.length),Z=!0;else if(J.endsWith(P4))J=J.slice(0,-P4.length),Z=!0;else{let H=J.indexOf(F4);if(H!==-1)J=J.slice(0,H)+J.slice(H+F4.length),Z=!0;else{let X=J.indexOf(P4);if(X!==-1)J=J.slice(0,X)+J.slice(X+P4.length),Z=!0}}return{text:J,hasBracketStart:K,hasBracketEnd:Z}}function G7({value:$,placeholder:J="",focus:K=!0,mask:Z,multiline:H=!1,highlightPastedText:X=!1,showCursor:Q=!0,onChange:G,onSubmit:Y,onExit:z,onHistoryUp:W,onHistoryDown:N,onExitMessage:q,onMessage:U,onHistoryReset:A,onDoubleEscape:f,columns:C,onImagePaste:b,onPaste:I,isDimmed:w=!1,disableCursorMovementForUpDownKeys:y=!1,cursorOffset:B,onChangeCursorOffset:M}){let[U9,J9]=jP(0),W0=C??process.stdout.columns??80,V=B??U9,S=M??J9,{onInput:d,renderedValue:R0}=zZ({value:$,onChange:G,onSubmit:Y,onExit:z,onExitMessage:q,onMessage:U,onHistoryReset:A,onHistoryUp:W,onHistoryDown:N,onDoubleEscape:f,focus:K,mask:Z,multiline:H,cursorChar:Q?" ":"",highlightPastedText:X,invert:Q7.inverse,themeText:(U0)=>Q7.hex(L().colors.text)(U0),columns:W0,onImagePaste:b,disableCursorMovementForUpDownKeys:y,externalOffset:V,onOffsetChange:S}),Y0=WZ([]),H0=WZ(null),I0=WZ(!1),u0=()=>{if(H0.current)clearTimeout(H0.current),H0.current=null},M9=()=>{let U0=Y0.current.join("");if(Y0.current=[],u0(),I0.current=!1,!U0||!I)return;Promise.resolve().then(()=>I(U0))},P1=()=>{u0(),H0.current=setTimeout(()=>{M9()},100)},t=(U0)=>{Y0.current.push(U0),P1()},X0=()=>H0.current!==null||I0.current;EP(()=>()=>{u0(),Y0.current=[],I0.current=!1},[]);let m0=(U0)=>{return Boolean(U0.return||U0.escape||U0.tab||U0.ctrl||U0.meta||U0.upArrow||U0.downArrow||U0.leftArrow||U0.rightArrow||U0.pageUp||U0.pageDown||U0.backspace||U0.delete)};dP((U0,x0)=>{let{text:Q9,hasBracketStart:t9,hasBracketEnd:K9}=pP(U0);if(t9&&I)I0.current=!0;if(I0.current&&I){if(m0(x0)){M9();return}if(Q9)t(Q9);if(K9)M9();return}if(K9&&X0()){if(Q9)t(Q9);M9();return}if(x0.backspace||x0.delete||Q9==="\b"||Q9===""||Q9==="\b"){d(Q9,{...x0,backspace:!0});return}if(!Q9&&!m0(x0))return;if(I&&X0()&&m0(x0)){M9();return}if(I&&(Q9.length>800||X0())){t(Q9);return}d(Q9,x0)},{isActive:K});let D0=J?Q7.hex(L().colors.textMuted)(J):void 0;if(Q&&K)D0=J.length>0?Q7.inverse(J[0])+Q7.hex(L().colors.textMuted)(J.slice(1)):Q7.inverse(" ");let z9=$.length==0&&J;return xP(mP,{wrap:"truncate-end",dimColor:w,children:z9?D0:R0},void 0,!1,void 0,this)}import{useSyncExternalStore as lP}from"react";function xG(){return{columns:process.stdout.columns||80,rows:process.stdout.rows||24}}var U4=xG(),O4=!1,A4=new Set;function _Z(){let $=xG();if($.columns===U4.columns&&$.rows===U4.rows)return!1;return U4=$,!0}function uP(){for(let $ of A4)$()}function lG(){if(!_Z())return;uP()}function rP(){if(O4)return;process.stdout.on("resize",lG),O4=!0}function aP(){if(!O4||A4.size!==0)return;process.stdout.off("resize",lG),O4=!1}function nP($){return A4.add($),_Z(),rP(),()=>{A4.delete($),aP()}}function pG(){return _Z(),U4}function C9(){return lP(nP,pG,pG)}f4();import{jsxDEV as E1,Fragment as ZU}from"react/jsx-dev-runtime";var JU="image/png",aG="[Image pasted]";function KU($){return`data:${JU};base64,${$}`}function NZ({userName:$,value:J,onChange:K,onSubmit:Z,onTrigger:H,onExit:X,isStreaming:Q=!1,isDisabled:G=!1,focus:Y,history:z=[],onSaveInput:W,onDoubleEscape:N}){let{columns:q}=C9(),U=q-6,A=D3()&&uG(),[f,C]=r$(-1),[b,I]=r$(""),[w,y]=r$(z),[B,M]=r$(J.length),[j,G0]=r$(null),[U9,J9]=r$(null),[W0,V]=r$({show:!1}),[S,d]=r$({show:!1}),R0=y4(J),Y0=y4(B),H0=y4(j),I0=y4(U9);R0.current=J,Y0.current=B,H0.current=j,I0.current=U9,rG(()=>{if(z.length>0)y((o)=>{let D0=[...o];for(let z9 of z)if(!D0.includes(z9))D0.push(z9);return D0.slice(0,100)})},[z]),rG(()=>{if(w.length===0&&f>=0)C(-1)},[w.length]);let u0=B4(()=>{if(w.length===0)return;if(f===-1)I(J);let o=Math.min(f+1,w.length-1);if(C(o),o>=0&&o<w.length){let D0=w[o];K(D0),M(D0.length)}},[w,f,J,K]),M9=B4(()=>{if(f<0)return;let o=f-1;if(C(o),o===-1)K(b),M(b.length);else if(o>=0&&o<w.length){let D0=w[o];K(D0),M(D0.length)}else if(o>=w.length)C(-1),K(b),M(b.length)},[f,b,w,K]),P1=B4((o)=>{C(-1);let D0=o==="/"||o.startsWith("/")&&!J.startsWith("/"),z9=o.match(/@([\p{L}\p{N}_-]*)$/u),U0=J.match(/@[\p{L}\p{N}_-]*$/u),x0=z9&&!U0;if(K(o),D0)H("command",o.slice(1));else if(x0)H("mention",z9[1])},[J,K,H]),t=B4((o)=>{let D0=R0.current,z9=H0.current,U0=I0.current,x0=o!==D0&&(z9!==null||U0!==null)?D0:o;if(z9){let M6=`[Pasted text +${(z9.match(/\r\n|\r|\n/g)||[]).length} lines] `;if(x0.includes(M6))x0=x0.replaceAll(M6,z9)}if(U0&&x0.includes(aG))x0=x0.replaceAll(aG,"");let Q9=U0!==null,t9=x0.trim();if(!t9&&!Q9)return;if(Q9){let K9=KU(U0);x0=t9?`${x0}
392
+
393
+ ${K9}`:K9}if(t9)W?.(t9),y((K9)=>[t9,...K9.filter((M6)=>M6!==t9)].slice(0,100));R0.current="",Y0.current=0,H0.current=null,I0.current=null,K(""),G0(null),J9(null),d({show:!1}),Z(x0)},[Z,W,K]);function X0(o){I0.current=o,J9(o),d({show:!0,text:"Image attached. Press Enter to send."})}function m0(o){let D0=R0.current,z9=Y0.current,U0=o.replace(/\r/g,`
394
+ `),Q9=`[Pasted text +${(U0.match(/\r\n|\r|\n/g)||[]).length} lines] `,t9=D0.slice(0,z9)+Q9+D0.slice(z9);R0.current=t9,K(t9);let K9=z9+Q9.length;Y0.current=K9,M(z9+Q9.length),H0.current=U0,G0(U0)}return E1(M5,{flexDirection:"column",children:[E1(M5,{borderStyle:"single",borderLeft:!1,borderRight:!1,borderDimColor:!0,width:"100%",children:E1(M5,{children:[E1(oK,{userName:$},void 0,!1,void 0,this),E1(G7,{multiline:!0,value:J,onChange:P1,onSubmit:t,onHistoryUp:u0,onHistoryDown:M9,onHistoryReset:()=>C(-1),onDoubleEscape:N,onExit:X,onExitMessage:(o,D0)=>V({show:o,key:D0}),onMessage:(o,D0)=>d({show:o,text:D0}),onImagePaste:X0,onPaste:m0,columns:U,isDimmed:G,focus:Y!==!1,showCursor:!0,cursorOffset:B,onChangeCursorOffset:M},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E1(M5,{flexDirection:"row",justifyContent:"space-between",paddingX:2,children:E1(M5,{justifyContent:"flex-start",gap:1,children:W0.show?E1(M4,{dimColor:!0,children:["Press ",W0.key," again to exit"]},void 0,!0,void 0,this):S.show?E1(M4,{dimColor:!0,children:S.text},void 0,!1,void 0,this):E1(ZU,{children:[E1(M4,{dimColor:!0,children:"/ for commands · @ to mention · esc to undo"},void 0,!1,void 0,this),E1(M4,{dimColor:!0,children:A?"shift + ⏎ for newline":"\\⏎ for newline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{Static as mc,Box as dc}from"ink";import*as $W from"react";import{Box as z3,Text as p6}from"ink";import JA from"wrap-ansi";v();import{Box as w5,Text as FZ}from"ink";import{jsxDEV as a$}from"react/jsx-dev-runtime";var HU=process.platform==="darwin"?"⏺":"●";function w4({param:{text:$},userName:J,columns:K,addMargin:Z=!1,showPrefix:H=!0}){let X=L(),Q=J||"User",G=Math.max(K-4,20);return a$(w5,{flexDirection:"column",marginTop:Z?1:0,width:"100%",children:[H&&a$(w5,{flexDirection:"row",children:a$(FZ,{bold:!0,color:X.colors.primary,children:["\uD83E\uDD84 ",Q]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a$(w5,{flexDirection:"row",width:"100%",marginTop:H?1:0,children:[a$(w5,{minWidth:2,children:a$(FZ,{color:X.colors.primary,children:HU},void 0,!1,void 0,this)},void 0,!1,void 0,this),a$(w5,{flexShrink:1,width:G,children:a$(FZ,{wrap:"wrap",children:$?g9($,{width:G}):""},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}v();import{Box as zU,Text as UZ}from"ink";var XU=/data:image\/[a-zA-Z0-9.+-]+;base64,[a-zA-Z0-9+/=\n\r]+/g;function QU(){return(process.env.TERM_PROGRAM??"").toLowerCase()==="iterm.app"}function GU(){return QU()&&Boolean(process.stdout?.isTTY)}function C4($){let K=$.trim().match(/^data:(image\/[a-zA-Z0-9.+-]+);base64,([a-zA-Z0-9+/=\n\r]+)$/);if(!K)return null;let[,Z,H]=K;if(!Z||!H)return null;try{let X=H.replace(/\s+/g,""),Q=Buffer.from(X,"base64");if(Q.length===0)return null;return{buffer:Q,mimeType:Z}}catch{return null}}function nG($){let J=C4($);if(!J)return null;return YU(J.buffer,J.mimeType)}function YU($,J="image/png"){if(!GU())return null;let K=$.toString("base64");return`\x1B]1337;File=inline=1;preserveAspectRatio=1;size=${$.length};type=${J}:${K}\x07`}function PZ($){let J=[],K=0;for(let Z of $.matchAll(XU)){let H=Z.index??0,X=Z[0]??"";if(!X)continue;if(H>K)J.push({type:"text",text:$.slice(K,H)});J.push({type:"image",dataUri:X}),K=H+X.length}if(K<$.length)J.push({type:"text",text:$.slice(K)});return J.length>0?J:[{type:"text",text:$}]}import{jsxDEV as I4}from"react/jsx-dev-runtime";function iG({dataUri:$,userName:J,showPrefix:K=!0}){let Z=L(),X=`\uD83E\uDD84 ${J||"User"}`,Q=nG($);return I4(zU,{flexDirection:"column",width:"100%",children:[K&&I4(UZ,{bold:!0,color:Z.colors.primary,children:X},void 0,!1,void 0,this),Q?I4(UZ,{children:Q},void 0,!1,void 0,this):I4(UZ,{dimColor:!0,children:"[Image attachment]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useRef as PU}from"react";import{Box as S4,Text as S5}from"ink";var C5=[{present:"Accomplishing",past:"Accomplished"},{present:"Actioning",past:"Actioned"},{present:"Actualizing",past:"Actualized"},{present:"Absquatulating",past:"Absquatulated"},{present:"Bamboozling",past:"Bamboozled"},{present:"Brewing",past:"Brewed"},{present:"Calculating",past:"Calculated"},{present:"Cerebrating",past:"Cerebrated"},{present:"Churning",past:"Churned"},{present:"Coalescing",past:"Coalesced"},{present:"Cogitating",past:"Cogitated"},{present:"Confabulating",past:"Confabulated"},{present:"Conjuring",past:"Conjured"},{present:"Considering",past:"Considered"},{present:"Contemplating",past:"Contemplated"},{present:"Cooking",past:"Cooked"},{present:"Crafting",past:"Crafted"},{present:"Crunching",past:"Crunched"},{present:"Deliberating",past:"Deliberated"},{present:"Determining",past:"Determined"},{present:"Dillydallying",past:"Dillydallied"},{present:"Discombobulating",past:"Discombobulated"},{present:"Doing",past:"Done"},{present:"Effecting",past:"Effected"},{present:"Finagling",past:"Finagled"},{present:"Fizzwizzling",past:"Fizzwizzled"},{present:"Flummoxing",past:"Flummoxed"},{present:"Forging",past:"Forged"},{present:"Frobnicating",past:"Frobnicated"},{present:"Gallivanting",past:"Gallivanted"},{present:"Generating",past:"Generated"},{present:"Hatching",past:"Hatched"},{present:"Herding",past:"Herded"},{present:"Honking",past:"Honked"},{present:"Hornswoggling",past:"Hornswoggled"},{present:"Hustling",past:"Hustled"},{present:"Ideating",past:"Ideated"},{present:"Inferring",past:"Inferred"},{present:"Lollygagging",past:"Lollygagged"},{present:"Manifesting",past:"Manifested"},{present:"Marinating",past:"Marinated"},{present:"Moseying",past:"Moseyed"},{present:"Mulling",past:"Mulled"},{present:"Mustering",past:"Mustered"},{present:"Musing",past:"Mused"},{present:"Noodling",past:"Noodled"},{present:"Perambulating",past:"Perambulated"},{present:"Percolating",past:"Percolated"},{present:"Pondering",past:"Pondered"},{present:"Prestidigitating",past:"Prestidigitated"},{present:"Processing",past:"Processed"},{present:"Puttering",past:"Puttered"},{present:"Reflecting",past:"Reflected"},{present:"Reticulating",past:"Reticulated"},{present:"Ruminating",past:"Ruminated"},{present:"Schlepping",past:"Schlepped"},{present:"Shenaniganing",past:"Shenaniganed"},{present:"Shucking",past:"Shucked"},{present:"Skedaddling",past:"Skedaddled"},{present:"Snozzwangling",past:"Snozzwangled"},{present:"Simmering",past:"Simmered"},{present:"Smooshing",past:"Smooshed"},{present:"Spinning",past:"Spun"},{present:"Stewing",past:"Stewed"},{present:"Synthesizing",past:"Synthesized"},{present:"Thaumaturging",past:"Thaumaturged"},{present:"Thinking",past:"Thought"},{present:"Transmogrifying",past:"Transmogrified"},{present:"Transmuting",past:"Transmuted"},{present:"Vibing",past:"Vibed"},{present:"Weaving",past:"Woven"},{present:"Working",past:"Worked"},{present:"Chrysalizing",past:"Chrysalized"},{present:"Fluttering",past:"Fluttered"},{present:"Harmonizing",past:"Harmonized"},{present:"Metamorphosing",past:"Metamorphosed"},{present:"Orchestrating",past:"Orchestrated"},{present:"Catching",past:"Caught"},{present:"Evolving",past:"Evolved"},{present:"Mega Evolving",past:"Mega Evolved"},{present:"Summoning",past:"Summoned"},{present:"Charging",past:"Charged"},{present:"Fusing",past:"Fused"},{present:"Kamehameha-ing",past:"Kamehameha'd"},{present:"Powering Up",past:"Powered Up"},{present:"Spirit Bombing",past:"Spirit Bombed"},{present:"Transcending",past:"Transcended"},{present:"Gear Shifting",past:"Gear Shifted"},{present:"Gum-Gum-ing",past:"Gum-Gum'd"},{present:"Navigating",past:"Navigated"},{present:"Plundering",past:"Plundered"},{present:"Sailing",past:"Sailed"},{present:"Setting Sail",past:"Set Sail"},{present:"Catapulting",past:"Catapulted"},{present:"Mobilizing",past:"Mobilized"},{present:"Newtypeing",past:"Newtyped"},{present:"Trans-Am-ing",past:"Trans-Am'd"},{present:"Assembling",past:"Assembled"},{present:"Hulking",past:"Hulked"},{present:"Snapping",past:"Snapped"},{present:"Vibranium-ing",past:"Vibranium'd"},{present:"Alchemizing",past:"Alchemized"},{present:"Assimilating",past:"Assimilated"},{present:"Astral Projecting",past:"Astral Projected"},{present:"Beaming",past:"Beamed"},{present:"Cloaking",past:"Cloaked"},{present:"Dematerializing",past:"Dematerialized"},{present:"Enchanting",past:"Enchanted"},{present:"Engaging",past:"Engaged"},{present:"Ensorcelling",past:"Ensorcelled"},{present:"Holographing",past:"Holographed"},{present:"Hyperjumping",past:"Hyperjumped"},{present:"Morphing",past:"Morphed"},{present:"Nebulizing",past:"Nebulized"},{present:"Phasing",past:"Phased"},{present:"Quantum Leaping",past:"Quantum Leapt"},{present:"Shapeshifting",past:"Shapeshifted"},{present:"Spellcasting",past:"Spellcast"},{present:"Teleporting",past:"Teleported"},{present:"Terraforming",past:"Terraformed"},{present:"Time Traveling",past:"Time Traveled"},{present:"Time Warping",past:"Time Warped"},{present:"Transforming",past:"Transformed"},{present:"Warping",past:"Warped"},{present:"Wormholing",past:"Wormholed"},{present:"Bepuzzling",past:"Bepuzzled"},{present:"Blorbulating",past:"Blorbulated"},{present:"Cattywampusing",past:"Cattywampused"},{present:"Cromulating",past:"Cromulated"},{present:"Discorbuflating",past:"Discorbuflated"},{present:"Embiggenating",past:"Embiggenated"},{present:"Flibbertigibbeting",past:"Flibbertigibbeted"},{present:"Flonkifying",past:"Flonkified"},{present:"Frobscottling",past:"Frobscottled"},{present:"Glorpifying",past:"Glorpified"},{present:"Gobsmacking",past:"Gobsmacked"},{present:"Higgledy-piggling",past:"Higgledy-piggled"},{present:"Jiggery-pokerying",past:"Jiggery-pokeried"},{present:"Kerfuffling",past:"Kerfuffled"},{present:"Malarkeying",past:"Malarkeyed"},{present:"Mumblewumbling",past:"Mumblewumbled"},{present:"Phantasmagoring",past:"Phantasmagored"},{present:"Quibberflasting",past:"Quibberflasted"},{present:"Quorfluxing",past:"Quorfluxed"},{present:"Rigmaroling",past:"Rigmaroled"},{present:"Skullduggering",past:"Skullduggered"},{present:"Snizzleworfing",past:"Snizzleworfed"},{present:"Snorfulating",past:"Snorfulated"},{present:"Spatchcocking",past:"Spatchcocked"},{present:"Tomfoolering",past:"Tomfoolered"},{present:"Wibbling",past:"Wibbled"},{present:"Wumboozling",past:"Wumboozled"},{present:"Yoinking",past:"Yoinked"},{present:"Zippledorping",past:"Zippledorped"},{present:"Zorbinating",past:"Zorbinated"},{present:"Awakening",past:"Awakened"},{present:"Bankai-ing",past:"Bankai'd"},{present:"Rasengan-ing",past:"Rasengan'd"},{present:"Unleashing",past:"Unleashed"}];function $6(){return C5[Math.floor(Math.random()*C5.length)]??C5[0]}var WU=new Set(["file","web"]),_U={ls:"list",rm:"remove",cp:"copy",mv:"move",cd:"change_dir",mkdir:"make_dir"},qU=new Set(["arion","delegation","knowledge","patch","processes","process","quest","skill","stdin","tool","user","worker"]);function sG($,J=!1){let K=_U[$]??$,Z=K.split("_").filter((X)=>!WU.has(X.toLowerCase()));if(Z.length===0)return J?oG(K.toLowerCase()):I5(K);let H=J?NU(Z):-1;return Z.map((X,Q)=>Q===H?oG(X.toLowerCase()):I5(X.toLowerCase())).join(" ")}function NU($){let J=$.findIndex((K)=>!qU.has(K.toLowerCase()));return J>=0?J:0}var FU=new Set(["glob","grep","run","get","set","put","stop","spin","forget"]);function oG($){if($.endsWith("e")&&$.length>2)return I5($.slice(0,-1))+"ing";if(FU.has($))return I5($)+$[$.length-1]+"ing";return I5($)+"ing"}function I5($){return $.charAt(0).toUpperCase()+$.slice(1)}import{jsxDEV as J6}from"react/jsx-dev-runtime";var UU=1/0;function OU($){if($===void 0||$===null)return"";if($<=0)return"< 1s";if($<60)return`${$}s`;let J=Math.floor($/60),K=$%60;return`${J}m ${K}s`}function OZ({content:$,expanded:J=!1,durationSeconds:K,verb:Z,arionName:H,arionEmoji:X,arionColor:Q,isLive:G=!1,maxLines:Y=UU}){let z=L(),W=PU($6()),N=Z||W.current.present,q=Z||W.current.past,U=OU(K);return J6(S4,{flexDirection:"column",children:[!!(X&&H)&&J6(S4,{marginBottom:1,children:J6(S5,{color:Q||z.colors.textMuted,bold:!0,children:[X," ",H]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J6(S5,{color:z.colors.textMuted,children:["✻"," ",G?N:q,G?"…":U?` for ${U}`:""]},void 0,!0,void 0,this),G&&$&&J6(tG,{content:$,maxLines:Y,isLive:!0},void 0,!1,void 0,this),!G&&J&&$&&J6(tG,{content:$,maxLines:Y,isLive:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function tG({content:$,maxLines:J,isLive:K}){let Z=L(),{columns:H}=C9(),X=Math.max(H-4,20),G=g9($,{width:X,mode:K?"streaming":"final"}).split(`
395
+ `),Y=G.slice(0,J),z=G.length-Y.length;return J6(S4,{children:[J6(S5,{color:Z.colors.textMuted,children:" ⎿ "},void 0,!1,void 0,this),J6(S4,{flexDirection:"column",width:X,children:[Y.map((W,N)=>J6(S5,{color:Z.colors.textMuted,wrap:"wrap",children:W},N,!1,void 0,this)),z>0&&J6(S5,{color:Z.colors.textMuted,children:["…"," (+",z," line",z!==1?"s":"",")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{Box as sz,Text as iZ}from"ink";v();import{Box as KY,Text as b4}from"ink";import{Box as LU,Text as RU}from"ink";import fU from"react";import{useEffect as eG,useRef as AU}from"react";function $Y($,J){let K=AU($);eG(()=>{K.current=$},[$]),eG(()=>{function Z(){K.current()}let H=setInterval(Z,J);return()=>clearInterval(H)},[J])}v();import{jsxDEV as JY}from"react/jsx-dev-runtime";var BU=process.platform==="darwin"?"⏺":"●";function AZ({isError:$=!1,isUnresolved:J=!1,shouldAnimate:K=!0,...Z}){let H=J||Z.isQueued||!1,[X,Q]=fU.useState(!0);$Y(()=>{if(!K)return;Q((Y)=>!Y)},600);let G=H?L().colors.textMuted:$?L().colors.error:L().colors.success;return JY(LU,{minWidth:2,children:JY(RU,{color:G,children:X?BU:" "},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{jsxDEV as c3}from"react/jsx-dev-runtime";function yU($){return $.split(/,\s*(?=\w+:\s)/).map((K)=>K.replace(/^\w+:\s*/,"")).join(" ")}function MU($,J){let K=$.replace(/\s+/g," ").trim();if(K.length<=J)return K;return K.slice(0,J-1)+"…"}function ZY({displayName:$,args:J,status:K,durationMs:Z,verbose:H}){let X=L(),Q=K==="pending"||K==="running",G=K==="error",Y;if(J)if(typeof J==="string")if(H)Y=J;else{let z=yU(J),W=process.stdout.columns||80,N=2+$.length+1,q=Math.max(20,W-N);Y=MU(z,q)}else Y=J;return c3(KY,{flexDirection:"row",children:[c3(AZ,{shouldAnimate:Q,isError:G,isUnresolved:Q},void 0,!1,void 0,this),c3(b4,{bold:!0,children:$},void 0,!1,void 0,this),Y!=null&&(typeof Y==="string"?c3(b4,{children:[" ",Y]},void 0,!0,void 0,this):c3(KY,{children:[c3(b4,{children:" "},void 0,!1,void 0,this),Y]},void 0,!0,void 0,this)),H&&Z!=null?c3(b4,{color:X.colors.textMuted,children:[" · ",(Z/1000).toFixed(1),"s"]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}import{Box as LZ,Text as wU}from"ink";import{jsxDEV as k4}from"react/jsx-dev-runtime";function RZ({children:$}){return k4(LZ,{flexDirection:"column",children:k4(LZ,{flexDirection:"row",children:[k4(wU,{children:[" ","⎿"," "]},void 0,!0,void 0,this),k4(LZ,{flexDirection:"column",flexGrow:1,children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import{Box as CU,Text as IU}from"ink";import{jsxDEV as fZ,Fragment as SU}from"react/jsx-dev-runtime";function HY({durationMs:$,usage:J}){let K=[];if(J&&J.totalTokens>0)K.push(`+${z4(J.totalTokens)} tokens`),K.push(aK(J.estimatedCost));if($)K.push(`${($/1000).toFixed(1)}s`);if(K.length===0)return fZ(SU,{},void 0,!1,void 0,this);return fZ(CU,{children:fZ(IU,{dimColor:!0,children:K.join(" · ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import QY from"react";import{jsxDEV as bU}from"react/jsx-dev-runtime";var XY=process.stdout.columns||80,GY=QY.createContext({terminalWidth:XY,contentWidth:Math.max(XY-5,1)});function g4({value:$,children:J}){return bU(GY.Provider,{value:$,children:J},void 0,!1,void 0,this)}function n$(){return QY.useContext(GY)}import{Text as W7}from"ink";v();import{Text as YY}from"ink";import{jsxDEV as zY}from"react/jsx-dev-runtime";function k(){return zY(YY,{children:["  ","⎿","  ",zY(YY,{color:L().colors.error,children:"No (tell ARIA what to do differently)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{Box as TU,Text as VU}from"ink";v();import{Box as BZ,Text as kU}from"ink";import gU from"chalk";function u9($){return $.length>80?$.slice(0,80)+"…":$}function G$($){return $.split(`
396
+ `).map(u9).join(`
397
+ `)}import{jsxDEV as v4}from"react/jsx-dev-runtime";var yZ=3;function vU($,J){let K=$.split(`
398
+ `);if(K.length<=yZ)return K.map(u9).join(`
399
+ `);return[...K.slice(0,yZ).map(u9),gU.grey(`… +${J-yZ} lines`)].join(`
400
+ `)}function z7({content:$,lines:J,verbose:K,isError:Z}){return v4(BZ,{justifyContent:"space-between",width:"100%",children:v4(BZ,{flexDirection:"row",children:v4(BZ,{flexDirection:"column",children:v4(kU,{color:Z?L().colors.error:void 0,children:K?$.trim():vU($.trim(),J)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}v();import{jsxDEV as T4}from"react/jsx-dev-runtime";function hU({content:$,verbose:J}){let{stdout:K,stdoutLines:Z,stderr:H,stderrLines:X}=$;return T4(TU,{flexDirection:"column",children:[K!==""?T4(z7,{content:K,lines:Z,verbose:J},void 0,!1,void 0,this):null,H!==""?T4(z7,{content:H,lines:X,verbose:J,isError:!0},void 0,!1,void 0,this):null,K===""&&H===""?T4(VU,{color:L().colors.textMuted,children:"(No content)"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}var WY=hU;import{jsxDEV as i$}from"react/jsx-dev-runtime";var o$={displayName(){return"Bash"},renderInput($){if(typeof $.command==="string"){let J=$.command;if(J.includes(`"$(cat <<'EOF'`)){let K=J.match(/^(.*?)"?\$\(cat <<'EOF'\n([\s\S]*?)\n\s*EOF\n\s*\)"(.*)$/);if(K&&K[1]&&K[2])return`${K[1].trim()} "${K[2].trim()}"${(K[3]||"").trim()}`}return J}if(typeof $.program==="string"){let J=Array.isArray($.args)?" "+$.args.join(" "):"";return`${$.program}${J}`}if(typeof $.input==="string"){let J=$.input.length>40?$.input.slice(0,40)+"…":$.input;return`stdin → ${$.pid??""} "${J}"`}if($.signal!=null)return`kill ${$.signal} ${$.pid}`;if(typeof $.timeoutMs==="number"||typeof $.timeout==="number")return`wait ${$.pid}`;if($.pid!=null&&Object.keys($).length<=2)return`pid ${$.pid}`;return""},renderRejection(){return i$(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){if($==null)return i$(W7,{children:"(No content)"},void 0,!1,void 0,this);if(typeof $==="string")return i$(W7,{children:$||"(No content)"},void 0,!1,void 0,this);let K=$;if(typeof K.stdout==="string"||typeof K.stderr==="string"){let Z={stdout:K.stdout??"",stdoutLines:typeof K.stdoutLines==="number"?K.stdoutLines:(K.stdout??"").split(`
401
+ `).length,stderr:K.stderr??"",stderrLines:typeof K.stderrLines==="number"?K.stderrLines:(K.stderr??"").split(`
402
+ `).length};return i$(WY,{content:Z,verbose:J},void 0,!1,void 0,this)}if(K.pid!=null)return i$(W7,{children:["pid: ",String(K.pid)]},void 0,!0,void 0,this);if(K.signal!=null||K.killed!=null)return i$(W7,{children:[K.killed?"Killed":"Signal sent",K.signal?` (${String(K.signal)})`:""]},void 0,!0,void 0,this);if(K.exitCode!=null)return i$(W7,{children:["Exit code: ",String(K.exitCode)]},void 0,!0,void 0,this);return i$(W7,{children:JSON.stringify($)},void 0,!1,void 0,this)}};import{Box as NY,Text as g5}from"ink";import{relative as CZ}from"path";import{Box as wZ,Text as k5}from"ink";v();import{Box as b5,Text as w1}from"ink";import*as _Y from"react";import{useMemo as DU}from"react";import{jsxDEV as G9}from"react/jsx-dev-runtime";function cU($,J){let K=[],Z="";for(let H of $)if([...Z].length<J)Z+=H;else K.push(Z),Z=H;if(Z)K.push(Z);return K}function EU({patch:$,dim:J,width:K,overrideTheme:Z}){return DU(()=>jU($.lines,$.oldStart,K,J,Z),[$.lines,$.oldStart,K,J,Z]).map((X,Q)=>G9(b5,{children:X},Q,!1,void 0,this))}function jU($,J,K,Z,H){let X=L(),Q=mU($.map((z)=>{if(z.startsWith("+"))return{code:"+"+z.slice(1),i:0,type:"add"};if(z.startsWith("-"))return{code:"-"+z.slice(1),i:0,type:"remove"};return{code:z,i:0,type:"nochange"}}),J),Y=Math.max(...Q.map(({i:z})=>z)).toString().length;return Q.flatMap(({type:z,code:W,i:N})=>{return cU(W,K-Y).map((U,A)=>{let f=`${z}-${N}-${A}`;switch(z){case"add":return G9(w1,{children:[G9(MZ,{i:A===0?N:void 0,width:Y},void 0,!1,void 0,this),G9(w1,{color:H?X.colors.text:void 0,backgroundColor:Z?X.colors.diffAddedDimmed:X.colors.diffAdded,dimColor:Z,children:U},void 0,!1,void 0,this)]},f,!0,void 0,this);case"remove":return G9(w1,{children:[G9(MZ,{i:A===0?N:void 0,width:Y},void 0,!1,void 0,this),G9(w1,{color:H?X.colors.text:void 0,backgroundColor:Z?X.colors.diffRemovedDimmed:X.colors.diffRemoved,dimColor:Z,children:U},void 0,!1,void 0,this)]},f,!0,void 0,this);case"nochange":return G9(w1,{children:[G9(MZ,{i:A===0?N:void 0,width:Y},void 0,!1,void 0,this),G9(w1,{color:H?X.colors.text:void 0,dimColor:Z,children:U},void 0,!1,void 0,this)]},f,!0,void 0,this)}})})}function MZ({i:$,width:J}){return G9(w1,{color:L().colors.textMuted,children:[$!==void 0?$.toString().padStart(J):" ".repeat(J)," "]},void 0,!0,void 0,this)}function mU($,J){let K=J,Z=[],H=[...$];while(H.length>0){let{code:X,type:Q}=H.shift(),G={code:X,type:Q,i:K};switch(Q){case"nochange":K++,Z.push(G);break;case"add":K++,Z.push(G);break;case"remove":{Z.push(G);let Y=0;while(H[0]?.type==="remove"){K++;let{code:z,type:W}=H.shift(),N={code:z,type:W,i:K};Z.push(N),Y++}K-=Y;break}}}return Z}function dU($){let J=[];for(let K of $.lines)switch(K.type){case"added":J.push("+"+K.content);break;case"removed":J.push("-"+K.content);break;default:J.push(" "+K.content);break}return{lines:J,oldStart:$.oldStart}}function E3({diff:$,width:J=60,showHeader:K=!0,maxLines:Z=50,dim:H=!1}){let X=L(),Q=$.hunks.reduce((W,N)=>W+N.lines.length,0),G=Q>Z,Y=G?Math.floor(Z/$.hunks.length):void 0,z=G?$.hunks.reduce((W,N)=>W+Math.min(N.lines.length,Y),0):Q;return G9(b5,{flexDirection:"column",width:J,children:[K&&G9(b5,{marginBottom:1,children:[G9(w1,{bold:!0,children:$.filePath},void 0,!1,void 0,this),G9(w1,{color:X.colors.textMuted,children:[" ","(",G9(w1,{color:X.colors.success,children:["+",$.additions]},void 0,!0,void 0,this)," / ",G9(w1,{color:X.colors.error,children:["-",$.deletions]},void 0,!0,void 0,this),")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.hunks.map((W,N)=>{let q=Y&&W.lines.length>Y?{...W,lines:W.lines.slice(0,Y)}:W,U=dU(q);return G9(_Y.Fragment,{children:[N>0&&G9(b5,{paddingY:0,children:G9(w1,{color:X.colors.textMuted,children:"..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),G9(EU,{patch:U,dim:H,width:J},void 0,!1,void 0,this)]},N,!0,void 0,this)}),G&&G9(b5,{marginTop:1,children:G9(w1,{color:X.colors.textMuted,children:["... ",Q-z," more lines"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{jsxDEV as K6,Fragment as qY}from"react/jsx-dev-runtime";function pU($,J){return $.flatMap((K,Z)=>Z?[J(Z),K]:[K])}function xU($,J){let K=[],Z=$.oldStart,H=$.newStart,X=0,Q=0;for(let G of $.lines){let Y=G.slice(1);if(G.startsWith("+"))K.push({type:"added",content:Y,newLineNo:H++}),X++;else if(G.startsWith("-"))K.push({type:"removed",content:Y,oldLineNo:Z++}),Q++;else K.push({type:"unchanged",content:Y,oldLineNo:Z++,newLineNo:H++})}return{filePath:J,hunks:[{oldStart:$.oldStart,oldLines:$.oldLines,newStart:$.newStart,newLines:$.newLines,lines:K}],additions:X,deletions:Q}}function V4({filePath:$,structuredPatch:J,verbose:K}){let{columns:Z}=C9(),H=J.reduce((z,W)=>z+W.lines.filter((N)=>N.startsWith("+")).length,0),X=J.reduce((z,W)=>z+W.lines.filter((N)=>N.startsWith("-")).length,0),Q=J.flatMap((z)=>z.lines.filter((W)=>W.startsWith("+")||W.startsWith("-"))),G=2,Y=K||Q.length<=2;return K6(wZ,{flexDirection:"column",children:[K6(k5,{children:[H>0?K6(qY,{children:["Added ",K6(k5,{bold:!0,children:H},void 0,!1,void 0,this)," ",H>1?"lines":"line"]},void 0,!0,void 0,this):null,H>0&&X>0?", ":null,X>0?K6(qY,{children:["removed ",K6(k5,{bold:!0,children:X},void 0,!1,void 0,this)," ",X>1?"lines":"line"]},void 0,!0,void 0,this):null,!Y?K6(k5,{color:L().colors.textMuted,children:[" (",Q.length," diff lines)"]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this),Y&&pU(J.map((z)=>K6(wZ,{flexDirection:"column",paddingLeft:5,children:K6(E3,{diff:xU(z,$),showHeader:!1,dim:!1,width:Z-12},void 0,!1,void 0,this)},z.newStart,!1,void 0,this)),(z)=>K6(wZ,{paddingLeft:5,children:K6(k5,{color:L().colors.textMuted,children:"..."},void 0,!1,void 0,this)},`ellipsis-${z}`,!1,void 0,this))]},void 0,!0,void 0,this)}import{jsxDEV as Y$}from"react/jsx-dev-runtime";var h4={displayName($){let J=$?.old_string??$?.oldText??"",K=$?.new_string??$?.newText??"";if(J==="")return"Create";if(K==="")return"Delete";return"Edit"},renderInput($,{verbose:J}){let K=String($?.file_path??$?.path??"");if(K)return J?K:CZ(process.cwd(),K);if(typeof $?.patch==="string"){let H=[...$.patch.matchAll(/^\*\*\*\s+(?:Update|Add|Delete|Rename)\s+(.+)$/gm)].map((X)=>X[1]??"").filter(Boolean).slice(0,3);if(H.length>0)return H.map((X)=>J?X:CZ(process.cwd(),X)).join(", ");return"patch"}return""},renderOutput($,{verbose:J}){if($==null)return Y$(g5,{children:"(No content)"},void 0,!1,void 0,this);if(typeof $==="string")return Y$(g5,{children:$},void 0,!1,void 0,this);let K=$;if(K.structuredPatch)return Y$(V4,{filePath:K.filePath??K.path,structuredPatch:K.structuredPatch,verbose:J},void 0,!1,void 0,this);if(K.path!=null){let Z=J?String(K.path):CZ(process.cwd(),String(K.path)),H=K.replacements!=null?Number(K.replacements):void 0,X=H!=null?` (${H} replacement${H!==1?"s":""})`:"";return Y$(NY,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Y$(NY,{flexDirection:"row",children:Y$(g5,{children:["Edited ",Y$(g5,{bold:!0,children:Z},void 0,!1,void 0,this),X]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return Y$(g5,{children:JSON.stringify($)},void 0,!1,void 0,this)},renderRejection(){return Y$(k,{},void 0,!1,void 0,this)}};import{Box as j1,Text as v5}from"ink";import{extname as PY,relative as nU}from"path";import{highlight as FY,supportsLanguage as lU}from"cli-highlight";import{Text as uU}from"ink";import{useMemo as rU}from"react";import{jsxDEV as aU}from"react/jsx-dev-runtime";function Z6({code:$,language:J}){let K=rU(()=>{try{if(J&&lU(J))return FY($,{language:J});return FY($,{language:"markdown"})}catch{return $}},[$,J]);return aU(uU,{children:K},void 0,!1,void 0,this)}v();import{jsxDEV as I9}from"react/jsx-dev-runtime";var _7=3,IZ={displayName(){return"Read"},renderInput($,{verbose:J}){let K=String($?.file_path??$?.path??""),{file_path:Z,path:H,...X}=$;return[["path",J?K:nU(process.cwd(),K)],...Object.entries(X).filter(([G])=>G!=="file_path"&&G!=="path")].map(([G,Y])=>`${G}: ${JSON.stringify(Y)}`).join(", ")},renderOutput($,{verbose:J},K){let Z=K??{},H=String(Z.file_path??Z.path??""),X=H?PY(H).slice(1):"";if($==null)return I9(j1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I9(j1,{flexDirection:"row",children:I9(v5,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){let G=$||"(No content)",Y=G.split(`
403
+ `);return I9(j1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I9(j1,{flexDirection:"row",children:I9(j1,{flexDirection:"column",children:[I9(Z6,{code:J?G:G$(Y.slice(0,_7).filter((z)=>z.trim()!=="").join(`
404
+ `)),language:X},void 0,!1,void 0,this),!J&&Y.length>_7&&I9(v5,{color:L().colors.textMuted,children:["... (+",Y.length-_7," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let Q=$;if(Q.type==="media"||Q.type==="image")return I9(j1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I9(j1,{flexDirection:"row",children:I9(v5,{children:"Read image"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Q.type==="text"&&Q.file){let G=Q.file,Y=G.content||"(No content)";return I9(j1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I9(j1,{flexDirection:"row",children:I9(j1,{flexDirection:"column",children:[I9(Z6,{code:J?Y:G$(Y.split(`
405
+ `).slice(0,_7).filter((z)=>z.trim()!=="").join(`
406
+ `)),language:PY(G.filePath).slice(1)},void 0,!1,void 0,this),!J&&G.numLines>_7&&I9(v5,{color:L().colors.textMuted,children:["... (+",G.numLines-_7," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return I9(j1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I9(j1,{flexDirection:"row",children:I9(v5,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return I9(k,{},void 0,!1,void 0,this)}};import{Box as D4,Text as s$}from"ink";import{EOL as iU}from"os";import{extname as oU,relative as SZ}from"path";v();import{jsxDEV as K1}from"react/jsx-dev-runtime";var bZ=3,kZ={displayName:()=>"Write",renderInput($,{verbose:J}){let K=String($?.file_path??$?.path??"");if(!K)return"";let Z=J?K:SZ(process.cwd(),K),H=typeof $?.content==="string"?` (${$.content.length} bytes)`:"";return Z+H},renderRejection(){return K1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){if($==null)return K1(s$,{children:"(No content)"},void 0,!1,void 0,this);if(typeof $==="string")return K1(s$,{children:$},void 0,!1,void 0,this);let K=$;if(K.structuredPatch)return K1(V4,{filePath:K.filePath??K.path,structuredPatch:K.structuredPatch,verbose:J},void 0,!1,void 0,this);if(K.path!=null&&K.action!=null){let Z=J?String(K.path):SZ(process.cwd(),String(K.path)),H=K.bytesWritten!=null?Number(K.bytesWritten):void 0,X=String(K.action),Q=H!=null?`${H} bytes to `:"";return K1(D4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:K1(D4,{flexDirection:"row",children:K1(s$,{children:["Wrote ",Q,K1(s$,{bold:!0,children:Z},void 0,!1,void 0,this)," (",X,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(K.type==="create"&&K.filePath!=null){let Z=K.content||"",H=Z||"(No content)",X=Z.split(iU).length;return K1(D4,{flexDirection:"column",children:[K1(s$,{children:["Wrote ",X," lines to"," ",K1(s$,{bold:!0,children:J?K.filePath:SZ(process.cwd(),K.filePath)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K1(D4,{flexDirection:"column",paddingLeft:5,children:[K1(Z6,{code:J?H:G$(H.split(`
407
+ `).slice(0,bZ).filter((Q)=>Q.trim()!=="").join(`
408
+ `)),language:oU(K.filePath).slice(1)},void 0,!1,void 0,this),!J&&X>bZ&&K1(s$,{color:L().colors.textMuted,children:["... (+",X-bZ," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return K1(s$,{children:JSON.stringify($)},void 0,!1,void 0,this)}};import{Box as E4,Text as j3}from"ink";import{isAbsolute as eU,relative as gZ,resolve as $O}from"path";import{Box as sU,Text as tU}from"ink";import{jsxDEV as UY}from"react/jsx-dev-runtime";function c4({costUSD:$,durationMs:J,debug:K}){if(!K)return null;let Z=(J/1000).toFixed(1);return UY(sU,{flexDirection:"column",minWidth:23,width:23,children:UY(tU,{dimColor:!0,children:["Cost: $",$.toFixed(4)," (",Z,"s)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import{jsxDEV as C1}from"react/jsx-dev-runtime";var OY={displayName(){return"Grep"},renderInput({pattern:$,path:J,include:K},{verbose:Z}){let H=J?eU(J)?J:$O(process.cwd(),J):void 0,X=H?gZ(process.cwd(),H):void 0;return`pattern: "${$}"${X||Z?`, path: "${Z?H:X}"`:""}${K?`, include: "${K}"`:""}`},renderRejection(){return C1(k,{},void 0,!1,void 0,this)},renderOutput($){let J=0,K=0,Z=0,H=!1,X=[];if($!=null&&typeof $==="object"&&!Array.isArray($)){let G=$;if(Array.isArray(G.matches)){let Y=new Set;for(let z of G.matches){let W=z,N=typeof W.filePath==="string"?W.filePath:typeof W.file==="string"?W.file:typeof W.path==="string"?W.path:void 0;if(N)Y.add(N)}J=G.matches.length,K=Y.size,H=!!G.truncated;for(let z of Y)X.push(gZ(process.cwd(),z))}else if(typeof G.numFiles==="number")K=G.numFiles,Z=typeof G.durationMs==="number"?G.durationMs:0}else if(Array.isArray($)){let G=new Set;for(let Y of $)if(Y!=null&&typeof Y==="object"){let z=Y,W=typeof z.filePath==="string"?z.filePath:typeof z.file==="string"?z.file:typeof z.path==="string"?z.path:void 0;if(W)G.add(W)}J=$.length,K=G.size||$.length;for(let Y of G)X.push(gZ(process.cwd(),Y))}let Q=4;return C1(E4,{flexDirection:"column",children:[C1(E4,{flexDirection:"row",children:[C1(j3,{bold:!0,children:[J," "]},void 0,!0,void 0,this),C1(j3,{children:[J===1?"match":"matches"," in "]},void 0,!0,void 0,this),C1(j3,{bold:!0,children:[K," "]},void 0,!0,void 0,this),C1(j3,{children:K===1?"file":"files"},void 0,!1,void 0,this),H&&C1(j3,{color:"yellow",children:" (truncated)"},void 0,!1,void 0,this),Z>0&&C1(c4,{costUSD:0,durationMs:Z,debug:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.slice(0,Q).map((G,Y)=>C1(E4,{paddingLeft:2,children:C1(j3,{dimColor:!0,children:G},void 0,!1,void 0,this)},Y,!1,void 0,this)),X.length>Q&&C1(E4,{paddingLeft:2,children:C1(j3,{dimColor:!0,children:["+",X.length-Q," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as AY,Text as vZ}from"ink";import{isAbsolute as JO,relative as KO,resolve as ZO}from"path";import{jsxDEV as m3}from"react/jsx-dev-runtime";var LY={displayName(){return"Search"},renderInput({pattern:$,path:J},{verbose:K}){let Z=J?JO(J)?J:ZO(process.cwd(),J):void 0,H=Z?KO(process.cwd(),Z):void 0;return`pattern: "${$}"${H||K?`, path: "${K?Z:H}"`:""}`},renderRejection(){return m3(k,{},void 0,!1,void 0,this)},renderOutput($){let J=0,K=0;if(Array.isArray($))J=$.length;else if(typeof $==="string")try{let Z=JSON.parse($);J=Z.numFiles??0,K=Z.durationMs??0}catch{J=0}else if($!=null&&typeof $==="object"){let Z=$;J=typeof Z.numFiles==="number"?Z.numFiles:0,K=typeof Z.durationMs==="number"?Z.durationMs:0}return m3(AY,{justifyContent:"space-between",width:"100%",children:[m3(AY,{flexDirection:"row",children:[m3(vZ,{children:"Found "},void 0,!1,void 0,this),m3(vZ,{bold:!0,children:[J," "]},void 0,!0,void 0,this),m3(vZ,{children:J===0||J>1?"files":"file"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K>0&&m3(c4,{costUSD:0,durationMs:K,debug:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as z$,Text as d3}from"ink";import{isAbsolute as HO,relative as XO,resolve as QO}from"path";v();import{jsxDEV as x9}from"react/jsx-dev-runtime";var W$=3,RY=1000,GO=`There are more than ${RY} files in the repository. Use the LS tool (passing a specific path), Bash tool, and other tools to explore nested directories. The first ${RY} files and directories are included below:
409
+
410
+ `,j4={displayName(){return"List"},renderInput({path:$},{verbose:J}){let K=$?HO($)?$:QO(process.cwd(),$):void 0,Z=K?XO(process.cwd(),K):".";return`path: "${J?$:Z}"`},renderRejection(){return x9(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){if(typeof $==="string"){let K=$.replace(GO,"");if(!K)return null;let Z=K.split(`
411
+ `).filter((H)=>H.trim()!=="");return x9(z$,{justifyContent:"space-between",width:"100%",children:x9(z$,{children:x9(z$,{flexDirection:"column",paddingLeft:0,children:[Z.slice(0,J?void 0:W$).map((H,X)=>x9(d3,{children:J?H:u9(H)},X,!1,void 0,this)),!J&&Z.length>W$&&x9(d3,{color:L().colors.textMuted,children:["... (+",Z.length-W$," items)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if($!=null&&typeof $==="object"&&!Array.isArray($)){let K=$,Z=Array.isArray(K.entries)?K.entries:[],H=typeof K.total==="number"?K.total:Z.length;if(Z.length===0)return x9(d3,{children:"(empty directory)"},void 0,!1,void 0,this);let X=Z.map((Q)=>{let G=Q.type==="dir"||Q.type==="directory"?"/":"";return`${Q.name}${G}`});return x9(z$,{justifyContent:"space-between",width:"100%",children:x9(z$,{children:x9(z$,{flexDirection:"column",paddingLeft:0,children:[X.slice(0,J?void 0:W$).map((Q,G)=>x9(d3,{children:J?Q:u9(Q)},G,!1,void 0,this)),!J&&H>W$&&x9(d3,{color:L().colors.textMuted,children:["... (+",H-W$," items)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(Array.isArray($)){let K=$.map(String);return x9(z$,{justifyContent:"space-between",width:"100%",children:x9(z$,{children:x9(z$,{flexDirection:"column",paddingLeft:0,children:[K.slice(0,J?void 0:W$).map((Z,H)=>x9(d3,{children:J?Z:u9(Z)},H,!1,void 0,this)),!J&&K.length>W$&&x9(d3,{color:L().colors.textMuted,children:["... (+",K.length-W$," items)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return null}};import{Box as YO,Text as fY}from"ink";v();import{jsxDEV as q7}from"react/jsx-dev-runtime";var BY={displayName:()=>"mcp",renderInput($){return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return q7(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){if(Array.isArray($))return q7(YO,{flexDirection:"column",children:$.map((Z,H)=>{if(Z.type==="image")return q7(fY,{children:"[Image]"},H,!1,void 0,this);let X=(Z.text||"").split(`
412
+ `).length;return q7(z7,{content:Z.text||"",lines:X,verbose:J},H,!1,void 0,this)})},void 0,!1,void 0,this);if(!$)return q7(fY,{color:L().colors.textMuted,children:"(No content)"},void 0,!1,void 0,this);let K=$.split(`
413
+ `).length;return q7(z7,{content:$,lines:K,verbose:J},void 0,!1,void 0,this)}};v();import{Box as zO,Text as yY}from"ink";import{jsxDEV as TZ}from"react/jsx-dev-runtime";var MY={displayName:()=>"Think",renderInput($){return $.thought},renderRejection(){return TZ(zO,{flexDirection:"row",height:1,overflow:"hidden",children:[TZ(yY,{children:[" ","⎿  "]},void 0,!0,void 0,this),TZ(yY,{color:L().colors.error,children:"Thought cancelled"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},renderOutput(){return null}};import{Box as WO,Text as _O}from"ink";v();import{jsxDEV as m4}from"react/jsx-dev-runtime";function qO($){if($==null)return"(No content)";if(typeof $==="string")return $||"(No content)";if(typeof $==="object"){let J=$;if(typeof J.formattedContext==="string"&&J.formattedContext)return J.formattedContext;if(typeof J.content==="string")return J.content||"(No content)";if(Array.isArray(J.memories)){let K=J.memories;if(K.length===0)return"(No memories found)";let Z=typeof J.count==="number"?J.count:K.length,H=K.map((X)=>{let Q=typeof X.content==="string"?X.content:JSON.stringify(X.content),G=typeof X.network==="string"?` [${X.network}]`:"";return`• ${Q}${G}`});return`${Z} memories:
414
+ ${H.join(`
415
+ `)}`}return JSON.stringify($)}return String($)}function NO({content:$,isEmpty:J}){let{contentWidth:K}=n$();return m4(WO,{flexDirection:"column",width:"100%",children:m4(_O,{color:J?L().colors.textMuted:void 0,children:J?$:g9($,{width:K})},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var d4={displayName(){return"Read Memory"},renderInput($){return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return m4(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={verbose:!1}){let K=qO($),Z=3,H=K.split(`
416
+ `),X=!J&&H.length>3,Q=G$(X?[...H.slice(0,3),`… +${H.length-3} lines`].join(`
417
+ `):K);return m4(NO,{content:Q,isEmpty:K==="(No content)"},void 0,!1,void 0,this)}};import{Box as wY,Text as FO}from"ink";import{jsxDEV as p4}from"react/jsx-dev-runtime";var T5={displayName(){return"Write Memory"},renderInput($){return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return p4(k,{},void 0,!1,void 0,this)},renderOutput(){return p4(wY,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:p4(wY,{flexDirection:"row",children:p4(FO,{children:"Updated memory"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{EOL as PO}from"os";import{jsxDEV as UO}from"react/jsx-dev-runtime";var VZ={displayName(){return"Task"},renderInput($,{verbose:J}){let K=typeof $.prompt==="string"?$.prompt:typeof $.task==="string"?$.task:"";if(!K)return"";let Z=typeof $.arion==="string"?`@${$.arion} `:"",H=K.split(PO);return Z+g9(!J&&H.length>1?H[0]+"…":K)},renderRejection(){return UO(k,{},void 0,!1,void 0,this)},renderOutput(){return null}};import{Text as hZ}from"ink";import{relative as OO}from"path";import{jsxDEV as x4}from"react/jsx-dev-runtime";var CY={displayName(){return"Read Notebook"},renderInput($,{verbose:J}){return`notebook_path: ${J?$.notebook_path:OO(process.cwd(),$.notebook_path)}`},renderRejection(){return x4(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$)return x4(hZ,{children:"No cells found in notebook"},void 0,!1,void 0,this);if($.length<1||!$[0])return x4(hZ,{children:"No cells found in notebook"},void 0,!1,void 0,this);return x4(hZ,{children:["Read ",$.length," cells"]},void 0,!0,void 0,this)}};import{Box as DZ,Text as l4}from"ink";import{relative as AO}from"path";import{jsxDEV as _$}from"react/jsx-dev-runtime";var IY={displayName(){return"Edit Notebook"},renderInput($,{verbose:J}){let K=J?$.notebook_path:AO(process.cwd(),$.notebook_path??""),Z=$.new_source?$.new_source.slice(0,30)+"…":"";return`${K} cell:${$.cell_number??"?"}${Z?` "${Z}"`:""}`},renderRejection(){return _$(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return _$(l4,{children:"(No content)"},void 0,!1,void 0,this);let{cell_number:J,new_source:K,language:Z,error:H}=$;if(H)return _$(DZ,{flexDirection:"column",children:_$(l4,{color:"red",children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this);let X=2,Q=K.split(`
418
+ `),G=Q.length>X,Y=G?Q.slice(0,X).join(`
419
+ `):K;return _$(DZ,{flexDirection:"column",children:[_$(l4,{children:["Updated cell ",J,":"]},void 0,!0,void 0,this),_$(DZ,{marginLeft:2,children:_$(Z6,{code:Y,language:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this),G&&_$(l4,{color:"gray",children:["... (+",Q.length-X," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}};import{Box as LO,Text as SY}from"ink";v();import{jsxDEV as V5}from"react/jsx-dev-runtime";var cZ=3,bY={displayName(){return"Architect"},renderInput($){return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderOutput($,{verbose:J}={verbose:!1}){if(!$||!Array.isArray($))return V5(SY,{children:"(No content)"},void 0,!1,void 0,this);let K=$.map((Q)=>Q.text).join(`
420
+ `),Z=K.split(`
421
+ `),H=!J&&Z.length>cZ,X=G$(H?Z.slice(0,cZ).join(`
422
+ `):K);return V5(LO,{flexDirection:"column",gap:1,children:[V5(Z6,{code:X,language:"markdown"},void 0,!1,void 0,this),H&&V5(SY,{color:L().colors.textMuted,children:["... (+",Z.length-cZ," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},renderRejection(){return V5(k,{},void 0,!1,void 0,this)}};v();import{Text as kY}from"ink";import{jsxDEV as gY}from"react/jsx-dev-runtime";var vY={displayName:()=>"Stickers",renderInput($){if(typeof $.prompt==="string")return $.prompt.length>50?$.prompt.slice(0,50)+"…":$.prompt;return""},renderRejection(){return gY(kY,{children:["  ⎿  ",gY(kY,{color:L().colors.error,children:"No (Sticker request cancelled)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},renderOutput(){return null}};import{Box as h5,Text as N7}from"ink";v();import{jsxDEV as I1}from"react/jsx-dev-runtime";function TY($,J=80){return $.length>J?$.slice(0,J-1)+"…":$}function RO($){if($<1024)return`${$}B`;if($<1048576)return`${($/1024).toFixed(1)}KB`;return`${($/1048576).toFixed(1)}MB`}function fO({preview:$}){let{contentWidth:J}=n$(),K=Math.max(J-4,1);return I1(N7,{color:L().colors.textMuted,dimColor:!0,children:g9($,{width:K})},void 0,!1,void 0,this)}var VY={displayName(){return"Fetch"},renderInput($){if($.url)return TY(String($.url));return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return I1(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $==="string"){let Y=typeof $==="string"?$:"(No content)";return I1(h5,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:I1(h5,{flexDirection:"row",children:I1(N7,{color:L().colors.textMuted,children:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let J=L(),K=$.finalUrl||"",Z=$.status,H=Z&&Z>=200&&Z<300?J.colors.success:Z&&Z>=400?J.colors.error:J.colors.warning,X=$.content?$.content.slice(0,200).split(`
423
+ `)[0]:"",Q=$.contentBytes?RO($.contentBytes):"",G=$.fromCache?" (cached)":"";return I1(h5,{flexDirection:"column",children:[I1(h5,{flexDirection:"row",children:[Z!=null&&I1(N7,{color:H,bold:!0,children:[Z," "]},void 0,!0,void 0,this),K&&I1(N7,{color:J.colors.textMuted,children:TY(K,60)},void 0,!1,void 0,this),Q&&I1(N7,{color:J.colors.textMuted,children:[" ","(",Q,G,")"]},void 0,!0,void 0,this),$.truncated&&I1(N7,{color:J.colors.warning,children:" [truncated]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&I1(h5,{flexDirection:"row",paddingLeft:4,children:I1(fO,{preview:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as F7,Text as p3}from"ink";v();import{jsxDEV as Z1}from"react/jsx-dev-runtime";function EZ($,J=80){return $.length>J?$.slice(0,J-1)+"…":$}function BO({preview:$}){let{contentWidth:J}=n$(),K=Math.max(J-4,1);return Z1(p3,{color:L().colors.textMuted,dimColor:!0,children:g9($,{width:K})},void 0,!1,void 0,this)}var hY={displayName(){return"Browse"},renderInput($){if($.url)return EZ(String($.url));return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return Z1(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $==="string"){let Q=typeof $==="string"?$:"(No content)";return Z1(F7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z1(F7,{flexDirection:"row",children:Z1(p3,{color:L().colors.textMuted,children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let J=L(),K=$.finalUrl||$.url||"",Z=$.title||"",H=$.content?$.content.slice(0,200).split(`
424
+ `)[0]:"",X=$.fromCache?" (cached)":"";return Z1(F7,{flexDirection:"column",children:[Z1(F7,{flexDirection:"row",children:[Z?Z1(p3,{bold:!0,children:Z},void 0,!1,void 0,this):Z1(p3,{color:J.colors.textMuted,children:EZ(K,60)},void 0,!1,void 0,this),X&&Z1(p3,{color:J.colors.textMuted,children:X},void 0,!1,void 0,this),$.truncated&&Z1(p3,{color:J.colors.warning,children:" [truncated]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z&&K&&Z1(F7,{flexDirection:"row",paddingLeft:4,children:Z1(p3,{color:J.colors.textMuted,children:EZ(K,60)},void 0,!1,void 0,this)},void 0,!1,void 0,this),H&&Z1(F7,{flexDirection:"row",paddingLeft:4,children:Z1(BO,{preview:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as P7,Text as t$}from"ink";v();import{jsxDEV as H1}from"react/jsx-dev-runtime";function yO($){try{return new URL($).hostname.replace(/^www\./,"")}catch{return $.length>50?$.slice(0,47)+"…":$}}var DY={displayName(){return"Search"},renderInput($){if($.query)return`"${$.query}"`;return Object.entries($).map(([J,K])=>`${J}: ${JSON.stringify(K)}`).join(", ")},renderRejection(){return H1(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $==="string"){let Q=typeof $==="string"?$:"(No results)";return H1(P7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:H1(P7,{flexDirection:"row",children:H1(t$,{color:L().colors.textMuted,children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let J=L(),K=$.results||[],Z=$.query||"",H=2,X=K.slice(0,H);return H1(P7,{flexDirection:"column",children:[H1(P7,{flexDirection:"row",children:[H1(t$,{children:"Found "},void 0,!1,void 0,this),H1(t$,{bold:!0,children:[K.length," "]},void 0,!0,void 0,this),H1(t$,{children:K.length===1?"result":"results"},void 0,!1,void 0,this),Z&&H1(t$,{color:J.colors.textMuted,children:[" for '",Z,"'"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),X.map((Q,G)=>H1(P7,{flexDirection:"row",paddingLeft:4,children:[H1(t$,{bold:!0,children:Q.title.length>60?Q.title.slice(0,57)+"…":Q.title},void 0,!1,void 0,this),H1(t$,{color:J.colors.textMuted,children:[" (",yO(Q.url),")"]},void 0,!0,void 0,this)]},G,!0,void 0,this)),K.length>H&&H1(P7,{flexDirection:"row",paddingLeft:4,children:H1(t$,{color:J.colors.textMuted,children:["+",K.length-H," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as U7,Text as jZ}from"ink";import{jsxDEV as V6}from"react/jsx-dev-runtime";var cY={displayName(){return"Learn"},renderInput($,J){let K;if(typeof $.source==="string")K=$.source;else if($.source&&typeof $.source==="object")K=$.source.type||$.source.command||$.source.path||"unknown";else K="unknown";let Z=$.name??"";return Z?`${K}: ${Z}`:K},renderRejection(){return V6(k,{},void 0,!1,void 0,this)},renderOutput($){if($==null)return V6(U7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:V6(U7,{flexDirection:"row",children:V6(jZ,{children:"Learned"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return V6(U7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:V6(U7,{flexDirection:"row",children:V6(jZ,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$,K=J.name??"unknown",Z=J.type??"",H=Z?` ${Z}`:"";return V6(U7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:V6(U7,{flexDirection:"row",children:V6(jZ,{children:["Learned",H," ",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as u4,Text as EY}from"ink";import{jsxDEV as x3}from"react/jsx-dev-runtime";var jY={displayName(){return"Learn Tool"},renderInput($,J){return $.name??"tool"},renderRejection(){return x3(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return x3(u4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x3(u4,{flexDirection:"row",children:x3(EY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.name??"unknown";return x3(u4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:x3(u4,{flexDirection:"row",children:x3(EY,{children:["Learned tool ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as r4,Text as mY}from"ink";import{jsxDEV as l3}from"react/jsx-dev-runtime";var dY={displayName(){return"Learn Skill"},renderInput($,J){return $.name??"skill"},renderRejection(){return l3(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return l3(r4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:l3(r4,{flexDirection:"row",children:l3(mY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.name??"unknown";return l3(r4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:l3(r4,{flexDirection:"row",children:l3(mY,{children:["Learned skill ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as O7,Text as mZ}from"ink";import{basename as MO}from"path";import{jsxDEV as h6}from"react/jsx-dev-runtime";var pY={displayName(){return"Create Tool"},renderInput($,J){return $.name??"tool"},renderRejection(){return h6(k,{},void 0,!1,void 0,this)},renderOutput($){if($==null)return h6(O7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h6(O7,{flexDirection:"row",children:h6(mZ,{children:"Created tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return h6(O7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h6(O7,{flexDirection:"row",children:h6(mZ,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$,K=J.name??(typeof J.scriptPath==="string"?MO(J.scriptPath):"unknown");return h6(O7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h6(O7,{flexDirection:"row",children:h6(mZ,{children:["Created tool ",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as a4,Text as xY}from"ink";import{jsxDEV as u3}from"react/jsx-dev-runtime";var lY={displayName(){return"Create Skill"},renderInput($,J){return $.name??"skill"},renderRejection(){return u3(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return u3(a4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u3(a4,{flexDirection:"row",children:u3(xY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.name??"unknown";return u3(a4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:u3(a4,{flexDirection:"row",children:u3(xY,{children:["Created skill ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as n4,Text as uY}from"ink";import{jsxDEV as r3}from"react/jsx-dev-runtime";var rY={displayName(){return"Use Skill"},renderInput($,J){return $.name??"skill"},renderRejection(){return r3(k,{},void 0,!1,void 0,this)},renderOutput($){if(!$||typeof $!=="object")return r3(n4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:r3(n4,{flexDirection:"row",children:r3(uY,{children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let J=$.skill?.name??"unknown";return r3(n4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:r3(n4,{flexDirection:"row",children:r3(uY,{children:["Loaded skill ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as a3,Text as i4}from"ink";v();import{jsxDEV as m1}from"react/jsx-dev-runtime";function wO($){let J=L();switch($){case"active":case"in_progress":return J.colors.success;case"blocked":return J.colors.warning;case"done":case"closed":return J.colors.textMuted;default:return J.colors.text}}var aY={displayName(){return"Quest List"},renderInput($){if($.status)return`status: ${$.status}`;return"all quests"},renderRejection(){return m1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){let K=$?.quests??[],Z=$?.count??K.length;if(!J)return m1(a3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m1(a3,{flexDirection:"row",children:m1(i4,{children:[Z," quest",Z!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(K.length===0)return m1(a3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m1(a3,{flexDirection:"row",children:m1(i4,{children:"0 quests"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return m1(a3,{flexDirection:"column",children:[m1(a3,{children:m1(i4,{children:[Z," quest",Z!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K.map((H)=>m1(a3,{flexDirection:"row",paddingLeft:4,children:m1(i4,{color:wO(H.status),children:["P",H.priority," [",H.status,"] ",H.id," ",H.title]},void 0,!0,void 0,this)},H.id,!1,void 0,this))]},void 0,!0,void 0,this)}};import{Box as D5,Text as c5}from"ink";v();import{jsxDEV as H6}from"react/jsx-dev-runtime";function CO($){let J=L();switch($){case"created":return J.colors.success;case"updated":return J.colors.info;case"failed":return J.colors.error;default:return J.colors.text}}var nY={displayName(){return"Quest Update"},renderInput($){if($.quests&&Array.isArray($.quests)){let K=$.quests.length;return`${K} quest${K!==1?"s":""}`}let J=[];if($.action)J.push($.action);if($.title)J.push($.title);if($.id)J.push($.id);return J.join(" ")||"quest update"},renderRejection(){return H6(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){let K=[];if($!=null&&typeof $==="object"){let Y=$;if(Array.isArray(Y.quests))K=Y.quests}let Z=K.filter((Y)=>Y.action==="created").length,H=K.filter((Y)=>Y.action==="updated").length,X=K.filter((Y)=>Y.action==="failed").length,Q=L(),G=[];if(Z>0)G.push(`${Z} created`);if(H>0)G.push(`${H} updated`);if(X>0)G.push(`${X} failed`);if(G.length===0)G.push("0 changes");if(!J)return H6(D5,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:H6(D5,{flexDirection:"row",children:G.map((Y,z)=>{let W=Y.includes("created")?Q.colors.success:Y.includes("updated")?Q.colors.info:Y.includes("failed")?Q.colors.error:Q.colors.text;return H6(c5,{children:[z>0?", ":"",H6(c5,{color:W,children:Y},void 0,!1,void 0,this)]},z,!0,void 0,this)})},void 0,!1,void 0,this)},void 0,!1,void 0,this);return H6(D5,{flexDirection:"column",children:[H6(D5,{children:G.map((Y,z)=>{let W=Y.includes("created")?Q.colors.success:Y.includes("updated")?Q.colors.info:Y.includes("failed")?Q.colors.error:Q.colors.text;return H6(c5,{children:[z>0?", ":"",H6(c5,{color:W,children:Y},void 0,!1,void 0,this)]},z,!0,void 0,this)})},void 0,!1,void 0,this),K.map((Y)=>H6(D5,{flexDirection:"row",paddingLeft:4,children:H6(c5,{color:CO(Y.action),children:["[",Y.action,"] ",Y.id," ",Y.title,Y.error?` -- ${Y.error}`:""]},void 0,!0,void 0,this)},Y.id,!1,void 0,this))]},void 0,!0,void 0,this)}};import{Box as n3,Text as o4}from"ink";import{jsxDEV as d1}from"react/jsx-dev-runtime";var iY=120,oY={displayName(){return"Ask User"},renderInput($){let J;if(typeof $.question==="string")J=$.question;else{let K=$.questions?.[0];J=typeof K==="string"?K:typeof K?.question==="string"?K.question:"asking user..."}if(J.length>iY)return J.slice(0,iY)+"…";return J},renderRejection(){return d1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){if(typeof $==="string")return d1(n3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:d1(n3,{flexDirection:"row",children:d1(o4,{children:"Received answer"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let K=$?.answers??[],Z=K.length;if(!J)return d1(n3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:d1(n3,{flexDirection:"row",children:d1(o4,{children:["Received ",Z," answer",Z!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return d1(n3,{flexDirection:"column",children:[d1(n3,{children:d1(o4,{children:["Received ",Z," answer",Z!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K.map((H,X)=>d1(n3,{flexDirection:"row",paddingLeft:4,children:d1(o4,{children:typeof H==="string"?H:H?.answer??JSON.stringify(H)},void 0,!1,void 0,this)},X,!1,void 0,this))]},void 0,!0,void 0,this)}};import{Box as A7,Text as dZ}from"ink";v();import{jsxDEV as D6}from"react/jsx-dev-runtime";var sY={displayName(){return"Hatch Arion"},renderInput($,J){if($.name)return`${$.name}`;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return D6(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if(!$)return D6(A7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D6(A7,{flexDirection:"row",children:D6(dZ,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return D6(A7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D6(A7,{flexDirection:"row",children:D6(dZ,{color:K.colors.success,children:$.includes("hatched")?$:`${$} has hatched!`},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$.emoji||"",H=$.name||"Arion";return D6(A7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:D6(A7,{flexDirection:"row",children:D6(dZ,{color:K.colors.success,children:[Z,Z?" ":"",H," has hatched!"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as s4,Text as tY}from"ink";v();import{jsxDEV as i3}from"react/jsx-dev-runtime";var eY={displayName(){return"Rest Arion"},renderInput($,J){if($.name)return`${$.name}`;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return i3(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if($==null)return i3(s4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:i3(s4,{flexDirection:"row",children:i3(tY,{color:K.colors.textMuted,children:"Arion is now resting"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=typeof $==="string"?$:$.message||`${$.name||"Arion"} is now resting`;return i3(s4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:i3(s4,{flexDirection:"row",children:i3(tY,{color:K.colors.textMuted,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as t4,Text as $z}from"ink";v();import{jsxDEV as o3}from"react/jsx-dev-runtime";var Jz={displayName(){return"Wake Arion"},renderInput($,J){if($.name)return`${$.name}`;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return o3(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if($==null)return o3(t4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:o3(t4,{flexDirection:"row",children:o3($z,{color:K.colors.success,children:"Arion is now awake"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=typeof $==="string"?$:$.message||`${$.name||"Arion"} is now awake`;return o3(t4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:o3(t4,{flexDirection:"row",children:o3($z,{color:K.colors.success,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as e4,Text as Kz}from"ink";v();import{jsxDEV as s3}from"react/jsx-dev-runtime";var Zz={displayName(){return"Retire Arion"},renderInput($,J){if($.name)return`${$.name}`;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return s3(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if($==null)return s3(e4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:s3(e4,{flexDirection:"row",children:s3(Kz,{color:K.colors.warning,children:"Arion has been retired"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=typeof $==="string"?$:$.message||`${$.name||"Arion"} has been retired`;return s3(e4,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:s3(e4,{flexDirection:"row",children:s3(Kz,{color:K.colors.warning,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as L7,Text as $J}from"ink";v();import{jsxDEV as X6}from"react/jsx-dev-runtime";var Hz={displayName(){return"Spawn Worker"},renderInput($,J){if($.task)return`${$.task}`;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return X6(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if(!$)return X6(L7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:X6(L7,{flexDirection:"row",children:X6($J,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return X6(L7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:X6(L7,{flexDirection:"row",children:X6($J,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$.id||"unknown";return X6(L7,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:X6(L7,{flexDirection:"row",children:[X6($J,{children:"Spawned worker "},void 0,!1,void 0,this),X6($J,{bold:!0,children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as e$,Text as R7}from"ink";v();import{jsxDEV as X1}from"react/jsx-dev-runtime";function IO($,J){switch($){case"completed":return J.colors.success;case"running":return J.colors.info;case"failed":return J.colors.error;default:return J.colors.textMuted}}var Xz={displayName(){return"Check Delegation"},renderInput($,J){if($.id)return`${$.id}`;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return X1(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if(!$)return X1(e$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:X1(e$,{flexDirection:"row",children:X1(R7,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return X1(e$,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:X1(e$,{flexDirection:"row",children:X1(R7,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let{id:Z,status:H,result:X,error:Q}=$,G=IO(H,K);return X1(e$,{flexDirection:"column",children:[X1(e$,{flexDirection:"row",children:[Z&&X1(R7,{bold:!0,children:[Z," "]},void 0,!0,void 0,this),X1(R7,{color:G,children:H||"unknown"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H==="completed"&&X&&X1(e$,{flexDirection:"row",paddingLeft:4,children:X1(R7,{color:K.colors.textMuted,children:u9(X)},void 0,!1,void 0,this)},void 0,!1,void 0,this),H==="failed"&&Q&&X1(e$,{flexDirection:"row",paddingLeft:4,children:X1(R7,{color:K.colors.error,children:u9(Q)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as $3,Text as t3}from"ink";v();import{jsxDEV as r9}from"react/jsx-dev-runtime";function JJ($,J=60){return $.length>J?$.slice(0,J-1)+"…":$}function SO($){let J=$.action||"unknown";switch(J){case"launch":return $.url?`launch and navigate to ${JJ(String($.url))}`:"launch";case"navigate":return $.url?`navigate to ${JJ(String($.url))}`:"navigate";case"click":return $.selector?`click ${$.selector}`:"click";case"type":return $.selector?`type into ${$.selector}`:"type";default:return J}}var Qz={displayName(){return"Browser"},renderInput($,J){return SO($)},renderRejection(){return r9(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if(!$)return r9($3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:r9($3,{flexDirection:"row",children:r9(t3,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return r9($3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:r9($3,{flexDirection:"row",children:r9(t3,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$.title||"",H=$.url||"";return r9($3,{flexDirection:"column",children:[r9($3,{flexDirection:"row",children:Z?r9(t3,{bold:!0,children:Z},void 0,!1,void 0,this):H?r9(t3,{color:K.colors.textMuted,children:JJ(H)},void 0,!1,void 0,this):r9(t3,{color:K.colors.success,children:"Done"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z&&H&&r9($3,{flexDirection:"row",paddingLeft:4,children:r9(t3,{color:K.colors.textMuted,children:JJ(H)},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.error&&r9($3,{flexDirection:"row",paddingLeft:4,children:r9(t3,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as Q1,Text as S1}from"ink";v();import{jsxDEV as E0}from"react/jsx-dev-runtime";function bO($){let J=$.action||"unknown";switch(J){case"spawn":return $.command?`spawn: ${$.command}`:"spawn";case"read":return $.pid!=null?`read pid ${$.pid}`:"read";case"write":return $.pid!=null?`write to pid ${$.pid}`:"write";case"kill":return $.pid!=null?`kill pid ${$.pid}`:"kill";case"list":return"list processes";default:return J}}var Gz={displayName(){return"Process"},renderInput($,J){return bO($)},renderRejection(){return E0(k,{},void 0,!1,void 0,this)},renderOutput($,J){let K=L();if(!$)return E0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E0(Q1,{flexDirection:"row",children:E0(S1,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return E0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E0(Q1,{flexDirection:"row",children:E0(S1,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.action==="spawn"||$.pid!=null&&!$.output&&!$.sessions)return E0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E0(Q1,{flexDirection:"row",children:[E0(S1,{children:"Spawned process "},void 0,!1,void 0,this),E0(S1,{bold:!0,children:$.pid},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);if($.action==="read"||$.output!=null){let Z=($.output||"").split(`
425
+ `),H=Z.length>3?Z.slice(0,3).map(u9).join(`
426
+ `)+`
427
+ ... +${Z.length-3} more lines`:($.output||"").split(`
428
+ `).map(u9).join(`
429
+ `);return E0(Q1,{flexDirection:"column",children:E0(Q1,{flexDirection:"row",children:E0(S1,{children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if($.action==="list"||$.sessions){let Z=$.sessions||[];if(Z.length===0)return E0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E0(Q1,{flexDirection:"row",children:E0(S1,{color:K.colors.textMuted,children:"No active processes"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=2;return E0(Q1,{flexDirection:"column",children:[E0(Q1,{flexDirection:"row",children:[E0(S1,{bold:!0,children:[Z.length," "]},void 0,!0,void 0,this),E0(S1,{children:Z.length===1?"process":"processes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.slice(0,H).map((X,Q)=>E0(Q1,{flexDirection:"row",paddingLeft:4,children:[E0(S1,{bold:!0,children:[X.pid," "]},void 0,!0,void 0,this),E0(S1,{children:[X.command||""," "]},void 0,!0,void 0,this),E0(S1,{color:X.status==="running"?K.colors.success:K.colors.textMuted,children:X.status||""},void 0,!1,void 0,this)]},Q,!0,void 0,this)),Z.length>H&&E0(S1,{color:K.colors.textMuted,children:["... (+",Z.length-H," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return E0(Q1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:E0(Q1,{flexDirection:"row",children:E0(S1,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as pZ,Text as f7}from"ink";v();import{jsxDEV as c6}from"react/jsx-dev-runtime";var Yz={displayName(){return"Search"},renderInput($,{verbose:J}){let K=$.query;if(!K)return Object.entries($).filter(([,H])=>H!==void 0).map(([H,X])=>`${H}: ${JSON.stringify(X)}`).join(", ");let Z=[`"${K}"`];if(J&&$.sources?.length)Z.push(`sources: [${$.sources.join(", ")}]`);return Z.join(" ")},renderRejection(){return c6(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if(!$||typeof $==="string"){let G=typeof $==="string"?$:"(No results)";return c6(pZ,{flexDirection:"row",width:"100%",children:c6(f7,{color:J.colors.textMuted,children:G},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let K=$.results??[],Z=$.platform,H=K.length===0?null:null,X=new Map;for(let G of K)X.set(G.source,(X.get(G.source)??0)+1);let Q=[...X.entries()].map(([G,Y])=>`${Y} ${G}`).join(", ");return c6(pZ,{flexDirection:"column",children:c6(pZ,{flexDirection:"row",children:[c6(f7,{children:"Found "},void 0,!1,void 0,this),c6(f7,{bold:!0,children:[K.length," "]},void 0,!0,void 0,this),c6(f7,{children:K.length===1?"result":"results"},void 0,!1,void 0,this),Z&&c6(f7,{color:J.colors.textMuted,children:[" ","on ",Z.os,"/",Z.arch]},void 0,!0,void 0,this),Q&&K.length>0&&c6(f7,{color:J.colors.textMuted,children:[" (",Q,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as a9,Text as W9}from"ink";v();import{jsxDEV as O0}from"react/jsx-dev-runtime";function kO($){if($<60)return`${$}s`;if($<3600)return`${Math.floor($/60)}m`;if($<86400)return`${Math.floor($/3600)}h ${Math.floor($%3600/60)}m`;return`${Math.floor($/86400)}d`}var zz={displayName(){return"Self Diagnose"},renderInput($){let J=[];if($.focus)J.push(`focus: ${$.focus}`);if($.sections?.length)J.push(`${$.sections.length} sections`);else J.push("all sections");return J.join(", ")},renderRejection(){return O0(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}){if(!$||typeof $!=="object")return null;let K=$,Z=K._meta,H=L();if(!J){let X=[];if(Z)X.push(`${Z.sections_returned.length}/6 sections · ${Z.elapsed_ms}ms`);if(Z?.errors.length)X.push(`${Z.errors.length} errors`);let Q=K.errors&&K.errors.length>0||K.crashes&&K.crashes.length>0||K.runtime&&(K.runtime.socket_dirs>100||K.runtime.relaunch_pending);return O0(W9,{color:Q?H.colors.warning:H.colors.success,children:X.join(" · ")||"done"},void 0,!1,void 0,this)}return O0(a9,{flexDirection:"column",children:[K.runtime&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,children:"runtime"},void 0,!1,void 0,this),O0(a9,{paddingLeft:2,children:O0(W9,{children:["PID ",K.runtime.pid," · up ",kO(K.runtime.uptime_s)," · heap"," ",K.runtime.heap_mb,"MB · RSS ",K.runtime.rss_mb,"MB"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),(K.runtime.socket_dirs>100||K.runtime.relaunch_pending)&&O0(a9,{paddingLeft:2,children:[K.runtime.socket_dirs>100&&O0(W9,{color:H.colors.error,children:["⚠ socket leak: ",K.runtime.socket_dirs," dirs in sock/"]},void 0,!0,void 0,this),K.runtime.relaunch_pending&&O0(W9,{color:H.colors.error,children:"⚠ stuck restart pending"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K.errors!==void 0&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,color:K.errors&&K.errors.length>0?H.colors.error:H.colors.success,children:"errors"},void 0,!1,void 0,this),O0(a9,{paddingLeft:2,flexDirection:"column",children:K.errors&&K.errors.length>0?K.errors.map((X,Q)=>O0(W9,{color:H.colors.error,children:["[",X.source,"] ",X.timestamp?X.timestamp.slice(11,19):"?"," ",X.severity," ",X.category,": ",X.message.slice(0,80)]},Q,!0,void 0,this)):O0(W9,{color:H.colors.success,children:"none"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.crashes!==void 0&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,color:K.crashes&&K.crashes.length>0?H.colors.error:H.colors.success,children:"crashes"},void 0,!1,void 0,this),O0(a9,{paddingLeft:2,flexDirection:"column",children:K.crashes&&K.crashes.length>0?K.crashes.map((X,Q)=>O0(W9,{color:H.colors.error,children:[X.file," ",X.timestamp?X.timestamp.slice(0,19):""," ",X.error_message??""]},Q,!0,void 0,this)):O0(W9,{color:H.colors.success,children:"none"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.databases&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,children:"databases"},void 0,!1,void 0,this),O0(a9,{paddingLeft:2,flexDirection:"column",children:K.databases.map((X,Q)=>{let G=X.wal_mb&&parseFloat(X.wal_mb)>1;return O0(W9,{color:G?H.colors.warning:void 0,children:[X.name,": ",X.size_mb,"MB",X.wal_mb?` (WAL ${X.wal_mb}MB${G?" ⚠":""})`:"",X.schema_version!==void 0?` schema:v${X.schema_version}`:""]},Q,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.daemon&&K.daemon.length>0&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,children:"daemon"},void 0,!1,void 0,this),O0(a9,{paddingLeft:2,flexDirection:"column",children:K.daemon.map((X,Q)=>O0(W9,{children:[X.source,": ",X.entries.length," entries"]},Q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.network&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,children:"network"},void 0,!1,void 0,this),O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{children:["node: ",K.network.display_name??"unknown"," · port"," ",K.network.listen_port??"?"," · endpoint"," ",K.network.external_endpoint??"none"]},void 0,!0,void 0,this),O0(W9,{children:["peers: ",K.network.peer_count," · TLS:"," ",K.network.tls_certs_present?"✓":"✗"," · trusted CAs:"," ",K.network.trusted_cas]},void 0,!0,void 0,this),K.network.peers.length>0&&K.network.peers.map((X,Q)=>O0(W9,{color:X.status==="connected"?H.colors.success:H.colors.warning,children:[X.name||X.node_id.slice(0,8),": ",X.status]},Q,!0,void 0,this)),K.network.recent_diagnostics.length>0&&O0(W9,{dimColor:!0,children:[K.network.recent_diagnostics.length," recent diagnostic events"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Z?.errors&&Z.errors.length>0&&O0(a9,{paddingLeft:2,flexDirection:"column",children:[O0(W9,{bold:!0,color:H.colors.error,children:"collection errors"},void 0,!1,void 0,this),Z.errors.map((X,Q)=>O0(a9,{paddingLeft:2,children:O0(W9,{color:H.colors.error,children:X},void 0,!1,void 0,this)},Q,!1,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}};import{Box as q$,Text as G1}from"ink";import{relative as Wz}from"path";v();import{jsxDEV as n0}from"react/jsx-dev-runtime";function gO($){return"counts"in $&&Array.isArray($.counts)}function vO($){let J=[];if(J.push(`"${$.pattern}"`),$.file_type)J.push(`-t ${$.file_type}`);if($.path)J.push($.path);return J.join(" ")}var _z={displayName(){return"Ripgrep"},renderInput($,{verbose:J}={}){let K=vO($),Z=J&&$.extra_args&&$.extra_args.length>0?` [${$.extra_args.join(" ")}]`:"";return`${K}${Z}`},renderRejection(){return n0(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if(!$||typeof $!=="object")return n0(G1,{color:J.colors.textMuted,children:String($??"No result")},void 0,!1,void 0,this);if(!("counts"in $)&&!("matches"in $)){let G=$.message;return n0(G1,{color:J.colors.textMuted,children:typeof G==="string"?G:"Search complete"},void 0,!1,void 0,this)}if(gO($)){let{counts:G,total:Y}=$,z=Math.min(5,G.length),W=G.length-z;return n0(q$,{flexDirection:"column",children:[n0(q$,{flexDirection:"row",children:[n0(G1,{bold:!0,children:Y},void 0,!1,void 0,this),n0(G1,{children:" matches across "},void 0,!1,void 0,this),n0(G1,{bold:!0,children:G.length},void 0,!1,void 0,this),n0(G1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.slice(0,z).map((N,q)=>n0(q$,{paddingLeft:2,children:n0(G1,{color:J.colors.textMuted,children:[Wz(process.cwd(),N.file),": ",N.count]},void 0,!0,void 0,this)},q,!1,void 0,this)),W>0&&n0(q$,{paddingLeft:2,children:n0(G1,{color:J.colors.textMuted,children:["+",W," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let{matches:K}=$;if(K.length===0)return n0(q$,{children:n0(G1,{color:J.colors.textMuted,children:"No matches found"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=new Map;for(let G of K){if(!Z.has(G.file))Z.set(G.file,[]);Z.get(G.file).push(G)}let H=Array.from(Z.entries()),X=Math.min(3,H.length),Q=H.length-X;return n0(q$,{flexDirection:"column",children:[n0(q$,{flexDirection:"row",children:[n0(G1,{bold:!0,children:K.length},void 0,!1,void 0,this),n0(G1,{children:" matches in "},void 0,!1,void 0,this),n0(G1,{bold:!0,children:H.length},void 0,!1,void 0,this),n0(G1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H.slice(0,X).map(([G,Y],z)=>n0(q$,{paddingLeft:2,children:n0(G1,{color:J.colors.textMuted,children:[Wz(process.cwd(),G),": ",Y.length]},void 0,!0,void 0,this)},z,!1,void 0,this)),Q>0&&n0(q$,{paddingLeft:2,children:n0(G1,{color:J.colors.textMuted,children:["+",Q," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as N$,Text as Y1}from"ink";import{relative as qz}from"path";v();import{jsxDEV as i0}from"react/jsx-dev-runtime";function TO($){return"counts"in $&&Array.isArray($.counts)}function VO($){let J=[];if(J.push(`"${$.pattern}"`),$.fuzzy!==void 0&&$.fuzzy!==!1)if(typeof $.fuzzy==="number")J.push(`fuzzy:${$.fuzzy}`);else J.push("fuzzy");if($.bool)J.push("bool");if($.file_type)J.push(`-t ${$.file_type}`);if($.path&&$.path!==".")J.push($.path);return J.join(" ")}var Nz={displayName(){return"Ugrep"},renderInput($,{verbose:J}={}){let K=VO($),Z=[];if(J){if($.ignore_case)Z.push("-i");if($.smart_case)Z.push("-j");if($.fixed_strings)Z.push("-F");if($.word_regexp)Z.push("-w");if($.files_only)Z.push("-l");if($.count)Z.push("-c");if($.context!==void 0)Z.push(`-C ${$.context}`);if($.neg_pattern)Z.push(`-N "${$.neg_pattern}"`);if($.decompress)Z.push("-z");if($.glob)Z.push(`-g "${$.glob}"`);if($.extra_args&&$.extra_args.length>0)Z.push(`[${$.extra_args.join(" ")}]`)}return Z.length>0?`${K} ${Z.join(" ")}`:K},renderRejection(){return i0(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if(!$||typeof $!=="object")return i0(Y1,{color:J.colors.textMuted,children:String($??"No result")},void 0,!1,void 0,this);if(!("counts"in $)&&!("matches"in $)){let G=$.message;return i0(Y1,{color:J.colors.textMuted,children:typeof G==="string"?G:"Search complete"},void 0,!1,void 0,this)}if(TO($)){let{counts:G,total:Y}=$,z=Math.min(5,G.length),W=G.length-z;return i0(N$,{flexDirection:"column",children:[i0(N$,{flexDirection:"row",children:[i0(Y1,{bold:!0,children:Y},void 0,!1,void 0,this),i0(Y1,{children:" matches across "},void 0,!1,void 0,this),i0(Y1,{bold:!0,children:G.length},void 0,!1,void 0,this),i0(Y1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.slice(0,z).map((N,q)=>i0(N$,{paddingLeft:2,children:i0(Y1,{color:J.colors.textMuted,children:[qz(process.cwd(),N.file),": ",N.count]},void 0,!0,void 0,this)},q,!1,void 0,this)),W>0&&i0(N$,{paddingLeft:2,children:i0(Y1,{color:J.colors.textMuted,children:["+",W," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let{matches:K}=$;if(K.length===0)return i0(N$,{children:i0(Y1,{color:J.colors.textMuted,children:"No matches found"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=new Map;for(let G of K){if(!Z.has(G.file))Z.set(G.file,[]);Z.get(G.file).push(G)}let H=Array.from(Z.entries()),X=Math.min(3,H.length),Q=H.length-X;return i0(N$,{flexDirection:"column",children:[i0(N$,{flexDirection:"row",children:[i0(Y1,{bold:!0,children:K.length},void 0,!1,void 0,this),i0(Y1,{children:" matches in "},void 0,!1,void 0,this),i0(Y1,{bold:!0,children:H.length},void 0,!1,void 0,this),i0(Y1,{children:" files"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H.slice(0,X).map(([G,Y],z)=>i0(N$,{paddingLeft:2,children:i0(Y1,{color:J.colors.textMuted,children:[qz(process.cwd(),G),": ",Y.length]},void 0,!0,void 0,this)},z,!1,void 0,this)),Q>0&&i0(N$,{paddingLeft:2,children:i0(Y1,{color:J.colors.textMuted,children:["+",Q," more files"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as h0,Text as S0}from"ink";import{relative as Fz}from"path";v();import{jsxDEV as m}from"react/jsx-dev-runtime";function Pz($){if(!$)return"•";let J=$.toLowerCase();if(J.includes("function")||J==="fn")return"\uD835\uDC53";if(J.includes("class"))return"\uD835\uDC36";if(J.includes("method"))return"\uD835\uDC5A";if(J.includes("type")||J==="interface"||J==="enum")return"\uD835\uDC47";if(J.includes("const")||J==="variable"||J==="var")return"\uD835\uDC50";return"•"}function hO($){let{command:J,query:K,files:Z,language:H,max_results:X,exact:Q,reranker:G,path:Y,...z}=$,W=[];if(J)W.push(`${J}`);if(K)W.push(`"${K}"`);if(Z){let N=Array.isArray(Z)?Z.join(", "):Z;W.push(N)}if(H)W.push(`lang: ${H}`);if(X)W.push(`max: ${X}`);if(Q)W.push("exact");return W.join(" ")}var Uz={displayName(){return"Probe"},renderInput($,{verbose:J}){return hO($)},renderRejection(){return m(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={},K){let Z=L();if(!$)return m(h0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m(h0,{flexDirection:"row",children:m(S0,{color:Z.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){let X=$.split(`
430
+ `).slice(0,3);return m(h0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m(h0,{flexDirection:"column",children:[X.map((Q,G)=>m(S0,{color:Z.colors.textMuted,children:Q.length>80?Q.slice(0,77)+"…":Q},G,!1,void 0,this)),$.split(`
431
+ `).length>3&&m(S0,{color:Z.colors.textMuted,children:["... (+",$.split(`
432
+ `).length-3," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}if(typeof $!=="object"||$===null)return m(h0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m(h0,{flexDirection:"row",children:m(S0,{color:Z.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H=$;if(typeof H.raw==="string"){let X=H.raw.split(`
433
+ `).slice(0,3);return m(h0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m(h0,{flexDirection:"column",children:[X.map((Q,G)=>m(S0,{color:Z.colors.textMuted,children:Q.length>80?Q.slice(0,77)+"…":Q},G,!1,void 0,this)),H.raw.split(`
434
+ `).length>3&&m(S0,{color:Z.colors.textMuted,children:["... (+",H.raw.split(`
435
+ `).length-3," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}if(Array.isArray(H.symbols)&&H.symbols.length>0){let X=H.symbols.filter((Y)=>Y!=null&&typeof Y==="object"),Q=5,G=X.slice(0,5);return m(h0,{flexDirection:"column",children:[m(h0,{flexDirection:"row",children:[m(S0,{children:"Found "},void 0,!1,void 0,this),m(S0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),m(S0,{children:X.length===1?"symbol":"symbols"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.map((Y,z)=>m(h0,{flexDirection:"row",paddingLeft:2,children:[m(S0,{children:[Pz(Y.kind)," "]},void 0,!0,void 0,this),m(S0,{bold:!0,children:Y.name||"(unnamed)"},void 0,!1,void 0,this),Y.line!==void 0&&m(S0,{color:Z.colors.textMuted,children:[" :",Y.line]},void 0,!0,void 0,this)]},z,!0,void 0,this)),X.length>5&&m(h0,{flexDirection:"row",paddingLeft:2,children:m(S0,{color:Z.colors.textMuted,children:["+",X.length-5," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(H.results)&&H.results.length>0){let X=H.results.filter((Y)=>Y!=null&&typeof Y==="object"),Q=3,G=X.slice(0,3);return m(h0,{flexDirection:"column",children:[m(h0,{flexDirection:"row",children:[m(S0,{children:"Found "},void 0,!1,void 0,this),m(S0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),m(S0,{children:X.length===1?"result":"results"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G.map((Y,z)=>m(h0,{flexDirection:"column",paddingLeft:2,children:[m(h0,{flexDirection:"row",children:m(S0,{bold:!0,children:[Fz(process.cwd(),Y.file||""),Y.line!==void 0?`:${Y.line}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Y.code&&m(S0,{color:Z.colors.textMuted,children:Y.code.length>60?Y.code.slice(0,60)+"…":Y.code},void 0,!1,void 0,this)]},z,!0,void 0,this)),X.length>3&&m(h0,{flexDirection:"row",paddingLeft:2,children:m(S0,{color:Z.colors.textMuted,children:["+",X.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray($)){let X=$.filter((z)=>z!=null&&typeof z==="object");if(X.length===0)return m(h0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m(h0,{flexDirection:"row",children:m(S0,{color:Z.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=X[0];if(Q.kind!==void 0||Q.name&&!Q.file){let W=X.slice(0,5);return m(h0,{flexDirection:"column",children:[m(h0,{flexDirection:"row",children:[m(S0,{children:"Found "},void 0,!1,void 0,this),m(S0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),m(S0,{children:X.length===1?"symbol":"symbols"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.map((N,q)=>m(h0,{flexDirection:"row",paddingLeft:2,children:[m(S0,{children:[Pz(N.kind)," "]},void 0,!0,void 0,this),m(S0,{bold:!0,children:N.name||"(unnamed)"},void 0,!1,void 0,this),N.line!==void 0&&m(S0,{color:Z.colors.textMuted,children:[":",N.line]},void 0,!0,void 0,this)]},q,!0,void 0,this)),X.length>5&&m(h0,{flexDirection:"row",paddingLeft:2,children:m(S0,{color:Z.colors.textMuted,children:["+",X.length-5," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let G=3,Y=X.slice(0,G);return m(h0,{flexDirection:"column",children:[m(h0,{flexDirection:"row",children:[m(S0,{children:"Found "},void 0,!1,void 0,this),m(S0,{bold:!0,children:[X.length," "]},void 0,!0,void 0,this),m(S0,{children:X.length===1?"result":"results"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y.map((z,W)=>m(h0,{flexDirection:"column",paddingLeft:2,children:[m(h0,{flexDirection:"row",children:m(S0,{bold:!0,children:[Fz(process.cwd(),z.file||z.path||""),z.line!==void 0?`:${z.line}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),typeof z.code==="string"&&m(S0,{color:Z.colors.textMuted,children:z.code.length>60?z.code.slice(0,60)+"…":z.code},void 0,!1,void 0,this)]},W,!0,void 0,this)),X.length>G&&m(h0,{flexDirection:"row",paddingLeft:2,children:m(S0,{color:Z.colors.textMuted,children:["+",X.length-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}return m(h0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:m(h0,{flexDirection:"row",children:m(S0,{color:Z.colors.textMuted,children:"No results"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as xZ,Text as E6}from"ink";v();import{jsxDEV as f1}from"react/jsx-dev-runtime";var Oz=3,Az={displayName(){return"AST Grep"},renderInput($,{verbose:J}={verbose:!1}){let{pattern:K,language:Z,rewrite:H,path:X}=$;if(!K)return"(No pattern)";let Q="";if(H)Q=`"${K}" → "${H}"`;else Q=`"${K}"`;if(Z)Q+=` ${Z}`;if(J&&X)Q+=` @ ${X}`;return Q},renderRejection(){return f1(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if($==null)return f1(E6,{color:J.colors.textMuted,children:"(No output)"},void 0,!1,void 0,this);let K=$;if(typeof K.raw==="string"){let Z=K.raw.split(`
436
+ `),H=Z.slice(0,2).join(`
437
+ `),X=Z.length-2;return f1(xZ,{flexDirection:"column",gap:0,children:[f1(E6,{color:J.colors.success,children:"Rewrites applied"},void 0,!1,void 0,this),f1(E6,{color:J.colors.textMuted,children:H},void 0,!1,void 0,this),X>0&&f1(E6,{color:J.colors.textMuted,children:["... (+",X," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(K.matches)){let Z=K.matches;if(Z.length===0)return f1(E6,{color:J.colors.textMuted,children:"No matches found"},void 0,!1,void 0,this);let H=Z.slice(0,Oz),X=Z.length-Oz;return f1(xZ,{flexDirection:"column",gap:0,children:[f1(E6,{color:J.colors.success,children:[Z.length," AST ",Z.length===1?"match":"matches"]},void 0,!0,void 0,this),H.map((Q,G)=>{let{file:Y,line:z,text:W}=Q,N=Y||"unknown";if(z!=null)N+=`:${z}`;let q=W?String(W):"(no text)";if(q.length>60)q=q.slice(0,57)+"...";return f1(xZ,{flexDirection:"row",gap:1,children:[f1(E6,{bold:!0,children:N},void 0,!1,void 0,this),f1(E6,{color:J.colors.textMuted,children:q},void 0,!1,void 0,this)]},G,!0,void 0,this)}),X>0&&f1(E6,{color:J.colors.textMuted,children:["+",X," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return f1(E6,{children:JSON.stringify($)},void 0,!1,void 0,this)}};import{Box as b0,Text as Z0}from"ink";v();import{jsxDEV as h,Fragment as KJ}from"react/jsx-dev-runtime";function DO($){if(!$||typeof $!=="object")return!1;let J=$;return"definition"in J||"callers"in J||"callees"in J}function cO($){switch($?.toLowerCase()){case"function":return"\uD835\uDC53 ";case"class":return"\uD835\uDC36 ";case"method":return"\uD835\uDC5A ";case"interface":return"\uD835\uDC3C ";case"enum":return"\uD835\uDC38 ";case"type":return"\uD835\uDC47 ";case"module":return"\uD83D\uDCE6 ";case"file":return"\uD83D\uDCC4 ";default:return"• "}}function EO($,J,K){let Z=cO($.label),H=$.file_path?$.file_path.length>40?"…"+$.file_path.slice(-37):$.file_path:"";return h(b0,{flexDirection:"row",paddingLeft:4,children:[h(Z0,{children:Z},void 0,!1,void 0,this),h(Z0,{bold:!0,children:$.name},void 0,!1,void 0,this),H&&h(Z0,{color:K.colors.textMuted,children:[" (",H,")"]},void 0,!0,void 0,this)]},J,!0,void 0,this)}function Lz($,J,K,Z){return h(b0,{flexDirection:"row",paddingLeft:4,children:[h(Z0,{color:Z.colors.textMuted,children:[J," "]},void 0,!0,void 0,this),h(Z0,{children:$.name},void 0,!1,void 0,this),$.file&&h(Z0,{color:Z.colors.textMuted,children:[" (",$.file,")"]},void 0,!0,void 0,this)]},K,!0,void 0,this)}function jO($){if(!$||typeof $!=="object")return!1;return Array.isArray($.results)}function mO($){if(!$||typeof $!=="object")return!1;let J=$;return Array.isArray(J.inbound)||Array.isArray(J.outbound)||!!J.node}function dO($){if(!$||typeof $!=="object")return!1;return Array.isArray($.affected)}function pO($){if(!$||typeof $!=="object")return!1;return Array.isArray($.components)}function xO($){if(!$||typeof $!=="object")return!1;return typeof $.status==="string"}var Rz={displayName(){return"Code Graph"},renderInput($){let J=$.action||"unknown",K=[];if($.name)K.push(`"${$.name}"`);if($.file)K.push(`file: ${$.file}`);if($.path)K.push(`path: ${$.path}`);if($.project)K.push(`project: ${$.project}`);if($.query)K.push(`query: "${$.query}"`);if($.depth)K.push(`depth: ${$.depth}`);if($.direction)K.push(`dir: ${$.direction}`);let Z=K.length>0?` ${K.join(" ")}`:"";return`${J}${Z}`},renderRejection(){return h(k,{},void 0,!1,void 0,this)},renderOutput($,J,K){let Z=L(),H=K?.action||"query";if(!$)return h(b0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h(b0,{flexDirection:"row",children:h(Z0,{color:Z.colors.textMuted,children:"(No results)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){let G=$.length>100?$.slice(0,97)+"…":$;return h(b0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h(b0,{flexDirection:"row",children:h(Z0,{color:Z.colors.textMuted,children:[H,": ",G]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if("raw"in $&&typeof $.raw==="string"){let G=$.raw.length>100?$.raw.slice(0,97)+"…":$.raw;return h(b0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h(b0,{flexDirection:"row",children:h(Z0,{color:Z.colors.textMuted,children:[H,": ",G]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(jO($)){let G=$.results||[],Y=$.total??G.length,z=3,W=G.slice(0,3);return h(b0,{flexDirection:"column",children:[h(b0,{flexDirection:"row",children:[h(Z0,{bold:!0,children:Y},void 0,!1,void 0,this),h(Z0,{children:[" ",Y===1?"symbol":"symbols"," found"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W.map((N,q)=>EO(N,q,Z)),G.length>3&&h(b0,{flexDirection:"row",paddingLeft:4,children:h(Z0,{color:Z.colors.textMuted,children:["+",G.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(mO($)){let G=$.inbound||[],Y=$.outbound||[],z=3,W=G.slice(0,3),N=Y.slice(0,3);return h(b0,{flexDirection:"column",children:[h(b0,{flexDirection:"row",children:[h(Z0,{children:"Call chain: "},void 0,!1,void 0,this),h(Z0,{bold:!0,children:G.length},void 0,!1,void 0,this),h(Z0,{children:" inbound, "},void 0,!1,void 0,this),h(Z0,{bold:!0,children:Y.length},void 0,!1,void 0,this),h(Z0,{children:" outbound"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.length>0&&h(KJ,{children:[h(b0,{flexDirection:"row",paddingLeft:2,children:h(Z0,{color:Z.colors.textMuted,children:"Callers:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W.map((q,U)=>Lz(q,"←",U,Z)),G.length>3&&h(b0,{flexDirection:"row",paddingLeft:4,children:h(Z0,{color:Z.colors.textMuted,children:["+",G.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),N.length>0&&h(KJ,{children:[h(b0,{flexDirection:"row",paddingLeft:2,children:h(Z0,{color:Z.colors.textMuted,children:"Callees:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),N.map((q,U)=>Lz(q,"→",U,Z)),Y.length>3&&h(b0,{flexDirection:"row",paddingLeft:4,children:h(Z0,{color:Z.colors.textMuted,children:["+",Y.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(dO($)){let G=$.affected||[],Y=3,z=G.slice(0,3);return h(b0,{flexDirection:"column",children:[h(b0,{flexDirection:"row",children:[h(Z0,{bold:!0,children:G.length},void 0,!1,void 0,this),h(Z0,{children:[" ",G.length===1?"symbol":"symbols"," affected"]},void 0,!0,void 0,this),$.depth&&h(KJ,{children:[h(Z0,{color:Z.colors.textMuted,children:" (depth: "},void 0,!1,void 0,this),h(Z0,{color:Z.colors.textMuted,children:$.depth},void 0,!1,void 0,this),h(Z0,{color:Z.colors.textMuted,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z.map((W,N)=>h(b0,{flexDirection:"row",paddingLeft:4,children:[h(Z0,{children:["• ",W.name]},void 0,!0,void 0,this),W.file&&h(Z0,{color:Z.colors.textMuted,children:[" (",W.file,")"]},void 0,!0,void 0,this)]},N,!0,void 0,this)),G.length>3&&h(b0,{flexDirection:"row",paddingLeft:4,children:h(Z0,{color:Z.colors.textMuted,children:["+",G.length-3," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(pO($)){let G=$.components||[];return h(b0,{flexDirection:"column",children:h(b0,{flexDirection:"row",children:[h(Z0,{children:"Architecture overview"},void 0,!1,void 0,this),G.length>0&&h(KJ,{children:[h(Z0,{color:Z.colors.textMuted,children:" ("},void 0,!1,void 0,this),h(Z0,{color:Z.colors.textMuted,children:G.length},void 0,!1,void 0,this),h(Z0,{color:Z.colors.textMuted,children:" components)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}if(xO($))if($.status?.toLowerCase().includes("index")&&typeof $.node_count==="number"&&typeof $.edge_count==="number")return h(b0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h(b0,{flexDirection:"row",children:[h(Z0,{color:Z.colors.success,children:"Indexed: "},void 0,!1,void 0,this),h(Z0,{bold:!0,children:$.node_count},void 0,!1,void 0,this),h(Z0,{children:" nodes, "},void 0,!1,void 0,this),h(Z0,{bold:!0,children:$.edge_count},void 0,!1,void 0,this),h(Z0,{children:" edges"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);else return h(b0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h(b0,{flexDirection:"row",children:h(Z0,{color:Z.colors.warning,children:"Not indexed"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(DO($)){let G=!!$.definition,Y=Array.isArray($.callers)&&$.callers.length>0,z=Array.isArray($.callees)&&$.callees.length>0;return h(b0,{flexDirection:"column",children:[h(b0,{flexDirection:"row",children:h(Z0,{children:"Context 360°"},void 0,!1,void 0,this)},void 0,!1,void 0,this),G&&$.definition&&h(b0,{flexDirection:"row",paddingLeft:4,children:[h(Z0,{color:Z.colors.info,children:"\uD83D\uDCCD "},void 0,!1,void 0,this),h(Z0,{children:$.definition.name||"definition"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&$.callers&&h(b0,{flexDirection:"row",paddingLeft:4,children:[h(Z0,{color:Z.colors.textMuted,children:"← "},void 0,!1,void 0,this),h(Z0,{children:[$.callers.length," callers"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z&&$.callees&&h(b0,{flexDirection:"row",paddingLeft:4,children:[h(Z0,{color:Z.colors.textMuted,children:"→ "},void 0,!1,void 0,this),h(Z0,{children:[$.callees.length," callees"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}let X=JSON.stringify($),Q=X.length>100?X.slice(0,97)+"…":X;return h(b0,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:h(b0,{flexDirection:"row",children:h(Z0,{color:Z.colors.textMuted,children:[H,": ",Q]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as h9,Text as _9}from"ink";import{relative as Bz}from"path";v();import{jsxDEV as P0}from"react/jsx-dev-runtime";var d0={File:"\uD83D\uDCC4",Module:"\uD83D\uDCE6",Namespace:"\uD83D\uDCE6",Package:"\uD83D\uDCE6",Class:"\uD835\uDC36",Method:"\uD835\uDC5A",Property:"\uD83D\uDD39",Field:"\uD83D\uDD39",Constructor:"⚙",Enum:"\uD83D\uDCCB",Interface:"\uD835\uDC3C",Function:"\uD835\uDC53",Variable:"\uD835\uDC63",Constant:"\uD83D\uDD12",String:'"',Number:"#",Boolean:"✓",Array:"[]",Object:"{}",Key:"\uD83D\uDD11",Null:"∅",EnumMember:"\uD83D\uDCCB",Struct:"\uD83D\uDCE6",Event:"⚡",Operator:"⊕",TypeParameter:"T"};function lO($){if($.startsWith("file://"))return $.slice(7);return $}function fz($,J,K){let Z=Bz(process.cwd(),lO($));if(J!==void 0&&K!==void 0)return`${Z}:${J+1}:${K+1}`;else if(J!==void 0)return`${Z}:${J+1}`;return Z}function uO($){let J="";if(typeof $==="string")J=$;else if($&&typeof $==="object"){let Z=$;if(typeof Z.value==="string")J=Z.value}let K=J.split(`
438
+ `);return K.length>0?K[0].trim():""}function rO($,J=80){return $.length>J?$.slice(0,J-1)+"…":$}var yz={displayName(){return"LSP"},renderInput($,{verbose:J}){let K=String($?.action??""),Z=String($?.file??""),H=typeof $?.line==="number"?$.line:void 0,X=typeof $?.character==="number"?$.character:void 0,Q=$?.new_name?String($.new_name):"",G=Z?J?Z:Bz(process.cwd(),Z):"";if(K==="rename"&&H!==void 0&&X!==void 0&&Q)return`${K} ${G}:${H+1}:${X+1} → ${Q}`;else if(H!==void 0&&X!==void 0&&G)return`${K} ${G}:${H+1}:${X+1}`;else if(G)return`${K} ${G}`;return K},renderOutput($,{verbose:J}={},K){let H=String((K??{})?.action??"");if($==null)return P0(h9,{children:P0(_9,{color:L().colors.textMuted,children:"(No result)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(H==="definition"||H==="references"){let X=[];if($!=null&&typeof $==="object"&&!Array.isArray($)){let W=$;if(typeof W.uri==="string")X=[W]}else if(Array.isArray($))X=$.map((W)=>W!=null&&typeof W==="object"?W:{});if(X.length===0)return P0(h9,{children:P0(_9,{color:L().colors.textMuted,children:"(No result)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(H==="definition"){let W=X[0];if(!W)return P0(h9,{children:P0(_9,{color:L().colors.textMuted,children:"(No result)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let N=typeof W.uri==="string"?W.uri:"",q=typeof W.range?.start?.line==="number"?W.range.start.line:void 0,U=typeof W.range?.start?.character==="number"?W.range.start.character:void 0;return P0(h9,{children:P0(_9,{children:["→ ",P0(_9,{bold:!0,children:fz(N,q,U)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}let Q=X.length,G=J?X.length:Math.min(5,X.length),Y=X.slice(0,G),z=Q>G;return P0(h9,{flexDirection:"column",children:[P0(h9,{children:P0(_9,{children:[P0(_9,{bold:!0,children:Q},void 0,!1,void 0,this)," reference",Q!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Y.length>0&&P0(h9,{flexDirection:"column",marginLeft:2,children:Y.map((W,N)=>{if(!W)return null;let q=typeof W.uri==="string"?W.uri:"",U=typeof W.range?.start?.line==="number"?W.range.start.line:void 0,A=typeof W.range?.start?.character==="number"?W.range.start.character:void 0;return P0(_9,{color:L().colors.textMuted,children:fz(q,U,A)},N,!1,void 0,this)})},void 0,!1,void 0,this),z&&P0(h9,{marginLeft:2,children:P0(_9,{color:L().colors.textMuted,children:["+",Q-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(H==="hover"){if($!=null&&typeof $==="object"){let Q=$.contents;if(Q){let G=uO(Q),Y=rO(G);return P0(h9,{children:P0(_9,{children:P0(_9,{bold:!0,children:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}}return P0(h9,{children:P0(_9,{color:L().colors.textMuted,children:"(No hover info)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(H==="symbols"){let X=[];if(Array.isArray($))X=$.map((N)=>N!=null&&typeof N==="object"?N:{});if(X.length===0)return P0(h9,{children:P0(_9,{color:L().colors.textMuted,children:"(No symbols)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=X.length,G=J?X.length:Math.min(5,X.length),Y=X.slice(0,G),z=Q>G,W=(N)=>{if(typeof N==="string")return d0[N]||"•";else if(typeof N==="number")return{"1":d0.File||"•","2":d0.Module||"•","3":d0.Namespace||"•","4":d0.Package||"•","5":d0.Class||"•","6":d0.Method||"•","7":d0.Property||"•","8":d0.Field||"•","9":d0.Constructor||"•","10":d0.Enum||"•","11":d0.Interface||"•","12":d0.Function||"•","13":d0.Variable||"•","14":d0.Constant||"•","15":d0.String||"•","16":d0.Number||"•","17":d0.Boolean||"•","18":d0.Array||"•","19":d0.Object||"•","20":d0.Key||"•","21":d0.Null||"•","22":d0.EnumMember||"•","23":d0.Struct||"•","24":d0.Event||"•","25":d0.Operator||"•","26":d0.TypeParameter||"•"}[String(N)]||"•";return"•"};return P0(h9,{flexDirection:"column",children:[P0(h9,{children:P0(_9,{children:[P0(_9,{bold:!0,children:Q},void 0,!1,void 0,this)," symbol",Q!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Y.length>0&&P0(h9,{flexDirection:"column",marginLeft:2,children:Y.map((N,q)=>{let U=W(N.kind),A=String(N.name??"");return P0(_9,{children:[U," ",A]},q,!0,void 0,this)})},void 0,!1,void 0,this),z&&P0(h9,{marginLeft:2,children:P0(_9,{color:L().colors.textMuted,children:["+",Q-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(H==="rename"){if($!=null&&typeof $==="object"){let Q=$.changes;if(Q!=null&&typeof Q==="object"){let G=Object.keys(Q).length,Y=0;for(let z of Object.values(Q))if(Array.isArray(z))Y+=z.length;return P0(h9,{children:P0(_9,{children:["Renamed in ",P0(_9,{bold:!0,children:G},void 0,!1,void 0,this)," file",G!==1?"s":""," (",P0(_9,{bold:!0,children:Y},void 0,!1,void 0,this)," edit",Y!==1?"s":"",")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}}return P0(h9,{children:P0(_9,{color:L().colors.textMuted,children:"(Rename failed)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return P0(h9,{children:P0(_9,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return P0(k,{},void 0,!1,void 0,this)}};import{Box as lZ,Text as A9}from"ink";import{relative as ZJ}from"path";v();import{jsxDEV as o0}from"react/jsx-dev-runtime";var Mz={displayName(){return"FastRipgrep"},renderInput($,{verbose:J}){let{command:K,pattern:Z,path:H}=$;if(K==="search"&&Z){let X=H?ZJ(process.cwd(),H):void 0;return`search "${Z}"${X||J?` in ${J&&H?H:X||"."}`:""}`}if(K==="status"){let X=H?ZJ(process.cwd(),H):void 0;return`status${X||J?` for ${J&&H?H:X||"."}`:""}`}if(K==="index"||K==="init"){let X=H?ZJ(process.cwd(),H):void 0;return`${K}${X||J?` at ${J&&H?H:X||"."}`:""}`}if(K==="update")return`update index${H?` at ${J?H:ZJ(process.cwd(),H)}`:""}`;return K},renderRejection(){return o0(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if($==null)return o0(A9,{color:J.colors.textMuted,children:"No output"},void 0,!1,void 0,this);if(typeof $==="string"){let K=$.trim().split(`
439
+ `);return o0(A9,{color:J.colors.textMuted,children:K[0]},void 0,!1,void 0,this)}if(typeof $==="object"&&!Array.isArray($)){let K=$;if(Array.isArray(K.matches)){let Z=K.matches,H=new Set,X=0;for(let G of Z){if(typeof G.file==="string")H.add(G.file);else if(typeof G.path==="string")H.add(G.path);X++}let Q=H.size;if(Q===0)return o0(A9,{color:J.colors.textMuted,children:"No matches"},void 0,!1,void 0,this);return o0(lZ,{flexDirection:"row",children:[o0(A9,{children:"Found "},void 0,!1,void 0,this),o0(A9,{bold:!0,children:X},void 0,!1,void 0,this),o0(A9,{children:[" ",X===1?"match":"matches"," in "]},void 0,!0,void 0,this),o0(A9,{bold:!0,children:Q},void 0,!1,void 0,this),o0(A9,{children:[" ",Q===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(K.counts)&&typeof K.total==="number"){let{counts:Z,total:H}=K,X=Z.length;if(X===0)return o0(A9,{color:J.colors.textMuted,children:"No matches"},void 0,!1,void 0,this);return o0(lZ,{flexDirection:"row",children:[o0(A9,{children:"Found "},void 0,!1,void 0,this),o0(A9,{bold:!0,children:H},void 0,!1,void 0,this),o0(A9,{children:[" ",H===1?"match":"matches"," in "]},void 0,!0,void 0,this),o0(A9,{bold:!0,children:X},void 0,!1,void 0,this),o0(A9,{children:[" ",X===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof K.indexed==="boolean"||typeof K.files==="number"){let Z=K.indexed===!0,H=typeof K.files==="number"?K.files:0;if(Z)return o0(lZ,{flexDirection:"row",children:[o0(A9,{children:"Index: "},void 0,!1,void 0,this),o0(A9,{bold:!0,children:H},void 0,!1,void 0,this),o0(A9,{children:" files indexed"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);else return o0(A9,{color:J.colors.textMuted,children:"Not indexed"},void 0,!1,void 0,this)}if(typeof K.message==="string")return o0(A9,{color:J.colors.textMuted,children:K.message},void 0,!1,void 0,this);return o0(A9,{color:J.colors.textMuted,children:"Command completed"},void 0,!1,void 0,this)}return o0(A9,{color:J.colors.textMuted,children:"Done"},void 0,!1,void 0,this)}};import{Box as Q6,Text as p0}from"ink";import{relative as uZ}from"path";v();import{jsxDEV as A0}from"react/jsx-dev-runtime";var wz={displayName(){return"Fuzzy Find"},renderInput($,{verbose:J}){let{action:K,query:Z,patterns:H,constraints:X,path:Q}=$;if(K==="grep"&&Z){let G=`grep "${Z}"`;if(X)G+=` [${X}]`;if(Q&&J)G+=` in ${Q}`;return G}if(K==="find_files"){let G=`find_files${Z?` "${Z}"`:""}`;if(X)G+=` [${X}]`;if(Q&&J)G+=` in ${Q}`;return G}if(K==="multi_grep"&&H){let Y=`multi_grep ${H.map((z)=>`"${z}"`).join(" ")}`;if(X)Y+=` [${X}]`;if(Q&&J)Y+=` in ${Q}`;return Y}return K},renderRejection(){return A0(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if($==null)return A0(p0,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this);if(typeof $==="string"){let K=$.trim().split(`
440
+ `);return A0(p0,{color:J.colors.textMuted,children:K[0]},void 0,!1,void 0,this)}if(typeof $==="object"&&!Array.isArray($)){let K=$;if(Array.isArray(K.results)){let Z=K.results;if(Z.length===0)return A0(p0,{color:J.colors.textMuted,children:"No matches"},void 0,!1,void 0,this);let H=new Map;for(let z of Z){let W=typeof z.file==="string"?z.file:"unknown";H.set(W,(H.get(W)||0)+1)}let X=H.size,Q=Z.length,G=Array.from(H.entries()).slice(0,3),Y=G.map(([z])=>uZ(process.cwd(),z));return A0(Q6,{flexDirection:"column",children:[A0(Q6,{flexDirection:"row",children:[A0(p0,{children:"Found "},void 0,!1,void 0,this),A0(p0,{bold:!0,children:Q},void 0,!1,void 0,this),A0(p0,{children:[" ",Q===1?"match":"matches"," in "]},void 0,!0,void 0,this),A0(p0,{bold:!0,children:X},void 0,!1,void 0,this),A0(p0,{children:[" ",X===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G.length>0&&A0(Q6,{flexDirection:"column",marginLeft:2,children:[G.map(([z,W],N)=>A0(Q6,{flexDirection:"row",children:[A0(p0,{color:J.colors.textMuted,children:[Y[N],": "]},void 0,!0,void 0,this),A0(p0,{color:J.colors.textMuted,bold:!0,children:W},void 0,!1,void 0,this)]},N,!0,void 0,this)),X>3&&A0(p0,{color:J.colors.textMuted,children:["... and ",X-3," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(Array.isArray(K.files)){let Z=K.files;if(Z.length===0)return A0(p0,{color:J.colors.textMuted,children:"No files found"},void 0,!1,void 0,this);let H=Z.slice(0,5).map((X)=>uZ(process.cwd(),X));return A0(Q6,{flexDirection:"column",children:[A0(Q6,{flexDirection:"row",children:[A0(p0,{children:"Found "},void 0,!1,void 0,this),A0(p0,{bold:!0,children:Z.length},void 0,!1,void 0,this),A0(p0,{children:[" ",Z.length===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),A0(Q6,{flexDirection:"column",marginLeft:2,children:[H.map((X,Q)=>A0(p0,{color:J.colors.textMuted,children:X},Q,!1,void 0,this)),Z.length>5&&A0(p0,{color:J.colors.textMuted,children:["... and ",Z.length-5," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}}if(Array.isArray($)){if($.length===0)return A0(p0,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this);if(typeof $[0]==="string"){let K=$,Z=K.slice(0,5).map((H)=>uZ(process.cwd(),H));return A0(Q6,{flexDirection:"column",children:[A0(Q6,{flexDirection:"row",children:[A0(p0,{children:"Found "},void 0,!1,void 0,this),A0(p0,{bold:!0,children:K.length},void 0,!1,void 0,this),A0(p0,{children:[" ",K.length===1?"file":"files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),A0(Q6,{flexDirection:"column",marginLeft:2,children:[Z.map((H,X)=>A0(p0,{color:J.colors.textMuted,children:H},X,!1,void 0,this)),K.length>5&&A0(p0,{color:J.colors.textMuted,children:["... and ",K.length-5," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return A0(Q6,{flexDirection:"row",children:[A0(p0,{children:"Found "},void 0,!1,void 0,this),A0(p0,{bold:!0,children:$.length},void 0,!1,void 0,this),A0(p0,{children:[" ",$.length===1?"result":"results"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return A0(p0,{color:J.colors.textMuted,children:"Done"},void 0,!1,void 0,this)}};import{Box as E5,Text as q9}from"ink";v();import{jsxDEV as j0}from"react/jsx-dev-runtime";var Cz={displayName(){return"Serena"},renderInput($,{verbose:J}){let{action:K,name_path:Z,pattern:H,new_name:X,relative_path:Q}=$;if(K==="find_symbol"&&Z){let G=`find_symbol "${Z}"`;if(Q&&J)G+=` in ${Q}`;return G}if(K==="find_references"&&Z)return`find_references "${Z}"`;if(K==="search"&&H){let G=`search "${H}"`;if(Q&&J)G+=` in ${Q}`;return G}if(K==="rename"&&Z&&X)return`rename "${Z}" → "${X}"`;if(K==="overview")return`overview${Q?` of ${Q}`:""}`;if(K==="replace_body"&&Z)return`replace_body "${Z}"`;if(K==="insert_after"&&Z)return`insert_after "${Z}"`;if(K==="insert_before"&&Z)return`insert_before "${Z}"`;return K},renderRejection(){return j0(k,{},void 0,!1,void 0,this)},renderOutput($){let J=L();if($==null)return j0(q9,{color:J.colors.textMuted,children:"No output"},void 0,!1,void 0,this);if(typeof $==="string"){let Z=$.trim().split(`
441
+ `).slice(0,2).join(`
442
+ `);return j0(q9,{color:J.colors.textMuted,children:Z},void 0,!1,void 0,this)}if(typeof $==="object"&&!Array.isArray($)){let K=$;if(Array.isArray(K.results)){let Z=K.results;if(Z.length===0)return j0(q9,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this);let H=Z.slice(0,3);return j0(E5,{flexDirection:"column",children:[j0(E5,{flexDirection:"row",children:[j0(q9,{children:"Found "},void 0,!1,void 0,this),j0(q9,{bold:!0,children:Z.length},void 0,!1,void 0,this),j0(q9,{children:[" ",Z.length===1?"result":"results"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),j0(E5,{flexDirection:"column",marginLeft:2,children:[H.map((X,Q)=>{if(X!=null&&typeof X==="object"){let G=X,Y=G.name||G.symbol_name||G.qualified_name,z=G.file||G.path;if(Y&&z)return j0(q9,{color:J.colors.textMuted,children:[typeof Y==="string"?Y:"",typeof z==="string"?` (${z})`:""]},Q,!0,void 0,this);if(Y)return j0(q9,{color:J.colors.textMuted,children:typeof Y==="string"?Y:""},Q,!1,void 0,this)}return j0(q9,{color:J.colors.textMuted,children:["Result ",Q+1]},Q,!0,void 0,this)}),Z.length>3&&j0(q9,{color:J.colors.textMuted,children:["... and ",Z.length-3," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof K.raw==="string"){let H=K.raw.trim().split(`
443
+ `).slice(0,2).join(`
444
+ `);return j0(q9,{color:J.colors.textMuted,children:H},void 0,!1,void 0,this)}if(typeof K.success==="boolean")if(K.success){let Z=typeof K.message==="string"?K.message:"Success";return j0(q9,{color:J.colors.success,children:Z},void 0,!1,void 0,this)}else{let Z=typeof K.error==="string"?K.error:"Failed";return j0(q9,{color:J.colors.error,children:Z},void 0,!1,void 0,this)}if(typeof K.message==="string")return j0(q9,{color:J.colors.textMuted,children:K.message},void 0,!1,void 0,this);if(K.name&&K.kind)return j0(E5,{flexDirection:"row",children:[j0(q9,{color:J.colors.textMuted,children:[typeof K.kind==="string"?K.kind:"Symbol",":"]},void 0,!0,void 0,this),j0(q9,{children:[" ",typeof K.name==="string"?K.name:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return j0(q9,{color:J.colors.textMuted,children:"Completed"},void 0,!1,void 0,this)}if(Array.isArray($)){if($.length===0)return j0(q9,{color:J.colors.textMuted,children:"No results"},void 0,!1,void 0,this);return j0(E5,{flexDirection:"row",children:[j0(q9,{children:"Found "},void 0,!1,void 0,this),j0(q9,{bold:!0,children:$.length},void 0,!1,void 0,this),j0(q9,{children:[" ",$.length===1?"result":"results"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}return j0(q9,{color:J.colors.textMuted,children:"Done"},void 0,!1,void 0,this)}};import{Box as G6,Text as j6}from"ink";v();import{jsxDEV as N9}from"react/jsx-dev-runtime";function rZ($,J=60){return $.length>J?$.slice(0,J-1)+"…":$}var Iz={displayName(){return"Quip"},renderInput($,{verbose:J}={}){let K=String($.action??"read"),Z=$.query?rZ(String($.query)):"",H=$.threadId?rZ(String($.threadId)):"",X=[K];if(Z)X.push(`query: ${Z}`);else if(H)X.push(`threadId: ${H}`);return N9(G6,{flexDirection:"row",children:N9(j6,{children:X.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return N9(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return N9(G6,{flexDirection:"column",children:N9(j6,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return N9(G6,{flexDirection:"column",children:N9(j6,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$;if(Z.success===!1)return N9(G6,{flexDirection:"column",children:N9(j6,{color:K.colors.error,children:String(Z.message??"Error reading Quip document")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.success===!0){let H=Z.data;if(H?.output&&typeof H.output==="string"){let X=H.output.split(`
445
+ `),G=X.slice(0,2).join(`
446
+ `);return N9(G6,{flexDirection:"column",children:[N9(G6,{flexDirection:"row",children:N9(j6,{color:K.colors.textMuted,dimColor:!0,children:rZ(G,80)},void 0,!1,void 0,this)},void 0,!1,void 0,this),X.length>2&&N9(G6,{flexDirection:"row",paddingLeft:0,children:N9(j6,{color:K.colors.textMuted,children:["... (",X.length-2," more lines)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(Z.message)return N9(G6,{flexDirection:"column",children:N9(j6,{children:String(Z.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(typeof Z.message==="string"&&Z.message.toLowerCase().includes("created"))return N9(G6,{flexDirection:"column",children:N9(j6,{color:K.colors.success,children:Z.message},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.message)return N9(G6,{flexDirection:"column",children:N9(j6,{children:String(Z.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return N9(G6,{flexDirection:"column",children:N9(j6,{color:K.colors.textMuted,children:"(No response)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as m6,Text as d6}from"ink";v();import{jsxDEV as L9}from"react/jsx-dev-runtime";function Sz($,J=40){return $.length>J?$.slice(0,J-1)+"…":$}var bz={displayName(){return"Quip Comment"},renderInput($,{verbose:J}={}){let K=$.threadId?Sz(String($.threadId),30):"",Z=$.content?Sz(String($.content),40):"",H=[];if(K)H.push(`thread: ${K}`);if(Z)H.push(`"${Z}"`);return L9(m6,{flexDirection:"row",children:L9(d6,{children:H.length>0?H.join(" "):"Posting comment..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return L9(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.textMuted,children:"(No response)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string"){if($.toLowerCase().includes("posted")||$.toLowerCase().includes("success"))return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.success,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);return L9(m6,{flexDirection:"column",children:L9(d6,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let Z=$;if(Z.success===!1)return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.error,children:String(Z.message??"Error posting comment")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.success===!0){let H=Z.message??"Comment posted";return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.success,children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(Z.message){if(String(Z.message).toLowerCase().includes("posted"))return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.success,children:String(Z.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(String(Z.message).toLowerCase().includes("error")||String(Z.message).toLowerCase().includes("failed"))return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.error,children:String(Z.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return L9(m6,{flexDirection:"column",children:L9(d6,{children:String(Z.message)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return L9(m6,{flexDirection:"column",children:L9(d6,{color:K.colors.textMuted,children:"(Comment posted)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as kz,Text as B7}from"ink";v();import{jsxDEV as F$}from"react/jsx-dev-runtime";var gz={displayName(){return"Quip Create"},renderInput($,{verbose:J}={}){let K=typeof $.title==="string"?$.title:"";return F$(kz,{flexDirection:"row",children:[F$(B7,{children:K?`"${K.slice(0,50)}"`:"new document"},void 0,!1,void 0,this),J&&typeof $.folderId==="string"&&F$(B7,{color:L().colors.textMuted,children:[" in ",$.folderId]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},renderRejection(){return F$(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if(!$||typeof $!=="object")return F$(B7,{color:K.colors.textMuted,children:typeof $==="string"?$:"No result"},void 0,!1,void 0,this);let Z=$,H=Z.success!==!1,X=typeof Z.message==="string"?Z.message:"";if(!H)return F$(B7,{color:K.colors.error,children:X||"Failed to create document"},void 0,!1,void 0,this);return F$(kz,{flexDirection:"row",children:[F$(B7,{color:K.colors.success,children:"✓ Document created"},void 0,!1,void 0,this),X&&F$(B7,{color:K.colors.textMuted,children:[" — ",X.slice(0,60)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}};import{Box as e3,Text as $8}from"ink";v();import{jsxDEV as z1}from"react/jsx-dev-runtime";var vz={displayName(){return"Slack Read"},renderInput($,{verbose:J}={}){let K=$?.channel??"",Z=$?.limit??$?.max_messages??"",H=[];if(K)H.push(`#${String(K).replace(/^#/,"")}`);if(Z)H.push(`limit:${Z}`);return H.join(", ")||"Slack messages"},renderRejection(){return z1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return z1(e3,{flexDirection:"column",children:z1($8,{color:K.colors.textMuted,children:"No messages"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$??{},H=Z.data??Z,X=Array.isArray(H.messages)?H.messages:[],Q=String(H.channelId??H.channel_id??H.channel??"");if(!X.length)return z1(e3,{flexDirection:"column",children:z1($8,{color:K.colors.textMuted,children:"No messages"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let G=Q?`#${Q.replace(/^#/,"")}`:"channel",Y=X.length;return z1(e3,{flexDirection:"column",children:[z1(e3,{marginBottom:1,children:[z1($8,{bold:!0,children:[Y," "]},void 0,!0,void 0,this),z1($8,{children:["message",Y===1?"":"s"," from ",G]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),X.slice(0,3).map((z,W)=>{let N=z??{},q=String(N.user??N.username??"unknown"),U=String(N.text??N.message??""),A=U.length>60?U.substring(0,60)+"…":U;return z1(e3,{flexDirection:"column",paddingLeft:2,marginBottom:W<2?1:0,children:z1(e3,{children:[z1($8,{bold:!0,children:[q,": "]},void 0,!0,void 0,this),z1($8,{dimColor:!0,children:A},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},W,!1,void 0,this)}),X.length>3&&z1(e3,{paddingLeft:2,marginTop:1,children:z1($8,{color:K.colors.textMuted,children:["+",X.length-3," more message",X.length-3===1?"":"s"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as j5,Text as m5}from"ink";v();import{jsxDEV as Y6}from"react/jsx-dev-runtime";var Tz={displayName(){return"Slack Send"},renderInput($,{verbose:J}={}){let K=$?.channel??"",Z=String($?.text??""),H=Z.length>40?Z.substring(0,40)+"…":Z,X=[];if(K)X.push(`#${String(K).replace(/^#/,"")}`);if(H)X.push(`"${H}"`);return X.join(" → ")||"Send message"},renderRejection(){return Y6(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return Y6(j5,{flexDirection:"column",children:Y6(m5,{color:K.colors.error,children:"Failed to send message"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$??{},H=Z.success!==!1&&Z.success!==null,X=String(Z.message??Z.error??""),Q=Z.data??Z,G=String(Q.channelId??Q.channel_id??Q.channel??""),Y=String(Q.ts??Q.timestamp??"");if(!H)return Y6(j5,{flexDirection:"column",children:Y6(m5,{color:K.colors.error,children:["Failed to send message",X?`: ${X}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this);let z=G?`#${G.replace(/^#/,"")}`:"channel";return Y6(j5,{flexDirection:"column",children:[Y6(j5,{children:[Y6(m5,{color:K.colors.success,children:"✓ Sent to "},void 0,!1,void 0,this),Y6(m5,{bold:!0,color:K.colors.success,children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&J&&Y6(j5,{marginTop:1,paddingLeft:2,children:Y6(m5,{color:K.colors.textMuted,children:["timestamp: ",Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as aZ,Text as nZ}from"ink";v();import{jsxDEV as J8}from"react/jsx-dev-runtime";var Vz={displayName(){return"Slack React"},renderInput($,{verbose:J}={}){let K=String($?.name??$?.emoji??""),Z=String($?.channel??""),X=[K.startsWith(":")?K:`:${K}:`];if(Z)X.push(`#${Z.replace(/^#/,"")}`);return X.join(" in ")||"Add reaction"},renderRejection(){return J8(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return J8(aZ,{flexDirection:"column",children:J8(nZ,{color:K.colors.error,children:"Failed to add reaction"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$??{},H=Z.success!==!1&&Z.success!==null,X=String(Z.message??Z.error??""),Q=Z.data??Z,G=String(Q.emoji??Q.name??Q.reaction??"");if(!H)return J8(aZ,{flexDirection:"column",children:J8(nZ,{color:K.colors.error,children:["Failed to add reaction",X?`: ${X}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this);let Y=G.startsWith(":")?G:`:${G}:`;return J8(aZ,{flexDirection:"column",children:J8(nZ,{color:K.colors.success,children:["✓ Added ",Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as p1,Text as x1}from"ink";v();import{jsxDEV as s0}from"react/jsx-dev-runtime";var hz={displayName(){return"Outlook Read"},renderInput($,{verbose:J}={}){let K=L(),Z=String($?.folder??""),H=$?.search??$?.search_query,X=$?.filter,Q=[];if(Z)Q.push(`folder: ${Z}`);if(H)Q.push(`search: ${String(H)}`);if(X)Q.push(`filter: ${String(X)}`);return s0(p1,{flexDirection:"row",children:s0(x1,{children:Q.length>0?Q.join(", "):"Reading emails..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return s0(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return s0(p1,{flexDirection:"column",children:s0(x1,{children:"(No emails found)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$;if(Z.success===!1)return s0(p1,{flexDirection:"column",children:s0(x1,{color:K.colors.error,children:String(Z.message??"Error reading emails")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.success===!0){let H=Z.data??{};if(Array.isArray(H?.messages)){let Q=H.messages;if(Q.length===0)return s0(p1,{flexDirection:"column",children:s0(x1,{children:"(No emails)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let G=Q.length,Y=Q.slice(0,3);return s0(p1,{flexDirection:"column",children:[s0(x1,{children:[G," email",G!==1?"s":""]},void 0,!0,void 0,this),Y.map((z,W)=>s0(p1,{flexDirection:"row",marginTop:W===0?0:0,children:s0(p1,{children:[s0(x1,{bold:!0,children:z.subject||"(No subject)"},void 0,!1,void 0,this),z.from&&s0(x1,{color:K.colors.textMuted,children:[" from ",z.from]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},W,!1,void 0,this)),G>3&&s0(x1,{color:K.colors.textMuted,children:["... and ",G-3," more"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(H?.subject){let Q=H.subject,G=H?.from;return s0(p1,{flexDirection:"column",children:[s0(p1,{flexDirection:"row",children:s0(x1,{bold:!0,children:String(Q)},void 0,!1,void 0,this)},void 0,!1,void 0,this),G&&s0(p1,{flexDirection:"row",children:s0(x1,{color:K.colors.textMuted,children:["from ",String(G)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let X=typeof Z.data==="string"?Z.data:JSON.stringify(Z.data,null,2);return s0(p1,{flexDirection:"column",children:s0(x1,{children:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return s0(p1,{flexDirection:"column",children:s0(x1,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as K8,Text as Z8}from"ink";v();import{jsxDEV as W1}from"react/jsx-dev-runtime";var Dz={displayName(){return"Outlook Send"},renderInput($,{verbose:J}={}){let K=L(),Z=String($?.to??""),H=String($?.subject??"");if(H.length>40)H=H.substring(0,40)+"...";return W1(K8,{flexDirection:"row",children:W1(Z8,{children:["to: ",Z,H&&` — "${H}"`]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return W1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return W1(K8,{flexDirection:"column",children:W1(Z8,{color:K.colors.error,children:"Failed to send email"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$;if(Z.success===!1)return W1(K8,{flexDirection:"column",children:W1(Z8,{color:K.colors.error,children:String(Z.message??"Failed to send email")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.success===!0){let H=String(Z.message??"Email sent");return W1(K8,{flexDirection:"column",children:W1(Z8,{color:K.colors.success,children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(typeof $==="string"){if($.toLowerCase().includes("sent")||$.toLowerCase().includes("success"))return W1(K8,{flexDirection:"column",children:W1(Z8,{color:K.colors.success,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);return W1(K8,{flexDirection:"column",children:W1(Z8,{color:K.colors.error,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return W1(K8,{flexDirection:"column",children:W1(Z8,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as H8,Text as J3}from"ink";v();import{jsxDEV as n9}from"react/jsx-dev-runtime";var cz={displayName(){return"Outlook Reply"},renderInput($,{verbose:J}={}){let K=L(),Z=String($?.messageId??$?.message_id??""),H=Boolean($?.replyAll??$?.reply_all??!1),X=Z.length>20?Z.substring(0,20)+"...":Z;return n9(H8,{flexDirection:"row",children:n9(J3,{children:[X,H&&n9(J3,{color:K.colors.textMuted,children:" [reply-all]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},renderRejection(){return n9(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return n9(H8,{flexDirection:"column",children:n9(J3,{color:K.colors.error,children:"Failed to send reply"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$;if(Z.success===!1)return n9(H8,{flexDirection:"column",children:n9(J3,{color:K.colors.error,children:String(Z.message??"Failed to send reply")},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.success===!0){let H=String(Z.message??"Reply sent");return n9(H8,{flexDirection:"column",children:n9(J3,{color:K.colors.success,children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if(typeof $==="string"){if($.toLowerCase().includes("sent")||$.toLowerCase().includes("success")||$.toLowerCase().includes("reply"))return n9(H8,{flexDirection:"column",children:n9(J3,{color:K.colors.success,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this);return n9(H8,{flexDirection:"column",children:n9(J3,{color:K.colors.error,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return n9(H8,{flexDirection:"column",children:n9(J3,{children:JSON.stringify($)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as HJ,Text as K3}from"ink";v();import{jsxDEV as B1,Fragment as nO}from"react/jsx-dev-runtime";function aO($){if(!$.startsWith("client-"))return $.replace(/^@/,"");return $.slice(0,15)+"…"}var Ez={displayName(){return"Message"},renderInput($){let J=String($?.to??""),K=$?.type??"quest",Z=[];if(J)Z.push(`@${aO(J)}`);if(K&&K!=="quest")Z.push(String(K));return Z.join(" ")||"Send message"},renderRejection(){return B1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={},K){let Z=L(),H=String(K?.content??"");if($==null)return B1(HJ,{flexDirection:"column",children:[B1(K3,{color:Z.colors.error,children:"Failed to send message"},void 0,!1,void 0,this),H&&B1(K3,{dimColor:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this);let X=$??{},Q=X.success!==!1&&X.success!==null,G=String(X.message??X.error??""),Y=X.data??X,z=String(Y.messageId??Y.message_id??Y.id??"");if(!Q)return B1(HJ,{flexDirection:"column",children:[B1(K3,{color:Z.colors.error,children:["✗ ",G||"Failed to deliver"]},void 0,!0,void 0,this),H&&B1(K3,{dimColor:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return B1(HJ,{flexDirection:"column",children:[B1(HJ,{children:[B1(K3,{color:Z.colors.success,children:"✓ Sent"},void 0,!1,void 0,this),z&&B1(nO,{children:[B1(K3,{children:" "},void 0,!1,void 0,this),B1(K3,{color:Z.colors.textMuted,dimColor:!0,children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H&&B1(K3,{children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as Z3,Text as z6}from"ink";v();import{jsxDEV as F9}from"react/jsx-dev-runtime";function iO({msg:$}){let{contentWidth:J}=n$(),K=String($.from??$.sender??"Unknown"),Z=String($.content??$.text??""),H=g9(Z,{width:J,mode:"final"}),X=process.platform==="darwin"?"⏺":"●";return F9(Z3,{flexDirection:"column",children:[F9(Z3,{flexDirection:"row",marginBottom:1,children:[F9(z6,{children:"\uD83D\uDCEC "},void 0,!1,void 0,this),F9(z6,{bold:!0,color:"cyan",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F9(Z3,{flexDirection:"row",children:[F9(Z3,{minWidth:2,children:F9(z6,{color:"cyan",children:X},void 0,!1,void 0,this)},void 0,!1,void 0,this),F9(Z3,{flexShrink:1,width:J,children:F9(z6,{children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function oO({msg:$,verbose:J}){let K=L(),Z=String($.from??$.sender??"Unknown"),H=String($.type??"quest"),X=String($.content??$.text??""),Q=J||X.length<=80?X:X.substring(0,80)+"…";return F9(Z3,{flexDirection:"row",children:[F9(z6,{bold:!0,children:Z},void 0,!1,void 0,this),F9(z6,{children:" "},void 0,!1,void 0,this),F9(z6,{color:K.colors.textMuted,children:["[",H,"]"]},void 0,!0,void 0,this),F9(z6,{children:" "},void 0,!1,void 0,this),F9(z6,{children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function sO($){if($==null)return[];let J=$;if(typeof $==="string")try{J=JSON.parse($)}catch{return[]}let K=J.data??J;return Array.isArray(K.messages)?K.messages:[]}var jz={displayName(){return"Inbox"},renderInput($){let J=$?.from,K=$?.type,Z=$?.unreadOnly,H=[];if(J)H.push(`from: ${String(J)}`);if(K)H.push(`type: [${String(K)}]`);if(Z===!0)H.push("unread only");return H.length>0?H.join(" "):"Check messages"},renderRejection(){return F9(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L(),Z=sO($);if(Z.length===0)return F9(z6,{color:K.colors.textMuted,children:"No messages"},void 0,!1,void 0,this);let H=Z[0];if(Z.length===1&&H&&H.type==="incoming")return F9(iO,{msg:H},void 0,!1,void 0,this);let X=Z.length;return F9(Z3,{flexDirection:"column",children:[F9(z6,{children:[X," message",X!==1?"s":""]},void 0,!0,void 0,this),F9(Z3,{flexDirection:"column",marginTop:1,paddingLeft:2,children:Z.map((Q,G)=>F9(oO,{msg:Q,verbose:J??!1},G,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as XJ,Text as X8}from"ink";v();import{jsxDEV as l1}from"react/jsx-dev-runtime";var mz={displayName(){return"Search Messages"},renderInput($,{verbose:J}={}){let K=String($?.query??"");return K?`"${K}"`:"Search messages"},renderRejection(){return l1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return l1(X8,{color:K.colors.textMuted,children:"No results"},void 0,!1,void 0,this);let Z=$??{},H=Z.data??Z,X=Array.isArray(H.messages)?H.messages:Array.isArray(H.results)?H.results:[];if(!X||X.length===0)return l1(X8,{color:K.colors.textMuted,children:"No results"},void 0,!1,void 0,this);let Q=X.length,G=Math.min(3,X.length),Y=X.slice(0,G);return l1(XJ,{flexDirection:"column",children:[l1(X8,{children:[Q," result",Q!==1?"s":""]},void 0,!0,void 0,this),Y.length>0&&l1(XJ,{flexDirection:"column",marginTop:1,paddingLeft:2,children:Y.map((z,W)=>{let N=String(z.from??z.sender??"Unknown"),q=String(z.content??z.text??""),U=q.length>40?q.substring(0,40)+"…":q;return l1(XJ,{flexDirection:"row",children:[l1(X8,{bold:!0,children:N},void 0,!1,void 0,this),l1(X8,{children:" "},void 0,!1,void 0,this),l1(X8,{color:K.colors.textMuted,children:U},void 0,!1,void 0,this)]},W,!0,void 0,this)})},void 0,!1,void 0,this),X.length>G&&l1(XJ,{marginTop:1,paddingLeft:2,children:l1(X8,{color:K.colors.textMuted,children:["... and ",X.length-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as QJ,Text as Q8}from"ink";v();import{jsxDEV as u1}from"react/jsx-dev-runtime";var dz={displayName(){return"Thread"},renderInput($,{verbose:J}={}){let K=String($?.messageId??$?.message_id??"");return K?`messageId: ${K}`:"Get thread"},renderRejection(){return u1(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return u1(Q8,{color:K.colors.textMuted,children:"No messages in thread"},void 0,!1,void 0,this);let Z=$??{},H=Z.data??Z,X=Array.isArray(H.messages)?H.messages:[];if(!X||X.length===0)return u1(Q8,{color:K.colors.textMuted,children:"No messages in thread"},void 0,!1,void 0,this);let Q=X.length,G=Math.min(3,X.length),Y=X.slice(0,G);return u1(QJ,{flexDirection:"column",children:[u1(Q8,{children:[Q," message",Q!==1?"s":""," in thread"]},void 0,!0,void 0,this),Y.length>0&&u1(QJ,{flexDirection:"column",marginTop:1,paddingLeft:2,children:Y.map((z,W)=>{let N=String(z.from??z.sender??"Unknown"),q=String(z.content??z.text??""),U=q.length>40?q.substring(0,40)+"…":q;return u1(QJ,{flexDirection:"row",children:[u1(Q8,{bold:!0,children:N},void 0,!1,void 0,this),u1(Q8,{children:" "},void 0,!1,void 0,this),u1(Q8,{color:K.colors.textMuted,children:U},void 0,!1,void 0,this)]},W,!0,void 0,this)})},void 0,!1,void 0,this),X.length>G&&u1(QJ,{marginTop:1,paddingLeft:2,children:u1(Q8,{color:K.colors.textMuted,children:["... and ",X.length-G," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as d5,Text as p5}from"ink";v();import{jsxDEV as W6}from"react/jsx-dev-runtime";var pz={displayName(){return"Clients"},renderInput($,{verbose:J}={}){return"List clients"},renderRejection(){return W6(k,{},void 0,!1,void 0,this)},renderOutput($,{verbose:J}={}){let K=L();if($==null)return W6(d5,{flexDirection:"column",children:W6(p5,{children:"No clients connected"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Z=$??{},H=Z.data??Z,X=Array.isArray(H.clients)?H.clients:[];if(!X||X.length===0)return W6(d5,{flexDirection:"column",children:W6(p5,{children:"No clients connected"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=X.length,G=X.map((Y)=>String(Y.name??Y.displayName??Y.id??"Unknown")).slice(0,10);return W6(d5,{flexDirection:"column",children:[W6(p5,{children:[Q," client",Q!==1?"s":""," connected"]},void 0,!0,void 0,this),G.length>0&&W6(d5,{flexDirection:"column",marginTop:1,paddingLeft:2,children:G.map((Y,z)=>W6(p5,{color:K.colors.textMuted,children:["• ",Y]},z,!0,void 0,this))},void 0,!1,void 0,this),X.length>10&&W6(d5,{marginTop:1,paddingLeft:2,children:W6(p5,{color:K.colors.textMuted,children:["... and ",X.length-10," more"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}};import{Box as H3,Text as y7}from"ink";v();import{jsxDEV as i9,Fragment as tO}from"react/jsx-dev-runtime";var xz={displayName(){return"Remote Delegate"},renderInput($,J={}){let K=[];if($.node_id)K.push($.node_id);if($.task){let Z=$.task.length>40?`${$.task.slice(0,40)}...`:$.task;K.push(Z)}return K.length>0?K.join(": "):Object.entries($).map(([Z,H])=>`${Z}: ${JSON.stringify(H)}`).join(", ")},renderRejection(){return i9(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return i9(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:i9(H3,{flexDirection:"row",children:i9(y7,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return i9(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:i9(H3,{flexDirection:"row",children:i9(y7,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return i9(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:i9(H3,{flexDirection:"row",children:i9(y7,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return i9(H3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:i9(H3,{flexDirection:"row",children:[i9(y7,{color:K.colors.success,children:"Delegated to node"},void 0,!1,void 0,this),$.quest_id&&i9(tO,{children:[i9(y7,{children:" "},void 0,!1,void 0,this),i9(y7,{color:K.colors.textMuted,children:$.quest_id},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as X3,Text as GJ}from"ink";v();import{jsxDEV as b1}from"react/jsx-dev-runtime";var lz={displayName(){return"Pause"},renderInput($,J={}){if($.id)return $.id;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return b1(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return b1(X3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:b1(X3,{flexDirection:"row",children:b1(GJ,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return b1(X3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:b1(X3,{flexDirection:"row",children:b1(GJ,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return b1(X3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:b1(X3,{flexDirection:"row",children:b1(GJ,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return b1(X3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:b1(X3,{flexDirection:"row",children:b1(GJ,{color:K.colors.success,children:"Paused"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as Q3,Text as M7}from"ink";v();import{jsxDEV as o9,Fragment as eO}from"react/jsx-dev-runtime";var uz={displayName(){return"Resume"},renderInput($,J={}){if($.id)return $.id;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return o9(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return o9(Q3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:o9(Q3,{flexDirection:"row",children:o9(M7,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return o9(Q3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:o9(Q3,{flexDirection:"row",children:o9(M7,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return o9(Q3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:o9(Q3,{flexDirection:"row",children:o9(M7,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return o9(Q3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:o9(Q3,{flexDirection:"row",children:[o9(M7,{color:K.colors.success,children:"Resumed"},void 0,!1,void 0,this),$.quest_id&&o9(eO,{children:[o9(M7,{children:" "},void 0,!1,void 0,this),o9(M7,{color:K.colors.textMuted,children:$.quest_id},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}};import{Box as k1,Text as G8}from"ink";v();import{jsxDEV as R9}from"react/jsx-dev-runtime";var rz={displayName(){return"Quest Report"},renderInput($,J={}){if($.quest_id)return $.quest_id;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return R9(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return R9(k1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(k1,{flexDirection:"row",children:R9(G8,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return R9(k1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(k1,{flexDirection:"row",children:R9(G8,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return R9(k1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(k1,{flexDirection:"row",children:R9(G8,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.data){let{commits:Z,filesChanged:H,cost:X}=$.data,Q=[];if(Z!==void 0)Q.push(`${Z} commit${Z!==1?"s":""}`);if(H!==void 0)Q.push(`${H} file${H!==1?"s":""} changed`);return R9(k1,{flexDirection:"column",children:[Q.length>0&&R9(k1,{flexDirection:"row",children:R9(G8,{children:Q.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this),X!==void 0&&R9(k1,{flexDirection:"row",children:R9(G8,{color:K.colors.textMuted,children:["Cost: ",X]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if($.message)return R9(k1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(k1,{flexDirection:"row",children:R9(G8,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return R9(k1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:R9(k1,{flexDirection:"row",children:R9(G8,{color:K.colors.textMuted,children:"(No data)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as _1,Text as G3}from"ink";v();import{jsxDEV as Z9}from"react/jsx-dev-runtime";var az={displayName(){return"Network"},renderInput($,J={}){if($.action)return $.action;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return Z9(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return Z9(_1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z9(_1,{flexDirection:"row",children:Z9(G3,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return Z9(_1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z9(_1,{flexDirection:"row",children:Z9(G3,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return Z9(_1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z9(_1,{flexDirection:"row",children:Z9(G3,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.inviteToken){let Z=$.inviteToken.length>20?`${$.inviteToken.slice(0,20)}...`:$.inviteToken;return Z9(_1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z9(_1,{flexDirection:"row",children:Z9(G3,{color:K.colors.success,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}if($.peers&&Array.isArray($.peers)){let Z=$.peers.map((H)=>H.displayName||H.nodeId||"unknown").slice(0,3);return Z9(_1,{flexDirection:"column",children:[Z9(_1,{flexDirection:"row",children:Z9(G3,{children:[$.peers.length," peer",$.peers.length!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z.length>0&&Z9(_1,{flexDirection:"row",children:Z9(G3,{color:K.colors.textMuted,children:Z.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if($.message)return Z9(_1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z9(_1,{flexDirection:"row",children:Z9(G3,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return Z9(_1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:Z9(_1,{flexDirection:"row",children:Z9(G3,{color:K.colors.success,children:"Success"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as g1,Text as Y8}from"ink";v();import{jsxDEV as f9}from"react/jsx-dev-runtime";var nz={displayName(){return"Deploy"},renderInput($,J={}){let K=[];if($.target)K.push($.target);if($.branch)K.push(`(${$.branch})`);return K.length>0?K.join(" "):Object.entries($).map(([Z,H])=>`${Z}: ${JSON.stringify(H)}`).join(", ")},renderRejection(){return f9(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return f9(g1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:f9(g1,{flexDirection:"row",children:f9(Y8,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return f9(g1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:f9(g1,{flexDirection:"row",children:f9(Y8,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return f9(g1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:f9(g1,{flexDirection:"row",children:f9(Y8,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.host&&$.port)return f9(g1,{flexDirection:"column",children:[f9(g1,{flexDirection:"row",children:f9(Y8,{color:K.colors.success,children:["Deployed to ",$.host,":",$.port]},void 0,!0,void 0,this)},void 0,!1,void 0,this),$.fingerprint&&f9(g1,{flexDirection:"row",children:f9(Y8,{color:K.colors.textMuted,children:$.fingerprint},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if($.message)return f9(g1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:f9(g1,{flexDirection:"row",children:f9(Y8,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return f9(g1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:f9(g1,{flexDirection:"row",children:f9(Y8,{color:K.colors.success,children:"Deployed"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as v1,Text as z8}from"ink";v();import{jsxDEV as B9}from"react/jsx-dev-runtime";var iz={displayName(){return"History"},renderInput($,J={}){let K=[];if($.action)K.push($.action);if($.query)K.push(`"${$.query}"`);return K.length>0?K.join(" "):Object.entries($).map(([Z,H])=>`${Z}: ${JSON.stringify(H)}`).join(", ")},renderRejection(){return B9(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return B9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B9(v1,{flexDirection:"row",children:B9(z8,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return B9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B9(v1,{flexDirection:"row",children:B9(z8,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return B9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B9(v1,{flexDirection:"row",children:B9(z8,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.data?.sessions&&Array.isArray($.data.sessions)){let Z=$.data.sessions,H=Z.slice(0,3).map((X)=>{let Q=X.title||X.id||"untitled";return u9(Q.slice(0,50))});return B9(v1,{flexDirection:"column",children:[B9(v1,{flexDirection:"row",children:B9(z8,{children:[Z.length," session",Z.length!==1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),H.length>0&&B9(v1,{flexDirection:"row",children:B9(z8,{color:K.colors.textMuted,children:H.join(", ")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if($.message)return B9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B9(v1,{flexDirection:"row",children:B9(z8,{children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return B9(v1,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:B9(v1,{flexDirection:"row",children:B9(z8,{color:K.colors.success,children:"Success"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};import{Box as Y3,Text as YJ}from"ink";v();import{jsxDEV as T1}from"react/jsx-dev-runtime";var oz={displayName(){return"Restart"},renderInput($,J={}){if($.reason)return $.reason;return Object.entries($).map(([K,Z])=>`${K}: ${JSON.stringify(Z)}`).join(", ")},renderRejection(){return T1(k,{},void 0,!1,void 0,this)},renderOutput($,J={}){let K=L();if(!$)return T1(Y3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T1(Y3,{flexDirection:"row",children:T1(YJ,{color:K.colors.textMuted,children:"(No content)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(typeof $==="string")return T1(Y3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T1(Y3,{flexDirection:"row",children:T1(YJ,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.error)return T1(Y3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T1(Y3,{flexDirection:"row",children:T1(YJ,{color:K.colors.error,children:$.error},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return T1(Y3,{justifyContent:"space-between",overflowX:"hidden",width:"100%",children:T1(Y3,{flexDirection:"row",children:T1(YJ,{color:K.colors.warning,children:"Restarting..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}};var x5={bash:o$,exec:o$,spawn:o$,execute_command:o$,file_edit:h4,edit_file:h4,file_read:IZ,read_file:IZ,file_write:kZ,write_file:kZ,grep:OY,search:Yz,glob:LY,web_search:DY,rg:_z,ug:Nz,frg:Mz,fff:wz,probe:Uz,sg:Az,lsp:yz,cbm:Rz,serena:Cz,list_dir:j4,ls:j4,web_fetch:VY,browse:hY,recall:d4,recall_knowledge:d4,remember:T5,forget:T5,reflect:T5,memory_read:d4,memory_write:T5,learn:cY,learn_tool:jY,learn_skill:dY,create_tool:pY,create_skill:lY,use_skill:rY,ask_user:oY,quest_list:aY,quest_update:nY,kill:o$,write_stdin:o$,list_processes:j4,wait_process:o$,spawn_worker:Hz,apply_patch:h4,delegate_arion:VZ,check_delegation:Xz,hatch_arion:sY,rest_arion:eY,wake_arion:Jz,retire_arion:Zz,mcp:BY,think:MY,agent:VZ,notebook_read:CY,notebook_edit:IY,architect:bY,sticker_request:vY,browser:Qz,process:Gz,self_diagnose:zz,check_quip_documents:Iz,send_quip_comment:bz,create_quip_document:gz,check_slack_messages:vz,send_slack_message:Tz,react_slack_message:Vz,check_outlook_messages:hz,send_outlook_message:Dz,reply_outlook_message:cz,send_message:Ez,check_messages:jz,search_messages:mz,get_thread:dz,list_clients:pz,delegate_remote:xz,pause_delegation:lz,resume_delegation:uz,quest_report:rz,manage_network:az,deploy:nz,session_history:iz,restart:oz};import{jsxDEV as r1}from"react/jsx-dev-runtime";var $A=5;function ez({item:$,verbose:J}){let K=x5[$.toolName.toLowerCase()],Z=process.stdout.columns||80,H=Math.max(Z-$A,1),X={terminalWidth:Z,contentWidth:H};if($.id.includes("synthetic_inbox_")&&$.output!=null)return r1(g4,{value:X,children:oZ(K,$.output,J,$.input)??r1(iZ,{children:typeof $.output==="string"?$.output:JSON.stringify($.output)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let Q=tz(()=>K?.displayName($.input))??$.toolName,G=tz(()=>K?.renderInput($.input,{verbose:J}));return r1(sz,{flexDirection:"column",children:[r1(ZY,{displayName:Q,args:G,status:$.status,durationMs:$.durationMs,verbose:J},void 0,!1,void 0,this),$.output!=null&&$.status!=="error"&&r1(RZ,{children:r1(g4,{value:X,children:oZ(K,$.output,J,$.input)??r1(iZ,{children:typeof $.output==="string"?$.output:JSON.stringify($.output)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.status==="error"&&r1(RZ,{children:r1(g4,{value:X,children:$.output!=null&&oZ(K,$.output,J,$.input)||r1(iZ,{color:"red",children:$.error??"Tool error"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),J&&$.usage&&r1(sz,{marginLeft:2,children:r1(HY,{durationMs:$.durationMs,usage:{inputTokens:$.usage.inputTokens??0,outputTokens:$.usage.outputTokens??0,totalTokens:($.usage.inputTokens??0)+($.usage.outputTokens??0),estimatedCost:0}},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function tz($){try{return $()}catch{return}}function oZ($,J,K,Z){if(!$?.renderOutput)return null;try{return $.renderOutput(J,{verbose:K},Z)??null}catch{return null}}v();import{jsxDEV as P9}from"react/jsx-dev-runtime";var zJ=$W.memo(function({item:J,displayMode:K,showPrefix:Z,previewTailLines:H}){let X=K==="debug",{columns:Q}=C9();switch(J.kind){case"user-message":return P9(w4,{param:{type:"text",text:J.text},userName:J.userName,columns:Q,addMargin:Z,showPrefix:Z},void 0,!1,void 0,this);case"user-image":return P9(iG,{dataUri:J.dataUri,userName:J.userName,showPrefix:Z},void 0,!1,void 0,this);case"assistant-text":{let G=process.platform==="darwin"?"⏺":"●",Y=J.arion?.color??"cyan",z=Math.max(Q-4,20),W=g9(J.text,{width:z,mode:J.committed?"final":"streaming"}),N=!J.committed&&H?Math.max(H-(Z&&J.arion?1:0),1):void 0,q=N!=null?KA(W,z,N):W;return P9(z3,{flexDirection:"column",children:[Z&&J.arion&&P9(z3,{flexDirection:"row",marginBottom:1,children:[P9(p6,{children:[J.arion.emoji," "]},void 0,!0,void 0,this),P9(p6,{bold:!0,color:Y,children:J.arion.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),P9(z3,{flexDirection:"row",children:[P9(z3,{minWidth:2,children:P9(p6,{color:Y,children:G},void 0,!1,void 0,this)},void 0,!1,void 0,this),P9(z3,{flexShrink:1,width:z,children:P9(p6,{children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}case"thinking":{if(!J.content&&J.durationSec!=null)return P9(z3,{flexDirection:"column",children:[Z&&J.arion&&P9(z3,{flexDirection:"row",marginBottom:1,children:[P9(p6,{children:[J.arion.emoji," "]},void 0,!0,void 0,this),P9(p6,{bold:!0,color:J.arion.color,children:J.arion.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),P9(p6,{dimColor:!0,children:["✻"," Thought for ",J.durationSec.toFixed(1),"s"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(!J.content)return null;return P9(OZ,{content:J.content,expanded:X,durationSeconds:J.durationSec,arionName:Z?J.arion?.name:void 0,arionEmoji:Z?J.arion?.emoji:void 0,arionColor:Z?J.arion?.color:void 0,isLive:!J.committed},void 0,!1,void 0,this)}case"tool-execution":return P9(ez,{item:J,verbose:X},void 0,!1,void 0,this);case"error":{let G=L();return P9(z3,{flexDirection:"column",children:[P9(p6,{color:G.colors.error,children:J.message},void 0,!1,void 0,this),J.suggestion&&P9(p6,{dimColor:!0,children:[" Suggestion: ",J.suggestion]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}case"handoff":return P9(p6,{dimColor:!0,children:[J.direction==="outgoing"?"→":"←"," Handoff to ",J.target]},void 0,!0,void 0,this)}});function KA($,J,K){return $.split(`
447
+ `).flatMap((H)=>JA(H,J,{hard:!1,trim:!1,wordWrap:!0}).split(`
448
+ `)).slice(-K).join(`
449
+ `)}function sZ($,J){if(J==="debug")return $;return $.flatMap((K)=>{if(K.kind==="thinking"){if(J==="minimal")return[];if(K.durationSec==null)return[];return[{...K,content:""}]}return[K]})}import{jsxDEV as rc}from"react/jsx-dev-runtime";v();import{Box as ZA,Text as HA}from"ink";import{useEffect as XA,useRef as oc,useState as QA}from"react";import{jsxDEV as KW}from"react/jsx-dev-runtime";var JW=process.platform==="darwin"?["·","✢","✳","∗","✻","✽"]:["·","✢","*","∗","✻","✽"],ec=C5.map(($)=>$.present);function w7(){let $=[...JW,...[...JW].reverse()],[J,K]=QA(0);return XA(()=>{let Z=setInterval(()=>{K((H)=>(H+1)%$.length)},120);return()=>clearInterval(Z)},[$.length]),KW(ZA,{flexWrap:"nowrap",height:1,width:2,children:KW(HA,{color:L().colors.primary,children:$[J]},void 0,!1,void 0,this)},void 0,!1,void 0,this)}v();import{useEffect as GA,useRef as tZ,useState as eZ}from"react";import{Box as _6,Text as a1,useInput as ZW}from"ink";import{loginWithGitHubCopilotDeviceFlow as YA}from"@aria-cli/auth";import{jsxDEV as t0}from"react/jsx-dev-runtime";function $H({provider:$,profileLabel:J,onCancel:K,isActive:Z=!0,onComplete:H,verificationUri:X,userCode:Q,onApprove:G}){let Y=L(),[z,W]=eZ("starting"),[N,q]=eZ(""),[U,A]=eZ(null),f=tZ(!1),C=tZ(!1),b=tZ(null),I=process.stdin.isTTY??!1;return ZW((w,y)=>{if(!q0(w,y))return;b.current?.abort(),K()},{isActive:Z&&I}),ZW((w,y)=>{if(!(y.return||w==="\r"))return;if(!X||!Q||!G)return;W("starting"),Promise.resolve(G()).catch((B)=>{let M=B instanceof Error?B.message:String(B);q(M),W("error")})},{isActive:Z&&I}),GA(()=>{if(f.current)return;if(f.current=!0,X&&Q&&G){A({verificationUri:X,userCode:Q,expiresAt:Date.now()+300000,intervalMs:5000}),W("waiting");return}let w=new AbortController;return b.current=w,W("starting"),YA({profileLabel:J,signal:w.signal,onDeviceCode:(y)=>{A(y),W("waiting")}}).then((y)=>{if(C.current||w.signal.aborted)return;if(y.success)W("success"),C.current=!0,setTimeout(()=>{H?.({success:!0,message:y.message})},1000);else q(y.message),W("error")},(y)=>{if(C.current||w.signal.aborted)return;let B=y instanceof Error?y.message:String(y);q(B),W("error")}),()=>{w.abort()}},[G,H,J,Q,X]),t0(_6,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,paddingY:1,width:64,children:[t0(_6,{marginBottom:1,children:t0(a1,{bold:!0,children:["Sign in to ",$]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J&&t0(_6,{marginBottom:1,children:t0(a1,{color:Y.colors.textMuted,children:["Profile: github-copilot:",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z==="starting"&&t0(_6,{gap:1,children:[t0(w7,{},void 0,!1,void 0,this),t0(a1,{children:"Requesting GitHub device code..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z==="waiting"&&U&&t0(_6,{flexDirection:"column",children:[t0(a1,{children:"Authorize this device in your browser:"},void 0,!1,void 0,this),t0(_6,{marginTop:1,children:t0(a1,{color:Y.colors.primary,children:U.verificationUri},void 0,!1,void 0,this)},void 0,!1,void 0,this),t0(_6,{marginTop:1,children:t0(a1,{children:["Code: ",t0(a1,{bold:!0,children:U.userCode},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),t0(_6,{marginTop:1,gap:1,children:[t0(w7,{},void 0,!1,void 0,this),t0(a1,{children:X&&Q&&G?"Press Enter after approving in GitHub, or Esc to cancel.":"Waiting for GitHub authorization..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z==="success"&&t0(a1,{color:Y.colors.success,children:["✓"," Logged in to ",$]},void 0,!0,void 0,this),z==="error"&&t0(_6,{flexDirection:"column",children:[t0(a1,{color:Y.colors.error,children:["✗"," ",N]},void 0,!0,void 0,this),t0(_6,{marginTop:1,children:t0(a1,{color:Y.colors.textMuted,children:"Press Esc to dismiss"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z!=="success"&&z!=="error"&&t0(_6,{marginTop:1,children:t0(a1,{color:Y.colors.textMuted,children:"Esc Cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useRef as HW,useState as zA}from"react";import{Box as WJ,Text as C7,useInput as WA}from"ink";import{jsxDEV as q6}from"react/jsx-dev-runtime";function _A({status:$}){let J=L();if($==="connected")return q6(C7,{color:J.colors.success,children:["✓"," available"]},void 0,!0,void 0,this);return q6(C7,{color:J.colors.textMuted,children:["·"," requires login"]},void 0,!0,void 0,this)}function JH({options:$,onSelect:J,onCancel:K,isActive:Z=!0}){let H=L(),[X,Q]=zA(0),G=HW(0),Y=HW(!1),z=process.stdin.isTTY??!1,W=(N)=>{Q((q)=>{let U=N(q);return G.current=U,U})};return WA((N,q)=>{if(Y.current)return;if(q.upArrow)W((U)=>Math.max(0,U-1));else if(q.downArrow)W((U)=>Math.min($.length-1,U+1));else if(q.return)Y.current=!0,J($[G.current]);else if(q0(N,q))Y.current=!0,K()},{isActive:Z&&z}),q6(WJ,{flexDirection:"column",borderStyle:"round",borderColor:H.colors.secondary,paddingX:1,paddingY:1,width:72,children:[q6(WJ,{marginBottom:1,children:q6(C7,{bold:!0,children:"Select GitHub Copilot login source:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((N,q)=>{let U=q===X,A=U?"▸":" ";return q6(WJ,{gap:1,children:[q6(C7,{color:U?H.colors.primary:void 0,children:A},void 0,!1,void 0,this),q6(C7,{color:U?H.colors.primary:void 0,bold:U,children:N.label.padEnd(44)},void 0,!1,void 0,this),q6(_A,{status:N.status},void 0,!1,void 0,this)]},N.id,!0,void 0,this)}),q6(WJ,{marginTop:1,children:q6(C7,{color:H.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useState as _J,useEffect as qA,useRef as XW,useCallback as NA}from"react";import{Box as qJ,Text as P$,useInput as FA,useStdout as PA}from"ink";import UA from"gradient-string";import{jsxDEV as V1}from"react/jsx-dev-runtime";var OA=` · ·
450
+ · ·
451
+ ( \uD83E\uDD8B )
452
+ · ·
453
+ · ·`,QW=` █████╗ ██████╗ ██╗ █████╗
454
+ ██╔══██╗██╔══██╗██║██╔══██╗
455
+ ███████║██████╔╝██║███████║
456
+ ██╔══██║██╔══██╗██║██╔══██║
457
+ ██║ ██║██║ ██║██║██║ ██║
458
+ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝`,AA="─────────────────",LA="A R I A",RA="─────────────────",fA="✦ Adaptive Reasoning Intelligence Agent ✦";function KH({onComplete:$,skipAnimation:J=!1,version:K="dev",whatsNew:Z=[]}){let H=L(),{stdout:X}=PA(),Q=X?.columns||80,[G,Y]=_J(J?"complete":"butterfly"),[z,W]=_J(J),[N,q]=_J(J),[U,A]=_J(J),f=XW(!1),C=XW([]),b=NA(()=>{if(!f.current)f.current=!0,$()},[$]);FA(()=>{if(G!=="complete")C.current.forEach(clearTimeout),C.current=[],Y("complete"),W(!0),q(!0),A(!0),b()}),qA(()=>{if(J){b();return}let y=[];return y.push(setTimeout(()=>{Y("logo"),W(!0)},400)),y.push(setTimeout(()=>{Y("gradient"),A(!0)},800)),y.push(setTimeout(()=>{Y("tagline"),q(!0)},1200)),y.push(setTimeout(()=>{Y("complete"),b()},1600)),C.current=y,()=>{y.forEach(clearTimeout)}},[J,b]);let I=UA([H.banner.gradient.start,H.banner.gradient.middle,H.banner.gradient.end]),w=()=>{if(!z)return null;if(U)return I(QW);return QW};return V1(qJ,{flexDirection:"column",alignItems:"center",width:Q,paddingY:1,children:[V1(P$,{color:H.colors.primary,children:OA},void 0,!1,void 0,this),z&&V1(P$,{children:w()},void 0,!1,void 0,this),N&&V1(qJ,{flexDirection:"column",alignItems:"center",children:[V1(P$,{dimColor:!0,children:AA},void 0,!1,void 0,this),V1(P$,{bold:!0,children:LA},void 0,!1,void 0,this),V1(P$,{dimColor:!0,children:RA},void 0,!1,void 0,this),V1(P$,{color:H.colors.primary,children:fA},void 0,!1,void 0,this)]},void 0,!0,void 0,this),N&&V1(qJ,{marginTop:1,children:V1(P$,{dimColor:!0,children:["v",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this),N&&Z.length>0&&V1(qJ,{flexDirection:"column",alignItems:"center",marginTop:1,children:[V1(P$,{bold:!0,color:H.colors.secondary,children:"What's New"},void 0,!1,void 0,this),Z.map((y,B)=>V1(P$,{dimColor:!0,children:["• ",y]},B,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}v();import{Box as CE,Text as IE,useStdout as SE}from"ink";import{jsxDEV as gE}from"react/jsx-dev-runtime";v();import{Box as VE,Text as hE}from"ink";import{jsxDEV as EE}from"react/jsx-dev-runtime";v();import{useState as pE,useRef as xE}from"react";import{Box as uE,Text as rE,useInput as aE}from"ink";import{jsxDEV as tE}from"react/jsx-dev-runtime";v();import{useState as yA,useRef as GW}from"react";import{Box as l5,Text as W8,useInput as MA}from"ink";import{AUTONOMY_LEVELS as NJ}from"@aria-cli/aria";import{jsxDEV as n1}from"react/jsx-dev-runtime";var wA={minimal:"Confirm all tool calls",balanced:"Confirm dangerous only",high:"Auto-approve everything",full:"Auto-approve everything"};function ZH({currentLevel:$,onSelect:J,onCancel:K,isActive:Z=!0}){let H=L(),X=NJ.indexOf($),Q=X>=0?X:0,[G,Y]=yA(Q),z=GW(Q),W=GW(!1),N=(U)=>{Y((A)=>{let f=U(A);return z.current=f,f})},q=process.stdin.isTTY??!1;return MA((U,A)=>{if(W.current)return;if(A.upArrow)N((f)=>Math.max(0,f-1));else if(A.downArrow)N((f)=>Math.min(NJ.length-1,f+1));else if(A.return)W.current=!0,J(NJ[z.current]);else if(q0(U,A))W.current=!0,K()},{isActive:Z&&q}),n1(l5,{flexDirection:"column",borderStyle:"round",borderColor:H.colors.secondary,paddingX:1,paddingY:1,width:48,children:[n1(l5,{marginBottom:1,children:n1(W8,{bold:!0,children:"Autonomy Level"},void 0,!1,void 0,this)},void 0,!1,void 0,this),n1(l5,{marginBottom:1,children:n1(W8,{children:["Current: ",n1(W8,{bold:!0,children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),NJ.map((U,A)=>{let f=A===G,C=f?"●":"○",b=U==="high"||U==="full";return n1(l5,{gap:1,children:[n1(W8,{color:f?H.colors.primary:void 0,children:C},void 0,!1,void 0,this),n1(W8,{color:f?H.colors.primary:b?H.colors.warning:void 0,bold:f,children:U.padEnd(10)},void 0,!1,void 0,this),n1(W8,{color:H.colors.textMuted,children:wA[U]},void 0,!1,void 0,this)]},U,!0,void 0,this)}),n1(l5,{marginTop:1,children:n1(W8,{color:H.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{Box as zj,Text as Wj}from"ink";import{jsxDEV as Nj}from"react/jsx-dev-runtime";v();import{Box as FJ,Text as _8}from"ink";import{jsxDEV as N6}from"react/jsx-dev-runtime";var CA=1,IA=20,HH={model_call:"model_call",tool_execution:"tool_exec",handoff:"handoff",approval:"approval",session_phase:"session",runner_phase:"runner"};function SA($){if($<1000)return`${Math.round($)}ms`;if($<60000)return`${($/1000).toFixed(1)}s`;let J=Math.floor($/60000),K=Math.round($%60000/1000);return`${J}m ${K}s`}function YW($,J,K){let Z=Math.round(J*$),H=Math.max(CA,Math.round(K*$)),X=Math.max(0,$-Z-H);return"░".repeat(Z)+"█".repeat(H)+"░".repeat(X)}function XH({spans:$,width:J}){let K=L(),Z=J??IA,H=$.filter((W)=>W.endTime!==void 0||W.durationMs!==void 0);if(H.length===0)return N6(FJ,{children:N6(_8,{dimColor:!0,children:"(no completed spans)"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let X=H.map((W)=>{let N=W.durationMs??W.endTime-W.startTime,q=W.endTime??W.startTime+N;return{...W,durationMs:N,endTime:q}}),Q=Math.min(...X.map((W)=>W.startTime)),Y=Math.max(...X.map((W)=>W.endTime))-Q;if(Y<=0)return N6(FJ,{flexDirection:"column",children:X.map((W)=>N6(_8,{dimColor:!0,children:[HH[W.spanType]??W.spanType," ","█"," 0ms (",W.name,")"]},W.spanId,!0,void 0,this))},void 0,!1,void 0,this);let z=Math.max(...X.map((W)=>{let N=HH[W.spanType]??W.spanType;return(W.parentSpanId!==void 0?2:0)+N.length}));return N6(FJ,{flexDirection:"column",children:X.map((W)=>{let N=W.parentSpanId!==void 0,q=N?" ":"",U=HH[W.spanType]??W.spanType,A=(q+U).padEnd(z),f=(W.startTime-Q)/Y,C=W.durationMs/Y,b=YW(Z,f,C),I=SA(W.durationMs),w=W.spanType==="tool_execution"&&W.name?` (${W.name})`:"";return N6(FJ,{children:[N6(_8,{color:K.colors.textMuted,children:[" ",A]},void 0,!0,void 0,this),N6(_8,{children:" "},void 0,!1,void 0,this),N6(_8,{color:N?K.colors.info:K.colors.success,children:b},void 0,!1,void 0,this),N6(_8,{children:" "},void 0,!1,void 0,this),N6(_8,{dimColor:!0,children:[I,w]},void 0,!0,void 0,this)]},W.spanId,!0,void 0,this)})},void 0,!1,void 0,this)}v();import{Box as zW,Text as PJ}from"ink";import{jsxDEV as I7}from"react/jsx-dev-runtime";function WW($){if($<1000)return`${Math.round($)}ms`;return`${($/1000).toFixed(2)}s`}function QH({report:$}){let J=L();if(!$||$.phases.length===0)return null;return I7(zW,{flexDirection:"column",marginTop:1,children:[I7(PJ,{color:J.colors.textMuted,children:[" Pipeline timing (",WW($.totalMs),")"]},void 0,!0,void 0,this),$.phases.map((K)=>I7(zW,{children:[I7(PJ,{color:J.colors.info,children:[" ",K.phase.padEnd(24)]},void 0,!0,void 0,this),I7(PJ,{color:J.colors.text,children:[" ",WW(K.durationMs)]},void 0,!0,void 0,this),I7(PJ,{color:J.colors.textMuted,children:[" (",K.pct,"%)"]},void 0,!0,void 0,this)]},`${K.phase}:${K.durationMs}`,!0,void 0,this))]},void 0,!0,void 0,this)}v();import{useRef as bA}from"react";import{Box as kA,Text as _W}from"ink";import gA from"gradient-string";import{jsxDEV as YH}from"react/jsx-dev-runtime";var GH=["#5f97cd","#7baed4","#97c4db","#7baed4"],qW=process.platform==="darwin"?["·","✢","✳","∗","✻","✽"]:["·","✢","*","∗","✻","✽"];function NW($){if($<60)return`${$}s`;let J=Math.floor($/60),K=$%60;return`${J}m ${K}s`}function vA($){if($>=1000)return`${($/1000).toFixed(1)}k tokens`;return`${$} tokens`}function zH({state:$,elapsedSeconds:J,totalTokens:K,thoughtForSeconds:Z,currentVerb:H}){let X=[...qW,...[...qW].reverse()],Q=Math.floor(Date.now()/120)%X.length,G=bA($6().present),Y=H||G.current,z=L(),W=Q%GH.length,N=[...GH.slice(W),...GH.slice(0,W)],q=gA(N),U=`${X[Q]} ${Y}…`,A=q(U),f=NW(J),C=vA(K),b;if($==="thinking")b="(thinking)";else if(Z&&Z>0)b=`(${f} · ↓ ${C} · thought for ${NW(Z)})`;else b=`(${f} · ↓ ${C} · esc to cancel)`;return YH(kA,{flexDirection:"row",marginTop:1,children:[YH(_W,{children:[A," "]},void 0,!0,void 0,this),YH(_W,{color:z.colors.textMuted,children:b},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useInput as DL}from"ink";v();import{Box as fW,Text as BW}from"ink";import{useMemo as $L}from"react";import{basename as JL,extname as KL,isAbsolute as ZL,resolve as OH}from"path";v();import{Box as TA,Text as FW}from"ink";import{jsxDEV as UJ}from"react/jsx-dev-runtime";function WH($){return $>=70?"high":$>=30?"moderate":"low"}function VA($){let J=L();switch($){case"low":return{highlightColor:J.colors.success,textColor:J.colors.primary};case"moderate":return{highlightColor:J.colors.warning,textColor:J.colors.warning};case"high":return{highlightColor:J.colors.error,textColor:J.colors.error}}}function x6($){if($===null)return L().colors.primary;let J=WH($);return VA(J).textColor}function hA({riskScore:$}){let J=WH($);return UJ(FW,{color:x6($),children:["Risk: ",J]},void 0,!0,void 0,this)}function F6({title:$,riskScore:J}){return UJ(TA,{flexDirection:"column",children:[UJ(FW,{bold:!0,color:L().colors.primary,children:$},void 0,!1,void 0,this),J!==null&&UJ(hA,{riskScore:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function l6($,J){}import{existsSync as cA,readFileSync as EA}from"fs";import{useMemo as PW}from"react";v();import{Box as _H,Text as jA}from"ink";import{relative as mA}from"path";import{structuredPatch as DA}from"diff";function OJ($,J,K,Z=3){let H=DA($,$,J,K,"","",{context:Z}),X=0,Q=0,G=H.hunks.map((Y)=>{let z=[],W=Y.oldStart,N=Y.newStart;for(let q of Y.lines){let U=q.slice(1);if(q.startsWith("+"))z.push({type:"added",content:U,newLineNo:N++}),X++;else if(q.startsWith("-"))z.push({type:"removed",content:U,oldLineNo:W++}),Q++;else z.push({type:"unchanged",content:U,oldLineNo:W++,newLineNo:N++})}return{oldStart:Y.oldStart,oldLines:Y.oldLines,newStart:Y.newStart,newLines:Y.newLines,lines:z}});return{filePath:$,hunks:G,additions:X,deletions:Q}}import{jsxDEV as u5}from"react/jsx-dev-runtime";function UW({file_path:$,new_string:J,old_string:K,verbose:Z,useBorder:H=!0,width:X}){let Q=PW(()=>cA($)?EA($,"utf8"):"",[$]),G=PW(()=>{let Y=Q.replace(K,J);return OJ($,Q,Y)},[$,Q,K,J]);return u5(_H,{flexDirection:"column",children:u5(_H,{borderColor:L().colors.secondary,borderStyle:H?"round":void 0,flexDirection:"column",paddingX:1,children:[u5(_H,{paddingBottom:1,children:u5(jA,{bold:!0,children:Z?$:mA(process.cwd(),$)},void 0,!1,void 0,this)},void 0,!1,void 0,this),u5(E3,{diff:G,dim:!1,width:X,showHeader:!1},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}import HL from"chalk";import{Box as sA,Text as tA}from"ink";v();import{Box as dA,Text as qH}from"ink";import{jsxDEV as AJ}from"react/jsx-dev-runtime";var pA="❯",xA="▾",lA="✔";function OW({isFocused:$,isSelected:J,smallPointer:K,children:Z}){let H=L();return AJ(dA,{gap:1,children:[$&&AJ(qH,{color:H.colors.primary,children:K?xA:pA},void 0,!1,void 0,this),AJ(qH,{color:$?H.colors.primary:void 0,bold:J,children:Z},void 0,!1,void 0,this),J&&AJ(qH,{color:H.colors.success,children:lA},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{isDeepStrictEqual as uA}from"node:util";import{useReducer as rA,useCallback as FH,useMemo as aA,useState as nA,useEffect as PH}from"react";class LJ extends Map{first;constructor($){let J=[],K,Z,H=0;for(let X of $){let Q={...X,previous:Z,next:void 0,index:H};if(Z)Z.next=Q;K||=Q;let G="value"in X?X.value:NH(X);J.push([G,Q]),H++,Z=Q}super(J);this.first=K}}var iA=($,J)=>{switch(J.type){case"focus-next-option":{if(!$.focusedValue)return $;let K=$.optionMap.get($.focusedValue);if(!K)return $;let Z=K.next;while(Z&&!("value"in Z))Z=Z.next;if(!Z)return $;if(!(Z.index>=$.visibleToIndex))return{...$,focusedValue:Z.value};let X=Math.min($.optionMap.size,$.visibleToIndex+1),Q=X-$.visibleOptionCount;return{...$,focusedValue:Z.value,visibleFromIndex:Q,visibleToIndex:X}}case"focus-previous-option":{if(!$.focusedValue)return $;let K=$.optionMap.get($.focusedValue);if(!K)return $;let Z=K.previous;while(Z&&!("value"in Z))Z=Z.previous;if(!Z)return $;if(!(Z.index<=$.visibleFromIndex))return{...$,focusedValue:Z.value};let X=Math.max(0,$.visibleFromIndex-1),Q=X+$.visibleOptionCount;return{...$,focusedValue:Z.value,visibleFromIndex:X,visibleToIndex:Q}}case"select-focused-option":return{...$,previousValue:$.value,value:$.focusedValue};case"reset":return J.state;case"set-focus":return{...$,focusedValue:J.value}}},UH=($)=>$.flatMap((J)=>{if("options"in J){let K=UH(J.options),Z=K.flatMap((X)=>("value"in X)?X.value:[]);return[...J.header!==void 0?[{header:J.header,optionValues:Z}]:[],...K]}return J}),AW=({visibleOptionCount:$,defaultValue:J,options:K})=>{let Z=UH(K),H=typeof $==="number"?Math.min($,Z.length):Z.length,X=new LJ(Z),Q=X.first,G=Q&&"value"in Q?Q.value:void 0;return{optionMap:X,visibleOptionCount:H,focusedValue:G,visibleFromIndex:0,visibleToIndex:H,previousValue:J,value:J}},LW=({visibleOptionCount:$=5,options:J,defaultValue:K,onChange:Z,onFocus:H,focusValue:X})=>{let Q=UH(J),[G,Y]=rA(iA,{visibleOptionCount:$,defaultValue:K,options:J},AW),[z,W]=nA(Q);if(Q!==z&&!uA(Q,z))Y({type:"reset",state:AW({visibleOptionCount:$,defaultValue:K,options:J})}),W(Q);let N=FH(()=>{Y({type:"focus-next-option"})},[]),q=FH(()=>{Y({type:"focus-previous-option"})},[]),U=FH(()=>{Y({type:"select-focused-option"})},[]),A=aA(()=>{return Q.map((f,C)=>({...f,index:C})).slice(G.visibleFromIndex,G.visibleToIndex)},[Q,G.visibleFromIndex,G.visibleToIndex]);return PH(()=>{if(G.value&&G.previousValue!==G.value)Z?.(G.value)},[G.previousValue,G.value,J,Z]),PH(()=>{if(G.focusedValue)H?.(G.focusedValue)},[G.focusedValue,H]),PH(()=>{if(X)Y({type:"set-focus",value:X})},[X]),{focusedValue:G.focusedValue,visibleFromIndex:G.visibleFromIndex,visibleToIndex:G.visibleToIndex,value:G.value,visibleOptions:A,focusNextOption:N,focusPreviousOption:q,selectFocusedOption:U}};import{useInput as oA}from"ink";var RW=({isDisabled:$=!1,state:J})=>{oA((K,Z)=>{if(Z.downArrow)J.focusNextOption();if(Z.upArrow)J.focusPreviousOption();if(Z.return)J.selectFocusedOption()},{isActive:!$})};v();import{jsxDEV as RJ,Fragment as eA}from"react/jsx-dev-runtime";var NH=($)=>`HEADER-${$.optionValues.join(",")}`;function P6({isDisabled:$=!1,visibleOptionCount:J=5,highlightText:K,options:Z,defaultValue:H,onChange:X,onFocus:Q,focusValue:G}){let Y=LW({visibleOptionCount:J,options:Z,defaultValue:H,onChange:X,onFocus:Q,focusValue:G});RW({isDisabled:$,state:Y});let z=L();return RJ(sA,{flexDirection:"column",children:Y.visibleOptions.map((W)=>{let N="value"in W?W.value:NH(W),q=!$&&Y.focusedValue!==void 0&&("value"in W?Y.focusedValue===W.value:W.optionValues.includes(Y.focusedValue)),U=!!Y.value&&("value"in W?Y.value===W.value:W.optionValues.includes(Y.value)),A="header"in W,f="label"in W?W.label:W.header,C=f;if(K&&f.includes(K)){let b=f.indexOf(K);C=RJ(eA,{children:[f.slice(0,b),RJ(tA,{color:z.colors.primary,bold:!0,children:K},void 0,!1,void 0,this),f.slice(b+K.length)]},void 0,!0,void 0,this)}return RJ(OW,{isFocused:q,isSelected:U,smallPointer:A,children:C},N,!1,void 0,this)})},void 0,!1,void 0,this)}import{jsxDEV as q8}from"react/jsx-dev-runtime";function XL($){return(ZL($)?OH($):OH(process.cwd(),$)).startsWith(OH(process.cwd()))}function QL($){let J=XL($)?[{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"}]:[];return[{label:"Yes",value:"yes"},...J,{label:`No, and provide instructions (${HL.bold.hex(L().colors.warning)("esc")})`,value:"no"}]}function yW({toolUseConfirm:$,onDone:J,verbose:K}){let{columns:Z}=C9(),{file_path:H,new_string:X,old_string:Q}=$.input,G=$L(()=>({completion_type:"str_replace_single",language_name:GL(H)}),[H]);return l6($,G),q8(fW,{flexDirection:"column",borderStyle:"round",borderColor:x6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[q8(F6,{title:"Edit file",riskScore:$.riskScore},void 0,!1,void 0,this),q8(UW,{file_path:H,new_string:X,old_string:Q,verbose:K,width:Z-12},void 0,!1,void 0,this),q8(fW,{flexDirection:"column",children:[q8(BW,{children:["Do you want to make this edit to ",q8(BW,{bold:!0,children:JL(H)},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),q8(P6,{options:QL(H),onChange:(Y)=>{switch(Y){case"yes":J(),$.onAllow("temporary");break;case"yes-dont-ask-again":J(),$.onAllow("permanent");break;case"no":J(),$.onReject();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function GL($){let J=KL($);return J?J.slice(1):"unknown"}import{Box as AH,Text as LH}from"ink";import{useMemo as zL}from"react";v();import r5 from"chalk";v();function YL($){let K=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,"");if(/&&|\|\||[;|]/.test(K))return!0;if(/`/.test(K))return!0;if(/\$\(/.test(K))return!0;return!1}function MW({toolUseConfirm:$,command:J}){let K=!YL(J)&&$.commandPrefix&&!$.commandPrefix.commandInjectionDetected,Z=a5($),H=K&&Z!==null,X=[];if(H)X=[{label:`Yes, and don't ask again for ${r5.bold(Z)} commands in ${r5.bold(process.cwd())}`,value:"yes-dont-ask-again-prefix"}];else if(K)X=[{label:`Yes, and don't ask again for ${r5.bold(J)} commands in ${r5.bold(process.cwd())}`,value:"yes-dont-ask-again-full"}];return[{label:"Yes",value:"yes"},...X,{label:`No, and provide instructions (${r5.bold.hex(L().colors.warning)("esc")})`,value:"no"}]}import{jsxDEV as W3}from"react/jsx-dev-runtime";function wW({toolUseConfirm:$,onDone:J}){let K=L(),{command:Z}=$.tool.inputSchema.parse($.input),H=zL(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return l6($,H),W3(AH,{flexDirection:"column",borderStyle:"round",borderColor:K.colors.primary,marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[W3(F6,{title:"Bash command",riskScore:$.riskScore},void 0,!1,void 0,this),W3(AH,{flexDirection:"column",paddingX:2,paddingY:1,children:[W3(LH,{children:$.tool.renderToolUseMessage({command:Z},{verbose:!1})},void 0,!1,void 0,this),W3(LH,{color:K.colors.textMuted,children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W3(AH,{flexDirection:"column",children:[W3(LH,{children:"Do you want to proceed?"},void 0,!1,void 0,this),W3(P6,{options:MW({toolUseConfirm:$,command:Z}),onChange:(X)=>{switch(X){case"yes":$.onAllow("temporary"),J();break;case"yes-dont-ask-again-prefix":{if(a5($)!==null)$.onAllow("permanent"),J();break}case"yes-dont-ask-again-full":$.onAllow("permanent"),J();break;case"no":$.onReject(),J();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}v();import{Box as RH,Text as fJ}from"ink";import{useMemo as WL}from"react";import fH from"chalk";import{jsxDEV as U$}from"react/jsx-dev-runtime";function BJ({toolUseConfirm:$,onDone:J,verbose:K}){let Z=L(),H=$.tool.userFacingName($.input),X=H.endsWith(" (MCP)")?H.slice(0,-6):H,Q=WL(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return l6($,Q),U$(RH,{flexDirection:"column",borderStyle:"round",borderColor:x6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[U$(F6,{title:"Tool use",riskScore:$.riskScore},void 0,!1,void 0,this),U$(RH,{flexDirection:"column",paddingX:2,paddingY:1,children:[U$(fJ,{children:[X,"(",$.tool.renderToolUseMessage($.input,{verbose:K}),")",H.endsWith(" (MCP)")?U$(fJ,{color:Z.colors.textMuted,children:" (MCP)"},void 0,!1,void 0,this):""]},void 0,!0,void 0,this),U$(fJ,{color:Z.colors.textMuted,children:$.description},void 0,!1,void 0,this)]},void 0,!0,void 0,this),U$(RH,{flexDirection:"column",children:[U$(fJ,{children:"Do you want to proceed?"},void 0,!1,void 0,this),U$(P6,{options:[{label:"Yes",value:"yes"},{label:`Yes, and don't ask again for ${fH.bold(X)} commands in ${fH.bold(process.cwd())}`,value:"yes-dont-ask-again"},{label:`No, and provide instructions (${fH.bold.hex(L().colors.warning)("esc")})`,value:"no"}],onChange:(G)=>{switch(G){case"yes":$.onAllow("temporary"),J();break;case"yes-dont-ask-again":$.onAllow("permanent"),J();break;case"no":$.onReject(),J();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}v();import{Box as yH,Text as SW}from"ink";import{useMemo as bW}from"react";import{basename as UL,extname as OL}from"path";import{existsSync as AL}from"fs";import LL from"chalk";import{existsSync as _L,readFileSync as qL}from"fs";import{useMemo as BH}from"react";v();import{Box as CW,Text as NL}from"ink";import{extname as FL,relative as PL}from"path";import{jsxDEV as n5}from"react/jsx-dev-runtime";function IW({file_path:$,content:J,verbose:K,width:Z}){let H=BH(()=>_L($),[$]),X=BH(()=>{if(!H)return"";return qL($,"utf8")},[$,H]),Q=BH(()=>{if(!H)return null;return OJ($,X,J)},[H,$,X,J]);return n5(CW,{borderColor:L().colors.secondary,borderStyle:"round",flexDirection:"column",paddingX:1,children:[n5(CW,{paddingBottom:1,children:n5(NL,{bold:!0,children:K?$:PL(process.cwd(),$)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q?n5(E3,{diff:Q,dim:!1,width:Z,showHeader:!1},void 0,!1,void 0,this):n5(Z6,{code:J||"(No content)",language:FL($).slice(1)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as _3}from"react/jsx-dev-runtime";function kW({toolUseConfirm:$,onDone:J,verbose:K}){let{file_path:Z,content:H}=$.input,X=bW(()=>AL(Z),[Z]),Q=bW(()=>({completion_type:"write_file_single",language_name:RL(Z)}),[Z]),{columns:G}=C9();return l6($,Q),_3(yH,{flexDirection:"column",borderStyle:"round",borderColor:x6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[_3(F6,{title:`${X?"Edit":"Create"} file`,riskScore:$.riskScore},void 0,!1,void 0,this),_3(yH,{flexDirection:"column",children:_3(IW,{file_path:Z,content:H,verbose:K,width:G-12},void 0,!1,void 0,this)},void 0,!1,void 0,this),_3(yH,{flexDirection:"column",children:[_3(SW,{children:["Do you want to ",X?"make this edit to":"create"," ",_3(SW,{bold:!0,children:UL(Z)},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),_3(P6,{options:[{label:"Yes",value:"yes"},{label:"Yes, and don't ask again this session",value:"yes-dont-ask-again"},{label:`No, and provide instructions (${LL.bold.hex(L().colors.warning)("esc")})`,value:"no"}],onChange:(Y)=>{switch(Y){case"yes":$.onAllow("temporary"),J();break;case"yes-dont-ask-again":$.onAllow("permanent"),J();break;case"no":$.onReject(),J();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function RL($){let J=OL($);return J?J.slice(1):"unknown"}v();import{Box as MH,Text as gW}from"ink";import{useMemo as fL}from"react";import BL from"chalk";import{isAbsolute as yL,resolve as vW}from"path";import{jsxDEV as O$}from"react/jsx-dev-runtime";function yJ($){return yL($)?vW($):vW(process.cwd(),$)}function ML($){return yJ($).startsWith(yJ(process.cwd()))}var wL=!1;function CL(){wL=!0}var IL=new Set(["Edit","file_edit","str_replace_editor","Write","file_write","create_file","Read","file_read","read_file"]),SL=new Set(["Glob","glob","Grep","grep","LS","ls"]),bL=new Set(["NotebookEdit","notebook_edit","NotebookRead","notebook_read"]),kL=new Set(["Glob","glob","Grep","grep","LS","ls"]);function gL($){let J=$.tool.name;if(IL.has(J))return"file_path";if(SL.has(J))return"path";if(bL.has(J))return"notebook_path";return null}function vL($){return kL.has($.tool.name)}function TL($){let J=gL($),K=$.input;if(J&&J in K)if(typeof K[J]==="string")return yJ(K[J]);else return yJ(process.cwd());return null}function TW({toolUseConfirm:$,onDone:J,verbose:K}){let Z=TL($);if(!Z)return O$(BJ,{toolUseConfirm:$,onDone:J,verbose:K},void 0,!1,void 0,this);return O$(hL,{toolUseConfirm:$,path:Z,onDone:J,verbose:K},void 0,!1,void 0,this)}function VL($,J){if($.tool.isReadOnly())return[];return ML(J)?[{label:"Yes, and don't ask again for file edits this session",value:"yes-dont-ask-again"}]:[]}function hL({toolUseConfirm:$,path:J,onDone:K,verbose:Z}){let H=$.tool.userFacingName($.input),Q=`${$.tool.isReadOnly()?"Read":"Edit"} ${vL($)?"files":"file"}`,G=fL(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);return l6($,G),O$(MH,{flexDirection:"column",borderStyle:"round",borderColor:x6($.riskScore),marginTop:1,paddingLeft:1,paddingRight:1,paddingBottom:1,children:[O$(F6,{title:Q,riskScore:$.riskScore},void 0,!1,void 0,this),O$(MH,{flexDirection:"column",paddingX:2,paddingY:1,children:O$(gW,{children:[H,"(",$.tool.renderToolUseMessage($.input,{verbose:Z}),")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),O$(MH,{flexDirection:"column",children:[O$(gW,{children:"Do you want to proceed?"},void 0,!1,void 0,this),O$(P6,{options:[{label:"Yes",value:"yes"},...VL($,J),{label:`No, and provide instructions (${BL.bold.hex(L().colors.warning)("esc")})`,value:"no"}],onChange:(Y)=>{switch(Y){case"yes":$.onAllow("temporary"),K();break;case"yes-dont-ask-again":CL(),$.onAllow("permanent"),K();break;case"no":$.onReject(),K();break}}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as pL}from"react/jsx-dev-runtime";var cL=new Set(["Edit","file_edit","str_replace_editor"]),EL=new Set(["Write","file_write","create_file"]),jL=new Set(["Bash","bash","execute_command"]),mL=new Set(["Glob","glob","Grep","grep","LS","ls","Read","file_read","read_file","NotebookRead","notebook_read","NotebookEdit","notebook_edit"]);function dL($){if(cL.has($))return yW;if(EL.has($))return kW;if(jL.has($))return wW;if(mL.has($))return TW;return BJ}function a5($){return $.commandPrefix&&!$.commandPrefix.commandInjectionDetected&&$.commandPrefix.commandPrefix||null}function wH({toolUseConfirm:$,onDone:J,verbose:K}){DL((H,X)=>{if(X.ctrl&&H==="c")J(),$.onReject()});let Z=dL($.tool.name);return pL(Z,{toolUseConfirm:$,onDone:J,verbose:K},void 0,!1,void 0,this)}import{useState as VW,useEffect as hW}from"react";import{Box as MJ,Text as S7,useInput as xL}from"ink";import{jsxDEV as u6}from"react/jsx-dev-runtime";function CH($){return/\s/.test($.trimStart())}function lL($){return $.trimStart().split(/\s+/,1)[0]??""}function IH({commands:$,initialFilter:J="",onSelect:K,onHandOffInput:Z,onCancel:H}){let[X,Q]=VW(0),[G,Y]=VW(J),z=lL(G).toLowerCase(),W=$.filter((U)=>U.name.toLowerCase().includes(z));hW(()=>{Q((U)=>Math.min(U,Math.max(0,W.length-1)))},[W.length]),hW(()=>{if(!Z||!CH(G))return;Z(`/${G}`)},[G,Z]);let N=W.length>0?Math.min(X,W.length-1):0,q=process.stdin.isTTY??!1;return xL((U,A)=>{if(q0(U,A)){H();return}if(A.return&&CH(G)&&Z){Z(`/${G}`);return}if(A.return&&W.length>0){K(W[N]);return}if(A.upArrow){Q((f)=>Math.max(0,f-1));return}if(A.downArrow){Q((f)=>Math.min(W.length-1,f+1));return}if(A.backspace||A.delete){Y((f)=>f.slice(0,-1));return}if(U&&!A.ctrl&&!A.meta){let f=G+U;if(Z&&CH(f)){Z(`/${f}`);return}Y(f)}},{isActive:q}),u6(MJ,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[u6(MJ,{marginBottom:1,children:[u6(S7,{bold:!0,children:"Commands"},void 0,!1,void 0,this),G&&u6(S7,{dimColor:!0,children:[" /",G]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W.map((U,A)=>u6(MJ,{children:[u6(S7,{inverse:A===N,children:["/",U.name]},void 0,!0,void 0,this),u6(S7,{dimColor:!0,children:[" ",U.description]},void 0,!0,void 0,this)]},U.name,!0,void 0,this)),W.length===0&&u6(S7,{dimColor:!0,children:"No matching commands"},void 0,!1,void 0,this),u6(MJ,{marginTop:1,children:u6(S7,{dimColor:!0,children:"↑↓ navigate ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as DW,useEffect as uL}from"react";import{Box as wJ,Text as N8,useInput as rL}from"ink";import{jsxDEV as U6}from"react/jsx-dev-runtime";function SH({arions:$,initialFilter:J="",statusFilter:K="all",onSelect:Z,onCancel:H}){let[X,Q]=DW(0),[G,Y]=DW(J),z=$.filter((q)=>{if(K==="active"&&q.isResting)return!1;if(K==="resting"&&!q.isResting)return!1;return q.name.toLowerCase().includes(G.toLowerCase())});uL(()=>{Q((q)=>Math.min(q,Math.max(0,z.length-1)))},[z.length]);let W=z.length>0?Math.min(X,z.length-1):0,N=process.stdin.isTTY??!1;return rL((q,U)=>{if(q0(q,U)){H();return}if(U.return&&z.length>0){Z(z[W]);return}if(U.upArrow){Q((A)=>Math.max(0,A-1));return}if(U.downArrow){Q((A)=>Math.min(z.length-1,A+1));return}if(U.backspace||U.delete){Y((A)=>A.slice(0,-1));return}if(q&&!U.ctrl&&!U.meta)Y((A)=>A+q)},{isActive:N}),U6(wJ,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[U6(wJ,{marginBottom:1,children:[U6(N8,{bold:!0,children:K==="active"?"Active Arions":K==="resting"?"Resting Arions":"Arions"},void 0,!1,void 0,this),G&&U6(N8,{dimColor:!0,children:[" @",G]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z.length===0&&U6(N8,{dimColor:!0,children:$.length===0?"No arions available. Create one with /hatch":K==="active"?"No active arions":K==="resting"?"No resting arions":"No matching arions"},void 0,!1,void 0,this),z.map((q,U)=>{let A=F5(q.color),f=q.isActive?" (active)":q.isResting?" (resting)":"";return U6(wJ,{children:[U6(N8,{inverse:U===W,children:[q.emoji," ",U6(N8,{color:A,children:q.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),U6(N8,{dimColor:!0,children:[" ",q.description,f]},void 0,!0,void 0,this)]},q.name,!0,void 0,this)}),U6(wJ,{marginTop:1,children:U6(N8,{dimColor:!0,children:"↑↓ navigate ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as bH,useEffect as aL,useMemo as nL}from"react";import{Box as q3,Text as s9,useInput as iL}from"ink";import{jsxDEV as H9}from"react/jsx-dev-runtime";var oL={anthropic:"Anthropic","openai-codex":"OpenAI Codex",google:"Google",bedrock:"AWS Bedrock","bedrock-converse":"AWS Bedrock (Converse)","github-copilot":"GitHub Copilot",openai:"OpenAI",local:"Local"},cW=["anthropic","openai-codex","google","bedrock","bedrock-converse","github-copilot","openai","local"];function sL($){return oL[$]||$}function EW($){let J=cW.indexOf($);return J>=0?J:cW.length}function tL($,J,K){let Z=new Map;for(let Q of $){let G=Q.provider||"other",Y=Z.get(G)??[];Y.push(Q),Z.set(G,Y)}let H={powerful:0,balanced:1,fast:2,ensemble:3},X=[...Z.entries()].sort(([Q],[G])=>EW(Q)-EW(G));for(let[Q,G]of X){J.push({type:"header",label:sL(Q),provider:Q});let Y=(q)=>{if(!q)return"balanced";let U=q.toLowerCase();if(U.includes("deep"))return"powerful";if(U.includes("quick"))return"fast";return"balanced"},z=[/^claude-opus-|^opus-|^bedrock-opus-/,/^claude-sonnet-|^sonnet-|^bedrock-sonnet-/,/^claude-haiku-|^haiku-|^bedrock-haiku-/,/^claude-/,/^gpt-/,/^o[0-9]/,/^gemini-/],W=(q)=>{let U=q.toLowerCase();for(let A=0;A<z.length;A++)if(z[A].test(U))return A;return z.length},N=[...G].sort((q,U)=>{let A=W(q.name),f=W(U.name);if(A!==f)return A-f;return U.name.localeCompare(q.name)});for(let q of N)K.push(J.length),J.push({type:"model",model:q})}}var i5=["low","medium","high","max"],eL={low:"▌",medium:"▌▌",high:"▌▌▌",max:"▌▌▌▌"},$R={low:"Low",medium:"Medium",high:"High",max:"Max"},jW={low:"blue",medium:"cyan",high:"yellow",max:"magenta"};function kH({models:$,initialFilter:J="",effortLevel:K,onSelect:Z,onCancel:H}){let[X,Q]=bH(J),[G,Y]=bH(K??"high"),W=$.filter((w)=>w.name.toLowerCase().includes(X.toLowerCase())),{items:N,selectableIndices:q}=nL(()=>{if(!W.some((M)=>M.provider))return{items:W.map((M)=>({type:"model",model:M})),selectableIndices:W.map((M,j)=>j)};let y=[],B=[];return tL(W,y,B),{items:y,selectableIndices:B}},[W]),U=q.findIndex((w)=>{let y=N[w];return y?.type==="model"&&y.model.isCurrent}),[A,f]=bH(U>=0?U:0);aL(()=>{f((w)=>Math.min(w,Math.max(0,q.length-1)))},[q.length]);let C=q.length>0?Math.min(A,q.length-1):0,b=process.stdin.isTTY??!1;iL((w,y)=>{if(q0(w,y)){H();return}if(y.return&&q.length>0){let B=q[C],M=N[B];if(M.type==="model")Z(M.model,G);return}if(y.leftArrow){Y((B)=>{let M=i5.indexOf(B);return i5[Math.max(0,M-1)]});return}if(y.rightArrow){Y((B)=>{let M=i5.indexOf(B);return i5[Math.min(i5.length-1,M+1)]});return}if(y.upArrow){f((B)=>Math.max(0,B-1));return}if(y.downArrow){f((B)=>Math.min(q.length-1,B+1));return}if(y.backspace||y.delete){Q((B)=>B.slice(0,-1));return}if(w&&!y.ctrl&&!y.meta)Q((B)=>B+w)},{isActive:b});let I=q.length>0?` [${C+1}/${q.length}]`:"";return H9(q3,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,children:[H9(q3,{marginBottom:1,children:[H9(s9,{bold:!0,children:"Model"},void 0,!1,void 0,this),H9(s9,{dimColor:!0,children:I},void 0,!1,void 0,this),H9(s9,{children:" "},void 0,!1,void 0,this),X?H9(s9,{color:"cyan",children:X},void 0,!1,void 0,this):H9(s9,{dimColor:!0,children:"Type to search..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W.length===0&&H9(s9,{dimColor:!0,children:"No matching models"},void 0,!1,void 0,this),(()=>{let w=N.reduce((y,B)=>{if(B.type!=="model")return y;return Math.max(y,B.model.name.length)},0);return N.map((y,B)=>{if(y.type==="header"){let J9=iQ(y.provider);return H9(q3,{marginTop:B>0?1:0,children:[H9(s9,{color:J9.color,children:[J9.icon," "]},void 0,!0,void 0,this),H9(s9,{bold:!0,color:J9.color,children:y.label},void 0,!1,void 0,this)]},`header-${y.label}-${B}`,!0,void 0,this)}if(y.type==="hint")return H9(q3,{marginTop:1,children:H9(s9,{dimColor:!0,italic:!0,children:y.label},void 0,!1,void 0,this)},"hint",!1,void 0,this);let M=q[C]===B,j=y.model.description,G0=y.model.name.padEnd(w),U9=G4(y.model.name);return H9(q3,{children:[H9(s9,{inverse:M,color:M?void 0:U9,dimColor:M?!1:!U9,children:[y.model.isCurrent?"●":"○"," ",G0]},void 0,!0,void 0,this),j&&H9(s9,{dimColor:!0,children:[" ",y.model.description]},void 0,!0,void 0,this)]},y.model.value??`${y.model.provider}-${y.model.name}`,!0,void 0,this)})})(),H9(q3,{marginTop:1,flexDirection:"column",children:[H9(q3,{children:[H9(s9,{color:jW[G],children:[eL[G]," "]},void 0,!0,void 0,this),H9(s9,{color:jW[G],bold:!0,children:[$R[G]," effort"]},void 0,!0,void 0,this),G==="high"&&H9(s9,{dimColor:!0,children:" (default)"},void 0,!1,void 0,this),H9(s9,{dimColor:!0,children:" ← → to adjust"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H9(q3,{marginTop:0,children:H9(s9,{dimColor:!0,children:"↑↓ navigate ← → effort ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useState as gH,useEffect as JR}from"react";import{Box as b7,Text as O6,useInput as KR}from"ink";import ZR from"ink-spinner";import{jsxDEV as D9}from"react/jsx-dev-runtime";function vH({memories:$,mode:J="browse",isLoading:K=!1,onSelect:Z,onCancel:H}){let[X,Q]=gH(0),[G,Y]=gH(""),[z,W]=gH(0),N=8,q=$.filter((y)=>y.content.toLowerCase().includes(G.toLowerCase())),U=Math.max(1,Math.ceil(q.length/8)),A=q.slice(z*8,(z+1)*8);JR(()=>{Q((y)=>Math.min(y,Math.max(0,A.length-1)))},[A.length]);let f=A.length>0?Math.min(X,A.length-1):0,C=process.stdin.isTTY??!1;KR((y,B)=>{if(q0(y,B)){H();return}if(B.return&&A.length>0&&J==="forget"){Z?.(A[f]);return}if(B.upArrow){Q((M)=>Math.max(0,M-1));return}if(B.downArrow){Q((M)=>Math.min(A.length-1,M+1));return}if(B.leftArrow&&z>0){W((M)=>M-1),Q(0);return}if(B.rightArrow&&z<U-1){W((M)=>M+1),Q(0);return}if(B.backspace||B.delete){Y((M)=>M.slice(0,-1)),W(0),Q(0);return}if(y&&!B.ctrl&&!B.meta)Y((M)=>M+y),W(0),Q(0)},{isActive:C});function b(y){let B=y instanceof Date?y:new Date(y);if(isNaN(B.getTime()))return"unknown";let j=new Date().getTime()-B.getTime(),G0=Math.floor(j/86400000);if(G0===0)return"today";if(G0===1)return"yesterday";if(G0<7)return`${G0}d ago`;if(G0<30)return`${Math.floor(G0/7)}w ago`;return`${Math.floor(G0/30)}mo ago`}function I(y,B){if(y.length<=B)return y;return y.slice(0,B-3)+"..."}return D9(b7,{flexDirection:"column",borderStyle:"round",borderColor:J==="forget"?"red":"cyan",paddingX:1,children:[D9(b7,{marginBottom:1,children:[D9(O6,{bold:!0,color:J==="forget"?"red":"cyan",children:J==="forget"?"Select Memory to Delete":"Memories"},void 0,!1,void 0,this),G&&D9(O6,{dimColor:!0,children:[' (filter: "',G,'")']},void 0,!0,void 0,this),D9(O6,{dimColor:!0,children:[" - ",q.length," memories"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K&&D9(b7,{children:[D9(O6,{color:"cyan",children:D9(ZR,{type:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this),D9(O6,{dimColor:!0,children:" Loading memories..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),!K&&q.length===0&&D9(O6,{dimColor:!0,children:$.length===0?"No memories stored yet. Use /remember to add some.":"No memories match your filter."},void 0,!1,void 0,this),!K&&A.map((y,B)=>{let M=B===f,j=b(y.createdAt),G0=I(y.content,60);return D9(b7,{flexDirection:"row",children:[D9(O6,{inverse:M,children:[M?">":" "," ",G0]},void 0,!0,void 0,this),D9(O6,{dimColor:!0,children:[" [",j,"]"]},void 0,!0,void 0,this),y.network&&D9(O6,{dimColor:!0,children:[" (",y.network,")"]},void 0,!0,void 0,this)]},y.id,!0,void 0,this)}),!K&&U>1&&D9(b7,{marginTop:1,children:D9(O6,{dimColor:!0,children:["Page ",z+1,"/",U]},void 0,!0,void 0,this)},void 0,!1,void 0,this),D9(b7,{marginTop:1,children:D9(O6,{dimColor:!0,children:J==="forget"?"type to filter arrows navigate enter delete esc cancel":"type to filter arrows navigate esc close"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as TH,useEffect as mW}from"react";import{Box as k7,Text as A$,useInput as HR}from"ink";import{jsxDEV as q1}from"react/jsx-dev-runtime";function XR($){let K=Date.now()-$.getTime(),Z=Math.floor(K/60000),H=Math.floor(K/3600000),X=Math.floor(K/86400000);if(Z<1)return"just now";if(Z<60)return`${Z}m ago`;if(H<24)return`${H}h ago`;if(X<7)return`${X}d ago`;return $.toLocaleDateString()}function VH({sessions:$,onSelect:J,onCancel:K,onSearch:Z,onPageChange:H}){let{columns:X}=C9(),[Q,G]=TH(0),[Y,z]=TH(""),[W,N]=TH(0),q=8,U=Math.max(1,Math.ceil($.length/8)),A=$.slice(W*8,(W+1)*8);mW(()=>{G((w)=>Math.min(w,Math.max(0,A.length-1)))},[A.length]),mW(()=>{N((w)=>Math.min(w,Math.max(0,U-1)))},[U]);let f=A.length>0?Math.min(Q,A.length-1):0,C=process.stdin.isTTY??!1;HR((w,y)=>{if(q0(w,y))K();else if(y.return&&A.length>0)J(A[f].id);else if(y.upArrow)G((B)=>Math.max(0,B-1));else if(y.downArrow)G((B)=>Math.min(A.length-1,B+1));else if(y.leftArrow&&W>0)N((B)=>B-1),G(0);else if(y.leftArrow&&W===0)H?.("prev"),G(0);else if(y.rightArrow&&W<U-1)N((B)=>B+1),G(0);else if(y.rightArrow&&W===U-1)H?.("next"),G(0);else if(y.backspace||y.delete){let B=Y.slice(0,-1);z(B),N(0),G(0),Z(B)}else if(w&&!y.ctrl&&!y.meta){let B=Y+w;z(B),N(0),G(0),Z(B)}},{isActive:C});function b(w,y){if(w.length<=y)return w;return w.slice(0,y-3)+"..."}let I=Math.max(30,Math.min(120,X-28));return q1(k7,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[q1(k7,{marginBottom:1,children:[q1(A$,{bold:!0,color:"cyan",children:"Sessions"},void 0,!1,void 0,this),Y&&q1(A$,{dimColor:!0,children:[' (filter: "',Y,'")']},void 0,!0,void 0,this),q1(A$,{dimColor:!0,children:[" - ",$.length," sessions"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.length===0?q1(A$,{dimColor:!0,children:Y?"No sessions match your filter.":"No sessions yet."},void 0,!1,void 0,this):A.map((w,y)=>{let B=y===f,M=XR(w.updatedAt),j=w.title??w.preview??"Untitled session",G0=W*8+y;return q1(k7,{flexDirection:"column",marginBottom:y<A.length-1?1:0,children:[q1(k7,{flexDirection:"row",children:[q1(A$,{inverse:B,children:[B?">":" "," ",G0+1,". ",b(j,I)]},void 0,!0,void 0,this),q1(A$,{dimColor:!0,children:[" [",M,"]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q1(A$,{dimColor:!0,children:[" ",w.arion," | ",w.model," | ",w.messageCount," messages"]},void 0,!0,void 0,this)]},w.id,!0,void 0,this)}),$.length>0&&U>1&&q1(k7,{marginTop:1,children:q1(A$,{dimColor:!0,children:["Page ",W+1,"/",U]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q1(k7,{marginTop:1,children:q1(A$,{dimColor:!0,children:"type to search arrows navigate enter resume esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as hH,useEffect as CJ,useMemo as QR}from"react";import{Box as IJ,Text as N3,useInput as GR}from"ink";import{jsxDEV as i1}from"react/jsx-dev-runtime";function YR($,J){if($.length<=J)return $;return $.slice(0,J-3)+"…"}function zR($){switch($){case"user":return"\uD83D\uDC64";case"assistant":return"\uD83E\uDD16";case"system":return"⚙️";case"tool":return"\uD83D\uDD27";default:return" "}}function WR($){switch($){case"user":return"cyan";case"assistant":return"green";case"system":return"yellow";case"tool":return"gray";default:return"white"}}function DH({messages:$,onSelect:J,onCancel:K}){let{columns:Z,rows:H}=C9(),[X,Q]=hH(0),[G,Y]=hH(""),z=QR(()=>{if(!G)return $;let b=G.toLowerCase();return $.filter((I)=>I.text.toLowerCase().includes(b)||I.role.toLowerCase().includes(b)||I.arion&&I.arion.toLowerCase().includes(b))},[$,G]);CJ(()=>{Q((b)=>Math.min(b,Math.max(0,z.length-1)))},[z.length]),CJ(()=>{if(!G){let b=z.reduce((I,w,y)=>w.role==="user"?y:I,0);Q(b)}},[]);let W=Math.max(4,H-10),[N,q]=hH(0);CJ(()=>{if(X<N)q(X);else if(X>=N+W)q(X-W+1)},[X,W,N]),CJ(()=>{let b=z.reduce((I,w,y)=>w.role==="user"?y:I,0);q(Math.max(0,b-W+2))},[G]);let U=z.slice(N,N+W),A=z.length>0?Math.min(X,z.length-1):0,f=process.stdin.isTTY??!1;GR((b,I)=>{if(q0(b,I))K();else if(I.return&&z.length>0){let w=z[A];if(w&&w.role==="user")J(w.index,w.text)}else if(I.upArrow)Q((w)=>Math.max(0,w-1));else if(I.downArrow)Q((w)=>Math.min(z.length-1,w+1));else if(I.backspace||I.delete){let w=G.slice(0,-1);Y(w),Q(0)}else if(b&&!I.ctrl&&!I.meta){let w=G+b;Y(w),Q(0)}},{isActive:f});let C=Math.max(30,Math.min(120,Z-16));return i1(IJ,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[i1(IJ,{marginBottom:1,children:[i1(N3,{bold:!0,color:"cyan",children:"Edit Message"},void 0,!1,void 0,this),G?i1(N3,{dimColor:!0,children:[" ",'(search: "',G,'") — ',z.length,"/",$.length," messages"]},void 0,!0,void 0,this):i1(N3,{dimColor:!0,children:[" — ",$.length," messages · select a user message to edit"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),N>0&&i1(N3,{dimColor:!0,children:[" ↑ ",N," more above"]},void 0,!0,void 0,this),z.length===0?i1(N3,{dimColor:!0,children:G?`No messages match "${G}".`:"No messages."},void 0,!1,void 0,this):U.map((b,I)=>{let y=N+I===A,B=b.role==="user",M=zR(b.role),j=WR(b.role),G0=y?"❯":" ",U9=YR(b.text.replace(/\n/g," ").trim()||"(empty)",C);return i1(IJ,{flexDirection:"row",children:i1(N3,{inverse:y,color:y?void 0:j,dimColor:!B&&!y,bold:B,children:[G0," ",M," ",U9]},void 0,!0,void 0,this)},`${b.index}-${I}`,!1,void 0,this)}),N+W<z.length&&i1(N3,{dimColor:!0,children:[" ↓ ",z.length-N-W," more below"]},void 0,!0,void 0,this),i1(IJ,{marginTop:1,children:i1(N3,{dimColor:!0,children:"type to search · ↑↓ navigate · enter select user message · esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import _R,{useState as qR,useMemo as cH}from"react";import{Box as c9,Text as K0,useInput as NR}from"ink";v();import{jsxDEV as E}from"react/jsx-dev-runtime";var FR={standard:"Standard",claude:"Claude",accessible:"Accessible"},PR=["standard","claude","accessible"];function dW($){if($.includes("daltonized")||$.includes("accessible"))return"accessible";if($.startsWith("claude-"))return"claude";return"standard"}function UR($){let J=$.colors.text.replace("#",""),K=parseInt(J.slice(0,2),16),Z=parseInt(J.slice(2,4),16),H=parseInt(J.slice(4,6),16);return(K*299+Z*587+H*114)/1000<128}function OR($){return g6().map((J)=>{let K=_4(J);return{name:J,displayName:K.displayName,isCurrent:J===$,isLight:UR(K),category:dW(J)}})}function AR({theme:$}){let J=$.colors,K=J.primary,Z=J.info,H=J.success,X=J.textMuted,Q=J.text;return E(c9,{flexDirection:"column",children:[E(K0,{color:X,children:"// fetch a user by ID"},void 0,!1,void 0,this),E(c9,{children:[E(K0,{color:K,children:"async function "},void 0,!1,void 0,this),E(K0,{color:Q,children:"fetchUser"},void 0,!1,void 0,this),E(K0,{color:Q,children:"("},void 0,!1,void 0,this),E(K0,{color:Q,children:"id"},void 0,!1,void 0,this),E(K0,{color:Q,children:": "},void 0,!1,void 0,this),E(K0,{color:H,children:"string"},void 0,!1,void 0,this),E(K0,{color:Q,children:") {"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E(c9,{children:[E(K0,{color:Q,children:" "},void 0,!1,void 0,this),E(K0,{color:K,children:"const "},void 0,!1,void 0,this),E(K0,{color:Q,children:"res = "},void 0,!1,void 0,this),E(K0,{color:K,children:"await "},void 0,!1,void 0,this),E(K0,{color:Q,children:"fetch("},void 0,!1,void 0,this),E(K0,{color:Z,children:"`/api/users/${"},void 0,!1,void 0,this),E(K0,{color:Q,children:"id"},void 0,!1,void 0,this),E(K0,{color:Z,children:"}`"},void 0,!1,void 0,this),E(K0,{color:Q,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E(c9,{children:[E(K0,{color:Q,children:" "},void 0,!1,void 0,this),E(K0,{color:K,children:"if "},void 0,!1,void 0,this),E(K0,{color:Q,children:"(!res.ok) "},void 0,!1,void 0,this),E(K0,{color:K,children:"throw new "},void 0,!1,void 0,this),E(K0,{color:H,children:"Error"},void 0,!1,void 0,this),E(K0,{color:Q,children:"("},void 0,!1,void 0,this),E(K0,{color:Z,children:"`HTTP ${"},void 0,!1,void 0,this),E(K0,{color:Q,children:"res.status"},void 0,!1,void 0,this),E(K0,{color:Z,children:"}`"},void 0,!1,void 0,this),E(K0,{color:Q,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E(c9,{children:[E(K0,{color:Q,children:" "},void 0,!1,void 0,this),E(K0,{color:K,children:"return "},void 0,!1,void 0,this),E(K0,{color:Q,children:"res.json() "},void 0,!1,void 0,this),E(K0,{color:K,children:"as "},void 0,!1,void 0,this),E(K0,{color:H,children:"Promise"},void 0,!1,void 0,this),E(K0,{color:Q,children:"<"},void 0,!1,void 0,this),E(K0,{color:H,children:"User"},void 0,!1,void 0,this),E(K0,{color:Q,children:">"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E(K0,{color:Q,children:"}"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function LR({theme:$}){let{colors:J,symbols:K}=$;return E(c9,{flexDirection:"column",borderStyle:"single",borderColor:J.secondary,paddingX:1,children:[E(K0,{bold:!0,color:J.primary,children:[K.prompt," ",$.displayName]},void 0,!0,void 0,this),E(c9,{marginTop:1,flexDirection:"column",children:E(AR,{theme:$},void 0,!1,void 0,this)},void 0,!1,void 0,this),E(c9,{marginTop:1,flexDirection:"column",children:[E(K0,{color:J.success,children:[K.success," Tests passed (3/3)"]},void 0,!0,void 0,this),E(K0,{color:J.error,children:[K.error," Error: connection refused"]},void 0,!0,void 0,this),E(K0,{color:J.warning,children:[K.warning," Deprecated API call"]},void 0,!0,void 0,this),E(c9,{children:E(K0,{color:J.diffAdded,children:"+ const data = await fetch(url);"},void 0,!1,void 0,this)},void 0,!1,void 0,this),E(c9,{children:E(K0,{color:J.diffRemoved,children:"- const data = http.get(url);"},void 0,!1,void 0,this)},void 0,!1,void 0,this),E(K0,{color:J.textMuted,children:[K.info," 1.2k tokens ",K.bullet," $0.01 ",K.bullet," 0.8s"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function EH({onSelect:$,onCancel:J}){let K=cH(()=>L().name,[]),Z=cH(()=>OR(K),[K]),{items:H,selectableIndices:X}=cH(()=>{let f=[],C=[],b=new Map;for(let I of Z){let w=b.get(I.category)??[];w.push(I),b.set(I.category,w)}for(let I of PR){let w=b.get(I);if(!w?.length)continue;f.push({type:"header",label:FR[I]??I});for(let y of w)C.push(f.length),f.push({type:"theme",option:y})}return{items:f,selectableIndices:C}},[Z]),Q=X.findIndex((f)=>{let C=H[f];return C?.type==="theme"&&C.option.isCurrent}),[G,Y]=qR(Q>=0?Q:0),z=X.length>0?Math.min(G,X.length-1):0,W=H[X[z]],N=W?.type==="theme"?W.option.name:null;if(N)k6(N);let q=_R.useCallback(()=>{k6(K),J()},[K,J]),U=process.stdin.isTTY??!1;NR((f,C)=>{if(q0(f,C)){q();return}if(C.return&&X.length>0){let b=X[z],I=H[b];if(I.type==="theme")$({name:I.option.name,displayName:I.option.displayName});return}if(C.upArrow){Y((b)=>Math.max(0,b-1));return}if(C.downArrow){Y((b)=>Math.min(X.length-1,b+1));return}},{isActive:U});let A=L();return E(c9,{flexDirection:"column",borderStyle:"round",borderColor:A.colors.primary,paddingX:1,children:[E(c9,{marginBottom:1,children:[E(K0,{bold:!0,color:A.colors.primary,children:"Theme"},void 0,!1,void 0,this),E(K0,{color:A.colors.textMuted,children:[" ",A.symbols.arrow," select a color theme"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),E(c9,{children:[E(c9,{flexDirection:"column",width:38,children:H.map((f,C)=>{if(f.type==="header")return E(c9,{marginTop:C>0?1:0,children:E(K0,{bold:!0,color:A.colors.textMuted,children:f.label},void 0,!1,void 0,this)},`header-${f.label}`,!1,void 0,this);let b=X[z]===C,{option:I}=f;return E(c9,{children:E(K0,{inverse:b,color:b?A.colors.primary:A.colors.text,children:[I.isCurrent?"●":"○"," ",I.displayName]},void 0,!0,void 0,this)},I.name,!1,void 0,this)})},void 0,!1,void 0,this),E(c9,{flexDirection:"column",flexGrow:1,marginLeft:2,children:E(LR,{theme:A},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E(c9,{marginTop:1,children:E(K0,{color:A.colors.textMuted,children:["↑↓"," navigate ","⏎"," select esc cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useState as pW,useEffect as RR,useMemo as fR}from"react";import{Box as jH,Text as F3,useInput as BR}from"ink";import{jsxDEV as A6}from"react/jsx-dev-runtime";function yR($,J){let K=J.trim().toLowerCase();if(!K)return!0;return[$.displayNameSnapshot,$.nodeId,$.host,$.port?.toString(),$.principalFingerprint,$.transport,$.status].filter((H)=>typeof H==="string"&&H.length>0).map((H)=>H.toLowerCase()).some((H)=>H.includes(K))}function mH($,J){if(J<=0)return 0;return Math.min($,J-1)}function dH({peers:$,sameHomeClientsAvailable:J=!1,onSelect:K,onCancel:Z}){let[H,X]=pW(0),[Q,G]=pW(""),Y=L(),z=fR(()=>$.filter((U)=>yR(U,Q)),[$,Q]);RR(()=>{X((U)=>mH(U,z.length))},[z.length]);let W=mH(H,z.length),N=process.stdin.isTTY??!1;BR((U,A)=>{if(q0(U,A)){Z();return}if(A.return){if(z.length>0)K(z[W]);return}if(A.upArrow){X((f)=>Math.max(0,f-1));return}if(A.downArrow){X((f)=>mH(f+1,z.length));return}if(A.backspace||A.delete){G((f)=>f.slice(0,-1)),X(0);return}if(U&&!A.ctrl&&!A.meta){G((f)=>f+U),X(0);return}},{isActive:N});let q=(U)=>`${U.slice(0,4)} ${U.slice(4,8)} ${U.slice(8,12)} ${U.slice(12,16)}`;return A6(jH,{flexDirection:"column",borderStyle:"round",borderColor:Y.colors.secondary,paddingX:1,children:[A6(F3,{bold:!0,color:Y.colors.primary,children:[" ","Nearby Peers"," "]},void 0,!0,void 0,this),Q?A6(F3,{dimColor:!0,children:[' (filter: "',Q,'")']},void 0,!0,void 0,this):null,z.length===0&&A6(F3,{dimColor:!0,children:Q?"No peers match your filter.":J?"No peer nodes. Use /clients for same-home terminals.":"Scanning... no peers found yet"},void 0,!1,void 0,this),z.map((U,A)=>A6(jH,{children:[A6(F3,{inverse:A===W,color:A===W?Y.colors.primary:void 0,children:[A===W?" ▸ ":" ",U.displayNameSnapshot]},void 0,!0,void 0,this),U.status==="connected"?A6(F3,{color:"green",children:" ✓ connected"},void 0,!1,void 0,this):A6(F3,{dimColor:!0,children:[" ",U.host,":",U.port]},void 0,!0,void 0,this),U.principalFingerprint?A6(F3,{color:Y.colors.secondary,children:[" ",q(U.principalFingerprint)]},void 0,!0,void 0,this):null]},`${U.displayNameSnapshot}-${U.nodeId}-${A}`,!0,void 0,this)),A6(jH,{marginTop:z.length>0?1:0,children:A6(F3,{dimColor:!0,children:"type to search ↑↓ navigate ⏎ connect esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useEffect as MR,useMemo as wR,useState as xW}from"react";import{Box as pH,Text as g7,useInput as CR}from"ink";import{jsxDEV as L$}from"react/jsx-dev-runtime";function IR($,J){let K=J.trim().toLowerCase();if(!K)return!0;return $.displayLabel.toLowerCase().includes(K)||$.clientId.toLowerCase().includes(K)||$.clientKind.toLowerCase().includes(K)}function xH($,J){if(J<=0)return 0;return Math.min($,J-1)}function lH({clients:$,onSelect:J,onCancel:K}){let[Z,H]=xW(0),[X,Q]=xW(""),G=L(),Y=wR(()=>$.filter((N)=>IR(N,X)),[$,X]);MR(()=>{H((N)=>xH(N,Y.length))},[Y.length]);let z=xH(Z,Y.length),W=process.stdin.isTTY??!1;return CR((N,q)=>{if(q0(N,q)){K();return}if(q.return){if(Y.length>0&&!Y[z]?.self)J(Y[z]);return}if(q.upArrow){H((U)=>Math.max(0,U-1));return}if(q.downArrow){H((U)=>xH(U+1,Y.length));return}if(q.backspace||q.delete){Q((U)=>U.slice(0,-1)),H(0);return}if(N&&!q.ctrl&&!q.meta)Q((U)=>U+N),H(0)},{isActive:W}),L$(pH,{flexDirection:"column",borderStyle:"round",borderColor:G.colors.secondary,paddingX:1,children:[L$(g7,{bold:!0,color:G.colors.primary,children:[" ","Same-Home Clients"," "]},void 0,!0,void 0,this),X?L$(g7,{dimColor:!0,children:[' (filter: "',X,'")']},void 0,!0,void 0,this):null,Y.length===0&&L$(g7,{dimColor:!0,children:"No same-home clients found."},void 0,!1,void 0,this),Y.map((N,q)=>L$(pH,{flexDirection:"column",children:[L$(g7,{inverse:q===z,color:q===z?G.colors.primary:void 0,children:[q===z?" ▸ ":" ",N.displayLabel]},void 0,!0,void 0,this),L$(g7,{dimColor:!0,children:[" ",N.clientId,N.self?" self · not sendable":""]},void 0,!0,void 0,this)]},`${N.clientId}-${q}`,!0,void 0,this)),L$(pH,{marginTop:Y.length>0?1:0,children:L$(g7,{dimColor:!0,children:"type to search ↑↓ navigate ⏎ select esc cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{Box as SJ,Text as R$,useInput as SR}from"ink";import{jsxDEV as h1}from"react/jsx-dev-runtime";function uH({inviteToken:$,inviteLabel:J,expiresAt:K,onClose:Z}){let H=L(),X=process.stdin.isTTY??!1;return SR((Q,G)=>{if(G.return||q0(Q,G))Z()},{isActive:X}),h1(SJ,{flexDirection:"column",borderStyle:"round",borderColor:H.colors.secondary,paddingX:1,paddingY:1,children:[h1(R$,{bold:!0,color:H.colors.primary,children:"Internet Invite"},void 0,!1,void 0,this),J?h1(R$,{children:["Label: ",h1(R$,{bold:!0,children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,K?h1(R$,{dimColor:!0,children:["Expires: ",K]},void 0,!0,void 0,this):null,h1(SJ,{marginTop:1,flexDirection:"column",children:[h1(R$,{children:"Share this token:"},void 0,!1,void 0,this),h1(R$,{children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h1(SJ,{marginTop:1,flexDirection:"column",children:[h1(R$,{children:"Join with:"},void 0,!1,void 0,this),h1(R$,{children:`aria pairing join ${$}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),h1(SJ,{marginTop:1,children:h1(R$,{dimColor:!0,children:"Press Enter or Esc to close."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useState as bR}from"react";import{Box as bJ,Text as o5,useInput as kR}from"ink";import{jsxDEV as f$}from"react/jsx-dev-runtime";function rH({onSubmit:$,onCancel:J,error:K}){let[Z,H]=bR(""),X=L(),Q=process.stdin.isTTY??!1;return kR((G,Y)=>{if(q0(G,Y)){J();return}if(Y.return){let z=Z.trim();if(z.length>0)$(z);return}if(Y.backspace||Y.delete){H((z)=>z.slice(0,-1));return}if(G&&!Y.ctrl&&!Y.meta)H((z)=>z+G)},{isActive:Q}),f$(bJ,{flexDirection:"column",borderStyle:"round",borderColor:X.colors.secondary,paddingX:1,paddingY:1,children:[f$(o5,{bold:!0,color:X.colors.primary,children:"Join Invite"},void 0,!1,void 0,this),f$(o5,{children:"Paste the invite token and press Enter."},void 0,!1,void 0,this),f$(bJ,{marginTop:1,children:f$(o5,{children:Z||" "},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?f$(bJ,{marginTop:1,children:f$(o5,{color:X.colors.error,children:K},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,f$(bJ,{marginTop:1,children:f$(o5,{dimColor:!0,children:"Type token, Enter to join, Esc to cancel."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useState as gR,useRef as vR}from"react";import{Box as s5,Text as F8,useInput as TR}from"ink";import{jsxDEV as o1}from"react/jsx-dev-runtime";function aH({request:$,onAccept:J,onReject:K}){let[Z,H]=gR("accept"),X=vR(!1),Q=L(),G=process.stdin.isTTY??!1,Y=(z)=>`${z.slice(0,4)} ${z.slice(4,8)} ${z.slice(8,12)} ${z.slice(12,16)}`;return TR((z,W)=>{if(X.current)return;if(W.return){if(X.current=!0,Z==="accept")J();else K();return}if(q0(z,W)){X.current=!0,K();return}if(W.leftArrow||W.rightArrow||W.tab)H((N)=>N==="accept"?"reject":"accept")},{isActive:G}),o1(s5,{flexDirection:"column",borderStyle:"round",borderColor:Q.colors.warning,paddingX:2,paddingY:1,children:[o1(F8,{bold:!0,color:Q.colors.warning,children:[" ","Connection Request"," "]},void 0,!0,void 0,this),o1(s5,{marginTop:1,children:o1(F8,{children:[o1(F8,{bold:!0,children:$.displayNameSnapshot??$.nodeId},void 0,!1,void 0,this)," wants to connect"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),o1(s5,{children:o1(F8,{dimColor:!0,children:["Fingerprint: ",Y($.principalFingerprint)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),o1(s5,{marginTop:1,gap:2,children:[o1(F8,{inverse:Z==="accept",color:Z==="accept"?Q.colors.success:void 0,children:[" ","Accept"," "]},void 0,!0,void 0,this),o1(F8,{inverse:Z==="reject",color:Z==="reject"?Q.colors.error:void 0,children:[" ","Reject"," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),o1(s5,{marginTop:1,children:o1(F8,{dimColor:!0,children:"←→ select ⏎ confirm esc reject"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useEffect as VR,useState as hR,useRef as lW}from"react";import{Box as kJ,Text as P8,useInput as DR}from"ink";import{jsxDEV as s1}from"react/jsx-dev-runtime";function cR({status:$}){let J=L();switch($){case"connected":return s1(P8,{color:J.colors.success,children:["✓"," connected"]},void 0,!0,void 0,this);case"expired":return s1(P8,{color:J.colors.error,children:["✗"," expired"]},void 0,!0,void 0,this);case"none":return s1(P8,{color:J.colors.textMuted,children:["·"," not connected"]},void 0,!0,void 0,this)}}function uW({providers:$,onSelect:J,onCancel:K,isActive:Z=!0}){let H=L(),[X,Q]=hR(0),G=lW(0),Y=lW(!1);VR(()=>{Y.current=!1,G.current=0,Q(0)},[$]);let z=(N)=>{Q((q)=>{let U=N(q);return G.current=U,U})},W=process.stdin.isTTY??!1;return DR((N,q)=>{if(Y.current)return;if(q.upArrow)z((U)=>Math.max(0,U-1));else if(q.downArrow)z((U)=>Math.min($.length-1,U+1));else if(q.return)Y.current=!0,J($[G.current]);else if(q0(N,q))Y.current=!0,K()},{isActive:Z&&W}),s1(kJ,{flexDirection:"column",borderStyle:"round",borderColor:H.colors.secondary,paddingX:1,paddingY:1,width:56,children:[s1(kJ,{marginBottom:1,children:s1(P8,{bold:!0,children:"Select a provider:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((N,q)=>{let U=q===X,A=U?"▸":" ";return s1(kJ,{gap:1,children:[s1(P8,{color:U?H.colors.primary:void 0,children:A},void 0,!1,void 0,this),s1(P8,{color:U?H.colors.primary:void 0,bold:U,children:N.label.padEnd(28)},void 0,!1,void 0,this),s1(cR,{status:N.status},void 0,!1,void 0,this)]},N.id,!0,void 0,this)}),s1(kJ,{marginTop:1,children:s1(P8,{color:H.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useEffect as ER,useRef as nH,useState as gJ}from"react";import{Box as L6,Text as R6,useInput as jR}from"ink";import{collectOAuthAuthorizationCode as mR,loginWithOAuth as dR}from"@aria-cli/auth";import{jsxDEV as e0}from"react/jsx-dev-runtime";function rW({provider:$,onCancel:J,isActive:K=!0,onComplete:Z,authorizeUrl:H,expectedState:X,onCodeSubmit:Q}){let G=L(),[Y,z]=gJ("starting"),[W,N]=gJ(""),[q,U]=gJ(""),[A,f]=gJ(""),C=nH(null),b=nH(!1),I=nH(!1),w=process.stdin.isTTY??!1;jR((B,M)=>{if(q0(B,M))J()},{isActive:K&&w}),ER(()=>{if(b.current)return;b.current=!0,z("waiting");let B=new Promise((j)=>{C.current=j}),M=(j)=>{N(j),z("manual")};if(H&&Q){N(H),mR($,{authorizeUrl:H,expectedState:X,onManualFallback:M,manualCodePromise:B}).then(async(j)=>{if(I.current)return;z("exchanging"),await Q(j),I.current=!0,z("success")},(j)=>{if(I.current)return;let G0=j instanceof Error?j.message:String(j);U(G0),z("error")});return}dR($,{onManualFallback:M,manualCodePromise:B}).then((j)=>{if(I.current)return;if(j.success)z("success"),I.current=!0,setTimeout(()=>{Z?.({success:!0,message:j.message})},1000);else U(j.message),z("error")},(j)=>{if(I.current)return;let G0=j instanceof Error?j.message:String(j);U(G0),z("error")})},[X,H,Q,Z,$]);let y=(B)=>{let M=B.trim();if(!M)return;if(z("exchanging"),C.current)C.current(M),C.current=null};return e0(L6,{flexDirection:"column",borderStyle:"round",borderColor:G.colors.secondary,paddingX:1,paddingY:1,width:64,children:[e0(L6,{marginBottom:1,children:e0(R6,{bold:!0,children:["Sign in to ",$]},void 0,!0,void 0,this)},void 0,!1,void 0,this),(Y==="starting"||Y==="waiting")&&e0(L6,{gap:1,children:[e0(w7,{},void 0,!1,void 0,this),e0(R6,{children:"Opening browser to sign in..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y==="manual"&&e0(L6,{flexDirection:"column",children:[e0(R6,{children:"Open this URL in your browser:"},void 0,!1,void 0,this),e0(L6,{marginTop:1,children:e0(R6,{color:G.colors.primary,wrap:"wrap",children:W},void 0,!1,void 0,this)},void 0,!1,void 0,this),e0(L6,{marginTop:1,children:e0(R6,{children:"Paste the authorization code below:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),e0(L6,{marginTop:1,children:[e0(R6,{color:G.colors.textMuted,children:"> "},void 0,!1,void 0,this),e0(G7,{value:A,onChange:f,onSubmit:y,placeholder:"paste code here",focus:K,showCursor:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Y==="exchanging"&&e0(L6,{gap:1,children:[e0(w7,{},void 0,!1,void 0,this),e0(R6,{children:"Exchanging code for tokens..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y==="success"&&e0(R6,{color:G.colors.success,children:["✓"," Logged in to ",$]},void 0,!0,void 0,this),Y==="error"&&e0(L6,{flexDirection:"column",children:[e0(R6,{color:G.colors.error,children:["✗"," ",q]},void 0,!0,void 0,this),e0(L6,{marginTop:1,children:e0(R6,{color:G.colors.textMuted,children:"Press Esc to dismiss"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y!=="success"&&Y!=="error"&&e0(L6,{marginTop:1,children:e0(R6,{color:G.colors.textMuted,children:"Esc Cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}v();import{useEffect as pR,useRef as aW,useState as xR}from"react";import{Box as v7,Text as P3,useInput as lR}from"ink";import{jsxDEV as N1}from"react/jsx-dev-runtime";function uR({status:$}){let J=L();if($==="connected")return N1(P3,{color:J.colors.success,children:["✓"," connected"]},void 0,!0,void 0,this);if($==="available")return N1(P3,{color:J.colors.success,children:["✓"," available"]},void 0,!0,void 0,this);return N1(P3,{color:J.colors.textMuted,children:"·"},void 0,!1,void 0,this)}function T7({options:$,onSelect:J,onCancel:K,title:Z="Select login method:",isActive:H=!0}){let X=L(),[Q,G]=xR(0),Y=aW(0),z=aW(!1),W=process.stdin.isTTY??!1;pR(()=>{z.current=!1,Y.current=0,G(0)},[$]);let N=(q)=>{G((U)=>{let A=q(U);return Y.current=A,A})};return lR((q,U)=>{if(z.current)return;if(U.upArrow)N((A)=>Math.max(0,A-1));else if(U.downArrow)N((A)=>Math.min($.length-1,A+1));else if(U.return)z.current=!0,J($[Y.current]);else if(q0(q,U))z.current=!0,K()},{isActive:H&&W}),N1(v7,{flexDirection:"column",borderStyle:"round",borderColor:X.colors.secondary,paddingX:1,paddingY:1,width:64,children:[N1(v7,{marginBottom:1,children:N1(P3,{bold:!0,children:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((q,U)=>{let A=U===Q,f=A?"▸":" ";return N1(v7,{flexDirection:"column",children:[N1(v7,{gap:1,children:[N1(P3,{color:A?X.colors.primary:void 0,children:f},void 0,!1,void 0,this),N1(P3,{color:A?X.colors.primary:void 0,bold:A,children:q.label},void 0,!1,void 0,this),N1(uR,{status:q.status},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.description&&N1(v7,{marginLeft:3,children:N1(P3,{color:X.colors.textMuted,dimColor:!0,children:q.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},q.id,!0,void 0,this)}),N1(v7,{marginTop:1,children:N1(P3,{color:X.colors.textMuted,children:["↑↓"," Navigate Enter Select Esc Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as rR}from"react/jsx-dev-runtime";function nW({options:$,onSelect:J,onCancel:K,isActive:Z=!0}){return rR(T7,{options:$,onSelect:J,onCancel:K,title:"Select Anthropic login method:",isActive:Z},void 0,!1,void 0,this)}v();import{useRef as aR,useState as nR}from"react";import{Box as t5,Text as V7,useInput as iR}from"ink";import{jsxDEV as f6}from"react/jsx-dev-runtime";function h7({title:$,hint:J,onSubmit:K,onCancel:Z,isActive:H=!0}){let X=L(),[Q,G]=nR(""),Y=aR(!1),z=process.stdin.isTTY??!1;iR((N,q)=>{if(Y.current)return;if(q0(N,q)){Y.current=!0,Z();return}if(q.return){if(Q.trim().length>0)Y.current=!0,K(Q.trim());return}if(q.backspace||q.delete){G((U)=>U.slice(0,-1));return}if(q.upArrow||q.downArrow||q.leftArrow||q.rightArrow||q.tab)return;if(N&&!q.ctrl&&!q.meta)G((U)=>U+N)},{isActive:H&&z});let W=Q.length>0?Q.slice(0,4)+"•".repeat(Math.max(0,Q.length-4)):"";return f6(t5,{flexDirection:"column",borderStyle:"round",borderColor:X.colors.secondary,paddingX:1,paddingY:1,width:64,children:[f6(t5,{marginBottom:1,children:f6(V7,{bold:!0,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this),J&&f6(t5,{marginBottom:1,children:f6(V7,{color:X.colors.textMuted,dimColor:!0,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),f6(t5,{children:[f6(V7,{color:X.colors.primary,children:["▸"," "]},void 0,!0,void 0,this),f6(V7,{children:W||" "},void 0,!1,void 0,this),f6(V7,{color:X.colors.textMuted,children:"_"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f6(t5,{marginTop:1,children:f6(V7,{color:X.colors.textMuted,children:"Enter Submit Esc Cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function iW($,J,K={}){let Z=K.userName||"User",H=[],X=new Map;function Q(G,Y){for(let z of G.content)switch(z.type){case"text":{if(G.role==="user"){let W=PZ(z.text);for(let N of W)if(N.type==="image"&&C4(N.dataUri))H.push({kind:"user-image",id:`${G.id}-image-${H.length}`,dataUri:N.dataUri,userName:Z,committed:Y});else if(N.type==="text"&&N.text.length>0)H.push({kind:"user-message",id:`${G.id}-text-${H.length}`,text:N.text,userName:Z,committed:Y})}else if(G.role==="system"&&z.text.length>0)H.push({kind:"user-message",id:`${G.id}-text-${H.length}`,text:z.text,userName:"System",committed:Y});else if(G.role==="assistant"&&z.text.trim())H.push({kind:"assistant-text",id:`${G.id}-text-${H.length}`,text:z.text,arion:G.arion?{name:G.arion.name,emoji:G.arion.emoji||"\uD83E\uDD8B",color:G.arion.color||"cyan"}:void 0,committed:Y});break}case"thinking":{if(z.content?.trim())H.push({kind:"thinking",id:`${G.id}-thinking-${H.length}`,content:z.content,durationSec:z.durationMs!=null?z.durationMs/1000:void 0,arion:G.arion?{name:G.arion.name,emoji:G.arion.emoji||"\uD83E\uDD8B",color:G.arion.color||"cyan"}:void 0,committed:Y});break}case"tool_use":{let W={kind:"tool-execution",id:`${G.id}-tool-${z.id}`,toolName:z.name,input:z.arguments,output:void 0,status:"pending",durationMs:void 0,usage:void 0,committed:Y};X.set(z.id,W),H.push(W);break}case"tool_result":{let W=X.get(z.toolUseId);if(W){if(W.output=z.resultData??z.content,W.status=z.status==="error"?"error":"complete",z.status==="error")W.error=typeof z.content==="string"?z.content:"Tool error";if(z.durationMs!=null)W.durationMs=z.durationMs;if(z.usage)W.usage={inputTokens:z.usage.inputTokens??0,outputTokens:z.usage.outputTokens??0};if(!Y)W.committed=!1}break}case"handoff":{H.push({kind:"handoff",id:`${G.id}-handoff-${H.length}`,target:z.target,direction:z.direction==="from"?"incoming":"outgoing",committed:Y});break}case"error":{H.push({kind:"error",id:`${G.id}-error-${H.length}`,message:z.content,suggestion:z.suggestion,committed:Y});break}}}for(let G of $)Q(G,!0);for(let G of J)Q(G,!1);return H}import{DEFAULT_SAFETY_CONFIG as $f}from"@aria-cli/aria";import{useReducer as oR,useEffect as iH,useRef as tW}from"react";var oW={kind:"idle"};function sW($,J){switch(J.type){case"STREAM_START":return{kind:"composing",verb:J.verb};case"THINKING_START":if($.kind!=="composing"&&$.kind!=="idle")return $;return{kind:"thinking",verb:J.verb,startedAt:J.startedAt};case"THINKING_END":if($.kind!=="thinking")return $;return{kind:"composing",verb:J.verb,thoughtForSeconds:J.durationSeconds};case"TOOL_START":{let K=new Map($.kind==="tool_running"?$.tools:[]);return K.set(J.callId,J.displayName),{kind:"tool_running",tools:K}}case"TOOL_END":{if($.kind!=="tool_running")return $;let K=new Map($.tools);if(K.delete(J.callId),K.size===0)return{kind:"composing",verb:J.verb};return{kind:"tool_running",tools:K}}case"STREAM_END":return{kind:"idle"};default:return $}}function eW($,J){let[K,Z]=oR(sW,oW),H=tW(!1);iH(()=>{if(J&&!H.current)Z({type:"STREAM_START",verb:$6()});else if(!J&&H.current)Z({type:"STREAM_END"});H.current=J},[J]);let X=tW(null);return iH(()=>{if($!==X.current){if(X.current!==null)Z({type:"STREAM_END"});X.current=$}},[$]),iH(()=>{if(!$)return;let Q=()=>Z({type:"THINKING_START",verb:$6(),startedAt:Date.now()}),G=(W)=>Z({type:"THINKING_END",verb:$6(),durationSeconds:Math.round(W.durationMs/1000)}),Y=(W)=>Z({type:"TOOL_START",callId:W.id,displayName:sG(W.name,!0)}),z=(W)=>Z({type:"TOOL_END",callId:W.id,verb:$6()});return $.on("thinking_start",Q),$.on("thinking_end",G),$.on("tool_start",Y),$.on("tool_result",z),()=>{$.off("thinking_start",Q),$.off("thinking_end",G),$.off("tool_start",Y),$.off("tool_result",z)}},[$]),K}function vJ($){let J=typeof $.nodeId==="string"?$.nodeId.trim():"",K=typeof $.transport==="string"?$.transport:"unknown";if(J)return`node:${J}`;let Z=typeof $.principalFingerprint==="string"?$.principalFingerprint.trim():"";if(Z)return`principal:${Z}`;return`endpoint:${K}:${$.host}:${$.port}:${$.displayNameSnapshot}`}function $_($,J){let K=new Map;for(let Z of[...$,...J]){let H=vJ(Z);if(!K.has(H))K.set(H,Z)}return[...K.values()]}import{jsxDEV as n,Fragment as Jf}from"react/jsx-dev-runtime";function oH({session:$,model:J,maxContextTokens:K,banner:Z,messages:H=[],previewMessages:X=[],isStreaming:Q=!1,queuedMessage:G,onCancelQueuedMessage:Y,responseTime:z,commands:W=[],arions:N=[],models:q=[],memories:U=[],memoryBrowserMode:A="browse",isLoadingMemories:f=!1,userName:C,metrics:b,displayMode:I="standard",displayConfig:w,showThinking:y=!0,showCosts:B=!0,showTraces:M=!1,spans:j=[],pipelineTiming:G0,activeArion:U9,onSubmit:J9,onCommand:W0,onSelectArion:V,onSelectModel:S,onSelectTheme:d,onSelectMemory:R0,onOpenMemoryBrowser:Y0,onToggleThinking:H0,onToggleCosts:I0,onToggleTraces:u0,onCycleDisplayMode:M9,sessions:P1=[],onSelectSession:t,onLoadSessions:X0,onSearchSessions:m0,onLoadMoreSessions:o,staticRenderEpoch:D0,openSessionOverlaySignal:z9,openThemeOverlaySignal:U0,inputHistory:x0=[],onSaveInput:Q9,obsCtx:t9,onCancel:K9,approvalRequest:M6,onApprovalChoice:$K,effortLevel:L8,showAutonomySelector:JK,autonomyLevel:z2,onAutonomySelect:p7,onAutonomyCancel:W2,onCycleAutonomy:R8,onCycleEffort:t1,loginPickerProviders:f8,onLoginProviderSelect:_2,onLoginPickerCancel:q2,copilotSourceOptions:x7,onCopilotSourceSelect:N2,onCopilotSourceCancel:b$,oauthProvider:L3,oauthAuthorizeUrl:l7,oauthExpectedState:n6,onOAuthComplete:KK,onOAuthCodeSubmit:u7,onOAuthCancel:k$,copilotDeviceProvider:r7,copilotDeviceProfileLabel:ZK,copilotDeviceVerificationUri:R3,copilotDeviceUserCode:F2,onCopilotDeviceComplete:B8,onCopilotDeviceApprove:P2,onCopilotDeviceCancel:y8,anthropicMethodOptions:a7,onAnthropicMethodSelect:M8,onAnthropicMethodCancel:U2,anthropicKeyInputVisible:w8,onAnthropicKeySubmit:O2,onAnthropicKeyCancel:C8,anthropicSetupTokenVisible:A2,onAnthropicSetupTokenSubmit:I8,onAnthropicSetupTokenCancel:n7,openaiMethodOptions:f3,onOpenAIMethodSelect:L2,onOpenAIMethodCancel:S8,openaiKeyInputVisible:R2,onOpenAIKeySubmit:b8,onOpenAIKeyCancel:f2,googleMethodOptions:B3,onGoogleMethodSelect:B2,onGoogleMethodCancel:k8,googleKeyInputVisible:y2,onGoogleKeySubmit:g8,onGoogleKeyCancel:M2,authInteractionOptions:y3,authInteractionTitle:HK,onAuthInteractionSelect:v8,onAuthInteractionCancel:w2,authInteractionInput:g$,onAuthInteractionInputSubmit:C2,onAuthInteractionInputCancel:T8,nearbyPeers:V8=[],localClients:h8=[],onSelectPeer:XK,onSelectClient:i7,onPeerCancel:I2,onClientsCancel:M3,openPeersOverlaySignal:S2,openClientsOverlaySignal:o7,inviteShare:v$,onInviteShareClose:b2,openJoinInviteOverlaySignal:i6,onJoinInviteSubmit:k2,onJoinInviteCancel:QK,joinInviteError:GK,incomingPairRequest:w3,onAcceptPairRequest:YK,onRejectPairRequest:zK,onCancelPairing:g2,openMessageEditOverlaySignal:v2,editableMessages:T$,onEditMessage:D8,prefillInput:c8,onPrefillConsumed:WK,meshMessageCount:_K=0,runtimeSocket:HQ=null,clientId:s7=null,clientAuthToken:w6=null,resolveCredentials:T2}){let{exit:o6}=tR(),{columns:t7,rows:e7}=C9(),[E8,O9]=U3(""),[l,z0]=U3("none"),[V$,j8]=U3(""),[m8,C3]=U3(""),[I3,s6]=U3("become"),[qK,S3]=U3("all"),[$5,NK]=U3(!1),C6=Boolean(y3||a7||f3||B3),FK=Boolean(g$||w8||A2||R2||y2),V2=Boolean(L3||r7||f8||x7);B6(()=>{if(C6)z0("login-method");else if(FK)z0("login-input");else if(V2)z0("login");else if(l==="login"||l==="login-method"||l==="login-input")z0("none")},[C6,FK,V2]);let J5=B$(()=>{z0("session"),setTimeout(()=>X0?.(),0)},[X0]);B6(()=>{if(z9===void 0)return;J5()},[z9,J5]),B6(()=>{if(U0===void 0)return;z0("theme")},[U0]);let[b3,k3]=U3([]);B6(()=>{if(S2===void 0)return;k3([...V8]),z0("peers")},[S2]),B6(()=>{if(o7===void 0)return;z0("clients")},[o7]),B6(()=>{if(v$)z0("invite-share");else if(l==="invite-share")z0("none")},[v$,l]),B6(()=>{if(i6===void 0)return;z0("join-invite")},[i6]),B6(()=>{if(v2===void 0)return;if(T$&&T$.length>0)z0("message-edit")},[v2]),B6(()=>{if(c8!==void 0)O9(c8),WK?.()},[c8]),B6(()=>{if(l!=="peers")return;k3((T)=>{let B0=new Set(T.map(vJ)),r0=V8.filter((D$)=>!B0.has(vJ(D$)));return r0.length>0?[...T,...r0]:T})},[l,V8]),B6(()=>{if(w3&&l==="none"&&!Q)z0("pair-request");else if(!w3&&l==="pair-request")z0("none")},[w3,l,Q]);let PK=process.stdin.isTTY??!1;eR((T,B0)=>{if(T==="\x03"||B0.ctrl&&T==="c"){if(Q&&K9){K9();return}o6()}if(q0(T,B0)){if(M6)return;if(l!=="none"){k9();return}if(g2){g2();return}if(Q&&G&&Y)Y();else if(Q&&K9)K9();else O9("");return}if(B0.upArrow&&Q&&G&&Y){Y();return}if(B0.ctrl&&T==="\x1C"&&l==="none"){M9?.();return}if(B0.ctrl&&T==="t"&&l==="none"){H0?.();return}if(B0.ctrl&&T==="g"&&l==="none"){I0?.();return}if(B0.ctrl&&T==="s"&&l==="none"){u0?.();return}if(B0.tab&&T!=="\t"&&l==="none"){R8?.();return}if(B0.ctrl&&T==="\x05"&&l==="none"){t1?.();return}if(B0.ctrl&&T==="\x1F"&&l==="none"){NK((r0)=>!r0);return}},{isActive:PK});let t6=$.getPrimary(),UK=t6?.name||"ARIA",M1=t6?.color||"cyan",OK=t6?.emoji||"\uD83E\uDD8B",e6=eW(t9??null,Q??!1),AK=(l==="none"&&!M6?4:0)+(!w||w.showStatusBar?1:0),K5=Math.max(e7-AK,1),h$=B$((T,B0)=>{if(T==="command")z0("command"),j8(B0);else if(T==="mention")z0("arion"),C3(B0),s6("mention")},[]),LK=B$((T)=>{z0("none"),O9("");let B0=T.requiresArgs===!0||(T.args?.length??0)>0;if(T.name==="become")z0("arion"),s6("become"),S3("all");else if(T.name==="rest")z0("arion"),s6("rest"),S3("active");else if(T.name==="wake")z0("arion"),s6("wake"),S3("resting");else if(T.name==="model")z0("model");else if(T.name==="theme")z0("theme");else if(T.name==="memories")Y0?.("browse"),z0("memory");else if(T.name==="forget")Y0?.("forget"),z0("memory");else if(T.name==="resume")J5();else if(T.name==="exit")o6();else if(B0){O9(`/${T.name} `);return}else W0(T.name)},[W0,Y0,o6]),h2=B$((T)=>{if(z0("none"),I3==="mention"){let B0=E8.replace(/@\w*$/,"");O9(B0+"@"+T.name+" ")}else V?.(T.name,I3)},[I3,E8,V]),Z5=B$((T,B0)=>{z0("none"),S?.(T.value??T.name,B0)},[S]),H5=B$((T)=>{z0("none"),d?.(T)},[d]),b9=B$((T)=>{z0("none"),R0?.(T)},[R0]),k9=B$(()=>{if(z0("none"),I3!=="mention")O9("");j8(""),C3("")},[I3]),I6=B$((T)=>{z0("none"),O9(T),j8("")},[]),f0=O3(()=>iW(H,X,{userName:C}),[H,X,C]),j9=O3(()=>sZ(f0,I),[f0,I]),g3=O3(()=>j9.filter((T)=>T.committed),[j9]),v3=O3(()=>j9.filter((T)=>!T.committed),[j9]),U1=Q&&G?G:null,d8=U1!==null,$$=e6.kind!=="idle",RK=Math.max(t7-4,20),XQ=O3(()=>{if(!U1)return 0;return Math.max(g9(U1,{width:RK}).split(`
459
+ `).length,1)},[RK,U1]),D2=(d8?4+XQ:0)+($$?2:0),T9=Math.max(K5-D2,1),u=O3(()=>{let T=new Map,B0="";for(let r0 of j9){let D$=r0.kind==="user-message"||r0.kind==="user-image"?`user:${r0.userName}`:r0.kind==="assistant-text"?`assistant:${r0.arion?.name??"ARIA"}`:r0.kind==="thinking"?`assistant:${r0.arion?.name??"ARIA"}`:r0.kind==="tool-execution"?"tool":r0.kind,V9=r0.kind==="user-message"||r0.kind==="user-image"||r0.kind==="assistant-text"||r0.kind==="thinking";if(T.set(r0.id,V9&&D$!==B0),V9)B0=D$}return T},[j9]),p8=O3(()=>{let T=new Map;for(let B0=0;B0<j9.length;B0++){let r0=j9[B0],D$=B0>0?j9[B0-1]:void 0,V9=r0.kind==="tool-execution"&&D$?.kind==="tool-execution";T.set(r0.id,B0>0&&!V9)}return T},[j9]),c2=O3(()=>{let T=[];if(Z)T.push({id:"header",_kind:"banner"});for(let B0 of g3)T.push({...B0,_kind:"item"});return T},[Z,g3]);return n(Jf,{children:[n(sR,{items:c2,children:(T)=>{if(T._kind==="banner")return n(r6,{width:"100%",justifyContent:"center",children:Z},T.id,!1,void 0,this);return n(r6,{flexDirection:"column",marginTop:p8.get(T.id)?1:0,children:n(zJ,{item:T,displayMode:I,showPrefix:u.get(T.id)??!1},void 0,!1,void 0,this)},T.id,!1,void 0,this)}},`static-${D0}`,!1,void 0,this),n(r6,{flexDirection:"column",width:"100%",children:[n(r6,{flexDirection:"column",maxHeight:K5,justifyContent:"flex-end",overflowY:"hidden",children:[v3.length>0&&n(r6,{flexDirection:"column",maxHeight:T9,overflowY:"hidden",children:v3.map((T)=>n(r6,{flexDirection:"column",marginTop:p8.get(T.id)?1:0,children:n(zJ,{item:T,displayMode:I,showPrefix:u.get(T.id)??!1,previewTailLines:T9},void 0,!1,void 0,this)},T.id,!1,void 0,this))},void 0,!1,void 0,this),d8&&n(r6,{marginTop:1,flexDirection:"column",children:[n(w4,{param:{type:"text",text:U1??""},userName:C??"User",columns:t7,showPrefix:!0,addMargin:!1},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" ↑ queued — press esc or ↑ to cancel and edit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M&&j.length>0&&n(XH,{spans:j},void 0,!1,void 0,this),w?.showPipelineTiming&&G0&&G0.phases.length>0&&n(QH,{report:G0},void 0,!1,void 0,this),$5&&n(r6,{flexDirection:"column",borderStyle:"round",borderColor:"gray",paddingX:1,marginY:1,children:[n(y$,{bold:!0,dimColor:!0,children:"Hotkeys"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Ctrl+\\ — cycle display mode"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Ctrl+t — toggle thinking blocks"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Ctrl+g — toggle cost display"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Ctrl+e — cycle effort level"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Ctrl+s — toggle trace waterfall"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Escape — cancel streaming / close overlay / clear input"},void 0,!1,void 0,this),n(y$,{dimColor:!0,children:" Ctrl+/ — toggle this help"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$$&&n(zH,{state:e6.kind==="thinking"?"thinking":"composing",elapsedSeconds:Math.floor(b?.wallTimeSeconds??0),totalTokens:b?.totalTokens??0,thoughtForSeconds:e6.kind==="composing"?e6.thoughtForSeconds:void 0,currentVerb:e6.kind==="tool_running"?[...new Set(e6.tools.values())].join(" · "):e6.verb.present},void 0,!1,void 0,this)]},void 0,!0,void 0,this),n(r6,{flexDirection:"column",flexShrink:0,children:[JK&&p7&&W2&&n(ZH,{currentLevel:z2??$f.autonomy,onSelect:p7,onCancel:W2},void 0,!1,void 0,this),f8&&_2&&q2&&n(uW,{providers:f8,onSelect:_2,onCancel:q2},void 0,!1,void 0,this),x7&&N2&&b$&&n(JH,{options:x7,onSelect:N2,onCancel:b$},void 0,!1,void 0,this),l==="login-method"&&y3&&v8&&w2&&n(T7,{options:y3,onSelect:(T)=>v8(T.id),onCancel:w2,title:HK??"Choose an option:",isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-method"&&a7&&M8&&U2&&n(nW,{options:a7,onSelect:M8,onCancel:U2,isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-input"&&g$&&C2&&T8&&n(h7,{title:g$.title,hint:g$.hint,onSubmit:C2,onCancel:T8,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-input"&&w8&&O2&&C8&&n(h7,{title:"Enter Anthropic API key",hint:"Paste your sk-ant-api03-* key",onSubmit:O2,onCancel:C8,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-input"&&A2&&I8&&n7&&n(h7,{title:"Enter setup token",hint:"From `claude setup-token` or admin provisioning",onSubmit:I8,onCancel:n7,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-method"&&f3&&L2&&S8&&n(T7,{options:f3,onSelect:L2,onCancel:S8,title:"Select OpenAI login method:",isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-input"&&R2&&b8&&f2&&n(h7,{title:"Enter OpenAI API key",hint:"Paste your sk-* key",onSubmit:b8,onCancel:f2,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login-method"&&B3&&B2&&k8&&n(T7,{options:B3,onSelect:B2,onCancel:k8,title:"Select Google login method:",isActive:l==="login-method"},void 0,!1,void 0,this),l==="login-input"&&y2&&g8&&M2&&n(h7,{title:"Enter Google API key",hint:"Paste your AIza* key",onSubmit:g8,onCancel:M2,isActive:l==="login-input"},void 0,!1,void 0,this),l==="login"&&L3&&KK&&k$&&n(rW,{provider:L3,onCancel:k$,...l7&&u7?{authorizeUrl:l7,expectedState:n6??void 0,onCodeSubmit:u7}:{onComplete:KK},isActive:l==="login"},void 0,!1,void 0,this),l==="login"&&r7&&B8&&y8&&n($H,{provider:r7,profileLabel:ZK??void 0,...R3&&F2&&P2?{verificationUri:R3,userCode:F2,onApprove:P2}:{onComplete:B8},onCancel:y8},void 0,!1,void 0,this),n(r6,{flexDirection:"column",children:[l==="command"&&n(IH,{commands:W,initialFilter:V$,onSelect:LK,onHandOffInput:I6,onCancel:k9},void 0,!1,void 0,this),l==="arion"&&n(SH,{arions:N,initialFilter:m8,statusFilter:qK,onSelect:h2,onCancel:k9},void 0,!1,void 0,this),l==="model"&&n(kH,{models:q,effortLevel:L8,onSelect:Z5,onCancel:k9},void 0,!1,void 0,this),l==="theme"&&n(EH,{onSelect:H5,onCancel:k9},void 0,!1,void 0,this),l==="invite-share"&&v$&&n(uH,{inviteToken:v$.inviteToken,inviteLabel:v$.inviteLabel,expiresAt:v$.expiresAt,onClose:()=>{z0("none"),b2?.()}},void 0,!1,void 0,this),l==="join-invite"&&n(rH,{error:GK,onSubmit:(T)=>{z0("none"),k2?.(T)},onCancel:()=>{z0("none"),QK?.()}},void 0,!1,void 0,this),l==="memory"&&n(vH,{memories:U,mode:A,isLoading:f,onSelect:b9,onCancel:k9},void 0,!1,void 0,this),l==="peers"&&n(dH,{peers:b3.length>0?b3:V8,sameHomeClientsAvailable:h8.length>0,onSelect:(T)=>{z0("none"),XK?.(T)},onCancel:k9},void 0,!1,void 0,this),l==="clients"&&n(lH,{clients:h8,onSelect:(T)=>{z0("none"),O9(`/send ${T.clientId} `),i7?.(T)},onCancel:()=>{z0("none"),M3?.()}},void 0,!1,void 0,this),l==="pair-request"&&w3&&n(aH,{request:w3,onAccept:()=>{z0("none"),YK?.()},onReject:()=>{z0("none"),zK?.()}},void 0,!1,void 0,this),l==="session"&&n(VH,{sessions:P1,onSelect:(T)=>{z0("none"),t?.(T)},onCancel:k9,onSearch:(T)=>m0?.(T),onPageChange:(T)=>o?.(T)},void 0,!1,void 0,this),l==="message-edit"&&T$&&n(DH,{messages:T$,onSelect:(T,B0)=>{z0("none"),D8?.(T,B0)},onCancel:k9},void 0,!1,void 0,this),l==="none"&&!M6&&n(NZ,{userName:C,value:E8,onChange:O9,onSubmit:J9,onTrigger:h$,onExit:()=>o6(),history:x0,onSaveInput:Q9,focus:l==="none",isStreaming:Q,onDoubleEscape:()=>{if(T$&&T$.length>0)return z0("message-edit"),!0;return!1}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(!w||w.showStatusBar)&&n(nK,{arion:{name:UK,emoji:OK,color:M1,traits:t6?.personality?.traits?.slice(0,2)},model:J,maxContextTokens:K,responseTime:z,metrics:b,displayMode:I,showCosts:B,activeArion:U9,effortLevel:L8,autonomyLevel:z2,meshMessageCount:_K},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as TJ}from"react/jsx-dev-runtime";function Qf($){let J=x5[$.toLowerCase()];return{name:$,userFacingName(K){if(J)return J.displayName(K);return $},renderToolUseMessage(K,Z){if(J)return J.renderInput(K,Z);return JSON.stringify(K)},isReadOnly(){return!1},inputSchema:{parse(K){return K??{}}}}}var Gf={message:{id:"aria-approval"}};function Yf($){switch($){case"low":return 0.2;case"moderate":return 0.5;case"high":return 0.9}}function J_($){let{stdout:J}=Xf(),K=J?.columns??80,[Z]=Zf(!1),H=Kf(()=>{if(!$.approvalRequest)return null;let{toolName:X,input:Q,riskLevel:G,resolve:Y}=$.approvalRequest;return{assistantMessage:Gf,tool:Qf(X),description:`${X} requires approval`,input:Q??{},commandPrefix:null,riskScore:Yf(G),onAbort(){Y(!1)},onAllow(z){Y(!0)},onReject(){Y(!1)}}},[$.approvalRequest]);if(H)return TJ(Hf,{flexDirection:"column",width:"100%",children:[TJ(oH,{...$},void 0,!1,void 0,this),TJ(wH,{toolUseConfirm:H,onDone:()=>{},verbose:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return TJ(oH,{...$},void 0,!1,void 0,this)}import{execFile as zf}from"node:child_process";import{existsSync as H_,readdirSync as X_}from"node:fs";import{dirname as Wf,join as VJ,resolve as _f}from"node:path";import{fileURLToPath as qf}from"node:url";var Nf=Wf(qf(import.meta.url));function Ff(){let $=Nf;for(let J=0;J<10;J++){let K=VJ($,".comms","sounds","wav");if(H_(K))return K;let Z=_f($,"..");if(Z===$)break;$=Z}return null}var $2=Ff();function $9($){if(!$2)return[];try{return X_($2).filter((J)=>new RegExp($).test(J)).map((J)=>VJ($2,J))}catch{return[]}}function K_($){if(!$2)return[];let J=VJ($2,"cloned");try{return X_(J).filter((K)=>new RegExp($).test(K)).map((K)=>VJ(J,K))}catch{return[]}}function M$($){if($.length===0)return null;return $[Math.floor(Math.random()*$.length)]}var sH=!0;function tH($){sH=$}function Q_(){return sH}function w$($){if(!sH||!$||!H_($))return;zf("afplay",[$],()=>{})}var C$={acknowledge:()=>$9("^(peasant|orc|human|dwarf|elf|troll)_acknowledge"),annoyed:()=>$9("^(peasant|orc|goblin_sapper|human|troll|ogre)_selected"),grumpy:()=>$9("^(goblin_sapper|ogre|ogre_mage)_selected"),dark:()=>[...$9("^ogre_mage_selected"),...$9("^ogre_selected"),...$9("^troll_selected")],defeat:()=>K_("^defeat_"),error:()=>K_("^error_"),readyToWork:()=>[...$9("^peasant_selected"),...$9("^orc_selected"),...$9("^human_selected"),...$9("^dwarf_selected")],fleetUp:()=>[...$9("^orc_acknowledge"),...$9("^troll_acknowledge"),...$9("^ogre_acknowledge"),...$9("^human_acknowledge"),...$9("^knight_acknowledge")],fleetDown:()=>[...$9("^ogre_mage_acknowledge"),...$9("^ship_acknowledge"),...$9("^horde_ship_acknowledge")],questDone:()=>[...$9("^jobs_done"),...$9("^orc_work_completed"),...$9("^peasant_selected"),...$9("^orc_selected"),...$9("^human_selected"),...$9("^peasant_acknowledge"),...$9("^orc_acknowledge")]},Z_=0,e5=0,Pf=15000;function Uf(){let $=Date.now();if($-Z_>Pf)e5=1;else e5++;if(Z_=$,e5<=1)w$(M$(C$.acknowledge()));else if(e5===2)w$(M$(C$.annoyed()));else if(e5===3)w$(M$(C$.grumpy()));else w$(M$(C$.dark()))}function G_(){w$(M$(C$.readyToWork()))}function Y_(){w$(M$(C$.fleetDown()))}function z_(){Uf()}function W_(){w$(M$(C$.questDone()))}function __($){switch($.type){case"error":w$(M$(C$.error()));break;case"guardrail_rejected":w$(M$(C$.defeat()));break}}var eH=[{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 hJ="1.0.19",q_=["⚡ 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"];import{autonomyToConfirmation as Ay,AUTONOMY_LEVELS as nJ,DEFAULT_SAFETY_CONFIG as Ly,isPrivateLanIP as Ry}from"@aria-cli/aria";hK();v();Y5();c1();a2();import{parseMessage as fy,recoverCrashedSessions as By,NoopOTELAdapter as yy,HttpOTELAdapter as My,JsonlEventLogger as wy}from"@aria-cli/aria";import{resolveTrustedRuntimeErrorMessage as mX}from"@aria-cli/tools";import{getCliModels as Cy,getCliSelectableModels as dX,getDefaultModelByTier as pX,getModelByShortName as Cq,MODEL_REGISTRY as Iy,selectRunnableModelVariant as d7,toShortName as Sy}from"@aria-cli/models";import{MemoriaPool as by}from"@aria-cli/aria";import{getErrorMessage as xX,log as C0}from"@aria-cli/types";c1();import{NO_RELAUNCH_ENV as Af,RELAUNCH_EXIT_CODE as Lf,RESUME_ARION_ENV as N_,RESUME_SESSION_ENV as JX,RESTART_KIND_ENV as cu,clearRelaunchMarker as Eu,readRelaunchMarker as ju,writeRelaunchMarker as Rf}from"@aria-cli/types";import{NO_RELAUNCH_ENV as xu,RELAUNCH_EXIT_CODE as lu,RESUME_ARION_ENV as uu,RESUME_SESSION_ENV as ru,RESTART_KIND_ENV as au}from"@aria-cli/types";function ZX($){Rf($)}function ff($){if(!$||typeof $!=="object")return!1;let J=$;return J.code==="EPIPE"||J.code==="EIO"||J.code==="ERR_STREAM_DESTROYED"}function $X($){try{process.stderr.write($)}catch(J){if(ff(J))return;throw J}}var F_=process.env[JX]??null,KX=process.env[N_]||"ARIA";function J2($){let J=$?.trim()||null;if(F_=J,J)process.env[JX]=J;else delete process.env[JX]}function DJ(){return F_}function HX($){KX=$||"ARIA",process.env[N_]=KX}function Bf(){return KX}function yf(){return process.env[Af]==="true"}async function P_($,J){if(!yf())throw Error("Restart requires RelaunchSupervisor; detached self-spawn has been removed.");let K=$||"Restart requested";if(J!==void 0)J2(J);let Z=DJ(),H=Bf();$X(`[aria] Relaunch requested: ${K} (session=${Z?.slice(0,8)??"none"}, arion=${H})
460
+ `);let X=process.ppid||process.pid;ZX({sessionId:Z,arionName:H,pid:X,timestamp:new Date().toISOString()});try{let Q=process.send;if(typeof Q==="function"){let G=`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;if(await new Promise((z)=>{let W=!1,N=setTimeout(()=>{if(W)return;W=!0,process.off("message",q),z(!1)},120),q=(U)=>{if(!U||typeof U!=="object")return;let A=U;if(A.type!=="aria-relaunch-ack")return;if(A.nonce!==G)return;if(W)return;W=!0,clearTimeout(N),process.off("message",q),z(!0)};process.on("message",q),Q({type:"aria-relaunch",nonce:G,resumeSessionId:Z,arionName:H},(U)=>{if(U&&!W)W=!0,clearTimeout(N),process.off("message",q),z(!1)})}))$X(`[aria] IPC handoff acknowledged by supervisor
461
+ `);else $X(`[aria] IPC ack timeout — disk marker will be used as fallback
462
+ `)}}catch{}throw process.exit(Lf),Error("Unreachable")}jK();import{randomUUID as m7}from"crypto";function XX($){return $.trim().toLowerCase()}function O_($){let J=$.trim();if(!J.startsWith("/"))return null;let K=J.indexOf(" ");if(K===-1){let X=J.slice(1);return{command:U_(X)??XX(X),args:""}}let Z=J.slice(1,K);return{command:U_(Z)??XX(Z),args:J.slice(K+1).trim()}}var Mf=["help","arions","exit","hatch","remember","recall","recall_knowledge","send","model","become","rest","wake","memories","forget","clear","autonomy","resume","fork","restart","login","logout","terminal-setup","theme","invite","join"],wf=new Map(Mf.map(($)=>[$.toLowerCase(),$]));function U_($){return wf.get(XX($))??null}aJ();dJ();NX();c1();v();import{ArionManager as Yy,ArionStorage as zy,DEFAULT_SAFETY_CONFIG as Wy}from"@aria-cli/aria";import{getDefaultModelByTier as _y}from"@aria-cli/models";import{existsSync as Xy,readFileSync as ja,readdirSync as Qy}from"node:fs";Z2();Y5();import Gy from"node:path";function jX($,J){let K=J.trim();if(!K)return"ARIA";let Z=Gy.join($,"arions");if(!Xy(Z))return K;try{let H=K.toLowerCase();for(let X of Qy(Z,{withFileTypes:!0}))if(X.isDirectory()&&X.name.toLowerCase()===H)return X.name}catch{}return K}async function qy($){let J=new zy($.ariaDir),K=new Yy(J,$.memoriaFactory);return K.setRouter($.router),await K.initialize(),K}function Lq($,J){let K=J.trim().toLowerCase();return $.find((Z)=>Z.shortName.toLowerCase()===K||typeof Z.id==="string"&&Z.id.toLowerCase()===K)}function Rq($){return _y($??"balanced")}function fq($){let J=$.cli,K=jX(J.ariaDir,$.activeArionName??J.config.activeArion??"ARIA"),Z,H=[...J.availableModels],X=null,Q=new Map,G=async()=>{return X??=qy(J),X},Y=async()=>{let C=await(await G()).get(K);if(!C)throw Error(`Unable to resolve active Arion ${K}`);return C},z=async()=>{let f=await Y(),C=Q.get(f.name);if(C)return C;let I=await(await G()).getMemoria(f);if(!I)throw Error(`Memoria is unavailable for Arion ${f.name}`);return Q.set(f.name,I),I},W={list:async()=>(await G()).list(),hatch:async(f)=>(await G()).hatch(f),get:async(f)=>(await G()).get(f),wake:async(f)=>{await(await G()).wake(f)},rest:async(f,C)=>{await(await G()).rest(f,C)}},N={async getTheme(){return _0().theme??L().name},async setTheme(f){let C=f.trim();if(!g6().includes(C))throw Error(`Unknown theme: ${f}`);let b=_0();return b.theme=C,T0(b),k6(C),{theme:C}},async getAutonomy(){return _0().autonomy??Wy.autonomy},async setAutonomy(f){if(!["minimal","balanced","high","full"].includes(f))throw Error(`Invalid autonomy level: ${f}`);let C=_0();return C.autonomy=f,T0(C),{autonomy:f}},async getActiveArion(){return K},async setActiveArion(f){let C=f.trim()||"ARIA",b=jX(J.ariaDir,C);try{let y=await(await G()).get(C);if(y?.name)b=y.name}catch{}let I=_0();I.activeArion=b,T0(I),K=b}},q={async listAvailable(){return H},async refresh(f){return H=[...await J.refreshAvailableModels(f)],H},async getCurrentModel(){if(Z)return Z;let f=_0();try{let C=await Y();if(typeof C.preferredModel==="string"&&C.preferredModel.trim().length>0)return Z=C.preferredModel.trim(),Z}catch{}return Z=Rq(f.preferredTier??J.config.preferredTier)?.shortName,Z},async setCurrentModel(f){let C=Lq(H,f)??Lq(await J.refreshAvailableModels(!0),f);if(!C)throw Error(`Unknown model: ${f}`);Z=C.shortName;let b=_0();b.preferredTier=C.tier,T0(b),H=[...await J.refreshAvailableModels(!1)];try{let I=await G(),w=await Y();await I.setPreferredModel(w.name,C.shortName)}catch{}return{currentModel:C.shortName,tier:C.tier}},async getSessionModel(){return Z}};(async()=>{try{let f=await Y();if(typeof f.preferredModel==="string"&&f.preferredModel.trim().length>0){Z=f.preferredModel.trim();return}}catch{}Z=Rq(_0().preferredTier??J.config.preferredTier)?.shortName})();let U={async status(){return{providers:U8()}},async login(f){let C=typeof f.args==="string"?f.args:"";return mJ(C)},async logout(f){let C=typeof f.args==="string"?f.args:"";return pJ(C)}},A=new Proxy({},{get(f,C){return async(...b)=>{let I=await z(),w=I[C];if(typeof w!=="function")throw Error(`Memoria method ${String(C)} is unavailable`);return w.apply(I,b)}}});return{arionManager:$.overrides?.arionManager??W,auth:$.overrides?.auth??U,config:$.overrides?.config??N,memoria:$.overrides?.memoria??A,modelDiscovery:$.overrides?.modelDiscovery??q}}f4();function Bq($){let J=$();if(!J)throw Error("Late-bound service target is unavailable");return J}function yq($){return new Proxy({},{get(J,K){if(K==="then")return;let H=Bq($)[K];if(typeof H!=="function")throw Error(`Late-bound service method ${String(K)} is unavailable`);return(...X)=>H.apply(Bq($),X)},has(J,K){return typeof $()?.[K]==="function"},ownKeys(){let J=$();return Reflect.ownKeys(J??{}).filter((K)=>typeof J?.[K]==="function")},getOwnPropertyDescriptor(J,K){let Z=$();if(typeof Z?.[K]!=="function")return;return{configurable:!0,enumerable:!0,writable:!1,value:Z[K]}}})}import{useReducer as Ny,useMemo as Mq,useCallback as Fy}from"react";function Py($,J){switch(J.type){case"START_TURN":return{items:$.items,streamCursor:$.items.length};case"UPDATE_STREAM":{if($.streamCursor===null)return $;return{items:[...$.items.slice(0,$.streamCursor),...J.snapshot],streamCursor:$.streamCursor}}case"COMMIT_TURN":{let K=$.streamCursor??$.items.length,Z=[...$.items.slice(0,K),...J.flushed];return{items:Z,streamCursor:Z.length}}case"END_TURN":return{items:$.items,streamCursor:null};case"APPEND_COMMITTED":{if($.streamCursor!==null){let K=$.items.slice(0,$.streamCursor),Z=$.items.slice($.streamCursor);return{items:[...K,...J.items,...Z],streamCursor:$.streamCursor+J.items.length}}return{items:[...$.items,...J.items],streamCursor:null}}case"RESET":return{items:J.items??[],streamCursor:null};case"DISCARD_STREAMING":{if($.streamCursor===null)return $;return{items:$.items.slice(0,$.streamCursor),streamCursor:null}}case"FUNCTIONAL_UPDATE":{if($.streamCursor!==null){let K=$.items.slice(0,$.streamCursor),Z=$.items.slice($.streamCursor),H=J.updater(K);return{items:[...H,...Z],streamCursor:H.length}}return{items:J.updater($.items),streamCursor:null}}case"COMMIT_AND_END":{let K=$.streamCursor??$.items.length;return{items:[...$.items.slice(0,K),...J.flushed],streamCursor:null}}default:return $}}function wq($){let J=$?{items:$,streamCursor:null}:{items:[],streamCursor:null},K=Py,[Z,H]=Ny(K,J),X=Mq(()=>Z.streamCursor!==null?Z.items.slice(0,Z.streamCursor):Z.items,[Z.items,Z.streamCursor]),Q=Mq(()=>Z.streamCursor!==null?Z.items.slice(Z.streamCursor):[],[Z.items,Z.streamCursor]),G=Z.streamCursor!==null,Y=Fy((z)=>{if(typeof z==="function")H({type:"FUNCTIONAL_UPDATE",updater:z});else H({type:"RESET",items:z})},[H]);return{items:Z.items,committedItems:X,streamingItems:Q,isStreaming:G,dispatch:H,setItems:Y}}import{jsxDEV as uX}from"react/jsx-dev-runtime";function lX($){return $!=null&&typeof $==="object"&&"code"in $&&$.code==="ARIA_SESSION_EXPIRED"}function Iq($){try{let J=typeof $==="string"?$:JSON.stringify($);if(!J)return"";return J.length>160?`${J.slice(0,160)}...`:J}catch{return""}}function ky($){let J=UQ(),K=J?`phase="${J.label}" (active for ${J.ageMs.toFixed(0)}ms)`:"phase=unknown (no phase set)",Z=`[InkREPL][WARN] Event loop stall detected: ${$.toFixed(0)}ms (threshold ${IK}ms) ${K}
463
+ `,H=Error("[InkREPL] Event loop watchdog detection stack").stack??"[stack unavailable]";try{process.stderr.write(Z),process.stderr.write(`${H}
464
+ `)}catch{}}function gy($){if(!process.env.DEBUG)return;try{let J=($/1000).toFixed(1);process.stderr.write(`[InkREPL][DEBUG] System sleep/suspend detected: ${J}s
465
+ `)}catch{}}function vy($){if($==="high"||$==="dangerous")return"high";if($==="moderate")return"moderate";return"low"}function Ty($){for(let J=$.length-1;J>=0;J--)if($[J]?.role==="assistant")return $[J].content;return""}function Vy($){return`${$.provider}/${$.shortName}`}function hy($,J,K){let Z=$.trim().toLowerCase();if(!Z)return;let H=[...J].sort((q,U)=>q.shortName.localeCompare(U.shortName)),X=H.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase()===Z});if(X)return X;let Q=H.find((q)=>q.shortName.toLowerCase()===Z);if(Q)return d7(Q,K);let G=H.find((q)=>q.shortName.toLowerCase().startsWith(Z));if(G)return d7(G,K);let Y=H.find((q)=>{return`${q.provider}/${q.shortName}`.toLowerCase().startsWith(Z)});if(Y)return Y;let z=H.find((q)=>q.tier.toLowerCase()===Z);if(z)return d7(z,K);let W=H.find((q)=>q.displayName.toLowerCase().includes(Z));if(W)return d7(W,K);let N=H.find((q)=>q.provider.toLowerCase().includes(Z));return N?d7(N,K):void 0}async function vn($,J,K){let Z=Array($.length),H=[],X=async()=>{if(H.length===0)return;let G=(await Promise.allSettled(H.map((Y)=>K(Y.call)))).map((Y,z)=>Y.status==="fulfilled"?Y.value:{id:H[z].call.id,result:`Tool error: ${Y.reason?.message||"Unknown error"}`,isError:!0});for(let Y=0;Y<H.length;Y++)Z[H[Y].index]=G[Y];H=[]};for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J.get(G.name)?.isReadOnly)H.push({index:Q,call:G});else await X(),Z[Q]=await K(G)}return await X(),Z}var v9={sessionId:null,sessionHistory:null,memoriaSession:null,memoriaFactory:null,jsonlLogger:null};function Sq($,J,K){let Z=K>1?`Run paused: answer question ${J+1} of ${K} to continue.`:"Run paused: answer the question below to continue.",H=Array.isArray($.options)&&$.options.length>0?`
466
+ Options: ${$.options.join(" | ")}`:"";return`${Z}
467
+ ${$.question}${H}`}function Dy({session:$,manager:J,router:K,aria:Z,attachedLocalControl:H,cliContext:X,sessionHistory:Q,initialModel:G="sonnet-4.5",inputHistory:Y=[],onSaveInput:z,initialMessage:W,resumeSessionId:N,cachedUserName:q,initialAvailableModels:U=Cy(),refreshAvailableModels:A,credentialHints:f,authResolver:C}){let{exit:b}=Oy(),{committedItems:I,streamingItems:w,isStreaming:y,dispatch:B,setItems:M}=wq(),j=_0(),G0=j.preferredTier||"balanced",J9=pX(G0,f)?.shortName||G,[W0,V]=x(J9),S=k0(J9),[d,R0]=x(j.effortLevel??"high"),Y0=y,H0=k0(!1),I0=k0(!1),u0=k0(!1),M9=k0(!1),P1=k0(Promise.resolve()),t=k0(null),[X0,m0]=x(null),[o,D0]=x(),[z9,U0]=x([]),[x0,Q9]=x(q??null),[t9,K9]=x(0),[M6,$K]=x([]),[L8,JK]=x("browse"),[z2,p7]=x(!1),[W2,R8]=x([]),[t1,f8]=x(U),[_2,q2]=x(void 0),[x7,N2]=x(void 0),b$=k0(0),L3=k0(""),l7=k0(0),n6=k0(null),KK=100,u7=j.autonomy??Ly.autonomy,k$=k0(u7),[r7,ZK]=x(u7),R3=s((_)=>{k$.current=_,ZK(_),T0({..._0(),autonomy:_})},[]),[F2,B8]=x(!1),[P2,y8]=x(null),[a7,M8]=x(null),[U2,w8]=x(null),[O2,C8]=x(null),[A2,I8]=x(null),[n7,f3]=x(null),[L2,S8]=x(null),[R2,b8]=x(null),[f2,B3]=x(null),[B2,k8]=x(null),[y2,g8]=x(null),[M2,y3]=x(!1),[HK,v8]=x(!1),[w2,g$]=x(null),[C2,T8]=x(!1),[V8,h8]=x(null),[XK,i7]=x(!1),[I2,M3]=x(null),[S2,o7]=x(null),[v$,b2]=x(null),[i6,k2]=x(null),[QK,GK]=x([]),[w3,YK]=x([]),[zK,g2]=x(void 0),[v2,T$]=x(void 0),[D8,c8]=x(null),[WK,_K]=x(void 0),[HQ,s7]=x(null),[w6,T2]=x(null),o6=k0(null),t7=k0(0),[e7,E8]=x(null);y9(()=>{S.current=W0},[W0]),y9(()=>{h$.current=$.getPrimary()?.name||j.activeArion||"ARIA"},[$,j.activeArion]);let[O9,l]=x(null),z0=s((_)=>new Promise((O)=>{t7.current+=1,E8({id:t7.current,toolName:_.toolName,input:_.input,riskLevel:_.riskLevel,..._.issues?{issues:_.issues}:{},resolve:O})}),[]),V$=s((_)=>{$.addToHistory(_)},[$]),j8=s((_)=>{let O=a8(_);if(Q&&f0.current)Q.addConversationMessage(f0.current,O);if(v9.jsonlLogger?.log({type:"user_message",content:_,id:O.id}),I0.current)I0.current=!1;else M((F)=>[...F,O]);V$({role:"user",content:_})},[V$,Q]),m8=s((_)=>{let O=_&&typeof _==="object"&&"diagnostic"in _?_.diagnostic:void 0;v9.jsonlLogger?.log({type:"error",error:{message:mX(xX(_),O)??xX(_),...O===void 0?{}:{diagnostic:O}}})},[]),C3=s((_,O)=>{let F=Ty(_).trim();if(!F)return;V$({role:"assistant",content:F,...O?{arion:O}:{}})},[V$]),[I3,s6]=x({turnCount:0,totalTokens:0,estimatedCost:0,wallTimeSeconds:0,contextTokens:0,contextStale:!1}),[qK,S3]=x(0),[$5,NK]=x(null);y9(()=>{let _=!1;return(async()=>{try{let O=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,{resolveRuntimeRootDirectory:F,findRuntimeOwnerRecordByAriaHome:P}=await import("@aria-cli/server"),R=F(),g=P(R,O)?.runtimeSocket??null;if(!_)NK(g)}catch{}})(),()=>{_=!0}},[]);let[C6]=x(()=>{let _=EK(),O=_0(),F=O.theme;if(!F&&_.display.theme){F=_.display.theme;try{T0({...O,theme:F})}catch(P){C0.warn("[Theme] YAML→JSON migration failed (non-fatal):",P.message)}}if(F)if(g6().includes(F))k6(F);else C0.warn(`[Theme] Invalid theme "${F}" in config, using default`);return _}),FK=k0(C6.persistence.otelEndpoint?new My(C6.persistence.otelEndpoint):new yy),[V2,J5]=x(C6.display.mode),[b3,k3]=x(()=>{let{mode:_,syntaxHighlighting:O,maxToolOutputLines:F,maxThinkingPreview:P,...R}=C6.display;return R}),[PK,t6]=x(void 0),[UK,M1]=x([]),[OK,e6]=x(0),[AK,K5]=x(),h$=k0($.getPrimary()?.name||j.activeArion||"ARIA"),[LK,h2]=x(null),Z5=k0(0),H5=k0(0),b9=k0(null),k9=k0(null);y9(()=>{let _=_0().soundEnabled;return tH(_!==!1),G_(),()=>{Y_()}},[]),y9(()=>{return OQ({thresholdMs:IK,onStall:ky,onSleep:gy})},[]);let I6=k0([]),f0=k0(null),j9=k0(null),g3=k0(null);if(!g3.current){let _=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,O=new by(_,K,()=>f0.current);g3.current=O.toFactory()}y9(()=>{return()=>{let _=f0.current;(async()=>{if(_&&Q)try{Q.markCompleted(_)}catch(F){C0.warn("[InkREPL] SessionHistory completion mark failed:",F)}if(_&&j9.current)try{await j9.current.endSession(_)}catch(F){C0.warn("[InkREPL] Memoria session end failed (non-critical):",F)}await g3.current?.closeAll()})().catch((F)=>{C0.warn("[InkREPL] MemoriaPool cleanup failed:",F?.message)})}},[]);let v3=k0(null),U1=k0(null),d8=k0(null),$$=s(async(_)=>{let O=Date.now()+20000;while(Date.now()<O){if(_?.aborted)return null;let P=(v3.current??await(d8.current??Promise.resolve(null)))?.control??U1.current??null;if(P)return P;await new Promise((R)=>setTimeout(R,250))}return U1.current??null},[]),RK=s(async()=>{if(U1.current)return U1.current;let _=await $$();if(_)return _;return null},[$$]),XQ=s(()=>{return U1.current},[]),D2=s((_)=>{v3.current=_,U1.current=_.control,d8.current=Promise.resolve(_),C0.debug(`[InkREPL] Attached TUI local client to runtime ${_.runtimeId} on port ${_.port} (${_.ownership}, node ${_.nodeId})`);try{let O=`${process.env.ARIA_HOME??`${process.env.HOME}/.aria`}/run`,F=`${O}/agent-bridge.json`,P=`${F}.${process.pid}.tmp`,R=A1("fs"),g=$5??(()=>{try{let D=(()=>{throw new Error("Cannot require module "+"@anthropic-ai/claude-code");})(),c=process.cwd(),r=`${process.env.ARIA_HOME??`${process.env.HOME}/.aria`}`;return D.findRuntimeOwnerRecordByAriaHome?.(c,r)?.runtimeSocket??null}catch{return null}})();R.mkdirSync(O,{recursive:!0}),R.writeFileSync(P,JSON.stringify({socketPath:g,clientId:_.attachedClientId??null,nodeId:_.nodeId,pid:process.pid,updatedAt:new Date().toISOString()},null,2)),R.renameSync(P,F),C0.debug(`[InkREPL] Wrote agent-bridge.json (clientId=${_.attachedClientId}, socket=${g})`)}catch(O){C0.debug(`[InkREPL] Failed to write agent-bridge.json: ${O instanceof Error?O.message:String(O)}`)}},[$5]);y9(()=>{return D2(H),()=>{d8.current=Promise.resolve(null),v3.current?.release(),v3.current=null,U1.current=null}},[H,D2]);let T9=G2(()=>{if(!Q||!X)return null;let _=new Proxy({},{get(F,P){return async(...R)=>{let g=$.getPrimary(),c=(g&&typeof $.getArionMemoria==="function"?await $.getArionMemoria(g):null)??Z.components.memoria,N0=c[P];if(typeof N0!=="function")throw Error(`Memoria method ${String(P)} is unavailable`);return N0.apply(c,R)}}}),O=yq(()=>U1.current);return new Q2({cli:X,localControl:O,sessionLedger:Q,...fq({cli:X,activeArionName:$.getPrimary()?.name??X.config.activeArion??"ARIA",overrides:{memoria:_,arionManager:{list:()=>J.list(),hatch:(F)=>J.hatch(F),get:async(F)=>{return(await J.list()).find((R)=>R.name.toLowerCase()===F.toLowerCase())??null},wake:(F)=>J.wake(F),rest:(F)=>$.dismiss(F)},config:{async getTheme(){return L()},async setTheme(F){if(!g6().includes(F))throw Error(`Unknown theme: ${F}`);k6(F);let R=_0();return R.theme=F,T0(R),{theme:F}},async getAutonomy(){return k$.current},async setAutonomy(F){if(!nJ.includes(F))throw Error(`Invalid autonomy level: ${F}`);return R3(F),{autonomy:F}},async getActiveArion(){return h$.current??$.getPrimary()?.name??X.config.activeArion},async setActiveArion(F){h$.current=F;let P=_0();P.activeArion=F,T0(P)}},modelDiscovery:{async listAvailable(){return t1},async refresh(F){if(!A)return t1;let P=await A(F);return f8(P),P},async getCurrentModel(){return W0},async setCurrentModel(F){let P=hy(F,t1,f);if(!P)throw Error(`Unknown model: ${F}`);V(P.shortName),S.current=P.shortName;let R=$.getPrimary();if(R)await J.setPreferredModel(R.name,P.shortName);let g=_0();return g.preferredTier=P.tier,T0(g),{currentModel:P.shortName,tier:P.tier}}}}}),system:{async restart(F){return{accepted:!0,reason:typeof F.reason==="string"&&F.reason.trim().length>0?F.reason.trim():"Restart requested"}},async terminalSetup(){if(!D3())return{supported:!1,message:"terminal-setup is supported only in iTerm2 (macOS) and VSCode terminal."};return{supported:!0,output:R4().trim()}}}})},[Z,t1,X,J,W0,A,$,Q,R3]),u=s(async(_,O)=>{if(!T9)throw Error(`Headless kernel unavailable for ${_}`);let F=null,P=null;for await(let R of T9.dispatch({kind:"request",requestId:`${_}:${m7()}`,op:_,input:O}))if(R.kind==="interaction.required")F=R;else if(R.kind==="result")P=R;return{interactionFrame:F,resultFrame:P}},[T9]);y9(()=>{let _=!1,O=async()=>{try{let P=await u("client.inbox.list",{limit:100,unreadOnly:!0}).catch(()=>null),R=P?null:await u("message.inbox.list",{limit:100,unreadOnly:!0}),g=P??R,c=(g?.resultFrame?.ok&&Array.isArray(g.resultFrame.result.events)?g.resultFrame.result.events:[]).length;if(!_)S3(c)}catch(P){if(lX(P)){_=!0,clearInterval(F);return}if(!_)S3(0)}};O();let F=setInterval(()=>{if(!_)O()},3000);return()=>{_=!0,clearInterval(F)}},[u]),y9(()=>{let _=!1,O=H?.control;if(!O?.subscribeDirectClientInbox)return;let F=H?.nodeId,P=H?.attachedClientId,R=new Map,g=30000;return(async()=>{while(!_){try{let c=O.subscribeDirectClientInbox({afterCreatedAt:Date.now()});for await(let r of c){if(_)break;if(r.senderNodeId===F)continue;if(r.senderClientId&&P&&r.senderClientId===P)continue;if(r.recipientClientId&&P&&r.recipientClientId!==P)continue;let N0=`${r.senderNodeId}\x00${r.content}`,c0=Date.now(),w9=R.get(N0);if(w9&&c0-w9.ts<g){w9.count++,w9.ts=c0;continue}if(R.set(N0,{ts:c0,count:1}),R.size>200){for(let[T3,j$]of R)if(c0-j$.ts>=g)R.delete(T3)}let S6=r.senderDisplayNameSnapshot?.trim()||r.senderNodeId||"Unknown",y0=r.senderClientId?.match(/^client-pid-(\d+)$/)?.[1],K$=y0?`${S6} (pid ${y0})`:S6,g0=typeof r.content==="string"?r.content:JSON.stringify(r.content),v0=K$!=="Unknown"?K$:r.senderNodeId||"unknown",[a0,b6]=i2(K$,v0,g0,r.id);if(Q&&f0.current)Q.addConversationMessage(f0.current,a0),Q.addConversationMessage(f0.current,b6);if(M((T3)=>[...T3,a0,b6]),!H0.current)I0.current=!0,YQ.current(`[Incoming message from "${K$}" (${v0})]
468
+
469
+ ${g0}
470
+
471
+ [Reply using send_message with to="${v0}"]`)}}catch{}if(!_)await new Promise((c)=>setTimeout(c,2000))}})(),()=>{_=!0}},[H]),y9(()=>{return()=>{if(b9.current)clearInterval(b9.current)}},[]),y9(()=>{v9.sessionHistory=Q??null,v9.memoriaFactory=g3.current},[Q]);let p8=k0(void 0),c2=k0(null),T=k0(void 0);y9(()=>{let _=!1;return(async()=>{try{let O=await Z.recallUserName();if(_)return;Q9(O);let F=$.getPrimary(),P;if(F){if(P=await $.getArionMemoria(F)??Z.components.memoria,F.preferredModel)V(F.preferredModel)}else P=Z.components.memoria;let R=await P.count();if(_)return;K9(R)}catch{}})(),()=>{_=!0}},[Z,$]),y9(()=>{let _=!1;return(async()=>{try{let{resultFrame:O}=await u("arion.list",{});if(!O)throw Error("arion.list produced no result frame");if(!O.ok)throw Error(O.error.message);let F=O.result.arions??[];if(_)return;U0(F.map((P)=>({name:P.name,emoji:P.emoji,color:P.color,description:P.personality?.traits?.slice(0,2).join(", ")||"",isActive:$.isActive(P.name),isResting:P.status==="resting"})))}catch(O){if(_)return;M((F)=>[...F,J0(`Failed to load arions: ${O.message}`)])}})(),()=>{_=!0}},[u,$]),y9(()=>{let _=!0,O=null,F=async(R,g)=>{if(!T9)return null;let D=null;for await(let c of T9.dispatch({kind:"request",requestId:`${R}:${m7()}`,op:R,input:g}))if(c.kind==="result")D=c;return D};return(async()=>{let R=async()=>{try{let[g,D,c]=await Promise.all([F("peer.list",{}),F("peer.list_nearby",{}),F("client.list",{})]);if(!_||!g?.ok||!D?.ok||!c?.ok)return;let r=g.result.peers??[],N0=D.result.peers??[],c0=c.result.clients??[],w9=N0.map((y0)=>({displayNameSnapshot:y0.displayNameSnapshot,nodeId:y0.nodeId,host:y0.host,port:y0.port,principalFingerprint:y0.principalFingerprint,version:y0.version,tlsCaFingerprint:y0.tlsCaFingerprint,transport:y0.transport,status:y0.status})),S6=r.filter((y0)=>y0.transportState==="connected").map((y0)=>({displayNameSnapshot:y0.displayNameSnapshot??y0.nodeId,nodeId:y0.nodeId,version:"runtime",transport:"wan",status:"connected"}));GK($_(w9,S6)),YK(c0.map((y0)=>({clientId:y0.clientId,clientKind:y0.clientKind,displayLabel:y0.displayLabel,self:y0.self})))}catch(g){if(lX(g)){if(_=!1,O)clearInterval(O);O=null;return}}};if(await R(),O=setInterval(R,30000),!_&&O)clearInterval(O),O=null})(),()=>{if(_=!1,O)clearInterval(O)}},[T9]),y9(()=>{let _=!0;if(!A)return;return A(!0).then((O)=>{if(_)f8(O)}).catch((O)=>{C0.debug("[InkREPL] Background model refresh failed:",O.message)}),()=>{_=!1}},[A]);let B0=G2(()=>new Set(Iy.map((_)=>`${_.provider}:${_.id}`)),[]),r0=G2(()=>dX(t1),[t1]),D$=r0.map((_)=>({name:_.shortName,value:Vy(_),description:_.description||"",provider:_.provider,isCurrent:_.shortName===W0,knownModel:B0.has(`${_.provider}:${_.id}`)})),V9=s(async()=>{try{let{resultFrame:_}=await u("arion.list",{});if(!_)throw Error("arion.list produced no result frame");if(!_.ok)throw Error(_.error.message);let O=_.result.arions??[];U0(O.map((F)=>({name:F.name,emoji:F.emoji,color:F.color,description:F.personality?.traits?.slice(0,2).join(", ")||"",isActive:$.isActive(F.name),isResting:F.status==="resting"})))}catch(_){C0.warn("Failed to refresh arions list:",_.message)}},[u,$]),O1=s(async()=>{let _=$.getPrimary();if(_){let O=await $.getArionMemoria(_);if(O)return O}return Z.components.memoria},[$,Z]),E2=s(async()=>{p7(!0);try{let _=await O1(),O=await _.list({limit:100});$K(O.map((P)=>({id:P.id,content:P.content,network:P.network,createdAt:P.createdAt??new Date,importance:P.importance})));let F=await _.count();K9(F)}catch(_){$K([]),M((O)=>[...O,J0(`Failed to load memories: ${_.message}`)])}finally{p7(!1)}},[O1]),nq=s(()=>{if(!Q)return;try{let O=b$.current*100,F=Q.listSessions(100,O);R8(F)}catch(_){C0.warn("Failed to load sessions:",_)}},[Q]),iq=s((_)=>{if(!Q)return;try{let O=_.trim();if(L3.current=O,b$.current=0,n6.current)clearTimeout(n6.current),n6.current=null;if(!O){R8(Q.listSessions(100,0));return}let F=++l7.current;n6.current=setTimeout(()=>{try{let P=Q.searchSessionsFts(O,100,0);if(F!==l7.current)return;if(L3.current!==O)return;R8(P)}catch(P){C0.warn("Failed to execute scheduled session search:",P)}},120)}catch(O){C0.warn("Failed to search sessions:",O)}},[Q]);y9(()=>{return()=>{if(n6.current)clearTimeout(n6.current),n6.current=null}},[]);let oq=s((_)=>{if(!Q)return;try{let O=_==="next"?b$.current+1:Math.max(0,b$.current-1),F=O*100,P=L3.current,R=P?Q.searchSessionsFts(P,100,F):Q.listSessions(100,F);if(_==="next"&&R.length===0)return;b$.current=O,R8(R)}catch(O){C0.warn("Failed to paginate sessions:",O)}},[Q]);y9(()=>{let _=new AbortController;return(async()=>{if(!Q)return;try{let F=await O1();if(_.signal.aborted)return;let P=await By({sessionHistory:Q,memoria:F,router:K,signal:_.signal});if(!_.signal.aborted&&P.recovered>0)C0.debug(`[InkREPL] Recovered learning from ${P.recovered} incomplete session${P.recovered===1?"":"s"}.`)}catch(F){C0.warn("[InkREPL] Crash recovery failed:",F)}})(),()=>{_.abort()}},[Q,O1,K]);let fK=s(async(_)=>{try{let O=await O1();if("session"in O&&typeof O.session==="function")O.session(_);if("endSession"in O&&typeof O.endSession==="function")j9.current=O,v9.memoriaSession=j9.current}catch(O){C0.warn("[InkREPL] Memoria session start failed (non-critical):",O)}},[O1]),BK=s(async(_)=>{if(!_||!j9.current)return;try{await j9.current.endSession(_)}catch(O){C0.warn("[InkREPL] Memoria session end failed (non-critical):",O)}},[]),j2=s((_)=>{I6.current=h3(o2(_).filter((O)=>O.role!=="system"))},[]),x8=s((_)=>{if(!Q)return;let O=Q.loadSessionMessages(_);if(!O)return;j2(O.messages)},[Q,j2]),l8=s(()=>{e6((_)=>_+1)},[]),{columns:sq,rows:tq}=C9(),QQ=k0(!0);y9(()=>{if(QQ.current){QQ.current=!1;return}let _=setTimeout(()=>{process.stdout.write("\x1B[2J\x1B[H"),l8()},100);return()=>clearTimeout(_)},[sq,tq,l8]);let m2=s((_,O)=>{try{ZX({sessionId:_,arionName:O,pid:process.ppid||process.pid,timestamp:new Date().toISOString()})}catch(F){C0.debug(`[InkREPL] Failed to publish relaunch marker: ${F instanceof Error?F.message:String(F)}`)}},[]),c$=s(async(_)=>{if(!Q)return;if(H0.current)return;try{R1("ink-repl:resume:session.load");let{resultFrame:O}=await u("session.load",{sessionId:_});if($1(),!O)throw Error("session.load produced no result frame");if(!O.ok){M((c)=>[...c,J0(O.error.message||`Session not found: ${_}`)]);return}let F=O.result,P=F.session;if(!P){M((c)=>[...c,J0(`Session not found: ${_}`)]);return}let R=P.messages,g=Q.getSessionRuntimeState(_);if(!g||g.stateStatus!=="completed"){R1("ink-repl:resume:jsonlCrashRecovery");let c=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,r=P.arion||$.getPrimary()?.name||"ARIA",N0=t2(c,r,_),{messages:c0,backfillMessages:w9}=s2(P.messages,N0);if(R=c0,w9.length>0){for(let S6 of w9)Q.addConversationMessage(_,S6);C0.debug(`[InkREPL] JSONL→SQLite backfill: ${w9.length} messages recovered`)}$1()}$.clearHistory(),f0.current=_,J2(_),HX(P.arion||$.getPrimary()?.name||"ARIA"),m2(_,P.arion||$.getPrimary()?.name||"ARIA"),v9.sessionId=_,await new Promise((c)=>setTimeout(c,0)),R1("ink-repl:resume:setSessionMessages"),j2(R),$1(),l8(),M([a(`Resumed session (${R.length} messages from ${P.arion})`),...R]),M1([]),t6(void 0),R1("ink-repl:resume:appendSessionHistory");for(let c of R){if(c.role==="tool")continue;let r=c.content.filter((N0)=>N0.type==="text").map((N0)=>N0.text).join("");if(c.role==="assistant"&&!r)continue;V$({role:c.role,content:r,arion:c.arion?.name})}if($1(),F.pendingInteraction)await c2.current?.({pendingInteraction:{interactionId:F.pendingInteraction.interactionId,source:F.pendingInteraction.source,interaction:F.pendingInteraction.prompt},startedAt:Date.now(),abortSignal:new AbortController().signal})}catch(O){$1(),M((F)=>[...F,J0(`Error resuming session: ${xX(O)}`)])}},[Q,$,BK,fK,u,m2,V$,j2,l8]),GQ=s(async(_)=>{let O=Array.isArray(_.result.messages)?h3(structuredClone(_.result.messages.filter((g)=>g.role!=="system"))):I6.current,F=I6.current.length,P=O.slice(F);if(P.length>0){let g=n8(P,{arion:_.respondingArionName?{name:_.respondingArionName,emoji:"\uD83E\uDD8B"}:void 0}),D=f0.current;if(Q&&D)Q.addConversationMessages(D,g);M((c)=>[...c,...g])}I6.current=O;let R=_.result.usage;if(s6((g)=>({...g,...typeof _.result.turnCount==="number"?{turnCount:_.result.turnCount}:{},...typeof R?.totalTokens==="number"?{totalTokens:R.totalTokens}:{},...typeof R?.estimatedCost==="number"?{estimatedCost:R.estimatedCost}:{}})),_.result.state)return _.result.state;if(!_.result.success)throw Object.assign(Error(mX(_.result.error??"Run resume failed",_.result.diagnostic)??_.result.error??"Run resume failed"),{..._.result.diagnostic===void 0?{}:{diagnostic:_.result.diagnostic}});C3(O,_.respondingArionName),D0((Date.now()-_.startedAt)/1000);try{let D=await(await O1()).count();K9(D)}catch(g){C0.warn("Memory finalization failed:",g)}return await V9(),null},[C3,O1,V9,Q]),d2=s(async(_)=>{if(!T9)throw Error("Headless run kernel unavailable for REPL resume");if(!await $$(_.abortSignal))throw Error("Local runtime control unavailable for REPL resume");let F=null,P=null;for await(let R of T9.dispatch({kind:"interaction.respond",requestId:`${f0.current??"session"}:interaction:${m7()}`,interactionId:_.interactionId,response:_.response},{signal:_.abortSignal})){if(_.abortSignal?.aborted)break;if(R.kind==="interaction.required")F={interactionId:R.interactionId,source:R.source,interaction:R.interaction};else if(R.kind==="result")P=R}if(_.abortSignal?.aborted)return F;if(!P)throw Error("Headless run interaction produced no result frame");if(P.ok)return await GQ({result:P.result,respondingArionName:_.respondingArionName,startedAt:_.startedAt}),null;if(P.error.code==="INTERACTION_REQUIRED")return F;throw Object.assign(Error(P.error.message),{...P.error.details===void 0?{}:{diagnostic:P.error.details}})},[T9,GQ,$$]),p2=s(async(_)=>{let O=_.pendingInteraction;while(O?.interaction.kind==="tool_approval"&&!_.abortSignal.aborted){let F=await z0({toolName:O.interaction.toolName,input:O.interaction.toolInput,riskLevel:vy(O.interaction.riskLevel),...O.interaction.issues?.length?{issues:O.interaction.issues}:{}});O=await d2({interactionId:O.interactionId,response:{kind:"confirm",approved:F},respondingArionName:_.respondingArionName,startedAt:_.startedAt,abortSignal:_.abortSignal})}if(_.abortSignal.aborted)return;if(O?.interaction.kind==="questionnaire"){let F=O.interaction.questions;l({interactionId:O.interactionId,questions:F,answers:[],..._.respondingArionName?{respondingArionName:_.respondingArionName}:{},startedAt:_.startedAt}),M((P)=>[...P,a(Sq(F[0],0,F.length))]),M1([]),await V9();return}if(O){let F=O.interaction.kind==="tool_approval"?`Run paused: approval required for ${O.interaction.toolName}${Iq(O.interaction.toolInput)?` (${Iq(O.interaction.toolInput)})`:""}.`:"Run paused and requires interaction to continue.";M((P)=>[...P,a(F)]),M1([]),await V9()}},[V9,z0,d2]);c2.current=p2;let J$=s((_)=>{if(H0.current){t.current=t.current?t.current+`
472
+
473
+ `+_:_,m0(t.current);return}(async()=>{if(O9){j8(_);let g0=[...O9.answers,_];if(g0.length<O9.questions.length){l({...O9,answers:g0}),M((a0)=>[...a0,a(Sq(O9.questions[g0.length],g0.length,O9.questions.length))]);return}k9.current=new AbortController;let v0=k9.current.signal;H0.current=!0,B({type:"START_TURN"}),l(null);try{let a0=await d2({interactionId:O9.interactionId,response:{kind:"questionnaire",answers:g0},respondingArionName:O9.respondingArionName,startedAt:O9.startedAt,abortSignal:v0});await p2({pendingInteraction:a0,respondingArionName:O9.respondingArionName,startedAt:O9.startedAt,abortSignal:v0})}catch(a0){m8(a0),M((b6)=>[...b6,J0(`Error: ${a0.message}`)])}finally{k9.current=null,H0.current=!1,B({type:"DISCARD_STREAMING"}),M1([])}return}let O=O_(_);if(O&&p8.current){await p8.current(O.command,O.args);return}z_(),k9.current=new AbortController;let F=k9.current.signal;H0.current=!0,B({type:"START_TURN"});let P=fy(_);if(Q&&!f0.current)try{let v0=$.getPrimary()?.name||"ARIA";f0.current=Q.createSession(v0,W0),J2(f0.current),HX(v0),m2(f0.current,v0),v9.sessionId=f0.current;try{let a0=process.send;if(typeof a0==="function")a0({type:"aria-relaunch",resumeSessionId:f0.current,arionName:v0})}catch{}await fK(f0.current)}catch(g0){C0.warn("[InkREPL] SQLite session creation failed (non-fatal):",g0)}if(!v9.jsonlLogger&&C6.persistence.jsonlEnabled){let g0=$.getPrimary()?.name||"ARIA",a0=`${process.env.ARIA_HOME??`${process.env.HOME}/.aria`}/arions/${g0}/logs`;v9.jsonlLogger=new wy({logDir:a0,sessionId:f0.current||m7(),retentionDays:C6.persistence.jsonlRetentionDays,maxSizeMb:C6.persistence.jsonlMaxSizeMb}),v9.jsonlLogger.rotate().catch((b6)=>{C0.warn("[InkREPL] JSONL log rotation failed:",b6)})}for(let g0 of P.mentions)if(!$.isActive(g0))try{await $.activate(g0)}catch(v0){let a0=v0.message?.toLowerCase()||"";if(!a0.includes("not found")&&!a0.includes("unknown"))C0.warn(`Failed to activate @${g0}:`,v0.message)}let R=[];for(let g0 of P.mentions){let v0=$.getActiveArions().find((a0)=>a0.name.toLowerCase()===g0.toLowerCase());if(v0)R.push(v0)}if(R.length===0){let g0=$.getPrimary();if(g0)R.push(g0)}j8(_),M1([]),t6(void 0);let g=Date.now();if(S3(0),Z5.current=g,s6({turnCount:0,totalTokens:0,estimatedCost:0,wallTimeSeconds:0,contextTokens:0,contextStale:!1}),b9.current)clearInterval(b9.current);H5.current=0,b9.current=null;let D=new d$,c=100,r=!1,N0=setInterval(()=>{let g0=Math.floor((Date.now()-Z5.current)/1000);if(g0!==H5.current)H5.current=g0,y0={...y0??{},wallTimeSeconds:g0};if(y0)s6((v0)=>({...v0,...y0})),y0=null;if(r&&D.hasPendingContent())B({type:"UPDATE_STREAM",snapshot:[...D.snapshot()]}),r=!1},c),c0,w9=[],S6=$6(),y0=null;try{if(c0=(await $.getRespondingArions(_,R,[]))[0]?.arion||$.getPrimary(),K5(c0?.name),h$.current=c0?.name,c0)D.setArion({name:c0.name,emoji:c0.emoji??"\uD83E\uDD8B",color:c0.color??void 0});D.setVerb(S6.present);let v0=_0();if(!T9)throw Error("Headless run kernel unavailable for REPL submit");let a0=await $$(F);if(F.aborted)return;if(!a0)throw Error("Local runtime control unavailable for REPL submit");w9=h3([...I6.current]);let b6=f0.current,T3=null,j$=null,AN=Ay(k$.current).length>0?"pause":"approve",LN={task:_,arion:h$.current||c0?.name||v0.activeArion||"ARIA",cwd:process.cwd(),...w9.length>0?{history:w9}:{},...S.current?{requestedModel:S.current}:{},...v0.preferredTier?{preferredTier:v0.preferredTier}:{},autonomy:k$.current,approvalMode:AN};for await(let w0 of T9.dispatch({kind:"request",requestId:b6??m7(),op:"run.start",input:LN},{signal:F})){if(F.aborted)break;if(w0.kind==="interaction.required"){T3={interactionId:w0.interactionId,source:w0.source,interaction:w0.interaction};continue}if(w0.kind==="result"){j$=w0;continue}let e=w0.event;if(v9.jsonlLogger?.log(e),__(e),e.type==="handoff_start"||e.type==="handoff_result"){if(e.type==="handoff_result"){let l0=$.getActiveArions().find((m9)=>m9.name.toLowerCase()===e.target.toLowerCase());if(l0)c0=l0,D.setArion({name:l0.name,emoji:l0.emoji??"\uD83E\uDD8B",color:l0.color??void 0})}}if(e.type==="span_start"){let l0="parentSpanId"in e&&typeof e.parentSpanId==="string"?e.parentSpanId:void 0;M1((m9)=>[...m9,{spanId:e.spanId,spanType:e.spanType,name:e.name,startTime:Date.now(),...l0?{parentSpanId:l0}:{}}])}if(e.type==="span_end")M1((l0)=>l0.map((m9)=>m9.spanId===e.spanId?{...m9,endTime:Date.now(),durationMs:e.durationMs}:m9));if(e.type==="pipeline_timing")t6(e.report);if(e.type==="error")throw Error(mX(e.error.message,"diagnostic"in e.error?e.error.diagnostic:void 0)??e.error.message);if(e.type==="usage_update"){let l0=e.usage;if(typeof l0.inputTokens==="number"&&typeof l0.outputTokens==="number")D.setTokenUsage({input:l0.inputTokens,output:l0.outputTokens});if(y0={...y0??{},...typeof l0.totalTokens==="number"?{totalTokens:l0.totalTokens}:{},...typeof l0.estimatedCost==="number"?{estimatedCost:l0.estimatedCost}:{},...typeof l0.inputTokens==="number"?{contextTokens:l0.inputTokens}:{},contextStale:!1},"model"in e&&typeof e.model==="string"){let m9=Sy(e.model);if(m9!==W0)V(m9),S.current=m9}}if(e.type==="turn_complete")y0={...y0??{},turnCount:e.turnNumber};if(e.type==="tool_result")y0={...y0??{},contextStale:!0};if(D.ingest(e)==="flush"){let l0=D.flush(),m9=f0.current;if(Q&&m9)for(let u2 of l0)Q.addConversationMessage(m9,u2);B({type:"COMMIT_TURN",flushed:l0}),r=!1}else r=!0}if(h2(null),W_(),clearInterval(N0),r&&D.hasPendingContent())B({type:"UPDATE_STREAM",snapshot:[...D.snapshot()]}),r=!1;if(b9.current)clearInterval(b9.current),b9.current=null;if(s6((w0)=>({...w0,wallTimeSeconds:(Date.now()-Z5.current)/1000})),D.hasPendingContent()){let w0=D.flush(),e=f0.current;if(Q&&e)for(let e9 of w0)Q.addConversationMessage(e,e9);B({type:"COMMIT_AND_END",flushed:w0})}else B({type:"COMMIT_AND_END",flushed:[]});M1([]),D0((Date.now()-g)/1000),await new Promise((w0)=>setTimeout(w0,0));let l2=D.getSnapshotMessages()?.filter((w0)=>w0.role!=="system"),wK=!!(l2&&l2.length>0);if(wK){let w0=performance.now();R1("ink-repl:structuredClone");let e=structuredClone(l2),e9=performance.now();R1("ink-repl:repairToolCallPairing"),I6.current=h3(e);let l0=performance.now();$1();let m9=e9-w0,u2=l0-e9;if(process.env.DEBUG&&m9+u2>100)try{process.stderr.write(`[InkREPL][DIAG] post-processing: structuredClone=${m9.toFixed(0)}ms repairToolCallPairing=${u2.toFixed(0)}ms (${l2.length} msgs)
474
+ `)}catch{}}else if(Q&&f0.current)R1("ink-repl:refreshSessionMessagesFromStorage"),x8(f0.current),$1();if(F.aborted){if(D.hasPendingContent()){let w0=D.flush(),e=f0.current;if(Q&&e)for(let e9 of w0)Q.addConversationMessage(e,e9);B({type:"COMMIT_AND_END",flushed:w0})}else B({type:"DISCARD_STREAMING"});if(Q&&f0.current)x8(f0.current);if(M1([]),H0.current=!1,k9.current=null,b9.current)clearInterval(b9.current),b9.current=null}if(!F.aborted){if(H0.current=!1,!j$)throw Error("Headless run produced no result frame");if(T3){if(D.hasPendingContent()){let w0=D.flush(),e=f0.current;if(Q&&e)for(let e9 of w0)Q.addConversationMessage(e,e9);if(M((e9)=>[...e9,...w0]),!wK&&e)x8(e)}await p2({pendingInteraction:T3,...c0?.name?{respondingArionName:c0.name}:{},startedAt:g,abortSignal:F})}else{if(!j$.ok)throw Object.assign(Error(j$.error.message),{...j$.error.details===void 0?{}:{diagnostic:j$.error.details}});if(D.hasPendingContent()){let w0=D.flush(),e=f0.current;if(Q&&e)for(let e9 of w0)Q.addConversationMessage(e,e9);if(M((e9)=>[...e9,...w0]),!wK&&e)x8(e)}C3(I6.current,c0?.name),O1().then((w0)=>w0.count()).then((w0)=>K9(w0)).catch((w0)=>C0.warn("Memory finalization failed:",w0)),V9().catch((w0)=>C0.warn("Arion list refresh failed:",w0))}}}catch(g0){m8(g0),clearInterval(N0);try{if(D.hasPendingContent()){let v0=D.flush(),a0=f0.current;if(Q&&a0){for(let b6 of v0)Q.addConversationMessage(a0,b6);x8(a0)}B({type:"COMMIT_AND_END",flushed:v0})}else B({type:"DISCARD_STREAMING"})}catch(v0){C0.warn("[InkREPL] Failed to persist messages on error path:",v0?.message)}if(h2(null),b9.current)clearInterval(b9.current),b9.current=null;H0.current=!1,M1([]),M((v0)=>[...v0,J0(`Error: ${g0.message}`)])}let K$=t.current;if(K$)t.current=null,m0(null),setTimeout(()=>J$(K$),0)})().catch((O)=>{m8(O),H0.current=!1,B({type:"DISCARD_STREAMING"}),M((P)=>[...P,J0(`Error: ${O.message}`)]);let F=t.current;if(F)t.current=null,m0(null),setTimeout(()=>J$(F),0)})},[K,$,J,x0,V9,Z,O1,C3,fK,p2,T9,m2,m8,W0,d2,Q,x8,C,$$]),YQ=k0(J$);YQ.current=J$,y9(()=>{let _=N||DJ();if(!_){P1.current=Promise.resolve();return}if(_&&!M9.current)M9.current=!0,P1.current=c$(_)},[N,c$]),y9(()=>{if(!W||u0.current)return;let _=!1;return(async()=>{if(N||DJ())await P1.current;if(_||u0.current)return;u0.current=!0,await J$(W)})(),()=>{_=!0}},[W,J$,N]);let eq=s(()=>{if(k9.current){if(k9.current.abort(),k9.current=null,H0.current=!1,B({type:"DISCARD_STREAMING"}),b9.current)clearInterval(b9.current),b9.current=null}},[]),$N=s(()=>{let _=t.current;if(!_)return;t.current=null,m0(null),MK(_)},[]),JN=s(()=>{J5((_)=>{let O=SQ(_);return k3((F)=>{let P=bQ(_,F);return kQ(O,P)}),O})},[]),KN=s(()=>{k3((_)=>({..._,showThinking:!_.showThinking}))},[]),ZN=s(()=>{k3((_)=>({..._,showCosts:!_.showCosts}))},[]),HN=s(()=>{k3((_)=>({..._,showTraces:!_.showTraces}))},[]),zQ=s(async(_,O)=>{switch(_){case"help":{let F=eH.map((P)=>`/${P.name} - ${P.description}`).join(`
475
+ `);M((P)=>[...P,a(F)]);break}case"arions":{try{let{resultFrame:F}=await u("arion.list",{});if(!F)throw Error("arion.list produced no result frame");if(!F.ok)throw Error(F.error.message);let R=(F.result.arions??[]).map((g)=>`${g.emoji} ${g.name} (${g.status})`).join(`
476
+ `);M((g)=>[...g,a(R||"No arions found")])}catch(F){M((P)=>[...P,J0(`Failed to list arions: ${F.message}`)])}break}case"sound":{let F=O?.trim().toLowerCase();if(F==="on"||F==="off"){let P=F==="on";tH(P);let R=_0();R.soundEnabled=P,T0(R),M((g)=>[...g,a(`Sound notifications ${P?"enabled":"disabled"}.`)])}else{let P=Q_()?"on":"off";M((R)=>[...R,a(`Sound notifications: ${P}
477
+ Usage: /sound on | /sound off`)])}break}case"exit":{b();break}case"hatch":{let F=O?.trim();if(!F){M((P)=>[...P,a(`Usage: /hatch <name> [description]
478
+ Example: /hatch Luna a dreamy, creative assistant
479
+
480
+ Describe the arion you want to create and ARIA will help design and hatch them.`)]);break}try{let P=F.split(/\s+/),R=P[0],g=P.slice(1).join(" "),{resultFrame:D}=await u("arion.hatch",{name:R,...g?{description:g}:{}});if(!D)throw Error("arion.hatch produced no result frame");if(!D.ok)throw Error(D.error.message);let c=D.result.prompt;if(!c)throw Error("arion.hatch did not return a prompt");await J$(c)}catch(P){M((R)=>[...R,J0(`Error: ${P.message}`)])}break}case"remember":{try{let{resultFrame:F}=await u("memory.remember",{text:O??""});if(!F)throw Error("memory.remember produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result;M((g)=>[...g,a(String(P.message??"Memory saved."))]);let R=P.data?.count;if(typeof R==="number")K9(R)}catch(F){M((P)=>[...P,J0(`Error remembering: ${F.message}`)])}break}case"recall":{try{let{resultFrame:F}=await u("memory.recall",{query:O??""});if(!F)throw Error("memory.recall produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result,R=P.memories,g=String(P.message??"No memories found.");if(Array.isArray(R)&&R.length>0){let D=R.map((c,r)=>{let N0=c,c0=typeof N0.content==="string"?N0.content:String(c),w9=c0.length>80?c0.slice(0,80)+"...":c0,S6=typeof N0.confidence==="number"?`(${Math.round(N0.confidence*100)}%) `:"",y0=N0.createdAt instanceof Date?N0.createdAt.toISOString().slice(0,10):String(N0.createdAt??"").slice(0,10),K$=typeof N0.id==="string"?N0.id.slice(0,8):"unknown",g0=typeof N0.network==="string"&&N0.network.trim().length>0?N0.network:"default";return`[${r+1}] ${S6}${w9} [${g0}] ${y0} (${K$})`}).join(`
481
+ `);g=`Found ${R.length} memories:
482
+ ${D}`}M((D)=>[...D,a(g)])}catch(F){M((P)=>[...P,J0(`Error recalling: ${F.message}`)])}break}case"recall_knowledge":{if(O?.trim())try{let{resultFrame:F}=await u("memory.recall_knowledge",{topic:O.trim(),limit:5});if(!F)throw Error("memory.recall_knowledge produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result,R=Array.isArray(P.tools)?P.tools:[];if(R.length===0)M((g)=>[...g,a(`No tools found for: "${O.trim()}"`)]);else{let g=R.map((D,c)=>{let r=D.description.length>80?D.description.slice(0,80)+"...":D.description;return`[${c+1}] ${D.name} - ${r}`}).join(`
483
+ `);M((D)=>[...D,a(`Found ${R.length} tool items:
484
+ ${g}`)])}}catch(F){M((P)=>[...P,J0(`Error recalling tools: ${F.message}`)])}else M((F)=>[...F,a(`Usage: /recall_knowledge <topic>
485
+ Searches stored tools (skills, procedures, techniques) by topic.`)]);break}case"send":{try{let F=$.getPrimary()?.name??"ARIA",{resultFrame:P}=await u("message.send",{args:O??"",senderName:F});if(!P)throw Error("message.send produced no result frame");let R=P.ok?P.result:{message:P.error.message};M((g)=>[...g,P.ok?a(R.message??"Message sent."):J0(R.message??"Failed to send message.")])}catch(F){M((P)=>[...P,J0(`Failed to send peer message: ${F.message}`)])}break}case"clear":{if(H0.current)break;let F=f0.current;if(F)await BK(F);if($.clearHistory(),I6.current=[],f0.current=null,J2(null),v9.sessionId=null,v9.jsonlLogger)v9.jsonlLogger.close().catch((P)=>{C0.warn("[InkREPL] JSONL logger close failed:",P?.message??P)}),v9.jsonlLogger=null;M1([]),t6(void 0),process.stdout.write("\x1B[2J\x1B[H"),l8(),M([a("Conversation cleared.")]);break}case"resume":{if(O?.trim())await c$(O.trim());else q2((F)=>(F??0)+1);break}case"fork":{if(H0.current)break;let F=O?.trim().split(/\s+/).filter(Boolean)??[],P=F.includes("--stay"),R=F.filter((c)=>c!=="--stay"),g=f0.current,D;if(R.length===1&&/^\d+$/.test(R[0]))D=parseInt(R[0],10);else if(R.length>=1&&R[0]){if(g=R[0],R[1]&&/^\d+$/.test(R[1]))D=parseInt(R[1],10)}if(!g){M((c)=>[...c,a("No active session to fork. Start a conversation first or specify a session ID: /fork <session-id>")]);break}try{let{resultFrame:c}=await u("session.fork",{sessionId:g,...D!==void 0?{messageLimit:D}:{}});if(!c)throw Error("session.fork produced no result frame");if(!c.ok)throw Error(c.error.message);let r=c.result;if(P)M((N0)=>[...N0,a(`\uD83C\uDF74 Forked → ${r.newSessionId.slice(0,8)} (${r.messagesCopied} msgs). Resume it later with /resume ${r.newSessionId.slice(0,8)}`)]);else M((N0)=>[...N0,a(`\uD83C\uDF74 Forked ${r.sourceSessionId.slice(0,8)}→${r.newSessionId.slice(0,8)} (${r.messagesCopied} msgs)`)]),await c$(r.newSessionId)}catch(c){M((r)=>[...r,J0(`Fork failed: ${c.message}`)])}break}case"rest":{let F=O?.trim();if(!F){M((P)=>[...P,a("Usage: /rest <arion-name>")]);break}try{let{resultFrame:P}=await u("arion.rest",{name:F});if(!P)throw Error("arion.rest produced no result frame");if(!P.ok)throw Error(P.error.message);M((R)=>[...R,a(`${F} is now resting.`)]),await V9()}catch(P){M((R)=>[...R,J0(`Cannot rest ${F}: ${P.message}`)])}break}case"wake":{let F=O?.trim();if(!F){M((P)=>[...P,a("Usage: /wake <arion-name>")]);break}try{let{resultFrame:P}=await u("arion.wake",{name:F});if(!P)throw Error("arion.wake produced no result frame");if(!P.ok)throw Error(P.error.message);M((R)=>[...R,a(`${F} is now awake.`)]),await V9()}catch(P){M((R)=>[...R,J0(`Cannot wake ${F}: ${P.message}`)])}break}case"become":{let F=O?.trim();if(!F){M((P)=>[...P,a("Usage: /become <arion-name>")]);break}try{let{resultFrame:P}=await u("arion.become",{name:F});if(!P)throw Error("arion.become produced no result frame");if(!P.ok)throw Error(P.error.message);let R=P.result.arion;if(!R)throw Error(`Arion ${F} not found`);let D=_0().preferredTier||"balanced",c=pX(D,f),r=R.preferredModel||c?.shortName||G;h$.current=R.name,K5(R.name),V(r),S.current=r,M((w9)=>[...w9,a(`Switched to ${R.name} (model: ${r})`)]);let c0=await(await O1()).count();K9(c0),await V9()}catch(P){M((R)=>[...R,J0(`Cannot become ${F}: ${P.message}`)])}break}case"model":{let F=O?.trim()||"",P=F.toLowerCase();if(P==="refresh"){M((R)=>[...R,a("Discovering models from all providers...")]);try{let{resultFrame:R}=await u("model.refresh",{});if(!R)throw Error("model.refresh produced no result frame");if(!R.ok)throw Error(R.error.message);let g=R.result.models??t1,D=dX(g);M((c)=>[...c,a(`Updated model catalog (${D.length} selectable models)`)])}catch(R){M((g)=>[...g,J0(`Discovery failed: ${R.message}`)])}break}if(!P||P==="list")try{let{resultFrame:R}=await u("model.list",{});if(!R)throw Error("model.list produced no result frame");if(!R.ok)throw Error(R.error.message);let g=R.result.models??t1,D=R.result.currentModel??W0,r=dX(g).map((N0)=>` ${N0.shortName.toLowerCase()===D.toLowerCase()?"→ ":" "}${N0.provider}/${N0.shortName} (${N0.tier})`).join(`
486
+ `);M((N0)=>[...N0,a(`Current model: ${D}
487
+
488
+ Available models:
489
+ ${r}
490
+
491
+ Use /model <name> or /model <provider>/<name> to switch.`)])}catch(R){M((g)=>[...g,J0(`Model listing failed: ${R.message}`)])}else try{let{resultFrame:R}=await u("model.set",{model:F});if(!R)throw Error("model.set produced no result frame");if(!R.ok)throw Error(R.error.message);let g=R.result.currentModel??F;M((D)=>[...D,a(`Switched model to ${g}`)])}catch(R){M((g)=>[...g,J0(`Unknown model: ${F}. Use /model list to see available models. ${R.message}`)])}break}case"autonomy":{if(O&&O.trim())try{let F=O.trim().toLowerCase(),{resultFrame:P}=await u("config.autonomy.set",{autonomy:F});if(!P)throw Error("config.autonomy.set produced no result frame");if(!P.ok)throw Error(P.error.message);M((R)=>[...R,a(`Autonomy level set to: ${F}`)])}catch(F){M((P)=>[...P,J0(`Invalid autonomy level: ${O.trim().toLowerCase()}. ${F.message}`)])}else B8(!0);break}case"memories":{try{let{resultFrame:F}=await u("memory.list",{limit:20});if(!F)throw Error("memory.list produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result,R=typeof P.count==="number"?P.count:0;if(R===0)M((g)=>[...g,a("No memories stored. Use /remember to store memories.")]);else{let D=(Array.isArray(P.memories)?P.memories:[]).map((c)=>` [${c.id.slice(0,8)}] ${c.content.slice(0,80)}${c.content.length>80?"...":""}`).join(`
492
+ `);M((c)=>[...c,a(`Memories (${R} total):
493
+ ${D}`)])}}catch(F){M((P)=>[...P,J0(`Failed to list memories: ${F.message}`)])}break}case"forget":{try{let{resultFrame:F}=await u("memory.forget",{id:O??""});if(!F)throw Error("memory.forget produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result;if(M((R)=>[...R,a(String(P.message??"Memory deleted."))]),typeof P.count==="number")K9(P.count)}catch(F){M((P)=>[...P,J0(`Failed to delete memory: ${F.message}`)])}break}case"restart":{let F=O?.trim()||"User requested /restart";M((P)=>[...P,a("Restarting ARIA...")]),setTimeout(()=>{(async()=>{try{let{resultFrame:P}=await u("system.restart",{reason:F});if(!P)throw Error("system.restart produced no result frame");if(!P.ok)throw Error(P.error.message)}catch(P){M((R)=>[...R,J0(`Restart preparation failed: ${P.message}`)])}try{await P_(F,f0.current)}catch(P){M((R)=>[...R,J0(`Restart failed: ${P.message}`)])}})()},100);break}case"terminal-setup":{try{let{resultFrame:F}=await u("system.terminal_setup",{});if(!F)throw Error("system.terminal_setup produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result;M((R)=>[...R,a(P.supported===!1?P.message??"terminal-setup is unavailable.":P.output??"")])}catch(F){M((P)=>[...P,J0(`terminal-setup failed: ${F.message}`)])}break}case"login":{try{await e1("auth.login",O??"")}catch(F){M((P)=>[...P,J0(`Login failed: ${F.message}`)])}break}case"logout":{try{await e1("auth.logout",O??"")}catch(F){M((P)=>[...P,J0(`Logout failed: ${F.message}`)])}break}case"theme":{let F=(O??"").trim().toLowerCase();if(!F){N2((P)=>(P??0)+1);break}try{let{resultFrame:P}=await u("config.theme.set",{theme:F});if(!P)throw Error("config.theme.set produced no result frame");if(!P.ok)throw Error(P.error.message);M((R)=>[...R,a(`Theme changed to ${_4(F)?.displayName??F} (${F})`)])}catch(P){let R=g6();M((g)=>[...g,J0(`Unknown theme "${F}". Available: ${R.join(", ")}. ${P.message}`)])}break}case"invite":{await WN(O?.trim());break}case"join":{let F=O?.trim();if(F)await _Q(F);else s7(null),_K((P)=>(P??0)+1);break}case"peers":{g2((F)=>(F??0)+1);break}case"clients":{T$((F)=>(F??0)+1);break}default:{M((F)=>[...F,a(`Unknown command: /${_}. Type /help for available commands.`)]);break}}},[J,K,Z,W0,t1,r0,f,u,b,O1,J$,c$,BK,G,A,V9,$,l8]);p8.current=zQ;let XN=s(async(_,O)=>{if(O==="mention")return;try{if(O==="become"){let{resultFrame:F}=await u("arion.become",{name:_});if(!F)throw Error("arion.become produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result.arion;if(!P)throw Error(`Arion ${_} not found`);let g=_0().preferredTier||"balanced",D=pX(g,f),c=P.preferredModel?Cq(P.preferredModel):void 0,r=(c?d7(c,f).shortName:void 0)||D?.shortName||G;V(r),S.current=r,M((w9)=>[...w9,a(`Switched to ${P.name} (model: ${r})`)]);let c0=await(await O1()).count();K9(c0)}else if(O==="rest"){let{resultFrame:F}=await u("arion.rest",{name:_});if(!F)throw Error("arion.rest produced no result frame");if(!F.ok)throw Error(F.error.message);M((P)=>[...P,a(`${_} is now resting`)])}else if(O==="wake"){let{resultFrame:F}=await u("arion.wake",{name:_});if(!F)throw Error("arion.wake produced no result frame");if(!F.ok)throw Error(F.error.message);M((P)=>[...P,a(`${_} is now awake`)])}await V9()}catch(F){M((P)=>[...P,J0(`Error: ${F.message}`)])}},[f,u,O1,G,V9]),WQ=s(async(_,O)=>{let{resultFrame:F}=await u("model.set",{model:_});if(!F)throw Error("model.set produced no result frame");if(!F.ok)throw Error(F.error.message);let P=F.result.currentModel??_;if(O){R0(O);let R=_0();R.effortLevel=O,T0(R)}M((R)=>[...R,a(`Switched to ${P}`)])},[u]);T.current=WQ;let yK=s(async(_)=>{try{let{resultFrame:O}=await u("config.theme.set",{theme:_.name});if(!O)throw Error("config.theme.set produced no result frame");if(!O.ok)throw Error(O.error.message);M((F)=>[...F,a(`Theme changed to ${_.displayName} (${_.name})`)])}catch(O){M((F)=>[...F,J0(`Theme change failed: ${O.message}`)])}},[u]),QN=k0(yK);QN.current=yK;let GN=s(async(_)=>{if(_.status==="connected"){try{}catch{}M((P)=>[...P,a(`✓ Already connected to ${_.displayNameSnapshot} (same identity, shared server on port ${_.port}).`)]);return}let O=_.host&&Ry(_.host);if(_.transport!=="wan"&&_.host&&!O){M((P)=>[...P,J0(`Rejected: ${_.host} is not a private LAN address.`)]);return}try{if(!_.principalFingerprint)throw Error(`${_.displayNameSnapshot} did not advertise a principal fingerprint`);if(!_.tlsCaFingerprint)throw Error(`${_.displayNameSnapshot} did not advertise a TLS fingerprint`);if(!_.host||!_.port)throw Error(`${_.displayNameSnapshot} did not advertise a control endpoint`);let{resultFrame:P}=await u("peer.connect",{nodeId:_.nodeId,displayName:_.displayNameSnapshot,principalFingerprint:_.principalFingerprint,controlEndpoint:{host:_.host,port:_.port,tlsCaFingerprint:_.tlsCaFingerprint,tlsServerIdentity:_.principalFingerprint,protocolVersion:1},transport:_.transport});if(!P)throw Error("peer.connect produced no result frame");if(!P.ok)throw Error(P.error.message);let R=P.result.invite;if(!R)throw Error("peer.connect returned no invite payload");M((g)=>[...g,a(R.mode==="wan_pair"?`Paired with ${R.displayNameSnapshot??R.nodeId}. Awaiting verified ingress before the runtime marks the peer active.`:`Paired with ${R.displayNameSnapshot??R.nodeId}. WG tunnel will connect when accepted.`)])}catch(P){M((R)=>[...R,J0(`Failed to connect to ${_.displayNameSnapshot}: ${P.message}`)])}},[u]),YN=s(async()=>{if(!w6)return;let{id:_,nodeId:O,displayNameSnapshot:F}=w6,P=F??O;T2(null),M((R)=>[...R,a(`Accepting connection from ${P}...`)]);try{let{resultFrame:R}=await u("peer.pending.respond",{requestId:_,accepted:!0});if(!R)throw Error("peer.pending.respond produced no result frame");if(!R.ok)throw Error(R.error.message);let g=R.result.response??{};if(g.error)throw Error(g.error);if(g.accepted)M((D)=>[...D,a(`Connected to ${P}. Tunnel established.`)])}catch(R){M((g)=>[...g,J0(`Failed to accept connection: ${R.message}`)])}},[u,w6]),zN=s(()=>{if(!w6)return;let{id:_,nodeId:O,displayNameSnapshot:F}=w6,P=F??O;T2(null),M((R)=>[...R,a(`Rejected connection from ${P}.`)]),u("peer.pending.respond",{requestId:_,accepted:!1}).catch(()=>{})},[u,w6]),WN=s(async(_)=>{try{let{resultFrame:O}=await u("peer.invite",{..._?.trim()?{inviteLabel:_.trim()}:{}});if(!O)throw Error("peer.invite produced no result frame");if(!O.ok)throw Error(O.error.message);let F=O.result.invite;if(!F)throw Error("peer.invite returned no invite payload");c8(F)}catch(O){M((F)=>[...F,J0(`Failed to create invite: ${O.message}`)])}},[u]),_Q=s(async(_)=>{try{let{resultFrame:O}=await u("peer.accept_invite",{inviteToken:_});if(!O)throw Error("peer.accept_invite produced no result frame");if(!O.ok)throw Error(O.error.message);let F=O.result.accepted;if(!F)throw Error("peer.accept_invite returned no accepted payload");s7(null),M((P)=>[...P,a(`Paired with ${F.displayNameSnapshot??F.nodeId}.`)])}catch(O){let F=`Failed to accept invite: ${O.message}`;s7(F),M((P)=>[...P,J0(F)])}},[u]);y9(()=>{let _=!0,O=null;return(async()=>{if(O=setInterval(async()=>{try{let{resultFrame:R}=await u("peer.pending.list",{});if(!_||!R?.ok)return;let g=R.result.requests??[];if(g.length&&!w6)T2(g[0])}catch(R){if(lX(R)){if(O)clearInterval(O);o6.current=null;return}}},5000),o6.current=O,!_)clearInterval(O),O=null,o6.current=null})(),()=>{if(_=!1,O)clearInterval(O);o6.current=null}},[u,w6]);let _N=s(async(_)=>{JK(_),await E2()},[E2]),qN=s(async(_)=>{if(L8==="forget")try{let{resultFrame:O}=await u("memory.forget",{id:_.id});if(!O)throw Error("memory.forget produced no result frame");if(!O.ok)throw Error(O.error.message);let F=_.content.length>50?_.content.slice(0,50)+"...":_.content;M((P)=>[...P,a(`Forgot: "${F}"`)]),await E2()}catch(O){M((F)=>[...F,J0(`Error forgetting: ${O.message}`)])}},[u,L8,E2]),u8=s(()=>{y8(null),M8(null),w8(null),C8(null),I8(null),f3(null),S8(null),b8(null),B3(null),k8(null),g8(null),y3(!1),v8(!1),g$(null),T8(!1),h8(null),i7(!1),M3(null),o7(null),b2(null),k2(null)},[]),X5=s((_)=>{let O=_,F=O.success!==!1,P=O.message??(F?"Authentication updated.":"Auth failed.");M((R)=>[...R,F?a(P):J0(P)])},[]),x2=s(async(_)=>{if(u8(),_.interaction.kind==="selection"){M3({interactionId:_.interactionId,interaction:_.interaction}),b2(_.interaction.prompt),o7(_.interaction.options.map((O)=>({id:O.id,label:O.label,description:O.description,method:O.id,status:O.description?.includes("connected")?"connected":O.description?.includes("available")?"available":"none"})));return}if(_.interaction.kind==="credential_input"){let O=_.interaction.fields[0];if(!O)throw Error("Auth interaction requires at least one credential field");if(_.interaction.mode==="oauth_authorization_code"&&_.interaction.authorizeUrl&&_.interaction.provider){M3({interactionId:_.interactionId,interaction:_.interaction}),w8(_.interaction.provider),C8(_.interaction.authorizeUrl),I8(_.interaction.expectedState??null),f3(O.key);return}M3({interactionId:_.interactionId,interaction:_.interaction}),k2({title:O.label,hint:_.interaction.prompt,fieldKey:O.key});return}if(_.interaction.kind==="oauth_device"){M3({interactionId:_.interactionId,interaction:_.interaction}),S8(_.interaction.provider??"github-copilot"),b8(_.interaction.profileLabel??null),B3(_.interaction.verificationUri),k8(_.interaction.userCode);return}},[X5,u8,T9]),e1=s(async(_,O)=>{u8();let{interactionFrame:F,resultFrame:P}=await u(_,{args:O});if(F&&F.source==="auth"){await x2(F);return}if(!P)throw Error(`${_} produced no result frame`);if(P.ok){X5(P.result);return}throw Error(P.error.message)},[X5,u8,u,x2]),E$=s(async(_)=>{if(!I2)throw Error("No pending auth interaction to respond to");let{interactionId:O}=I2,F=null,P=null;for await(let R of T9.dispatch({kind:"interaction.respond",requestId:`auth:${m7()}`,interactionId:O,response:_}))if(R.kind==="interaction.required"&&R.source==="auth")F=R;else if(R.kind==="result")P=R;if(F){await x2(F);return}if(u8(),!P)throw Error("auth interaction produced no result frame");if(P.ok){X5(P.result);return}if(P.error.code==="INTERACTION_REQUIRED")return;M((R)=>[...R,J0(`Login failed: ${P.error.message}`)])},[X5,u8,T9,I2,x2]),NN=G2(()=>Cq(W0)?.maxContextTokens,[W0]),FN=G2(()=>{return I.map((_,O)=>{let P=(Array.isArray(_.content)?_.content:[_.content]).filter((R)=>typeof R==="object"&&R!==null&&("type"in R)&&R.type==="text").map((R)=>R.text).join("").trim();if(!P||_.role==="system")return null;return{index:O,role:_.role,text:P,arion:_.arion?.name,createdAt:_.createdAt}}).filter((_)=>_!==null)},[I]),[PN,cM]=x(void 0),[UN,MK]=x(void 0),ON=s(async(_,O)=>{if(!f0.current||H0.current)return;let F=0;for(let R=0;R<_;R++){let g=I[R];if(g&&g.role!=="system")F++}let P=F;try{let{resultFrame:R}=await u("session.fork",{sessionId:f0.current,messageLimit:P});if(!R?.ok){let D=R?.error?.message??"Fork failed";M((c)=>[...c,J0(`Edit failed: ${D}`)]);return}let g=R.result;await c$(g.newSessionId),MK(O)}catch(R){M((g)=>[...g,J0(`Edit failed: ${R.message}`)])}},[I,u,c$]);return uX(J_,{staticRenderEpoch:OK,session:$,model:W0,maxContextTokens:NN,banner:uX(KH,{onComplete:()=>{},skipAnimation:!0,version:hJ,whatsNew:q_},void 0,!1,void 0,this),messages:I,previewMessages:w,isStreaming:Y0,queuedMessage:X0,onCancelQueuedMessage:$N,responseTime:o,commands:eH,arions:z9,models:D$,memories:M6,memoryBrowserMode:L8,isLoadingMemories:z2,userName:x0,memoryCount:t9,metrics:I3,displayMode:V2,displayConfig:b3,showThinking:b3.showThinking,showCosts:b3.showCosts,showTraces:b3.showTraces,pipelineTiming:PK,spans:UK,activeArion:AK,onSubmit:J$,onCommand:zQ,onSelectArion:XN,onSelectModel:WQ,onSelectMemory:qN,onOpenMemoryBrowser:_N,onToggleThinking:KN,onToggleCosts:ZN,onToggleTraces:HN,onCycleDisplayMode:JN,sessions:W2,onSelectSession:c$,onLoadSessions:nq,onSearchSessions:iq,onLoadMoreSessions:oq,openSessionOverlaySignal:_2,openThemeOverlaySignal:x7,inviteShare:D8?{inviteToken:D8.inviteToken,inviteLabel:D8.pendingInvite.inviteLabel,expiresAt:D8.pendingInvite.expiresAt??null}:null,onInviteShareClose:()=>{c8(null)},openJoinInviteOverlaySignal:WK,onJoinInviteSubmit:_Q,onJoinInviteCancel:()=>{s7(null)},joinInviteError:HQ,onSelectTheme:yK,inputHistory:Y,onSaveInput:z,openMessageEditOverlaySignal:PN,editableMessages:FN,onEditMessage:ON,prefillInput:UN,onPrefillConsumed:()=>MK(void 0),obsCtx:LK,onCancel:eq,approvalRequest:e7,onApprovalChoice:(_)=>{if(e7)e7.resolve(_),E8(null)},effortLevel:d,showAutonomySelector:F2,autonomyLevel:r7,onAutonomySelect:(_)=>{R3(_),B8(!1),M((O)=>[...O,a(`Autonomy level set to: ${_}`)])},onCycleAutonomy:()=>{let _=nJ.indexOf(k$.current),O=nJ[(_+1)%nJ.length];R3(O)},onCycleEffort:()=>{let _=["low","medium","high","max"],O=_.indexOf(d),F=_[(O+1)%_.length];R0(F);let P=_0();P.effortLevel=F,T0(P)},onAutonomyCancel:()=>{B8(!1)},authInteractionOptions:S2,authInteractionTitle:v$,onAuthInteractionSelect:async(_)=>{await E$({kind:"selection",selected:_})},onAuthInteractionCancel:async()=>{await E$({kind:"cancel"})},authInteractionInput:i6?{title:i6.title,...i6.hint?{hint:i6.hint}:{}}:null,onAuthInteractionInputSubmit:async(_)=>{if(!i6)return;await E$({kind:"credential_input",values:{[i6.fieldKey]:_}})},onAuthInteractionInputCancel:async()=>{await E$({kind:"cancel"})},loginPickerProviders:P2,onLoginProviderSelect:async(_)=>{y8(null),await e1("auth.login",_.id)},onLoginPickerCancel:()=>{y8(null)},anthropicMethodOptions:y2,onAnthropicMethodSelect:async(_)=>{g8(null),await e1("auth.login",`anthropic --method ${_.id}`)},onAnthropicMethodCancel:()=>g8(null),anthropicKeyInputVisible:M2,onAnthropicKeySubmit:async(_)=>{y3(!1),await e1("auth.login",`anthropic ${_}`)},onAnthropicKeyCancel:()=>y3(!1),anthropicSetupTokenVisible:HK,onAnthropicSetupTokenSubmit:async(_)=>{v8(!1),await e1("auth.login",`anthropic --setup-token ${_}`)},onAnthropicSetupTokenCancel:()=>v8(!1),openaiMethodOptions:w2,onOpenAIMethodSelect:async(_)=>{g$(null),await e1("auth.login",`openai --method ${_.id}`)},onOpenAIMethodCancel:()=>g$(null),openaiKeyInputVisible:C2,onOpenAIKeySubmit:async(_)=>{T8(!1),await e1("auth.login",`openai ${_}`)},onOpenAIKeyCancel:()=>T8(!1),googleMethodOptions:V8,onGoogleMethodSelect:async(_)=>{h8(null),await e1("auth.login",`google --method ${_.id}`)},onGoogleMethodCancel:()=>h8(null),googleKeyInputVisible:XK,onGoogleKeySubmit:async(_)=>{i7(!1),await e1("auth.login",`google ${_}`)},onGoogleKeyCancel:()=>i7(!1),copilotSourceOptions:a7,onCopilotSourceSelect:async(_)=>{M8(null),await e1("auth.login",`github-copilot --from ${_.id}`)},onCopilotSourceCancel:()=>M8(null),oauthProvider:U2,oauthAuthorizeUrl:O2,oauthExpectedState:A2,onOAuthComplete:(_)=>{w8(null),C8(null),I8(null),f3(null),M((O)=>[...O,_.success?a(_.message):J0(_.message)])},onOAuthCodeSubmit:async(_)=>{if(!n7)throw Error("No pending OAuth field key");await E$({kind:"credential_input",values:{[n7]:_}})},onOAuthCancel:async()=>{await E$({kind:"cancel"})},copilotDeviceProvider:L2,copilotDeviceProfileLabel:R2,copilotDeviceVerificationUri:f2,copilotDeviceUserCode:B2,onCopilotDeviceComplete:(_)=>{S8(null),b8(null),B3(null),k8(null),M((O)=>[...O,_.success?a(_.message):J0(_.message)])},onCopilotDeviceApprove:async()=>{await E$({kind:"oauth_device",acknowledged:!0})},onCopilotDeviceCancel:async()=>{await E$({kind:"cancel"})},nearbyPeers:QK,localClients:w3,onSelectPeer:GN,onSelectClient:()=>{},onPeerCancel:()=>{},onClientsCancel:()=>{},openPeersOverlaySignal:zK,openClientsOverlaySignal:v2,incomingPairRequest:w6,onAcceptPairRequest:YN,onRejectPairRequest:zN,onCancelPairing:void 0,meshMessageCount:qK,runtimeSocket:$5,clientId:H.attachedClientId??null,clientAuthToken:H.attachedClientAuthToken??null,resolveCredentials:async()=>{try{let{createResilientAttachedClient:_}=await Promise.resolve().then(() => (N5(),X4)),{resolveRuntimeRootDirectory:O,findRuntimeOwnerRecordByAriaHome:F}=await import("@aria-cli/server"),P=O(),R=process.env.ARIA_HOME??`${process.env.HOME}/.aria`,g=F(P,R);if(!g?.runtimeSocket)return null;let D=await _({runtimeSocket:g.runtimeSocket,clientKind:"local-api"});return{clientId:D.getClientId(),clientAuthToken:D.getClientAuthToken()}}catch{return null}}},void 0,!1,void 0,this)}async function bq($,J,K,Z,H,X,Q=[],G,Y,z,W,N,q,U,A,f){let{waitUntilExit:C,unmount:b}=Uy(uX(Dy,{session:$,manager:J,router:K,aria:Z,attachedLocalControl:H,cliContext:X,sessionHistory:Y,inputHistory:Q,onSaveInput:G,initialMessage:z,resumeSessionId:N,cachedUserName:W,initialAvailableModels:q,refreshAvailableModels:U,credentialHints:A,authResolver:f},void 0,!1,void 0,this),{exitOnCtrlC:!1,patchConsole:!0}),I,w,y=!1,B=()=>{if(!I)I=()=>{process.exit(0)},process.on("SIGINT",I);if(!w)w=setTimeout(()=>{C0.debug("[InkREPL] Graceful shutdown timed out after 5s — forcing exit"),process.exit(0)},5000),w.unref?.()},M=()=>{if(y)return;y=!0,process.removeListener("SIGINT",M),B(),H?.release().catch((j)=>{C0.warn("[InkREPL] Local-control release during SIGINT failed:",j?.message??j)}),b()};process.on("SIGINT",M);try{await C(),B();try{let{sessionId:j,sessionHistory:G0,memoriaSession:U9,memoriaFactory:J9}=v9;if(G0&&j)try{G0.markCompleted(j)}catch(W0){C0.warn("[InkREPL] Failed to mark session completed:",W0?.message??W0)}if(U9&&j)try{await U9.endSession(j)}catch(W0){C0.warn("[InkREPL] Failed to end Memoria session:",W0?.message??W0)}if(J9)try{await J9.closeAll()}catch(W0){C0.warn("[InkREPL] Failed to close Memoria factory:",W0?.message??W0)}if(v9.jsonlLogger){try{await v9.jsonlLogger.close()}catch(W0){C0.warn("[InkREPL] Failed to close JSONL logger:",W0?.message??W0)}v9.jsonlLogger=null}}finally{if(w)clearTimeout(w),w=void 0}}finally{if(process.removeListener("SIGINT",M),I)process.removeListener("SIGINT",I)}try{await Z.shutdown()}catch(j){C0.warn("[InkREPL] Shutdown failed:",j?.message)}}import{Command as DM}from"commander";c1();import{Command as jy}from"commander";import{ArionManager as my,ArionStorage as dy,MemoriaPool as py}from"@aria-cli/aria";async function oJ(){let $=L1(),J=new dy($),Z=new py($).toFactory(),H=new my(J,Z);return await H.initialize(),H}function sJ(){let $=new jy("arions").description("Manage Arion personas");return $.command("list").description("List all Arions with status").option("--status <status>","Filter by status (active, resting, retired)").action(async(J)=>{try{let Z=await(await oJ()).list(),H=J.status?Z.filter((X)=>X.status===J.status):Z;if(H.length===0){console.log("No Arions found.");return}console.log(`
494
+ Arions:`),console.log("─".repeat(60));for(let X of H){let Q=X.status==="active"?"●":X.status==="resting"?"○":"×";if(console.log(`${Q} ${X.name} [${X.status}]`),console.log(` Style: ${X.personality.style}`),console.log(` Traits: ${X.personality.traits.join(", ")}`),X.skills.length>0)console.log(` Skills: ${X.skills.map((G)=>G.name).join(", ")}`);console.log()}}catch(K){console.error("Error listing Arions:",K.message),process.exit(1)}}),$.command("hatch").description("Create a new Arion").argument("<name>","Name for the new Arion").option("-t, --traits <traits>","Comma-separated personality traits").option("-s, --style <style>","Communication style (formal, casual, technical, friendly)").option("--skills <skills>","Comma-separated skills").action(async(J,K)=>{try{let Z=await oJ(),H=K.traits?K.traits.split(",").map((Y)=>Y.trim()):["helpful","curious"],X=K.style||"friendly",Q=K.skills?K.skills.split(",").map((Y)=>({name:Y.trim(),level:"intermediate"})):[],G=await Z.hatch({name:J,personality:{traits:H,style:X},skills:Q,createdBy:"cli"});if(console.log(`
495
+ Hatched new Arion: ${G.name}`),console.log(` ID: ${G.id}`),console.log(` Status: ${G.status}`),console.log(` Style: ${G.personality.style}`),console.log(` Traits: ${G.personality.traits.join(", ")}`),G.skills.length>0)console.log(` Skills: ${G.skills.map((Y)=>Y.name).join(", ")}`)}catch(Z){console.error("Error hatching Arion:",Z.message),process.exit(1)}}),$.command("become").description("Switch to an Arion").argument("<name>","Name of the Arion to switch to").action(async(J)=>{try{let K=await oJ(),Z=await K.get(J);if(!Z)console.error(`Arion not found: ${J}`),process.exit(1);if(Z.status==="retired")console.error(`Cannot become retired Arion: ${J}`),process.exit(1);if(Z.status==="resting")await K.wake(J);let H=_0();H.activeArion=Z.name,T0(H),console.log(`
496
+ Switched to Arion: ${Z.name}`),console.log(` Style: ${Z.personality.style}`),console.log(` Traits: ${Z.personality.traits.join(", ")}`)}catch(K){console.error("Error switching Arion:",K.message),process.exit(1)}}),$.command("retire").description("Retire an Arion (permanent)").argument("<name>","Name of the Arion to retire").option("--confirm","Confirm retirement (required)").action(async(J,K)=>{try{if(!K.confirm)console.error("Retirement is permanent. Use --confirm to proceed."),process.exit(1);await(await oJ()).retire(J,{confirm:!0});let H=_0();if(H.activeArion?.toLowerCase()===J.toLowerCase())delete H.activeArion,T0(H);console.log(`
497
+ Retired Arion: ${J}`),console.log("The Arion can no longer be used but its memories are preserved.")}catch(Z){console.error("Error retiring Arion:",Z.message),process.exit(1)}}),$}import{Command as xy}from"commander";import{createInterface as ly}from"node:readline";import{ensureAuthProfileStore as uy,syncExternalCliCredentials as ry,isProfileInCooldown as ay,upsertAuthProfile as ny,updateAuthProfileStoreWithLockSync as Tq}from"@aria-cli/auth";var iy=["COPILOT_GITHUB_TOKEN","GH_TOKEN","GITHUB_TOKEN"];function oy($=process.env){for(let J of iy){let K=$[J];if(K&&K.length>8)return J}return null}async function sy(){let $=Tq({updater:(K)=>ry(K)})??uy(),J=Object.entries($.profiles);if(J.length===0){console.log("No auth profiles configured."),console.log("Add one with: aria auth add --provider <name>");return}for(let[K,Z]of J){let X=ay($,K)?"cooldown":"active",Q=Z.type.padEnd(7);if(console.log(` ${K.padEnd(30)} [${Q}] ${X}`),Z.email)console.log(` email: ${Z.email}`);if((Z.type==="oauth"||Z.type==="token")&&"expires"in Z){let G=Z.expires;if(G){let Y=G-Date.now(),z=Y>0?`expires in ${Math.round(Y/60000)}min`:"EXPIRED";console.log(` ${z}`)}}if(Z.provider==="github-copilot"){let G=oy();if(G)console.log(` env override: ${G}`)}}}async function ty($){let J=$.provider.toLowerCase().trim(),K=`${J}:manual`,Z=ly({input:process.stdin,output:process.stdout}),H=await new Promise((X)=>{Z.question(`Paste API key for ${J}: `,(Q)=>{Z.close(),X(Q.trim())})});if(!H||H.length<8)console.error("API key too short (minimum 8 characters)."),process.exit(1);ny({profileId:K,credential:{type:"api_key",provider:J,key:H}}),console.log(`Saved auth profile: ${K}`)}async function ey($){let J=!1,K=Tq({updater:(Z)=>{if(!Z.profiles[$])return!1;return delete Z.profiles[$],J=!0,!0}});if(!J||!K)console.error(`Profile not found: ${$}`),process.exit(1);console.log(`Removed auth profile: ${$}`)}function tJ(){let $=new xy("auth").description("Manage auth profiles");return $.command("status").description("Show all auth profiles and their health").action(sy),$.command("add").description("Add an API key for a provider").requiredOption("--provider <name>","Provider name (anthropic, openai, google)").action(ty),$.command("remove").description("Remove an auth profile").argument("<profile-id>","Profile ID to remove").action(ey),$}J4();c1();lJ();function aX($,J,K){if($===void 0||$.trim()==="")return K;let Z=Number.parseInt($,10);if(!Number.isFinite(Z)||Z<=0)throw Error(`${J} must be a positive integer`);return Z}function Vq($){if(!$)return;let J=$.split(",").map((K)=>K.trim()).filter((K)=>K.length>0);return J.length>0?J:void 0}function $M($,J){if($===void 0||$.trim()==="")return J;let K=Number.parseInt($,10);if(!Number.isFinite(K)||K<0)throw Error("port must be a non-negative integer (0 = OS-assigned)");return K}function JM($){return{arion:$.arion,port:$M($.port,0),intervalMs:aX($.intervalMs,"intervalMs",60000),allowedToolCategories:Vq($.allowedToolCategories),allowedShellCommands:Vq($.allowedShellCommands),maxWriteOpsPerMinute:$.maxWriteOpsPerMinute!==void 0?aX($.maxWriteOpsPerMinute,"maxWriteOpsPerMinute",30):void 0,maxGitPushesPerHour:$.maxGitPushesPerHour!==void 0?aX($.maxGitPushesPerHour,"maxGitPushesPerHour",5):void 0}}function KM($){if($.aborted)return Promise.resolve();return new Promise((J)=>{$.addEventListener("abort",()=>J(),{once:!0})})}function hq($){return{...$.arion?{arion:$.arion}:{},...$.port>=0?{port:$.port}:{},intervalMs:$.intervalMs,...$.allowedToolCategories?{allowedToolCategories:$.allowedToolCategories}:{},...$.allowedShellCommands?{allowedShellCommands:$.allowedShellCommands}:{},...typeof $.maxWriteOpsPerMinute==="number"?{maxWriteOpsPerMinute:$.maxWriteOpsPerMinute}:{},...typeof $.maxGitPushesPerHour==="number"?{maxGitPushesPerHour:$.maxGitPushesPerHour}:{}}}async function nX($={}){let J=JM($);await ZM(J)}async function iX(){let{resolveRuntimeRootDirectory:$,findRuntimeOwnerRecordByAriaHome:J,removeRuntimeOwnerRecord:K}=await import("@aria-cli/server"),{getAriaDir:Z}=await Promise.resolve().then(() => (c1(),PQ)),H=Z(),X=$(),Q=J(X,H);if(!Q){console.log("[daemon] no running daemon found");return}try{process.kill(Q.runtimePid,"SIGINT"),console.log(`[daemon] sent SIGINT to pid ${Q.runtimePid}`);let G=Date.now()+5000;while(Date.now()<G)try{process.kill(Q.runtimePid,0),await new Promise((Y)=>setTimeout(Y,200))}catch{break}try{process.kill(Q.runtimePid,0),process.kill(Q.runtimePid,"SIGKILL"),console.log(`[daemon] force-killed pid ${Q.runtimePid}`)}catch{}}catch{}K(X,Q.nodeId),console.log("[daemon] stopped")}async function Dq($={}){await iX(),await new Promise((X)=>setTimeout(X,500));let{ensureDaemon:J}=await Promise.resolve().then(() => (rX(),vq)),K=await x$(),H=await(await J(K)).control.listPeers();console.log(`[daemon] restarted (${H.length} peers connected)`),await K.pool?.closeAll?.()}async function ZM($){let J=new AbortController,K=()=>J.abort(),Z=()=>J.abort(),H=()=>{};process.on("SIGINT",K),process.on("SIGTERM",Z),process.on("SIGHUP",H);let X=_0(),Q=$.arion?.trim()||X.activeArion?.trim()||"ARIA",G=await x$({startupMode:"daemon"}),Y=H2({cli:G,cwd:process.cwd(),arionName:Q}),z=null;try{let W=await Y.start(hq($));console.log(`[daemon] runtime node ${String(W.nodeId??"unknown")}`),console.log(`[daemon] runtime ${String(W.runtimeId??"unknown")} listening on port ${String(W.port??"unknown")}`),console.log(`[daemon] running arion "${Q}" (interval ${$.intervalMs}ms)`),z=setInterval(()=>{Y.status({}).catch(()=>{})},Math.min(Math.max($.intervalMs,1000),5000)),await KM(J.signal)}catch(W){console.error(`[daemon] Runtime startup failed: ${W instanceof Error?W.message:String(W)}`),process.exitCode=1}finally{if(z)clearInterval(z),z=null;try{if(J.signal.aborted&&Y.shouldStopOnShutdown?.())await Y.stop?.(hq($))}catch{}await Y.releaseAll?.(),await G.pool.closeAll().catch(()=>{}),process.removeListener("SIGINT",K),process.removeListener("SIGTERM",Z),process.removeListener("SIGHUP",H),console.log("[daemon] stopped")}}import{Command as HM}from"commander";import{existsSync as XM,readFileSync as oX}from"node:fs";import{homedir as QM}from"node:os";import cq from"node:path";function GM($){if(!$||$==="-"){let J=oX(0,"utf8").trim();return J?JSON.parse(J):{}}return JSON.parse(oX($,"utf8"))}function YM($,J){if($==="interaction.respond")return{kind:"interaction.respond",requestId:"call-1",...J};return{kind:"request",requestId:"call-1",op:$,input:J}}function Eq(){if(process.env.ARIA_HOME)return process.env.ARIA_HOME;return cq.join(process.env.HOME||QM(),".aria")}function zM($){if(typeof $.arion==="string"&&$.arion.trim().length>0)return $.arion.trim();let J=cq.join(Eq(),"config.json");if(!XM(J))return"ARIA";try{let K=JSON.parse(oX(J,"utf8"));if(typeof K.activeArion==="string"&&K.activeArion.trim().length>0)return K.activeArion.trim()}catch{}return"ARIA"}function jq($){return{kind:"result",requestId:"call-1",op:$,ok:!1,error:{code:"NO_RESULT",message:`Operation ${$} produced no result frame`}}}async function WM($,J,K){let[{SessionHistory:Z},{createSessionOperationHandlers:H}]=await Promise.all([Promise.resolve().then(() => (Y5(),yQ)),Promise.resolve().then(() => (Z2(),j_))]),X=new Z(Z.resolvePerArionPath(Eq(),zM(K)));try{let Q=H({sessionLedger:X}),G=null;for await(let Y of Q[$]("call-1",J))if(Y.kind==="result")G=Y;return G??jq($)}finally{X.close()}}async function _M($,J,K){switch($){case"session.list":case"session.read":case"session.load":return WM($,J,K);default:return null}}async function qM($,J){try{let K=GM(J.inputJson),Z=await _M($,K,J);if(Z)return process.stdout.write(`${JSON.stringify(Z)}
498
+ `),Z.ok?0:1;let{createHeadlessKernelRuntime:H}=await Promise.resolve().then(() => (aJ(),Aq)),X=await H({cwd:process.cwd(),arionName:J.arion});try{let Q=null;for await(let G of X.kernel.dispatch(YM($,K)))if(G.kind==="result")Q=G;if(!Q)return process.stdout.write(`${JSON.stringify(jq($))}
499
+ `),1;return process.stdout.write(`${JSON.stringify(Q)}
500
+ `),Q.ok?0:1}finally{await X.release()}}catch(K){return process.stderr.write(`${K instanceof Error?K.message:String(K)}
501
+ `),2}}function sX(){return new HM("call").description("Execute one headless operation and print exactly one JSON result").argument("<operation>","Headless operation name").option("--input-json <path|->","Read JSON input from a file path or stdin","-").option("--arion <name>","Arion name for per-Arion session context").action(async($,J)=>{process.exitCode=await qM($,J)})}J4();rX();import{Command as NM}from"commander";function FM($){let J=Number.parseInt($,10);if(!Number.isFinite(J)||J<0)throw Error(`Invalid --duration-ms value: ${$}`);return J}function tX(){let $=new NM("pairing").description("Invite and join peers over the internet");return $.command("invite").description("Create an end-user internet pairing invite").argument("[label]","Optional local label for the invite").option("--duration-ms <ms>","Invite lifetime in milliseconds",FM).action(async(J,K)=>{let Z=await x$();try{let{control:H}=await iJ(Z),X=await H.createInvite({...J?.trim()?{inviteLabel:J.trim()}:{},...typeof K?.durationMs==="number"?{durationMs:K.durationMs}:{}});console.log("Invite token:"),console.log(X.inviteToken),console.log(""),console.log(`Join with: aria pairing join ${X.inviteToken}`)}catch(H){console.error(`Failed to create invite: ${H.message}`),process.exit(1)}finally{await Z.pool?.closeAll?.()}}),$.command("join").description("Accept an internet pairing invite token").argument("<token>","Invite token to accept").action(async(J)=>{let K=await x$();try{let{control:Z}=await iJ(K),H=await Z.acceptInviteToken({inviteToken:J.trim()});console.log(`Paired with ${H.displayNameSnapshot??H.nodeId}`)}catch(Z){console.error(`Failed to accept invite: ${Z.message}`),process.exit(1)}finally{await K.pool?.closeAll?.()}}),$}import{Command as kM}from"commander";function JQ(){return new kM("runtime-cutover-reset").description("Destructively clear stale runtime state while preserving local node identity by default").option("--full-reset","Also remove local node identity material").option("--json","Emit the reset report as JSON").action(async($)=>{let{runtimeCutoverResetCommand:J}=await Promise.resolve().then(() => ($Q(),uq));await J($)})}aJ();import{HEADLESS_OPERATION_SCHEMAS as rq,HeadlessInteractionResponseSchema as gM,HeadlessRequestIdSchema as aq}from"@aria-cli/tools";var vM=200,TM=500;function VM($=process.stdout){let J=!1,K=()=>{J=!0};$.on?.("error",K);let Z=(H)=>{if(J)return!1;try{return $.write(`${JSON.stringify(H)}
502
+ `),!0}catch{return J=!0,!1}};return Z.close=()=>{$.off?.("error",K)},Z}function hM($,J,K){let Z;try{Z=JSON.parse($)}catch{return K({kind:"result",requestId:`parse-error-${J}`,op:"unknown",ok:!1,error:{code:"PARSE_ERROR",message:"Malformed JSON input"}}),null}if(!Z||typeof Z!=="object")return K({kind:"result",requestId:`parse-error-${J}`,op:"unknown",ok:!1,error:{code:"PARSE_ERROR",message:"Input must be a JSON object"}}),null;let H=Z;if(H.kind==="interaction.respond"&&aq.safeParse(H.requestId).success&&typeof H.interactionId==="string")return H;if(H.kind==="request"&&aq.safeParse(H.requestId).success&&typeof H.op==="string")return H;return K({kind:"result",requestId:`parse-error-${J}`,op:"unknown",ok:!1,error:{code:"PARSE_ERROR",message:"Missing required kind/requestId/op fields"}}),null}async function KQ($){let J=VM(),K=null,Z=null,H=null,X=new Set,Q=new Set,G=new Set,Y=new Map,z=0,W=null,N="",q=!1,U=!1,A=null,f=new Promise((S)=>{A=()=>{if(U)return;U=!0,S()}}),C=()=>{return K??=EX($).then((S)=>{return Z=S,S}),K},b=()=>{return H??=(async()=>{if(Z){await Z.release();return}if(!K)return;try{let S=await K;Z=S,await S.release()}catch{}})(),H},I=(S)=>Object.prototype.hasOwnProperty.call(rq,S),w=async(S,d)=>{if(S.aborted)return{kind:"aborted"};return new Promise((R0,Y0)=>{let H0=!1,I0=()=>{if(H0)return;H0=!0,S.removeEventListener("abort",I0),R0({kind:"aborted"})};S.addEventListener("abort",I0),d.then((u0)=>{if(H0)return;H0=!0,S.removeEventListener("abort",I0),R0({kind:"value",value:u0})},(u0)=>{if(H0)return;H0=!0,S.removeEventListener("abort",I0),Y0(u0)})})},y=async(S)=>{if(typeof S.return!=="function")return!0;try{let R0=S.return().then(()=>{return},()=>{return}).finally(()=>{G.delete(R0)}),Y0=await Promise.race([R0.then(()=>!0),new Promise((H0)=>setTimeout(()=>H0(!1),vM))]);if(!Y0)G.add(R0);return Y0}catch{return!1}},B=(S,d)=>J({kind:"result",requestId:S,op:d,ok:!1,error:{code:"CONNECTION_CLOSED",message:"Connection closed before request completed"}}),M=()=>{return W??=(async()=>{for(let[S,d]of Y){if(d.controller.abort(),d.completed||d.connectionClosedEmitted)continue;d.connectionClosedEmitted=!0,B(S,d.op)}if(await Promise.allSettled([...Y.values()].map((S)=>S.promise)),G.size>0)await Promise.race([Promise.allSettled([...G]),new Promise((S)=>setTimeout(()=>S(),TM))]);await b(),J.close(),process.stdin.removeListener("data",J9),process.stdin.removeListener("end",W0),process.stdin.removeListener("close",W0),process.removeListener("SIGTERM",j)})(),W},j=()=>{process.stdin.pause(),M().finally(()=>A?.())};process.once("SIGTERM",j);let G0=(S)=>{z+=1;let d=hM(S,z,J);if(d)V(d)},U9=()=>{while(!0){let S=N.indexOf(`
503
+ `);if(S<0)return;let d=N.slice(0,S);if(d.endsWith("\r"))d=d.slice(0,-1);N=N.slice(S+1),G0(d)}},J9=(S)=>{N+=typeof S==="string"?S:S.toString("utf8"),U9()},W0=()=>{if(q)return;q=!0;let S=N;if(S.endsWith("\r"))S=S.slice(0,-1);if(N="",S.trim().length>0)G0(S);M().finally(()=>A?.())},V=(S)=>{let d=S.kind==="request"?S.op:"interaction.respond",R0=[...Y.values()].some((I0)=>I0.op==="arion.become");if(S.kind==="request"&&(S.op==="arion.become"&&X.size>0||S.op!=="arion.become"&&R0)){J({kind:"result",requestId:S.requestId,op:d,ok:!1,error:{code:"ARION_SCOPE_BUSY",message:S.op==="arion.become"?"arion.become requires an idle headless connection":"Headless scope is switching arions; wait for arion.become to finish"}}),Q.add(S.requestId);return}if(X.has(S.requestId)){J({kind:"result",requestId:S.requestId,op:d,ok:!1,error:{code:"DUPLICATE_REQUEST_ID",message:`Request ${S.requestId} is already in flight`}});return}if(Q.has(S.requestId)){J({kind:"result",requestId:S.requestId,op:S.kind==="request"?S.op:"interaction.respond",ok:!1,error:{code:"DUPLICATE_REQUEST_ID",message:`Request ${S.requestId} has already been used on this connection`}});return}if(S.kind==="request"){if(!I(S.op)){J({kind:"result",requestId:S.requestId,op:S.op,ok:!1,error:{code:"UNKNOWN_OPERATION",message:`Unknown operation ${S.op}`}}),Q.add(S.requestId);return}if(!rq[S.op].input.safeParse(S.input).success){J({kind:"result",requestId:S.requestId,op:S.op,ok:!1,error:{code:"INVALID_INPUT",message:`Invalid input for ${S.op}`}}),Q.add(S.requestId);return}}else if(!gM.safeParse(S).success){J({kind:"result",requestId:S.requestId,op:"interaction.respond",ok:!1,error:{code:"INVALID_INPUT",message:"Invalid input for interaction.respond"}}),Q.add(S.requestId);return}X.add(S.requestId),Q.add(S.requestId);let Y0=new AbortController,H0=null;H0=(async()=>{try{let I0=await w(Y0.signal,C().then((M9)=>({runtime:M9})));if(I0.kind!=="value")return;let u0=I0.value.runtime.kernel.dispatch(S,{signal:Y0.signal})[Symbol.asyncIterator]();while(!0){let M9=await w(Y0.signal,u0.next().then((X0)=>({result:X0})));if(M9.kind==="aborted"){await y(u0);return}if(M9.value.result.done)return;let P1=M9.value.result.value,t=Y.get(S.requestId);if(Y0.signal.aborted||t?.connectionClosedEmitted)continue;if(J(P1),P1.kind==="result"){if(t)t.completed=!0}}}catch(I0){let u0=Y.get(S.requestId);if(Y0.signal.aborted||u0?.connectionClosedEmitted)return;if(J({kind:"result",requestId:S.requestId,op:d,ok:!1,error:{code:"INTERNAL_ERROR",message:I0 instanceof Error?I0.message:String(I0)}}),u0)u0.completed=!0}finally{X.delete(S.requestId),Y.delete(S.requestId)}})(),Y.set(S.requestId,{op:d,controller:Y0,completed:!1,connectionClosedEmitted:!1,promise:H0})};process.stdin.setEncoding("utf8"),process.stdin.on("data",J9),process.stdin.once("end",W0),process.stdin.once("close",W0),await f}$Q();var S$=new DM;S$.name("aria").description("ARIA - Adaptive Reasoning Intelligence Agent").version(hJ);S$.addCommand(sJ());S$.addCommand(tJ());S$.addCommand(tX());S$.command("headless").description("Run the persistent headless stdio control server").option("--arion <name>","Arion name for per-Arion session context").action(async($)=>{await KQ({cwd:process.cwd(),arionName:$.arion})});S$.addCommand(sX());var ZQ=S$.command("daemon").description("Manage the ARIA daemon");ZQ.command("start",{isDefault:!0}).description("Start the daemon (default)").option("--arion <name>","Run daemon for a specific Arion").option("--port <port>","Server port (default: 0 = OS-assigned)").option("--interval-ms <ms>","Wake loop interval in milliseconds (default: 60000)").option("--allowed-tool-categories <list>","Comma-separated tool category allowlist").option("--allowed-shell-commands <list>","Comma-separated shell command prefix allowlist").option("--max-write-ops-per-minute <count>","Rate limit for write operations per minute").option("--max-git-pushes-per-hour <count>","Rate limit for git pushes per hour").action(async($)=>{await nX($)});ZQ.command("stop").description("Stop the running daemon").action(async()=>{await iX()});ZQ.command("restart").description("Stop the daemon and start a fresh one").action(async()=>{await Dq()});S$.addCommand(JQ());gK();export{bq as startRepl,bq as startInkRepl,S$ as program,tJ as createAuthCommand,sJ as createArionsCommand,m$ as SessionHistory};