@cjhyy/code-shell 0.1.7 → 0.2.0
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/anthropic-OVRWAZRD.js +1 -0
- package/dist/arena/index.js +1 -1
- package/dist/{arena-OW55ZCHT.js → arena-64T2EQD4.js} +1 -1
- package/dist/{chunk-HIJ2XXGX.js → chunk-2EUIMKJA.js} +1 -1
- package/dist/{chunk-Y2NS6HPO.js → chunk-2GJ7H5NC.js} +17 -17
- package/dist/chunk-2OD6VR4N.js +2 -0
- package/dist/chunk-A4M2Y42L.js +2 -0
- package/dist/{chunk-WOP6MJKW.js → chunk-DEYFK6FP.js} +1 -1
- package/dist/chunk-DTPABBSV.js +2 -0
- package/dist/{chunk-RP26WO4R.js → chunk-EU3J7TBP.js} +1 -1
- package/dist/{chunk-XDOWC7EG.js → chunk-L7B2ORID.js} +1 -1
- package/dist/chunk-M7VU4YVY.js +49 -0
- package/dist/{chunk-NMBYBGC7.js → chunk-MGP35GKD.js} +87 -83
- package/dist/chunk-MLCTC53I.js +1 -0
- package/dist/{chunk-KCXSARAA.js → chunk-Q3RSX66I.js} +1 -1
- package/dist/{chunk-Q4O2HGWS.js → chunk-RERBX75D.js} +1 -1
- package/dist/chunk-VKKU4LOM.js +3 -0
- package/dist/{chunk-NFH3UQ3E.js → chunk-XXCZE2U2.js} +1 -1
- package/dist/chunk-ZSAONDT6.js +2 -0
- package/dist/cli/main.js +104 -104
- package/dist/cli/onboarding.d.ts +7 -2
- package/dist/client-base-F5FCRSB3.js +1 -0
- package/dist/compaction-L3Y6NG4N.js +1 -0
- package/dist/context/compaction.d.ts +2 -1
- package/dist/data/static-catalogs.d.ts +25 -0
- package/dist/engine/engine.d.ts +16 -0
- package/dist/engine/turn-loop.d.ts +20 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/llm/capabilities/index.d.ts +20 -0
- package/dist/llm/capabilities/rules.d.ts +26 -0
- package/dist/llm/capabilities/types.d.ts +108 -0
- package/dist/llm/model-pool.d.ts +7 -0
- package/dist/llm/provider-catalog.d.ts +2 -0
- package/dist/llm/provider-kinds.d.ts +1 -1
- package/dist/llm/providers/openai.d.ts +22 -0
- package/dist/llm/types.d.ts +8 -0
- package/dist/logging/logger.d.ts +10 -2
- package/dist/logging/session-recorder.d.ts +16 -3
- package/dist/manager-J6FXEUEK.js +1 -0
- package/dist/mcp-manager-27EVBKRT.js +1 -0
- package/dist/model-fetcher-X5W5EASG.js +1 -0
- package/dist/openai-3QEADSYL.js +1 -0
- package/dist/{openrouter-models-AM6M52D6.js → openrouter-models-GZVCRWD2.js} +1 -1
- package/dist/openrouter-sync-WG4AG5NC.js +1 -0
- package/dist/product/index.js +1 -1
- package/dist/protocol/client.d.ts +1 -1
- package/dist/run/index.js +1 -1
- package/dist/{seatbelt-WBYROQT6.js → seatbelt-L54CNI2Y.js} +5 -5
- package/dist/settings/schema.d.ts +75 -15
- package/dist/{tool-summary-5UE62VU4.js → tool-summary-V2B3MD5N.js} +1 -1
- package/dist/tool-system/executor.d.ts +4 -0
- package/dist/tool-system/sandbox/index.d.ts +7 -0
- package/dist/tool-system/task-guard.d.ts +30 -0
- package/dist/types.d.ts +13 -0
- package/dist/ui/components/SpinnerWithVerb.d.ts +5 -0
- package/dist/ui/components/StatusLine.d.ts +5 -1
- package/package.json +1 -1
- package/dist/anthropic-UBSB5AQH.js +0 -1
- package/dist/chunk-2NS3JMNK.js +0 -1
- package/dist/chunk-B7K2OWKC.js +0 -2
- package/dist/chunk-EWWK56K6.js +0 -2
- package/dist/chunk-NVAZJ5XS.js +0 -2
- package/dist/chunk-PGANL6F2.js +0 -3
- package/dist/chunk-UDPUTFQT.js +0 -2
- package/dist/chunk-W47Z7MGS.js +0 -33
- package/dist/client-base-6ZZJJYDY.js +0 -1
- package/dist/compaction-ECVQVOCT.js +0 -1
- package/dist/manager-C3TDN6MS.js +0 -1
- package/dist/mcp-manager-OP4XYV53.js +0 -1
- package/dist/model-fetcher-BJ64META.js +0 -1
- package/dist/openai-KEWQ54TM.js +0 -1
- package/dist/openrouter-sync-5JNBL3Z6.js +0 -1
package/dist/cli/main.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {a as a$4}from'../chunk-NFH3UQ3E.js';import {a as a$3,b as b$4}from'../chunk-EWWK56K6.js';import {e,b as b$3,a as a$2,d as d$2}from'../chunk-TKJA6W36.js';import {k,c,b,l,d,a as a$1,R,A,T,S,j,V,ea as ea$1}from'../chunk-NMBYBGC7.js';import'../chunk-2NS3JMNK.js';import'../chunk-WI6FSWGU.js';import {d as d$3}from'../chunk-P6JSTIFM.js';import'../chunk-SNFAPSLA.js';import'../chunk-XDOWC7EG.js';import'../chunk-W47Z7MGS.js';import'../chunk-T222K6IV.js';import'../chunk-QTWU7UNA.js';import {c as c$2}from'../chunk-UDPUTFQT.js';import'../chunk-Q4O2HGWS.js';import {M,O,P,K}from'../chunk-Y2NS6HPO.js';import {d as d$1,b as b$5}from'../chunk-NVAZJ5XS.js';import'../chunk-FU7AHZNN.js';import {b as b$1,c as c$3}from'../chunk-B7K2OWKC.js';import {h,a,b as b$2}from'../chunk-3QP5BQ3L.js';import {Command}from'commander';import {nanoid}from'nanoid';import {EventEmitter}from'events';import'readline';import ee,{Chalk}from'chalk';import {join,sep}from'path';import {Stream}from'stream';import ex from'auto-bind';import {appendFileSync,writeSync,openSync,constants,readSync,closeSync,existsSync,readFileSync,writeFileSync,mkdirSync,statSync,readdirSync}from'fs';import So from'lodash-es/noop.js';import ox from'lodash-es/throttle.js';import {DefaultEventPriority,NoEventPriority,ContinuousEventPriority,ConcurrentRoot,DiscreteEventPriority}from'react-reconciler/constants.js';import {onExit}from'signal-exit';import {format}from'util';import yp,{createContext,PureComponent,useContext,useLayoutEffect,useEffect,useSyncExternalStore,useState,useRef,useMemo,useCallback,createElement}from'react';import {execSync,execFile}from'child_process';import {Buffer as Buffer$1}from'buffer';import ry from'react-reconciler';import wh from'emoji-regex';import {eastAsianWidth}from'get-east-asian-width';import Th from'strip-ansi';import Oh from'wrap-ansi';import {ansiCodesToString,diffAnsiCodes,styledCharsFromTokens,tokenize}from'@alcalzone/ansi-tokenize';import'semver';import {homedir}from'os';import {c as c$1}from'react/compiler-runtime';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import lb from'code-excerpt';import Ef from'stack-utils';import wb from'bidi-js';import Fb from'indent-string';import Db from'cli-boxes';import {useEventCallback}from'usehooks-ts';import n0 from'supports-hyperlinks';import {Marked,lexer}from'marked';import {markedTerminal}from'marked-terminal';h();h();h();h();var $e={MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603,SessionNotFound:-32002,AlreadyRunning:-32003,NotRunning:-32004},Ke={Run:"agent/run",Approve:"agent/approve",Cancel:"agent/cancel",Configure:"agent/configure",Query:"agent/query",Inject:"agent/inject",StreamEvent:"agent/streamEvent",ApprovalRequest:"agent/approvalRequest",Status:"agent/status"},Rg=1;function Zc(t,e){return {jsonrpc:"2.0",id:Rg++,method:t,params:e}}a(Zc,"createRequest");function Ve(t,e){return {jsonrpc:"2.0",id:t,result:e}}a(Ve,"createResponse");function We(t,e,n,r){return {jsonrpc:"2.0",id:t,error:{code:e,message:n,data:r}}}a(We,"createErrorResponse");function eu(t,e){return {jsonrpc:"2.0",method:t,params:e}}a(eu,"createNotification");function tu(t){return "method"in t&&"id"in t}a(tu,"isRequest");function nu(t){return "id"in t&&!("method"in t)}a(nu,"isResponse");function ru(t){return "method"in t&&!("id"in t)}a(ru,"isNotification");var qr=class t{static{a(this,"AgentServer");}engine;transport;running=false;abortController=null;pendingApprovals=new Map;approvalTimers=new Map;static APPROVAL_TIMEOUT_MS=300*1e3;constructor(e){this.engine=e.engine,this.transport=e.transport,this.transport.onMessage(n=>{tu(n)&&this.handleRequest(n).catch(r=>{this.transport.send(We(n.id,$e.InternalError,r.message));});}),k(n=>this.requestApprovalFromClient(n)),this.engine.setAskUser((n,r)=>this.requestAskUserFromClient(n,r)),this.notify(Ke.Status,{status:"ready"});}async handleRequest(e){switch(e.method){case Ke.Run:await this.handleRun(e);break;case Ke.Approve:this.handleApprove(e);break;case Ke.Cancel:this.handleCancel(e);break;case Ke.Configure:this.handleConfigure(e);break;case Ke.Query:this.handleQuery(e);break;case Ke.Inject:this.handleInject(e);break;default:this.transport.send(We(e.id,$e.MethodNotFound,`Unknown method: ${e.method}`));}}async handleRun(e){if(this.running){this.transport.send(We(e.id,$e.AlreadyRunning,"Agent is already running"));return}let n=e.params??{};if(!n.task){this.transport.send(We(e.id,$e.InvalidParams,"task is required"));return}this.running=true,this.abortController=new AbortController,this.notify(Ke.Status,{status:"running"});let r=a(o=>{this.notify(Ke.StreamEvent,{event:o});},"streamToClient");c.setStreamCallback(r);try{let o=await this.engine.run(n.task,{sessionId:n.sessionId,signal:this.abortController.signal,onStream:r}),i={text:o.text,reason:o.reason,sessionId:o.sessionId,turnCount:o.turnCount,usage:o.usage};this.transport.send(Ve(e.id,i));}catch(o){this.transport.send(We(e.id,$e.InternalError,o.message));}finally{c.setStreamCallback(void 0),this.running=false,this.abortController=null,this.notify(Ke.Status,{status:"ready"});}}handleApprove(e){let n=e.params??{},r=this.pendingApprovals.get(n.requestId);if(!r){this.transport.send(We(e.id,$e.InvalidParams,`No pending approval: ${n.requestId}`));return}this.pendingApprovals.delete(n.requestId),this.clearApprovalTimer(n.requestId),r(n.decision),this.transport.send(Ve(e.id,{ok:true}));}handleCancel(e){if(!this.running||!this.abortController){this.transport.send(We(e.id,$e.NotRunning,"Agent is not running"));return}this.abortController.abort();for(let[n,r]of this.pendingApprovals)r({approved:false,reason:"cancelled"});this.pendingApprovals.clear(),this.clearAllApprovalTimers(),this.transport.send(Ve(e.id,{ok:true}));}handleConfigure(e){let n=e.params??{};if(n.planMode!==void 0&&b(n.planMode),n.bypassPermissions!==void 0&&l(n.bypassPermissions),n.reloadModels)try{this.engine.reloadModelPool();}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));return}if(n.model!==void 0)try{let r=this.engine.switchModel(n.model);this.transport.send(Ve(e.id,{ok:!0,model:r.model,key:r.key}));return}catch(r){this.transport.send(We(e.id,$e.InvalidParams,r.message));return}this.transport.send(Ve(e.id,{ok:true}));}async handleQuery(e){let n=e.params??{};switch(n.type){case "tools":{let r=this.engine.getToolRegistry(),o=typeof r.listToolsDetailed=="function"?r.listToolsDetailed().map(i=>({name:i.name,description:i.description??""})):r.listTools().map(i=>({name:i,description:""}));this.transport.send(Ve(e.id,{type:"tools",data:o}));break}case "sessions":{let r=this.engine.getSessionManager().list();this.transport.send(Ve(e.id,{type:"sessions",data:r}));break}case "config":{let r=this.engine.getConfig();this.transport.send(Ve(e.id,{type:"config",data:{permissionMode:r.permissionMode??"default",planMode:a$1(),preset:r.preset,model:r.llm.model,cwd:r.cwd,maxContextTokens:r.maxContextTokens,llm:{provider:r.llm.provider,model:r.llm.model,apiKey:r.llm.apiKey,baseUrl:r.llm.baseUrl,temperature:r.llm.temperature,maxTokens:r.llm.maxTokens,enableStreaming:r.llm.enableStreaming}}}));break}case "session_detail":{if(n.sessionId)try{let r=this.engine.getSessionManager().resume(n.sessionId),o={state:r.state,transcript:r.transcript.getEvents()};this.transport.send(Ve(e.id,{type:"session_detail",data:o}));}catch(r){this.transport.send(We(e.id,$e.SessionNotFound,r.message));}else this.transport.send(We(e.id,$e.InvalidParams,"sessionId required for session_detail"));break}case "compact":{try{let r=this.engine.forceCompact();this.transport.send(Ve(e.id,{type:"compact",data:r}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "models":{let r=this.engine.getModelPool(),o=r.list().map(i=>({key:i.key,label:i.label??i.key,model:i.model,protocol:i.provider,providerKey:i.providerKey,active:i.key===r.getActiveKey(),maxOutputTokens:i.maxOutputTokens,maxContextTokens:i.maxContextTokens}));this.transport.send(Ve(e.id,{type:"models",data:o}));break}case "providers":{try{let r=this.engine.readSetting("providers"),o=this.engine.readSetting("models"),i=Array.isArray(r)?r:[],s=Array.isArray(o)?o:[],l=new Map;for(let h of s){let g=typeof h.providerKey=="string"?h.providerKey:"";g&&l.set(g,(l.get(g)??0)+1);}let{readCache:c}=await import('../model-cache-HEDXI7UJ.js'),{defaultCacheDir:d}=await import('../model-cache-HEDXI7UJ.js'),f=d(),m=i.map(h=>{let g=typeof h.key=="string"?h.key:"",v=g?c(f,g):void 0;return {...h,modelCount:l.get(g)??0,cachedModels:v?v.models.length:void 0,cachedAt:v?v.fetchedAt:void 0}});this.transport.send(Ve(e.id,{type:"providers",data:m}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "arena_status":{let r=d();this.transport.send(Ve(e.id,{type:"arena_status",data:r}));break}case "config_set":{try{let{key:r,value:o}=n;if(!r)throw new Error("key is required for config_set");this.engine.updateConfig(r,o),this.transport.send(Ve(e.id,{type:"config_set",data:{key:r,value:o}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "config_get":{try{let{key:r}=n;if(!r)throw new Error("key is required for config_get");let o=this.engine.readSetting(r);this.transport.send(Ve(e.id,{type:"config_get",data:{key:r,value:o}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "permission_set":{try{let r=n.value;if(!r||!["default","acceptEdits","dontAsk","bypassPermissions","auto","plan"].includes(r))throw new Error(`invalid permission mode: ${r}`);this.engine.setPermissionMode(r),this.transport.send(Ve(e.id,{type:"permission_set",data:{mode:r}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "provider_add":{try{let r=n.provider;if(!r||typeof r.key!="string"||typeof r.kind!="string"||typeof r.baseUrl!="string")throw new Error("provider_add: requires {key, kind, baseUrl, ...}");let i=[...this.engine.readSetting("providers")??[],r];this.engine.updateConfig("providers",i),this.transport.send(Ve(e.id,{type:"provider_add",data:{ok:!0,key:r.key}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "provider_refresh":{try{let r=n.key;if(!r)throw new Error("provider_refresh: key required");let i=(this.engine.readSetting("providers")??[]).find(d=>d.key===r);if(!i)throw new Error(`provider not found: ${r}`);let{fetchModelList:s}=await import('../model-fetcher-BJ64META.js'),{defaultCacheDir:l}=await import('../model-cache-HEDXI7UJ.js'),c=await s({key:i.key,kind:i.kind,baseUrl:i.baseUrl,apiKey:i.apiKey},{cacheDir:l(),refresh:!0});this.transport.send(Ve(e.id,{type:"provider_refresh",data:{count:c.models.length,error:c.error}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "provider_delete":{try{let r=n.key;if(!r)throw new Error("provider_delete: key required");let i=(this.engine.readSetting("models")??[]).filter(c=>c.providerKey===r).map(c=>c.key);if(i.length>0)throw new Error(`provider ${r} referenced by models: ${i.join(", ")}`);let l=(this.engine.readSetting("providers")??[]).filter(c=>c.key!==r);this.engine.updateConfig("providers",l),this.transport.send(Ve(e.id,{type:"provider_delete",data:{ok:!0}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "model_add":{try{let r=n.model;if(!r||typeof r.key!="string"||typeof r.model!="string")throw new Error("model_add: requires {key, model, providerKey}");let i=[...this.engine.readSetting("models")??[],r];this.engine.updateConfig("models",i),this.transport.send(Ve(e.id,{type:"model_add",data:{ok:!0,key:r.key}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}case "model_delete":{try{let r=n.key;if(!r)throw new Error("model_delete: key required");let i=(this.engine.readSetting("models")??[]).filter(s=>s.key!==r);this.engine.updateConfig("models",i),this.transport.send(Ve(e.id,{type:"model_delete",data:{ok:!0}}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}break}default:this.transport.send(We(e.id,$e.InvalidParams,`Unknown query type: ${n.type}`));}}handleInject(e){let n=e.params??{};if(!n.content||!n.sessionId){this.transport.send(We(e.id,$e.InvalidParams,"content and sessionId required"));return}try{this.engine.injectContext(n.sessionId,n.content),this.transport.send(Ve(e.id,{ok:!0}));}catch(r){this.transport.send(We(e.id,$e.InternalError,r.message));}}requestApprovalFromClient(e){return new Promise(n=>{let r=nanoid(12);this.pendingApprovals.set(r,n);let o=setTimeout(()=>{this.pendingApprovals.has(r)&&(this.pendingApprovals.delete(r),this.approvalTimers.delete(r),n({approved:false,reason:"approval timed out"}));},t.APPROVAL_TIMEOUT_MS);this.approvalTimers.set(r,o),this.notify(Ke.ApprovalRequest,{requestId:r,request:e});})}requestAskUserFromClient(e,n){return new Promise(r=>{let o=nanoid(12);this.pendingApprovals.set(o,l=>{this.clearApprovalTimer(o),l.approved?r(l.answer??""):r(l.reason??"(user declined to answer)");});let i=setTimeout(()=>{this.pendingApprovals.has(o)&&(this.pendingApprovals.delete(o),this.approvalTimers.delete(o),r("(approval timed out)"));},t.APPROVAL_TIMEOUT_MS);this.approvalTimers.set(o,i);let s={question:e};n?.header!==void 0&&(s.header=n.header),n?.options!==void 0&&(s.options=n.options),n?.multiSelect!==void 0&&(s.multiSelect=n.multiSelect),this.notify(Ke.ApprovalRequest,{requestId:o,request:{toolName:"__ask_user__",args:s,description:e,riskLevel:"low"}});})}notify(e,n){this.transport.send(eu(e,n));}close(){for(let[,e]of this.pendingApprovals)e({approved:false,reason:"server closing"});this.pendingApprovals.clear(),this.clearAllApprovalTimers(),this.notify(Ke.Status,{status:"shutdown"}),this.transport.close();}clearApprovalTimer(e){let n=this.approvalTimers.get(e);n&&(clearTimeout(n),this.approvalTimers.delete(e));}clearAllApprovalTimers(){for(let e of this.approvalTimers.values())clearTimeout(e);this.approvalTimers.clear();}};h();var Vr=class{static{a(this,"AgentClient");}transport;emitter=new EventEmitter;pendingRequests=new Map;constructor(e){this.transport=e.transport,this.transport.onMessage(n=>{nu(n)?this.handleResponse(n):ru(n)&&this.handleNotification(n);});}async run(e,n){let r={task:e,sessionId:n};n&&b$1.setSid(n);let o=await this.request(Ke.Run,r);return o.sessionId&&b$1.setSid(o.sessionId),o}async approve(e,n){await this.request(Ke.Approve,{requestId:e,decision:n});}async cancel(e){await this.request(Ke.Cancel,{reason:e});}async configure(e){return this.request(Ke.Configure,e)}async query(e,n,...r){let o={type:e,sessionId:n};return e==="config_set"&&r.length>=1&&(o.key=n,o.value=r[0],delete o.sessionId),e==="config_get"&&(o.key=n,delete o.sessionId),e==="permission_set"&&(o.value=n,delete o.sessionId),this.request(Ke.Query,o)}async inject(e,n){await this.request(Ke.Inject,{sessionId:e,content:n});}onStreamEvent(e){this.emitter.on("stream",e);}offStreamEvent(e){this.emitter.off("stream",e);}onApprovalRequest(e){this.emitter.on("approvalRequest",e);}offApprovalRequest(e){this.emitter.off("approvalRequest",e);}onStatus(e){this.emitter.on("status",e);}offStatus(e){this.emitter.off("status",e);}request(e,n){return new Promise((r,o)=>{let i=Zc(e,n);this.pendingRequests.set(i.id,{resolve:r,reject:o}),this.transport.send(i);})}handleResponse(e){let n=this.pendingRequests.get(e.id);n&&(this.pendingRequests.delete(e.id),e.error?n.reject(new Error(`[${e.error.code}] ${e.error.message}`)):n.resolve(e.result));}handleNotification(e){let n=e.params??{};switch(e.method){case Ke.StreamEvent:{let r=n.event;r&&this.emitter.emit("stream",r);break}case Ke.ApprovalRequest:{let r=n.requestId,o=n.request;r&&o&&this.emitter.emit("approvalRequest",r,o);break}case Ke.Status:{let r=n.status,o=n.message;this.emitter.emit("status",r,o);break}}}close(){for(let[,e]of this.pendingRequests)e.reject(new Error("Client closed"));this.pendingRequests.clear(),this.emitter.removeAllListeners(),this.transport.close();}};h();function Ni(){let t=new EventEmitter,e=new EventEmitter;return [{send(o){e.emit("message",o);},onMessage(o){t.on("message",o);},close(){t.removeAllListeners(),e.removeAllListeners();}},{send(o){t.emit("message",o);},onMessage(o){e.on("message",o);},close(){t.removeAllListeners(),e.removeAllListeners();}}]}a(Ni,"createInProcessTransport");h();function we(t,e){return {input:t,output:e,cacheRead:t*.1,cacheWrite:t*1.25}}a(we,"pricing");var su={"claude-opus-4.6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4.5":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4.1":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4.6":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4-6":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4.5":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-3.7-sonnet":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-3-7-sonnet":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-3.5-haiku":{input:.8,output:4,cacheRead:.08,cacheWrite:1},"claude-haiku-4.5":{input:1,output:5,cacheRead:.1,cacheWrite:1.25},"claude-haiku-4-5":{input:1,output:5,cacheRead:.1,cacheWrite:1.25},"gpt-5.4":we(5,20),"gpt-5.4-mini":we(1.5,6),"gpt-5.4-pro":we(10,40),"gpt-5":we(5,20),"gpt-4o":we(2.5,10),"gpt-4o-mini":we(.15,.6),"gpt-4.1":we(2,8),"gpt-4.1-mini":we(.4,1.6),"o4-mini":we(1.1,4.4),o3:we(10,40),"o3-mini":we(1.1,4.4),"gemini-2.5-pro":we(1.25,10),"gemini-2.5-pro-preview":we(1.25,10),"gemini-2.5-flash":we(.15,.6),"gemini-3.1-pro-preview":we(2,10),"gemini-3-flash-preview":we(.15,.6),"gemini-2.0-flash":we(.1,.4),"deepseek-v3.2":we(.14,.28),"deepseek-chat":we(.14,.28),"deepseek-r1":we(.55,2.19),"deepseek-reasoner":we(.55,2.19),"qwen3-coder":we(.3,.6),"qwen3-235b-a22b":we(.3,1.2),"qwen3-30b-a3b":we(.1,.3),"qwen3-max":we(.5,2),"llama-4-maverick":we(.2,.8),"llama-4-scout":we(.15,.4),"devstral-medium":we(.5,1.5),"mistral-large":we(2,6),"devstral-small":we(.1,.3)},Mg=we(3,15);function Wo(t){if(t.includes("/")){let r=d$1(t);if(r&&(r.inputPricePerMillion>0||r.outputPricePerMillion>0)){let o=r.inputPricePerMillion,i=r.outputPricePerMillion;return {pricing:{input:o,output:i,cacheRead:o*.1,cacheWrite:o*1.25},known:true}}}let e=au(t),n=su[e]??su[t];return n?{pricing:n,known:true}:{pricing:Mg,known:false}}a(Wo,"lookupPricing");function au(t){let e=t.lastIndexOf("/");return (e>=0?t.slice(e+1):t).replace(/-\d{8}$/,"")}a(au,"getCanonicalName");var la=class{static{a(this,"CostTracker");}records=[];sessionStart=Date.now();_hasUnknownModel=false;record(e,n,r,o=false,i=0,s=0){let l=au(e);!Wo(e).known&&!Wo(l).known&&(this._hasUnknownModel=true),this.records.push({model:l,promptTokens:n,completionTokens:r,cacheReadTokens:i,cacheWriteTokens:s,totalTokens:n+r,timestamp:Date.now(),isSubAgent:o});}getTotalTokens(){let e=0,n=0;for(let r of this.records)e+=r.promptTokens,n+=r.completionTokens;return {prompt:e,completion:n,total:e+n}}getEstimatedCost(){let e=0;for(let n of this.records){let{pricing:r}=Wo(n.model),o=Math.max(0,n.promptTokens-n.cacheReadTokens-n.cacheWriteTokens);e+=o/1e6*r.input,e+=n.completionTokens/1e6*r.output,e+=n.cacheReadTokens/1e6*r.cacheRead,e+=n.cacheWriteTokens/1e6*r.cacheWrite;}return e}getRequestCount(){return this.records.length}getSessionDuration(){return Date.now()-this.sessionStart}estimateForTokens(e,n,r,o=0,i=0){let{pricing:s}=Wo(e);return Math.max(0,n-o-i)/1e6*s.input+r/1e6*s.output+o/1e6*s.cacheRead+i/1e6*s.cacheWrite}getCacheTokens(){let e=0,n=0;for(let r of this.records)e+=r.cacheReadTokens,n+=r.cacheWriteTokens;return {cacheRead:e,cacheWrite:n}}formatSummary(){let e=this.getTotalTokens(),n=this.getCacheTokens(),r=this.getEstimatedCost(),o=this.getRequestCount(),i=this.getSessionDuration(),s=[];s.push(` ${ee.bold.cyan("Cost Summary")}`),s.push(ee.dim(" \u2500".repeat(25))),s.push(` ${ee.dim("Requests:")} ${ee.white(String(o))}`),s.push(` ${ee.dim("Input tokens:")} ${ee.white(sr(e.prompt))}`),s.push(` ${ee.dim("Output tokens:")} ${ee.white(sr(e.completion))}`),(n.cacheRead>0||n.cacheWrite>0)&&(s.push(` ${ee.dim("Cache read:")} ${ee.white(sr(n.cacheRead))}`),s.push(` ${ee.dim("Cache write:")} ${ee.white(sr(n.cacheWrite))}`)),s.push(` ${ee.dim("Total cost:")} ${ee.green(aa(r))}`),s.push(` ${ee.dim("Duration:")} ${ee.white(Ag(i))}`);let l=new Map;for(let c of this.records){let d=l.get(c.model)??{prompt:0,completion:0,cacheRead:0,cacheWrite:0,count:0};d.prompt+=c.promptTokens,d.completion+=c.completionTokens,d.cacheRead+=c.cacheReadTokens,d.cacheWrite+=c.cacheWriteTokens,d.count++,l.set(c.model,d);}if(l.size>=1){s.push(""),s.push(` ${ee.dim("By model:")}`);for(let[c,d]of l){let{pricing:f}=Wo(c),h=Math.max(0,d.prompt-d.cacheRead-d.cacheWrite)/1e6*f.input+d.completion/1e6*f.output+d.cacheRead/1e6*f.cacheRead+d.cacheWrite/1e6*f.cacheWrite,g=`${sr(d.prompt)} in, ${sr(d.completion)} out`+(d.cacheRead>0?`, ${sr(d.cacheRead)} cache`:"");s.push(` ${ee.dim(c)} \u2014 ${g}, ${aa(h)} (${d.count} reqs)`);}}return this._hasUnknownModel&&(s.push(""),s.push(ee.dim(" (costs may be inaccurate due to usage of unknown models)"))),s.join(`
|
|
3
|
-
`)}formatCompact(){let e=this.getTotalTokens(),n=this.getEstimatedCost();return
|
|
4
|
-
${r}${
|
|
5
|
-
`);break}case "agent_end":{let i=e;this.activeAgents.delete(i.agentId),i.error?process.stderr.write(`${r}${
|
|
6
|
-
`):process.stderr.write(`${r}${
|
|
7
|
-
`);break}case "tool_use_start":{let i=e.toolCall,s=
|
|
8
|
-
`);break}case "tool_result":{let i=e.result;if(i.error)process.stderr.write(`${r}${o}${
|
|
9
|
-
`);else {let s=i.result??"",l=
|
|
10
|
-
`);}break}case "error":process.stderr.write(`${r}${o}${
|
|
2
|
+
import {a as a$4}from'../chunk-XXCZE2U2.js';import {a as a$3,b as b$4}from'../chunk-2OD6VR4N.js';import {e,b as b$3,a as a$2,d as d$2}from'../chunk-TKJA6W36.js';import {l,c,b,m,d,a as a$1,S,B,U,T,g,k,W,fa as fa$1}from'../chunk-MGP35GKD.js';import'../chunk-MLCTC53I.js';import'../chunk-WI6FSWGU.js';import {d as d$3}from'../chunk-P6JSTIFM.js';import'../chunk-SNFAPSLA.js';import'../chunk-L7B2ORID.js';import'../chunk-M7VU4YVY.js';import'../chunk-T222K6IV.js';import'../chunk-QTWU7UNA.js';import {c as c$2}from'../chunk-DTPABBSV.js';import'../chunk-RERBX75D.js';import {M,O,P,K}from'../chunk-2GJ7H5NC.js';import {d as d$1,b as b$5}from'../chunk-A4M2Y42L.js';import'../chunk-FU7AHZNN.js';import {b as b$1,c as c$3}from'../chunk-ZSAONDT6.js';import {h,a,b as b$2}from'../chunk-3QP5BQ3L.js';import {Command}from'commander';import {nanoid}from'nanoid';import {EventEmitter}from'events';import'readline';import Z,{Chalk}from'chalk';import {join,sep}from'path';import {Stream}from'stream';import rx from'auto-bind';import {appendFileSync,writeSync,openSync,constants,readSync,closeSync,existsSync,readFileSync,writeFileSync,mkdirSync,statSync,readdirSync}from'fs';import wo from'lodash-es/noop.js';import ax from'lodash-es/throttle.js';import {DefaultEventPriority,NoEventPriority,ContinuousEventPriority,ConcurrentRoot,DiscreteEventPriority}from'react-reconciler/constants.js';import {onExit}from'signal-exit';import {format}from'util';import Sp,{createContext,PureComponent,useContext,useLayoutEffect,useEffect,useSyncExternalStore,useState,useRef,useMemo,useCallback,createElement}from'react';import {execSync,execFile}from'child_process';import {Buffer as Buffer$1}from'buffer';import sy from'react-reconciler';import Ch from'emoji-regex';import {eastAsianWidth}from'get-east-asian-width';import kh from'strip-ansi';import Dh from'wrap-ansi';import {ansiCodesToString,diffAnsiCodes,styledCharsFromTokens,tokenize}from'@alcalzone/ansi-tokenize';import'semver';import {homedir}from'os';import {c as c$1}from'react/compiler-runtime';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import db from'code-excerpt';import Rf from'stack-utils';import Cb from'bidi-js';import Hb from'indent-string';import Fb from'cli-boxes';import {useEventCallback}from'usehooks-ts';import i0 from'supports-hyperlinks';import {Marked,lexer}from'marked';import {markedTerminal}from'marked-terminal';h();h();h();h();var Ue={MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603,SessionNotFound:-32002,AlreadyRunning:-32003,NotRunning:-32004},je={Run:"agent/run",Approve:"agent/approve",Cancel:"agent/cancel",Configure:"agent/configure",Query:"agent/query",Inject:"agent/inject",StreamEvent:"agent/streamEvent",ApprovalRequest:"agent/approvalRequest",Status:"agent/status"},Ag=1;function tu(t,e){return {jsonrpc:"2.0",id:Ag++,method:t,params:e}}a(tu,"createRequest");function Ze(t,e){return {jsonrpc:"2.0",id:t,result:e}}a(Ze,"createResponse");function Ge(t,e,n,r){return {jsonrpc:"2.0",id:t,error:{code:e,message:n,data:r}}}a(Ge,"createErrorResponse");function nu(t,e){return {jsonrpc:"2.0",method:t,params:e}}a(nu,"createNotification");function ru(t){return "method"in t&&"id"in t}a(ru,"isRequest");function ou(t){return "id"in t&&!("method"in t)}a(ou,"isResponse");function iu(t){return "method"in t&&!("id"in t)}a(iu,"isNotification");var zr=class t{static{a(this,"AgentServer");}engine;transport;running=false;abortController=null;pendingApprovals=new Map;approvalTimers=new Map;static APPROVAL_TIMEOUT_MS=300*1e3;constructor(e){this.engine=e.engine,this.transport=e.transport,this.transport.onMessage(n=>{ru(n)&&this.handleRequest(n).catch(r=>{this.transport.send(Ge(n.id,Ue.InternalError,r.message));});}),l(n=>this.requestApprovalFromClient(n)),this.engine.setAskUser((n,r)=>this.requestAskUserFromClient(n,r)),this.notify(je.Status,{status:"ready"});}async handleRequest(e){switch(e.method){case je.Run:await this.handleRun(e);break;case je.Approve:this.handleApprove(e);break;case je.Cancel:this.handleCancel(e);break;case je.Configure:this.handleConfigure(e);break;case je.Query:this.handleQuery(e);break;case je.Inject:this.handleInject(e);break;default:this.transport.send(Ge(e.id,Ue.MethodNotFound,`Unknown method: ${e.method}`));}}async handleRun(e){if(this.running){this.transport.send(Ge(e.id,Ue.AlreadyRunning,"Agent is already running"));return}let n=e.params??{};if(!n.task){this.transport.send(Ge(e.id,Ue.InvalidParams,"task is required"));return}this.running=true,this.abortController=new AbortController,this.notify(je.Status,{status:"running"});let r=a(o=>{this.notify(je.StreamEvent,{event:o});},"streamToClient");c.setStreamCallback(r);try{let o=await this.engine.run(n.task,{sessionId:n.sessionId,signal:this.abortController.signal,onStream:r}),i={text:o.text,reason:o.reason,sessionId:o.sessionId,turnCount:o.turnCount,usage:o.usage};this.transport.send(Ze(e.id,i));}catch(o){this.transport.send(Ge(e.id,Ue.InternalError,o.message));}finally{c.setStreamCallback(void 0),this.running=false,this.abortController=null,this.notify(je.Status,{status:"ready"});}}handleApprove(e){let n=e.params??{},r=this.pendingApprovals.get(n.requestId);if(!r){this.transport.send(Ge(e.id,Ue.InvalidParams,`No pending approval: ${n.requestId}`));return}this.pendingApprovals.delete(n.requestId),this.clearApprovalTimer(n.requestId),r(n.decision),this.transport.send(Ze(e.id,{ok:true}));}handleCancel(e){if(!this.running||!this.abortController){this.transport.send(Ge(e.id,Ue.NotRunning,"Agent is not running"));return}this.abortController.abort();for(let[n,r]of this.pendingApprovals)r({approved:false,reason:"cancelled"});this.pendingApprovals.clear(),this.clearAllApprovalTimers(),this.transport.send(Ze(e.id,{ok:true}));}handleConfigure(e){let n=e.params??{};if(n.planMode!==void 0&&b(n.planMode),n.bypassPermissions!==void 0&&m(n.bypassPermissions),n.reloadModels)try{this.engine.reloadModelPool();}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));return}if(n.model!==void 0)try{let r=this.engine.switchModel(n.model);this.transport.send(Ze(e.id,{ok:!0,model:r.model,key:r.key}));return}catch(r){this.transport.send(Ge(e.id,Ue.InvalidParams,r.message));return}this.transport.send(Ze(e.id,{ok:true}));}async handleQuery(e){let n=e.params??{};switch(n.type){case "tools":{let r=this.engine.getToolRegistry(),o=typeof r.listToolsDetailed=="function"?r.listToolsDetailed().map(i=>({name:i.name,description:i.description??""})):r.listTools().map(i=>({name:i,description:""}));this.transport.send(Ze(e.id,{type:"tools",data:o}));break}case "sessions":{let r=this.engine.getSessionManager().list();this.transport.send(Ze(e.id,{type:"sessions",data:r}));break}case "config":{let r=this.engine.getConfig();this.transport.send(Ze(e.id,{type:"config",data:{permissionMode:r.permissionMode??"default",planMode:a$1(),preset:r.preset,model:r.llm.model,cwd:r.cwd,maxContextTokens:r.maxContextTokens,llm:{provider:r.llm.provider,model:r.llm.model,apiKey:r.llm.apiKey,baseUrl:r.llm.baseUrl,temperature:r.llm.temperature,maxTokens:r.llm.maxTokens,enableStreaming:r.llm.enableStreaming}}}));break}case "session_detail":{if(n.sessionId)try{let r=this.engine.getSessionManager().resume(n.sessionId),o={state:r.state,transcript:r.transcript.getEvents()};this.transport.send(Ze(e.id,{type:"session_detail",data:o}));}catch(r){this.transport.send(Ge(e.id,Ue.SessionNotFound,r.message));}else this.transport.send(Ge(e.id,Ue.InvalidParams,"sessionId required for session_detail"));break}case "compact":{try{let r=this.engine.forceCompact();this.transport.send(Ze(e.id,{type:"compact",data:r}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "models":{let r=this.engine.getModelPool(),o=r.list().map(i=>({key:i.key,label:i.label??i.key,model:i.model,protocol:i.provider,providerKey:i.providerKey,active:i.key===r.getActiveKey(),maxOutputTokens:i.maxOutputTokens,maxContextTokens:i.maxContextTokens}));this.transport.send(Ze(e.id,{type:"models",data:o}));break}case "providers":{try{let r=this.engine.readSetting("providers"),o=this.engine.readSetting("models"),i=Array.isArray(r)?r:[],s=Array.isArray(o)?o:[],l=new Map;for(let h of s){let g=typeof h.providerKey=="string"?h.providerKey:"";g&&l.set(g,(l.get(g)??0)+1);}let{readCache:c}=await import('../model-cache-HEDXI7UJ.js'),{defaultCacheDir:d}=await import('../model-cache-HEDXI7UJ.js'),f=d(),m=i.map(h=>{let g=typeof h.key=="string"?h.key:"",S=g?c(f,g):void 0;return {...h,modelCount:l.get(g)??0,cachedModels:S?S.models.length:void 0,cachedAt:S?S.fetchedAt:void 0}});this.transport.send(Ze(e.id,{type:"providers",data:m}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "arena_status":{let r=d();this.transport.send(Ze(e.id,{type:"arena_status",data:r}));break}case "config_set":{try{let{key:r,value:o}=n;if(!r)throw new Error("key is required for config_set");this.engine.updateConfig(r,o),this.transport.send(Ze(e.id,{type:"config_set",data:{key:r,value:o}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "config_get":{try{let{key:r}=n;if(!r)throw new Error("key is required for config_get");let o=this.engine.readSetting(r);this.transport.send(Ze(e.id,{type:"config_get",data:{key:r,value:o}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "permission_set":{try{let r=n.value;if(!r||!["default","acceptEdits","dontAsk","bypassPermissions","auto","plan"].includes(r))throw new Error(`invalid permission mode: ${r}`);this.engine.setPermissionMode(r),this.transport.send(Ze(e.id,{type:"permission_set",data:{mode:r}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "provider_add":{try{let r=n.provider;if(!r||typeof r.key!="string"||typeof r.kind!="string"||typeof r.baseUrl!="string")throw new Error("provider_add: requires {key, kind, baseUrl, ...}");let i=[...this.engine.readSetting("providers")??[],r];this.engine.updateConfig("providers",i),this.transport.send(Ze(e.id,{type:"provider_add",data:{ok:!0,key:r.key}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "provider_refresh":{try{let r=n.key;if(!r)throw new Error("provider_refresh: key required");let i=(this.engine.readSetting("providers")??[]).find(d=>d.key===r);if(!i)throw new Error(`provider not found: ${r}`);let{fetchModelList:s}=await import('../model-fetcher-X5W5EASG.js'),{defaultCacheDir:l}=await import('../model-cache-HEDXI7UJ.js'),c=await s({key:i.key,kind:i.kind,baseUrl:i.baseUrl,apiKey:i.apiKey},{cacheDir:l(),refresh:!0});this.transport.send(Ze(e.id,{type:"provider_refresh",data:{count:c.models.length,error:c.error}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "provider_delete":{try{let r=n.key;if(!r)throw new Error("provider_delete: key required");let i=(this.engine.readSetting("models")??[]).filter(c=>c.providerKey===r).map(c=>c.key);if(i.length>0)throw new Error(`provider ${r} referenced by models: ${i.join(", ")}`);let l=(this.engine.readSetting("providers")??[]).filter(c=>c.key!==r);this.engine.updateConfig("providers",l),this.transport.send(Ze(e.id,{type:"provider_delete",data:{ok:!0}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "model_add":{try{let r=n.model;if(!r||typeof r.key!="string"||typeof r.model!="string")throw new Error("model_add: requires {key, model, providerKey}");let i=[...this.engine.readSetting("models")??[],r];this.engine.updateConfig("models",i),this.transport.send(Ze(e.id,{type:"model_add",data:{ok:!0,key:r.key}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}case "model_delete":{try{let r=n.key;if(!r)throw new Error("model_delete: key required");let i=(this.engine.readSetting("models")??[]).filter(s=>s.key!==r);this.engine.updateConfig("models",i),this.transport.send(Ze(e.id,{type:"model_delete",data:{ok:!0}}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}break}default:this.transport.send(Ge(e.id,Ue.InvalidParams,`Unknown query type: ${n.type}`));}}handleInject(e){let n=e.params??{};if(!n.content||!n.sessionId){this.transport.send(Ge(e.id,Ue.InvalidParams,"content and sessionId required"));return}try{this.engine.injectContext(n.sessionId,n.content),this.transport.send(Ze(e.id,{ok:!0}));}catch(r){this.transport.send(Ge(e.id,Ue.InternalError,r.message));}}requestApprovalFromClient(e){return new Promise(n=>{let r=nanoid(12);this.pendingApprovals.set(r,n);let o=setTimeout(()=>{this.pendingApprovals.has(r)&&(this.pendingApprovals.delete(r),this.approvalTimers.delete(r),n({approved:false,reason:"approval timed out"}));},t.APPROVAL_TIMEOUT_MS);this.approvalTimers.set(r,o),this.notify(je.ApprovalRequest,{requestId:r,request:e});})}requestAskUserFromClient(e,n){return new Promise(r=>{let o=nanoid(12);this.pendingApprovals.set(o,l=>{this.clearApprovalTimer(o),l.approved?r(l.answer??""):r(l.reason??"(user declined to answer)");});let i=setTimeout(()=>{this.pendingApprovals.has(o)&&(this.pendingApprovals.delete(o),this.approvalTimers.delete(o),r("(approval timed out)"));},t.APPROVAL_TIMEOUT_MS);this.approvalTimers.set(o,i);let s={question:e};n?.header!==void 0&&(s.header=n.header),n?.options!==void 0&&(s.options=n.options),n?.multiSelect!==void 0&&(s.multiSelect=n.multiSelect),this.notify(je.ApprovalRequest,{requestId:o,request:{toolName:"__ask_user__",args:s,description:e,riskLevel:"low"}});})}notify(e,n){this.transport.send(nu(e,n));}close(){for(let[,e]of this.pendingApprovals)e({approved:false,reason:"server closing"});this.pendingApprovals.clear(),this.clearAllApprovalTimers(),this.notify(je.Status,{status:"shutdown"}),this.transport.close();}clearApprovalTimer(e){let n=this.approvalTimers.get(e);n&&(clearTimeout(n),this.approvalTimers.delete(e));}clearAllApprovalTimers(){for(let e of this.approvalTimers.values())clearTimeout(e);this.approvalTimers.clear();}};h();var Jr=class{static{a(this,"AgentClient");}transport;emitter=new EventEmitter;pendingRequests=new Map;constructor(e){this.transport=e.transport,this.transport.onMessage(n=>{ou(n)?this.handleResponse(n):iu(n)&&this.handleNotification(n);});}async run(e,n){let r={task:e,sessionId:n};n&&b$1.setSid(n);let o=await this.request(je.Run,r);return o.sessionId&&b$1.setSid(o.sessionId),o}async approve(e,n){await this.request(je.Approve,{requestId:e,decision:n});}async cancel(e){await this.request(je.Cancel,{reason:e});}async configure(e){return this.request(je.Configure,e)}async query(e,n,...r){let o={type:e};return e==="config_set"&&r.length>=1?(o.key=n,o.value=r[0]):e==="config_get"?o.key=n:e==="permission_set"?o.value=n:e==="provider_add"||e==="model_add"||e==="provider_refresh"||e==="provider_delete"||e==="model_delete"?n&&typeof n=="object"&&Object.assign(o,n):o.sessionId=n,this.request(je.Query,o)}async inject(e,n){await this.request(je.Inject,{sessionId:e,content:n});}onStreamEvent(e){this.emitter.on("stream",e);}offStreamEvent(e){this.emitter.off("stream",e);}onApprovalRequest(e){this.emitter.on("approvalRequest",e);}offApprovalRequest(e){this.emitter.off("approvalRequest",e);}onStatus(e){this.emitter.on("status",e);}offStatus(e){this.emitter.off("status",e);}request(e,n){return new Promise((r,o)=>{let i=tu(e,n);this.pendingRequests.set(i.id,{resolve:r,reject:o}),this.transport.send(i);})}handleResponse(e){let n=this.pendingRequests.get(e.id);n&&(this.pendingRequests.delete(e.id),e.error?n.reject(new Error(`[${e.error.code}] ${e.error.message}`)):n.resolve(e.result));}handleNotification(e){let n=e.params??{};switch(e.method){case je.StreamEvent:{let r=n.event;r&&this.emitter.emit("stream",r);break}case je.ApprovalRequest:{let r=n.requestId,o=n.request;r&&o&&this.emitter.emit("approvalRequest",r,o);break}case je.Status:{let r=n.status,o=n.message;this.emitter.emit("status",r,o);break}}}close(){for(let[,e]of this.pendingRequests)e.reject(new Error("Client closed"));this.pendingRequests.clear(),this.emitter.removeAllListeners(),this.transport.close();}};h();function Di(){let t=new EventEmitter,e=new EventEmitter;return [{send(o){e.emit("message",o);},onMessage(o){t.on("message",o);},close(){t.removeAllListeners(),e.removeAllListeners();}},{send(o){t.emit("message",o);},onMessage(o){e.on("message",o);},close(){t.removeAllListeners(),e.removeAllListeners();}}]}a(Di,"createInProcessTransport");h();function xe(t,e){return {input:t,output:e,cacheRead:t*.1,cacheWrite:t*1.25}}a(xe,"pricing");var lu={"claude-opus-4.6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4-6":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4.5":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4.1":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-opus-4":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4.6":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4-6":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4.5":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-3.7-sonnet":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-3-7-sonnet":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-3.5-haiku":{input:.8,output:4,cacheRead:.08,cacheWrite:1},"claude-haiku-4.5":{input:1,output:5,cacheRead:.1,cacheWrite:1.25},"claude-haiku-4-5":{input:1,output:5,cacheRead:.1,cacheWrite:1.25},"gpt-5.4":xe(5,20),"gpt-5.4-mini":xe(1.5,6),"gpt-5.4-pro":xe(10,40),"gpt-5":xe(5,20),"gpt-4o":xe(2.5,10),"gpt-4o-mini":xe(.15,.6),"gpt-4.1":xe(2,8),"gpt-4.1-mini":xe(.4,1.6),"o4-mini":xe(1.1,4.4),o3:xe(10,40),"o3-mini":xe(1.1,4.4),"gemini-2.5-pro":xe(1.25,10),"gemini-2.5-pro-preview":xe(1.25,10),"gemini-2.5-flash":xe(.15,.6),"gemini-3.1-pro-preview":xe(2,10),"gemini-3-flash-preview":xe(.15,.6),"gemini-2.0-flash":xe(.1,.4),"deepseek-v4-flash":xe(.126,.252),"deepseek-v4-pro":xe(.5,2),"deepseek-v3.2":xe(.14,.28),"deepseek-chat":xe(.14,.28),"deepseek-r1":xe(.55,2.19),"deepseek-reasoner":xe(.55,2.19),"qwen3-coder":xe(.3,.6),"qwen3-235b-a22b":xe(.3,1.2),"qwen3-30b-a3b":xe(.1,.3),"qwen3-max":xe(.5,2),"llama-4-maverick":xe(.2,.8),"llama-4-scout":xe(.15,.4),"devstral-medium":xe(.5,1.5),"mistral-large":xe(2,6),"devstral-small":xe(.1,.3)},Pg=xe(3,15);function cu(t){let e=t.inputPricePerMillion,n=t.outputPricePerMillion;return {pricing:{input:e,output:n,cacheRead:e*.1,cacheWrite:e*1.25},known:true}}a(cu,"openRouterPricing");function Ko(t){if(t.includes("/")){let o=d$1(t);if(o&&(o.inputPricePerMillion>0||o.outputPricePerMillion>0))return cu(o)}let e=d$1(`deepseek/${t}`)??d$1(`openai/${t}`)??d$1(`anthropic/${t}`);if(e&&(e.inputPricePerMillion>0||e.outputPricePerMillion>0))return cu(e);let n=uu(t),r=lu[n]??lu[t];return r?{pricing:r,known:true}:{pricing:Pg,known:false}}a(Ko,"lookupPricing");function uu(t){let e=t.lastIndexOf("/");return (e>=0?t.slice(e+1):t).replace(/-\d{8}$/,"")}a(uu,"getCanonicalName");var fa=class{static{a(this,"CostTracker");}records=[];sessionStart=Date.now();_hasUnknownModel=false;record(e,n,r,o=false,i=0,s=0){let l=uu(e);!Ko(e).known&&!Ko(l).known&&(this._hasUnknownModel=true),this.records.push({model:l,promptTokens:n,completionTokens:r,cacheReadTokens:i,cacheWriteTokens:s,totalTokens:n+r,timestamp:Date.now(),isSubAgent:o});}getTotalTokens(){let e=0,n=0;for(let r of this.records)e+=r.promptTokens,n+=r.completionTokens;return {prompt:e,completion:n,total:e+n}}getEstimatedCost(){let e=0;for(let n of this.records){let{pricing:r}=Ko(n.model),o=Math.max(0,n.promptTokens-n.cacheReadTokens-n.cacheWriteTokens);e+=o/1e6*r.input,e+=n.completionTokens/1e6*r.output,e+=n.cacheReadTokens/1e6*r.cacheRead,e+=n.cacheWriteTokens/1e6*r.cacheWrite;}return e}getRequestCount(){return this.records.length}getSessionDuration(){return Date.now()-this.sessionStart}estimateForTokens(e,n,r,o=0,i=0){let{pricing:s}=Ko(e);return Math.max(0,n-o-i)/1e6*s.input+r/1e6*s.output+o/1e6*s.cacheRead+i/1e6*s.cacheWrite}getCacheTokens(){let e=0,n=0;for(let r of this.records)e+=r.cacheReadTokens,n+=r.cacheWriteTokens;return {cacheRead:e,cacheWrite:n}}formatSummary(){let e=this.getTotalTokens(),n=this.getCacheTokens(),r=this.getEstimatedCost(),o=this.getRequestCount(),i=this.getSessionDuration(),s=[];s.push(` ${Z.bold.cyan("Cost Summary")}`),s.push(Z.dim(" \u2500".repeat(25))),s.push(` ${Z.dim("Requests:")} ${Z.white(String(o))}`),s.push(` ${Z.dim("Input tokens:")} ${Z.white(cr(e.prompt))}`),s.push(` ${Z.dim("Output tokens:")} ${Z.white(cr(e.completion))}`),(n.cacheRead>0||n.cacheWrite>0)&&(s.push(` ${Z.dim("Cache read:")} ${Z.white(cr(n.cacheRead))}`),s.push(` ${Z.dim("Cache write:")} ${Z.white(cr(n.cacheWrite))}`)),s.push(` ${Z.dim("Total cost:")} ${Z.green(da(r))}`),s.push(` ${Z.dim("Duration:")} ${Z.white(Og(i))}`);let l=new Map;for(let c of this.records){let d=l.get(c.model)??{prompt:0,completion:0,cacheRead:0,cacheWrite:0,count:0};d.prompt+=c.promptTokens,d.completion+=c.completionTokens,d.cacheRead+=c.cacheReadTokens,d.cacheWrite+=c.cacheWriteTokens,d.count++,l.set(c.model,d);}if(l.size>=1){s.push(""),s.push(` ${Z.dim("By model:")}`);for(let[c,d]of l){let{pricing:f}=Ko(c),h=Math.max(0,d.prompt-d.cacheRead-d.cacheWrite)/1e6*f.input+d.completion/1e6*f.output+d.cacheRead/1e6*f.cacheRead+d.cacheWrite/1e6*f.cacheWrite,g=`${cr(d.prompt)} in, ${cr(d.completion)} out`+(d.cacheRead>0?`, ${cr(d.cacheRead)} cache`:"");s.push(` ${Z.dim(c)} \u2014 ${g}, ${da(h)} (${d.count} reqs)`);}}return this._hasUnknownModel&&(s.push(""),s.push(Z.dim(" (costs may be inaccurate due to usage of unknown models)"))),s.join(`
|
|
3
|
+
`)}formatCompact(){let e=this.getTotalTokens(),n=this.getEstimatedCost();return Z.dim(`tokens: ${cr(e.total)} | cost: ${da(n)}`)}reset(){this.records=[],this.sessionStart=Date.now();}serialize(){let e=this.getTotalTokens();return {records:this.records,sessionStart:this.sessionStart,totalPromptTokens:e.prompt,totalCompletionTokens:e.completion,estimatedCost:this.getEstimatedCost()}}restore(e){this.records=e.records??[],this.sessionStart=e.sessionStart??Date.now();}};function da(t){return t>=.5?`$${Math.round(t*100)/100}`:t>=.01?`$${t.toFixed(4)}`:t>0?`$${t.toFixed(6)}`:"$0.00"}a(da,"formatCost");function cr(t){return t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"K":String(t)}a(cr,"formatNumber");function Og(t){let e=Math.floor(t/1e3);if(e<60)return `${e}s`;let n=Math.floor(e/60),r=e%60;if(n<60)return `${n}m ${r}s`;let o=Math.floor(n/60),i=n%60;return `${o}h ${i}m`}a(Og,"formatDuration");var ft=new fa;async function du(){let{LLMClientBase:t}=await import('../client-base-F5FCRSB3.js');t.onUsage=(e,n)=>{ft.record(e,n.promptTokens,n.completionTokens,false,n.cacheReadTokens??0,n.cacheCreationTokens??0);};}a(du,"installCostTracking");h();h();var Li=88,Ig=new Set(["file_path","path","directory","cwd"]);function Dg(t){if(!t||!t.startsWith("/"))return t;let e=process.cwd(),n=e.endsWith(sep)?e:e+sep;return t===e?".":t.startsWith(n)?t.slice(n.length):t}a(Dg,"relativizePath");var mu={Read:"ansi:blue",Write:"ansi:green",Edit:"ansi:yellow",Bash:"ansi:magenta",Glob:"ansi:blue",Grep:"ansi:blue",Agent:"ansi:cyan",WebSearch:"ansi:blue",WebFetch:"ansi:blue",LSP:"ansi:cyan",TaskCreate:"ansi:cyan",TaskUpdate:"ansi:cyan"},Lg={Read:["file_path"],Write:["file_path"],Edit:["file_path"],Glob:["pattern"],Grep:["pattern","path"],Bash:["command"],WebSearch:["query"],WebFetch:["url"],Agent:["description"],TaskCreate:["subject"],TaskUpdate:["taskId","status"],Sleep:["seconds"],EnterWorktree:["slug"],SendMessage:["to"],CronCreate:["name","schedule"],LSP:["action","file_path"],NotebookEdit:["action","file_path"],Config:["action","key"]};function Bg(t){let e=t.match(/^\s*cd\s+(?:"[^"]*"|'[^']*'|\S+)\s*(?:&&|;)\s*(.+)$/s);return e?e[1].trim():t}a(Bg,"stripCdPrefix");function Bi(t,e){let n=Lg[t]??Object.keys(e).slice(0,2),r=[];for(let o of n){let i=e[o];if(i!==void 0&&!o.startsWith("__")){let s=String(i);t==="Bash"&&o==="command"?s=Bg(s):Ig.has(o)&&(s=Dg(s));let l=t==="Bash"&&o==="command"?Li:60;r.push(Bt(s,l));}}if(t==="Read"){let o=typeof e.offset=="number"?e.offset:void 0,i=typeof e.limit=="number"?e.limit:void 0;if(o!==void 0||i!==void 0){let s=o??1,l=i!==void 0?s+i-1:void 0;r.push(l!==void 0?`:${s}-${l}`:`:${s}-`);}}return r.length>0?r.join(" "):Bt(JSON.stringify(e),80)}a(Bi,"formatToolArgs");function Bt(t,e){return t.length>e?t.slice(0,e-1)+"\u2026":t}a(Bt,"truncate");function un(t){return t.replace(/\n/g," ").replace(/\s+/g," ").trim()}a(un,"singleLine");function Fi(t){return t>=1024*1024?(t/(1024*1024)).toFixed(1)+"MB":t>=1024?(t/1024).toFixed(1)+"KB":t+"B"}a(Fi,"formatBytes");var ma=class{static{a(this,"TextRenderer");}activeAgents=new Set;onEvent(e){let n=e.agentId,r=n?" ":"",o=n?Z.dim("\u2502 "):"";switch(e.type){case "text_delta":n||process.stdout.write(e.text);break;case "agent_start":{let i=e;this.activeAgents.add(i.agentId),process.stderr.write(`
|
|
4
|
+
${r}${Z.magenta("\u25B8")} ${Z.bold("Agent")} ${Z.dim(i.description)}
|
|
5
|
+
`);break}case "agent_end":{let i=e;this.activeAgents.delete(i.agentId),i.error?process.stderr.write(`${r}${Z.red("\u2717")} ${Z.dim(`Agent ${i.description}: ${i.error}`)}
|
|
6
|
+
`):process.stderr.write(`${r}${Z.green("\u2713")} ${Z.dim(`Agent ${i.description}`)}
|
|
7
|
+
`);break}case "tool_use_start":{let i=e.toolCall,s=Bi(i.toolName,i.args);process.stderr.write(`${r}${o}${Z.cyan("\u25CF")} ${Z.bold(i.toolName)} ${Z.dim(s)}
|
|
8
|
+
`);break}case "tool_result":{let i=e.result;if(i.error)process.stderr.write(`${r}${o}${Z.red("\u2717")} ${Z.bold(i.toolName)} ${Z.red(Bt(un(i.error),80))}
|
|
9
|
+
`);else {let s=i.result??"",l=Fg(i.toolName,s);process.stderr.write(`${r}${o}${Z.green("\u2713")} ${Z.bold(i.toolName)} ${Z.dim(l)}
|
|
10
|
+
`);}break}case "error":process.stderr.write(`${r}${o}${Z.red("\u2717")} ${e.error}
|
|
11
11
|
`);break}}onComplete(e,n){n!=="completed"?process.stdout.write(`
|
|
12
|
-
${
|
|
12
|
+
${Z.yellow(`[${n}]`)}
|
|
13
13
|
`):process.stdout.write(`
|
|
14
|
-
`);}},
|
|
15
|
-
`);}},
|
|
14
|
+
`);}},pa=class{static{a(this,"JsonRenderer");}text="";onEvent(e){e.type==="text_delta"&&(this.text+=e.text);}onComplete(e,n,r){process.stdout.write(JSON.stringify({result:e||this.text,reason:n,...r},null,2)+`
|
|
15
|
+
`);}},ga=class{static{a(this,"JsonlRenderer");}onEvent(e){process.stdout.write(JSON.stringify(e)+`
|
|
16
16
|
`);}onComplete(e,n,r){process.stdout.write(JSON.stringify({type:"result",text:e,reason:n,...r})+`
|
|
17
|
-
`);}},
|
|
17
|
+
`);}},ha=class{static{a(this,"StreamJsonRenderer");}onEvent(e){process.stdout.write(JSON.stringify(e)+`
|
|
18
18
|
`);}onComplete(e,n,r){process.stdout.write(JSON.stringify({type:"result",text:e,reason:n,...r})+`
|
|
19
|
-
`);}};function
|
|
20
|
-
`),r=n.length;switch(t){case "Read":return `${r} lines, ${Ii(e.length)}`;case "Glob":return `${n.filter(o=>o.trim()).length} files`;case "Grep":return `${n.filter(o=>o.trim()).length} matches`;case "Write":case "Edit":return Dt(un(e),60);case "Bash":return r<=1?Dt(un(e),80):`${Dt(n[0],60)} (+${r-1} lines)`;default:return r<=1?Dt(e,80):`${Dt(n[0],60)} (+${r-1} lines)`}}a(Dg,"compactSummary");function Lg(t){let e=t;if(!e.models?.length)return;if(e.activeKey){let r=e.models.find(o=>o.key===e.activeKey);if(r)return r}let n=e.model?.name;if(n)return e.models.find(r=>r.model===n||r.model?.endsWith(`/${n}`))}a(Lg,"findActiveModelEntry");function Bg(t,e){return e?t.providers?.find(r=>r.key===e)?.apiKey:void 0}a(Bg,"findProviderApiKey");async function ma(t){let e=process.cwd(),r=new c$2(e).get(),o=Lg(r),i=r.model?.apiKey??o?.apiKey??Bg(r,o?.providerKey),s=M(t.apiKey,i);s||(console.error("Error: No API key provided. Use --api-key, set OPENROUTER_API_KEY env var, or add to settings."),process.exit(1));let l={provider:t.provider??o?.provider??r.model?.provider??"openai",model:t.model??o?.model??r.model?.name??"anthropic/claude-opus-4-6",apiKey:s,baseUrl:t.baseUrl??o?.baseUrl??r.model?.baseUrl??"https://openrouter.ai/api/v1",temperature:r.model?.temperature,maxTokens:o?.maxOutputTokens??r.model?.maxTokens??8192,enableStreaming:true},c=Fg(r.sandbox,"auto"),d=new T({llm:l,cwd:e,preset:t.preset??r.agent.preset,enabledBuiltinTools:r.agent.enabledBuiltinTools,disabledBuiltinTools:r.agent.disabledBuiltinTools,permissionMode:t.permissionMode??"acceptEdits",customSystemPrompt:r.agent.customSystemPrompt,appendSystemPrompt:r.agent.appendSystemPrompt,maxTurns:t.maxTurns??30,maxContextTokens:r.context.maxTokens,sessionStorageDir:r.session.storageDir,costStore:at,mcpServers:r.mcpServers,headless:true,sandbox:c}),[f,m]=Ni();new qr({engine:d,transport:f});let g=new Vr({transport:m}),v=t.output??r.output.format??"text",b=du(v);g.onStreamEvent(S=>b.onEvent(S));let w=await g.run(t.task,t.resume);b.onComplete(w.text,w.reason,{sessionId:w.sessionId,turnCount:w.turnCount}),g.close(),process.exit(w.reason==="completed"?0:1);}a(ma,"runCommand");function Fg(t,e){let n=S(e);return t?{mode:t.mode??n.mode,writableRoots:t.writableRoots??n.writableRoots,deniedReads:t.deniedReads??n.deniedReads,network:t.network??n.network}:n}a(Fg,"mergeSandboxConfig");h();h();h();h();function Le(t,e){let n=e?.level??"debug",r=n==="error"||n==="warn"||n==="info"?n:"debug",o=t.match(/^\s*\[([^\]]+)\]\s*(.*)$/),i=o?o[1].toLowerCase():void 0,s=o?o[2]:t,l={};switch(i&&(l.cat=i),r){case "error":b$1.error(s,l);break;case "warn":b$1.warn(s,l);break;case "info":b$1.info(s,l);break;default:b$1.debug(s,l);break}}a(Le,"logForDebugging");h();h();h();var ae={Auto:0,FlexStart:1,Center:2,FlexEnd:3,Stretch:4,Baseline:5,SpaceBetween:6,SpaceAround:7,SpaceEvenly:8};var Di={Inherit:0,LTR:1},Un={Flex:0,None:1,Contents:2},Ne={Left:0,Top:1,Right:2,Bottom:3,Start:4,End:5,Horizontal:6,Vertical:7,All:8},fu={None:0};var tt={Column:0,ColumnReverse:1,Row:2,RowReverse:3},Nn={Column:0,Row:1,All:2},wt={FlexStart:0,Center:1,FlexEnd:2,SpaceBetween:3,SpaceAround:4,SpaceEvenly:5},le={Undefined:0,Exactly:1,AtMost:2},Cr={Visible:0,Hidden:1,Scroll:2},kr={Relative:1,Absolute:2},pt={Undefined:0,Point:1,Percent:2,Auto:3},Gn={NoWrap:0,Wrap:1,WrapReverse:2};var Ht={unit:pt.Undefined,value:NaN},Kn={unit:pt.Auto,value:NaN};function $i(t){return {unit:pt.Point,value:t}}a($i,"pointValue");function Vt(t){return {unit:pt.Percent,value:t}}a(Vt,"percentValue");function ze(t,e){switch(t.unit){case pt.Point:return t.value;case pt.Percent:return isNaN(e)?NaN:t.value*e/100;default:return NaN}}a(ze,"resolveValue");function te(t){return !isNaN(t)}a(te,"isDefined");function Rt(t,e){return t===e||t!==t&&e!==e}a(Rt,"sameFloat");function mu(){return {direction:Di.Inherit,flexDirection:tt.Column,justifyContent:wt.FlexStart,alignItems:ae.Stretch,alignSelf:ae.Auto,alignContent:ae.FlexStart,flexWrap:Gn.NoWrap,overflow:Cr.Visible,display:Un.Flex,positionType:kr.Relative,flexGrow:0,flexShrink:0,flexBasis:Kn,margin:new Array(9).fill(Ht),padding:new Array(9).fill(Ht),border:new Array(9).fill(Ht),position:new Array(9).fill(Ht),gap:new Array(3).fill(Ht),width:Kn,height:Kn,minWidth:Ht,minHeight:Ht,maxWidth:Ht,maxHeight:Ht}}a(mu,"defaultStyle");var Ot=0,mn=1,zt=2,jn=3;function ar(t,e,n,r=false){let o=t[e];return o.unit===pt.Undefined&&(e===Ot||e===zt?o=t[Ne.Horizontal]:o=t[Ne.Vertical]),o.unit===pt.Undefined&&(o=t[Ne.All]),o.unit===pt.Undefined&&(e===Ot&&(o=t[Ne.Start]),e===zt&&(o=t[Ne.End])),o.unit===pt.Undefined?0:o.unit===pt.Auto?r?NaN:0:ze(o,n)}a(ar,"resolveEdge");function pn(t,e){let n=t[e];return n.unit===pt.Undefined&&(e===Ot||e===zt?n=t[Ne.Horizontal]:n=t[Ne.Vertical]),n.unit===pt.Undefined&&(n=t[Ne.All]),n.unit===pt.Undefined&&(e===Ot&&(n=t[Ne.Start]),e===zt&&(n=t[Ne.End])),n}a(pn,"resolveEdgeRaw");function On(t,e){return pn(t,e).unit===pt.Auto}a(On,"isMarginAuto");function pu(t){for(let e=0;e<9;e++)if(t[e].unit===3)return true;return false}a(pu,"hasAnyAutoEdge");function Li(t){for(let e=0;e<9;e++)if(t[e].unit!==0)return true;return false}a(Li,"hasAnyDefinedEdge");function pa(t,e,n){let r=t[6],o=t[7],i=t[8],s=t[4],l=t[5],c=isNaN(e)?NaN:e/100,d=t[0];d.unit===0&&(d=r),d.unit===0&&(d=i),d.unit===0&&(d=s),n[0]=d.unit===1?d.value:d.unit===2?d.value*c:0,d=t[1],d.unit===0&&(d=o),d.unit===0&&(d=i),n[1]=d.unit===1?d.value:d.unit===2?d.value*c:0,d=t[2],d.unit===0&&(d=r),d.unit===0&&(d=i),d.unit===0&&(d=l),n[2]=d.unit===1?d.value:d.unit===2?d.value*c:0,d=t[3],d.unit===0&&(d=o),d.unit===0&&(d=i),n[3]=d.unit===1?d.value:d.unit===2?d.value*c:0;}a(pa,"resolveEdges4Into");function Ko(t){return t===tt.Row||t===tt.RowReverse}a(Ko,"isRow");function xu(t){return t===tt.RowReverse||t===tt.ColumnReverse}a(xu,"isReverse");function $g(t){return Ko(t)?tt.Column:tt.Row}a($g,"crossAxis");function ba(t){switch(t){case tt.Row:return Ot;case tt.RowReverse:return zt;case tt.Column:return mn;case tt.ColumnReverse:return jn}}a(ba,"leadingEdge");function xa(t){switch(t){case tt.Row:return zt;case tt.RowReverse:return Ot;case tt.Column:return jn;case tt.ColumnReverse:return mn}}a(xa,"trailingEdge");function Su(){let t={pointScaleFactor:1,errata:fu.None,useWebDefaults:false,free(){},isExperimentalFeatureEnabled(){return false},setExperimentalFeatureEnabled(){},setPointScaleFactor(e){t.pointScaleFactor=e;},getErrata(){return t.errata},setErrata(e){t.errata=e;},setUseWebDefaults(e){t.useWebDefaults=e;}};return t}a(Su,"createConfig");var Ho=class{static{a(this,"Node");}style;layout;parent;children;measureFunc;config;isDirty_;isReferenceBaseline_;_flexBasis=0;_mainSize=0;_crossSize=0;_lineIndex=0;_hasAutoMargin=false;_hasPosition=false;_hasPadding=false;_hasBorder=false;_hasMargin=false;_lW=NaN;_lH=NaN;_lWM=0;_lHM=0;_lOW=NaN;_lOH=NaN;_lFW=false;_lFH=false;_lOutW=NaN;_lOutH=NaN;_hasL=false;_mW=NaN;_mH=NaN;_mWM=0;_mHM=0;_mOW=NaN;_mOH=NaN;_mOutW=NaN;_mOutH=NaN;_hasM=false;_fbBasis=NaN;_fbOwnerW=NaN;_fbOwnerH=NaN;_fbAvailMain=NaN;_fbAvailCross=NaN;_fbCrossMode=0;_fbGen=-1;_cIn=null;_cOut=null;_cGen=-1;_cN=0;_cWr=0;constructor(e){this.style=mu(),this.layout={left:0,top:0,width:0,height:0,border:[0,0,0,0],padding:[0,0,0,0],margin:[0,0,0,0]},this.parent=null,this.children=[],this.measureFunc=null,this.config=e??Wg,this.isDirty_=true,this.isReferenceBaseline_=false,Sa++;}insertChild(e,n){e.parent=this,this.children.splice(n,0,e),this.markDirty();}removeChild(e){let n=this.children.indexOf(e);n>=0&&(this.children.splice(n,1),e.parent=null,this.markDirty());}getChild(e){return this.children[e]}getChildCount(){return this.children.length}getParent(){return this.parent}free(){this.parent=null,this.children=[],this.measureFunc=null,this._cIn=null,this._cOut=null,Sa--;}freeRecursive(){for(let e of this.children)e.freeRecursive();this.free();}reset(){this.style=mu(),this.children=[],this.parent=null,this.measureFunc=null,this.isDirty_=true,this._hasAutoMargin=false,this._hasPosition=false,this._hasPadding=false,this._hasBorder=false,this._hasMargin=false,this._hasL=false,this._hasM=false,this._cN=0,this._cWr=0,this._fbBasis=NaN;}markDirty(){this.isDirty_=true,this.parent&&!this.parent.isDirty_&&this.parent.markDirty();}isDirty(){return this.isDirty_}hasNewLayout(){return true}markLayoutSeen(){}setMeasureFunc(e){this.measureFunc=e,this.markDirty();}unsetMeasureFunc(){this.measureFunc=null,this.markDirty();}getComputedLeft(){return this.layout.left}getComputedTop(){return this.layout.top}getComputedWidth(){return this.layout.width}getComputedHeight(){return this.layout.height}getComputedRight(){let e=this.parent;return e?e.layout.width-this.layout.left-this.layout.width:0}getComputedBottom(){let e=this.parent;return e?e.layout.height-this.layout.top-this.layout.height:0}getComputedLayout(){return {left:this.layout.left,top:this.layout.top,right:this.getComputedRight(),bottom:this.getComputedBottom(),width:this.layout.width,height:this.layout.height}}getComputedBorder(e){return this.layout.border[ya(e)]}getComputedPadding(e){return this.layout.padding[ya(e)]}getComputedMargin(e){return this.layout.margin[ya(e)]}setWidth(e){this.style.width=dn(e),this.markDirty();}setWidthPercent(e){this.style.width=Vt(e),this.markDirty();}setWidthAuto(){this.style.width=Kn,this.markDirty();}setHeight(e){this.style.height=dn(e),this.markDirty();}setHeightPercent(e){this.style.height=Vt(e),this.markDirty();}setHeightAuto(){this.style.height=Kn,this.markDirty();}setMinWidth(e){this.style.minWidth=dn(e),this.markDirty();}setMinWidthPercent(e){this.style.minWidth=Vt(e),this.markDirty();}setMinHeight(e){this.style.minHeight=dn(e),this.markDirty();}setMinHeightPercent(e){this.style.minHeight=Vt(e),this.markDirty();}setMaxWidth(e){this.style.maxWidth=dn(e),this.markDirty();}setMaxWidthPercent(e){this.style.maxWidth=Vt(e),this.markDirty();}setMaxHeight(e){this.style.maxHeight=dn(e),this.markDirty();}setMaxHeightPercent(e){this.style.maxHeight=Vt(e),this.markDirty();}setFlexDirection(e){this.style.flexDirection=e,this.markDirty();}setFlexGrow(e){this.style.flexGrow=e??0,this.markDirty();}setFlexShrink(e){this.style.flexShrink=e??0,this.markDirty();}setFlex(e){e===void 0||isNaN(e)?(this.style.flexGrow=0,this.style.flexShrink=0):e>0?(this.style.flexGrow=e,this.style.flexShrink=1,this.style.flexBasis=$i(0)):e<0?(this.style.flexGrow=0,this.style.flexShrink=-e):(this.style.flexGrow=0,this.style.flexShrink=0),this.markDirty();}setFlexBasis(e){this.style.flexBasis=dn(e),this.markDirty();}setFlexBasisPercent(e){this.style.flexBasis=Vt(e),this.markDirty();}setFlexBasisAuto(){this.style.flexBasis=Kn,this.markDirty();}setFlexWrap(e){this.style.flexWrap=e,this.markDirty();}setAlignItems(e){this.style.alignItems=e,this.markDirty();}setAlignSelf(e){this.style.alignSelf=e,this.markDirty();}setAlignContent(e){this.style.alignContent=e,this.markDirty();}setJustifyContent(e){this.style.justifyContent=e,this.markDirty();}setDisplay(e){this.style.display=e,this.markDirty();}getDisplay(){return this.style.display}setPositionType(e){this.style.positionType=e,this.markDirty();}setPosition(e,n){this.style.position[e]=dn(n),this._hasPosition=Li(this.style.position),this.markDirty();}setPositionPercent(e,n){this.style.position[e]=Vt(n),this._hasPosition=true,this.markDirty();}setPositionAuto(e){this.style.position[e]=Kn,this._hasPosition=true,this.markDirty();}setOverflow(e){this.style.overflow=e,this.markDirty();}setDirection(e){this.style.direction=e,this.markDirty();}setBoxSizing(e){}setMargin(e,n){let r=dn(n);this.style.margin[e]=r,r.unit===pt.Auto?this._hasAutoMargin=true:this._hasAutoMargin=pu(this.style.margin),this._hasMargin=this._hasAutoMargin||Li(this.style.margin),this.markDirty();}setMarginPercent(e,n){this.style.margin[e]=Vt(n),this._hasAutoMargin=pu(this.style.margin),this._hasMargin=true,this.markDirty();}setMarginAuto(e){this.style.margin[e]=Kn,this._hasAutoMargin=true,this._hasMargin=true,this.markDirty();}setPadding(e,n){this.style.padding[e]=dn(n),this._hasPadding=Li(this.style.padding),this.markDirty();}setPaddingPercent(e,n){this.style.padding[e]=Vt(n),this._hasPadding=true,this.markDirty();}setBorder(e,n){this.style.border[e]=n===void 0?Ht:$i(n),this._hasBorder=Li(this.style.border),this.markDirty();}setGap(e,n){this.style.gap[e]=dn(n),this.markDirty();}setGapPercent(e,n){this.style.gap[e]=Vt(n),this.markDirty();}getFlexDirection(){return this.style.flexDirection}getJustifyContent(){return this.style.justifyContent}getAlignItems(){return this.style.alignItems}getAlignSelf(){return this.style.alignSelf}getAlignContent(){return this.style.alignContent}getFlexGrow(){return this.style.flexGrow}getFlexShrink(){return this.style.flexShrink}getFlexBasis(){return this.style.flexBasis}getFlexWrap(){return this.style.flexWrap}getWidth(){return this.style.width}getHeight(){return this.style.height}getOverflow(){return this.style.overflow}getPositionType(){return this.style.positionType}getDirection(){return this.style.direction}copyStyle(e){}setDirtiedFunc(e){}unsetDirtiedFunc(){}setIsReferenceBaseline(e){this.isReferenceBaseline_=e,this.markDirty();}isReferenceBaseline(){return this.isReferenceBaseline_}setAspectRatio(e){}getAspectRatio(){return NaN}setAlwaysFormsContainingBlock(e){}calculateLayout(e,n,r){wa=0,Ta=0,Uo=0,lr++;let o=e===void 0?NaN:e,i=n===void 0?NaN:n;Go(this,o,i,te(o)?le.Exactly:le.Undefined,te(i)?le.Exactly:le.Undefined,o,i,true);let s=this.layout.margin,l=ze(pn(this.style.position,Ot),te(o)?o:0),c=ze(pn(this.style.position,mn),te(o)?o:0);this.layout.left=s[Ot]+(te(l)?l:0),this.layout.top=s[mn]+(te(c)?c:0),Cu(this,this.config.pointScaleFactor,0,0);}},Wg=Su(),Bi=4;function ga(t,e,n,r,o,i,s,l,c,d){t._cIn||(t._cIn=new Float64Array(Bi*8),t._cOut=new Float64Array(Bi*2)),d&&t._cGen!==lr&&(t._cN=0,t._cWr=0);let f=t._cWr++%Bi;t._cN<Bi&&(t._cN=t._cWr);let m=f*8,h=t._cIn;h[m]=e,h[m+1]=n,h[m+2]=r,h[m+3]=o,h[m+4]=i,h[m+5]=s,h[m+6]=l?1:0,h[m+7]=c?1:0,t._cOut[f*2]=t.layout.width,t._cOut[f*2+1]=t.layout.height,t._cGen=lr;}a(ga,"cacheWrite");function ha(t,e){e?(t._lOutW=t.layout.width,t._lOutH=t.layout.height):(t._mOutW=t.layout.width,t._mOutH=t.layout.height);}a(ha,"commitCacheOutputs");var lr=0,wa=0,Ta=0,Uo=0,Sa=0;function Wi(){return {visited:wa,measured:Ta,cacheHits:Uo,live:Sa}}a(Wi,"getYogaCounters");function Go(t,e,n,r,o,i,s,l,c=false,d=false){wa++;let f=t.style,m=t.layout,h=t._cGen===lr&&!l;if(!t.isDirty_||h){if(!t.isDirty_&&t._hasL&&t._lWM===r&&t._lHM===o&&t._lFW===c&&t._lFH===d&&Rt(t._lW,e)&&Rt(t._lH,n)&&Rt(t._lOW,i)&&Rt(t._lOH,s)){Uo++,m.width=t._lOutW,m.height=t._lOutH;return}if(t._cN>0&&(h||!t.isDirty_)){let J=t._cIn;for(let Se=0;Se<t._cN;Se++){let ie=Se*8;if(J[ie+2]===r&&J[ie+3]===o&&J[ie+6]===(c?1:0)&&J[ie+7]===(d?1:0)&&Rt(J[ie],e)&&Rt(J[ie+1],n)&&Rt(J[ie+4],i)&&Rt(J[ie+5],s)){m.width=t._cOut[Se*2],m.height=t._cOut[Se*2+1],Uo++;return}}}if(!t.isDirty_&&!l&&t._hasM&&t._mWM===r&&t._mHM===o&&Rt(t._mW,e)&&Rt(t._mH,n)&&Rt(t._mOW,i)&&Rt(t._mOH,s)){m.width=t._mOutW,m.height=t._mOutH,Uo++;return}}let g=t.isDirty_;l?(t._lW=e,t._lH=n,t._lWM=r,t._lHM=o,t._lOW=i,t._lOH=s,t._lFW=c,t._lFH=d,t._hasL=true,t.isDirty_=false,g&&(t._hasM=false)):(t._mW=e,t._mH=n,t._mWM=r,t._mHM=o,t._mOW=i,t._mOH=s,t._hasM=true,g&&(t._hasL=false));let v=m.padding,b=m.border,w=m.margin;t._hasPadding?pa(f.padding,i,v):v[0]=v[1]=v[2]=v[3]=0,t._hasBorder?pa(f.border,i,b):b[0]=b[1]=b[2]=b[3]=0,t._hasMargin?pa(f.margin,i,w):w[0]=w[1]=w[2]=w[3]=0;let S=v[0]+v[2]+b[0]+b[2],y=v[1]+v[3]+b[1]+b[3],T=c?NaN:ze(f.width,i),E=d?NaN:ze(f.height,s),A=e,D=n,N=r,M=o;if(te(T)&&(A=T,N=le.Exactly),te(E)&&(D=E,M=le.Exactly),A=fn(f,true,A,i,s),D=fn(f,false,D,i,s),t.measureFunc&&t.children.length===0){let J=N===le.Undefined?NaN:Math.max(0,A-S),Se=M===le.Undefined?NaN:Math.max(0,D-y);Ta++;let ie=t.measureFunc(J,N,Se,M);t.layout.width=N===le.Exactly?A:fn(f,true,(ie.width??0)+S,i,s),t.layout.height=M===le.Exactly?D:fn(f,false,(ie.height??0)+y,i,s),ha(t,l),ga(t,e,n,r,o,i,s,c,d,g);return}if(t.children.length===0){t.layout.width=N===le.Exactly?A:fn(f,true,S,i,s),t.layout.height=M===le.Exactly?D:fn(f,false,y,i,s),ha(t,l),ga(t,e,n,r,o,i,s,c,d,g);return}let _=f.flexDirection,L=$g(_),O=Ko(_),I=O?A:D,K=O?D:A,z=O?N:M,ke=O?M:N,Re=O?S:y,mt=O?y:S,Ce=te(I)?Math.max(0,I-Re):NaN,Z=te(K)?Math.max(0,K-mt):NaN,ne=yu(f,O?Nn.Column:Nn.Row,Ce),H=[],me=[];Eu(t,H,me);let pe=te(A)?A:NaN,_e=te(D)?D:NaN,Ue=f.flexWrap!==Gn.NoWrap,Ye=yu(f,O?Nn.Row:Nn.Column,Z);for(let J of H)J._flexBasis=Ug(J,_,Ce,Z,ke,pe,_e);let ot=[];if(!Ue||!te(Ce)||H.length===0){for(let J of H)J._lineIndex=0;ot.push(H);}else {let J=0,Se=0;for(let ie=0;ie<H.length;ie++){let ct=H[ie],et=fn(ct.style,O,ct._flexBasis,pe,_e),Ae=Math.max(0,et)+Fi(ct,_,pe),qt=ie>J?ne:0;ie>J&&Se+qt+Ae>Ce?(ot.push(H.slice(J,ie)),J=ie,Se=Ae):Se+=qt+Ae,ct._lineIndex=ot.length;}ot.push(H.slice(J));}let re=ot.length,Ze=jg(t,H),Xe=new Array(re),Nt=new Array(re),Ge=Ze?new Array(re).fill(0):[],Ee=0,bt=0;for(let J=0;J<re;J++){let Se=ot[J],ie=Se.length>1?ne*(Se.length-1):0,ct=ie;for(let ye of Se)ct+=ye._flexBasis+Fi(ye,_,pe);let et=Ce;if(!te(et)){let ye=O?i:s,qe=ze(O?f.minWidth:f.minHeight,ye),kt=ze(O?f.maxWidth:f.maxHeight,ye);te(kt)&&ct>kt-Re?et=Math.max(0,kt-Re):te(qe)&&ct<qe-Re&&(et=Math.max(0,qe-Re));}Gg(Se,et,ct,O,pe,_e);let Ae=0;for(let ye of Se){let qe=ye.style,kt=qe.alignSelf===ae.Auto?f.alignItems:qe.alignSelf,Wt=Fi(ye,L,pe),ue=NaN,R=le.Undefined,P=ze(O?qe.height:qe.width,O?_e:pe),B=O?mn:Ot,F=O?jn:zt,j=ye._hasAutoMargin&&(On(qe.margin,B)||On(qe.margin,F));te(P)?(ue=P,R=le.Exactly):kt===ae.Stretch&&!j&&!Ue&&te(Z)&&ke===le.Exactly?(ue=Math.max(0,Z-Wt),R=le.Exactly):!Ue&&te(Z)&&(ue=Math.max(0,Z-Wt),R=le.AtMost);let q=O?ye._mainSize:ue,be=O?ue:ye._mainSize;Go(ye,q,be,O?le.Exactly:R,O?R:le.Exactly,pe,_e,l,O,!O),ye._crossSize=O?ye.layout.height:ye.layout.width,Ae=Math.max(Ae,ye._crossSize+Wt);}if(Ze){let ye=0,qe=0;for(let kt of Se){if(wu(t,kt)!==ae.Baseline)continue;let Wt=ar(kt.style.margin,mn,pe),ue=ar(kt.style.margin,jn,pe),R=va(kt)+Wt,P=kt.layout.height+Wt+ue-R;R>ye&&(ye=R),P>qe&&(qe=P);}Ge[J]=ye,ye+qe>Ae&&(Ae=ye+qe);}let qt=ba(_),_n=xa(_),Hn=ie;for(let ye of Se){let qe=ye.layout.margin;Hn+=ye._mainSize+qe[qt]+qe[_n];}Xe[J]=Hn,Nt[J]=Ae,Ee=Math.max(Ee,Hn),bt+=Ae;}let xt=re>1?Ye*(re-1):0;bt+=xt;let kn=f.overflow===Cr.Scroll,Ft=Ee+Re,St=z===le.Exactly?I:z===le.AtMost&&kn?Math.max(Math.min(I,Ft),Re):Ue&&re>1&&z===le.AtMost?I:Ft,an=bt+mt,Fe=ke===le.Exactly?K:ke===le.AtMost&&kn?Math.max(Math.min(K,an),mt):an;if(t.layout.width=fn(f,true,O?St:Fe,i,s),t.layout.height=fn(f,false,O?Fe:St,i,s),ha(t,l),ga(t,e,n,r,o,i,s,c,d,g),!l)return;let vt=(O?t.layout.width:t.layout.height)-Re,G=(O?t.layout.height:t.layout.width)-mt,$=ba(_),U=xa(_),Y=O?mn:Ot,ge=O?jn:zt,V=xu(_),de=O?t.layout.width:t.layout.height,De=v[Y]+b[Y],It=Ye,$t=G-bt;if(re===1&&!Ue&&!Ze)Nt[0]=G;else {let J=Math.max(0,$t);switch(f.alignContent){case ae.FlexStart:break;case ae.Center:De+=$t/2;break;case ae.FlexEnd:De+=$t;break;case ae.Stretch:if(re>0&&J>0){let Se=J/re;for(let ie=0;ie<re;ie++)Nt[ie]+=Se;}break;case ae.SpaceBetween:re>1&&(It+=J/(re-1));break;case ae.SpaceAround:re>0&&(It+=J/re,De+=J/re/2);break;case ae.SpaceEvenly:re>0&&(It+=J/(re+1),De+=J/(re+1));break;}}let Yt=f.flexWrap===Gn.WrapReverse,vr=O?t.layout.height:t.layout.width,Rn=De;for(let J=0;J<re;J++){let Se=ot[J],ie=Nt[J],ct=Xe[J],et=Se.length;if(Ue||ke!==le.Exactly)for(let ue of Se){let R=ue.style,P=R.alignSelf===ae.Auto?f.alignItems:R.alignSelf,B=te(ze(O?R.height:R.width,O?_e:pe)),F=ue._hasAutoMargin&&(On(R.margin,Y)||On(R.margin,ge));if(P===ae.Stretch&&!B&&!F){let j=Fi(ue,L,pe),q=Math.max(0,ie-j);if(ue._crossSize!==q){let be=O?ue._mainSize:q,it=O?q:ue._mainSize;Go(ue,be,it,le.Exactly,le.Exactly,pe,_e,l,O,!O),ue._crossSize=q;}}}let Ae=v[$]+b[$],qt=ne,_n=0;for(let ue of Se)ue._hasAutoMargin&&(On(ue.style.margin,$)&&_n++,On(ue.style.margin,U)&&_n++);let Hn=vt-ct,ye=Math.max(0,Hn),qe=_n>0&&ye>0?ye/_n:0;if(_n===0)switch(f.justifyContent){case wt.FlexStart:break;case wt.Center:Ae+=Hn/2;break;case wt.FlexEnd:Ae+=Hn;break;case wt.SpaceBetween:et>1&&(qt+=ye/(et-1));break;case wt.SpaceAround:et>0&&(qt+=ye/et,Ae+=ye/et/2);break;case wt.SpaceEvenly:et>0&&(qt+=ye/(et+1),Ae+=ye/(et+1));break}let kt=Yt?vr-Rn-ie:Rn,Wt=Ae;for(let ue of Se){let R=ue.style.margin,P=ue.layout.margin,B=false,F=false,j=false,q=false,be,it,Mn,ln;ue._hasAutoMargin?(B=On(R,$),F=On(R,U),j=On(R,Y),q=On(R,ge),be=B?qe:P[$],it=F?qe:P[U],Mn=j?0:P[Y],ln=q?0:P[ge]):(be=P[$],it=P[U],Mn=P[Y],ln=P[ge]);let se=V?de-(Wt+be)-ue._mainSize:Wt+be,wr=ue.style.alignSelf===ae.Auto?f.alignItems:ue.style.alignSelf,cn=kt+Mn,Tr=ie-ue._crossSize-Mn-ln;if(j&&q)cn+=Math.max(0,Tr)/2;else if(j)cn+=Math.max(0,Tr);else if(!q)switch(wr){case ae.FlexStart:case ae.Stretch:Yt&&(cn+=Tr);break;case ae.Center:cn+=Tr/2;break;case ae.FlexEnd:Yt||(cn+=Tr);break;case ae.Baseline:Ze&&(cn=kt+Ge[J]-va(ue));break;}let Lo=0,Bo=0;if(ue._hasPosition){let _i=ze(pn(ue.style.position,Ot),pe),Mi=ze(pn(ue.style.position,zt),pe),Ac=ze(pn(ue.style.position,mn),pe),Nc=ze(pn(ue.style.position,jn),pe);Lo=te(_i)?_i:te(Mi)?-Mi:0,Bo=te(Ac)?Ac:te(Nc)?-Nc:0;}O?(ue.layout.left=se+Lo,ue.layout.top=cn+Bo):(ue.layout.left=cn+Lo,ue.layout.top=se+Bo),Wt+=ue._mainSize+be+it+qt;}Rn+=ie+It;}for(let J of me)Hg(t,J,t.layout.width,t.layout.height,v,b);}a(Go,"layoutNode");function Hg(t,e,n,r,o,i){let s=e.style,l=pn(s.position,Ot),c=pn(s.position,zt),d=pn(s.position,mn),f=pn(s.position,jn),m=ze(l,n),h=ze(c,n),g=ze(d,r),v=ze(f,r),b=n-i[0]-i[2],w=r-i[1]-i[3],S=ze(s.width,b),y=ze(s.height,w);!te(S)&&te(m)&&te(h)&&(S=b-m-h),!te(y)&&te(g)&&te(v)&&(y=w-g-v),Go(e,S,y,te(S)?le.Exactly:le.Undefined,te(y)?le.Exactly:le.Undefined,b,w,true);let T=ar(s.margin,Ot,n),E=ar(s.margin,mn,n),A=ar(s.margin,zt,n),D=ar(s.margin,jn,n),N=t.style.flexDirection,M=xu(N),_=Ko(N),L=t.style.flexWrap===Gn.WrapReverse,O=s.alignSelf===ae.Auto?t.style.alignItems:s.alignSelf,I;if(te(m))I=i[0]+m+T;else if(te(h))I=n-i[2]-h-e.layout.width-A;else if(_){let z=o[0]+i[0],ke=n-o[2]-i[2];I=M?ke-e.layout.width-A:gu(t.style.justifyContent,z,ke,e.layout.width)+T;}else I=hu(O,o[0]+i[0],n-o[2]-i[2],e.layout.width,L)+T;let K;if(te(g))K=i[1]+g+E;else if(te(v))K=r-i[3]-v-e.layout.height-D;else if(_)K=hu(O,o[1]+i[1],r-o[3]-i[3],e.layout.height,L)+E;else {let z=o[1]+i[1],ke=r-o[3]-i[3];K=M?ke-e.layout.height-D:gu(t.style.justifyContent,z,ke,e.layout.height)+E;}e.layout.left=I,e.layout.top=K;}a(Hg,"layoutAbsoluteChild");function gu(t,e,n,r){switch(t){case wt.Center:return e+(n-e-r)/2;case wt.FlexEnd:return n-r;default:return e}}a(gu,"justifyAbsolute");function hu(t,e,n,r,o){switch(t){case ae.Center:return e+(n-e-r)/2;case ae.FlexEnd:return o?e:n-r;default:return o?n-r:e}}a(hu,"alignAbsolute");function Ug(t,e,n,r,o,i,s){if((t._fbGen===lr||!t.isDirty_)&&t._fbCrossMode===o&&Rt(t._fbOwnerW,i)&&Rt(t._fbOwnerH,s)&&Rt(t._fbAvailMain,n)&&Rt(t._fbAvailCross,r))return t._fbBasis;let c=t.style,d=Ko(e),f=ze(c.flexBasis,n);if(te(f)){let _=Math.max(0,f);return t._fbBasis=_,t._fbOwnerW=i,t._fbOwnerH=s,t._fbAvailMain=n,t._fbAvailCross=r,t._fbCrossMode=o,t._fbGen=lr,_}let m=d?c.width:c.height,g=ze(m,d?i:s);if(te(g)){let _=Math.max(0,g);return t._fbBasis=_,t._fbOwnerW=i,t._fbOwnerH=s,t._fbAvailMain=n,t._fbAvailCross=r,t._fbCrossMode=o,t._fbGen=lr,_}let v=d?c.height:c.width,w=ze(v,d?s:i),S=te(w)?le.Exactly:le.Undefined;!te(w)&&te(r)&&(w=r,S=o===le.Exactly&&Kg(t)?le.Exactly:le.AtMost);let y=NaN,T=le.Undefined;d&&te(n)&&vu(t)&&(y=n,T=le.AtMost),Go(t,d?y:w,d?w:y,d?T:S,d?S:T,i,s,false);let M=d?t.layout.width:t.layout.height;return t._fbBasis=M,t._fbOwnerW=i,t._fbOwnerH=s,t._fbAvailMain=n,t._fbAvailCross=r,t._fbCrossMode=o,t._fbGen=lr,M}a(Ug,"computeFlexBasis");function vu(t){if(t.measureFunc)return true;for(let e of t.children)if(vu(e))return true;return false}a(vu,"hasMeasureFuncInSubtree");function Gg(t,e,n,r,o,i){let s=t.length,l=new Array(s).fill(false),c=te(e)?e-n:0;for(let f=0;f<s;f++){let m=t[f],h=fn(m.style,r,m._flexBasis,o,i);!te(e)||(c>=0?m.style.flexGrow===0:m.style.flexShrink===0)?(m._mainSize=Math.max(0,h),l[f]=true):m._mainSize=m._flexBasis;}let d=new Array(s);for(let f=0;f<=s;f++){let m=0,h=0,g=0,v=0;for(let y=0;y<s;y++){let T=t[y];l[y]?m+=T._mainSize-T._flexBasis:(h+=T.style.flexGrow,g+=T.style.flexShrink*T._flexBasis,v++);}if(v===0)break;let b=c-m;if(b>0&&h>0&&h<1){let y=c*h;y<b&&(b=y);}else if(b<0&&g>0){let y=0;for(let T=0;T<s;T++)l[T]||(y+=t[T].style.flexShrink);if(y<1){let T=c*y;T>b&&(b=T);}}let w=0;for(let y=0;y<s;y++){if(l[y])continue;let T=t[y],E=T._flexBasis;b>0&&h>0?E+=b*T.style.flexGrow/h:b<0&&g>0&&(E+=b*(T.style.flexShrink*T._flexBasis)/g),d[y]=E;let A=Math.max(0,fn(T.style,r,E,o,i));T._mainSize=A,w+=A-E;}if(w===0)break;let S=false;for(let y=0;y<s;y++){if(l[y])continue;let T=t[y]._mainSize-d[y];(w>0&&T>0||w<0&&T<0)&&(l[y]=true,S=true);}if(!S)break}}a(Gg,"resolveFlexibleLengths");function Kg(t){let e=t.parent;return e?(t.style.alignSelf===ae.Auto?e.style.alignItems:t.style.alignSelf)===ae.Stretch:false}a(Kg,"isStretchAlign");function wu(t,e){return e.style.alignSelf===ae.Auto?t.style.alignItems:e.style.alignSelf}a(wu,"resolveChildAlign");function va(t){let e=null;for(let n of t.children){if(n._lineIndex>0)break;if(n.style.positionType!==kr.Absolute&&n.style.display!==Un.None){if(wu(t,n)===ae.Baseline||n.isReferenceBaseline_){e=n;break}e===null&&(e=n);}}return e===null?t.layout.height:va(e)+e.layout.top}a(va,"calculateBaseline");function jg(t,e){if(!Ko(t.style.flexDirection))return false;if(t.style.alignItems===ae.Baseline)return true;for(let n of e)if(n.style.alignSelf===ae.Baseline)return true;return false}a(jg,"isBaselineLayout");function Fi(t,e,n){if(!t._hasMargin)return 0;let r=ar(t.style.margin,ba(e),n),o=ar(t.style.margin,xa(e),n);return r+o}a(Fi,"childMarginForAxis");function yu(t,e,n){let r=t.gap[e];r.unit===pt.Undefined&&(r=t.gap[Nn.All]);let o=ze(r,n);return te(o)?Math.max(0,o):0}a(yu,"resolveGap");function fn(t,e,n,r,o){let i=e?t.minWidth:t.minHeight,s=e?t.maxWidth:t.maxHeight,l=i.unit,c=s.unit;if(l===0&&c===0)return n;let d=e?r:o,f=n;if(c===1)f>s.value&&(f=s.value);else if(c===2){let m=s.value*d/100;m===m&&f>m&&(f=m);}if(l===1)f<i.value&&(f=i.value);else if(l===2){let m=i.value*d/100;m===m&&f<m&&(f=m);}return f}a(fn,"boundAxis");function Tu(t){for(let e of t.children)e.layout.left=0,e.layout.top=0,e.layout.width=0,e.layout.height=0,e.isDirty_=true,e._hasL=false,e._hasM=false,Tu(e);}a(Tu,"zeroLayoutRecursive");function Eu(t,e,n){for(let r of t.children){let o=r.style.display;o===Un.None?(r.layout.left=0,r.layout.top=0,r.layout.width=0,r.layout.height=0,Tu(r)):o===Un.Contents?(r.layout.left=0,r.layout.top=0,r.layout.width=0,r.layout.height=0,Eu(r,e,n)):r.style.positionType===kr.Absolute?n.push(r):e.push(r);}}a(Eu,"collectLayoutChildren");function Cu(t,e,n,r){if(e===0)return;let o=t.layout,i=o.left,s=o.top,l=o.width,c=o.height,d=n+i,f=r+s,m=t.measureFunc!==null;o.left=zr(i,e,false,m),o.top=zr(s,e,false,m);let h=d+l,g=f+c,v=!bu(l*e),b=!bu(c*e);o.width=zr(h,e,m&&v,m&&!v)-zr(d,e,false,m),o.height=zr(g,e,m&&b,m&&!b)-zr(f,e,false,m);for(let w of t.children)Cu(w,e,d,f);}a(Cu,"roundLayout");function bu(t){let e=t-Math.floor(t);return e<1e-4||e>.9999}a(bu,"isWholeNumber");function zr(t,e,n,r){let o=t*e,i=o-Math.floor(o);return i<0&&(i+=1),i<1e-4?o=Math.floor(o):i>.9999||n?o=Math.ceil(o):r?o=Math.floor(o):o=Math.floor(o)+(i>=.4999?1:0),o/e}a(zr,"roundValue");function dn(t){if(t===void 0)return Ht;if(t==="auto")return Kn;if(typeof t=="number")return Number.isFinite(t)?$i(t):Ht;if(typeof t=="string"&&t.endsWith("%"))return Vt(parseFloat(t));let e=parseFloat(t);return isNaN(e)?Ht:$i(e)}a(dn,"parseDimension");function ya(t){switch(t){case Ne.Left:case Ne.Start:return Ot;case Ne.Top:return mn;case Ne.Right:case Ne.End:return zt;case Ne.Bottom:return jn;default:return Ot}}a(ya,"physicalEdge");var Yg={Node:{create:a(t=>new Ho(t),"create"),createDefault:a(()=>new Ho,"createDefault"),createWithConfig:a(t=>new Ho(t),"createWithConfig"),destroy(){}}};var ku=Yg;h();function qg(){return process.env.TERM_PROGRAM==="vscode"&&ee.level===2?(ee.level=3,true):false}a(qg,"boostChalkLevelForXtermJs");function Vg(){return process.env.CLAUDE_CODE_TMUX_TRUECOLOR?false:process.env.TMUX&&ee.level>2?(ee.level=2,true):false}a(Vg,"clampChalkLevelForTmux");qg();Vg();var zg=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Jg=/^ansi256\(\s?(\d+)\s?\)$/,jo=a((t,e,n)=>{if(!e)return t;if(e.startsWith("ansi:"))switch(e.substring(5)){case "black":return n==="foreground"?ee.black(t):ee.bgBlack(t);case "red":return n==="foreground"?ee.red(t):ee.bgRed(t);case "green":return n==="foreground"?ee.green(t):ee.bgGreen(t);case "yellow":return n==="foreground"?ee.yellow(t):ee.bgYellow(t);case "blue":return n==="foreground"?ee.blue(t):ee.bgBlue(t);case "magenta":return n==="foreground"?ee.magenta(t):ee.bgMagenta(t);case "cyan":return n==="foreground"?ee.cyan(t):ee.bgCyan(t);case "white":return n==="foreground"?ee.white(t):ee.bgWhite(t);case "blackBright":return n==="foreground"?ee.blackBright(t):ee.bgBlackBright(t);case "redBright":return n==="foreground"?ee.redBright(t):ee.bgRedBright(t);case "greenBright":return n==="foreground"?ee.greenBright(t):ee.bgGreenBright(t);case "yellowBright":return n==="foreground"?ee.yellowBright(t):ee.bgYellowBright(t);case "blueBright":return n==="foreground"?ee.blueBright(t):ee.bgBlueBright(t);case "magentaBright":return n==="foreground"?ee.magentaBright(t):ee.bgMagentaBright(t);case "cyanBright":return n==="foreground"?ee.cyanBright(t):ee.bgCyanBright(t);case "whiteBright":return n==="foreground"?ee.whiteBright(t):ee.bgWhiteBright(t)}if(e.startsWith("#"))return n==="foreground"?ee.hex(e)(t):ee.bgHex(e)(t);if(e.startsWith("ansi256")){let r=Jg.exec(e);if(!r)return t;let o=Number(r[1]);return n==="foreground"?ee.ansi256(o)(t):ee.bgAnsi256(o)(t)}if(e.startsWith("rgb")){let r=zg.exec(e);if(!r)return t;let o=Number(r[1]),i=Number(r[2]),s=Number(r[3]);return n==="foreground"?ee.rgb(o,i,s)(t):ee.bgRgb(o,i,s)(t)}return t},"colorize");function Jr(t,e){let n=t;return e.inverse&&(n=ee.inverse(n)),e.strikethrough&&(n=ee.strikethrough(n)),e.underline&&(n=ee.underline(n)),e.italic&&(n=ee.italic(n)),e.bold&&(n=ee.bold(n)),e.dim&&(n=ee.dim(n)),e.color&&(n=jo(n,e.color,"foreground")),e.backgroundColor&&(n=jo(n,e.backgroundColor,"background")),n}a(Jr,"applyTextStyles");function Hi(t,e){return e?jo(t,e,"foreground"):t}a(Hi,"applyColor");h();h();h();var Ea=null;function Rr(){return Ea||(Ea=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ea}a(Rr,"getGraphemeSegmenter");function _u(){}a(_u,"stopCapturingEarlyInput");h();function _r(t){if(!t)return false;if(typeof t=="boolean")return t;let e=t.toLowerCase().trim();return ["1","true","yes","on"].includes(e)}a(_r,"isEnvTruthy");h();h();function gn(t,e,n){return new Promise(r=>{let o={timeout:n?.timeout??1e4,maxBuffer:10485760,encoding:"utf-8"};n?.cwd&&(o.cwd=n.cwd),n?.env&&(o.env={...process.env,...n.env}),n?.shell&&(o.shell=n.shell===true?void 0:n.shell);let i=execFile(t,e,o,(s,l,c)=>{if(s){let d=s;d.code==="ENOENT"||d.code==="EACCES"||d.code==="EPERM"?r({code:null,stdout:String(l??""),stderr:d.message}):r({code:s.code!=null&&typeof s.code=="number"?s.code:1,stdout:String(l??""),stderr:String(c??"")});}else r({code:0,stdout:String(l??""),stderr:String(c??"")});});n?.input&&i.stdin&&(i.stdin.write(n.input),i.stdin.end());})}a(gn,"execFileNoThrow");function Mu(){return _r(process.env.CLAUDE_CODE_DISABLE_MOUSE_CLICKS)}a(Mu,"isMouseClicksDisabled");h();h();var Jt=class{static{a(this,"Event");}_didStopImmediatePropagation=false;didStopImmediatePropagation(){return this._didStopImmediatePropagation}stopImmediatePropagation(){this._didStopImmediatePropagation=true;}};var Xr=class extends EventEmitter{static{a(this,"EventEmitter");}constructor(){super(),this.setMaxListeners(0);}emit(e,...n){if(e==="error")return super.emit(e,...n);let r=this.rawListeners(e);if(r.length===0)return false;let o=n[0]instanceof Jt?n[0]:null;for(let i of r)if(i.apply(this,n),o?.didStopImmediatePropagation())break;return true}};h();h();h();h();var Pn={BEL:7,ESC:27},Ut="\x1B",Yn="\x07",cr=";",hn={CSI:91,OSC:93,DCS:80,APC:95,ST:92};function ka(t){return t>=48&&t<=126}a(ka,"isEscFinal");var Ra=Ut+String.fromCharCode(hn.CSI),Qr={PARAM_START:48,PARAM_END:63,INTERMEDIATE_START:32,INTERMEDIATE_END:47,FINAL_START:64,FINAL_END:126};function Au(t){return t>=Qr.PARAM_START&&t<=Qr.PARAM_END}a(Au,"isCSIParam");function Ui(t){return t>=Qr.INTERMEDIATE_START&&t<=Qr.INTERMEDIATE_END}a(Ui,"isCSIIntermediate");function Nu(t){return t>=Qr.FINAL_START&&t<=Qr.FINAL_END}a(Nu,"isCSIFinal");function xe(...t){if(t.length===0)return Ra;if(t.length===1)return `${Ra}${t[0]}`;let e=t.slice(0,-1),n=t[t.length-1];return `${Ra}${e.join(cr)}${n}`}a(xe,"csi");var je={CUU:65,CUD:66,CUF:67,CUB:68,CNL:69,CPL:70,CHA:71,CUP:72,VPA:100,HVP:102,ED:74,EL:75,ECH:88,SU:83,SD:84,SM:104,RM:108,SGR:109,DECSCUSR:113,DECSTBM:114,SCOSC:115,SCORC:117},Ou=["toEnd","toStart","all","scrollback"],Pu=["toEnd","toStart","all"],_a=[{style:"block",blinking:true},{style:"block",blinking:true},{style:"block",blinking:false},{style:"underline",blinking:true},{style:"underline",blinking:false},{style:"bar",blinking:true},{style:"bar",blinking:false}];function Iu(t=1){return t===0?"":xe(t,"A")}a(Iu,"cursorUp");function Zg(t=1){return t===0?"":xe(t,"B")}a(Zg,"cursorDown");function eh(t=1){return t===0?"":xe(t,"C")}a(eh,"cursorForward");function th(t=1){return t===0?"":xe(t,"D")}a(th,"cursorBack");function Du(t){return xe(t,"G")}a(Du,"cursorTo");var nh=xe("G");function Ma(t,e){return xe(t,e,"H")}a(Ma,"cursorPosition");var In=xe("H");function Zr(t,e){let n="";return t<0?n+=th(-t):t>0&&(n+=eh(t)),e<0?n+=Iu(-e):e>0&&(n+=Zg(e)),n}a(Zr,"cursorMove");xe("s");xe("u");var rh=xe(2,"K");var ur=xe(2,"J"),Aa=xe(3,"J");function Lu(t){if(t<=0)return "";let e="";for(let n=0;n<t;n++)e+=rh,n<t-1&&(e+=Iu(1));return e+=nh,e}a(Lu,"eraseLines");function Bu(t=1){return t===0?"":xe(t,"S")}a(Bu,"scrollUp");function Fu(t=1){return t===0?"":xe(t,"T")}a(Fu,"scrollDown");function $u(t,e){return xe(t,e,"r")}a($u,"setScrollRegion");var Wu=xe("r"),Hu=xe("200~"),Uu=xe("201~"),Gu=xe("I"),Ku=xe("O"),Yo=xe(">1u"),Mr=xe("<u"),qo=xe(">4;2m"),Vo=xe(">4m");h();function eo(t){let e="ground",n="",r=t?.x10Mouse??false;return {feed(o){let i=ju(o,e,n,false,r);return e=i.state.state,n=i.state.buffer,i.tokens},flush(){let o=ju("",e,n,true,r);return e=o.state.state,n=o.state.buffer,o.tokens},reset(){e="ground",n="";},buffer(){return n}}}a(eo,"createTokenizer");function ju(t,e,n,r,o){let i=[],s={state:e,buffer:""},l=n+t,c=0,d=0,f=0,m=a(()=>{if(c>d){let g=l.slice(d,c);g&&i.push({type:"text",value:g});}d=c;},"flushText"),h=a(g=>{g&&i.push({type:"sequence",value:g}),s.state="ground",d=c;},"emitSequence");for(;c<l.length;){let g=l.charCodeAt(c);switch(s.state){case "ground":g===Pn.ESC&&(m(),f=c,s.state="escape"),c++;break;case "escape":g===hn.CSI?(s.state="csi",c++):g===hn.OSC?(s.state="osc",c++):g===hn.DCS?(s.state="dcs",c++):g===hn.APC?(s.state="apc",c++):g===79?(s.state="ss3",c++):Ui(g)?(s.state="escapeIntermediate",c++):ka(g)?(c++,h(l.slice(f,c))):g===Pn.ESC?(h(l.slice(f,c)),f=c,s.state="escape",c++):(s.state="ground",d=f);break;case "escapeIntermediate":Ui(g)?c++:ka(g)?(c++,h(l.slice(f,c))):(s.state="ground",d=f);break;case "csi":if(o&&g===77&&c-f===2&&(c+1>=l.length||l.charCodeAt(c+1)>=32)&&(c+2>=l.length||l.charCodeAt(c+2)>=32)&&(c+3>=l.length||l.charCodeAt(c+3)>=32)){c+4<=l.length?(c+=4,h(l.slice(f,c))):c=l.length;break}Nu(g)?(c++,h(l.slice(f,c))):Au(g)||Ui(g)?c++:(s.state="ground",d=f);break;case "ss3":g>=64&&g<=126?(c++,h(l.slice(f,c))):(s.state="ground",d=f);break;case "osc":g===Pn.BEL?(c++,h(l.slice(f,c))):g===Pn.ESC&&c+1<l.length&&l.charCodeAt(c+1)===hn.ST?(c+=2,h(l.slice(f,c))):c++;break;case "dcs":case "apc":g===Pn.BEL?(c++,h(l.slice(f,c))):g===Pn.ESC&&c+1<l.length&&l.charCodeAt(c+1)===hn.ST?(c+=2,h(l.slice(f,c))):c++;break}}if(s.state==="ground")m();else if(r){let g=l.slice(f);g&&i.push({type:"sequence",value:g}),s.state="ground";}else s.buffer=l.slice(f);return {tokens:i,state:s}}a(ju,"tokenize");var ih=/^(?:\x1b)([a-zA-Z0-9])$/,sh=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,ah=/^\x1b\[(\d+)(?:;(\d+))?u/,lh=/^\x1b\[27;(\d+);(\d+)~/,ch=/^\x1b\[\?(\d+);(\d+)\$y$/,uh=/^\x1b\[\?([\d;]*)c$/,dh=/^\x1b\[>([\d;]*)c$/,fh=/^\x1b\[\?(\d+)u$/,mh=/^\x1b\[\?(\d+);(\d+)R$/,ph=/^\x1b\](\d+);(.*?)(?:\x07|\x1b\\)$/s,gh=/^\x1bP>\|(.*?)(?:\x07|\x1b\\)$/s,Xu=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function Yu(t){return {kind:"key",name:"",fn:false,ctrl:false,meta:false,shift:false,option:false,super:false,sequence:t,raw:t,isPasted:true}}a(Yu,"createPasteKey");function hh(t){if(t.startsWith("\x1B[")){let e;return (e=ch.exec(t))?{type:"decrpm",mode:parseInt(e[1],10),status:parseInt(e[2],10)}:(e=uh.exec(t))?{type:"da1",params:qu(e[1])}:(e=dh.exec(t))?{type:"da2",params:qu(e[1])}:(e=fh.exec(t))?{type:"kittyKeyboard",flags:parseInt(e[1],10)}:(e=mh.exec(t))?{type:"cursorPosition",row:parseInt(e[1],10),col:parseInt(e[2],10)}:null}if(t.startsWith("\x1B]")){let e=ph.exec(t);if(e)return {type:"osc",code:parseInt(e[1],10),data:e[2]}}if(t.startsWith("\x1BP")){let e=gh.exec(t);if(e)return {type:"xtversion",name:e[1]}}return null}a(hh,"parseTerminalResponse");function qu(t){return t?t.split(";").map(e=>parseInt(e,10)):[]}a(qu,"splitNumericParams");var Qu={mode:"NORMAL",incomplete:"",pasteBuffer:""};function yh(t){return Buffer$1.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,"\x1B"+String(t)):String(t):t!==void 0&&typeof t!="string"?String(t):t||""}a(yh,"inputToString");function Zu(t,e=""){let n=e===null,r=n?"":yh(e),o=t._tokenizer??eo({x10Mouse:true}),i=n?o.flush():o.feed(r),s=[],l=t.mode==="IN_PASTE",c=t.pasteBuffer;for(let f of i)if(f.type==="sequence")if(f.value===Hu)l=true,c="";else if(f.value===Uu)s.push(Yu(c)),l=false,c="";else if(l)c+=f.value;else {let m=hh(f.value);if(m)s.push({kind:"response",sequence:f.value,response:m});else {let h=Ju(f.value);h?s.push(h):s.push(Na(f.value));}}else if(f.type==="text")if(l)c+=f.value;else if(/^\[<\d+;\d+;\d+[Mm]$/.test(f.value)||/^\[M[\x60-\x7f][\x20-\uffff]{2}$/.test(f.value)){let m="\x1B"+f.value,h=Ju(m);s.push(h??Na(m));}else s.push(Na(f.value));n&&l&&c&&(s.push(Yu(c)),l=false,c="");let d={mode:l?"IN_PASTE":"NORMAL",incomplete:o.buffer(),pasteBuffer:c,_tokenizer:o};return [s,d]}a(Zu,"parseMultipleKeypresses");var ed={OP:"f1",OQ:"f2",OR:"f3",OS:"f4",Op:"0",Oq:"1",Or:"2",Os:"3",Ot:"4",Ou:"5",Ov:"6",Ow:"7",Ox:"8",Oy:"9",Oj:"*",Ok:"+",Ol:",",Om:"-",On:".",Oo:"/",OM:"return","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},td=[...Object.values(ed).filter(t=>t.length>1),"escape","backspace","wheelup","wheeldown","mouse"],bh=a(t=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t),"isShiftKey"),xh=a(t=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t),"isCtrlKey");function Vu(t){let e=t-1;return {shift:!!(e&1),meta:!!(e&2),ctrl:!!(e&4),super:!!(e&8)}}a(Vu,"decodeModifier");function zu(t){switch(t){case 9:return "tab";case 13:return "return";case 27:return "escape";case 32:return "space";case 127:return "backspace";case 57399:return "0";case 57400:return "1";case 57401:return "2";case 57402:return "3";case 57403:return "4";case 57404:return "5";case 57405:return "6";case 57406:return "7";case 57407:return "8";case 57408:return "9";case 57409:return ".";case 57410:return "/";case 57411:return "*";case 57412:return "-";case 57413:return "+";case 57414:return "return";case 57415:return "=";default:return t>=32&&t<=126?String.fromCharCode(t).toLowerCase():void 0}}a(zu,"keycodeToName");function Ju(t){let e=Xu.exec(t);if(!e)return null;let n=parseInt(e[1],10);return (n&64)!==0?null:{kind:"mouse",button:n,action:e[4]==="M"?"press":"release",col:parseInt(e[2],10),row:parseInt(e[3],10),sequence:t}}a(Ju,"parseMouseEvent");function Na(t=""){let e,n={kind:"key",name:"",fn:false,ctrl:false,meta:false,shift:false,option:false,super:false,sequence:t,raw:t,isPasted:false};n.sequence=n.sequence||t||n.name;let r;if(r=ah.exec(t)){let o=parseInt(r[1],10),i=r[2]?parseInt(r[2],10):1,s=Vu(i);return {kind:"key",name:zu(o),fn:false,ctrl:s.ctrl,meta:s.meta,shift:s.shift,option:false,super:s.super,sequence:t,raw:t,isPasted:false}}if(r=lh.exec(t)){let o=Vu(parseInt(r[1],10));return {kind:"key",name:zu(parseInt(r[2],10)),fn:false,ctrl:o.ctrl,meta:o.meta,shift:o.shift,option:false,super:o.super,sequence:t,raw:t,isPasted:false}}if(r=Xu.exec(t)){let o=parseInt(r[1],10);return (o&67)===64?Xt(t,"wheelup",false):(o&67)===65?Xt(t,"wheeldown",false):Xt(t,"mouse",false)}if(t.length===6&&t.startsWith("\x1B[M")){let o=t.charCodeAt(3)-32;return (o&67)===64?Xt(t,"wheelup",false):(o&67)===65?Xt(t,"wheeldown",false):Xt(t,"mouse",false)}if(t==="\r")n.raw=void 0,n.name="return";else if(t===`
|
|
21
|
-
`)n.name="enter";else if(t===" ")n.name="tab";else if(t==="\b"||t==="\x1B\b")n.name="backspace",n.meta=t.charAt(0)==="\x1B";else if(t==="\x7F"||t==="\x1B\x7F")n.name="backspace",n.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")n.name="escape",n.meta=t.length===2;else if(t===" "||t==="\x1B ")n.name="space",n.meta=t.length===2;else if(t==="")n.name="_",n.ctrl=true;else if(t<=""&&t.length===1)n.name=String.fromCharCode(t.charCodeAt(0)+97-1),n.ctrl=true;else if(t.length===1&&t>="0"&&t<="9")n.name="number";else if(t.length===1&&t>="a"&&t<="z")n.name=t;else if(t.length===1&&t>="A"&&t<="Z")n.name=t.toLowerCase(),n.shift=true;else if(e=
|
|
22
|
-
`,i),l=s===-1?t.substring(i):t.substring(i,s),c=
|
|
23
|
-
`?(o+=c,i=0):(o+=c,i+=
|
|
24
|
-
`)&&n===to.Undefined){let c=Math.max(e,i.width);return zi(o,c)}let s=t.style?.textWrap??"wrap",l=no(o,e,s);return zi(l,e)},"measureTextNode"),Bh=a(function(t){return {width:t.attributes.rawWidth,height:t.attributes.rawHeight}},"measureRawAnsiNode"),_t=a(t=>{let e=t,n=false;for(;e;)e.nodeName!=="#text"&&(e.dirty=true,!n&&(e.nodeName==="ink-text"||e.nodeName==="ink-raw-ansi")&&e.yogaNode&&(e.yogaNode.markDirty(),n=true)),e=e.parentNode;},"markDirty");var ei=a((t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue!==e&&(t.nodeValue=e,_t(t));},"setTextNodeValue");function Fh(t){return t.nodeName!=="#text"}a(Fh,"isDOMElement");var Wa=a(t=>{if("childNodes"in t)for(let e of t.childNodes)Wa(e);t.yogaNode=void 0;},"clearYogaNodeReferences");function yd(t,e){let n=[];return r(t,0),n;function r(o,i){let s=o.yogaNode;if(!s||s.getDisplay()===Gt.None)return;let l=i+s.getComputedTop(),c=s.getComputedHeight();if(!(e<l||e>=l+c)){o.debugOwnerChain&&(n=o.debugOwnerChain);for(let d of o.childNodes)Fh(d)&&r(d,l);}}}a(yd,"findOwnerChainAtRow");h();h();var bd={keydown:{bubble:"onKeyDown",capture:"onKeyDownCapture"},focus:{bubble:"onFocus",capture:"onFocusCapture"},blur:{bubble:"onBlur",capture:"onBlurCapture"},paste:{bubble:"onPaste",capture:"onPasteCapture"},resize:{bubble:"onResize"},click:{bubble:"onClick"}},Ha=new Set(["onKeyDown","onKeyDownCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onPaste","onPasteCapture","onResize","onClick","onMouseEnter","onMouseLeave"]);function xd(t,e,n){let r=t._eventHandlers;if(!r)return;let o=bd[e];if(!o)return;let i=n?o.capture:o.bubble;if(i)return r[i]}a(xd,"getHandler");function Uh(t,e){let n=[],r=t;for(;r;){let o=r===t,i=xd(r,e.type,true),s=xd(r,e.type,false);i&&n.unshift({node:r,handler:i,phase:o?"at_target":"capturing"}),s&&(e.bubbles||o)&&n.push({node:r,handler:s,phase:o?"at_target":"bubbling"}),r=r.parentNode;}return n}a(Uh,"collectListeners");function Gh(t,e){let n;for(let{node:r,handler:o,phase:i}of t){if(e._isImmediatePropagationStopped()||e._isPropagationStopped()&&r!==n)break;e._setEventPhase(i),e._setCurrentTarget(r),e._prepareForTarget(r);try{o(e);}catch(s){b$1.error(s);}n=r;}}a(Gh,"processDispatchQueue");function Kh(t){switch(t){case "keydown":case "keyup":case "click":case "focus":case "blur":case "paste":return DiscreteEventPriority;case "resize":case "scroll":case "mousemove":return ContinuousEventPriority;default:return DefaultEventPriority}}a(Kh,"getEventPriority");var es=class{static{a(this,"Dispatcher");}currentEvent=null;currentUpdatePriority=DefaultEventPriority;discreteUpdates=null;resolveEventPriority(){return this.currentUpdatePriority!==NoEventPriority?this.currentUpdatePriority:this.currentEvent?Kh(this.currentEvent.type):DefaultEventPriority}dispatch(e,n){let r=this.currentEvent;this.currentEvent=n;try{n._setTarget(e);let o=Uh(e,n);return Gh(o,n),n._setEventPhase("none"),n._setCurrentTarget(null),!n.defaultPrevented}finally{this.currentEvent=r;}}dispatchDiscrete(e,n){return this.discreteUpdates?this.discreteUpdates((r,o)=>this.dispatch(r,o),e,n,void 0,void 0):this.dispatch(e,n)}dispatchContinuous(e,n){let r=this.currentUpdatePriority;try{return this.currentUpdatePriority=ContinuousEventPriority,this.dispatch(e,n)}finally{this.currentUpdatePriority=r;}}};h();h();h();var ro=class extends Jt{static{a(this,"TerminalEvent");}type;timeStamp;bubbles;cancelable;_target=null;_currentTarget=null;_eventPhase="none";_propagationStopped=false;_defaultPrevented=false;constructor(e,n){super(),this.type=e,this.timeStamp=performance.now(),this.bubbles=n?.bubbles??true,this.cancelable=n?.cancelable??true;}get target(){return this._target}get currentTarget(){return this._currentTarget}get eventPhase(){return this._eventPhase}get defaultPrevented(){return this._defaultPrevented}stopPropagation(){this._propagationStopped=true;}stopImmediatePropagation(){super.stopImmediatePropagation(),this._propagationStopped=true;}preventDefault(){this.cancelable&&(this._defaultPrevented=true);}_setTarget(e){this._target=e;}_setCurrentTarget(e){this._currentTarget=e;}_setEventPhase(e){this._eventPhase=e;}_isPropagationStopped(){return this._propagationStopped}_isImmediatePropagationStopped(){return this.didStopImmediatePropagation()}_prepareForTarget(e){}};var dr=class extends ro{static{a(this,"FocusEvent");}relatedTarget;constructor(e,n=null){super(e,{bubbles:true,cancelable:false}),this.relatedTarget=n;}};var jh=32,ti=class{static{a(this,"FocusManager");}activeElement=null;dispatchFocusEvent;enabled=true;focusStack=[];constructor(e){this.dispatchFocusEvent=e;}focus(e){if(e===this.activeElement||!this.enabled)return;let n=this.activeElement;if(n){let r=this.focusStack.indexOf(n);r!==-1&&this.focusStack.splice(r,1),this.focusStack.push(n),this.focusStack.length>jh&&this.focusStack.shift(),this.dispatchFocusEvent(n,new dr("blur",e));}this.activeElement=e,this.dispatchFocusEvent(e,new dr("focus",n));}blur(){if(!this.activeElement)return;let e=this.activeElement;this.activeElement=null,this.dispatchFocusEvent(e,new dr("blur",null));}handleNodeRemoved(e,n){if(this.focusStack=this.focusStack.filter(o=>o!==e&&Ga(o,n)),!this.activeElement||this.activeElement!==e&&Ga(this.activeElement,n))return;let r=this.activeElement;for(this.activeElement=null,this.dispatchFocusEvent(r,new dr("blur",null));this.focusStack.length>0;){let o=this.focusStack.pop();if(Ga(o,n)){this.activeElement=o,this.dispatchFocusEvent(o,new dr("focus",r));return}}}handleAutoFocus(e){this.focus(e);}handleClickFocus(e){typeof e.attributes.tabIndex=="number"&&this.focus(e);}enable(){this.enabled=true;}disable(){this.enabled=false;}focusNext(e){this.moveFocus(1,e);}focusPrevious(e){this.moveFocus(-1,e);}moveFocus(e,n){if(!this.enabled)return;let r=Yh(n);if(r.length===0)return;let o=this.activeElement?r.indexOf(this.activeElement):-1,i=o===-1?e===1?0:r.length-1:(o+e+r.length)%r.length,s=r[i];s&&this.focus(s);}};function Yh(t){let e=[];return vd(t,e),e}a(Yh,"collectTabbable");function vd(t,e){let n=t.attributes.tabIndex;typeof n=="number"&&n>=0&&e.push(t);for(let r of t.childNodes)r.nodeName!=="#text"&&vd(r,e);}a(vd,"walkTree");function Ga(t,e){let n=t;for(;n;){if(n===e)return true;n=n.parentNode;}return false}a(Ga,"isInTree");function Ka(t){let e=t;for(;e;){if(e.focusManager)return e;e=e.parentNode;}throw new Error("Node is not in a tree with a FocusManager")}a(Ka,"getRootNode");function ja(t){return Ka(t).focusManager}a(ja,"getFocusManager");h();var qh=a((t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?Oa.Absolute:Oa.Relative),"top"in e&&ts(t,"top",e.top),"bottom"in e&&ts(t,"bottom",e.bottom),"left"in e&&ts(t,"left",e.left),"right"in e&&ts(t,"right",e.right);},"applyPositionStyles");function ts(t,e,n){typeof n=="string"?t.setPositionPercent(e,Number.parseInt(n,10)):typeof n=="number"?t.setPosition(e,n):t.setPosition(e,Number.NaN);}a(ts,"applyPositionEdge");var Vh=a((t,e)=>{let n=e.overflowY??e.overflow,r=e.overflowX??e.overflow;n==="scroll"||r==="scroll"?t.setOverflow(Yi.Scroll):n==="hidden"||r==="hidden"?t.setOverflow(Yi.Hidden):("overflow"in e||"overflowX"in e||"overflowY"in e)&&t.setOverflow(Yi.Visible);},"applyOverflowStyles"),zh=a((t,e)=>{"margin"in e&&t.setMargin(fe.All,e.margin??0),"marginX"in e&&t.setMargin(fe.Horizontal,e.marginX??0),"marginY"in e&&t.setMargin(fe.Vertical,e.marginY??0),"marginLeft"in e&&t.setMargin(fe.Start,e.marginLeft||0),"marginRight"in e&&t.setMargin(fe.End,e.marginRight||0),"marginTop"in e&&t.setMargin(fe.Top,e.marginTop||0),"marginBottom"in e&&t.setMargin(fe.Bottom,e.marginBottom||0);},"applyMarginStyles"),Jh=a((t,e)=>{"padding"in e&&t.setPadding(fe.All,e.padding??0),"paddingX"in e&&t.setPadding(fe.Horizontal,e.paddingX??0),"paddingY"in e&&t.setPadding(fe.Vertical,e.paddingY??0),"paddingLeft"in e&&t.setPadding(fe.Left,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(fe.Right,e.paddingRight||0),"paddingTop"in e&&t.setPadding(fe.Top,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(fe.Bottom,e.paddingBottom||0);},"applyPaddingStyles"),Xh=a((t,e)=>{"flexGrow"in e&&t.setFlexGrow(e.flexGrow??0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexWrap"in e&&(e.flexWrap==="nowrap"&&t.setFlexWrap(ji.NoWrap),e.flexWrap==="wrap"&&t.setFlexWrap(ji.Wrap),e.flexWrap==="wrap-reverse"&&t.setFlexWrap(ji.WrapReverse)),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(Jo.Row),e.flexDirection==="row-reverse"&&t.setFlexDirection(Jo.RowReverse),e.flexDirection==="column"&&t.setFlexDirection(Jo.Column),e.flexDirection==="column-reverse"&&t.setFlexDirection(Jo.ColumnReverse)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(Number.NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(qn.Stretch),e.alignItems==="flex-start"&&t.setAlignItems(qn.FlexStart),e.alignItems==="center"&&t.setAlignItems(qn.Center),e.alignItems==="flex-end"&&t.setAlignItems(qn.FlexEnd)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(qn.Auto),e.alignSelf==="flex-start"&&t.setAlignSelf(qn.FlexStart),e.alignSelf==="center"&&t.setAlignSelf(qn.Center),e.alignSelf==="flex-end"&&t.setAlignSelf(qn.FlexEnd)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(Ar.FlexStart),e.justifyContent==="center"&&t.setJustifyContent(Ar.Center),e.justifyContent==="flex-end"&&t.setJustifyContent(Ar.FlexEnd),e.justifyContent==="space-between"&&t.setJustifyContent(Ar.SpaceBetween),e.justifyContent==="space-around"&&t.setJustifyContent(Ar.SpaceAround),e.justifyContent==="space-evenly"&&t.setJustifyContent(Ar.SpaceEvenly));},"applyFlexStyles"),Qh=a((t,e)=>{"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth(e.minWidth??0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight(e.minHeight??0)),"maxWidth"in e&&(typeof e.maxWidth=="string"?t.setMaxWidthPercent(Number.parseInt(e.maxWidth,10)):t.setMaxWidth(e.maxWidth??0)),"maxHeight"in e&&(typeof e.maxHeight=="string"?t.setMaxHeightPercent(Number.parseInt(e.maxHeight,10)):t.setMaxHeight(e.maxHeight??0));},"applyDimensionStyles"),Zh=a((t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?Gt.Flex:Gt.None);},"applyDisplayStyles"),ey=a((t,e,n)=>{let r=n??e;if("borderStyle"in e){let o=e.borderStyle?1:0;t.setBorder(fe.Top,r.borderTop!==false?o:0),t.setBorder(fe.Bottom,r.borderBottom!==false?o:0),t.setBorder(fe.Left,r.borderLeft!==false?o:0),t.setBorder(fe.Right,r.borderRight!==false?o:0);}else "borderTop"in e&&e.borderTop!==void 0&&t.setBorder(fe.Top,e.borderTop===false?0:1),"borderBottom"in e&&e.borderBottom!==void 0&&t.setBorder(fe.Bottom,e.borderBottom===false?0:1),"borderLeft"in e&&e.borderLeft!==void 0&&t.setBorder(fe.Left,e.borderLeft===false?0:1),"borderRight"in e&&e.borderRight!==void 0&&t.setBorder(fe.Right,e.borderRight===false?0:1);},"applyBorderStyles"),ty=a((t,e)=>{"gap"in e&&t.setGap(Ki.All,e.gap??0),"columnGap"in e&&t.setGap(Ki.Column,e.columnGap??0),"rowGap"in e&&t.setGap(Ki.Row,e.rowGap??0);},"applyGapStyles"),ny=a((t,e={},n)=>{qh(t,e),Vh(t,e),zh(t,e),Jh(t,e),Xh(t,e),Qh(t,e),Zh(t,e),ey(t,e,n),ty(t,e);},"styles"),Ya=ny;if(process.env.NODE_ENV==="development")try{import('../devtools-SGDUOOM4.js');}catch(t){if(t.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
19
|
+
`);}};function pu(t){switch(t){case "json":return new pa;case "jsonl":return new ga;case "stream-json":return new ha;default:return new ma}}a(pu,"createRenderer");function Fg(t,e){let n=e.split(`
|
|
20
|
+
`),r=n.length;switch(t){case "Read":return `${r} lines, ${Fi(e.length)}`;case "Glob":return `${n.filter(o=>o.trim()).length} files`;case "Grep":return `${n.filter(o=>o.trim()).length} matches`;case "Write":case "Edit":return Bt(un(e),60);case "Bash":return r<=1?Bt(un(e),80):`${Bt(n[0],60)} (+${r-1} lines)`;default:return r<=1?Bt(e,80):`${Bt(n[0],60)} (+${r-1} lines)`}}a(Fg,"compactSummary");function $g(t){let e=t;if(!e.models?.length)return;if(e.activeKey){let r=e.models.find(o=>o.key===e.activeKey);if(r)return r}let n=e.model?.name;if(n)return e.models.find(r=>r.model===n||r.model?.endsWith(`/${n}`))}a($g,"findActiveModelEntry");function Wg(t,e){return e?t.providers?.find(r=>r.key===e)?.apiKey:void 0}a(Wg,"findProviderApiKey");async function ya(t){let e=process.cwd(),r=new c$2(e).get(),o=$g(r),i=r.model?.apiKey??o?.apiKey??Wg(r,o?.providerKey),s=M(t.apiKey,i);s||(console.error("Error: No API key provided. Use --api-key, set OPENROUTER_API_KEY env var, or add to settings."),process.exit(1));let l={provider:t.provider??o?.provider??r.model?.provider??"openai",model:t.model??o?.model??r.model?.name??"anthropic/claude-opus-4-6",apiKey:s,baseUrl:t.baseUrl??o?.baseUrl??r.model?.baseUrl??"https://openrouter.ai/api/v1",temperature:r.model?.temperature,maxTokens:o?.maxOutputTokens??r.model?.maxTokens??8192,enableStreaming:true},c=Hg(r.sandbox,"auto"),d=new U({llm:l,cwd:e,preset:t.preset??r.agent.preset,enabledBuiltinTools:r.agent.enabledBuiltinTools,disabledBuiltinTools:r.agent.disabledBuiltinTools,permissionMode:t.permissionMode??"acceptEdits",customSystemPrompt:r.agent.customSystemPrompt,appendSystemPrompt:r.agent.appendSystemPrompt,maxTurns:t.maxTurns??30,maxContextTokens:r.context.maxTokens,sessionStorageDir:r.session.storageDir,costStore:ft,mcpServers:r.mcpServers,headless:true,sandbox:c}),[f,m]=Di();new zr({engine:d,transport:f});let g=new Jr({transport:m}),S=t.output??r.output.format??"text",b=pu(S);g.onStreamEvent(v=>b.onEvent(v));let w=await g.run(t.task,t.resume);b.onComplete(w.text,w.reason,{sessionId:w.sessionId,turnCount:w.turnCount}),g.close(),process.exit(w.reason==="completed"?0:1);}a(ya,"runCommand");function Hg(t,e){let n=T(e);return t?{mode:t.mode??n.mode,writableRoots:t.writableRoots??n.writableRoots,deniedReads:t.deniedReads??n.deniedReads,network:t.network??n.network}:n}a(Hg,"mergeSandboxConfig");h();h();h();h();function Fe(t,e){let n=e?.level??"debug",r=n==="error"||n==="warn"||n==="info"?n:"debug",o=t.match(/^\s*\[([^\]]+)\]\s*(.*)$/),i=o?o[1].toLowerCase():void 0,s=o?o[2]:t,l={};switch(i&&(l.cat=i),r){case "error":b$1.error(s,l);break;case "warn":b$1.warn(s,l);break;case "info":b$1.info(s,l);break;default:b$1.debug(s,l);break}}a(Fe,"logForDebugging");h();h();h();var ae={Auto:0,FlexStart:1,Center:2,FlexEnd:3,Stretch:4,Baseline:5,SpaceBetween:6,SpaceAround:7,SpaceEvenly:8};var $i={Inherit:0,LTR:1},Un={Flex:0,None:1,Contents:2},Pe={Left:0,Top:1,Right:2,Bottom:3,Start:4,End:5,Horizontal:6,Vertical:7,All:8},gu={None:0};var st={Column:0,ColumnReverse:1,Row:2,RowReverse:3},An={Column:0,Row:1,All:2},wt={FlexStart:0,Center:1,FlexEnd:2,SpaceBetween:3,SpaceAround:4,SpaceEvenly:5},le={Undefined:0,Exactly:1,AtMost:2},kr={Visible:0,Hidden:1,Scroll:2},Rr={Relative:1,Absolute:2},bt={Undefined:0,Point:1,Percent:2,Auto:3},Gn={NoWrap:0,Wrap:1,WrapReverse:2};var Ut={unit:bt.Undefined,value:NaN},Kn={unit:bt.Auto,value:NaN};function Gi(t){return {unit:bt.Point,value:t}}a(Gi,"pointValue");function Xt(t){return {unit:bt.Percent,value:t}}a(Xt,"percentValue");function et(t,e){switch(t.unit){case bt.Point:return t.value;case bt.Percent:return isNaN(e)?NaN:t.value*e/100;default:return NaN}}a(et,"resolveValue");function ee(t){return !isNaN(t)}a(ee,"isDefined");function _t(t,e){return t===e||t!==t&&e!==e}a(_t,"sameFloat");function hu(){return {direction:$i.Inherit,flexDirection:st.Column,justifyContent:wt.FlexStart,alignItems:ae.Stretch,alignSelf:ae.Auto,alignContent:ae.FlexStart,flexWrap:Gn.NoWrap,overflow:kr.Visible,display:Un.Flex,positionType:Rr.Relative,flexGrow:0,flexShrink:0,flexBasis:Kn,margin:new Array(9).fill(Ut),padding:new Array(9).fill(Ut),border:new Array(9).fill(Ut),position:new Array(9).fill(Ut),gap:new Array(3).fill(Ut),width:Kn,height:Kn,minWidth:Ut,minHeight:Ut,maxWidth:Ut,maxHeight:Ut}}a(hu,"defaultStyle");var Ot=0,mn=1,Qt=2,jn=3;function ur(t,e,n,r=false){let o=t[e];return o.unit===bt.Undefined&&(e===Ot||e===Qt?o=t[Pe.Horizontal]:o=t[Pe.Vertical]),o.unit===bt.Undefined&&(o=t[Pe.All]),o.unit===bt.Undefined&&(e===Ot&&(o=t[Pe.Start]),e===Qt&&(o=t[Pe.End])),o.unit===bt.Undefined?0:o.unit===bt.Auto?r?NaN:0:et(o,n)}a(ur,"resolveEdge");function pn(t,e){let n=t[e];return n.unit===bt.Undefined&&(e===Ot||e===Qt?n=t[Pe.Horizontal]:n=t[Pe.Vertical]),n.unit===bt.Undefined&&(n=t[Pe.All]),n.unit===bt.Undefined&&(e===Ot&&(n=t[Pe.Start]),e===Qt&&(n=t[Pe.End])),n}a(pn,"resolveEdgeRaw");function Nn(t,e){return pn(t,e).unit===bt.Auto}a(Nn,"isMarginAuto");function yu(t){for(let e=0;e<9;e++)if(t[e].unit===3)return true;return false}a(yu,"hasAnyAutoEdge");function Wi(t){for(let e=0;e<9;e++)if(t[e].unit!==0)return true;return false}a(Wi,"hasAnyDefinedEdge");function ba(t,e,n){let r=t[6],o=t[7],i=t[8],s=t[4],l=t[5],c=isNaN(e)?NaN:e/100,d=t[0];d.unit===0&&(d=r),d.unit===0&&(d=i),d.unit===0&&(d=s),n[0]=d.unit===1?d.value:d.unit===2?d.value*c:0,d=t[1],d.unit===0&&(d=o),d.unit===0&&(d=i),n[1]=d.unit===1?d.value:d.unit===2?d.value*c:0,d=t[2],d.unit===0&&(d=r),d.unit===0&&(d=i),d.unit===0&&(d=l),n[2]=d.unit===1?d.value:d.unit===2?d.value*c:0,d=t[3],d.unit===0&&(d=o),d.unit===0&&(d=i),n[3]=d.unit===1?d.value:d.unit===2?d.value*c:0;}a(ba,"resolveEdges4Into");function Vo(t){return t===st.Row||t===st.RowReverse}a(Vo,"isRow");function wu(t){return t===st.RowReverse||t===st.ColumnReverse}a(wu,"isReverse");function Ug(t){return Vo(t)?st.Column:st.Row}a(Ug,"crossAxis");function wa(t){switch(t){case st.Row:return Ot;case st.RowReverse:return Qt;case st.Column:return mn;case st.ColumnReverse:return jn}}a(wa,"leadingEdge");function Ta(t){switch(t){case st.Row:return Qt;case st.RowReverse:return Ot;case st.Column:return jn;case st.ColumnReverse:return mn}}a(Ta,"trailingEdge");function Tu(){let t={pointScaleFactor:1,errata:gu.None,useWebDefaults:false,free(){},isExperimentalFeatureEnabled(){return false},setExperimentalFeatureEnabled(){},setPointScaleFactor(e){t.pointScaleFactor=e;},getErrata(){return t.errata},setErrata(e){t.errata=e;},setUseWebDefaults(e){t.useWebDefaults=e;}};return t}a(Tu,"createConfig");var jo=class{static{a(this,"Node");}style;layout;parent;children;measureFunc;config;isDirty_;isReferenceBaseline_;_flexBasis=0;_mainSize=0;_crossSize=0;_lineIndex=0;_hasAutoMargin=false;_hasPosition=false;_hasPadding=false;_hasBorder=false;_hasMargin=false;_lW=NaN;_lH=NaN;_lWM=0;_lHM=0;_lOW=NaN;_lOH=NaN;_lFW=false;_lFH=false;_lOutW=NaN;_lOutH=NaN;_hasL=false;_mW=NaN;_mH=NaN;_mWM=0;_mHM=0;_mOW=NaN;_mOH=NaN;_mOutW=NaN;_mOutH=NaN;_hasM=false;_fbBasis=NaN;_fbOwnerW=NaN;_fbOwnerH=NaN;_fbAvailMain=NaN;_fbAvailCross=NaN;_fbCrossMode=0;_fbGen=-1;_cIn=null;_cOut=null;_cGen=-1;_cN=0;_cWr=0;constructor(e){this.style=hu(),this.layout={left:0,top:0,width:0,height:0,border:[0,0,0,0],padding:[0,0,0,0],margin:[0,0,0,0]},this.parent=null,this.children=[],this.measureFunc=null,this.config=e??Gg,this.isDirty_=true,this.isReferenceBaseline_=false,Ea++;}insertChild(e,n){e.parent=this,this.children.splice(n,0,e),this.markDirty();}removeChild(e){let n=this.children.indexOf(e);n>=0&&(this.children.splice(n,1),e.parent=null,this.markDirty());}getChild(e){return this.children[e]}getChildCount(){return this.children.length}getParent(){return this.parent}free(){this.parent=null,this.children=[],this.measureFunc=null,this._cIn=null,this._cOut=null,Ea--;}freeRecursive(){for(let e of this.children)e.freeRecursive();this.free();}reset(){this.style=hu(),this.children=[],this.parent=null,this.measureFunc=null,this.isDirty_=true,this._hasAutoMargin=false,this._hasPosition=false,this._hasPadding=false,this._hasBorder=false,this._hasMargin=false,this._hasL=false,this._hasM=false,this._cN=0,this._cWr=0,this._fbBasis=NaN;}markDirty(){this.isDirty_=true,this.parent&&!this.parent.isDirty_&&this.parent.markDirty();}isDirty(){return this.isDirty_}hasNewLayout(){return true}markLayoutSeen(){}setMeasureFunc(e){this.measureFunc=e,this.markDirty();}unsetMeasureFunc(){this.measureFunc=null,this.markDirty();}getComputedLeft(){return this.layout.left}getComputedTop(){return this.layout.top}getComputedWidth(){return this.layout.width}getComputedHeight(){return this.layout.height}getComputedRight(){let e=this.parent;return e?e.layout.width-this.layout.left-this.layout.width:0}getComputedBottom(){let e=this.parent;return e?e.layout.height-this.layout.top-this.layout.height:0}getComputedLayout(){return {left:this.layout.left,top:this.layout.top,right:this.getComputedRight(),bottom:this.getComputedBottom(),width:this.layout.width,height:this.layout.height}}getComputedBorder(e){return this.layout.border[va(e)]}getComputedPadding(e){return this.layout.padding[va(e)]}getComputedMargin(e){return this.layout.margin[va(e)]}setWidth(e){this.style.width=dn(e),this.markDirty();}setWidthPercent(e){this.style.width=Xt(e),this.markDirty();}setWidthAuto(){this.style.width=Kn,this.markDirty();}setHeight(e){this.style.height=dn(e),this.markDirty();}setHeightPercent(e){this.style.height=Xt(e),this.markDirty();}setHeightAuto(){this.style.height=Kn,this.markDirty();}setMinWidth(e){this.style.minWidth=dn(e),this.markDirty();}setMinWidthPercent(e){this.style.minWidth=Xt(e),this.markDirty();}setMinHeight(e){this.style.minHeight=dn(e),this.markDirty();}setMinHeightPercent(e){this.style.minHeight=Xt(e),this.markDirty();}setMaxWidth(e){this.style.maxWidth=dn(e),this.markDirty();}setMaxWidthPercent(e){this.style.maxWidth=Xt(e),this.markDirty();}setMaxHeight(e){this.style.maxHeight=dn(e),this.markDirty();}setMaxHeightPercent(e){this.style.maxHeight=Xt(e),this.markDirty();}setFlexDirection(e){this.style.flexDirection=e,this.markDirty();}setFlexGrow(e){this.style.flexGrow=e??0,this.markDirty();}setFlexShrink(e){this.style.flexShrink=e??0,this.markDirty();}setFlex(e){e===void 0||isNaN(e)?(this.style.flexGrow=0,this.style.flexShrink=0):e>0?(this.style.flexGrow=e,this.style.flexShrink=1,this.style.flexBasis=Gi(0)):e<0?(this.style.flexGrow=0,this.style.flexShrink=-e):(this.style.flexGrow=0,this.style.flexShrink=0),this.markDirty();}setFlexBasis(e){this.style.flexBasis=dn(e),this.markDirty();}setFlexBasisPercent(e){this.style.flexBasis=Xt(e),this.markDirty();}setFlexBasisAuto(){this.style.flexBasis=Kn,this.markDirty();}setFlexWrap(e){this.style.flexWrap=e,this.markDirty();}setAlignItems(e){this.style.alignItems=e,this.markDirty();}setAlignSelf(e){this.style.alignSelf=e,this.markDirty();}setAlignContent(e){this.style.alignContent=e,this.markDirty();}setJustifyContent(e){this.style.justifyContent=e,this.markDirty();}setDisplay(e){this.style.display=e,this.markDirty();}getDisplay(){return this.style.display}setPositionType(e){this.style.positionType=e,this.markDirty();}setPosition(e,n){this.style.position[e]=dn(n),this._hasPosition=Wi(this.style.position),this.markDirty();}setPositionPercent(e,n){this.style.position[e]=Xt(n),this._hasPosition=true,this.markDirty();}setPositionAuto(e){this.style.position[e]=Kn,this._hasPosition=true,this.markDirty();}setOverflow(e){this.style.overflow=e,this.markDirty();}setDirection(e){this.style.direction=e,this.markDirty();}setBoxSizing(e){}setMargin(e,n){let r=dn(n);this.style.margin[e]=r,r.unit===bt.Auto?this._hasAutoMargin=true:this._hasAutoMargin=yu(this.style.margin),this._hasMargin=this._hasAutoMargin||Wi(this.style.margin),this.markDirty();}setMarginPercent(e,n){this.style.margin[e]=Xt(n),this._hasAutoMargin=yu(this.style.margin),this._hasMargin=true,this.markDirty();}setMarginAuto(e){this.style.margin[e]=Kn,this._hasAutoMargin=true,this._hasMargin=true,this.markDirty();}setPadding(e,n){this.style.padding[e]=dn(n),this._hasPadding=Wi(this.style.padding),this.markDirty();}setPaddingPercent(e,n){this.style.padding[e]=Xt(n),this._hasPadding=true,this.markDirty();}setBorder(e,n){this.style.border[e]=n===void 0?Ut:Gi(n),this._hasBorder=Wi(this.style.border),this.markDirty();}setGap(e,n){this.style.gap[e]=dn(n),this.markDirty();}setGapPercent(e,n){this.style.gap[e]=Xt(n),this.markDirty();}getFlexDirection(){return this.style.flexDirection}getJustifyContent(){return this.style.justifyContent}getAlignItems(){return this.style.alignItems}getAlignSelf(){return this.style.alignSelf}getAlignContent(){return this.style.alignContent}getFlexGrow(){return this.style.flexGrow}getFlexShrink(){return this.style.flexShrink}getFlexBasis(){return this.style.flexBasis}getFlexWrap(){return this.style.flexWrap}getWidth(){return this.style.width}getHeight(){return this.style.height}getOverflow(){return this.style.overflow}getPositionType(){return this.style.positionType}getDirection(){return this.style.direction}copyStyle(e){}setDirtiedFunc(e){}unsetDirtiedFunc(){}setIsReferenceBaseline(e){this.isReferenceBaseline_=e,this.markDirty();}isReferenceBaseline(){return this.isReferenceBaseline_}setAspectRatio(e){}getAspectRatio(){return NaN}setAlwaysFormsContainingBlock(e){}calculateLayout(e,n,r){ka=0,Ra=0,Yo=0,dr++;let o=e===void 0?NaN:e,i=n===void 0?NaN:n;qo(this,o,i,ee(o)?le.Exactly:le.Undefined,ee(i)?le.Exactly:le.Undefined,o,i,true);let s=this.layout.margin,l=et(pn(this.style.position,Ot),ee(o)?o:0),c=et(pn(this.style.position,mn),ee(o)?o:0);this.layout.left=s[Ot]+(ee(l)?l:0),this.layout.top=s[mn]+(ee(c)?c:0),_u(this,this.config.pointScaleFactor,0,0);}},Gg=Tu(),Hi=4;function xa(t,e,n,r,o,i,s,l,c,d){t._cIn||(t._cIn=new Float64Array(Hi*8),t._cOut=new Float64Array(Hi*2)),d&&t._cGen!==dr&&(t._cN=0,t._cWr=0);let f=t._cWr++%Hi;t._cN<Hi&&(t._cN=t._cWr);let m=f*8,h=t._cIn;h[m]=e,h[m+1]=n,h[m+2]=r,h[m+3]=o,h[m+4]=i,h[m+5]=s,h[m+6]=l?1:0,h[m+7]=c?1:0,t._cOut[f*2]=t.layout.width,t._cOut[f*2+1]=t.layout.height,t._cGen=dr;}a(xa,"cacheWrite");function Sa(t,e){e?(t._lOutW=t.layout.width,t._lOutH=t.layout.height):(t._mOutW=t.layout.width,t._mOutH=t.layout.height);}a(Sa,"commitCacheOutputs");var dr=0,ka=0,Ra=0,Yo=0,Ea=0;function Ki(){return {visited:ka,measured:Ra,cacheHits:Yo,live:Ea}}a(Ki,"getYogaCounters");function qo(t,e,n,r,o,i,s,l,c=false,d=false){ka++;let f=t.style,m=t.layout,h=t._cGen===dr&&!l;if(!t.isDirty_||h){if(!t.isDirty_&&t._hasL&&t._lWM===r&&t._lHM===o&&t._lFW===c&&t._lFH===d&&_t(t._lW,e)&&_t(t._lH,n)&&_t(t._lOW,i)&&_t(t._lOH,s)){Yo++,m.width=t._lOutW,m.height=t._lOutH;return}if(t._cN>0&&(h||!t.isDirty_)){let V=t._cIn;for(let Ce=0;Ce<t._cN;Ce++){let me=Ce*8;if(V[me+2]===r&&V[me+3]===o&&V[me+6]===(c?1:0)&&V[me+7]===(d?1:0)&&_t(V[me],e)&&_t(V[me+1],n)&&_t(V[me+4],i)&&_t(V[me+5],s)){m.width=t._cOut[Ce*2],m.height=t._cOut[Ce*2+1],Yo++;return}}}if(!t.isDirty_&&!l&&t._hasM&&t._mWM===r&&t._mHM===o&&_t(t._mW,e)&&_t(t._mH,n)&&_t(t._mOW,i)&&_t(t._mOH,s)){m.width=t._mOutW,m.height=t._mOutH,Yo++;return}}let g=t.isDirty_;l?(t._lW=e,t._lH=n,t._lWM=r,t._lHM=o,t._lOW=i,t._lOH=s,t._lFW=c,t._lFH=d,t._hasL=true,t.isDirty_=false,g&&(t._hasM=false)):(t._mW=e,t._mH=n,t._mWM=r,t._mHM=o,t._mOW=i,t._mOH=s,t._hasM=true,g&&(t._hasL=false));let S=m.padding,b=m.border,w=m.margin;t._hasPadding?ba(f.padding,i,S):S[0]=S[1]=S[2]=S[3]=0,t._hasBorder?ba(f.border,i,b):b[0]=b[1]=b[2]=b[3]=0,t._hasMargin?ba(f.margin,i,w):w[0]=w[1]=w[2]=w[3]=0;let v=S[0]+S[2]+b[0]+b[2],y=S[1]+S[3]+b[1]+b[3],T=c?NaN:et(f.width,i),C=d?NaN:et(f.height,s),A=e,D=n,P=r,M=o;if(ee(T)&&(A=T,P=le.Exactly),ee(C)&&(D=C,M=le.Exactly),A=fn(f,true,A,i,s),D=fn(f,false,D,i,s),t.measureFunc&&t.children.length===0){let V=P===le.Undefined?NaN:Math.max(0,A-v),Ce=M===le.Undefined?NaN:Math.max(0,D-y);Ra++;let me=t.measureFunc(V,P,Ce,M);t.layout.width=P===le.Exactly?A:fn(f,true,(me.width??0)+v,i,s),t.layout.height=M===le.Exactly?D:fn(f,false,(me.height??0)+y,i,s),Sa(t,l),xa(t,e,n,r,o,i,s,c,d,g);return}if(t.children.length===0){t.layout.width=P===le.Exactly?A:fn(f,true,v,i,s),t.layout.height=M===le.Exactly?D:fn(f,false,y,i,s),Sa(t,l),xa(t,e,n,r,o,i,s,c,d,g);return}let _=f.flexDirection,B=Ug(_),I=Vo(_),L=I?A:D,K=I?D:A,z=I?P:M,Te=I?M:P,_e=I?v:y,gt=I?y:v,rt=ee(L)?Math.max(0,L-_e):NaN,q=ee(K)?Math.max(0,K-gt):NaN,pe=Su(f,I?An.Column:An.Row,rt),$=[],ue=[];Ru(t,$,ue);let fe=ee(A)?A:NaN,Ne=ee(D)?D:NaN,We=f.flexWrap!==Gn.NoWrap,qe=Su(f,I?An.Row:An.Column,q);for(let V of $)V._flexBasis=jg(V,_,rt,q,Te,fe,Ne);let ct=[];if(!We||!ee(rt)||$.length===0){for(let V of $)V._lineIndex=0;ct.push($);}else {let V=0,Ce=0;for(let me=0;me<$.length;me++){let He=$[me],it=fn(He.style,I,He._flexBasis,fe,Ne),Be=Math.max(0,it)+Ui(He,_,fe),zt=me>V?pe:0;me>V&&Ce+zt+Be>rt?(ct.push($.slice(V,me)),V=me,Ce=Be):Ce+=zt+Be,He._lineIndex=ct.length;}ct.push($.slice(V));}let be=ct.length,De=Vg(t,$),ke=new Array(be),Wt=new Array(be),Ve=De?new Array(be).fill(0):[],Ee=0,ut=0;for(let V=0;V<be;V++){let Ce=ct[V],me=Ce.length>1?pe*(Ce.length-1):0,He=me;for(let ye of Ce)He+=ye._flexBasis+Ui(ye,_,fe);let it=rt;if(!ee(it)){let ye=I?i:s,Je=et(I?f.minWidth:f.minHeight,ye),Rt=et(I?f.maxWidth:f.maxHeight,ye);ee(Rt)&&He>Rt-_e?it=Math.max(0,Rt-_e):ee(Je)&&He<Je-_e&&(it=Math.max(0,Je-_e));}Yg(Ce,it,He,I,fe,Ne);let Be=0;for(let ye of Ce){let Je=ye.style,Rt=Je.alignSelf===ae.Auto?f.alignItems:Je.alignSelf,Jt=Ui(ye,B,fe),ie=NaN,Xe=le.Undefined,E=et(I?Je.height:Je.width,I?Ne:fe),O=I?mn:Ot,Y=I?jn:Qt,N=ye._hasAutoMargin&&(Nn(Je.margin,O)||Nn(Je.margin,Y));ee(E)?(ie=E,Xe=le.Exactly):Rt===ae.Stretch&&!N&&!We&&ee(q)&&Te===le.Exactly?(ie=Math.max(0,q-Jt),Xe=le.Exactly):!We&&ee(q)&&(ie=Math.max(0,q-Jt),Xe=le.AtMost);let G=I?ye._mainSize:ie,te=I?ie:ye._mainSize;qo(ye,G,te,I?le.Exactly:Xe,I?Xe:le.Exactly,fe,Ne,l,I,!I),ye._crossSize=I?ye.layout.height:ye.layout.width,Be=Math.max(Be,ye._crossSize+Jt);}if(De){let ye=0,Je=0;for(let Rt of Ce){if(Cu(t,Rt)!==ae.Baseline)continue;let Jt=ur(Rt.style.margin,mn,fe),ie=ur(Rt.style.margin,jn,fe),Xe=Ca(Rt)+Jt,E=Rt.layout.height+Jt+ie-Xe;Xe>ye&&(ye=Xe),E>Je&&(Je=E);}Ve[V]=ye,ye+Je>Be&&(Be=ye+Je);}let zt=wa(_),kn=Ta(_),Rn=me;for(let ye of Ce){let Je=ye.layout.margin;Rn+=ye._mainSize+Je[zt]+Je[kn];}ke[V]=Rn,Wt[V]=Be,Ee=Math.max(Ee,Rn),ut+=Be;}let Dt=be>1?qe*(be-1):0;ut+=Dt;let Ht=f.overflow===kr.Scroll,cn=Ee+_e,qt=z===le.Exactly?L:z===le.AtMost&&Ht?Math.max(Math.min(L,cn),_e):We&&be>1&&z===le.AtMost?L:cn,ht=ut+gt,ot=Te===le.Exactly?K:Te===le.AtMost&&Ht?Math.max(Math.min(K,ht),gt):ht;if(t.layout.width=fn(f,true,I?qt:ot,i,s),t.layout.height=fn(f,false,I?ot:qt,i,s),Sa(t,l),xa(t,e,n,r,o,i,s,c,d,g),!l)return;let yt=(I?t.layout.width:t.layout.height)-_e,H=(I?t.layout.height:t.layout.width)-gt,F=wa(_),U=Ta(_),j=I?mn:Ot,ge=I?jn:Qt,oe=wu(_),Q=I?t.layout.width:t.layout.height,Le=S[j]+b[j],Pt=qe,Wn=H-ut;if(be===1&&!We&&!De)Wt[0]=H;else {let V=Math.max(0,Wn);switch(f.alignContent){case ae.FlexStart:break;case ae.Center:Le+=Wn/2;break;case ae.FlexEnd:Le+=Wn;break;case ae.Stretch:if(be>0&&V>0){let Ce=V/be;for(let me=0;me<be;me++)Wt[me]+=Ce;}break;case ae.SpaceBetween:be>1&&(Pt+=V/(be-1));break;case ae.SpaceAround:be>0&&(Pt+=V/be,Le+=V/be/2);break;case ae.SpaceEvenly:be>0&&(Pt+=V/(be+1),Le+=V/(be+1));break;}}let kt=f.flexWrap===Gn.WrapReverse,ar=I?t.layout.height:t.layout.width,Vt=Le;for(let V=0;V<be;V++){let Ce=ct[V],me=Wt[V],He=ke[V],it=Ce.length;if(We||Te!==le.Exactly)for(let ie of Ce){let Xe=ie.style,E=Xe.alignSelf===ae.Auto?f.alignItems:Xe.alignSelf,O=ee(et(I?Xe.height:Xe.width,I?Ne:fe)),Y=ie._hasAutoMargin&&(Nn(Xe.margin,j)||Nn(Xe.margin,ge));if(E===ae.Stretch&&!O&&!Y){let N=Ui(ie,B,fe),G=Math.max(0,me-N);if(ie._crossSize!==G){let te=I?ie._mainSize:G,re=I?G:ie._mainSize;qo(ie,te,re,le.Exactly,le.Exactly,fe,Ne,l,I,!I),ie._crossSize=G;}}}let Be=S[F]+b[F],zt=pe,kn=0;for(let ie of Ce)ie._hasAutoMargin&&(Nn(ie.style.margin,F)&&kn++,Nn(ie.style.margin,U)&&kn++);let Rn=yt-He,ye=Math.max(0,Rn),Je=kn>0&&ye>0?ye/kn:0;if(kn===0)switch(f.justifyContent){case wt.FlexStart:break;case wt.Center:Be+=Rn/2;break;case wt.FlexEnd:Be+=Rn;break;case wt.SpaceBetween:it>1&&(zt+=ye/(it-1));break;case wt.SpaceAround:it>0&&(zt+=ye/it,Be+=ye/it/2);break;case wt.SpaceEvenly:it>0&&(zt+=ye/(it+1),Be+=ye/(it+1));break}let Rt=kt?ar-Vt-me:Vt,Jt=Be;for(let ie of Ce){let Xe=ie.style.margin,E=ie.layout.margin,O=false,Y=false,N=false,G=false,te,re,Re,Hn;ie._hasAutoMargin?(O=Nn(Xe,F),Y=Nn(Xe,U),N=Nn(Xe,j),G=Nn(Xe,ge),te=O?Je:E[F],re=Y?Je:E[U],Re=N?0:E[j],Hn=G?0:E[ge]):(te=E[F],re=E[U],Re=E[j],Hn=E[ge]);let _n=oe?Q-(Jt+te)-ie._mainSize:Jt+te,se=ie.style.alignSelf===ae.Auto?f.alignItems:ie.style.alignSelf,Lt=Rt+Re,lr=me-ie._crossSize-Re-Hn;if(N&&G)Lt+=Math.max(0,lr)/2;else if(N)Lt+=Math.max(0,lr);else if(!G)switch(se){case ae.FlexStart:case ae.Stretch:kt&&(Lt+=lr);break;case ae.Center:Lt+=lr/2;break;case ae.FlexEnd:kt||(Lt+=lr);break;case ae.Baseline:De&&(Lt=Rt+Ve[V]-Ca(ie));break;}let $o=0,Wo=0;if(ie._hasPosition){let Ni=et(pn(ie.style.position,Ot),fe),Pi=et(pn(ie.style.position,Qt),fe),Oi=et(pn(ie.style.position,mn),fe),Ic=et(pn(ie.style.position,jn),fe);$o=ee(Ni)?Ni:ee(Pi)?-Pi:0,Wo=ee(Oi)?Oi:ee(Ic)?-Ic:0;}I?(ie.layout.left=_n+$o,ie.layout.top=Lt+Wo):(ie.layout.left=Lt+$o,ie.layout.top=_n+Wo),Jt+=ie._mainSize+te+re+zt;}Vt+=me+Pt;}for(let V of ue)Kg(t,V,t.layout.width,t.layout.height,S,b);}a(qo,"layoutNode");function Kg(t,e,n,r,o,i){let s=e.style,l=pn(s.position,Ot),c=pn(s.position,Qt),d=pn(s.position,mn),f=pn(s.position,jn),m=et(l,n),h=et(c,n),g=et(d,r),S=et(f,r),b=n-i[0]-i[2],w=r-i[1]-i[3],v=et(s.width,b),y=et(s.height,w);!ee(v)&&ee(m)&&ee(h)&&(v=b-m-h),!ee(y)&&ee(g)&&ee(S)&&(y=w-g-S),qo(e,v,y,ee(v)?le.Exactly:le.Undefined,ee(y)?le.Exactly:le.Undefined,b,w,true);let T=ur(s.margin,Ot,n),C=ur(s.margin,mn,n),A=ur(s.margin,Qt,n),D=ur(s.margin,jn,n),P=t.style.flexDirection,M=wu(P),_=Vo(P),B=t.style.flexWrap===Gn.WrapReverse,I=s.alignSelf===ae.Auto?t.style.alignItems:s.alignSelf,L;if(ee(m))L=i[0]+m+T;else if(ee(h))L=n-i[2]-h-e.layout.width-A;else if(_){let z=o[0]+i[0],Te=n-o[2]-i[2];L=M?Te-e.layout.width-A:bu(t.style.justifyContent,z,Te,e.layout.width)+T;}else L=xu(I,o[0]+i[0],n-o[2]-i[2],e.layout.width,B)+T;let K;if(ee(g))K=i[1]+g+C;else if(ee(S))K=r-i[3]-S-e.layout.height-D;else if(_)K=xu(I,o[1]+i[1],r-o[3]-i[3],e.layout.height,B)+C;else {let z=o[1]+i[1],Te=r-o[3]-i[3];K=M?Te-e.layout.height-D:bu(t.style.justifyContent,z,Te,e.layout.height)+C;}e.layout.left=L,e.layout.top=K;}a(Kg,"layoutAbsoluteChild");function bu(t,e,n,r){switch(t){case wt.Center:return e+(n-e-r)/2;case wt.FlexEnd:return n-r;default:return e}}a(bu,"justifyAbsolute");function xu(t,e,n,r,o){switch(t){case ae.Center:return e+(n-e-r)/2;case ae.FlexEnd:return o?e:n-r;default:return o?n-r:e}}a(xu,"alignAbsolute");function jg(t,e,n,r,o,i,s){if((t._fbGen===dr||!t.isDirty_)&&t._fbCrossMode===o&&_t(t._fbOwnerW,i)&&_t(t._fbOwnerH,s)&&_t(t._fbAvailMain,n)&&_t(t._fbAvailCross,r))return t._fbBasis;let c=t.style,d=Vo(e),f=et(c.flexBasis,n);if(ee(f)){let _=Math.max(0,f);return t._fbBasis=_,t._fbOwnerW=i,t._fbOwnerH=s,t._fbAvailMain=n,t._fbAvailCross=r,t._fbCrossMode=o,t._fbGen=dr,_}let m=d?c.width:c.height,g=et(m,d?i:s);if(ee(g)){let _=Math.max(0,g);return t._fbBasis=_,t._fbOwnerW=i,t._fbOwnerH=s,t._fbAvailMain=n,t._fbAvailCross=r,t._fbCrossMode=o,t._fbGen=dr,_}let S=d?c.height:c.width,w=et(S,d?s:i),v=ee(w)?le.Exactly:le.Undefined;!ee(w)&&ee(r)&&(w=r,v=o===le.Exactly&&qg(t)?le.Exactly:le.AtMost);let y=NaN,T=le.Undefined;d&&ee(n)&&Eu(t)&&(y=n,T=le.AtMost),qo(t,d?y:w,d?w:y,d?T:v,d?v:T,i,s,false);let M=d?t.layout.width:t.layout.height;return t._fbBasis=M,t._fbOwnerW=i,t._fbOwnerH=s,t._fbAvailMain=n,t._fbAvailCross=r,t._fbCrossMode=o,t._fbGen=dr,M}a(jg,"computeFlexBasis");function Eu(t){if(t.measureFunc)return true;for(let e of t.children)if(Eu(e))return true;return false}a(Eu,"hasMeasureFuncInSubtree");function Yg(t,e,n,r,o,i){let s=t.length,l=new Array(s).fill(false),c=ee(e)?e-n:0;for(let f=0;f<s;f++){let m=t[f],h=fn(m.style,r,m._flexBasis,o,i);!ee(e)||(c>=0?m.style.flexGrow===0:m.style.flexShrink===0)?(m._mainSize=Math.max(0,h),l[f]=true):m._mainSize=m._flexBasis;}let d=new Array(s);for(let f=0;f<=s;f++){let m=0,h=0,g=0,S=0;for(let y=0;y<s;y++){let T=t[y];l[y]?m+=T._mainSize-T._flexBasis:(h+=T.style.flexGrow,g+=T.style.flexShrink*T._flexBasis,S++);}if(S===0)break;let b=c-m;if(b>0&&h>0&&h<1){let y=c*h;y<b&&(b=y);}else if(b<0&&g>0){let y=0;for(let T=0;T<s;T++)l[T]||(y+=t[T].style.flexShrink);if(y<1){let T=c*y;T>b&&(b=T);}}let w=0;for(let y=0;y<s;y++){if(l[y])continue;let T=t[y],C=T._flexBasis;b>0&&h>0?C+=b*T.style.flexGrow/h:b<0&&g>0&&(C+=b*(T.style.flexShrink*T._flexBasis)/g),d[y]=C;let A=Math.max(0,fn(T.style,r,C,o,i));T._mainSize=A,w+=A-C;}if(w===0)break;let v=false;for(let y=0;y<s;y++){if(l[y])continue;let T=t[y]._mainSize-d[y];(w>0&&T>0||w<0&&T<0)&&(l[y]=true,v=true);}if(!v)break}}a(Yg,"resolveFlexibleLengths");function qg(t){let e=t.parent;return e?(t.style.alignSelf===ae.Auto?e.style.alignItems:t.style.alignSelf)===ae.Stretch:false}a(qg,"isStretchAlign");function Cu(t,e){return e.style.alignSelf===ae.Auto?t.style.alignItems:e.style.alignSelf}a(Cu,"resolveChildAlign");function Ca(t){let e=null;for(let n of t.children){if(n._lineIndex>0)break;if(n.style.positionType!==Rr.Absolute&&n.style.display!==Un.None){if(Cu(t,n)===ae.Baseline||n.isReferenceBaseline_){e=n;break}e===null&&(e=n);}}return e===null?t.layout.height:Ca(e)+e.layout.top}a(Ca,"calculateBaseline");function Vg(t,e){if(!Vo(t.style.flexDirection))return false;if(t.style.alignItems===ae.Baseline)return true;for(let n of e)if(n.style.alignSelf===ae.Baseline)return true;return false}a(Vg,"isBaselineLayout");function Ui(t,e,n){if(!t._hasMargin)return 0;let r=ur(t.style.margin,wa(e),n),o=ur(t.style.margin,Ta(e),n);return r+o}a(Ui,"childMarginForAxis");function Su(t,e,n){let r=t.gap[e];r.unit===bt.Undefined&&(r=t.gap[An.All]);let o=et(r,n);return ee(o)?Math.max(0,o):0}a(Su,"resolveGap");function fn(t,e,n,r,o){let i=e?t.minWidth:t.minHeight,s=e?t.maxWidth:t.maxHeight,l=i.unit,c=s.unit;if(l===0&&c===0)return n;let d=e?r:o,f=n;if(c===1)f>s.value&&(f=s.value);else if(c===2){let m=s.value*d/100;m===m&&f>m&&(f=m);}if(l===1)f<i.value&&(f=i.value);else if(l===2){let m=i.value*d/100;m===m&&f<m&&(f=m);}return f}a(fn,"boundAxis");function ku(t){for(let e of t.children)e.layout.left=0,e.layout.top=0,e.layout.width=0,e.layout.height=0,e.isDirty_=true,e._hasL=false,e._hasM=false,ku(e);}a(ku,"zeroLayoutRecursive");function Ru(t,e,n){for(let r of t.children){let o=r.style.display;o===Un.None?(r.layout.left=0,r.layout.top=0,r.layout.width=0,r.layout.height=0,ku(r)):o===Un.Contents?(r.layout.left=0,r.layout.top=0,r.layout.width=0,r.layout.height=0,Ru(r,e,n)):r.style.positionType===Rr.Absolute?n.push(r):e.push(r);}}a(Ru,"collectLayoutChildren");function _u(t,e,n,r){if(e===0)return;let o=t.layout,i=o.left,s=o.top,l=o.width,c=o.height,d=n+i,f=r+s,m=t.measureFunc!==null;o.left=Xr(i,e,false,m),o.top=Xr(s,e,false,m);let h=d+l,g=f+c,S=!vu(l*e),b=!vu(c*e);o.width=Xr(h,e,m&&S,m&&!S)-Xr(d,e,false,m),o.height=Xr(g,e,m&&b,m&&!b)-Xr(f,e,false,m);for(let w of t.children)_u(w,e,d,f);}a(_u,"roundLayout");function vu(t){let e=t-Math.floor(t);return e<1e-4||e>.9999}a(vu,"isWholeNumber");function Xr(t,e,n,r){let o=t*e,i=o-Math.floor(o);return i<0&&(i+=1),i<1e-4?o=Math.floor(o):i>.9999||n?o=Math.ceil(o):r?o=Math.floor(o):o=Math.floor(o)+(i>=.4999?1:0),o/e}a(Xr,"roundValue");function dn(t){if(t===void 0)return Ut;if(t==="auto")return Kn;if(typeof t=="number")return Number.isFinite(t)?Gi(t):Ut;if(typeof t=="string"&&t.endsWith("%"))return Xt(parseFloat(t));let e=parseFloat(t);return isNaN(e)?Ut:Gi(e)}a(dn,"parseDimension");function va(t){switch(t){case Pe.Left:case Pe.Start:return Ot;case Pe.Top:return mn;case Pe.Right:case Pe.End:return Qt;case Pe.Bottom:return jn;default:return Ot}}a(va,"physicalEdge");var zg={Node:{create:a(t=>new jo(t),"create"),createDefault:a(()=>new jo,"createDefault"),createWithConfig:a(t=>new jo(t),"createWithConfig"),destroy(){}}};var Mu=zg;h();function Jg(){return process.env.TERM_PROGRAM==="vscode"&&Z.level===2?(Z.level=3,true):false}a(Jg,"boostChalkLevelForXtermJs");function Xg(){return process.env.CLAUDE_CODE_TMUX_TRUECOLOR?false:process.env.TMUX&&Z.level>2?(Z.level=2,true):false}a(Xg,"clampChalkLevelForTmux");Jg();Xg();var Qg=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Zg=/^ansi256\(\s?(\d+)\s?\)$/,zo=a((t,e,n)=>{if(!e)return t;if(e.startsWith("ansi:"))switch(e.substring(5)){case "black":return n==="foreground"?Z.black(t):Z.bgBlack(t);case "red":return n==="foreground"?Z.red(t):Z.bgRed(t);case "green":return n==="foreground"?Z.green(t):Z.bgGreen(t);case "yellow":return n==="foreground"?Z.yellow(t):Z.bgYellow(t);case "blue":return n==="foreground"?Z.blue(t):Z.bgBlue(t);case "magenta":return n==="foreground"?Z.magenta(t):Z.bgMagenta(t);case "cyan":return n==="foreground"?Z.cyan(t):Z.bgCyan(t);case "white":return n==="foreground"?Z.white(t):Z.bgWhite(t);case "blackBright":return n==="foreground"?Z.blackBright(t):Z.bgBlackBright(t);case "redBright":return n==="foreground"?Z.redBright(t):Z.bgRedBright(t);case "greenBright":return n==="foreground"?Z.greenBright(t):Z.bgGreenBright(t);case "yellowBright":return n==="foreground"?Z.yellowBright(t):Z.bgYellowBright(t);case "blueBright":return n==="foreground"?Z.blueBright(t):Z.bgBlueBright(t);case "magentaBright":return n==="foreground"?Z.magentaBright(t):Z.bgMagentaBright(t);case "cyanBright":return n==="foreground"?Z.cyanBright(t):Z.bgCyanBright(t);case "whiteBright":return n==="foreground"?Z.whiteBright(t):Z.bgWhiteBright(t)}if(e.startsWith("#"))return n==="foreground"?Z.hex(e)(t):Z.bgHex(e)(t);if(e.startsWith("ansi256")){let r=Zg.exec(e);if(!r)return t;let o=Number(r[1]);return n==="foreground"?Z.ansi256(o)(t):Z.bgAnsi256(o)(t)}if(e.startsWith("rgb")){let r=Qg.exec(e);if(!r)return t;let o=Number(r[1]),i=Number(r[2]),s=Number(r[3]);return n==="foreground"?Z.rgb(o,i,s)(t):Z.bgRgb(o,i,s)(t)}return t},"colorize");function Qr(t,e){let n=t;return e.inverse&&(n=Z.inverse(n)),e.strikethrough&&(n=Z.strikethrough(n)),e.underline&&(n=Z.underline(n)),e.italic&&(n=Z.italic(n)),e.bold&&(n=Z.bold(n)),e.dim&&(n=Z.dim(n)),e.color&&(n=zo(n,e.color,"foreground")),e.backgroundColor&&(n=zo(n,e.backgroundColor,"background")),n}a(Qr,"applyTextStyles");function ji(t,e){return e?zo(t,e,"foreground"):t}a(ji,"applyColor");h();h();h();var _a=null;function _r(){return _a||(_a=new Intl.Segmenter(void 0,{granularity:"grapheme"})),_a}a(_r,"getGraphemeSegmenter");function Nu(){}a(Nu,"stopCapturingEarlyInput");h();function Mr(t){if(!t)return false;if(typeof t=="boolean")return t;let e=t.toLowerCase().trim();return ["1","true","yes","on"].includes(e)}a(Mr,"isEnvTruthy");h();h();function gn(t,e,n){return new Promise(r=>{let o={timeout:n?.timeout??1e4,maxBuffer:10485760,encoding:"utf-8"};n?.cwd&&(o.cwd=n.cwd),n?.env&&(o.env={...process.env,...n.env}),n?.shell&&(o.shell=n.shell===true?void 0:n.shell);let i=execFile(t,e,o,(s,l,c)=>{if(s){let d=s;d.code==="ENOENT"||d.code==="EACCES"||d.code==="EPERM"?r({code:null,stdout:String(l??""),stderr:d.message}):r({code:s.code!=null&&typeof s.code=="number"?s.code:1,stdout:String(l??""),stderr:String(c??"")});}else r({code:0,stdout:String(l??""),stderr:String(c??"")});});n?.input&&i.stdin&&(i.stdin.write(n.input),i.stdin.end());})}a(gn,"execFileNoThrow");function Pu(){return Mr(process.env.CLAUDE_CODE_DISABLE_MOUSE_CLICKS)}a(Pu,"isMouseClicksDisabled");h();h();var Zt=class{static{a(this,"Event");}_didStopImmediatePropagation=false;didStopImmediatePropagation(){return this._didStopImmediatePropagation}stopImmediatePropagation(){this._didStopImmediatePropagation=true;}};var Zr=class extends EventEmitter{static{a(this,"EventEmitter");}constructor(){super(),this.setMaxListeners(0);}emit(e,...n){if(e==="error")return super.emit(e,...n);let r=this.rawListeners(e);if(r.length===0)return false;let o=n[0]instanceof Zt?n[0]:null;for(let i of r)if(i.apply(this,n),o?.didStopImmediatePropagation())break;return true}};h();h();h();h();var Pn={BEL:7,ESC:27},Gt="\x1B",Yn="\x07",fr=";",hn={CSI:91,OSC:93,DCS:80,APC:95,ST:92};function Aa(t){return t>=48&&t<=126}a(Aa,"isEscFinal");var Na=Gt+String.fromCharCode(hn.CSI),eo={PARAM_START:48,PARAM_END:63,INTERMEDIATE_START:32,INTERMEDIATE_END:47,FINAL_START:64,FINAL_END:126};function Ou(t){return t>=eo.PARAM_START&&t<=eo.PARAM_END}a(Ou,"isCSIParam");function Yi(t){return t>=eo.INTERMEDIATE_START&&t<=eo.INTERMEDIATE_END}a(Yi,"isCSIIntermediate");function Iu(t){return t>=eo.FINAL_START&&t<=eo.FINAL_END}a(Iu,"isCSIFinal");function Se(...t){if(t.length===0)return Na;if(t.length===1)return `${Na}${t[0]}`;let e=t.slice(0,-1),n=t[t.length-1];return `${Na}${e.join(fr)}${n}`}a(Se,"csi");var Ye={CUU:65,CUD:66,CUF:67,CUB:68,CNL:69,CPL:70,CHA:71,CUP:72,VPA:100,HVP:102,ED:74,EL:75,ECH:88,SU:83,SD:84,SM:104,RM:108,SGR:109,DECSCUSR:113,DECSTBM:114,SCOSC:115,SCORC:117},Du=["toEnd","toStart","all","scrollback"],Lu=["toEnd","toStart","all"],Pa=[{style:"block",blinking:true},{style:"block",blinking:true},{style:"block",blinking:false},{style:"underline",blinking:true},{style:"underline",blinking:false},{style:"bar",blinking:true},{style:"bar",blinking:false}];function Bu(t=1){return t===0?"":Se(t,"A")}a(Bu,"cursorUp");function nh(t=1){return t===0?"":Se(t,"B")}a(nh,"cursorDown");function rh(t=1){return t===0?"":Se(t,"C")}a(rh,"cursorForward");function oh(t=1){return t===0?"":Se(t,"D")}a(oh,"cursorBack");function Fu(t){return Se(t,"G")}a(Fu,"cursorTo");var ih=Se("G");function Oa(t,e){return Se(t,e,"H")}a(Oa,"cursorPosition");var On=Se("H");function to(t,e){let n="";return t<0?n+=oh(-t):t>0&&(n+=rh(t)),e<0?n+=Bu(-e):e>0&&(n+=nh(e)),n}a(to,"cursorMove");Se("s");Se("u");var sh=Se(2,"K");var mr=Se(2,"J"),Ia=Se(3,"J");function $u(t){if(t<=0)return "";let e="";for(let n=0;n<t;n++)e+=sh,n<t-1&&(e+=Bu(1));return e+=ih,e}a($u,"eraseLines");function Wu(t=1){return t===0?"":Se(t,"S")}a(Wu,"scrollUp");function Hu(t=1){return t===0?"":Se(t,"T")}a(Hu,"scrollDown");function Uu(t,e){return Se(t,e,"r")}a(Uu,"setScrollRegion");var Gu=Se("r"),Ku=Se("200~"),ju=Se("201~"),Yu=Se("I"),qu=Se("O"),Jo=Se(">1u"),Ar=Se("<u"),Xo=Se(">4;2m"),Qo=Se(">4m");h();function no(t){let e="ground",n="",r=t?.x10Mouse??false;return {feed(o){let i=Vu(o,e,n,false,r);return e=i.state.state,n=i.state.buffer,i.tokens},flush(){let o=Vu("",e,n,true,r);return e=o.state.state,n=o.state.buffer,o.tokens},reset(){e="ground",n="";},buffer(){return n}}}a(no,"createTokenizer");function Vu(t,e,n,r,o){let i=[],s={state:e,buffer:""},l=n+t,c=0,d=0,f=0,m=a(()=>{if(c>d){let g=l.slice(d,c);g&&i.push({type:"text",value:g});}d=c;},"flushText"),h=a(g=>{g&&i.push({type:"sequence",value:g}),s.state="ground",d=c;},"emitSequence");for(;c<l.length;){let g=l.charCodeAt(c);switch(s.state){case "ground":g===Pn.ESC&&(m(),f=c,s.state="escape"),c++;break;case "escape":g===hn.CSI?(s.state="csi",c++):g===hn.OSC?(s.state="osc",c++):g===hn.DCS?(s.state="dcs",c++):g===hn.APC?(s.state="apc",c++):g===79?(s.state="ss3",c++):Yi(g)?(s.state="escapeIntermediate",c++):Aa(g)?(c++,h(l.slice(f,c))):g===Pn.ESC?(h(l.slice(f,c)),f=c,s.state="escape",c++):(s.state="ground",d=f);break;case "escapeIntermediate":Yi(g)?c++:Aa(g)?(c++,h(l.slice(f,c))):(s.state="ground",d=f);break;case "csi":if(o&&g===77&&c-f===2&&(c+1>=l.length||l.charCodeAt(c+1)>=32)&&(c+2>=l.length||l.charCodeAt(c+2)>=32)&&(c+3>=l.length||l.charCodeAt(c+3)>=32)){c+4<=l.length?(c+=4,h(l.slice(f,c))):c=l.length;break}Iu(g)?(c++,h(l.slice(f,c))):Ou(g)||Yi(g)?c++:(s.state="ground",d=f);break;case "ss3":g>=64&&g<=126?(c++,h(l.slice(f,c))):(s.state="ground",d=f);break;case "osc":g===Pn.BEL?(c++,h(l.slice(f,c))):g===Pn.ESC&&c+1<l.length&&l.charCodeAt(c+1)===hn.ST?(c+=2,h(l.slice(f,c))):c++;break;case "dcs":case "apc":g===Pn.BEL?(c++,h(l.slice(f,c))):g===Pn.ESC&&c+1<l.length&&l.charCodeAt(c+1)===hn.ST?(c+=2,h(l.slice(f,c))):c++;break}}if(s.state==="ground")m();else if(r){let g=l.slice(f);g&&i.push({type:"sequence",value:g}),s.state="ground";}else s.buffer=l.slice(f);return {tokens:i,state:s}}a(Vu,"tokenize");var lh=/^(?:\x1b)([a-zA-Z0-9])$/,ch=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,uh=/^\x1b\[(\d+)(?:;(\d+))?u/,dh=/^\x1b\[27;(\d+);(\d+)~/,fh=/^\x1b\[\?(\d+);(\d+)\$y$/,mh=/^\x1b\[\?([\d;]*)c$/,ph=/^\x1b\[>([\d;]*)c$/,gh=/^\x1b\[\?(\d+)u$/,hh=/^\x1b\[\?(\d+);(\d+)R$/,yh=/^\x1b\](\d+);(.*?)(?:\x07|\x1b\\)$/s,bh=/^\x1bP>\|(.*?)(?:\x07|\x1b\\)$/s,ed=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function zu(t){return {kind:"key",name:"",fn:false,ctrl:false,meta:false,shift:false,option:false,super:false,sequence:t,raw:t,isPasted:true}}a(zu,"createPasteKey");function xh(t){if(t.startsWith("\x1B[")){let e;return (e=fh.exec(t))?{type:"decrpm",mode:parseInt(e[1],10),status:parseInt(e[2],10)}:(e=mh.exec(t))?{type:"da1",params:Ju(e[1])}:(e=ph.exec(t))?{type:"da2",params:Ju(e[1])}:(e=gh.exec(t))?{type:"kittyKeyboard",flags:parseInt(e[1],10)}:(e=hh.exec(t))?{type:"cursorPosition",row:parseInt(e[1],10),col:parseInt(e[2],10)}:null}if(t.startsWith("\x1B]")){let e=yh.exec(t);if(e)return {type:"osc",code:parseInt(e[1],10),data:e[2]}}if(t.startsWith("\x1BP")){let e=bh.exec(t);if(e)return {type:"xtversion",name:e[1]}}return null}a(xh,"parseTerminalResponse");function Ju(t){return t?t.split(";").map(e=>parseInt(e,10)):[]}a(Ju,"splitNumericParams");var td={mode:"NORMAL",incomplete:"",pasteBuffer:""};function Sh(t){return Buffer$1.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,"\x1B"+String(t)):String(t):t!==void 0&&typeof t!="string"?String(t):t||""}a(Sh,"inputToString");function nd(t,e=""){let n=e===null,r=n?"":Sh(e),o=t._tokenizer??no({x10Mouse:true}),i=n?o.flush():o.feed(r),s=[],l=t.mode==="IN_PASTE",c=t.pasteBuffer;for(let f of i)if(f.type==="sequence")if(f.value===Ku)l=true,c="";else if(f.value===ju)s.push(zu(c)),l=false,c="";else if(l)c+=f.value;else {let m=xh(f.value);if(m)s.push({kind:"response",sequence:f.value,response:m});else {let h=Zu(f.value);h?s.push(h):s.push(Da(f.value));}}else if(f.type==="text")if(l)c+=f.value;else if(/^\[<\d+;\d+;\d+[Mm]$/.test(f.value)||/^\[M[\x60-\x7f][\x20-\uffff]{2}$/.test(f.value)){let m="\x1B"+f.value,h=Zu(m);s.push(h??Da(m));}else s.push(Da(f.value));n&&l&&c&&(s.push(zu(c)),l=false,c="");let d={mode:l?"IN_PASTE":"NORMAL",incomplete:o.buffer(),pasteBuffer:c,_tokenizer:o};return [s,d]}a(nd,"parseMultipleKeypresses");var rd={OP:"f1",OQ:"f2",OR:"f3",OS:"f4",Op:"0",Oq:"1",Or:"2",Os:"3",Ot:"4",Ou:"5",Ov:"6",Ow:"7",Ox:"8",Oy:"9",Oj:"*",Ok:"+",Ol:",",Om:"-",On:".",Oo:"/",OM:"return","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},od=[...Object.values(rd).filter(t=>t.length>1),"escape","backspace","wheelup","wheeldown","mouse"],vh=a(t=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t),"isShiftKey"),wh=a(t=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t),"isCtrlKey");function Xu(t){let e=t-1;return {shift:!!(e&1),meta:!!(e&2),ctrl:!!(e&4),super:!!(e&8)}}a(Xu,"decodeModifier");function Qu(t){switch(t){case 9:return "tab";case 13:return "return";case 27:return "escape";case 32:return "space";case 127:return "backspace";case 57399:return "0";case 57400:return "1";case 57401:return "2";case 57402:return "3";case 57403:return "4";case 57404:return "5";case 57405:return "6";case 57406:return "7";case 57407:return "8";case 57408:return "9";case 57409:return ".";case 57410:return "/";case 57411:return "*";case 57412:return "-";case 57413:return "+";case 57414:return "return";case 57415:return "=";default:return t>=32&&t<=126?String.fromCharCode(t).toLowerCase():void 0}}a(Qu,"keycodeToName");function Zu(t){let e=ed.exec(t);if(!e)return null;let n=parseInt(e[1],10);return (n&64)!==0?null:{kind:"mouse",button:n,action:e[4]==="M"?"press":"release",col:parseInt(e[2],10),row:parseInt(e[3],10),sequence:t}}a(Zu,"parseMouseEvent");function Da(t=""){let e,n={kind:"key",name:"",fn:false,ctrl:false,meta:false,shift:false,option:false,super:false,sequence:t,raw:t,isPasted:false};n.sequence=n.sequence||t||n.name;let r;if(r=uh.exec(t)){let o=parseInt(r[1],10),i=r[2]?parseInt(r[2],10):1,s=Xu(i);return {kind:"key",name:Qu(o),fn:false,ctrl:s.ctrl,meta:s.meta,shift:s.shift,option:false,super:s.super,sequence:t,raw:t,isPasted:false}}if(r=dh.exec(t)){let o=Xu(parseInt(r[1],10));return {kind:"key",name:Qu(parseInt(r[2],10)),fn:false,ctrl:o.ctrl,meta:o.meta,shift:o.shift,option:false,super:o.super,sequence:t,raw:t,isPasted:false}}if(r=ed.exec(t)){let o=parseInt(r[1],10);return (o&67)===64?en(t,"wheelup",false):(o&67)===65?en(t,"wheeldown",false):en(t,"mouse",false)}if(t.length===6&&t.startsWith("\x1B[M")){let o=t.charCodeAt(3)-32;return (o&67)===64?en(t,"wheelup",false):(o&67)===65?en(t,"wheeldown",false):en(t,"mouse",false)}if(t==="\r")n.raw=void 0,n.name="return";else if(t===`
|
|
21
|
+
`)n.name="enter";else if(t===" ")n.name="tab";else if(t==="\b"||t==="\x1B\b")n.name="backspace",n.meta=t.charAt(0)==="\x1B";else if(t==="\x7F"||t==="\x1B\x7F")n.name="backspace",n.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")n.name="escape",n.meta=t.length===2;else if(t===" "||t==="\x1B ")n.name="space",n.meta=t.length===2;else if(t==="")n.name="_",n.ctrl=true;else if(t<=""&&t.length===1)n.name=String.fromCharCode(t.charCodeAt(0)+97-1),n.ctrl=true;else if(t.length===1&&t>="0"&&t<="9")n.name="number";else if(t.length===1&&t>="a"&&t<="z")n.name=t;else if(t.length===1&&t>="A"&&t<="Z")n.name=t.toLowerCase(),n.shift=true;else if(e=lh.exec(t))n.meta=true,n.shift=/^[A-Z]$/.test(e[1]);else if(e=ch.exec(t)){let o=[...t];o[0]==="\x1B"&&o[1]==="\x1B"&&(n.option=true);let i=[e[1],e[2],e[4],e[6]].filter(Boolean).join(""),s=(e[3]||e[5]||1)-1;n.ctrl=!!(s&4),n.meta=!!(s&2),n.super=!!(s&8),n.shift=!!(s&1),n.code=i,n.name=rd[i],n.shift=vh(i)||n.shift,n.ctrl=wh(i)||n.ctrl;}switch(n.raw==="\x1Bb"?(n.meta=true,n.name="left"):n.raw==="\x1Bf"&&(n.meta=true,n.name="right"),t){case "\x1B[1~":return en(t,"home",false);case "\x1B[4~":return en(t,"end",false);case "\x1B[5~":return en(t,"pageup",false);case "\x1B[6~":return en(t,"pagedown",false);case "\x1B[1;5D":return en(t,"left",true);case "\x1B[1;5C":return en(t,"right",true)}return n}a(Da,"parseKeypress");function en(t,e,n){return {kind:"key",name:e,ctrl:n,meta:false,shift:false,option:false,super:false,fn:false,sequence:t,raw:t,isPasted:false}}a(en,"createNavKey");function Th(t){let e={upArrow:t.name==="up",downArrow:t.name==="down",leftArrow:t.name==="left",rightArrow:t.name==="right",pageDown:t.name==="pagedown",pageUp:t.name==="pageup",wheelUp:t.name==="wheelup",wheelDown:t.name==="wheeldown",home:t.name==="home",end:t.name==="end",return:t.name==="return",escape:t.name==="escape",fn:t.fn,ctrl:t.ctrl,shift:t.shift,tab:t.name==="tab",backspace:t.name==="backspace",delete:t.name==="delete",meta:t.meta||t.name==="escape"||t.option,super:t.super},n=t.ctrl?t.name:t.sequence;n===void 0&&(n=""),t.ctrl&&n==="space"&&(n=" "),t.code&&!t.name&&(n=""),!t.name&&/^\[<\d+;\d+;\d+[Mm]/.test(n)&&(n=""),n.startsWith("\x1B")&&(n=n.slice(1));let r=false;return /^\[\d/.test(n)&&n.endsWith("u")&&(t.name?n=t.name==="space"?" ":t.name==="escape"?"":t.name:n="",r=true),n.startsWith("[27;")&&n.endsWith("~")&&(t.name?n=t.name==="space"?" ":t.name==="escape"?"":t.name:n="",r=true),n.startsWith("O")&&n.length===2&&t.name&&t.name.length===1&&(n=t.name,r=true),!r&&t.name&&od.includes(t.name)&&(n=""),n.length===1&&typeof n[0]=="string"&&n[0]>="A"&&n[0]<="Z"&&(e.shift=true),[e,n]}a(Th,"parseKey");var qi=class extends Zt{static{a(this,"InputEvent");}keypress;key;input;constructor(e){super();let[n,r]=Th(e);this.keypress=e,this.key=n,this.input=r;}};h();var Zo=class extends Zt{static{a(this,"TerminalFocusEvent");}type;constructor(e){super(),this.type=e;}};h();h();h();h();h();var de={All:"all",Horizontal:"horizontal",Vertical:"vertical",Left:"left",Right:"right",Top:"top",Bottom:"bottom",Start:"start",End:"end"},Vi={All:"all",Column:"column",Row:"row"},Kt={Flex:"flex",None:"none"},ei={Row:"row",RowReverse:"row-reverse",Column:"column",ColumnReverse:"column-reverse"},qn={Auto:"auto",Stretch:"stretch",FlexStart:"flex-start",Center:"center",FlexEnd:"flex-end"},Nr={FlexStart:"flex-start",Center:"center",FlexEnd:"flex-end",SpaceBetween:"space-between",SpaceAround:"space-around",SpaceEvenly:"space-evenly"},zi={NoWrap:"nowrap",Wrap:"wrap",WrapReverse:"wrap-reverse"},La={Relative:"relative",Absolute:"absolute"},Ji={Visible:"visible",Hidden:"hidden",Scroll:"scroll"},ro={Undefined:"undefined",Exactly:"exactly",AtMost:"at-most"};var Pr={all:Pe.All,horizontal:Pe.Horizontal,vertical:Pe.Vertical,left:Pe.Left,right:Pe.Right,top:Pe.Top,bottom:Pe.Bottom,start:Pe.Start,end:Pe.End},Eh={all:An.All,column:An.Column,row:An.Row},Ba=class t{static{a(this,"YogaLayoutNode");}yoga;constructor(e){this.yoga=e;}insertChild(e,n){this.yoga.insertChild(e.yoga,n);}removeChild(e){this.yoga.removeChild(e.yoga);}getChildCount(){return this.yoga.getChildCount()}getParent(){let e=this.yoga.getParent();return e?new t(e):null}calculateLayout(e,n){this.yoga.calculateLayout(e,void 0,$i.LTR);}setMeasureFunc(e){this.yoga.setMeasureFunc((n,r)=>{let o=r===le.Exactly?ro.Exactly:r===le.AtMost?ro.AtMost:ro.Undefined;return e(n,o)});}unsetMeasureFunc(){this.yoga.unsetMeasureFunc();}markDirty(){this.yoga.markDirty();}getComputedLeft(){return this.yoga.getComputedLeft()}getComputedTop(){return this.yoga.getComputedTop()}getComputedWidth(){return this.yoga.getComputedWidth()}getComputedHeight(){return this.yoga.getComputedHeight()}getComputedBorder(e){return this.yoga.getComputedBorder(Pr[e])}getComputedPadding(e){return this.yoga.getComputedPadding(Pr[e])}setWidth(e){this.yoga.setWidth(e);}setWidthPercent(e){this.yoga.setWidthPercent(e);}setWidthAuto(){this.yoga.setWidthAuto();}setHeight(e){this.yoga.setHeight(e);}setHeightPercent(e){this.yoga.setHeightPercent(e);}setHeightAuto(){this.yoga.setHeightAuto();}setMinWidth(e){this.yoga.setMinWidth(e);}setMinWidthPercent(e){this.yoga.setMinWidthPercent(e);}setMinHeight(e){this.yoga.setMinHeight(e);}setMinHeightPercent(e){this.yoga.setMinHeightPercent(e);}setMaxWidth(e){this.yoga.setMaxWidth(e);}setMaxWidthPercent(e){this.yoga.setMaxWidthPercent(e);}setMaxHeight(e){this.yoga.setMaxHeight(e);}setMaxHeightPercent(e){this.yoga.setMaxHeightPercent(e);}setFlexDirection(e){let n={row:st.Row,"row-reverse":st.RowReverse,column:st.Column,"column-reverse":st.ColumnReverse};this.yoga.setFlexDirection(n[e]);}setFlexGrow(e){this.yoga.setFlexGrow(e);}setFlexShrink(e){this.yoga.setFlexShrink(e);}setFlexBasis(e){this.yoga.setFlexBasis(e);}setFlexBasisPercent(e){this.yoga.setFlexBasisPercent(e);}setFlexWrap(e){let n={nowrap:Gn.NoWrap,wrap:Gn.Wrap,"wrap-reverse":Gn.WrapReverse};this.yoga.setFlexWrap(n[e]);}setAlignItems(e){let n={auto:ae.Auto,stretch:ae.Stretch,"flex-start":ae.FlexStart,center:ae.Center,"flex-end":ae.FlexEnd};this.yoga.setAlignItems(n[e]);}setAlignSelf(e){let n={auto:ae.Auto,stretch:ae.Stretch,"flex-start":ae.FlexStart,center:ae.Center,"flex-end":ae.FlexEnd};this.yoga.setAlignSelf(n[e]);}setJustifyContent(e){let n={"flex-start":wt.FlexStart,center:wt.Center,"flex-end":wt.FlexEnd,"space-between":wt.SpaceBetween,"space-around":wt.SpaceAround,"space-evenly":wt.SpaceEvenly};this.yoga.setJustifyContent(n[e]);}setDisplay(e){this.yoga.setDisplay(e==="flex"?Un.Flex:Un.None);}getDisplay(){return this.yoga.getDisplay()===Un.None?Kt.None:Kt.Flex}setPositionType(e){this.yoga.setPositionType(e==="absolute"?Rr.Absolute:Rr.Relative);}setPosition(e,n){this.yoga.setPosition(Pr[e],n);}setPositionPercent(e,n){this.yoga.setPositionPercent(Pr[e],n);}setOverflow(e){let n={visible:kr.Visible,hidden:kr.Hidden,scroll:kr.Scroll};this.yoga.setOverflow(n[e]);}setMargin(e,n){this.yoga.setMargin(Pr[e],n);}setPadding(e,n){this.yoga.setPadding(Pr[e],n);}setBorder(e,n){this.yoga.setBorder(Pr[e],n);}setGap(e,n){this.yoga.setGap(Eh[e],n);}free(){this.yoga.free();}freeRecursive(){this.yoga.freeRecursive();}};function id(){return new Ba(Mu.Node.create())}a(id,"createYogaLayoutNode");function sd(){return id()}a(sd,"createLayoutNode");h();h();h();var ld=Ch();function Rh(t){if(typeof t!="string"||t.length===0)return 0;let e=true;for(let r=0;r<t.length;r++){let o=t.charCodeAt(r);if(o>=127||o===27){e=false;break}}if(e){let r=0;for(let o=0;o<t.length;o++)t.charCodeAt(o)>31&&r++;return r}if(t.includes("\x1B")&&(t=kh(t),t.length===0))return 0;if(!_h(t)){let r=0;for(let o of t){let i=o.codePointAt(0);cd(i)||(r+=eastAsianWidth(i,{ambiguousAsWide:false}));}return r}let n=0;for(let{segment:r}of _r().segment(t)){if(ld.lastIndex=0,ld.test(r)){n+=Mh(r);continue}for(let o of r){let i=o.codePointAt(0);if(!cd(i)){n+=eastAsianWidth(i,{ambiguousAsWide:false});break}}}return n}a(Rh,"stringWidthJavaScript");function _h(t){for(let e of t){let n=e.codePointAt(0);if(n>=127744&&n<=129791||n>=9728&&n<=10175||n>=127462&&n<=127487||n>=65024&&n<=65039||n===8205)return true}return false}a(_h,"needsSegmentation");function Mh(t){let e=t.codePointAt(0);if(e>=127462&&e<=127487){let n=0;for(let r of t)n++;return n===1?1:2}return t.length===2&&t.codePointAt(1)===65039&&(e>=48&&e<=57||e===35||e===42)?1:2}a(Mh,"getEmojiWidth");function cd(t){if(t>=32&&t<127)return false;if(t>=160&&t<768)return t===173;if(t<=31||t>=127&&t<=159||t>=8203&&t<=8205||t===65279||t>=8288&&t<=8292||t>=65024&&t<=65039||t>=917760&&t<=917999||t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65056&&t<=65071)return true;if(t>=2304&&t<=3407){let e=t&127;if(e<=3||e>=58&&e<=79||e>=81&&e<=87||e>=98&&e<=99)return true}return t===3633||t>=3636&&t<=3642||t>=3655&&t<=3662||t===3761||t>=3764&&t<=3772||t>=3784&&t<=3789||t>=1536&&t<=1541||t===1757||t===1807||t===2274||t>=55296&&t<=57343||t>=917504&&t<=917631}a(cd,"isZeroWidth");var ud=typeof Bun<"u"&&typeof Bun.stringWidth=="function"?Bun.stringWidth:null,Ah={ambiguousIsNarrow:true},It=ud?t=>ud(t,Ah):Rh;var Xi=new Map,Nh=4096;function Qi(t){let e=Xi.get(t);if(e!==void 0)return e;let n=It(t);return Xi.size>=Nh&&Xi.clear(),Xi.set(t,n),n}a(Qi,"lineWidth");function Ph(t,e){if(t.length===0)return {width:0,height:0};let n=e<=0||!Number.isFinite(e),r=0,o=0,i=0;for(;i<=t.length;){let s=t.indexOf(`
|
|
22
|
+
`,i),l=s===-1?t.substring(i):t.substring(i,s),c=Qi(l);if(o=Math.max(o,c),n?r++:r+=c===0?1:Math.ceil(c/e),s===-1)break;i=s+1;}return {width:o,height:r}}a(Ph,"measureText");var Zi=Ph;h();var at=new WeakMap,ti=new WeakMap,Fa=false;function dd(t,e,n){let r=ti.get(t);r?r.push(e):ti.set(t,[e]),n&&(Fa=true);}a(dd,"addPendingClear");function fd(){let t=Fa;return Fa=false,t}a(fd,"consumeAbsoluteRemovedFlag");h();function es(t,e={},n,r=[]){let o=t.textStyles?{...e,...t.textStyles}:e;for(let i of t.childNodes)if(i!==void 0){if(i.nodeName==="#text")i.nodeValue.length>0&&r.push({text:i.nodeValue,styles:o,hyperlink:n});else if(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")es(i,o,n,r);else if(i.nodeName==="ink-link"){let s=i.attributes.href;es(i,o,s||n,r);}}return r}a(es,"squashTextNodesToSegments");function $a(t){let e="";for(let n of t.childNodes)n!==void 0&&(n.nodeName==="#text"?e+=n.nodeValue:(n.nodeName==="ink-text"||n.nodeName==="ink-virtual-text"||n.nodeName==="ink-link")&&(e+=$a(n)));return e}a($a,"squashTextNodes");var md=$a;h();var Oh=8;function pd(t,e=Oh){if(!t.includes(" "))return t;let n=no(),r=n.feed(t);r.push(...n.flush());let o="",i=0;for(let s of r)if(s.type==="sequence")o+=s.value;else {let l=s.value.split(/(\t|\n)/);for(let c of l)if(c===" "){let d=e-i%e;o+=" ".repeat(d),i+=d;}else c===`
|
|
23
|
+
`?(o+=c,i=0):(o+=c,i+=It(c));}return o}a(pd,"expandTabs");h();h();var gd=/\x1b\[[0-9;]*m/g;function Or(t,e,n){if(!t.includes("\x1B"))return t.slice(e,n);let r=[],o=0;for(;o<t.length;){gd.lastIndex=o;let d=gd.exec(t);d&&d.index===o?(r.push({ch:d[0],visible:false}),o+=d[0].length):(r.push({ch:t[o],visible:true}),o++);}let i=n??kh(t).length,s=0,l="",c="";for(let{ch:d,visible:f}of r){if(!f){s>=e&&s<i?l+=d:c+=d;continue}if(s>=e&&s<i&&(c&&(l+=c,c=""),l+=d),s++,s>=i)break}return l}a(Or,"sliceAnsi");h();var Lh=typeof Bun<"u"&&typeof Bun.wrapAnsi=="function"?Bun.wrapAnsi:null,Wa=Lh??Dh;var ts="\u2026";function ns(t,e,n){let r=Or(t,e,n);return It(r)>n-e?Or(t,e,n-1):r}a(ns,"sliceFit");function Bh(t,e,n){if(e<1)return "";if(e===1)return ts;let r=It(t);if(r<=e)return t;if(n==="start")return ts+ns(t,r-e+1,r);if(n==="middle"){let o=Math.floor(e/2);return ns(t,0,o)+ts+ns(t,r-(e-o)+1,r)}return ns(t,0,e-1)+ts}a(Bh,"truncate");function oo(t,e,n){if(n==="wrap")return Wa(t,e,{trim:false,hard:true});if(n==="wrap-trim")return Wa(t,e,{trim:true,hard:true});if(n.startsWith("truncate")){let r="end";return n==="truncate-middle"&&(r="middle"),n==="truncate-start"&&(r="start"),Bh(t,e,r)}return t}a(oo,"wrapText");var ni=a(t=>{let n={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:t!=="ink-virtual-text"&&t!=="ink-link"&&t!=="ink-progress"?sd():void 0,dirty:false};return t==="ink-text"?n.yogaNode?.setMeasureFunc($h.bind(null,n)):t==="ink-raw-ansi"&&n.yogaNode?.setMeasureFunc(Wh.bind(null,n)),n},"createNode"),rs=a((t,e)=>{e.parentNode&&ri(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&t.yogaNode?.insertChild(e.yogaNode,t.yogaNode.getChildCount()),Mt(t);},"appendChildNode"),Ha=a((t,e,n)=>{e.parentNode&&ri(e.parentNode,e),e.parentNode=t;let r=t.childNodes.indexOf(n);if(r>=0){let o=0;if(e.yogaNode&&t.yogaNode)for(let i=0;i<r;i++)t.childNodes[i]?.yogaNode&&o++;t.childNodes.splice(r,0,e),e.yogaNode&&t.yogaNode&&t.yogaNode.insertChild(e.yogaNode,o),Mt(t);return}t.childNodes.push(e),e.yogaNode&&t.yogaNode?.insertChild(e.yogaNode,t.yogaNode.getChildCount()),Mt(t);},"insertBeforeNode"),ri=a((t,e)=>{e.yogaNode&&e.parentNode?.yogaNode?.removeChild(e.yogaNode),hd(t,e),e.parentNode=void 0;let n=t.childNodes.indexOf(e);n>=0&&t.childNodes.splice(n,1),Mt(t);},"removeChildNode");function hd(t,e,n=false){if(e.nodeName==="#text")return;let r=e,o=n||r.style.position==="absolute",i=at.get(r);i&&(dd(t,i,o),at.delete(r));for(let s of r.childNodes)hd(t,s,o);}a(hd,"collectRemovedRects");var Ua=a((t,e,n)=>{e!=="children"&&t.attributes[e]!==n&&(t.attributes[e]=n,Mt(t));},"setAttribute"),Ga=a((t,e)=>{Fh(t.style,e)||(t.style=e,Mt(t));},"setStyle"),yd=a((t,e)=>{bd(t.textStyles,e)||(t.textStyles=e,Mt(t));},"setTextStyles");function Fh(t,e){return bd(t,e)}a(Fh,"stylesEqual");function bd(t,e){if(t===e)return true;if(t===void 0||e===void 0)return false;let n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return false;for(let o of n)if(t[o]!==e[o])return false;return true}a(bd,"shallowEqual");var xd=a(t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:void 0,style:{}};return oi(e,t),e},"createTextNode"),$h=a(function(t,e,n){let r=t.nodeName==="#text"?t.nodeValue:md(t),o=pd(r),i=Zi(o,e);if(i.width<=e||i.width>=1&&e>0&&e<1)return i;if(o.includes(`
|
|
24
|
+
`)&&n===ro.Undefined){let c=Math.max(e,i.width);return Zi(o,c)}let s=t.style?.textWrap??"wrap",l=oo(o,e,s);return Zi(l,e)},"measureTextNode"),Wh=a(function(t){return {width:t.attributes.rawWidth,height:t.attributes.rawHeight}},"measureRawAnsiNode"),Mt=a(t=>{let e=t,n=false;for(;e;)e.nodeName!=="#text"&&(e.dirty=true,!n&&(e.nodeName==="ink-text"||e.nodeName==="ink-raw-ansi")&&e.yogaNode&&(e.yogaNode.markDirty(),n=true)),e=e.parentNode;},"markDirty");var oi=a((t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue!==e&&(t.nodeValue=e,Mt(t));},"setTextNodeValue");function Hh(t){return t.nodeName!=="#text"}a(Hh,"isDOMElement");var Ka=a(t=>{if("childNodes"in t)for(let e of t.childNodes)Ka(e);t.yogaNode=void 0;},"clearYogaNodeReferences");function Sd(t,e){let n=[];return r(t,0),n;function r(o,i){let s=o.yogaNode;if(!s||s.getDisplay()===Kt.None)return;let l=i+s.getComputedTop(),c=s.getComputedHeight();if(!(e<l||e>=l+c)){o.debugOwnerChain&&(n=o.debugOwnerChain);for(let d of o.childNodes)Hh(d)&&r(d,l);}}}a(Sd,"findOwnerChainAtRow");h();h();var vd={keydown:{bubble:"onKeyDown",capture:"onKeyDownCapture"},focus:{bubble:"onFocus",capture:"onFocusCapture"},blur:{bubble:"onBlur",capture:"onBlurCapture"},paste:{bubble:"onPaste",capture:"onPasteCapture"},resize:{bubble:"onResize"},click:{bubble:"onClick"}},ja=new Set(["onKeyDown","onKeyDownCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onPaste","onPasteCapture","onResize","onClick","onMouseEnter","onMouseLeave"]);function wd(t,e,n){let r=t._eventHandlers;if(!r)return;let o=vd[e];if(!o)return;let i=n?o.capture:o.bubble;if(i)return r[i]}a(wd,"getHandler");function jh(t,e){let n=[],r=t;for(;r;){let o=r===t,i=wd(r,e.type,true),s=wd(r,e.type,false);i&&n.unshift({node:r,handler:i,phase:o?"at_target":"capturing"}),s&&(e.bubbles||o)&&n.push({node:r,handler:s,phase:o?"at_target":"bubbling"}),r=r.parentNode;}return n}a(jh,"collectListeners");function Yh(t,e){let n;for(let{node:r,handler:o,phase:i}of t){if(e._isImmediatePropagationStopped()||e._isPropagationStopped()&&r!==n)break;e._setEventPhase(i),e._setCurrentTarget(r),e._prepareForTarget(r);try{o(e);}catch(s){b$1.error(s);}n=r;}}a(Yh,"processDispatchQueue");function qh(t){switch(t){case "keydown":case "keyup":case "click":case "focus":case "blur":case "paste":return DiscreteEventPriority;case "resize":case "scroll":case "mousemove":return ContinuousEventPriority;default:return DefaultEventPriority}}a(qh,"getEventPriority");var os=class{static{a(this,"Dispatcher");}currentEvent=null;currentUpdatePriority=DefaultEventPriority;discreteUpdates=null;resolveEventPriority(){return this.currentUpdatePriority!==NoEventPriority?this.currentUpdatePriority:this.currentEvent?qh(this.currentEvent.type):DefaultEventPriority}dispatch(e,n){let r=this.currentEvent;this.currentEvent=n;try{n._setTarget(e);let o=jh(e,n);return Yh(o,n),n._setEventPhase("none"),n._setCurrentTarget(null),!n.defaultPrevented}finally{this.currentEvent=r;}}dispatchDiscrete(e,n){return this.discreteUpdates?this.discreteUpdates((r,o)=>this.dispatch(r,o),e,n,void 0,void 0):this.dispatch(e,n)}dispatchContinuous(e,n){let r=this.currentUpdatePriority;try{return this.currentUpdatePriority=ContinuousEventPriority,this.dispatch(e,n)}finally{this.currentUpdatePriority=r;}}};h();h();h();var io=class extends Zt{static{a(this,"TerminalEvent");}type;timeStamp;bubbles;cancelable;_target=null;_currentTarget=null;_eventPhase="none";_propagationStopped=false;_defaultPrevented=false;constructor(e,n){super(),this.type=e,this.timeStamp=performance.now(),this.bubbles=n?.bubbles??true,this.cancelable=n?.cancelable??true;}get target(){return this._target}get currentTarget(){return this._currentTarget}get eventPhase(){return this._eventPhase}get defaultPrevented(){return this._defaultPrevented}stopPropagation(){this._propagationStopped=true;}stopImmediatePropagation(){super.stopImmediatePropagation(),this._propagationStopped=true;}preventDefault(){this.cancelable&&(this._defaultPrevented=true);}_setTarget(e){this._target=e;}_setCurrentTarget(e){this._currentTarget=e;}_setEventPhase(e){this._eventPhase=e;}_isPropagationStopped(){return this._propagationStopped}_isImmediatePropagationStopped(){return this.didStopImmediatePropagation()}_prepareForTarget(e){}};var pr=class extends io{static{a(this,"FocusEvent");}relatedTarget;constructor(e,n=null){super(e,{bubbles:true,cancelable:false}),this.relatedTarget=n;}};var Vh=32,ii=class{static{a(this,"FocusManager");}activeElement=null;dispatchFocusEvent;enabled=true;focusStack=[];constructor(e){this.dispatchFocusEvent=e;}focus(e){if(e===this.activeElement||!this.enabled)return;let n=this.activeElement;if(n){let r=this.focusStack.indexOf(n);r!==-1&&this.focusStack.splice(r,1),this.focusStack.push(n),this.focusStack.length>Vh&&this.focusStack.shift(),this.dispatchFocusEvent(n,new pr("blur",e));}this.activeElement=e,this.dispatchFocusEvent(e,new pr("focus",n));}blur(){if(!this.activeElement)return;let e=this.activeElement;this.activeElement=null,this.dispatchFocusEvent(e,new pr("blur",null));}handleNodeRemoved(e,n){if(this.focusStack=this.focusStack.filter(o=>o!==e&&qa(o,n)),!this.activeElement||this.activeElement!==e&&qa(this.activeElement,n))return;let r=this.activeElement;for(this.activeElement=null,this.dispatchFocusEvent(r,new pr("blur",null));this.focusStack.length>0;){let o=this.focusStack.pop();if(qa(o,n)){this.activeElement=o,this.dispatchFocusEvent(o,new pr("focus",r));return}}}handleAutoFocus(e){this.focus(e);}handleClickFocus(e){typeof e.attributes.tabIndex=="number"&&this.focus(e);}enable(){this.enabled=true;}disable(){this.enabled=false;}focusNext(e){this.moveFocus(1,e);}focusPrevious(e){this.moveFocus(-1,e);}moveFocus(e,n){if(!this.enabled)return;let r=zh(n);if(r.length===0)return;let o=this.activeElement?r.indexOf(this.activeElement):-1,i=o===-1?e===1?0:r.length-1:(o+e+r.length)%r.length,s=r[i];s&&this.focus(s);}};function zh(t){let e=[];return Ed(t,e),e}a(zh,"collectTabbable");function Ed(t,e){let n=t.attributes.tabIndex;typeof n=="number"&&n>=0&&e.push(t);for(let r of t.childNodes)r.nodeName!=="#text"&&Ed(r,e);}a(Ed,"walkTree");function qa(t,e){let n=t;for(;n;){if(n===e)return true;n=n.parentNode;}return false}a(qa,"isInTree");function Va(t){let e=t;for(;e;){if(e.focusManager)return e;e=e.parentNode;}throw new Error("Node is not in a tree with a FocusManager")}a(Va,"getRootNode");function za(t){return Va(t).focusManager}a(za,"getFocusManager");h();var Jh=a((t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?La.Absolute:La.Relative),"top"in e&&is(t,"top",e.top),"bottom"in e&&is(t,"bottom",e.bottom),"left"in e&&is(t,"left",e.left),"right"in e&&is(t,"right",e.right);},"applyPositionStyles");function is(t,e,n){typeof n=="string"?t.setPositionPercent(e,Number.parseInt(n,10)):typeof n=="number"?t.setPosition(e,n):t.setPosition(e,Number.NaN);}a(is,"applyPositionEdge");var Xh=a((t,e)=>{let n=e.overflowY??e.overflow,r=e.overflowX??e.overflow;n==="scroll"||r==="scroll"?t.setOverflow(Ji.Scroll):n==="hidden"||r==="hidden"?t.setOverflow(Ji.Hidden):("overflow"in e||"overflowX"in e||"overflowY"in e)&&t.setOverflow(Ji.Visible);},"applyOverflowStyles"),Qh=a((t,e)=>{"margin"in e&&t.setMargin(de.All,e.margin??0),"marginX"in e&&t.setMargin(de.Horizontal,e.marginX??0),"marginY"in e&&t.setMargin(de.Vertical,e.marginY??0),"marginLeft"in e&&t.setMargin(de.Start,e.marginLeft||0),"marginRight"in e&&t.setMargin(de.End,e.marginRight||0),"marginTop"in e&&t.setMargin(de.Top,e.marginTop||0),"marginBottom"in e&&t.setMargin(de.Bottom,e.marginBottom||0);},"applyMarginStyles"),Zh=a((t,e)=>{"padding"in e&&t.setPadding(de.All,e.padding??0),"paddingX"in e&&t.setPadding(de.Horizontal,e.paddingX??0),"paddingY"in e&&t.setPadding(de.Vertical,e.paddingY??0),"paddingLeft"in e&&t.setPadding(de.Left,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(de.Right,e.paddingRight||0),"paddingTop"in e&&t.setPadding(de.Top,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(de.Bottom,e.paddingBottom||0);},"applyPaddingStyles"),ey=a((t,e)=>{"flexGrow"in e&&t.setFlexGrow(e.flexGrow??0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexWrap"in e&&(e.flexWrap==="nowrap"&&t.setFlexWrap(zi.NoWrap),e.flexWrap==="wrap"&&t.setFlexWrap(zi.Wrap),e.flexWrap==="wrap-reverse"&&t.setFlexWrap(zi.WrapReverse)),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(ei.Row),e.flexDirection==="row-reverse"&&t.setFlexDirection(ei.RowReverse),e.flexDirection==="column"&&t.setFlexDirection(ei.Column),e.flexDirection==="column-reverse"&&t.setFlexDirection(ei.ColumnReverse)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(Number.NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(qn.Stretch),e.alignItems==="flex-start"&&t.setAlignItems(qn.FlexStart),e.alignItems==="center"&&t.setAlignItems(qn.Center),e.alignItems==="flex-end"&&t.setAlignItems(qn.FlexEnd)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(qn.Auto),e.alignSelf==="flex-start"&&t.setAlignSelf(qn.FlexStart),e.alignSelf==="center"&&t.setAlignSelf(qn.Center),e.alignSelf==="flex-end"&&t.setAlignSelf(qn.FlexEnd)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(Nr.FlexStart),e.justifyContent==="center"&&t.setJustifyContent(Nr.Center),e.justifyContent==="flex-end"&&t.setJustifyContent(Nr.FlexEnd),e.justifyContent==="space-between"&&t.setJustifyContent(Nr.SpaceBetween),e.justifyContent==="space-around"&&t.setJustifyContent(Nr.SpaceAround),e.justifyContent==="space-evenly"&&t.setJustifyContent(Nr.SpaceEvenly));},"applyFlexStyles"),ty=a((t,e)=>{"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth(e.minWidth??0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight(e.minHeight??0)),"maxWidth"in e&&(typeof e.maxWidth=="string"?t.setMaxWidthPercent(Number.parseInt(e.maxWidth,10)):t.setMaxWidth(e.maxWidth??0)),"maxHeight"in e&&(typeof e.maxHeight=="string"?t.setMaxHeightPercent(Number.parseInt(e.maxHeight,10)):t.setMaxHeight(e.maxHeight??0));},"applyDimensionStyles"),ny=a((t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?Kt.Flex:Kt.None);},"applyDisplayStyles"),ry=a((t,e,n)=>{let r=n??e;if("borderStyle"in e){let o=e.borderStyle?1:0;t.setBorder(de.Top,r.borderTop!==false?o:0),t.setBorder(de.Bottom,r.borderBottom!==false?o:0),t.setBorder(de.Left,r.borderLeft!==false?o:0),t.setBorder(de.Right,r.borderRight!==false?o:0);}else "borderTop"in e&&e.borderTop!==void 0&&t.setBorder(de.Top,e.borderTop===false?0:1),"borderBottom"in e&&e.borderBottom!==void 0&&t.setBorder(de.Bottom,e.borderBottom===false?0:1),"borderLeft"in e&&e.borderLeft!==void 0&&t.setBorder(de.Left,e.borderLeft===false?0:1),"borderRight"in e&&e.borderRight!==void 0&&t.setBorder(de.Right,e.borderRight===false?0:1);},"applyBorderStyles"),oy=a((t,e)=>{"gap"in e&&t.setGap(Vi.All,e.gap??0),"columnGap"in e&&t.setGap(Vi.Column,e.columnGap??0),"rowGap"in e&&t.setGap(Vi.Row,e.rowGap??0);},"applyGapStyles"),iy=a((t,e={},n)=>{Jh(t,e),Xh(t,e),Qh(t,e),Zh(t,e),ey(t,e),ty(t,e),ny(t,e),ry(t,e,n),oy(t,e);},"styles"),Ja=iy;if(process.env.NODE_ENV==="development")try{import('../devtools-SGDUOOM4.js');}catch(t){if(t.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
25
25
|
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
|
|
26
26
|
but this failed as it was not installed. Debugging with React Devtools requires it.
|
|
27
27
|
|
|
@@ -29,55 +29,55 @@ To install use this command:
|
|
|
29
29
|
|
|
30
30
|
$ npm install --save-dev react-devtools-core
|
|
31
31
|
`.trim()+`
|
|
32
|
-
`);else throw t}var
|
|
33
|
-
`),
|
|
34
|
-
`),
|
|
32
|
+
`);else throw t}var Cd=a((t,e)=>{if(t===e)return;if(!t)return e;let n={},r=false;for(let o of Object.keys(t))(!e||!Object.hasOwn(e,o))&&(n[o]=void 0,r=true);if(e)for(let o of Object.keys(e))e[o]!==t[o]&&(n[o]=e[o],r=true);return r?n:void 0},"diff"),kd=a(t=>{let e=t.yogaNode;e&&(e.unsetMeasureFunc(),Ka(t),e.freeRecursive());},"cleanupYogaNode");function _d(t,e,n){t._eventHandlers||(t._eventHandlers={}),t._eventHandlers[e]=n;}a(_d,"setEventHandler");function ay(t,e,n){if(e!=="children"){if(e==="style"){Ga(t,n),t.yogaNode&&Ja(t.yogaNode,n);return}if(e==="textStyles"){t.textStyles=n;return}if(ja.has(e)){_d(t,e,n);return}Ua(t,e,n);}}a(ay,"applyProp");function ly(t){let e=[],n=new Set,r=t;for(let o=0;r&&o<50&&!n.has(r);o++){n.add(r);let i=r.elementType,s=typeof i=="function"?i.displayName||i.name:typeof i=="string"?void 0:i?.displayName||i?.name;s&&s!==e[e.length-1]&&e.push(s),r=r._debugOwner??r.return;}return e}a(ly,"getOwnerChain");var Xa;function nl(){return Xa===void 0&&(Xa=Mr(process.env.CLAUDE_CODE_DEBUG_REPAINTS)),Xa}a(nl,"isDebugRepaintsEnabled");var Vn=new os,yn=process.env.CLAUDE_CODE_COMMIT_LOG,Qa=0,Rd=0,Za=0,as=0,ls=0,el=0,rl=0,ol=0,cs=0;function Md(t){rl=t;}a(Md,"recordYogaMs");function Ad(){return rl}a(Ad,"getLastYogaMs");function Nd(){return ol}a(Nd,"getLastCommitMs");function Pd(){rl=0,ol=0,cs=0;}a(Pd,"resetProfileCounters");var tl=sy({getRootHostContext:a(()=>({isInsideText:false}),"getRootHostContext"),prepareForCommit:a(()=>(yn&&(el=performance.now()),null),"prepareForCommit"),preparePortalMount:a(()=>null,"preparePortalMount"),clearContainer:a(()=>false,"clearContainer"),resetAfterCommit(t){if(ol=cs>0?performance.now()-cs:0,cs=0,yn){let r=performance.now();Qa++;let o=Za>0?r-Za:0;o>as&&(as=o),Za=r;let i=el>0?r-el:0;(o>30||i>20||ls>50)&&appendFileSync(yn,`${r.toFixed(1)} gap=${o.toFixed(1)}ms reconcile=${i.toFixed(1)}ms creates=${ls}
|
|
33
|
+
`),ls=0,r-Rd>1e3&&(appendFileSync(yn,`${r.toFixed(1)} commits=${Qa}/s maxGap=${as.toFixed(1)}ms
|
|
34
|
+
`),Qa=0,as=0,Rd=r);}let e=yn?performance.now():0;if(typeof t.onComputeLayout=="function"&&t.onComputeLayout(),yn){let r=performance.now()-e;if(r>20){let o=Ki();appendFileSync(yn,`${e.toFixed(1)} SLOW_YOGA ${r.toFixed(1)}ms visited=${o.visited} measured=${o.measured} hits=${o.cacheHits} live=${o.live}
|
|
35
35
|
`);}}if(process.env.NODE_ENV==="test"){if(t.childNodes.length===0&&t.hasRenderedContent)return;t.childNodes.length>0&&(t.hasRenderedContent=true),t.onImmediateRender?.();return}let n=yn?performance.now():0;if(t.onRender?.(),yn){let r=performance.now()-n;r>10&&appendFileSync(yn,`${n.toFixed(1)} SLOW_PAINT ${r.toFixed(1)}ms
|
|
36
|
-
`);}},getChildHostContext(t,e){let n=t.isInsideText,r=e==="ink-text"||e==="ink-virtual-text"||e==="ink-link";return n===r?t:{isInsideText:r}},shouldSetTextContent:a(()=>false,"shouldSetTextContent"),createInstance(t,e,n,r,o){if(r.isInsideText&&t==="ink-box")throw new Error("<Box> can't be nested inside <Text> component");let i=t==="ink-text"&&r.isInsideText?"ink-virtual-text":t,s=Qo(i);yn&&os++;for(let[l,c]of Object.entries(e))oy(s,l,c);return Qa()&&(s.debugOwnerChain=iy(o)),s},createTextInstance(t,e,n){if(!n.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return hd(t)},resetTextContent(){},hideTextInstance(t){ei(t,"");},unhideTextInstance(t,e){ei(t,e);},getPublicInstance:a(t=>t,"getPublicInstance"),hideInstance(t){t.isHidden=true,t.yogaNode?.setDisplay(Gt.None),_t(t);},unhideInstance(t){t.isHidden=false,t.yogaNode?.setDisplay(Gt.Flex),_t(t);},appendInitialChild:Zi,appendChild:Zi,insertBefore:Ba,finalizeInitialChildren(t,e,n){return n.autoFocus===true},commitMount(t){ja(t).handleAutoFocus(t);},isPrimaryRenderer:true,supportsMutation:true,supportsPersistence:false,supportsHydration:false,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,getCurrentUpdatePriority:a(()=>Vn.currentUpdatePriority,"getCurrentUpdatePriority"),beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:a(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:a(()=>null,"getInstanceFromScope"),appendChildToContainer:Zi,insertInContainerBefore:Ba,removeChildFromContainer(t,e){Zo(t,e),Td(e),ja(t).handleNodeRemoved(e,t);},commitUpdate(t,e,n,r){let o=wd(n,r),i=wd(n.style,r.style);if(o)for(let[s,l]of Object.entries(o)){if(s==="style"){$a(t,l);continue}if(s==="textStyles"){pd(t,l);continue}if(Ha.has(s)){Cd(t,s,l);continue}Fa(t,s,l);}i&&t.yogaNode&&Ya(t.yogaNode,i,r.style);},commitTextUpdate(t,e,n){ei(t,n);},removeChild(t,e){if(Zo(t,e),Td(e),e.nodeName!=="#text"){let n=Ka(t);n.focusManager.handleNodeRemoved(e,n);}},maySuspendCommit(){return false},preloadInstance(){return true},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},NotPendingTransition:null,HostTransitionContext:{$$typeof:Symbol.for("react.context"),_currentValue:null},setCurrentUpdatePriority(t){Vn.currentUpdatePriority=t;},resolveUpdatePriority(){return Vn.resolveEventPriority()},resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return false},trackSchedulerEvent(){},resolveEventType(){return Vn.currentEvent?.type??null},resolveEventTimeStamp(){return Vn.currentEvent?.timeStamp??-1.1}});Vn.discreteUpdates=Xa.discreteUpdates.bind(Xa);var Dn=Xa;h();h();function fr(t,e){let n=Math.min(t.x,e.x),r=Math.min(t.y,e.y),o=Math.max(t.x+t.width,e.x+e.width),i=Math.max(t.y+t.height,e.y+e.height);return {x:n,y:r,width:o-n,height:i-r}}a(fr,"unionRect");function Pr(t,e,n){return e!==void 0&&t<e?e:n!==void 0&&t>n?n:t}a(Pr,"clamp");h();h();function Je(t,e){t!==void 0&&(Number.isInteger(t)||Le(`${e} should be an integer, got ${t}`,{level:"warn"}));}a(Je,"ifNotInteger");var oo=class{static{a(this,"CharPool");}strings=[" ",""];stringMap=new Map([[" ",0],["",1]]);ascii=my();intern(e){if(e.length===1){let o=e.charCodeAt(0);if(o<128){let i=this.ascii[o];if(i!==-1)return i;let s=this.strings.length;return this.strings.push(e),this.ascii[o]=s,s}}let n=this.stringMap.get(e);if(n!==void 0)return n;let r=this.strings.length;return this.strings.push(e),this.stringMap.set(e,r),r}get(e){return this.strings[e]??" "}},io=class{static{a(this,"HyperlinkPool");}strings=[""];stringMap=new Map;intern(e){if(!e)return 0;let n=this.stringMap.get(e);return n===void 0&&(n=this.strings.length,this.strings.push(e),this.stringMap.set(e,n)),n}get(e){return e===0?void 0:this.strings[e]}},Nd={type:"ansi",code:"\x1B[7m",endCode:"\x1B[27m"},ly={type:"ansi",code:"\x1B[1m",endCode:"\x1B[22m"},cy={type:"ansi",code:"\x1B[4m",endCode:"\x1B[24m"},uy={type:"ansi",code:"\x1B[33m",endCode:"\x1B[39m"},ni=class{static{a(this,"StylePool");}ids=new Map;styles=[];transitionCache=new Map;none;constructor(){this.none=this.intern([]);}intern(e){let n=e.length===0?"":e.map(o=>o.code).join("\0"),r=this.ids.get(n);if(r===void 0){let o=this.styles.length;this.styles.push(e.length===0?[]:e),r=o<<1|(e.length>0&&fy(e)?1:0),this.ids.set(n,r);}return r}get(e){return this.styles[e>>>1]??[]}transition(e,n){if(e===n)return "";let r=e*1048576+n,o=this.transitionCache.get(r);return o===void 0&&(o=ansiCodesToString(diffAnsiCodes(this.get(e),this.get(n))),this.transitionCache.set(r,o)),o}inverseCache=new Map;withInverse(e){let n=this.inverseCache.get(e);if(n===void 0){let r=this.get(e);n=r.some(i=>i.endCode==="\x1B[27m")?e:this.intern([...r,Nd]),this.inverseCache.set(e,n);}return n}currentMatchCache=new Map;withCurrentMatch(e){let n=this.currentMatchCache.get(e);if(n===void 0){let r=this.get(e),o=r.filter(i=>i.endCode!=="\x1B[39m"&&i.endCode!=="\x1B[49m");o.push(uy),r.some(i=>i.endCode==="\x1B[27m")||o.push(Nd),r.some(i=>i.endCode==="\x1B[22m")||o.push(ly),r.some(i=>i.endCode==="\x1B[24m")||o.push(cy),n=this.intern(o),this.currentMatchCache.set(e,n);}return n}selectionBgCode=null;selectionBgCache=new Map;setSelectionBg(e){this.selectionBgCode?.code!==e?.code&&(this.selectionBgCode=e,this.selectionBgCache.clear());}withSelectionBg(e){let n=this.selectionBgCode;if(n===null)return this.withInverse(e);let r=this.selectionBgCache.get(e);if(r===void 0){let o=this.get(e).filter(i=>i.endCode!=="\x1B[49m"&&i.endCode!=="\x1B[27m");o.push(n),r=this.intern(o),this.selectionBgCache.set(e,r);}return r}},dy=new Set(["\x1B[49m","\x1B[27m","\x1B[24m","\x1B[29m","\x1B[55m"]);function fy(t){for(let e of t)if(dy.has(e.endCode))return true;return false}a(fy,"hasVisibleSpaceEffect");var ss=0,Od=1;function my(){let t=new Int32Array(128);return t.fill(-1),t[32]=ss,t}a(my,"initCharAscii");var so=17,ao=2,ri=32767,bn=3;function mr(t,e,n){return t<<so|e<<ao|n}a(mr,"packWord1");var as=0n;function py(t,e){let n=e<<1;return t.cells[n]===0&&t.cells[n|1]===0}a(py,"isEmptyCellByIndex");function ls(t,e,n){return e<0||n<0||e>=t.width||n>=t.height?true:py(t,n*t.width+e)}a(ls,"isEmptyCellAt");function gy(t,e){return t.hyperlinkPool.intern(e)}a(gy,"internHyperlink");function zn(t,e,n,r,o){Je(t,"createScreen width"),Je(e,"createScreen height"),(!Number.isInteger(t)||t<0)&&(t=Math.max(0,Math.floor(t)||0)),(!Number.isInteger(e)||e<0)&&(e=Math.max(0,Math.floor(e)||0));let i=t*e,s=new ArrayBuffer(i<<3),l=new Int32Array(s),c=new BigInt64Array(s);return {width:t,height:e,cells:l,cells64:c,charPool:r,hyperlinkPool:o,emptyStyleId:n.none,damage:void 0,noSelect:new Uint8Array(i),softWrap:new Int32Array(e)}}a(zn,"createScreen");function tl(t,e,n){Je(e,"resetScreen width"),Je(n,"resetScreen height"),(!Number.isInteger(e)||e<0)&&(e=Math.max(0,Math.floor(e)||0)),(!Number.isInteger(n)||n<0)&&(n=Math.max(0,Math.floor(n)||0));let r=e*n;if(t.cells64.length<r){let o=new ArrayBuffer(r<<3);t.cells=new Int32Array(o),t.cells64=new BigInt64Array(o),t.noSelect=new Uint8Array(r);}t.softWrap.length<n&&(t.softWrap=new Int32Array(n)),t.cells64.fill(as,0,r),t.noSelect.fill(0,0,r),t.softWrap.fill(0,0,n),t.width=e,t.height=n,t.damage=void 0;}a(tl,"resetScreen");function Pd(t,e,n){let r=t.charPool,o=t.hyperlinkPool;if(r===e&&o===n)return;let i=t.width*t.height,s=t.cells;for(let l=0;l<i<<1;l+=2){let c=s[l];s[l]=e.intern(r.get(c));let d=s[l+1],f=d>>>ao&ri;if(f!==0){let m=o.get(f),h=n.intern(m),g=d>>>so,v=d&bn;s[l+1]=mr(g,h,v);}}t.charPool=e,t.hyperlinkPool=n;}a(Pd,"migrateScreenPools");function Tt(t,e,n){if(!(e<0||n<0||e>=t.width||n>=t.height))return Jn(t,n*t.width+e)}a(Tt,"cellAt");function Jn(t,e){let n=e<<1,r=t.cells[n+1],o=r>>>ao&ri;return {char:t.charPool.get(t.cells[n]),styleId:r>>>so,width:r&bn,hyperlink:o===0?void 0:t.hyperlinkPool.get(o)}}a(Jn,"cellAtIndex");function Id(t,e,n,r,o){let i=r<<1,s=t[i];if(s===1)return;let l=t[i+1];if(s===0&&(l&262140)===0){let d=l>>>so;if(d===0||d===o)return}let c=l>>>ao&ri;return {char:e.get(s),styleId:l>>>so,width:l&bn,hyperlink:c===0?void 0:n.get(c)}}a(Id,"visibleCellAtIndex");function pr(t,e,n){let r=e|1,o=t.cells[r];n.char=t.charPool.get(t.cells[e]),n.styleId=o>>>so,n.width=o&bn;let i=o>>>ao&ri;n.hyperlink=i===0?void 0:t.hyperlinkPool.get(i);}a(pr,"cellAtCI");function Dd(t,e,n){if(e<0||n<0||e>=t.width||n>=t.height)return;let r=n*t.width+e<<1;return t.charPool.get(t.cells[r])}a(Dd,"charInCellAt");function cs(t,e,n,r){if(e<0||n<0||e>=t.width||n>=t.height)return;let o=n*t.width+e<<1,i=t.cells,s=i[o+1]&bn;if(s===1&&r.width!==1&&e+1<t.width){let m=o+2;(i[m+1]&bn)===2&&(i[m]=ss,i[m+1]=mr(t.emptyStyleId,0,0));}let l=-1;if(s===2&&r.width!==2&&e>0){let f=o-2;(i[f+1]&bn)===1&&(i[f]=ss,i[f+1]=mr(t.emptyStyleId,0,0),l=e-1);}i[o]=hy(t,r.char),i[o+1]=mr(r.styleId,gy(t,r.hyperlink),r.width);let c=l>=0?Math.min(e,l):e,d=t.damage;if(d){let f=d.x+d.width,m=d.y+d.height;c<d.x?(d.width+=d.x-c,d.x=c):e>=f&&(d.width=e-d.x+1),n<d.y?(d.height+=d.y-n,d.y=n):n>=m&&(d.height=n-d.y+1);}else t.damage={x:c,y:n,width:e-c+1,height:1};if(r.width===1){let f=e+1;if(f<t.width){let m=o+2;if((i[m+1]&bn)===1){let g=m+2;f+1<t.width&&(i[g+1]&bn)===2&&(i[g]=ss,i[g+1]=mr(t.emptyStyleId,0,0));}i[m]=Od,i[m+1]=mr(t.emptyStyleId,0,2);let h=t.damage;h&&f>=h.x+h.width&&(h.width=f-h.x+1);}}}a(cs,"setCellAt");function lo(t,e,n,r){if(e<0||n<0||e>=t.width||n>=t.height)return;let o=n*t.width+e<<1,i=t.cells,s=i[o+1],l=s&bn;if(l===2||l===3)return;let c=s>>>ao&ri;i[o+1]=mr(r,c,l);let d=t.damage;d?t.damage=fr(d,{x:e,y:n,width:1,height:1}):t.damage={x:e,y:n,width:1,height:1};}a(lo,"setCellStyleId");function hy(t,e){return t.charPool.intern(e)}a(hy,"internCharString");function nl(t,e,n,r,o,i){if(n=Math.max(0,n),r=Math.max(0,r),n>=o||r>=i)return;let s=o-n,l=e.width<<1,c=t.width<<1,d=s<<1,f=e.cells,m=t.cells,h=e.noSelect,g=t.noSelect;if(t.softWrap.set(e.softWrap.subarray(r,i),r),n===0&&o===e.width&&e.width===t.width){let b=r*l,w=(i-r)*l;m.set(f.subarray(b,b+w),b);let S=r*e.width,y=(i-r)*e.width;g.set(h.subarray(S,S+y),S);}else {let b=r*l+(n<<1),w=r*c+(n<<1),S=r*e.width+n,y=r*t.width+n;for(let T=r;T<i;T++)m.set(f.subarray(b,b+d),w),g.set(h.subarray(S,S+s),y),b+=l,w+=c,S+=e.width,y+=t.width;}let v={x:n,y:r,width:s,height:i-r};if(t.damage?t.damage=fr(t.damage,v):t.damage=v,o<t.width){let b=r*e.width+(o-1)<<1,w=r*t.width+o<<1,S=false;for(let y=r;y<i;y++)(f[b+1]&bn)===1&&(m[w]=Od,m[w+1]=mr(t.emptyStyleId,0,2),S=true),b+=l,w+=c;S&&t.damage&&t.damage.x+t.damage.width===o&&(t.damage={...t.damage,width:t.damage.width+1});}}a(nl,"blitRegion");function us(t,e,n,r){if(r===0||e<0||n>=t.height||e>n)return;let o=t.width,i=t.cells64,s=t.noSelect,l=t.softWrap;if(Math.abs(r)>n-e){i.fill(as,e*o,(n+1)*o),s.fill(0,e*o,(n+1)*o),l.fill(0,e,n+1);return}r>0?(i.copyWithin(e*o,(e+r)*o,(n+1)*o),s.copyWithin(e*o,(e+r)*o,(n+1)*o),l.copyWithin(e,e+r,n+1),i.fill(as,(n-r+1)*o,(n+1)*o),s.fill(0,(n-r+1)*o,(n+1)*o),l.fill(0,n-r+1,n+1)):(i.copyWithin((e-r)*o,e*o,(n+r+1)*o),s.copyWithin((e-r)*o,e*o,(n+r+1)*o),l.copyWithin(e-r,e,n+r+1),i.fill(as,e*o,(e-r)*o),s.fill(0,e*o,(e-r)*o),l.fill(0,e,e-r));}a(us,"shiftRows");var Ld=new RegExp(`^${Ut}\\]8${cr}${cr}([^${Yn}]*)${Yn}$`),oi=`${Ut}]8${cr}`;function Bd(t){for(let e of t){let n=e.code;if(n.length<5||!n.startsWith(oi))continue;let r=n.match(Ld);if(r)return r[1]||null}return null}a(Bd,"extractHyperlinkFromStyles");function Fd(t){return t.filter(e=>!e.code.startsWith(oi)||!Ld.test(e.code))}a(Fd,"filterOutHyperlinkStyles");function rl(t,e,n){let r=t.width,o=e.width,i=t.height,s=e.height,l;r===0&&i===0?l={x:0,y:0,width:o,height:s}:e.damage?(l=e.damage,t.damage&&(l=fr(l,t.damage))):t.damage?l=t.damage:l={x:0,y:0,width:0,height:0},i>s&&(l=fr(l,{x:0,y:s,width:r,height:i-s})),r>o&&(l=fr(l,{x:o,y:0,width:r-o,height:i}));let c=Math.max(i,s),d=Math.max(r,o),f=Math.min(l.y+l.height,c),m=Math.min(l.x+l.width,d);return r===o?vy(t,e,l.x,m,l.y,f,n):wy(t,e,l.x,m,l.y,f,n)}a(rl,"diffEach");function yy(t,e,n,r){for(let o=0;o<r;o++,n+=2){let i=n|1;if(t[n]!==e[n]||t[i]!==e[i])return o}return r}a(yy,"findNextDiff");function by(t,e,n,r,o,i,s,l,c,d,f){let m=s;for(;m<l;){let h=yy(t,e,o,l-m);if(m+=h,o+=h<<1,m>=l)break;if(pr(n,o,c),pr(r,o,d),f(m,i,c,d))return true;m++,o+=2;}return false}a(by,"diffRowBoth");function xy(t,e,n,r,o,i,s){for(let l=r;l<o;l++,e+=2)if(pr(t,e,i),s(l,n,i,void 0))return true;return false}a(xy,"diffRowRemoved");function Sy(t,e,n,r,o,i,s,l){for(let c=o;c<i;c++,n+=2)if(!(t[n]===0&&t[n|1]===0)&&(pr(e,n,s),l(c,r,void 0,s)))return true;return false}a(Sy,"diffRowAdded");function vy(t,e,n,r,o,i,s){let l=t.cells,c=e.cells,d=t.width,f=t.height,m=e.height,h=d<<1,g={char:" ",styleId:0,width:0,hyperlink:void 0},v={char:" ",styleId:0,width:0,hyperlink:void 0},b=Math.min(r,d),w=o*d+n<<1;for(let S=o;S<i;S++){let y=S<f,T=S<m;if(y&&T){if(by(l,c,t,e,w,S,n,b,g,v,s))return true}else if(y){if(xy(t,w,S,n,b,g,s))return true}else if(T&&Sy(c,e,w,S,n,b,v,s))return true;w+=h;}return false}a(vy,"diffSameWidth");function wy(t,e,n,r,o,i,s){let l=t.width,c=e.width,d=t.cells,f=e.cells,m={char:" ",styleId:0,width:0,hyperlink:void 0},h={char:" ",styleId:0,width:0,hyperlink:void 0},g=l<<1,v=c<<1,b=o*l+n<<1,w=o*c+n<<1;for(let S=o;S<i;S++){let y=S<t.height,T=S<e.height,E=y?Math.min(r,l):n,A=T?Math.min(r,c):n,D=Math.min(E,A),N=b,M=w;for(let _=n;_<D;_++){if(d[N]===f[M]&&d[N+1]===f[M+1]){N+=2,M+=2;continue}if(pr(t,N,m),pr(e,M,h),N+=2,M+=2,s(_,S,m,h))return true}if(E>D){N=b+(D-n<<1);for(let _=D;_<E;_++)if(pr(t,N,m),N+=2,s(_,S,m,void 0))return true}if(A>D){M=w+(D-n<<1);for(let _=D;_<A;_++){if(f[M]===0&&f[M|1]===0){M+=2;continue}if(pr(e,M,h),M+=2,s(_,S,void 0,h))return true}}b+=g,w+=v;}return false}a(wy,"diffDifferentWidth");function $d(t,e,n,r,o){let i=Math.min(e+r,t.width),s=Math.min(n+o,t.height),l=t.noSelect,c=t.width;for(let d=Math.max(0,n);d<s;d++){let f=d*c;l.fill(1,f+Math.max(0,e),f+i);}}a($d,"markNoSelectRegion");function Wd(){return {anchor:null,focus:null,isDragging:false,anchorSpan:null,scrolledOffAbove:[],scrolledOffBelow:[],scrolledOffAboveSW:[],scrolledOffBelowSW:[],lastPressHadAlt:false}}a(Wd,"createSelectionState");function fs(t,e,n){t.anchor={col:e,row:n},t.focus=null,t.isDragging=true,t.anchorSpan=null,t.scrolledOffAbove=[],t.scrolledOffBelow=[],t.scrolledOffAboveSW=[],t.scrolledOffBelowSW=[],t.virtualAnchorRow=void 0,t.virtualFocusRow=void 0,t.lastPressHadAlt=false;}a(fs,"startSelection");function Hd(t,e,n){t.isDragging&&(!t.focus&&t.anchor&&t.anchor.col===e&&t.anchor.row===n||(t.focus={col:e,row:n}));}a(Hd,"updateSelection");function co(t){t.isDragging=false;}a(co,"finishSelection");function si(t){t.anchor=null,t.focus=null,t.isDragging=false,t.anchorSpan=null,t.scrolledOffAbove=[],t.scrolledOffBelow=[],t.scrolledOffAboveSW=[],t.scrolledOffBelowSW=[],t.virtualAnchorRow=void 0,t.virtualFocusRow=void 0,t.lastPressHadAlt=false;}a(si,"clearSelection");var Ty=/[\p{L}\p{N}_/.\-+~\\]/u;function ds(t){return t===" "||t===""?0:Ty.test(t)?1:2}a(ds,"charClass");function Ud(t,e,n){if(n<0||n>=t.height)return null;let r=t.width,o=t.noSelect,i=n*r,s=e;if(s>0){let m=Tt(t,s,n);m&&m.width===2&&(s-=1);}if(s<0||s>=r||o[i+s]===1)return null;let l=Tt(t,s,n);if(!l)return null;let c=ds(l.char),d=s;for(;d>0;){let m=d-1;if(o[i+m]===1)break;let h=Tt(t,m,n);if(!h)break;if(h.width===2){if(m===0||o[i+m-1]===1)break;let g=Tt(t,m-1,n);if(!g||ds(g.char)!==c)break;d=m-1;continue}if(ds(h.char)!==c)break;d=m;}let f=s;for(;f<r-1;){let m=f+1;if(o[i+m]===1)break;let h=Tt(t,m,n);if(!h)break;if(h.width===2){f=m;continue}if(ds(h.char)!==c)break;f=m;}return {lo:d,hi:f}}a(Ud,"wordBoundsAt");function sl(t,e){return t.row!==e.row?t.row<e.row?-1:1:t.col!==e.col?t.col<e.col?-1:1:0}a(sl,"comparePoints");function Gd(t,e,n,r){let o=Ud(e,n,r);if(!o)return;let i={col:o.lo,row:r},s={col:o.hi,row:r};t.anchor=i,t.focus=s,t.isDragging=true,t.anchorSpan={lo:i,hi:s,kind:"word"};}a(Gd,"selectWordAt");var Ey=new Set([..."<>\"'` "]);function ol(t){if(t.length!==1)return false;let e=t.charCodeAt(0);return e>=33&&e<=126&&!Ey.has(t)}a(ol,"isUrlChar");function Kd(t,e,n){if(n<0||n>=t.height)return;let r=t.width,o=t.noSelect,i=n*r,s=e;if(s>0){let S=Tt(t,s,n);S&&S.width===2&&(s-=1);}if(s<0||s>=r||o[i+s]===1)return;let l=Tt(t,s,n);if(!l||!ol(l.char))return;let c=s;for(;c>0;){let S=c-1;if(o[i+S]===1)break;let y=Tt(t,S,n);if(!y||y.width!==0||!ol(y.char))break;c=S;}let d=s;for(;d<r-1;){let S=d+1;if(o[i+S]===1)break;let y=Tt(t,S,n);if(!y||y.width!==0||!ol(y.char))break;d=S;}let f="";for(let S=c;S<=d;S++)f+=Tt(t,S,n).char;let m=s-c,h=/(?:https?|file):\/\//g,g=-1,v=f.length;for(let S;S=h.exec(f);){if(S.index>m){v=S.index;break}g=S.index;}if(g<0)return;let b=f.slice(g,v),w={")":"(","]":"[","}":"{"};for(;b.length>0;){let S=b.at(-1);if(".,;:!?".includes(S)){b=b.slice(0,-1);continue}let y=w[S];if(!y)break;let T=0,E=0;for(let A=0;A<b.length;A++){let D=b.charAt(A);D===y?T++:D===S&&E++;}if(E>T)b=b.slice(0,-1);else break}if(!(m>=g+b.length))return b}a(Kd,"findPlainTextUrlAt");function jd(t,e,n){if(n<0||n>=e.height)return;let r={col:0,row:n},o={col:e.width-1,row:n};t.anchor=r,t.focus=o,t.isDragging=true,t.anchorSpan={lo:r,hi:o,kind:"line"};}a(jd,"selectLineAt");function Yd(t,e,n,r){if(!t.isDragging||!t.anchorSpan)return;let o=t.anchorSpan,i,s;if(o.kind==="word"){let l=Ud(e,n,r);i={col:l?l.lo:n,row:r},s={col:l?l.hi:n,row:r};}else {let l=Pr(r,0,e.height-1);i={col:0,row:l},s={col:e.width-1,row:l};}sl(s,o.lo)<0?(t.anchor=o.hi,t.focus=i):sl(i,o.hi)>0?(t.anchor=o.lo,t.focus=s):(t.anchor=o.lo,t.focus=o.hi);}a(Yd,"extendSelection");function qd(t,e,n){t.focus&&(t.anchorSpan=null,t.focus={col:e,row:n},t.virtualFocusRow=void 0);}a(qd,"moveFocus");function Vd(t,e,n,r,o){if(!t.anchor||!t.focus)return;let i=(t.virtualAnchorRow??t.anchor.row)+e,s=(t.virtualFocusRow??t.focus.row)+e;if(i<n&&s<n||i>r&&s>r){si(t);return}let l=Math.min(t.virtualAnchorRow??t.anchor.row,t.virtualFocusRow??t.focus.row),c=Math.max(t.virtualAnchorRow??t.anchor.row,t.virtualFocusRow??t.focus.row),d=Math.max(0,n-l),f=Math.max(0,c-r),m=Math.max(0,n-Math.min(i,s)),h=Math.max(0,Math.max(i,s)-r);if(m<d){let v=d-m;t.scrolledOffAbove.length-=v,t.scrolledOffAboveSW.length=t.scrolledOffAbove.length;}if(h<f){let v=f-h;t.scrolledOffBelow.splice(0,v),t.scrolledOffBelowSW.splice(0,v);}t.scrolledOffAbove.length>m&&(t.scrolledOffAbove=m>0?t.scrolledOffAbove.slice(-m):[],t.scrolledOffAboveSW=m>0?t.scrolledOffAboveSW.slice(-m):[]),t.scrolledOffBelow.length>h&&(t.scrolledOffBelow=t.scrolledOffBelow.slice(0,h),t.scrolledOffBelowSW=t.scrolledOffBelowSW.slice(0,h));let g=a((v,b)=>b<n?{col:0,row:n}:b>r?{col:o-1,row:r}:{col:v.col,row:b},"shift");if(t.anchor=g(t.anchor,i),t.focus=g(t.focus,s),t.virtualAnchorRow=i<n||i>r?i:void 0,t.virtualFocusRow=s<n||s>r?s:void 0,t.anchorSpan){let v=a(b=>{let w=b.row+e;return w<n?{col:0,row:n}:w>r?{col:o-1,row:r}:{col:b.col,row:w}},"sp");t.anchorSpan={lo:v(t.anchorSpan.lo),hi:v(t.anchorSpan.hi),kind:t.anchorSpan.kind};}}a(Vd,"shiftSelection");function zd(t,e,n,r){if(!t.anchor)return;let o=(t.virtualAnchorRow??t.anchor.row)+e;if(t.anchor={col:t.anchor.col,row:Pr(o,n,r)},t.virtualAnchorRow=o<n||o>r?o:void 0,t.anchorSpan){let i=a(s=>({col:s.col,row:Pr(s.row+e,n,r)}),"shift");t.anchorSpan={lo:i(t.anchorSpan.lo),hi:i(t.anchorSpan.hi),kind:t.anchorSpan.kind};}}a(zd,"shiftAnchor");function Jd(t,e,n,r){if(!t.anchor)return false;let o=(t.virtualAnchorRow??t.anchor.row)+e,i=t.focus?(t.virtualFocusRow??t.focus.row)+e:void 0;if(o<n&&i!==void 0&&i<n)return si(t),true;if(t.anchor={col:t.anchor.col,row:Pr(o,n,r)},t.focus&&i!==void 0&&(t.focus={col:t.focus.col,row:Pr(i,n,r)}),t.virtualAnchorRow=o<n||o>r?o:void 0,t.virtualFocusRow=i!==void 0&&(i<n||i>r)?i:void 0,t.anchorSpan){let s=a(l=>({col:l.col,row:Pr(l.row+e,n,r)}),"shift");t.anchorSpan={lo:s(t.anchorSpan.lo),hi:s(t.anchorSpan.hi),kind:t.anchorSpan.kind};}return false}a(Jd,"shiftSelectionForFollow");function Qt(t){return t.anchor!==null&&t.focus!==null}a(Qt,"hasSelection");function al(t){return !t.anchor||!t.focus?null:sl(t.anchor,t.focus)<=0?{start:t.anchor,end:t.focus}:{start:t.focus,end:t.anchor}}a(al,"selectionBounds");function Xd(t,e,n,r){let o=t.noSelect,i=e*t.width,s=e+1<t.height?t.softWrap[e+1]:0,l=s>0?Math.min(r,s-1):r,c="";for(let d=n;d<=l;d++){if(o[i+d]===1)continue;let f=Tt(t,d,e);f&&(f.width===2||f.width===3||(c+=f.char));}return s>0?c:c.replace(/\s+$/,"")}a(Xd,"extractRowText");function il(t,e,n){n&&t.length>0?t[t.length-1]+=e:t.push(e);}a(il,"joinRows");function Qd(t,e){let n=al(t);if(!n)return "";let{start:r,end:o}=n,i=e.softWrap,s=[];for(let l=0;l<t.scrolledOffAbove.length;l++)il(s,t.scrolledOffAbove[l],t.scrolledOffAboveSW[l]);for(let l=r.row;l<=o.row;l++){let c=l===r.row?r.col:0,d=l===o.row?o.col:e.width-1;il(s,Xd(e,l,c,d),i[l]>0);}for(let l=0;l<t.scrolledOffBelow.length;l++)il(s,t.scrolledOffBelow[l],t.scrolledOffBelowSW[l]);return s.join(`
|
|
37
|
-
`)}a(Qd,"getSelectedText");function ms(t,e,n,r,o){let i=al(t);if(!i||n>r)return;let{start:s,end:l}=i,c=Math.max(n,s.row),d=Math.min(r,l.row);if(c>d)return;let f=e.width,m=e.softWrap,h=[],g=[];for(let v=c;v<=d;v++){let b=v===s.row?s.col:0,w=v===l.row?l.col:f-1;h.push(Xd(e,v,b,w)),g.push(m[v]>0);}o==="above"?(t.scrolledOffAbove.push(...h),t.scrolledOffAboveSW.push(...g),t.anchor&&t.anchor.row===s.row&&c===s.row&&(t.anchor={col:0,row:t.anchor.row},t.anchorSpan&&(t.anchorSpan={kind:t.anchorSpan.kind,lo:{col:0,row:t.anchorSpan.lo.row},hi:{col:f-1,row:t.anchorSpan.hi.row}}))):(t.scrolledOffBelow.unshift(...h),t.scrolledOffBelowSW.unshift(...g),t.anchor&&t.anchor.row===l.row&&d===l.row&&(t.anchor={col:f-1,row:t.anchor.row},t.anchorSpan&&(t.anchorSpan={kind:t.anchorSpan.kind,lo:{col:0,row:t.anchorSpan.lo.row},hi:{col:f-1,row:t.anchorSpan.hi.row}})));}a(ms,"captureScrolledRows");function Zd(t,e,n){let r=al(e);if(!r)return;let{start:o,end:i}=r,s=t.width,l=t.noSelect;for(let c=o.row;c<=i.row&&c<t.height;c++){let d=c===o.row?o.col:0,f=c===i.row?Math.min(i.col,s-1):s-1,m=c*s;for(let h=d;h<=f;h++){let g=m+h;if(l[g]===1)continue;let v=Jn(t,g);lo(t,h,c,n.withSelectionBg(v.styleId));}}}a(Zd,"applySelectionOverlay");h();h();var uo={platform:process.platform,terminal:process.env.TERM_PROGRAM??process.env.TERM??"unknown",shell:process.env.SHELL??(process.platform==="win32"?"cmd.exe":"/bin/sh"),isCI:!!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI)};homedir();h();var ky=xe(0,"f");function Ry(){return process.platform==="win32"&&!!process.env.WT_SESSION}a(Ry,"isWindowsTerminal");function _y(){return !!(process.env.TERM_PROGRAM==="mintty"||process.platform==="win32"&&process.env.MSYSTEM)}a(_y,"isMintty");function My(){return !!(Ry()||process.platform==="win32"&&process.env.TERM_PROGRAM==="vscode"&&process.env.TERM_PROGRAM_VERSION||_y())}a(My,"isModernWindowsTerminal");function ll(){return process.platform==="win32"?My()?ur+Aa+In:ur+ky:ur+Aa+In}a(ll,"getClearTerminalSequence");ll();h();var Oe={CURSOR_VISIBLE:25,ALT_SCREEN:47,ALT_SCREEN_CLEAR:1049,MOUSE_NORMAL:1e3,MOUSE_BUTTON:1002,MOUSE_ANY:1003,MOUSE_SGR:1006,FOCUS_EVENTS:1004,BRACKETED_PASTE:2004,SYNCHRONIZED_UPDATE:2026};function Xn(t){return xe(`?${t}h`)}a(Xn,"decset");function Qn(t){return xe(`?${t}l`)}a(Qn,"decreset");var ef=Xn(Oe.SYNCHRONIZED_UPDATE),tf=Qn(Oe.SYNCHRONIZED_UPDATE),nf=Xn(Oe.BRACKETED_PASTE),ps=Qn(Oe.BRACKETED_PASTE),cl=Xn(Oe.FOCUS_EVENTS),ai=Qn(Oe.FOCUS_EVENTS),Ir=Xn(Oe.CURSOR_VISIBLE),li=Qn(Oe.CURSOR_VISIBLE),gs=Xn(Oe.ALT_SCREEN_CLEAR),ul=Qn(Oe.ALT_SCREEN_CLEAR),fo=Xn(Oe.MOUSE_NORMAL)+Xn(Oe.MOUSE_BUTTON)+Xn(Oe.MOUSE_ANY)+Xn(Oe.MOUSE_SGR),mo=Qn(Oe.MOUSE_SGR)+Qn(Oe.MOUSE_ANY)+Qn(Oe.MOUSE_BUTTON)+Qn(Oe.MOUSE_NORMAL);h();var dl=Ut+String.fromCharCode(hn.OSC),of=Ut+"\\";function po(...t){let e=uo.terminal==="kitty"?of:Yn;return `${dl}${t.join(cr)}${e}`}a(po,"osc");function fl(t){return process.env.TMUX?`\x1BPtmux;${t.replaceAll("\x1B","\x1B\x1B")}\x1B\\`:process.env.STY?`\x1BP${t}\x1B\\`:t}a(fl,"wrapForMultiplexer");function Ny(t){return `${Ut}Ptmux;${t.replaceAll(Ut,Ut+Ut)}${of}`}a(Ny,"tmuxPassthrough");async function Oy(t){if(!process.env.TMUX)return false;let e=process.env.LC_TERMINAL==="iTerm2"?["load-buffer","-"]:["load-buffer","-w","-"],{code:n}=await gn("tmux",e,{input:t,timeout:2e3});return n===0}a(Oy,"tmuxLoadBuffer");async function sf(t){let e=Buffer$1.from(t,"utf8").toString("base64"),n=po(Zt.CLIPBOARD,"c",e);return process.env.SSH_CONNECTION||Py(t),await Oy(t)?Ny(`${Ut}]52;c;${e}${Yn}`):n}a(sf,"setClipboard");var Dr;function Py(t){let e={input:t,timeout:2e3};switch(process.platform){case "darwin":gn("pbcopy",[],e);return;case "linux":{if(Dr===null)return;if(Dr==="wl-copy"){gn("wl-copy",[],e);return}if(Dr==="xclip"){gn("xclip",["-selection","clipboard"],e);return}if(Dr==="xsel"){gn("xsel",["--clipboard","--input"],e);return}gn("wl-copy",[],e).then(n=>{if(n.code===0){Dr="wl-copy";return}gn("xclip",["-selection","clipboard"],e).then(r=>{if(r.code===0){Dr="xclip";return}gn("xsel",["--clipboard","--input"],e).then(o=>{Dr=o.code===0?"xsel":null;});});});return}case "win32":gn("clip",[],e);return}}a(Py,"copyNative");var Zt={SET_TITLE_AND_ICON:0,SET_ICON:1,SET_TITLE:2,HYPERLINK:8,ITERM2:9,CLIPBOARD:52,TAB_STATUS:21337};function af(t){let e=t.indexOf(";"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"",o=parseInt(n,10);if(o===Zt.SET_TITLE_AND_ICON)return {type:"title",action:{type:"both",title:r}};if(o===Zt.SET_ICON)return {type:"title",action:{type:"iconName",name:r}};if(o===Zt.SET_TITLE)return {type:"title",action:{type:"windowTitle",title:r}};if(o===Zt.HYPERLINK){let i=r.split(";"),s=i[0]??"",l=i.slice(1).join(";");if(l==="")return {type:"link",action:{type:"end"}};let c={};if(s)for(let d of s.split(":")){let f=d.indexOf("=");f>=0&&(c[d.slice(0,f)]=d.slice(f+1));}return {type:"link",action:{type:"start",url:l,params:Object.keys(c).length>0?c:void 0}}}return o===Zt.TAB_STATUS?{type:"tabStatus",action:Iy(r)}:{type:"unknown",sequence:`\x1B]${t}`}}a(af,"parseOSC");function rf(t){let e=t.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(e)return {type:"rgb",r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)};let n=t.match(/^rgb:([0-9a-f]{1,4})\/([0-9a-f]{1,4})\/([0-9a-f]{1,4})$/i);if(n){let r=a(o=>Math.round(parseInt(o,16)/(16**o.length-1)*255),"scale");return {type:"rgb",r:r(n[1]),g:r(n[2]),b:r(n[3])}}return null}a(rf,"parseOscColor");function Iy(t){let e={};for(let[n,r]of Dy(t))switch(n){case "indicator":e.indicator=r===""?null:rf(r);break;case "status":e.status=r===""?null:r;break;case "status-color":e.statusColor=r===""?null:rf(r);break}return e}a(Iy,"parseTabStatus");function*Dy(t){let e="",n="",r=false,o=false;for(let i of t)o?(r?n+=i:e+=i,o=false):i==="\\"?o=true:i===";"?(yield [e,n],e="",n="",r=false):i==="="&&!r?r=true:r?n+=i:e+=i;(e||r)&&(yield [e,n]);}a(Dy,"splitTabStatusPairs");function hs(t,e){if(!t)return ys;let n={id:Ly(t),...e},r=Object.entries(n).map(([o,i])=>`${o}=${i}`).join(":");return po(Zt.HYPERLINK,r,t)}a(hs,"link");function Ly(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n)|0;return (e>>>0).toString(36)}a(Ly,"osc8Id");var ys=po(Zt.HYPERLINK,"",""),lf={PROGRESS:4},cf={CLEAR:0},uf=`${dl}${Zt.ITERM2};${lf.PROGRESS};${cf.CLEAR};${Yn}`,df=po(Zt.TAB_STATUS,"indicator=;status=;status-color=");function ff(){return process.env.USER_TYPE==="ant"}a(ff,"supportsTabStatus");function By(){if(process.env.TMUX)return false;let t=process.env.TERM_PROGRAM,e=process.env.TERM;if(t==="iTerm.app"||t==="WezTerm"||t==="WarpTerminal"||t==="ghostty"||t==="contour"||t==="vscode"||t==="alacritty"||e?.includes("kitty")||process.env.KITTY_WINDOW_ID||e==="xterm-ghostty"||e?.startsWith("foot")||e?.includes("alacritty")||process.env.ZED_TERM||process.env.WT_SESSION)return true;let n=process.env.VTE_VERSION;return !!(n&&parseInt(n,10)>=6800)}a(By,"isSynchronizedOutputSupported");var ml;function mf(t){ml===void 0&&(ml=t);}a(mf,"setXtversionName");function bs(){return process.env.TERM_PROGRAM==="vscode"?true:ml?.startsWith("xterm.js")??false}a(bs,"isXtermJs");var Fy=["iTerm.app","kitty","WezTerm","ghostty","tmux","windows-terminal"];function ci(){return Fy.includes(uo.terminal??"")}a(ci,"supportsExtendedKeys");var pl=By();function gl(t,e,n=false){if(e.length===0)return;let r=!n,o=r?ef:"";for(let i of e)switch(i.type){case "stdout":o+=i.content;break;case "clear":i.count>0&&(o+=Lu(i.count));break;case "clearTerminal":o+=ll();break;case "cursorHide":o+=li;break;case "cursorShow":o+=Ir;break;case "cursorMove":o+=Zr(i.x,i.y);break;case "cursorTo":o+=Du(i.col);break;case "carriageReturn":o+="\r";break;case "hyperlink":o+=hs(i.uri);break;case "styleStr":o+=i.str;break}r&&(o+=tf),t.stdout.write(o);}a(gl,"writeDiffToTerminal");h();var yl="unknown",pf=new Set,hl=new Set;function bl(t){yl=t?"focused":"blurred";for(let e of hl)e();if(!t){for(let e of pf)e();pf.clear();}}a(bl,"setTerminalFocused");function xs(){return yl!=="blurred"}a(xs,"getTerminalFocused");function gf(){return yl}a(gf,"getTerminalFocusState");function xl(t){return hl.add(t),()=>{hl.delete(t);}}a(xl,"subscribeTerminalFocus");h();function hf(){return {request:xe(">0q"),match:a(t=>t.type==="xtversion","match")}}a(hf,"xtversion");var $y=xe("c"),Ss=class{constructor(e){this.stdout=e;}static{a(this,"TerminalQuerier");}queue=[];send(e){return new Promise(n=>{this.queue.push({kind:"query",match:e.match,resolve:a(r=>n(r),"resolve")}),this.stdout.write(e.request);})}flush(){return new Promise(e=>{this.queue.push({kind:"sentinel",resolve:e}),this.stdout.write($y);})}onResponse(e){let n=this.queue.findIndex(r=>r.kind==="query"&&r.match(e));if(n!==-1){let[r]=this.queue.splice(n,1);r?.kind==="query"&&r.resolve(e);return}if(e.type==="da1"){let r=this.queue.findIndex(o=>o.kind==="sentinel");if(r===-1)return;for(let o of this.queue.splice(0,r+1))o.kind==="query"?o.resolve(void 0):o.resolve();}}};h();var yf=createContext({exit(){}});yf.displayName="InternalAppContext";var vs=yf;h();h();h();h();var Sl=createContext({isTerminalFocused:true,terminalFocusState:"unknown"});Sl.displayName="TerminalFocusContext";function xf(t){let e=c$1(6),{children:n}=t,r=useSyncExternalStore(xl,xs),o=useSyncExternalStore(xl,gf),i;e[0]!==r||e[1]!==o?(i={isTerminalFocused:r,terminalFocusState:o},e[0]=r,e[1]=o,e[2]=i):i=e[2];let s=i,l;return e[3]!==n||e[4]!==s?(l=jsx(Sl.Provider,{value:s,children:n}),e[3]=n,e[4]=s,e[5]=l):l=e[5],l}a(xf,"TerminalFocusProvider");var Sf=Sl;function vf(){let{isTerminalFocused:t}=useContext(Sf);return t}a(vf,"useTerminalFocus");function zy(t){let e=new Map,n=null,r=t,o=0,i=0;function s(){i=Date.now()-o;for(let c of e.keys())c();}a(s,"tick");function l(){[...e.values()].some(Boolean)?(n&&(clearInterval(n),n=null),o===0&&(o=Date.now()),n=setInterval(s,r)):n&&(clearInterval(n),n=null);}return a(l,"updateInterval"),{subscribe(c,d){return e.set(c,d),l(),()=>{e.delete(c),l();}},now(){return o===0&&(o=Date.now()),n&&i?i:Date.now()-o},setTickInterval(c){c!==r&&(r=c,l());}}}a(zy,"createClock");var Jy=createContext(null),Xy=32;function wf(t){let e=c$1(7),{children:n}=t,[r]=useState(Qy),o=vf(),i,s;e[0]!==r||e[1]!==o?(i=a(()=>{r.setTickInterval(o?16:Xy);},"t1"),s=[r,o],e[0]=r,e[1]=o,e[2]=i,e[3]=s):(i=e[2],s=e[3]),useEffect(i,s);let l;return e[4]!==n||e[5]!==r?(l=jsx(Jy.Provider,{value:r,children:n}),e[4]=n,e[5]=r,e[6]=l):l=e[6],l}a(wf,"ClockProvider");function Qy(){return zy(16)}a(Qy,"_temp");h();var tb=createContext(()=>{}),Tf=tb;h();h();h();function rb(t){let e=c$1(42),n,r,o,i,s,l,c,d,f,m,h,g,v,b,w,S,y,T;if(e[0]!==t){let{children:M,flexWrap:_,flexDirection:L,flexGrow:O,flexShrink:I,ref:K,tabIndex:z,autoFocus:ke,onClick:Re,onFocus:mt,onFocusCapture:Ce,onBlur:Z,onBlurCapture:ne,onMouseEnter:H,onMouseLeave:me,onKeyDown:pe,onKeyDownCapture:_e,...Ue}=t;r=M,S=K,T=z,n=ke,f=Re,m=mt,h=Ce,c=Z,d=ne,b=H,w=me,g=pe,v=_e,y=Ue,l=_===void 0?"nowrap":_,o=L===void 0?"row":L,i=O===void 0?0:O,s=I===void 0?1:I,Je(y.margin,"margin"),Je(y.marginX,"marginX"),Je(y.marginY,"marginY"),Je(y.marginTop,"marginTop"),Je(y.marginBottom,"marginBottom"),Je(y.marginLeft,"marginLeft"),Je(y.marginRight,"marginRight"),Je(y.padding,"padding"),Je(y.paddingX,"paddingX"),Je(y.paddingY,"paddingY"),Je(y.paddingTop,"paddingTop"),Je(y.paddingBottom,"paddingBottom"),Je(y.paddingLeft,"paddingLeft"),Je(y.paddingRight,"paddingRight"),Je(y.gap,"gap"),Je(y.columnGap,"columnGap"),Je(y.rowGap,"rowGap"),e[0]=t,e[1]=n,e[2]=r,e[3]=o,e[4]=i,e[5]=s,e[6]=l,e[7]=c,e[8]=d,e[9]=f,e[10]=m,e[11]=h,e[12]=g,e[13]=v,e[14]=b,e[15]=w,e[16]=S,e[17]=y,e[18]=T;}else n=e[1],r=e[2],o=e[3],i=e[4],s=e[5],l=e[6],c=e[7],d=e[8],f=e[9],m=e[10],h=e[11],g=e[12],v=e[13],b=e[14],w=e[15],S=e[16],y=e[17],T=e[18];let E=y.overflowX??y.overflow??"visible",A=y.overflowY??y.overflow??"visible",D;e[19]!==o||e[20]!==i||e[21]!==s||e[22]!==l||e[23]!==y||e[24]!==E||e[25]!==A?(D={flexWrap:l,flexDirection:o,flexGrow:i,flexShrink:s,...y,overflowX:E,overflowY:A},e[19]=o,e[20]=i,e[21]=s,e[22]=l,e[23]=y,e[24]=E,e[25]=A,e[26]=D):D=e[26];let N;return e[27]!==n||e[28]!==r||e[29]!==c||e[30]!==d||e[31]!==f||e[32]!==m||e[33]!==h||e[34]!==g||e[35]!==v||e[36]!==b||e[37]!==w||e[38]!==S||e[39]!==D||e[40]!==T?(N=jsx("ink-box",{ref:S,tabIndex:T,autoFocus:n,onClick:f,onFocus:m,onFocusCapture:h,onBlur:c,onBlurCapture:d,onMouseEnter:b,onMouseLeave:w,onKeyDown:g,onKeyDownCapture:v,style:D,children:r}),e[27]=n,e[28]=r,e[29]=c,e[30]=d,e[31]=f,e[32]=m,e[33]=h,e[34]=g,e[35]=v,e[36]=b,e[37]=w,e[38]=S,e[39]=D,e[40]=T,e[41]=N):N=e[41],N}a(rb,"Box");var x=rb;h();var sb={wrap:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"wrap"},"wrap-trim":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"wrap-trim"},end:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"end"},middle:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"middle"},"truncate-end":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate-end"},truncate:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate"},"truncate-middle":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate-middle"},"truncate-start":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate-start"}};function u(t){let e=c$1(29),{color:n,backgroundColor:r,bold:o,dim:i,italic:s,underline:l,strikethrough:c,inverse:d,wrap:f,children:m}=t,h=s===void 0?false:s,g=l===void 0?false:l,v=c===void 0?false:c,b=d===void 0?false:d,w=f===void 0?"wrap":f;if(m==null)return null;let S;e[0]!==n?(S=n&&{color:n},e[0]=n,e[1]=S):S=e[1];let y;e[2]!==r?(y=r&&{backgroundColor:r},e[2]=r,e[3]=y):y=e[3];let T;e[4]!==i?(T=i&&{dim:i},e[4]=i,e[5]=T):T=e[5];let E;e[6]!==o?(E=o&&{bold:o},e[6]=o,e[7]=E):E=e[7];let A;e[8]!==h?(A=h&&{italic:h},e[8]=h,e[9]=A):A=e[9];let D;e[10]!==g?(D=g&&{underline:g},e[10]=g,e[11]=D):D=e[11];let N;e[12]!==v?(N=v&&{strikethrough:v},e[12]=v,e[13]=N):N=e[13];let M;e[14]!==b?(M=b&&{inverse:b},e[14]=b,e[15]=M):M=e[15];let _;e[16]!==A||e[17]!==D||e[18]!==N||e[19]!==M||e[20]!==S||e[21]!==y||e[22]!==T||e[23]!==E?(_={...S,...y,...T,...E,...A,...D,...N,...M},e[16]=A,e[17]=D,e[18]=N,e[19]=M,e[20]=S,e[21]=y,e[22]=T,e[23]=E,e[24]=_):_=e[24];let L=_,O=sb[w],I;return e[25]!==m||e[26]!==O||e[27]!==L?(I=jsx("ink-text",{style:O,textStyles:L,children:m}),e[25]=m,e[26]=O,e[27]=L,e[28]=I):I=e[28],I}a(u,"Text");var Cf=a(t=>t?.replace(`file://${process.cwd()}/`,""),"cleanupPath"),ub;function kf(){return ub??=new Ef({cwd:process.cwd(),internals:Ef.nodeInternals()})}a(kf,"getStackUtils");function vl({error:t}){let e=t.stack?t.stack.split(`
|
|
38
|
-
`).slice(1):void 0,n=e?
|
|
39
|
-
`).slice(1).map(s=>{let l=
|
|
36
|
+
`);}},getChildHostContext(t,e){let n=t.isInsideText,r=e==="ink-text"||e==="ink-virtual-text"||e==="ink-link";return n===r?t:{isInsideText:r}},shouldSetTextContent:a(()=>false,"shouldSetTextContent"),createInstance(t,e,n,r,o){if(r.isInsideText&&t==="ink-box")throw new Error("<Box> can't be nested inside <Text> component");let i=t==="ink-text"&&r.isInsideText?"ink-virtual-text":t,s=ni(i);yn&&ls++;for(let[l,c]of Object.entries(e))ay(s,l,c);return nl()&&(s.debugOwnerChain=ly(o)),s},createTextInstance(t,e,n){if(!n.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return xd(t)},resetTextContent(){},hideTextInstance(t){oi(t,"");},unhideTextInstance(t,e){oi(t,e);},getPublicInstance:a(t=>t,"getPublicInstance"),hideInstance(t){t.isHidden=true,t.yogaNode?.setDisplay(Kt.None),Mt(t);},unhideInstance(t){t.isHidden=false,t.yogaNode?.setDisplay(Kt.Flex),Mt(t);},appendInitialChild:rs,appendChild:rs,insertBefore:Ha,finalizeInitialChildren(t,e,n){return n.autoFocus===true},commitMount(t){za(t).handleAutoFocus(t);},isPrimaryRenderer:true,supportsMutation:true,supportsPersistence:false,supportsHydration:false,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,getCurrentUpdatePriority:a(()=>Vn.currentUpdatePriority,"getCurrentUpdatePriority"),beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:a(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:a(()=>null,"getInstanceFromScope"),appendChildToContainer:rs,insertInContainerBefore:Ha,removeChildFromContainer(t,e){ri(t,e),kd(e),za(t).handleNodeRemoved(e,t);},commitUpdate(t,e,n,r){let o=Cd(n,r),i=Cd(n.style,r.style);if(o)for(let[s,l]of Object.entries(o)){if(s==="style"){Ga(t,l);continue}if(s==="textStyles"){yd(t,l);continue}if(ja.has(s)){_d(t,s,l);continue}Ua(t,s,l);}i&&t.yogaNode&&Ja(t.yogaNode,i,r.style);},commitTextUpdate(t,e,n){oi(t,n);},removeChild(t,e){if(ri(t,e),kd(e),e.nodeName!=="#text"){let n=Va(t);n.focusManager.handleNodeRemoved(e,n);}},maySuspendCommit(){return false},preloadInstance(){return true},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},NotPendingTransition:null,HostTransitionContext:{$$typeof:Symbol.for("react.context"),_currentValue:null},setCurrentUpdatePriority(t){Vn.currentUpdatePriority=t;},resolveUpdatePriority(){return Vn.resolveEventPriority()},resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return false},trackSchedulerEvent(){},resolveEventType(){return Vn.currentEvent?.type??null},resolveEventTimeStamp(){return Vn.currentEvent?.timeStamp??-1.1}});Vn.discreteUpdates=tl.discreteUpdates.bind(tl);var In=tl;h();h();function gr(t,e){let n=Math.min(t.x,e.x),r=Math.min(t.y,e.y),o=Math.max(t.x+t.width,e.x+e.width),i=Math.max(t.y+t.height,e.y+e.height);return {x:n,y:r,width:o-n,height:i-r}}a(gr,"unionRect");function Ir(t,e,n){return e!==void 0&&t<e?e:n!==void 0&&t>n?n:t}a(Ir,"clamp");h();h();function tt(t,e){t!==void 0&&(Number.isInteger(t)||Fe(`${e} should be an integer, got ${t}`,{level:"warn"}));}a(tt,"ifNotInteger");var so=class{static{a(this,"CharPool");}strings=[" ",""];stringMap=new Map([[" ",0],["",1]]);ascii=hy();intern(e){if(e.length===1){let o=e.charCodeAt(0);if(o<128){let i=this.ascii[o];if(i!==-1)return i;let s=this.strings.length;return this.strings.push(e),this.ascii[o]=s,s}}let n=this.stringMap.get(e);if(n!==void 0)return n;let r=this.strings.length;return this.strings.push(e),this.stringMap.set(e,r),r}get(e){return this.strings[e]??" "}},ao=class{static{a(this,"HyperlinkPool");}strings=[""];stringMap=new Map;intern(e){if(!e)return 0;let n=this.stringMap.get(e);return n===void 0&&(n=this.strings.length,this.strings.push(e),this.stringMap.set(e,n)),n}get(e){return e===0?void 0:this.strings[e]}},Id={type:"ansi",code:"\x1B[7m",endCode:"\x1B[27m"},dy={type:"ansi",code:"\x1B[1m",endCode:"\x1B[22m"},fy={type:"ansi",code:"\x1B[4m",endCode:"\x1B[24m"},my={type:"ansi",code:"\x1B[33m",endCode:"\x1B[39m"},si=class{static{a(this,"StylePool");}ids=new Map;styles=[];transitionCache=new Map;none;constructor(){this.none=this.intern([]);}intern(e){let n=e.length===0?"":e.map(o=>o.code).join("\0"),r=this.ids.get(n);if(r===void 0){let o=this.styles.length;this.styles.push(e.length===0?[]:e),r=o<<1|(e.length>0&&gy(e)?1:0),this.ids.set(n,r);}return r}get(e){return this.styles[e>>>1]??[]}transition(e,n){if(e===n)return "";let r=e*1048576+n,o=this.transitionCache.get(r);return o===void 0&&(o=ansiCodesToString(diffAnsiCodes(this.get(e),this.get(n))),this.transitionCache.set(r,o)),o}inverseCache=new Map;withInverse(e){let n=this.inverseCache.get(e);if(n===void 0){let r=this.get(e);n=r.some(i=>i.endCode==="\x1B[27m")?e:this.intern([...r,Id]),this.inverseCache.set(e,n);}return n}currentMatchCache=new Map;withCurrentMatch(e){let n=this.currentMatchCache.get(e);if(n===void 0){let r=this.get(e),o=r.filter(i=>i.endCode!=="\x1B[39m"&&i.endCode!=="\x1B[49m");o.push(my),r.some(i=>i.endCode==="\x1B[27m")||o.push(Id),r.some(i=>i.endCode==="\x1B[22m")||o.push(dy),r.some(i=>i.endCode==="\x1B[24m")||o.push(fy),n=this.intern(o),this.currentMatchCache.set(e,n);}return n}selectionBgCode=null;selectionBgCache=new Map;setSelectionBg(e){this.selectionBgCode?.code!==e?.code&&(this.selectionBgCode=e,this.selectionBgCache.clear());}withSelectionBg(e){let n=this.selectionBgCode;if(n===null)return this.withInverse(e);let r=this.selectionBgCache.get(e);if(r===void 0){let o=this.get(e).filter(i=>i.endCode!=="\x1B[49m"&&i.endCode!=="\x1B[27m");o.push(n),r=this.intern(o),this.selectionBgCache.set(e,r);}return r}},py=new Set(["\x1B[49m","\x1B[27m","\x1B[24m","\x1B[29m","\x1B[55m"]);function gy(t){for(let e of t)if(py.has(e.endCode))return true;return false}a(gy,"hasVisibleSpaceEffect");var us=0,Dd=1;function hy(){let t=new Int32Array(128);return t.fill(-1),t[32]=us,t}a(hy,"initCharAscii");var lo=17,co=2,ai=32767,bn=3;function hr(t,e,n){return t<<lo|e<<co|n}a(hr,"packWord1");var ds=0n;function yy(t,e){let n=e<<1;return t.cells[n]===0&&t.cells[n|1]===0}a(yy,"isEmptyCellByIndex");function fs(t,e,n){return e<0||n<0||e>=t.width||n>=t.height?true:yy(t,n*t.width+e)}a(fs,"isEmptyCellAt");function by(t,e){return t.hyperlinkPool.intern(e)}a(by,"internHyperlink");function zn(t,e,n,r,o){tt(t,"createScreen width"),tt(e,"createScreen height"),(!Number.isInteger(t)||t<0)&&(t=Math.max(0,Math.floor(t)||0)),(!Number.isInteger(e)||e<0)&&(e=Math.max(0,Math.floor(e)||0));let i=t*e,s=new ArrayBuffer(i<<3),l=new Int32Array(s),c=new BigInt64Array(s);return {width:t,height:e,cells:l,cells64:c,charPool:r,hyperlinkPool:o,emptyStyleId:n.none,damage:void 0,noSelect:new Uint8Array(i),softWrap:new Int32Array(e)}}a(zn,"createScreen");function il(t,e,n){tt(e,"resetScreen width"),tt(n,"resetScreen height"),(!Number.isInteger(e)||e<0)&&(e=Math.max(0,Math.floor(e)||0)),(!Number.isInteger(n)||n<0)&&(n=Math.max(0,Math.floor(n)||0));let r=e*n;if(t.cells64.length<r){let o=new ArrayBuffer(r<<3);t.cells=new Int32Array(o),t.cells64=new BigInt64Array(o),t.noSelect=new Uint8Array(r);}t.softWrap.length<n&&(t.softWrap=new Int32Array(n)),t.cells64.fill(ds,0,r),t.noSelect.fill(0,0,r),t.softWrap.fill(0,0,n),t.width=e,t.height=n,t.damage=void 0;}a(il,"resetScreen");function Ld(t,e,n){let r=t.charPool,o=t.hyperlinkPool;if(r===e&&o===n)return;let i=t.width*t.height,s=t.cells;for(let l=0;l<i<<1;l+=2){let c=s[l];s[l]=e.intern(r.get(c));let d=s[l+1],f=d>>>co&ai;if(f!==0){let m=o.get(f),h=n.intern(m),g=d>>>lo,S=d&bn;s[l+1]=hr(g,h,S);}}t.charPool=e,t.hyperlinkPool=n;}a(Ld,"migrateScreenPools");function Tt(t,e,n){if(!(e<0||n<0||e>=t.width||n>=t.height))return Jn(t,n*t.width+e)}a(Tt,"cellAt");function Jn(t,e){let n=e<<1,r=t.cells[n+1],o=r>>>co&ai;return {char:t.charPool.get(t.cells[n]),styleId:r>>>lo,width:r&bn,hyperlink:o===0?void 0:t.hyperlinkPool.get(o)}}a(Jn,"cellAtIndex");function Bd(t,e,n,r,o){let i=r<<1,s=t[i];if(s===1)return;let l=t[i+1];if(s===0&&(l&262140)===0){let d=l>>>lo;if(d===0||d===o)return}let c=l>>>co&ai;return {char:e.get(s),styleId:l>>>lo,width:l&bn,hyperlink:c===0?void 0:n.get(c)}}a(Bd,"visibleCellAtIndex");function yr(t,e,n){let r=e|1,o=t.cells[r];n.char=t.charPool.get(t.cells[e]),n.styleId=o>>>lo,n.width=o&bn;let i=o>>>co&ai;n.hyperlink=i===0?void 0:t.hyperlinkPool.get(i);}a(yr,"cellAtCI");function Fd(t,e,n){if(e<0||n<0||e>=t.width||n>=t.height)return;let r=n*t.width+e<<1;return t.charPool.get(t.cells[r])}a(Fd,"charInCellAt");function ms(t,e,n,r){if(e<0||n<0||e>=t.width||n>=t.height)return;let o=n*t.width+e<<1,i=t.cells,s=i[o+1]&bn;if(s===1&&r.width!==1&&e+1<t.width){let m=o+2;(i[m+1]&bn)===2&&(i[m]=us,i[m+1]=hr(t.emptyStyleId,0,0));}let l=-1;if(s===2&&r.width!==2&&e>0){let f=o-2;(i[f+1]&bn)===1&&(i[f]=us,i[f+1]=hr(t.emptyStyleId,0,0),l=e-1);}i[o]=xy(t,r.char),i[o+1]=hr(r.styleId,by(t,r.hyperlink),r.width);let c=l>=0?Math.min(e,l):e,d=t.damage;if(d){let f=d.x+d.width,m=d.y+d.height;c<d.x?(d.width+=d.x-c,d.x=c):e>=f&&(d.width=e-d.x+1),n<d.y?(d.height+=d.y-n,d.y=n):n>=m&&(d.height=n-d.y+1);}else t.damage={x:c,y:n,width:e-c+1,height:1};if(r.width===1){let f=e+1;if(f<t.width){let m=o+2;if((i[m+1]&bn)===1){let g=m+2;f+1<t.width&&(i[g+1]&bn)===2&&(i[g]=us,i[g+1]=hr(t.emptyStyleId,0,0));}i[m]=Dd,i[m+1]=hr(t.emptyStyleId,0,2);let h=t.damage;h&&f>=h.x+h.width&&(h.width=f-h.x+1);}}}a(ms,"setCellAt");function uo(t,e,n,r){if(e<0||n<0||e>=t.width||n>=t.height)return;let o=n*t.width+e<<1,i=t.cells,s=i[o+1],l=s&bn;if(l===2||l===3)return;let c=s>>>co&ai;i[o+1]=hr(r,c,l);let d=t.damage;d?t.damage=gr(d,{x:e,y:n,width:1,height:1}):t.damage={x:e,y:n,width:1,height:1};}a(uo,"setCellStyleId");function xy(t,e){return t.charPool.intern(e)}a(xy,"internCharString");function sl(t,e,n,r,o,i){if(n=Math.max(0,n),r=Math.max(0,r),n>=o||r>=i)return;let s=o-n,l=e.width<<1,c=t.width<<1,d=s<<1,f=e.cells,m=t.cells,h=e.noSelect,g=t.noSelect;if(t.softWrap.set(e.softWrap.subarray(r,i),r),n===0&&o===e.width&&e.width===t.width){let b=r*l,w=(i-r)*l;m.set(f.subarray(b,b+w),b);let v=r*e.width,y=(i-r)*e.width;g.set(h.subarray(v,v+y),v);}else {let b=r*l+(n<<1),w=r*c+(n<<1),v=r*e.width+n,y=r*t.width+n;for(let T=r;T<i;T++)m.set(f.subarray(b,b+d),w),g.set(h.subarray(v,v+s),y),b+=l,w+=c,v+=e.width,y+=t.width;}let S={x:n,y:r,width:s,height:i-r};if(t.damage?t.damage=gr(t.damage,S):t.damage=S,o<t.width){let b=r*e.width+(o-1)<<1,w=r*t.width+o<<1,v=false;for(let y=r;y<i;y++)(f[b+1]&bn)===1&&(m[w]=Dd,m[w+1]=hr(t.emptyStyleId,0,2),v=true),b+=l,w+=c;v&&t.damage&&t.damage.x+t.damage.width===o&&(t.damage={...t.damage,width:t.damage.width+1});}}a(sl,"blitRegion");function ps(t,e,n,r){if(r===0||e<0||n>=t.height||e>n)return;let o=t.width,i=t.cells64,s=t.noSelect,l=t.softWrap;if(Math.abs(r)>n-e){i.fill(ds,e*o,(n+1)*o),s.fill(0,e*o,(n+1)*o),l.fill(0,e,n+1);return}r>0?(i.copyWithin(e*o,(e+r)*o,(n+1)*o),s.copyWithin(e*o,(e+r)*o,(n+1)*o),l.copyWithin(e,e+r,n+1),i.fill(ds,(n-r+1)*o,(n+1)*o),s.fill(0,(n-r+1)*o,(n+1)*o),l.fill(0,n-r+1,n+1)):(i.copyWithin((e-r)*o,e*o,(n+r+1)*o),s.copyWithin((e-r)*o,e*o,(n+r+1)*o),l.copyWithin(e-r,e,n+r+1),i.fill(ds,e*o,(e-r)*o),s.fill(0,e*o,(e-r)*o),l.fill(0,e,e-r));}a(ps,"shiftRows");var $d=new RegExp(`^${Gt}\\]8${fr}${fr}([^${Yn}]*)${Yn}$`),li=`${Gt}]8${fr}`;function Wd(t){for(let e of t){let n=e.code;if(n.length<5||!n.startsWith(li))continue;let r=n.match($d);if(r)return r[1]||null}return null}a(Wd,"extractHyperlinkFromStyles");function Hd(t){return t.filter(e=>!e.code.startsWith(li)||!$d.test(e.code))}a(Hd,"filterOutHyperlinkStyles");function al(t,e,n){let r=t.width,o=e.width,i=t.height,s=e.height,l;r===0&&i===0?l={x:0,y:0,width:o,height:s}:e.damage?(l=e.damage,t.damage&&(l=gr(l,t.damage))):t.damage?l=t.damage:l={x:0,y:0,width:0,height:0},i>s&&(l=gr(l,{x:0,y:s,width:r,height:i-s})),r>o&&(l=gr(l,{x:o,y:0,width:r-o,height:i}));let c=Math.max(i,s),d=Math.max(r,o),f=Math.min(l.y+l.height,c),m=Math.min(l.x+l.width,d);return r===o?Ey(t,e,l.x,m,l.y,f,n):Cy(t,e,l.x,m,l.y,f,n)}a(al,"diffEach");function Sy(t,e,n,r){for(let o=0;o<r;o++,n+=2){let i=n|1;if(t[n]!==e[n]||t[i]!==e[i])return o}return r}a(Sy,"findNextDiff");function vy(t,e,n,r,o,i,s,l,c,d,f){let m=s;for(;m<l;){let h=Sy(t,e,o,l-m);if(m+=h,o+=h<<1,m>=l)break;if(yr(n,o,c),yr(r,o,d),f(m,i,c,d))return true;m++,o+=2;}return false}a(vy,"diffRowBoth");function wy(t,e,n,r,o,i,s){for(let l=r;l<o;l++,e+=2)if(yr(t,e,i),s(l,n,i,void 0))return true;return false}a(wy,"diffRowRemoved");function Ty(t,e,n,r,o,i,s,l){for(let c=o;c<i;c++,n+=2)if(!(t[n]===0&&t[n|1]===0)&&(yr(e,n,s),l(c,r,void 0,s)))return true;return false}a(Ty,"diffRowAdded");function Ey(t,e,n,r,o,i,s){let l=t.cells,c=e.cells,d=t.width,f=t.height,m=e.height,h=d<<1,g={char:" ",styleId:0,width:0,hyperlink:void 0},S={char:" ",styleId:0,width:0,hyperlink:void 0},b=Math.min(r,d),w=o*d+n<<1;for(let v=o;v<i;v++){let y=v<f,T=v<m;if(y&&T){if(vy(l,c,t,e,w,v,n,b,g,S,s))return true}else if(y){if(wy(t,w,v,n,b,g,s))return true}else if(T&&Ty(c,e,w,v,n,b,S,s))return true;w+=h;}return false}a(Ey,"diffSameWidth");function Cy(t,e,n,r,o,i,s){let l=t.width,c=e.width,d=t.cells,f=e.cells,m={char:" ",styleId:0,width:0,hyperlink:void 0},h={char:" ",styleId:0,width:0,hyperlink:void 0},g=l<<1,S=c<<1,b=o*l+n<<1,w=o*c+n<<1;for(let v=o;v<i;v++){let y=v<t.height,T=v<e.height,C=y?Math.min(r,l):n,A=T?Math.min(r,c):n,D=Math.min(C,A),P=b,M=w;for(let _=n;_<D;_++){if(d[P]===f[M]&&d[P+1]===f[M+1]){P+=2,M+=2;continue}if(yr(t,P,m),yr(e,M,h),P+=2,M+=2,s(_,v,m,h))return true}if(C>D){P=b+(D-n<<1);for(let _=D;_<C;_++)if(yr(t,P,m),P+=2,s(_,v,m,void 0))return true}if(A>D){M=w+(D-n<<1);for(let _=D;_<A;_++){if(f[M]===0&&f[M|1]===0){M+=2;continue}if(yr(e,M,h),M+=2,s(_,v,void 0,h))return true}}b+=g,w+=S;}return false}a(Cy,"diffDifferentWidth");function Ud(t,e,n,r,o){let i=Math.min(e+r,t.width),s=Math.min(n+o,t.height),l=t.noSelect,c=t.width;for(let d=Math.max(0,n);d<s;d++){let f=d*c;l.fill(1,f+Math.max(0,e),f+i);}}a(Ud,"markNoSelectRegion");function Gd(){return {anchor:null,focus:null,isDragging:false,anchorSpan:null,scrolledOffAbove:[],scrolledOffBelow:[],scrolledOffAboveSW:[],scrolledOffBelowSW:[],lastPressHadAlt:false}}a(Gd,"createSelectionState");function hs(t,e,n){t.anchor={col:e,row:n},t.focus=null,t.isDragging=true,t.anchorSpan=null,t.scrolledOffAbove=[],t.scrolledOffBelow=[],t.scrolledOffAboveSW=[],t.scrolledOffBelowSW=[],t.virtualAnchorRow=void 0,t.virtualFocusRow=void 0,t.lastPressHadAlt=false;}a(hs,"startSelection");function Kd(t,e,n){t.isDragging&&(!t.focus&&t.anchor&&t.anchor.col===e&&t.anchor.row===n||(t.focus={col:e,row:n}));}a(Kd,"updateSelection");function fo(t){t.isDragging=false;}a(fo,"finishSelection");function ui(t){t.anchor=null,t.focus=null,t.isDragging=false,t.anchorSpan=null,t.scrolledOffAbove=[],t.scrolledOffBelow=[],t.scrolledOffAboveSW=[],t.scrolledOffBelowSW=[],t.virtualAnchorRow=void 0,t.virtualFocusRow=void 0,t.lastPressHadAlt=false;}a(ui,"clearSelection");var ky=/[\p{L}\p{N}_/.\-+~\\]/u;function gs(t){return t===" "||t===""?0:ky.test(t)?1:2}a(gs,"charClass");function jd(t,e,n){if(n<0||n>=t.height)return null;let r=t.width,o=t.noSelect,i=n*r,s=e;if(s>0){let m=Tt(t,s,n);m&&m.width===2&&(s-=1);}if(s<0||s>=r||o[i+s]===1)return null;let l=Tt(t,s,n);if(!l)return null;let c=gs(l.char),d=s;for(;d>0;){let m=d-1;if(o[i+m]===1)break;let h=Tt(t,m,n);if(!h)break;if(h.width===2){if(m===0||o[i+m-1]===1)break;let g=Tt(t,m-1,n);if(!g||gs(g.char)!==c)break;d=m-1;continue}if(gs(h.char)!==c)break;d=m;}let f=s;for(;f<r-1;){let m=f+1;if(o[i+m]===1)break;let h=Tt(t,m,n);if(!h)break;if(h.width===2){f=m;continue}if(gs(h.char)!==c)break;f=m;}return {lo:d,hi:f}}a(jd,"wordBoundsAt");function ul(t,e){return t.row!==e.row?t.row<e.row?-1:1:t.col!==e.col?t.col<e.col?-1:1:0}a(ul,"comparePoints");function Yd(t,e,n,r){let o=jd(e,n,r);if(!o)return;let i={col:o.lo,row:r},s={col:o.hi,row:r};t.anchor=i,t.focus=s,t.isDragging=true,t.anchorSpan={lo:i,hi:s,kind:"word"};}a(Yd,"selectWordAt");var Ry=new Set([..."<>\"'` "]);function ll(t){if(t.length!==1)return false;let e=t.charCodeAt(0);return e>=33&&e<=126&&!Ry.has(t)}a(ll,"isUrlChar");function qd(t,e,n){if(n<0||n>=t.height)return;let r=t.width,o=t.noSelect,i=n*r,s=e;if(s>0){let v=Tt(t,s,n);v&&v.width===2&&(s-=1);}if(s<0||s>=r||o[i+s]===1)return;let l=Tt(t,s,n);if(!l||!ll(l.char))return;let c=s;for(;c>0;){let v=c-1;if(o[i+v]===1)break;let y=Tt(t,v,n);if(!y||y.width!==0||!ll(y.char))break;c=v;}let d=s;for(;d<r-1;){let v=d+1;if(o[i+v]===1)break;let y=Tt(t,v,n);if(!y||y.width!==0||!ll(y.char))break;d=v;}let f="";for(let v=c;v<=d;v++)f+=Tt(t,v,n).char;let m=s-c,h=/(?:https?|file):\/\//g,g=-1,S=f.length;for(let v;v=h.exec(f);){if(v.index>m){S=v.index;break}g=v.index;}if(g<0)return;let b=f.slice(g,S),w={")":"(","]":"[","}":"{"};for(;b.length>0;){let v=b.at(-1);if(".,;:!?".includes(v)){b=b.slice(0,-1);continue}let y=w[v];if(!y)break;let T=0,C=0;for(let A=0;A<b.length;A++){let D=b.charAt(A);D===y?T++:D===v&&C++;}if(C>T)b=b.slice(0,-1);else break}if(!(m>=g+b.length))return b}a(qd,"findPlainTextUrlAt");function Vd(t,e,n){if(n<0||n>=e.height)return;let r={col:0,row:n},o={col:e.width-1,row:n};t.anchor=r,t.focus=o,t.isDragging=true,t.anchorSpan={lo:r,hi:o,kind:"line"};}a(Vd,"selectLineAt");function zd(t,e,n,r){if(!t.isDragging||!t.anchorSpan)return;let o=t.anchorSpan,i,s;if(o.kind==="word"){let l=jd(e,n,r);i={col:l?l.lo:n,row:r},s={col:l?l.hi:n,row:r};}else {let l=Ir(r,0,e.height-1);i={col:0,row:l},s={col:e.width-1,row:l};}ul(s,o.lo)<0?(t.anchor=o.hi,t.focus=i):ul(i,o.hi)>0?(t.anchor=o.lo,t.focus=s):(t.anchor=o.lo,t.focus=o.hi);}a(zd,"extendSelection");function Jd(t,e,n){t.focus&&(t.anchorSpan=null,t.focus={col:e,row:n},t.virtualFocusRow=void 0);}a(Jd,"moveFocus");function Xd(t,e,n,r,o){if(!t.anchor||!t.focus)return;let i=(t.virtualAnchorRow??t.anchor.row)+e,s=(t.virtualFocusRow??t.focus.row)+e;if(i<n&&s<n||i>r&&s>r){ui(t);return}let l=Math.min(t.virtualAnchorRow??t.anchor.row,t.virtualFocusRow??t.focus.row),c=Math.max(t.virtualAnchorRow??t.anchor.row,t.virtualFocusRow??t.focus.row),d=Math.max(0,n-l),f=Math.max(0,c-r),m=Math.max(0,n-Math.min(i,s)),h=Math.max(0,Math.max(i,s)-r);if(m<d){let S=d-m;t.scrolledOffAbove.length-=S,t.scrolledOffAboveSW.length=t.scrolledOffAbove.length;}if(h<f){let S=f-h;t.scrolledOffBelow.splice(0,S),t.scrolledOffBelowSW.splice(0,S);}t.scrolledOffAbove.length>m&&(t.scrolledOffAbove=m>0?t.scrolledOffAbove.slice(-m):[],t.scrolledOffAboveSW=m>0?t.scrolledOffAboveSW.slice(-m):[]),t.scrolledOffBelow.length>h&&(t.scrolledOffBelow=t.scrolledOffBelow.slice(0,h),t.scrolledOffBelowSW=t.scrolledOffBelowSW.slice(0,h));let g=a((S,b)=>b<n?{col:0,row:n}:b>r?{col:o-1,row:r}:{col:S.col,row:b},"shift");if(t.anchor=g(t.anchor,i),t.focus=g(t.focus,s),t.virtualAnchorRow=i<n||i>r?i:void 0,t.virtualFocusRow=s<n||s>r?s:void 0,t.anchorSpan){let S=a(b=>{let w=b.row+e;return w<n?{col:0,row:n}:w>r?{col:o-1,row:r}:{col:b.col,row:w}},"sp");t.anchorSpan={lo:S(t.anchorSpan.lo),hi:S(t.anchorSpan.hi),kind:t.anchorSpan.kind};}}a(Xd,"shiftSelection");function Qd(t,e,n,r){if(!t.anchor)return;let o=(t.virtualAnchorRow??t.anchor.row)+e;if(t.anchor={col:t.anchor.col,row:Ir(o,n,r)},t.virtualAnchorRow=o<n||o>r?o:void 0,t.anchorSpan){let i=a(s=>({col:s.col,row:Ir(s.row+e,n,r)}),"shift");t.anchorSpan={lo:i(t.anchorSpan.lo),hi:i(t.anchorSpan.hi),kind:t.anchorSpan.kind};}}a(Qd,"shiftAnchor");function Zd(t,e,n,r){if(!t.anchor)return false;let o=(t.virtualAnchorRow??t.anchor.row)+e,i=t.focus?(t.virtualFocusRow??t.focus.row)+e:void 0;if(o<n&&i!==void 0&&i<n)return ui(t),true;if(t.anchor={col:t.anchor.col,row:Ir(o,n,r)},t.focus&&i!==void 0&&(t.focus={col:t.focus.col,row:Ir(i,n,r)}),t.virtualAnchorRow=o<n||o>r?o:void 0,t.virtualFocusRow=i!==void 0&&(i<n||i>r)?i:void 0,t.anchorSpan){let s=a(l=>({col:l.col,row:Ir(l.row+e,n,r)}),"shift");t.anchorSpan={lo:s(t.anchorSpan.lo),hi:s(t.anchorSpan.hi),kind:t.anchorSpan.kind};}return false}a(Zd,"shiftSelectionForFollow");function tn(t){return t.anchor!==null&&t.focus!==null}a(tn,"hasSelection");function dl(t){return !t.anchor||!t.focus?null:ul(t.anchor,t.focus)<=0?{start:t.anchor,end:t.focus}:{start:t.focus,end:t.anchor}}a(dl,"selectionBounds");function ef(t,e,n,r){let o=t.noSelect,i=e*t.width,s=e+1<t.height?t.softWrap[e+1]:0,l=s>0?Math.min(r,s-1):r,c="";for(let d=n;d<=l;d++){if(o[i+d]===1)continue;let f=Tt(t,d,e);f&&(f.width===2||f.width===3||(c+=f.char));}return s>0?c:c.replace(/\s+$/,"")}a(ef,"extractRowText");function cl(t,e,n){n&&t.length>0?t[t.length-1]+=e:t.push(e);}a(cl,"joinRows");function tf(t,e){let n=dl(t);if(!n)return "";let{start:r,end:o}=n,i=e.softWrap,s=[];for(let l=0;l<t.scrolledOffAbove.length;l++)cl(s,t.scrolledOffAbove[l],t.scrolledOffAboveSW[l]);for(let l=r.row;l<=o.row;l++){let c=l===r.row?r.col:0,d=l===o.row?o.col:e.width-1;cl(s,ef(e,l,c,d),i[l]>0);}for(let l=0;l<t.scrolledOffBelow.length;l++)cl(s,t.scrolledOffBelow[l],t.scrolledOffBelowSW[l]);return s.join(`
|
|
37
|
+
`)}a(tf,"getSelectedText");function ys(t,e,n,r,o){let i=dl(t);if(!i||n>r)return;let{start:s,end:l}=i,c=Math.max(n,s.row),d=Math.min(r,l.row);if(c>d)return;let f=e.width,m=e.softWrap,h=[],g=[];for(let S=c;S<=d;S++){let b=S===s.row?s.col:0,w=S===l.row?l.col:f-1;h.push(ef(e,S,b,w)),g.push(m[S]>0);}o==="above"?(t.scrolledOffAbove.push(...h),t.scrolledOffAboveSW.push(...g),t.anchor&&t.anchor.row===s.row&&c===s.row&&(t.anchor={col:0,row:t.anchor.row},t.anchorSpan&&(t.anchorSpan={kind:t.anchorSpan.kind,lo:{col:0,row:t.anchorSpan.lo.row},hi:{col:f-1,row:t.anchorSpan.hi.row}}))):(t.scrolledOffBelow.unshift(...h),t.scrolledOffBelowSW.unshift(...g),t.anchor&&t.anchor.row===l.row&&d===l.row&&(t.anchor={col:f-1,row:t.anchor.row},t.anchorSpan&&(t.anchorSpan={kind:t.anchorSpan.kind,lo:{col:0,row:t.anchorSpan.lo.row},hi:{col:f-1,row:t.anchorSpan.hi.row}})));}a(ys,"captureScrolledRows");function nf(t,e,n){let r=dl(e);if(!r)return;let{start:o,end:i}=r,s=t.width,l=t.noSelect;for(let c=o.row;c<=i.row&&c<t.height;c++){let d=c===o.row?o.col:0,f=c===i.row?Math.min(i.col,s-1):s-1,m=c*s;for(let h=d;h<=f;h++){let g=m+h;if(l[g]===1)continue;let S=Jn(t,g);uo(t,h,c,n.withSelectionBg(S.styleId));}}}a(nf,"applySelectionOverlay");h();h();var mo={platform:process.platform,terminal:process.env.TERM_PROGRAM??process.env.TERM??"unknown",shell:process.env.SHELL??(process.platform==="win32"?"cmd.exe":"/bin/sh"),isCI:!!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI)};homedir();h();var My=Se(0,"f");function Ay(){return process.platform==="win32"&&!!process.env.WT_SESSION}a(Ay,"isWindowsTerminal");function Ny(){return !!(process.env.TERM_PROGRAM==="mintty"||process.platform==="win32"&&process.env.MSYSTEM)}a(Ny,"isMintty");function Py(){return !!(Ay()||process.platform==="win32"&&process.env.TERM_PROGRAM==="vscode"&&process.env.TERM_PROGRAM_VERSION||Ny())}a(Py,"isModernWindowsTerminal");function fl(){return process.platform==="win32"?Py()?mr+Ia+On:mr+My:mr+Ia+On}a(fl,"getClearTerminalSequence");fl();h();var Oe={CURSOR_VISIBLE:25,ALT_SCREEN:47,ALT_SCREEN_CLEAR:1049,MOUSE_NORMAL:1e3,MOUSE_BUTTON:1002,MOUSE_ANY:1003,MOUSE_SGR:1006,FOCUS_EVENTS:1004,BRACKETED_PASTE:2004,SYNCHRONIZED_UPDATE:2026};function Xn(t){return Se(`?${t}h`)}a(Xn,"decset");function Qn(t){return Se(`?${t}l`)}a(Qn,"decreset");var rf=Xn(Oe.SYNCHRONIZED_UPDATE),of=Qn(Oe.SYNCHRONIZED_UPDATE),sf=Xn(Oe.BRACKETED_PASTE),bs=Qn(Oe.BRACKETED_PASTE),ml=Xn(Oe.FOCUS_EVENTS),di=Qn(Oe.FOCUS_EVENTS),Dr=Xn(Oe.CURSOR_VISIBLE),fi=Qn(Oe.CURSOR_VISIBLE),xs=Xn(Oe.ALT_SCREEN_CLEAR),pl=Qn(Oe.ALT_SCREEN_CLEAR),po=Xn(Oe.MOUSE_NORMAL)+Xn(Oe.MOUSE_BUTTON)+Xn(Oe.MOUSE_ANY)+Xn(Oe.MOUSE_SGR),go=Qn(Oe.MOUSE_SGR)+Qn(Oe.MOUSE_ANY)+Qn(Oe.MOUSE_BUTTON)+Qn(Oe.MOUSE_NORMAL);h();var gl=Gt+String.fromCharCode(hn.OSC),lf=Gt+"\\";function ho(...t){let e=mo.terminal==="kitty"?lf:Yn;return `${gl}${t.join(fr)}${e}`}a(ho,"osc");function hl(t){return process.env.TMUX?`\x1BPtmux;${t.replaceAll("\x1B","\x1B\x1B")}\x1B\\`:process.env.STY?`\x1BP${t}\x1B\\`:t}a(hl,"wrapForMultiplexer");function Iy(t){return `${Gt}Ptmux;${t.replaceAll(Gt,Gt+Gt)}${lf}`}a(Iy,"tmuxPassthrough");async function Dy(t){if(!process.env.TMUX)return false;let e=process.env.LC_TERMINAL==="iTerm2"?["load-buffer","-"]:["load-buffer","-w","-"],{code:n}=await gn("tmux",e,{input:t,timeout:2e3});return n===0}a(Dy,"tmuxLoadBuffer");async function cf(t){let e=Buffer$1.from(t,"utf8").toString("base64"),n=ho(nn.CLIPBOARD,"c",e);return process.env.SSH_CONNECTION||Ly(t),await Dy(t)?Iy(`${Gt}]52;c;${e}${Yn}`):n}a(cf,"setClipboard");var Lr;function Ly(t){let e={input:t,timeout:2e3};switch(process.platform){case "darwin":gn("pbcopy",[],e);return;case "linux":{if(Lr===null)return;if(Lr==="wl-copy"){gn("wl-copy",[],e);return}if(Lr==="xclip"){gn("xclip",["-selection","clipboard"],e);return}if(Lr==="xsel"){gn("xsel",["--clipboard","--input"],e);return}gn("wl-copy",[],e).then(n=>{if(n.code===0){Lr="wl-copy";return}gn("xclip",["-selection","clipboard"],e).then(r=>{if(r.code===0){Lr="xclip";return}gn("xsel",["--clipboard","--input"],e).then(o=>{Lr=o.code===0?"xsel":null;});});});return}case "win32":gn("clip",[],e);return}}a(Ly,"copyNative");var nn={SET_TITLE_AND_ICON:0,SET_ICON:1,SET_TITLE:2,HYPERLINK:8,ITERM2:9,CLIPBOARD:52,TAB_STATUS:21337};function uf(t){let e=t.indexOf(";"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"",o=parseInt(n,10);if(o===nn.SET_TITLE_AND_ICON)return {type:"title",action:{type:"both",title:r}};if(o===nn.SET_ICON)return {type:"title",action:{type:"iconName",name:r}};if(o===nn.SET_TITLE)return {type:"title",action:{type:"windowTitle",title:r}};if(o===nn.HYPERLINK){let i=r.split(";"),s=i[0]??"",l=i.slice(1).join(";");if(l==="")return {type:"link",action:{type:"end"}};let c={};if(s)for(let d of s.split(":")){let f=d.indexOf("=");f>=0&&(c[d.slice(0,f)]=d.slice(f+1));}return {type:"link",action:{type:"start",url:l,params:Object.keys(c).length>0?c:void 0}}}return o===nn.TAB_STATUS?{type:"tabStatus",action:By(r)}:{type:"unknown",sequence:`\x1B]${t}`}}a(uf,"parseOSC");function af(t){let e=t.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(e)return {type:"rgb",r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)};let n=t.match(/^rgb:([0-9a-f]{1,4})\/([0-9a-f]{1,4})\/([0-9a-f]{1,4})$/i);if(n){let r=a(o=>Math.round(parseInt(o,16)/(16**o.length-1)*255),"scale");return {type:"rgb",r:r(n[1]),g:r(n[2]),b:r(n[3])}}return null}a(af,"parseOscColor");function By(t){let e={};for(let[n,r]of Fy(t))switch(n){case "indicator":e.indicator=r===""?null:af(r);break;case "status":e.status=r===""?null:r;break;case "status-color":e.statusColor=r===""?null:af(r);break}return e}a(By,"parseTabStatus");function*Fy(t){let e="",n="",r=false,o=false;for(let i of t)o?(r?n+=i:e+=i,o=false):i==="\\"?o=true:i===";"?(yield [e,n],e="",n="",r=false):i==="="&&!r?r=true:r?n+=i:e+=i;(e||r)&&(yield [e,n]);}a(Fy,"splitTabStatusPairs");function Ss(t,e){if(!t)return vs;let n={id:$y(t),...e},r=Object.entries(n).map(([o,i])=>`${o}=${i}`).join(":");return ho(nn.HYPERLINK,r,t)}a(Ss,"link");function $y(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n)|0;return (e>>>0).toString(36)}a($y,"osc8Id");var vs=ho(nn.HYPERLINK,"",""),df={PROGRESS:4},ff={CLEAR:0},mf=`${gl}${nn.ITERM2};${df.PROGRESS};${ff.CLEAR};${Yn}`,pf=ho(nn.TAB_STATUS,"indicator=;status=;status-color=");function gf(){return process.env.USER_TYPE==="ant"}a(gf,"supportsTabStatus");function Wy(){if(process.env.TMUX)return false;let t=process.env.TERM_PROGRAM,e=process.env.TERM;if(t==="iTerm.app"||t==="WezTerm"||t==="WarpTerminal"||t==="ghostty"||t==="contour"||t==="vscode"||t==="alacritty"||e?.includes("kitty")||process.env.KITTY_WINDOW_ID||e==="xterm-ghostty"||e?.startsWith("foot")||e?.includes("alacritty")||process.env.ZED_TERM||process.env.WT_SESSION)return true;let n=process.env.VTE_VERSION;return !!(n&&parseInt(n,10)>=6800)}a(Wy,"isSynchronizedOutputSupported");var yl;function hf(t){yl===void 0&&(yl=t);}a(hf,"setXtversionName");function ws(){return process.env.TERM_PROGRAM==="vscode"?true:yl?.startsWith("xterm.js")??false}a(ws,"isXtermJs");var Hy=["iTerm.app","kitty","WezTerm","ghostty","tmux","windows-terminal"];function mi(){return Hy.includes(mo.terminal??"")}a(mi,"supportsExtendedKeys");var bl=Wy();function xl(t,e,n=false){if(e.length===0)return;let r=!n,o=r?rf:"";for(let i of e)switch(i.type){case "stdout":o+=i.content;break;case "clear":i.count>0&&(o+=$u(i.count));break;case "clearTerminal":o+=fl();break;case "cursorHide":o+=fi;break;case "cursorShow":o+=Dr;break;case "cursorMove":o+=to(i.x,i.y);break;case "cursorTo":o+=Fu(i.col);break;case "carriageReturn":o+="\r";break;case "hyperlink":o+=Ss(i.uri);break;case "styleStr":o+=i.str;break}r&&(o+=of),t.stdout.write(o);}a(xl,"writeDiffToTerminal");h();var vl="unknown",yf=new Set,Sl=new Set;function wl(t){vl=t?"focused":"blurred";for(let e of Sl)e();if(!t){for(let e of yf)e();yf.clear();}}a(wl,"setTerminalFocused");function Ts(){return vl!=="blurred"}a(Ts,"getTerminalFocused");function bf(){return vl}a(bf,"getTerminalFocusState");function Tl(t){return Sl.add(t),()=>{Sl.delete(t);}}a(Tl,"subscribeTerminalFocus");h();function xf(){return {request:Se(">0q"),match:a(t=>t.type==="xtversion","match")}}a(xf,"xtversion");var Uy=Se("c"),Es=class{constructor(e){this.stdout=e;}static{a(this,"TerminalQuerier");}queue=[];send(e){return new Promise(n=>{this.queue.push({kind:"query",match:e.match,resolve:a(r=>n(r),"resolve")}),this.stdout.write(e.request);})}flush(){return new Promise(e=>{this.queue.push({kind:"sentinel",resolve:e}),this.stdout.write(Uy);})}onResponse(e){let n=this.queue.findIndex(r=>r.kind==="query"&&r.match(e));if(n!==-1){let[r]=this.queue.splice(n,1);r?.kind==="query"&&r.resolve(e);return}if(e.type==="da1"){let r=this.queue.findIndex(o=>o.kind==="sentinel");if(r===-1)return;for(let o of this.queue.splice(0,r+1))o.kind==="query"?o.resolve(void 0):o.resolve();}}};h();var Sf=createContext({exit(){}});Sf.displayName="InternalAppContext";var Cs=Sf;h();h();h();h();var El=createContext({isTerminalFocused:true,terminalFocusState:"unknown"});El.displayName="TerminalFocusContext";function wf(t){let e=c$1(6),{children:n}=t,r=useSyncExternalStore(Tl,Ts),o=useSyncExternalStore(Tl,bf),i;e[0]!==r||e[1]!==o?(i={isTerminalFocused:r,terminalFocusState:o},e[0]=r,e[1]=o,e[2]=i):i=e[2];let s=i,l;return e[3]!==n||e[4]!==s?(l=jsx(El.Provider,{value:s,children:n}),e[3]=n,e[4]=s,e[5]=l):l=e[5],l}a(wf,"TerminalFocusProvider");var Tf=El;function Ef(){let{isTerminalFocused:t}=useContext(Tf);return t}a(Ef,"useTerminalFocus");function Qy(t){let e=new Map,n=null,r=t,o=0,i=0;function s(){i=Date.now()-o;for(let c of e.keys())c();}a(s,"tick");function l(){[...e.values()].some(Boolean)?(n&&(clearInterval(n),n=null),o===0&&(o=Date.now()),n=setInterval(s,r)):n&&(clearInterval(n),n=null);}return a(l,"updateInterval"),{subscribe(c,d){return e.set(c,d),l(),()=>{e.delete(c),l();}},now(){return o===0&&(o=Date.now()),n&&i?i:Date.now()-o},setTickInterval(c){c!==r&&(r=c,l());}}}a(Qy,"createClock");var Zy=createContext(null),eb=32;function Cf(t){let e=c$1(7),{children:n}=t,[r]=useState(tb),o=Ef(),i,s;e[0]!==r||e[1]!==o?(i=a(()=>{r.setTickInterval(o?16:eb);},"t1"),s=[r,o],e[0]=r,e[1]=o,e[2]=i,e[3]=s):(i=e[2],s=e[3]),useEffect(i,s);let l;return e[4]!==n||e[5]!==r?(l=jsx(Zy.Provider,{value:r,children:n}),e[4]=n,e[5]=r,e[6]=l):l=e[6],l}a(Cf,"ClockProvider");function tb(){return Qy(16)}a(tb,"_temp");h();var ob=createContext(()=>{}),kf=ob;h();h();h();function sb(t){let e=c$1(42),n,r,o,i,s,l,c,d,f,m,h,g,S,b,w,v,y,T;if(e[0]!==t){let{children:M,flexWrap:_,flexDirection:B,flexGrow:I,flexShrink:L,ref:K,tabIndex:z,autoFocus:Te,onClick:_e,onFocus:gt,onFocusCapture:rt,onBlur:q,onBlurCapture:pe,onMouseEnter:$,onMouseLeave:ue,onKeyDown:fe,onKeyDownCapture:Ne,...We}=t;r=M,v=K,T=z,n=Te,f=_e,m=gt,h=rt,c=q,d=pe,b=$,w=ue,g=fe,S=Ne,y=We,l=_===void 0?"nowrap":_,o=B===void 0?"row":B,i=I===void 0?0:I,s=L===void 0?1:L,tt(y.margin,"margin"),tt(y.marginX,"marginX"),tt(y.marginY,"marginY"),tt(y.marginTop,"marginTop"),tt(y.marginBottom,"marginBottom"),tt(y.marginLeft,"marginLeft"),tt(y.marginRight,"marginRight"),tt(y.padding,"padding"),tt(y.paddingX,"paddingX"),tt(y.paddingY,"paddingY"),tt(y.paddingTop,"paddingTop"),tt(y.paddingBottom,"paddingBottom"),tt(y.paddingLeft,"paddingLeft"),tt(y.paddingRight,"paddingRight"),tt(y.gap,"gap"),tt(y.columnGap,"columnGap"),tt(y.rowGap,"rowGap"),e[0]=t,e[1]=n,e[2]=r,e[3]=o,e[4]=i,e[5]=s,e[6]=l,e[7]=c,e[8]=d,e[9]=f,e[10]=m,e[11]=h,e[12]=g,e[13]=S,e[14]=b,e[15]=w,e[16]=v,e[17]=y,e[18]=T;}else n=e[1],r=e[2],o=e[3],i=e[4],s=e[5],l=e[6],c=e[7],d=e[8],f=e[9],m=e[10],h=e[11],g=e[12],S=e[13],b=e[14],w=e[15],v=e[16],y=e[17],T=e[18];let C=y.overflowX??y.overflow??"visible",A=y.overflowY??y.overflow??"visible",D;e[19]!==o||e[20]!==i||e[21]!==s||e[22]!==l||e[23]!==y||e[24]!==C||e[25]!==A?(D={flexWrap:l,flexDirection:o,flexGrow:i,flexShrink:s,...y,overflowX:C,overflowY:A},e[19]=o,e[20]=i,e[21]=s,e[22]=l,e[23]=y,e[24]=C,e[25]=A,e[26]=D):D=e[26];let P;return e[27]!==n||e[28]!==r||e[29]!==c||e[30]!==d||e[31]!==f||e[32]!==m||e[33]!==h||e[34]!==g||e[35]!==S||e[36]!==b||e[37]!==w||e[38]!==v||e[39]!==D||e[40]!==T?(P=jsx("ink-box",{ref:v,tabIndex:T,autoFocus:n,onClick:f,onFocus:m,onFocusCapture:h,onBlur:c,onBlurCapture:d,onMouseEnter:b,onMouseLeave:w,onKeyDown:g,onKeyDownCapture:S,style:D,children:r}),e[27]=n,e[28]=r,e[29]=c,e[30]=d,e[31]=f,e[32]=m,e[33]=h,e[34]=g,e[35]=S,e[36]=b,e[37]=w,e[38]=v,e[39]=D,e[40]=T,e[41]=P):P=e[41],P}a(sb,"Box");var x=sb;h();var cb={wrap:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"wrap"},"wrap-trim":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"wrap-trim"},end:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"end"},middle:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"middle"},"truncate-end":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate-end"},truncate:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate"},"truncate-middle":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate-middle"},"truncate-start":{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:"truncate-start"}};function u(t){let e=c$1(29),{color:n,backgroundColor:r,bold:o,dim:i,italic:s,underline:l,strikethrough:c,inverse:d,wrap:f,children:m}=t,h=s===void 0?false:s,g=l===void 0?false:l,S=c===void 0?false:c,b=d===void 0?false:d,w=f===void 0?"wrap":f;if(m==null)return null;let v;e[0]!==n?(v=n&&{color:n},e[0]=n,e[1]=v):v=e[1];let y;e[2]!==r?(y=r&&{backgroundColor:r},e[2]=r,e[3]=y):y=e[3];let T;e[4]!==i?(T=i&&{dim:i},e[4]=i,e[5]=T):T=e[5];let C;e[6]!==o?(C=o&&{bold:o},e[6]=o,e[7]=C):C=e[7];let A;e[8]!==h?(A=h&&{italic:h},e[8]=h,e[9]=A):A=e[9];let D;e[10]!==g?(D=g&&{underline:g},e[10]=g,e[11]=D):D=e[11];let P;e[12]!==S?(P=S&&{strikethrough:S},e[12]=S,e[13]=P):P=e[13];let M;e[14]!==b?(M=b&&{inverse:b},e[14]=b,e[15]=M):M=e[15];let _;e[16]!==A||e[17]!==D||e[18]!==P||e[19]!==M||e[20]!==v||e[21]!==y||e[22]!==T||e[23]!==C?(_={...v,...y,...T,...C,...A,...D,...P,...M},e[16]=A,e[17]=D,e[18]=P,e[19]=M,e[20]=v,e[21]=y,e[22]=T,e[23]=C,e[24]=_):_=e[24];let B=_,I=cb[w],L;return e[25]!==m||e[26]!==I||e[27]!==B?(L=jsx("ink-text",{style:I,textStyles:B,children:m}),e[25]=m,e[26]=I,e[27]=B,e[28]=L):L=e[28],L}a(u,"Text");var _f=a(t=>t?.replace(`file://${process.cwd()}/`,""),"cleanupPath"),mb;function Mf(){return mb??=new Rf({cwd:process.cwd(),internals:Rf.nodeInternals()})}a(Mf,"getStackUtils");function Cl({error:t}){let e=t.stack?t.stack.split(`
|
|
38
|
+
`).slice(1):void 0,n=e?Mf().parseLine(e[0]):void 0,r=_f(n?.file),o,i=0;if(r&&n?.line)try{let s=readFileSync(r,"utf8");if(o=db(s,n.line),o)for(let{line:l}of o)i=Math.max(i,String(l).length);}catch{}return jsxs(x,{flexDirection:"column",padding:1,children:[jsxs(x,{children:[jsxs(u,{backgroundColor:"ansi:red",color:"ansi:white",children:[" ","ERROR"," "]}),jsxs(u,{children:[" ",t.message]})]}),n&&r&&jsx(x,{marginTop:1,children:jsxs(u,{dim:true,children:[r,":",n.line,":",n.column]})}),n&&o&&jsx(x,{marginTop:1,flexDirection:"column",children:o.map(({line:s,value:l})=>jsxs(x,{children:[jsx(x,{width:i+1,children:jsxs(u,{dim:s!==n.line,backgroundColor:s===n.line?"ansi:red":void 0,color:s===n.line?"ansi:white":void 0,children:[String(s).padStart(i," "),":"]})}),jsx(u,{backgroundColor:s===n.line?"ansi:red":void 0,color:s===n.line?"ansi:white":void 0,children:" "+l},s)]},s))}),t.stack&&jsx(x,{marginTop:1,flexDirection:"column",children:t.stack.split(`
|
|
39
|
+
`).slice(1).map(s=>{let l=Mf().parseLine(s);return l?jsxs(x,{children:[jsx(u,{dim:true,children:"- "}),jsx(u,{bold:true,children:l.function}),jsxs(u,{dim:true,children:[" ","(",_f(l.file)??"",":",l.line,":",l.column,")"]})]},s):jsxs(x,{children:[jsx(u,{dim:true,children:"- "}),jsx(u,{bold:true,children:s})]},s)})})]})}a(Cl,"ErrorOverview");h();var Af=createContext({stdin:process.stdin,internal_eventEmitter:new Zr,setRawMode(){},isRawModeSupported:false,internal_exitOnCtrlC:true,internal_querier:null});Af.displayName="InternalStdinContext";var ks=Af;h();var kl=createContext(null);var yb=process.platform!=="win32",bb=5e3,Nf=500,Pf=1,pi=class extends PureComponent{static{a(this,"App");}static displayName="InternalApp";static getDerivedStateFromError(e){return {error:e}}state={error:void 0};rawModeEnabledCount=0;internal_eventEmitter=new Zr;keyParseState=td;incompleteEscapeTimer=null;NORMAL_TIMEOUT=50;PASTE_TIMEOUT=500;querier=new Es(this.props.stdout);lastClickTime=0;lastClickCol=-1;lastClickRow=-1;clickCount=0;pendingHyperlinkTimer=null;lastHoverCol=-1;lastHoverRow=-1;lastStdinTime=Date.now();isRawModeSupported(){return this.props.stdin.isTTY}render(){return jsx(kl.Provider,{value:{columns:this.props.terminalColumns,rows:this.props.terminalRows},children:jsx(Cs.Provider,{value:{exit:this.handleExit},children:jsx(ks.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC,internal_eventEmitter:this.internal_eventEmitter,internal_querier:this.querier},children:jsx(wf,{children:jsx(Cf,{children:jsx(kf.Provider,{value:this.props.onCursorDeclaration??(()=>{}),children:this.state.error?jsx(Cl,{error:this.state.error}):this.props.children})})})})})})}componentDidMount(){this.props.stdout.isTTY&&!Mr(process.env.CLAUDE_CODE_ACCESSIBILITY)&&this.props.stdout.write(fi);}componentWillUnmount(){this.props.stdout.isTTY&&this.props.stdout.write(Dr),this.incompleteEscapeTimer&&(clearTimeout(this.incompleteEscapeTimer),this.incompleteEscapeTimer=null),this.pendingHyperlinkTimer&&(clearTimeout(this.pendingHyperlinkTimer),this.pendingHyperlinkTimer=null),this.isRawModeSupported()&&this.handleSetRawMode(false);}componentDidCatch(e){this.handleExit(e);}handleSetRawMode=a(e=>{let{stdin:n}=this.props;if(!this.isRawModeSupported())throw n===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
|
|
40
40
|
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
|
|
41
|
-
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(n.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(n.ref(),n.setRawMode(true),n.addListener("readable",this.handleReadable),this.props.stdout.write(
|
|
42
|
-
`},
|
|
43
|
-
`)}]}getRenderOpsForDone(e){return this.state.previousOutput="",e.cursor.visible?[]:[{type:"cursorShow"}]}render(e,n,r=false,o=true){if(!this.options.isTTY)return this.renderFullFrame(n);let i=performance.now(),s=this.options.stylePool;if(n.viewport.height<e.viewport.height||e.viewport.width!==0&&n.viewport.width!==e.viewport.width)return
|
|
44
|
-
`,n),o=r===-1?t.substring(n):t.substring(n,r);if(e=Math.max(e,
|
|
45
|
-
`),b=0,w=0,
|
|
46
|
-
`).repeat(D);g&&(
|
|
47
|
-
`).repeat(D);
|
|
48
|
-
`),s=[],l=0;for(let c=0;c<i.length;c++){let d=i[c];if(o&&d.length>0){let b=/\s/.test(d[0]);if(l<r.length&&/\s/.test(r[l])&&!b)for(;l<r.length&&/\s/.test(r[l]);)l++;}let f="",m=0,h=n[l]??0;for(let b=0;b<d.length;b++){let w=n[l]??h;if(w!==h){let
|
|
41
|
+
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(n.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(n.ref(),n.setRawMode(true),n.addListener("readable",this.handleReadable),this.props.stdout.write(sf),this.props.stdout.write(ml),mi()&&(this.props.stdout.write(Jo),this.props.stdout.write(Xo)),setImmediate(()=>{Promise.all([this.querier.send(xf()),this.querier.flush()]).then(([r])=>{r?(hf(r.name),Fe(`XTVERSION: terminal identified as "${r.name}"`)):Fe("XTVERSION: no reply (terminal ignored query)");});})),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(this.props.stdout.write(Qo),this.props.stdout.write(Ar),this.props.stdout.write(di),this.props.stdout.write(bs),n.setRawMode(false),n.removeListener("readable",this.handleReadable),n.unref());},"handleSetRawMode");flushIncomplete=a(()=>{if(this.incompleteEscapeTimer=null,!!this.keyParseState.incomplete){if(this.props.stdin.readableLength>0){this.incompleteEscapeTimer=setTimeout(this.flushIncomplete,this.NORMAL_TIMEOUT);return}this.processInput(null);}},"flushIncomplete");processInput=a(e=>{let[n,r]=nd(this.keyParseState,e);this.keyParseState=r,n.length>0&&In.discreteUpdates(xb,this,n,void 0,void 0),this.keyParseState.incomplete&&(this.incompleteEscapeTimer&&clearTimeout(this.incompleteEscapeTimer),this.incompleteEscapeTimer=setTimeout(this.flushIncomplete,this.keyParseState.mode==="IN_PASTE"?this.PASTE_TIMEOUT:this.NORMAL_TIMEOUT));},"processInput");handleReadable=a(()=>{let e=Date.now();e-this.lastStdinTime>bb&&this.props.onStdinResume?.(),this.lastStdinTime=e;try{let n;for(;(n=this.props.stdin.read())!==null;)this.processInput(n);}catch(n){b$1.error(n);let{stdin:r}=this.props;this.rawModeEnabledCount>0&&!r.listeners("readable").includes(this.handleReadable)&&(Fe("handleReadable: re-attaching stdin readable listener after error recovery",{level:"warn"}),r.addListener("readable",this.handleReadable));}},"handleReadable");handleInput=a(e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit();},"handleInput");handleExit=a(e=>{this.isRawModeSupported()&&this.handleSetRawMode(false),this.props.onExit(e);},"handleExit");handleTerminalFocus=a(e=>{wl(e);},"handleTerminalFocus");handleSuspend=a(()=>{if(!this.isRawModeSupported())return;let e=this.rawModeEnabledCount;for(;this.rawModeEnabledCount>0;)this.handleSetRawMode(false);this.props.stdout.isTTY&&this.props.stdout.write(Dr+di+go),this.internal_eventEmitter.emit("suspend");let n=a(()=>{for(let r=0;r<e;r++)this.isRawModeSupported()&&this.handleSetRawMode(true);this.props.stdout.isTTY&&(Mr(process.env.CLAUDE_CODE_ACCESSIBILITY)||this.props.stdout.write(fi),this.props.stdout.write(ml)),this.internal_eventEmitter.emit("resume"),process.removeListener("SIGCONT",n);},"resumeHandler");process.on("SIGCONT",n),process.kill(process.pid,"SIGSTOP");},"handleSuspend")};function xb(t,e,n,r){e.some(o=>o.kind==="key"||o.kind==="mouse"&&!((o.button&32)!==0&&(o.button&3)===3))&&S();for(let o of e){if(o.kind==="response"){t.querier.onResponse(o.response);continue}if(o.kind==="mouse"){Sb(t,o);continue}let i=o.sequence;if(i===Yu){t.handleTerminalFocus(true);let l=new Zo("terminalfocus");t.internal_eventEmitter.emit("terminalfocus",l);continue}if(i===qu){t.handleTerminalFocus(false),t.props.selection.isDragging&&(fo(t.props.selection),t.props.onSelectionChange());let l=new Zo("terminalblur");t.internal_eventEmitter.emit("terminalblur",l);continue}if(Ts()||wl(true),o.name==="z"&&o.ctrl&&yb){t.handleSuspend();continue}t.handleInput(i);let s=new qi(o);t.internal_eventEmitter.emit("input",s),t.props.dispatchKeyboardEvent(o);}}a(xb,"processKeysInBatch");function Sb(t,e){if(Pu())return;let n=t.props.selection,r=e.col-1,o=e.row-1,i=e.button&3;if(e.action==="press"){if((e.button&32)!==0&&i===3){if(n.isDragging&&(fo(n),t.props.onSelectionChange()),r===t.lastHoverCol&&o===t.lastHoverRow)return;t.lastHoverCol=r,t.lastHoverRow=o,t.props.onHoverAt(r,o);return}if(i!==0){t.clickCount=0;return}if((e.button&32)!==0){t.props.onSelectionDrag(r,o);return}n.isDragging&&(fo(n),t.props.onSelectionChange());let s=Date.now(),l=s-t.lastClickTime<Nf&&Math.abs(r-t.lastClickCol)<=Pf&&Math.abs(o-t.lastClickRow)<=Pf;if(t.clickCount=l?t.clickCount+1:1,t.lastClickTime=s,t.lastClickCol=r,t.lastClickRow=o,t.clickCount>=2){t.pendingHyperlinkTimer&&(clearTimeout(t.pendingHyperlinkTimer),t.pendingHyperlinkTimer=null);let c=t.clickCount===2?2:3;t.props.onMultiClick(r,o,c);return}hs(n,r,o),n.lastPressHadAlt=(e.button&8)!==0,t.props.onSelectionChange();return}if(i!==0){if(!n.isDragging)return;fo(n),t.props.onSelectionChange();return}if(fo(n),!tn(n)&&n.anchor&&!t.props.onClickAt(r,o)){let s=t.props.getHyperlinkAt(r,o);s&&process.env.TERM_PROGRAM!=="vscode"&&!ws()&&(t.pendingHyperlinkTimer&&clearTimeout(t.pendingHyperlinkTimer),t.pendingHyperlinkTimer=setTimeout((l,c)=>{l.pendingHyperlinkTimer=null,l.props.onOpenHyperlink(c);},Nf,t,s));}t.props.onSelectionChange();}a(Sb,"handleMouseEvent");h();var Rs=class extends io{static{a(this,"KeyboardEvent");}key;ctrl;shift;meta;superKey;fn;constructor(e){super("keydown",{bubbles:true,cancelable:true}),this.key=vb(e),this.ctrl=e.ctrl,this.shift=e.shift,this.meta=e.meta||e.option,this.superKey=e.super,this.fn=e.fn;}};function vb(t){let e=t.sequence??"",n=t.name??"";if(t.ctrl)return n;if(e.length===1){let r=e.charCodeAt(0);if(r>=32&&r!==127)return e}return n||e}a(vb,"keyFromParsed");h();function br(t,e,n,r,o){return {screen:zn(0,0,n,r,o),viewport:{width:e,height:t},cursor:{x:0,y:0,visible:true}}}a(br,"emptyFrame");h();h();var _s=class extends Zt{static{a(this,"ClickEvent");}col;row;localCol=0;localRow=0;cellIsBlank;constructor(e,n,r){super(),this.col=e,this.row=n,this.cellIsBlank=r;}};function Rl(t,e,n){let r=at.get(t);if(!r||e<r.x||e>=r.x+r.width||n<r.y||n>=r.y+r.height)return null;for(let o=t.childNodes.length-1;o>=0;o--){let i=t.childNodes[o];if(i.nodeName==="#text")continue;let s=Rl(i,e,n);if(s)return s}return t}a(Rl,"hitTest");function Of(t,e,n,r=false){let o=Rl(t,e,n)??void 0;if(!o)return false;if(t.focusManager){let l=o;for(;l;){if(typeof l.attributes.tabIndex=="number"){t.focusManager.handleClickFocus(l);break}l=l.parentNode;}}let i=new _s(e,n,r),s=false;for(;o;){let l=o._eventHandlers?.onClick;if(l){s=true;let c=at.get(o);if(c&&(i.localCol=e-c.x,i.localRow=n-c.y),l(i),i.didStopImmediatePropagation())return true}o=o.parentNode;}return s}a(Of,"dispatchClick");function If(t,e,n,r){let o=new Set,i=Rl(t,e,n)??void 0;for(;i;){let s=i._eventHandlers;(s?.onMouseEnter||s?.onMouseLeave)&&o.add(i),i=i.parentNode;}for(let s of r)o.has(s)||(r.delete(s),s.parentNode&&s._eventHandlers?.onMouseLeave?.());for(let s of o)r.has(s)||(r.add(s),s._eventHandlers?.onMouseEnter?.());}a(If,"dispatchHover");h();var wb=new Map,Fr=wb;h();var xo={type:"carriageReturn"},As={type:"stdout",content:`
|
|
42
|
+
`},Ns=class{constructor(e){this.options=e;this.state={previousOutput:""};}static{a(this,"LogUpdate");}state;renderPreviousOutput_DEPRECATED(e){return this.options.isTTY?this.getRenderOpsForDone(e):[As]}reset(){this.state.previousOutput="";}renderFullFrame(e){let{screen:n}=e,r=[],o=[],i;for(let s=0;s<n.height;s++){let l="";for(let d=0;d<n.width;d++){let f=Tt(n,d,s);if(f&&f.width!==2){f.hyperlink!==i&&(i!==void 0&&(l+=vs),f.hyperlink!==void 0&&(l+=Ss(f.hyperlink)),i=f.hyperlink);let m=this.options.stylePool.get(f.styleId),h=diffAnsiCodes(o,m);h.length>0&&(l+=ansiCodesToString(h),o=m),l+=f.char;}}i!==void 0&&(l+=vs,i=void 0);let c=diffAnsiCodes(o,[]);c.length>0&&(l+=ansiCodesToString(c),o=[]),r.push(l.trimEnd());}return r.length===0?[]:[{type:"stdout",content:r.join(`
|
|
43
|
+
`)}]}getRenderOpsForDone(e){return this.state.previousOutput="",e.cursor.visible?[]:[{type:"cursorShow"}]}render(e,n,r=false,o=true){if(!this.options.isTTY)return this.renderFullFrame(n);let i=performance.now(),s=this.options.stylePool;if(n.viewport.height<e.viewport.height||e.viewport.width!==0&&n.viewport.width!==e.viewport.width)return gi(n,"resize",s);let l=[];if(r&&n.scrollHint&&o){let{top:M,bottom:_,delta:B}=n.scrollHint;M>=0&&_<e.screen.height&&_<n.screen.height&&(ps(e.screen,M,_,B),l=[{type:"stdout",content:Uu(M+1,_+1)+(B>0?Wu(B):Hu(-B))+Gu+On}]);}let c=e.cursor.y>=e.screen.height,d=n.screen.height>e.screen.height,f=c&&e.screen.height>=e.viewport.height,m=n.screen.height<e.screen.height,h=n.screen.height<=e.viewport.height;if(f&&h&&m)return Fe(`Full reset (shrink->below): prevHeight=${e.screen.height}, nextHeight=${n.screen.height}, viewport=${e.viewport.height}`),gi(n,"offscreen",s);if(e.screen.height>=e.viewport.height&&e.screen.height>0&&c&&!d){let _=e.screen.height-e.viewport.height+1,B=-1;if(al(e.screen,n.screen,(I,L)=>{if(L<_)return B=L,true}),B>=0){let I=Ms(e.screen,B),L=Ms(n.screen,B);return gi(n,"offscreen",s,{triggerY:B,prevLine:I,nextLine:L})}}let g=new Os(e.cursor,n.viewport.width),S=Math.max(n.screen.height,1)-Math.max(e.screen.height,1),b=S<0,w=S>0;if(b){let M=e.screen.height-n.screen.height;if(M>e.viewport.height)return gi(n,"offscreen",this.options.stylePool);g.txn(_=>[[{type:"clear",count:M},{type:"cursorMove",x:0,y:-1}],{dx:-_.x,dy:-M}]);}let v=f?1:0,y=w?Math.max(0,e.screen.height-e.viewport.height+v):Math.max(e.screen.height,n.screen.height)-n.viewport.height+v,T=s.none,C,A=false,D=-1;if(al(e.screen,n.screen,(M,_,B,I)=>{if(!(w&&_>=e.screen.height)&&!(I&&(I.width===2||I.width===3))&&!(B&&(B.width===2||B.width===3)&&!I)&&!(I&&fs(n.screen,M,_)&&!B)){if(_<y)return A=true,D=_,true;if(_l(g,M,_),I){let L=I.hyperlink;C=bo(g.diff,C,L);let K=s.transition(T,I.styleId);Ff(g,I,K)&&(T=I.styleId);}else if(B){let L=T,K=C;T=s.none,C=void 0,g.txn(()=>{let z=[];return Ps(z,s,L,s.none),bo(z,K,void 0),z.push({type:"stdout",content:" "}),[z,{dx:1,dy:0}]});}}}),A)return gi(n,"offscreen",s,{triggerY:D,prevLine:Ms(e.screen,D),nextLine:Ms(n.screen,D)});T=Ps(g.diff,s,T,s.none),C=bo(g.diff,C,void 0),w&&Bf(g,n,e.screen.height,n.screen.height,s),r||(n.cursor.y>=n.screen.height?g.txn(M=>{let _=n.cursor.y-M.y;if(_>0){let I=new Array(1+_);I[0]=xo;for(let L=0;L<_;L++)I[1+L]=As;return [I,{dx:-M.x,dy:_}]}let B=n.cursor.y-M.y;if(B!==0||M.x!==n.cursor.x){let I=[xo];return I.push({type:"cursorMove",x:n.cursor.x,y:B}),[I,{dx:n.cursor.x-M.x,dy:B}]}return [[],{dx:0,dy:0}]}):_l(g,n.cursor.x,n.cursor.y));let P=performance.now()-i;if(P>50){let M=n.screen.damage,_=M?`${M.width}x${M.height} at (${M.x},${M.y})`:"none";Fe(`Slow render: ${P.toFixed(1)}ms, screen: ${n.screen.height}x${n.screen.width}, damage: ${_}, changes: ${g.diff.length}`);}return l.length>0?[...l,...g.diff]:g.diff}};function bo(t,e,n){return e!==n?(t.push({type:"hyperlink",uri:n??""}),n):e}a(bo,"transitionHyperlink");function Ps(t,e,n,r){let o=e.transition(n,r);return o.length>0&&t.push({type:"styleStr",str:o}),r}a(Ps,"transitionStyle");function Ms(t,e){let n="";for(let r=0;r<t.width;r++)n+=Fd(t,r,e)??" ";return n.trimEnd()}a(Ms,"readLine");function gi(t,e,n,r){let o=new Os({x:0,y:0},t.viewport.width);return Tb(o,t,n),[{type:"clearTerminal",reason:e,debug:r},...o.diff]}a(gi,"fullResetSequence_CAUSES_FLICKER");function Tb(t,e,n){Bf(t,e,0,e.screen.height,n);}a(Tb,"renderFrame");function Bf(t,e,n,r,o){let i=o.none,s,l=-1,{width:c,cells:d,charPool:f,hyperlinkPool:m}=e.screen,h=n*c;for(let g=n;g<r;g+=1){if(t.cursor.y<g){let S=g-t.cursor.y;t.txn(b=>{let w=new Array(1+S);w[0]=xo;for(let v=0;v<S;v++)w[1+v]=As;return [w,{dx:-b.x,dy:S}]});}l=-1;for(let S=0;S<c;S+=1,h+=1){let b=Bd(d,f,m,h,l);if(!b)continue;_l(t,S,g);let w=b.hyperlink;s=bo(t.diff,s,w);let v=o.transition(i,b.styleId);Ff(t,b,v)&&(i=b.styleId,l=b.styleId);}i=Ps(t.diff,o,i,o.none),s=bo(t.diff,s,void 0),t.txn(S=>[[xo,As],{dx:-S.x,dy:1}]);}return Ps(t.diff,o,i,o.none),bo(t.diff,s,void 0),t}a(Bf,"renderFrameSlice");function Ff(t,e,n){let r=e.width===1?2:1,o=t.cursor.x,i=t.viewportWidth;if(r===2&&o<i){let c=e.char.length>2?i:i+1;if(o+2>=c)return false}let s=t.diff;n.length>0&&s.push({type:"styleStr",str:n});let l=r===2&&Eb(e.char);return l&&o+1<i&&(s.push({type:"cursorTo",col:o+2}),s.push({type:"stdout",content:" "}),s.push({type:"cursorTo",col:o+1})),s.push({type:"stdout",content:e.char}),l&&s.push({type:"cursorTo",col:o+r+1}),o>=i?(t.cursor.x=r,t.cursor.y++):t.cursor.x=o+r,true}a(Ff,"writeCellWithStyleStr");function _l(t,e,n){t.txn(r=>{let o=e-r.x,i=n-r.y;return r.x>=t.viewportWidth?[[xo,{type:"cursorMove",x:e,y:i}],{dx:o,dy:i}]:i!==0?[[xo,{type:"cursorMove",x:e,y:i}],{dx:o,dy:i}]:[[{type:"cursorMove",x:o,y:i}],{dx:o,dy:i}]});}a(_l,"moveCursorTo");function Eb(t){let e=t.codePointAt(0);if(e===void 0)return false;if(e>=129648&&e<=129791||e>=129792&&e<=130047)return true;if(t.length>=2){for(let n=0;n<t.length;n++)if(t.charCodeAt(n)===65039)return true}return false}a(Eb,"needsWidthCompensation");var Os=class{constructor(e,n){this.viewportWidth=n;this.cursor={...e};}static{a(this,"VirtualScreen");}cursor;diff=[];txn(e){let[n,r]=e(this.cursor);for(let o of n)this.diff.push(o);this.cursor.x+=r.dx,this.cursor.y+=r.dy;}};h();function Ml(t){if(t.length<=1)return t;let e=[],n=0;for(let r of t){let o=r.type;if(o==="stdout"){if(r.content==="")continue}else if(o==="cursorMove"){if(r.x===0&&r.y===0)continue}else if(o==="clear"&&r.count===0)continue;if(n>0){let i=n-1,s=e[i],l=s.type;if(o==="cursorMove"&&l==="cursorMove"){e[i]={type:"cursorMove",x:s.x+r.x,y:s.y+r.y};continue}if(o==="cursorTo"&&l==="cursorTo"){e[i]=r;continue}if(o==="styleStr"&&l==="styleStr"){e[i]={type:"styleStr",str:s.str+r.str};continue}if(o==="hyperlink"&&l==="hyperlink"&&r.uri===s.uri)continue;if(o==="cursorShow"&&l==="cursorHide"||o==="cursorHide"&&l==="cursorShow"){e.pop(),n--;continue}}e.push(r),n++;}return e}a(Ml,"optimize");h();h();var Al,Nl;function kb(){return Nl===void 0&&(Nl=process.platform==="win32"||typeof process.env.WT_SESSION=="string"||process.env.TERM_PROGRAM==="vscode"),Nl}a(kb,"needsBidi");function Rb(){return Al||(Al=Cb()),Al}a(Rb,"getBidi");function $f(t){if(!kb()||t.length===0)return t;let e=t.map(c=>c.value).join("");if(!Ab(e))return t;let n=Rb(),{levels:r}=n.getEmbeddingLevels(e,"auto"),o=[],i=0;for(let c=0;c<t.length;c++)o.push(r[i]),i+=t[c].value.length;let s=[...t],l=Math.max(...o);for(let c=l;c>=1;c--){let d=0;for(;d<s.length;)if(o[d]>=c){let f=d+1;for(;f<s.length&&o[f]>=c;)f++;_b(s,d,f-1),Mb(o,d,f-1),d=f;}else d++;}return s}a($f,"reorderBidi");function _b(t,e,n){for(;e<n;){let r=t[e];t[e]=t[n],t[n]=r,e++,n--;}}a(_b,"reverseRange");function Mb(t,e,n){for(;e<n;){let r=t[e];t[e]=t[n],t[n]=r,e++,n--;}}a(Mb,"reverseRangeNumbers");function Ab(t){return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(t)}a(Ab,"hasRTLCharacters");h();function Is(t){let e=0,n=0;for(;n<=t.length;){let r=t.indexOf(`
|
|
44
|
+
`,n),o=r===-1?t.substring(n):t.substring(n,r);if(e=Math.max(e,Qi(o)),r===-1)break;n=r+1;}return e}a(Is,"widestLine");function Ob(t,e){return t?{x1:Wf(t.x1,e.x1),x2:Hf(t.x2,e.x2),y1:Wf(t.y1,e.y1),y2:Hf(t.y2,e.y2)}:e}a(Ob,"intersectClip");function Wf(t,e){return t===void 0?e:e===void 0?t:Math.max(t,e)}a(Wf,"maxDefined");function Hf(t,e){return t===void 0?e:e===void 0?t:Math.min(t,e)}a(Hf,"minDefined");var xr=class{static{a(this,"Output");}width;height;stylePool;screen;operations=[];charCache=new Map;constructor(e){let{width:n,height:r,stylePool:o,screen:i}=e;this.width=n,this.height=r,this.stylePool=o,this.screen=i,il(i,n,r);}reset(e,n,r){this.width=e,this.height=n,this.screen=r,this.operations.length=0,il(r,e,n),this.charCache.size>16384&&this.charCache.clear();}blit(e,n,r,o,i){this.operations.push({type:"blit",src:e,x:n,y:r,width:o,height:i});}shift(e,n,r){this.operations.push({type:"shift",top:e,bottom:n,n:r});}clear(e,n){this.operations.push({type:"clear",region:e,fromAbsolute:n});}noSelect(e){this.operations.push({type:"noSelect",region:e});}write(e,n,r,o){r&&this.operations.push({type:"write",x:e,y:n,text:r,softWrap:o});}clip(e){this.operations.push({type:"clip",clip:e});}unclip(){this.operations.push({type:"unclip"});}get(){let e=this.screen,n=this.width,r=this.height,o=0,i=0,s=[];for(let d of this.operations){if(d.type!=="clear")continue;let{x:f,y:m,width:h,height:g}=d.region,S=Math.max(0,f),b=Math.max(0,m),w=Math.min(f+h,n),v=Math.min(m+g,r);if(S>=w||b>=v)continue;let y={x:S,y:b,width:w-S,height:v-b};e.damage=e.damage?gr(e.damage,y):y,d.fromAbsolute&&s.push(y);}let l=[];for(let d of this.operations)switch(d.type){case "clear":continue;case "clip":l.push(Ob(l.at(-1),d.clip));continue;case "unclip":l.pop();continue;case "blit":{let{src:f,x:m,y:h,width:g,height:S}=d,b=l.at(-1),w=Math.max(m,b?.x1??0),v=Math.max(h,b?.y1??0),y=Math.min(h+S,r,f.height,b?.y2??1/0),T=Math.min(m+g,n,f.width,b?.x2??1/0);if(w>=T||v>=y)continue;if(s.length===0){sl(e,f,w,v,T,y),o+=(y-v)*(T-w);continue}let C=v;for(let A=v;A<=y;A++)(A<y&&s.some(P=>A>=P.y&&A<P.y+P.height&&w>=P.x&&T<=P.x+P.width)||A===y)&&(A>C&&(sl(e,f,w,C,T,A),o+=(A-C)*(T-w)),C=A+1);continue}case "shift":{ps(e,d.top,d.bottom,d.n);continue}case "write":{let{text:f,softWrap:m}=d,{x:h,y:g}=d,S=f.split(`
|
|
45
|
+
`),b=0,w=0,v=l.at(-1);if(v){let C=typeof v?.x1=="number"&&typeof v?.x2=="number",A=typeof v?.y1=="number"&&typeof v?.y2=="number";if(C){let D=Is(f);if(h+D<=v.x1||h>=v.x2)continue}if(A){let D=S.length;if(g+D<=v.y1||g>=v.y2)continue}if(C&&(S=S.map(D=>{let P=h<v.x1?v.x1-h:0,M=It(D),_=h+M>v.x2?v.x2-h:M,B=Or(D,P,_);return It(B)>_-P&&(B=Or(D,P,_-1)),B}),h<v.x1&&(h=v.x1)),A){let D=g<v.y1?v.y1-g:0,P=S.length,M=g+P>v.y2?v.y2-g:P;m&&D>0&&m[D]===true&&(w=h+It(S[D-1])),S=S.slice(D,M),b=D,g<v.y1&&(g=v.y1);}}let y=e.softWrap,T=0;for(let C of S){let A=g+T;if(A>=r)break;let D=Lb(e,C,h,A,n,this.stylePool,this.charCache);if(i+=D-h,m){let P=m[b+T]===true;y[A]=P?w:0,w=D;}T++;}continue}}for(let d of this.operations)if(d.type==="noSelect"){let{x:f,y:m,width:h,height:g}=d.region;Ud(e,f,m,h,g);}let c=o+i;return c>1e3&&i>o&&Fe(`[ink] High write ratio: blit=${o}, write=${i} (${(i/c*100).toFixed(1)}% writes), screen=${r}x${n}`),e}};function Ib(t,e){if(t===e)return true;let n=t.length;if(n!==e.length)return false;if(n===0)return true;for(let r=0;r<n;r++)if(t[r].code!==e[r].code)return false;return true}a(Ib,"stylesEqual");function Db(t,e){let n=t.length;if(n===0)return [];let r=[],o=[],i=t[0].styles;for(let s=0;s<n;s++){let l=t[s],c=l.styles;o.length>0&&!Ib(c,i)&&(Uf(o.join(""),i,e,r),o.length=0),o.push(l.value),i=c;}return o.length>0&&Uf(o.join(""),i,e,r),r}a(Db,"styledCharsWithGraphemeClustering");function Uf(t,e,n,r){let o=Wd(e)??void 0,s=o!==void 0||e.some(c=>c.code.length>=li.length&&c.code.startsWith(li))?Hd(e):e,l=n.intern(s);for(let{segment:c}of _r().segment(t))r.push({value:c,width:It(c),styleId:l,hyperlink:o});}a(Uf,"flushBuffer");function Lb(t,e,n,r,o,i,s){let l=s.get(e);l||(l=$f(Db(styledCharsFromTokens(tokenize(e)),i)),s.set(e,l));let c=n;for(let d=0;d<l.length;d++){let f=l[d],m=f.value.codePointAt(0);if(m!==void 0&&m<=31){if(m===9){let b=8-c%8;for(let w=0;w<b&&c<o;w++)ms(t,c,r,{char:" ",styleId:i.none,width:0,hyperlink:void 0}),c++;}else if(m===27){let S=l[d+1]?.value,b=S?.codePointAt(0);if(S==="("||S===")"||S==="*"||S==="+")d+=2;else if(S==="[")for(d++;d<l.length-1;){d++;let w=l[d]?.value.codePointAt(0);if(w!==void 0&&w>=64&&w<=126)break}else if(S==="]"||S==="P"||S==="_"||S==="^"||S==="X")for(d++;d<l.length-1;){d++;let w=l[d]?.value;if(w==="\x07")break;if(w==="\x1B"&&l[d+1]?.value==="\\"){d++;break}}else b!==void 0&&b>=48&&b<=126&&d++;}continue}let h=f.width;if(h===0)continue;let g=h>=2;if(g&&c+2>o){ms(t,c,r,{char:" ",styleId:i.none,width:3,hyperlink:void 0}),c++;continue}ms(t,c,r,{char:f.value,styleId:f.styleId,width:g?1:0,hyperlink:f.hyperlink}),c+=g?2:1;}return c}a(Lb,"writeLineToScreen");h();h();var Bb=a(t=>t.getComputedWidth()-t.getComputedPadding(de.Left)-t.getComputedPadding(de.Right)-t.getComputedBorder(de.Left)-t.getComputedBorder(de.Right),"getMaxWidth"),Gf=Bb;h();var $b={dashed:{top:"\u254C",left:"\u254E",right:"\u254E",bottom:"\u254C",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}};function Kf(t,e,n,r=0,o){let i=It(e),s=t.length;if(i>=s-2)return ["",e.substring(0,s),""];let l;n==="center"?l=Math.floor((s-i)/2):n==="start"?l=r+1:l=s-i-r-1,l=Math.max(1,Math.min(l,s-i-1));let c=t.substring(0,1)+o.repeat(l-1),d=o.repeat(s-l-i-1)+t.substring(s-1);return [c,e,d]}a(Kf,"embedTextInBorder");function So(t,e,n){let r=ji(t,e);return n&&(r=Z.dim(r)),r}a(So,"styleBorderLine");var Wb=a((t,e,n,r)=>{if(n.style.borderStyle){let o=Math.floor(n.yogaNode.getComputedWidth()),i=Math.floor(n.yogaNode.getComputedHeight()),s=typeof n.style.borderStyle=="string"?$b[n.style.borderStyle]??Fb[n.style.borderStyle]:n.style.borderStyle,l=n.style.borderTopColor??n.style.borderColor,c=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,m=n.style.borderTopDimColor??n.style.borderDimColor,h=n.style.borderBottomDimColor??n.style.borderDimColor,g=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,b=n.style.borderTop!==false,w=n.style.borderBottom!==false,v=n.style.borderLeft!==false,y=n.style.borderRight!==false,T=Math.max(0,o-(v?1:0)-(y?1:0)),C=b?(v?s.topLeft:"")+s.top.repeat(T)+(y?s.topRight:""):"",A;if(b&&n.style.borderText?.position==="top"){let[L,K,z]=Kf(C,n.style.borderText.content,n.style.borderText.align,n.style.borderText.offset,s.top);A=So(L,l,m)+K+So(z,l,m);}else b&&(A=So(C,l,m));let D=i;b&&(D-=1),w&&(D-=1),D=Math.max(0,D);let P=(ji(s.left,d)+`
|
|
46
|
+
`).repeat(D);g&&(P=Z.dim(P));let M=(ji(s.right,f)+`
|
|
47
|
+
`).repeat(D);S&&(M=Z.dim(M));let _=w?(v?s.bottomLeft:"")+s.bottom.repeat(T)+(y?s.bottomRight:""):"",B;if(w&&n.style.borderText?.position==="bottom"){let[L,K,z]=Kf(_,n.style.borderText.content,n.style.borderText.align,n.style.borderText.offset,s.bottom);B=So(L,c,h)+K+So(z,c,h);}else w&&(B=So(_,c,h));let I=b?1:0;A&&r.write(t,e,A),v&&r.write(t,e+I,P),y&&r.write(t+o-1,e+I,M),B&&r.write(t,e+i-1,B);}},"renderBorder"),jf=Wb;function Ub(){return process.env.TERM_PROGRAM==="vscode"||ws()}a(Ub,"isXtermJsHost");var vo=false;function Bl(){vo=false;}a(Bl,"resetLayoutShifted");function Jf(){return vo}a(Jf,"didLayoutShift");var Ds=null,Dl=[],hi=[];function Xf(){Ds=null,Dl=hi,hi=[];}a(Xf,"resetScrollHint");function Qf(){return Ds}a(Qf,"getScrollHint");var Fl=null;function Zf(){Fl=null;}a(Zf,"resetScrollDrainNode");function em(){return Fl}a(em,"getScrollDrainNode");var Ll=null;function tm(){let t=Ll;return Ll=null,t}a(tm,"consumeFollowScroll");var Gb=4,Kb=5,jb=12,Yb=2,qb=3,Ol=30;function Vb(t,e,n){let r=e>0?1:-1,o=Math.abs(e),i=0;o>Ol&&(i+=r*(o-Ol),o=Ol);let s=o<=Kb?o:o<jb?Yb:qb;i+=r*s;let l=o-s,c=Math.max(1,n-1),d=Math.abs(i);if(d>c){let f=d-c;return t.pendingScrollDelta=r*(l+f),r*c}return t.pendingScrollDelta=l>0?r*l:void 0,i}a(Vb,"drainAdaptive");function zb(t,e,n){let r=Math.abs(e),o=Math.max(1,n-1),i=Math.min(o,Math.max(Gb,r*3>>2));if(r<=i)return t.pendingScrollDelta=void 0,e;let s=e>0?i:-i;return t.pendingScrollDelta=e-s,s}a(zb,"drainProportional");var Yf="\x1B]",qf="\x07";function Ls(t,e){return `${Yf}8;;${e}${qf}${t}${Yf}8;;${qf}`}a(Ls,"wrapWithOsc8Link");function Jb(t){let e=[];for(let n=0;n<t.length;n++){let r=t[n].text.length;for(let o=0;o<r;o++)e.push(n);}return e}a(Jb,"buildCharToSegmentMap");function Xb(t,e,n,r,o=false){let i=t.split(`
|
|
48
|
+
`),s=[],l=0;for(let c=0;c<i.length;c++){let d=i[c];if(o&&d.length>0){let b=/\s/.test(d[0]);if(l<r.length&&/\s/.test(r[l])&&!b)for(;l<r.length&&/\s/.test(r[l]);)l++;}let f="",m=0,h=n[l]??0;for(let b=0;b<d.length;b++){let w=n[l]??h;if(w!==h){let v=d.slice(m,b),y=e[h];if(y){let T=Qr(v,y.styles);y.hyperlink&&(T=Ls(T,y.hyperlink)),f+=T;}else f+=v;m=b,h=w;}l++;}let g=d.slice(m),S=e[h];if(S){let b=Qr(g,S.styles);S.hyperlink&&(b=Ls(b,S.hyperlink)),f+=b;}else f+=g;if(s.push(f),l<r.length&&r[l]===`
|
|
49
49
|
`&&l++,o&&c<i.length-1){let b=i[c+1],w=b.length>0?b[0]:null;for(;l<r.length&&/\s/.test(r[l])&&!(w!==null&&r[l]===w);)l++;}}return s.join(`
|
|
50
|
-
`)}a(
|
|
51
|
-
`),o=[],i=[];for(let s of r){let l=
|
|
50
|
+
`)}a(Xb,"applyStylesToWrappedText");function Vf(t,e,n){if(n!=="wrap"&&n!=="wrap-trim")return {wrapped:oo(t,e,n),softWrap:void 0};let r=t.split(`
|
|
51
|
+
`),o=[],i=[];for(let s of r){let l=oo(s,e,n).split(`
|
|
52
52
|
`);for(let c=0;c<l.length;c++)o.push(l[c]),i.push(c>0);}return {wrapped:o.join(`
|
|
53
|
-
`),softWrap:i}}a(
|
|
54
|
-
`.repeat(i)+
|
|
55
|
-
`).map(
|
|
56
|
-
`);}else if(D){let _=
|
|
57
|
-
`);e.write(Math.floor(c),
|
|
58
|
-
`);e.write(Math.floor(c),
|
|
59
|
-
`);e.write(c+I,f+z,ne);}}Yf(t,e,c,f,w,O||t.style.opaque?void 0:o,y);}M&&e.unclip(),Uf(c,f,t,e);}else t.nodeName==="ink-root"&&Yf(t,e,c,f,w,o,s);let S={x:c,y:f,width:m,height:h,top:d};nt.set(t,S),t.style.position==="absolute"&&fi.push(S),t.dirty=false;}}a(Ps,"renderNodeToOutput");function Yf(t,e,n,r,o,i,s){let l=false,c=false;for(let d of t.childNodes){let f=d,m=f.dirty,h=f.style.position==="absolute";Ps(f,e,{offsetX:n,offsetY:r,prevScreen:o||l?void 0:i,skipSelfBlit:c&&h&&!f.style.opaque&&f.style.backgroundColor===void 0,inheritedBackgroundColor:s}),m&&!l&&(!Jb(f)||h?l=true:c=true);}}a(Yf,"renderChildren");function Jb(t){let e=t.style.overflowX??t.style.overflow,n=t.style.overflowY??t.style.overflow;return (e==="hidden"||e==="scroll")&&(n==="hidden"||n==="scroll")}a(Jb,"clipsBothAxes");function Xb(t,e){let n=t.parentNode;if(!n)return false;let r=e.getComputedTop(),o=n.childNodes,i=o.indexOf(t);for(let s=i+1;s<o.length;s++){let l=o[s].yogaNode;if(l)return l.getComputedTop()===r}for(let s=i-1;s>=0;s--){let l=o[s].yogaNode;if(l)return l.getComputedTop()===r}return false}a(Xb,"siblingSharesY");function Zf(t,e,n,r,o,i,s){let l=r+i,c=o+s;for(let d of t.childNodes){if(d.nodeName==="#text")continue;let f=d;if(f.style.position==="absolute"){let m=nt.get(f);if(m){fi.push(m);let h=Math.floor(m.x),g=Math.floor(m.y),v=Math.floor(m.width),b=Math.floor(m.height);(h<r||g<o||h+v>l||g+b>c)&&e.blit(n,h,g,v,b);}}Zf(f,e,n,r,o,i,s);}}a(Zf,"blitEscapingAbsoluteDescendants");function Al(t,e,n,r,o,i,s,l,c,d=false){let f=false,m=0;for(let h of t.childNodes){let g=h,v=g.yogaNode;if(v){let w=nt.get(g),S,y;if(w?.top!==void 0&&!g.dirty&&m===0?(S=w.top,y=w.height):(S=v.getComputedTop(),y=v.getComputedHeight(),g.dirty&&(m+=y-(w?w.height:0)),w&&(w.top=S)),S+y<=s||S>=l){d||Dl(g);continue}}let b=g.dirty;Ps(g,e,{offsetX:n,offsetY:r,prevScreen:o||f?void 0:i,inheritedBackgroundColor:c}),b&&(f=true);}}a(Al,"renderScrolledChildren");function Dl(t){nt.delete(t);for(let e of t.childNodes)e.nodeName!=="#text"&&Dl(e);}a(Dl,"dropSubtreeCache");var mi=Ps;h();var Qb={scan:0};function em(t,e){let n=e.toLowerCase();if(!n)return [];let r=n.length,o=t.width,i=t.height,s=t.noSelect,l=[],c=performance.now();for(let d=0;d<i;d++){let f=d*o,m="",h=[],g=[];for(let b=0;b<o;b++){let w=f+b,S=Jn(t,w);if(S.width===2||S.width===3||s[w]===1)continue;let y=S.char.toLowerCase(),T=h.length;for(let E=0;E<y.length;E++)g.push(T);m+=y,h.push(b);}let v=m.indexOf(n);for(;v>=0;){let b=g[v],w=g[v+r-1],S=h[b],y=h[w]+1;l.push({row:d,col:S,len:y-S}),v=m.indexOf(n,v+r);}}return Qb.scan+=performance.now()-c,l}a(em,"scanPositions");function tm(t,e,n,r,o){if(o<0||o>=n.length)return false;let i=n[o],s=i.row+r;if(s<0||s>=t.height)return false;let l=a(d=>e.withCurrentMatch(d),"transform"),c=s*t.width;for(let d=i.col;d<i.col+i.len;d++){if(d<0||d>=t.width)continue;let f=Jn(t,c+d);lo(t,d,s,l(f.styleId));}return true}a(tm,"applyPositionedHighlight");h();function Ll(t,e){let n;return r=>{let{frontFrame:o,backFrame:i,isTTY:s,terminalWidth:l,terminalRows:c}=r,d=o.screen,f=i.screen,m=f.charPool,h=f.hyperlinkPool,g=t.yogaNode?.getComputedHeight(),v=t.yogaNode?.getComputedWidth(),b=g===void 0||!Number.isFinite(g)||g<0,w=v===void 0||!Number.isFinite(v)||v<0;if(!t.yogaNode||b||w)return t.yogaNode&&(b||w)&&Le(`Invalid yoga dimensions: width=${v}, height=${g}, childNodes=${t.childNodes.length}, terminalWidth=${l}, terminalRows=${c}`),{screen:zn(l,0,e,m,h),viewport:{width:l,height:c},cursor:{x:0,y:0,visible:true}};let S=Math.floor(t.yogaNode.getComputedWidth()),y=Math.floor(t.yogaNode.getComputedHeight()),T=r.altScreen?c:y;r.altScreen&&y>c&&Le(`alt-screen: yoga height ${y} > terminalRows ${c} \u2014 something is rendering outside <AlternateScreen>. Overflow clipped.`,{level:"warn"});let E=f??zn(S,T,e,m,h);n?n.reset(S,T,E):n=new hr({width:S,height:T,stylePool:e,screen:E}),Pl(),Vf(),Jf();let A=cd();mi(t,n,{prevScreen:A||r.prevFrameContaminated?void 0:d});let D=n.get(),N=Xf();return N&&_t(N),{scrollHint:r.altScreen?zf():null,scrollDrainPending:N!==null,screen:D,viewport:{width:l,height:r.altScreen?c+1:c},cursor:{x:0,y:r.altScreen?Math.max(0,Math.min(E.height,c)-1):E.height,visible:!s||E.height===0}}}}a(Ll,"createRenderer");h();function nm(t,e,n){if(!e)return false;let r=e.toLowerCase(),o=r.length,i=t.width,s=t.noSelect,l=t.height,c=false;for(let d=0;d<l;d++){let f=d*i,m="",h=[],g=[];for(let b=0;b<i;b++){let w=f+b,S=Jn(t,w);if(S.width===2||S.width===3||s[w]===1)continue;let y=S.char.toLowerCase(),T=h.length;for(let E=0;E<y.length;E++)g.push(T);m+=y,h.push(b);}let v=m.indexOf(r);for(;v>=0;){c=true;let b=g[v],w=g[v+o-1];for(let S=b;S<=w;S++){let y=h[S],T=Jn(t,f+y);lo(t,y,d,n.withInverse(T.styleId));}v=m.indexOf(r,v+o);}}return c}a(nm,"applySearchHighlight");h();var rm=createContext(null),om=rm.Provider;var ax=Object.freeze({x:0,y:0,visible:false}),lx=Object.freeze({type:"stdout",content:In}),cx=Object.freeze({type:"stdout",content:ur+In});function am(t){return Object.freeze({type:"stdout",content:Ma(t,1)})}a(am,"makeAltScreenParkPatch");var pi=class{constructor(e){this.options=e;ex(this),this.options.patchConsole&&(this.restoreConsole=this.patchConsole(),this.restoreStderr=this.patchStderr()),this.terminal={stdout:e.stdout,stderr:e.stderr},this.terminalColumns=e.stdout.columns||80,this.terminalRows=e.stdout.rows||24,this.altScreenParkPatch=am(this.terminalRows),this.stylePool=new ni,this.charPool=new oo,this.hyperlinkPool=new io,this.frontFrame=gr(this.terminalRows,this.terminalColumns,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=gr(this.terminalRows,this.terminalColumns,this.stylePool,this.charPool,this.hyperlinkPool),this.log=new Rs({isTTY:e.stdout.isTTY||false,stylePool:this.stylePool});let n=a(()=>queueMicrotask(this.onRender),"deferredRender");this.scheduleRender=ox(n,16,{leading:true,trailing:true}),this.isUnmounted=false,this.unsubscribeExit=onExit(this.unmount,{alwaysLast:false}),e.stdout.isTTY&&(e.stdout.on("resize",this.handleResize),process.on("SIGCONT",this.handleResume),this.unsubscribeTTYHandlers=()=>{e.stdout.off("resize",this.handleResize),process.off("SIGCONT",this.handleResume);}),this.rootNode=Qo("ink-root"),this.focusManager=new ti((r,o)=>Vn.dispatchDiscrete(r,o)),this.rootNode.focusManager=this.focusManager,this.renderer=Ll(this.rootNode,this.stylePool),this.rootNode.onRender=this.scheduleRender,this.rootNode.onImmediateRender=this.onRender,this.rootNode.onComputeLayout=()=>{if(!this.isUnmounted&&this.rootNode.yogaNode){let r=performance.now();this.rootNode.yogaNode.setWidth(this.terminalColumns),this.rootNode.yogaNode.calculateLayout(this.terminalColumns);let o=performance.now()-r;kd(o);let i=Wi();this.lastYogaCounters={ms:o,...i};}},this.container=Dn.createContainer(this.rootNode,ConcurrentRoot,null,false,null,"id",So,So,So,So);}static{a(this,"Ink");}log;terminal;scheduleRender;isUnmounted=false;isPaused=false;container;rootNode;focusManager;renderer;stylePool;charPool;hyperlinkPool;exitPromise;restoreConsole;restoreStderr;unsubscribeTTYHandlers;terminalColumns;terminalRows;currentNode=null;frontFrame;backFrame;lastPoolResetTime=performance.now();drainTimer=null;lastYogaCounters={ms:0,visited:0,measured:0,cacheHits:0,live:0};altScreenParkPatch;selection=Wd();searchHighlightQuery="";searchPositions=null;selectionListeners=new Set;hoveredNodes=new Set;altScreenActive=false;altScreenMouseTracking=false;prevFrameContaminated=false;needsEraseBeforePaint=false;cursorDeclaration=null;displayCursor=null;handleResume=a(()=>{if(this.options.stdout.isTTY){if(this.altScreenActive){this.reenterAltScreen();return}this.frontFrame=gr(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=gr(this.backFrame.viewport.height,this.backFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null;}},"handleResume");handleResize=a(()=>{let e=this.options.stdout.columns||80,n=this.options.stdout.rows||24;e===this.terminalColumns&&n===this.terminalRows||(this.terminalColumns=e,this.terminalRows=n,this.altScreenParkPatch=am(this.terminalRows),this.altScreenActive&&!this.isPaused&&this.options.stdout.isTTY&&(this.altScreenMouseTracking&&this.options.stdout.write(fo),this.resetFramesForAltScreen(),this.needsEraseBeforePaint=true),this.currentNode!==null&&this.render(this.currentNode));},"handleResize");resolveExitPromise=a(()=>{},"resolveExitPromise");rejectExitPromise=a(()=>{},"rejectExitPromise");unsubscribeExit=a(()=>{},"unsubscribeExit");enterAlternateScreen(){this.pause(),this.suspendStdin(),this.options.stdout.write(Mr+Vo+(this.altScreenMouseTracking?mo:"")+(this.altScreenActive?"":"\x1B[?1049h")+"\x1B[?1004l\x1B[0m\x1B[?25h\x1B[2J\x1B[H");}exitAlternateScreen(){this.options.stdout.write((this.altScreenActive?gs:"")+"\x1B[2J\x1B[H"+(this.altScreenMouseTracking?fo:"")+(this.altScreenActive?"":"\x1B[?1049l")+"\x1B[?25l"),this.resumeStdin(),this.altScreenActive?this.resetFramesForAltScreen():this.repaint(),this.resume(),this.options.stdout.write("\x1B[?1004h"+(ci()?Mr+Yo+qo:""));}onRender(){if(this.isUnmounted||this.isPaused)return;this.drainTimer!==null&&(clearTimeout(this.drainTimer),this.drainTimer=null);let e=performance.now(),n=this.options.stdout.columns||80,r=this.options.stdout.rows||24,o=this.renderer({frontFrame:this.frontFrame,backFrame:this.backFrame,isTTY:this.options.stdout.isTTY,terminalWidth:n,terminalRows:r,altScreen:this.altScreenActive,prevFrameContaminated:this.prevFrameContaminated}),i=performance.now()-e,s=Qf();if(s&&this.selection.anchor&&this.selection.anchor.row>=s.viewportTop&&this.selection.anchor.row<=s.viewportBottom){let{delta:I,viewportTop:K,viewportBottom:z}=s;if(this.selection.isDragging)Qt(this.selection)&&ms(this.selection,this.frontFrame.screen,K,K+I-1,"above"),zd(this.selection,-I,K,z);else if((!this.selection.focus||this.selection.focus.row>=K&&this.selection.focus.row<=z)&&(Qt(this.selection)&&ms(this.selection,this.frontFrame.screen,K,K+I-1,"above"),Jd(this.selection,-I,K,z)))for(let Re of this.selectionListeners)Re();}let l=false,c=false;if(this.altScreenActive&&(l=Qt(this.selection),l&&Zd(o.screen,this.selection,this.stylePool),c=nm(o.screen,this.searchHighlightQuery,this.stylePool),this.searchPositions)){let I=this.searchPositions,K=tm(o.screen,this.stylePool,I.positions,I.rowOffset,I.currentIdx);c=c||K;}(qf()||l||c||this.prevFrameContaminated)&&(o.screen.damage={x:0,y:0,width:o.screen.width,height:o.screen.height});let d=this.frontFrame;this.altScreenActive&&(d={...this.frontFrame,cursor:ax});let f=performance.now(),m=this.log.render(d,o,this.altScreenActive,pl),h=performance.now()-f;this.backFrame=this.frontFrame,this.frontFrame=o,e-this.lastPoolResetTime>300*1e3&&(this.resetPools(),this.lastPoolResetTime=e);let g=[];for(let I of m)if(I.type==="clearTerminal"&&(g.push({desiredHeight:o.screen.height,availableHeight:o.viewport.height,reason:I.reason}),Qa()&&I.debug)){let K=yd(this.rootNode,I.debug.triggerY);Le(`[REPAINT] full reset \xB7 ${I.reason} \xB7 row ${I.debug.triggerY}
|
|
60
|
-
prev: "${
|
|
61
|
-
next: "${
|
|
62
|
-
culprit: ${K.length?K.join(" < "):"(no owner chain captured)"}`,{level:"warn"});}let v=performance.now(),b=Cl(m),w=performance.now()-v,S=b.length>0;this.altScreenActive&&S&&(this.needsEraseBeforePaint?(this.needsEraseBeforePaint=false,b.unshift(cx)):b.unshift(lx),b.push(this.altScreenParkPatch));let y=this.cursorDeclaration,T=y!==null?nt.get(y.node):void 0,E=y!==null&&T!==void 0?{x:T.x+y.relativeX,y:T.y+y.relativeY}:null,A=this.displayCursor,D=E!==null&&(A===null||A.x!==E.x||A.y!==E.y);if(S||D||E===null&&A!==null){if(A!==null&&!this.altScreenActive&&S){let I=d.cursor.x-A.x,K=d.cursor.y-A.y;(I!==0||K!==0)&&b.unshift({type:"stdout",content:Zr(I,K)});}if(E!==null){if(this.altScreenActive){let I=Math.min(Math.max(E.y+1,1),r),K=Math.min(Math.max(E.x+1,1),n);b.push({type:"stdout",content:Ma(I,K)});}else {let I=!S&&A!==null?A:{x:o.cursor.x,y:o.cursor.y},K=E.x-I.x,z=E.y-I.y;(K!==0||z!==0)&&b.push({type:"stdout",content:Zr(K,z)});}this.displayCursor=E;}else {if(A!==null&&!this.altScreenActive&&!S){let I=o.cursor.x-A.x,K=o.cursor.y-A.y;(I!==0||K!==0)&&b.push({type:"stdout",content:Zr(I,K)});}this.displayCursor=null;}}let N=performance.now();gl(this.terminal,b,this.altScreenActive&&!pl);let M=performance.now()-N;this.prevFrameContaminated=l||c,o.scrollDrainPending&&(this.drainTimer=setTimeout(()=>this.onRender(),4));let _=Rd(),L=_d(),O=this.lastYogaCounters;Md(),this.lastYogaCounters={ms:0,visited:0,measured:0,cacheHits:0,live:0},this.options.onFrame?.({durationMs:performance.now()-e,phases:{renderer:i,diff:h,optimize:w,write:M,patches:m.length,yoga:_,commit:L,yogaVisited:O.visited,yogaMeasured:O.measured,yogaCacheHits:O.cacheHits,yogaLive:O.live},flickers:g});}pause(){Dn.flushSyncFromReconciler(),this.onRender(),this.isPaused=true;}resume(){this.isPaused=false,this.onRender();}repaint(){this.frontFrame=gr(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=gr(this.backFrame.viewport.height,this.backFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null;}forceRedraw(){!this.options.stdout.isTTY||this.isUnmounted||this.isPaused||(this.options.stdout.write(ur+In),this.altScreenActive?this.resetFramesForAltScreen():(this.repaint(),this.prevFrameContaminated=true),this.onRender());}invalidatePrevFrame(){this.prevFrameContaminated=true;}setAltScreenActive(e,n=false){this.altScreenActive!==e&&(this.altScreenActive=e,this.altScreenMouseTracking=e&&n,e?this.resetFramesForAltScreen():this.repaint());}get isAltScreenActive(){return this.altScreenActive}reassertTerminalModes=a((e=false)=>{this.options.stdout.isTTY&&(this.isPaused||(ci()&&this.options.stdout.write(Mr+Yo+qo),this.altScreenActive&&(this.altScreenMouseTracking&&this.options.stdout.write(fo),e&&this.reenterAltScreen())));},"reassertTerminalModes");detachForShutdown(){this.isUnmounted=true,this.scheduleRender.cancel?.();let e=this.options.stdin;this.drainStdin(),e.isTTY&&e.isRaw&&e.setRawMode&&e.setRawMode(false);}drainStdin(){ux(this.options.stdin);}reenterAltScreen(){this.options.stdout.write(gs+ur+In+(this.altScreenMouseTracking?fo:"")),this.resetFramesForAltScreen();}resetFramesForAltScreen(){let e=this.terminalRows,n=this.terminalColumns,r=a(()=>({screen:zn(n,e,this.stylePool,this.charPool,this.hyperlinkPool),viewport:{width:n,height:e+1},cursor:{x:0,y:0,visible:true}}),"blank");this.frontFrame=r(),this.backFrame=r(),this.log.reset(),this.displayCursor=null,this.prevFrameContaminated=true;}copySelectionNoClear(){if(!Qt(this.selection))return "";let e=Qd(this.selection,this.frontFrame.screen);return e&&sf(e).then(n=>{n&&this.options.stdout.write(n);}),e}copySelection(){if(!Qt(this.selection))return "";let e=this.copySelectionNoClear();return si(this.selection),this.notifySelectionChange(),e}clearTextSelection(){Qt(this.selection)&&(si(this.selection),this.notifySelectionChange());}setSearchHighlight(e){this.searchHighlightQuery!==e&&(this.searchHighlightQuery=e,this.scheduleRender());}scanElementSubtree(e){if(!this.searchHighlightQuery||!e.yogaNode)return [];let n=Math.ceil(e.yogaNode.getComputedWidth()),r=Math.ceil(e.yogaNode.getComputedHeight());if(n<=0||r<=0)return [];let o=e.yogaNode.getComputedLeft(),i=e.yogaNode.getComputedTop(),s=zn(n,r,this.stylePool,this.charPool,this.hyperlinkPool),l=new hr({width:n,height:r,stylePool:this.stylePool,screen:s});mi(e,l,{offsetX:-o,offsetY:-i,prevScreen:void 0});let c=l.get();_t(e);let d=em(c,this.searchHighlightQuery);return Le(`scanElementSubtree: q='${this.searchHighlightQuery}' el=${n}x${r}@(${o},${i}) n=${d.length} [${d.slice(0,10).map(f=>`${f.row}:${f.col}`).join(",")}${d.length>10?",\u2026":""}]`),d}setSearchPositions(e){this.searchPositions=e,this.scheduleRender();}setSelectionBgColor(e){let n=jo("\0",e,"background"),r=n.indexOf("\0");if(r<=0||r===n.length-1){this.stylePool.setSelectionBg(null);return}this.stylePool.setSelectionBg({type:"ansi",code:n.slice(0,r),endCode:n.slice(r+1)});}captureScrolledRows(e,n,r){ms(this.selection,this.frontFrame.screen,e,n,r);}shiftSelectionForScroll(e,n,r){let o=Qt(this.selection);Vd(this.selection,e,n,r,this.frontFrame.screen.width),o&&!Qt(this.selection)&&this.notifySelectionChange();}moveSelectionFocus(e){if(!this.altScreenActive)return;let{focus:n}=this.selection;if(!n)return;let{width:r,height:o}=this.frontFrame.screen,i=r-1,s=o-1,{col:l,row:c}=n;switch(e){case "left":l>0?l--:c>0&&(l=i,c--);break;case "right":l<i?l++:c<s&&(l=0,c++);break;case "up":c>0&&c--;break;case "down":c<s&&c++;break;case "lineStart":l=0;break;case "lineEnd":l=i;break}l===n.col&&c===n.row||(qd(this.selection,l,c),this.notifySelectionChange());}hasTextSelection(){return Qt(this.selection)}subscribeToSelectionChange(e){return this.selectionListeners.add(e),()=>this.selectionListeners.delete(e)}notifySelectionChange(){this.onRender();for(let e of this.selectionListeners)e();}dispatchClick(e,n){if(!this.altScreenActive)return false;let r=ls(this.frontFrame.screen,e,n);return Af(this.rootNode,e,n,r)}dispatchHover(e,n){this.altScreenActive&&Nf(this.rootNode,e,n,this.hoveredNodes);}dispatchKeyboardEvent(e){let n=this.focusManager.activeElement??this.rootNode,r=new Ts(e);Vn.dispatchDiscrete(n,r),!r.defaultPrevented&&e.name==="tab"&&!e.ctrl&&!e.meta&&(e.shift?this.focusManager.focusPrevious(this.rootNode):this.focusManager.focusNext(this.rootNode));}getHyperlinkAt(e,n){if(!this.altScreenActive)return;let r=this.frontFrame.screen,o=Tt(r,e,n),i=o?.hyperlink;return !i&&o?.width===2&&e>0&&(i=Tt(r,e-1,n)?.hyperlink),i??Kd(r,e,n)}onHyperlinkClick;openHyperlink(e){this.onHyperlinkClick?.(e);}handleMultiClick(e,n,r){if(!this.altScreenActive)return;let o=this.frontFrame.screen;fs(this.selection,e,n),r===2?Gd(this.selection,o,e,n):jd(this.selection,o,n),this.selection.focus||(this.selection.focus=this.selection.anchor),this.notifySelectionChange();}handleSelectionDrag(e,n){if(!this.altScreenActive)return;let r=this.selection;r.anchorSpan?Yd(r,this.frontFrame.screen,e,n):Hd(r,e,n),this.notifySelectionChange();}stdinListeners=[];wasRawMode=false;suspendStdin(){let e=this.options.stdin;if(!e.isTTY)return;let n=e.listeners("readable");Le(`[stdin] suspendStdin: removing ${n.length} readable listener(s), wasRawMode=${e.isRaw??false}`),n.forEach(o=>{this.stdinListeners.push({event:"readable",listener:o}),e.removeListener("readable",o);});let r=e;r.isRaw&&r.setRawMode&&(r.setRawMode(false),this.wasRawMode=true);}resumeStdin(){let e=this.options.stdin;if(e.isTTY&&(this.stdinListeners.length===0&&!this.wasRawMode&&Le("[stdin] resumeStdin: called with no stored listeners and wasRawMode=false (possible desync)",{level:"warn"}),Le(`[stdin] resumeStdin: re-attaching ${this.stdinListeners.length} listener(s), wasRawMode=${this.wasRawMode}`),this.stdinListeners.forEach(({event:n,listener:r})=>{e.addListener(n,r);}),this.stdinListeners=[],this.wasRawMode)){let n=e;n.setRawMode&&n.setRawMode(true),this.wasRawMode=false;}}writeRaw(e){this.options.stdout.write(e);}setCursorDeclaration=a((e,n)=>{e===null&&n!==void 0&&this.cursorDeclaration?.node!==n||(this.cursorDeclaration=e);},"setCursorDeclaration");render(e){this.currentNode=e;let n=jsx(ui,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount,terminalColumns:this.terminalColumns,terminalRows:this.terminalRows,selection:this.selection,onSelectionChange:this.notifySelectionChange,onClickAt:this.dispatchClick,onHoverAt:this.dispatchHover,getHyperlinkAt:this.getHyperlinkAt,onOpenHyperlink:this.openHyperlink,onMultiClick:this.handleMultiClick,onSelectionDrag:this.handleSelectionDrag,onStdinResume:this.reassertTerminalModes,onCursorDeclaration:this.setCursorDeclaration,dispatchKeyboardEvent:this.dispatchKeyboardEvent,children:jsx(om,{value:this.writeRaw,children:e})});Dn.updateContainerSync(n,this.container,null,So),Dn.flushSyncWork();}unmount(e){if(this.isUnmounted)return;this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),this.restoreStderr?.(),this.unsubscribeTTYHandlers?.();let n=this.log.renderPreviousOutput_DEPRECATED(this.frontFrame);gl(this.terminal,Cl(n)),this.options.stdout.isTTY&&(this.altScreenActive&&writeSync(1,ul),writeSync(1,mo),this.drainStdin(),writeSync(1,Vo),writeSync(1,Mr),writeSync(1,ai),writeSync(1,ps),writeSync(1,Ir),writeSync(1,uf),ff()&&writeSync(1,fl(df))),this.isUnmounted=true,this.scheduleRender.cancel?.(),this.drainTimer!==null&&(clearTimeout(this.drainTimer),this.drainTimer=null),Dn.updateContainerSync(null,this.container,null,So),Dn.flushSyncWork(),Br.delete(this.options.stdout),this.rootNode.yogaNode?.free(),this.rootNode.yogaNode=void 0,e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise();}async waitUntilExit(){return this.exitPromise||=new Promise((e,n)=>{this.resolveExitPromise=e,this.rejectExitPromise=n;}),this.exitPromise}resetLineCount(){this.options.stdout.isTTY&&(this.backFrame=this.frontFrame,this.frontFrame=gr(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null);}resetPools(){this.charPool=new oo,this.hyperlinkPool=new io,Pd(this.frontFrame.screen,this.charPool,this.hyperlinkPool),this.backFrame.screen.charPool=this.charPool,this.backFrame.screen.hyperlinkPool=this.hyperlinkPool;}patchConsole(){let e=console,n={},r=a((...i)=>Le(`console.log: ${format(...i)}`),"toDebug"),o=a((...i)=>b$1.error(new Error(`console.error: ${format(...i)}`)),"toError");for(let i of dx)n[i]=e[i],e[i]=r;for(let i of fx)n[i]=e[i],e[i]=o;return n.assert=e.assert,e.assert=(i,...s)=>{i||o(...s);},()=>Object.assign(e,n)}patchStderr(){let e=process.stderr,n=e.write,r=false,o=a((i,s,l)=>{let c=typeof s=="function"?s:l;if(r){let d=typeof s=="string"?s:void 0;return n.call(e,i,d,c)}r=true;try{let d=typeof i=="string"?i:Buffer.from(i).toString("utf8");Le(`[stderr] ${d}`,{level:"warn"}),this.altScreenActive&&!this.isUnmounted&&!this.isPaused&&(this.prevFrameContaminated=!0,this.scheduleRender());}finally{r=false,c?.();}return true},"intercept");return e.write=o,()=>{e.write===o&&(e.write=n);}}};function ux(t=process.stdin){if(!t.isTTY)return;try{for(;t.read()!==null;);}catch{}if(process.platform==="win32")return;let e=t,n=e.isRaw===true,r=-1;try{n||e.setRawMode?.(!0),r=openSync("/dev/tty",constants.O_RDONLY|constants.O_NONBLOCK);let o=Buffer.alloc(1024);for(let i=0;i<64&&!(readSync(r,o,0,o.length,null)<=0);i++);}catch{}finally{if(r>=0)try{closeSync(r);}catch{}if(!n)try{e.setRawMode?.(!1);}catch{}}}a(ux,"drainStdin");var dx=["log","info","debug","dir","dirxml","count","countReset","group","groupCollapsed","groupEnd","table","time","timeEnd","timeLog"],fx=["warn","error","trace"];var cm=a((t,e)=>{let n=gx(e),r={stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,exitOnCtrlC:true,patchConsole:true,...n},o=hx(r.stdout,()=>new pi(r));return o.render(t),{rerender:o.render,unmount(){o.unmount();},waitUntilExit:o.waitUntilExit,cleanup:a(()=>Br.delete(r.stdout),"cleanup")}},"renderSync"),px=a(async(t,e)=>{await Promise.resolve();let n=cm(t,e);return Le(`[render] first ink render: ${Math.round(process.uptime()*1e3)}ms since process start`),n},"wrappedRender"),gi=px;var gx=a((t={})=>t instanceof Stream?{stdout:t,stdin:process.stdin}:t,"getOptions"),hx=a((t,e)=>{let n=Br.get(t);return n||(n=e(),Br.set(t,n)),n},"getInstance");h();h();h();h();h();var bx=a(()=>useContext(vs),"useApp"),Bl=bx;h();h();var Sx=a(()=>useContext(ws),"useStdin"),Fl=Sx;var Ex=a((t,e={})=>{let{setRawMode:n,internal_exitOnCtrlC:r,internal_eventEmitter:o}=Fl();useLayoutEffect(()=>{if(e.isActive!==false)return n(true),()=>{n(false);}},[e.isActive,n]);let i=useEventCallback(s=>{if(e.isActive===false)return;let{input:l,key:c}=s;(!(l==="c"&&c.ctrl)||!r)&&t(l,c,s);});useEffect(()=>(o?.on("input",i),()=>{o?.removeListener("input",i);}),[o,i]);},"useInput"),rt=Ex;h();h();h();h();var yr="rgb(45,42,40)",vo="rgb(250,247,240)",$l="rgb(235,130,140)",Cx="rgb(25,25,25)",um="rgb(60,40,20)",dm="rgb(250,247,240)";function fm(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[jsx(u,{color:yr,children:"\u259F"}),jsx(u,{color:$l,children:"\u2596"}),jsx(u,{children:" "}),jsx(u,{color:$l,children:"\u2597"}),jsx(u,{color:yr,children:"\u2599"})]}),jsxs(u,{children:[jsx(u,{color:yr,children:"\u2590\u2588"}),jsx(u,{color:yr,children:"\u2599"}),jsx(u,{color:vo,children:"\u2584"}),jsx(u,{color:yr,children:"\u259F"}),jsx(u,{color:yr,children:"\u2588\u258C"})]}),jsxs(u,{children:[jsx(u,{color:yr,children:"\u259D"}),jsx(u,{color:um,backgroundColor:dm,children:"\u25CF"}),jsx(u,{color:vo,children:"\u2584"}),jsx(u,{color:Cx,children:"\u25BC"}),jsx(u,{color:vo,children:"\u2584"}),jsx(u,{color:um,backgroundColor:dm,children:"\u25CF"}),jsx(u,{color:yr,children:"\u2598"})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:vo,children:"\u259C"}),jsx(u,{color:$l,children:"\u2584"}),jsx(u,{color:vo,children:"\u259B"}),jsx(u,{children:" "})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:vo,children:"\u259D\u2580\u2580\u2580\u2598"}),jsx(u,{children:" "})]})]})}a(fm,"DogLogo");h();var To="rgb(40,30,25)",xn="rgb(240,200,160)",en="rgb(80,80,180)",Eo="rgb(255,255,255)",gt="rgb(80,80,180)",hi="rgb(255,140,30)",tn="rgb(255,255,255)",_x=6,Mx=350;function pm(){let[t,e]=useState(0);switch(useEffect(()=>{let n=setInterval(()=>{e(r=>(r+1)%_x);},Mx);return ()=>clearInterval(n)},[]),t){case 0:return jsx(mm,{});case 1:return jsx(Ax,{});case 2:return jsx(Nx,{});case 3:return jsx(Ox,{});case 4:return jsx(Px,{});case 5:return jsx(Ix,{});default:return jsx(mm,{})}}a(pm,"KunLogo");function mm(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:To,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:Eo,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:en,children:"\u257F"}),jsx(u,{color:gt,children:"\u2588"}),jsx(u,{color:en,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:gt,children:"\u2502"})," ",jsx(u,{color:gt,children:"\u2502"}),jsx(u,{color:hi,children:" \u25CE"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tn,children:"\u2598"})," ",jsx(u,{color:tn,children:"\u2598"})," "]})]})}a(mm,"F0");function Ax(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:To,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:Eo,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:en,children:"\u257F"}),jsx(u,{color:gt,children:"\u2588"}),jsx(u,{color:en,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:gt,children:"\u2571"})," ",jsx(u,{color:gt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:tn,children:"\u259D"})," ",jsx(u,{color:tn,children:"\u2598"}),jsx(u,{color:hi,children:"\u25CE"})," "]})]})}a(Ax,"F1");function Nx(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:To,children:"\u25D3"})," ",jsx(u,{color:hi,children:"\u25CE"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:Eo,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:en,children:"\u257F"}),jsx(u,{color:gt,children:"\u2588"}),jsx(u,{color:en,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:gt,children:"\u2571"})," ",jsx(u,{color:gt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:tn,children:"\u259D"})," ",jsx(u,{color:tn,children:"\u2598"})," "]})]})}a(Nx,"F2");function Ox(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:To,children:"\u25D3"}),jsx(u,{color:hi,children:"\u25CE"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:Eo,children:"\u2588"}),jsx(u,{color:xn,children:"\u2500"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:en,children:"\u257F"}),jsx(u,{color:gt,children:"\u2588"}),jsx(u,{color:en,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:gt,children:"\u2571"})," ",jsx(u,{color:gt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:tn,children:"\u259D"})," ",jsx(u,{color:tn,children:"\u2598"})," "]})]})}a(Ox,"F3");function Px(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:hi,children:"\u25CE"}),jsx(u,{color:To,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:Eo,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:en,children:"\u257F"}),jsx(u,{color:gt,children:"\u2588"}),jsx(u,{color:en,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:gt,children:"\u2571"})," ",jsx(u,{color:gt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:tn,children:"\u259D"})," ",jsx(u,{color:tn,children:"\u2598"})," "]})]})}a(Px,"F4");function Ix(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:To,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:Eo,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:en,children:"\u257F"}),jsx(u,{color:gt,children:"\u2588"}),jsx(u,{color:en,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:gt,children:"\u2571"})," ",jsx(u,{color:gt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:tn,children:"\u259D"})," ",jsx(u,{color:tn,children:"\u2598"})," "]})]})}a(Ix,"F5");h();var Fr="rgb(40,30,25)",$r="rgb(240,200,160)",Dx="rgb(20,20,20)";function gm(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:Fr,children:"\u2584"}),jsx(u,{color:Fr,backgroundColor:$r,children:"\u2599\u259F"}),jsx(u,{color:Fr,children:"\u2584"})]}),jsxs(u,{children:[jsx(u,{color:Fr,children:"\u2588\u259B"}),jsx(u,{color:$r,children:" "}),jsx(u,{color:Fr,children:"\u259C\u2588"})]}),jsxs(u,{children:[jsx(u,{color:Fr,children:"\u259C"}),jsx(u,{color:$r,children:" "}),jsx(u,{color:Dx,backgroundColor:$r,children:"\u25CF\u25CF"}),jsx(u,{color:$r,children:" "}),jsx(u,{color:Fr,children:"\u259B"})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:$r,children:"\u259C\u2584\u2584\u259B"})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:$r,children:"\u2580\u2580"})]})]})}a(gm,"KunHead");h();var Wl="rgb(40,30,25)",nn="rgb(240,200,160)",ko="rgb(255,255,255)",Ro="rgb(80,80,180)",tr="rgb(80,80,180)";var Hl="rgb(255,100,120)",Fx=300,$x=12;function hm(){let[t,e]=useState(0);useEffect(()=>{let i=setInterval(()=>{e(s=>(s+1)%$x);},Fx);return ()=>clearInterval(i)},[]);let n=t,r=n<=1?"left":n<=3?"right":n<=5?"left":n<=7?"right":"center",o=n>=8&&n<=11;return r==="left"?jsx(Wx,{showBubble:false}):r==="right"?jsx(Hx,{showBubble:false}):jsx(Ux,{showBubble:o})}a(hm,"BabyHand");function Wx({showBubble:t}){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Wl,children:"\u25D3"})," ",t?jsx(u,{color:Hl,bold:true,children:"\u8D1D\u8D1D"}):" "]}),jsxs(u,{children:[jsx(u,{color:nn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:nn,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:nn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588\u2588"}),jsx(u,{color:nn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:Ro,children:"\u257F"}),jsx(u,{color:tr,children:"\u2588"}),jsx(u,{color:Ro,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tr,children:"\u2502"})," ",jsx(u,{color:tr,children:"\u2502"})," "]})]})}a(Wx,"PoseLeft");function Hx({showBubble:t}){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Wl,children:"\u25D3"})," ",t?jsx(u,{color:Hl,bold:true,children:"\u8D1D\u8D1D"}):" "]}),jsxs(u,{children:[" ",jsx(u,{color:nn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:nn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:nn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588\u2588"}),jsx(u,{color:nn,children:"\u2572"})]}),jsxs(u,{children:[" ",jsx(u,{color:Ro,children:"\u257F"}),jsx(u,{color:tr,children:"\u2588"}),jsx(u,{color:Ro,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tr,children:"\u2502"})," ",jsx(u,{color:tr,children:"\u2502"})," "]})]})}a(Hx,"PoseRight");function Ux({showBubble:t}){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Wl,children:"\u25D3"})," ",t?jsx(u,{color:Hl,bold:true,children:"\u8D1D\u8D1D"}):" "]}),jsxs(u,{children:[" ",jsx(u,{color:nn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:nn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:nn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588\u2588"}),jsx(u,{color:nn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:Ro,children:"\u257F"}),jsx(u,{color:tr,children:"\u2588"}),jsx(u,{color:Ro,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tr,children:"\u2502"})," ",jsx(u,{color:tr,children:"\u2502"})," "]})]})}a(Ux,"PoseCenter");function Gx(){let t=process.env.CODESHELL_LOGO;if(t==="dog"||t==="kunhead"||t==="kunball"||t==="baby")return t;let e=Math.random();return e<.25?"dog":e<.5?"kunhead":e<.75?"kunball":"baby"}a(Gx,"pickLogo");var bm=Gx(),Kx={dog:fm,kunhead:gm,kunball:pm,baby:hm},jx=Kx[bm],ym=bm==="kunhead";function xm({model:t,effort:e$1,cwd:n}){let r=Yx(n),o=qx(t),i=e$1!=="high"?` (${e$1})`:"";return jsxs(x,{flexDirection:"column",marginBottom:0,children:[jsx(u,{children:" "}),ym&&jsx(x,{paddingLeft:1,marginBottom:0,children:jsx(u,{color:"rgb(255,200,60)",bold:true,children:"\u5168\u6C11\u5236\u4F5C\u4EBA\u4EEC\u5927\u5BB6\u597D"})}),jsxs(x,{flexDirection:"row",gap:2,alignItems:"center",children:[jsx(jx,{}),jsxs(x,{flexDirection:"column",children:[jsxs(x,{children:[jsx(u,{bold:true,children:ym?"iKun Shell":"Code Shell"}),jsx(u,{dim:true,children:" v"+e()})]}),jsxs(x,{children:[jsx(u,{children:o}),jsx(u,{dim:true,children:i})]}),jsx(x,{children:jsx(u,{dim:true,children:r})})]})]}),jsx(u,{children:" "})]})}a(xm,"Banner");function Yx(t){let e=process.env.HOME??"";return e&&t.startsWith(e)?"~"+t.slice(e.length):t}a(Yx,"shortenPath");function qx(t){return (t.split("/").pop()??t).replace("claude-opus-4-6","Claude Opus 4.6").replace("claude-sonnet-4-6","Claude Sonnet 4.6").replace("claude-haiku-4-5","Claude Haiku 4.5").replace("claude-","Claude ")}a(qx,"formatModel");h();var Jx=1800*1e3,Xx="@cjhyy/code-shell";function vm(){let[t,e$1]=useState(b$3());if(useEffect(()=>{let o=false,i=a(()=>{a$2(),setTimeout(()=>{if(o)return;let l=b$3();e$1(l),l?.canAutoInstall&&d$2();},6e3);},"refresh");i();let s=setInterval(i,Jx);return ()=>{o=true,clearInterval(s);}},[]),!t)return null;let n=e(),r=t.canAutoInstall?null:`sudo npm install -g ${Xx}@${t.latestVersion}`;return jsxs(x,{marginLeft:1,marginY:0,flexDirection:"column",children:[jsx(u,{color:"ansi:yellow",children:`\u2726 Update available: v${n} \u2192 v${t.latestVersion}`}),t.canAutoInstall?jsx(u,{dim:true,children:" Will install in the background when you exit."}):jsxs(u,{dim:true,children:[" Run: ",jsx(u,{bold:true,children:r})]})]})}a(vm,"UpdateBanner");h();function e0(t){for(let e of ["CODESHELL.md","AGENTS.md","CLAUDE.md"])if(existsSync(join(t,e)))return e;return null}a(e0,"detectProjectDoc");function t0(t){let e=e0(t);return [{done:e!==null,text:e?`${e} \u5DF2\u5B58\u5728 \u2014 \u9879\u76EE\u8BF4\u660E\u4F1A\u81EA\u52A8\u52A0\u8F7D`:"\u8FD0\u884C /init \u751F\u6210 CODESHELL.md\uFF0C\u544A\u8BC9\u6A21\u578B\u5982\u4F55\u7406\u89E3\u672C\u9879\u76EE"},{done:false,text:"\u8BA9\u6A21\u578B\u5E2E\u4F60\u5206\u6790\u3001\u7F16\u8F91\u6587\u4EF6\uFF0C\u6216\u6267\u884C bash / git \u547D\u4EE4"},{done:false,text:"\u50CF\u8DDF\u540C\u4E8B\u6C9F\u901A\u4E00\u6837\u5199\u6E05\u695A\u9700\u6C42\uFF0C\u8D8A\u5177\u4F53\u6548\u679C\u8D8A\u597D"},{done:false,text:"\u968F\u65F6\u8F93\u5165 /status \u67E5\u770B\u5F53\u524D\u6A21\u578B\u3001\u7528\u91CF\u3001\u914D\u7F6E"}]}a(t0,"buildTips");function Tm({cwd:t}){let e=t0(t);return jsxs(x,{flexDirection:"column",marginBottom:1,paddingX:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u273B \u6B22\u8FCE\u4F7F\u7528 Code Shell"})}),jsx(x,{marginTop:0,children:jsx(u,{dim:true,children:" /help \u67E5\u770B\u5E2E\u52A9 \xB7 /status \u67E5\u770B\u5F53\u524D\u914D\u7F6E"})}),jsx(x,{marginTop:1,children:jsx(u,{dim:true,children:"\u2500".repeat(60)})}),jsx(x,{marginTop:1,children:jsx(u,{bold:true,children:" \u4E0A\u624B\u63D0\u793A\uFF1A"})}),e.map((n,r)=>jsxs(x,{children:[jsx(u,{children:" "}),n.done?jsx(u,{color:"ansi:green",children:"\u2714 "}):jsx(u,{dim:true,children:`${r+1}. `}),jsx(u,{dim:n.done,children:n.text})]},r)),jsx(x,{marginTop:1,children:jsx(u,{dim:true,children:"\u2500".repeat(60)})})]})}a(Tm,"WelcomeTips");h();h();h();h();h();var Em=["ghostty","Hyper","kitty","alacritty","iTerm.app","iTerm2"];function Cm(t){if(t?.stdoutSupported??n0.stdout)return true;let n=t?.env??process.env,r=n.TERM_PROGRAM;if(r&&Em.includes(r))return true;let o=n.LC_TERMINAL;return !!(o&&Em.includes(o)||n.TERM?.includes("kitty"))}a(Cm,"supportsHyperlinks");function Is(t){let e=c$1(5),{children:n,url:r,fallback:o}=t,i=n??r;if(Cm()){let c;return e[0]!==i||e[1]!==r?(c=jsx(u,{children:jsx("ink-link",{href:r,children:i})}),e[0]=i,e[1]=r,e[2]=c):c=e[2],c}let s=o??i,l;return e[3]!==s?(l=jsx(u,{children:s}),e[3]=s,e[4]=l):l=e[4],l}a(Is,"Link");h();h();h();function km(t){if(t.length===0)return null;let e=t[0];return e==="c"?{type:"reset"}:e==="7"?{type:"cursor",action:{type:"save"}}:e==="8"?{type:"cursor",action:{type:"restore"}}:e==="D"?{type:"cursor",action:{type:"move",direction:"down",count:1}}:e==="M"?{type:"cursor",action:{type:"move",direction:"up",count:1}}:e==="E"?{type:"cursor",action:{type:"nextLine",count:1}}:e==="H"||"()".includes(e)&&t.length>=2?null:{type:"unknown",sequence:`\x1B${t}`}}a(km,"parseEsc");h();h();function _o(){return {bold:false,dim:false,italic:false,underline:"none",blink:false,inverse:false,hidden:false,strikethrough:false,overline:false,fg:{type:"default"},bg:{type:"default"},underlineColor:{type:"default"}}}a(_o,"defaultStyle");var Ds=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],o0=["none","single","double","curly","dotted","dashed"];function i0(t){if(t==="")return [{value:0,subparams:[],colon:false}];let e=[],n={value:null,subparams:[],colon:false},r="",o=false;for(let i=0;i<=t.length;i++){let s=t[i];if(s===";"||s===void 0){let l=r===""?null:parseInt(r,10);o?l!==null&&n.subparams.push(l):n.value=l,e.push(n),n={value:null,subparams:[],colon:false},r="",o=false;}else if(s===":"){let l=r===""?null:parseInt(r,10);o?l!==null&&n.subparams.push(l):(n.value=l,n.colon=true,o=true),r="";}else s>="0"&&s<="9"&&(r+=s);}return e}a(i0,"parseParams");function Kl(t,e){let n=t[e];if(!n)return null;if(n.colon&&n.subparams.length>=1){if(n.subparams[0]===5&&n.subparams.length>=2)return {index:n.subparams[1]};if(n.subparams[0]===2&&n.subparams.length>=4){let o=n.subparams.length>=5?1:0;return {r:n.subparams[1+o],g:n.subparams[2+o],b:n.subparams[3+o]}}}let r=t[e+1];if(!r)return null;if(r.value===5&&t[e+2]?.value!==null&&t[e+2]?.value!==void 0)return {index:t[e+2].value};if(r.value===2){let o=t[e+2]?.value,i=t[e+3]?.value,s=t[e+4]?.value;if(o!=null&&i!==null&&i!==void 0&&s!==null&&s!==void 0)return {r:o,g:i,b:s}}return null}a(Kl,"parseExtendedColor");function Rm(t,e){let n=i0(t),r={...e},o=0;for(;o<n.length;){let i=n[o],s=i.value??0;if(s===0){r=_o(),o++;continue}if(s===1){r.bold=true,o++;continue}if(s===2){r.dim=true,o++;continue}if(s===3){r.italic=true,o++;continue}if(s===4){r.underline=i.colon?o0[i.subparams[0]]??"single":"single",o++;continue}if(s===5||s===6){r.blink=true,o++;continue}if(s===7){r.inverse=true,o++;continue}if(s===8){r.hidden=true,o++;continue}if(s===9){r.strikethrough=true,o++;continue}if(s===21){r.underline="double",o++;continue}if(s===22){r.bold=false,r.dim=false,o++;continue}if(s===23){r.italic=false,o++;continue}if(s===24){r.underline="none",o++;continue}if(s===25){r.blink=false,o++;continue}if(s===27){r.inverse=false,o++;continue}if(s===28){r.hidden=false,o++;continue}if(s===29){r.strikethrough=false,o++;continue}if(s===53){r.overline=true,o++;continue}if(s===55){r.overline=false,o++;continue}if(s>=30&&s<=37){r.fg={type:"named",name:Ds[s-30]},o++;continue}if(s===39){r.fg={type:"default"},o++;continue}if(s>=40&&s<=47){r.bg={type:"named",name:Ds[s-40]},o++;continue}if(s===49){r.bg={type:"default"},o++;continue}if(s>=90&&s<=97){r.fg={type:"named",name:Ds[s-90+8]},o++;continue}if(s>=100&&s<=107){r.bg={type:"named",name:Ds[s-100+8]},o++;continue}if(s===38){let l=Kl(n,o);if(l){r.fg="index"in l?{type:"indexed",index:l.index}:{type:"rgb",...l},o+=i.colon?1:"index"in l?3:5;continue}}if(s===48){let l=Kl(n,o);if(l){r.bg="index"in l?{type:"indexed",index:l.index}:{type:"rgb",...l},o+=i.colon?1:"index"in l?3:5;continue}}if(s===58){let l=Kl(n,o);if(l){r.underlineColor="index"in l?{type:"indexed",index:l.index}:{type:"rgb",...l},o+=i.colon?1:"index"in l?3:5;continue}}if(s===59){r.underlineColor={type:"default"},o++;continue}o++;}return r}a(Rm,"applySGR");function s0(t){return t>=9728&&t<=9983||t>=9984&&t<=10175||t>=127744&&t<=129535||t>=129536&&t<=129791||t>=127456&&t<=127487}a(s0,"isEmoji");function a0(t){return t>=4352&&t<=4447||t>=11904&&t<=40959||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65055||t>=65072&&t<=65135||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=131072&&t<=196605||t>=196608&&t<=262141}a(a0,"isEastAsianWide");function l0(t){let e=0;for(let n of t)if(e++,e>1)return true;return false}a(l0,"hasMultipleCodepoints");function c0(t){if(l0(t))return 2;let e=t.codePointAt(0);return e===void 0?1:s0(e)||a0(e)?2:1}a(c0,"graphemeWidth");function*_m(t){for(let{segment:e}of Rr().segment(t))yield {value:e,width:c0(e)};}a(_m,"segmentGraphemes");function u0(t){return t===""?[]:t.split(/[;:]/).map(e=>e===""?0:parseInt(e,10))}a(u0,"parseCSIParams");function d0(t){let e=t.slice(2);if(e.length===0)return null;let n=e.charCodeAt(e.length-1),r=e.slice(0,-1),o="",i=r,s="";r.length>0&&"?>=".includes(r[0])&&(o=r[0],i=r.slice(1));let l=i.match(/([^0-9;:]+)$/);l&&(s=l[1],i=i.slice(0,-s.length));let c=u0(i),d=c[0]??1,f=c[1]??1;if(n===je.SGR&&o==="")return {type:"sgr",params:i};if(n===je.CUU)return {type:"cursor",action:{type:"move",direction:"up",count:d}};if(n===je.CUD)return {type:"cursor",action:{type:"move",direction:"down",count:d}};if(n===je.CUF)return {type:"cursor",action:{type:"move",direction:"forward",count:d}};if(n===je.CUB)return {type:"cursor",action:{type:"move",direction:"back",count:d}};if(n===je.CNL)return {type:"cursor",action:{type:"nextLine",count:d}};if(n===je.CPL)return {type:"cursor",action:{type:"prevLine",count:d}};if(n===je.CHA)return {type:"cursor",action:{type:"column",col:d}};if(n===je.CUP||n===je.HVP)return {type:"cursor",action:{type:"position",row:d,col:f}};if(n===je.VPA)return {type:"cursor",action:{type:"row",row:d}};if(n===je.ED)return {type:"erase",action:{type:"display",region:Ou[c[0]??0]??"toEnd"}};if(n===je.EL)return {type:"erase",action:{type:"line",region:Pu[c[0]??0]??"toEnd"}};if(n===je.ECH)return {type:"erase",action:{type:"chars",count:d}};if(n===je.SU)return {type:"scroll",action:{type:"up",count:d}};if(n===je.SD)return {type:"scroll",action:{type:"down",count:d}};if(n===je.DECSTBM)return {type:"scroll",action:{type:"setRegion",top:d,bottom:f}};if(n===je.SCOSC)return {type:"cursor",action:{type:"save"}};if(n===je.SCORC)return {type:"cursor",action:{type:"restore"}};if(n===je.DECSCUSR&&s===" ")return {type:"cursor",action:{type:"style",..._a[d]??_a[0]}};if(o==="?"&&(n===je.SM||n===je.RM)){let m=n===je.SM;if(d===Oe.CURSOR_VISIBLE)return {type:"cursor",action:m?{type:"show"}:{type:"hide"}};if(d===Oe.ALT_SCREEN_CLEAR||d===Oe.ALT_SCREEN)return {type:"mode",action:{type:"alternateScreen",enabled:m}};if(d===Oe.BRACKETED_PASTE)return {type:"mode",action:{type:"bracketedPaste",enabled:m}};if(d===Oe.MOUSE_NORMAL)return {type:"mode",action:{type:"mouseTracking",mode:m?"normal":"off"}};if(d===Oe.MOUSE_BUTTON)return {type:"mode",action:{type:"mouseTracking",mode:m?"button":"off"}};if(d===Oe.MOUSE_ANY)return {type:"mode",action:{type:"mouseTracking",mode:m?"any":"off"}};if(d===Oe.FOCUS_EVENTS)return {type:"mode",action:{type:"focusEvents",enabled:m}}}return {type:"unknown",sequence:t}}a(d0,"parseCSI");function f0(t){if(t.length<2||t.charCodeAt(0)!==Pn.ESC)return "unknown";let e=t.charCodeAt(1);return e===91?"csi":e===93?"osc":e===79?"ss3":"esc"}a(f0,"identifySequence");var bi=class{static{a(this,"Parser");}tokenizer=eo();style=_o();inLink=false;linkUrl;reset(){this.tokenizer.reset(),this.style=_o(),this.inLink=false,this.linkUrl=void 0;}feed(e){let n=this.tokenizer.feed(e),r=[];for(let o of n){let i=this.processToken(o);r.push(...i);}return r}processToken(e){switch(e.type){case "text":return this.processText(e.value);case "sequence":return this.processSequence(e.value)}}processText(e){let n=[],r="";for(let o of e)if(o.charCodeAt(0)===Pn.BEL){if(r){let i=[..._m(r)];i.length>0&&n.push({type:"text",graphemes:i,style:{...this.style}}),r="";}n.push({type:"bell"});}else r+=o;if(r){let o=[..._m(r)];o.length>0&&n.push({type:"text",graphemes:o,style:{...this.style}});}return n}processSequence(e){switch(f0(e)){case "csi":{let r=d0(e);return r?r.type==="sgr"?(this.style=Rm(r.params,this.style),[]):[r]:[]}case "osc":{let r=e.slice(2);r.endsWith("\x07")?r=r.slice(0,-1):r.endsWith("\x1B\\")&&(r=r.slice(0,-2));let o=af(r);return o?(o.type==="link"&&(o.action.type==="start"?(this.inLink=true,this.linkUrl=o.action.url):(this.inLink=false,this.linkUrl=void 0)),[o]):[]}case "esc":{let r=e.slice(1),o=km(r);return o?[o]:[]}case "ss3":return [{type:"unknown",sequence:e}];default:return [{type:"unknown",sequence:e}]}}};var rn=yp.memo(a(function(e){let n=c$1(12),{children:r,dimColor:o}=e;if(typeof r!="string"){let d;return n[0]!==r||n[1]!==o?(d=o?jsx(u,{dim:true,children:String(r)}):jsx(u,{children:String(r)}),n[0]=r,n[1]=o,n[2]=d):d=n[2],d}if(r==="")return null;let i,s;if(n[3]!==r||n[4]!==o){s=Symbol.for("react.early_return_sentinel");e:{let d=p0(r);if(d.length===0){s=null;break e}if(d.length===1&&!b0(d[0].props)){s=o?jsx(u,{dim:true,children:d[0].text}):jsx(u,{children:d[0].text});break e}let f;n[7]!==o?(f=a((m,h)=>{let g=m.props.hyperlink;o&&(m.props.dim=true);let v=x0(m.props);return g?v?jsx(Is,{url:g,children:jsx(Am,{color:m.props.color,backgroundColor:m.props.backgroundColor,dim:m.props.dim,bold:m.props.bold,italic:m.props.italic,underline:m.props.underline,strikethrough:m.props.strikethrough,inverse:m.props.inverse,children:m.text})},h):jsx(Is,{url:g,children:m.text},h):v?jsx(Am,{color:m.props.color,backgroundColor:m.props.backgroundColor,dim:m.props.dim,bold:m.props.bold,italic:m.props.italic,underline:m.props.underline,strikethrough:m.props.strikethrough,inverse:m.props.inverse,children:m.text},h):m.text},"t3"),n[7]=o,n[8]=f):f=n[8],i=d.map(f);}n[3]=r,n[4]=o,n[5]=i,n[6]=s;}else i=n[5],s=n[6];if(s!==Symbol.for("react.early_return_sentinel"))return s;let l=i,c;return n[9]!==l||n[10]!==o?(c=o?jsx(u,{dim:true,children:l}):jsx(u,{children:l}),n[9]=l,n[10]=o,n[11]=c):c=n[11],c},"Ansi"));function p0(t){let n=new bi().feed(t),r=[],o;for(let i of n){if(i.type==="link"){i.action.type==="start"?o=i.action.url:o=void 0;continue}if(i.type==="text"){let s=i.graphemes.map(d=>d.value).join("");if(!s)continue;let l=g0(i.style);o&&(l.hyperlink=o);let c=r[r.length-1];c&&y0(c.props,l)?c.text+=s:r.push({text:s,props:l});}}return r}a(p0,"parseToSpans");function g0(t){let e={};t.bold&&(e.bold=true),t.dim&&(e.dim=true),t.italic&&(e.italic=true),t.underline!=="none"&&(e.underline=true),t.strikethrough&&(e.strikethrough=true),t.inverse&&(e.inverse=true);let n=Mm(t.fg);n&&(e.color=n);let r=Mm(t.bg);return r&&(e.backgroundColor=r),e}a(g0,"textStyleToSpanProps");var h0={black:"ansi:black",red:"ansi:red",green:"ansi:green",yellow:"ansi:yellow",blue:"ansi:blue",magenta:"ansi:magenta",cyan:"ansi:cyan",white:"ansi:white",brightBlack:"ansi:blackBright",brightRed:"ansi:redBright",brightGreen:"ansi:greenBright",brightYellow:"ansi:yellowBright",brightBlue:"ansi:blueBright",brightMagenta:"ansi:magentaBright",brightCyan:"ansi:cyanBright",brightWhite:"ansi:whiteBright"};function Mm(t){switch(t.type){case "named":return h0[t.name];case "indexed":return `ansi256(${t.index})`;case "rgb":return `rgb(${t.r},${t.g},${t.b})`;case "default":return}}a(Mm,"colorToString");function y0(t,e){return t.color===e.color&&t.backgroundColor===e.backgroundColor&&t.bold===e.bold&&t.dim===e.dim&&t.italic===e.italic&&t.underline===e.underline&&t.strikethrough===e.strikethrough&&t.inverse===e.inverse&&t.hyperlink===e.hyperlink}a(y0,"propsEqual");function b0(t){return t.color!==void 0||t.backgroundColor!==void 0||t.dim===true||t.bold===true||t.italic===true||t.underline===true||t.strikethrough===true||t.inverse===true||t.hyperlink!==void 0}a(b0,"hasAnyProps");function x0(t){return t.color!==void 0||t.backgroundColor!==void 0||t.dim===true||t.bold===true||t.italic===true||t.underline===true||t.strikethrough===true||t.inverse===true}a(x0,"hasAnyTextProps");function Am(t){let e=c$1(14),n,r,o,i;if(e[0]!==t?({bold:n,dim:o,children:r,...i}=t,e[0]=t,e[1]=n,e[2]=r,e[3]=o,e[4]=i):(n=e[1],r=e[2],o=e[3],i=e[4]),o){let l;return e[5]!==r||e[6]!==i?(l=jsx(u,{...i,dim:true,children:r}),e[5]=r,e[6]=i,e[7]=l):l=e[7],l}if(n){let l;return e[8]!==r||e[9]!==i?(l=jsx(u,{...i,bold:true,children:r}),e[8]=r,e[9]=i,e[10]=l):l=e[10],l}let s;return e[11]!==r||e[12]!==i?(s=jsx(u,{...i,children:r}),e[11]=r,e[12]=i,e[13]=s):s=e[13],s}a(Am,"StyledText");var jl="\x1B[7m",Yl="\x1B[27m",Om="\x1B[2m",Pm="\x1B[22m";function ql(t,e){let n=e;for(;n>0&&!/\w/.test(t[n-1]);)n--;for(;n>0&&/\w/.test(t[n-1]);)n--;return n}a(ql,"wordBoundaryLeft");function Vl(t,e){let n=e;for(;n<t.length&&/\w/.test(t[n]);)n++;for(;n<t.length&&!/\w/.test(t[n]);)n++;return n}a(Vl,"wordBoundaryRight");function xr({value:t,onChange:e,onSubmit:n,placeholder:r,focus:o=true}){let[i,s]=useState(t.length),l=Math.min(Math.max(0,i),t.length),c=t.includes(`
|
|
53
|
+
`),softWrap:i}}a(Vf,"wrapWithSoftWrap");function Qb(t,e,n){let r=t.childNodes[0]?.yogaNode;if(r){let o=r.getComputedLeft(),i=r.getComputedTop();e=`
|
|
54
|
+
`.repeat(i)+Hb(e,o),n&&i>0&&n.unshift(...Array(i).fill(false));}return e}a(Qb,"applyPaddingToText");function Bs(t,e,{offsetX:n=0,offsetY:r=0,prevScreen:o,skipSelfBlit:i=false,inheritedBackgroundColor:s}){let{yogaNode:l}=t;if(l){if(l.getDisplay()===Kt.None){if(t.dirty){let y=at.get(t);y&&(e.clear({x:Math.floor(y.x),y:Math.floor(y.y),width:Math.floor(y.width),height:Math.floor(y.height)}),$l(t),vo=true);}return}let c=n+l.getComputedLeft(),d=l.getComputedTop(),f=r+d,m=l.getComputedWidth(),h=l.getComputedHeight();f<0&&t.style.position==="absolute"&&(f=0);let g=at.get(t);if(!t.dirty&&!i&&t.pendingScrollDelta===void 0&&g&&g.x===c&&g.y===f&&g.width===m&&g.height===h&&o){let y=Math.floor(c),T=Math.floor(f),C=Math.floor(m),A=Math.floor(h);e.blit(o,y,T,C,A),t.style.position==="absolute"&&hi.push(g),nm(t,e,o,y,T,C,A);return}let S=g!==void 0&&(g.x!==c||g.y!==f||g.width!==m||g.height!==h);S&&(vo=true),g&&(t.dirty||S)&&e.clear({x:Math.floor(g.x),y:Math.floor(g.y),width:Math.floor(g.width),height:Math.floor(g.height)},t.style.position==="absolute");let b=ti.get(t),w=b!==void 0;if(w){vo=true;for(let y of b)e.clear({x:Math.floor(y.x),y:Math.floor(y.y),width:Math.floor(y.width),height:Math.floor(y.height)});ti.delete(t);}if(h===0&&ex(t,l)){at.set(t,{x:c,y:f,width:m,height:h,top:d}),t.dirty=false;return}if(t.nodeName==="ink-raw-ansi"){let y=t.attributes.rawText;y&&e.write(c,f,y);}else if(t.nodeName==="ink-text"){let y=es(t,s?{backgroundColor:s}:void 0),T=y.map(C=>C.text).join("");if(T.length>0){let C=Math.min(Gf(l),e.width-c),A=t.style.textWrap??"wrap",D=Is(T)>C,P,M;if(D&&y.length===1){let _=y[0],B=Vf(T,C,A);M=B.softWrap,P=B.wrapped.split(`
|
|
55
|
+
`).map(I=>{let L=Qr(I,_.styles);return _.hyperlink&&(L=Ls(L,_.hyperlink)),L}).join(`
|
|
56
|
+
`);}else if(D){let _=Vf(T,C,A);M=_.softWrap;let B=Jb(y);P=Xb(_.wrapped,y,B,T,A==="wrap-trim");}else P=y.map(_=>{let B=Qr(_.text,_.styles);return _.hyperlink&&(B=Ls(B,_.hyperlink)),B}).join("");P=Qb(t,P,M),e.write(c,f,P,M);}}else if(t.nodeName==="ink-box"){let y=t.style.backgroundColor??s;if(t.style.noSelect){let I=Math.floor(c),L=t.style.noSelect==="from-left-edge";e.noSelect({x:L?0:I,y:Math.floor(f),width:L?I+Math.floor(m):Math.floor(m),height:Math.floor(h)});}let T=t.style.overflowX??t.style.overflow,C=t.style.overflowY??t.style.overflow,A=T==="hidden"||T==="scroll",D=C==="hidden"||C==="scroll",P=C==="scroll",M=A||D,_,B;if(M){let I=A?c+l.getComputedBorder(de.Left):void 0,L=A?c+l.getComputedWidth()-l.getComputedBorder(de.Right):void 0;_=D?f+l.getComputedBorder(de.Top):void 0,B=D?f+l.getComputedHeight()-l.getComputedBorder(de.Bottom):void 0,e.clip({x1:I,x2:L,y1:_,y2:B});}if(P){let I=l.getComputedPadding(de.Top),L=Math.max(0,(B??f+h)-(_??f)-I-l.getComputedPadding(de.Bottom)),K=t.childNodes.find(Ve=>Ve.yogaNode),z=K?.yogaNode,Te=z?.getComputedHeight()??0,_e=t.scrollHeight??Te,gt=t.scrollViewportHeight??L;t.scrollHeight=Te,t.scrollViewportHeight=L,t.scrollViewportTop=(_??f)+I;let rt=Math.max(0,Te-L);if(t.scrollAnchor){let Ve=t.scrollAnchor.el.yogaNode?.getComputedTop();Ve!=null&&(t.scrollTop=Ve+t.scrollAnchor.offset,t.pendingScrollDelta=void 0),t.scrollAnchor=void 0;}let q=t.scrollTop??0,pe=t.stickyScroll??!!t.attributes.stickyScroll,$=Math.max(0,_e-gt),ue=Te>=_e;(pe||ue&&q>=$)&&(t.pendingScrollDelta??0)>=0&&(t.scrollTop=rt,t.pendingScrollDelta=void 0,t.stickyScroll===false&&q>=$&&(t.stickyScroll=true));let Ne=(t.scrollTop??0)-q;if(Ne>0){let Ve=t.scrollViewportTop??0;Ll={delta:Ne,viewportTop:Ve,viewportBottom:Ve+L-1};}let We=t.scrollTop??0,qe=t.pendingScrollDelta,ct=t.scrollClampMin,be=t.scrollClampMax,De=ct!==void 0&&be!==void 0;if(qe!==void 0&&qe!==0){let Ee=De&&(qe<0&&We<ct||qe>0&&We>be)?Math.min(4,L>>3):L;We+=Ub()?Vb(t,qe,Ee):zb(t,qe,Ee);}else qe===0&&(t.pendingScrollDelta=void 0);let ke=Math.max(0,Math.min(We,rt)),Wt=De?Math.max(ct,Math.min(ke,be)):ke;if(t.scrollTop=ke,ke!==We&&(t.pendingScrollDelta=void 0),t.pendingScrollDelta!==void 0&&(Fl=t),ke=Wt,K&&z){let Ve=c+z.getComputedLeft(),Ee=f+z.getComputedTop()-ke,ut=at.get(K),Dt=null;if(ut&&ut.y!==Ee){let ot=ut.y-Ee,yt=Math.floor(f+z.getComputedTop()),H=yt+L-1;g?.y===f&&g.height===h&&L>0&&Math.abs(ot)<L?(Dt={top:yt,bottom:H,delta:ot},Ds=Dt):vo=true;}let Ht=z.getComputedHeight(),cn=ut?.height??Ht,qt=Ht-cn,ht=!Dt||qt===0||Dt.delta>0&&qt===Dt.delta;if(ht||(Ds=null),Dt&&o&&ht){let{top:ot,bottom:yt,delta:H}=Dt,F=Math.floor(m);e.blit(o,Math.floor(c),ot,F,yt-ot+1),e.shift(ot,yt,H);let U=H>0?yt-H+1:ot,j=H>0?yt:ot-H-1;e.clear({x:Math.floor(c),y:U,width:F,height:j-U+1}),e.clip({x1:void 0,x2:void 0,y1:U,y2:j+1});let ge=K.dirty?new Set(K.childNodes.filter(Q=>Q.dirty)):null;if(Il(K,e,Ve,Ee,w,void 0,U-Ee,j+1-Ee,y,true),e.unclip(),ge){let Q=U-Ee,ze=j+1-Ee,Le=" ".repeat(F),Pt=0;for(let Wn of K.childNodes){let kt=Wn,ar=ge.has(Wn);if(!ar&&Pt===0&&at.has(kt))continue;let Vt=kt.yogaNode;if(!Vt)continue;let V=Vt.getComputedTop(),Ce=Vt.getComputedHeight(),me=V+Ce;if(ar){let Be=at.get(kt);Pt+=Ce-(Be?Be.height:0);}if(me<=ke||V>=ke+L||V>=Q&&me<=ze)continue;let He=Math.floor(Ee+V);if(!ar){let Be=at.get(kt);if(Be&&Math.floor(Be.y)-H===He)continue}let it=Math.min(Math.floor(Ee+me),Math.floor((_??f)+I+L));if(He<it){let Be=Array(it-He).fill(Le).join(`
|
|
57
|
+
`);e.write(Math.floor(c),He,Be),e.clip({x1:void 0,x2:void 0,y1:He,y2:it}),Bs(kt,e,{offsetX:Ve,offsetY:Ee,prevScreen:void 0,inheritedBackgroundColor:y}),e.unclip();}}}let oe=Dl.length?" ".repeat(F):"";for(let Q of Dl){if(Q.y>=yt+1||Q.y+Q.height<=ot)continue;let ze=Math.max(ot,Math.floor(Q.y)-H),Le=Math.min(yt+1,Math.floor(Q.y+Q.height)-H);if(ze>=U&&Le<=j+1||ze>=Le)continue;let Pt=Array(Le-ze).fill(oe).join(`
|
|
58
|
+
`);e.write(Math.floor(c),ze,Pt),e.clip({x1:void 0,x2:void 0,y1:ze,y2:Le}),Il(K,e,Ve,Ee,w,void 0,ze-Ee,Le-Ee,y,true),e.unclip();}}else {let ot=ut&&ut.y!==Ee;ot&&_!==void 0&&B!==void 0&&e.clear({x:Math.floor(c),y:Math.floor(_),width:Math.floor(m),height:Math.floor(B-_)}),Il(K,e,Ve,Ee,w,ot||S?void 0:o,ke,ke+L,y);}at.set(K,{x:Ve,y:Ee,width:z.getComputedWidth(),height:z.getComputedHeight()}),K.dirty=false;}}else {let I=t.style.backgroundColor;if(I||t.style.opaque){let L=l.getComputedBorder(de.Left),K=l.getComputedBorder(de.Right),z=l.getComputedBorder(de.Top),Te=l.getComputedBorder(de.Bottom),_e=Math.floor(m)-L-K,gt=Math.floor(h)-z-Te;if(_e>0&>>0){let rt=" ".repeat(_e),q=I?Qr(rt,{backgroundColor:I}):rt,pe=Array(gt).fill(q).join(`
|
|
59
|
+
`);e.write(c+L,f+z,pe);}}zf(t,e,c,f,w,I||t.style.opaque?void 0:o,y);}M&&e.unclip(),jf(c,f,t,e);}else t.nodeName==="ink-root"&&zf(t,e,c,f,w,o,s);let v={x:c,y:f,width:m,height:h,top:d};at.set(t,v),t.style.position==="absolute"&&hi.push(v),t.dirty=false;}}a(Bs,"renderNodeToOutput");function zf(t,e,n,r,o,i,s){let l=false,c=false;for(let d of t.childNodes){let f=d,m=f.dirty,h=f.style.position==="absolute";Bs(f,e,{offsetX:n,offsetY:r,prevScreen:o||l?void 0:i,skipSelfBlit:c&&h&&!f.style.opaque&&f.style.backgroundColor===void 0,inheritedBackgroundColor:s}),m&&!l&&(!Zb(f)||h?l=true:c=true);}}a(zf,"renderChildren");function Zb(t){let e=t.style.overflowX??t.style.overflow,n=t.style.overflowY??t.style.overflow;return (e==="hidden"||e==="scroll")&&(n==="hidden"||n==="scroll")}a(Zb,"clipsBothAxes");function ex(t,e){let n=t.parentNode;if(!n)return false;let r=e.getComputedTop(),o=n.childNodes,i=o.indexOf(t);for(let s=i+1;s<o.length;s++){let l=o[s].yogaNode;if(l)return l.getComputedTop()===r}for(let s=i-1;s>=0;s--){let l=o[s].yogaNode;if(l)return l.getComputedTop()===r}return false}a(ex,"siblingSharesY");function nm(t,e,n,r,o,i,s){let l=r+i,c=o+s;for(let d of t.childNodes){if(d.nodeName==="#text")continue;let f=d;if(f.style.position==="absolute"){let m=at.get(f);if(m){hi.push(m);let h=Math.floor(m.x),g=Math.floor(m.y),S=Math.floor(m.width),b=Math.floor(m.height);(h<r||g<o||h+S>l||g+b>c)&&e.blit(n,h,g,S,b);}}nm(f,e,n,r,o,i,s);}}a(nm,"blitEscapingAbsoluteDescendants");function Il(t,e,n,r,o,i,s,l,c,d=false){let f=false,m=0;for(let h of t.childNodes){let g=h,S=g.yogaNode;if(S){let w=at.get(g),v,y;if(w?.top!==void 0&&!g.dirty&&m===0?(v=w.top,y=w.height):(v=S.getComputedTop(),y=S.getComputedHeight(),g.dirty&&(m+=y-(w?w.height:0)),w&&(w.top=v)),v+y<=s||v>=l){d||$l(g);continue}}let b=g.dirty;Bs(g,e,{offsetX:n,offsetY:r,prevScreen:o||f?void 0:i,inheritedBackgroundColor:c}),b&&(f=true);}}a(Il,"renderScrolledChildren");function $l(t){at.delete(t);for(let e of t.childNodes)e.nodeName!=="#text"&&$l(e);}a($l,"dropSubtreeCache");var yi=Bs;h();var tx={scan:0};function rm(t,e){let n=e.toLowerCase();if(!n)return [];let r=n.length,o=t.width,i=t.height,s=t.noSelect,l=[],c=performance.now();for(let d=0;d<i;d++){let f=d*o,m="",h=[],g=[];for(let b=0;b<o;b++){let w=f+b,v=Jn(t,w);if(v.width===2||v.width===3||s[w]===1)continue;let y=v.char.toLowerCase(),T=h.length;for(let C=0;C<y.length;C++)g.push(T);m+=y,h.push(b);}let S=m.indexOf(n);for(;S>=0;){let b=g[S],w=g[S+r-1],v=h[b],y=h[w]+1;l.push({row:d,col:v,len:y-v}),S=m.indexOf(n,S+r);}}return tx.scan+=performance.now()-c,l}a(rm,"scanPositions");function om(t,e,n,r,o){if(o<0||o>=n.length)return false;let i=n[o],s=i.row+r;if(s<0||s>=t.height)return false;let l=a(d=>e.withCurrentMatch(d),"transform"),c=s*t.width;for(let d=i.col;d<i.col+i.len;d++){if(d<0||d>=t.width)continue;let f=Jn(t,c+d);uo(t,d,s,l(f.styleId));}return true}a(om,"applyPositionedHighlight");h();function Wl(t,e){let n;return r=>{let{frontFrame:o,backFrame:i,isTTY:s,terminalWidth:l,terminalRows:c}=r,d=o.screen,f=i.screen,m=f.charPool,h=f.hyperlinkPool,g=t.yogaNode?.getComputedHeight(),S=t.yogaNode?.getComputedWidth(),b=g===void 0||!Number.isFinite(g)||g<0,w=S===void 0||!Number.isFinite(S)||S<0;if(!t.yogaNode||b||w)return t.yogaNode&&(b||w)&&Fe(`Invalid yoga dimensions: width=${S}, height=${g}, childNodes=${t.childNodes.length}, terminalWidth=${l}, terminalRows=${c}`),{screen:zn(l,0,e,m,h),viewport:{width:l,height:c},cursor:{x:0,y:0,visible:true}};let v=Math.floor(t.yogaNode.getComputedWidth()),y=Math.floor(t.yogaNode.getComputedHeight()),T=r.altScreen?c:y;r.altScreen&&y>c&&Fe(`alt-screen: yoga height ${y} > terminalRows ${c} \u2014 something is rendering outside <AlternateScreen>. Overflow clipped.`,{level:"warn"});let C=f??zn(v,T,e,m,h);n?n.reset(v,T,C):n=new xr({width:v,height:T,stylePool:e,screen:C}),Bl(),Xf(),Zf();let A=fd();yi(t,n,{prevScreen:A||r.prevFrameContaminated?void 0:d});let D=n.get(),P=em();return P&&Mt(P),{scrollHint:r.altScreen?Qf():null,scrollDrainPending:P!==null,screen:D,viewport:{width:l,height:r.altScreen?c+1:c},cursor:{x:0,y:r.altScreen?Math.max(0,Math.min(C.height,c)-1):C.height,visible:!s||C.height===0}}}}a(Wl,"createRenderer");h();function im(t,e,n){if(!e)return false;let r=e.toLowerCase(),o=r.length,i=t.width,s=t.noSelect,l=t.height,c=false;for(let d=0;d<l;d++){let f=d*i,m="",h=[],g=[];for(let b=0;b<i;b++){let w=f+b,v=Jn(t,w);if(v.width===2||v.width===3||s[w]===1)continue;let y=v.char.toLowerCase(),T=h.length;for(let C=0;C<y.length;C++)g.push(T);m+=y,h.push(b);}let S=m.indexOf(r);for(;S>=0;){c=true;let b=g[S],w=g[S+o-1];for(let v=b;v<=w;v++){let y=h[v],T=Jn(t,f+y);uo(t,y,d,n.withInverse(T.styleId));}S=m.indexOf(r,S+o);}}return c}a(im,"applySearchHighlight");h();var sm=createContext(null),am=sm.Provider;var ux=Object.freeze({x:0,y:0,visible:false}),dx=Object.freeze({type:"stdout",content:On}),fx=Object.freeze({type:"stdout",content:mr+On});function um(t){return Object.freeze({type:"stdout",content:Oa(t,1)})}a(um,"makeAltScreenParkPatch");var bi=class{constructor(e){this.options=e;rx(this),this.options.patchConsole&&(this.restoreConsole=this.patchConsole(),this.restoreStderr=this.patchStderr()),this.terminal={stdout:e.stdout,stderr:e.stderr},this.terminalColumns=e.stdout.columns||80,this.terminalRows=e.stdout.rows||24,this.altScreenParkPatch=um(this.terminalRows),this.stylePool=new si,this.charPool=new so,this.hyperlinkPool=new ao,this.frontFrame=br(this.terminalRows,this.terminalColumns,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=br(this.terminalRows,this.terminalColumns,this.stylePool,this.charPool,this.hyperlinkPool),this.log=new Ns({isTTY:e.stdout.isTTY||false,stylePool:this.stylePool});let n=a(()=>queueMicrotask(this.onRender),"deferredRender");this.scheduleRender=ax(n,16,{leading:true,trailing:true}),this.isUnmounted=false,this.unsubscribeExit=onExit(this.unmount,{alwaysLast:false}),e.stdout.isTTY&&(e.stdout.on("resize",this.handleResize),process.on("SIGCONT",this.handleResume),this.unsubscribeTTYHandlers=()=>{e.stdout.off("resize",this.handleResize),process.off("SIGCONT",this.handleResume);}),this.rootNode=ni("ink-root"),this.focusManager=new ii((r,o)=>Vn.dispatchDiscrete(r,o)),this.rootNode.focusManager=this.focusManager,this.renderer=Wl(this.rootNode,this.stylePool),this.rootNode.onRender=this.scheduleRender,this.rootNode.onImmediateRender=this.onRender,this.rootNode.onComputeLayout=()=>{if(!this.isUnmounted&&this.rootNode.yogaNode){let r=performance.now();this.rootNode.yogaNode.setWidth(this.terminalColumns),this.rootNode.yogaNode.calculateLayout(this.terminalColumns);let o=performance.now()-r;Md(o);let i=Ki();this.lastYogaCounters={ms:o,...i};}},this.container=In.createContainer(this.rootNode,ConcurrentRoot,null,false,null,"id",wo,wo,wo,wo);}static{a(this,"Ink");}log;terminal;scheduleRender;isUnmounted=false;isPaused=false;container;rootNode;focusManager;renderer;stylePool;charPool;hyperlinkPool;exitPromise;restoreConsole;restoreStderr;unsubscribeTTYHandlers;terminalColumns;terminalRows;currentNode=null;frontFrame;backFrame;lastPoolResetTime=performance.now();drainTimer=null;lastYogaCounters={ms:0,visited:0,measured:0,cacheHits:0,live:0};altScreenParkPatch;selection=Gd();searchHighlightQuery="";searchPositions=null;selectionListeners=new Set;hoveredNodes=new Set;altScreenActive=false;altScreenMouseTracking=false;prevFrameContaminated=false;needsEraseBeforePaint=false;cursorDeclaration=null;displayCursor=null;handleResume=a(()=>{if(this.options.stdout.isTTY){if(this.altScreenActive){this.reenterAltScreen();return}this.frontFrame=br(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=br(this.backFrame.viewport.height,this.backFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null;}},"handleResume");handleResize=a(()=>{let e=this.options.stdout.columns||80,n=this.options.stdout.rows||24;e===this.terminalColumns&&n===this.terminalRows||(this.terminalColumns=e,this.terminalRows=n,this.altScreenParkPatch=um(this.terminalRows),this.altScreenActive&&!this.isPaused&&this.options.stdout.isTTY&&(this.altScreenMouseTracking&&this.options.stdout.write(po),this.resetFramesForAltScreen(),this.needsEraseBeforePaint=true),this.currentNode!==null&&this.render(this.currentNode));},"handleResize");resolveExitPromise=a(()=>{},"resolveExitPromise");rejectExitPromise=a(()=>{},"rejectExitPromise");unsubscribeExit=a(()=>{},"unsubscribeExit");enterAlternateScreen(){this.pause(),this.suspendStdin(),this.options.stdout.write(Ar+Qo+(this.altScreenMouseTracking?go:"")+(this.altScreenActive?"":"\x1B[?1049h")+"\x1B[?1004l\x1B[0m\x1B[?25h\x1B[2J\x1B[H");}exitAlternateScreen(){this.options.stdout.write((this.altScreenActive?xs:"")+"\x1B[2J\x1B[H"+(this.altScreenMouseTracking?po:"")+(this.altScreenActive?"":"\x1B[?1049l")+"\x1B[?25l"),this.resumeStdin(),this.altScreenActive?this.resetFramesForAltScreen():this.repaint(),this.resume(),this.options.stdout.write("\x1B[?1004h"+(mi()?Ar+Jo+Xo:""));}onRender(){if(this.isUnmounted||this.isPaused)return;this.drainTimer!==null&&(clearTimeout(this.drainTimer),this.drainTimer=null);let e=performance.now(),n=this.options.stdout.columns||80,r=this.options.stdout.rows||24,o=this.renderer({frontFrame:this.frontFrame,backFrame:this.backFrame,isTTY:this.options.stdout.isTTY,terminalWidth:n,terminalRows:r,altScreen:this.altScreenActive,prevFrameContaminated:this.prevFrameContaminated}),i=performance.now()-e,s=tm();if(s&&this.selection.anchor&&this.selection.anchor.row>=s.viewportTop&&this.selection.anchor.row<=s.viewportBottom){let{delta:L,viewportTop:K,viewportBottom:z}=s;if(this.selection.isDragging)tn(this.selection)&&ys(this.selection,this.frontFrame.screen,K,K+L-1,"above"),Qd(this.selection,-L,K,z);else if((!this.selection.focus||this.selection.focus.row>=K&&this.selection.focus.row<=z)&&(tn(this.selection)&&ys(this.selection,this.frontFrame.screen,K,K+L-1,"above"),Zd(this.selection,-L,K,z)))for(let _e of this.selectionListeners)_e();}let l=false,c=false;if(this.altScreenActive&&(l=tn(this.selection),l&&nf(o.screen,this.selection,this.stylePool),c=im(o.screen,this.searchHighlightQuery,this.stylePool),this.searchPositions)){let L=this.searchPositions,K=om(o.screen,this.stylePool,L.positions,L.rowOffset,L.currentIdx);c=c||K;}(Jf()||l||c||this.prevFrameContaminated)&&(o.screen.damage={x:0,y:0,width:o.screen.width,height:o.screen.height});let d=this.frontFrame;this.altScreenActive&&(d={...this.frontFrame,cursor:ux});let f=performance.now(),m=this.log.render(d,o,this.altScreenActive,bl),h=performance.now()-f;this.backFrame=this.frontFrame,this.frontFrame=o,e-this.lastPoolResetTime>300*1e3&&(this.resetPools(),this.lastPoolResetTime=e);let g=[];for(let L of m)if(L.type==="clearTerminal"&&(g.push({desiredHeight:o.screen.height,availableHeight:o.viewport.height,reason:L.reason}),nl()&&L.debug)){let K=Sd(this.rootNode,L.debug.triggerY);Fe(`[REPAINT] full reset \xB7 ${L.reason} \xB7 row ${L.debug.triggerY}
|
|
60
|
+
prev: "${L.debug.prevLine}"
|
|
61
|
+
next: "${L.debug.nextLine}"
|
|
62
|
+
culprit: ${K.length?K.join(" < "):"(no owner chain captured)"}`,{level:"warn"});}let S=performance.now(),b=Ml(m),w=performance.now()-S,v=b.length>0;this.altScreenActive&&v&&(this.needsEraseBeforePaint?(this.needsEraseBeforePaint=false,b.unshift(fx)):b.unshift(dx),b.push(this.altScreenParkPatch));let y=this.cursorDeclaration,T=y!==null?at.get(y.node):void 0,C=y!==null&&T!==void 0?{x:T.x+y.relativeX,y:T.y+y.relativeY}:null,A=this.displayCursor,D=C!==null&&(A===null||A.x!==C.x||A.y!==C.y);if(v||D||C===null&&A!==null){if(A!==null&&!this.altScreenActive&&v){let L=d.cursor.x-A.x,K=d.cursor.y-A.y;(L!==0||K!==0)&&b.unshift({type:"stdout",content:to(L,K)});}if(C!==null){if(this.altScreenActive){let L=Math.min(Math.max(C.y+1,1),r),K=Math.min(Math.max(C.x+1,1),n);b.push({type:"stdout",content:Oa(L,K)});}else {let L=!v&&A!==null?A:{x:o.cursor.x,y:o.cursor.y},K=C.x-L.x,z=C.y-L.y;(K!==0||z!==0)&&b.push({type:"stdout",content:to(K,z)});}this.displayCursor=C;}else {if(A!==null&&!this.altScreenActive&&!v){let L=o.cursor.x-A.x,K=o.cursor.y-A.y;(L!==0||K!==0)&&b.push({type:"stdout",content:to(L,K)});}this.displayCursor=null;}}let P=performance.now();xl(this.terminal,b,this.altScreenActive&&!bl);let M=performance.now()-P;this.prevFrameContaminated=l||c,o.scrollDrainPending&&(this.drainTimer=setTimeout(()=>this.onRender(),4));let _=Ad(),B=Nd(),I=this.lastYogaCounters;Pd(),this.lastYogaCounters={ms:0,visited:0,measured:0,cacheHits:0,live:0},this.options.onFrame?.({durationMs:performance.now()-e,phases:{renderer:i,diff:h,optimize:w,write:M,patches:m.length,yoga:_,commit:B,yogaVisited:I.visited,yogaMeasured:I.measured,yogaCacheHits:I.cacheHits,yogaLive:I.live},flickers:g});}pause(){In.flushSyncFromReconciler(),this.onRender(),this.isPaused=true;}resume(){this.isPaused=false,this.onRender();}repaint(){this.frontFrame=br(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=br(this.backFrame.viewport.height,this.backFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null;}forceRedraw(){!this.options.stdout.isTTY||this.isUnmounted||this.isPaused||(this.options.stdout.write(mr+On),this.altScreenActive?this.resetFramesForAltScreen():(this.repaint(),this.prevFrameContaminated=true),this.onRender());}invalidatePrevFrame(){this.prevFrameContaminated=true;}setAltScreenActive(e,n=false){this.altScreenActive!==e&&(this.altScreenActive=e,this.altScreenMouseTracking=e&&n,e?this.resetFramesForAltScreen():this.repaint());}get isAltScreenActive(){return this.altScreenActive}reassertTerminalModes=a((e=false)=>{this.options.stdout.isTTY&&(this.isPaused||(mi()&&this.options.stdout.write(Ar+Jo+Xo),this.altScreenActive&&(this.altScreenMouseTracking&&this.options.stdout.write(po),e&&this.reenterAltScreen())));},"reassertTerminalModes");detachForShutdown(){this.isUnmounted=true,this.scheduleRender.cancel?.();let e=this.options.stdin;this.drainStdin(),e.isTTY&&e.isRaw&&e.setRawMode&&e.setRawMode(false);}drainStdin(){mx(this.options.stdin);}reenterAltScreen(){this.options.stdout.write(xs+mr+On+(this.altScreenMouseTracking?po:"")),this.resetFramesForAltScreen();}resetFramesForAltScreen(){let e=this.terminalRows,n=this.terminalColumns,r=a(()=>({screen:zn(n,e,this.stylePool,this.charPool,this.hyperlinkPool),viewport:{width:n,height:e+1},cursor:{x:0,y:0,visible:true}}),"blank");this.frontFrame=r(),this.backFrame=r(),this.log.reset(),this.displayCursor=null,this.prevFrameContaminated=true;}copySelectionNoClear(){if(!tn(this.selection))return "";let e=tf(this.selection,this.frontFrame.screen);return e&&cf(e).then(n=>{n&&this.options.stdout.write(n);}),e}copySelection(){if(!tn(this.selection))return "";let e=this.copySelectionNoClear();return ui(this.selection),this.notifySelectionChange(),e}clearTextSelection(){tn(this.selection)&&(ui(this.selection),this.notifySelectionChange());}setSearchHighlight(e){this.searchHighlightQuery!==e&&(this.searchHighlightQuery=e,this.scheduleRender());}scanElementSubtree(e){if(!this.searchHighlightQuery||!e.yogaNode)return [];let n=Math.ceil(e.yogaNode.getComputedWidth()),r=Math.ceil(e.yogaNode.getComputedHeight());if(n<=0||r<=0)return [];let o=e.yogaNode.getComputedLeft(),i=e.yogaNode.getComputedTop(),s=zn(n,r,this.stylePool,this.charPool,this.hyperlinkPool),l=new xr({width:n,height:r,stylePool:this.stylePool,screen:s});yi(e,l,{offsetX:-o,offsetY:-i,prevScreen:void 0});let c=l.get();Mt(e);let d=rm(c,this.searchHighlightQuery);return Fe(`scanElementSubtree: q='${this.searchHighlightQuery}' el=${n}x${r}@(${o},${i}) n=${d.length} [${d.slice(0,10).map(f=>`${f.row}:${f.col}`).join(",")}${d.length>10?",\u2026":""}]`),d}setSearchPositions(e){this.searchPositions=e,this.scheduleRender();}setSelectionBgColor(e){let n=zo("\0",e,"background"),r=n.indexOf("\0");if(r<=0||r===n.length-1){this.stylePool.setSelectionBg(null);return}this.stylePool.setSelectionBg({type:"ansi",code:n.slice(0,r),endCode:n.slice(r+1)});}captureScrolledRows(e,n,r){ys(this.selection,this.frontFrame.screen,e,n,r);}shiftSelectionForScroll(e,n,r){let o=tn(this.selection);Xd(this.selection,e,n,r,this.frontFrame.screen.width),o&&!tn(this.selection)&&this.notifySelectionChange();}moveSelectionFocus(e){if(!this.altScreenActive)return;let{focus:n}=this.selection;if(!n)return;let{width:r,height:o}=this.frontFrame.screen,i=r-1,s=o-1,{col:l,row:c}=n;switch(e){case "left":l>0?l--:c>0&&(l=i,c--);break;case "right":l<i?l++:c<s&&(l=0,c++);break;case "up":c>0&&c--;break;case "down":c<s&&c++;break;case "lineStart":l=0;break;case "lineEnd":l=i;break}l===n.col&&c===n.row||(Jd(this.selection,l,c),this.notifySelectionChange());}hasTextSelection(){return tn(this.selection)}subscribeToSelectionChange(e){return this.selectionListeners.add(e),()=>this.selectionListeners.delete(e)}notifySelectionChange(){this.onRender();for(let e of this.selectionListeners)e();}dispatchClick(e,n){if(!this.altScreenActive)return false;let r=fs(this.frontFrame.screen,e,n);return Of(this.rootNode,e,n,r)}dispatchHover(e,n){this.altScreenActive&&If(this.rootNode,e,n,this.hoveredNodes);}dispatchKeyboardEvent(e){let n=this.focusManager.activeElement??this.rootNode,r=new Rs(e);Vn.dispatchDiscrete(n,r),!r.defaultPrevented&&e.name==="tab"&&!e.ctrl&&!e.meta&&(e.shift?this.focusManager.focusPrevious(this.rootNode):this.focusManager.focusNext(this.rootNode));}getHyperlinkAt(e,n){if(!this.altScreenActive)return;let r=this.frontFrame.screen,o=Tt(r,e,n),i=o?.hyperlink;return !i&&o?.width===2&&e>0&&(i=Tt(r,e-1,n)?.hyperlink),i??qd(r,e,n)}onHyperlinkClick;openHyperlink(e){this.onHyperlinkClick?.(e);}handleMultiClick(e,n,r){if(!this.altScreenActive)return;let o=this.frontFrame.screen;hs(this.selection,e,n),r===2?Yd(this.selection,o,e,n):Vd(this.selection,o,n),this.selection.focus||(this.selection.focus=this.selection.anchor),this.notifySelectionChange();}handleSelectionDrag(e,n){if(!this.altScreenActive)return;let r=this.selection;r.anchorSpan?zd(r,this.frontFrame.screen,e,n):Kd(r,e,n),this.notifySelectionChange();}stdinListeners=[];wasRawMode=false;suspendStdin(){let e=this.options.stdin;if(!e.isTTY)return;let n=e.listeners("readable");Fe(`[stdin] suspendStdin: removing ${n.length} readable listener(s), wasRawMode=${e.isRaw??false}`),n.forEach(o=>{this.stdinListeners.push({event:"readable",listener:o}),e.removeListener("readable",o);});let r=e;r.isRaw&&r.setRawMode&&(r.setRawMode(false),this.wasRawMode=true);}resumeStdin(){let e=this.options.stdin;if(e.isTTY&&(this.stdinListeners.length===0&&!this.wasRawMode&&Fe("[stdin] resumeStdin: called with no stored listeners and wasRawMode=false (possible desync)",{level:"warn"}),Fe(`[stdin] resumeStdin: re-attaching ${this.stdinListeners.length} listener(s), wasRawMode=${this.wasRawMode}`),this.stdinListeners.forEach(({event:n,listener:r})=>{e.addListener(n,r);}),this.stdinListeners=[],this.wasRawMode)){let n=e;n.setRawMode&&n.setRawMode(true),this.wasRawMode=false;}}writeRaw(e){this.options.stdout.write(e);}setCursorDeclaration=a((e,n)=>{e===null&&n!==void 0&&this.cursorDeclaration?.node!==n||(this.cursorDeclaration=e);},"setCursorDeclaration");render(e){this.currentNode=e;let n=jsx(pi,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount,terminalColumns:this.terminalColumns,terminalRows:this.terminalRows,selection:this.selection,onSelectionChange:this.notifySelectionChange,onClickAt:this.dispatchClick,onHoverAt:this.dispatchHover,getHyperlinkAt:this.getHyperlinkAt,onOpenHyperlink:this.openHyperlink,onMultiClick:this.handleMultiClick,onSelectionDrag:this.handleSelectionDrag,onStdinResume:this.reassertTerminalModes,onCursorDeclaration:this.setCursorDeclaration,dispatchKeyboardEvent:this.dispatchKeyboardEvent,children:jsx(am,{value:this.writeRaw,children:e})});In.updateContainerSync(n,this.container,null,wo),In.flushSyncWork();}unmount(e){if(this.isUnmounted)return;this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),this.restoreStderr?.(),this.unsubscribeTTYHandlers?.();let n=this.log.renderPreviousOutput_DEPRECATED(this.frontFrame);xl(this.terminal,Ml(n)),this.options.stdout.isTTY&&(this.altScreenActive&&writeSync(1,pl),writeSync(1,go),this.drainStdin(),writeSync(1,Qo),writeSync(1,Ar),writeSync(1,di),writeSync(1,bs),writeSync(1,Dr),writeSync(1,mf),gf()&&writeSync(1,hl(pf))),this.isUnmounted=true,this.scheduleRender.cancel?.(),this.drainTimer!==null&&(clearTimeout(this.drainTimer),this.drainTimer=null),In.updateContainerSync(null,this.container,null,wo),In.flushSyncWork(),Fr.delete(this.options.stdout),this.rootNode.yogaNode?.free(),this.rootNode.yogaNode=void 0,e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise();}async waitUntilExit(){return this.exitPromise||=new Promise((e,n)=>{this.resolveExitPromise=e,this.rejectExitPromise=n;}),this.exitPromise}resetLineCount(){this.options.stdout.isTTY&&(this.backFrame=this.frontFrame,this.frontFrame=br(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null);}resetPools(){this.charPool=new so,this.hyperlinkPool=new ao,Ld(this.frontFrame.screen,this.charPool,this.hyperlinkPool),this.backFrame.screen.charPool=this.charPool,this.backFrame.screen.hyperlinkPool=this.hyperlinkPool;}patchConsole(){let e=console,n={},r=a((...i)=>Fe(`console.log: ${format(...i)}`),"toDebug"),o=a((...i)=>b$1.error(new Error(`console.error: ${format(...i)}`)),"toError");for(let i of px)n[i]=e[i],e[i]=r;for(let i of gx)n[i]=e[i],e[i]=o;return n.assert=e.assert,e.assert=(i,...s)=>{i||o(...s);},()=>Object.assign(e,n)}patchStderr(){let e=process.stderr,n=e.write,r=false,o=a((i,s,l)=>{let c=typeof s=="function"?s:l;if(r){let d=typeof s=="string"?s:void 0;return n.call(e,i,d,c)}r=true;try{let d=typeof i=="string"?i:Buffer.from(i).toString("utf8");Fe(`[stderr] ${d}`,{level:"warn"}),this.altScreenActive&&!this.isUnmounted&&!this.isPaused&&(this.prevFrameContaminated=!0,this.scheduleRender());}finally{r=false,c?.();}return true},"intercept");return e.write=o,()=>{e.write===o&&(e.write=n);}}};function mx(t=process.stdin){if(!t.isTTY)return;try{for(;t.read()!==null;);}catch{}if(process.platform==="win32")return;let e=t,n=e.isRaw===true,r=-1;try{n||e.setRawMode?.(!0),r=openSync("/dev/tty",constants.O_RDONLY|constants.O_NONBLOCK);let o=Buffer.alloc(1024);for(let i=0;i<64&&!(readSync(r,o,0,o.length,null)<=0);i++);}catch{}finally{if(r>=0)try{closeSync(r);}catch{}if(!n)try{e.setRawMode?.(!1);}catch{}}}a(mx,"drainStdin");var px=["log","info","debug","dir","dirxml","count","countReset","group","groupCollapsed","groupEnd","table","time","timeEnd","timeLog"],gx=["warn","error","trace"];var fm=a((t,e)=>{let n=bx(e),r={stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,exitOnCtrlC:true,patchConsole:true,...n},o=xx(r.stdout,()=>new bi(r));return o.render(t),{rerender:o.render,unmount(){o.unmount();},waitUntilExit:o.waitUntilExit,cleanup:a(()=>Fr.delete(r.stdout),"cleanup")}},"renderSync"),yx=a(async(t,e)=>{await Promise.resolve();let n=fm(t,e);return Fe(`[render] first ink render: ${Math.round(process.uptime()*1e3)}ms since process start`),n},"wrappedRender"),xi=yx;var bx=a((t={})=>t instanceof Stream?{stdout:t,stdin:process.stdin}:t,"getOptions"),xx=a((t,e)=>{let n=Fr.get(t);return n||(n=e(),Fr.set(t,n)),n},"getInstance");h();h();h();h();h();var vx=a(()=>useContext(Cs),"useApp"),Hl=vx;h();h();var Tx=a(()=>useContext(ks),"useStdin"),Ul=Tx;var Rx=a((t,e={})=>{let{setRawMode:n,internal_exitOnCtrlC:r,internal_eventEmitter:o}=Ul();useLayoutEffect(()=>{if(e.isActive!==false)return n(true),()=>{n(false);}},[e.isActive,n]);let i=useEventCallback(s=>{if(e.isActive===false)return;let{input:l,key:c}=s;(!(l==="c"&&c.ctrl)||!r)&&t(l,c,s);});useEffect(()=>(o?.on("input",i),()=>{o?.removeListener("input",i);}),[o,i]);},"useInput"),lt=Rx;h();h();h();h();var Sr="rgb(45,42,40)",To="rgb(250,247,240)",Gl="rgb(235,130,140)",_x="rgb(25,25,25)",mm="rgb(60,40,20)",pm="rgb(250,247,240)";function gm(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[jsx(u,{color:Sr,children:"\u259F"}),jsx(u,{color:Gl,children:"\u2596"}),jsx(u,{children:" "}),jsx(u,{color:Gl,children:"\u2597"}),jsx(u,{color:Sr,children:"\u2599"})]}),jsxs(u,{children:[jsx(u,{color:Sr,children:"\u2590\u2588"}),jsx(u,{color:Sr,children:"\u2599"}),jsx(u,{color:To,children:"\u2584"}),jsx(u,{color:Sr,children:"\u259F"}),jsx(u,{color:Sr,children:"\u2588\u258C"})]}),jsxs(u,{children:[jsx(u,{color:Sr,children:"\u259D"}),jsx(u,{color:mm,backgroundColor:pm,children:"\u25CF"}),jsx(u,{color:To,children:"\u2584"}),jsx(u,{color:_x,children:"\u25BC"}),jsx(u,{color:To,children:"\u2584"}),jsx(u,{color:mm,backgroundColor:pm,children:"\u25CF"}),jsx(u,{color:Sr,children:"\u2598"})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:To,children:"\u259C"}),jsx(u,{color:Gl,children:"\u2584"}),jsx(u,{color:To,children:"\u259B"}),jsx(u,{children:" "})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:To,children:"\u259D\u2580\u2580\u2580\u2598"}),jsx(u,{children:" "})]})]})}a(gm,"DogLogo");h();var Co="rgb(40,30,25)",xn="rgb(240,200,160)",rn="rgb(80,80,180)",ko="rgb(255,255,255)",xt="rgb(80,80,180)",Si="rgb(255,140,30)",on="rgb(255,255,255)",Nx=6,Px=350;function ym(){let[t,e]=useState(0);switch(useEffect(()=>{let n=setInterval(()=>{e(r=>(r+1)%Nx);},Px);return ()=>clearInterval(n)},[]),t){case 0:return jsx(hm,{});case 1:return jsx(Ox,{});case 2:return jsx(Ix,{});case 3:return jsx(Dx,{});case 4:return jsx(Lx,{});case 5:return jsx(Bx,{});default:return jsx(hm,{})}}a(ym,"KunLogo");function hm(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Co,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:rn,children:"\u257F"}),jsx(u,{color:xt,children:"\u2588"}),jsx(u,{color:rn,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xt,children:"\u2502"})," ",jsx(u,{color:xt,children:"\u2502"}),jsx(u,{color:Si,children:" \u25CE"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:on,children:"\u2598"})," ",jsx(u,{color:on,children:"\u2598"})," "]})]})}a(hm,"F0");function Ox(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Co,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:rn,children:"\u257F"}),jsx(u,{color:xt,children:"\u2588"}),jsx(u,{color:rn,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xt,children:"\u2571"})," ",jsx(u,{color:xt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:on,children:"\u259D"})," ",jsx(u,{color:on,children:"\u2598"}),jsx(u,{color:Si,children:"\u25CE"})," "]})]})}a(Ox,"F1");function Ix(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Co,children:"\u25D3"})," ",jsx(u,{color:Si,children:"\u25CE"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:rn,children:"\u257F"}),jsx(u,{color:xt,children:"\u2588"}),jsx(u,{color:rn,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xt,children:"\u2571"})," ",jsx(u,{color:xt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:on,children:"\u259D"})," ",jsx(u,{color:on,children:"\u2598"})," "]})]})}a(Ix,"F2");function Dx(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Co,children:"\u25D3"}),jsx(u,{color:Si,children:"\u25CE"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:xn,children:"\u2500"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:rn,children:"\u257F"}),jsx(u,{color:xt,children:"\u2588"}),jsx(u,{color:rn,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xt,children:"\u2571"})," ",jsx(u,{color:xt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:on,children:"\u259D"})," ",jsx(u,{color:on,children:"\u2598"})," "]})]})}a(Dx,"F3");function Lx(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Si,children:"\u25CE"}),jsx(u,{color:Co,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:rn,children:"\u257F"}),jsx(u,{color:xt,children:"\u2588"}),jsx(u,{color:rn,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xt,children:"\u2571"})," ",jsx(u,{color:xt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:on,children:"\u259D"})," ",jsx(u,{color:on,children:"\u2598"})," "]})]})}a(Lx,"F4");function Bx(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Co,children:"\u25D3"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xn,children:"\u2571"}),jsx(u,{color:ko,children:"\u2588"}),jsx(u,{color:xn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:rn,children:"\u257F"}),jsx(u,{color:xt,children:"\u2588"}),jsx(u,{color:rn,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:xt,children:"\u2571"})," ",jsx(u,{color:xt,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:on,children:"\u259D"})," ",jsx(u,{color:on,children:"\u2598"})," "]})]})}a(Bx,"F5");h();var $r="rgb(40,30,25)",Wr="rgb(240,200,160)",Fx="rgb(20,20,20)";function bm(){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:$r,children:"\u2584"}),jsx(u,{color:$r,backgroundColor:Wr,children:"\u2599\u259F"}),jsx(u,{color:$r,children:"\u2584"})]}),jsxs(u,{children:[jsx(u,{color:$r,children:"\u2588\u259B"}),jsx(u,{color:Wr,children:" "}),jsx(u,{color:$r,children:"\u259C\u2588"})]}),jsxs(u,{children:[jsx(u,{color:$r,children:"\u259C"}),jsx(u,{color:Wr,children:" "}),jsx(u,{color:Fx,backgroundColor:Wr,children:"\u25CF\u25CF"}),jsx(u,{color:Wr,children:" "}),jsx(u,{color:$r,children:"\u259B"})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:Wr,children:"\u259C\u2584\u2584\u259B"})]}),jsxs(u,{children:[jsx(u,{children:" "}),jsx(u,{color:Wr,children:"\u2580\u2580"})]})]})}a(bm,"KunHead");h();var Kl="rgb(40,30,25)",sn="rgb(240,200,160)",_o="rgb(255,255,255)",Mo="rgb(80,80,180)",tr="rgb(80,80,180)";var jl="rgb(255,100,120)",Hx=300,Ux=12;function xm(){let[t,e]=useState(0);useEffect(()=>{let i=setInterval(()=>{e(s=>(s+1)%Ux);},Hx);return ()=>clearInterval(i)},[]);let n=t,r=n<=1?"left":n<=3?"right":n<=5?"left":n<=7?"right":"center",o=n>=8&&n<=11;return r==="left"?jsx(Gx,{showBubble:false}):r==="right"?jsx(Kx,{showBubble:false}):jsx(jx,{showBubble:o})}a(xm,"BabyHand");function Gx({showBubble:t}){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Kl,children:"\u25D3"})," ",t?jsx(u,{color:jl,bold:true,children:"\u8D1D\u8D1D"}):" "]}),jsxs(u,{children:[jsx(u,{color:sn,children:"\u2571"}),jsx(u,{color:_o,children:"\u2588"}),jsx(u,{color:sn,children:"\u2572"})," "]}),jsxs(u,{children:[jsx(u,{color:sn,children:"\u2571"}),jsx(u,{color:_o,children:"\u2588\u2588"}),jsx(u,{color:sn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:Mo,children:"\u257F"}),jsx(u,{color:tr,children:"\u2588"}),jsx(u,{color:Mo,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tr,children:"\u2502"})," ",jsx(u,{color:tr,children:"\u2502"})," "]})]})}a(Gx,"PoseLeft");function Kx({showBubble:t}){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Kl,children:"\u25D3"})," ",t?jsx(u,{color:jl,bold:true,children:"\u8D1D\u8D1D"}):" "]}),jsxs(u,{children:[" ",jsx(u,{color:sn,children:"\u2571"}),jsx(u,{color:_o,children:"\u2588"}),jsx(u,{color:sn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:sn,children:"\u2571"}),jsx(u,{color:_o,children:"\u2588\u2588"}),jsx(u,{color:sn,children:"\u2572"})]}),jsxs(u,{children:[" ",jsx(u,{color:Mo,children:"\u257F"}),jsx(u,{color:tr,children:"\u2588"}),jsx(u,{color:Mo,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tr,children:"\u2502"})," ",jsx(u,{color:tr,children:"\u2502"})," "]})]})}a(Kx,"PoseRight");function jx({showBubble:t}){return jsxs(x,{flexDirection:"column",children:[jsxs(u,{children:[" ",jsx(u,{color:Kl,children:"\u25D3"})," ",t?jsx(u,{color:jl,bold:true,children:"\u8D1D\u8D1D"}):" "]}),jsxs(u,{children:[" ",jsx(u,{color:sn,children:"\u2571"}),jsx(u,{color:_o,children:"\u2588"}),jsx(u,{color:sn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:sn,children:"\u2571"}),jsx(u,{color:_o,children:"\u2588\u2588"}),jsx(u,{color:sn,children:"\u2572"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:Mo,children:"\u257F"}),jsx(u,{color:tr,children:"\u2588"}),jsx(u,{color:Mo,children:"\u257F"})," "]}),jsxs(u,{children:[" ",jsx(u,{color:tr,children:"\u2502"})," ",jsx(u,{color:tr,children:"\u2502"})," "]})]})}a(jx,"PoseCenter");function Yx(){let t=process.env.CODESHELL_LOGO;if(t==="dog"||t==="kunhead"||t==="kunball"||t==="baby")return t;let e=Math.random();return e<.25?"dog":e<.5?"kunhead":e<.75?"kunball":"baby"}a(Yx,"pickLogo");var vm=Yx(),qx={dog:gm,kunhead:bm,kunball:ym,baby:xm},Vx=qx[vm],Sm=vm==="kunhead";function wm({model:t,effort:e$1,cwd:n}){let r=zx(n),o=Jx(t),i=e$1!=="high"?` (${e$1})`:"";return jsxs(x,{flexDirection:"column",marginBottom:0,children:[jsx(u,{children:" "}),Sm&&jsx(x,{paddingLeft:1,marginBottom:0,children:jsx(u,{color:"rgb(255,200,60)",bold:true,children:"\u5168\u6C11\u5236\u4F5C\u4EBA\u4EEC\u5927\u5BB6\u597D"})}),jsxs(x,{flexDirection:"row",gap:2,alignItems:"center",children:[jsx(Vx,{}),jsxs(x,{flexDirection:"column",children:[jsxs(x,{children:[jsx(u,{bold:true,children:Sm?"iKun Shell":"Code Shell"}),jsx(u,{dim:true,children:" v"+e()})]}),jsxs(x,{children:[jsx(u,{children:o}),jsx(u,{dim:true,children:i})]}),jsx(x,{children:jsx(u,{dim:true,children:r})})]})]}),jsx(u,{children:" "})]})}a(wm,"Banner");function zx(t){let e=process.env.HOME??"";return e&&t.startsWith(e)?"~"+t.slice(e.length):t}a(zx,"shortenPath");function Jx(t){return (t.split("/").pop()??t).replace("claude-opus-4-6","Claude Opus 4.6").replace("claude-sonnet-4-6","Claude Sonnet 4.6").replace("claude-haiku-4-5","Claude Haiku 4.5").replace("claude-","Claude ")}a(Jx,"formatModel");h();var Zx=1800*1e3,e0="@cjhyy/code-shell";function Em(){let[t,e$1]=useState(b$3());if(useEffect(()=>{let o=false,i=a(()=>{a$2(),setTimeout(()=>{if(o)return;let l=b$3();e$1(l),l?.canAutoInstall&&d$2();},6e3);},"refresh");i();let s=setInterval(i,Zx);return ()=>{o=true,clearInterval(s);}},[]),!t)return null;let n=e(),r=t.canAutoInstall?null:`sudo npm install -g ${e0}@${t.latestVersion}`;return jsxs(x,{marginLeft:1,marginY:0,flexDirection:"column",children:[jsx(u,{color:"ansi:yellow",children:`\u2726 Update available: v${n} \u2192 v${t.latestVersion}`}),t.canAutoInstall?jsx(u,{dim:true,children:" Will install in the background when you exit."}):jsxs(u,{dim:true,children:[" Run: ",jsx(u,{bold:true,children:r})]})]})}a(Em,"UpdateBanner");h();function r0(t){for(let e of ["CODESHELL.md","AGENTS.md","CLAUDE.md"])if(existsSync(join(t,e)))return e;return null}a(r0,"detectProjectDoc");function o0(t){let e=r0(t);return [{done:e!==null,text:e?`${e} \u5DF2\u5B58\u5728 \u2014 \u9879\u76EE\u8BF4\u660E\u4F1A\u81EA\u52A8\u52A0\u8F7D`:"\u8FD0\u884C /init \u751F\u6210 CODESHELL.md\uFF0C\u544A\u8BC9\u6A21\u578B\u5982\u4F55\u7406\u89E3\u672C\u9879\u76EE"},{done:false,text:"\u8BA9\u6A21\u578B\u5E2E\u4F60\u5206\u6790\u3001\u7F16\u8F91\u6587\u4EF6\uFF0C\u6216\u6267\u884C bash / git \u547D\u4EE4"},{done:false,text:"\u50CF\u8DDF\u540C\u4E8B\u6C9F\u901A\u4E00\u6837\u5199\u6E05\u695A\u9700\u6C42\uFF0C\u8D8A\u5177\u4F53\u6548\u679C\u8D8A\u597D"},{done:false,text:"\u968F\u65F6\u8F93\u5165 /status \u67E5\u770B\u5F53\u524D\u6A21\u578B\u3001\u7528\u91CF\u3001\u914D\u7F6E"}]}a(o0,"buildTips");function km({cwd:t}){let e=o0(t);return jsxs(x,{flexDirection:"column",marginBottom:1,paddingX:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u273B \u6B22\u8FCE\u4F7F\u7528 Code Shell"})}),jsx(x,{marginTop:0,children:jsx(u,{dim:true,children:" /help \u67E5\u770B\u5E2E\u52A9 \xB7 /status \u67E5\u770B\u5F53\u524D\u914D\u7F6E"})}),jsx(x,{marginTop:1,children:jsx(u,{dim:true,children:"\u2500".repeat(60)})}),jsx(x,{marginTop:1,children:jsx(u,{bold:true,children:" \u4E0A\u624B\u63D0\u793A\uFF1A"})}),e.map((n,r)=>jsxs(x,{children:[jsx(u,{children:" "}),n.done?jsx(u,{color:"ansi:green",children:"\u2714 "}):jsx(u,{dim:true,children:`${r+1}. `}),jsx(u,{dim:n.done,children:n.text})]},r)),jsx(x,{marginTop:1,children:jsx(u,{dim:true,children:"\u2500".repeat(60)})})]})}a(km,"WelcomeTips");h();h();h();h();h();var Rm=["ghostty","Hyper","kitty","alacritty","iTerm.app","iTerm2"];function _m(t){if(t?.stdoutSupported??i0.stdout)return true;let n=t?.env??process.env,r=n.TERM_PROGRAM;if(r&&Rm.includes(r))return true;let o=n.LC_TERMINAL;return !!(o&&Rm.includes(o)||n.TERM?.includes("kitty"))}a(_m,"supportsHyperlinks");function Fs(t){let e=c$1(5),{children:n,url:r,fallback:o}=t,i=n??r;if(_m()){let c;return e[0]!==i||e[1]!==r?(c=jsx(u,{children:jsx("ink-link",{href:r,children:i})}),e[0]=i,e[1]=r,e[2]=c):c=e[2],c}let s=o??i,l;return e[3]!==s?(l=jsx(u,{children:s}),e[3]=s,e[4]=l):l=e[4],l}a(Fs,"Link");h();h();h();function Mm(t){if(t.length===0)return null;let e=t[0];return e==="c"?{type:"reset"}:e==="7"?{type:"cursor",action:{type:"save"}}:e==="8"?{type:"cursor",action:{type:"restore"}}:e==="D"?{type:"cursor",action:{type:"move",direction:"down",count:1}}:e==="M"?{type:"cursor",action:{type:"move",direction:"up",count:1}}:e==="E"?{type:"cursor",action:{type:"nextLine",count:1}}:e==="H"||"()".includes(e)&&t.length>=2?null:{type:"unknown",sequence:`\x1B${t}`}}a(Mm,"parseEsc");h();h();function Ao(){return {bold:false,dim:false,italic:false,underline:"none",blink:false,inverse:false,hidden:false,strikethrough:false,overline:false,fg:{type:"default"},bg:{type:"default"},underlineColor:{type:"default"}}}a(Ao,"defaultStyle");var $s=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],a0=["none","single","double","curly","dotted","dashed"];function l0(t){if(t==="")return [{value:0,subparams:[],colon:false}];let e=[],n={value:null,subparams:[],colon:false},r="",o=false;for(let i=0;i<=t.length;i++){let s=t[i];if(s===";"||s===void 0){let l=r===""?null:parseInt(r,10);o?l!==null&&n.subparams.push(l):n.value=l,e.push(n),n={value:null,subparams:[],colon:false},r="",o=false;}else if(s===":"){let l=r===""?null:parseInt(r,10);o?l!==null&&n.subparams.push(l):(n.value=l,n.colon=true,o=true),r="";}else s>="0"&&s<="9"&&(r+=s);}return e}a(l0,"parseParams");function Vl(t,e){let n=t[e];if(!n)return null;if(n.colon&&n.subparams.length>=1){if(n.subparams[0]===5&&n.subparams.length>=2)return {index:n.subparams[1]};if(n.subparams[0]===2&&n.subparams.length>=4){let o=n.subparams.length>=5?1:0;return {r:n.subparams[1+o],g:n.subparams[2+o],b:n.subparams[3+o]}}}let r=t[e+1];if(!r)return null;if(r.value===5&&t[e+2]?.value!==null&&t[e+2]?.value!==void 0)return {index:t[e+2].value};if(r.value===2){let o=t[e+2]?.value,i=t[e+3]?.value,s=t[e+4]?.value;if(o!=null&&i!==null&&i!==void 0&&s!==null&&s!==void 0)return {r:o,g:i,b:s}}return null}a(Vl,"parseExtendedColor");function Am(t,e){let n=l0(t),r={...e},o=0;for(;o<n.length;){let i=n[o],s=i.value??0;if(s===0){r=Ao(),o++;continue}if(s===1){r.bold=true,o++;continue}if(s===2){r.dim=true,o++;continue}if(s===3){r.italic=true,o++;continue}if(s===4){r.underline=i.colon?a0[i.subparams[0]]??"single":"single",o++;continue}if(s===5||s===6){r.blink=true,o++;continue}if(s===7){r.inverse=true,o++;continue}if(s===8){r.hidden=true,o++;continue}if(s===9){r.strikethrough=true,o++;continue}if(s===21){r.underline="double",o++;continue}if(s===22){r.bold=false,r.dim=false,o++;continue}if(s===23){r.italic=false,o++;continue}if(s===24){r.underline="none",o++;continue}if(s===25){r.blink=false,o++;continue}if(s===27){r.inverse=false,o++;continue}if(s===28){r.hidden=false,o++;continue}if(s===29){r.strikethrough=false,o++;continue}if(s===53){r.overline=true,o++;continue}if(s===55){r.overline=false,o++;continue}if(s>=30&&s<=37){r.fg={type:"named",name:$s[s-30]},o++;continue}if(s===39){r.fg={type:"default"},o++;continue}if(s>=40&&s<=47){r.bg={type:"named",name:$s[s-40]},o++;continue}if(s===49){r.bg={type:"default"},o++;continue}if(s>=90&&s<=97){r.fg={type:"named",name:$s[s-90+8]},o++;continue}if(s>=100&&s<=107){r.bg={type:"named",name:$s[s-100+8]},o++;continue}if(s===38){let l=Vl(n,o);if(l){r.fg="index"in l?{type:"indexed",index:l.index}:{type:"rgb",...l},o+=i.colon?1:"index"in l?3:5;continue}}if(s===48){let l=Vl(n,o);if(l){r.bg="index"in l?{type:"indexed",index:l.index}:{type:"rgb",...l},o+=i.colon?1:"index"in l?3:5;continue}}if(s===58){let l=Vl(n,o);if(l){r.underlineColor="index"in l?{type:"indexed",index:l.index}:{type:"rgb",...l},o+=i.colon?1:"index"in l?3:5;continue}}if(s===59){r.underlineColor={type:"default"},o++;continue}o++;}return r}a(Am,"applySGR");function c0(t){return t>=9728&&t<=9983||t>=9984&&t<=10175||t>=127744&&t<=129535||t>=129536&&t<=129791||t>=127456&&t<=127487}a(c0,"isEmoji");function u0(t){return t>=4352&&t<=4447||t>=11904&&t<=40959||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65055||t>=65072&&t<=65135||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=131072&&t<=196605||t>=196608&&t<=262141}a(u0,"isEastAsianWide");function d0(t){let e=0;for(let n of t)if(e++,e>1)return true;return false}a(d0,"hasMultipleCodepoints");function f0(t){if(d0(t))return 2;let e=t.codePointAt(0);return e===void 0?1:c0(e)||u0(e)?2:1}a(f0,"graphemeWidth");function*Nm(t){for(let{segment:e}of _r().segment(t))yield {value:e,width:f0(e)};}a(Nm,"segmentGraphemes");function m0(t){return t===""?[]:t.split(/[;:]/).map(e=>e===""?0:parseInt(e,10))}a(m0,"parseCSIParams");function p0(t){let e=t.slice(2);if(e.length===0)return null;let n=e.charCodeAt(e.length-1),r=e.slice(0,-1),o="",i=r,s="";r.length>0&&"?>=".includes(r[0])&&(o=r[0],i=r.slice(1));let l=i.match(/([^0-9;:]+)$/);l&&(s=l[1],i=i.slice(0,-s.length));let c=m0(i),d=c[0]??1,f=c[1]??1;if(n===Ye.SGR&&o==="")return {type:"sgr",params:i};if(n===Ye.CUU)return {type:"cursor",action:{type:"move",direction:"up",count:d}};if(n===Ye.CUD)return {type:"cursor",action:{type:"move",direction:"down",count:d}};if(n===Ye.CUF)return {type:"cursor",action:{type:"move",direction:"forward",count:d}};if(n===Ye.CUB)return {type:"cursor",action:{type:"move",direction:"back",count:d}};if(n===Ye.CNL)return {type:"cursor",action:{type:"nextLine",count:d}};if(n===Ye.CPL)return {type:"cursor",action:{type:"prevLine",count:d}};if(n===Ye.CHA)return {type:"cursor",action:{type:"column",col:d}};if(n===Ye.CUP||n===Ye.HVP)return {type:"cursor",action:{type:"position",row:d,col:f}};if(n===Ye.VPA)return {type:"cursor",action:{type:"row",row:d}};if(n===Ye.ED)return {type:"erase",action:{type:"display",region:Du[c[0]??0]??"toEnd"}};if(n===Ye.EL)return {type:"erase",action:{type:"line",region:Lu[c[0]??0]??"toEnd"}};if(n===Ye.ECH)return {type:"erase",action:{type:"chars",count:d}};if(n===Ye.SU)return {type:"scroll",action:{type:"up",count:d}};if(n===Ye.SD)return {type:"scroll",action:{type:"down",count:d}};if(n===Ye.DECSTBM)return {type:"scroll",action:{type:"setRegion",top:d,bottom:f}};if(n===Ye.SCOSC)return {type:"cursor",action:{type:"save"}};if(n===Ye.SCORC)return {type:"cursor",action:{type:"restore"}};if(n===Ye.DECSCUSR&&s===" ")return {type:"cursor",action:{type:"style",...Pa[d]??Pa[0]}};if(o==="?"&&(n===Ye.SM||n===Ye.RM)){let m=n===Ye.SM;if(d===Oe.CURSOR_VISIBLE)return {type:"cursor",action:m?{type:"show"}:{type:"hide"}};if(d===Oe.ALT_SCREEN_CLEAR||d===Oe.ALT_SCREEN)return {type:"mode",action:{type:"alternateScreen",enabled:m}};if(d===Oe.BRACKETED_PASTE)return {type:"mode",action:{type:"bracketedPaste",enabled:m}};if(d===Oe.MOUSE_NORMAL)return {type:"mode",action:{type:"mouseTracking",mode:m?"normal":"off"}};if(d===Oe.MOUSE_BUTTON)return {type:"mode",action:{type:"mouseTracking",mode:m?"button":"off"}};if(d===Oe.MOUSE_ANY)return {type:"mode",action:{type:"mouseTracking",mode:m?"any":"off"}};if(d===Oe.FOCUS_EVENTS)return {type:"mode",action:{type:"focusEvents",enabled:m}}}return {type:"unknown",sequence:t}}a(p0,"parseCSI");function g0(t){if(t.length<2||t.charCodeAt(0)!==Pn.ESC)return "unknown";let e=t.charCodeAt(1);return e===91?"csi":e===93?"osc":e===79?"ss3":"esc"}a(g0,"identifySequence");var wi=class{static{a(this,"Parser");}tokenizer=no();style=Ao();inLink=false;linkUrl;reset(){this.tokenizer.reset(),this.style=Ao(),this.inLink=false,this.linkUrl=void 0;}feed(e){let n=this.tokenizer.feed(e),r=[];for(let o of n){let i=this.processToken(o);r.push(...i);}return r}processToken(e){switch(e.type){case "text":return this.processText(e.value);case "sequence":return this.processSequence(e.value)}}processText(e){let n=[],r="";for(let o of e)if(o.charCodeAt(0)===Pn.BEL){if(r){let i=[...Nm(r)];i.length>0&&n.push({type:"text",graphemes:i,style:{...this.style}}),r="";}n.push({type:"bell"});}else r+=o;if(r){let o=[...Nm(r)];o.length>0&&n.push({type:"text",graphemes:o,style:{...this.style}});}return n}processSequence(e){switch(g0(e)){case "csi":{let r=p0(e);return r?r.type==="sgr"?(this.style=Am(r.params,this.style),[]):[r]:[]}case "osc":{let r=e.slice(2);r.endsWith("\x07")?r=r.slice(0,-1):r.endsWith("\x1B\\")&&(r=r.slice(0,-2));let o=uf(r);return o?(o.type==="link"&&(o.action.type==="start"?(this.inLink=true,this.linkUrl=o.action.url):(this.inLink=false,this.linkUrl=void 0)),[o]):[]}case "esc":{let r=e.slice(1),o=Mm(r);return o?[o]:[]}case "ss3":return [{type:"unknown",sequence:e}];default:return [{type:"unknown",sequence:e}]}}};var an=Sp.memo(a(function(e){let n=c$1(12),{children:r,dimColor:o}=e;if(typeof r!="string"){let d;return n[0]!==r||n[1]!==o?(d=o?jsx(u,{dim:true,children:String(r)}):jsx(u,{children:String(r)}),n[0]=r,n[1]=o,n[2]=d):d=n[2],d}if(r==="")return null;let i,s;if(n[3]!==r||n[4]!==o){s=Symbol.for("react.early_return_sentinel");e:{let d=y0(r);if(d.length===0){s=null;break e}if(d.length===1&&!v0(d[0].props)){s=o?jsx(u,{dim:true,children:d[0].text}):jsx(u,{children:d[0].text});break e}let f;n[7]!==o?(f=a((m,h)=>{let g=m.props.hyperlink;o&&(m.props.dim=true);let S=w0(m.props);return g?S?jsx(Fs,{url:g,children:jsx(Om,{color:m.props.color,backgroundColor:m.props.backgroundColor,dim:m.props.dim,bold:m.props.bold,italic:m.props.italic,underline:m.props.underline,strikethrough:m.props.strikethrough,inverse:m.props.inverse,children:m.text})},h):jsx(Fs,{url:g,children:m.text},h):S?jsx(Om,{color:m.props.color,backgroundColor:m.props.backgroundColor,dim:m.props.dim,bold:m.props.bold,italic:m.props.italic,underline:m.props.underline,strikethrough:m.props.strikethrough,inverse:m.props.inverse,children:m.text},h):m.text},"t3"),n[7]=o,n[8]=f):f=n[8],i=d.map(f);}n[3]=r,n[4]=o,n[5]=i,n[6]=s;}else i=n[5],s=n[6];if(s!==Symbol.for("react.early_return_sentinel"))return s;let l=i,c;return n[9]!==l||n[10]!==o?(c=o?jsx(u,{dim:true,children:l}):jsx(u,{children:l}),n[9]=l,n[10]=o,n[11]=c):c=n[11],c},"Ansi"));function y0(t){let n=new wi().feed(t),r=[],o;for(let i of n){if(i.type==="link"){i.action.type==="start"?o=i.action.url:o=void 0;continue}if(i.type==="text"){let s=i.graphemes.map(d=>d.value).join("");if(!s)continue;let l=b0(i.style);o&&(l.hyperlink=o);let c=r[r.length-1];c&&S0(c.props,l)?c.text+=s:r.push({text:s,props:l});}}return r}a(y0,"parseToSpans");function b0(t){let e={};t.bold&&(e.bold=true),t.dim&&(e.dim=true),t.italic&&(e.italic=true),t.underline!=="none"&&(e.underline=true),t.strikethrough&&(e.strikethrough=true),t.inverse&&(e.inverse=true);let n=Pm(t.fg);n&&(e.color=n);let r=Pm(t.bg);return r&&(e.backgroundColor=r),e}a(b0,"textStyleToSpanProps");var x0={black:"ansi:black",red:"ansi:red",green:"ansi:green",yellow:"ansi:yellow",blue:"ansi:blue",magenta:"ansi:magenta",cyan:"ansi:cyan",white:"ansi:white",brightBlack:"ansi:blackBright",brightRed:"ansi:redBright",brightGreen:"ansi:greenBright",brightYellow:"ansi:yellowBright",brightBlue:"ansi:blueBright",brightMagenta:"ansi:magentaBright",brightCyan:"ansi:cyanBright",brightWhite:"ansi:whiteBright"};function Pm(t){switch(t.type){case "named":return x0[t.name];case "indexed":return `ansi256(${t.index})`;case "rgb":return `rgb(${t.r},${t.g},${t.b})`;case "default":return}}a(Pm,"colorToString");function S0(t,e){return t.color===e.color&&t.backgroundColor===e.backgroundColor&&t.bold===e.bold&&t.dim===e.dim&&t.italic===e.italic&&t.underline===e.underline&&t.strikethrough===e.strikethrough&&t.inverse===e.inverse&&t.hyperlink===e.hyperlink}a(S0,"propsEqual");function v0(t){return t.color!==void 0||t.backgroundColor!==void 0||t.dim===true||t.bold===true||t.italic===true||t.underline===true||t.strikethrough===true||t.inverse===true||t.hyperlink!==void 0}a(v0,"hasAnyProps");function w0(t){return t.color!==void 0||t.backgroundColor!==void 0||t.dim===true||t.bold===true||t.italic===true||t.underline===true||t.strikethrough===true||t.inverse===true}a(w0,"hasAnyTextProps");function Om(t){let e=c$1(14),n,r,o,i;if(e[0]!==t?({bold:n,dim:o,children:r,...i}=t,e[0]=t,e[1]=n,e[2]=r,e[3]=o,e[4]=i):(n=e[1],r=e[2],o=e[3],i=e[4]),o){let l;return e[5]!==r||e[6]!==i?(l=jsx(u,{...i,dim:true,children:r}),e[5]=r,e[6]=i,e[7]=l):l=e[7],l}if(n){let l;return e[8]!==r||e[9]!==i?(l=jsx(u,{...i,bold:true,children:r}),e[8]=r,e[9]=i,e[10]=l):l=e[10],l}let s;return e[11]!==r||e[12]!==i?(s=jsx(u,{...i,children:r}),e[11]=r,e[12]=i,e[13]=s):s=e[13],s}a(Om,"StyledText");var zl="\x1B[7m",Jl="\x1B[27m",Dm="\x1B[2m",Lm="\x1B[22m";function Xl(t,e){let n=e;for(;n>0&&!/\w/.test(t[n-1]);)n--;for(;n>0&&/\w/.test(t[n-1]);)n--;return n}a(Xl,"wordBoundaryLeft");function Ql(t,e){let n=e;for(;n<t.length&&/\w/.test(t[n]);)n++;for(;n<t.length&&!/\w/.test(t[n]);)n++;return n}a(Ql,"wordBoundaryRight");function wr({value:t,onChange:e,onSubmit:n,placeholder:r,focus:o=true}){let[i,s]=useState(t.length),l=Math.min(Math.max(0,i),t.length),c=t.includes(`
|
|
63
63
|
`),d=c?t.split(`
|
|
64
|
-
`).length:0;if(
|
|
65
|
-
`).replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"");if(!w)return;let
|
|
66
|
-
`),
|
|
67
|
-
`))if(e.trim())try{let n=JSON.parse(e);n.display&&typeof n.display=="string"&&vn.push(n);}catch{}}catch{}if(vn.length===0&&existsSync(
|
|
68
|
-
`).filter(n=>n.trim().length>0);for(let n of e)vn.push({display:n,timestamp:0,project:"",sessionId:""});}catch{}return vn.length>
|
|
64
|
+
`).length:0;if(lt((g,S)=>{if(o){if(S.return){n?.(t);return}if(S.backspace||S.delete){if(l>0){let b=t.slice(0,l-1),w=t.slice(l);e(b+w),s(l-1);}return}if(S.leftArrow){S.meta||S.ctrl?s(Xl(t,l)):s(Math.max(0,l-1));return}if(S.rightArrow){S.meta||S.ctrl?s(Ql(t,l)):s(Math.min(t.length,l+1));return}if(S.ctrl&&g==="a"){s(0);return}if(S.ctrl&&g==="e"){s(t.length);return}if(S.ctrl&&g==="k"){e(t.slice(0,l));return}if(S.ctrl&&g==="u"){e(t.slice(l)),s(0);return}if(S.ctrl&&g==="w"){let b=Xl(t,l),w=t.slice(0,b),v=t.slice(l);e(w+v),s(b);return}if(S.meta&&g==="b"){s(Xl(t,l));return}if(S.meta&&g==="f"){s(Ql(t,l));return}if(S.meta&&g==="d"){let b=Ql(t,l),w=t.slice(0,l),v=t.slice(b);e(w+v);return}if(g&&!S.ctrl&&!S.meta){let w=g.replace(/\r\n?/g,`
|
|
65
|
+
`).replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"");if(!w)return;let v=t.slice(0,l),y=t.slice(l);e(v+w+y),s(l+w.length);}}}),!t&&r)return o?jsx(an,{children:zl+" "+Jl+Dm+" "+r+Lm}):jsx(an,{children:Dm+r+Lm});if(c){let g=t.split(`
|
|
66
|
+
`),S=0;return jsxs(x,{flexDirection:"column",children:[g.map((b,w)=>{let v=S,y=v+b.length;S=y+1;let T=l>=v&&l<=y,C=l-v,A=w===0?"":" ";if(o&&T){let D=b.slice(0,C),P=b[C]??" ",M=b.slice(C+1);return jsxs(x,{children:[jsx(u,{dim:true,children:A}),jsx(an,{children:D+zl+P+Jl+M})]},w)}return jsxs(x,{children:[jsx(u,{dim:true,children:A}),jsx(an,{children:b})]},w)}),jsxs(u,{dim:true,children:[" (",d," lines)"]})]})}let f=t.slice(0,l),m=t[l]??" ",h=t.slice(l+1);return o?jsx(an,{children:f+zl+m+Jl+h}):jsx(an,{children:t})}a(wr,"TextInput");h();var Zl=500,Ks=join(homedir(),".code-shell"),ec=join(Ks,"history.jsonl"),$m=join(Ks,"history"),Us="",Gs="",vn=null,No=[],Hs=null,Um=new Set,tc=false;function Gm(t,e){Us=t,Gs=e;}a(Gm,"initHistory");function rc(){if(vn!==null)return vn;if(mkdirSync(Ks,{recursive:true}),vn=[],existsSync(ec))try{let t=readFileSync(ec,"utf-8");for(let e of t.split(`
|
|
67
|
+
`))if(e.trim())try{let n=JSON.parse(e);n.display&&typeof n.display=="string"&&vn.push(n);}catch{}}catch{}if(vn.length===0&&existsSync($m))try{let e=readFileSync($m,"utf-8").split(`
|
|
68
|
+
`).filter(n=>n.trim().length>0);for(let n of e)vn.push({display:n,timestamp:0,project:"",sessionId:""});}catch{}return vn.length>Zl&&(vn=vn.slice(vn.length-Zl)),vn}a(rc,"ensureLoaded");function Wm(){let t=rc(),e=[],n=[],r=new Set;for(let o=t.length-1;o>=0;o--){let i=t[o];if(!(i.sessionId===Us&&Um.has(i.timestamp))&&!(Gs&&i.project&&i.project!==Gs)&&!r.has(i.display)&&(r.add(i.display),i.sessionId===Us?e.push(i.display):n.push(i.display),r.size>=Zl))break}return [...e.reverse(),...n.reverse()]}a(Wm,"getProjectHistory");function Km(){if(No.length!==0){try{mkdirSync(Ks,{recursive:!0});let t=No.map(e=>JSON.stringify(e)).join(`
|
|
69
69
|
`)+`
|
|
70
|
-
`;appendFileSync(
|
|
71
|
-
`),o=r.length;switch(t){case "Read":return {summary:`${o} lines, ${Ii(e.length)}`,lines:[],hiddenCount:0};case "Write":return {summary:un(r[0]??"").slice(0,80),lines:[],hiddenCount:0};case "Edit":{let[i,...s]=r,l=un(i??"").slice(0,80),c=s.filter(f=>f.length>0);if(n)return {summary:l,lines:c,hiddenCount:0};if(c.length===0)return {summary:l,lines:[],hiddenCount:0};let d=Math.min(c.length,At);return {summary:l,lines:c.slice(0,d),hiddenCount:Math.max(0,c.length-d)}}case "Glob":{let i=r.filter(l=>l.trim()).filter(l=>!/^\d+\s+files?\s+matched/i.test(l)),s=i.length;return n?{summary:`${s} files`,lines:i,hiddenCount:0}:s<=At?{summary:`${s} files`,lines:i,hiddenCount:0}:{summary:`${s} files`,lines:i.slice(0,At),hiddenCount:s-At}}case "Grep":{let i=r.filter(l=>l.trim()).map(l=>{let c=l.match(/^([^:]+:\d+)(?::|$)/);return c?c[1]:l}),s=i.length;return n?{summary:`${s} results`,lines:i,hiddenCount:0}:s<=At?{summary:`${s} results`,lines:i,hiddenCount:0}:{summary:`${s} results`,lines:i.slice(0,At),hiddenCount:s-At}}case "Bash":return o<=1&&r[0]?.trim()===""?{summary:"(no output)",lines:[],hiddenCount:0}:n?{summary:"",lines:r,hiddenCount:0}:o<=At+1?{summary:"",lines:r,hiddenCount:0}:{summary:`${o} lines`,lines:r.slice(0,At),hiddenCount:o-At};case "Agent":return {summary:Dt(un(e),80),lines:[],hiddenCount:0};case "TaskCreate":case "TaskUpdate":case "TaskList":case "TaskStop":case "TaskGet":case "TaskOutput":return {summary:un(e),lines:[],hiddenCount:0};case "WebSearch":case "WebFetch":return n?{summary:"",lines:r,hiddenCount:0}:o<=At+1?{summary:"",lines:r,hiddenCount:0}:{summary:`${o} lines`,lines:r.slice(0,At),hiddenCount:o-At};default:return o<=1?{summary:Dt(e,80),lines:[],hiddenCount:0}:n?{summary:"",lines:r,hiddenCount:0}:o<=At+1?{summary:"",lines:r,hiddenCount:0}:{summary:`${o} lines`,lines:r.slice(0,At),hiddenCount:o-At}}}a(P0,"renderToolOutput");function I0(t){return t.length>Oi?t.slice(0,Oi-1)+"\u2026":t}a(I0,"clampLine");function D0({line:t}){let e=zm(t);return e.kind==="add"||e.kind==="remove"?jsx(Ao,{kind:e.kind,text:e.text,gutter:" \u23BF "}):e.kind==="hunk"?jsxs(x,{children:[jsx(u,{dim:true,children:" \u23BF "}),jsx(u,{color:"ansi:cyan",children:e.text})]}):jsxs(x,{children:[jsx(u,{dim:true,children:" \u23BF "}),jsx(u,{children:t})]})}a(D0,"DiffOrPlainRow");h();h();var Zm=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];function Gs({label:t,color:e="cyan",showElapsed:n=true,tokens:r}){let[o,i]=useState(0),s=useRef(Date.now());useEffect(()=>{let m=setInterval(()=>{i(h=>h+1);},1e3);return ()=>clearInterval(m)},[]);let l=Zm[o%Zm.length],c=Math.floor((Date.now()-s.current)/1e3),d=c>0?` ${c}s`:"",f=r&&r>0?` \xB7 ${$0(r)}`:"";return jsxs(u,{children:[jsx(u,{color:e,children:l}),jsxs(u,{children:[" ",t??"Working\u2026"]}),n&&jsxs(u,{dim:true,children:[d,f]})]})}a(Gs,"Spinner");function $0(t){return t>=1e6?(t/1e6).toFixed(1)+"M tokens":t>=1e3?(t/1e3).toFixed(1)+"K tokens":`${t} tokens`}a($0,"formatTokens");function tp({description:t,running:e,isLast:n}){return jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:1,children:[jsxs(x,{children:[jsxs(u,{dim:true,children:[n?"\u2514\u2500":"\u251C\u2500"," "]}),e?jsxs(Fragment,{children:[jsx(Gs,{label:"",color:"ansi:cyan"}),jsxs(u,{bold:true,children:[" ",t]})]}):jsx(Fragment,{children:jsx(u,{bold:true,children:t})})]}),e&&jsxs(x,{children:[jsxs(u,{dim:true,children:[n?" ":"\u2502 ","\u23BF "]}),jsx(u,{dim:true,children:"Initializing\u2026"})]})]})}a(tp,"AgentBlockStart");function np({description:t,error:e,isLast:n}){let r=n?"\u2514\u2500":"\u251C\u2500",o=n?" ":"\u2502 ";return e?jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsxs(u,{dim:true,children:[r," "]}),jsx(u,{color:"ansi:red",children:t}),jsx(u,{dim:true,children:" \xB7 "}),jsx(u,{color:"ansi:red",children:"Error"})]}),jsxs(x,{children:[jsxs(u,{dim:true,children:[o,"\u23BF "]}),jsx(u,{color:"ansi:red",children:e.slice(0,80)})]})]}):jsx(x,{flexDirection:"column",marginLeft:1,children:jsxs(x,{children:[jsxs(u,{dim:true,children:[r," "]}),jsx(u,{children:t}),jsx(u,{dim:true,children:" \xB7 "}),jsx(u,{color:"ansi:green",children:"Done"})]})})}a(np,"AgentBlockEnd");h();function op({tasks:t}){return t.length===0?null:t.length===1?jsx(x,{marginLeft:1,marginTop:1,children:jsx(rp,{task:t[0],indent:false})}):jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:1,children:[jsx(u,{bold:true,color:"ansi:cyan",children:"Tasks"}),t.map(e=>jsx(rp,{task:e,indent:true},e.id))]})}a(op,"TaskList");function rp({task:t,indent:e=true}){let n=e?2:0;switch(t.status){case "completed":return jsxs(x,{marginLeft:n,children:[jsx(u,{color:"ansi:green",children:"\u2713 "}),jsx(u,{strikethrough:true,dim:true,children:t.subject})]});case "in_progress":return jsx(x,{marginLeft:n,children:jsx(Gs,{label:t.activeForm??t.subject})});case "stopped":return jsxs(x,{marginLeft:n,children:[jsx(u,{color:"ansi:red",children:"\u2717 "}),jsx(u,{strikethrough:true,dim:true,children:t.subject})]});default:return jsxs(x,{marginLeft:n,children:[jsx(u,{dim:true,children:"\u25CB "}),jsx(u,{dim:true,children:t.subject})]})}}a(rp,"TaskItem");h();function G0(){return process.env.TERM==="xterm-ghostty"?["\xB7","\u2722","\u2733","\u2736","\u273B","*"]:process.platform==="darwin"?["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"]:["\xB7","\u2722","*","\u2736","\u273B","\u273D"]}a(G0,"getDefaultCharacters");var sp=["\u7948\u6C42\u8005!","\u5728\u90A3\u9ED1\u8272\u7684\u65E0\u77E5\u4E4B\u6D77\u4E0A,\u543E\u4E43\u95EA\u8000\u7684\u77E5\u8BC6\u706F\u5854","music!","\u54CE\u5466,\u4F60\u5E72\u561B~","\u5C0F\u9ED1\u5B50,\u9732\u51FA\u9E21\u811A\u4E86\u5427","\u30AA\u30E9\u30AA\u30E9\u30AA\u30E9\u30AA\u30E9\u30C3!","\u30E0\u30C0\u30E0\u30C0\u30E0\u30C0\u30E0\u30C0\u30C3!","\u9EC4\u91D1\u306E\u7CBE\u795E","\u30B6\u30FB\u30EF\u30FC\u30EB\u30C9!\u6642\u3088\u6B62\u307E\u308C!","\u30AB\u30AB\u30ED\u30C3\u30C8!","\u304B\u2026\u2026\u3081\u2026\u2026\u306F\u2026\u2026\u3081\u2026\u2026\u6CE2\u30FC\u3063!","\u771F\u5B9F\u306F\u3044\u3064\u3082\u3072\u3068\u3064!","\u7121\u9650\u306E\u5263\u88FD(\u30A2\u30F3\u30EA\u30DF\u30C6\u30C3\u30C9\u30D6\u30EC\u30A4\u30C9\u30EF\u30FC\u30AF\u30B9)","\u554F\u304A\u3046\u3001\u8CB4\u65B9\u304C\u79C1\u306E\u30DE\u30B9\u30BF\u30FC\u304B","\u305F\u3060\u306E\u4EBA\u9593\u306B\u306F\u8208\u5473\u3042\u308A\u307E\u305B\u3093","SOS\u56E3\u3001\u7D50\u6210!","\u5168\u56FD\u5927\u4F1A\u3001\u884C\u304D\u305F\u3044\u3093\u3067\u3059!","\u4E45\u7F8E\u5B50\u3001\u597D\u304D\u3060!","\u3053\u306E\u7D20\u6674\u3089\u3057\u3044\u4E16\u754C\u306B\u795D\u798F\u3092!","\u308F\u305F\u3057\u3001\u3081\u3050\u307F\u3093\u3063!","\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30B8\u30E7\u30F3!","\u30A2\u30AF\u30B7\u30BA\u6559\u3078\u3088\u3046\u3053\u305D!","\u30B9\u30BF\u30FC\u30D0\u30FC\u30B9\u30C8\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0!","\u30E6\u30A4\u3001\u30D1\u30D1\u3060\u3088","\u90AA\u738B\u771F\u773C\u3001\u89E3\u653E!","\u30D0\u30CB\u30C3\u30B7\u30E5\u30E1\u30F3\u30C8\u30FB\u30C7\u30A3\u30B9\u30FB\u30EF\u30FC\u30EB\u30C9!","\u3084\u308C\u3084\u308C\u2026\u2026","\u5B8C\u5168\u7121\u6B20\u306E\u8D85\u80FD\u529B\u8005","\u30D3\u30EA\u30D3\u30EA","\u672C\u5F53\u306E\u529B\u3001\u898B\u305B\u3066\u3042\u3052\u308B","\u4F60\u600E\u4E48\u8FD9\u4E48\u719F\u7EC3","\u3053\u308C\u306F\u3001\u904B\u547D\u77F3\u306E\u6249\u306E\u9078\u629E\u3060"],ap=G0(),lp=[...ap,...[...ap].reverse()],K0=["\u90AA\u738B\u771F\u773C\u767A\u52D5!","\u30B6\u30FB\u30EF\u30FC\u30EB\u30C9!","\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30B8\u30E7\u30F3!","\u534D\u89E3!"];function cp(t){return t[Math.floor(Math.random()*t.length)]}a(cp,"pickRandom");function up({mode:t,streamingTokensRef:e,runStartRef:n,thinkingContent:r}){let[o,i]=useState(0),s=useRef(cp(sp)),l=useRef(Date.now());if(useEffect(()=>{let g=setInterval(()=>i(v=>v+1),200);return ()=>clearInterval(g)},[]),Date.now()-l.current>8e3){let g=t==="tool-use"?K0:sp;s.current=cp(g),l.current=Date.now();}let c=lp[o%lp.length],d=n?Math.floor((Date.now()-n.current)/1e3):0,f=e?.current??0,m=s.current;return jsxs(x,{flexDirection:"column",marginLeft:2,marginY:1,children:[jsxs(x,{children:[jsx(u,{color:t==="thinking"?"ansi:magenta":"ansi:cyan",children:c}),jsxs(u,{children:[" ",m,"\u2026"]}),d>0&&jsxs(u,{dim:true,children:[" ",d,"s"]}),f>0&&jsxs(u,{dim:true,children:[" \xB7 ",j0(f)]})]}),r&&jsx(x,{marginLeft:4,children:jsx(u,{dim:true,italic:true,children:Y0(r)})})]})}a(up,"SpinnerWithVerb");function j0(t){return t>=1e6?(t/1e6).toFixed(1)+"M tokens":t>=1e3?(t/1e3).toFixed(1)+"K tokens":`${t} tokens`}a(j0,"formatTokens");function Y0(t){let e=t.replace(/\n/g," ").replace(/\s+/g," ").trim();return e.length>80?"\u2026"+e.slice(-79):e}a(Y0,"truncateThinking");h();function dp({model:t,effort:e,tokens:n,cost:r,sessionId:o,baseContextTokens:i,maxContextTokens:s,gitBranch:l,isRunning:c,streamingTokensRef:d,runStartRef:f}){let m=z0(t),[h,g]=useState(0);useEffect(()=>{if(!c){g(0);return}let D=setInterval(()=>g(N=>N+1),1e3);return ()=>clearInterval(D)},[c]);let v=c&&f?Math.floor((Date.now()-f.current)/1e3):0,b=c&&d?d.current:0,w=(i??0)+(c?b:0),S=s&&s>0?Math.min(w/s*100,100):0,y=S>80?"ansi:red":S>60?"ansi:yellow":"ansi:green",T=8,E=Math.round(S/100*T),A="\u2588".repeat(E)+"\u2591".repeat(T-E);return jsxs(x,{children:[c&&jsxs(Fragment,{children:[jsx(u,{color:"ansi:cyan",children:"\u25CF "}),jsx(u,{color:"ansi:cyan",children:J0(v)}),b>0&&jsxs(u,{dim:true,children:[" ",X0(b)," tok"]}),jsx(u,{dim:true,children:" \u2502 "})]}),jsx(u,{dim:true,children:m}),(process.stdout.columns??80)>=100&&jsx(u,{dim:true,children:" (alt+m)"}),jsx(u,{dim:true,children:" \u2502 "}),jsx(u,{color:y,children:A}),jsxs(u,{dim:true,children:[" ",S.toFixed(0),"% ctx"]}),r>0&&jsxs(Fragment,{children:[jsx(u,{dim:true,children:" \u2502 "}),jsxs(u,{color:"ansi:green",children:["$",r.toFixed(2)]})]}),l&&jsxs(Fragment,{children:[jsx(u,{dim:true,children:" \u2502 "}),jsx(u,{color:"ansi:magenta",children:l})]})]})}a(dp,"StatusLine");function z0(t){return (t.split("/").pop()??t).replace("claude-opus-4-6","opus").replace("claude-sonnet-4-6","sonnet").replace("claude-haiku-4-5","haiku").replace("claude-","").replace("gpt-4o","4o").replace("gpt-4","gpt4")}a(z0,"shortModel");function J0(t){if(t<60)return `${t}s`;let e=Math.floor(t/60),n=t%60;return `${e}m${n.toString().padStart(2,"0")}s`}a(J0,"formatElapsed");function X0(t){return t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"K":String(t)}a(X0,"formatNumber");h();function gp({scrollable:t,bottom:e,overlay:n,newMessageCount:r=0,onJumpToNew:o,showPill:i=false}){return jsxs(x,{flexDirection:"column",flexGrow:1,children:[jsxs(x,{flexDirection:"column",flexGrow:1,children:[t,n]}),i&&r>0&&jsx(x,{justifyContent:"center",marginY:0,children:jsx(u,{color:"ansi:black",backgroundColor:"ansi:cyanBright",bold:true,children:` \u2193 ${r} new message${r>1?"s":""} `})}),jsx(x,{flexDirection:"column",flexShrink:0,children:e})]})}a(gp,"FullscreenLayout");function hp(t){let[e,n]=useState(null),[r,o]=useState(false),i=useCallback(()=>{e===null&&n(t),o(true);},[e,t]),s=useCallback(()=>{n(null),o(false);},[]);useEffect(()=>{e!==null&&t<e&&(n(null),o(false));},[t,e]);let l=e!==null?t-e:0;return {dividerIndex:e,showPill:r&&l>0,unseenCount:l,onScrollAway:i,onScrollToBottom:s}}a(hp,"useUnseenDivider");h();var bp=100,Z0=10;function Sp({entries:t,renderEntry:e,dividerIndex:n,unseenCount:r=0}){if(t.length<bp)return jsx(x,{flexDirection:"column",children:t.map((l,c)=>jsxs(yp.Fragment,{children:[n!==null&&n===c&&r>0&&jsx(xp,{count:r}),e(l,l.id)]},l.id))});let o=Math.max(0,t.length-bp-Z0),i=t.slice(o),s=o;return jsxs(x,{flexDirection:"column",children:[s>0&&jsx(x,{marginLeft:1,children:jsxs(u,{dim:true,children:["\u2500\u2500 ",s," earlier messages \u2500\u2500"]})}),i.map((l,c)=>{let d=o+c;return jsxs(yp.Fragment,{children:[n!==null&&n===d&&r>0&&jsx(xp,{count:r}),e(l,l.id)]},l.id)})]})}a(Sp,"VirtualMessageList");function xp({count:t}){return jsxs(x,{marginY:0,marginLeft:1,children:[jsx(u,{dim:true,children:"\u2500\u2500\u2500\u2500\u2500\u2500 "}),jsxs(u,{color:"ansi:cyanBright",bold:true,children:[t," new"]}),jsx(u,{dim:true,children:" \u2500\u2500\u2500\u2500\u2500\u2500"})]})}a(xp,"UnseenDivider");h();var oS=500,Ur=new Map;function oc(t,e){let n=Ur.get(t);if(n!==void 0)return Ur.delete(t),Ur.set(t,n),n;let r=e(t);if(Ur.size>=oS){let o=Ur.keys().next().value;o!==void 0&&Ur.delete(o);}return Ur.set(t,r),r}a(oc,"cachedRender");var iS=/[*_`~#\[|\->!]|^\s{0,3}\d+\.\s/m;function ic(t){return iS.test(t)}a(ic,"hasMarkdownSyntax");ee.level||(ee.level=3);var js=null,wp=false;function sS(){if(js)return js;if(wp)return null;try{let t=process.stdout.columns||80;return js=new Marked(markedTerminal({showSectionPrefix:!1,width:Math.min(t,100),reflowText:!0,tab:2,emoji:!1})),js}catch{return wp=true,null}}a(sS,"getMarkedInstance");function sc(t){let e=sS();if(!e)return t;try{return e.parse(t,{async:!1}).replace(/\n+$/,"")}catch{return t}}a(sc,"renderMarkdown");var aS=/^\|\s*[-:]+[-|\s:]*\|$/m;function lS(t){let e=t.split(`
|
|
72
|
-
`),n=-1,r=-1,o=-1;for(let c=0;c<e.length;c++){let d=e[c].trim();if(d.startsWith("|")&&d.endsWith("|"))n===-1&&(n=c),
|
|
70
|
+
`;appendFileSync(ec,t,{encoding:"utf-8",mode:384});}catch{}No=[],tc=false;}}a(Km,"flushPendingEntries");function k0(){tc||(tc=true,process.nextTick(Km));}a(k0,"scheduleFlush");function jm(t){let e=t.trim();if(!e)return;let n=rc(),r={display:e,timestamp:Date.now(),project:Gs,sessionId:Us};n.push(r),Hs=r,No.push(r),k0();}a(jm,"addToHistory");function Ym(){if(!Hs)return;let t=Hs;Hs=null;let e=No.lastIndexOf(t);e!==-1?No.splice(e,1):Um.add(t.timestamp);let n=rc(),r=n.lastIndexOf(t);r!==-1&&n.splice(r,1);}a(Ym,"removeLastFromHistory");function qm(){Km();}a(qm,"flushHistorySync");function Vm(){let t=Wm(),e=t.length,n="";return {up(r){return e===t.length&&(n=r),e<=0?null:(e--,t[e]??null)},down(){return e>=t.length?null:(e++,e>=t.length?n:t[e]??null)},reset(){e=t.length,n="";},refresh(){t=Wm(),e=t.length,n="";}}}a(Vm,"createHistoryNavigator");var js=8;function Jm({value:t,onChange:e,onSubmit:n,commands:r,placeholder:o}){let[i,s]=useState(0),l=useRef(Vm()),[c,d]=useState(false),f=!c&&t.startsWith("/")&&!t.includes(" "),m=t.slice(1).toLowerCase(),h=useMemo(()=>f?m===""?r:r.filter(y=>y.name.slice(1).toLowerCase().includes(m)||y.description.toLowerCase().includes(m)):[],[f,m,r]);useEffect(()=>{h.length>0&&i>=h.length?s(h.length-1):h.length===0&&i!==0&&s(0);},[h.length,i]),lt((y,T)=>{if(f&&h.length>0){if(T.upArrow){s(Math.max(0,i-1));return}else if(T.downArrow){s(Math.min(h.length-1,i+1));return}else if(T.tab){let C=h[i];C&&(e(C.name+" "),s(0));return}else if(T.escape){e(""),s(0);return}}if(T.upArrow){let C=l.current.up(t);C!==null&&(d(true),e(C));}else if(T.downArrow){let C=l.current.down();C!==null&&(d(true),e(C));}});let g=a(y=>{l.current.reset(),d(false),e(y),s(0);},"handleChange"),S=a(y=>{if(f&&h.length>0&&m.length>0){let T=h[i];if(T&&y.trim()===t.trim()){if(h.find(A=>A.name===y.trim())){n(y),s(0),l.current.reset();return}e(T.name+" "),s(0);return}}jm(y),l.current.refresh(),d(false),n(y),s(0);},"handleSubmit"),b=Math.max(0,i-js+1),w=h.slice(b,b+js),v=b;return jsxs(x,{flexDirection:"column",children:[f&&h.length>0&&jsxs(x,{flexDirection:"column",marginLeft:2,marginBottom:0,children:[b>0&&jsxs(u,{dim:true,children:[" \u2191 ",b," more"]}),w.map((y,T)=>{let A=v+T===i;return jsxs(x,{children:[jsx(u,{color:A?"cyanBright":void 0,bold:A,children:A?"\u25B8 ":" "}),jsx(u,{color:A?"cyanBright":"white",bold:A,children:y.name}),jsxs(u,{dim:true,children:[" ",y.description]})]},y.name)}),b+js<h.length&&jsxs(u,{dim:true,children:[" \u2193 ",h.length-b-js," more"]})]}),jsx(x,{flexDirection:"column",children:jsxs(x,{children:[jsx(u,{children:"\u276F "}),jsx(wr,{value:t,onChange:g,onSubmit:S,placeholder:o??"Ask anything\u2026 (/ for commands, \u2191 for history)"})]})})]})}a(Jm,"CommandInput");h();h();var A0="ansi256(22)",N0="ansi256(52)",P0="ansi:greenBright",O0="ansi:redBright";function Xm(t,e){let n=Math.min(200,Math.max(40,process.stdout.columns??80)),r=Math.max(0,n-e);return t.length>=r?t:t+" ".repeat(r-t.length)}a(Xm,"padToWidth");function Po({kind:t,text:e,indent:n=0,gutter:r}){let o=" ".repeat(n),i=r?r.length:0;return t==="add"?jsxs(x,{children:[r?jsx(u,{dim:true,children:r}):null,jsx(u,{backgroundColor:A0,color:P0,children:Xm(`${o}+ ${e}`,i)})]}):t==="remove"?jsxs(x,{children:[r?jsx(u,{dim:true,children:r}):null,jsx(u,{backgroundColor:N0,color:O0,children:Xm(`${o}- ${e}`,i)})]}):t==="hunk"?jsxs(x,{children:[r?jsx(u,{dim:true,children:r}):null,jsx(u,{color:"ansi:cyan",children:`${o}${e}`})]}):jsxs(x,{children:[r?jsx(u,{dim:true,children:r}):null,jsx(u,{dim:true,children:`${o} ${e}`})]})}a(Po,"DiffLine");function Qm(t){let e=t.trimStart();return /^\+\s/.test(e)?{kind:"add",text:e.replace(/^\+\s/,"")}:/^-\s/.test(e)?{kind:"remove",text:e.replace(/^-\s/,"")}:e.startsWith("@@")?{kind:"hunk",text:e}:{kind:"context",text:t}}a(Qm,"classifyDiffLine");var Nt=3;function Zm({toolName:t,args:e,nested:n}){let r=Bi(t,e),o=mu[t]??"ansi:cyan";return jsxs(x,{marginLeft:n?3:0,marginTop:n?0:1,children:[jsx(u,{color:o,children:" \u25CF"}),jsxs(u,{bold:true,children:[" ",t]}),jsxs(u,{dim:true,children:[" ",r]})]})}a(Zm,"ToolCallStart");function ep({toolName:t,nested:e}){return jsxs(x,{marginLeft:e?3:0,children:[jsx(u,{dim:true,children:" \u2502 "}),jsx(u,{color:"ansi:cyan",children:"\u2839 "}),jsxs(u,{dim:true,children:[t,"\u2026"]})]})}a(ep,"ToolCallRunning");function tp({toolName:t,result:e,error:n,nested:r,expanded:o,compact:i}){let[s,l]=useState(false),c=o||s,d=r?3:0;if(i){let h=un(e??n??"");return jsx(x,{marginLeft:d,children:jsxs(u,{dim:true,children:[" \xB7 ",t," retried \u2014 ",Bt(h,90)]})})}if(n)return jsxs(x,{marginLeft:d,children:[jsx(u,{color:"ansi:red",children:" \u2717 "}),jsxs(u,{dim:true,children:[t," "]}),jsx(u,{color:"ansi:red",children:Bt(un(n),72)})]});let f=e??"";if(!f)return jsxs(x,{marginLeft:d,children:[jsx(u,{color:"ansi:green",children:" \u2713 "}),jsx(u,{dim:true,children:t})]});let m=L0(t,f,c);return jsxs(x,{flexDirection:"column",marginLeft:d,children:[jsxs(x,{children:[jsx(u,{color:"ansi:green",children:" \u2713 "}),jsx(u,{dim:true,children:t}),m.summary?jsxs(u,{dim:true,children:[" ",m.summary]}):null]}),m.lines.length>0&&jsxs(x,{flexDirection:"column",children:[m.lines.map((h,g)=>jsx(F0,{line:B0(h)},g)),m.hiddenCount>0&&jsxs(x,{children:[jsx(u,{dim:true,children:" \u23BF "}),jsxs(u,{dim:true,children:["\u2026 +",m.hiddenCount," lines",o?"":" (ctrl+o to expand)"]})]})]})]})}a(tp,"ToolCallResult");function D0(t){return t.replace(/<system-reminder>[\s\S]*?<\/system-reminder>\s*/g,"")}a(D0,"stripSystemReminders");function L0(t,e,n){e=D0(e);let r=e.split(`
|
|
71
|
+
`),o=r.length;switch(t){case "Read":return {summary:`${o} lines, ${Fi(e.length)}`,lines:[],hiddenCount:0};case "Write":return {summary:un(r[0]??"").slice(0,80),lines:[],hiddenCount:0};case "Edit":{let[i,...s]=r,l=un(i??"").slice(0,80),c=s.filter(f=>f.length>0);if(n)return {summary:l,lines:c,hiddenCount:0};if(c.length===0)return {summary:l,lines:[],hiddenCount:0};let d=Math.min(c.length,Nt);return {summary:l,lines:c.slice(0,d),hiddenCount:Math.max(0,c.length-d)}}case "Glob":{let i=r.filter(l=>l.trim()).filter(l=>!/^\d+\s+files?\s+matched/i.test(l)),s=i.length;return n?{summary:`${s} files`,lines:i,hiddenCount:0}:s<=Nt?{summary:`${s} files`,lines:i,hiddenCount:0}:{summary:`${s} files`,lines:i.slice(0,Nt),hiddenCount:s-Nt}}case "Grep":{let i=new Set,s=[],l=0;for(let f of r){if(!f.trim())continue;l++;let m=f.match(/^(.+?)[:-]\d+(?:[:-]|$)/),h=m?m[1]:f;i.has(h)||(i.add(h),s.push(h));}let c=s.length,d=l===c?`${c} ${c===1?"file":"files"}`:`${l} matches in ${c} ${c===1?"file":"files"}`;return n||c<=Nt?{summary:d,lines:s,hiddenCount:0}:{summary:d,lines:s.slice(0,Nt),hiddenCount:c-Nt}}case "Bash":return o<=1&&r[0]?.trim()===""?{summary:"(no output)",lines:[],hiddenCount:0}:n?{summary:"",lines:r,hiddenCount:0}:o<=Nt+1?{summary:"",lines:r,hiddenCount:0}:{summary:`${o} lines`,lines:r.slice(0,Nt),hiddenCount:o-Nt};case "Agent":return {summary:Bt(un(e),80),lines:[],hiddenCount:0};case "TaskCreate":case "TaskUpdate":case "TaskList":case "TaskStop":case "TaskGet":case "TaskOutput":return {summary:un(e),lines:[],hiddenCount:0};case "WebSearch":case "WebFetch":return n?{summary:"",lines:r,hiddenCount:0}:o<=Nt+1?{summary:"",lines:r,hiddenCount:0}:{summary:`${o} lines`,lines:r.slice(0,Nt),hiddenCount:o-Nt};default:return o<=1?{summary:Bt(e,80),lines:[],hiddenCount:0}:n?{summary:"",lines:r,hiddenCount:0}:o<=Nt+1?{summary:"",lines:r,hiddenCount:0}:{summary:`${o} lines`,lines:r.slice(0,Nt),hiddenCount:o-Nt}}}a(L0,"renderToolOutput");function B0(t){return t.length>Li?t.slice(0,Li-1)+"\u2026":t}a(B0,"clampLine");function F0({line:t}){let e=Qm(t);return e.kind==="add"||e.kind==="remove"?jsx(Po,{kind:e.kind,text:e.text,gutter:" \u23BF "}):e.kind==="hunk"?jsxs(x,{children:[jsx(u,{dim:true,children:" \u23BF "}),jsx(u,{color:"ansi:cyan",children:e.text})]}):jsxs(x,{children:[jsx(u,{dim:true,children:" \u23BF "}),jsx(u,{children:t})]})}a(F0,"DiffOrPlainRow");h();h();var np=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];function qs({label:t,color:e="cyan",showElapsed:n=true,tokens:r}){let[o,i]=useState(0),s=useRef(Date.now());useEffect(()=>{let m=setInterval(()=>{i(h=>h+1);},1e3);return ()=>clearInterval(m)},[]);let l=np[o%np.length],c=Math.floor((Date.now()-s.current)/1e3),d=c>0?` ${c}s`:"",f=r&&r>0?` \xB7 ${U0(r)}`:"";return jsxs(u,{children:[jsx(u,{color:e,children:l}),jsxs(u,{children:[" ",t??"Working\u2026"]}),n&&jsxs(u,{dim:true,children:[d,f]})]})}a(qs,"Spinner");function U0(t){return t>=1e6?(t/1e6).toFixed(1)+"M tokens":t>=1e3?(t/1e3).toFixed(1)+"K tokens":`${t} tokens`}a(U0,"formatTokens");function op({description:t,running:e,isLast:n}){return jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:1,children:[jsxs(x,{children:[jsxs(u,{dim:true,children:[n?"\u2514\u2500":"\u251C\u2500"," "]}),e?jsxs(Fragment,{children:[jsx(qs,{label:"",color:"ansi:cyan"}),jsxs(u,{bold:true,children:[" ",t]})]}):jsx(Fragment,{children:jsx(u,{bold:true,children:t})})]}),e&&jsxs(x,{children:[jsxs(u,{dim:true,children:[n?" ":"\u2502 ","\u23BF "]}),jsx(u,{dim:true,children:"Initializing\u2026"})]})]})}a(op,"AgentBlockStart");function ip({description:t,error:e,isLast:n}){let r=n?"\u2514\u2500":"\u251C\u2500",o=n?" ":"\u2502 ";return e?jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsxs(u,{dim:true,children:[r," "]}),jsx(u,{color:"ansi:red",children:t}),jsx(u,{dim:true,children:" \xB7 "}),jsx(u,{color:"ansi:red",children:"Error"})]}),jsxs(x,{children:[jsxs(u,{dim:true,children:[o,"\u23BF "]}),jsx(u,{color:"ansi:red",children:e.slice(0,80)})]})]}):jsx(x,{flexDirection:"column",marginLeft:1,children:jsxs(x,{children:[jsxs(u,{dim:true,children:[r," "]}),jsx(u,{children:t}),jsx(u,{dim:true,children:" \xB7 "}),jsx(u,{color:"ansi:green",children:"Done"})]})})}a(ip,"AgentBlockEnd");h();function sp({tasks:t}){return t.length===0?null:jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:1,children:[jsx(u,{bold:true,color:"ansi:cyan",children:"Tasks"}),t.map(e=>jsx(K0,{task:e,indent:true},e.id))]})}a(sp,"TaskList");function K0({task:t,indent:e=true}){let n=e?2:0;switch(t.status){case "completed":return jsxs(x,{marginLeft:n,children:[jsx(u,{color:"ansi:green",children:"\u2713 "}),jsx(u,{strikethrough:true,dim:true,children:t.subject})]});case "in_progress":return jsxs(x,{marginLeft:n,children:[jsx(qs,{label:t.subject}),t.activeForm&&t.activeForm!==t.subject&&jsxs(u,{dim:true,children:[" \xB7 ",t.activeForm]})]});case "stopped":return jsxs(x,{marginLeft:n,children:[jsx(u,{color:"ansi:red",children:"\u2717 "}),jsx(u,{strikethrough:true,dim:true,children:t.subject})]});default:return jsxs(x,{marginLeft:n,children:[jsx(u,{dim:true,children:"\u25CB "}),jsx(u,{dim:true,children:t.subject})]})}}a(K0,"TaskItem");h();function q0(){return process.env.TERM==="xterm-ghostty"?["\xB7","\u2722","\u2733","\u2736","\u273B","*"]:process.platform==="darwin"?["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"]:["\xB7","\u2722","*","\u2736","\u273B","\u273D"]}a(q0,"getDefaultCharacters");var lp=["\u7948\u6C42\u8005!","\u5728\u90A3\u9ED1\u8272\u7684\u65E0\u77E5\u4E4B\u6D77\u4E0A,\u543E\u4E43\u95EA\u8000\u7684\u77E5\u8BC6\u706F\u5854","music!","\u54CE\u5466,\u4F60\u5E72\u561B~","\u5C0F\u9ED1\u5B50,\u9732\u51FA\u9E21\u811A\u4E86\u5427","\u30AA\u30E9\u30AA\u30E9\u30AA\u30E9\u30AA\u30E9\u30C3!","\u30E0\u30C0\u30E0\u30C0\u30E0\u30C0\u30E0\u30C0\u30C3!","\u9EC4\u91D1\u306E\u7CBE\u795E","\u30B6\u30FB\u30EF\u30FC\u30EB\u30C9!\u6642\u3088\u6B62\u307E\u308C!","\u30AB\u30AB\u30ED\u30C3\u30C8!","\u304B\u2026\u2026\u3081\u2026\u2026\u306F\u2026\u2026\u3081\u2026\u2026\u6CE2\u30FC\u3063!","\u771F\u5B9F\u306F\u3044\u3064\u3082\u3072\u3068\u3064!","\u7121\u9650\u306E\u5263\u88FD(\u30A2\u30F3\u30EA\u30DF\u30C6\u30C3\u30C9\u30D6\u30EC\u30A4\u30C9\u30EF\u30FC\u30AF\u30B9)","\u554F\u304A\u3046\u3001\u8CB4\u65B9\u304C\u79C1\u306E\u30DE\u30B9\u30BF\u30FC\u304B","\u305F\u3060\u306E\u4EBA\u9593\u306B\u306F\u8208\u5473\u3042\u308A\u307E\u305B\u3093","SOS\u56E3\u3001\u7D50\u6210!","\u5168\u56FD\u5927\u4F1A\u3001\u884C\u304D\u305F\u3044\u3093\u3067\u3059!","\u4E45\u7F8E\u5B50\u3001\u597D\u304D\u3060!","\u3053\u306E\u7D20\u6674\u3089\u3057\u3044\u4E16\u754C\u306B\u795D\u798F\u3092!","\u308F\u305F\u3057\u3001\u3081\u3050\u307F\u3093\u3063!","\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30B8\u30E7\u30F3!","\u30A2\u30AF\u30B7\u30BA\u6559\u3078\u3088\u3046\u3053\u305D!","\u30B9\u30BF\u30FC\u30D0\u30FC\u30B9\u30C8\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0!","\u30E6\u30A4\u3001\u30D1\u30D1\u3060\u3088","\u90AA\u738B\u771F\u773C\u3001\u89E3\u653E!","\u30D0\u30CB\u30C3\u30B7\u30E5\u30E1\u30F3\u30C8\u30FB\u30C7\u30A3\u30B9\u30FB\u30EF\u30FC\u30EB\u30C9!","\u3084\u308C\u3084\u308C\u2026\u2026","\u5B8C\u5168\u7121\u6B20\u306E\u8D85\u80FD\u529B\u8005","\u30D3\u30EA\u30D3\u30EA","\u672C\u5F53\u306E\u529B\u3001\u898B\u305B\u3066\u3042\u3052\u308B","\u4F60\u600E\u4E48\u8FD9\u4E48\u719F\u7EC3","\u3053\u308C\u306F\u3001\u904B\u547D\u77F3\u306E\u6249\u306E\u9078\u629E\u3060"],cp=q0(),up=[...cp,...[...cp].reverse()],V0=["\u90AA\u738B\u771F\u773C\u767A\u52D5!","\u30B6\u30FB\u30EF\u30FC\u30EB\u30C9!","\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30B8\u30E7\u30F3!","\u534D\u89E3!"];function dp(t){return t[Math.floor(Math.random()*t.length)]}a(dp,"pickRandom");function fp({mode:t,streamingTokensRef:e,runStartRef:n,thinkingContent:r}){let[o,i]=useState(0),s=useRef(dp(lp)),l=useRef(Date.now());if(useEffect(()=>{let g=setInterval(()=>i(S=>S+1),200);return ()=>clearInterval(g)},[]),Date.now()-l.current>8e3){let g=t==="tool-use"?V0:lp;s.current=dp(g),l.current=Date.now();}let c=up[o%up.length],d=n?Math.floor((Date.now()-n.current)/1e3):0,f=e?.current??0,m=s.current;return jsxs(x,{flexDirection:"column",marginLeft:2,marginY:1,children:[jsxs(x,{children:[jsx(u,{color:t==="thinking"?"ansi:magenta":"ansi:cyan",children:c}),jsxs(u,{children:[" ",m,"\u2026"]}),d>0&&jsxs(u,{dim:true,children:[" ",d,"s"]}),f>0&&jsxs(u,{dim:true,children:[" \xB7 ",z0(f)]})]}),r&&jsx(x,{marginLeft:4,children:jsx(u,{dim:true,italic:true,children:J0(r)})})]})}a(fp,"SpinnerWithVerb");function z0(t){return t>=1e6?(t/1e6).toFixed(1)+"M tokens":t>=1e3?(t/1e3).toFixed(1)+"K tokens":`${t} tokens`}a(z0,"formatTokens");function J0(t){let e=t.replace(/\n/g," ").replace(/\s+/g," ").trim();return e.length>80?"\u2026"+e.slice(-79):e}a(J0,"truncateThinking");h();var Q0=b$1.child({cat:"ui"});function pp({model:t,effort:e,tokens:n,cost:r,sessionId:o,baseContextTokens:i,maxContextTokens:s,gitBranch:l,isRunning:c,streamingTokensRef:d,runStartRef:f}){let m=Z0(t),[h,g$1]=useState(0);useEffect(()=>{if(!c){g$1(0);return}let A=setInterval(()=>g$1(D=>D+1),1e3);return ()=>clearInterval(A)},[c]);let S=c&&f?Math.floor((Date.now()-f.current)/1e3):0,b=c&&d?d.current:0,w=s&&s>0?Math.min((i??0)/s*100,100):0;useEffect(()=>{let A={baseContextTokens:i??0,maxContextTokens:s??0,pct:Math.round(w)};Q0.info("debug.ctx.render",A),g(o,"ui.ctx.render",A);},[i,s,w,o]);let v=w>80?"ansi:red":w>60?"ansi:yellow":"ansi:green",y=8,T=Math.round(w/100*y),C="\u2588".repeat(T)+"\u2591".repeat(y-T);return jsxs(x,{children:[c&&jsxs(Fragment,{children:[jsx(u,{color:"ansi:cyan",children:"\u25CF "}),jsx(u,{color:"ansi:cyan",children:eS(S)}),b>0&&jsxs(u,{dim:true,children:[" ",tS(b)," tok"]}),jsx(u,{dim:true,children:" \u2502 "})]}),jsx(u,{dim:true,children:m}),(process.stdout.columns??80)>=100&&jsx(u,{dim:true,children:" (alt+m)"}),jsx(u,{dim:true,children:" \u2502 "}),jsx(u,{color:v,children:C}),jsxs(u,{dim:true,children:[" ",w.toFixed(0),"% ctx"]}),r>0&&jsxs(Fragment,{children:[jsx(u,{dim:true,children:" \u2502 "}),jsxs(u,{color:"ansi:green",children:["$",r.toFixed(2)]})]}),l&&jsxs(Fragment,{children:[jsx(u,{dim:true,children:" \u2502 "}),jsx(u,{color:"ansi:magenta",children:l})]})]})}a(pp,"StatusLine");function Z0(t){return (t.split("/").pop()??t).replace("claude-opus-4-6","opus").replace("claude-sonnet-4-6","sonnet").replace("claude-haiku-4-5","haiku").replace("claude-","").replace("gpt-4o","4o").replace("gpt-4","gpt4")}a(Z0,"shortModel");function eS(t){if(t<60)return `${t}s`;let e=Math.floor(t/60),n=t%60;return `${e}m${n.toString().padStart(2,"0")}s`}a(eS,"formatElapsed");function tS(t){return t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"K":String(t)}a(tS,"formatNumber");h();function bp({scrollable:t,bottom:e,overlay:n,newMessageCount:r=0,onJumpToNew:o,showPill:i=false}){return jsxs(x,{flexDirection:"column",flexGrow:1,children:[jsxs(x,{flexDirection:"column",flexGrow:1,children:[t,n]}),i&&r>0&&jsx(x,{justifyContent:"center",marginY:0,children:jsx(u,{color:"ansi:black",backgroundColor:"ansi:cyanBright",bold:true,children:` \u2193 ${r} new message${r>1?"s":""} `})}),jsx(x,{flexDirection:"column",flexShrink:0,children:e})]})}a(bp,"FullscreenLayout");function xp(t){let[e,n]=useState(null),[r,o]=useState(false),i=useCallback(()=>{e===null&&n(t),o(true);},[e,t]),s=useCallback(()=>{n(null),o(false);},[]);useEffect(()=>{e!==null&&t<e&&(n(null),o(false));},[t,e]);let l=e!==null?t-e:0;return {dividerIndex:e,showPill:r&&l>0,unseenCount:l,onScrollAway:i,onScrollToBottom:s}}a(xp,"useUnseenDivider");h();var vp=100,rS=10;function Tp({entries:t,renderEntry:e,dividerIndex:n,unseenCount:r=0}){if(t.length<vp)return jsx(x,{flexDirection:"column",children:t.map((l,c)=>jsxs(Sp.Fragment,{children:[n!==null&&n===c&&r>0&&jsx(wp,{count:r}),e(l,l.id)]},l.id))});let o=Math.max(0,t.length-vp-rS),i=t.slice(o),s=o;return jsxs(x,{flexDirection:"column",children:[s>0&&jsx(x,{marginLeft:1,children:jsxs(u,{dim:true,children:["\u2500\u2500 ",s," earlier messages \u2500\u2500"]})}),i.map((l,c)=>{let d=o+c;return jsxs(Sp.Fragment,{children:[n!==null&&n===d&&r>0&&jsx(wp,{count:r}),e(l,l.id)]},l.id)})]})}a(Tp,"VirtualMessageList");function wp({count:t}){return jsxs(x,{marginY:0,marginLeft:1,children:[jsx(u,{dim:true,children:"\u2500\u2500\u2500\u2500\u2500\u2500 "}),jsxs(u,{color:"ansi:cyanBright",bold:true,children:[t," new"]}),jsx(u,{dim:true,children:" \u2500\u2500\u2500\u2500\u2500\u2500"})]})}a(wp,"UnseenDivider");h();var lS=500,Gr=new Map;function lc(t,e){let n=Gr.get(t);if(n!==void 0)return Gr.delete(t),Gr.set(t,n),n;let r=e(t);if(Gr.size>=lS){let o=Gr.keys().next().value;o!==void 0&&Gr.delete(o);}return Gr.set(t,r),r}a(lc,"cachedRender");var cS=/[*_`~#\[|\->!]|^\s{0,3}\d+\.\s/m;function cc(t){return cS.test(t)}a(cc,"hasMarkdownSyntax");Z.level||(Z.level=3);var Vs=null,Cp=false;function uS(){if(Vs)return Vs;if(Cp)return null;try{let t=process.stdout.columns||80;return Vs=new Marked(markedTerminal({showSectionPrefix:!1,width:Math.min(t,100),reflowText:!0,tab:2,emoji:!1})),Vs}catch{return Cp=true,null}}a(uS,"getMarkedInstance");function uc(t){let e=uS();if(!e)return t;try{return e.parse(t,{async:!1}).replace(/\n+$/,"")}catch{return t}}a(uc,"renderMarkdown");var dS=/^\|\s*[-:]+[-|\s:]*\|$/m;function fS(t){let e=t.split(`
|
|
72
|
+
`),n=-1,r=-1,o=-1;for(let c=0;c<e.length;c++){let d=e[c].trim();if(d.startsWith("|")&&d.endsWith("|"))n===-1&&(n=c),dS.test(d)&&(o=c),r=c;else if(n!==-1)break}if(n===-1||o===-1||r-n<2)return null;let i=a(c=>c.split("|").slice(1,-1).map(d=>d.trim()),"parseRow"),s=i(e[n]),l=[];for(let c=o+1;c<=r;c++)l.push(i(e[c]));return {before:e.slice(0,n).join(`
|
|
73
73
|
`),table:{headers:s,rows:l},after:e.slice(r+1).join(`
|
|
74
|
-
`)}}a(
|
|
75
|
-
`),r=n.length>
|
|
74
|
+
`)}}a(fS,"extractTable");function mS({data:t}){let e=t.headers.map((n,r)=>{let o=n.length;for(let i of t.rows)i[r]&&i[r].length>o&&(o=i[r].length);return Math.min(o+2,40)});return jsxs(x,{flexDirection:"column",marginLeft:1,marginY:0,children:[jsx(x,{children:t.headers.map((n,r)=>jsx(x,{width:e[r],children:jsx(u,{bold:true,children:n})},r))}),jsx(x,{children:e.map((n,r)=>jsx(x,{width:n,children:jsx(u,{dim:true,children:"\u2500".repeat(Math.max(n-1,1))})},r))}),t.rows.map((n,r)=>jsx(x,{children:t.headers.map((o,i)=>jsx(x,{width:e[i],children:jsx(u,{children:n[i]??""})},i))},r))]})}a(mS,"MarkdownTable");function Rp(t){let e=[],n=t,r=0;for(;n;){let o=fS(n);if(!o){let i=cc(n)?lc(n,uc):n,s=i.trim()?i:n;e.push(jsx(x,{flexDirection:"column",children:jsx(an,{children:s})},r++));break}if(o.before.trim()){let i=cc(o.before)?lc(o.before,uc):o.before;e.push(jsx(x,{flexDirection:"column",children:jsx(an,{children:i})},r++));}e.push(jsx(mS,{data:o.table},r++)),n=o.after;}return e}a(Rp,"renderHybrid");function pS({text:t,nested:e}){let n=useRef({text:"",rendered:null}),r=n.current.text,o=t.slice(r.length);t.startsWith(r)||(n.current={text:"",rendered:null},r="",o=t);let i=0;try{let l=lexer(o),c=l.length-1;for(;c>=0&&l[c].type==="space";)c--;for(let d=0;d<c;d++)i+=l[d].raw.length;}catch{}if(i>0){let l=r+o.slice(0,i);n.current={text:l,rendered:Rp(l)},r=l,o=t.slice(r.length);}let s=useMemo(()=>o?cc(o)?jsx(an,{children:lc(o,uc)}):jsx(an,{children:o}):null,[o]);return jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:e?0:1,children:[n.current.rendered,s?jsx(x,{flexDirection:"column",children:s}):null,jsx(u,{dim:true,children:"\u258C"})]})}a(pS,"StreamingMarkdown");function dc({text:t,streaming:e,nested:n}){return t?e?jsx(pS,{text:t,nested:n}):jsx(gS,{text:t,nested:n}):null}a(dc,"MessageContent");function gS({text:t,nested:e}){let n=useMemo(()=>Rp(t),[t]);return jsx(x,{flexDirection:"column",marginLeft:1,marginTop:e?0:1,children:n})}a(gS,"FinalMarkdown");function _p({text:t}){return jsxs(x,{marginTop:1,marginBottom:0,children:[jsx(u,{bold:true,children:"\u276F "}),jsx(u,{bold:true,children:t})]})}a(_p,"UserMessage");function Mp({error:t,nested:e}){return jsxs(x,{marginLeft:1,marginTop:e?0:1,children:[jsx(u,{color:"ansi:red",bold:true,children:"\u2717 "}),jsx(u,{color:"ansi:red",children:t})]})}a(Mp,"ErrorMessage");function Ap({text:t}){return jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:yellow",bold:true,children:"\u26A0 "}),jsx(u,{color:"ansi:yellow",children:"Rate limit reached"})]}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:t})}),jsxs(x,{marginLeft:2,children:[jsx(u,{dim:true,children:"Use "}),jsx(u,{bold:true,children:"/compact"}),jsx(u,{dim:true,children:" to reduce context or wait a moment."})]})]})}a(Ap,"RateLimitMessage");function Np(){return jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:yellow",bold:true,children:"\u26A0 "}),jsx(u,{color:"ansi:yellow",children:"Context limit reached"})]}),jsxs(x,{marginLeft:2,children:[jsx(u,{dim:true,children:"Use "}),jsx(u,{bold:true,children:"/compact"}),jsx(u,{dim:true,children:" to summarize or "}),jsx(u,{bold:true,children:"/clear"}),jsx(u,{dim:true,children:" to start fresh."})]})]})}a(Np,"ContextLimitMessage");function Pp({content:t,collapsed:e,nested:n}){let r=n?0:1;return e||!t?jsx(x,{marginLeft:1,marginTop:r,children:jsx(u,{dim:true,italic:true,children:"\u2234 Thinking"})}):jsxs(x,{flexDirection:"column",marginLeft:1,marginTop:r,children:[jsx(u,{dim:true,italic:true,children:"\u2234 Thinking\u2026"}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:t})})]})}a(Pp,"ThinkingMessage");h();var Ci=40;function Op({toolName:t,description:e,riskLevel:n,args:r,cwd:o,onDecision:i}){let[s,l]=useState(0),c=yS(t),d=c==="generic"?vS(t,r):{body:[]},f=wS(t,r),m=[{label:"Yes",scope:"once",approved:true},{label:`Yes, allow ${f} for this session`,scope:"session",approved:true},{label:`Yes, allow ${f} for this project (saved)`,scope:"project",approved:true},{label:"No (esc)",scope:"once",approved:false}];lt((w,v)=>{if(v.upArrow){l(T=>T>0?T-1:m.length-1);return}if(v.downArrow){l(T=>T<m.length-1?T+1:0);return}if(v.return){h(s);return}if(v.escape){i(false,"once");return}let y=w.toLowerCase();y==="1"||y==="y"?h(0):y==="2"||y==="a"?h(1):y==="3"||y==="p"?h(2):(y==="4"||y==="n")&&h(3);});function h(w){let v=m[w];i(v.approved,v.scope);}a(h,"decide");let g=n==="high"?"ansi:red":n==="medium"?"ansi:yellow":"ansi:cyan",S=SS(t),b=TS(o);return jsxs(x,{flexDirection:"column",borderStyle:"round",borderColor:g,paddingX:1,marginLeft:1,marginY:0,children:[jsxs(x,{children:[jsx(u,{color:g,bold:true,children:S}),n==="high"&&jsx(u,{color:"ansi:red",children:" \u26A0 high risk"})]}),jsxs(x,{marginTop:1,flexDirection:"column",marginLeft:1,children:[c==="write"?jsx(bS,{filePath:String(r.file_path??""),content:String(r.content??"")}):c==="edit"?jsx(xS,{filePath:String(r.file_path??""),oldString:String(r.old_string??""),newString:String(r.new_string??"")}):d.body.map((w,v)=>jsx(u,{children:w},v)),jsx(u,{dim:true,children:e}),jsxs(u,{dim:true,children:["cwd: ",b]})]}),jsx(x,{marginTop:1,children:jsx(u,{children:"Do you want to proceed?"})}),jsx(x,{flexDirection:"column",marginLeft:1,children:m.map((w,v)=>jsxs(x,{children:[jsx(u,{color:v===s?"ansi:cyan":void 0,children:v===s?"\u276F ":" "}),jsxs(u,{dim:true,children:[v+1,". "]}),jsx(u,{bold:v===s,children:w.label})]},v))})]})}a(Op,"PermissionPrompt");function yS(t){return t==="Write"?"write":t==="Edit"?"edit":"generic"}a(yS,"previewKindFor");function bS({filePath:t,content:e}){let n=e.split(`
|
|
75
|
+
`),r=n.length>Ci,o=r?n.slice(0,Ci):n,i=homedir(),s=t.startsWith(i)?"~"+t.slice(i.length):t;return jsxs(x,{flexDirection:"column",children:[jsx(u,{bold:true,children:s}),jsxs(x,{marginTop:1,flexDirection:"column",children:[o.map((l,c)=>jsx(Po,{kind:"add",text:l},c)),r&&jsx(u,{dim:true,children:` \u2026 ${n.length-Ci} more lines`})]})]})}a(bS,"WritePreview");function xS({filePath:t,oldString:e,newString:n}){let r=e.split(`
|
|
76
76
|
`),o=n.split(`
|
|
77
|
-
`),i=r.length+o.length,s=homedir(),l=t.startsWith(s)?"~"+t.slice(s.length):t,c=r,d=o,f=0;if(i>
|
|
77
|
+
`),i=r.length+o.length,s=homedir(),l=t.startsWith(s)?"~"+t.slice(s.length):t,c=r,d=o,f=0;if(i>Ci){let m=Math.floor(Ci/2);c=r.slice(0,m),d=o.slice(0,m),f=i-(c.length+d.length);}return jsxs(x,{flexDirection:"column",children:[jsx(u,{bold:true,children:l}),jsxs(x,{marginTop:1,flexDirection:"column",children:[c.map((m,h)=>jsx(Po,{kind:"remove",text:m},`o${h}`)),d.map((m,h)=>jsx(Po,{kind:"add",text:m},`n${h}`)),f>0&&jsx(u,{dim:true,children:` \u2026 ${f} more lines`})]})]})}a(xS,"EditPreview");function SS(t){switch(t){case "Bash":return "Bash command";case "Edit":return "Edit file";case "Write":return "Write file";case "Read":return "Read file";case "WebFetch":return "Fetch URL";case "Agent":return "Launch sub-agent";default:return t}}a(SS,"toolTitle");function vS(t,e){switch(t){case "Bash":return {body:String(e.command??"").split(`
|
|
78
78
|
`)};case "Edit":case "Write":case "Read":return {body:[String(e.file_path??e.path??"")]};case "WebFetch":return {body:[String(e.url??"")]};default:return {body:JSON.stringify(e,null,2).split(`
|
|
79
|
-
`).slice(0,8)}}}a(yS,"describeArgs");function bS(t,e){return t==="Bash"?`\`${String(e.command??"").trim().split(/\s+/)[0]??"Bash"}\``:t}a(bS,"scopeLabel");function xS(t){let e=homedir();return t.startsWith(e)?"~"+t.slice(e.length):t}a(xS,"shortenPath");h();var Np="Other...",SS="Agent question",cc="ansi:yellow";function Op({question:t,header:e,options:n,multiSelect:r,onAnswer:o,onCancel:i}){let s=!!n&&n.length>0,l=s?[...n,{label:Np,description:"Type a custom answer"}]:[{label:Np,description:"Type your answer"}],c=l.length-1,[d,f]=useState("pick"),[m,h]=useState(s?0:c),[g,v]=useState(new Set),[b,w]=useState(""),[S,y]=useState(0),T=m===c;function E(){if(r&&s){let N=[...g].sort((L,O)=>L-O).filter(L=>L!==c).map(L=>l[L].label),M=b.trim();return (M?[...N,`Other: ${M}`]:N).join(", ")}if(T){let N=b.trim();return N?s?`Other: ${N}`:N:s?"Other":""}return l[m].label}a(E,"buildAnswer");function A(){if(r&&s){let N=[...g].sort((_,L)=>_-L).filter(_=>_!==c).map(_=>l[_].label),M=b.trim();return M&&N.push(`Other: ${M}`),N.length>0?N:["(nothing selected)"]}if(T){let N=b.trim();return N?[s?`Other: ${N}`:N]:[s?"Other":"(empty)"]}return [l[m].label]}a(A,"reviewLines");function D(){if(r&&s){let N=[...g].some(_=>_!==c),M=b.trim().length>0;if(!N&&!M)return}else if(T&&!b.trim()&&!s)return;y(0),f("review");}return a(D,"advanceToReview"),rt((N,M)=>{if(d==="review"){if(M.escape){f("pick");return}if(M.upArrow){y(_=>_>0?_-1:1);return}if(M.downArrow){y(_=>_<1?_+1:0);return}if(N==="1"){y(0);return}if(N==="2"){y(1);return}M.return&&(S===0?o(E()):f("pick"));return}if(M.escape){i();return}if(M.upArrow){h(_=>_>0?_-1:l.length-1);return}if(M.downArrow){h(_=>_<l.length-1?_+1:0);return}if(M.return){T||D();return}if(r&&s&&N===" "&&!T){v(_=>{let L=new Set(_);return L.has(m)?L.delete(m):L.add(m),L});return}if(!T&&/^[1-9]$/.test(N)){let _=parseInt(N,10)-1;_>=0&&_<l.length&&h(_);return}}),jsx(TS,{header:e,children:d==="pick"?jsx(vS,{question:t,choices:l,cursor:m,selected:g,inputValue:b,setInputValue:w,onInputSubmit:()=>D(),multiSelect:!!r,hasOptions:s,inputIdx:c}):jsx(wS,{lines:A(),reviewCursor:S})})}a(Op,"AskUserPrompt");function vS({question:t,choices:e,cursor:n,selected:r,inputValue:o,setInputValue:i,onInputSubmit:s,multiSelect:l,hasOptions:c,inputIdx:d}){return jsxs(Fragment,{children:[jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{children:t})}),jsx(x,{flexDirection:"column",marginTop:1,marginLeft:1,children:e.map((f,m)=>{let h=m===n,g=r.has(m),v=m===d,b=`${m+1}.`,w=h?"ansi:cyan":void 0,S=h?"ansi:cyan":void 0,y=l&&c&&!v?g?"\u25C9":"\u25EF":null;return jsxs(x,{flexDirection:"column",marginTop:m===0?0:1,children:[jsxs(x,{children:[jsx(u,{color:w,children:`${h?"\u276F":" "} `}),y&&jsx(u,{color:w,children:`${y} `}),jsx(u,{color:w,bold:h,children:`${b} `}),v?h?jsx(xr,{value:o,onChange:i,onSubmit:s,placeholder:c?"Type a custom answer here":"Type your answer"}):jsx(u,{dim:true,children:f.label}):jsx(u,{color:S,bold:h,children:f.label})]}),f.description&&(!v||!h)&&jsx(x,{marginLeft:y?7:5,children:jsx(u,{dim:true,children:f.description})})]},m)})}),jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{dim:true,children:l&&c?"\u2191\u2193 move \xB7 1-9 jump \xB7 Space toggle \xB7 Enter continue \xB7 Esc cancel":"\u2191\u2193 move \xB7 1-9 jump \xB7 Enter continue \xB7 Esc cancel"})})]})}a(vS,"PickPhase");function wS({lines:t,reviewCursor:e}){let n=[{label:"Submit answers",description:"Send your answer to the agent"},{label:"Cancel",description:"Go back and change your selection"}];return jsxs(Fragment,{children:[jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{bold:true,children:"Review your answers"})}),jsx(x,{flexDirection:"column",marginTop:1,marginLeft:3,children:t.map((r,o)=>jsxs(x,{children:[jsx(u,{color:"ansi:green",children:"\u25CF "}),jsx(u,{children:r})]},o))}),jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{children:"Ready to submit your answers?"})}),jsx(x,{flexDirection:"column",marginTop:1,marginLeft:1,children:n.map((r,o)=>{let i=o===e,s=i?"ansi:cyan":void 0;return jsxs(x,{flexDirection:"column",marginTop:o===0?0:1,children:[jsxs(x,{children:[jsx(u,{color:s,children:`${i?"\u276F":" "} `}),jsx(u,{color:s,bold:i,children:`${o+1}. ${r.label}`})]}),jsx(x,{marginLeft:5,children:jsx(u,{dim:true,children:r.description})})]},o)})}),jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{dim:true,children:"\u2191\u2193 move \xB7 1-2 jump \xB7 Enter select \xB7 Esc back"})})]})}a(wS,"ReviewPhase");function TS({header:t,children:e}){return jsxs(x,{flexDirection:"column",borderStyle:"round",borderColor:cc,paddingX:1,marginLeft:1,marginY:0,children:[jsxs(x,{children:[jsx(u,{color:cc,bold:true,children:"? "}),jsx(u,{color:cc,bold:true,children:t??SS})]}),e]})}a(TS,"Frame");h();h();function CS(t,e,n=""){let r=t.lastIndexOf("/"),o=r>=0?t.slice(r+1):t,i=n.toLowerCase(),s=i&&!o.toLowerCase().startsWith(`${i}-`)?`${i}-${o}`:o,l=new Set(e);if(!l.has(s))return s;for(let c=2;;c++){let d=`${s}-${c}`;if(!l.has(d))return d}}a(CS,"deriveModelAlias");function Ip(t,e){let n=t;(/^https?:\/\//.test(t)||t.includes("."))&&(n=(t.replace(/^https?:\/\//,"").split("/")[0]??"custom").replace(/[^a-z0-9]+/gi,"-").toLowerCase().replace(/^-+|-+$/g,""));let r=new Set(e);if(!r.has(n))return n;for(let o=2;;o++){let i=`${n}-${o}`;if(!r.has(i))return i}}a(Ip,"deriveProviderKey");function Dp(t,e){return t?/\s/.test(t)?"Alias must not contain whitespace":e.includes(t)?"Alias already used":null:"Alias cannot be empty"}a(Dp,"validateAlias");var kS=["openrouter","anthropic","openai","deepseek","xai","google","mistral","groq","ollama","custom"],Lp={openrouter:"OpenRouter (\u63A8\u8350 \u2014 \u652F\u6301\u6240\u6709\u6A21\u578B)",anthropic:"Anthropic (\u76F4\u8FDE Claude API)",openai:"OpenAI",deepseek:"DeepSeek (\u5B98\u65B9\u76F4\u8FDE)",xai:"xAI (Grok)",google:"Google Gemini",mistral:"Mistral",groq:"Groq",ollama:"Ollama (\u672C\u5730,\u65E0\u9700 key)",custom:"\u81EA\u5B9A\u4E49 (OpenAI-\u517C\u5BB9)"},RS={openrouter:"https://openrouter.ai/keys",anthropic:"https://console.anthropic.com/settings/keys",openai:"https://platform.openai.com/api-keys",deepseek:"https://platform.deepseek.com/api_keys",xai:"https://console.x.ai",google:"https://aistudio.google.com/apikey",mistral:"https://console.mistral.ai/api-keys",groq:"https://console.groq.com/keys"};function _S(t){return t.length<=8?"\u2022\u2022\u2022\u2022":`${t.slice(0,4)}\u2022\u2022\u2022\u2022${t.slice(-4)}`}a(_S,"maskKey");function Ys({existingProviders:t,existingModelKeys:e,existingModelIds:n=[],detectedEnvKeys:r=[],switchToNewModelOnFinish:o,onFinish:i,onCancel:s}){let l=new Set(n),c=kS.map(G=>({type:"kind",label:Lp[G]??a$3[G]?.label??G,kind:G})),d=t.map(G=>G.key),[f,m]=useState("kind"),[h,g]=useState(0),[v,b]=useState(),[w,S]=useState("openai"),[y,T]=useState(""),[E,A]=useState(""),[D,N]=useState(0),[M,_]=useState(false),[L,O]=useState(),[I,K]=useState(false),[z,ke]=useState(0),[Re,mt]=useState(new Set),[Ce,Z]=useState([]),[ne,H]=useState(false),[me,pe]=useState(""),[_e,Ue]=useState([]),[Ye,ot]=useState(0),[re,Ze]=useState(0),[Xe,Nt]=useState(false),Ge=a(G=>r.find($=>$.kindHint===G),"envHintForKind"),Ee=a(G=>t.filter($=>$.kind===G),"matchingExistingProviders"),bt=a(G=>{let $=Ee(G).map(Y=>({type:"existing",provider:Y})),U=Ge(G);return U&&$.push({type:"env",hint:U}),$.push({type:"paste"}),$},"keyChoicesFor");useEffect(()=>{f==="fetch"&&(L||I||xt(false));},[f]);async function xt(G){K(true);let $=v?{key:v.key,kind:v.kind,baseUrl:v.baseUrl,apiKey:v.apiKey,...v.modelsPath?{modelsPath:v.modelsPath}:{}}:{key:Ip(w==="custom"?E:w,d),kind:w,baseUrl:E,apiKey:y},U=await b$4($,{cacheDir:d$3(),refresh:G});O(U),K(false);}a(xt,"runFetch");function kn(G){let $=[],U=[...e],Y=v?.kind??(w==="custom"?"":w);for(let ge of G){let V=CS(ge.id,U,Y);$.push(V),U.push(V);}Ue($),ot(0),Ze(0),Nt(false),m("alias");}a(kn,"enterAliasStep");function Ft(){if(!L)return [];let G=new Map(L.models.map($=>[$.id,$]));return Ce.map($=>G.get($)).filter($=>$!==void 0)}a(Ft,"getPickedModels");function St(G){let $=_e.filter((U,Y)=>Y!==G);return [...e,...$]}a(St,"aliasUsedSet");function an(){return _e.every((G,$)=>Dp(G,St($))===null)}a(an,"allAliasesValid");function Fe(){let G=Ft();if(G.length===0||!an())return;let $=v?void 0:{key:Ip(w==="custom"?E:w,d),kind:w,baseUrl:E,apiKey:w==="ollama"?void 0:y,label:a$3[w].label},U=v?.key??$.key,Y=v?.baseUrl??$.baseUrl,ge=v?.apiKey??$.apiKey,de=(v?.kind??w)==="anthropic"?"anthropic":"openai",lt=G.map((De,It)=>({key:_e[It],label:De.id,providerKey:U,protocol:de,provider:de,model:De.id,baseUrl:Y,apiKey:ge,maxContextTokens:De.contextLength&&De.contextLength>0?De.contextLength:void 0,maxOutputTokens:De.maxOutputTokens&&De.maxOutputTokens>0?De.maxOutputTokens:void 0}));i({addedProvider:$,addedModels:lt,activeModelKey:o?_e[re]:void 0});}return a(Fe,"commitFinish"),rt((G,$)=>{if($.escape){if(f==="kind"){s();return}if(f==="key"){M?(_(false),T("")):m("kind");return}if(f==="baseUrl"){m("key");return}if(f==="fetch"){if(ne){H(false),pe("");return}v||w==="ollama"?(b(void 0),m("kind")):(_(false),m("key"));return}if(f==="alias"){m("fetch");return}return}if(f==="kind"){if($.upArrow)g(U=>Math.max(0,U-1));else if($.downArrow)g(U=>Math.min(c.length-1,U+1));else if($.return){let U=c[h];if(!U)return;let Y=U.kind;if(S(Y),A(a$3[Y].defaultBaseUrl),N(0),Y==="ollama"){T(""),b(void 0),m("fetch");return}let ge=bt(Y),V=ge.length===1&&ge[0]?.type==="paste";_(V),m("key");}return}if(f==="key"){if(!M){let U=bt(w);if(U.length===0)return;if($.upArrow)N(Y=>Math.max(0,Y-1));else if($.downArrow)N(Y=>Math.min(U.length-1,Y+1));else if($.return){let Y=U[D];if(!Y)return;Y.type==="existing"?(b(Y.provider),m("fetch")):Y.type==="env"?(T(Y.hint.apiKey),m(w==="custom"?"baseUrl":"fetch")):_(true);}}return}if(f!=="baseUrl"){if(f==="fetch"){if(ne){if($.backspace||$.delete)pe(U=>U.slice(0,-1));else if($.return&&me){let U={id:me,contextLength:0,maxOutputTokens:0};O(V=>({fetchedAt:V?.fetchedAt??new Date().toISOString(),providerKey:V?.providerKey??"",models:[...V?.models??[],U],...V?.error?{error:V.error}:{},...V?.fromCache?{fromCache:V.fromCache}:{}}));let Y=new Set(Re);Y.add(me),mt(Y);let ge=[...Ce,me];Z(ge),kn([...Ft(),U]);}else G&&!$.ctrl&&pe(U=>U+G);return}if(G==="r"){O(void 0),xt(true);return}if(G==="m"){H(true);return}if(!L||I||L.models.length===0)return;if($.upArrow)ke(U=>Math.max(0,U-1));else if($.downArrow)ke(U=>Math.min(L.models.length-1,U+1));else if(G===" "){let U=L.models[z];if(!U||l.has(U.id))return;let Y=new Set(Re);Y.has(U.id)?(Y.delete(U.id),Z(ge=>ge.filter(V=>V!==U.id))):(Y.add(U.id),Z(ge=>[...ge,U.id])),mt(Y);}else $.return&&Re.size>0&&kn(Ft());return}if(f==="alias"){let U=_e.length,Y=o&&U>0,ge=U+(Y?1:0);if($.tab){let V=(Ye+1)%ge;ot(V),Nt(Y&&V===U);return}if($.downArrow){if(Xe&&Y)Ze(V=>Math.min(U-1,V+1));else {let V=Math.min(ge-1,Ye+1);ot(V),Nt(Y&&V===U);}return}if($.upArrow){if(Xe&&Y)Ze(V=>Math.max(0,V-1));else {let V=Math.max(0,Ye-1);ot(V),Nt(Y&&V===U);}return}if(Xe){$.return&&an()&&Fe();return}$.backspace||$.delete?Ue(V=>{let de=[...V];return de[Ye]=(de[Ye]??"").slice(0,-1),de}):$.return?an()&&Fe():G&&!$.ctrl&&Ue(V=>{let de=[...V];return de[Ye]=(de[Ye]??"")+G,de});return}}}),jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:v?"\u2726 \u6DFB\u52A0\u6A21\u578B":"\u2726 \u6DFB\u52A0 provider + \u6A21\u578B"}),jsx(u,{dim:true,children:" (Esc \u53D6\u6D88)"})]}),f==="kind"&&jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{dim:true,children:"\u9009\u62E9 API \u63D0\u4F9B\u5546:"}),c.map((G,$)=>jsx(x,{children:jsxs(u,{color:$===h?"ansi:cyan":void 0,bold:$===h,children:[$===h?"\u276F ":" ",G.label]})},G.kind))]}),f==="key"&&(()=>{let G=Lp[w]??a$3[w].label,$=RS[w],U=bt(w);return jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{dim:true,children:G}),$&&jsxs(u,{dim:true,children:["\u83B7\u53D6 Key: ",$]}),!M?jsx(x,{flexDirection:"column",marginTop:1,children:U.map((ge,V)=>{let de=V===D,lt=de?"\u276F ":" ";return ge.type==="existing"?jsxs(x,{children:[jsxs(u,{color:de?"ansi:cyan":void 0,bold:de,children:[lt,"\u4F7F\u7528\u5DF2\u6709: ",ge.provider.label??ge.provider.key]}),jsx(u,{dim:true,children:` (${ge.provider.kind})`})]},`existing-${ge.provider.key}`):ge.type==="env"?jsxs(x,{children:[jsxs(u,{color:de?"ansi:cyan":void 0,bold:de,children:[lt,"\u4F7F\u7528\u73AF\u5883\u53D8\u91CF $",ge.hint.envKey]}),jsx(u,{dim:true,children:` (${_S(ge.hint.apiKey)})`})]},`env-${ge.hint.envKey}`):jsx(x,{children:jsxs(u,{color:de?"ansi:cyan":void 0,bold:de,children:[lt,"\u7C98\u8D34\u65B0 key"]})},"paste")})}):jsxs(x,{marginTop:1,children:[jsx(u,{color:"ansi:cyan",children:"API Key: "}),jsx(xr,{value:y,onChange:T,onSubmit:()=>{m(w==="custom"?"baseUrl":"fetch");},placeholder:"\u7C98\u8D34\u4F60\u7684 API Key, Enter \u786E\u8BA4",focus:true})]})]})})(),f==="baseUrl"&&jsx(x,{flexDirection:"column",marginTop:1,children:jsxs(x,{children:[jsx(u,{color:"ansi:cyan",children:"Base URL: "}),jsx(xr,{value:E,onChange:A,onSubmit:()=>m("fetch"),placeholder:"\u542B /v1, Enter \u786E\u8BA4",focus:true})]})}),f==="fetch"&&jsxs(x,{flexDirection:"column",marginTop:1,children:[I&&jsx(u,{dim:true,children:"Loading\u2026"}),!I&&L?.error&&L.models.length===0&&jsxs(x,{flexDirection:"column",children:[jsxs(u,{color:"red",children:["Error: ",L.error]}),jsx(u,{dim:true,children:"Press r to retry \xB7 m for manual id \xB7 Esc to cancel"})]}),!I&&L&&L.models.length>0&&!ne&&jsxs(x,{flexDirection:"column",children:[jsxs(u,{dim:true,children:["Pick models (Space to toggle, Enter when done) \u2014 ",Re.size," selected",n.length>0?` \xB7 ${n.length} \u5DF2\u6DFB\u52A0 (\u7070\u8272\u4E0D\u53EF\u9009)`:""]}),L.fromCache&&jsxs(u,{dim:true,children:["Cached at ",new Date(L.fetchedAt).toLocaleString()," \xB7 press r to refresh"]}),L.models.slice(Math.max(0,z-8),z+9).map((G,$)=>{let U=Math.max(0,z-8)+$,Y=Re.has(G.id);return l.has(G.id)?jsx(x,{children:jsxs(u,{dim:true,children:[U===z?"\u203A ":" ","[\u2713] ",G.id,G.contextLength?` (${G.contextLength.toLocaleString()} ctx)`:""," (\u5DF2\u6DFB\u52A0)"]})},G.id):jsxs(u,{color:U===z?"ansi:cyan":void 0,children:[U===z?"\u203A ":" ","[",Y?"x":" ","] ",G.id,G.contextLength?jsxs(u,{dim:true,children:[" (",G.contextLength.toLocaleString()," ctx)"]}):null]},G.id)})]}),ne&&jsxs(x,{flexDirection:"column",children:[jsx(u,{children:"Manual model id:"}),jsx(u,{color:"ansi:cyan",children:me}),jsx(u,{dim:true,children:"Enter when done."})]})]}),f==="alias"&&jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{children:"Local alias for each model:"}),Ft().map((G,$)=>{let U=Dp(_e[$]??"",St($)),Y=!Xe&&$===Ye;return jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{dim:true,children:G.id}),jsxs(u,{color:Y?"cyan":void 0,children:[Y?"\u203A ":" ",_e[$]??""]}),Y&&U&&jsx(u,{color:"red",children:U}),!Y&&U&&jsx(u,{color:"red",dim:true,children:U})]},G.id)}),o&&_e.length>0&&jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{children:"Which becomes active? \u2191\u2193"}),_e.map((G,$)=>jsxs(u,{color:Xe&&$===re?"cyan":void 0,children:[Xe&&$===re?"\u203A ":" ",$===re?"(\u2022) ":"( ) ",G]},`active-${$}`))]}),jsx(u,{dim:true,children:"Tab/\u2193 to next field \xB7 Enter to finish"})]})]})}a(Ys,"ProviderModelFlow");function zs({onComplete:t,onCancel:e,existingProviders:n=[],existingModelKeys:r=[],existingModelIds:o=[]}){let[i,s]=useState("flow"),[l,c]=useState(null),[d,f]=useState(new Set),[m,h]=useState(0);rt((b,w)=>{if(i!=="arena"||!l)return;let S=l.addedModels.map(y=>y.key);if(w.escape){g(l,new Set);return}if(b==="s"||b==="S"){g(l,new Set);return}if(w.upArrow)h(y=>Math.max(0,y-1));else if(w.downArrow)h(y=>Math.min(S.length-1,y+1));else if(b===" "){let y=S[m];if(!y)return;f(T=>{let E=new Set(T);return E.has(y)?E.delete(y):E.add(y),E});}else w.return&&g(l,d);});function g(b,w){if(b.addedModels.length===0){e();return}let S=b.addedModels.find(T=>T.key===b.activeModelKey)??b.addedModels[0],y={key:S.key,provider:S.provider,model:S.model,apiKey:S.apiKey??"",baseUrl:S.baseUrl};O({activeKey:S.key,activeMirror:{provider:y.provider,model:y.model,apiKey:y.apiKey,baseUrl:y.baseUrl},addedProvider:b.addedProvider?{key:b.addedProvider.key,label:b.addedProvider.label,kind:b.addedProvider.kind,baseUrl:b.addedProvider.baseUrl,apiKey:b.addedProvider.apiKey,protocol:b.addedProvider.protocol,modelsPath:b.addedProvider.modelsPath}:void 0,addedModels:b.addedModels}),w.size>=2&&P([...w]),t(y);}a(g,"finish");function v(b){if(c(b),b.addedModels.length===0){e();return}if(b.addedModels.length===1){g(b,new Set);return}s("arena");}if(a(v,"handleFlowFinish"),i==="flow")return jsx(Ys,{existingProviders:n,existingModelKeys:r,existingModelIds:o,detectedEnvKeys:K().map(b=>({envKey:b.envKey,apiKey:b.apiKey,kindHint:b.provider.id??"openai"})),switchToNewModelOnFinish:true,onFinish:v,onCancel:e});if(i==="arena"&&l){let b=l.addedModels;return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 Arena participants"})}),jsx(x,{marginTop:1,marginLeft:2,children:jsx(u,{dim:true,children:"Space toggles \xB7 Enter finishes \xB7 s skips \xB7 Esc cancels."})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"Pick at least 2 to enable /arena, or skip."})}),b.map((w,S)=>{let y=S===m,T=d.has(w.key);return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:y?"ansi:cyan":void 0,bold:y,children:[y?"\u276F ":" ",`[${T?"x":" "}] ${w.key}`]}),jsxs(u,{dim:true,children:[" ",w.model]})]},w.key)})]})}return null}a(zs,"OnboardingPrompt");h();function Bp(t){return !t||t<=0?"?":t>=1e6?`${(t/1e6).toFixed(0)}M`:t>=1e3?`${(t/1e3).toFixed(0)}K`:`${t}`}a(Bp,"fmtTokens");function AS(t,e){let n=[],r=`${t} ${e}`.toLowerCase();return /coder|code|devstral/i.test(r)&&n.push("coding"),/reason|think|r1|o3|o4|pro/i.test(r)&&n.push("reasoning"),/flash|mini|haiku|fast|small|nano/i.test(r)&&n.push("fast"),/cheap|free/i.test(r)&&n.push("cheap"),/large|max|ultra|opus|big/i.test(r)&&n.push("powerful"),n}a(AS,"modelTags");function Fp({entries:t,onSelect:e,onCancel:n}){let r=Math.max(0,t.findIndex(c=>c.active)),[o,i]=useState(r);if(rt((c,d)=>{if(t.length===0){(d.escape||d.return)&&n();return}d.upArrow?i(f=>f>0?f-1:t.length-1):d.downArrow?i(f=>f<t.length-1?f+1:0):d.return?e(t[o].key):d.escape&&n();}),t.length===0)return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 \u5207\u6362\u6A21\u578B"})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:'\u672A\u914D\u7F6E\u6A21\u578B\u6C60\u3002\u8BF7\u7528 /login \u91CD\u65B0\u914D\u7F6E\u6216\u7F16\u8F91 settings.json \u7684 "models" \u5B57\u6BB5\u3002'})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"\u6309\u4EFB\u610F\u952E\u5173\u95ED"})})]});let s=Math.min(Math.max(...t.map(c=>c.key.length)),20),l=Math.min(Math.max(...t.map(c=>Bp(c.maxContextTokens).length)),8);return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 \u5207\u6362\u6A21\u578B"}),jsx(u,{dim:true,children:" (\u2191\u2193 \u9009\u62E9, Enter \u786E\u8BA4, Esc \u53D6\u6D88)"})]}),jsx(x,{marginLeft:2,marginBottom:0,children:jsxs(u,{dim:true,children:[" ".padEnd(s+2),"\u6A21\u578B\u8DEF\u5F84"," ".repeat(28),"\u4E0A\u4E0B\u6587"," ","\u6807\u7B7E"]})}),t.map((c,d)=>{let f=d===o,m=f?"\u276F ":" ",h=c.active?" \u2190 active":"",g=AS(c.key,c.model),v=g.length>0?g.join(", "):"";return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:f?"ansi:cyan":void 0,bold:f,children:[m,c.key.padEnd(s)]}),jsxs(u,{children:[" ",c.model.padEnd(32)]}),jsx(u,{dim:true,children:Bp(c.maxContextTokens).padStart(l)}),jsx(u,{children:" "}),jsx(u,{color:"ansi:green",children:v}),jsx(u,{dim:true,children:h})]},c.key)})]})}a(Fp,"ModelSelector");h();function Wp({entries:t,snapshot:e,arenaParticipants:n,providers:r,onSwitch:o,onSync:i,onSaveArena:s,onOpenFlow:l,onRefreshProvider:c,onDeleteProvider:d,onDeleteModel:f,onClose:m}){let h=r??[],[g,v]=useState("models"),[b,w]=useState(()=>Math.max(0,t.findIndex(Z=>Z.active))),[S,y]=useState(0),[T,E]=useState({kind:"idle"}),[A,D]=useState(n),[N,M]=useState(0),[_,L]=useState(null),[O,I]=useState(false),[K,z]=useState(false);rt(async(Z,ne)=>{if(T.kind!=="busy"){if(K&&!ne.escape&&Z!=="q"&&z(false),ne.tab){v(H=>H==="models"?"providers":H==="providers"?"arena":"models"),E({kind:"idle"});return}if(ne.escape||Z==="q"){if(O&&!K){E({kind:"error",text:"\u672A\u4FDD\u5B58\u6539\u52A8 \u2014 \u6309 [w] \u4FDD\u5B58\u6216\u518D\u6B21\u6309 Esc \u653E\u5F03"}),z(true);return}m();return}if(g==="models"){await ke(Z,ne);return}if(g==="providers"){await Re(Z,ne);return}await mt(Z,ne);}});async function ke(Z,ne){if(Z==="A"){l&&l();return}if(t.length===0){Z==="s"&&await Ce();return}if(ne.upArrow){w(H=>H>0?H-1:t.length-1);return}if(ne.downArrow){w(H=>H<t.length-1?H+1:0);return}if(ne.return){let H=t[b];if(!H)return;E({kind:"busy",text:`\u5207\u6362\u5230 ${H.key}\u2026`});try{await o(H.key),m();}catch(me){E({kind:"error",text:`\u5207\u6362\u5931\u8D25: ${me.message}`});}return}if(Z==="x"){if(!f)return;let H=t[b];if(!H)return;E({kind:"busy",text:`\u5220\u9664 ${H.key}\u2026`});try{await f(H.key),E({kind:"info",text:`\u2713 \u5DF2\u5220\u9664 ${H.key}`});}catch(me){E({kind:"error",text:`\u5220\u9664\u5931\u8D25: ${me.message}`});}return}if(Z==="s"){await Ce();return}}a(ke,"handleModelsInput");async function Re(Z,ne){if(Z==="a"){l&&l();return}if(h.length!==0){if(ne.upArrow){y(H=>H>0?H-1:h.length-1);return}if(ne.downArrow){y(H=>H<h.length-1?H+1:0);return}if(Z==="r"){if(!c)return;let H=h[S];if(!H)return;E({kind:"busy",text:`\u5237\u65B0 ${H.key} \u6A21\u578B\u6E05\u5355\u2026`});try{let me=await c(H.key);me.error?E({kind:"error",text:`\u5237\u65B0\u5931\u8D25: ${me.error}`}):E({kind:"info",text:`\u2713 \u5DF2\u7F13\u5B58 ${me.count} \u4E2A\u6A21\u578B`});}catch(me){E({kind:"error",text:`\u5237\u65B0\u5931\u8D25: ${me.message}`});}return}if(Z==="d"){if(!d)return;let H=h[S];if(!H)return;if(H.modelCount>0){E({kind:"error",text:`\u65E0\u6CD5\u5220\u9664: \u4ECD\u6709 ${H.modelCount} \u4E2A\u6A21\u578B\u5F15\u7528 ${H.key}`});return}E({kind:"busy",text:`\u5220\u9664 ${H.key}\u2026`});try{let me=await d(H.key);me.ok?E({kind:"info",text:`\u2713 \u5DF2\u5220\u9664 ${H.key}`}):E({kind:"error",text:`\u5220\u9664\u5931\u8D25: ${me.error??"\u672A\u77E5\u9519\u8BEF"}`});}catch(me){E({kind:"error",text:`\u5220\u9664\u5931\u8D25: ${me.message}`});}return}}}a(Re,"handleProvidersInput");async function mt(Z,ne){if(_){if(ne.upArrow){L({idx:_.idx>0?_.idx-1:t.length-1});return}if(ne.downArrow){L({idx:_.idx<t.length-1?_.idx+1:0});return}if(ne.return){let H=t[_.idx];H&&(D(me=>[...me,{kind:"key",value:H.key}]),I(true),E({kind:"info",text:`\u5DF2\u52A0\u5165: ${H.key} (\u672A\u4FDD\u5B58)`})),L(null);return}L(null);return}if(ne.upArrow){M(H=>Math.max(0,H-1));return}if(ne.downArrow){M(H=>A.length===0?0:Math.min(A.length-1,H+1));return}if(Z==="a"){if(t.length===0){E({kind:"error",text:"\u6A21\u578B\u6C60\u4E3A\u7A7A \u2014 \u5148\u5728 Models tab \u540C\u6B65\u5FEB\u7167"});return}L({idx:0}),E({kind:"info",text:"\u9009\u4E00\u4E2A\u6A21\u578B\u52A0\u5165 (Enter \u786E\u8BA4, \u4EFB\u610F\u952E\u53D6\u6D88)"});return}if(Z==="d"){if(A.length===0)return;let H=A[N];D(pe=>pe.filter((_e,Ue)=>Ue!==N)),M(pe=>Math.max(0,Math.min(A.length-2,pe))),I(true);let me=H?.kind==="key"?H.value:H?.label??"";E({kind:"info",text:`\u5DF2\u79FB\u9664: ${me} (\u672A\u4FDD\u5B58)`});return}if(Z==="w"){let H=A.filter(pe=>pe.kind==="object");if(H.length>0){E({kind:"error",text:`\u5B58\u5728 ${H.length} \u4E2A\u5BF9\u8C61\u5F62\u5F0F\u6761\u76EE\uFF0C\u8BF7\u76F4\u63A5\u7F16\u8F91 settings.json \u540E\u91CD\u542F`});return}let me=A.map(pe=>pe.value);E({kind:"busy",text:"\u4FDD\u5B58\u4E2D\u2026"});try{await s(me),E({kind:"info",text:`\u2713 \u5DF2\u4FDD\u5B58 (${me.length} \u4E2A participant)`}),I(!1);}catch(pe){E({kind:"error",text:`\u4FDD\u5B58\u5931\u8D25: ${pe.message}`});}return}}a(mt,"handleArenaInput");async function Ce(){E({kind:"busy",text:"\u6B63\u5728\u62C9\u53D6 OpenRouter \u6A21\u578B\u6E05\u5355\u2026"});try{let Z=await i();Z.ok?E({kind:"info",text:`\u2713 \u5DF2\u540C\u6B65 ${Z.count} \u4E2A\u6A21\u578B (\u672C\u8FDB\u7A0B\u5185\u751F\u6548)`}):E({kind:"error",text:`\u540C\u6B65\u5931\u8D25: ${Z.error??"\u672A\u77E5\u9519\u8BEF"}`});}catch(Z){E({kind:"error",text:`\u540C\u6B65\u5931\u8D25: ${Z.message}`});}}return a(Ce,"runSync"),jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 \u6A21\u578B\u7BA1\u7406"}),jsx(u,{dim:true,children:" (Tab \u5207\u6362\u9762\u677F, q/Esc \u5173\u95ED)"})]}),jsxs(x,{marginLeft:2,marginTop:1,children:[jsx(u,{color:g==="models"?"ansi:cyan":void 0,bold:g==="models",children:g==="models"?"\u25CF Models":"\u25CB Models"}),jsx(u,{children:" "}),jsx(u,{color:g==="providers"?"ansi:cyan":void 0,bold:g==="providers",children:g==="providers"?"\u25CF Providers":"\u25CB Providers"}),jsx(u,{children:" "}),jsx(u,{color:g==="arena"?"ansi:cyan":void 0,bold:g==="arena",children:g==="arena"?"\u25CF Arena":"\u25CB Arena"})]}),g==="models"?jsx(OS,{entries:t,cursor:b,snapshot:e}):g==="providers"?jsx(PS,{providers:h,cursor:S}):jsx(IS,{arena:A,cursor:N,picker:_,poolEntries:t,dirty:O}),T.kind!=="idle"&&jsx(x,{marginLeft:2,marginTop:1,children:jsx(u,{color:T.kind==="error"?"ansi:red":T.kind==="busy"?"ansi:yellow":"ansi:green",children:T.text})})]})}a(Wp,"ModelManager");function $p(t){return !t||t<=0?"?":t>=1e6?`${(t/1e6).toFixed(0)}M`:t>=1e3?`${(t/1e3).toFixed(0)}K`:`${t}`}a($p,"fmtTokens");function NS(t,e){let n=[],r=`${t} ${e}`.toLowerCase();return /coder|code|devstral/i.test(r)&&n.push("coding"),/reason|think|r1|o3|o4|pro/i.test(r)&&n.push("reasoning"),/flash|mini|haiku|fast|small|nano/i.test(r)&&n.push("fast"),/cheap|free/i.test(r)&&n.push("cheap"),/large|max|ultra|opus|big/i.test(r)&&n.push("powerful"),n}a(NS,"modelTags");function OS({entries:t,cursor:e,snapshot:n}){let r=t.length?Math.min(Math.max(...t.map(i=>i.key.length)),16):0,o=t.length?Math.min(Math.max(...t.map(i=>$p(i.maxContextTokens).length)),8):0;return jsxs(Fragment,{children:[jsxs(x,{marginLeft:2,marginTop:1,children:[jsx(u,{dim:true,children:"\u5FEB\u7167: "}),jsx(u,{children:`${n.count} \u4E2A\u6A21\u578B`}),jsx(u,{dim:true,children:n.fetchedAt?` \xB7 ${Hp(n.fetchedAt)}`:" \xB7 \u672A\u62C9\u53D6"})]}),jsx(x,{marginLeft:2,marginTop:1,children:jsx(u,{bold:true,children:`\u6A21\u578B\u6C60 (${t.length}):`})}),t.length===0?jsx(x,{marginLeft:4,children:jsx(u,{dim:true,children:"\u672A\u914D\u7F6E\u6A21\u578B\u6C60\u3002\u6309 [s] \u62C9\u53D6\u6700\u65B0\u6E05\u5355\uFF0C\u518D\u7528 /login \u9009\u62E9\u3002"})}):jsxs(Fragment,{children:[jsx(x,{marginLeft:2,children:jsxs(u,{dim:true,children:[" ".padEnd(r+2),"\u6A21\u578B\u8DEF\u5F84"," ".repeat(28),"\u4E0A\u4E0B\u6587"," ","\u6807\u7B7E"]})}),t.map((i,s)=>{let l=s===e,c=l?"\u276F ":" ",d=i.active?" \u2190 active":"",f=NS(i.key,i.model),m=f.length>0?f.join(", "):"";return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[c,i.key.padEnd(r)]}),jsxs(u,{children:[" ",i.model.padEnd(32)]}),jsx(u,{dim:true,children:$p(i.maxContextTokens).padStart(o)}),jsx(u,{children:" "}),jsx(u,{color:"ansi:green",children:m}),jsx(u,{color:"ansi:green",children:d})]},i.key)})]}),jsx(x,{marginLeft:2,marginTop:1,children:jsxs(u,{dim:true,children:["\u64CD\u4F5C: ",jsx(u,{color:"ansi:cyan",children:"[Enter]"})," \u5207\u6362 ",jsx(u,{color:"ansi:cyan",children:"[A]"})," \u6DFB\u52A0 provider+\u6A21\u578B ",jsx(u,{color:"ansi:cyan",children:"[x]"})," \u5220\u9664 ",jsx(u,{color:"ansi:cyan",children:"[s]"})," \u540C\u6B65\u5FEB\u7167"]})})]})}a(OS,"ModelsPane");function PS({providers:t,cursor:e}){return jsxs(Fragment,{children:[jsx(x,{marginLeft:2,marginTop:1,children:jsx(u,{bold:true,children:`Providers (${t.length})`})}),t.length===0?jsx(x,{marginLeft:4,children:jsx(u,{dim:true,children:"\u5C1A\u672A\u914D\u7F6E\u4EFB\u4F55 provider\u3002\u6309 [a] \u6DFB\u52A0\u3002"})}):t.map((n,r)=>{let o=r===e,i=o?"\u276F ":" ",s=n.cachedModels!==void 0?`${n.cachedModels} \u7F13\u5B58${n.cachedAt?` \xB7 ${Hp(n.cachedAt)}`:""}`:"\u672A\u62C9\u53D6";return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:o?"ansi:cyan":void 0,bold:o,children:[i,n.label||n.key]}),jsx(u,{dim:true,children:` (${n.kind}) `}),jsx(u,{children:`${n.modelCount} \u6A21\u578B `}),jsx(u,{dim:true,children:s})]},n.key)}),jsx(x,{marginLeft:2,marginTop:1,children:jsxs(u,{dim:true,children:["\u64CD\u4F5C: ",jsx(u,{color:"ansi:cyan",children:"[a]"})," \u6DFB\u52A0 provider+\u6A21\u578B ",jsx(u,{color:"ansi:cyan",children:"[r]"})," \u5237\u65B0 ",jsx(u,{color:"ansi:cyan",children:"[d]"})," \u5220\u9664"]})})]})}a(PS,"ProvidersPane");function IS({arena:t,cursor:e,picker:n,poolEntries:r,dirty:o}){return jsxs(Fragment,{children:[jsxs(x,{marginLeft:2,marginTop:1,children:[jsx(u,{bold:true,children:`Arena \u53C2\u4E0E\u8005 (${t.length})`}),o&&jsx(u,{color:"ansi:yellow",children:" \u2022 \u672A\u4FDD\u5B58"})]}),t.length===0?jsx(x,{marginLeft:4,children:jsx(u,{dim:true,children:"\u672A\u914D\u7F6E \u2014 Arena \u5C06\u56DE\u9000\u5230\u9ED8\u8BA4\u53C2\u4E0E\u8005\u3002\u6309 [a] \u6DFB\u52A0\u3002"})}):t.map((i,s)=>{let l=s===e,c=l?"\u276F ":" ";if(i.kind==="key"){let d=r.find(f=>f.key===i.value);return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[c,i.value]}),d&&jsxs(u,{dim:true,children:[" ",d.model]}),!d&&jsx(u,{color:"ansi:yellow",children:" (\u4E0D\u5728\u5F53\u524D\u6A21\u578B\u6C60)"})]},`k-${s}`)}return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[c,i.label]}),jsx(u,{dim:true,children:" (\u5BF9\u8C61\u5F62\u5F0F \xB7 \u53EA\u8BFB)"})]},`o-${s}`)}),n&&jsxs(x,{flexDirection:"column",marginLeft:2,marginTop:1,children:[jsx(u,{bold:true,children:"\u4ECE\u6A21\u578B\u6C60\u9009\u62E9:"}),r.map((i,s)=>{let l=s===n.idx;return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[l?"\u276F ":" ",i.key]}),jsxs(u,{dim:true,children:[" ",i.model]})]},i.key)})]}),jsx(x,{marginLeft:2,marginTop:1,children:jsxs(u,{dim:true,children:["\u64CD\u4F5C: ",jsx(u,{color:"ansi:cyan",children:"[a]"})," \u6DFB\u52A0 ",jsx(u,{color:"ansi:cyan",children:"[d]"})," \u5220\u9664 ",jsx(u,{color:"ansi:cyan",children:"[w]"})," \u4FDD\u5B58"]})})]})}a(IS,"ArenaPane");function Hp(t){let e=new Date(t).getTime();if(Number.isNaN(e))return t;let n=Date.now()-e,r=Math.floor(n/36e5);if(r<1)return "\u51E0\u5206\u949F\u524D";if(r<24)return `${r} \u5C0F\u65F6\u524D`;let o=Math.floor(r/24);return o<7?`${o} \u5929\u524D`:new Date(t).toLocaleDateString()}a(Hp,"formatFreshness");h();function Gp({entries:t,onSelect:e,onCancel:n}){let[r,o]=useState(0);if(rt((c,d)=>{if(t.length===0){(d.escape||d.return)&&n();return}d.upArrow?o(f=>f>0?f-1:t.length-1):d.downArrow?o(f=>f<t.length-1?f+1:0):d.return?e(t[r].sessionId):d.escape&&n();}),t.length===0)return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 Resume session"})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"\u6CA1\u6709\u53EF\u6062\u590D\u7684\u4F1A\u8BDD\u3002"})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"\u6309\u4EFB\u610F\u952E\u5173\u95ED"})})]});let i=a(c=>c.lastActiveAt??c.startedAt,"timeOf"),s=Math.max(...t.map(c=>Up(i(c)).length)),l=Math.max(...t.map(c=>`${c.turnCount} turns`.length));return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 Resume session"}),jsx(u,{dim:true,children:" (\u2191\u2193 \u9009\u62E9, Enter \u52A0\u8F7D, Esc \u53D6\u6D88)"})]}),t.map((c,d)=>{let f=d===r,m=f?"\u276F ":" ",h=Up(i(c)).padEnd(s),g=`${c.turnCount} turns`.padEnd(l),v=c.preview?LS(c.preview,60):"(no messages)";return jsxs(x,{marginLeft:2,children:[jsx(u,{color:f?"ansi:cyan":void 0,bold:f,children:m}),jsxs(u,{dim:true,children:[h," "]}),jsxs(u,{dim:true,children:[g," "]}),jsx(u,{children:v})]},c.sessionId)})]})}a(Gp,"SessionPicker");function Up(t){let e=Date.now()-t,n=Math.floor(e/1e3);if(n<60)return `${n}s ago`;let r=Math.floor(n/60);if(r<60)return `${r}m ago`;let o=Math.floor(r/60);if(o<24)return `${o}h ago`;let i=Math.floor(o/24);return i<7?`${i}d ago`:new Date(t).toLocaleDateString()}a(Up,"relativeTime");function LS(t,e){return t.length>e?t.slice(0,e-1)+"\u2026":t}a(LS,"truncate");h();var Xs=class{static{a(this,"CommandRegistry");}commands=new Map;register(e){if(this.commands.set(e.name,e),e.aliases)for(let n of e.aliases)this.commands.set(n,e);}registerAll(e){for(let n of e)this.register(n);}get(e){return this.commands.get(e)}dispatch(e,n){let r=e.split(/\s+/),o=r[0].toLowerCase(),i=r.slice(1).join(" ").trim(),s=this.commands.get(o);if(!s){n.addStatus(`Unknown command: ${o}. Type /help for available commands.`);return}return s.execute(i,n)}helpText(){let e=new Set,n=new Map,r={core:"Core",git:"Git & Code Review",context:"Context & Memory",config:"Configuration",advanced:"Advanced"};for(let i of this.commands.values()){if(e.has(i.name))continue;e.add(i.name);let s=i.group??"core";n.has(s)||n.set(s,[]),n.get(s).push(i);}let o=["Available Commands:",""];for(let[i,s]of Object.entries(r)){let l=n.get(i);if(!(!l||l.length===0)){o.push(` ${s}:`);for(let c of l.sort((d,f)=>d.name.localeCompare(f.name))){let d=c.aliases?.length?` (${c.aliases.join(", ")})`:"";o.push(` ${c.name.padEnd(16)} ${c.description}${d}`);}o.push("");}}return o.push(" Shift+Tab to cycle permission mode \xB7 Ctrl+C to cancel/exit"),o.join(`
|
|
80
|
-
`)}listNames(){let e=new Set;for(let n of this.commands.values())e.add(n.name);return [...e].sort()}listCommands(){let e=new Set,n=[];for(let r of this.commands.values())e.has(r.name)||(e.add(r.name),n.push({name:r.name,description:r.description}));return n.sort((r,o)=>r.name.localeCompare(o.name))}};h();h();h();var
|
|
79
|
+
`).slice(0,8)}}}a(vS,"describeArgs");function wS(t,e){return t==="Bash"?`\`${String(e.command??"").trim().split(/\s+/)[0]??"Bash"}\``:t}a(wS,"scopeLabel");function TS(t){let e=homedir();return t.startsWith(e)?"~"+t.slice(e.length):t}a(TS,"shortenPath");h();var Ip="Other...",ES="Agent question",mc="ansi:yellow";function Dp({question:t,header:e,options:n,multiSelect:r,onAnswer:o,onCancel:i}){let s=!!n&&n.length>0,l=s?[...n,{label:Ip,description:"Type a custom answer"}]:[{label:Ip,description:"Type your answer"}],c=l.length-1,[d,f]=useState("pick"),[m,h]=useState(s?0:c),[g,S]=useState(new Set),[b,w]=useState(""),[v,y]=useState(0),T=m===c;function C(){if(r&&s){let P=[...g].sort((B,I)=>B-I).filter(B=>B!==c).map(B=>l[B].label),M=b.trim();return (M?[...P,`Other: ${M}`]:P).join(", ")}if(T){let P=b.trim();return P?s?`Other: ${P}`:P:s?"Other":""}return l[m].label}a(C,"buildAnswer");function A(){if(r&&s){let P=[...g].sort((_,B)=>_-B).filter(_=>_!==c).map(_=>l[_].label),M=b.trim();return M&&P.push(`Other: ${M}`),P.length>0?P:["(nothing selected)"]}if(T){let P=b.trim();return P?[s?`Other: ${P}`:P]:[s?"Other":"(empty)"]}return [l[m].label]}a(A,"reviewLines");function D(){if(r&&s){let P=[...g].some(_=>_!==c),M=b.trim().length>0;if(!P&&!M)return}else if(T&&!b.trim()&&!s)return;y(0),f("review");}return a(D,"advanceToReview"),lt((P,M)=>{if(d==="review"){if(M.escape){f("pick");return}if(M.upArrow){y(_=>_>0?_-1:1);return}if(M.downArrow){y(_=>_<1?_+1:0);return}if(P==="1"){y(0);return}if(P==="2"){y(1);return}M.return&&(v===0?o(C()):f("pick"));return}if(M.escape){i();return}if(M.upArrow){h(_=>_>0?_-1:l.length-1);return}if(M.downArrow){h(_=>_<l.length-1?_+1:0);return}if(M.return){T||D();return}if(r&&s&&P===" "&&!T){S(_=>{let B=new Set(_);return B.has(m)?B.delete(m):B.add(m),B});return}if(!T&&/^[1-9]$/.test(P)){let _=parseInt(P,10)-1;_>=0&&_<l.length&&h(_);return}}),jsx(RS,{header:e,children:d==="pick"?jsx(CS,{question:t,choices:l,cursor:m,selected:g,inputValue:b,setInputValue:w,onInputSubmit:()=>D(),multiSelect:!!r,hasOptions:s,inputIdx:c}):jsx(kS,{lines:A(),reviewCursor:v})})}a(Dp,"AskUserPrompt");function CS({question:t,choices:e,cursor:n,selected:r,inputValue:o,setInputValue:i,onInputSubmit:s,multiSelect:l,hasOptions:c,inputIdx:d}){return jsxs(Fragment,{children:[jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{children:t})}),jsx(x,{flexDirection:"column",marginTop:1,marginLeft:1,children:e.map((f,m)=>{let h=m===n,g=r.has(m),S=m===d,b=`${m+1}.`,w=h?"ansi:cyan":void 0,v=h?"ansi:cyan":void 0,y=l&&c&&!S?g?"\u25C9":"\u25EF":null;return jsxs(x,{flexDirection:"column",marginTop:m===0?0:1,children:[jsxs(x,{children:[jsx(u,{color:w,children:`${h?"\u276F":" "} `}),y&&jsx(u,{color:w,children:`${y} `}),jsx(u,{color:w,bold:h,children:`${b} `}),S?h?jsx(wr,{value:o,onChange:i,onSubmit:s,placeholder:c?"Type a custom answer here":"Type your answer"}):jsx(u,{dim:true,children:f.label}):jsx(u,{color:v,bold:h,children:f.label})]}),f.description&&(!S||!h)&&jsx(x,{marginLeft:y?7:5,children:jsx(u,{dim:true,children:f.description})})]},m)})}),jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{dim:true,children:l&&c?"\u2191\u2193 move \xB7 1-9 jump \xB7 Space toggle \xB7 Enter continue \xB7 Esc cancel":"\u2191\u2193 move \xB7 1-9 jump \xB7 Enter continue \xB7 Esc cancel"})})]})}a(CS,"PickPhase");function kS({lines:t,reviewCursor:e}){let n=[{label:"Submit answers",description:"Send your answer to the agent"},{label:"Cancel",description:"Go back and change your selection"}];return jsxs(Fragment,{children:[jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{bold:true,children:"Review your answers"})}),jsx(x,{flexDirection:"column",marginTop:1,marginLeft:3,children:t.map((r,o)=>jsxs(x,{children:[jsx(u,{color:"ansi:green",children:"\u25CF "}),jsx(u,{children:r})]},o))}),jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{children:"Ready to submit your answers?"})}),jsx(x,{flexDirection:"column",marginTop:1,marginLeft:1,children:n.map((r,o)=>{let i=o===e,s=i?"ansi:cyan":void 0;return jsxs(x,{flexDirection:"column",marginTop:o===0?0:1,children:[jsxs(x,{children:[jsx(u,{color:s,children:`${i?"\u276F":" "} `}),jsx(u,{color:s,bold:i,children:`${o+1}. ${r.label}`})]}),jsx(x,{marginLeft:5,children:jsx(u,{dim:true,children:r.description})})]},o)})}),jsx(x,{marginTop:1,marginLeft:1,children:jsx(u,{dim:true,children:"\u2191\u2193 move \xB7 1-2 jump \xB7 Enter select \xB7 Esc back"})})]})}a(kS,"ReviewPhase");function RS({header:t,children:e}){return jsxs(x,{flexDirection:"column",borderStyle:"round",borderColor:mc,paddingX:1,marginLeft:1,marginY:0,children:[jsxs(x,{children:[jsx(u,{color:mc,bold:true,children:"? "}),jsx(u,{color:mc,bold:true,children:t??ES})]}),e]})}a(RS,"Frame");h();h();function MS(t,e,n=""){let r=t.lastIndexOf("/"),o=r>=0?t.slice(r+1):t,i=n.toLowerCase(),s=i&&!o.toLowerCase().startsWith(`${i}-`)?`${i}-${o}`:o,l=new Set(e);if(!l.has(s))return s;for(let c=2;;c++){let d=`${s}-${c}`;if(!l.has(d))return d}}a(MS,"deriveModelAlias");function Bp(t,e){let n=t;(/^https?:\/\//.test(t)||t.includes("."))&&(n=(t.replace(/^https?:\/\//,"").split("/")[0]??"custom").replace(/[^a-z0-9]+/gi,"-").toLowerCase().replace(/^-+|-+$/g,""));let r=new Set(e);if(!r.has(n))return n;for(let o=2;;o++){let i=`${n}-${o}`;if(!r.has(i))return i}}a(Bp,"deriveProviderKey");function Fp(t,e){return t?/\s/.test(t)?"Alias must not contain whitespace":e.includes(t)?"Alias already used":null:"Alias cannot be empty"}a(Fp,"validateAlias");var AS=["openrouter","anthropic","openai","deepseek","zai","xai","google","mistral","groq","ollama","custom"],$p={openrouter:"OpenRouter (\u63A8\u8350 \u2014 \u652F\u6301\u6240\u6709\u6A21\u578B)",anthropic:"Anthropic (\u76F4\u8FDE Claude API)",openai:"OpenAI",deepseek:"DeepSeek (\u5B98\u65B9\u76F4\u8FDE)",zai:"Z.AI (GLM \u5B98\u65B9)",xai:"xAI (Grok)",google:"Google Gemini",mistral:"Mistral",groq:"Groq",ollama:"Ollama (\u672C\u5730,\u65E0\u9700 key)",custom:"\u81EA\u5B9A\u4E49 (OpenAI-\u517C\u5BB9)"},NS={openrouter:"https://openrouter.ai/keys",anthropic:"https://console.anthropic.com/settings/keys",openai:"https://platform.openai.com/api-keys",deepseek:"https://platform.deepseek.com/api_keys",zai:"https://z.ai/manage-apikey/apikey-list",xai:"https://console.x.ai",google:"https://aistudio.google.com/apikey",mistral:"https://console.mistral.ai/api-keys",groq:"https://console.groq.com/keys"};function PS(t){return t.length<=8?"\u2022\u2022\u2022\u2022":`${t.slice(0,4)}\u2022\u2022\u2022\u2022${t.slice(-4)}`}a(PS,"maskKey");function zs({existingProviders:t,existingModelKeys:e,existingModelIds:n=[],detectedEnvKeys:r=[],switchToNewModelOnFinish:o,onFinish:i,onCancel:s}){let l=new Set(n),c=AS.map(H=>({type:"kind",label:$p[H]??a$3[H]?.label??H,kind:H})),d=t.map(H=>H.key),[f,m]=useState("kind"),[h,g]=useState(0),[S,b]=useState(),[w,v]=useState("openai"),[y,T]=useState(""),[C,A]=useState(""),[D,P]=useState(0),[M,_]=useState(false),[B,I]=useState(),[L,K]=useState(false),[z,Te]=useState(0),[_e,gt]=useState(new Set),[rt,q]=useState([]),[pe,$]=useState(false),[ue,fe]=useState(""),[Ne,We]=useState([]),[qe,ct]=useState(0),[be,De]=useState(0),[ke,Wt]=useState(false),Ve=a(H=>r.find(F=>F.kindHint===H),"envHintForKind"),Ee=a(H=>t.filter(F=>F.kind===H),"matchingExistingProviders"),ut=a(H=>{let F=Ee(H).map(j=>({type:"existing",provider:j})),U=Ve(H);return U&&F.push({type:"env",hint:U}),F.push({type:"paste"}),F},"keyChoicesFor");useEffect(()=>{f==="fetch"&&(B||L||Dt(true));},[f]);async function Dt(H){K(true);let F=S?{key:S.key,kind:S.kind,baseUrl:S.baseUrl,apiKey:S.apiKey,...S.modelsPath?{modelsPath:S.modelsPath}:{}}:{key:Bp(w==="custom"?C:w,d),kind:w,baseUrl:C,apiKey:y},U=await b$4(F,{cacheDir:d$3(),refresh:H});I(U),K(false);}a(Dt,"runFetch");function Ht(H){let F=[],U=[...e],j=S?.kind??(w==="custom"?"":w);for(let ge of H){let oe=MS(ge.id,U,j);F.push(oe),U.push(oe);}We(F),ct(0),De(0),Wt(false),m("alias");}a(Ht,"enterAliasStep");function cn(){if(!B)return [];let H=new Map(B.models.map(F=>[F.id,F]));return rt.map(F=>H.get(F)).filter(F=>F!==void 0)}a(cn,"getPickedModels");function qt(H){let F=Ne.filter((U,j)=>j!==H);return [...e,...F]}a(qt,"aliasUsedSet");function ht(){return Ne.every((H,F)=>Fp(H,qt(F))===null)}a(ht,"allAliasesValid");function ot(){let H=cn();if(H.length===0||!ht())return;let F=S?void 0:{key:Bp(w==="custom"?C:w,d),kind:w,baseUrl:C,apiKey:w==="ollama"?void 0:y,label:a$3[w].label},U=S?.key??F.key,j=S?.baseUrl??F.baseUrl,ge=S?.apiKey??F.apiKey,Q=(S?.kind??w)==="anthropic"?"anthropic":"openai",ze=H.map((Le,Pt)=>({key:Ne[Pt],label:Le.id,providerKey:U,protocol:Q,provider:Q,model:Le.id,baseUrl:j,apiKey:ge,maxContextTokens:Le.contextLength&&Le.contextLength>0?Le.contextLength:void 0,maxOutputTokens:Le.maxOutputTokens&&Le.maxOutputTokens>0?Le.maxOutputTokens:void 0}));i({addedProvider:F,addedModels:ze,activeModelKey:o?Ne[be]:void 0});}return a(ot,"commitFinish"),lt((H,F)=>{if(F.escape){if(f==="kind"){s();return}if(f==="key"){M?(_(false),T("")):m("kind");return}if(f==="baseUrl"){m("key");return}if(f==="fetch"){if(pe){$(false),fe("");return}S||w==="ollama"?(b(void 0),m("kind")):(_(false),m("key"));return}if(f==="alias"){m("fetch");return}return}if(f==="kind"){if(F.upArrow)g(U=>Math.max(0,U-1));else if(F.downArrow)g(U=>Math.min(c.length-1,U+1));else if(F.return){let U=c[h];if(!U)return;let j=U.kind;if(v(j),A(a$3[j].defaultBaseUrl),P(0),j==="ollama"){T(""),b(void 0),m("fetch");return}let ge=ut(j),oe=ge.length===1&&ge[0]?.type==="paste";_(oe),m("key");}return}if(f==="key"){if(!M){let U=ut(w);if(U.length===0)return;if(F.upArrow)P(j=>Math.max(0,j-1));else if(F.downArrow)P(j=>Math.min(U.length-1,j+1));else if(F.return){let j=U[D];if(!j)return;j.type==="existing"?(b(j.provider),m("fetch")):j.type==="env"?(T(j.hint.apiKey),m(w==="custom"?"baseUrl":"fetch")):_(true);}}return}if(f!=="baseUrl"){if(f==="fetch"){if(pe){if(F.backspace||F.delete)fe(U=>U.slice(0,-1));else if(F.return&&ue){let U={id:ue,contextLength:0,maxOutputTokens:0};I(oe=>({fetchedAt:oe?.fetchedAt??new Date().toISOString(),providerKey:oe?.providerKey??"",models:[...oe?.models??[],U],...oe?.error?{error:oe.error}:{},...oe?.fromCache?{fromCache:oe.fromCache}:{}}));let j=new Set(_e);j.add(ue),gt(j);let ge=[...rt,ue];q(ge),Ht([...cn(),U]);}else H&&!F.ctrl&&fe(U=>U+H);return}if(H==="r"){I(void 0),Dt(true);return}if(H==="m"){$(true);return}if(!B||L||B.models.length===0)return;if(F.upArrow)Te(U=>Math.max(0,U-1));else if(F.downArrow)Te(U=>Math.min(B.models.length-1,U+1));else if(H===" "){let U=B.models[z];if(!U||l.has(U.id))return;let j=new Set(_e);j.has(U.id)?(j.delete(U.id),q(ge=>ge.filter(oe=>oe!==U.id))):(j.add(U.id),q(ge=>[...ge,U.id])),gt(j);}else F.return&&_e.size>0&&Ht(cn());return}if(f==="alias"){let U=Ne.length,j=o&&U>0,ge=U+(j?1:0);if(F.tab){let oe=(qe+1)%ge;ct(oe),Wt(j&&oe===U);return}if(F.downArrow){if(ke&&j)De(oe=>Math.min(U-1,oe+1));else {let oe=Math.min(ge-1,qe+1);ct(oe),Wt(j&&oe===U);}return}if(F.upArrow){if(ke&&j)De(oe=>Math.max(0,oe-1));else {let oe=Math.max(0,qe-1);ct(oe),Wt(j&&oe===U);}return}if(ke){F.return&&ht()&&ot();return}F.backspace||F.delete?We(oe=>{let Q=[...oe];return Q[qe]=(Q[qe]??"").slice(0,-1),Q}):F.return?ht()&&ot():H&&!F.ctrl&&We(oe=>{let Q=[...oe];return Q[qe]=(Q[qe]??"")+H,Q});return}}}),jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:S?"\u2726 \u6DFB\u52A0\u6A21\u578B":"\u2726 \u6DFB\u52A0 provider + \u6A21\u578B"}),jsx(u,{dim:true,children:" (Esc \u53D6\u6D88)"})]}),f==="kind"&&jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{dim:true,children:"\u9009\u62E9 API \u63D0\u4F9B\u5546:"}),c.map((H,F)=>jsx(x,{children:jsxs(u,{color:F===h?"ansi:cyan":void 0,bold:F===h,children:[F===h?"\u276F ":" ",H.label]})},H.kind))]}),f==="key"&&(()=>{let H=$p[w]??a$3[w].label,F=NS[w],U=ut(w);return jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{dim:true,children:H}),F&&jsxs(u,{dim:true,children:["\u83B7\u53D6 Key: ",F]}),!M?jsx(x,{flexDirection:"column",marginTop:1,children:U.map((ge,oe)=>{let Q=oe===D,ze=Q?"\u276F ":" ";return ge.type==="existing"?jsxs(x,{children:[jsxs(u,{color:Q?"ansi:cyan":void 0,bold:Q,children:[ze,"\u4F7F\u7528\u5DF2\u6709: ",ge.provider.label??ge.provider.key]}),jsx(u,{dim:true,children:` (${ge.provider.kind})`})]},`existing-${ge.provider.key}`):ge.type==="env"?jsxs(x,{children:[jsxs(u,{color:Q?"ansi:cyan":void 0,bold:Q,children:[ze,"\u4F7F\u7528\u73AF\u5883\u53D8\u91CF $",ge.hint.envKey]}),jsx(u,{dim:true,children:` (${PS(ge.hint.apiKey)})`})]},`env-${ge.hint.envKey}`):jsx(x,{children:jsxs(u,{color:Q?"ansi:cyan":void 0,bold:Q,children:[ze,"\u7C98\u8D34\u65B0 key"]})},"paste")})}):jsxs(x,{marginTop:1,children:[jsx(u,{color:"ansi:cyan",children:"API Key: "}),jsx(wr,{value:y,onChange:T,onSubmit:()=>{m(w==="custom"?"baseUrl":"fetch");},placeholder:"\u7C98\u8D34\u4F60\u7684 API Key, Enter \u786E\u8BA4",focus:true})]})]})})(),f==="baseUrl"&&jsx(x,{flexDirection:"column",marginTop:1,children:jsxs(x,{children:[jsx(u,{color:"ansi:cyan",children:"Base URL: "}),jsx(wr,{value:C,onChange:A,onSubmit:()=>m("fetch"),placeholder:"\u542B /v1, Enter \u786E\u8BA4",focus:true})]})}),f==="fetch"&&jsxs(x,{flexDirection:"column",marginTop:1,children:[L&&jsx(u,{dim:true,children:"Loading\u2026"}),!L&&B?.error&&B.models.length===0&&jsxs(x,{flexDirection:"column",children:[jsxs(u,{color:"red",children:["Error: ",B.error]}),jsx(u,{dim:true,children:"Press r to retry \xB7 m for manual id \xB7 Esc to cancel"})]}),!L&&B&&B.models.length>0&&!pe&&jsxs(x,{flexDirection:"column",children:[jsxs(u,{dim:true,children:["Pick models (Space to toggle, Enter when done) \u2014 ",_e.size," selected",n.length>0?` \xB7 ${n.length} \u5DF2\u6DFB\u52A0 (\u7070\u8272\u4E0D\u53EF\u9009)`:""]}),B.fromCache&&jsxs(u,{dim:true,children:["Cached at ",new Date(B.fetchedAt).toLocaleString()," \xB7 press r to refresh"]}),B.models.slice(Math.max(0,z-8),z+9).map((H,F)=>{let U=Math.max(0,z-8)+F,j=_e.has(H.id);return l.has(H.id)?jsx(x,{children:jsxs(u,{dim:true,children:[U===z?"\u203A ":" ","[\u2713] ",H.id,H.contextLength?` (${H.contextLength.toLocaleString()} ctx)`:""," (\u5DF2\u6DFB\u52A0)"]})},H.id):jsxs(u,{color:U===z?"ansi:cyan":void 0,children:[U===z?"\u203A ":" ","[",j?"x":" ","] ",H.id,H.contextLength?jsxs(u,{dim:true,children:[" (",H.contextLength.toLocaleString()," ctx)"]}):null]},H.id)})]}),pe&&jsxs(x,{flexDirection:"column",children:[jsx(u,{children:"Manual model id:"}),jsx(u,{color:"ansi:cyan",children:ue}),jsx(u,{dim:true,children:"Enter when done."})]})]}),f==="alias"&&jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{children:"Local alias for each model:"}),cn().map((H,F)=>{let U=Fp(Ne[F]??"",qt(F)),j=!ke&&F===qe;return jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{dim:true,children:H.id}),jsxs(u,{color:j?"cyan":void 0,children:[j?"\u203A ":" ",Ne[F]??""]}),j&&U&&jsx(u,{color:"red",children:U}),!j&&U&&jsx(u,{color:"red",dim:true,children:U})]},H.id)}),o&&Ne.length>0&&jsxs(x,{flexDirection:"column",marginTop:1,children:[jsx(u,{children:"Which becomes active? \u2191\u2193"}),Ne.map((H,F)=>jsxs(u,{color:ke&&F===be?"cyan":void 0,children:[ke&&F===be?"\u203A ":" ",F===be?"(\u2022) ":"( ) ",H]},`active-${F}`))]}),jsx(u,{dim:true,children:"Tab/\u2193 to next field \xB7 Enter to finish"})]})]})}a(zs,"ProviderModelFlow");function Qs({onComplete:t,onCancel:e,existingProviders:n=[],existingModelKeys:r=[],existingModelIds:o=[]}){let[i,s]=useState("flow"),[l,c]=useState(null),[d,f]=useState(new Set),[m,h]=useState(0);lt((b,w)=>{if(i!=="arena"||!l)return;let v=l.addedModels.map(y=>y.key);if(w.escape){g(l,new Set);return}if(b==="s"||b==="S"){g(l,new Set);return}if(w.upArrow)h(y=>Math.max(0,y-1));else if(w.downArrow)h(y=>Math.min(v.length-1,y+1));else if(b===" "){let y=v[m];if(!y)return;f(T=>{let C=new Set(T);return C.has(y)?C.delete(y):C.add(y),C});}else w.return&&g(l,d);});function g(b,w){if(b.addedModels.length===0){e();return}let v=b.addedModels.find(T=>T.key===b.activeModelKey)??b.addedModels[0],y={key:v.key,provider:v.provider,model:v.model,apiKey:v.apiKey??"",baseUrl:v.baseUrl};O({activeKey:v.key,activeMirror:{provider:y.provider,model:y.model,apiKey:y.apiKey,baseUrl:y.baseUrl},addedProvider:b.addedProvider?{key:b.addedProvider.key,label:b.addedProvider.label,kind:b.addedProvider.kind,baseUrl:b.addedProvider.baseUrl,apiKey:b.addedProvider.apiKey,protocol:b.addedProvider.protocol,modelsPath:b.addedProvider.modelsPath}:void 0,addedModels:b.addedModels}),w.size>=2&&P([...w]),t(y);}a(g,"finish");function S(b){if(c(b),b.addedModels.length===0){e();return}if(b.addedModels.length===1){g(b,new Set);return}s("arena");}if(a(S,"handleFlowFinish"),i==="flow")return jsx(zs,{existingProviders:n,existingModelKeys:r,existingModelIds:o,detectedEnvKeys:K().map(b=>({envKey:b.envKey,apiKey:b.apiKey,kindHint:b.provider.id??"openai"})),switchToNewModelOnFinish:true,onFinish:S,onCancel:e});if(i==="arena"&&l){let b=l.addedModels;return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 Arena participants"})}),jsx(x,{marginTop:1,marginLeft:2,children:jsx(u,{dim:true,children:"Space toggles \xB7 Enter finishes \xB7 s skips \xB7 Esc cancels."})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"Pick at least 2 to enable /arena, or skip."})}),b.map((w,v)=>{let y=v===m,T=d.has(w.key);return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:y?"ansi:cyan":void 0,bold:y,children:[y?"\u276F ":" ",`[${T?"x":" "}] ${w.key}`]}),jsxs(u,{dim:true,children:[" ",w.model]})]},w.key)})]})}return null}a(Qs,"OnboardingPrompt");h();function Wp(t){return !t||t<=0?"?":t>=1e6?`${(t/1e6).toFixed(0)}M`:t>=1e3?`${(t/1e3).toFixed(0)}K`:`${t}`}a(Wp,"fmtTokens");function IS(t,e){let n=[],r=`${t} ${e}`.toLowerCase();return /coder|code|devstral/i.test(r)&&n.push("coding"),/reason|think|r1|o3|o4|pro/i.test(r)&&n.push("reasoning"),/flash|mini|haiku|fast|small|nano/i.test(r)&&n.push("fast"),/cheap|free/i.test(r)&&n.push("cheap"),/large|max|ultra|opus|big/i.test(r)&&n.push("powerful"),n}a(IS,"modelTags");function Hp({entries:t,onSelect:e,onCancel:n}){let r=Math.max(0,t.findIndex(c=>c.active)),[o,i]=useState(r);if(lt((c,d)=>{if(t.length===0){(d.escape||d.return)&&n();return}d.upArrow?i(f=>f>0?f-1:t.length-1):d.downArrow?i(f=>f<t.length-1?f+1:0):d.return?e(t[o].key):d.escape&&n();}),t.length===0)return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 \u5207\u6362\u6A21\u578B"})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:'\u672A\u914D\u7F6E\u6A21\u578B\u6C60\u3002\u8BF7\u7528 /login \u91CD\u65B0\u914D\u7F6E\u6216\u7F16\u8F91 settings.json \u7684 "models" \u5B57\u6BB5\u3002'})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"\u6309\u4EFB\u610F\u952E\u5173\u95ED"})})]});let s=Math.min(Math.max(...t.map(c=>c.key.length)),20),l=Math.min(Math.max(...t.map(c=>Wp(c.maxContextTokens).length)),8);return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 \u5207\u6362\u6A21\u578B"}),jsx(u,{dim:true,children:" (\u2191\u2193 \u9009\u62E9, Enter \u786E\u8BA4, Esc \u53D6\u6D88)"})]}),jsx(x,{marginLeft:2,marginBottom:0,children:jsxs(u,{dim:true,children:[" ".padEnd(s+2),"\u6A21\u578B\u8DEF\u5F84"," ".repeat(28),"\u4E0A\u4E0B\u6587"," ","\u6807\u7B7E"]})}),t.map((c,d)=>{let f=d===o,m=f?"\u276F ":" ",h=c.active?" \u2190 active":"",g=IS(c.key,c.model),S=g.length>0?g.join(", "):"";return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:f?"ansi:cyan":void 0,bold:f,children:[m,c.key.padEnd(s)]}),jsxs(u,{children:[" ",c.model.padEnd(32)]}),jsx(u,{dim:true,children:Wp(c.maxContextTokens).padStart(l)}),jsx(u,{children:" "}),jsx(u,{color:"ansi:green",children:S}),jsx(u,{dim:true,children:h})]},c.key)})]})}a(Hp,"ModelSelector");h();function Gp({entries:t,snapshot:e,arenaParticipants:n,providers:r,onSwitch:o,onSync:i,onSaveArena:s,onOpenFlow:l,onRefreshProvider:c,onDeleteProvider:d,onDeleteModel:f,onClose:m}){let h=r??[],[g,S]=useState("models"),[b,w]=useState(()=>Math.max(0,t.findIndex(q=>q.active))),[v,y]=useState(0),[T,C]=useState({kind:"idle"}),[A,D]=useState(n),[P,M]=useState(0),[_,B]=useState(null),[I,L]=useState(false),[K,z]=useState(false);lt(async(q,pe)=>{if(T.kind==="busy")return;let $=q&&q.length===1&&/[A-Za-z]/.test(q)?q.toLowerCase():q;if(K&&!pe.escape&&$!=="q"&&z(false),pe.tab){S(ue=>ue==="models"?"providers":ue==="providers"?"arena":"models"),C({kind:"idle"});return}if(pe.escape||$==="q"){if(I&&!K){C({kind:"error",text:"\u672A\u4FDD\u5B58\u6539\u52A8 \u2014 \u6309 [w] \u4FDD\u5B58\u6216\u518D\u6B21\u6309 Esc \u653E\u5F03"}),z(true);return}m();return}if(g==="models"){await Te($,pe);return}if(g==="providers"){await _e($,pe);return}await gt($,pe);});async function Te(q,pe){if(q==="a"){l&&l();return}if(t.length===0){q==="s"&&await rt();return}if(pe.upArrow){w($=>$>0?$-1:t.length-1);return}if(pe.downArrow){w($=>$<t.length-1?$+1:0);return}if(pe.return){let $=t[b];if(!$)return;C({kind:"busy",text:`\u5207\u6362\u5230 ${$.key}\u2026`});try{await o($.key),m();}catch(ue){C({kind:"error",text:`\u5207\u6362\u5931\u8D25: ${ue.message}`});}return}if(q==="x"){if(!f)return;let $=t[b];if(!$)return;C({kind:"busy",text:`\u5220\u9664 ${$.key}\u2026`});try{await f($.key),C({kind:"info",text:`\u2713 \u5DF2\u5220\u9664 ${$.key}`});}catch(ue){C({kind:"error",text:`\u5220\u9664\u5931\u8D25: ${ue.message}`});}return}if(q==="s"){await rt();return}}a(Te,"handleModelsInput");async function _e(q,pe){if(q==="a"){l&&l();return}if(h.length!==0){if(pe.upArrow){y($=>$>0?$-1:h.length-1);return}if(pe.downArrow){y($=>$<h.length-1?$+1:0);return}if(q==="r"){if(!c)return;let $=h[v];if(!$)return;C({kind:"busy",text:`\u5237\u65B0 ${$.key} \u6A21\u578B\u6E05\u5355\u2026`});try{let ue=await c($.key);ue.error?C({kind:"error",text:`\u5237\u65B0\u5931\u8D25: ${ue.error}`}):C({kind:"info",text:`\u2713 \u5DF2\u7F13\u5B58 ${ue.count} \u4E2A\u6A21\u578B`});}catch(ue){C({kind:"error",text:`\u5237\u65B0\u5931\u8D25: ${ue.message}`});}return}if(q==="d"){if(!d)return;let $=h[v];if(!$)return;if($.modelCount>0){C({kind:"error",text:`\u65E0\u6CD5\u5220\u9664: \u4ECD\u6709 ${$.modelCount} \u4E2A\u6A21\u578B\u5F15\u7528 ${$.key}`});return}C({kind:"busy",text:`\u5220\u9664 ${$.key}\u2026`});try{let ue=await d($.key);ue.ok?C({kind:"info",text:`\u2713 \u5DF2\u5220\u9664 ${$.key}`}):C({kind:"error",text:`\u5220\u9664\u5931\u8D25: ${ue.error??"\u672A\u77E5\u9519\u8BEF"}`});}catch(ue){C({kind:"error",text:`\u5220\u9664\u5931\u8D25: ${ue.message}`});}return}}}a(_e,"handleProvidersInput");async function gt(q,pe){if(_){if(pe.upArrow){B({idx:_.idx>0?_.idx-1:t.length-1});return}if(pe.downArrow){B({idx:_.idx<t.length-1?_.idx+1:0});return}if(pe.return){let $=t[_.idx];$&&(D(ue=>[...ue,{kind:"key",value:$.key}]),L(true),C({kind:"info",text:`\u5DF2\u52A0\u5165: ${$.key} (\u672A\u4FDD\u5B58)`})),B(null);return}B(null);return}if(pe.upArrow){M($=>Math.max(0,$-1));return}if(pe.downArrow){M($=>A.length===0?0:Math.min(A.length-1,$+1));return}if(q==="a"){if(t.length===0){C({kind:"error",text:"\u6A21\u578B\u6C60\u4E3A\u7A7A \u2014 \u5148\u5728 Models tab \u540C\u6B65\u5FEB\u7167"});return}B({idx:0}),C({kind:"info",text:"\u9009\u4E00\u4E2A\u6A21\u578B\u52A0\u5165 (Enter \u786E\u8BA4, \u4EFB\u610F\u952E\u53D6\u6D88)"});return}if(q==="d"){if(A.length===0)return;let $=A[P];D(fe=>fe.filter((Ne,We)=>We!==P)),M(fe=>Math.max(0,Math.min(A.length-2,fe))),L(true);let ue=$?.kind==="key"?$.value:$?.label??"";C({kind:"info",text:`\u5DF2\u79FB\u9664: ${ue} (\u672A\u4FDD\u5B58)`});return}if(q==="w"){let $=A.filter(fe=>fe.kind==="object");if($.length>0){C({kind:"error",text:`\u5B58\u5728 ${$.length} \u4E2A\u5BF9\u8C61\u5F62\u5F0F\u6761\u76EE\uFF0C\u8BF7\u76F4\u63A5\u7F16\u8F91 settings.json \u540E\u91CD\u542F`});return}let ue=A.map(fe=>fe.value);C({kind:"busy",text:"\u4FDD\u5B58\u4E2D\u2026"});try{await s(ue),C({kind:"info",text:`\u2713 \u5DF2\u4FDD\u5B58 (${ue.length} \u4E2A participant)`}),L(!1);}catch(fe){C({kind:"error",text:`\u4FDD\u5B58\u5931\u8D25: ${fe.message}`});}return}}a(gt,"handleArenaInput");async function rt(){C({kind:"busy",text:"\u6B63\u5728\u62C9\u53D6 OpenRouter \u6A21\u578B\u6E05\u5355\u2026"});try{let q=await i();q.ok?C({kind:"info",text:`\u2713 \u5DF2\u540C\u6B65 ${q.count} \u4E2A\u6A21\u578B (\u672C\u8FDB\u7A0B\u5185\u751F\u6548)`}):C({kind:"error",text:`\u540C\u6B65\u5931\u8D25: ${q.error??"\u672A\u77E5\u9519\u8BEF"}`});}catch(q){C({kind:"error",text:`\u540C\u6B65\u5931\u8D25: ${q.message}`});}}return a(rt,"runSync"),jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 \u6A21\u578B\u7BA1\u7406"}),jsx(u,{dim:true,children:" (Tab \u5207\u6362\u9762\u677F, q/Esc \u5173\u95ED)"})]}),jsxs(x,{marginLeft:2,marginTop:1,children:[jsx(u,{color:g==="models"?"ansi:cyan":void 0,bold:g==="models",children:g==="models"?"\u25CF Models":"\u25CB Models"}),jsx(u,{children:" "}),jsx(u,{color:g==="providers"?"ansi:cyan":void 0,bold:g==="providers",children:g==="providers"?"\u25CF Providers":"\u25CB Providers"}),jsx(u,{children:" "}),jsx(u,{color:g==="arena"?"ansi:cyan":void 0,bold:g==="arena",children:g==="arena"?"\u25CF Arena":"\u25CB Arena"})]}),g==="models"?jsx(LS,{entries:t,cursor:b,snapshot:e}):g==="providers"?jsx(BS,{providers:h,cursor:v}):jsx(FS,{arena:A,cursor:P,picker:_,poolEntries:t,dirty:I}),T.kind!=="idle"&&jsx(x,{marginLeft:2,marginTop:1,children:jsx(u,{color:T.kind==="error"?"ansi:red":T.kind==="busy"?"ansi:yellow":"ansi:green",children:T.text})})]})}a(Gp,"ModelManager");function Up(t){return !t||t<=0?"?":t>=1e6?`${(t/1e6).toFixed(0)}M`:t>=1e3?`${(t/1e3).toFixed(0)}K`:`${t}`}a(Up,"fmtTokens");function DS(t,e){let n=[],r=`${t} ${e}`.toLowerCase();return /coder|code|devstral/i.test(r)&&n.push("coding"),/reason|think|r1|o3|o4|pro/i.test(r)&&n.push("reasoning"),/flash|mini|haiku|fast|small|nano/i.test(r)&&n.push("fast"),/cheap|free/i.test(r)&&n.push("cheap"),/large|max|ultra|opus|big/i.test(r)&&n.push("powerful"),n}a(DS,"modelTags");function LS({entries:t,cursor:e,snapshot:n}){let r=t.length?Math.min(Math.max(...t.map(i=>i.key.length)),16):0,o=t.length?Math.min(Math.max(...t.map(i=>Up(i.maxContextTokens).length)),8):0;return jsxs(Fragment,{children:[jsxs(x,{marginLeft:2,marginTop:1,children:[jsx(u,{dim:true,children:"\u5FEB\u7167: "}),jsx(u,{children:`${n.count} \u4E2A\u6A21\u578B`}),jsx(u,{dim:true,children:n.fetchedAt?` \xB7 ${Kp(n.fetchedAt)}`:" \xB7 \u672A\u62C9\u53D6"})]}),jsx(x,{marginLeft:2,marginTop:1,children:jsx(u,{bold:true,children:`\u6A21\u578B\u6C60 (${t.length}):`})}),t.length===0?jsx(x,{marginLeft:4,children:jsx(u,{dim:true,children:"\u672A\u914D\u7F6E\u6A21\u578B\u6C60\u3002\u6309 [s] \u62C9\u53D6\u6700\u65B0\u6E05\u5355\uFF0C\u518D\u7528 /login \u9009\u62E9\u3002"})}):jsxs(Fragment,{children:[jsx(x,{marginLeft:2,children:jsxs(u,{dim:true,children:[" ".padEnd(r+2),"\u6A21\u578B\u8DEF\u5F84"," ".repeat(28),"\u4E0A\u4E0B\u6587"," ","\u6807\u7B7E"]})}),t.map((i,s)=>{let l=s===e,c=l?"\u276F ":" ",d=i.active?" \u2190 active":"",f=DS(i.key,i.model),m=f.length>0?f.join(", "):"";return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[c,i.key.padEnd(r)]}),jsxs(u,{children:[" ",i.model.padEnd(32)]}),jsx(u,{dim:true,children:Up(i.maxContextTokens).padStart(o)}),jsx(u,{children:" "}),jsx(u,{color:"ansi:green",children:m}),jsx(u,{color:"ansi:green",children:d})]},i.key)})]}),jsx(x,{marginLeft:2,marginTop:1,children:jsxs(u,{dim:true,children:["\u64CD\u4F5C: ",jsx(u,{color:"ansi:cyan",children:"[Enter]"})," \u5207\u6362 ",jsx(u,{color:"ansi:cyan",children:"[a]"})," \u6DFB\u52A0 provider+\u6A21\u578B ",jsx(u,{color:"ansi:cyan",children:"[x]"})," \u5220\u9664 ",jsx(u,{color:"ansi:cyan",children:"[s]"})," \u540C\u6B65\u5FEB\u7167"]})})]})}a(LS,"ModelsPane");function BS({providers:t,cursor:e}){return jsxs(Fragment,{children:[jsx(x,{marginLeft:2,marginTop:1,children:jsx(u,{bold:true,children:`Providers (${t.length})`})}),t.length===0?jsx(x,{marginLeft:4,children:jsx(u,{dim:true,children:"\u5C1A\u672A\u914D\u7F6E\u4EFB\u4F55 provider\u3002\u6309 [a] \u6DFB\u52A0\u3002"})}):t.map((n,r)=>{let o=r===e,i=o?"\u276F ":" ",s=n.cachedModels!==void 0?`${n.cachedModels} \u7F13\u5B58${n.cachedAt?` \xB7 ${Kp(n.cachedAt)}`:""}`:"\u672A\u62C9\u53D6";return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:o?"ansi:cyan":void 0,bold:o,children:[i,n.label||n.key]}),jsx(u,{dim:true,children:` (${n.kind}) `}),jsx(u,{children:`${n.modelCount} \u6A21\u578B `}),jsx(u,{dim:true,children:s})]},n.key)}),jsx(x,{marginLeft:2,marginTop:1,children:jsxs(u,{dim:true,children:["\u64CD\u4F5C: ",jsx(u,{color:"ansi:cyan",children:"[a]"})," \u6DFB\u52A0 provider+\u6A21\u578B ",jsx(u,{color:"ansi:cyan",children:"[r]"})," \u5237\u65B0 ",jsx(u,{color:"ansi:cyan",children:"[d]"})," \u5220\u9664"]})})]})}a(BS,"ProvidersPane");function FS({arena:t,cursor:e,picker:n,poolEntries:r,dirty:o}){return jsxs(Fragment,{children:[jsxs(x,{marginLeft:2,marginTop:1,children:[jsx(u,{bold:true,children:`Arena \u53C2\u4E0E\u8005 (${t.length})`}),o&&jsx(u,{color:"ansi:yellow",children:" \u2022 \u672A\u4FDD\u5B58"})]}),t.length===0?jsx(x,{marginLeft:4,children:jsx(u,{dim:true,children:"\u672A\u914D\u7F6E \u2014 Arena \u5C06\u56DE\u9000\u5230\u9ED8\u8BA4\u53C2\u4E0E\u8005\u3002\u6309 [a] \u6DFB\u52A0\u3002"})}):t.map((i,s)=>{let l=s===e,c=l?"\u276F ":" ";if(i.kind==="key"){let d=r.find(f=>f.key===i.value);return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[c,i.value]}),d&&jsxs(u,{dim:true,children:[" ",d.model]}),!d&&jsx(u,{color:"ansi:yellow",children:" (\u4E0D\u5728\u5F53\u524D\u6A21\u578B\u6C60)"})]},`k-${s}`)}return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[c,i.label]}),jsx(u,{dim:true,children:" (\u5BF9\u8C61\u5F62\u5F0F \xB7 \u53EA\u8BFB)"})]},`o-${s}`)}),n&&jsxs(x,{flexDirection:"column",marginLeft:2,marginTop:1,children:[jsx(u,{bold:true,children:"\u4ECE\u6A21\u578B\u6C60\u9009\u62E9:"}),r.map((i,s)=>{let l=s===n.idx;return jsxs(x,{marginLeft:2,children:[jsxs(u,{color:l?"ansi:cyan":void 0,bold:l,children:[l?"\u276F ":" ",i.key]}),jsxs(u,{dim:true,children:[" ",i.model]})]},i.key)})]}),jsx(x,{marginLeft:2,marginTop:1,children:jsxs(u,{dim:true,children:["\u64CD\u4F5C: ",jsx(u,{color:"ansi:cyan",children:"[a]"})," \u6DFB\u52A0 ",jsx(u,{color:"ansi:cyan",children:"[d]"})," \u5220\u9664 ",jsx(u,{color:"ansi:cyan",children:"[w]"})," \u4FDD\u5B58"]})})]})}a(FS,"ArenaPane");function Kp(t){let e=new Date(t).getTime();if(Number.isNaN(e))return t;let n=Date.now()-e,r=Math.floor(n/36e5);if(r<1)return "\u51E0\u5206\u949F\u524D";if(r<24)return `${r} \u5C0F\u65F6\u524D`;let o=Math.floor(r/24);return o<7?`${o} \u5929\u524D`:new Date(t).toLocaleDateString()}a(Kp,"formatFreshness");h();function Yp({entries:t,onSelect:e,onCancel:n}){let[r,o]=useState(0);if(lt((c,d)=>{if(t.length===0){(d.escape||d.return)&&n();return}d.upArrow?o(f=>f>0?f-1:t.length-1):d.downArrow?o(f=>f<t.length-1?f+1:0):d.return?e(t[r].sessionId):d.escape&&n();}),t.length===0)return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsx(x,{children:jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 Resume session"})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"\u6CA1\u6709\u53EF\u6062\u590D\u7684\u4F1A\u8BDD\u3002"})}),jsx(x,{marginLeft:2,children:jsx(u,{dim:true,children:"\u6309\u4EFB\u610F\u952E\u5173\u95ED"})})]});let i=a(c=>c.lastActiveAt??c.startedAt,"timeOf"),s=Math.max(...t.map(c=>jp(i(c)).length)),l=Math.max(...t.map(c=>`${c.turnCount} turns`.length));return jsxs(x,{flexDirection:"column",marginLeft:1,children:[jsxs(x,{children:[jsx(u,{color:"ansi:cyan",bold:true,children:"\u2726 Resume session"}),jsx(u,{dim:true,children:" (\u2191\u2193 \u9009\u62E9, Enter \u52A0\u8F7D, Esc \u53D6\u6D88)"})]}),t.map((c,d)=>{let f=d===r,m=f?"\u276F ":" ",h=jp(i(c)).padEnd(s),g=`${c.turnCount} turns`.padEnd(l),S=c.preview?WS(c.preview,60):"(no messages)";return jsxs(x,{marginLeft:2,children:[jsx(u,{color:f?"ansi:cyan":void 0,bold:f,children:m}),jsxs(u,{dim:true,children:[h," "]}),jsxs(u,{dim:true,children:[g," "]}),jsx(u,{children:S})]},c.sessionId)})]})}a(Yp,"SessionPicker");function jp(t){let e=Date.now()-t,n=Math.floor(e/1e3);if(n<60)return `${n}s ago`;let r=Math.floor(n/60);if(r<60)return `${r}m ago`;let o=Math.floor(r/60);if(o<24)return `${o}h ago`;let i=Math.floor(o/24);return i<7?`${i}d ago`:new Date(t).toLocaleDateString()}a(jp,"relativeTime");function WS(t,e){return t.length>e?t.slice(0,e-1)+"\u2026":t}a(WS,"truncate");h();var ea=class{static{a(this,"CommandRegistry");}commands=new Map;register(e){if(this.commands.set(e.name,e),e.aliases)for(let n of e.aliases)this.commands.set(n,e);}registerAll(e){for(let n of e)this.register(n);}get(e){return this.commands.get(e)}dispatch(e,n){let r=e.split(/\s+/),o=r[0].toLowerCase(),i=r.slice(1).join(" ").trim(),s=this.commands.get(o);if(!s){n.addStatus(`Unknown command: ${o}. Type /help for available commands.`);return}return s.execute(i,n)}helpText(){let e=new Set,n=new Map,r={core:"Core",git:"Git & Code Review",context:"Context & Memory",config:"Configuration",advanced:"Advanced"};for(let i of this.commands.values()){if(e.has(i.name))continue;e.add(i.name);let s=i.group??"core";n.has(s)||n.set(s,[]),n.get(s).push(i);}let o=["Available Commands:",""];for(let[i,s]of Object.entries(r)){let l=n.get(i);if(!(!l||l.length===0)){o.push(` ${s}:`);for(let c of l.sort((d,f)=>d.name.localeCompare(f.name))){let d=c.aliases?.length?` (${c.aliases.join(", ")})`:"";o.push(` ${c.name.padEnd(16)} ${c.description}${d}`);}o.push("");}}return o.push(" Shift+Tab to cycle permission mode \xB7 Ctrl+C to cancel/exit"),o.join(`
|
|
80
|
+
`)}listNames(){let e=new Set;for(let n of this.commands.values())e.add(n.name);return [...e].sort()}listCommands(){let e=new Set,n=[];for(let r of this.commands.values())e.has(r.name)||(e.add(r.name),n.push({name:r.name,description:r.description}));return n.sort((r,o)=>r.name.localeCompare(o.name))}};h();h();h();var US=["package.json","Cargo.toml","pyproject.toml","go.mod","pom.xml","build.gradle","build.gradle.kts","Gemfile","mix.exs","deno.json","deno.jsonc","bun.lockb"],GS=["README.md","README.rst","README.txt","README"],KS=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".go",".rs",".java",".kt",".rb",".ex",".exs",".c",".cpp",".cc",".h",".hpp",".swift",".scala",".clj",".cljs",".php"]),jS=new Set(["node_modules",".git","dist","build","target",".venv","venv","__pycache__",".next",".turbo","out","coverage",".cache"]),YS=50;function zp(t){let e=a(o=>existsSync(join(t,o)),"exists"),n=a(o=>{try{return statSync(join(t,o)).isDirectory()}catch{return false}},"isDir"),r=a(o=>{try{let i=readdirSync(t),s=new Set(i.map(l=>l.toLowerCase()));return o.some(l=>s.has(l.toLowerCase()))}catch{return false}},"existsCI");return {hasCodeshell:e("CODESHELL.md"),hasClaude:e("CLAUDE.md"),hasAgents:e("AGENTS.md"),hasCursorRules:e(".cursorrules"),hasCursorRulesDir:n(".cursor/rules"),hasWindsurfRules:e(".windsurfrules"),hasClinerules:e(".clinerules"),hasCopilotInstructions:e(".github/copilot-instructions.md"),hasCodeshellRulesDir:n(".codeshell/rules"),hasManifest:US.some(o=>e(o)),hasSourceFiles:qS(t),hasReadme:r(GS)}}a(zp,"detect");function Jp(t){return t.hasCodeshell?"improve":t.hasClaude||t.hasAgents||t.hasCursorRules||t.hasCursorRulesDir||t.hasWindsurfRules||t.hasClinerules||t.hasCopilotInstructions?"migrate":t.hasManifest||t.hasSourceFiles||t.hasReadme?"create":"empty"}a(Jp,"pickIntent");function Xp(t){let e=[];t.hasCodeshell&&e.push("CODESHELL.md"),t.hasClaude&&e.push("CLAUDE.md"),t.hasAgents&&e.push("AGENTS.md"),t.hasCursorRulesDir&&e.push(".cursor/rules/"),t.hasCursorRules&&e.push(".cursorrules"),t.hasWindsurfRules&&e.push(".windsurfrules"),t.hasClinerules&&e.push(".clinerules"),t.hasCopilotInstructions&&e.push(".github/copilot-instructions.md"),t.hasCodeshellRulesDir&&e.push(".codeshell/rules/");let n=[];if(t.hasManifest&&n.push("manifest"),t.hasSourceFiles&&n.push("source files"),t.hasReadme&&n.push("README"),e.length===0&&n.length===0)return "Detected: empty repository";let r=[];return e.length&&r.push(e.join(", ")),n.length&&r.push(n.join(" + ")),`Detected: ${r.join("; ")}`}a(Xp,"summarize");function qS(t){let e=YS,n=a(o=>{let i;try{i=readdirSync(o);}catch{return false}for(let s of i){if(e--<=0)return false;if(jS.has(s)||s.startsWith("."))continue;let l=VS(s);if(l&&KS.has(l))return true}return false},"scanLevel");if(n(t))return true;let r=join(t,"src");try{if(statSync(r).isDirectory()&&n(r))return !0}catch{}return false}a(qS,"hasAnySourceFiles");function VS(t){let e=t.lastIndexOf(".");return e<0?"":t.slice(e)}a(VS,"extOf");var Qp=`Create a new CODESHELL.md at \${targetPath}.
|
|
81
81
|
|
|
82
82
|
## Survey the codebase first
|
|
83
83
|
|
|
@@ -112,7 +112,7 @@ Exclude:
|
|
|
112
112
|
- Commands obvious from manifest files
|
|
113
113
|
|
|
114
114
|
Be specific. "Use 2-space indentation in TypeScript" beats "Format code properly."
|
|
115
|
-
`;var
|
|
115
|
+
`;var Zp=`Create CODESHELL.md at \${targetPath} by drawing on this repo's existing AI configs.
|
|
116
116
|
|
|
117
117
|
Existing configs to investigate (read them first):
|
|
118
118
|
\${existingConfigs}
|
|
@@ -154,7 +154,7 @@ Exclude:
|
|
|
154
154
|
- Standard language conventions the model already knows
|
|
155
155
|
- Generic advice ("write clean code")
|
|
156
156
|
- Commands obvious from manifest files
|
|
157
|
-
`;var
|
|
157
|
+
`;var eg=`Improve the existing CODESHELL.md at \${targetPath}.
|
|
158
158
|
|
|
159
159
|
## Survey the codebase first
|
|
160
160
|
|
|
@@ -188,7 +188,7 @@ Exclude:
|
|
|
188
188
|
- Commands obvious from manifest files
|
|
189
189
|
|
|
190
190
|
Be specific. "Use 2-space indentation in TypeScript" beats "Format code properly."
|
|
191
|
-
`;var
|
|
191
|
+
`;var tg=`You are bootstrapping CODESHELL.md for an essentially empty git repository at \${cwd}.
|
|
192
192
|
|
|
193
193
|
There is no source code, no manifest, and no README to read \u2014 the user has just started this project. You must ask them what they want to build before you can write anything useful.
|
|
194
194
|
|
|
@@ -243,7 +243,7 @@ Do not include:
|
|
|
243
243
|
- Standard language conventions the model already knows
|
|
244
244
|
- Generic advice ("write clean code")
|
|
245
245
|
- Guesses about how the user will deploy, test, or structure their code
|
|
246
|
-
`;var
|
|
246
|
+
`;var ng=`## After writing CODESHELL.md \u2014 optional rules split
|
|
247
247
|
|
|
248
248
|
After CODESHELL.md exists, check whether it's substantial enough to benefit from splitting topic-specific guidance into \`.codeshell/rules/*.md\` files (Code Shell loads all of them in addition to the main file).
|
|
249
249
|
|
|
@@ -256,14 +256,14 @@ If a split would be useful, use **AskUserQuestion** once with these options (hea
|
|
|
256
256
|
- "Just scaffold empty files" \u2014 you will Write empty \`.codeshell/rules/{code-style,testing,conventions}.md\` placeholders (each with a single H1 header) so the user can fill them later.
|
|
257
257
|
|
|
258
258
|
Act on whichever option they pick, then end the turn. If they pick "Keep single file" / "\u4FDD\u7559\u5355\u6587\u4EF6" or cancel, do nothing and end the turn.
|
|
259
|
-
`;var
|
|
259
|
+
`;var gc=8e3;function nv(t,e,n){let r=join(n,"CODESHELL.md"),o=[];e.hasClaude&&o.push(join(n,"CLAUDE.md")),e.hasAgents&&o.push(join(n,"AGENTS.md")),e.hasCursorRulesDir&&o.push(join(n,".cursor/rules/")),e.hasCursorRules&&o.push(join(n,".cursorrules")),e.hasWindsurfRules&&o.push(join(n,".windsurfrules")),e.hasClinerules&&o.push(join(n,".clinerules")),e.hasCopilotInstructions&&o.push(join(n,".github/copilot-instructions.md"));let i=rv(t);return ((t==="create"||t==="migrate")&&!e.hasCodeshellRulesDir?`${i}
|
|
260
260
|
|
|
261
|
-
${
|
|
262
|
-
`))}a(
|
|
261
|
+
${ng}`:i).replaceAll("${targetPath}",r).replaceAll("${cwd}",n).replaceAll("${existingConfigs}",o.map(c=>`- ${c}`).join(`
|
|
262
|
+
`))}a(nv,"buildPrompt");function rv(t){switch(t){case "improve":return eg;case "migrate":return Zp;case "create":return Qp;case "empty":return tg}}a(rv,"pickTemplate");function ov(t){switch(t){case "improve":return "Improving existing CODESHELL.md\u2026";case "migrate":return "Migrating from existing AI configs into CODESHELL.md\u2026";case "create":return "Creating new CODESHELL.md\u2026";case "empty":return "Empty repo \u2014 asking you a few questions before writing CODESHELL.md\u2026"}}a(ov,"statusForIntent");var rg={name:"/init",group:"config",description:"Bootstrap or improve CODESHELL.md for this repo",execute:a(async(t,e)=>{let n=zp(e.cwd),r=Jp(n);e.addStatus(Xp(n)),e.addStatus(ov(r)),e.setIsRunning(true);try{let o=await e.client.run(nv(r,n,e.cwd),e.sessionId);e.setSessionId(o.sessionId);let i=join(e.cwd,"CODESHELL.md");if(existsSync(i)){e.addStatus(r==="improve"?`Updated ${i}`:`Created ${i}`);try{let s=readFileSync(i,"utf-8"),l=s.length>gc?s.slice(0,gc)+`
|
|
263
263
|
|
|
264
|
-
[truncated \u2014 ${s.length-
|
|
264
|
+
[truncated \u2014 ${s.length-gc} more chars in ${i}]`:s;await e.client.inject(o.sessionId,`CODESHELL.md was ${r==="improve"?"updated":"created"} by /init at ${i}:
|
|
265
265
|
|
|
266
|
-
${l}`),e.addStatus("CODESHELL.md injected into session context \u2014 the model will see it on every turn.");}catch{}}else e.addStatus("Init finished without writing a file \u2014 see the output above.");}catch(o){e.addStatus(`Init failed during ${r} phase: ${o.message}`);}finally{e.setIsRunning(false);}},"execute")};var
|
|
266
|
+
${l}`),e.addStatus("CODESHELL.md injected into session context \u2014 the model will see it on every turn.");}catch{}}else e.addStatus("Init finished without writing a file \u2014 see the output above.");}catch(o){e.addStatus(`Init failed during ${r} phase: ${o.message}`);}finally{e.setIsRunning(false);}},"execute")};var ig=[{name:"/exit",aliases:["/quit"],description:"Exit the REPL",execute:a((t,e)=>e.exit(),"execute")},{name:"/clear",description:"Clear chat history",execute:a((t,e)=>e.clearChat(),"execute")},{name:"/cost",description:"Show token usage and cost (/cost stats for summary, /cost detail for breakdown)",usage:"/cost [stats|detail]",execute:a((t,e)=>{if(ft.getRequestCount()===0){e.addStatus("No API requests yet.");return}let n=ft.getTotalTokens(),r=ft.getEstimatedCost(),o=ft.getRequestCount();if(t==="stats"||t==="summary")e.addStatus(ft.formatSummary());else if(t==="detail"||t==="usage"){let i=Math.round(n.total/o),s=(r/o).toFixed(4),l=a(c=>c.toLocaleString(),"fmt");e.addStatus(["API Usage:",` Requests: ${o}`,` Total tokens: ${l(n.total)}`,` Prompt: ${l(n.prompt)}`,` Completion: ${l(n.completion)}`,` Estimated cost: ${r.toFixed(4)}`,` Avg tokens/req: ${l(i)}`,` Avg cost/req: ${s}`,` Model: ${e.model}`].join(`
|
|
267
267
|
`));}else e.addStatus(`Tokens: ${n.total} (in: ${n.prompt}, out: ${n.completion}) | Cost: ${r.toFixed(4)} | Requests: ${o}`),e.addStatus("Use /cost stats or /cost detail for more info.");},"execute")},{name:"/effort",description:"Set reasoning effort level",usage:"/effort <low|medium|high|max>",execute:a((t,e)=>{t&&["low","medium","high","max"].includes(t)?(e.setEffort(t),e.addStatus(`Effort set to: ${t}`)):e.addStatus(`Current effort: ${e.effort}. Use /effort <low|medium|high|max>`);},"execute")},{name:"/tasks",description:"Show task list",execute:a((t,e)=>{let n=e.tasks??[];if(n.length===0){e.addStatus("No active tasks. Tasks are created automatically when the agent begins multi-step work.");return}let r={in_progress:0,pending:1,completed:2,stopped:3},o=[...n].sort((i,s)=>(r[i.status]??9)-(r[s.status]??9));for(let i of o){let s=i.status==="completed"?"\u2713":i.status==="in_progress"?"\u25CF":i.status==="stopped"?"\u2717":"\u25CB";e.addStatus(` ${s} ${i.subject??i.id} (${i.status})`);}},"execute")},{name:"/model",aliases:["/m"],description:"Switch model (interactive picker if no key given)",usage:"/model [key] \u2014 opens picker when no key, or switches directly",execute:a(async(t,e)=>{let n=t.trim();if(!n){if(e.openModelSelector){e.openModelSelector();return}try{let o=(await e.client.query("models")).data??[];if(o.length===0){e.addStatus(`Model: ${e.model}
|
|
268
268
|
(No model pool configured. Add "models" to settings.json)`);return}let i=o.map(s=>{let l=s.active?" \u2190 active":"";return ` ${s.key.padEnd(16)} ${s.model}${l}`});e.addStatus(`Model: ${e.model}
|
|
269
269
|
|
|
@@ -280,9 +280,9 @@ Use /memory delete <name> to remove.`);}}else if(i==="add"){let s=o[1],l=o.slice
|
|
|
280
280
|
Example: /memory add user_role I am a backend engineer`);return}r.save({name:s,description:l.slice(0,80),type:"user",content:l}),e.addStatus(`Memory "${s}" saved.`);}else if(i==="delete"||i==="rm"){let s=o[1];if(!s){e.addStatus("Usage: /memory delete <name>");return}let l=r.delete(s);e.addStatus(l?`Memory "${s}" deleted.`:`Memory "${s}" not found.`);}else if(i==="open"){let s=r.getMemoryDir(),l=process.env.EDITOR||process.env.VISUAL||"vi";e.addStatus(`Memory directory: ${s}
|
|
281
281
|
Open with: ${l} ${s}`);}else e.addStatus("Usage: /memory [list | add <name> <content> | delete <name> | open]");}catch(s){e.addStatus(`Memory error: ${s.message}`);}},"execute")},{name:"/compact",group:"context",description:"Force context compaction now",execute:a(async(t,e)=>{e.addStatus("Compacting context...");try{let r=(await e.client.query("compact")).data;if(r.before===r.after)e.addStatus(`Context is already compact (${r.before} tokens). No compaction needed.`);else {let o=r.before-r.after,i=(o/r.before*100).toFixed(0);e.addStatus(`Compacted: ${r.before} \u2192 ${r.after} tokens (saved ${o} tokens, ${i}%)`);}}catch(n){e.addStatus(`Compaction failed: ${n.message}`);}},"execute")},{name:"/resume",description:"Resume a previous session",usage:"/resume [number|query]",execute:a(async(t,e)=>{if(!t){if(e.openSessionPicker){e.openSessionPicker();return}try{let r=(await e.client.query("sessions")).data??[];if(r.length===0){e.addStatus("No sessions to resume.");return}let o=r.slice(0,10).map((i,s)=>{let l=new Date(i.startedAt).toLocaleString(),c=i.preview?` "${i.preview.slice(0,60)}"`:"";return ` ${s+1}. ${l} turns:${i.turnCount}${c}`});e.addStatus(`Recent sessions (use /resume <number> or /resume <query>):
|
|
282
282
|
`+o.join(`
|
|
283
|
-
`));}catch(n){e.addStatus(`Error: ${n.message}`);}return}try{let n=t.trim(),o=(await e.client.query("sessions")).data??[],i=n,s=parseInt(n,10);if(!isNaN(s)&&s>=1&&s<=o.length)i=o[s-1].sessionId;else {let d=n.toLowerCase(),f=o.find(m=>m.preview&&m.preview.toLowerCase().includes(d)||m.sessionId.startsWith(n));f&&(i=f.sessionId);}let c=(await e.client.query("session_detail",i)).data;if(e.setSessionId(i),e.loadChatEntries&&c?.transcript){let d=c.transcript,f=[];for(let m of d)switch(m.type){case "message":{let h=m.data.role,g=m.data.content;if(h==="user"){let
|
|
283
|
+
`));}catch(n){e.addStatus(`Error: ${n.message}`);}return}try{let n=t.trim(),o=(await e.client.query("sessions")).data??[],i=n,s=parseInt(n,10);if(!isNaN(s)&&s>=1&&s<=o.length)i=o[s-1].sessionId;else {let d=n.toLowerCase(),f=o.find(m=>m.preview&&m.preview.toLowerCase().includes(d)||m.sessionId.startsWith(n));f&&(i=f.sessionId);}let c=(await e.client.query("session_detail",i)).data;if(e.setSessionId(i),e.loadChatEntries&&c?.transcript){let d=c.transcript,f=[];for(let m of d)switch(m.type){case "message":{let h=m.data.role,g=m.data.content;if(h==="user"){let S=typeof g=="string"?g:Array.isArray(g)?g.filter(b=>b?.type==="text").map(b=>b.text??"").join(""):"";S&&f.push({type:"user",text:S});}else if(h==="assistant"){let S=[];if(typeof g=="string")g&&S.push(g);else if(Array.isArray(g))for(let w of g)w?.type==="reasoning"&&w.text?S.push(`[thinking]
|
|
284
284
|
${w.text}
|
|
285
|
-
[/thinking]`):w?.type==="text"&&w.text&&
|
|
285
|
+
[/thinking]`):w?.type==="text"&&w.text&&S.push(w.text);let b=S.join(`
|
|
286
286
|
|
|
287
287
|
`);b&&f.push({type:"assistant_text",text:b});}break}case "tool_use":{f.push({type:"tool_start",toolName:m.data.toolName,args:m.data.args??{}});break}case "tool_result":{f.push({type:"tool_result",toolName:m.data.toolName,result:m.data.result,error:m.data.error});break}}e.loadChatEntries(f);}e.addStatus(`Resumed session ${i.slice(0,8)}\u2026 (${c?.state?.turnCount??"?"} turns)`);}catch(n){e.addStatus(`Resume failed: ${n.message}`);}},"execute")},{name:"/diff",group:"git",description:"Show git diff",usage:"/diff [file]",execute:a((t,e)=>{try{let n=t||"",r=execSync(`git diff --stat HEAD ${n}`,{cwd:e.cwd,encoding:"utf-8",timeout:1e4}).trim();if(!r){e.addStatus("No changes.");return}let o=execSync(`git diff HEAD ${n} --no-color`,{cwd:e.cwd,encoding:"utf-8",timeout:1e4}).trim();e.addStatus(`${r}
|
|
288
288
|
|
|
@@ -290,14 +290,14 @@ ${o.slice(0,5e3)}${o.length>5e3?`
|
|
|
290
290
|
... (truncated)`:""}`);}catch{e.addStatus("Not a git repository or git not available.");}},"execute")},{name:"/status",description:"Show system status; /status env for environment info, /status doctor for diagnostics",usage:"/status [env|doctor]",execute:a(async(t,e)=>{if(t==="env"||t==="environment")e.addStatus([`Runtime: ${process.version}`,`Platform: ${process.platform} ${process.arch}`,`CWD: ${e.cwd}`,`Shell: ${process.env.SHELL??"unknown"}`,`Session: ${e.sessionId??"none"}`].join(`
|
|
291
291
|
`));else if(t==="doctor"||t==="diagnostic")try{let r=(await e.client.query("config")).data,o=[`Runtime: ${process.version} \u2014 OK`];try{let s=execSync("git --version",{encoding:"utf-8",timeout:5e3}).trim();o.push(`Git: ${s} \u2014 OK`);}catch{o.push("Git: NOT FOUND");}o.push(`Model: ${r.model??e.model}`),o.push(`CWD: ${r.cwd??e.cwd}`);try{let s=await e.client.query("tools");o.push(`Tools: ${(s.data??[]).length} registered`);}catch{o.push("Tools: unknown");}o.push(`Session: ${e.sessionId??"none"}`);try{execSync("gh --version",{encoding:"utf-8",timeout:5e3}),o.push("gh CLI: available");}catch{o.push("gh CLI: not found");}let i=M();o.push(`API key: ${i?"configured":"NOT SET"}`),e.addStatus(`Diagnostics:
|
|
292
292
|
`+o.join(`
|
|
293
|
-
`));}catch(n){e.addStatus(`Diagnostics error: ${n.message}`);}else try{let r=(await e.client.query("config")).data,i=(await e.client.query("tools")).data??[],s=[`Model: ${e.model}`,`Effort: ${e.effort}`,`Permission: ${r.permissionMode??"acceptEdits"}`,`Session: ${e.sessionId??"none"}`,`CWD: ${e.cwd}`,`Tools: ${i.length} registered`];try{let c=execSync("git branch --show-current",{cwd:e.cwd,encoding:"utf-8",timeout:5e3}).trim();s.push(`Git branch: ${c}`);}catch{}let l=
|
|
294
|
-
`));}catch(n){e.addStatus(`Error: ${n.message}`);}},"execute")},{name:"/version",description:"Show version",execute:a((t,e)=>{try{let n=JSON.parse(execSync("cat package.json",{cwd:e.cwd,encoding:"utf-8",timeout:3e3}));e.addStatus(`code-shell v${n.version??"0.1.0"}`);}catch{e.addStatus("code-shell v0.1.0");}},"execute")},{name:"/export",description:"Export session transcript",usage:"/export [json|markdown]",execute:a(async(t,e)=>{if(!e.sessionId){e.addStatus("No active session to export.");return}let n=t==="json"?"json":"markdown";try{let i=(await e.client.query("session_detail",e.sessionId)).data?.transcript??[];if(n==="json"){let s=join(e.cwd,`session-${e.sessionId}.json`);writeFileSync(s,JSON.stringify(i,null,2),"utf-8"),e.addStatus(`Exported ${i.length} events to ${s}`);}else {let{renderSessionMarkdown:s}=await import('../export-md-U72T7NW7.js'),{md:l,sidecars:c}=s(e.sessionId,i,e.cwd),d=join(e.cwd,`session-${e.sessionId}.md`);if(writeFileSync(d,l,"utf-8"),c.length){let{mkdirSync:m}=await import('fs'),{dirname:h}=await import('path');m(h(c[0].path),{recursive:!0});for(let g of c)writeFileSync(g.path,g.content,"utf-8");}let f=c.length?` (+${c.length} sidecar files)`:"";e.addStatus(`Exported to ${d}${f}`);}}catch(r){e.addStatus(`Export failed: ${r.message}`);}},"execute")},{name:"/config",group:"config",description:"View or update settings",usage:"/config [show | set <key> <value> | get <key>]",execute:a(async(t,e)=>{let{SettingsManager:n}=await import('../manager-
|
|
295
|
-
`).map(n=>({status:n.slice(0,2).trim(),path:n.slice(3)})):[]}a(
|
|
296
|
-
`).map(r=>{let[o,i,s,l]=r.split("|");return {hash:o.slice(0,8),message:i,author:s,date:l}}):[]}a(
|
|
297
|
-
`).map(n=>({current:n.startsWith("*"),name:n.replace(/^\*?\s+/,"").trim()})):[]}a(
|
|
293
|
+
`));}catch(n){e.addStatus(`Diagnostics error: ${n.message}`);}else try{let r=(await e.client.query("config")).data,i=(await e.client.query("tools")).data??[],s=[`Model: ${e.model}`,`Effort: ${e.effort}`,`Permission: ${r.permissionMode??"acceptEdits"}`,`Session: ${e.sessionId??"none"}`,`CWD: ${e.cwd}`,`Tools: ${i.length} registered`];try{let c=execSync("git branch --show-current",{cwd:e.cwd,encoding:"utf-8",timeout:5e3}).trim();s.push(`Git branch: ${c}`);}catch{}let l=ft.getTotalTokens();l.total>0&&(s.push(`Tokens: ${l.total} (in: ${l.prompt}, out: ${l.completion})`),s.push(`Cost: ${ft.getEstimatedCost().toFixed(4)}`)),e.addStatus(s.join(`
|
|
294
|
+
`));}catch(n){e.addStatus(`Error: ${n.message}`);}},"execute")},{name:"/version",description:"Show version",execute:a((t,e)=>{try{let n=JSON.parse(execSync("cat package.json",{cwd:e.cwd,encoding:"utf-8",timeout:3e3}));e.addStatus(`code-shell v${n.version??"0.1.0"}`);}catch{e.addStatus("code-shell v0.1.0");}},"execute")},{name:"/export",description:"Export session transcript",usage:"/export [json|markdown]",execute:a(async(t,e)=>{if(!e.sessionId){e.addStatus("No active session to export.");return}let n=t==="json"?"json":"markdown";try{let i=(await e.client.query("session_detail",e.sessionId)).data?.transcript??[];if(n==="json"){let s=join(e.cwd,`session-${e.sessionId}.json`);writeFileSync(s,JSON.stringify(i,null,2),"utf-8"),e.addStatus(`Exported ${i.length} events to ${s}`);}else {let{renderSessionMarkdown:s}=await import('../export-md-U72T7NW7.js'),{md:l,sidecars:c}=s(e.sessionId,i,e.cwd),d=join(e.cwd,`session-${e.sessionId}.md`);if(writeFileSync(d,l,"utf-8"),c.length){let{mkdirSync:m}=await import('fs'),{dirname:h}=await import('path');m(h(c[0].path),{recursive:!0});for(let g of c)writeFileSync(g.path,g.content,"utf-8");}let f=c.length?` (+${c.length} sidecar files)`:"";e.addStatus(`Exported to ${d}${f}`);}}catch(r){e.addStatus(`Export failed: ${r.message}`);}},"execute")},{name:"/config",group:"config",description:"View or update settings",usage:"/config [show | set <key> <value> | get <key>]",execute:a(async(t,e)=>{let{SettingsManager:n}=await import('../manager-J6FXEUEK.js'),r=new n(e.cwd),o=t.trim().split(/\s+/),i=o[0]||"show";try{if(i==="show"||!t.trim()){let s=r.get();e.addStatus(JSON.stringify(s,null,2));}else if(i==="get"){let s=o[1];if(!s){e.addStatus("Usage: /config get <key> (e.g. model.name)");return}let l=r.get(),c=s.split(".").reduce((d,f)=>d?.[f],l);e.addStatus(`${s} = ${JSON.stringify(c)}`);}else if(i==="set"){let s=o[1],l=o.slice(2).join(" ");if(!s||!l){e.addStatus("Usage: /config set <key> <value> (e.g. model.name claude-opus-4-6)");return}let c=l;try{c=JSON.parse(l);}catch{}await e.client.query("config_set",s,c),e.addStatus(`Set ${s} = ${JSON.stringify(c)}`);}else e.addStatus("Usage: /config [show | set <key> <value> | get <key>]");}catch(s){e.addStatus(`Config error: ${s.message}`);}},"execute")},rg];h();h();function ta(t){try{return execSync("git rev-parse --is-inside-work-tree",{cwd:t,encoding:"utf-8",timeout:5e3}),!0}catch{return false}}a(ta,"isGitRepo");function sg(t){let e=execSync("git status --porcelain",{cwd:t,encoding:"utf-8",timeout:1e4}).trim();return e?e.split(`
|
|
295
|
+
`).map(n=>({status:n.slice(0,2).trim(),path:n.slice(3)})):[]}a(sg,"getGitStatus");function na(t,e){let n=["git","diff","--no-color"];return e?.staged&&n.push("--staged"),e?.file&&n.push("--",e.file),execSync(n.join(" "),{cwd:t,encoding:"utf-8",timeout:3e4}).trim()}a(na,"getGitDiff");function ag(t,e){let n=["git","diff","--stat","--no-color"];return e?.staged&&n.push("--staged"),e?.file&&n.push("--",e.file),execSync(n.join(" "),{cwd:t,encoding:"utf-8",timeout:1e4}).trim()}a(ag,"getGitDiffStat");function lg(t,e=10){let n=execSync(`git log --oneline --format="%H|%s|%an|%ci" -${e}`,{cwd:t,encoding:"utf-8",timeout:1e4}).trim();return n?n.split(`
|
|
296
|
+
`).map(r=>{let[o,i,s,l]=r.split("|");return {hash:o.slice(0,8),message:i,author:s,date:l}}):[]}a(lg,"getGitLog");function yc(t,e=["."]){let n=e.map(r=>`"${r}"`).join(" ");execSync(`git add ${n}`,{cwd:t,timeout:1e4});}a(yc,"gitAdd");function bc(t,e){return execSync(`git commit -m ${JSON.stringify(e)}`,{cwd:t,encoding:"utf-8",timeout:3e4}).trim()}a(bc,"gitCommit");function cg(t){let e=execSync("git branch --no-color",{cwd:t,encoding:"utf-8",timeout:5e3}).trim();return e?e.split(`
|
|
297
|
+
`).map(n=>({current:n.startsWith("*"),name:n.replace(/^\*?\s+/,"").trim()})):[]}a(cg,"gitListBranches");function ug(t,e,n=false){execSync(`git checkout ${n?"-b":""} ${e}`,{cwd:t,timeout:1e4});}a(ug,"gitCheckout");function xc(){try{return execSync("gh --version",{encoding:"utf-8",timeout:5e3}),!0}catch{return false}}a(xc,"ghAvailable");function Sc(t,e){return execSync(`gh pr view ${e} --comments --json comments -q ".comments[].body"`,{cwd:t,encoding:"utf-8",timeout:3e4}).trim()}a(Sc,"ghPrComments");var dg=[{name:"/commit",group:"git",description:"Generate commit message and commit",usage:"/commit [-m message]",execute:a(async(t,e)=>{if(!ta(e.cwd)){e.addStatus("Not a git repository.");return}if(sg(e.cwd).length===0){e.addStatus("No changes to commit.");return}if(t.startsWith("-m ")){let r=t.slice(3).trim().replace(/^["']|["']$/g,"");if(!r){e.addStatus("Empty commit message.");return}try{yc(e.cwd);let o=bc(e.cwd,r);e.addStatus(o);}catch(o){e.addStatus(`Commit failed: ${o.message}`);}return}e.setIsRunning(true);try{let r=ag(e.cwd),o=na(e.cwd),l=`Generate a concise git commit message for the following changes.
|
|
298
298
|
|
|
299
299
|
## Recent commit messages (follow this style):
|
|
300
|
-
${
|
|
300
|
+
${lg(e.cwd,5).map(f=>f.message).join(`
|
|
301
301
|
`)}
|
|
302
302
|
|
|
303
303
|
## Diff stat:
|
|
@@ -306,9 +306,9 @@ ${r}
|
|
|
306
306
|
## Diff (first 3000 chars):
|
|
307
307
|
${o.slice(0,3e3)}
|
|
308
308
|
|
|
309
|
-
Respond with ONLY the commit message, nothing else. Use conventional commit format if the recent messages use it. Keep it under 72 characters for the first line.`,c=await e.client.run(l,e.sessionId);e.setSessionId(c.sessionId);let d=c.text.trim().replace(/^["'`]+|["'`]+$/g,"");if(d){
|
|
309
|
+
Respond with ONLY the commit message, nothing else. Use conventional commit format if the recent messages use it. Keep it under 72 characters for the first line.`,c=await e.client.run(l,e.sessionId);e.setSessionId(c.sessionId);let d=c.text.trim().replace(/^["'`]+|["'`]+$/g,"");if(d){yc(e.cwd);let f=bc(e.cwd,d);e.addStatus(`${f}`);}}catch(r){e.addStatus(`Commit failed: ${r.message}`);}e.setIsRunning(false);},"execute")},{name:"/branch",group:"git",description:"List, create, or switch branches",usage:"/branch [name] [--create]",execute:a((t,e)=>{if(!ta(e.cwd)){e.addStatus("Not a git repository.");return}let n=t.trim();if(!n){let o=cg(e.cwd).map(i=>` ${i.current?"* ":" "}${i.name}`);e.addStatus(`Branches:
|
|
310
310
|
`+o.join(`
|
|
311
|
-
`));return}try{let r=n.includes("--create")||n.includes("-c"),o=n.replace(/--create|-c/g,"").trim();
|
|
311
|
+
`));return}try{let r=n.includes("--create")||n.includes("-c"),o=n.replace(/--create|-c/g,"").trim();ug(e.cwd,o,r),e.addStatus(`Switched to branch: ${o}${r?" (created)":""}`);}catch(r){e.addStatus(`Branch operation failed: ${r.message}`);}},"execute")},{name:"/review",group:"git",description:"Send code to model for review",usage:"/review [file]",execute:a(async(t,e)=>{if(!ta(e.cwd)){e.addStatus("Not a git repository.");return}e.setIsRunning(true);try{let n=t?na(e.cwd,{file:t}):na(e.cwd);if(!n){e.addStatus("No changes to review."),e.setIsRunning(!1);return}let r=`Review the following code changes. Provide:
|
|
312
312
|
1. A brief summary of what changed
|
|
313
313
|
2. Potential issues or bugs
|
|
314
314
|
3. Suggestions for improvement
|
|
@@ -316,30 +316,30 @@ Respond with ONLY the commit message, nothing else. Use conventional commit form
|
|
|
316
316
|
|
|
317
317
|
\`\`\`diff
|
|
318
318
|
${n.slice(0,8e3)}
|
|
319
|
-
\`\`\``,o=await e.client.run(r,e.sessionId);e.setSessionId(o.sessionId);}catch(n){e.addStatus(`Review failed: ${n.message}`);}e.setIsRunning(false);},"execute")},{name:"/pr-comments",group:"git",description:"Fetch PR comments via gh CLI",usage:"/pr-comments <PR-url|number>",execute:a((t,e)=>{if(!
|
|
319
|
+
\`\`\``,o=await e.client.run(r,e.sessionId);e.setSessionId(o.sessionId);}catch(n){e.addStatus(`Review failed: ${n.message}`);}e.setIsRunning(false);},"execute")},{name:"/pr-comments",group:"git",description:"Fetch PR comments via gh CLI",usage:"/pr-comments <PR-url|number>",execute:a((t,e)=>{if(!xc()){e.addStatus("gh CLI is not installed. Install it from https://cli.github.com/");return}if(!t){e.addStatus("Usage: /pr-comments <PR-url|number>");return}try{let n=Sc(e.cwd,t.trim());n?e.addStatus(n.slice(0,5e3)):e.addStatus("No comments found.");}catch(n){e.addStatus(`Failed to fetch PR comments: ${n.message}`);}},"execute")},{name:"/autofix-pr",group:"git",description:"Auto-fix based on PR review comments",usage:"/autofix-pr <PR-url|number>",execute:a(async(t,e)=>{if(!xc()){e.addStatus("gh CLI is not installed.");return}if(!t){e.addStatus("Usage: /autofix-pr <PR-url|number>");return}e.setIsRunning(true);try{let n=Sc(e.cwd,t.trim());if(!n){e.addStatus("No review comments found."),e.setIsRunning(!1);return}let r=`The following are review comments on a PR. Please read each comment, find the relevant code, and fix the issues mentioned.
|
|
320
320
|
|
|
321
321
|
## Review Comments:
|
|
322
322
|
${n.slice(0,5e3)}
|
|
323
323
|
|
|
324
|
-
Fix all the issues in the codebase. Use the Edit and Read tools.`,o=await e.client.run(r,e.sessionId);e.setSessionId(o.sessionId);}catch(n){e.addStatus(`Autofix failed: ${n.message}`);}e.setIsRunning(false);},"execute")}];h();var
|
|
325
|
-
`));return}let i=t.trim();if(!
|
|
324
|
+
Fix all the issues in the codebase. Use the Edit and Read tools.`,o=await e.client.run(r,e.sessionId);e.setSessionId(o.sessionId);}catch(n){e.addStatus(`Autofix failed: ${n.message}`);}e.setIsRunning(false);},"execute")}];h();var fg=["default","acceptEdits","dontAsk","bypassPermissions","auto","plan"],mg={name:"/permissions",aliases:["/perm"],group:"config",description:"Show or change permission mode",usage:"/permissions [mode]",execute:a(async(t,e)=>{let o=(await e.client.query("config")).data.permissionMode??"acceptEdits";if(!t){let s=[`Current mode: ${o}`,"","Available modes:"," default Ask for non-read tools"," acceptEdits Allow read + write, ask for bash"," dontAsk Deny all non-allowed tools"," bypassPermissions Allow everything"," auto Smart auto-approve safe operations"," plan Read-only planning mode","","Use /permissions <mode> to switch."];e.addStatus(s.join(`
|
|
325
|
+
`));return}let i=t.trim();if(!fg.includes(i)){e.addStatus(`Invalid mode: ${i}. Valid: ${fg.join(", ")}`);return}try{await e.client.query("permission_set",i),e.addStatus(`Permission mode: ${o} \u2192 ${i} (live)`);}catch(s){e.addStatus(`Failed to switch mode: ${s.message}`);}},"execute")};h();var pg=[{name:"/copy",description:"Copy last assistant response to clipboard",execute:a((t,e)=>{let n=[...e.chatLog].reverse().find(r=>r.type==="assistant_text");if(!n?.text){e.addStatus("No assistant response to copy.");return}try{let r=process.platform,o;r==="darwin"?o="pbcopy":r==="win32"?o="clip":o="xclip -selection clipboard",execSync(o,{input:n.text,timeout:5e3}),e.addStatus("Copied to clipboard.");}catch{e.addStatus("Failed to copy to clipboard. Command not available.");}},"execute")},{name:"/undo",description:"Revert the last file change",execute:a(async(t,e)=>{try{let{FileHistory:n}=await import('../file-history-7FQFEQOL.js'),{join:r}=await import('path'),{homedir:o}=await import('os');if(!e.sessionId){e.addStatus("No active session.");return}let s=(await e.client.query("config")).data,l=r(s.sessionStorageDir??r(o(),".code-shell","sessions"),e.sessionId),c=n.loadFromDir(l),d=c.getTrackedFiles();if(d.length===0){e.addStatus("No file changes to undo.");return}let f=d[d.length-1];c.restoreLatest(f)?e.addStatus(`Restored: ${f}`):e.addStatus("No file changes to undo.");}catch(n){e.addStatus(`Undo failed: ${n.message}`);}},"execute")},{name:"/hooks",description:"List registered hooks",execute:a((t,e)=>{e.addStatus("Hook listing is not yet available via the client protocol.");},"execute")},{name:"/update",description:"Check for and install updates",execute:a(async(t,e)=>{try{let{getCurrentVersion:n,getUpdateAvailable:r,getAutoUpdateDisabledReason:o}=await import('../updater-OCNU2K2Z.js'),i=n(),s=r(),l=o();if(!s){let d=l?`
|
|
326
326
|
Auto-update is off: ${l}`:"";e.addStatus(`code-shell v${i} is up to date.${d}`);return}let c=`Update available: ${i} \u2192 ${s.latestVersion}`;s.canAutoInstall?e.addStatus(`${c}
|
|
327
327
|
Will install on exit. (Or run now: npm install -g @cjhyy/code-shell@${s.latestVersion})`):e.addStatus(`${c}
|
|
328
|
-
Run: sudo npm install -g @cjhyy/code-shell@${s.latestVersion}`);}catch(n){e.addStatus(`Update check failed: ${n.message}`);}},"execute")}];h();var
|
|
329
|
-
Note: env var(s) still set: ${
|
|
330
|
-
\u26A0 Env var(s) still set: ${
|
|
328
|
+
Run: sudo npm install -g @cjhyy/code-shell@${s.latestVersion}`);}catch(n){e.addStatus(`Update check failed: ${n.message}`);}},"execute")}];h();var gg=[{name:"/voice",description:"Toggle voice input mode (reserved)",execute:a((t,e)=>{e.addStatus("Voice input is not yet implemented. When available, this will toggle speech-to-text input.");},"execute")}];h();var yg=[{name:"/login",group:"config",description:"Reconfigure API key and provider interactively",usage:"/login [api-key]",execute:a(async(t,e)=>{let n=t.trim();if(n){let r=join(homedir(),".code-shell"),o=join(r,"settings.json");mkdirSync(r,{recursive:true});let i={};if(existsSync(o))try{i=JSON.parse(readFileSync(o,"utf-8"));}catch{}i.model||(i.model={}),i.model.apiKey=n,writeFileSync(o,JSON.stringify(i,null,2),"utf-8");try{await e.client.configure({reloadModels:!0}),e.addStatus("\u2713 API key saved and applied.");}catch(s){e.addStatus(`\u2713 API key saved. Hot-reload failed, please restart code-shell: ${s.message}`);}return}e.startOnboarding?e.startOnboarding():e.addStatus("Onboarding wizard only available in REPL mode. Restart code-shell.");},"execute")},{name:"/logout",group:"config",description:"Remove saved API key and configuration",execute:a((t,e)=>{let n=join(homedir(),".code-shell","settings.json");if(!existsSync(n)){e.addStatus("No saved config.");return}try{let r=JSON.parse(readFileSync(n,"utf-8")),o=[],i=["model","models","providers","arena","activeKey"];for(let d of i)r[d]!==void 0&&(delete r[d],o.push(d));let l=["ANTHROPIC_API_KEY","OPENAI_API_KEY","OPENROUTER_API_KEY","DEEPSEEK_API_KEY"].filter(d=>process.env[d]);if(o.length===0){let d=l.length?`
|
|
329
|
+
Note: env var(s) still set: ${l.join(", ")} \u2014 unset to fully log out.`:"";e.addStatus(`No saved API key.${d}`);return}writeFileSync(n,JSON.stringify(r,null,2),"utf-8");let c=l.length?`
|
|
330
|
+
\u26A0 Env var(s) still set: ${l.join(", ")} \u2014 unset to fully log out.`:"";e.addStatus(`\u2713 Cleared: ${o.join(", ")}. Restart to re-enter onboarding.${c}`);}catch(r){e.addStatus(`Failed: ${r.message}`);}},"execute")},{name:"/mcp",group:"config",description:"Show MCP server connection status",usage:"/mcp [list|status]",execute:a(async(t,e)=>{let o=(await e.client.query("config")).data.mcpServers??{},i=Object.keys(o);if(i.length===0){e.addStatus(`No MCP servers configured.
|
|
331
331
|
Add to .code-shell/settings.json:
|
|
332
332
|
"mcpServers": { "name": { "command": "...", "args": [...] } }`);return}let s=i.map(l=>{let c=o[l],d=c.transport??"stdio",f=c.command??c.url??"?";return ` ${l} [${d}] \u2014 ${f}`});e.addStatus(`MCP Servers (${i.length}):
|
|
333
333
|
${s.join(`
|
|
334
|
-
`)}`);},"execute")},{name:"/models",group:"config",description:"Open the model management panel (list, switch, sync)",execute:a((t,e)=>{e.openModelManager?e.openModelManager():e.addStatus("Model manager only available in REPL mode. Use /model <key> to switch.");},"execute")},{name:"/skills",group:"config",description:"List skills available to the model",execute:a((t,e)=>{try{let n=
|
|
334
|
+
`)}`);},"execute")},{name:"/models",group:"config",description:"Open the model management panel (list, switch, sync)",execute:a((t,e)=>{e.openModelManager?e.openModelManager():e.addStatus("Model manager only available in REPL mode. Use /model <key> to switch.");},"execute")},{name:"/skills",group:"config",description:"List skills available to the model",execute:a((t,e)=>{try{let n=B(e.cwd);if(n.length===0){e.addStatus(`No skills found.
|
|
335
335
|
Add .md files to one of:
|
|
336
336
|
.code-shell/skills/ .claude/skills/ (project)
|
|
337
337
|
~/.code-shell/skills/ ~/.claude/skills/ (global)`);return}let r=n.map(o=>` ${o.name} \u2014 ${o.description||"(no description)"}`);e.addStatus(`Skills (${n.length}):
|
|
338
338
|
${r.join(`
|
|
339
339
|
`)}`);}catch(n){e.addStatus(`Failed to scan skills: ${n.message}`);}},"execute")},{name:"/log",aliases:["/logs"],group:"config",description:"Show recent log entries; filter by sid / turn / cat",usage:"/log [n] | /log sid <id> [n] | /log turn <id> [n] | /log cat <name> [n]",execute:a((t,e)=>{let n=join(homedir(),".code-shell","logs"),r=new Date().toISOString().slice(0,10),o=join(n,`${r}.log`);if(!existsSync(o)){e.addStatus(`No logs found for today (${r}).`);return}let i=t.trim().split(/\s+/).filter(Boolean),s="tail",l=null,c;if(i[0]==="sid"||i[0]==="turn"||i[0]==="cat"){if(s=i[0],l=i[1]??null,c=i[2],!l){e.addStatus(`Usage: /log ${s} <value> [n]`);return}}else c=i[0];let d=s==="tail"?200:2e3,f=Math.max(1,Math.min(parseInt(c??"")||20,d));try{let h=readFileSync(o,"utf-8").trim().split(`
|
|
340
|
-
`).filter(
|
|
340
|
+
`).filter(v=>v.trim()),g=[];for(let v of h){let y=null;try{y=JSON.parse(v);}catch{s==="tail"&&g.push({raw:v,e:null});continue}s==="sid"&&y.sid!==l||s==="turn"&&y.turnId!==l||s==="cat"&&y.cat!==l||g.push({raw:v,e:y});}let S=g.slice(-f),b=S.map(({raw:v,e:y})=>{if(!y)return ` ${v.slice(0,120)}`;let T=y.t?.split("T")[1]?.slice(0,12)??"",C=(y.l??"").toUpperCase().padEnd(5),A=y.msg??"",D=` ${T} ${C}`;s!=="turn"&&y.turnId&&(D+=` [t#${y.turn}/${y.turnId}]`),s==="tail"&&y.cat&&(D+=` ${y.cat}`);let P="",M=y.d;return M&&(M.duration_ms!==void 0?P+=` ${M.duration_ms}ms`:M.latencyMs!==void 0&&(P+=` ${M.latencyMs}ms`),M.ttft_ms!==void 0&&(P+=` ttft=${M.ttft_ms}ms`),M.usage?.totalTokens&&(P+=` ${M.usage.totalTokens}tok`),M.tool&&(P+=` tool=${M.tool}`),M.decision&&(P+=` decision=${M.decision}`),M.approved!==void 0&&(P+=` approved=${M.approved}`),M.stopReason&&(P+=` [${M.stopReason}]`),M.error&&(P+=` err=${M.error.slice(0,80)}`)),`${D} ${A}${P}`}),w=s==="tail"?`Recent logs (${S.length}/${h.length})`:`Logs filtered by ${s}=${l} (${S.length}/${g.length}, scanned ${h.length})`;e.addStatus(`${w}:
|
|
341
341
|
${b.join(`
|
|
342
|
-
`)}`);}catch(m){e.addStatus(`Error reading logs: ${m.message}`);}},"execute")}];h();var
|
|
342
|
+
`)}`);}catch(m){e.addStatus(`Error reading logs: ${m.message}`);}},"execute")}];h();var bg=[{name:"/files",description:"List files in the current working directory",usage:"/files [pattern]",execute:a((t,e)=>{try{let n=t.trim(),r;n?r=`find . -maxdepth 3 -name "${n}" -not -path '*/node_modules/*' -not -path '*/.git/*' | head -50`:r="find . -maxdepth 2 -type f -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' | head -50";let o=execSync(r,{cwd:e.cwd,encoding:"utf-8",timeout:1e4}).trim();if(!o)e.addStatus("No files found.");else {let i=o.split(`
|
|
343
343
|
`).length;e.addStatus(`Files (${i}, max 50 shown):
|
|
344
344
|
${o}`);}}catch(n){e.addStatus(`Error: ${n.message}`);}},"execute")},{name:"/release-notes",aliases:["/changelog","/whatsnew"],description:"Show recent changes and release notes",execute:a((t,e)=>{let n=[join(e.cwd,"CHANGELOG.md"),join(e.cwd,"CHANGES.md"),join(e.cwd,"HISTORY.md")];for(let r of n)if(existsSync(r)){let o=readFileSync(r,"utf-8");e.addStatus(o.slice(0,2e3)+(o.length>2e3?`
|
|
345
345
|
... (truncated)`:""));return}try{let r=execSync("git log --oneline -20",{cwd:e.cwd,encoding:"utf-8",timeout:5e3}).trim();e.addStatus(`Recent commits:
|
|
@@ -360,40 +360,40 @@ Focus on: SQL/Command injection, auth bypass, hardcoded secrets, XSS, path trave
|
|
|
360
360
|
For each finding provide: file:line, severity (HIGH/MEDIUM), description, exploit scenario, fix.
|
|
361
361
|
If no issues found, say so clearly.`,l=await e.client.run(s,e.sessionId);e.setSessionId(l.sessionId);}catch(n){e.addStatus(`Security review failed: ${n.message}`);}e.setIsRunning(false);},"execute")},{name:"/feedback",aliases:["/bug"],description:"Report a bug or provide feedback",usage:"/feedback [description]",execute:a((t,e)=>{let n=t.trim();if(!n){e.addStatus(`Usage: /feedback <description>
|
|
362
362
|
Include what you expected, what happened, steps to reproduce.`);return}let r=join(homedir(),".code-shell","feedback");try{let{mkdirSync:o,appendFileSync:i}=b$2("fs");o(r,{recursive:!0});let s={timestamp:new Date().toISOString(),model:e.model,sessionId:e.sessionId,description:n,platform:`${process.platform} ${process.arch}`};i(join(r,"feedback.jsonl"),JSON.stringify(s)+`
|
|
363
|
-
`,"utf-8"),e.addStatus("Feedback saved. Thank you!");}catch{e.addStatus(`Feedback noted: "${n}". Could not save locally.`);}},"execute")}];h();var sv=0;function vc(t){return {...t,id:`e${++sv}`}}a(vc,"createEntry");var Sc=class{static{a(this,"ChatStore");}entries=[];listeners=new Set;getEntries(){return this.entries}setEntries(e){this.entries=e,this.notify();}append(e){this.entries=[...this.entries,vc(e)],this.notify();}update(e){this.entries=e(this.entries),this.notify();}clear(){this.entries=[],this.notify();}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notify(){for(let e of this.listeners)e();}},Te=new Sc;h();h();function hg(t,e){if(t<6e4)return t===0?"0s":t<1?`${(t/1e3).toFixed(1)}s`:`${Math.floor(t/1e3).toString()}s`;let n=Math.floor(t/864e5),r=Math.floor(t%864e5/36e5),o=Math.floor(t%36e5/6e4),i=Math.round(t%6e4/1e3);i===60&&(i=0,o++),o===60&&(o=0,r++),r===24&&(r=0,n++);let s=e?.hideTrailingZeros;return e?.mostSignificantOnly?n>0?`${n}d`:r>0?`${r}h`:o>0?`${o}m`:`${i}s`:n>0?s&&r===0&&o===0?`${n}d`:s&&o===0?`${n}d ${r}h`:`${n}d ${r}h ${o}m`:r>0?s&&o===0&&i===0?`${r}h`:s&&i===0?`${r}h ${o}m`:`${r}h ${o}m ${i}s`:o>0?s&&i===0?`${o}m`:`${o}m ${i}s`:`${i}s`}a(hg,"formatDuration");var wc=null,Tc=null,av=a(t=>t?(wc||(wc=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:1})),wc):(Tc||(Tc=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0})),Tc),"getNumberFormatter");function lv(t){let e=t>=1e3;return av(e).format(t).toLowerCase()}a(lv,"formatNumber");function ki(t){return lv(t).replace(".0","")}a(ki,"formatTokens");var Wn=new Xs;Wn.registerAll(ng);Wn.registerAll(lg);Wn.register(ug);Wn.registerAll(dg);Wn.registerAll(fg);Wn.registerAll(pg);Wn.registerAll(gg);var Ie=vc;function bg({client:t,model:e,effort:n,maxTurns:r,cwd:o,maxContextTokens:i,sessionId:s,prefill:l}){let{exit:c$1}=Bl(),[d,f]=useState(l??""),m=useSyncExternalStore(Te.subscribe.bind(Te),Te.getEntries.bind(Te)),[h,g]=useState([]),v=useRef(null);useEffect(()=>(h.length>0&&h.every(R=>R.status==="completed"||R.status==="stopped")&&(v.current=setTimeout(()=>g([]),3e3)),()=>{v.current&&clearTimeout(v.current);}),[h]);let[b,w]=useState(false),[S,y]=useState(s),[T,E]=useState(e),A=useRef(null),[D,N]=useState(true),[M,_]=useState(0),[L,O]=useState(0),[I,K]=useState(0),[z,ke]=useState(n),[Re,mt]=useState("normal"),[Ce,Z]=useState(null),[ne,H]=useState(null),[me,pe]=useState(false),[_e,Ue]=useState(null),[Ye,ot]=useState(null),[re,Ze]=useState(null),[Xe,Nt]=useState(null),Ge=useRef(0),Ee=useRef(0),[bt,xt]=useState("thinking"),[kn,Ft]=useState(null),[St,an]=useState("prompt"),[Fe,vt]=useState(null),{dividerIndex:G,showPill:$,unseenCount:U,onScrollToBottom:Y}=hp(m.length);useEffect(()=>{b&&(Ee.current=Date.now());},[b]),useEffect(()=>{let R=a((P,B)=>{if(B.toolName==="__ask_user__"){let F=B.args??{},j=F.options,q=Array.isArray(j)&&j.every(be=>typeof be=="object"&&be!==null&&typeof be.label=="string"&&typeof be.description=="string")?j:void 0;H({requestId:P,question:B.description,header:typeof F.header=="string"?F.header:void 0,options:q,multiSelect:F.multiSelect===true});return}Z({requestId:P,toolName:B.toolName,description:B.description,riskLevel:B.riskLevel,args:B.args});},"handleApproval");return t.onApprovalRequest(R),()=>t.offApprovalRequest(R)},[t]);let ge=useRef(new Map),V=useRef(null),de=useCallback(()=>{V.current=null;let R=ge.current;if(R.size===0)return;let P=new Map(R);R.clear(),Te.update(B=>{let F=B;for(let[j,q]of P){let be=dv(F,it=>it.type==="assistant_text"&&it.streaming&&it.agentId===j);if(be>=0){let it=F[be];F=[...F],F[be]={...it,text:it.text+q};}else F=[...F.filter(it=>!(it.type==="thinking"&&it.agentId===j)),Ie({type:"assistant_text",text:q,streaming:true,agentId:j})];}return F});},[]);useEffect(()=>()=>{V.current&&clearTimeout(V.current);},[]);let lt=useCallback(R=>{let P=R.agentId;switch(R.type){case "session_started":y(R.sessionId),R.promptTokens>0&&K(R.promptTokens);break;case "stream_request_start":xt("thinking"),Ft(null),Te.update(B=>[...B.filter(j=>!(j.type==="thinking"&&j.agentId===P)),Ie({type:"thinking",agentId:P})]);break;case "thinking_delta":Ft(B=>(B??"")+R.text);break;case "text_delta":{xt("responding");let B=ge.current.get(P)??"";ge.current.set(P,B+R.text),Ge.current+=R.tokens??0,V.current||(V.current=setTimeout(de,50));break}case "tool_use_start":{if(xt("tool-use"),V.current&&(clearTimeout(V.current),V.current=null),de(),P!==void 0)break;let B=R.toolCall;Te.update(F=>[...F.map(q=>q.type==="assistant_text"&&q.streaming&&q.agentId===P?{...q,streaming:false}:q).filter(q=>!(q.type==="thinking"&&q.agentId===P)&&!(q.type==="tool_running"&&q.agentId===P)),Ie({type:"tool_start",toolName:B.toolName,args:B.args,toolCallId:B.id,agentId:P}),Ie({type:"tool_running",toolName:B.toolName,agentId:P})]);break}case "tool_use_args_delta":{if(P!==void 0)break;let{toolCallId:B,args:F}=R;Te.update(j=>j.map(q=>q.type==="tool_start"&&q.toolCallId===B?{...q,args:F}:q));break}case "tool_result":{if(P!==void 0)break;let B=R.result,F=B.toolName==="Arena"&&typeof B.result=="string"&&B.result.startsWith("Arena error:");Te.update(j=>[...j.filter(be=>!(be.type==="tool_running"&&be.agentId===P)),Ie({type:"tool_result",toolName:B.toolName,result:B.result,error:B.error,agentId:P,compact:F})]);break}case "agent_start":{let B=R;Te.update(F=>[...F,Ie({type:"agent_start",agentId:B.agentId,description:B.description})]);break}case "agent_end":{let B=R;Te.update(F=>[...F.filter(q=>!(q.agentId===B.agentId&&(q.type==="thinking"||q.type==="tool_running"))),Ie({type:"agent_end",agentId:B.agentId,description:B.description,error:B.error})]);break}case "task_update":{let B=R;B.tasks&&g(B.tasks);break}case "context_compact":{let B=R,F=B.before-B.after,j=B.before>0?Math.round(F/B.before*100):0,q=`\u2500\u2500 context compacted (${B.strategy}, ${ki(B.before)} \u2192 ${ki(B.after)}, -${j}%) \u2500\u2500`;Te.update(be=>[...be,Ie({type:"system",subtype:"compact_boundary",text:q})]),K(B.after);break}case "error":{let B=R.error,F=pv(B);Te.update(j=>[...j.filter(be=>!(be.type==="thinking"&&be.agentId===P)&&!(be.type==="tool_running"&&be.agentId===P)),Ie({type:"error",error:B,errorKind:F,agentId:P})]);break}}},[de]);useEffect(()=>(t.onStreamEvent(lt),()=>t.offStreamEvent(lt)),[t,lt]);let De=useCallback(async()=>{try{let P=(await t.query("models")).data??[];Ue(P);}catch(R){Te.update(P=>[...P,Ie({type:"status",reason:`Failed to load models: ${R.message}`})]);}},[t]),It=useCallback(async()=>{try{let B=((await t.query("sessions")).data??[]).filter(F=>(F.preview??"").trim().length>0);if(B.length===0){Te.update(F=>[...F,Ie({type:"status",reason:"No sessions to resume."})]);return}ot(B);}catch(R){Te.update(P=>[...P,Ie({type:"status",reason:`Failed to load sessions: ${R.message}`})]);}},[t]),$t=useCallback(async()=>{let[R,P,B,F]=await Promise.all([t.query("models"),t.query("config_get","arena.participants"),t.query("providers"),import('../openrouter-models-AM6M52D6.js')]),j=R.data??[],q=F.getOpenRouterSnapshot(),be=P.data?.value,it=Array.isArray(be)?be.map(se=>{if(typeof se=="string")return {kind:"key",value:se};if(se&&typeof se=="object"){let wr=se;return {kind:"object",label:wr.name??wr.model??"(\u672A\u547D\u540D)"}}return {kind:"object",label:String(se)}}):[],ln=(Array.isArray(B.data)?B.data:[]).filter(se=>!!se&&typeof se=="object").map(se=>{let wr=typeof se.key=="string"?se.key:"",cn=typeof se.label=="string"?se.label:wr,Tr=typeof se.kind=="string"?se.kind:"unknown",Lo=typeof se.baseUrl=="string"?se.baseUrl:void 0,Bo=typeof se.apiKey=="string"?se.apiKey:void 0,_i=typeof se.protocol=="string"?se.protocol:void 0,Mi=typeof se.modelsPath=="string"?se.modelsPath:void 0;return {key:wr,label:cn,kind:Tr,modelCount:typeof se.modelCount=="number"?se.modelCount:0,cachedModels:typeof se.cachedModels=="number"?se.cachedModels:void 0,cachedAt:typeof se.cachedAt=="string"?se.cachedAt:void 0,baseUrl:Lo,apiKey:Bo,protocol:_i,modelsPath:Mi}}).filter(se=>se.key.length>0);return {entries:j,snapshot:{count:q.count,fetchedAt:q.fetchedAt},arenaParticipants:it,providers:ln}},[t]),Yt=useCallback(async()=>{try{let R=await $t();Ze(R);}catch(R){Te.update(P=>[...P,Ie({type:"status",reason:`Failed to open model manager: ${R.message}`})]);}},[$t]),vr=useCallback(async()=>{try{let R=await $t();Ze(R);}catch(R){Te.update(P=>[...P,Ie({type:"status",reason:`Failed to refresh model manager: ${R.message}`})]);}},[$t]),Rn=useCallback(async()=>{try{let R=await $t();Ze(R);}catch(R){Te.update(P=>[...P,Ie({type:"status",reason:`Could not load existing config (continuing with empty list): ${R.message}`})]);}pe(true);},[$t]);rt((R,P)=>{if(P.ctrl&&R==="c"&&(b?(V.current&&(clearTimeout(V.current),V.current=null),de(),Te.update(B=>B.filter(F=>F.type!=="thinking"&&F.type!=="tool_running").map(F=>F.type==="assistant_text"&&F.streaming?{...F,streaming:false}:F)),t.cancel().catch(()=>{})):c$1()),P.shift&&P.tab&&!b&&mt(B=>{let F=["plan","normal","bypass"],j=F[(F.indexOf(B)+1)%F.length];return t.configure({planMode:j==="plan",bypassPermissions:j==="bypass"}).catch(()=>{}),j}),P.escape&&b&&!ne&&!Ce&&!me&&!_e&&!re&&!Ye&&(V.current&&(clearTimeout(V.current),V.current=null),de(),Te.update(B=>B.filter(F=>F.type!=="thinking"&&F.type!=="tool_running").map(F=>F.type==="assistant_text"&&F.streaming?{...F,streaming:false}:F)),t.cancel().catch(()=>{}),Gm()),P.meta&&R==="m"&&!b&&!me&&!_e&&!re){De();return}if(P.ctrl&&R==="o"){an(B=>B==="transcript"?(vt(null),"prompt"):"transcript");return}if(St==="transcript"){let B=m.filter(F=>F.type==="user"||F.type==="assistant_text"||F.type==="tool_result");P.upArrow?vt(F=>F===null?B.length-1:Math.max(0,F-1)):P.downArrow?vt(F=>F===null?0:Math.min(B.length-1,F+1)):P.escape&&vt(null);}});let J=useCallback(async R=>{let P=R.trim();if(!P)return;let B=P.split(/\s+/)[0]?.toLowerCase();if(!(b&&!new Set(["/sid","/help"]).has(B??""))){if(b?f(""):(f(""),N(false),Y()),P.startsWith("/")){Se(P);return}Te.update(j=>[...j,Ie({type:"user",text:P})]),w(true),Ge.current=0,c.reset();try{let j=P;A.current&&(j=`<context>
|
|
364
|
-
${
|
|
363
|
+
`,"utf-8"),e.addStatus("Feedback saved. Thank you!");}catch{e.addStatus(`Feedback noted: "${n}". Could not save locally.`);}},"execute")}];h();var uv=0;function Cc(t){return {...t,id:`e${++uv}`}}a(Cc,"createEntry");var Ec=class{static{a(this,"ChatStore");}entries=[];listeners=new Set;getEntries(){return this.entries}setEntries(e){this.entries=e,this.notify();}append(e){this.entries=[...this.entries,Cc(e)],this.notify();}update(e){let n=this.entries.length;this.entries=e(this.entries);let r=this.entries.length;process.env.CODE_SHELL_DEBUG_CHAT&&console.error(`[chatStore.update] ${n} -> ${r}, listeners=${this.listeners.size}`),this.notify();}clear(){this.entries=[],this.notify();}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notify(){for(let e of this.listeners)e();}},we=new Ec;h();h();function xg(t,e){if(t<6e4)return t===0?"0s":t<1?`${(t/1e3).toFixed(1)}s`:`${Math.floor(t/1e3).toString()}s`;let n=Math.floor(t/864e5),r=Math.floor(t%864e5/36e5),o=Math.floor(t%36e5/6e4),i=Math.round(t%6e4/1e3);i===60&&(i=0,o++),o===60&&(o=0,r++),r===24&&(r=0,n++);let s=e?.hideTrailingZeros;return e?.mostSignificantOnly?n>0?`${n}d`:r>0?`${r}h`:o>0?`${o}m`:`${i}s`:n>0?s&&r===0&&o===0?`${n}d`:s&&o===0?`${n}d ${r}h`:`${n}d ${r}h ${o}m`:r>0?s&&o===0&&i===0?`${r}h`:s&&i===0?`${r}h ${o}m`:`${r}h ${o}m ${i}s`:o>0?s&&i===0?`${o}m`:`${o}m ${i}s`:`${i}s`}a(xg,"formatDuration");var kc=null,Rc=null,dv=a(t=>t?(kc||(kc=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:1})),kc):(Rc||(Rc=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1,minimumFractionDigits:0})),Rc),"getNumberFormatter");function fv(t){let e=t>=1e3;return dv(e).format(t).toLowerCase()}a(fv,"formatNumber");function Ai(t){return fv(t).replace(".0","")}a(Ai,"formatTokens");var ra=b$1.child({cat:"ui"}),$n=new ea;$n.registerAll(ig);$n.registerAll(dg);$n.register(mg);$n.registerAll(pg);$n.registerAll(gg);$n.registerAll(yg);$n.registerAll(bg);var Ae=Cc;function vg({client:t,model:e,effort:n,maxTurns:r,cwd:o,maxContextTokens:i,sessionId:s,prefill:l}){let{exit:c$1}=Hl(),[d,f]=useState(l??""),m=useSyncExternalStore(we.subscribe.bind(we),we.getEntries.bind(we)),[h,g$1]=useState([]),S=useRef(null);useEffect(()=>(h.length>0&&h.every(E=>E.status==="completed"||E.status==="stopped")&&(S.current=setTimeout(()=>g$1([]),3e3)),()=>{S.current&&clearTimeout(S.current);}),[h]);let[b,w]=useState(false),[v,y]=useState(s),T=useRef(s);useEffect(()=>{T.current=v;},[v]);let[C,A]=useState(e),D=useRef(null),[P,M]=useState(true),[_,B]=useState(0),[I,L]=useState(0),[K,z]=useState(0),[Te,_e]=useState(n),[gt,rt]=useState("normal"),[q,pe]=useState(null),[$,ue]=useState(null),[fe,Ne]=useState(false),[We,qe]=useState(null),[ct,be]=useState(null),[De,ke]=useState(null),[Wt,Ve]=useState(null),Ee=useRef(0),ut=useRef(0),[Dt,Ht]=useState("thinking"),[cn,qt]=useState(null),[ht,ot]=useState("prompt"),[yt,H]=useState(null),{dividerIndex:F,showPill:U,unseenCount:j,onScrollToBottom:ge}=xp(m.length);useEffect(()=>{b&&(ut.current=Date.now());},[b]),useEffect(()=>{let E=a((O,Y)=>{if(Y.toolName==="__ask_user__"){let N=Y.args??{},G=N.options,te=Array.isArray(G)&&G.every(re=>typeof re=="object"&&re!==null&&typeof re.label=="string"&&typeof re.description=="string")?G:void 0;ue({requestId:O,question:Y.description,header:typeof N.header=="string"?N.header:void 0,options:te,multiSelect:N.multiSelect===true});return}pe({requestId:O,toolName:Y.toolName,description:Y.description,riskLevel:Y.riskLevel,args:Y.args});},"handleApproval");return t.onApprovalRequest(E),()=>t.offApprovalRequest(E)},[t]);let oe=useRef(new Map),Q=useRef(null),ze=useCallback(()=>{Q.current=null;let E=oe.current;if(E.size===0)return;let O=new Map(E);E.clear(),we.update(Y=>{let N=Y;for(let[G,te]of O){let re=gv(N,Re=>Re.type==="assistant_text"&&Re.streaming&&Re.agentId===G);if(re>=0){let Re=N[re];N=[...N],N[re]={...Re,text:Re.text+te};}else N=[...N.filter(Re=>!(Re.type==="thinking"&&Re.agentId===G)),Ae({type:"assistant_text",text:te,streaming:true,agentId:G})];}return N});},[]);useEffect(()=>()=>{Q.current&&clearTimeout(Q.current);},[]);let Le=useCallback(E=>{let O=E.agentId;ra.info("debug.stream.event",{type:E.type,agentId:O});let Y=E.type==="session_started"?E.sessionId:T.current;switch(g(Y,"ui.stream_event",{type:E.type,agentId:O}),E.type){case "session_started":y(E.sessionId),E.promptTokens>0&&(ra.info("debug.ctx.set",{from:"session_started",value:E.promptTokens}),g(E.sessionId,"ui.ctx.set",{from:"session_started",value:E.promptTokens}),z(E.promptTokens));break;case "stream_request_start":Ht("thinking"),qt(null),Ee.current=0,we.update(N=>[...N.filter(te=>!(te.type==="thinking"&&te.agentId===O)),Ae({type:"thinking",agentId:O})]);break;case "thinking_delta":qt(N=>(N??"")+E.text);break;case "text_delta":{Ht("responding");let N=oe.current.get(O)??"";oe.current.set(O,N+E.text),Ee.current+=E.tokens??0,Q.current||(Q.current=setTimeout(ze,50));break}case "tool_use_start":{if(Ht("tool-use"),Q.current&&(clearTimeout(Q.current),Q.current=null),ze(),O!==void 0)break;let N=E.toolCall;we.update(G=>[...G.map(re=>re.type==="assistant_text"&&re.streaming&&re.agentId===O?{...re,streaming:false}:re).filter(re=>!(re.type==="thinking"&&re.agentId===O)&&!(re.type==="tool_running"&&re.agentId===O)),Ae({type:"tool_start",toolName:N.toolName,args:N.args,toolCallId:N.id,agentId:O}),Ae({type:"tool_running",toolName:N.toolName,agentId:O})]);break}case "tool_use_args_delta":{if(O!==void 0)break;let{toolCallId:N,args:G}=E;we.update(te=>te.map(re=>re.type==="tool_start"&&re.toolCallId===N?{...re,args:G}:re));break}case "tool_result":{if(O!==void 0)break;let N=E.result,G=N.toolName==="Arena"&&typeof N.result=="string"&&N.result.startsWith("Arena error:");we.update(te=>[...te.filter(Re=>!(Re.type==="tool_running"&&Re.agentId===O)),Ae({type:"tool_result",toolName:N.toolName,result:N.result,error:N.error,agentId:O,compact:G})]);break}case "agent_start":{let N=E;we.update(G=>[...G,Ae({type:"agent_start",agentId:N.agentId,description:N.description})]);break}case "agent_end":{let N=E;we.update(G=>[...G.filter(re=>!(re.agentId===N.agentId&&(re.type==="thinking"||re.type==="tool_running"))),Ae({type:"agent_end",agentId:N.agentId,description:N.description,error:N.error})]);break}case "task_update":{let N=E;N.tasks&&g$1(N.tasks);break}case "context_compact":{let N=E,G=N.before-N.after,te=N.before>0?Math.round(G/N.before*100):0,re=`\u2500\u2500 context compacted (${N.strategy}, ${Ai(N.before)} \u2192 ${Ai(N.after)}, -${te}%) \u2500\u2500`;we.update(Re=>[...Re,Ae({type:"system",subtype:"compact_boundary",text:re})]),ra.info("debug.ctx.set",{from:"context_compact",value:N.after}),g(T.current,"ui.ctx.set",{from:"context_compact",value:N.after}),z(N.after);break}case "usage_update":{ra.info("debug.ctx.usage_update",{promptTokens:E.promptTokens}),g(T.current,"ui.ctx.usage_update",{promptTokens:E.promptTokens}),E.promptTokens>0&&z(E.promptTokens);break}case "error":{let N=E.error,G=bv(N);we.update(te=>[...te.filter(Re=>!(Re.type==="thinking"&&Re.agentId===O)&&!(Re.type==="tool_running"&&Re.agentId===O)),Ae({type:"error",error:N,errorKind:G,agentId:O})]);break}}},[ze]);useEffect(()=>(t.onStreamEvent(Le),()=>t.offStreamEvent(Le)),[t,Le]);let Pt=useCallback(async()=>{try{let O=(await t.query("models")).data??[];qe(O);}catch(E){we.update(O=>[...O,Ae({type:"status",reason:`Failed to load models: ${E.message}`})]);}},[t]),Wn=useCallback(async()=>{try{let Y=((await t.query("sessions")).data??[]).filter(N=>(N.preview??"").trim().length>0);if(Y.length===0){we.update(N=>[...N,Ae({type:"status",reason:"No sessions to resume."})]);return}be(Y);}catch(E){we.update(O=>[...O,Ae({type:"status",reason:`Failed to load sessions: ${E.message}`})]);}},[t]),kt=useCallback(async()=>{let[E,O,Y,N]=await Promise.all([t.query("models"),t.query("config_get","arena.participants"),t.query("providers"),import('../openrouter-models-GZVCRWD2.js')]),G=E.data??[],te=N.getOpenRouterSnapshot(),re=O.data?.value,Re=Array.isArray(re)?re.map(se=>{if(typeof se=="string")return {kind:"key",value:se};if(se&&typeof se=="object"){let Lt=se;return {kind:"object",label:Lt.name??Lt.model??"(\u672A\u547D\u540D)"}}return {kind:"object",label:String(se)}}):[],_n=(Array.isArray(Y.data)?Y.data:[]).filter(se=>!!se&&typeof se=="object").map(se=>{let Lt=typeof se.key=="string"?se.key:"",lr=typeof se.label=="string"?se.label:Lt,$o=typeof se.kind=="string"?se.kind:"unknown",Wo=typeof se.baseUrl=="string"?se.baseUrl:void 0,Ni=typeof se.apiKey=="string"?se.apiKey:void 0,Pi=typeof se.protocol=="string"?se.protocol:void 0,Oi=typeof se.modelsPath=="string"?se.modelsPath:void 0;return {key:Lt,label:lr,kind:$o,modelCount:typeof se.modelCount=="number"?se.modelCount:0,cachedModels:typeof se.cachedModels=="number"?se.cachedModels:void 0,cachedAt:typeof se.cachedAt=="string"?se.cachedAt:void 0,baseUrl:Wo,apiKey:Ni,protocol:Pi,modelsPath:Oi}}).filter(se=>se.key.length>0);return {entries:G,snapshot:{count:te.count,fetchedAt:te.fetchedAt},arenaParticipants:Re,providers:_n}},[t]),ar=useCallback(async()=>{try{let E=await kt();ke(E);}catch(E){we.update(O=>[...O,Ae({type:"status",reason:`Failed to open model manager: ${E.message}`})]);}},[kt]),Vt=useCallback(async()=>{try{let E=await kt();ke(E);}catch(E){we.update(O=>[...O,Ae({type:"status",reason:`Failed to refresh model manager: ${E.message}`})]);}},[kt]),V=useCallback(async()=>{try{let E=await kt();ke(E);}catch(E){we.update(O=>[...O,Ae({type:"status",reason:`Could not load existing config (continuing with empty list): ${E.message}`})]);}Ne(true);},[kt]);lt((E,O)=>{if(O.ctrl&&E==="c"&&(b?(Q.current&&(clearTimeout(Q.current),Q.current=null),ze(),we.update(Y=>Y.filter(N=>N.type!=="thinking"&&N.type!=="tool_running").map(N=>N.type==="assistant_text"&&N.streaming?{...N,streaming:false}:N)),t.cancel().catch(()=>{})):c$1()),O.shift&&O.tab&&!b&&rt(Y=>{let N=["plan","normal","bypass"],G=N[(N.indexOf(Y)+1)%N.length];return t.configure({planMode:G==="plan",bypassPermissions:G==="bypass"}).catch(()=>{}),G}),O.escape&&b&&!$&&!q&&!fe&&!We&&!De&&!ct&&(Q.current&&(clearTimeout(Q.current),Q.current=null),ze(),we.update(Y=>Y.filter(N=>N.type!=="thinking"&&N.type!=="tool_running").map(N=>N.type==="assistant_text"&&N.streaming?{...N,streaming:false}:N)),t.cancel().catch(()=>{}),Ym()),O.meta&&E==="m"&&!b&&!fe&&!We&&!De){Pt();return}if(O.ctrl&&E==="o"){ot(Y=>Y==="transcript"?(H(null),"prompt"):"transcript");return}if(ht==="transcript"){let Y=m.filter(N=>N.type==="user"||N.type==="assistant_text"||N.type==="tool_result");O.upArrow?H(N=>N===null?Y.length-1:Math.max(0,N-1)):O.downArrow?H(N=>N===null?0:Math.min(Y.length-1,N+1)):O.escape&&H(null);}});let Ce=useCallback(async E=>{let O=E.trim();if(!O)return;let Y=O.split(/\s+/)[0]?.toLowerCase();if(!(b&&!new Set(["/sid","/help"]).has(Y??""))){if(b?f(""):(f(""),M(false),ge()),O.startsWith("/")){me(O);return}we.update(G=>[...G,Ae({type:"user",text:O})]),w(true),Ee.current=0,c.reset();try{let G=O;D.current&&(G=`<context>
|
|
364
|
+
${D.current}
|
|
365
365
|
</context>
|
|
366
366
|
|
|
367
|
-
${P}`,A.current=null);let q=await t.run(j,S);V.current&&(clearTimeout(V.current),V.current=null),de(),Te.update(ln=>ln.filter(se=>se.type!=="thinking"&&se.type!=="tool_running").map(se=>se.type==="assistant_text"&&se.streaming?{...se,streaming:!1}:se)),y(q.sessionId),q.usage&&q.usage.totalTokens>0&&K(q.usage.promptTokens),_(at.getTotalTokens().total),O(at.getEstimatedCost());let be=Date.now()-Ee.current,it=q.usage?at.estimateForTokens(T,q.usage.promptTokens,q.usage.completionTokens):0,Mn=[hg(be)];q.usage&&q.usage.totalTokens>0&&(Mn.push(`${ki(q.usage.totalTokens)} tokens`),q.usage.cacheReadTokens&&Mn.push(`${ki(q.usage.cacheReadTokens)} cached`)),it>0&&Mn.push(`$${it.toFixed(4)}`),Te.update(ln=>[...ln,Ie({type:"system",subtype:"turn_duration",text:Mn.join(" \xB7 ")})]),q.reason!=="completed"&&Te.update(ln=>[...ln,Ie({type:"status",reason:q.reason})]);}catch(j){Te.update(q=>[...q,Ie({type:"error",error:j.message})]);}w(false),xt("thinking"),Ft(null);}},[t,S,T,b,de]),Se=useCallback(R=>{if(R.trim().toLowerCase()==="/help"){ie(Wn.helpText());return}let P={client:t,cwd:o,model:T,setModel:E,sessionId:S,setSessionId:y,setIsRunning:w,addStatus:ie,addMessage:ct,setNextContext:a(B=>{A.current=B;},"setNextContext"),exit:c$1,effort:z,setEffort:ke,tasks:h,clearChat:a(()=>{Te.clear(),g([]),N(true);},"clearChat"),chatLog:m,startOnboarding:Rn,openModelSelector:De,openSessionPicker:It,openModelManager:Yt,loadChatEntries:a(B=>{let F=B.map(j=>{switch(j.type){case "user":return Ie({type:"user",text:j.text??""});case "assistant_text":return Ie({type:"assistant_text",text:j.text??"",streaming:false});case "tool_start":return Ie({type:"tool_start",toolName:j.toolName??"",args:j.args??{}});case "tool_result":return Ie({type:"tool_result",toolName:j.toolName??"",result:j.result,error:j.error});case "status":return Ie({type:"status",reason:j.text??""});default:return Ie({type:"status",reason:""})}}).filter(j=>!(j.type==="status"&&j.reason===""));Te.setEntries(F),g([]);},"loadChatEntries")};Wn.dispatch(R,P);},[t,o,T,E,S,z,h,m,c$1,Rn,De,It,Yt]),ie=a(R=>{Te.update(P=>[...P,Ie({type:"status",reason:R})]);},"addStatus"),ct=a(R=>{Te.update(P=>[...P,Ie({type:"assistant_text",text:R,streaming:false})]);},"addMessage"),et=useMemo(()=>Wn.listCommands(),[]),Ae=useMemo(()=>St!=="transcript"?new Set:new Set(m.filter(R=>R.type==="user"||R.type==="assistant_text"||R.type==="tool_result").map(R=>R.id)),[St,m]),qt=useMemo(()=>Fe===null||St!=="transcript"?null:m.filter(P=>Ae.has(P.id))[Fe]?.id??null,[Fe,St,m,Ae]),_n=St==="transcript",Hn=useCallback((R,P)=>{let B=qt===R.id,F=uv(R,P,_n);return !B||!F?F:jsx(x,{borderStyle:"single",borderColor:"ansi:cyan",borderLeft:true,borderRight:false,borderTop:false,borderBottom:false,paddingLeft:1,children:F},P)},[qt,_n]),ye=jsxs(Fragment,{children:[D&&jsxs(Fragment,{children:[jsx(xm,{model:T,effort:z,maxTurns:r,cwd:o}),jsx(vm,{}),!s&&jsx(Tm,{cwd:o})]}),jsx(Sp,{entries:m,renderEntry:Hn,dividerIndex:G,unseenCount:U}),b&&!ne&&!Ce&&jsx(up,{mode:bt,streamingTokensRef:Ge,runStartRef:Ee,thinkingContent:kn??void 0}),h.length>0&&jsx(op,{tasks:h})]}),qe=Ce?jsx(Ap,{toolName:Ce.toolName,description:Ce.description,riskLevel:Ce.riskLevel,args:Ce.args,cwd:o,onDecision:(R,P)=>{let{requestId:B}=Ce;Z(null);let F=P!=="once";t.approve(B,R?{approved:true,always:F,scope:P}:{approved:false,always:F,scope:P}).catch(()=>{});}}):void 0,kt=process.stdout.columns??80,Wt="\u2500".repeat(kt),ue=jsxs(x,{flexDirection:"column",marginTop:0,children:[jsx(u,{dim:true,children:Wt}),St==="transcript"?jsxs(x,{marginLeft:2,children:[jsx(u,{dim:true,children:"Transcript mode \xB7 ctrl+o to return \xB7 \u2191\u2193 navigate"}),Fe!==null&&jsxs(u,{dim:true,children:[" \xB7 selected: ",Fe+1]})]}):me?jsx(zs,{existingProviders:(re?.providers??[]).map(R=>({key:R.key,label:R.label??R.key,kind:R.kind,baseUrl:R.baseUrl??"",apiKey:R.apiKey})),existingModelKeys:(re?.entries??[]).map(R=>R.key),existingModelIds:(re?.entries??[]).map(R=>R.model),onComplete:async R=>{pe(false),Ze(null);try{let B=(await t.configure({reloadModels:!0,model:R.key}))?.model??R.model;E(B),ie(`\u2713 \u914D\u7F6E\u5DF2\u4FDD\u5B58,\u5DF2\u5207\u6362\u5230: ${R.key} (${B})`);}catch(P){ie(`\u2713 \u914D\u7F6E\u5DF2\u4FDD\u5B58 (${R.model})\u3002\u70ED\u52A0\u8F7D\u5931\u8D25,\u8BF7\u91CD\u542F code-shell: ${P.message}`);}},onCancel:()=>{pe(false),Ze(null),ie("\u5DF2\u53D6\u6D88\u914D\u7F6E\u3002");}}):_e?jsx(Fp,{entries:_e,onSelect:async R=>{Ue(null);try{let F=(await t.configure({model:R}))?.model??R;E(F),ie(`\u2713 \u5207\u6362\u5230: ${R} (${F})`);}catch(P){ie(`\u5207\u6362\u5931\u8D25: ${P.message}`);}},onCancel:()=>Ue(null)}):Ye?jsx(Gp,{entries:Ye,onSelect:R=>{ot(null),Se(`/resume ${R}`);},onCancel:()=>ot(null)}):Xe==="flow"&&re?jsx(Ys,{existingProviders:re.providers.map(R=>({key:R.key,label:R.label??R.key,kind:R.kind,baseUrl:R.baseUrl??"",apiKey:R.apiKey,protocol:R.protocol,modelsPath:R.modelsPath})),existingModelKeys:re.entries.map(R=>R.key),existingModelIds:re.entries.map(R=>R.model),detectedEnvKeys:[],switchToNewModelOnFinish:false,onFinish:async R=>{try{R.addedProvider&&await t.query("provider_add",{provider:R.addedProvider});for(let P of R.addedModels)await t.query("model_add",{model:P});}catch{}Nt(null);try{await t.configure({reloadModels:!0});}catch{}await vr();},onCancel:()=>Nt(null)}):re?jsx(Wp,{entries:re.entries,snapshot:re.snapshot,arenaParticipants:re.arenaParticipants,providers:re.providers,onSaveArena:async R=>{await t.query("config_set","arena.participants",R),Ze(P=>P&&{...P,arenaParticipants:R.map(B=>({kind:"key",value:B}))});},onSwitch:async R=>{let B=(await t.configure({model:R}))?.model??R;E(B),Ze(F=>F&&{...F,entries:F.entries.map(j=>({...j,active:j.key===R}))});},onSync:async()=>{let P=await(await import('../openrouter-sync-5JNBL3Z6.js')).syncOpenRouterCatalog(),F=(await import('../openrouter-models-AM6M52D6.js')).getOpenRouterSnapshot();return Ze(j=>j&&{...j,snapshot:{count:F.count,fetchedAt:F.fetchedAt}}),P},onOpenFlow:()=>Nt("flow"),onRefreshProvider:async R=>({count:0,error:"not implemented in Task 11 \u2014 see Task 12"}),onDeleteProvider:async R=>({ok:false,error:"not implemented in Task 11 \u2014 see Task 12"}),onDeleteModel:async R=>{throw new Error("not implemented in Task 11 \u2014 see Task 12")},onClose:()=>Ze(null)}):ne?jsx(Op,{question:ne.question,header:ne.header,options:ne.options,multiSelect:ne.multiSelect,onAnswer:R=>{let{requestId:P}=ne;H(null),t.approve(P,{approved:true,answer:R}).catch(()=>{});},onCancel:()=>{let{requestId:R}=ne;H(null),t.approve(R,{approved:false,reason:"(user declined to answer)"}).catch(()=>{});}}):!Ce&&jsx(qm,{value:d,onChange:f,onSubmit:J,commands:et,placeholder:b?"Interrupt\u2026 (Ctrl+C to cancel)":void 0}),jsx(u,{dim:true,children:Wt}),jsxs(x,{wrap:"truncate",children:[jsx(mv,{mode:Re}),St==="transcript"&&jsx(u,{color:"ansi:magenta",children:" TRANSCRIPT "}),jsx(x,{flexGrow:1}),jsx(dp,{model:T,effort:z,tokens:M,cost:L,sessionId:S,baseContextTokens:I,maxContextTokens:i,isRunning:b,streamingTokensRef:Ge,runStartRef:Ee})]})]});return jsx(gp,{scrollable:ye,bottom:ue,overlay:qe,newMessageCount:U,showPill:$,onJumpToNew:Y})}a(bg,"App");function uv(t,e,n=false){let r=!!t.agentId;switch(t.type){case "user":return jsx(Cp,{text:t.text},e);case "assistant_text":return r?jsxs(x,{marginLeft:1,children:[jsx(u,{dim:true,children:"\u2502 \u23BF "}),jsx(ac,{text:t.text,streaming:t.streaming,nested:true})]},e):jsx(ac,{text:t.text,streaming:t.streaming},e);case "thinking":return r?jsxs(x,{marginLeft:1,children:[jsx(u,{dim:true,children:"\u2502 \u23BF "}),jsx(Mp,{content:t.content,collapsed:!n,nested:true})]},e):null;case "tool_start":return jsx(Jm,{toolName:t.toolName,args:t.args,nested:r},e);case "tool_running":return jsx(Xm,{toolName:t.toolName,nested:r},e);case "tool_result":return jsx(Qm,{toolName:t.toolName,result:t.result,error:t.error,nested:r,expanded:n},e);case "agent_start":return jsx(tp,{description:t.description,running:true},e);case "agent_end":return jsx(np,{description:t.description,error:t.error},e);case "error":{let o=t.errorKind;return o==="rate_limit"?jsx(Rp,{text:t.error},e):o==="context_limit"?jsx(_p,{},e):jsxs(x,{marginLeft:r?1:0,children:[r&&jsx(u,{dim:true,children:"\u2502 \u23BF "}),jsx(kp,{error:t.error,nested:r})]},e)}case "system":{let o=t;return o.subtype==="compact_boundary"?jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:o.text??"\u2500\u2500 context compacted \u2500\u2500"})},e):o.subtype==="memory_saved"?jsxs(x,{marginLeft:1,marginTop:1,children:[jsx(u,{color:"ansi:magenta",children:"\u2726 "}),jsx(u,{dim:true,children:o.text??"Memory saved"})]},e):o.subtype==="turn_duration"?jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:o.text})},e):jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:o.text??""})},e)}case "status":return jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:t.reason})},e)}}a(uv,"renderEntry");function dv(t,e){for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return -1}a(dv,"findLastIndex");var fv={plan:{symbol:"\u23F5 ",title:"plan read-only",color:"ansi:yellow"},normal:{symbol:"\u23F5\u23F5 ",title:"auto-accept edits",color:"ansi:cyan"},bypass:{symbol:"\u23F5\u23F5\u23F5",title:"bypass permissions",color:"ansi:red"}};function mv({mode:t}){let e=fv[t];return jsxs(x,{children:[jsx(u,{color:e.color,children:e.symbol}),jsx(u,{dim:true,children:" "+e.title+" "}),jsx(u,{dim:true,children:"(shift+tab)"})]})}a(mv,"ModeIndicator");function pv(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("429")||e.includes("too many requests")?"rate_limit":e.includes("context")&&(e.includes("limit")||e.includes("too long")||e.includes("too many tokens"))?"context_limit":e.includes("invalid")&&(e.includes("api key")||e.includes("api_key")||e.includes("authentication"))?"invalid_api_key":e.includes("timeout")||e.includes("timed out")?"api_timeout":e.includes("credit")||e.includes("balance")||e.includes("billing")?"credit_balance":"generic"}a(pv,"classifyError");h();h();var bv={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(255,0,135)",claude:"rgb(215,119,87)",claudeShimmer:"rgb(245,149,117)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(87,105,247)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(117,135,255)",permission:"rgb(87,105,247)",permissionShimmer:"rgb(137,155,255)",planMode:"rgb(0,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(87,105,247)",remember:"rgb(0,0,255)",background:"rgb(0,153,153)",success:"rgb(44,122,57)",error:"rgb(171,43,63)",warning:"rgb(150,108,30)",merged:"rgb(135,0,255)",warningShimmer:"rgb(200,158,80)",diffAdded:"rgb(105,219,124)",diffRemoved:"rgb(255,168,180)",diffAddedDimmed:"rgb(199,225,203)",diffRemovedDimmed:"rgb(253,210,216)",diffAddedWord:"rgb(47,157,68)",diffRemovedWord:"rgb(209,69,75)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(240, 240, 240)",userMessageBackgroundHover:"rgb(252, 252, 252)",messageActionsBackground:"rgb(232, 236, 244)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(87,105,247)",rate_limit_empty:"rgb(39,47,111)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelClaude:"rgb(215,119,87)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},xv={autoAccept:"ansi:magenta",bashBorder:"ansi:magenta",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blue",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blue",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyan",ide:"ansi:blueBright",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:black",inverseText:"ansi:white",inactive:"ansi:blackBright",inactiveShimmer:"ansi:white",subtle:"ansi:blackBright",suggestion:"ansi:blue",remember:"ansi:blue",background:"ansi:cyan",success:"ansi:green",error:"ansi:red",warning:"ansi:yellow",merged:"ansi:magenta",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:red",blue_FOR_SUBAGENTS_ONLY:"ansi:blue",green_FOR_SUBAGENTS_ONLY:"ansi:green",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellow",purple_FOR_SUBAGENTS_ONLY:"ansi:magenta",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyan",professionalBlue:"ansi:blueBright",chromeYellow:"ansi:yellow",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:white",userMessageBackgroundHover:"ansi:whiteBright",messageActionsBackground:"ansi:white",selectionBg:"ansi:cyan",bashMessageBackgroundColor:"ansi:whiteBright",memoryBackgroundColor:"ansi:white",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:black",fastMode:"ansi:red",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blue",briefLabelClaude:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},Sv={autoAccept:"ansi:magentaBright",bashBorder:"ansi:magentaBright",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blueBright",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blueBright",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyanBright",ide:"ansi:blue",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:whiteBright",inverseText:"ansi:black",inactive:"ansi:white",inactiveShimmer:"ansi:whiteBright",subtle:"ansi:white",suggestion:"ansi:blueBright",remember:"ansi:blueBright",background:"ansi:cyanBright",success:"ansi:greenBright",error:"ansi:redBright",warning:"ansi:yellowBright",merged:"ansi:magentaBright",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:redBright",blue_FOR_SUBAGENTS_ONLY:"ansi:blueBright",green_FOR_SUBAGENTS_ONLY:"ansi:greenBright",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellowBright",purple_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyanBright",professionalBlue:"rgb(106,155,204)",chromeYellow:"ansi:yellowBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:blackBright",userMessageBackgroundHover:"ansi:white",messageActionsBackground:"ansi:blackBright",selectionBg:"ansi:blue",bashMessageBackgroundColor:"ansi:black",memoryBackgroundColor:"ansi:blackBright",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:white",fastMode:"ansi:redBright",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blueBright",briefLabelClaude:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},vv={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(0,102,204)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(51,102,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(101,152,255)",permission:"rgb(51,102,255)",permissionShimmer:"rgb(101,152,255)",planMode:"rgb(51,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(51,102,255)",remember:"rgb(51,102,255)",background:"rgb(0,153,153)",success:"rgb(0,102,153)",error:"rgb(204,0,0)",warning:"rgb(255,153,0)",merged:"rgb(135,0,255)",warningShimmer:"rgb(255,183,50)",diffAdded:"rgb(153,204,255)",diffRemoved:"rgb(255,204,204)",diffAddedDimmed:"rgb(209,231,253)",diffRemovedDimmed:"rgb(255,233,233)",diffAddedWord:"rgb(51,102,204)",diffRemovedWord:"rgb(153,51,51)",red_FOR_SUBAGENTS_ONLY:"rgb(204,0,0)",blue_FOR_SUBAGENTS_ONLY:"rgb(0,102,204)",green_FOR_SUBAGENTS_ONLY:"rgb(0,204,0)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,204,0)",purple_FOR_SUBAGENTS_ONLY:"rgb(128,0,128)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,128,0)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,102,178)",cyan_FOR_SUBAGENTS_ONLY:"rgb(0,178,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(220, 220, 220)",userMessageBackgroundHover:"rgb(232, 232, 232)",messageActionsBackground:"rgb(210, 216, 226)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(51,102,255)",rate_limit_empty:"rgb(23,46,114)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelClaude:"rgb(255,153,51)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},wv={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(253,93,177)",claude:"rgb(215,119,87)",claudeShimmer:"rgb(235,159,127)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(147,165,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(177,195,255)",permission:"rgb(177,185,249)",permissionShimmer:"rgb(207,215,255)",planMode:"rgb(72,150,140)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(177,185,249)",remember:"rgb(177,185,249)",background:"rgb(0,204,204)",success:"rgb(78,186,101)",error:"rgb(255,107,128)",warning:"rgb(255,193,7)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,223,57)",diffAdded:"rgb(34,92,43)",diffRemoved:"rgb(122,41,54)",diffAddedDimmed:"rgb(71,88,74)",diffRemovedDimmed:"rgb(105,72,77)",diffAddedWord:"rgb(56,166,96)",diffRemovedWord:"rgb(179,89,107)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(177,185,249)",rate_limit_empty:"rgb(80,83,112)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelClaude:"rgb(215,119,87)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},Tv={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(51,153,255)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(153,204,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(183,224,255)",permission:"rgb(153,204,255)",permissionShimmer:"rgb(183,224,255)",planMode:"rgb(102,153,153)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(153,204,255)",remember:"rgb(153,204,255)",background:"rgb(0,204,204)",success:"rgb(51,153,255)",error:"rgb(255,102,102)",warning:"rgb(255,204,0)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,234,50)",diffAdded:"rgb(0,68,102)",diffRemoved:"rgb(102,0,0)",diffAddedDimmed:"rgb(62,81,91)",diffRemovedDimmed:"rgb(62,44,44)",diffAddedWord:"rgb(0,119,179)",diffRemovedWord:"rgb(179,0,0)",red_FOR_SUBAGENTS_ONLY:"rgb(255,102,102)",blue_FOR_SUBAGENTS_ONLY:"rgb(102,178,255)",green_FOR_SUBAGENTS_ONLY:"rgb(102,255,102)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,255,102)",purple_FOR_SUBAGENTS_ONLY:"rgb(178,102,255)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,178,102)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,153,204)",cyan_FOR_SUBAGENTS_ONLY:"rgb(102,204,204)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(153,204,255)",rate_limit_empty:"rgb(69,92,115)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelClaude:"rgb(255,153,51)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"};function ea(t){switch(t){case "light":return bv;case "light-ansi":return xv;case "dark-ansi":return Sv;case "light-daltonized":return vv;case "dark-daltonized":return Tv;default:return wv}}a(ea,"getTheme");uo.terminal==="Apple_Terminal"?new Chalk({level:2}):ee;h();var Cc;function Ev(){return Cc===void 0&&(Cc=Cv()??"dark"),Cc}a(Ev,"getSystemThemeName");function kc(t){return t==="auto"?Ev():t}a(kc,"resolveThemeSetting");function Cv(){let t=process.env.COLORFGBG;if(!t)return;let e=t.split(";"),n=e[e.length-1];if(n===void 0||n==="")return;let r=Number(n);if(!(!Number.isInteger(r)||r<0||r>15))return r<=6||r===8?"dark":"light"}a(Cv,"detectFromColorFgBg");var Av=createContext({themeName:"dark",theme:ea("dark"),themeSetting:"auto",setThemeSetting:a(()=>{},"setThemeSetting")});function ta({children:t,initialSetting:e="auto"}){let[n,r]=useState(e),o=kc(n),i=ea(o),s=useMemo(()=>({themeName:o,theme:i,themeSetting:n,setThemeSetting:r}),[o,i,n]);return createElement(Av.Provider,{value:s},t)}a(ta,"ThemeProvider");async function Sg(t){let e=t.sessionId??`session-${Date.now()}`;if(Wm(e,t.cwd),b$1.setSid(e),process.env.CODESHELL_NO_MODEL_SYNC!=="1"){let o=b$5();(o.fetchedAt?Date.now()-new Date(o.fetchedAt).getTime():1/0)>1440*60*1e3&&a$4().catch(()=>{});}let n=setInterval(()=>{},2147483647),r=await gi(jsx(ta,{children:jsx(bg,{client:t.client,model:t.model,effort:t.effort,maxTurns:t.maxTurns,cwd:t.cwd,maxContextTokens:t.maxContextTokens,sessionId:t.sessionId,prefill:t.prefill})}),{stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,exitOnCtrlC:true,patchConsole:false});await r.waitUntilExit(),clearInterval(n),Km(),r.cleanup(),process.exit(0);}a(Sg,"startInkRepl");h();async function wg(){let t=setInterval(()=>{},2147483647);return new Promise(e=>{let n,r=false,o=a(i=>{if(!r){r=true,clearInterval(t);try{n.unmount();}catch{}try{n.cleanup();}catch{}e(i);}},"finish");gi(jsx(ta,{children:jsx(zs,{onComplete:i=>o(i),onCancel:()=>o(null)})}),{stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,exitOnCtrlC:true,patchConsole:false}).then(i=>{n=i;});})}a(wg,"runInkOnboarding");function Nv(t){switch(t){case "low":return {temperature:.1,maxTokens:4096};case "medium":return {temperature:.3,maxTokens:8192};case "high":return {temperature:.5,maxTokens:16384};case "max":return {temperature:.7,maxTokens:32768}}}a(Nv,"getEffortConfig");async function Rc(t){let e=process.cwd(),n=new c$2(e).get(),r=M(t.apiKey,n.model.apiKey),o=t.model??n.model.name,i=t.provider??n.model.provider,s=t.baseUrl??n.model.baseUrl;if(!r){process.stdin.isTTY||(console.error(ee.red("Error: No API key configured and stdin is not a TTY. Set --api-key, OPENROUTER_API_KEY, or run interactively to onboard.")),process.exit(1));let y=await wg();y||(console.error(ee.yellow("Onboarding cancelled.")),process.exit(1)),r=y.apiKey,i=y.provider,o=y.model,s=y.baseUrl,n=new c$2(e).get();}o=o??"anthropic/claude-opus-4-6",i=i??"openai",s=s??"https://openrouter.ai/api/v1";let l=t.effort??"high",c=Nv(l),d=t.maxTurns??100,f={provider:i,model:o,apiKey:r,baseUrl:s,temperature:c.temperature??n.model.temperature??.3,maxTokens:n.model.maxTokens??c.maxTokens??8192,enableStreaming:true},m=t.permissionMode??"acceptEdits",h=n.context.maxTokens??2e5,g=new T({llm:f,cwd:e,preset:t.preset??n.agent.preset,enabledBuiltinTools:n.agent.enabledBuiltinTools,disabledBuiltinTools:n.agent.disabledBuiltinTools,permissionMode:m,customSystemPrompt:n.agent.customSystemPrompt,appendSystemPrompt:n.agent.appendSystemPrompt,maxTurns:d,maxContextTokens:h,sessionStorageDir:n.session.storageDir,costStore:at,mcpServers:n.mcpServers,approvalBackend:j()}),[v,b]=Ni();new qr({engine:g,transport:v});let S=new Vr({transport:b});await Sg({client:S,model:o,effort:l,maxTurns:d,cwd:e,maxContextTokens:g.maxContextTokens,sessionId:t.resume,prefill:t.prefill});}a(Rc,"replCommand");h();async function Eg(t){let{cwd:e,permissionMode:n}=t;c$3(),b$1.info("setup.start",{cwd:e,permissionMode:n,level:b$1.getMinLevel()});let r=process.version.match(/^v(\d+)\./)?.[1];(!r||parseInt(r)<18)&&(console.error(ee.bold.red("Error: Code Shell requires Node.js version 18 or higher.")),process.exit(1));try{let{statSync:o}=await import('fs');if(!o(e).isDirectory())throw new Error("not a directory")}catch{console.error(ee.red(`Error: Working directory does not exist: ${e}`)),process.exit(1);}n==="bypassPermissions"&&process.platform!=="win32"&&typeof process.getuid=="function"&&process.getuid()===0&&process.env.IS_SANDBOX!=="1"&&(console.error(ee.red("bypassPermissions cannot be used with root/sudo privileges for security reasons.")),process.exit(1)),process.cwd()!==e&&process.chdir(e);try{let{execSync:o}=await import('child_process');o("git rev-parse --is-inside-work-tree",{cwd:e,stdio:"ignore"});}catch{}}a(Eg,"setup");h();function jr(){let t=process.cwd(),e=new c$2(t).get(),n=M(void 0,e.model.apiKey),r={provider:e.model.provider??"openai",model:e.model.name??"anthropic/claude-opus-4-6",apiKey:n,baseUrl:e.model.baseUrl??"https://openrouter.ai/api/v1",temperature:e.model.temperature,maxTokens:e.model.maxTokens??8192,enableStreaming:true},o=new V;return new ea$1({store:o,executor:{llm:r,maxTurns:30,maxContextTokens:e.context.maxTokens,sessionStorageDir:e.session.storageDir,permissionMode:e.permissions.defaultMode??"acceptEdits",mcpServers:e.mcpServers}})}a(jr,"createRunManager");function na(t){return t?new Date(t).toLocaleString():"\u2014"}a(na,"formatDate");function ra(t){return `${{queued:"[ ]",running:"[>]",waiting_input:"[?]",waiting_approval:"[!]",blocked:"[x]",completed:"[+]",failed:"[-]",cancelled:"[~]"}[t]} ${t}`}a(ra,"formatStatus");function Cg(){let t=new Command("runs").description("Manage long-running agent tasks");return t.command("list").description("List recent runs").option("-n, --limit <n>","Number of runs to show","20").option("-s, --status <status>","Filter by status (queued, running, completed, etc.)").option("-t, --tag <tag>","Filter by tag").action(async e=>{let r=await jr().list({limit:parseInt(e.limit),status:e.status,tag:e.tag});if(r.length===0){console.log("No runs found.");return}console.log(`
|
|
368
|
-
${"ID".padEnd(18)} ${"Status".padEnd(22)} ${"Created".padEnd(22)} Objective`),console.log(" "+"\u2500".repeat(90));for(let o of r){let i=o.runId.slice(0,16),s=
|
|
367
|
+
${O}`,D.current=null);let te=await t.run(G,v);Q.current&&(clearTimeout(Q.current),Q.current=null),ze(),we.update(_n=>_n.filter(se=>se.type!=="thinking"&&se.type!=="tool_running").map(se=>se.type==="assistant_text"&&se.streaming?{...se,streaming:!1}:se)),y(te.sessionId),B(ft.getTotalTokens().total),L(ft.getEstimatedCost());let re=Date.now()-ut.current,Re=te.usage?ft.estimateForTokens(C,te.usage.promptTokens,te.usage.completionTokens):0,Hn=[xg(re)];te.usage&&te.usage.totalTokens>0&&(Hn.push(`${Ai(te.usage.totalTokens)} tokens`),te.usage.cacheReadTokens&&Hn.push(`${Ai(te.usage.cacheReadTokens)} cached`)),Re>0&&Hn.push(`$${Re.toFixed(4)}`),we.update(_n=>[..._n,Ae({type:"system",subtype:"turn_duration",text:Hn.join(" \xB7 ")})]),te.reason!=="completed"&&we.update(_n=>[..._n,Ae({type:"status",reason:te.reason})]);}catch(G){we.update(te=>[...te,Ae({type:"error",error:G.message})]);}w(false),Ht("thinking"),qt(null);}},[t,v,C,b,ze]),me=useCallback(E=>{if(E.trim().toLowerCase()==="/help"){He($n.helpText());return}let O={client:t,cwd:o,model:C,setModel:A,sessionId:v,setSessionId:y,setIsRunning:w,addStatus:He,addMessage:it,setNextContext:a(Y=>{D.current=Y;},"setNextContext"),exit:c$1,effort:Te,setEffort:_e,tasks:h,clearChat:a(()=>{we.clear(),g$1([]),M(true);},"clearChat"),chatLog:m,startOnboarding:V,openModelSelector:Pt,openSessionPicker:Wn,openModelManager:ar,loadChatEntries:a(Y=>{let N=Y.map(G=>{switch(G.type){case "user":return Ae({type:"user",text:G.text??""});case "assistant_text":return Ae({type:"assistant_text",text:G.text??"",streaming:false});case "tool_start":return Ae({type:"tool_start",toolName:G.toolName??"",args:G.args??{}});case "tool_result":return Ae({type:"tool_result",toolName:G.toolName??"",result:G.result,error:G.error});case "status":return Ae({type:"status",reason:G.text??""});default:return Ae({type:"status",reason:""})}}).filter(G=>!(G.type==="status"&&G.reason===""));we.setEntries(N),g$1([]);},"loadChatEntries")};$n.dispatch(E,O);},[t,o,C,A,v,Te,h,m,c$1,V,Pt,Wn,ar]),He=a(E=>{we.update(O=>[...O,Ae({type:"status",reason:E})]);},"addStatus"),it=a(E=>{we.update(O=>[...O,Ae({type:"assistant_text",text:E,streaming:false})]);},"addMessage"),Be=useMemo(()=>$n.listCommands(),[]),zt=useMemo(()=>ht!=="transcript"?new Set:new Set(m.filter(E=>E.type==="user"||E.type==="assistant_text"||E.type==="tool_result").map(E=>E.id)),[ht,m]),kn=useMemo(()=>yt===null||ht!=="transcript"?null:m.filter(O=>zt.has(O.id))[yt]?.id??null,[yt,ht,m,zt]),Rn=ht==="transcript",ye=useCallback((E,O)=>{let Y=kn===E.id,N=pv(E,O,Rn);return !Y||!N?N:jsx(x,{borderStyle:"single",borderColor:"ansi:cyan",borderLeft:true,borderRight:false,borderTop:false,borderBottom:false,paddingLeft:1,children:N},O)},[kn,Rn]),Je=jsxs(Fragment,{children:[P&&jsxs(Fragment,{children:[jsx(wm,{model:C,effort:Te,maxTurns:r,cwd:o}),jsx(Em,{}),!s&&jsx(km,{cwd:o})]}),jsx(Tp,{entries:m,renderEntry:ye,dividerIndex:F,unseenCount:j}),b&&!$&&!q&&jsx(fp,{mode:Dt,streamingTokensRef:Ee,runStartRef:ut,thinkingContent:cn??void 0}),h.length>0&&jsx(sp,{tasks:h})]}),Rt=q?jsx(Op,{toolName:q.toolName,description:q.description,riskLevel:q.riskLevel,args:q.args,cwd:o,onDecision:(E,O)=>{let{requestId:Y}=q;pe(null);let N=O!=="once";t.approve(Y,E?{approved:true,always:N,scope:O}:{approved:false,always:N,scope:O}).catch(()=>{});}}):void 0,Jt=process.stdout.columns??80,ie="\u2500".repeat(Jt),Xe=jsxs(x,{flexDirection:"column",marginTop:0,children:[jsx(u,{dim:true,children:ie}),ht==="transcript"?jsxs(x,{marginLeft:2,children:[jsx(u,{dim:true,children:"Transcript mode \xB7 ctrl+o to return \xB7 \u2191\u2193 navigate"}),yt!==null&&jsxs(u,{dim:true,children:[" \xB7 selected: ",yt+1]})]}):fe?jsx(Qs,{existingProviders:(De?.providers??[]).map(E=>({key:E.key,label:E.label??E.key,kind:E.kind,baseUrl:E.baseUrl??"",apiKey:E.apiKey})),existingModelKeys:(De?.entries??[]).map(E=>E.key),existingModelIds:(De?.entries??[]).map(E=>E.model),onComplete:async E=>{Ne(false),ke(null);try{let Y=(await t.configure({reloadModels:!0,model:E.key}))?.model??E.model;A(Y),He(`\u2713 \u914D\u7F6E\u5DF2\u4FDD\u5B58,\u5DF2\u5207\u6362\u5230: ${E.key} (${Y})`);}catch(O){He(`\u2713 \u914D\u7F6E\u5DF2\u4FDD\u5B58 (${E.model})\u3002\u70ED\u52A0\u8F7D\u5931\u8D25,\u8BF7\u91CD\u542F code-shell: ${O.message}`);}},onCancel:()=>{Ne(false),ke(null),He("\u5DF2\u53D6\u6D88\u914D\u7F6E\u3002");}}):We?jsx(Hp,{entries:We,onSelect:async E=>{qe(null);try{let N=(await t.configure({model:E}))?.model??E;A(N),He(`\u2713 \u5207\u6362\u5230: ${E} (${N})`);}catch(O){He(`\u5207\u6362\u5931\u8D25: ${O.message}`);}},onCancel:()=>qe(null)}):ct?jsx(Yp,{entries:ct,onSelect:E=>{be(null),me(`/resume ${E}`);},onCancel:()=>be(null)}):Wt==="flow"&&De?jsx(zs,{existingProviders:De.providers.map(E=>({key:E.key,label:E.label??E.key,kind:E.kind,baseUrl:E.baseUrl??"",apiKey:E.apiKey,protocol:E.protocol,modelsPath:E.modelsPath})),existingModelKeys:De.entries.map(E=>E.key),existingModelIds:De.entries.map(E=>E.model),detectedEnvKeys:[],switchToNewModelOnFinish:false,onFinish:async E=>{let O=[];try{E.addedProvider&&await t.query("provider_add",{provider:E.addedProvider});}catch(Y){O.push(`provider ${E.addedProvider?.key}: ${Y.message}`);}for(let Y of E.addedModels)try{await t.query("model_add",{model:Y});}catch(N){O.push(`model ${Y.key}: ${N.message}`);}Ve(null);try{await t.configure({reloadModels:!0});}catch{}await Vt(),O.length>0&&we.update(Y=>[...Y,Ae({type:"status",reason:`\u6DFB\u52A0\u90E8\u5206\u5931\u8D25: ${O.join("; ")}`})]);},onCancel:()=>Ve(null)}):De?jsx(Gp,{entries:De.entries,snapshot:De.snapshot,arenaParticipants:De.arenaParticipants,providers:De.providers,onSaveArena:async E=>{await t.query("config_set","arena.participants",E),ke(O=>O&&{...O,arenaParticipants:E.map(Y=>({kind:"key",value:Y}))});},onSwitch:async E=>{let Y=(await t.configure({model:E}))?.model??E;A(Y),ke(N=>N&&{...N,entries:N.entries.map(G=>({...G,active:G.key===E}))});},onSync:async()=>{let O=await(await import('../openrouter-sync-WG4AG5NC.js')).syncOpenRouterCatalog(),N=(await import('../openrouter-models-GZVCRWD2.js')).getOpenRouterSnapshot();return ke(G=>G&&{...G,snapshot:{count:N.count,fetchedAt:N.fetchedAt}}),O},onOpenFlow:()=>Ve("flow"),onRefreshProvider:async E=>{try{let O=await t.query("provider_refresh",{key:E});return await Vt(),{count:O?.count??0,...O?.error?{error:O.error}:{}}}catch(O){return {count:0,error:O.message}}},onDeleteProvider:async E=>{try{return await t.query("provider_delete",{key:E}),await Vt(),{ok:!0}}catch(O){return {ok:false,error:O.message}}},onDeleteModel:async E=>{await t.query("model_delete",{key:E}),await Vt();},onClose:()=>ke(null)}):$?jsx(Dp,{question:$.question,header:$.header,options:$.options,multiSelect:$.multiSelect,onAnswer:E=>{let{requestId:O}=$;ue(null),t.approve(O,{approved:true,answer:E}).catch(()=>{});},onCancel:()=>{let{requestId:E}=$;ue(null),t.approve(E,{approved:false,reason:"(user declined to answer)"}).catch(()=>{});}}):!q&&jsx(Jm,{value:d,onChange:f,onSubmit:Ce,commands:Be,placeholder:b?"Interrupt\u2026 (Ctrl+C to cancel)":void 0}),jsx(u,{dim:true,children:ie}),jsxs(x,{wrap:"truncate",children:[jsx(yv,{mode:gt}),ht==="transcript"&&jsx(u,{color:"ansi:magenta",children:" TRANSCRIPT "}),jsx(x,{flexGrow:1}),jsx(pp,{model:C,effort:Te,tokens:_,cost:I,sessionId:v,baseContextTokens:K,maxContextTokens:i,isRunning:b,streamingTokensRef:Ee,runStartRef:ut})]})]});return jsx(bp,{scrollable:Je,bottom:Xe,overlay:Rt,newMessageCount:j,showPill:U,onJumpToNew:ge})}a(vg,"App");function pv(t,e,n=false){let r=!!t.agentId;switch(t.type){case "user":return jsx(_p,{text:t.text},e);case "assistant_text":return r?jsxs(x,{marginLeft:1,children:[jsx(u,{dim:true,children:"\u2502 \u23BF "}),jsx(dc,{text:t.text,streaming:t.streaming,nested:true})]},e):jsx(dc,{text:t.text,streaming:t.streaming},e);case "thinking":return r?jsxs(x,{marginLeft:1,children:[jsx(u,{dim:true,children:"\u2502 \u23BF "}),jsx(Pp,{content:t.content,collapsed:!n,nested:true})]},e):null;case "tool_start":return jsx(Zm,{toolName:t.toolName,args:t.args,nested:r},e);case "tool_running":return jsx(ep,{toolName:t.toolName,nested:r},e);case "tool_result":return jsx(tp,{toolName:t.toolName,result:t.result,error:t.error,nested:r,expanded:n},e);case "agent_start":return jsx(op,{description:t.description,running:true},e);case "agent_end":return jsx(ip,{description:t.description,error:t.error},e);case "error":{let o=t.errorKind;return o==="rate_limit"?jsx(Ap,{text:t.error},e):o==="context_limit"?jsx(Np,{},e):jsxs(x,{marginLeft:r?1:0,children:[r&&jsx(u,{dim:true,children:"\u2502 \u23BF "}),jsx(Mp,{error:t.error,nested:r})]},e)}case "system":{let o=t;return o.subtype==="compact_boundary"?jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:o.text??"\u2500\u2500 context compacted \u2500\u2500"})},e):o.subtype==="memory_saved"?jsxs(x,{marginLeft:1,marginTop:1,children:[jsx(u,{color:"ansi:magenta",children:"\u2726 "}),jsx(u,{dim:true,children:o.text??"Memory saved"})]},e):o.subtype==="turn_duration"?jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:o.text})},e):jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:o.text??""})},e)}case "status":return jsx(x,{marginLeft:1,marginTop:1,children:jsx(u,{dim:true,children:t.reason})},e)}}a(pv,"renderEntry");function gv(t,e){for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return -1}a(gv,"findLastIndex");var hv={plan:{symbol:"\u23F5 ",title:"plan read-only",color:"ansi:yellow"},normal:{symbol:"\u23F5\u23F5 ",title:"auto-accept edits",color:"ansi:cyan"},bypass:{symbol:"\u23F5\u23F5\u23F5",title:"bypass permissions",color:"ansi:red"}};function yv({mode:t}){let e=hv[t];return jsxs(x,{children:[jsx(u,{color:e.color,children:e.symbol}),jsx(u,{dim:true,children:" "+e.title+" "}),jsx(u,{dim:true,children:"(shift+tab)"})]})}a(yv,"ModeIndicator");function bv(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("429")||e.includes("too many requests")?"rate_limit":e.includes("context")&&(e.includes("limit")||e.includes("too long")||e.includes("too many tokens"))?"context_limit":e.includes("invalid")&&(e.includes("api key")||e.includes("api_key")||e.includes("authentication"))?"invalid_api_key":e.includes("timeout")||e.includes("timed out")?"api_timeout":e.includes("credit")||e.includes("balance")||e.includes("billing")?"credit_balance":"generic"}a(bv,"classifyError");h();h();var wv={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(255,0,135)",claude:"rgb(215,119,87)",claudeShimmer:"rgb(245,149,117)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(87,105,247)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(117,135,255)",permission:"rgb(87,105,247)",permissionShimmer:"rgb(137,155,255)",planMode:"rgb(0,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(87,105,247)",remember:"rgb(0,0,255)",background:"rgb(0,153,153)",success:"rgb(44,122,57)",error:"rgb(171,43,63)",warning:"rgb(150,108,30)",merged:"rgb(135,0,255)",warningShimmer:"rgb(200,158,80)",diffAdded:"rgb(105,219,124)",diffRemoved:"rgb(255,168,180)",diffAddedDimmed:"rgb(199,225,203)",diffRemovedDimmed:"rgb(253,210,216)",diffAddedWord:"rgb(47,157,68)",diffRemovedWord:"rgb(209,69,75)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(240, 240, 240)",userMessageBackgroundHover:"rgb(252, 252, 252)",messageActionsBackground:"rgb(232, 236, 244)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(87,105,247)",rate_limit_empty:"rgb(39,47,111)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelClaude:"rgb(215,119,87)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},Tv={autoAccept:"ansi:magenta",bashBorder:"ansi:magenta",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blue",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blue",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyan",ide:"ansi:blueBright",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:black",inverseText:"ansi:white",inactive:"ansi:blackBright",inactiveShimmer:"ansi:white",subtle:"ansi:blackBright",suggestion:"ansi:blue",remember:"ansi:blue",background:"ansi:cyan",success:"ansi:green",error:"ansi:red",warning:"ansi:yellow",merged:"ansi:magenta",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:red",blue_FOR_SUBAGENTS_ONLY:"ansi:blue",green_FOR_SUBAGENTS_ONLY:"ansi:green",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellow",purple_FOR_SUBAGENTS_ONLY:"ansi:magenta",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyan",professionalBlue:"ansi:blueBright",chromeYellow:"ansi:yellow",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:white",userMessageBackgroundHover:"ansi:whiteBright",messageActionsBackground:"ansi:white",selectionBg:"ansi:cyan",bashMessageBackgroundColor:"ansi:whiteBright",memoryBackgroundColor:"ansi:white",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:black",fastMode:"ansi:red",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blue",briefLabelClaude:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},Ev={autoAccept:"ansi:magentaBright",bashBorder:"ansi:magentaBright",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blueBright",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blueBright",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyanBright",ide:"ansi:blue",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:whiteBright",inverseText:"ansi:black",inactive:"ansi:white",inactiveShimmer:"ansi:whiteBright",subtle:"ansi:white",suggestion:"ansi:blueBright",remember:"ansi:blueBright",background:"ansi:cyanBright",success:"ansi:greenBright",error:"ansi:redBright",warning:"ansi:yellowBright",merged:"ansi:magentaBright",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:redBright",blue_FOR_SUBAGENTS_ONLY:"ansi:blueBright",green_FOR_SUBAGENTS_ONLY:"ansi:greenBright",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellowBright",purple_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyanBright",professionalBlue:"rgb(106,155,204)",chromeYellow:"ansi:yellowBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:blackBright",userMessageBackgroundHover:"ansi:white",messageActionsBackground:"ansi:blackBright",selectionBg:"ansi:blue",bashMessageBackgroundColor:"ansi:black",memoryBackgroundColor:"ansi:blackBright",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:white",fastMode:"ansi:redBright",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blueBright",briefLabelClaude:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},Cv={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(0,102,204)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(51,102,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(101,152,255)",permission:"rgb(51,102,255)",permissionShimmer:"rgb(101,152,255)",planMode:"rgb(51,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(51,102,255)",remember:"rgb(51,102,255)",background:"rgb(0,153,153)",success:"rgb(0,102,153)",error:"rgb(204,0,0)",warning:"rgb(255,153,0)",merged:"rgb(135,0,255)",warningShimmer:"rgb(255,183,50)",diffAdded:"rgb(153,204,255)",diffRemoved:"rgb(255,204,204)",diffAddedDimmed:"rgb(209,231,253)",diffRemovedDimmed:"rgb(255,233,233)",diffAddedWord:"rgb(51,102,204)",diffRemovedWord:"rgb(153,51,51)",red_FOR_SUBAGENTS_ONLY:"rgb(204,0,0)",blue_FOR_SUBAGENTS_ONLY:"rgb(0,102,204)",green_FOR_SUBAGENTS_ONLY:"rgb(0,204,0)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,204,0)",purple_FOR_SUBAGENTS_ONLY:"rgb(128,0,128)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,128,0)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,102,178)",cyan_FOR_SUBAGENTS_ONLY:"rgb(0,178,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(220, 220, 220)",userMessageBackgroundHover:"rgb(232, 232, 232)",messageActionsBackground:"rgb(210, 216, 226)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(51,102,255)",rate_limit_empty:"rgb(23,46,114)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelClaude:"rgb(255,153,51)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},kv={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(253,93,177)",claude:"rgb(215,119,87)",claudeShimmer:"rgb(235,159,127)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(147,165,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(177,195,255)",permission:"rgb(177,185,249)",permissionShimmer:"rgb(207,215,255)",planMode:"rgb(72,150,140)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(177,185,249)",remember:"rgb(177,185,249)",background:"rgb(0,204,204)",success:"rgb(78,186,101)",error:"rgb(255,107,128)",warning:"rgb(255,193,7)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,223,57)",diffAdded:"rgb(34,92,43)",diffRemoved:"rgb(122,41,54)",diffAddedDimmed:"rgb(71,88,74)",diffRemovedDimmed:"rgb(105,72,77)",diffAddedWord:"rgb(56,166,96)",diffRemovedWord:"rgb(179,89,107)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(177,185,249)",rate_limit_empty:"rgb(80,83,112)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelClaude:"rgb(215,119,87)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},Rv={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(51,153,255)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(153,204,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(183,224,255)",permission:"rgb(153,204,255)",permissionShimmer:"rgb(183,224,255)",planMode:"rgb(102,153,153)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(153,204,255)",remember:"rgb(153,204,255)",background:"rgb(0,204,204)",success:"rgb(51,153,255)",error:"rgb(255,102,102)",warning:"rgb(255,204,0)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,234,50)",diffAdded:"rgb(0,68,102)",diffRemoved:"rgb(102,0,0)",diffAddedDimmed:"rgb(62,81,91)",diffRemovedDimmed:"rgb(62,44,44)",diffAddedWord:"rgb(0,119,179)",diffRemovedWord:"rgb(179,0,0)",red_FOR_SUBAGENTS_ONLY:"rgb(255,102,102)",blue_FOR_SUBAGENTS_ONLY:"rgb(102,178,255)",green_FOR_SUBAGENTS_ONLY:"rgb(102,255,102)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,255,102)",purple_FOR_SUBAGENTS_ONLY:"rgb(178,102,255)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,178,102)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,153,204)",cyan_FOR_SUBAGENTS_ONLY:"rgb(102,204,204)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(153,204,255)",rate_limit_empty:"rgb(69,92,115)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelClaude:"rgb(255,153,51)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"};function oa(t){switch(t){case "light":return wv;case "light-ansi":return Tv;case "dark-ansi":return Ev;case "light-daltonized":return Cv;case "dark-daltonized":return Rv;default:return kv}}a(oa,"getTheme");mo.terminal==="Apple_Terminal"?new Chalk({level:2}):Z;h();var Mc;function _v(){return Mc===void 0&&(Mc=Mv()??"dark"),Mc}a(_v,"getSystemThemeName");function Ac(t){return t==="auto"?_v():t}a(Ac,"resolveThemeSetting");function Mv(){let t=process.env.COLORFGBG;if(!t)return;let e=t.split(";"),n=e[e.length-1];if(n===void 0||n==="")return;let r=Number(n);if(!(!Number.isInteger(r)||r<0||r>15))return r<=6||r===8?"dark":"light"}a(Mv,"detectFromColorFgBg");var Iv=createContext({themeName:"dark",theme:oa("dark"),themeSetting:"auto",setThemeSetting:a(()=>{},"setThemeSetting")});function ia({children:t,initialSetting:e="auto"}){let[n,r]=useState(e),o=Ac(n),i=oa(o),s=useMemo(()=>({themeName:o,theme:i,themeSetting:n,setThemeSetting:r}),[o,i,n]);return createElement(Iv.Provider,{value:s},t)}a(ia,"ThemeProvider");async function Tg(t){let e=t.sessionId??`session-${Date.now()}`;if(Gm(e,t.cwd),b$1.setSid(e),process.env.CODESHELL_NO_MODEL_SYNC!=="1"){let o=b$5();(o.fetchedAt?Date.now()-new Date(o.fetchedAt).getTime():1/0)>1440*60*1e3&&a$4().catch(()=>{});}let n=setInterval(()=>{},2147483647),r=await xi(jsx(ia,{children:jsx(vg,{client:t.client,model:t.model,effort:t.effort,maxTurns:t.maxTurns,cwd:t.cwd,maxContextTokens:t.maxContextTokens,sessionId:t.sessionId,prefill:t.prefill})}),{stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,exitOnCtrlC:true,patchConsole:false});await r.waitUntilExit(),clearInterval(n),qm(),r.cleanup(),process.exit(0);}a(Tg,"startInkRepl");h();async function Cg(){let t=setInterval(()=>{},2147483647);return new Promise(e=>{let n,r=false,o=a(i=>{if(!r){r=true,clearInterval(t);try{n.unmount();}catch{}try{n.cleanup();}catch{}e(i);}},"finish");xi(jsx(ia,{children:jsx(Qs,{onComplete:i=>o(i),onCancel:()=>o(null)})}),{stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,exitOnCtrlC:true,patchConsole:false}).then(i=>{n=i;});})}a(Cg,"runInkOnboarding");function Dv(t){switch(t){case "low":return {temperature:.1,maxTokens:4096};case "medium":return {temperature:.3,maxTokens:8192};case "high":return {temperature:.5,maxTokens:16384};case "max":return {temperature:.7,maxTokens:32768}}}a(Dv,"getEffortConfig");async function Nc(t){let e=process.cwd(),n=new c$2(e).get(),o=!!t.apiKey||!!n.model?.apiKey||Array.isArray(n.models)&&n.models.some(T=>T?.apiKey)||Array.isArray(n.providers)&&n.providers.some(T=>T?.apiKey)?M(t.apiKey,n.model.apiKey):void 0,i=t.model??n.model.name,s=t.provider??n.model.provider,l=t.baseUrl??n.model.baseUrl;if(!o){process.stdin.isTTY||(console.error(Z.red("Error: No API key configured and stdin is not a TTY. Set --api-key, OPENROUTER_API_KEY, or run interactively to onboard.")),process.exit(1));let T=await Cg();T||(console.error(Z.yellow("Onboarding cancelled.")),process.exit(1)),o=T.apiKey,s=T.provider,i=T.model,l=T.baseUrl,n=new c$2(e).get();}i=i??"anthropic/claude-opus-4-6",s=s??"openai",l=l??"https://openrouter.ai/api/v1";let c=t.effort??"high",d=Dv(c),f=t.maxTurns??100,m={provider:s,model:i,apiKey:o,baseUrl:l,temperature:d.temperature??n.model.temperature??.3,maxTokens:n.model.maxTokens??d.maxTokens??8192,enableStreaming:true},h=t.permissionMode??"acceptEdits",g=n.context.maxTokens??2e5,S=new U({llm:m,cwd:e,preset:t.preset??n.agent.preset,enabledBuiltinTools:n.agent.enabledBuiltinTools,disabledBuiltinTools:n.agent.disabledBuiltinTools,permissionMode:h,customSystemPrompt:n.agent.customSystemPrompt,appendSystemPrompt:n.agent.appendSystemPrompt,maxTurns:f,maxContextTokens:g,sessionStorageDir:n.session.storageDir,costStore:ft,mcpServers:n.mcpServers,approvalBackend:k()}),[b,w]=Di();new zr({engine:S,transport:b});let y=new Jr({transport:w});await Tg({client:y,model:i,effort:c,maxTurns:f,cwd:e,maxContextTokens:S.maxContextTokens,sessionId:t.resume,prefill:t.prefill});}a(Nc,"replCommand");h();async function Rg(t){let{cwd:e,permissionMode:n}=t;c$3(),b$1.info("setup.start",{cwd:e,permissionMode:n,level:b$1.getMinLevel()});let r=process.version.match(/^v(\d+)\./)?.[1];(!r||parseInt(r)<18)&&(console.error(Z.bold.red("Error: Code Shell requires Node.js version 18 or higher.")),process.exit(1));try{let{statSync:o}=await import('fs');if(!o(e).isDirectory())throw new Error("not a directory")}catch{console.error(Z.red(`Error: Working directory does not exist: ${e}`)),process.exit(1);}n==="bypassPermissions"&&process.platform!=="win32"&&typeof process.getuid=="function"&&process.getuid()===0&&process.env.IS_SANDBOX!=="1"&&(console.error(Z.red("bypassPermissions cannot be used with root/sudo privileges for security reasons.")),process.exit(1)),process.cwd()!==e&&process.chdir(e);try{let{execSync:o}=await import('child_process');o("git rev-parse --is-inside-work-tree",{cwd:e,stdio:"ignore"});}catch{}}a(Rg,"setup");h();function qr(){let t=process.cwd(),e=new c$2(t).get(),n=M(void 0,e.model.apiKey),r={provider:e.model.provider??"openai",model:e.model.name??"anthropic/claude-opus-4-6",apiKey:n,baseUrl:e.model.baseUrl??"https://openrouter.ai/api/v1",temperature:e.model.temperature,maxTokens:e.model.maxTokens??8192,enableStreaming:true},o=new W;return new fa$1({store:o,executor:{llm:r,maxTurns:30,maxContextTokens:e.context.maxTokens,sessionStorageDir:e.session.storageDir,permissionMode:e.permissions.defaultMode??"acceptEdits",mcpServers:e.mcpServers}})}a(qr,"createRunManager");function sa(t){return t?new Date(t).toLocaleString():"\u2014"}a(sa,"formatDate");function aa(t){return `${{queued:"[ ]",running:"[>]",waiting_input:"[?]",waiting_approval:"[!]",blocked:"[x]",completed:"[+]",failed:"[-]",cancelled:"[~]"}[t]} ${t}`}a(aa,"formatStatus");function _g(){let t=new Command("runs").description("Manage long-running agent tasks");return t.command("list").description("List recent runs").option("-n, --limit <n>","Number of runs to show","20").option("-s, --status <status>","Filter by status (queued, running, completed, etc.)").option("-t, --tag <tag>","Filter by tag").action(async e=>{let r=await qr().list({limit:parseInt(e.limit),status:e.status,tag:e.tag});if(r.length===0){console.log("No runs found.");return}console.log(`
|
|
368
|
+
${"ID".padEnd(18)} ${"Status".padEnd(22)} ${"Created".padEnd(22)} Objective`),console.log(" "+"\u2500".repeat(90));for(let o of r){let i=o.runId.slice(0,16),s=aa(o.status),l=sa(o.createdAt),c=o.objective.slice(0,40).replace(/\n/g," ");console.log(` ${i.padEnd(18)} ${s.padEnd(22)} ${l.padEnd(22)} ${c}`);}console.log();}),t.command("get").description("Inspect a run").argument("<runId>","Run ID").action(async e=>{let r=await qr().get(e);r||(console.error(`Run not found: ${e}`),process.exit(1)),console.log(`
|
|
369
369
|
Run: ${r.runId}
|
|
370
|
-
Status: ${
|
|
370
|
+
Status: ${aa(r.status)}
|
|
371
371
|
Objective: ${r.objective.slice(0,100)}
|
|
372
372
|
Preset: ${r.preset}
|
|
373
373
|
CWD: ${r.cwd}
|
|
374
|
-
Created: ${
|
|
375
|
-
Started: ${
|
|
376
|
-
Finished: ${
|
|
374
|
+
Created: ${sa(r.createdAt)}
|
|
375
|
+
Started: ${sa(r.startedAt)}
|
|
376
|
+
Finished: ${sa(r.finishedAt)}
|
|
377
377
|
Attempts: ${r.attemptCount}
|
|
378
378
|
Session: ${r.sessionId??"\u2014"}
|
|
379
379
|
Tags: ${r.tags.length>0?r.tags.join(", "):"\u2014"}
|
|
380
380
|
Summary: ${r.summary??"\u2014"}
|
|
381
381
|
Error: ${r.error??"\u2014"}
|
|
382
|
-
`);}),t.command("submit").description("Submit a new managed run").argument("<objective>","Task objective").option("--preset <preset>","Agent preset").option("--tag <tags>","Comma-separated tags").action(async(e,n)=>{let r=
|
|
383
|
-
Run submitted: ${i.runId}`),console.log(` Status: ${
|
|
382
|
+
`);}),t.command("submit").description("Submit a new managed run").argument("<objective>","Task objective").option("--preset <preset>","Agent preset").option("--tag <tags>","Comma-separated tags").action(async(e,n)=>{let r=qr(),o=n.tag?n.tag.split(",").map(l=>l.trim()):[],i=await r.submit({objective:e,preset:n.preset,tags:o});console.log(`
|
|
383
|
+
Run submitted: ${i.runId}`),console.log(` Status: ${aa(i.status)}`),console.log(` Objective: ${i.objective.slice(0,80)}
|
|
384
384
|
`),console.log(` Streaming output...
|
|
385
385
|
`);let s=r.attach(i.runId,l=>{if(l.type==="engine_stream"){let c=l.event;c.type==="text_delta"?process.stdout.write(c.text):c.type==="tool_use_start"&&console.log(`
|
|
386
386
|
[tool] ${c.toolCall.toolName}`);}else if(l.type==="run_status_changed"){let c=l.run.status;c==="completed"||c==="failed"||c==="cancelled"?(console.log(`
|
|
387
387
|
|
|
388
388
|
Run ${c}: ${l.run.runId}`),l.run.error&&console.log(` Error: ${l.run.error}`),s()):(c==="waiting_input"||c==="waiting_approval")&&(console.log(`
|
|
389
389
|
|
|
390
|
-
Run paused: ${c}`),console.log(` Use: code-shell runs resume ${l.run.runId}`),s());}});}),t.command("resume").description("Resume a waiting or blocked run").argument("<runId>","Run ID").option("--input <text>","User input to provide").option("--approve","Approve pending approval").option("--reject","Reject pending approval").action(async(e,n)=>{let r=
|
|
390
|
+
Run paused: ${c}`),console.log(` Use: code-shell runs resume ${l.run.runId}`),s());}});}),t.command("resume").description("Resume a waiting or blocked run").argument("<runId>","Run ID").option("--input <text>","User input to provide").option("--approve","Approve pending approval").option("--reject","Reject pending approval").action(async(e,n)=>{let r=qr();await r.get(e)||(console.error(`Run not found: ${e}`),process.exit(1));let i=new W,s;if(n.approve||n.reject){let l=await i.getPendingApproval(e);l||(console.error("No pending approval found for this run."),process.exit(1)),s={approvalId:l.approvalId,approved:!!n.approve,reason:n.reject?"rejected by user":void 0};}await r.resume(e,{userInput:n.input,approvalDecision:s}),console.log(`
|
|
391
391
|
Run resumed: ${e}
|
|
392
|
-
`);}),t.command("cancel").description("Cancel a run").argument("<runId>","Run ID").option("--reason <text>","Cancellation reason").action(async(e,n)=>{let r=
|
|
392
|
+
`);}),t.command("cancel").description("Cancel a run").argument("<runId>","Run ID").option("--reason <text>","Cancellation reason").action(async(e,n)=>{let r=qr();try{await r.cancel(e,n.reason),console.log(`
|
|
393
393
|
Run cancelled: ${e}
|
|
394
|
-
`);}catch(o){console.error(`Error: ${o.message}`),process.exit(1);}}),t.command("events").description("View run event log").argument("<runId>","Run ID").option("-n, --limit <n>","Number of events to show","50").action(async(e,n)=>{let o=await
|
|
394
|
+
`);}catch(o){console.error(`Error: ${o.message}`),process.exit(1);}}),t.command("events").description("View run event log").argument("<runId>","Run ID").option("-n, --limit <n>","Number of events to show","50").action(async(e,n)=>{let o=await qr().getEvents(e);if(o.length===0){console.log("No events found.");return}let i=parseInt(n.limit),s=o.slice(-i);console.log(`
|
|
395
395
|
Events for run ${e} (showing last ${s.length} of ${o.length}):
|
|
396
|
-
`);for(let l of s){let c=new Date(l.timestamp).toLocaleTimeString(),d=Object.keys(l.data).length>0?" "+JSON.stringify(l.data).slice(0,80):"";console.log(` ${c} ${l.type}${d}`);}console.log();}),t.command("recover").description("Recover crashed runs (run on startup)").action(async()=>{let e=
|
|
397
|
-
Recovered ${n.length} run(s):`);for(let r of n){let o=await e.get(r);console.log(` ${r} ${
|
|
398
|
-
`+
|
|
399
|
-
`);});await
|
|
396
|
+
`);for(let l of s){let c=new Date(l.timestamp).toLocaleTimeString(),d=Object.keys(l.data).length>0?" "+JSON.stringify(l.data).slice(0,80):"";console.log(` ${c} ${l.type}${d}`);}console.log();}),t.command("recover").description("Recover crashed runs (run on startup)").action(async()=>{let e=qr(),n=await e.recover();if(n.length===0)console.log("No crashed runs found.");else {console.log(`
|
|
397
|
+
Recovered ${n.length} run(s):`);for(let r of n){let o=await e.get(r);console.log(` ${r} ${aa(o?.status??"blocked")}`);}console.log();}}),t}a(_g,"createRunsCommand");function Fv(t){switch(t){case "completed":return "done";case "aborted_streaming":case "aborted_tools":return "aborted";case "prompt_too_long":return "ptl";case "model_error":case "image_error":return "error";case "stop_hook_prevented":case "hook_stopped":return "hook_stop";default:return t}}a(Fv,"formatSessionStatus");var sr=new Command;sr.name("code-shell").description("Code Shell \u2014 general orchestration framework with a terminal coding assistant preset").version(e());function Oc(t){return t.option("-m, --model <model>","Model name (e.g. anthropic/claude-opus-4-6)").option("-p, --provider <provider>","LLM provider (anthropic, openai)","openai").option("--preset <preset>","Agent preset (general, terminal-coding)").option("--base-url <url>","LLM API base URL (e.g. https://openrouter.ai/api/v1)").option("--api-key <key>","API key (or set OPENROUTER_API_KEY / ANTHROPIC_API_KEY env var)").option("--permission-mode <mode>","Permission mode (default, acceptEdits, bypassPermissions)").option("-o, --output <format>","Output format (text, json, jsonl, stream-json)","text").option("--max-turns <n>","Maximum turns","100").option("--effort <level>","Reasoning effort (low, medium, high, max)","high")}a(Oc,"addCommonOptions");Oc(sr.command("run").description("Execute a single task (headless mode)").argument("<task>","The task to execute")).option("--resume <sessionId>","Resume a previous session").action(async(t,e)=>{await ya({task:t,...la(e)});});Oc(sr.command("repl").description("Interactive REPL mode (default)")).action(async t=>{await Nc(la(t));});sr.command("sessions").description("List recent sessions").option("-n, --limit <n>","Number of sessions to show","10").action(async t=>{let{SessionManager:e}=await import('../session-manager-AGWS5SMJ.js'),r=new e().list(parseInt(t.limit));if(r.length===0){console.log("No sessions found.");return}for(let o of r){let i=new Date(o.startedAt).toLocaleString(),s=Fv(o.status);console.log(` ${o.sessionId} ${i} ${s} ${o.model} turns:${o.turnCount}`);}});Oc(sr.command("arena").description("Multi-model review arena \u2014 agent gathers context, multiple models discuss").argument("<topic>","What to review (agent will find relevant code)").option("--models <models>","Models to use (e.g. claude,gpt4o,deepseek)").option("--mode <mode>","Arena mode: review, discussion, or planning (auto-detected if omitted)")).action(async(t,e)=>{let n=la(e),{runArenaReview:r}=await import('../arena-64T2EQD4.js'),{SettingsManager:o}=await import('../manager-J6FXEUEK.js'),i=new o(process.cwd()).get(),s=M(n.apiKey,i.model.apiKey);s||(console.error("Error: No API key provided."),process.exit(1));let l=t;e.models&&(l=`--models ${e.models} ${l}`),e.mode&&(l=`--mode ${e.mode} ${l}`),await r(l,{llm:{provider:n.provider??i.model.provider??"openai",model:n.model??i.model.name??"anthropic/claude-opus-4-6",apiKey:s,baseUrl:n.baseUrl??i.model.baseUrl??"https://openrouter.ai/api/v1",temperature:.3,enableStreaming:false}});});sr.addCommand(_g());sr.argument("[task]","Task to execute (or omit for REPL mode)").option("-m, --model <model>","Model name (e.g. anthropic/claude-opus-4-6)").option("-p, --provider <provider>","LLM provider (anthropic, openai)","openai").option("--preset <preset>","Agent preset (general, terminal-coding)").option("--base-url <url>","LLM API base URL (e.g. https://openrouter.ai/api/v1)").option("--api-key <key>","API key (or set OPENROUTER_API_KEY / ANTHROPIC_API_KEY env var)").option("--permission-mode <mode>","Permission mode (default, acceptEdits, bypassPermissions)").option("-o, --output <format>","Output format (text, json, jsonl, stream-json)","text").option("--max-turns <n>","Maximum turns","100").option("--effort <level>","Reasoning effort (low, medium, high, max)","high").option("--resume <sessionId>","Resume a previous session").option("--prefill <text>","Pre-fill the input box without submitting").passThroughOptions().action(async(t,e)=>{let n=la(e);t?await ya({task:t,...n}):await Nc({...n,prefill:e.prefill});});function la(t){return {model:t.model,provider:t.provider,preset:t.preset,baseUrl:t.baseUrl,apiKey:t.apiKey,permissionMode:t.permissionMode,output:t.output,maxTurns:t.maxTurns?parseInt(t.maxTurns):void 0,resume:t.resume,effort:t.effort}}a(la,"resolveOpts");sr.hook("preAction",async t=>{let e=t.opts();await Rg({cwd:process.cwd(),permissionMode:e.permissionMode??"acceptEdits"});});process.on("exit",()=>{ft.getTotalTokens().total>0&&process.stdout.write(`
|
|
398
|
+
`+ft.formatSummary()+`
|
|
399
|
+
`);});await du();sr.parse();
|